From 0407e25b8739a62f6be861d578a7a9dd9d5a6e56 Mon Sep 17 00:00:00 2001 From: Florian Stadler Date: Tue, 10 Dec 2024 15:36:14 +0100 Subject: [PATCH] Revert "Upgrade pulumi-terraform-bridge to v3.97.0 (#4898)" (#4900) This reverts commit 316ee6a01f16af80f568b21199526f0c6203afc2. Rolling back 3.97.0 due to https://github.com/pulumi/pulumi-terraform-bridge/issues/2706 --- examples/go.mod | 10 +- examples/go.sum | 20 +- provider/cmd/pulumi-resource-aws/schema.json | 1864 ++++++++--------- provider/go.mod | 10 +- provider/go.sum | 20 +- provider/pkg/batch/compute_environment.go | 4 +- .../pkg/batch/compute_environment_test.go | 28 +- provider/resources.go | 2 +- sdk/go.mod | 2 +- sdk/go.sum | 4 +- sdk/nodejs/acm/getCertificate.ts | 2 +- sdk/nodejs/acmpca/getCertificate.ts | 2 +- sdk/nodejs/acmpca/getCertificateAuthority.ts | 2 +- sdk/nodejs/alb/getListener.ts | 2 +- sdk/nodejs/alb/getLoadBalancer.ts | 2 +- sdk/nodejs/alb/getTargetGroup.ts | 2 +- .../amp/getDefaultScraperConfiguration.ts | 2 +- sdk/nodejs/amp/getWorkspace.ts | 2 +- sdk/nodejs/amp/getWorkspaces.ts | 2 +- sdk/nodejs/apigateway/getAuthorizer.ts | 2 +- sdk/nodejs/apigateway/getAuthorizers.ts | 2 +- sdk/nodejs/apigateway/getDomainName.ts | 2 +- sdk/nodejs/apigateway/getExport.ts | 2 +- sdk/nodejs/apigateway/getKey.ts | 2 +- sdk/nodejs/apigateway/getResource.ts | 2 +- sdk/nodejs/apigateway/getRestApi.ts | 2 +- sdk/nodejs/apigateway/getSdk.ts | 2 +- sdk/nodejs/apigateway/getVpcLink.ts | 2 +- sdk/nodejs/apigatewayv2/getApi.ts | 2 +- sdk/nodejs/apigatewayv2/getApis.ts | 2 +- sdk/nodejs/apigatewayv2/getExport.ts | 2 +- sdk/nodejs/apigatewayv2/getVpcLink.ts | 2 +- .../appconfig/getConfigurationProfile.ts | 2 +- .../appconfig/getConfigurationProfiles.ts | 2 +- sdk/nodejs/appconfig/getEnvironment.ts | 2 +- sdk/nodejs/appconfig/getEnvironments.ts | 2 +- .../appintegrations/getEventIntegration.ts | 2 +- sdk/nodejs/appmesh/getGatewayRoute.ts | 2 +- sdk/nodejs/appmesh/getMesh.ts | 2 +- sdk/nodejs/appmesh/getRoute.ts | 2 +- sdk/nodejs/appmesh/getVirtualGateway.ts | 2 +- sdk/nodejs/appmesh/getVirtualNode.ts | 2 +- sdk/nodejs/appmesh/getVirtualRouter.ts | 2 +- sdk/nodejs/appmesh/getVirtualService.ts | 2 +- sdk/nodejs/apprunner/getHostedZoneId.ts | 2 +- sdk/nodejs/appstream/getImage.ts | 2 +- sdk/nodejs/athena/getNamedQuery.ts | 2 +- sdk/nodejs/auditmanager/getControl.ts | 2 +- sdk/nodejs/auditmanager/getFramework.ts | 2 +- sdk/nodejs/autoscaling/getAmiIds.ts | 2 +- sdk/nodejs/autoscaling/getGroup.ts | 2 +- sdk/nodejs/backup/getFramework.ts | 2 +- sdk/nodejs/backup/getPlan.ts | 2 +- sdk/nodejs/backup/getReportPlan.ts | 2 +- sdk/nodejs/backup/getSelection.ts | 2 +- sdk/nodejs/backup/getVault.ts | 2 +- sdk/nodejs/batch/getComputeEnvironment.ts | 2 +- sdk/nodejs/batch/getJobDefinition.ts | 2 +- sdk/nodejs/batch/getJobQueue.ts | 2 +- sdk/nodejs/batch/getSchedulingPolicy.ts | 2 +- sdk/nodejs/bedrock/getAgentAgentVersions.ts | 2 +- sdk/nodejs/bedrock/getCustomModel.ts | 2 +- sdk/nodejs/bedrock/getCustomModels.ts | 2 +- sdk/nodejs/bedrock/getInferenceProfile.ts | 2 +- sdk/nodejs/bedrock/getInferenceProfiles.ts | 2 +- sdk/nodejs/bedrockfoundation/getModel.ts | 2 +- sdk/nodejs/bedrockfoundation/getModels.ts | 2 +- sdk/nodejs/budgets/getBudget.ts | 2 +- sdk/nodejs/chatbot/getSlackWorkspace.ts | 2 +- sdk/nodejs/cloudcontrol/getResource.ts | 2 +- .../cloudformation/getCloudFormationType.ts | 2 +- sdk/nodejs/cloudformation/getExport.ts | 2 +- sdk/nodejs/cloudformation/getStack.ts | 2 +- sdk/nodejs/cloudfront/getCachePolicy.ts | 2 +- sdk/nodejs/cloudfront/getDistribution.ts | 2 +- sdk/nodejs/cloudfront/getFunction.ts | 2 +- .../getLogDeliveryCanonicalUserId.ts | 2 +- .../cloudfront/getOriginAccessControl.ts | 2 +- .../cloudfront/getOriginAccessIdentities.ts | 2 +- .../cloudfront/getOriginAccessIdentity.ts | 2 +- .../cloudfront/getOriginRequestPolicy.ts | 2 +- sdk/nodejs/cloudfront/getRealtimeLogConfig.ts | 2 +- .../cloudfront/getResponseHeadersPolicy.ts | 2 +- sdk/nodejs/cloudhsmv2/getCluster.ts | 2 +- sdk/nodejs/cloudtrail/getServiceAccount.ts | 2 +- sdk/nodejs/cloudwatch/getEventBus.ts | 2 +- sdk/nodejs/cloudwatch/getEventConnection.ts | 2 +- sdk/nodejs/cloudwatch/getEventSource.ts | 2 +- .../getLogDataProtectionPolicyDocument.ts | 2 +- sdk/nodejs/cloudwatch/getLogGroup.ts | 2 +- sdk/nodejs/cloudwatch/getLogGroups.ts | 2 +- .../codeartifact/getAuthorizationToken.ts | 2 +- .../codeartifact/getRepositoryEndpoint.ts | 2 +- sdk/nodejs/codebuild/getFleet.ts | 2 +- sdk/nodejs/codecatalyst/getDevEnvironment.ts | 2 +- .../codecommit/getApprovalRuleTemplate.ts | 2 +- sdk/nodejs/codecommit/getRepository.ts | 2 +- .../codeguruprofiler/getProfilingGroup.ts | 2 +- .../codestarconnections/getConnection.ts | 2 +- sdk/nodejs/cognito/getIdentityPool.ts | 2 +- sdk/nodejs/cognito/getUserGroup.ts | 2 +- sdk/nodejs/cognito/getUserGroups.ts | 2 +- sdk/nodejs/cognito/getUserPool.ts | 2 +- sdk/nodejs/cognito/getUserPoolClient.ts | 2 +- sdk/nodejs/cognito/getUserPoolClients.ts | 2 +- .../cognito/getUserPoolSigningCertificate.ts | 2 +- sdk/nodejs/cognito/getUserPools.ts | 2 +- sdk/nodejs/connect/getBotAssociation.ts | 2 +- sdk/nodejs/connect/getContactFlow.ts | 2 +- sdk/nodejs/connect/getContactFlowModule.ts | 2 +- sdk/nodejs/connect/getHoursOfOperation.ts | 2 +- sdk/nodejs/connect/getInstance.ts | 2 +- .../connect/getInstanceStorageConfig.ts | 2 +- .../connect/getLambdaFunctionAssociation.ts | 2 +- sdk/nodejs/connect/getPrompt.ts | 2 +- sdk/nodejs/connect/getQueue.ts | 2 +- sdk/nodejs/connect/getQuickConnect.ts | 2 +- sdk/nodejs/connect/getRoutingProfile.ts | 2 +- sdk/nodejs/connect/getSecurityProfile.ts | 2 +- sdk/nodejs/connect/getUser.ts | 2 +- sdk/nodejs/connect/getUserHierarchyGroup.ts | 2 +- .../connect/getUserHierarchyStructure.ts | 2 +- sdk/nodejs/connect/getVocabulary.ts | 2 +- sdk/nodejs/controltower/getControls.ts | 2 +- sdk/nodejs/costexplorer/getCostCategory.ts | 2 +- sdk/nodejs/costexplorer/getTags.ts | 2 +- sdk/nodejs/cur/getReportDefinition.ts | 2 +- sdk/nodejs/datapipeline/getPipeline.ts | 2 +- .../datapipeline/getPipelineDefinition.ts | 2 +- .../datazone/getEnvironmentBlueprint.ts | 2 +- .../devopsguru/getNotificationChannel.ts | 2 +- .../devopsguru/getResourceCollection.ts | 2 +- sdk/nodejs/directconnect/getConnection.ts | 2 +- sdk/nodejs/directconnect/getGateway.ts | 2 +- sdk/nodejs/directconnect/getLocation.ts | 2 +- sdk/nodejs/directconnect/getLocations.ts | 2 +- .../directconnect/getRouterConfiguration.ts | 2 +- sdk/nodejs/directoryservice/getDirectory.ts | 2 +- sdk/nodejs/dms/getCertificate.ts | 2 +- sdk/nodejs/dms/getEndpoint.ts | 2 +- sdk/nodejs/dms/getReplicationInstance.ts | 2 +- sdk/nodejs/dms/getReplicationSubnetGroup.ts | 2 +- sdk/nodejs/dms/getReplicationTask.ts | 2 +- sdk/nodejs/docdb/getEngineVersion.ts | 2 +- sdk/nodejs/docdb/getOrderableDbInstance.ts | 2 +- sdk/nodejs/dynamodb/getTable.ts | 2 +- sdk/nodejs/dynamodb/getTableItem.ts | 2 +- sdk/nodejs/ebs/getDefaultKmsKey.ts | 2 +- sdk/nodejs/ebs/getEbsVolumes.ts | 2 +- sdk/nodejs/ebs/getEncryptionByDefault.ts | 2 +- sdk/nodejs/ebs/getSnapshot.ts | 2 +- sdk/nodejs/ebs/getSnapshotIds.ts | 2 +- sdk/nodejs/ebs/getVolume.ts | 2 +- sdk/nodejs/ec2/getAmi.ts | 2 +- sdk/nodejs/ec2/getAmiIds.ts | 2 +- sdk/nodejs/ec2/getCapacityBlockOffering.ts | 2 +- sdk/nodejs/ec2/getCoipPool.ts | 2 +- sdk/nodejs/ec2/getCoipPools.ts | 2 +- sdk/nodejs/ec2/getCustomerGateway.ts | 2 +- sdk/nodejs/ec2/getDedicatedHost.ts | 2 +- sdk/nodejs/ec2/getEips.ts | 2 +- sdk/nodejs/ec2/getElasticIp.ts | 2 +- sdk/nodejs/ec2/getInstance.ts | 2 +- sdk/nodejs/ec2/getInstanceType.ts | 2 +- sdk/nodejs/ec2/getInstanceTypeOffering.ts | 2 +- sdk/nodejs/ec2/getInstanceTypeOfferings.ts | 2 +- sdk/nodejs/ec2/getInstanceTypes.ts | 2 +- sdk/nodejs/ec2/getInstances.ts | 2 +- sdk/nodejs/ec2/getInternetGateway.ts | 2 +- sdk/nodejs/ec2/getIpamPreviewNextCidr.ts | 2 +- sdk/nodejs/ec2/getKeyPair.ts | 2 +- sdk/nodejs/ec2/getLaunchConfiguration.ts | 2 +- sdk/nodejs/ec2/getLaunchTemplate.ts | 2 +- sdk/nodejs/ec2/getLocalGateway.ts | 2 +- sdk/nodejs/ec2/getLocalGatewayRouteTable.ts | 2 +- sdk/nodejs/ec2/getLocalGatewayRouteTables.ts | 2 +- .../ec2/getLocalGatewayVirtualInterface.ts | 2 +- .../getLocalGatewayVirtualInterfaceGroup.ts | 2 +- .../getLocalGatewayVirtualInterfaceGroups.ts | 2 +- sdk/nodejs/ec2/getLocalGateways.ts | 2 +- sdk/nodejs/ec2/getManagedPrefixList.ts | 2 +- sdk/nodejs/ec2/getManagedPrefixLists.ts | 2 +- sdk/nodejs/ec2/getNatGateway.ts | 2 +- sdk/nodejs/ec2/getNatGateways.ts | 2 +- sdk/nodejs/ec2/getNetworkAcls.ts | 2 +- sdk/nodejs/ec2/getNetworkInsightsAnalysis.ts | 2 +- sdk/nodejs/ec2/getNetworkInsightsPath.ts | 2 +- sdk/nodejs/ec2/getNetworkInterface.ts | 2 +- sdk/nodejs/ec2/getNetworkInterfaces.ts | 2 +- sdk/nodejs/ec2/getPrefixList.ts | 2 +- sdk/nodejs/ec2/getPublicIpv4Pool.ts | 2 +- sdk/nodejs/ec2/getPublicIpv4Pools.ts | 2 +- sdk/nodejs/ec2/getRoute.ts | 2 +- sdk/nodejs/ec2/getRouteTable.ts | 2 +- sdk/nodejs/ec2/getRouteTables.ts | 2 +- sdk/nodejs/ec2/getSecurityGroup.ts | 2 +- sdk/nodejs/ec2/getSecurityGroups.ts | 2 +- sdk/nodejs/ec2/getSerialConsoleAccess.ts | 2 +- sdk/nodejs/ec2/getSpotDatafeedSubscription.ts | 2 +- sdk/nodejs/ec2/getSpotPrice.ts | 2 +- sdk/nodejs/ec2/getSubnet.ts | 2 +- sdk/nodejs/ec2/getSubnets.ts | 2 +- .../ec2/getTransitGatewayRouteTables.ts | 2 +- sdk/nodejs/ec2/getVpc.ts | 2 +- sdk/nodejs/ec2/getVpcDhcpOptions.ts | 2 +- sdk/nodejs/ec2/getVpcEndpoint.ts | 2 +- sdk/nodejs/ec2/getVpcEndpointService.ts | 2 +- sdk/nodejs/ec2/getVpcIamPool.ts | 2 +- sdk/nodejs/ec2/getVpcIamPoolCidrs.ts | 2 +- sdk/nodejs/ec2/getVpcIamPools.ts | 2 +- sdk/nodejs/ec2/getVpcIpamPool.ts | 2 +- sdk/nodejs/ec2/getVpcIpamPoolCidrs.ts | 2 +- sdk/nodejs/ec2/getVpcIpamPools.ts | 2 +- sdk/nodejs/ec2/getVpcPeeringConnection.ts | 2 +- sdk/nodejs/ec2/getVpcPeeringConnections.ts | 2 +- sdk/nodejs/ec2/getVpcs.ts | 2 +- sdk/nodejs/ec2/getVpnGateway.ts | 2 +- sdk/nodejs/ec2clientvpn/getEndpoint.ts | 2 +- sdk/nodejs/ec2transitgateway/getAttachment.ts | 2 +- .../ec2transitgateway/getAttachments.ts | 2 +- sdk/nodejs/ec2transitgateway/getConnect.ts | 2 +- .../ec2transitgateway/getConnectPeer.ts | 2 +- .../getDirectConnectGatewayAttachment.ts | 2 +- .../ec2transitgateway/getMulticastDomain.ts | 2 +- .../ec2transitgateway/getPeeringAttachment.ts | 2 +- .../getPeeringAttachments.ts | 2 +- sdk/nodejs/ec2transitgateway/getRouteTable.ts | 2 +- .../getRouteTableAssociations.ts | 2 +- .../getRouteTablePropagations.ts | 2 +- .../ec2transitgateway/getRouteTableRoutes.ts | 2 +- .../ec2transitgateway/getTransitGateway.ts | 2 +- .../ec2transitgateway/getVpcAttachment.ts | 2 +- .../ec2transitgateway/getVpcAttachments.ts | 2 +- .../ec2transitgateway/getVpnAttachment.ts | 2 +- sdk/nodejs/ecr/getAuthorizationToken.ts | 2 +- sdk/nodejs/ecr/getCredentials.ts | 2 +- sdk/nodejs/ecr/getImage.ts | 2 +- sdk/nodejs/ecr/getLifecyclePolicyDocument.ts | 2 +- sdk/nodejs/ecr/getPullThroughCacheRule.ts | 2 +- sdk/nodejs/ecr/getRepositories.ts | 2 +- sdk/nodejs/ecr/getRepository.ts | 2 +- .../ecr/getRepositoryCreationTemplate.ts | 2 +- sdk/nodejs/ecrpublic/getAuthorizationToken.ts | 2 +- sdk/nodejs/ecs/getCluster.ts | 2 +- sdk/nodejs/ecs/getContainerDefinition.ts | 2 +- sdk/nodejs/ecs/getService.ts | 2 +- sdk/nodejs/ecs/getTaskDefinition.ts | 2 +- sdk/nodejs/ecs/getTaskExecution.ts | 2 +- sdk/nodejs/efs/getAccessPoint.ts | 2 +- sdk/nodejs/efs/getAccessPoints.ts | 2 +- sdk/nodejs/efs/getFileSystem.ts | 2 +- sdk/nodejs/efs/getMountTarget.ts | 2 +- sdk/nodejs/eks/getAccessEntry.ts | 2 +- sdk/nodejs/eks/getAddon.ts | 2 +- sdk/nodejs/eks/getAddonVersion.ts | 2 +- sdk/nodejs/eks/getCluster.ts | 2 +- sdk/nodejs/eks/getClusterAuth.ts | 2 +- sdk/nodejs/eks/getClusters.ts | 2 +- sdk/nodejs/eks/getNodeGroup.ts | 2 +- sdk/nodejs/eks/getNodeGroups.ts | 2 +- sdk/nodejs/elasticache/getCluster.ts | 2 +- sdk/nodejs/elasticache/getReplicationGroup.ts | 2 +- .../getReservedCacheNodeOffering.ts | 2 +- sdk/nodejs/elasticache/getServerlessCache.ts | 2 +- sdk/nodejs/elasticache/getSubnetGroup.ts | 2 +- sdk/nodejs/elasticache/getUser.ts | 2 +- sdk/nodejs/elasticbeanstalk/getApplication.ts | 2 +- sdk/nodejs/elasticbeanstalk/getHostedZone.ts | 2 +- .../elasticbeanstalk/getSolutionStack.ts | 2 +- sdk/nodejs/elasticsearch/getDomain.ts | 2 +- sdk/nodejs/elb/getHostedZoneId.ts | 2 +- sdk/nodejs/elb/getLoadBalancer.ts | 2 +- sdk/nodejs/elb/getServiceAccount.ts | 2 +- sdk/nodejs/emr/getReleaseLabels.ts | 2 +- sdk/nodejs/emr/getSupportedInstanceTypes.ts | 2 +- sdk/nodejs/emrcontainers/getVirtualCluster.ts | 2 +- sdk/nodejs/fsx/getOntapFileSystem.ts | 2 +- .../fsx/getOntapStorageVirtualMachine.ts | 2 +- .../fsx/getOntapStorageVirtualMachines.ts | 2 +- sdk/nodejs/fsx/getOpenZfsSnapshot.ts | 2 +- sdk/nodejs/fsx/getWindowsFileSystem.ts | 2 +- sdk/nodejs/getArn.ts | 2 +- sdk/nodejs/getAvailabilityZone.ts | 2 +- sdk/nodejs/getAvailabilityZones.ts | 2 +- sdk/nodejs/getBillingServiceAccount.ts | 2 +- sdk/nodejs/getCallerIdentity.ts | 2 +- sdk/nodejs/getDefaultTags.ts | 2 +- sdk/nodejs/getIpRanges.ts | 2 +- sdk/nodejs/getPartition.ts | 2 +- sdk/nodejs/getRegion.ts | 2 +- sdk/nodejs/getRegions.ts | 2 +- sdk/nodejs/getService.ts | 2 +- sdk/nodejs/getServicePrincipal.ts | 2 +- .../globalaccelerator/getAccelerator.ts | 2 +- .../getCustomRoutingAccelerator.ts | 2 +- sdk/nodejs/glue/getCatalogTable.ts | 2 +- sdk/nodejs/glue/getConnection.ts | 2 +- .../glue/getDataCatalogEncryptionSettings.ts | 2 +- sdk/nodejs/glue/getRegistry.ts | 2 +- sdk/nodejs/glue/getScript.ts | 2 +- sdk/nodejs/grafana/getWorkspace.ts | 2 +- sdk/nodejs/guardduty/getDetector.ts | 2 +- sdk/nodejs/guardduty/getFindingIds.ts | 2 +- sdk/nodejs/iam/getAccessKeys.ts | 2 +- sdk/nodejs/iam/getAccountAlias.ts | 2 +- sdk/nodejs/iam/getGroup.ts | 2 +- sdk/nodejs/iam/getInstanceProfile.ts | 2 +- sdk/nodejs/iam/getInstanceProfiles.ts | 2 +- sdk/nodejs/iam/getOpenIdConnectProvider.ts | 2 +- sdk/nodejs/iam/getPolicy.ts | 2 +- sdk/nodejs/iam/getPolicyDocument.ts | 2 +- .../iam/getPrincipalPolicySimulation.ts | 2 +- sdk/nodejs/iam/getRole.ts | 2 +- sdk/nodejs/iam/getRoles.ts | 2 +- sdk/nodejs/iam/getSamlProvider.ts | 2 +- sdk/nodejs/iam/getServerCertificate.ts | 2 +- sdk/nodejs/iam/getSessionContext.ts | 2 +- sdk/nodejs/iam/getUser.ts | 2 +- sdk/nodejs/iam/getUserSshKey.ts | 2 +- sdk/nodejs/iam/getUsers.ts | 2 +- sdk/nodejs/identitystore/getGroup.ts | 2 +- sdk/nodejs/identitystore/getGroups.ts | 2 +- sdk/nodejs/identitystore/getUser.ts | 2 +- sdk/nodejs/imagebuilder/getComponent.ts | 2 +- sdk/nodejs/imagebuilder/getComponents.ts | 2 +- sdk/nodejs/imagebuilder/getContainerRecipe.ts | 2 +- .../imagebuilder/getContainerRecipes.ts | 2 +- .../getDistributionConfiguration.ts | 2 +- .../getDistributionConfigurations.ts | 2 +- sdk/nodejs/imagebuilder/getImage.ts | 2 +- sdk/nodejs/imagebuilder/getImagePipeline.ts | 2 +- sdk/nodejs/imagebuilder/getImagePipelines.ts | 2 +- sdk/nodejs/imagebuilder/getImageRecipe.ts | 2 +- sdk/nodejs/imagebuilder/getImageRecipes.ts | 2 +- .../getInfrastructureConfiguration.ts | 2 +- .../getInfrastructureConfigurations.ts | 2 +- sdk/nodejs/inspector/getRulesPackages.ts | 2 +- sdk/nodejs/iot/getEndpoint.ts | 2 +- sdk/nodejs/iot/getRegistrationCode.ts | 2 +- sdk/nodejs/ivs/getStreamKey.ts | 2 +- sdk/nodejs/kendra/getExperience.ts | 2 +- sdk/nodejs/kendra/getFaq.ts | 2 +- sdk/nodejs/kendra/getIndex.ts | 2 +- .../kendra/getQuerySuggestionsBlockList.ts | 2 +- sdk/nodejs/kendra/getThesaurus.ts | 2 +- .../kinesis/getFirehoseDeliveryStream.ts | 2 +- sdk/nodejs/kinesis/getStream.ts | 2 +- sdk/nodejs/kinesis/getStreamConsumer.ts | 2 +- sdk/nodejs/kms/getAlias.ts | 2 +- sdk/nodejs/kms/getCipherText.ts | 2 +- sdk/nodejs/kms/getCustomKeyStore.ts | 2 +- sdk/nodejs/kms/getKey.ts | 2 +- sdk/nodejs/kms/getPublicKey.ts | 2 +- sdk/nodejs/kms/getSecret.ts | 2 +- sdk/nodejs/kms/getSecrets.ts | 2 +- .../lakeformation/getDataLakeSettings.ts | 2 +- sdk/nodejs/lakeformation/getPermissions.ts | 2 +- sdk/nodejs/lakeformation/getResource.ts | 2 +- sdk/nodejs/lambda/getAlias.ts | 2 +- sdk/nodejs/lambda/getCodeSigningConfig.ts | 2 +- sdk/nodejs/lambda/getFunction.ts | 2 +- sdk/nodejs/lambda/getFunctionUrl.ts | 2 +- sdk/nodejs/lambda/getFunctions.ts | 2 +- sdk/nodejs/lambda/getInvocation.ts | 2 +- sdk/nodejs/lambda/getLayerVersion.ts | 2 +- sdk/nodejs/lb/getHostedZoneId.ts | 2 +- sdk/nodejs/lb/getLbs.ts | 2 +- sdk/nodejs/lb/getListener.ts | 2 +- sdk/nodejs/lb/getListenerRule.ts | 2 +- sdk/nodejs/lb/getLoadBalancer.ts | 2 +- sdk/nodejs/lb/getTargetGroup.ts | 2 +- sdk/nodejs/lb/getTrustStore.ts | 2 +- sdk/nodejs/lex/getBot.ts | 2 +- sdk/nodejs/lex/getBotAlias.ts | 2 +- sdk/nodejs/lex/getIntent.ts | 2 +- sdk/nodejs/lex/getSlotType.ts | 2 +- sdk/nodejs/licensemanager/getLicenseGrants.ts | 2 +- .../licensemanager/getReceivedLicense.ts | 2 +- .../licensemanager/getReceivedLicenses.ts | 2 +- sdk/nodejs/location/getGeofenceCollection.ts | 2 +- sdk/nodejs/location/getMap.ts | 2 +- sdk/nodejs/location/getPlaceIndex.ts | 2 +- sdk/nodejs/location/getRouteCalculator.ts | 2 +- sdk/nodejs/location/getTracker.ts | 2 +- sdk/nodejs/location/getTrackerAssociation.ts | 2 +- sdk/nodejs/location/getTrackerAssociations.ts | 2 +- sdk/nodejs/mediaconvert/getQueue.ts | 2 +- sdk/nodejs/medialive/getInput.ts | 2 +- sdk/nodejs/memorydb/getAcl.ts | 2 +- sdk/nodejs/memorydb/getCluster.ts | 2 +- sdk/nodejs/memorydb/getParameterGroup.ts | 2 +- sdk/nodejs/memorydb/getSnapshot.ts | 2 +- sdk/nodejs/memorydb/getSubnetGroup.ts | 2 +- sdk/nodejs/memorydb/getUser.ts | 2 +- sdk/nodejs/mq/getBroker.ts | 2 +- sdk/nodejs/mq/getBrokerEngineTypes.ts | 2 +- sdk/nodejs/mq/getInstanceTypeOfferings.ts | 2 +- sdk/nodejs/msk/getBootstrapBrokers.ts | 2 +- sdk/nodejs/msk/getBrokerNodes.ts | 2 +- sdk/nodejs/msk/getCluster.ts | 2 +- sdk/nodejs/msk/getConfiguration.ts | 2 +- sdk/nodejs/msk/getKafkaVersion.ts | 2 +- sdk/nodejs/msk/getVpcConnection.ts | 2 +- sdk/nodejs/mskconnect/getConnector.ts | 2 +- sdk/nodejs/mskconnect/getCustomPlugin.ts | 2 +- .../mskconnect/getWorkerConfiguration.ts | 2 +- sdk/nodejs/neptune/getEngineVersion.ts | 2 +- sdk/nodejs/neptune/getOrderableDbInstance.ts | 2 +- sdk/nodejs/networkfirewall/getFirewall.ts | 2 +- .../networkfirewall/getFirewallPolicy.ts | 2 +- .../networkfirewall/getResourcePolicy.ts | 2 +- sdk/nodejs/networkmanager/getConnection.ts | 2 +- sdk/nodejs/networkmanager/getConnections.ts | 2 +- .../getCoreNetworkPolicyDocument.ts | 2 +- sdk/nodejs/networkmanager/getDevice.ts | 2 +- sdk/nodejs/networkmanager/getDevices.ts | 2 +- sdk/nodejs/networkmanager/getGlobalNetwork.ts | 2 +- .../networkmanager/getGlobalNetworks.ts | 2 +- sdk/nodejs/networkmanager/getLink.ts | 2 +- sdk/nodejs/networkmanager/getLinks.ts | 2 +- sdk/nodejs/networkmanager/getSite.ts | 2 +- sdk/nodejs/networkmanager/getSites.ts | 2 +- sdk/nodejs/oam/getLink.ts | 2 +- sdk/nodejs/oam/getLinks.ts | 2 +- sdk/nodejs/oam/getSink.ts | 2 +- sdk/nodejs/oam/getSinks.ts | 2 +- sdk/nodejs/opensearch/getDomain.ts | 2 +- .../opensearch/getServerlessAccessPolicy.ts | 2 +- .../opensearch/getServerlessCollection.ts | 2 +- .../getServerlessLifecyclePolicy.ts | 2 +- .../opensearch/getServerlessSecurityConfig.ts | 2 +- .../opensearch/getServerlessSecurityPolicy.ts | 2 +- .../opensearch/getServerlessVpcEndpoint.ts | 2 +- .../getDelegatedAdministrators.ts | 2 +- .../organizations/getDelegatedServices.ts | 2 +- sdk/nodejs/organizations/getOrganization.ts | 2 +- .../organizations/getOrganizationalUnit.ts | 2 +- .../getOrganizationalUnitChildAccounts.ts | 2 +- ...getOrganizationalUnitDescendantAccounts.ts | 2 +- ...tionalUnitDescendantOrganizationalUnits.ts | 2 +- .../organizations/getOrganizationalUnits.ts | 2 +- sdk/nodejs/organizations/getPolicies.ts | 2 +- .../organizations/getPoliciesForTarget.ts | 2 +- sdk/nodejs/organizations/getPolicy.ts | 2 +- sdk/nodejs/organizations/getResourceTags.ts | 2 +- sdk/nodejs/outposts/getAsset.ts | 2 +- sdk/nodejs/outposts/getAssets.ts | 2 +- sdk/nodejs/outposts/getOutpost.ts | 2 +- sdk/nodejs/outposts/getOutpostInstanceType.ts | 2 +- .../outposts/getOutpostInstanceTypes.ts | 2 +- sdk/nodejs/outposts/getOutposts.ts | 2 +- sdk/nodejs/outposts/getSite.ts | 2 +- sdk/nodejs/outposts/getSites.ts | 2 +- sdk/nodejs/polly/getVoices.ts | 2 +- sdk/nodejs/pricing/getProduct.ts | 2 +- sdk/nodejs/qldb/getLedger.ts | 2 +- sdk/nodejs/quicksight/getAnalysis.ts | 2 +- sdk/nodejs/quicksight/getDataSet.ts | 2 +- .../quicksight/getQuicksightAnalysis.ts | 2 +- sdk/nodejs/quicksight/getQuicksightGroup.ts | 2 +- sdk/nodejs/quicksight/getQuicksightUser.ts | 2 +- sdk/nodejs/quicksight/getTheme.ts | 2 +- sdk/nodejs/ram/getResourceShare.ts | 2 +- sdk/nodejs/rds/getCertificate.ts | 2 +- sdk/nodejs/rds/getCluster.ts | 2 +- sdk/nodejs/rds/getClusterParameterGroup.ts | 2 +- sdk/nodejs/rds/getClusterSnapshot.ts | 2 +- sdk/nodejs/rds/getClusters.ts | 2 +- sdk/nodejs/rds/getEngineVersion.ts | 2 +- sdk/nodejs/rds/getEventCategories.ts | 2 +- sdk/nodejs/rds/getInstance.ts | 2 +- sdk/nodejs/rds/getInstances.ts | 2 +- sdk/nodejs/rds/getOrderableDbInstance.ts | 2 +- sdk/nodejs/rds/getParameterGroup.ts | 2 +- sdk/nodejs/rds/getProxy.ts | 2 +- sdk/nodejs/rds/getReservedInstanceOffering.ts | 2 +- sdk/nodejs/rds/getSnapshot.ts | 2 +- sdk/nodejs/rds/getSubnetGroup.ts | 2 +- sdk/nodejs/redshift/getCluster.ts | 2 +- sdk/nodejs/redshift/getClusterCredentials.ts | 2 +- sdk/nodejs/redshift/getDataShares.ts | 2 +- sdk/nodejs/redshift/getOrderableCluster.ts | 2 +- sdk/nodejs/redshift/getProducerDataShares.ts | 2 +- sdk/nodejs/redshift/getServiceAccount.ts | 2 +- sdk/nodejs/redshift/getSubnetGroup.ts | 2 +- .../redshiftserverless/getCredentials.ts | 2 +- sdk/nodejs/redshiftserverless/getNamespace.ts | 2 +- sdk/nodejs/redshiftserverless/getWorkgroup.ts | 2 +- sdk/nodejs/resourceexplorer/search.ts | 2 +- .../resourcegroupstaggingapi/getResources.ts | 2 +- sdk/nodejs/route53/getDelegationSet.ts | 2 +- sdk/nodejs/route53/getProfilesProfiles.ts | 2 +- sdk/nodejs/route53/getQueryLogConfig.ts | 2 +- sdk/nodejs/route53/getResolverEndpoint.ts | 2 +- .../route53/getResolverFirewallConfig.ts | 2 +- .../route53/getResolverFirewallDomainList.ts | 2 +- .../route53/getResolverFirewallRuleGroup.ts | 2 +- ...getResolverFirewallRuleGroupAssociation.ts | 2 +- .../route53/getResolverFirewallRules.ts | 2 +- sdk/nodejs/route53/getResolverRule.ts | 2 +- sdk/nodejs/route53/getResolverRules.ts | 2 +- .../route53/getTrafficPolicyDocument.ts | 2 +- sdk/nodejs/route53/getZone.ts | 2 +- sdk/nodejs/route53/getZones.ts | 2 +- sdk/nodejs/s3/getAccountPublicAccessBlock.ts | 2 +- sdk/nodejs/s3/getBucket.ts | 2 +- sdk/nodejs/s3/getBucketObject.ts | 2 +- sdk/nodejs/s3/getBucketObjects.ts | 2 +- sdk/nodejs/s3/getBucketPolicy.ts | 2 +- sdk/nodejs/s3/getCanonicalUserId.ts | 2 +- sdk/nodejs/s3/getDirectoryBuckets.ts | 2 +- sdk/nodejs/s3/getObject.ts | 2 +- sdk/nodejs/s3/getObjects.ts | 2 +- .../s3control/getMultiRegionAccessPoint.ts | 2 +- sdk/nodejs/sagemaker/getPrebuiltEcrImage.ts | 2 +- .../secretsmanager/getRandomPassword.ts | 2 +- sdk/nodejs/secretsmanager/getSecret.ts | 2 +- .../secretsmanager/getSecretRotation.ts | 2 +- sdk/nodejs/secretsmanager/getSecretVersion.ts | 2 +- .../secretsmanager/getSecretVersions.ts | 2 +- sdk/nodejs/secretsmanager/getSecrets.ts | 2 +- .../getStandardsControlAssociations.ts | 2 +- .../serverlessrepository/getApplication.ts | 2 +- .../getAppregistryApplication.ts | 2 +- sdk/nodejs/servicecatalog/getConstraint.ts | 2 +- sdk/nodejs/servicecatalog/getLaunchPaths.ts | 2 +- sdk/nodejs/servicecatalog/getPortfolio.ts | 2 +- .../servicecatalog/getPortfolioConstraints.ts | 2 +- sdk/nodejs/servicecatalog/getProduct.ts | 2 +- .../getProvisioningArtifacts.ts | 2 +- .../servicediscovery/getDnsNamespace.ts | 2 +- .../servicediscovery/getHttpNamespace.ts | 2 +- sdk/nodejs/servicediscovery/getService.ts | 2 +- sdk/nodejs/servicequotas/getService.ts | 2 +- sdk/nodejs/servicequotas/getServiceQuota.ts | 2 +- sdk/nodejs/servicequotas/getTemplates.ts | 2 +- sdk/nodejs/ses/getActiveReceiptRuleSet.ts | 2 +- sdk/nodejs/ses/getDomainIdentity.ts | 2 +- sdk/nodejs/ses/getEmailIdentity.ts | 2 +- sdk/nodejs/sesv2/getConfigurationSet.ts | 2 +- sdk/nodejs/sesv2/getDedicatedIpPool.ts | 2 +- sdk/nodejs/sesv2/getEmailIdentity.ts | 2 +- .../getEmailIdentityMailFromAttributes.ts | 2 +- sdk/nodejs/sfn/getActivity.ts | 2 +- sdk/nodejs/sfn/getAlias.ts | 2 +- sdk/nodejs/sfn/getStateMachine.ts | 2 +- sdk/nodejs/sfn/getStateMachineVersions.ts | 2 +- sdk/nodejs/shield/getProtection.ts | 2 +- sdk/nodejs/signer/getSigningJob.ts | 2 +- sdk/nodejs/signer/getSigningProfile.ts | 2 +- sdk/nodejs/sns/getTopic.ts | 2 +- sdk/nodejs/sqs/getQueue.ts | 2 +- sdk/nodejs/sqs/getQueues.ts | 2 +- sdk/nodejs/ssm/getContactsRotation.ts | 2 +- sdk/nodejs/ssm/getDocument.ts | 2 +- sdk/nodejs/ssm/getInstances.ts | 2 +- sdk/nodejs/ssm/getMaintenanceWindows.ts | 2 +- sdk/nodejs/ssm/getParameter.ts | 2 +- sdk/nodejs/ssm/getParametersByPath.ts | 2 +- sdk/nodejs/ssm/getPatchBaseline.ts | 2 +- sdk/nodejs/ssm/getPatchBaselines.ts | 2 +- sdk/nodejs/ssmcontacts/getContact.ts | 2 +- sdk/nodejs/ssmcontacts/getContactChannel.ts | 2 +- sdk/nodejs/ssmcontacts/getPlan.ts | 2 +- sdk/nodejs/ssmincidents/getReplicationSet.ts | 2 +- sdk/nodejs/ssmincidents/getResponsePlan.ts | 2 +- sdk/nodejs/ssoadmin/getApplication.ts | 2 +- .../ssoadmin/getApplicationAssignments.ts | 2 +- .../ssoadmin/getApplicationProviders.ts | 2 +- sdk/nodejs/ssoadmin/getInstances.ts | 2 +- sdk/nodejs/ssoadmin/getPermissionSet.ts | 2 +- sdk/nodejs/ssoadmin/getPermissionSets.ts | 2 +- .../getPrincipalApplicationAssignments.ts | 2 +- sdk/nodejs/storagegateway/getLocalDisk.ts | 2 +- sdk/nodejs/synthetics/getRuntimeVersion.ts | 2 +- sdk/nodejs/synthetics/getRuntimeVersions.ts | 2 +- sdk/nodejs/timestreamwrite/getDatabase.ts | 2 +- sdk/nodejs/timestreamwrite/getTable.ts | 2 +- sdk/nodejs/transfer/getConnector.ts | 2 +- sdk/nodejs/transfer/getServer.ts | 2 +- .../verifiedpermissions/getPolicyStore.ts | 2 +- sdk/nodejs/vpc/getSecurityGroupRule.ts | 2 +- sdk/nodejs/vpc/getSecurityGroupRules.ts | 2 +- sdk/nodejs/vpclattice/getAuthPolicy.ts | 2 +- sdk/nodejs/vpclattice/getListener.ts | 2 +- sdk/nodejs/vpclattice/getResourcePolicy.ts | 2 +- sdk/nodejs/vpclattice/getService.ts | 2 +- sdk/nodejs/vpclattice/getServiceNetwork.ts | 2 +- sdk/nodejs/waf/getIpset.ts | 2 +- sdk/nodejs/waf/getRateBasedRule.ts | 2 +- sdk/nodejs/waf/getRule.ts | 2 +- sdk/nodejs/waf/getSubscribedRuleGroup.ts | 2 +- sdk/nodejs/waf/getWebAcl.ts | 2 +- sdk/nodejs/wafregional/getIpset.ts | 2 +- sdk/nodejs/wafregional/getRateBasedMod.ts | 2 +- sdk/nodejs/wafregional/getRule.ts | 2 +- .../wafregional/getSubscribedRuleGroup.ts | 2 +- sdk/nodejs/wafregional/getWebAcl.ts | 2 +- sdk/nodejs/wafv2/getIpSet.ts | 2 +- sdk/nodejs/wafv2/getRegexPatternSet.ts | 2 +- sdk/nodejs/wafv2/getRuleGroup.ts | 2 +- sdk/nodejs/wafv2/getWebAcl.ts | 2 +- sdk/nodejs/workspaces/getBundle.ts | 2 +- sdk/nodejs/workspaces/getDirectory.ts | 2 +- sdk/nodejs/workspaces/getImage.ts | 2 +- sdk/nodejs/workspaces/getWorkspace.ts | 2 +- sdk/python/pulumi_aws/acm/get_certificate.py | 4 +- .../pulumi_aws/acmpca/get_certificate.py | 4 +- .../acmpca/get_certificate_authority.py | 4 +- sdk/python/pulumi_aws/alb/get_listener.py | 4 +- .../pulumi_aws/alb/get_load_balancer.py | 4 +- sdk/python/pulumi_aws/alb/get_target_group.py | 4 +- .../amp/get_default_scraper_configuration.py | 4 +- sdk/python/pulumi_aws/amp/get_workspace.py | 4 +- sdk/python/pulumi_aws/amp/get_workspaces.py | 4 +- .../pulumi_aws/apigateway/get_authorizer.py | 4 +- .../pulumi_aws/apigateway/get_authorizers.py | 4 +- .../pulumi_aws/apigateway/get_domain_name.py | 4 +- .../pulumi_aws/apigateway/get_export.py | 4 +- sdk/python/pulumi_aws/apigateway/get_key.py | 4 +- .../pulumi_aws/apigateway/get_resource.py | 4 +- .../pulumi_aws/apigateway/get_rest_api.py | 4 +- sdk/python/pulumi_aws/apigateway/get_sdk.py | 4 +- .../pulumi_aws/apigateway/get_vpc_link.py | 4 +- sdk/python/pulumi_aws/apigatewayv2/get_api.py | 4 +- .../pulumi_aws/apigatewayv2/get_apis.py | 4 +- .../pulumi_aws/apigatewayv2/get_export.py | 4 +- .../pulumi_aws/apigatewayv2/get_vpc_link.py | 4 +- .../appconfig/get_configuration_profile.py | 4 +- .../appconfig/get_configuration_profiles.py | 4 +- .../pulumi_aws/appconfig/get_environment.py | 4 +- .../pulumi_aws/appconfig/get_environments.py | 4 +- .../appintegrations/get_event_integration.py | 4 +- .../pulumi_aws/appmesh/get_gateway_route.py | 4 +- sdk/python/pulumi_aws/appmesh/get_mesh.py | 4 +- sdk/python/pulumi_aws/appmesh/get_route.py | 4 +- .../pulumi_aws/appmesh/get_virtual_gateway.py | 4 +- .../pulumi_aws/appmesh/get_virtual_node.py | 4 +- .../pulumi_aws/appmesh/get_virtual_router.py | 4 +- .../pulumi_aws/appmesh/get_virtual_service.py | 4 +- .../apprunner/get_hosted_zone_id.py | 4 +- sdk/python/pulumi_aws/appstream/get_image.py | 4 +- .../pulumi_aws/athena/get_named_query.py | 4 +- .../pulumi_aws/auditmanager/get_control.py | 4 +- .../pulumi_aws/auditmanager/get_framework.py | 4 +- .../pulumi_aws/autoscaling/get_ami_ids.py | 4 +- .../pulumi_aws/autoscaling/get_group.py | 4 +- sdk/python/pulumi_aws/backup/get_framework.py | 4 +- sdk/python/pulumi_aws/backup/get_plan.py | 4 +- .../pulumi_aws/backup/get_report_plan.py | 4 +- sdk/python/pulumi_aws/backup/get_selection.py | 4 +- sdk/python/pulumi_aws/backup/get_vault.py | 4 +- .../batch/get_compute_environment.py | 4 +- .../pulumi_aws/batch/get_job_definition.py | 4 +- sdk/python/pulumi_aws/batch/get_job_queue.py | 4 +- .../pulumi_aws/batch/get_scheduling_policy.py | 4 +- .../bedrock/get_agent_agent_versions.py | 4 +- .../pulumi_aws/bedrock/get_custom_model.py | 4 +- .../pulumi_aws/bedrock/get_custom_models.py | 4 +- .../bedrock/get_inference_profile.py | 4 +- .../bedrock/get_inference_profiles.py | 4 +- .../pulumi_aws/bedrockfoundation/get_model.py | 4 +- .../bedrockfoundation/get_models.py | 4 +- sdk/python/pulumi_aws/budgets/get_budget.py | 4 +- .../pulumi_aws/chatbot/get_slack_workspace.py | 4 +- .../pulumi_aws/cloudcontrol/get_resource.py | 4 +- .../get_cloud_formation_type.py | 4 +- .../pulumi_aws/cloudformation/get_export.py | 4 +- .../pulumi_aws/cloudformation/get_stack.py | 4 +- .../pulumi_aws/cloudfront/get_cache_policy.py | 4 +- .../pulumi_aws/cloudfront/get_distribution.py | 4 +- .../pulumi_aws/cloudfront/get_function.py | 4 +- .../get_log_delivery_canonical_user_id.py | 4 +- .../cloudfront/get_origin_access_control.py | 4 +- .../get_origin_access_identities.py | 4 +- .../cloudfront/get_origin_access_identity.py | 4 +- .../cloudfront/get_origin_request_policy.py | 4 +- .../cloudfront/get_realtime_log_config.py | 4 +- .../cloudfront/get_response_headers_policy.py | 4 +- .../pulumi_aws/cloudhsmv2/get_cluster.py | 4 +- .../cloudtrail/get_service_account.py | 4 +- .../pulumi_aws/cloudwatch/get_event_bus.py | 4 +- .../cloudwatch/get_event_connection.py | 4 +- .../pulumi_aws/cloudwatch/get_event_source.py | 4 +- ...get_log_data_protection_policy_document.py | 4 +- .../pulumi_aws/cloudwatch/get_log_group.py | 4 +- .../pulumi_aws/cloudwatch/get_log_groups.py | 4 +- .../codeartifact/get_authorization_token.py | 4 +- .../codeartifact/get_repository_endpoint.py | 4 +- sdk/python/pulumi_aws/codebuild/get_fleet.py | 4 +- .../codecatalyst/get_dev_environment.py | 4 +- .../codecommit/get_approval_rule_template.py | 4 +- .../pulumi_aws/codecommit/get_repository.py | 4 +- .../codeguruprofiler/get_profiling_group.py | 4 +- .../codestarconnections/get_connection.py | 4 +- .../pulumi_aws/cognito/get_identity_pool.py | 4 +- .../pulumi_aws/cognito/get_user_group.py | 4 +- .../pulumi_aws/cognito/get_user_groups.py | 4 +- .../pulumi_aws/cognito/get_user_pool.py | 4 +- .../cognito/get_user_pool_client.py | 4 +- .../cognito/get_user_pool_clients.py | 4 +- .../get_user_pool_signing_certificate.py | 4 +- .../pulumi_aws/cognito/get_user_pools.py | 4 +- .../pulumi_aws/connect/get_bot_association.py | 4 +- .../pulumi_aws/connect/get_contact_flow.py | 4 +- .../connect/get_contact_flow_module.py | 4 +- .../connect/get_hours_of_operation.py | 4 +- sdk/python/pulumi_aws/connect/get_instance.py | 4 +- .../connect/get_instance_storage_config.py | 4 +- .../get_lambda_function_association.py | 4 +- sdk/python/pulumi_aws/connect/get_prompt.py | 4 +- sdk/python/pulumi_aws/connect/get_queue.py | 4 +- .../pulumi_aws/connect/get_quick_connect.py | 4 +- .../pulumi_aws/connect/get_routing_profile.py | 4 +- .../connect/get_security_profile.py | 4 +- sdk/python/pulumi_aws/connect/get_user.py | 4 +- .../connect/get_user_hierarchy_group.py | 4 +- .../connect/get_user_hierarchy_structure.py | 4 +- .../pulumi_aws/connect/get_vocabulary.py | 4 +- .../pulumi_aws/controltower/get_controls.py | 4 +- .../costexplorer/get_cost_category.py | 4 +- .../pulumi_aws/costexplorer/get_tags.py | 4 +- .../pulumi_aws/cur/get_report_definition.py | 4 +- .../pulumi_aws/datapipeline/get_pipeline.py | 4 +- .../datapipeline/get_pipeline_definition.py | 4 +- .../datazone/get_environment_blueprint.py | 4 +- .../devopsguru/get_notification_channel.py | 4 +- .../devopsguru/get_resource_collection.py | 4 +- .../directconnect/get_connection.py | 4 +- .../pulumi_aws/directconnect/get_gateway.py | 4 +- .../pulumi_aws/directconnect/get_location.py | 4 +- .../pulumi_aws/directconnect/get_locations.py | 4 +- .../directconnect/get_router_configuration.py | 4 +- .../directoryservice/get_directory.py | 4 +- sdk/python/pulumi_aws/dms/get_certificate.py | 4 +- sdk/python/pulumi_aws/dms/get_endpoint.py | 4 +- .../dms/get_replication_instance.py | 4 +- .../dms/get_replication_subnet_group.py | 4 +- .../pulumi_aws/dms/get_replication_task.py | 4 +- .../pulumi_aws/docdb/get_engine_version.py | 4 +- .../docdb/get_orderable_db_instance.py | 4 +- sdk/python/pulumi_aws/dynamodb/get_table.py | 4 +- .../pulumi_aws/dynamodb/get_table_item.py | 4 +- .../pulumi_aws/ebs/get_default_kms_key.py | 4 +- sdk/python/pulumi_aws/ebs/get_ebs_volumes.py | 4 +- .../ebs/get_encryption_by_default.py | 4 +- sdk/python/pulumi_aws/ebs/get_snapshot.py | 4 +- sdk/python/pulumi_aws/ebs/get_snapshot_ids.py | 4 +- sdk/python/pulumi_aws/ebs/get_volume.py | 4 +- sdk/python/pulumi_aws/ec2/get_ami.py | 4 +- sdk/python/pulumi_aws/ec2/get_ami_ids.py | 4 +- .../ec2/get_capacity_block_offering.py | 4 +- sdk/python/pulumi_aws/ec2/get_coip_pool.py | 4 +- sdk/python/pulumi_aws/ec2/get_coip_pools.py | 4 +- .../pulumi_aws/ec2/get_customer_gateway.py | 4 +- .../pulumi_aws/ec2/get_dedicated_host.py | 4 +- sdk/python/pulumi_aws/ec2/get_eips.py | 4 +- sdk/python/pulumi_aws/ec2/get_elastic_ip.py | 4 +- sdk/python/pulumi_aws/ec2/get_instance.py | 4 +- .../pulumi_aws/ec2/get_instance_type.py | 4 +- .../ec2/get_instance_type_offering.py | 4 +- .../ec2/get_instance_type_offerings.py | 4 +- .../pulumi_aws/ec2/get_instance_types.py | 4 +- sdk/python/pulumi_aws/ec2/get_instances.py | 4 +- .../pulumi_aws/ec2/get_internet_gateway.py | 4 +- .../ec2/get_ipam_preview_next_cidr.py | 4 +- sdk/python/pulumi_aws/ec2/get_key_pair.py | 4 +- .../ec2/get_launch_configuration.py | 4 +- .../pulumi_aws/ec2/get_launch_template.py | 4 +- .../pulumi_aws/ec2/get_local_gateway.py | 4 +- .../ec2/get_local_gateway_route_table.py | 4 +- .../ec2/get_local_gateway_route_tables.py | 4 +- .../get_local_gateway_virtual_interface.py | 4 +- ...t_local_gateway_virtual_interface_group.py | 4 +- ..._local_gateway_virtual_interface_groups.py | 4 +- .../pulumi_aws/ec2/get_local_gateways.py | 4 +- .../pulumi_aws/ec2/get_managed_prefix_list.py | 4 +- .../ec2/get_managed_prefix_lists.py | 4 +- sdk/python/pulumi_aws/ec2/get_nat_gateway.py | 4 +- sdk/python/pulumi_aws/ec2/get_nat_gateways.py | 4 +- sdk/python/pulumi_aws/ec2/get_network_acls.py | 4 +- .../ec2/get_network_insights_analysis.py | 4 +- .../ec2/get_network_insights_path.py | 4 +- .../pulumi_aws/ec2/get_network_interface.py | 4 +- .../pulumi_aws/ec2/get_network_interfaces.py | 4 +- sdk/python/pulumi_aws/ec2/get_prefix_list.py | 4 +- .../pulumi_aws/ec2/get_public_ipv4_pool.py | 4 +- .../pulumi_aws/ec2/get_public_ipv4_pools.py | 4 +- sdk/python/pulumi_aws/ec2/get_route.py | 4 +- sdk/python/pulumi_aws/ec2/get_route_table.py | 4 +- sdk/python/pulumi_aws/ec2/get_route_tables.py | 4 +- .../pulumi_aws/ec2/get_security_group.py | 4 +- .../pulumi_aws/ec2/get_security_groups.py | 4 +- .../ec2/get_serial_console_access.py | 4 +- .../ec2/get_spot_datafeed_subscription.py | 4 +- sdk/python/pulumi_aws/ec2/get_spot_price.py | 4 +- sdk/python/pulumi_aws/ec2/get_subnet.py | 4 +- sdk/python/pulumi_aws/ec2/get_subnets.py | 4 +- .../ec2/get_transit_gateway_route_tables.py | 4 +- sdk/python/pulumi_aws/ec2/get_vpc.py | 4 +- .../pulumi_aws/ec2/get_vpc_dhcp_options.py | 4 +- sdk/python/pulumi_aws/ec2/get_vpc_endpoint.py | 4 +- .../ec2/get_vpc_endpoint_service.py | 4 +- sdk/python/pulumi_aws/ec2/get_vpc_iam_pool.py | 4 +- .../pulumi_aws/ec2/get_vpc_iam_pool_cidrs.py | 4 +- .../pulumi_aws/ec2/get_vpc_iam_pools.py | 4 +- .../pulumi_aws/ec2/get_vpc_ipam_pool.py | 4 +- .../pulumi_aws/ec2/get_vpc_ipam_pool_cidrs.py | 4 +- .../pulumi_aws/ec2/get_vpc_ipam_pools.py | 4 +- .../ec2/get_vpc_peering_connection.py | 4 +- .../ec2/get_vpc_peering_connections.py | 4 +- sdk/python/pulumi_aws/ec2/get_vpcs.py | 4 +- sdk/python/pulumi_aws/ec2/get_vpn_gateway.py | 4 +- .../pulumi_aws/ec2clientvpn/get_endpoint.py | 4 +- .../ec2transitgateway/get_attachment.py | 4 +- .../ec2transitgateway/get_attachments.py | 4 +- .../ec2transitgateway/get_connect.py | 4 +- .../ec2transitgateway/get_connect_peer.py | 4 +- .../get_direct_connect_gateway_attachment.py | 4 +- .../ec2transitgateway/get_multicast_domain.py | 4 +- .../get_peering_attachment.py | 4 +- .../get_peering_attachments.py | 4 +- .../ec2transitgateway/get_route_table.py | 4 +- .../get_route_table_associations.py | 4 +- .../get_route_table_propagations.py | 4 +- .../get_route_table_routes.py | 4 +- .../ec2transitgateway/get_transit_gateway.py | 4 +- .../ec2transitgateway/get_vpc_attachment.py | 4 +- .../ec2transitgateway/get_vpc_attachments.py | 4 +- .../ec2transitgateway/get_vpn_attachment.py | 4 +- .../pulumi_aws/ecr/get_authorization_token.py | 4 +- sdk/python/pulumi_aws/ecr/get_credentials.py | 4 +- sdk/python/pulumi_aws/ecr/get_image.py | 4 +- .../ecr/get_lifecycle_policy_document.py | 4 +- .../ecr/get_pull_through_cache_rule.py | 4 +- sdk/python/pulumi_aws/ecr/get_repositories.py | 4 +- sdk/python/pulumi_aws/ecr/get_repository.py | 4 +- .../ecr/get_repository_creation_template.py | 4 +- .../ecrpublic/get_authorization_token.py | 4 +- sdk/python/pulumi_aws/ecs/get_cluster.py | 4 +- .../ecs/get_container_definition.py | 4 +- sdk/python/pulumi_aws/ecs/get_service.py | 4 +- .../pulumi_aws/ecs/get_task_definition.py | 4 +- .../pulumi_aws/ecs/get_task_execution.py | 4 +- sdk/python/pulumi_aws/efs/get_access_point.py | 4 +- .../pulumi_aws/efs/get_access_points.py | 4 +- sdk/python/pulumi_aws/efs/get_file_system.py | 4 +- sdk/python/pulumi_aws/efs/get_mount_target.py | 4 +- sdk/python/pulumi_aws/eks/get_access_entry.py | 4 +- sdk/python/pulumi_aws/eks/get_addon.py | 4 +- .../pulumi_aws/eks/get_addon_version.py | 4 +- sdk/python/pulumi_aws/eks/get_cluster.py | 4 +- sdk/python/pulumi_aws/eks/get_cluster_auth.py | 4 +- sdk/python/pulumi_aws/eks/get_clusters.py | 4 +- sdk/python/pulumi_aws/eks/get_node_group.py | 4 +- sdk/python/pulumi_aws/eks/get_node_groups.py | 4 +- .../pulumi_aws/elasticache/get_cluster.py | 4 +- .../elasticache/get_replication_group.py | 4 +- .../get_reserved_cache_node_offering.py | 4 +- .../elasticache/get_serverless_cache.py | 4 +- .../elasticache/get_subnet_group.py | 4 +- sdk/python/pulumi_aws/elasticache/get_user.py | 4 +- .../elasticbeanstalk/get_application.py | 4 +- .../elasticbeanstalk/get_hosted_zone.py | 4 +- .../elasticbeanstalk/get_solution_stack.py | 4 +- .../pulumi_aws/elasticsearch/get_domain.py | 4 +- .../pulumi_aws/elb/get_hosted_zone_id.py | 4 +- .../pulumi_aws/elb/get_load_balancer.py | 4 +- .../pulumi_aws/elb/get_service_account.py | 4 +- .../pulumi_aws/emr/get_release_labels.py | 4 +- .../emr/get_supported_instance_types.py | 4 +- .../emrcontainers/get_virtual_cluster.py | 4 +- .../pulumi_aws/fsx/get_ontap_file_system.py | 4 +- .../fsx/get_ontap_storage_virtual_machine.py | 4 +- .../fsx/get_ontap_storage_virtual_machines.py | 4 +- .../pulumi_aws/fsx/get_open_zfs_snapshot.py | 4 +- .../pulumi_aws/fsx/get_windows_file_system.py | 4 +- sdk/python/pulumi_aws/get_arn.py | 4 +- .../pulumi_aws/get_availability_zone.py | 4 +- .../pulumi_aws/get_availability_zones.py | 4 +- .../pulumi_aws/get_billing_service_account.py | 4 +- sdk/python/pulumi_aws/get_caller_identity.py | 4 +- sdk/python/pulumi_aws/get_default_tags.py | 4 +- sdk/python/pulumi_aws/get_ip_ranges.py | 4 +- sdk/python/pulumi_aws/get_partition.py | 4 +- sdk/python/pulumi_aws/get_region.py | 4 +- sdk/python/pulumi_aws/get_regions.py | 4 +- sdk/python/pulumi_aws/get_service.py | 4 +- .../pulumi_aws/get_service_principal.py | 4 +- .../globalaccelerator/get_accelerator.py | 4 +- .../get_custom_routing_accelerator.py | 4 +- .../pulumi_aws/glue/get_catalog_table.py | 4 +- sdk/python/pulumi_aws/glue/get_connection.py | 4 +- .../get_data_catalog_encryption_settings.py | 4 +- sdk/python/pulumi_aws/glue/get_registry.py | 4 +- sdk/python/pulumi_aws/glue/get_script.py | 4 +- .../pulumi_aws/grafana/get_workspace.py | 4 +- .../pulumi_aws/guardduty/get_detector.py | 4 +- .../pulumi_aws/guardduty/get_finding_ids.py | 4 +- sdk/python/pulumi_aws/iam/get_access_keys.py | 4 +- .../pulumi_aws/iam/get_account_alias.py | 4 +- sdk/python/pulumi_aws/iam/get_group.py | 4 +- .../pulumi_aws/iam/get_instance_profile.py | 4 +- .../pulumi_aws/iam/get_instance_profiles.py | 4 +- .../iam/get_open_id_connect_provider.py | 4 +- sdk/python/pulumi_aws/iam/get_policy.py | 4 +- .../pulumi_aws/iam/get_policy_document.py | 4 +- .../iam/get_principal_policy_simulation.py | 4 +- sdk/python/pulumi_aws/iam/get_role.py | 4 +- sdk/python/pulumi_aws/iam/get_roles.py | 4 +- .../pulumi_aws/iam/get_saml_provider.py | 4 +- .../pulumi_aws/iam/get_server_certificate.py | 4 +- .../pulumi_aws/iam/get_session_context.py | 4 +- sdk/python/pulumi_aws/iam/get_user.py | 4 +- sdk/python/pulumi_aws/iam/get_user_ssh_key.py | 4 +- sdk/python/pulumi_aws/iam/get_users.py | 4 +- .../pulumi_aws/identitystore/get_group.py | 4 +- .../pulumi_aws/identitystore/get_groups.py | 4 +- .../pulumi_aws/identitystore/get_user.py | 4 +- .../pulumi_aws/imagebuilder/get_component.py | 4 +- .../pulumi_aws/imagebuilder/get_components.py | 4 +- .../imagebuilder/get_container_recipe.py | 4 +- .../imagebuilder/get_container_recipes.py | 4 +- .../get_distribution_configuration.py | 4 +- .../get_distribution_configurations.py | 4 +- .../pulumi_aws/imagebuilder/get_image.py | 4 +- .../imagebuilder/get_image_pipeline.py | 4 +- .../imagebuilder/get_image_pipelines.py | 4 +- .../imagebuilder/get_image_recipe.py | 4 +- .../imagebuilder/get_image_recipes.py | 4 +- .../get_infrastructure_configuration.py | 4 +- .../get_infrastructure_configurations.py | 4 +- .../inspector/get_rules_packages.py | 4 +- sdk/python/pulumi_aws/iot/get_endpoint.py | 4 +- .../pulumi_aws/iot/get_registration_code.py | 4 +- sdk/python/pulumi_aws/ivs/get_stream_key.py | 4 +- .../pulumi_aws/kendra/get_experience.py | 4 +- sdk/python/pulumi_aws/kendra/get_faq.py | 4 +- sdk/python/pulumi_aws/kendra/get_index.py | 4 +- .../get_query_suggestions_block_list.py | 4 +- sdk/python/pulumi_aws/kendra/get_thesaurus.py | 4 +- .../kinesis/get_firehose_delivery_stream.py | 4 +- sdk/python/pulumi_aws/kinesis/get_stream.py | 4 +- .../pulumi_aws/kinesis/get_stream_consumer.py | 4 +- sdk/python/pulumi_aws/kms/get_alias.py | 4 +- sdk/python/pulumi_aws/kms/get_cipher_text.py | 4 +- .../pulumi_aws/kms/get_custom_key_store.py | 4 +- sdk/python/pulumi_aws/kms/get_key.py | 4 +- sdk/python/pulumi_aws/kms/get_public_key.py | 4 +- sdk/python/pulumi_aws/kms/get_secret.py | 4 +- sdk/python/pulumi_aws/kms/get_secrets.py | 4 +- .../lakeformation/get_data_lake_settings.py | 4 +- .../lakeformation/get_permissions.py | 4 +- .../pulumi_aws/lakeformation/get_resource.py | 4 +- sdk/python/pulumi_aws/lambda_/get_alias.py | 4 +- .../lambda_/get_code_signing_config.py | 4 +- sdk/python/pulumi_aws/lambda_/get_function.py | 4 +- .../pulumi_aws/lambda_/get_function_url.py | 4 +- .../pulumi_aws/lambda_/get_functions.py | 4 +- .../pulumi_aws/lambda_/get_invocation.py | 4 +- .../pulumi_aws/lambda_/get_layer_version.py | 4 +- .../pulumi_aws/lb/get_hosted_zone_id.py | 4 +- sdk/python/pulumi_aws/lb/get_lbs.py | 4 +- sdk/python/pulumi_aws/lb/get_listener.py | 4 +- sdk/python/pulumi_aws/lb/get_listener_rule.py | 4 +- sdk/python/pulumi_aws/lb/get_load_balancer.py | 4 +- sdk/python/pulumi_aws/lb/get_target_group.py | 4 +- sdk/python/pulumi_aws/lb/get_trust_store.py | 4 +- sdk/python/pulumi_aws/lex/get_bot.py | 4 +- sdk/python/pulumi_aws/lex/get_bot_alias.py | 4 +- sdk/python/pulumi_aws/lex/get_intent.py | 4 +- sdk/python/pulumi_aws/lex/get_slot_type.py | 4 +- .../licensemanager/get_license_grants.py | 4 +- .../licensemanager/get_received_license.py | 4 +- .../licensemanager/get_received_licenses.py | 4 +- .../location/get_geofence_collection.py | 4 +- sdk/python/pulumi_aws/location/get_map.py | 4 +- .../pulumi_aws/location/get_place_index.py | 4 +- .../location/get_route_calculator.py | 4 +- sdk/python/pulumi_aws/location/get_tracker.py | 4 +- .../location/get_tracker_association.py | 4 +- .../location/get_tracker_associations.py | 4 +- .../pulumi_aws/mediaconvert/get_queue.py | 4 +- sdk/python/pulumi_aws/medialive/get_input.py | 4 +- sdk/python/pulumi_aws/memorydb/get_acl.py | 4 +- sdk/python/pulumi_aws/memorydb/get_cluster.py | 4 +- .../memorydb/get_parameter_group.py | 4 +- .../pulumi_aws/memorydb/get_snapshot.py | 4 +- .../pulumi_aws/memorydb/get_subnet_group.py | 4 +- sdk/python/pulumi_aws/memorydb/get_user.py | 4 +- sdk/python/pulumi_aws/mq/get_broker.py | 4 +- .../pulumi_aws/mq/get_broker_engine_types.py | 4 +- .../mq/get_instance_type_offerings.py | 4 +- .../pulumi_aws/msk/get_bootstrap_brokers.py | 4 +- sdk/python/pulumi_aws/msk/get_broker_nodes.py | 4 +- sdk/python/pulumi_aws/msk/get_cluster.py | 4 +- .../pulumi_aws/msk/get_configuration.py | 4 +- .../pulumi_aws/msk/get_kafka_version.py | 4 +- .../pulumi_aws/msk/get_vpc_connection.py | 4 +- .../pulumi_aws/mskconnect/get_connector.py | 4 +- .../mskconnect/get_custom_plugin.py | 4 +- .../mskconnect/get_worker_configuration.py | 4 +- .../pulumi_aws/neptune/get_engine_version.py | 4 +- .../neptune/get_orderable_db_instance.py | 4 +- .../networkfirewall/get_firewall.py | 4 +- .../networkfirewall/get_firewall_policy.py | 4 +- .../networkfirewall/get_resource_policy.py | 4 +- .../networkmanager/get_connection.py | 4 +- .../networkmanager/get_connections.py | 4 +- .../get_core_network_policy_document.py | 4 +- .../pulumi_aws/networkmanager/get_device.py | 4 +- .../pulumi_aws/networkmanager/get_devices.py | 4 +- .../networkmanager/get_global_network.py | 4 +- .../networkmanager/get_global_networks.py | 4 +- .../pulumi_aws/networkmanager/get_link.py | 4 +- .../pulumi_aws/networkmanager/get_links.py | 4 +- .../pulumi_aws/networkmanager/get_site.py | 4 +- .../pulumi_aws/networkmanager/get_sites.py | 4 +- sdk/python/pulumi_aws/oam/get_link.py | 4 +- sdk/python/pulumi_aws/oam/get_links.py | 4 +- sdk/python/pulumi_aws/oam/get_sink.py | 4 +- sdk/python/pulumi_aws/oam/get_sinks.py | 4 +- .../pulumi_aws/opensearch/get_domain.py | 4 +- .../get_serverless_access_policy.py | 4 +- .../opensearch/get_serverless_collection.py | 4 +- .../get_serverless_lifecycle_policy.py | 4 +- .../get_serverless_security_config.py | 4 +- .../get_serverless_security_policy.py | 4 +- .../opensearch/get_serverless_vpc_endpoint.py | 4 +- .../get_delegated_administrators.py | 4 +- .../organizations/get_delegated_services.py | 4 +- .../organizations/get_organization.py | 4 +- .../organizations/get_organizational_unit.py | 4 +- .../get_organizational_unit_child_accounts.py | 4 +- ...organizational_unit_descendant_accounts.py | 4 +- ...al_unit_descendant_organizational_units.py | 4 +- .../organizations/get_organizational_units.py | 4 +- .../pulumi_aws/organizations/get_policies.py | 4 +- .../organizations/get_policies_for_target.py | 4 +- .../pulumi_aws/organizations/get_policy.py | 4 +- .../organizations/get_resource_tags.py | 4 +- sdk/python/pulumi_aws/outposts/get_asset.py | 4 +- sdk/python/pulumi_aws/outposts/get_assets.py | 4 +- sdk/python/pulumi_aws/outposts/get_outpost.py | 4 +- .../outposts/get_outpost_instance_type.py | 4 +- .../outposts/get_outpost_instance_types.py | 4 +- .../pulumi_aws/outposts/get_outposts.py | 4 +- sdk/python/pulumi_aws/outposts/get_site.py | 4 +- sdk/python/pulumi_aws/outposts/get_sites.py | 4 +- sdk/python/pulumi_aws/polly/get_voices.py | 4 +- sdk/python/pulumi_aws/pricing/get_product.py | 4 +- sdk/python/pulumi_aws/qldb/get_ledger.py | 4 +- .../pulumi_aws/quicksight/get_analysis.py | 4 +- .../pulumi_aws/quicksight/get_data_set.py | 4 +- .../quicksight/get_quicksight_analysis.py | 4 +- .../quicksight/get_quicksight_group.py | 4 +- .../quicksight/get_quicksight_user.py | 4 +- sdk/python/pulumi_aws/quicksight/get_theme.py | 4 +- .../pulumi_aws/ram/get_resource_share.py | 4 +- sdk/python/pulumi_aws/rds/get_certificate.py | 4 +- sdk/python/pulumi_aws/rds/get_cluster.py | 4 +- .../rds/get_cluster_parameter_group.py | 4 +- .../pulumi_aws/rds/get_cluster_snapshot.py | 4 +- sdk/python/pulumi_aws/rds/get_clusters.py | 4 +- .../pulumi_aws/rds/get_engine_version.py | 4 +- .../pulumi_aws/rds/get_event_categories.py | 4 +- sdk/python/pulumi_aws/rds/get_instance.py | 4 +- sdk/python/pulumi_aws/rds/get_instances.py | 4 +- .../rds/get_orderable_db_instance.py | 4 +- .../pulumi_aws/rds/get_parameter_group.py | 4 +- sdk/python/pulumi_aws/rds/get_proxy.py | 4 +- .../rds/get_reserved_instance_offering.py | 4 +- sdk/python/pulumi_aws/rds/get_snapshot.py | 4 +- sdk/python/pulumi_aws/rds/get_subnet_group.py | 4 +- sdk/python/pulumi_aws/redshift/get_cluster.py | 4 +- .../redshift/get_cluster_credentials.py | 4 +- .../pulumi_aws/redshift/get_data_shares.py | 4 +- .../redshift/get_orderable_cluster.py | 4 +- .../redshift/get_producer_data_shares.py | 4 +- .../redshift/get_service_account.py | 4 +- .../pulumi_aws/redshift/get_subnet_group.py | 4 +- .../redshiftserverless/get_credentials.py | 4 +- .../redshiftserverless/get_namespace.py | 4 +- .../redshiftserverless/get_workgroup.py | 4 +- .../pulumi_aws/resourceexplorer/search.py | 4 +- .../resourcegroupstaggingapi/get_resources.py | 4 +- .../pulumi_aws/route53/get_delegation_set.py | 4 +- .../route53/get_profiles_profiles.py | 4 +- .../route53/get_query_log_config.py | 4 +- .../route53/get_resolver_endpoint.py | 4 +- .../route53/get_resolver_firewall_config.py | 4 +- .../get_resolver_firewall_domain_list.py | 4 +- .../get_resolver_firewall_rule_group.py | 4 +- ...esolver_firewall_rule_group_association.py | 4 +- .../route53/get_resolver_firewall_rules.py | 4 +- .../pulumi_aws/route53/get_resolver_rule.py | 4 +- .../pulumi_aws/route53/get_resolver_rules.py | 4 +- .../route53/get_traffic_policy_document.py | 4 +- sdk/python/pulumi_aws/route53/get_zone.py | 4 +- sdk/python/pulumi_aws/route53/get_zones.py | 4 +- .../s3/get_account_public_access_block.py | 4 +- sdk/python/pulumi_aws/s3/get_bucket.py | 4 +- sdk/python/pulumi_aws/s3/get_bucket_object.py | 4 +- .../pulumi_aws/s3/get_bucket_objects.py | 4 +- sdk/python/pulumi_aws/s3/get_bucket_policy.py | 4 +- .../pulumi_aws/s3/get_canonical_user_id.py | 4 +- .../pulumi_aws/s3/get_directory_buckets.py | 4 +- sdk/python/pulumi_aws/s3/get_object.py | 4 +- sdk/python/pulumi_aws/s3/get_objects.py | 4 +- .../get_multi_region_access_point.py | 4 +- .../sagemaker/get_prebuilt_ecr_image.py | 4 +- .../secretsmanager/get_random_password.py | 4 +- .../pulumi_aws/secretsmanager/get_secret.py | 4 +- .../secretsmanager/get_secret_rotation.py | 4 +- .../secretsmanager/get_secret_version.py | 4 +- .../secretsmanager/get_secret_versions.py | 4 +- .../pulumi_aws/secretsmanager/get_secrets.py | 4 +- .../get_standards_control_associations.py | 4 +- .../serverlessrepository/get_application.py | 4 +- .../get_appregistry_application.py | 4 +- .../servicecatalog/get_constraint.py | 4 +- .../servicecatalog/get_launch_paths.py | 4 +- .../servicecatalog/get_portfolio.py | 4 +- .../get_portfolio_constraints.py | 4 +- .../pulumi_aws/servicecatalog/get_product.py | 4 +- .../get_provisioning_artifacts.py | 4 +- .../servicediscovery/get_dns_namespace.py | 4 +- .../servicediscovery/get_http_namespace.py | 4 +- .../servicediscovery/get_service.py | 4 +- .../pulumi_aws/servicequotas/get_service.py | 4 +- .../servicequotas/get_service_quota.py | 4 +- .../pulumi_aws/servicequotas/get_templates.py | 4 +- .../ses/get_active_receipt_rule_set.py | 4 +- .../pulumi_aws/ses/get_domain_identity.py | 4 +- .../pulumi_aws/ses/get_email_identity.py | 4 +- .../pulumi_aws/sesv2/get_configuration_set.py | 4 +- .../pulumi_aws/sesv2/get_dedicated_ip_pool.py | 4 +- .../pulumi_aws/sesv2/get_email_identity.py | 4 +- ...get_email_identity_mail_from_attributes.py | 4 +- sdk/python/pulumi_aws/sfn/get_activity.py | 4 +- sdk/python/pulumi_aws/sfn/get_alias.py | 4 +- .../pulumi_aws/sfn/get_state_machine.py | 4 +- .../sfn/get_state_machine_versions.py | 4 +- .../pulumi_aws/shield/get_protection.py | 4 +- .../pulumi_aws/signer/get_signing_job.py | 4 +- .../pulumi_aws/signer/get_signing_profile.py | 4 +- sdk/python/pulumi_aws/sns/get_topic.py | 4 +- sdk/python/pulumi_aws/sqs/get_queue.py | 4 +- sdk/python/pulumi_aws/sqs/get_queues.py | 4 +- .../pulumi_aws/ssm/get_contacts_rotation.py | 4 +- sdk/python/pulumi_aws/ssm/get_document.py | 4 +- sdk/python/pulumi_aws/ssm/get_instances.py | 4 +- .../pulumi_aws/ssm/get_maintenance_windows.py | 4 +- sdk/python/pulumi_aws/ssm/get_parameter.py | 4 +- .../pulumi_aws/ssm/get_parameters_by_path.py | 4 +- .../pulumi_aws/ssm/get_patch_baseline.py | 4 +- .../pulumi_aws/ssm/get_patch_baselines.py | 4 +- .../pulumi_aws/ssmcontacts/get_contact.py | 4 +- .../ssmcontacts/get_contact_channel.py | 4 +- sdk/python/pulumi_aws/ssmcontacts/get_plan.py | 4 +- .../ssmincidents/get_replication_set.py | 4 +- .../ssmincidents/get_response_plan.py | 4 +- .../pulumi_aws/ssoadmin/get_application.py | 4 +- .../ssoadmin/get_application_assignments.py | 4 +- .../ssoadmin/get_application_providers.py | 4 +- .../pulumi_aws/ssoadmin/get_instances.py | 4 +- .../pulumi_aws/ssoadmin/get_permission_set.py | 4 +- .../ssoadmin/get_permission_sets.py | 4 +- .../get_principal_application_assignments.py | 4 +- .../storagegateway/get_local_disk.py | 4 +- .../synthetics/get_runtime_version.py | 4 +- .../synthetics/get_runtime_versions.py | 4 +- .../timestreamwrite/get_database.py | 4 +- .../pulumi_aws/timestreamwrite/get_table.py | 4 +- .../pulumi_aws/transfer/get_connector.py | 4 +- sdk/python/pulumi_aws/transfer/get_server.py | 4 +- .../verifiedpermissions/get_policy_store.py | 4 +- .../pulumi_aws/vpc/get_security_group_rule.py | 4 +- .../vpc/get_security_group_rules.py | 4 +- .../pulumi_aws/vpclattice/get_auth_policy.py | 4 +- .../pulumi_aws/vpclattice/get_listener.py | 4 +- .../vpclattice/get_resource_policy.py | 4 +- .../pulumi_aws/vpclattice/get_service.py | 4 +- .../vpclattice/get_service_network.py | 4 +- sdk/python/pulumi_aws/waf/get_ipset.py | 4 +- .../pulumi_aws/waf/get_rate_based_rule.py | 4 +- sdk/python/pulumi_aws/waf/get_rule.py | 4 +- .../waf/get_subscribed_rule_group.py | 4 +- sdk/python/pulumi_aws/waf/get_web_acl.py | 4 +- .../pulumi_aws/wafregional/get_ipset.py | 4 +- .../wafregional/get_rate_based_mod.py | 4 +- sdk/python/pulumi_aws/wafregional/get_rule.py | 4 +- .../wafregional/get_subscribed_rule_group.py | 4 +- .../pulumi_aws/wafregional/get_web_acl.py | 4 +- sdk/python/pulumi_aws/wafv2/get_ip_set.py | 4 +- .../pulumi_aws/wafv2/get_regex_pattern_set.py | 4 +- sdk/python/pulumi_aws/wafv2/get_rule_group.py | 4 +- sdk/python/pulumi_aws/wafv2/get_web_acl.py | 4 +- .../pulumi_aws/workspaces/get_bundle.py | 4 +- .../pulumi_aws/workspaces/get_directory.py | 4 +- sdk/python/pulumi_aws/workspaces/get_image.py | 4 +- .../pulumi_aws/workspaces/get_workspace.py | 4 +- 1202 files changed, 2759 insertions(+), 2781 deletions(-) diff --git a/examples/go.mod b/examples/go.mod index ff8251fdb03..e27f0d75df2 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -8,8 +8,8 @@ require ( github.com/aws/aws-sdk-go-v2/service/iam v1.38.2 github.com/pulumi/providertest v0.1.3 github.com/pulumi/pulumi-aws/provider/v6 v6.0.0-00010101000000-000000000000 - github.com/pulumi/pulumi-terraform-bridge/v3 v3.97.0 - github.com/pulumi/pulumi/pkg/v3 v3.142.0 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.96.0 + github.com/pulumi/pulumi/pkg/v3 v3.140.0 github.com/stretchr/testify v1.9.0 ) @@ -451,9 +451,9 @@ require ( github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.10.0 // indirect github.com/pulumi/inflector v0.1.1 // indirect - github.com/pulumi/pulumi-java/pkg v0.18.0 // indirect - github.com/pulumi/pulumi-yaml v1.12.0 // indirect - github.com/pulumi/pulumi/sdk/v3 v3.142.0 // indirect + github.com/pulumi/pulumi-java/pkg v0.17.0 // indirect + github.com/pulumi/pulumi-yaml v1.11.2 // indirect + github.com/pulumi/pulumi/sdk/v3 v3.140.0 // indirect github.com/pulumi/schema-tools v0.1.2 // indirect github.com/pulumi/terraform-diff-reader v0.0.2 // indirect github.com/rivo/uniseg v0.4.4 // indirect diff --git a/examples/go.sum b/examples/go.sum index 5a7ad8b436a..1b4832e80fd 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -2454,16 +2454,16 @@ github.com/pulumi/inflector v0.1.1 h1:dvlxlWtXwOJTUUtcYDvwnl6Mpg33prhK+7mzeF+Sob github.com/pulumi/inflector v0.1.1/go.mod h1:HUFCjcPTz96YtTuUlwG3i3EZG4WlniBvR9bd+iJxCUY= github.com/pulumi/providertest v0.1.3 h1:GpNKRy/haNjRHiUA9bi4diU4Op2zf3axYXbga5AepHg= github.com/pulumi/providertest v0.1.3/go.mod h1:GcsqEGgSngwaNOD+kICJPIUQlnA911fGBU8HDlJvVL0= -github.com/pulumi/pulumi-java/pkg v0.18.0 h1:3PApc5YegH69n6oubB63mqI97pF+oQywWr7ii4082Mw= -github.com/pulumi/pulumi-java/pkg v0.18.0/go.mod h1:YKYYFEb3Jvzf/dDJo0xOeEkIfBAMkkkdhXulauvEjmc= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.97.0 h1:/Y/9hffZp2CFUfInVbv/9rWnZETiiOgKju1Ua512Ke8= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.97.0/go.mod h1:B/Auryr+yVUkLOMzgpFe7HLwKAtXc6YJwpAXfNGyLPk= -github.com/pulumi/pulumi-yaml v1.12.0 h1:ThJP+EBqeJyCnS6w6/PwcEFOT5o112qv0lObhefmFCk= -github.com/pulumi/pulumi-yaml v1.12.0/go.mod h1:EhZd1XDfuLa15O51qVVE16U6r8ldK9mLIBclqWCX27Y= -github.com/pulumi/pulumi/pkg/v3 v3.142.0 h1:UE8TFyXrlxvPrATpd3Kl3En34KrFIFWOxxNAodywPNU= -github.com/pulumi/pulumi/pkg/v3 v3.142.0/go.mod h1:3k6WwRIT7veiDnk3Yo2NtqEYX+4dgLCrMIFvEOnjQqI= -github.com/pulumi/pulumi/sdk/v3 v3.142.0 h1:SmcVddGuvwAh3g3XUVQQ5gVRQUKH1yZ6iETpDNHIHlw= -github.com/pulumi/pulumi/sdk/v3 v3.142.0/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= +github.com/pulumi/pulumi-java/pkg v0.17.0 h1:KmaVLrVmlkzShOfaJNJDlckorbFm8dM/C7L4hj6LX8U= +github.com/pulumi/pulumi-java/pkg v0.17.0/go.mod h1:ji4U4H7t81X4aaE88D9+z5CmKH/QoLwQi9N1iGl+2KQ= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.96.0 h1:uJB3tM1j+9SKeXLCAx3DBVHsYk4ddXNrVoiqpgXal2Q= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.96.0/go.mod h1:WnOTAfdtm5+kW3rIU0rLhxFSEHtJIMf19FdOU6NFXG0= +github.com/pulumi/pulumi-yaml v1.11.2 h1:MU7TTNbruGCSgNHhaBygjIbLWm3WSbd1q98GpMIgQzE= +github.com/pulumi/pulumi-yaml v1.11.2/go.mod h1:RdXRBupRGGAD1kbYNG1V1h6pyFnXisvQsl0AANvVjGI= +github.com/pulumi/pulumi/pkg/v3 v3.140.0 h1:/bvHa19HY/6qHWvuAOVII8qr72MDGGczBWlPYlPo3j0= +github.com/pulumi/pulumi/pkg/v3 v3.140.0/go.mod h1:rcTtSyisd7BzZTugNk/s9zlYgX9S0S10+pha3Tko6yM= +github.com/pulumi/pulumi/sdk/v3 v3.140.0 h1:+Z/RBvdYg7tBNkBwk4p/FzlV7niBT3TbLAICq/Y0LDU= +github.com/pulumi/pulumi/sdk/v3 v3.140.0/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQKpfZo= github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= diff --git a/provider/cmd/pulumi-resource-aws/schema.json b/provider/cmd/pulumi-resource-aws/schema.json index ad4b920bf9a..208847ef190 100644 --- a/provider/cmd/pulumi-resource-aws/schema.json +++ b/provider/cmd/pulumi-resource-aws/schema.json @@ -44657,7 +44657,7 @@ "properties": { "name": { "type": "string", - "description": "Name of the field to filter by, as defined by\n[the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVolumes.html).\nFor example, if matching against the `size` filter, use:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tenOrTwentyGbVolumes = aws.ebs.getEbsVolumes({\n filters: [{\n name: \"size\",\n values: [\n \"10\",\n \"20\",\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nten_or_twenty_gb_volumes = aws.ebs.get_ebs_volumes(filters=[{\n \"name\": \"size\",\n \"values\": [\n \"10\",\n \"20\",\n ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tenOrTwentyGbVolumes = Aws.Ebs.GetEbsVolumes.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ebs.Inputs.GetEbsVolumesFilterInputArgs\n {\n Name = \"size\",\n Values = new[]\n {\n \"10\",\n \"20\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\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 := ebs.GetEbsVolumes(ctx, \u0026ebs.GetEbsVolumesArgs{\n\t\t\tFilters: []ebs.GetEbsVolumesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"size\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"10\",\n\t\t\t\t\t\t\"20\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ebs.EbsFunctions;\nimport com.pulumi.aws.ebs.inputs.GetEbsVolumesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var tenOrTwentyGbVolumes = EbsFunctions.getEbsVolumes(GetEbsVolumesArgs.builder()\n .filters(GetEbsVolumesFilterArgs.builder()\n .name(\"size\")\n .values( \n \"10\",\n \"20\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n tenOrTwentyGbVolumes:\n fn::invoke:\n function: aws:ebs:getEbsVolumes\n arguments:\n filters:\n - name: size\n values:\n - '10'\n - '20'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" + "description": "Name of the field to filter by, as defined by\n[the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVolumes.html).\nFor example, if matching against the `size` filter, use:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tenOrTwentyGbVolumes = aws.ebs.getEbsVolumes({\n filters: [{\n name: \"size\",\n values: [\n \"10\",\n \"20\",\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nten_or_twenty_gb_volumes = aws.ebs.get_ebs_volumes(filters=[{\n \"name\": \"size\",\n \"values\": [\n \"10\",\n \"20\",\n ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tenOrTwentyGbVolumes = Aws.Ebs.GetEbsVolumes.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ebs.Inputs.GetEbsVolumesFilterInputArgs\n {\n Name = \"size\",\n Values = new[]\n {\n \"10\",\n \"20\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\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 := ebs.GetEbsVolumes(ctx, \u0026ebs.GetEbsVolumesArgs{\n\t\t\tFilters: []ebs.GetEbsVolumesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"size\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"10\",\n\t\t\t\t\t\t\"20\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ebs.EbsFunctions;\nimport com.pulumi.aws.ebs.inputs.GetEbsVolumesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var tenOrTwentyGbVolumes = EbsFunctions.getEbsVolumes(GetEbsVolumesArgs.builder()\n .filters(GetEbsVolumesFilterArgs.builder()\n .name(\"size\")\n .values( \n \"10\",\n \"20\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n tenOrTwentyGbVolumes:\n fn::invoke:\n Function: aws:ebs:getEbsVolumes\n Arguments:\n filters:\n - name: size\n values:\n - '10'\n - '20'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" }, "values": { "type": "array", @@ -59884,7 +59884,7 @@ "properties": { "name": { "type": "string", - "description": "Name of the field to filter by, as defined by\n[the underlying AWS API](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSubnets.html).\nFor example, if matching against tag `Name`, use:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.ec2.getSubnets({\n filters: [{\n name: \"tag:Name\",\n values: [\"\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.ec2.get_subnets(filters=[{\n \"name\": \"tag:Name\",\n \"values\": [\"\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.Ec2.GetSubnets.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSubnetsFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetSubnets(ctx, \u0026ec2.GetSubnetsArgs{\n\t\t\tFilters: []ec2.GetSubnetsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSubnetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = Ec2Functions.getSubnets(GetSubnetsArgs.builder()\n .filters(GetSubnetsFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n selected:\n fn::invoke:\n function: aws:ec2:getSubnets\n arguments:\n filters:\n - name: tag:Name\n values:\n - \"\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" + "description": "Name of the field to filter by, as defined by\n[the underlying AWS API](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSubnets.html).\nFor example, if matching against tag `Name`, use:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.ec2.getSubnets({\n filters: [{\n name: \"tag:Name\",\n values: [\"\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.ec2.get_subnets(filters=[{\n \"name\": \"tag:Name\",\n \"values\": [\"\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.Ec2.GetSubnets.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSubnetsFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetSubnets(ctx, \u0026ec2.GetSubnetsArgs{\n\t\t\tFilters: []ec2.GetSubnetsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSubnetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = Ec2Functions.getSubnets(GetSubnetsArgs.builder()\n .filters(GetSubnetsFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getSubnets\n Arguments:\n filters:\n - name: tag:Name\n values:\n -\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" }, "values": { "type": "array", @@ -113581,7 +113581,7 @@ "properties": { "name": { "type": "string", - "description": "Name of the field to filter by, as defined by\n[the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax).\nFor example, if filtering using `ProductSKU`, use:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.licensemanager.getLicenseGrants({\n filters: [{\n name: \"ProductSKU\",\n values: [\"\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.licensemanager.get_license_grants(filters=[{\n \"name\": \"ProductSKU\",\n \"values\": [\"\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.LicenseManager.GetLicenseGrants.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.LicenseManager.Inputs.GetLicenseGrantsFilterInputArgs\n {\n Name = \"ProductSKU\",\n Values = new[]\n {\n \"\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\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 := licensemanager.GetLicenseGrants(ctx, \u0026licensemanager.GetLicenseGrantsArgs{\n\t\t\tFilters: []licensemanager.GetLicenseGrantsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"ProductSKU\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.licensemanager.LicensemanagerFunctions;\nimport com.pulumi.aws.licensemanager.inputs.GetLicenseGrantsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = LicensemanagerFunctions.getLicenseGrants(GetLicenseGrantsArgs.builder()\n .filters(GetLicenseGrantsFilterArgs.builder()\n .name(\"ProductSKU\")\n .values(\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n selected:\n fn::invoke:\n function: aws:licensemanager:getLicenseGrants\n arguments:\n filters:\n - name: ProductSKU\n values:\n - \"\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" + "description": "Name of the field to filter by, as defined by\n[the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedGrants.html#API_ListReceivedGrants_RequestSyntax).\nFor example, if filtering using `ProductSKU`, use:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.licensemanager.getLicenseGrants({\n filters: [{\n name: \"ProductSKU\",\n values: [\"\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.licensemanager.get_license_grants(filters=[{\n \"name\": \"ProductSKU\",\n \"values\": [\"\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.LicenseManager.GetLicenseGrants.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.LicenseManager.Inputs.GetLicenseGrantsFilterInputArgs\n {\n Name = \"ProductSKU\",\n Values = new[]\n {\n \"\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\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 := licensemanager.GetLicenseGrants(ctx, \u0026licensemanager.GetLicenseGrantsArgs{\n\t\t\tFilters: []licensemanager.GetLicenseGrantsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"ProductSKU\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.licensemanager.LicensemanagerFunctions;\nimport com.pulumi.aws.licensemanager.inputs.GetLicenseGrantsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = LicensemanagerFunctions.getLicenseGrants(GetLicenseGrantsArgs.builder()\n .filters(GetLicenseGrantsFilterArgs.builder()\n .name(\"ProductSKU\")\n .values(\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n selected:\n fn::invoke:\n Function: aws:licensemanager:getLicenseGrants\n Arguments:\n filters:\n - name: ProductSKU\n values:\n -\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" }, "values": { "type": "array", @@ -113810,7 +113810,7 @@ "properties": { "name": { "type": "string", - "description": "Name of the field to filter by, as defined by\n[the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax).\nFor example, if filtering using `ProductSKU`, use:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.licensemanager.getReceivedLicenses({\n filters: [{\n name: \"ProductSKU\",\n values: [\"\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.licensemanager.get_received_licenses(filters=[{\n \"name\": \"ProductSKU\",\n \"values\": [\"\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.LicenseManager.GetReceivedLicenses.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.LicenseManager.Inputs.GetReceivedLicensesFilterInputArgs\n {\n Name = \"ProductSKU\",\n Values = new[]\n {\n \"\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\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 := licensemanager.GetReceivedLicenses(ctx, \u0026licensemanager.GetReceivedLicensesArgs{\n\t\t\tFilters: []licensemanager.GetReceivedLicensesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"ProductSKU\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.licensemanager.LicensemanagerFunctions;\nimport com.pulumi.aws.licensemanager.inputs.GetReceivedLicensesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = LicensemanagerFunctions.getReceivedLicenses(GetReceivedLicensesArgs.builder()\n .filters(GetReceivedLicensesFilterArgs.builder()\n .name(\"ProductSKU\")\n .values(\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n selected:\n fn::invoke:\n function: aws:licensemanager:getReceivedLicenses\n arguments:\n filters:\n - name: ProductSKU\n values:\n - \"\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" + "description": "Name of the field to filter by, as defined by\n[the underlying AWS API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ListReceivedLicenses.html#API_ListReceivedLicenses_RequestSyntax).\nFor example, if filtering using `ProductSKU`, use:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.licensemanager.getReceivedLicenses({\n filters: [{\n name: \"ProductSKU\",\n values: [\"\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.licensemanager.get_received_licenses(filters=[{\n \"name\": \"ProductSKU\",\n \"values\": [\"\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.LicenseManager.GetReceivedLicenses.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.LicenseManager.Inputs.GetReceivedLicensesFilterInputArgs\n {\n Name = \"ProductSKU\",\n Values = new[]\n {\n \"\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\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 := licensemanager.GetReceivedLicenses(ctx, \u0026licensemanager.GetReceivedLicensesArgs{\n\t\t\tFilters: []licensemanager.GetReceivedLicensesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"ProductSKU\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.licensemanager.LicensemanagerFunctions;\nimport com.pulumi.aws.licensemanager.inputs.GetReceivedLicensesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = LicensemanagerFunctions.getReceivedLicenses(GetReceivedLicensesArgs.builder()\n .filters(GetReceivedLicensesFilterArgs.builder()\n .name(\"ProductSKU\")\n .values(\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n selected:\n fn::invoke:\n Function: aws:licensemanager:getReceivedLicenses\n Arguments:\n filters:\n - name: ProductSKU\n values:\n -\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" }, "values": { "type": "array", @@ -171488,7 +171488,7 @@ }, "resources": { "aws:accessanalyzer/analyzer:Analyzer": { - "description": "Manages an Access Analyzer Analyzer. More information can be found in the [Access Analyzer User Guide](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html).\n\n## Example Usage\n\n### Account Analyzer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.accessanalyzer.Analyzer(\"example\", {analyzerName: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.accessanalyzer.Analyzer(\"example\", analyzer_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AccessAnalyzer.Analyzer(\"example\", new()\n {\n AnalyzerName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/accessanalyzer\"\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 := accessanalyzer.NewAnalyzer(ctx, \"example\", \u0026accessanalyzer.AnalyzerArgs{\n\t\t\tAnalyzerName: pulumi.String(\"example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.accessanalyzer.Analyzer;\nimport com.pulumi.aws.accessanalyzer.AnalyzerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Analyzer(\"example\", AnalyzerArgs.builder()\n .analyzerName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:accessanalyzer:Analyzer\n properties:\n analyzerName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Analyzer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {awsServiceAccessPrincipals: [\"access-analyzer.amazonaws.com\"]});\nconst exampleAnalyzer = new aws.accessanalyzer.Analyzer(\"example\", {\n analyzerName: \"example\",\n type: \"ORGANIZATION\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\", aws_service_access_principals=[\"access-analyzer.amazonaws.com\"])\nexample_analyzer = aws.accessanalyzer.Analyzer(\"example\",\n analyzer_name=\"example\",\n type=\"ORGANIZATION\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"access-analyzer.amazonaws.com\",\n },\n });\n\n var exampleAnalyzer = new Aws.AccessAnalyzer.Analyzer(\"example\", new()\n {\n AnalyzerName = \"example\",\n Type = \"ORGANIZATION\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/accessanalyzer\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"access-analyzer.amazonaws.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = accessanalyzer.NewAnalyzer(ctx, \"example\", \u0026accessanalyzer.AnalyzerArgs{\n\t\t\tAnalyzerName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"ORGANIZATION\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.accessanalyzer.Analyzer;\nimport com.pulumi.aws.accessanalyzer.AnalyzerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"access-analyzer.amazonaws.com\")\n .build());\n\n var exampleAnalyzer = new Analyzer(\"exampleAnalyzer\", AnalyzerArgs.builder()\n .analyzerName(\"example\")\n .type(\"ORGANIZATION\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - access-analyzer.amazonaws.com\n exampleAnalyzer:\n type: aws:accessanalyzer:Analyzer\n name: example\n properties:\n analyzerName: example\n type: ORGANIZATION\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Access Analyzer Analyzers using the `analyzer_name`. For example:\n\n```sh\n$ pulumi import aws:accessanalyzer/analyzer:Analyzer example example\n```\n", + "description": "Manages an Access Analyzer Analyzer. More information can be found in the [Access Analyzer User Guide](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html).\n\n## Example Usage\n\n### Account Analyzer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.accessanalyzer.Analyzer(\"example\", {analyzerName: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.accessanalyzer.Analyzer(\"example\", analyzer_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AccessAnalyzer.Analyzer(\"example\", new()\n {\n AnalyzerName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/accessanalyzer\"\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 := accessanalyzer.NewAnalyzer(ctx, \"example\", \u0026accessanalyzer.AnalyzerArgs{\n\t\t\tAnalyzerName: pulumi.String(\"example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.accessanalyzer.Analyzer;\nimport com.pulumi.aws.accessanalyzer.AnalyzerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Analyzer(\"example\", AnalyzerArgs.builder()\n .analyzerName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:accessanalyzer:Analyzer\n properties:\n analyzerName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Analyzer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {awsServiceAccessPrincipals: [\"access-analyzer.amazonaws.com\"]});\nconst exampleAnalyzer = new aws.accessanalyzer.Analyzer(\"example\", {\n analyzerName: \"example\",\n type: \"ORGANIZATION\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\", aws_service_access_principals=[\"access-analyzer.amazonaws.com\"])\nexample_analyzer = aws.accessanalyzer.Analyzer(\"example\",\n analyzer_name=\"example\",\n type=\"ORGANIZATION\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"access-analyzer.amazonaws.com\",\n },\n });\n\n var exampleAnalyzer = new Aws.AccessAnalyzer.Analyzer(\"example\", new()\n {\n AnalyzerName = \"example\",\n Type = \"ORGANIZATION\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/accessanalyzer\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"access-analyzer.amazonaws.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = accessanalyzer.NewAnalyzer(ctx, \"example\", \u0026accessanalyzer.AnalyzerArgs{\n\t\t\tAnalyzerName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"ORGANIZATION\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.accessanalyzer.Analyzer;\nimport com.pulumi.aws.accessanalyzer.AnalyzerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"access-analyzer.amazonaws.com\")\n .build());\n\n var exampleAnalyzer = new Analyzer(\"exampleAnalyzer\", AnalyzerArgs.builder()\n .analyzerName(\"example\")\n .type(\"ORGANIZATION\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - access-analyzer.amazonaws.com\n exampleAnalyzer:\n type: aws:accessanalyzer:Analyzer\n name: example\n properties:\n analyzerName: example\n type: ORGANIZATION\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Access Analyzer Analyzers using the `analyzer_name`. For example:\n\n```sh\n$ pulumi import aws:accessanalyzer/analyzer:Analyzer example example\n```\n", "properties": { "analyzerName": { "type": "string", @@ -172560,7 +172560,7 @@ } }, "aws:acmpca/certificateAuthority:CertificateAuthority": { - "description": "Provides a resource to manage AWS Certificate Manager Private Certificate Authorities (ACM PCA Certificate Authorities).\n\n\u003e **NOTE:** Creating this resource will leave the certificate authority in a `PENDING_CERTIFICATE` status, which means it cannot yet issue certificates. To complete this setup, you must fully sign the certificate authority CSR available in the `certificate_signing_request` attribute. The `aws.acmpca.CertificateAuthorityCertificate` resource can be used for this purpose.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acmpca.CertificateAuthority(\"example\", {\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n permanentDeletionTimeInDays: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.CertificateAuthority(\"example\",\n certificate_authority_configuration={\n \"key_algorithm\": \"RSA_4096\",\n \"signing_algorithm\": \"SHA512WITHRSA\",\n \"subject\": {\n \"common_name\": \"example.com\",\n },\n },\n permanent_deletion_time_in_days=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n PermanentDeletionTimeInDays = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\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 := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPermanentDeletionTimeInDays: pulumi.Int(7),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new CertificateAuthority(\"example\", CertificateAuthorityArgs.builder()\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .permanentDeletionTimeInDays(7)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthority\n properties:\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n permanentDeletionTimeInDays: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Short-lived certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acmpca.CertificateAuthority(\"example\", {\n usageMode: \"SHORT_LIVED_CERTIFICATE\",\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.CertificateAuthority(\"example\",\n usage_mode=\"SHORT_LIVED_CERTIFICATE\",\n certificate_authority_configuration={\n \"key_algorithm\": \"RSA_4096\",\n \"signing_algorithm\": \"SHA512WITHRSA\",\n \"subject\": {\n \"common_name\": \"example.com\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n UsageMode = \"SHORT_LIVED_CERTIFICATE\",\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\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 := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tUsageMode: pulumi.String(\"SHORT_LIVED_CERTIFICATE\"),\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new CertificateAuthority(\"example\", CertificateAuthorityArgs.builder()\n .usageMode(\"SHORT_LIVED_CERTIFICATE\")\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthority\n properties:\n usageMode: SHORT_LIVED_CERTIFICATE\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Certificate Revocation List\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {\n bucket: \"example\",\n forceDestroy: true,\n});\nconst acmpcaBucketAccess = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\",\n ],\n resources: [\n example.arn,\n pulumi.interpolate`${example.arn}/*`,\n ],\n principals: [{\n identifiers: [\"acm-pca.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst exampleBucketPolicy = new aws.s3.BucketPolicy(\"example\", {\n bucket: example.id,\n policy: acmpcaBucketAccess.apply(acmpcaBucketAccess =\u003e acmpcaBucketAccess.json),\n});\nconst exampleCertificateAuthority = new aws.acmpca.CertificateAuthority(\"example\", {\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n revocationConfiguration: {\n crlConfiguration: {\n customCname: \"crl.example.com\",\n enabled: true,\n expirationInDays: 7,\n s3BucketName: example.id,\n s3ObjectAcl: \"BUCKET_OWNER_FULL_CONTROL\",\n },\n },\n}, {\n dependsOn: [exampleBucketPolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\",\n bucket=\"example\",\n force_destroy=True)\nacmpca_bucket_access = aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\",\n ],\n \"resources\": [\n example.arn,\n example.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n \"principals\": [{\n \"identifiers\": [\"acm-pca.amazonaws.com\"],\n \"type\": \"Service\",\n }],\n}])\nexample_bucket_policy = aws.s3.BucketPolicy(\"example\",\n bucket=example.id,\n policy=acmpca_bucket_access.json)\nexample_certificate_authority = aws.acmpca.CertificateAuthority(\"example\",\n certificate_authority_configuration={\n \"key_algorithm\": \"RSA_4096\",\n \"signing_algorithm\": \"SHA512WITHRSA\",\n \"subject\": {\n \"common_name\": \"example.com\",\n },\n },\n revocation_configuration={\n \"crl_configuration\": {\n \"custom_cname\": \"crl.example.com\",\n \"enabled\": True,\n \"expiration_in_days\": 7,\n \"s3_bucket_name\": example.id,\n \"s3_object_acl\": \"BUCKET_OWNER_FULL_CONTROL\",\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_bucket_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n ForceDestroy = true,\n });\n\n var acmpcaBucketAccess = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\",\n },\n Resources = new[]\n {\n example.Arn,\n $\"{example.Arn}/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"acm-pca.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var exampleBucketPolicy = new Aws.S3.BucketPolicy(\"example\", new()\n {\n Bucket = example.Id,\n Policy = acmpcaBucketAccess.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleCertificateAuthority = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n RevocationConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityRevocationConfigurationArgs\n {\n CrlConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs\n {\n CustomCname = \"crl.example.com\",\n Enabled = true,\n ExpirationInDays = 7,\n S3BucketName = example.Id,\n S3ObjectAcl = \"BUCKET_OWNER_FULL_CONTROL\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tacmpcaBucketAccess := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketAcl\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketLocation\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObjectAcl\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn,\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"acm-pca.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\texampleBucketPolicy, err := s3.NewBucketPolicy(ctx, \"example\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tPolicy: pulumi.String(acmpcaBucketAccess.ApplyT(func(acmpcaBucketAccess iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026acmpcaBucketAccess.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRevocationConfiguration: \u0026acmpca.CertificateAuthorityRevocationConfigurationArgs{\n\t\t\t\tCrlConfiguration: \u0026acmpca.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs{\n\t\t\t\t\tCustomCname: pulumi.String(\"crl.example.com\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpirationInDays: pulumi.Int(7),\n\t\t\t\t\tS3BucketName: example.ID(),\n\t\t\t\t\tS3ObjectAcl: pulumi.String(\"BUCKET_OWNER_FULL_CONTROL\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketPolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityRevocationConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .forceDestroy(true)\n .build());\n\n final var acmpcaBucketAccess = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\")\n .resources( \n example.arn(),\n example.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"acm-pca.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var exampleBucketPolicy = new BucketPolicy(\"exampleBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(example.id())\n .policy(acmpcaBucketAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(acmpcaBucketAccess -\u003e acmpcaBucketAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleCertificateAuthority = new CertificateAuthority(\"exampleCertificateAuthority\", CertificateAuthorityArgs.builder()\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .revocationConfiguration(CertificateAuthorityRevocationConfigurationArgs.builder()\n .crlConfiguration(CertificateAuthorityRevocationConfigurationCrlConfigurationArgs.builder()\n .customCname(\"crl.example.com\")\n .enabled(true)\n .expirationInDays(7)\n .s3BucketName(example.id())\n .s3ObjectAcl(\"BUCKET_OWNER_FULL_CONTROL\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n forceDestroy: true\n exampleBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example\n properties:\n bucket: ${example.id}\n policy: ${acmpcaBucketAccess.json}\n exampleCertificateAuthority:\n type: aws:acmpca:CertificateAuthority\n name: example\n properties:\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n revocationConfiguration:\n crlConfiguration:\n customCname: crl.example.com\n enabled: true\n expirationInDays: 7\n s3BucketName: ${example.id}\n s3ObjectAcl: BUCKET_OWNER_FULL_CONTROL\n options:\n dependsOn:\n - ${exampleBucketPolicy}\nvariables:\n acmpcaBucketAccess:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - s3:GetBucketAcl\n - s3:GetBucketLocation\n - s3:PutObject\n - s3:PutObjectAcl\n resources:\n - ${example.arn}\n - ${example.arn}/*\n principals:\n - identifiers:\n - acm-pca.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_acmpca_certificate_authority` using the certificate authority ARN. For example:\n\n```sh\n$ pulumi import aws:acmpca/certificateAuthority:CertificateAuthority example arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\n```\n", + "description": "Provides a resource to manage AWS Certificate Manager Private Certificate Authorities (ACM PCA Certificate Authorities).\n\n\u003e **NOTE:** Creating this resource will leave the certificate authority in a `PENDING_CERTIFICATE` status, which means it cannot yet issue certificates. To complete this setup, you must fully sign the certificate authority CSR available in the `certificate_signing_request` attribute. The `aws.acmpca.CertificateAuthorityCertificate` resource can be used for this purpose.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acmpca.CertificateAuthority(\"example\", {\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n permanentDeletionTimeInDays: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.CertificateAuthority(\"example\",\n certificate_authority_configuration={\n \"key_algorithm\": \"RSA_4096\",\n \"signing_algorithm\": \"SHA512WITHRSA\",\n \"subject\": {\n \"common_name\": \"example.com\",\n },\n },\n permanent_deletion_time_in_days=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n PermanentDeletionTimeInDays = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\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 := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPermanentDeletionTimeInDays: pulumi.Int(7),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new CertificateAuthority(\"example\", CertificateAuthorityArgs.builder()\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .permanentDeletionTimeInDays(7)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthority\n properties:\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n permanentDeletionTimeInDays: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Short-lived certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acmpca.CertificateAuthority(\"example\", {\n usageMode: \"SHORT_LIVED_CERTIFICATE\",\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.CertificateAuthority(\"example\",\n usage_mode=\"SHORT_LIVED_CERTIFICATE\",\n certificate_authority_configuration={\n \"key_algorithm\": \"RSA_4096\",\n \"signing_algorithm\": \"SHA512WITHRSA\",\n \"subject\": {\n \"common_name\": \"example.com\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n UsageMode = \"SHORT_LIVED_CERTIFICATE\",\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\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 := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tUsageMode: pulumi.String(\"SHORT_LIVED_CERTIFICATE\"),\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new CertificateAuthority(\"example\", CertificateAuthorityArgs.builder()\n .usageMode(\"SHORT_LIVED_CERTIFICATE\")\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthority\n properties:\n usageMode: SHORT_LIVED_CERTIFICATE\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Certificate Revocation List\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {\n bucket: \"example\",\n forceDestroy: true,\n});\nconst acmpcaBucketAccess = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\",\n ],\n resources: [\n example.arn,\n pulumi.interpolate`${example.arn}/*`,\n ],\n principals: [{\n identifiers: [\"acm-pca.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst exampleBucketPolicy = new aws.s3.BucketPolicy(\"example\", {\n bucket: example.id,\n policy: acmpcaBucketAccess.apply(acmpcaBucketAccess =\u003e acmpcaBucketAccess.json),\n});\nconst exampleCertificateAuthority = new aws.acmpca.CertificateAuthority(\"example\", {\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n revocationConfiguration: {\n crlConfiguration: {\n customCname: \"crl.example.com\",\n enabled: true,\n expirationInDays: 7,\n s3BucketName: example.id,\n s3ObjectAcl: \"BUCKET_OWNER_FULL_CONTROL\",\n },\n },\n}, {\n dependsOn: [exampleBucketPolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\",\n bucket=\"example\",\n force_destroy=True)\nacmpca_bucket_access = aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\",\n ],\n \"resources\": [\n example.arn,\n example.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n \"principals\": [{\n \"identifiers\": [\"acm-pca.amazonaws.com\"],\n \"type\": \"Service\",\n }],\n}])\nexample_bucket_policy = aws.s3.BucketPolicy(\"example\",\n bucket=example.id,\n policy=acmpca_bucket_access.json)\nexample_certificate_authority = aws.acmpca.CertificateAuthority(\"example\",\n certificate_authority_configuration={\n \"key_algorithm\": \"RSA_4096\",\n \"signing_algorithm\": \"SHA512WITHRSA\",\n \"subject\": {\n \"common_name\": \"example.com\",\n },\n },\n revocation_configuration={\n \"crl_configuration\": {\n \"custom_cname\": \"crl.example.com\",\n \"enabled\": True,\n \"expiration_in_days\": 7,\n \"s3_bucket_name\": example.id,\n \"s3_object_acl\": \"BUCKET_OWNER_FULL_CONTROL\",\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_bucket_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n ForceDestroy = true,\n });\n\n var acmpcaBucketAccess = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\",\n },\n Resources = new[]\n {\n example.Arn,\n $\"{example.Arn}/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"acm-pca.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var exampleBucketPolicy = new Aws.S3.BucketPolicy(\"example\", new()\n {\n Bucket = example.Id,\n Policy = acmpcaBucketAccess.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleCertificateAuthority = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n RevocationConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityRevocationConfigurationArgs\n {\n CrlConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs\n {\n CustomCname = \"crl.example.com\",\n Enabled = true,\n ExpirationInDays = 7,\n S3BucketName = example.Id,\n S3ObjectAcl = \"BUCKET_OWNER_FULL_CONTROL\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tacmpcaBucketAccess := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketAcl\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketLocation\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObjectAcl\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn,\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"acm-pca.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\texampleBucketPolicy, err := s3.NewBucketPolicy(ctx, \"example\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tPolicy: pulumi.String(acmpcaBucketAccess.ApplyT(func(acmpcaBucketAccess iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026acmpcaBucketAccess.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRevocationConfiguration: \u0026acmpca.CertificateAuthorityRevocationConfigurationArgs{\n\t\t\t\tCrlConfiguration: \u0026acmpca.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs{\n\t\t\t\t\tCustomCname: pulumi.String(\"crl.example.com\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpirationInDays: pulumi.Int(7),\n\t\t\t\t\tS3BucketName: example.ID(),\n\t\t\t\t\tS3ObjectAcl: pulumi.String(\"BUCKET_OWNER_FULL_CONTROL\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketPolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityRevocationConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .forceDestroy(true)\n .build());\n\n final var acmpcaBucketAccess = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\")\n .resources( \n example.arn(),\n example.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"acm-pca.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var exampleBucketPolicy = new BucketPolicy(\"exampleBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(example.id())\n .policy(acmpcaBucketAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(acmpcaBucketAccess -\u003e acmpcaBucketAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleCertificateAuthority = new CertificateAuthority(\"exampleCertificateAuthority\", CertificateAuthorityArgs.builder()\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .revocationConfiguration(CertificateAuthorityRevocationConfigurationArgs.builder()\n .crlConfiguration(CertificateAuthorityRevocationConfigurationCrlConfigurationArgs.builder()\n .customCname(\"crl.example.com\")\n .enabled(true)\n .expirationInDays(7)\n .s3BucketName(example.id())\n .s3ObjectAcl(\"BUCKET_OWNER_FULL_CONTROL\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n forceDestroy: true\n exampleBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example\n properties:\n bucket: ${example.id}\n policy: ${acmpcaBucketAccess.json}\n exampleCertificateAuthority:\n type: aws:acmpca:CertificateAuthority\n name: example\n properties:\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n revocationConfiguration:\n crlConfiguration:\n customCname: crl.example.com\n enabled: true\n expirationInDays: 7\n s3BucketName: ${example.id}\n s3ObjectAcl: BUCKET_OWNER_FULL_CONTROL\n options:\n dependson:\n - ${exampleBucketPolicy}\nvariables:\n acmpcaBucketAccess:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - s3:GetBucketAcl\n - s3:GetBucketLocation\n - s3:PutObject\n - s3:PutObjectAcl\n resources:\n - ${example.arn}\n - ${example.arn}/*\n principals:\n - identifiers:\n - acm-pca.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_acmpca_certificate_authority` using the certificate authority ARN. For example:\n\n```sh\n$ pulumi import aws:acmpca/certificateAuthority:CertificateAuthority example arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\n```\n", "properties": { "arn": { "type": "string", @@ -172770,7 +172770,7 @@ } }, "aws:acmpca/certificateAuthorityCertificate:CertificateAuthorityCertificate": { - "description": "Associates a certificate with an AWS Certificate Manager Private Certificate Authority (ACM PCA Certificate Authority). An ACM PCA Certificate Authority is unable to issue certificates until it has a certificate associated with it. A root level ACM PCA Certificate Authority is able to self-sign its own root certificate.\n\n## Example Usage\n\n### Self-Signed Root Certificate Authority Certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCertificateAuthority = new aws.acmpca.CertificateAuthority(\"example\", {\n type: \"ROOT\",\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n});\nconst current = aws.getPartition({});\nconst exampleCertificate = new aws.acmpca.Certificate(\"example\", {\n certificateAuthorityArn: exampleCertificateAuthority.arn,\n certificateSigningRequest: exampleCertificateAuthority.certificateSigningRequest,\n signingAlgorithm: \"SHA512WITHRSA\",\n templateArn: current.then(current =\u003e `arn:${current.partition}:acm-pca:::template/RootCACertificate/V1`),\n validity: {\n type: \"YEARS\",\n value: \"1\",\n },\n});\nconst example = new aws.acmpca.CertificateAuthorityCertificate(\"example\", {\n certificateAuthorityArn: exampleCertificateAuthority.arn,\n certificate: exampleCertificate.certificate,\n certificateChain: exampleCertificate.certificateChain,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_certificate_authority = aws.acmpca.CertificateAuthority(\"example\",\n type=\"ROOT\",\n certificate_authority_configuration={\n \"key_algorithm\": \"RSA_4096\",\n \"signing_algorithm\": \"SHA512WITHRSA\",\n \"subject\": {\n \"common_name\": \"example.com\",\n },\n })\ncurrent = aws.get_partition()\nexample_certificate = aws.acmpca.Certificate(\"example\",\n certificate_authority_arn=example_certificate_authority.arn,\n certificate_signing_request=example_certificate_authority.certificate_signing_request,\n signing_algorithm=\"SHA512WITHRSA\",\n template_arn=f\"arn:{current.partition}:acm-pca:::template/RootCACertificate/V1\",\n validity={\n \"type\": \"YEARS\",\n \"value\": \"1\",\n })\nexample = aws.acmpca.CertificateAuthorityCertificate(\"example\",\n certificate_authority_arn=example_certificate_authority.arn,\n certificate=example_certificate.certificate,\n certificate_chain=example_certificate.certificate_chain)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCertificateAuthority = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n Type = \"ROOT\",\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var exampleCertificate = new Aws.Acmpca.Certificate(\"example\", new()\n {\n CertificateAuthorityArn = exampleCertificateAuthority.Arn,\n CertificateSigningRequest = exampleCertificateAuthority.CertificateSigningRequest,\n SigningAlgorithm = \"SHA512WITHRSA\",\n TemplateArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:acm-pca:::template/RootCACertificate/V1\",\n Validity = new Aws.Acmpca.Inputs.CertificateValidityArgs\n {\n Type = \"YEARS\",\n Value = \"1\",\n },\n });\n\n var example = new Aws.Acmpca.CertificateAuthorityCertificate(\"example\", new()\n {\n CertificateAuthorityArn = exampleCertificateAuthority.Arn,\n Certificate = exampleCertificate.Certificate,\n CertificateChain = exampleCertificate.CertificateChain,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCertificateAuthority, err := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tType: pulumi.String(\"ROOT\"),\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\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\tcurrent, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := acmpca.NewCertificate(ctx, \"example\", \u0026acmpca.CertificateArgs{\n\t\t\tCertificateAuthorityArn: exampleCertificateAuthority.Arn,\n\t\t\tCertificateSigningRequest: exampleCertificateAuthority.CertificateSigningRequest,\n\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\tTemplateArn: pulumi.Sprintf(\"arn:%v:acm-pca:::template/RootCACertificate/V1\", current.Partition),\n\t\t\tValidity: \u0026acmpca.CertificateValidityArgs{\n\t\t\t\tType: pulumi.String(\"YEARS\"),\n\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificateAuthorityCertificate(ctx, \"example\", \u0026acmpca.CertificateAuthorityCertificateArgs{\n\t\t\tCertificateAuthorityArn: exampleCertificateAuthority.Arn,\n\t\t\tCertificate: exampleCertificate.Certificate,\n\t\t\tCertificateChain: exampleCertificate.CertificateChain,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.acmpca.Certificate;\nimport com.pulumi.aws.acmpca.CertificateArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateValidityArgs;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificate;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleCertificateAuthority = new CertificateAuthority(\"exampleCertificateAuthority\", CertificateAuthorityArgs.builder()\n .type(\"ROOT\")\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n .certificateAuthorityArn(exampleCertificateAuthority.arn())\n .certificateSigningRequest(exampleCertificateAuthority.certificateSigningRequest())\n .signingAlgorithm(\"SHA512WITHRSA\")\n .templateArn(String.format(\"arn:%s:acm-pca:::template/RootCACertificate/V1\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .validity(CertificateValidityArgs.builder()\n .type(\"YEARS\")\n .value(1)\n .build())\n .build());\n\n var example = new CertificateAuthorityCertificate(\"example\", CertificateAuthorityCertificateArgs.builder()\n .certificateAuthorityArn(exampleCertificateAuthority.arn())\n .certificate(exampleCertificate.certificate())\n .certificateChain(exampleCertificate.certificateChain())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthorityCertificate\n properties:\n certificateAuthorityArn: ${exampleCertificateAuthority.arn}\n certificate: ${exampleCertificate.certificate}\n certificateChain: ${exampleCertificate.certificateChain}\n exampleCertificate:\n type: aws:acmpca:Certificate\n name: example\n properties:\n certificateAuthorityArn: ${exampleCertificateAuthority.arn}\n certificateSigningRequest: ${exampleCertificateAuthority.certificateSigningRequest}\n signingAlgorithm: SHA512WITHRSA\n templateArn: arn:${current.partition}:acm-pca:::template/RootCACertificate/V1\n validity:\n type: YEARS\n value: 1\n exampleCertificateAuthority:\n type: aws:acmpca:CertificateAuthority\n name: example\n properties:\n type: ROOT\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\nvariables:\n current:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Certificate for Subordinate Certificate Authority\n\nNote that the certificate for the subordinate certificate authority must be issued by the root certificate authority using a signing request from the subordinate certificate authority.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst subordinateCertificateAuthority = new aws.acmpca.CertificateAuthority(\"subordinate\", {\n type: \"SUBORDINATE\",\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_2048\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"sub.example.com\",\n },\n },\n});\nconst root = new aws.acmpca.CertificateAuthority(\"root\", {});\nconst current = aws.getPartition({});\nconst subordinateCertificate = new aws.acmpca.Certificate(\"subordinate\", {\n certificateAuthorityArn: root.arn,\n certificateSigningRequest: subordinateCertificateAuthority.certificateSigningRequest,\n signingAlgorithm: \"SHA512WITHRSA\",\n templateArn: current.then(current =\u003e `arn:${current.partition}:acm-pca:::template/SubordinateCACertificate_PathLen0/V1`),\n validity: {\n type: \"YEARS\",\n value: \"1\",\n },\n});\nconst subordinate = new aws.acmpca.CertificateAuthorityCertificate(\"subordinate\", {\n certificateAuthorityArn: subordinateCertificateAuthority.arn,\n certificate: subordinateCertificate.certificate,\n certificateChain: subordinateCertificate.certificateChain,\n});\nconst rootCertificateAuthorityCertificate = new aws.acmpca.CertificateAuthorityCertificate(\"root\", {});\nconst rootCertificate = new aws.acmpca.Certificate(\"root\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsubordinate_certificate_authority = aws.acmpca.CertificateAuthority(\"subordinate\",\n type=\"SUBORDINATE\",\n certificate_authority_configuration={\n \"key_algorithm\": \"RSA_2048\",\n \"signing_algorithm\": \"SHA512WITHRSA\",\n \"subject\": {\n \"common_name\": \"sub.example.com\",\n },\n })\nroot = aws.acmpca.CertificateAuthority(\"root\")\ncurrent = aws.get_partition()\nsubordinate_certificate = aws.acmpca.Certificate(\"subordinate\",\n certificate_authority_arn=root.arn,\n certificate_signing_request=subordinate_certificate_authority.certificate_signing_request,\n signing_algorithm=\"SHA512WITHRSA\",\n template_arn=f\"arn:{current.partition}:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\",\n validity={\n \"type\": \"YEARS\",\n \"value\": \"1\",\n })\nsubordinate = aws.acmpca.CertificateAuthorityCertificate(\"subordinate\",\n certificate_authority_arn=subordinate_certificate_authority.arn,\n certificate=subordinate_certificate.certificate,\n certificate_chain=subordinate_certificate.certificate_chain)\nroot_certificate_authority_certificate = aws.acmpca.CertificateAuthorityCertificate(\"root\")\nroot_certificate = aws.acmpca.Certificate(\"root\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subordinateCertificateAuthority = new Aws.Acmpca.CertificateAuthority(\"subordinate\", new()\n {\n Type = \"SUBORDINATE\",\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_2048\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"sub.example.com\",\n },\n },\n });\n\n var root = new Aws.Acmpca.CertificateAuthority(\"root\");\n\n var current = Aws.GetPartition.Invoke();\n\n var subordinateCertificate = new Aws.Acmpca.Certificate(\"subordinate\", new()\n {\n CertificateAuthorityArn = root.Arn,\n CertificateSigningRequest = subordinateCertificateAuthority.CertificateSigningRequest,\n SigningAlgorithm = \"SHA512WITHRSA\",\n TemplateArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\",\n Validity = new Aws.Acmpca.Inputs.CertificateValidityArgs\n {\n Type = \"YEARS\",\n Value = \"1\",\n },\n });\n\n var subordinate = new Aws.Acmpca.CertificateAuthorityCertificate(\"subordinate\", new()\n {\n CertificateAuthorityArn = subordinateCertificateAuthority.Arn,\n Certificate = subordinateCertificate.Certificate,\n CertificateChain = subordinateCertificate.CertificateChain,\n });\n\n var rootCertificateAuthorityCertificate = new Aws.Acmpca.CertificateAuthorityCertificate(\"root\");\n\n var rootCertificate = new Aws.Acmpca.Certificate(\"root\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsubordinateCertificateAuthority, err := acmpca.NewCertificateAuthority(ctx, \"subordinate\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tType: pulumi.String(\"SUBORDINATE\"),\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_2048\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"sub.example.com\"),\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\troot, err := acmpca.NewCertificateAuthority(ctx, \"root\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubordinateCertificate, err := acmpca.NewCertificate(ctx, \"subordinate\", \u0026acmpca.CertificateArgs{\n\t\t\tCertificateAuthorityArn: root.Arn,\n\t\t\tCertificateSigningRequest: subordinateCertificateAuthority.CertificateSigningRequest,\n\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\tTemplateArn: pulumi.Sprintf(\"arn:%v:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\", current.Partition),\n\t\t\tValidity: \u0026acmpca.CertificateValidityArgs{\n\t\t\t\tType: pulumi.String(\"YEARS\"),\n\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificateAuthorityCertificate(ctx, \"subordinate\", \u0026acmpca.CertificateAuthorityCertificateArgs{\n\t\t\tCertificateAuthorityArn: subordinateCertificateAuthority.Arn,\n\t\t\tCertificate: subordinateCertificate.Certificate,\n\t\t\tCertificateChain: subordinateCertificate.CertificateChain,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificateAuthorityCertificate(ctx, \"root\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificate(ctx, \"root\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.acmpca.Certificate;\nimport com.pulumi.aws.acmpca.CertificateArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateValidityArgs;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificate;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var subordinateCertificateAuthority = new CertificateAuthority(\"subordinateCertificateAuthority\", CertificateAuthorityArgs.builder()\n .type(\"SUBORDINATE\")\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_2048\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"sub.example.com\")\n .build())\n .build())\n .build());\n\n var root = new CertificateAuthority(\"root\");\n\n final var current = AwsFunctions.getPartition();\n\n var subordinateCertificate = new Certificate(\"subordinateCertificate\", CertificateArgs.builder()\n .certificateAuthorityArn(root.arn())\n .certificateSigningRequest(subordinateCertificateAuthority.certificateSigningRequest())\n .signingAlgorithm(\"SHA512WITHRSA\")\n .templateArn(String.format(\"arn:%s:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .validity(CertificateValidityArgs.builder()\n .type(\"YEARS\")\n .value(1)\n .build())\n .build());\n\n var subordinate = new CertificateAuthorityCertificate(\"subordinate\", CertificateAuthorityCertificateArgs.builder()\n .certificateAuthorityArn(subordinateCertificateAuthority.arn())\n .certificate(subordinateCertificate.certificate())\n .certificateChain(subordinateCertificate.certificateChain())\n .build());\n\n var rootCertificateAuthorityCertificate = new CertificateAuthorityCertificate(\"rootCertificateAuthorityCertificate\");\n\n var rootCertificate = new Certificate(\"rootCertificate\");\n\n }\n}\n```\n```yaml\nresources:\n subordinate:\n type: aws:acmpca:CertificateAuthorityCertificate\n properties:\n certificateAuthorityArn: ${subordinateCertificateAuthority.arn}\n certificate: ${subordinateCertificate.certificate}\n certificateChain: ${subordinateCertificate.certificateChain}\n subordinateCertificate:\n type: aws:acmpca:Certificate\n name: subordinate\n properties:\n certificateAuthorityArn: ${root.arn}\n certificateSigningRequest: ${subordinateCertificateAuthority.certificateSigningRequest}\n signingAlgorithm: SHA512WITHRSA\n templateArn: arn:${current.partition}:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\n validity:\n type: YEARS\n value: 1\n subordinateCertificateAuthority:\n type: aws:acmpca:CertificateAuthority\n name: subordinate\n properties:\n type: SUBORDINATE\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_2048\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: sub.example.com\n root:\n type: aws:acmpca:CertificateAuthority\n rootCertificateAuthorityCertificate:\n type: aws:acmpca:CertificateAuthorityCertificate\n name: root\n rootCertificate:\n type: aws:acmpca:Certificate\n name: root\nvariables:\n current:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Associates a certificate with an AWS Certificate Manager Private Certificate Authority (ACM PCA Certificate Authority). An ACM PCA Certificate Authority is unable to issue certificates until it has a certificate associated with it. A root level ACM PCA Certificate Authority is able to self-sign its own root certificate.\n\n## Example Usage\n\n### Self-Signed Root Certificate Authority Certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCertificateAuthority = new aws.acmpca.CertificateAuthority(\"example\", {\n type: \"ROOT\",\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n});\nconst current = aws.getPartition({});\nconst exampleCertificate = new aws.acmpca.Certificate(\"example\", {\n certificateAuthorityArn: exampleCertificateAuthority.arn,\n certificateSigningRequest: exampleCertificateAuthority.certificateSigningRequest,\n signingAlgorithm: \"SHA512WITHRSA\",\n templateArn: current.then(current =\u003e `arn:${current.partition}:acm-pca:::template/RootCACertificate/V1`),\n validity: {\n type: \"YEARS\",\n value: \"1\",\n },\n});\nconst example = new aws.acmpca.CertificateAuthorityCertificate(\"example\", {\n certificateAuthorityArn: exampleCertificateAuthority.arn,\n certificate: exampleCertificate.certificate,\n certificateChain: exampleCertificate.certificateChain,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_certificate_authority = aws.acmpca.CertificateAuthority(\"example\",\n type=\"ROOT\",\n certificate_authority_configuration={\n \"key_algorithm\": \"RSA_4096\",\n \"signing_algorithm\": \"SHA512WITHRSA\",\n \"subject\": {\n \"common_name\": \"example.com\",\n },\n })\ncurrent = aws.get_partition()\nexample_certificate = aws.acmpca.Certificate(\"example\",\n certificate_authority_arn=example_certificate_authority.arn,\n certificate_signing_request=example_certificate_authority.certificate_signing_request,\n signing_algorithm=\"SHA512WITHRSA\",\n template_arn=f\"arn:{current.partition}:acm-pca:::template/RootCACertificate/V1\",\n validity={\n \"type\": \"YEARS\",\n \"value\": \"1\",\n })\nexample = aws.acmpca.CertificateAuthorityCertificate(\"example\",\n certificate_authority_arn=example_certificate_authority.arn,\n certificate=example_certificate.certificate,\n certificate_chain=example_certificate.certificate_chain)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCertificateAuthority = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n Type = \"ROOT\",\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var exampleCertificate = new Aws.Acmpca.Certificate(\"example\", new()\n {\n CertificateAuthorityArn = exampleCertificateAuthority.Arn,\n CertificateSigningRequest = exampleCertificateAuthority.CertificateSigningRequest,\n SigningAlgorithm = \"SHA512WITHRSA\",\n TemplateArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:acm-pca:::template/RootCACertificate/V1\",\n Validity = new Aws.Acmpca.Inputs.CertificateValidityArgs\n {\n Type = \"YEARS\",\n Value = \"1\",\n },\n });\n\n var example = new Aws.Acmpca.CertificateAuthorityCertificate(\"example\", new()\n {\n CertificateAuthorityArn = exampleCertificateAuthority.Arn,\n Certificate = exampleCertificate.Certificate,\n CertificateChain = exampleCertificate.CertificateChain,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCertificateAuthority, err := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tType: pulumi.String(\"ROOT\"),\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\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\tcurrent, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := acmpca.NewCertificate(ctx, \"example\", \u0026acmpca.CertificateArgs{\n\t\t\tCertificateAuthorityArn: exampleCertificateAuthority.Arn,\n\t\t\tCertificateSigningRequest: exampleCertificateAuthority.CertificateSigningRequest,\n\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\tTemplateArn: pulumi.Sprintf(\"arn:%v:acm-pca:::template/RootCACertificate/V1\", current.Partition),\n\t\t\tValidity: \u0026acmpca.CertificateValidityArgs{\n\t\t\t\tType: pulumi.String(\"YEARS\"),\n\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificateAuthorityCertificate(ctx, \"example\", \u0026acmpca.CertificateAuthorityCertificateArgs{\n\t\t\tCertificateAuthorityArn: exampleCertificateAuthority.Arn,\n\t\t\tCertificate: exampleCertificate.Certificate,\n\t\t\tCertificateChain: exampleCertificate.CertificateChain,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.acmpca.Certificate;\nimport com.pulumi.aws.acmpca.CertificateArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateValidityArgs;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificate;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleCertificateAuthority = new CertificateAuthority(\"exampleCertificateAuthority\", CertificateAuthorityArgs.builder()\n .type(\"ROOT\")\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n .certificateAuthorityArn(exampleCertificateAuthority.arn())\n .certificateSigningRequest(exampleCertificateAuthority.certificateSigningRequest())\n .signingAlgorithm(\"SHA512WITHRSA\")\n .templateArn(String.format(\"arn:%s:acm-pca:::template/RootCACertificate/V1\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .validity(CertificateValidityArgs.builder()\n .type(\"YEARS\")\n .value(1)\n .build())\n .build());\n\n var example = new CertificateAuthorityCertificate(\"example\", CertificateAuthorityCertificateArgs.builder()\n .certificateAuthorityArn(exampleCertificateAuthority.arn())\n .certificate(exampleCertificate.certificate())\n .certificateChain(exampleCertificate.certificateChain())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthorityCertificate\n properties:\n certificateAuthorityArn: ${exampleCertificateAuthority.arn}\n certificate: ${exampleCertificate.certificate}\n certificateChain: ${exampleCertificate.certificateChain}\n exampleCertificate:\n type: aws:acmpca:Certificate\n name: example\n properties:\n certificateAuthorityArn: ${exampleCertificateAuthority.arn}\n certificateSigningRequest: ${exampleCertificateAuthority.certificateSigningRequest}\n signingAlgorithm: SHA512WITHRSA\n templateArn: arn:${current.partition}:acm-pca:::template/RootCACertificate/V1\n validity:\n type: YEARS\n value: 1\n exampleCertificateAuthority:\n type: aws:acmpca:CertificateAuthority\n name: example\n properties:\n type: ROOT\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Certificate for Subordinate Certificate Authority\n\nNote that the certificate for the subordinate certificate authority must be issued by the root certificate authority using a signing request from the subordinate certificate authority.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst subordinateCertificateAuthority = new aws.acmpca.CertificateAuthority(\"subordinate\", {\n type: \"SUBORDINATE\",\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_2048\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"sub.example.com\",\n },\n },\n});\nconst root = new aws.acmpca.CertificateAuthority(\"root\", {});\nconst current = aws.getPartition({});\nconst subordinateCertificate = new aws.acmpca.Certificate(\"subordinate\", {\n certificateAuthorityArn: root.arn,\n certificateSigningRequest: subordinateCertificateAuthority.certificateSigningRequest,\n signingAlgorithm: \"SHA512WITHRSA\",\n templateArn: current.then(current =\u003e `arn:${current.partition}:acm-pca:::template/SubordinateCACertificate_PathLen0/V1`),\n validity: {\n type: \"YEARS\",\n value: \"1\",\n },\n});\nconst subordinate = new aws.acmpca.CertificateAuthorityCertificate(\"subordinate\", {\n certificateAuthorityArn: subordinateCertificateAuthority.arn,\n certificate: subordinateCertificate.certificate,\n certificateChain: subordinateCertificate.certificateChain,\n});\nconst rootCertificateAuthorityCertificate = new aws.acmpca.CertificateAuthorityCertificate(\"root\", {});\nconst rootCertificate = new aws.acmpca.Certificate(\"root\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsubordinate_certificate_authority = aws.acmpca.CertificateAuthority(\"subordinate\",\n type=\"SUBORDINATE\",\n certificate_authority_configuration={\n \"key_algorithm\": \"RSA_2048\",\n \"signing_algorithm\": \"SHA512WITHRSA\",\n \"subject\": {\n \"common_name\": \"sub.example.com\",\n },\n })\nroot = aws.acmpca.CertificateAuthority(\"root\")\ncurrent = aws.get_partition()\nsubordinate_certificate = aws.acmpca.Certificate(\"subordinate\",\n certificate_authority_arn=root.arn,\n certificate_signing_request=subordinate_certificate_authority.certificate_signing_request,\n signing_algorithm=\"SHA512WITHRSA\",\n template_arn=f\"arn:{current.partition}:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\",\n validity={\n \"type\": \"YEARS\",\n \"value\": \"1\",\n })\nsubordinate = aws.acmpca.CertificateAuthorityCertificate(\"subordinate\",\n certificate_authority_arn=subordinate_certificate_authority.arn,\n certificate=subordinate_certificate.certificate,\n certificate_chain=subordinate_certificate.certificate_chain)\nroot_certificate_authority_certificate = aws.acmpca.CertificateAuthorityCertificate(\"root\")\nroot_certificate = aws.acmpca.Certificate(\"root\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subordinateCertificateAuthority = new Aws.Acmpca.CertificateAuthority(\"subordinate\", new()\n {\n Type = \"SUBORDINATE\",\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_2048\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"sub.example.com\",\n },\n },\n });\n\n var root = new Aws.Acmpca.CertificateAuthority(\"root\");\n\n var current = Aws.GetPartition.Invoke();\n\n var subordinateCertificate = new Aws.Acmpca.Certificate(\"subordinate\", new()\n {\n CertificateAuthorityArn = root.Arn,\n CertificateSigningRequest = subordinateCertificateAuthority.CertificateSigningRequest,\n SigningAlgorithm = \"SHA512WITHRSA\",\n TemplateArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\",\n Validity = new Aws.Acmpca.Inputs.CertificateValidityArgs\n {\n Type = \"YEARS\",\n Value = \"1\",\n },\n });\n\n var subordinate = new Aws.Acmpca.CertificateAuthorityCertificate(\"subordinate\", new()\n {\n CertificateAuthorityArn = subordinateCertificateAuthority.Arn,\n Certificate = subordinateCertificate.Certificate,\n CertificateChain = subordinateCertificate.CertificateChain,\n });\n\n var rootCertificateAuthorityCertificate = new Aws.Acmpca.CertificateAuthorityCertificate(\"root\");\n\n var rootCertificate = new Aws.Acmpca.Certificate(\"root\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsubordinateCertificateAuthority, err := acmpca.NewCertificateAuthority(ctx, \"subordinate\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tType: pulumi.String(\"SUBORDINATE\"),\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_2048\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"sub.example.com\"),\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\troot, err := acmpca.NewCertificateAuthority(ctx, \"root\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubordinateCertificate, err := acmpca.NewCertificate(ctx, \"subordinate\", \u0026acmpca.CertificateArgs{\n\t\t\tCertificateAuthorityArn: root.Arn,\n\t\t\tCertificateSigningRequest: subordinateCertificateAuthority.CertificateSigningRequest,\n\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\tTemplateArn: pulumi.Sprintf(\"arn:%v:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\", current.Partition),\n\t\t\tValidity: \u0026acmpca.CertificateValidityArgs{\n\t\t\t\tType: pulumi.String(\"YEARS\"),\n\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificateAuthorityCertificate(ctx, \"subordinate\", \u0026acmpca.CertificateAuthorityCertificateArgs{\n\t\t\tCertificateAuthorityArn: subordinateCertificateAuthority.Arn,\n\t\t\tCertificate: subordinateCertificate.Certificate,\n\t\t\tCertificateChain: subordinateCertificate.CertificateChain,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificateAuthorityCertificate(ctx, \"root\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificate(ctx, \"root\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.acmpca.Certificate;\nimport com.pulumi.aws.acmpca.CertificateArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateValidityArgs;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificate;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var subordinateCertificateAuthority = new CertificateAuthority(\"subordinateCertificateAuthority\", CertificateAuthorityArgs.builder()\n .type(\"SUBORDINATE\")\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_2048\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"sub.example.com\")\n .build())\n .build())\n .build());\n\n var root = new CertificateAuthority(\"root\");\n\n final var current = AwsFunctions.getPartition();\n\n var subordinateCertificate = new Certificate(\"subordinateCertificate\", CertificateArgs.builder()\n .certificateAuthorityArn(root.arn())\n .certificateSigningRequest(subordinateCertificateAuthority.certificateSigningRequest())\n .signingAlgorithm(\"SHA512WITHRSA\")\n .templateArn(String.format(\"arn:%s:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .validity(CertificateValidityArgs.builder()\n .type(\"YEARS\")\n .value(1)\n .build())\n .build());\n\n var subordinate = new CertificateAuthorityCertificate(\"subordinate\", CertificateAuthorityCertificateArgs.builder()\n .certificateAuthorityArn(subordinateCertificateAuthority.arn())\n .certificate(subordinateCertificate.certificate())\n .certificateChain(subordinateCertificate.certificateChain())\n .build());\n\n var rootCertificateAuthorityCertificate = new CertificateAuthorityCertificate(\"rootCertificateAuthorityCertificate\");\n\n var rootCertificate = new Certificate(\"rootCertificate\");\n\n }\n}\n```\n```yaml\nresources:\n subordinate:\n type: aws:acmpca:CertificateAuthorityCertificate\n properties:\n certificateAuthorityArn: ${subordinateCertificateAuthority.arn}\n certificate: ${subordinateCertificate.certificate}\n certificateChain: ${subordinateCertificate.certificateChain}\n subordinateCertificate:\n type: aws:acmpca:Certificate\n name: subordinate\n properties:\n certificateAuthorityArn: ${root.arn}\n certificateSigningRequest: ${subordinateCertificateAuthority.certificateSigningRequest}\n signingAlgorithm: SHA512WITHRSA\n templateArn: arn:${current.partition}:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\n validity:\n type: YEARS\n value: 1\n subordinateCertificateAuthority:\n type: aws:acmpca:CertificateAuthority\n name: subordinate\n properties:\n type: SUBORDINATE\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_2048\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: sub.example.com\n root:\n type: aws:acmpca:CertificateAuthority\n rootCertificateAuthorityCertificate:\n type: aws:acmpca:CertificateAuthorityCertificate\n name: root\n rootCertificate:\n type: aws:acmpca:Certificate\n name: root\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "certificate": { "type": "string", @@ -172931,7 +172931,7 @@ } }, "aws:acmpca/policy:Policy": { - "description": "Attaches a resource based policy to a private CA.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"1\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [current.accountId],\n }],\n actions: [\n \"acm-pca:DescribeCertificateAuthority\",\n \"acm-pca:GetCertificate\",\n \"acm-pca:GetCertificateAuthorityCertificate\",\n \"acm-pca:ListPermissions\",\n \"acm-pca:ListTags\",\n ],\n resources: [exampleAwsAcmpcaCertificateAuthority.arn],\n },\n {\n sid: \"2\",\n effect: allow,\n principals: [{\n type: \"AWS\",\n identifiers: [current.accountId],\n }],\n actions: [\"acm-pca:IssueCertificate\"],\n resources: [exampleAwsAcmpcaCertificateAuthority.arn],\n conditions: [{\n test: \"StringEquals\",\n variable: \"acm-pca:TemplateArn\",\n values: [\"arn:aws:acm-pca:::template/EndEntityCertificate/V1\"],\n }],\n },\n ],\n});\nconst examplePolicy = new aws.acmpca.Policy(\"example\", {\n resourceArn: exampleAwsAcmpcaCertificateAuthority.arn,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[\n {\n \"sid\": \"1\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [current[\"accountId\"]],\n }],\n \"actions\": [\n \"acm-pca:DescribeCertificateAuthority\",\n \"acm-pca:GetCertificate\",\n \"acm-pca:GetCertificateAuthorityCertificate\",\n \"acm-pca:ListPermissions\",\n \"acm-pca:ListTags\",\n ],\n \"resources\": [example_aws_acmpca_certificate_authority[\"arn\"]],\n },\n {\n \"sid\": \"2\",\n \"effect\": allow,\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [current[\"accountId\"]],\n }],\n \"actions\": [\"acm-pca:IssueCertificate\"],\n \"resources\": [example_aws_acmpca_certificate_authority[\"arn\"]],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"acm-pca:TemplateArn\",\n \"values\": [\"arn:aws:acm-pca:::template/EndEntityCertificate/V1\"],\n }],\n },\n])\nexample_policy = aws.acmpca.Policy(\"example\",\n resource_arn=example_aws_acmpca_certificate_authority[\"arn\"],\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"1\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n current.AccountId,\n },\n },\n },\n Actions = new[]\n {\n \"acm-pca:DescribeCertificateAuthority\",\n \"acm-pca:GetCertificate\",\n \"acm-pca:GetCertificateAuthorityCertificate\",\n \"acm-pca:ListPermissions\",\n \"acm-pca:ListTags\",\n },\n Resources = new[]\n {\n exampleAwsAcmpcaCertificateAuthority.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"2\",\n Effect = allow,\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n current.AccountId,\n },\n },\n },\n Actions = new[]\n {\n \"acm-pca:IssueCertificate\",\n },\n Resources = new[]\n {\n exampleAwsAcmpcaCertificateAuthority.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"acm-pca:TemplateArn\",\n Values = new[]\n {\n \"arn:aws:acm-pca:::template/EndEntityCertificate/V1\",\n },\n },\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Acmpca.Policy(\"example\", new()\n {\n ResourceArn = exampleAwsAcmpcaCertificateAuthority.Arn,\n PolicyDetails = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"1\"),\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\ncurrent.AccountId,\n},\n},\n},\nActions: []string{\n\"acm-pca:DescribeCertificateAuthority\",\n\"acm-pca:GetCertificate\",\n\"acm-pca:GetCertificateAuthorityCertificate\",\n\"acm-pca:ListPermissions\",\n\"acm-pca:ListTags\",\n},\nResources: interface{}{\nexampleAwsAcmpcaCertificateAuthority.Arn,\n},\n},\n{\nSid: pulumi.StringRef(\"2\"),\nEffect: pulumi.StringRef(allow),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\ncurrent.AccountId,\n},\n},\n},\nActions: []string{\n\"acm-pca:IssueCertificate\",\n},\nResources: interface{}{\nexampleAwsAcmpcaCertificateAuthority.Arn,\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"acm-pca:TemplateArn\",\nValues: []string{\n\"arn:aws:acm-pca:::template/EndEntityCertificate/V1\",\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = acmpca.NewPolicy(ctx, \"example\", \u0026acmpca.PolicyArgs{\nResourceArn: pulumi.Any(exampleAwsAcmpcaCertificateAuthority.Arn),\nPolicy: pulumi.String(example.Json),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.acmpca.Policy;\nimport com.pulumi.aws.acmpca.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"1\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(current.accountId())\n .build())\n .actions( \n \"acm-pca:DescribeCertificateAuthority\",\n \"acm-pca:GetCertificate\",\n \"acm-pca:GetCertificateAuthorityCertificate\",\n \"acm-pca:ListPermissions\",\n \"acm-pca:ListTags\")\n .resources(exampleAwsAcmpcaCertificateAuthority.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"2\")\n .effect(allow)\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(current.accountId())\n .build())\n .actions(\"acm-pca:IssueCertificate\")\n .resources(exampleAwsAcmpcaCertificateAuthority.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"acm-pca:TemplateArn\")\n .values(\"arn:aws:acm-pca:::template/EndEntityCertificate/V1\")\n .build())\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .resourceArn(exampleAwsAcmpcaCertificateAuthority.arn())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePolicy:\n type: aws:acmpca:Policy\n name: example\n properties:\n resourceArn: ${exampleAwsAcmpcaCertificateAuthority.arn}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: '1'\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${current.accountId}\n actions:\n - acm-pca:DescribeCertificateAuthority\n - acm-pca:GetCertificate\n - acm-pca:GetCertificateAuthorityCertificate\n - acm-pca:ListPermissions\n - acm-pca:ListTags\n resources:\n - ${exampleAwsAcmpcaCertificateAuthority.arn}\n - sid: '2'\n effect: ${allow}\n principals:\n - type: AWS\n identifiers:\n - ${current.accountId}\n actions:\n - acm-pca:IssueCertificate\n resources:\n - ${exampleAwsAcmpcaCertificateAuthority.arn}\n conditions:\n - test: StringEquals\n variable: acm-pca:TemplateArn\n values:\n - arn:aws:acm-pca:::template/EndEntityCertificate/V1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_acmpca_policy` using the `resource_arn` value. For example:\n\n```sh\n$ pulumi import aws:acmpca/policy:Policy example arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\n```\n", + "description": "Attaches a resource based policy to a private CA.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"1\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [current.accountId],\n }],\n actions: [\n \"acm-pca:DescribeCertificateAuthority\",\n \"acm-pca:GetCertificate\",\n \"acm-pca:GetCertificateAuthorityCertificate\",\n \"acm-pca:ListPermissions\",\n \"acm-pca:ListTags\",\n ],\n resources: [exampleAwsAcmpcaCertificateAuthority.arn],\n },\n {\n sid: \"2\",\n effect: allow,\n principals: [{\n type: \"AWS\",\n identifiers: [current.accountId],\n }],\n actions: [\"acm-pca:IssueCertificate\"],\n resources: [exampleAwsAcmpcaCertificateAuthority.arn],\n conditions: [{\n test: \"StringEquals\",\n variable: \"acm-pca:TemplateArn\",\n values: [\"arn:aws:acm-pca:::template/EndEntityCertificate/V1\"],\n }],\n },\n ],\n});\nconst examplePolicy = new aws.acmpca.Policy(\"example\", {\n resourceArn: exampleAwsAcmpcaCertificateAuthority.arn,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[\n {\n \"sid\": \"1\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [current[\"accountId\"]],\n }],\n \"actions\": [\n \"acm-pca:DescribeCertificateAuthority\",\n \"acm-pca:GetCertificate\",\n \"acm-pca:GetCertificateAuthorityCertificate\",\n \"acm-pca:ListPermissions\",\n \"acm-pca:ListTags\",\n ],\n \"resources\": [example_aws_acmpca_certificate_authority[\"arn\"]],\n },\n {\n \"sid\": \"2\",\n \"effect\": allow,\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [current[\"accountId\"]],\n }],\n \"actions\": [\"acm-pca:IssueCertificate\"],\n \"resources\": [example_aws_acmpca_certificate_authority[\"arn\"]],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"acm-pca:TemplateArn\",\n \"values\": [\"arn:aws:acm-pca:::template/EndEntityCertificate/V1\"],\n }],\n },\n])\nexample_policy = aws.acmpca.Policy(\"example\",\n resource_arn=example_aws_acmpca_certificate_authority[\"arn\"],\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"1\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n current.AccountId,\n },\n },\n },\n Actions = new[]\n {\n \"acm-pca:DescribeCertificateAuthority\",\n \"acm-pca:GetCertificate\",\n \"acm-pca:GetCertificateAuthorityCertificate\",\n \"acm-pca:ListPermissions\",\n \"acm-pca:ListTags\",\n },\n Resources = new[]\n {\n exampleAwsAcmpcaCertificateAuthority.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"2\",\n Effect = allow,\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n current.AccountId,\n },\n },\n },\n Actions = new[]\n {\n \"acm-pca:IssueCertificate\",\n },\n Resources = new[]\n {\n exampleAwsAcmpcaCertificateAuthority.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"acm-pca:TemplateArn\",\n Values = new[]\n {\n \"arn:aws:acm-pca:::template/EndEntityCertificate/V1\",\n },\n },\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Acmpca.Policy(\"example\", new()\n {\n ResourceArn = exampleAwsAcmpcaCertificateAuthority.Arn,\n PolicyDetails = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"1\"),\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\ncurrent.AccountId,\n},\n},\n},\nActions: []string{\n\"acm-pca:DescribeCertificateAuthority\",\n\"acm-pca:GetCertificate\",\n\"acm-pca:GetCertificateAuthorityCertificate\",\n\"acm-pca:ListPermissions\",\n\"acm-pca:ListTags\",\n},\nResources: interface{}{\nexampleAwsAcmpcaCertificateAuthority.Arn,\n},\n},\n{\nSid: pulumi.StringRef(\"2\"),\nEffect: pulumi.StringRef(allow),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\ncurrent.AccountId,\n},\n},\n},\nActions: []string{\n\"acm-pca:IssueCertificate\",\n},\nResources: interface{}{\nexampleAwsAcmpcaCertificateAuthority.Arn,\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"acm-pca:TemplateArn\",\nValues: []string{\n\"arn:aws:acm-pca:::template/EndEntityCertificate/V1\",\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = acmpca.NewPolicy(ctx, \"example\", \u0026acmpca.PolicyArgs{\nResourceArn: pulumi.Any(exampleAwsAcmpcaCertificateAuthority.Arn),\nPolicy: pulumi.String(example.Json),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.acmpca.Policy;\nimport com.pulumi.aws.acmpca.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"1\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(current.accountId())\n .build())\n .actions( \n \"acm-pca:DescribeCertificateAuthority\",\n \"acm-pca:GetCertificate\",\n \"acm-pca:GetCertificateAuthorityCertificate\",\n \"acm-pca:ListPermissions\",\n \"acm-pca:ListTags\")\n .resources(exampleAwsAcmpcaCertificateAuthority.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"2\")\n .effect(allow)\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(current.accountId())\n .build())\n .actions(\"acm-pca:IssueCertificate\")\n .resources(exampleAwsAcmpcaCertificateAuthority.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"acm-pca:TemplateArn\")\n .values(\"arn:aws:acm-pca:::template/EndEntityCertificate/V1\")\n .build())\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .resourceArn(exampleAwsAcmpcaCertificateAuthority.arn())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePolicy:\n type: aws:acmpca:Policy\n name: example\n properties:\n resourceArn: ${exampleAwsAcmpcaCertificateAuthority.arn}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: '1'\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${current.accountId}\n actions:\n - acm-pca:DescribeCertificateAuthority\n - acm-pca:GetCertificate\n - acm-pca:GetCertificateAuthorityCertificate\n - acm-pca:ListPermissions\n - acm-pca:ListTags\n resources:\n - ${exampleAwsAcmpcaCertificateAuthority.arn}\n - sid: '2'\n effect: ${allow}\n principals:\n - type: AWS\n identifiers:\n - ${current.accountId}\n actions:\n - acm-pca:IssueCertificate\n resources:\n - ${exampleAwsAcmpcaCertificateAuthority.arn}\n conditions:\n - test: StringEquals\n variable: acm-pca:TemplateArn\n values:\n - arn:aws:acm-pca:::template/EndEntityCertificate/V1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_acmpca_policy` using the `resource_arn` value. For example:\n\n```sh\n$ pulumi import aws:acmpca/policy:Policy example arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\n```\n", "properties": { "policy": { "type": "string", @@ -174254,7 +174254,7 @@ ] }, "aws:alb/targetGroupAttachment:TargetGroupAttachment": { - "description": "Provides the ability to register instances and containers with an Application Load Balancer (ALB) or Network Load Balancer (NLB) target group. For attaching resources with Elastic Load Balancer (ELB), see the `aws.elb.Attachment` resource.\n\n\u003e **Note:** `aws.alb.TargetGroupAttachment` is known as `aws.lb.TargetGroupAttachment`. The functionality is identical.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTargetGroup = new aws.lb.TargetGroup(\"test\", {});\nconst testInstance = new aws.ec2.Instance(\"test\", {});\nconst test = new aws.lb.TargetGroupAttachment(\"test\", {\n targetGroupArn: testTargetGroup.arn,\n targetId: testInstance.id,\n port: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_target_group = aws.lb.TargetGroup(\"test\")\ntest_instance = aws.ec2.Instance(\"test\")\ntest = aws.lb.TargetGroupAttachment(\"test\",\n target_group_arn=test_target_group.arn,\n target_id=test_instance.id,\n port=80)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTargetGroup = new Aws.LB.TargetGroup(\"test\");\n\n var testInstance = new Aws.Ec2.Instance(\"test\");\n\n var test = new Aws.LB.TargetGroupAttachment(\"test\", new()\n {\n TargetGroupArn = testTargetGroup.Arn,\n TargetId = testInstance.Id,\n Port = 80,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestTargetGroup, err := lb.NewTargetGroup(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := ec2.NewInstance(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroupAttachment(ctx, \"test\", \u0026lb.TargetGroupAttachmentArgs{\n\t\t\tTargetGroupArn: testTargetGroup.Arn,\n\t\t\tTargetId: testInstance.ID(),\n\t\t\tPort: pulumi.Int(80),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.lb.TargetGroupAttachment;\nimport com.pulumi.aws.lb.TargetGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testTargetGroup = new TargetGroup(\"testTargetGroup\");\n\n var testInstance = new Instance(\"testInstance\");\n\n var test = new TargetGroupAttachment(\"test\", TargetGroupAttachmentArgs.builder()\n .targetGroupArn(testTargetGroup.arn())\n .targetId(testInstance.id())\n .port(80)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lb:TargetGroupAttachment\n properties:\n targetGroupArn: ${testTargetGroup.arn}\n targetId: ${testInstance.id}\n port: 80\n testTargetGroup:\n type: aws:lb:TargetGroup\n name: test\n testInstance:\n type: aws:ec2:Instance\n name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.TargetGroup(\"test\", {\n name: \"test\",\n targetType: \"lambda\",\n});\nconst testFunction = new aws.lambda.Function(\"test\", {});\nconst withLb = new aws.lambda.Permission(\"with_lb\", {\n statementId: \"AllowExecutionFromlb\",\n action: \"lambda:InvokeFunction\",\n \"function\": testFunction.name,\n principal: \"elasticloadbalancing.amazonaws.com\",\n sourceArn: test.arn,\n});\nconst testTargetGroupAttachment = new aws.lb.TargetGroupAttachment(\"test\", {\n targetGroupArn: test.arn,\n targetId: testFunction.arn,\n}, {\n dependsOn: [withLb],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.TargetGroup(\"test\",\n name=\"test\",\n target_type=\"lambda\")\ntest_function = aws.lambda_.Function(\"test\")\nwith_lb = aws.lambda_.Permission(\"with_lb\",\n statement_id=\"AllowExecutionFromlb\",\n action=\"lambda:InvokeFunction\",\n function=test_function.name,\n principal=\"elasticloadbalancing.amazonaws.com\",\n source_arn=test.arn)\ntest_target_group_attachment = aws.lb.TargetGroupAttachment(\"test\",\n target_group_arn=test.arn,\n target_id=test_function.arn,\n opts = pulumi.ResourceOptions(depends_on=[with_lb]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LB.TargetGroup(\"test\", new()\n {\n Name = \"test\",\n TargetType = \"lambda\",\n });\n\n var testFunction = new Aws.Lambda.Function(\"test\");\n\n var withLb = new Aws.Lambda.Permission(\"with_lb\", new()\n {\n StatementId = \"AllowExecutionFromlb\",\n Action = \"lambda:InvokeFunction\",\n Function = testFunction.Name,\n Principal = \"elasticloadbalancing.amazonaws.com\",\n SourceArn = test.Arn,\n });\n\n var testTargetGroupAttachment = new Aws.LB.TargetGroupAttachment(\"test\", new()\n {\n TargetGroupArn = test.Arn,\n TargetId = testFunction.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n withLb,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lb.NewTargetGroup(ctx, \"test\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tTargetType: pulumi.String(\"lambda\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestFunction, err := lambda.NewFunction(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twithLb, err := lambda.NewPermission(ctx, \"with_lb\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromlb\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: testFunction.Name,\n\t\t\tPrincipal: pulumi.String(\"elasticloadbalancing.amazonaws.com\"),\n\t\t\tSourceArn: test.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroupAttachment(ctx, \"test\", \u0026lb.TargetGroupAttachmentArgs{\n\t\t\tTargetGroupArn: test.Arn,\n\t\t\tTargetId: testFunction.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\twithLb,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.lb.TargetGroupAttachment;\nimport com.pulumi.aws.lb.TargetGroupAttachmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TargetGroup(\"test\", TargetGroupArgs.builder()\n .name(\"test\")\n .targetType(\"lambda\")\n .build());\n\n var testFunction = new Function(\"testFunction\");\n\n var withLb = new Permission(\"withLb\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromlb\")\n .action(\"lambda:InvokeFunction\")\n .function(testFunction.name())\n .principal(\"elasticloadbalancing.amazonaws.com\")\n .sourceArn(test.arn())\n .build());\n\n var testTargetGroupAttachment = new TargetGroupAttachment(\"testTargetGroupAttachment\", TargetGroupAttachmentArgs.builder()\n .targetGroupArn(test.arn())\n .targetId(testFunction.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(withLb)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n withLb:\n type: aws:lambda:Permission\n name: with_lb\n properties:\n statementId: AllowExecutionFromlb\n action: lambda:InvokeFunction\n function: ${testFunction.name}\n principal: elasticloadbalancing.amazonaws.com\n sourceArn: ${test.arn}\n test:\n type: aws:lb:TargetGroup\n properties:\n name: test\n targetType: lambda\n testFunction:\n type: aws:lambda:Function\n name: test\n testTargetGroupAttachment:\n type: aws:lb:TargetGroupAttachment\n name: test\n properties:\n targetGroupArn: ${test.arn}\n targetId: ${testFunction.arn}\n options:\n dependsOn:\n - ${withLb}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Registering Multiple Targets\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example: aws.ec2.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 3; range.value++) {\n example.push(new aws.ec2.Instance(`example-${range.value}`, {}));\n}\nconst exampleTargetGroup = new aws.lb.TargetGroup(\"example\", {});\nconst exampleTargetGroupAttachment: aws.lb.TargetGroupAttachment[] = [];\npulumi.all(example.map((v, k) =\u003e [k, v]).reduce((__obj, [, ]) =\u003e ({ ...__obj, [k]: v }))).apply(rangeBody =\u003e {\n for (const range of Object.entries(rangeBody).map(([k, v]) =\u003e ({key: k, value: v}))) {\n exampleTargetGroupAttachment.push(new aws.lb.TargetGroupAttachment(`example-${range.key}`, {\n targetGroupArn: exampleTargetGroup.arn,\n targetId: range.value.id,\n port: 80,\n }));\n }\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = []\nfor range in [{\"value\": i} for i in range(0, 3)]:\n example.append(aws.ec2.Instance(f\"example-{range['value']}\"))\nexample_target_group = aws.lb.TargetGroup(\"example\")\nexample_target_group_attachment = []\ndef create_example(range_body):\n for range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(range_body)]:\n example_target_group_attachment.append(aws.lb.TargetGroupAttachment(f\"example-{range['key']}\",\n target_group_arn=example_target_group.arn,\n target_id=range[\"value\"],\n port=80))\n\npulumi.Output.all({k: v for k, v in example}).apply(lambda resolved_outputs: create_example(resolved_outputs[0]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new List\u003cAws.Ec2.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 3; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n example.Add(new Aws.Ec2.Instance($\"example-{range.Value}\", new()\n {\n }));\n }\n var exampleTargetGroup = new Aws.LB.TargetGroup(\"example\");\n\n var exampleTargetGroupAttachment = new List\u003cAws.LB.TargetGroupAttachment\u003e();\n foreach (var range in example.Select((value, i) =\u003e new { Key = i.ToString(), Value = pair.Value }).Select(pair =\u003e new { pair.Key, pair.Value }))\n {\n exampleTargetGroupAttachment.Add(new Aws.LB.TargetGroupAttachment($\"example-{range.Key}\", new()\n {\n TargetGroupArn = exampleTargetGroup.Arn,\n TargetId = range.Value.Id,\n Port = 80,\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar example []*ec2.Instance\nfor index := 0; index \u003c 3; index++ {\n key0 := index\n _ := index\n__res, err := ec2.NewInstance(ctx, fmt.Sprintf(\"example-%v\", key0), nil)\nif err != nil {\nreturn err\n}\nexample = append(example, __res)\n}\nexampleTargetGroup, err := lb.NewTargetGroup(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nvar exampleTargetGroupAttachment []*lb.TargetGroupAttachment\nfor key0, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\n__res, err := lb.NewTargetGroupAttachment(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026lb.TargetGroupAttachmentArgs{\nTargetGroupArn: exampleTargetGroup.Arn,\nTargetId: pulumi.String(val0),\nPort: pulumi.Int(80),\n})\nif err != nil {\nreturn err\n}\nexampleTargetGroupAttachment = append(exampleTargetGroupAttachment, __res)\n}\nreturn nil\n})\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Instance\n options: {}\n exampleTargetGroup:\n type: aws:lb:TargetGroup\n name: example\n exampleTargetGroupAttachment:\n type: aws:lb:TargetGroupAttachment\n name: example\n properties:\n targetGroupArn: ${exampleTargetGroup.arn}\n targetId: ${range.value.id}\n port: 80\n options: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import Target Group Attachments.\n\n", + "description": "Provides the ability to register instances and containers with an Application Load Balancer (ALB) or Network Load Balancer (NLB) target group. For attaching resources with Elastic Load Balancer (ELB), see the `aws.elb.Attachment` resource.\n\n\u003e **Note:** `aws.alb.TargetGroupAttachment` is known as `aws.lb.TargetGroupAttachment`. The functionality is identical.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTargetGroup = new aws.lb.TargetGroup(\"test\", {});\nconst testInstance = new aws.ec2.Instance(\"test\", {});\nconst test = new aws.lb.TargetGroupAttachment(\"test\", {\n targetGroupArn: testTargetGroup.arn,\n targetId: testInstance.id,\n port: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_target_group = aws.lb.TargetGroup(\"test\")\ntest_instance = aws.ec2.Instance(\"test\")\ntest = aws.lb.TargetGroupAttachment(\"test\",\n target_group_arn=test_target_group.arn,\n target_id=test_instance.id,\n port=80)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTargetGroup = new Aws.LB.TargetGroup(\"test\");\n\n var testInstance = new Aws.Ec2.Instance(\"test\");\n\n var test = new Aws.LB.TargetGroupAttachment(\"test\", new()\n {\n TargetGroupArn = testTargetGroup.Arn,\n TargetId = testInstance.Id,\n Port = 80,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestTargetGroup, err := lb.NewTargetGroup(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := ec2.NewInstance(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroupAttachment(ctx, \"test\", \u0026lb.TargetGroupAttachmentArgs{\n\t\t\tTargetGroupArn: testTargetGroup.Arn,\n\t\t\tTargetId: testInstance.ID(),\n\t\t\tPort: pulumi.Int(80),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.lb.TargetGroupAttachment;\nimport com.pulumi.aws.lb.TargetGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testTargetGroup = new TargetGroup(\"testTargetGroup\");\n\n var testInstance = new Instance(\"testInstance\");\n\n var test = new TargetGroupAttachment(\"test\", TargetGroupAttachmentArgs.builder()\n .targetGroupArn(testTargetGroup.arn())\n .targetId(testInstance.id())\n .port(80)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lb:TargetGroupAttachment\n properties:\n targetGroupArn: ${testTargetGroup.arn}\n targetId: ${testInstance.id}\n port: 80\n testTargetGroup:\n type: aws:lb:TargetGroup\n name: test\n testInstance:\n type: aws:ec2:Instance\n name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.TargetGroup(\"test\", {\n name: \"test\",\n targetType: \"lambda\",\n});\nconst testFunction = new aws.lambda.Function(\"test\", {});\nconst withLb = new aws.lambda.Permission(\"with_lb\", {\n statementId: \"AllowExecutionFromlb\",\n action: \"lambda:InvokeFunction\",\n \"function\": testFunction.name,\n principal: \"elasticloadbalancing.amazonaws.com\",\n sourceArn: test.arn,\n});\nconst testTargetGroupAttachment = new aws.lb.TargetGroupAttachment(\"test\", {\n targetGroupArn: test.arn,\n targetId: testFunction.arn,\n}, {\n dependsOn: [withLb],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.TargetGroup(\"test\",\n name=\"test\",\n target_type=\"lambda\")\ntest_function = aws.lambda_.Function(\"test\")\nwith_lb = aws.lambda_.Permission(\"with_lb\",\n statement_id=\"AllowExecutionFromlb\",\n action=\"lambda:InvokeFunction\",\n function=test_function.name,\n principal=\"elasticloadbalancing.amazonaws.com\",\n source_arn=test.arn)\ntest_target_group_attachment = aws.lb.TargetGroupAttachment(\"test\",\n target_group_arn=test.arn,\n target_id=test_function.arn,\n opts = pulumi.ResourceOptions(depends_on=[with_lb]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LB.TargetGroup(\"test\", new()\n {\n Name = \"test\",\n TargetType = \"lambda\",\n });\n\n var testFunction = new Aws.Lambda.Function(\"test\");\n\n var withLb = new Aws.Lambda.Permission(\"with_lb\", new()\n {\n StatementId = \"AllowExecutionFromlb\",\n Action = \"lambda:InvokeFunction\",\n Function = testFunction.Name,\n Principal = \"elasticloadbalancing.amazonaws.com\",\n SourceArn = test.Arn,\n });\n\n var testTargetGroupAttachment = new Aws.LB.TargetGroupAttachment(\"test\", new()\n {\n TargetGroupArn = test.Arn,\n TargetId = testFunction.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n withLb,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lb.NewTargetGroup(ctx, \"test\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tTargetType: pulumi.String(\"lambda\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestFunction, err := lambda.NewFunction(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twithLb, err := lambda.NewPermission(ctx, \"with_lb\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromlb\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: testFunction.Name,\n\t\t\tPrincipal: pulumi.String(\"elasticloadbalancing.amazonaws.com\"),\n\t\t\tSourceArn: test.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroupAttachment(ctx, \"test\", \u0026lb.TargetGroupAttachmentArgs{\n\t\t\tTargetGroupArn: test.Arn,\n\t\t\tTargetId: testFunction.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\twithLb,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.lb.TargetGroupAttachment;\nimport com.pulumi.aws.lb.TargetGroupAttachmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TargetGroup(\"test\", TargetGroupArgs.builder()\n .name(\"test\")\n .targetType(\"lambda\")\n .build());\n\n var testFunction = new Function(\"testFunction\");\n\n var withLb = new Permission(\"withLb\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromlb\")\n .action(\"lambda:InvokeFunction\")\n .function(testFunction.name())\n .principal(\"elasticloadbalancing.amazonaws.com\")\n .sourceArn(test.arn())\n .build());\n\n var testTargetGroupAttachment = new TargetGroupAttachment(\"testTargetGroupAttachment\", TargetGroupAttachmentArgs.builder()\n .targetGroupArn(test.arn())\n .targetId(testFunction.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(withLb)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n withLb:\n type: aws:lambda:Permission\n name: with_lb\n properties:\n statementId: AllowExecutionFromlb\n action: lambda:InvokeFunction\n function: ${testFunction.name}\n principal: elasticloadbalancing.amazonaws.com\n sourceArn: ${test.arn}\n test:\n type: aws:lb:TargetGroup\n properties:\n name: test\n targetType: lambda\n testFunction:\n type: aws:lambda:Function\n name: test\n testTargetGroupAttachment:\n type: aws:lb:TargetGroupAttachment\n name: test\n properties:\n targetGroupArn: ${test.arn}\n targetId: ${testFunction.arn}\n options:\n dependson:\n - ${withLb}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Registering Multiple Targets\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example: aws.ec2.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 3; range.value++) {\n example.push(new aws.ec2.Instance(`example-${range.value}`, {}));\n}\nconst exampleTargetGroup = new aws.lb.TargetGroup(\"example\", {});\nconst exampleTargetGroupAttachment: aws.lb.TargetGroupAttachment[] = [];\npulumi.all(example.map((v, k) =\u003e [k, v]).reduce((__obj, [, ]) =\u003e ({ ...__obj, [k]: v }))).apply(rangeBody =\u003e {\n for (const range of Object.entries(rangeBody).map(([k, v]) =\u003e ({key: k, value: v}))) {\n exampleTargetGroupAttachment.push(new aws.lb.TargetGroupAttachment(`example-${range.key}`, {\n targetGroupArn: exampleTargetGroup.arn,\n targetId: range.value.id,\n port: 80,\n }));\n }\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = []\nfor range in [{\"value\": i} for i in range(0, 3)]:\n example.append(aws.ec2.Instance(f\"example-{range['value']}\"))\nexample_target_group = aws.lb.TargetGroup(\"example\")\nexample_target_group_attachment = []\ndef create_example(range_body):\n for range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(range_body)]:\n example_target_group_attachment.append(aws.lb.TargetGroupAttachment(f\"example-{range['key']}\",\n target_group_arn=example_target_group.arn,\n target_id=range[\"value\"],\n port=80))\n\npulumi.Output.all({k: v for k, v in example}).apply(lambda resolved_outputs: create_example(resolved_outputs[0]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new List\u003cAws.Ec2.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 3; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n example.Add(new Aws.Ec2.Instance($\"example-{range.Value}\", new()\n {\n }));\n }\n var exampleTargetGroup = new Aws.LB.TargetGroup(\"example\");\n\n var exampleTargetGroupAttachment = new List\u003cAws.LB.TargetGroupAttachment\u003e();\n foreach (var range in example.Select((value, i) =\u003e new { Key = i.ToString(), Value = pair.Value }).Select(pair =\u003e new { pair.Key, pair.Value }))\n {\n exampleTargetGroupAttachment.Add(new Aws.LB.TargetGroupAttachment($\"example-{range.Key}\", new()\n {\n TargetGroupArn = exampleTargetGroup.Arn,\n TargetId = range.Value.Id,\n Port = 80,\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar example []*ec2.Instance\nfor index := 0; index \u003c 3; index++ {\n key0 := index\n _ := index\n__res, err := ec2.NewInstance(ctx, fmt.Sprintf(\"example-%v\", key0), nil)\nif err != nil {\nreturn err\n}\nexample = append(example, __res)\n}\nexampleTargetGroup, err := lb.NewTargetGroup(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nvar exampleTargetGroupAttachment []*lb.TargetGroupAttachment\nfor key0, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\n__res, err := lb.NewTargetGroupAttachment(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026lb.TargetGroupAttachmentArgs{\nTargetGroupArn: exampleTargetGroup.Arn,\nTargetId: pulumi.String(val0),\nPort: pulumi.Int(80),\n})\nif err != nil {\nreturn err\n}\nexampleTargetGroupAttachment = append(exampleTargetGroupAttachment, __res)\n}\nreturn nil\n})\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Instance\n options: {}\n exampleTargetGroup:\n type: aws:lb:TargetGroup\n name: example\n exampleTargetGroupAttachment:\n type: aws:lb:TargetGroupAttachment\n name: example\n properties:\n targetGroupArn: ${exampleTargetGroup.arn}\n targetId: ${range.value.id}\n port: 80\n options: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import Target Group Attachments.\n\n", "properties": { "availabilityZone": { "type": "string", @@ -174681,7 +174681,7 @@ } }, "aws:amplify/app:App": { - "description": "Provides an Amplify App resource, a fullstack serverless app hosted on the [AWS Amplify Console](https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html).\n\n\u003e **Note:** When you create/update an Amplify App from the provider, you may end up with the error \"BadRequestException: You should at least provide one valid token\" because of authentication issues. See the section \"Repository with Tokens\" below.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n repository: \"https://github.com/example/app\",\n buildSpec: `version: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n`,\n customRules: [{\n source: \"/\u003c*\u003e\",\n status: \"404\",\n target: \"/index.html\",\n }],\n environmentVariables: {\n ENV: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n repository=\"https://github.com/example/app\",\n build_spec=\"\"\"version: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n\"\"\",\n custom_rules=[{\n \"source\": \"/\u003c*\u003e\",\n \"status\": \"404\",\n \"target\": \"/index.html\",\n }],\n environment_variables={\n \"ENV\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n Repository = \"https://github.com/example/app\",\n BuildSpec = @\"version: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n\",\n CustomRules = new[]\n {\n new Aws.Amplify.Inputs.AppCustomRuleArgs\n {\n Source = \"/\u003c*\u003e\",\n Status = \"404\",\n Target = \"/index.html\",\n },\n },\n EnvironmentVariables = \n {\n { \"ENV\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\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 := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRepository: pulumi.String(\"https://github.com/example/app\"),\n\t\t\tBuildSpec: pulumi.String(`version: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n`),\n\t\t\tCustomRules: amplify.AppCustomRuleArray{\n\t\t\t\t\u0026amplify.AppCustomRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"/\u003c*\u003e\"),\n\t\t\t\t\tStatus: pulumi.String(\"404\"),\n\t\t\t\t\tTarget: pulumi.String(\"/index.html\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\"ENV\": pulumi.String(\"test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.inputs.AppCustomRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .repository(\"https://github.com/example/app\")\n .buildSpec(\"\"\"\nversion: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n \"\"\")\n .customRules(AppCustomRuleArgs.builder()\n .source(\"/\u003c*\u003e\")\n .status(\"404\")\n .target(\"/index.html\")\n .build())\n .environmentVariables(Map.of(\"ENV\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n repository: https://github.com/example/app\n buildSpec: |\n version: 0.1\n frontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n customRules:\n - source: /\u003c*\u003e\n status: '404'\n target: /index.html\n environmentVariables:\n ENV: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Repository with Tokens\n\nIf you create a new Amplify App with the `repository` argument, you also need to set `oauth_token` or `access_token` for authentication. For GitHub, get a [personal access token](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line) and set `access_token` as follows:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n repository: \"https://github.com/example/app\",\n accessToken: \"...\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n repository=\"https://github.com/example/app\",\n access_token=\"...\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n Repository = \"https://github.com/example/app\",\n AccessToken = \"...\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\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 := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRepository: pulumi.String(\"https://github.com/example/app\"),\n\t\t\tAccessToken: pulumi.String(\"...\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .repository(\"https://github.com/example/app\")\n .accessToken(\"...\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n repository: https://github.com/example/app\n accessToken: '...'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can omit `access_token` if you import an existing Amplify App created by the Amplify Console (using OAuth for authentication).\n\n### Auto Branch Creation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n enableAutoBranchCreation: true,\n autoBranchCreationPatterns: [\n \"*\",\n \"*/**\",\n ],\n autoBranchCreationConfig: {\n enableAutoBuild: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n enable_auto_branch_creation=True,\n auto_branch_creation_patterns=[\n \"*\",\n \"*/**\",\n ],\n auto_branch_creation_config={\n \"enable_auto_build\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n EnableAutoBranchCreation = true,\n AutoBranchCreationPatterns = new[]\n {\n \"*\",\n \"*/**\",\n },\n AutoBranchCreationConfig = new Aws.Amplify.Inputs.AppAutoBranchCreationConfigArgs\n {\n EnableAutoBuild = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\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 := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEnableAutoBranchCreation: pulumi.Bool(true),\n\t\t\tAutoBranchCreationPatterns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\tpulumi.String(\"*/**\"),\n\t\t\t},\n\t\t\tAutoBranchCreationConfig: \u0026amplify.AppAutoBranchCreationConfigArgs{\n\t\t\t\tEnableAutoBuild: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.inputs.AppAutoBranchCreationConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .enableAutoBranchCreation(true)\n .autoBranchCreationPatterns( \n \"*\",\n \"*/**\")\n .autoBranchCreationConfig(AppAutoBranchCreationConfigArgs.builder()\n .enableAutoBuild(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n enableAutoBranchCreation: true # The default patterns added by the Amplify Console.\n autoBranchCreationPatterns:\n - '*'\n - '*/**'\n autoBranchCreationConfig:\n enableAutoBuild: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Authorization\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n enableBasicAuth: true,\n basicAuthCredentials: std.base64encode({\n input: \"username1:password1\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n enable_basic_auth=True,\n basic_auth_credentials=std.base64encode(input=\"username1:password1\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n EnableBasicAuth = true,\n BasicAuthCredentials = Std.Base64encode.Invoke(new()\n {\n Input = \"username1:password1\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"username1:password1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEnableBasicAuth: pulumi.Bool(true),\n\t\t\tBasicAuthCredentials: pulumi.String(invokeBase64encode.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .enableBasicAuth(true)\n .basicAuthCredentials(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"username1:password1\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n enableBasicAuth: true\n basicAuthCredentials:\n fn::invoke:\n function: std:base64encode\n arguments:\n input: username1:password1\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Rewrites and Redirects\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n customRules: [\n {\n source: \"/api/\u003c*\u003e\",\n status: \"200\",\n target: \"https://api.example.com/api/\u003c*\u003e\",\n },\n {\n source: \"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\",\n status: \"200\",\n target: \"/index.html\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n custom_rules=[\n {\n \"source\": \"/api/\u003c*\u003e\",\n \"status\": \"200\",\n \"target\": \"https://api.example.com/api/\u003c*\u003e\",\n },\n {\n \"source\": \"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\",\n \"status\": \"200\",\n \"target\": \"/index.html\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n CustomRules = new[]\n {\n new Aws.Amplify.Inputs.AppCustomRuleArgs\n {\n Source = \"/api/\u003c*\u003e\",\n Status = \"200\",\n Target = \"https://api.example.com/api/\u003c*\u003e\",\n },\n new Aws.Amplify.Inputs.AppCustomRuleArgs\n {\n Source = \"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\",\n Status = \"200\",\n Target = \"/index.html\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\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 := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCustomRules: amplify.AppCustomRuleArray{\n\t\t\t\t\u0026amplify.AppCustomRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"/api/\u003c*\u003e\"),\n\t\t\t\t\tStatus: pulumi.String(\"200\"),\n\t\t\t\t\tTarget: pulumi.String(\"https://api.example.com/api/\u003c*\u003e\"),\n\t\t\t\t},\n\t\t\t\t\u0026amplify.AppCustomRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\"),\n\t\t\t\t\tStatus: pulumi.String(\"200\"),\n\t\t\t\t\tTarget: pulumi.String(\"/index.html\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.inputs.AppCustomRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .customRules( \n AppCustomRuleArgs.builder()\n .source(\"/api/\u003c*\u003e\")\n .status(\"200\")\n .target(\"https://api.example.com/api/\u003c*\u003e\")\n .build(),\n AppCustomRuleArgs.builder()\n .source(\"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\")\n .status(\"200\")\n .target(\"/index.html\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n customRules:\n - source: /api/\u003c*\u003e\n status: '200'\n target: https://api.example.com/api/\u003c*\u003e\n - source: \u003c/^[^.]+$|\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\n status: '200'\n target: /index.html\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n environmentVariables: {\n _CUSTOM_IMAGE: \"node:16\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n environment_variables={\n \"_CUSTOM_IMAGE\": \"node:16\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n EnvironmentVariables = \n {\n { \"_CUSTOM_IMAGE\", \"node:16\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\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 := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\"_CUSTOM_IMAGE\": pulumi.String(\"node:16\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .environmentVariables(Map.of(\"_CUSTOM_IMAGE\", \"node:16\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n environmentVariables:\n _CUSTOM_IMAGE: node:16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Headers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n customHeaders: `customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n custom_headers=\"\"\"customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n CustomHeaders = @\"customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"\"default-src 'self'\"\"\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\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 := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCustomHeaders: pulumi.String(`customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n`),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .customHeaders(\"\"\"\ncustomHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n customHeaders: |\n customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amplify App using Amplify App ID (appId). For example:\n\n```sh\n$ pulumi import aws:amplify/app:App example d2ypk4k47z8u6\n```\nApp ID can be obtained from App ARN (e.g., `arn:aws:amplify:us-east-1:12345678:apps/d2ypk4k47z8u6`).\n\n", + "description": "Provides an Amplify App resource, a fullstack serverless app hosted on the [AWS Amplify Console](https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html).\n\n\u003e **Note:** When you create/update an Amplify App from the provider, you may end up with the error \"BadRequestException: You should at least provide one valid token\" because of authentication issues. See the section \"Repository with Tokens\" below.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n repository: \"https://github.com/example/app\",\n buildSpec: `version: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n`,\n customRules: [{\n source: \"/\u003c*\u003e\",\n status: \"404\",\n target: \"/index.html\",\n }],\n environmentVariables: {\n ENV: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n repository=\"https://github.com/example/app\",\n build_spec=\"\"\"version: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n\"\"\",\n custom_rules=[{\n \"source\": \"/\u003c*\u003e\",\n \"status\": \"404\",\n \"target\": \"/index.html\",\n }],\n environment_variables={\n \"ENV\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n Repository = \"https://github.com/example/app\",\n BuildSpec = @\"version: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n\",\n CustomRules = new[]\n {\n new Aws.Amplify.Inputs.AppCustomRuleArgs\n {\n Source = \"/\u003c*\u003e\",\n Status = \"404\",\n Target = \"/index.html\",\n },\n },\n EnvironmentVariables = \n {\n { \"ENV\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\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 := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRepository: pulumi.String(\"https://github.com/example/app\"),\n\t\t\tBuildSpec: pulumi.String(`version: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n`),\n\t\t\tCustomRules: amplify.AppCustomRuleArray{\n\t\t\t\t\u0026amplify.AppCustomRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"/\u003c*\u003e\"),\n\t\t\t\t\tStatus: pulumi.String(\"404\"),\n\t\t\t\t\tTarget: pulumi.String(\"/index.html\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\"ENV\": pulumi.String(\"test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.inputs.AppCustomRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .repository(\"https://github.com/example/app\")\n .buildSpec(\"\"\"\nversion: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n \"\"\")\n .customRules(AppCustomRuleArgs.builder()\n .source(\"/\u003c*\u003e\")\n .status(\"404\")\n .target(\"/index.html\")\n .build())\n .environmentVariables(Map.of(\"ENV\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n repository: https://github.com/example/app\n buildSpec: |\n version: 0.1\n frontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n customRules:\n - source: /\u003c*\u003e\n status: '404'\n target: /index.html\n environmentVariables:\n ENV: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Repository with Tokens\n\nIf you create a new Amplify App with the `repository` argument, you also need to set `oauth_token` or `access_token` for authentication. For GitHub, get a [personal access token](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line) and set `access_token` as follows:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n repository: \"https://github.com/example/app\",\n accessToken: \"...\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n repository=\"https://github.com/example/app\",\n access_token=\"...\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n Repository = \"https://github.com/example/app\",\n AccessToken = \"...\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\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 := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRepository: pulumi.String(\"https://github.com/example/app\"),\n\t\t\tAccessToken: pulumi.String(\"...\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .repository(\"https://github.com/example/app\")\n .accessToken(\"...\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n repository: https://github.com/example/app\n accessToken: '...'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can omit `access_token` if you import an existing Amplify App created by the Amplify Console (using OAuth for authentication).\n\n### Auto Branch Creation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n enableAutoBranchCreation: true,\n autoBranchCreationPatterns: [\n \"*\",\n \"*/**\",\n ],\n autoBranchCreationConfig: {\n enableAutoBuild: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n enable_auto_branch_creation=True,\n auto_branch_creation_patterns=[\n \"*\",\n \"*/**\",\n ],\n auto_branch_creation_config={\n \"enable_auto_build\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n EnableAutoBranchCreation = true,\n AutoBranchCreationPatterns = new[]\n {\n \"*\",\n \"*/**\",\n },\n AutoBranchCreationConfig = new Aws.Amplify.Inputs.AppAutoBranchCreationConfigArgs\n {\n EnableAutoBuild = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\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 := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEnableAutoBranchCreation: pulumi.Bool(true),\n\t\t\tAutoBranchCreationPatterns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\tpulumi.String(\"*/**\"),\n\t\t\t},\n\t\t\tAutoBranchCreationConfig: \u0026amplify.AppAutoBranchCreationConfigArgs{\n\t\t\t\tEnableAutoBuild: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.inputs.AppAutoBranchCreationConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .enableAutoBranchCreation(true)\n .autoBranchCreationPatterns( \n \"*\",\n \"*/**\")\n .autoBranchCreationConfig(AppAutoBranchCreationConfigArgs.builder()\n .enableAutoBuild(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n enableAutoBranchCreation: true # The default patterns added by the Amplify Console.\n autoBranchCreationPatterns:\n - '*'\n - '*/**'\n autoBranchCreationConfig:\n enableAutoBuild: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Authorization\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n enableBasicAuth: true,\n basicAuthCredentials: std.base64encode({\n input: \"username1:password1\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n enable_basic_auth=True,\n basic_auth_credentials=std.base64encode(input=\"username1:password1\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n EnableBasicAuth = true,\n BasicAuthCredentials = Std.Base64encode.Invoke(new()\n {\n Input = \"username1:password1\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"username1:password1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEnableBasicAuth: pulumi.Bool(true),\n\t\t\tBasicAuthCredentials: pulumi.String(invokeBase64encode.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .enableBasicAuth(true)\n .basicAuthCredentials(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"username1:password1\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n enableBasicAuth: true\n basicAuthCredentials:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: username1:password1\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Rewrites and Redirects\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n customRules: [\n {\n source: \"/api/\u003c*\u003e\",\n status: \"200\",\n target: \"https://api.example.com/api/\u003c*\u003e\",\n },\n {\n source: \"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\",\n status: \"200\",\n target: \"/index.html\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n custom_rules=[\n {\n \"source\": \"/api/\u003c*\u003e\",\n \"status\": \"200\",\n \"target\": \"https://api.example.com/api/\u003c*\u003e\",\n },\n {\n \"source\": \"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\",\n \"status\": \"200\",\n \"target\": \"/index.html\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n CustomRules = new[]\n {\n new Aws.Amplify.Inputs.AppCustomRuleArgs\n {\n Source = \"/api/\u003c*\u003e\",\n Status = \"200\",\n Target = \"https://api.example.com/api/\u003c*\u003e\",\n },\n new Aws.Amplify.Inputs.AppCustomRuleArgs\n {\n Source = \"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\",\n Status = \"200\",\n Target = \"/index.html\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\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 := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCustomRules: amplify.AppCustomRuleArray{\n\t\t\t\t\u0026amplify.AppCustomRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"/api/\u003c*\u003e\"),\n\t\t\t\t\tStatus: pulumi.String(\"200\"),\n\t\t\t\t\tTarget: pulumi.String(\"https://api.example.com/api/\u003c*\u003e\"),\n\t\t\t\t},\n\t\t\t\t\u0026amplify.AppCustomRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\"),\n\t\t\t\t\tStatus: pulumi.String(\"200\"),\n\t\t\t\t\tTarget: pulumi.String(\"/index.html\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.inputs.AppCustomRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .customRules( \n AppCustomRuleArgs.builder()\n .source(\"/api/\u003c*\u003e\")\n .status(\"200\")\n .target(\"https://api.example.com/api/\u003c*\u003e\")\n .build(),\n AppCustomRuleArgs.builder()\n .source(\"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\")\n .status(\"200\")\n .target(\"/index.html\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n customRules:\n - source: /api/\u003c*\u003e\n status: '200'\n target: https://api.example.com/api/\u003c*\u003e\n - source: \u003c/^[^.]+$|\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\n status: '200'\n target: /index.html\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n environmentVariables: {\n _CUSTOM_IMAGE: \"node:16\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n environment_variables={\n \"_CUSTOM_IMAGE\": \"node:16\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n EnvironmentVariables = \n {\n { \"_CUSTOM_IMAGE\", \"node:16\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\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 := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\"_CUSTOM_IMAGE\": pulumi.String(\"node:16\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .environmentVariables(Map.of(\"_CUSTOM_IMAGE\", \"node:16\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n environmentVariables:\n _CUSTOM_IMAGE: node:16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Headers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n customHeaders: `customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n custom_headers=\"\"\"customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n CustomHeaders = @\"customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"\"default-src 'self'\"\"\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\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 := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCustomHeaders: pulumi.String(`customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n`),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .customHeaders(\"\"\"\ncustomHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n customHeaders: |\n customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amplify App using Amplify App ID (appId). For example:\n\n```sh\n$ pulumi import aws:amplify/app:App example d2ypk4k47z8u6\n```\nApp ID can be obtained from App ARN (e.g., `arn:aws:amplify:us-east-1:12345678:apps/d2ypk4k47z8u6`).\n\n", "properties": { "accessToken": { "type": "string", @@ -175124,7 +175124,7 @@ } }, "aws:amplify/branch:Branch": { - "description": "Provides an Amplify Branch resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {name: \"app\"});\nconst master = new aws.amplify.Branch(\"master\", {\n appId: example.id,\n branchName: \"master\",\n framework: \"React\",\n stage: \"PRODUCTION\",\n environmentVariables: {\n REACT_APP_API_SERVER: \"https://api.example.com\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\", name=\"app\")\nmaster = aws.amplify.Branch(\"master\",\n app_id=example.id,\n branch_name=\"master\",\n framework=\"React\",\n stage=\"PRODUCTION\",\n environment_variables={\n \"REACT_APP_API_SERVER\": \"https://api.example.com\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"app\",\n });\n\n var master = new Aws.Amplify.Branch(\"master\", new()\n {\n AppId = example.Id,\n BranchName = \"master\",\n Framework = \"React\",\n Stage = \"PRODUCTION\",\n EnvironmentVariables = \n {\n { \"REACT_APP_API_SERVER\", \"https://api.example.com\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewBranch(ctx, \"master\", \u0026amplify.BranchArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tBranchName: pulumi.String(\"master\"),\n\t\t\tFramework: pulumi.String(\"React\"),\n\t\t\tStage: pulumi.String(\"PRODUCTION\"),\n\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\"REACT_APP_API_SERVER\": pulumi.String(\"https://api.example.com\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.Branch;\nimport com.pulumi.aws.amplify.BranchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"app\")\n .build());\n\n var master = new Branch(\"master\", BranchArgs.builder()\n .appId(example.id())\n .branchName(\"master\")\n .framework(\"React\")\n .stage(\"PRODUCTION\")\n .environmentVariables(Map.of(\"REACT_APP_API_SERVER\", \"https://api.example.com\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: app\n master:\n type: aws:amplify:Branch\n properties:\n appId: ${example.id}\n branchName: master\n framework: React\n stage: PRODUCTION\n environmentVariables:\n REACT_APP_API_SERVER: https://api.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.amplify.App(\"example\", {name: \"app\"});\nconst master = new aws.amplify.Branch(\"master\", {\n appId: example.id,\n branchName: \"master\",\n enableBasicAuth: true,\n basicAuthCredentials: std.base64encode({\n input: \"username:password\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.amplify.App(\"example\", name=\"app\")\nmaster = aws.amplify.Branch(\"master\",\n app_id=example.id,\n branch_name=\"master\",\n enable_basic_auth=True,\n basic_auth_credentials=std.base64encode(input=\"username:password\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"app\",\n });\n\n var master = new Aws.Amplify.Branch(\"master\", new()\n {\n AppId = example.Id,\n BranchName = \"master\",\n EnableBasicAuth = true,\n BasicAuthCredentials = Std.Base64encode.Invoke(new()\n {\n Input = \"username:password\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"username:password\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewBranch(ctx, \"master\", \u0026amplify.BranchArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tBranchName: pulumi.String(\"master\"),\n\t\t\tEnableBasicAuth: pulumi.Bool(true),\n\t\t\tBasicAuthCredentials: pulumi.String(invokeBase64encode.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.Branch;\nimport com.pulumi.aws.amplify.BranchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"app\")\n .build());\n\n var master = new Branch(\"master\", BranchArgs.builder()\n .appId(example.id())\n .branchName(\"master\")\n .enableBasicAuth(true)\n .basicAuthCredentials(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"username:password\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: app\n master:\n type: aws:amplify:Branch\n properties:\n appId: ${example.id}\n branchName: master\n enableBasicAuth: true\n basicAuthCredentials:\n fn::invoke:\n function: std:base64encode\n arguments:\n input: username:password\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Notifications\n\nAmplify Console uses EventBridge (formerly known as CloudWatch Events) and SNS for email notifications. To implement the same functionality, you need to set `enable_notification` in a `aws.amplify.Branch` resource, as well as creating an EventBridge Rule, an SNS topic, and SNS subscriptions.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {name: \"app\"});\nconst master = new aws.amplify.Branch(\"master\", {\n appId: example.id,\n branchName: \"master\",\n enableNotification: true,\n});\n// EventBridge Rule for Amplify notifications\nconst amplifyAppMasterEventRule = new aws.cloudwatch.EventRule(\"amplify_app_master\", {\n name: pulumi.interpolate`amplify-${app.id}-${master.branchName}-branch-notification`,\n description: pulumi.interpolate`AWS Amplify build notifications for : App: ${app.id} Branch: ${master.branchName}`,\n eventPattern: pulumi.jsonStringify({\n detail: {\n appId: [example.id],\n branchName: [master.branchName],\n jobStatus: [\n \"SUCCEED\",\n \"FAILED\",\n \"STARTED\",\n ],\n },\n \"detail-type\": [\"Amplify Deployment Status Change\"],\n source: [\"aws.amplify\"],\n }),\n});\n// SNS Topic for Amplify notifications\nconst amplifyAppMasterTopic = new aws.sns.Topic(\"amplify_app_master\", {name: pulumi.interpolate`amplify-${app.id}_${master.branchName}`});\nconst amplifyAppMasterEventTarget = new aws.cloudwatch.EventTarget(\"amplify_app_master\", {\n rule: amplifyAppMasterEventRule.name,\n targetId: master.branchName,\n arn: amplifyAppMasterTopic.arn,\n inputTransformer: {\n inputPaths: {\n jobId: \"$.detail.jobId\",\n appId: \"$.detail.appId\",\n region: \"$.region\",\n branch: \"$.detail.branchName\",\n status: \"$.detail.jobStatus\",\n },\n inputTemplate: \"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\",\n },\n});\nconst amplifyAppMaster = pulumi.all([master.arn, amplifyAppMasterTopic.arn]).apply(([masterArn, amplifyAppMasterTopicArn]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: `Allow_Publish_Events ${masterArn}`,\n effect: \"Allow\",\n actions: [\"SNS:Publish\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n resources: [amplifyAppMasterTopicArn],\n }],\n}));\nconst amplifyAppMasterTopicPolicy = new aws.sns.TopicPolicy(\"amplify_app_master\", {\n arn: amplifyAppMasterTopic.arn,\n policy: amplifyAppMaster.apply(amplifyAppMaster =\u003e amplifyAppMaster.json),\n});\nconst _this = new aws.sns.TopicSubscription(\"this\", {\n topic: amplifyAppMasterTopic.arn,\n protocol: \"email\",\n endpoint: \"user@acme.com\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\", name=\"app\")\nmaster = aws.amplify.Branch(\"master\",\n app_id=example.id,\n branch_name=\"master\",\n enable_notification=True)\n# EventBridge Rule for Amplify notifications\namplify_app_master_event_rule = aws.cloudwatch.EventRule(\"amplify_app_master\",\n name=master.branch_name.apply(lambda branch_name: f\"amplify-{app['id']}-{branch_name}-branch-notification\"),\n description=master.branch_name.apply(lambda branch_name: f\"AWS Amplify build notifications for : App: {app['id']} Branch: {branch_name}\"),\n event_pattern=pulumi.Output.json_dumps({\n \"detail\": {\n \"appId\": [example.id],\n \"branchName\": [master.branch_name],\n \"jobStatus\": [\n \"SUCCEED\",\n \"FAILED\",\n \"STARTED\",\n ],\n },\n \"detail-type\": [\"Amplify Deployment Status Change\"],\n \"source\": [\"aws.amplify\"],\n }))\n# SNS Topic for Amplify notifications\namplify_app_master_topic = aws.sns.Topic(\"amplify_app_master\", name=master.branch_name.apply(lambda branch_name: f\"amplify-{app['id']}_{branch_name}\"))\namplify_app_master_event_target = aws.cloudwatch.EventTarget(\"amplify_app_master\",\n rule=amplify_app_master_event_rule.name,\n target_id=master.branch_name,\n arn=amplify_app_master_topic.arn,\n input_transformer={\n \"input_paths\": {\n \"jobId\": \"$.detail.jobId\",\n \"appId\": \"$.detail.appId\",\n \"region\": \"$.region\",\n \"branch\": \"$.detail.branchName\",\n \"status\": \"$.detail.jobStatus\",\n },\n \"input_template\": \"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\",\n })\namplify_app_master = pulumi.Output.all(\n masterArn=master.arn,\n amplifyAppMasterTopicArn=amplify_app_master_topic.arn\n).apply(lambda resolved_outputs: aws.iam.get_policy_document_output(statements=[{\n \"sid\": f\"Allow_Publish_Events {resolved_outputs['masterArn']}\",\n \"effect\": \"Allow\",\n \"actions\": [\"SNS:Publish\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"events.amazonaws.com\"],\n }],\n \"resources\": [%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)],\n}]))\n\namplify_app_master_topic_policy = aws.sns.TopicPolicy(\"amplify_app_master\",\n arn=amplify_app_master_topic.arn,\n policy=amplify_app_master.json)\nthis = aws.sns.TopicSubscription(\"this\",\n topic=amplify_app_master_topic.arn,\n protocol=\"email\",\n endpoint=\"user@acme.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"app\",\n });\n\n var master = new Aws.Amplify.Branch(\"master\", new()\n {\n AppId = example.Id,\n BranchName = \"master\",\n EnableNotification = true,\n });\n\n // EventBridge Rule for Amplify notifications\n var amplifyAppMasterEventRule = new Aws.CloudWatch.EventRule(\"amplify_app_master\", new()\n {\n Name = master.BranchName.Apply(branchName =\u003e $\"amplify-{app.Id}-{branchName}-branch-notification\"),\n Description = master.BranchName.Apply(branchName =\u003e $\"AWS Amplify build notifications for : App: {app.Id} Branch: {branchName}\"),\n EventPattern = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"detail\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"appId\"] = new[]\n {\n example.Id,\n },\n [\"branchName\"] = new[]\n {\n master.BranchName,\n },\n [\"jobStatus\"] = new[]\n {\n \"SUCCEED\",\n \"FAILED\",\n \"STARTED\",\n },\n },\n [\"detail-type\"] = new[]\n {\n \"Amplify Deployment Status Change\",\n },\n [\"source\"] = new[]\n {\n \"aws.amplify\",\n },\n })),\n });\n\n // SNS Topic for Amplify notifications\n var amplifyAppMasterTopic = new Aws.Sns.Topic(\"amplify_app_master\", new()\n {\n Name = master.BranchName.Apply(branchName =\u003e $\"amplify-{app.Id}_{branchName}\"),\n });\n\n var amplifyAppMasterEventTarget = new Aws.CloudWatch.EventTarget(\"amplify_app_master\", new()\n {\n Rule = amplifyAppMasterEventRule.Name,\n TargetId = master.BranchName,\n Arn = amplifyAppMasterTopic.Arn,\n InputTransformer = new Aws.CloudWatch.Inputs.EventTargetInputTransformerArgs\n {\n InputPaths = \n {\n { \"jobId\", \"$.detail.jobId\" },\n { \"appId\", \"$.detail.appId\" },\n { \"region\", \"$.region\" },\n { \"branch\", \"$.detail.branchName\" },\n { \"status\", \"$.detail.jobStatus\" },\n },\n InputTemplate = \"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\",\n },\n });\n\n var amplifyAppMaster = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = $\"Allow_Publish_Events {master.Arn}\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n amplifyAppMasterTopic.Arn,\n },\n },\n },\n });\n\n var amplifyAppMasterTopicPolicy = new Aws.Sns.TopicPolicy(\"amplify_app_master\", new()\n {\n Arn = amplifyAppMasterTopic.Arn,\n Policy = amplifyAppMaster.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var @this = new Aws.Sns.TopicSubscription(\"this\", new()\n {\n Topic = amplifyAppMasterTopic.Arn,\n Protocol = \"email\",\n Endpoint = \"user@acme.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\nName: pulumi.String(\"app\"),\n})\nif err != nil {\nreturn err\n}\nmaster, err := amplify.NewBranch(ctx, \"master\", \u0026amplify.BranchArgs{\nAppId: example.ID(),\nBranchName: pulumi.String(\"master\"),\nEnableNotification: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\n// EventBridge Rule for Amplify notifications\namplifyAppMasterEventRule, err := cloudwatch.NewEventRule(ctx, \"amplify_app_master\", \u0026cloudwatch.EventRuleArgs{\nName: master.BranchName.ApplyT(func(branchName string) (string, error) {\nreturn fmt.Sprintf(\"amplify-%v-%v-branch-notification\", app.Id, branchName), nil\n}).(pulumi.StringOutput),\nDescription: master.BranchName.ApplyT(func(branchName string) (string, error) {\nreturn fmt.Sprintf(\"AWS Amplify build notifications for : App: %v Branch: %v\", app.Id, branchName), nil\n}).(pulumi.StringOutput),\nEventPattern: pulumi.All(example.ID(),master.BranchName).ApplyT(func(_args []interface{}) (string, error) {\nid := _args[0].(string)\nbranchName := _args[1].(string)\nvar _zero string\ntmpJSON0, err := json.Marshal(map[string]interface{}{\n\"detail\": map[string]interface{}{\n\"appId\": []string{\nid,\n},\n\"branchName\": []string{\nbranchName,\n},\n\"jobStatus\": []string{\n\"SUCCEED\",\n\"FAILED\",\n\"STARTED\",\n},\n},\n\"detail-type\": []string{\n\"Amplify Deployment Status Change\",\n},\n\"source\": []string{\n\"aws.amplify\",\n},\n})\nif err != nil {\nreturn _zero, err\n}\njson0 := string(tmpJSON0)\nreturn json0, nil\n}).(pulumi.StringOutput),\n})\nif err != nil {\nreturn err\n}\n// SNS Topic for Amplify notifications\namplifyAppMasterTopic, err := sns.NewTopic(ctx, \"amplify_app_master\", \u0026sns.TopicArgs{\nName: master.BranchName.ApplyT(func(branchName string) (string, error) {\nreturn fmt.Sprintf(\"amplify-%v_%v\", app.Id, branchName), nil\n}).(pulumi.StringOutput),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudwatch.NewEventTarget(ctx, \"amplify_app_master\", \u0026cloudwatch.EventTargetArgs{\nRule: amplifyAppMasterEventRule.Name,\nTargetId: master.BranchName,\nArn: amplifyAppMasterTopic.Arn,\nInputTransformer: \u0026cloudwatch.EventTargetInputTransformerArgs{\nInputPaths: pulumi.StringMap{\n\"jobId\": pulumi.String(\"$.detail.jobId\"),\n\"appId\": pulumi.String(\"$.detail.appId\"),\n\"region\": pulumi.String(\"$.region\"),\n\"branch\": pulumi.String(\"$.detail.branchName\"),\n\"status\": pulumi.String(\"$.detail.jobStatus\"),\n},\nInputTemplate: pulumi.String(\"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\"),\n},\n})\nif err != nil {\nreturn err\n}\namplifyAppMaster := pulumi.All(master.Arn,amplifyAppMasterTopic.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\nmasterArn := _args[0].(string)\namplifyAppMasterTopicArn := _args[1].(string)\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: fmt.Sprintf(\"Allow_Publish_Events %v\", masterArn),\nEffect: \"Allow\",\nActions: []string{\n\"SNS:Publish\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"events.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\namplifyAppMasterTopicArn,\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"amplify_app_master\", \u0026sns.TopicPolicyArgs{\nArn: amplifyAppMasterTopic.Arn,\nPolicy: pulumi.String(amplifyAppMaster.ApplyT(func(amplifyAppMaster iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026amplifyAppMaster.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = sns.NewTopicSubscription(ctx, \"this\", \u0026sns.TopicSubscriptionArgs{\nTopic: amplifyAppMasterTopic.Arn,\nProtocol: pulumi.String(\"email\"),\nEndpoint: pulumi.String(\"user@acme.com\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.Branch;\nimport com.pulumi.aws.amplify.BranchArgs;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetInputTransformerArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport com.pulumi.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"app\")\n .build());\n\n var master = new Branch(\"master\", BranchArgs.builder()\n .appId(example.id())\n .branchName(\"master\")\n .enableNotification(true)\n .build());\n\n // EventBridge Rule for Amplify notifications\n var amplifyAppMasterEventRule = new EventRule(\"amplifyAppMasterEventRule\", EventRuleArgs.builder()\n .name(master.branchName().applyValue(branchName -\u003e String.format(\"amplify-%s-%s-branch-notification\", app.id(),branchName)))\n .description(master.branchName().applyValue(branchName -\u003e String.format(\"AWS Amplify build notifications for : App: %s Branch: %s\", app.id(),branchName)))\n .eventPattern(Output.tuple(example.id(), master.branchName()).applyValue(values -\u003e {\n var id = values.t1;\n var branchName = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(\"detail\", jsonObject(\n jsonProperty(\"appId\", jsonArray(id)),\n jsonProperty(\"branchName\", jsonArray(branchName)),\n jsonProperty(\"jobStatus\", jsonArray(\n \"SUCCEED\", \n \"FAILED\", \n \"STARTED\"\n ))\n )),\n jsonProperty(\"detail-type\", jsonArray(\"Amplify Deployment Status Change\")),\n jsonProperty(\"source\", jsonArray(\"aws.amplify\"))\n ));\n }))\n .build());\n\n // SNS Topic for Amplify notifications\n var amplifyAppMasterTopic = new Topic(\"amplifyAppMasterTopic\", TopicArgs.builder()\n .name(master.branchName().applyValue(branchName -\u003e String.format(\"amplify-%s_%s\", app.id(),branchName)))\n .build());\n\n var amplifyAppMasterEventTarget = new EventTarget(\"amplifyAppMasterEventTarget\", EventTargetArgs.builder()\n .rule(amplifyAppMasterEventRule.name())\n .targetId(master.branchName())\n .arn(amplifyAppMasterTopic.arn())\n .inputTransformer(EventTargetInputTransformerArgs.builder()\n .inputPaths(Map.ofEntries(\n Map.entry(\"jobId\", \"$.detail.jobId\"),\n Map.entry(\"appId\", \"$.detail.appId\"),\n Map.entry(\"region\", \"$.region\"),\n Map.entry(\"branch\", \"$.detail.branchName\"),\n Map.entry(\"status\", \"$.detail.jobStatus\")\n ))\n .inputTemplate(\"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\")\n .build())\n .build());\n\n final var amplifyAppMaster = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(master.arn().applyValue(arn -\u003e String.format(\"Allow_Publish_Events %s\", arn)))\n .effect(\"Allow\")\n .actions(\"SNS:Publish\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .resources(amplifyAppMasterTopic.arn())\n .build())\n .build());\n\n var amplifyAppMasterTopicPolicy = new TopicPolicy(\"amplifyAppMasterTopicPolicy\", TopicPolicyArgs.builder()\n .arn(amplifyAppMasterTopic.arn())\n .policy(amplifyAppMaster.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(amplifyAppMaster -\u003e amplifyAppMaster.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var this_ = new TopicSubscription(\"this\", TopicSubscriptionArgs.builder()\n .topic(amplifyAppMasterTopic.arn())\n .protocol(\"email\")\n .endpoint(\"user@acme.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: app\n master:\n type: aws:amplify:Branch\n properties:\n appId: ${example.id}\n branchName: master\n enableNotification: true\n # EventBridge Rule for Amplify notifications\n amplifyAppMasterEventRule:\n type: aws:cloudwatch:EventRule\n name: amplify_app_master\n properties:\n name: amplify-${app.id}-${master.branchName}-branch-notification\n description: 'AWS Amplify build notifications for : App: ${app.id} Branch: ${master.branchName}'\n eventPattern:\n fn::toJSON:\n detail:\n appId:\n - ${example.id}\n branchName:\n - ${master.branchName}\n jobStatus:\n - SUCCEED\n - FAILED\n - STARTED\n detail-type:\n - Amplify Deployment Status Change\n source:\n - aws.amplify\n amplifyAppMasterEventTarget:\n type: aws:cloudwatch:EventTarget\n name: amplify_app_master\n properties:\n rule: ${amplifyAppMasterEventRule.name}\n targetId: ${master.branchName}\n arn: ${amplifyAppMasterTopic.arn}\n inputTransformer:\n inputPaths:\n jobId: $.detail.jobId\n appId: $.detail.appId\n region: $.region\n branch: $.detail.branchName\n status: $.detail.jobStatus\n inputTemplate: '\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \"'\n # SNS Topic for Amplify notifications\n amplifyAppMasterTopic:\n type: aws:sns:Topic\n name: amplify_app_master\n properties:\n name: amplify-${app.id}_${master.branchName}\n amplifyAppMasterTopicPolicy:\n type: aws:sns:TopicPolicy\n name: amplify_app_master\n properties:\n arn: ${amplifyAppMasterTopic.arn}\n policy: ${amplifyAppMaster.json}\n this:\n type: aws:sns:TopicSubscription\n properties:\n topic: ${amplifyAppMasterTopic.arn}\n protocol: email\n endpoint: user@acme.com\nvariables:\n amplifyAppMaster:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: Allow_Publish_Events ${master.arn}\n effect: Allow\n actions:\n - SNS:Publish\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n resources:\n - ${amplifyAppMasterTopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amplify branch using `app_id` and `branch_name`. For example:\n\n```sh\n$ pulumi import aws:amplify/branch:Branch master d2ypk4k47z8u6/master\n```\n", + "description": "Provides an Amplify Branch resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {name: \"app\"});\nconst master = new aws.amplify.Branch(\"master\", {\n appId: example.id,\n branchName: \"master\",\n framework: \"React\",\n stage: \"PRODUCTION\",\n environmentVariables: {\n REACT_APP_API_SERVER: \"https://api.example.com\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\", name=\"app\")\nmaster = aws.amplify.Branch(\"master\",\n app_id=example.id,\n branch_name=\"master\",\n framework=\"React\",\n stage=\"PRODUCTION\",\n environment_variables={\n \"REACT_APP_API_SERVER\": \"https://api.example.com\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"app\",\n });\n\n var master = new Aws.Amplify.Branch(\"master\", new()\n {\n AppId = example.Id,\n BranchName = \"master\",\n Framework = \"React\",\n Stage = \"PRODUCTION\",\n EnvironmentVariables = \n {\n { \"REACT_APP_API_SERVER\", \"https://api.example.com\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewBranch(ctx, \"master\", \u0026amplify.BranchArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tBranchName: pulumi.String(\"master\"),\n\t\t\tFramework: pulumi.String(\"React\"),\n\t\t\tStage: pulumi.String(\"PRODUCTION\"),\n\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\"REACT_APP_API_SERVER\": pulumi.String(\"https://api.example.com\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.Branch;\nimport com.pulumi.aws.amplify.BranchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"app\")\n .build());\n\n var master = new Branch(\"master\", BranchArgs.builder()\n .appId(example.id())\n .branchName(\"master\")\n .framework(\"React\")\n .stage(\"PRODUCTION\")\n .environmentVariables(Map.of(\"REACT_APP_API_SERVER\", \"https://api.example.com\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: app\n master:\n type: aws:amplify:Branch\n properties:\n appId: ${example.id}\n branchName: master\n framework: React\n stage: PRODUCTION\n environmentVariables:\n REACT_APP_API_SERVER: https://api.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.amplify.App(\"example\", {name: \"app\"});\nconst master = new aws.amplify.Branch(\"master\", {\n appId: example.id,\n branchName: \"master\",\n enableBasicAuth: true,\n basicAuthCredentials: std.base64encode({\n input: \"username:password\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.amplify.App(\"example\", name=\"app\")\nmaster = aws.amplify.Branch(\"master\",\n app_id=example.id,\n branch_name=\"master\",\n enable_basic_auth=True,\n basic_auth_credentials=std.base64encode(input=\"username:password\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"app\",\n });\n\n var master = new Aws.Amplify.Branch(\"master\", new()\n {\n AppId = example.Id,\n BranchName = \"master\",\n EnableBasicAuth = true,\n BasicAuthCredentials = Std.Base64encode.Invoke(new()\n {\n Input = \"username:password\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"username:password\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewBranch(ctx, \"master\", \u0026amplify.BranchArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tBranchName: pulumi.String(\"master\"),\n\t\t\tEnableBasicAuth: pulumi.Bool(true),\n\t\t\tBasicAuthCredentials: pulumi.String(invokeBase64encode.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.Branch;\nimport com.pulumi.aws.amplify.BranchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"app\")\n .build());\n\n var master = new Branch(\"master\", BranchArgs.builder()\n .appId(example.id())\n .branchName(\"master\")\n .enableBasicAuth(true)\n .basicAuthCredentials(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"username:password\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: app\n master:\n type: aws:amplify:Branch\n properties:\n appId: ${example.id}\n branchName: master\n enableBasicAuth: true\n basicAuthCredentials:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: username:password\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Notifications\n\nAmplify Console uses EventBridge (formerly known as CloudWatch Events) and SNS for email notifications. To implement the same functionality, you need to set `enable_notification` in a `aws.amplify.Branch` resource, as well as creating an EventBridge Rule, an SNS topic, and SNS subscriptions.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {name: \"app\"});\nconst master = new aws.amplify.Branch(\"master\", {\n appId: example.id,\n branchName: \"master\",\n enableNotification: true,\n});\n// EventBridge Rule for Amplify notifications\nconst amplifyAppMasterEventRule = new aws.cloudwatch.EventRule(\"amplify_app_master\", {\n name: pulumi.interpolate`amplify-${app.id}-${master.branchName}-branch-notification`,\n description: pulumi.interpolate`AWS Amplify build notifications for : App: ${app.id} Branch: ${master.branchName}`,\n eventPattern: pulumi.jsonStringify({\n detail: {\n appId: [example.id],\n branchName: [master.branchName],\n jobStatus: [\n \"SUCCEED\",\n \"FAILED\",\n \"STARTED\",\n ],\n },\n \"detail-type\": [\"Amplify Deployment Status Change\"],\n source: [\"aws.amplify\"],\n }),\n});\n// SNS Topic for Amplify notifications\nconst amplifyAppMasterTopic = new aws.sns.Topic(\"amplify_app_master\", {name: pulumi.interpolate`amplify-${app.id}_${master.branchName}`});\nconst amplifyAppMasterEventTarget = new aws.cloudwatch.EventTarget(\"amplify_app_master\", {\n rule: amplifyAppMasterEventRule.name,\n targetId: master.branchName,\n arn: amplifyAppMasterTopic.arn,\n inputTransformer: {\n inputPaths: {\n jobId: \"$.detail.jobId\",\n appId: \"$.detail.appId\",\n region: \"$.region\",\n branch: \"$.detail.branchName\",\n status: \"$.detail.jobStatus\",\n },\n inputTemplate: \"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\",\n },\n});\nconst amplifyAppMaster = pulumi.all([master.arn, amplifyAppMasterTopic.arn]).apply(([masterArn, amplifyAppMasterTopicArn]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: `Allow_Publish_Events ${masterArn}`,\n effect: \"Allow\",\n actions: [\"SNS:Publish\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n resources: [amplifyAppMasterTopicArn],\n }],\n}));\nconst amplifyAppMasterTopicPolicy = new aws.sns.TopicPolicy(\"amplify_app_master\", {\n arn: amplifyAppMasterTopic.arn,\n policy: amplifyAppMaster.apply(amplifyAppMaster =\u003e amplifyAppMaster.json),\n});\nconst _this = new aws.sns.TopicSubscription(\"this\", {\n topic: amplifyAppMasterTopic.arn,\n protocol: \"email\",\n endpoint: \"user@acme.com\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\", name=\"app\")\nmaster = aws.amplify.Branch(\"master\",\n app_id=example.id,\n branch_name=\"master\",\n enable_notification=True)\n# EventBridge Rule for Amplify notifications\namplify_app_master_event_rule = aws.cloudwatch.EventRule(\"amplify_app_master\",\n name=master.branch_name.apply(lambda branch_name: f\"amplify-{app['id']}-{branch_name}-branch-notification\"),\n description=master.branch_name.apply(lambda branch_name: f\"AWS Amplify build notifications for : App: {app['id']} Branch: {branch_name}\"),\n event_pattern=pulumi.Output.json_dumps({\n \"detail\": {\n \"appId\": [example.id],\n \"branchName\": [master.branch_name],\n \"jobStatus\": [\n \"SUCCEED\",\n \"FAILED\",\n \"STARTED\",\n ],\n },\n \"detail-type\": [\"Amplify Deployment Status Change\"],\n \"source\": [\"aws.amplify\"],\n }))\n# SNS Topic for Amplify notifications\namplify_app_master_topic = aws.sns.Topic(\"amplify_app_master\", name=master.branch_name.apply(lambda branch_name: f\"amplify-{app['id']}_{branch_name}\"))\namplify_app_master_event_target = aws.cloudwatch.EventTarget(\"amplify_app_master\",\n rule=amplify_app_master_event_rule.name,\n target_id=master.branch_name,\n arn=amplify_app_master_topic.arn,\n input_transformer={\n \"input_paths\": {\n \"jobId\": \"$.detail.jobId\",\n \"appId\": \"$.detail.appId\",\n \"region\": \"$.region\",\n \"branch\": \"$.detail.branchName\",\n \"status\": \"$.detail.jobStatus\",\n },\n \"input_template\": \"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\",\n })\namplify_app_master = pulumi.Output.all(\n masterArn=master.arn,\n amplifyAppMasterTopicArn=amplify_app_master_topic.arn\n).apply(lambda resolved_outputs: aws.iam.get_policy_document_output(statements=[{\n \"sid\": f\"Allow_Publish_Events {resolved_outputs['masterArn']}\",\n \"effect\": \"Allow\",\n \"actions\": [\"SNS:Publish\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"events.amazonaws.com\"],\n }],\n \"resources\": [%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)],\n}]))\n\namplify_app_master_topic_policy = aws.sns.TopicPolicy(\"amplify_app_master\",\n arn=amplify_app_master_topic.arn,\n policy=amplify_app_master.json)\nthis = aws.sns.TopicSubscription(\"this\",\n topic=amplify_app_master_topic.arn,\n protocol=\"email\",\n endpoint=\"user@acme.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"app\",\n });\n\n var master = new Aws.Amplify.Branch(\"master\", new()\n {\n AppId = example.Id,\n BranchName = \"master\",\n EnableNotification = true,\n });\n\n // EventBridge Rule for Amplify notifications\n var amplifyAppMasterEventRule = new Aws.CloudWatch.EventRule(\"amplify_app_master\", new()\n {\n Name = master.BranchName.Apply(branchName =\u003e $\"amplify-{app.Id}-{branchName}-branch-notification\"),\n Description = master.BranchName.Apply(branchName =\u003e $\"AWS Amplify build notifications for : App: {app.Id} Branch: {branchName}\"),\n EventPattern = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"detail\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"appId\"] = new[]\n {\n example.Id,\n },\n [\"branchName\"] = new[]\n {\n master.BranchName,\n },\n [\"jobStatus\"] = new[]\n {\n \"SUCCEED\",\n \"FAILED\",\n \"STARTED\",\n },\n },\n [\"detail-type\"] = new[]\n {\n \"Amplify Deployment Status Change\",\n },\n [\"source\"] = new[]\n {\n \"aws.amplify\",\n },\n })),\n });\n\n // SNS Topic for Amplify notifications\n var amplifyAppMasterTopic = new Aws.Sns.Topic(\"amplify_app_master\", new()\n {\n Name = master.BranchName.Apply(branchName =\u003e $\"amplify-{app.Id}_{branchName}\"),\n });\n\n var amplifyAppMasterEventTarget = new Aws.CloudWatch.EventTarget(\"amplify_app_master\", new()\n {\n Rule = amplifyAppMasterEventRule.Name,\n TargetId = master.BranchName,\n Arn = amplifyAppMasterTopic.Arn,\n InputTransformer = new Aws.CloudWatch.Inputs.EventTargetInputTransformerArgs\n {\n InputPaths = \n {\n { \"jobId\", \"$.detail.jobId\" },\n { \"appId\", \"$.detail.appId\" },\n { \"region\", \"$.region\" },\n { \"branch\", \"$.detail.branchName\" },\n { \"status\", \"$.detail.jobStatus\" },\n },\n InputTemplate = \"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\",\n },\n });\n\n var amplifyAppMaster = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = $\"Allow_Publish_Events {master.Arn}\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n amplifyAppMasterTopic.Arn,\n },\n },\n },\n });\n\n var amplifyAppMasterTopicPolicy = new Aws.Sns.TopicPolicy(\"amplify_app_master\", new()\n {\n Arn = amplifyAppMasterTopic.Arn,\n Policy = amplifyAppMaster.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var @this = new Aws.Sns.TopicSubscription(\"this\", new()\n {\n Topic = amplifyAppMasterTopic.Arn,\n Protocol = \"email\",\n Endpoint = \"user@acme.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\nName: pulumi.String(\"app\"),\n})\nif err != nil {\nreturn err\n}\nmaster, err := amplify.NewBranch(ctx, \"master\", \u0026amplify.BranchArgs{\nAppId: example.ID(),\nBranchName: pulumi.String(\"master\"),\nEnableNotification: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\n// EventBridge Rule for Amplify notifications\namplifyAppMasterEventRule, err := cloudwatch.NewEventRule(ctx, \"amplify_app_master\", \u0026cloudwatch.EventRuleArgs{\nName: master.BranchName.ApplyT(func(branchName string) (string, error) {\nreturn fmt.Sprintf(\"amplify-%v-%v-branch-notification\", app.Id, branchName), nil\n}).(pulumi.StringOutput),\nDescription: master.BranchName.ApplyT(func(branchName string) (string, error) {\nreturn fmt.Sprintf(\"AWS Amplify build notifications for : App: %v Branch: %v\", app.Id, branchName), nil\n}).(pulumi.StringOutput),\nEventPattern: pulumi.All(example.ID(),master.BranchName).ApplyT(func(_args []interface{}) (string, error) {\nid := _args[0].(string)\nbranchName := _args[1].(string)\nvar _zero string\ntmpJSON0, err := json.Marshal(map[string]interface{}{\n\"detail\": map[string]interface{}{\n\"appId\": []string{\nid,\n},\n\"branchName\": []string{\nbranchName,\n},\n\"jobStatus\": []string{\n\"SUCCEED\",\n\"FAILED\",\n\"STARTED\",\n},\n},\n\"detail-type\": []string{\n\"Amplify Deployment Status Change\",\n},\n\"source\": []string{\n\"aws.amplify\",\n},\n})\nif err != nil {\nreturn _zero, err\n}\njson0 := string(tmpJSON0)\nreturn json0, nil\n}).(pulumi.StringOutput),\n})\nif err != nil {\nreturn err\n}\n// SNS Topic for Amplify notifications\namplifyAppMasterTopic, err := sns.NewTopic(ctx, \"amplify_app_master\", \u0026sns.TopicArgs{\nName: master.BranchName.ApplyT(func(branchName string) (string, error) {\nreturn fmt.Sprintf(\"amplify-%v_%v\", app.Id, branchName), nil\n}).(pulumi.StringOutput),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudwatch.NewEventTarget(ctx, \"amplify_app_master\", \u0026cloudwatch.EventTargetArgs{\nRule: amplifyAppMasterEventRule.Name,\nTargetId: master.BranchName,\nArn: amplifyAppMasterTopic.Arn,\nInputTransformer: \u0026cloudwatch.EventTargetInputTransformerArgs{\nInputPaths: pulumi.StringMap{\n\"jobId\": pulumi.String(\"$.detail.jobId\"),\n\"appId\": pulumi.String(\"$.detail.appId\"),\n\"region\": pulumi.String(\"$.region\"),\n\"branch\": pulumi.String(\"$.detail.branchName\"),\n\"status\": pulumi.String(\"$.detail.jobStatus\"),\n},\nInputTemplate: pulumi.String(\"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\"),\n},\n})\nif err != nil {\nreturn err\n}\namplifyAppMaster := pulumi.All(master.Arn,amplifyAppMasterTopic.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\nmasterArn := _args[0].(string)\namplifyAppMasterTopicArn := _args[1].(string)\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: fmt.Sprintf(\"Allow_Publish_Events %v\", masterArn),\nEffect: \"Allow\",\nActions: []string{\n\"SNS:Publish\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"events.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\namplifyAppMasterTopicArn,\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"amplify_app_master\", \u0026sns.TopicPolicyArgs{\nArn: amplifyAppMasterTopic.Arn,\nPolicy: pulumi.String(amplifyAppMaster.ApplyT(func(amplifyAppMaster iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026amplifyAppMaster.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = sns.NewTopicSubscription(ctx, \"this\", \u0026sns.TopicSubscriptionArgs{\nTopic: amplifyAppMasterTopic.Arn,\nProtocol: pulumi.String(\"email\"),\nEndpoint: pulumi.String(\"user@acme.com\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.Branch;\nimport com.pulumi.aws.amplify.BranchArgs;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetInputTransformerArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport com.pulumi.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"app\")\n .build());\n\n var master = new Branch(\"master\", BranchArgs.builder()\n .appId(example.id())\n .branchName(\"master\")\n .enableNotification(true)\n .build());\n\n // EventBridge Rule for Amplify notifications\n var amplifyAppMasterEventRule = new EventRule(\"amplifyAppMasterEventRule\", EventRuleArgs.builder()\n .name(master.branchName().applyValue(branchName -\u003e String.format(\"amplify-%s-%s-branch-notification\", app.id(),branchName)))\n .description(master.branchName().applyValue(branchName -\u003e String.format(\"AWS Amplify build notifications for : App: %s Branch: %s\", app.id(),branchName)))\n .eventPattern(Output.tuple(example.id(), master.branchName()).applyValue(values -\u003e {\n var id = values.t1;\n var branchName = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(\"detail\", jsonObject(\n jsonProperty(\"appId\", jsonArray(id)),\n jsonProperty(\"branchName\", jsonArray(branchName)),\n jsonProperty(\"jobStatus\", jsonArray(\n \"SUCCEED\", \n \"FAILED\", \n \"STARTED\"\n ))\n )),\n jsonProperty(\"detail-type\", jsonArray(\"Amplify Deployment Status Change\")),\n jsonProperty(\"source\", jsonArray(\"aws.amplify\"))\n ));\n }))\n .build());\n\n // SNS Topic for Amplify notifications\n var amplifyAppMasterTopic = new Topic(\"amplifyAppMasterTopic\", TopicArgs.builder()\n .name(master.branchName().applyValue(branchName -\u003e String.format(\"amplify-%s_%s\", app.id(),branchName)))\n .build());\n\n var amplifyAppMasterEventTarget = new EventTarget(\"amplifyAppMasterEventTarget\", EventTargetArgs.builder()\n .rule(amplifyAppMasterEventRule.name())\n .targetId(master.branchName())\n .arn(amplifyAppMasterTopic.arn())\n .inputTransformer(EventTargetInputTransformerArgs.builder()\n .inputPaths(Map.ofEntries(\n Map.entry(\"jobId\", \"$.detail.jobId\"),\n Map.entry(\"appId\", \"$.detail.appId\"),\n Map.entry(\"region\", \"$.region\"),\n Map.entry(\"branch\", \"$.detail.branchName\"),\n Map.entry(\"status\", \"$.detail.jobStatus\")\n ))\n .inputTemplate(\"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\")\n .build())\n .build());\n\n final var amplifyAppMaster = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(master.arn().applyValue(arn -\u003e String.format(\"Allow_Publish_Events %s\", arn)))\n .effect(\"Allow\")\n .actions(\"SNS:Publish\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .resources(amplifyAppMasterTopic.arn())\n .build())\n .build());\n\n var amplifyAppMasterTopicPolicy = new TopicPolicy(\"amplifyAppMasterTopicPolicy\", TopicPolicyArgs.builder()\n .arn(amplifyAppMasterTopic.arn())\n .policy(amplifyAppMaster.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(amplifyAppMaster -\u003e amplifyAppMaster.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var this_ = new TopicSubscription(\"this\", TopicSubscriptionArgs.builder()\n .topic(amplifyAppMasterTopic.arn())\n .protocol(\"email\")\n .endpoint(\"user@acme.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: app\n master:\n type: aws:amplify:Branch\n properties:\n appId: ${example.id}\n branchName: master\n enableNotification: true\n # EventBridge Rule for Amplify notifications\n amplifyAppMasterEventRule:\n type: aws:cloudwatch:EventRule\n name: amplify_app_master\n properties:\n name: amplify-${app.id}-${master.branchName}-branch-notification\n description: 'AWS Amplify build notifications for : App: ${app.id} Branch: ${master.branchName}'\n eventPattern:\n fn::toJSON:\n detail:\n appId:\n - ${example.id}\n branchName:\n - ${master.branchName}\n jobStatus:\n - SUCCEED\n - FAILED\n - STARTED\n detail-type:\n - Amplify Deployment Status Change\n source:\n - aws.amplify\n amplifyAppMasterEventTarget:\n type: aws:cloudwatch:EventTarget\n name: amplify_app_master\n properties:\n rule: ${amplifyAppMasterEventRule.name}\n targetId: ${master.branchName}\n arn: ${amplifyAppMasterTopic.arn}\n inputTransformer:\n inputPaths:\n jobId: $.detail.jobId\n appId: $.detail.appId\n region: $.region\n branch: $.detail.branchName\n status: $.detail.jobStatus\n inputTemplate: '\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \"'\n # SNS Topic for Amplify notifications\n amplifyAppMasterTopic:\n type: aws:sns:Topic\n name: amplify_app_master\n properties:\n name: amplify-${app.id}_${master.branchName}\n amplifyAppMasterTopicPolicy:\n type: aws:sns:TopicPolicy\n name: amplify_app_master\n properties:\n arn: ${amplifyAppMasterTopic.arn}\n policy: ${amplifyAppMaster.json}\n this:\n type: aws:sns:TopicSubscription\n properties:\n topic: ${amplifyAppMasterTopic.arn}\n protocol: email\n endpoint: user@acme.com\nvariables:\n amplifyAppMaster:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Allow_Publish_Events ${master.arn}\n effect: Allow\n actions:\n - SNS:Publish\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n resources:\n - ${amplifyAppMasterTopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amplify branch using `app_id` and `branch_name`. For example:\n\n```sh\n$ pulumi import aws:amplify/branch:Branch master d2ypk4k47z8u6/master\n```\n", "properties": { "appId": { "type": "string", @@ -175449,7 +175449,7 @@ } }, "aws:amplify/domainAssociation:DomainAssociation": { - "description": "Provides an Amplify Domain Association resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"app\",\n customRules: [{\n source: \"https://example.com\",\n status: \"302\",\n target: \"https://www.example.com\",\n }],\n});\nconst master = new aws.amplify.Branch(\"master\", {\n appId: example.id,\n branchName: \"master\",\n});\nconst exampleDomainAssociation = new aws.amplify.DomainAssociation(\"example\", {\n appId: example.id,\n domainName: \"example.com\",\n subDomains: [\n {\n branchName: master.branchName,\n prefix: \"\",\n },\n {\n branchName: master.branchName,\n prefix: \"www\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"app\",\n custom_rules=[{\n \"source\": \"https://example.com\",\n \"status\": \"302\",\n \"target\": \"https://www.example.com\",\n }])\nmaster = aws.amplify.Branch(\"master\",\n app_id=example.id,\n branch_name=\"master\")\nexample_domain_association = aws.amplify.DomainAssociation(\"example\",\n app_id=example.id,\n domain_name=\"example.com\",\n sub_domains=[\n {\n \"branch_name\": master.branch_name,\n \"prefix\": \"\",\n },\n {\n \"branch_name\": master.branch_name,\n \"prefix\": \"www\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"app\",\n CustomRules = new[]\n {\n new Aws.Amplify.Inputs.AppCustomRuleArgs\n {\n Source = \"https://example.com\",\n Status = \"302\",\n Target = \"https://www.example.com\",\n },\n },\n });\n\n var master = new Aws.Amplify.Branch(\"master\", new()\n {\n AppId = example.Id,\n BranchName = \"master\",\n });\n\n var exampleDomainAssociation = new Aws.Amplify.DomainAssociation(\"example\", new()\n {\n AppId = example.Id,\n DomainName = \"example.com\",\n SubDomains = new[]\n {\n new Aws.Amplify.Inputs.DomainAssociationSubDomainArgs\n {\n BranchName = master.BranchName,\n Prefix = \"\",\n },\n new Aws.Amplify.Inputs.DomainAssociationSubDomainArgs\n {\n BranchName = master.BranchName,\n Prefix = \"www\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"app\"),\n\t\t\tCustomRules: amplify.AppCustomRuleArray{\n\t\t\t\t\u0026amplify.AppCustomRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"https://example.com\"),\n\t\t\t\t\tStatus: pulumi.String(\"302\"),\n\t\t\t\t\tTarget: pulumi.String(\"https://www.example.com\"),\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\tmaster, err := amplify.NewBranch(ctx, \"master\", \u0026amplify.BranchArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tBranchName: pulumi.String(\"master\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewDomainAssociation(ctx, \"example\", \u0026amplify.DomainAssociationArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t\tSubDomains: amplify.DomainAssociationSubDomainArray{\n\t\t\t\t\u0026amplify.DomainAssociationSubDomainArgs{\n\t\t\t\t\tBranchName: master.BranchName,\n\t\t\t\t\tPrefix: pulumi.String(\"\"),\n\t\t\t\t},\n\t\t\t\t\u0026amplify.DomainAssociationSubDomainArgs{\n\t\t\t\t\tBranchName: master.BranchName,\n\t\t\t\t\tPrefix: pulumi.String(\"www\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.inputs.AppCustomRuleArgs;\nimport com.pulumi.aws.amplify.Branch;\nimport com.pulumi.aws.amplify.BranchArgs;\nimport com.pulumi.aws.amplify.DomainAssociation;\nimport com.pulumi.aws.amplify.DomainAssociationArgs;\nimport com.pulumi.aws.amplify.inputs.DomainAssociationSubDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"app\")\n .customRules(AppCustomRuleArgs.builder()\n .source(\"https://example.com\")\n .status(\"302\")\n .target(\"https://www.example.com\")\n .build())\n .build());\n\n var master = new Branch(\"master\", BranchArgs.builder()\n .appId(example.id())\n .branchName(\"master\")\n .build());\n\n var exampleDomainAssociation = new DomainAssociation(\"exampleDomainAssociation\", DomainAssociationArgs.builder()\n .appId(example.id())\n .domainName(\"example.com\")\n .subDomains( \n DomainAssociationSubDomainArgs.builder()\n .branchName(master.branchName())\n .prefix(\"\")\n .build(),\n DomainAssociationSubDomainArgs.builder()\n .branchName(master.branchName())\n .prefix(\"www\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: app\n customRules:\n - source: https://example.com\n status: '302'\n target: https://www.example.com\n master:\n type: aws:amplify:Branch\n properties:\n appId: ${example.id}\n branchName: master\n exampleDomainAssociation:\n type: aws:amplify:DomainAssociation\n name: example\n properties:\n appId: ${example.id}\n domainName: example.com\n subDomains:\n - branchName: ${master.branchName}\n prefix: \"\"\n - branchName: ${master.branchName}\n prefix: www\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amplify domain association using `app_id` and `domain_name`. For example:\n\n```sh\n$ pulumi import aws:amplify/domainAssociation:DomainAssociation app d2ypk4k47z8u6/example.com\n```\n", + "description": "Provides an Amplify Domain Association resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"app\",\n customRules: [{\n source: \"https://example.com\",\n status: \"302\",\n target: \"https://www.example.com\",\n }],\n});\nconst master = new aws.amplify.Branch(\"master\", {\n appId: example.id,\n branchName: \"master\",\n});\nconst exampleDomainAssociation = new aws.amplify.DomainAssociation(\"example\", {\n appId: example.id,\n domainName: \"example.com\",\n subDomains: [\n {\n branchName: master.branchName,\n prefix: \"\",\n },\n {\n branchName: master.branchName,\n prefix: \"www\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"app\",\n custom_rules=[{\n \"source\": \"https://example.com\",\n \"status\": \"302\",\n \"target\": \"https://www.example.com\",\n }])\nmaster = aws.amplify.Branch(\"master\",\n app_id=example.id,\n branch_name=\"master\")\nexample_domain_association = aws.amplify.DomainAssociation(\"example\",\n app_id=example.id,\n domain_name=\"example.com\",\n sub_domains=[\n {\n \"branch_name\": master.branch_name,\n \"prefix\": \"\",\n },\n {\n \"branch_name\": master.branch_name,\n \"prefix\": \"www\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"app\",\n CustomRules = new[]\n {\n new Aws.Amplify.Inputs.AppCustomRuleArgs\n {\n Source = \"https://example.com\",\n Status = \"302\",\n Target = \"https://www.example.com\",\n },\n },\n });\n\n var master = new Aws.Amplify.Branch(\"master\", new()\n {\n AppId = example.Id,\n BranchName = \"master\",\n });\n\n var exampleDomainAssociation = new Aws.Amplify.DomainAssociation(\"example\", new()\n {\n AppId = example.Id,\n DomainName = \"example.com\",\n SubDomains = new[]\n {\n new Aws.Amplify.Inputs.DomainAssociationSubDomainArgs\n {\n BranchName = master.BranchName,\n Prefix = \"\",\n },\n new Aws.Amplify.Inputs.DomainAssociationSubDomainArgs\n {\n BranchName = master.BranchName,\n Prefix = \"www\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"app\"),\n\t\t\tCustomRules: amplify.AppCustomRuleArray{\n\t\t\t\t\u0026amplify.AppCustomRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"https://example.com\"),\n\t\t\t\t\tStatus: pulumi.String(\"302\"),\n\t\t\t\t\tTarget: pulumi.String(\"https://www.example.com\"),\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\tmaster, err := amplify.NewBranch(ctx, \"master\", \u0026amplify.BranchArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tBranchName: pulumi.String(\"master\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewDomainAssociation(ctx, \"example\", \u0026amplify.DomainAssociationArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t\tSubDomains: amplify.DomainAssociationSubDomainArray{\n\t\t\t\t\u0026amplify.DomainAssociationSubDomainArgs{\n\t\t\t\t\tBranchName: master.BranchName,\n\t\t\t\t\tPrefix: pulumi.String(\"\"),\n\t\t\t\t},\n\t\t\t\t\u0026amplify.DomainAssociationSubDomainArgs{\n\t\t\t\t\tBranchName: master.BranchName,\n\t\t\t\t\tPrefix: pulumi.String(\"www\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.inputs.AppCustomRuleArgs;\nimport com.pulumi.aws.amplify.Branch;\nimport com.pulumi.aws.amplify.BranchArgs;\nimport com.pulumi.aws.amplify.DomainAssociation;\nimport com.pulumi.aws.amplify.DomainAssociationArgs;\nimport com.pulumi.aws.amplify.inputs.DomainAssociationSubDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .name(\"app\")\n .customRules(AppCustomRuleArgs.builder()\n .source(\"https://example.com\")\n .status(\"302\")\n .target(\"https://www.example.com\")\n .build())\n .build());\n\n var master = new Branch(\"master\", BranchArgs.builder()\n .appId(example.id())\n .branchName(\"master\")\n .build());\n\n var exampleDomainAssociation = new DomainAssociation(\"exampleDomainAssociation\", DomainAssociationArgs.builder()\n .appId(example.id())\n .domainName(\"example.com\")\n .subDomains( \n DomainAssociationSubDomainArgs.builder()\n .branchName(master.branchName())\n .prefix(\"\")\n .build(),\n DomainAssociationSubDomainArgs.builder()\n .branchName(master.branchName())\n .prefix(\"www\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: app\n customRules:\n - source: https://example.com\n status: '302'\n target: https://www.example.com\n master:\n type: aws:amplify:Branch\n properties:\n appId: ${example.id}\n branchName: master\n exampleDomainAssociation:\n type: aws:amplify:DomainAssociation\n name: example\n properties:\n appId: ${example.id}\n domainName: example.com\n subDomains:\n - branchName: ${master.branchName}\n prefix:\n - branchName: ${master.branchName}\n prefix: www\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amplify domain association using `app_id` and `domain_name`. For example:\n\n```sh\n$ pulumi import aws:amplify/domainAssociation:DomainAssociation app d2ypk4k47z8u6/example.com\n```\n", "properties": { "appId": { "type": "string", @@ -175652,7 +175652,7 @@ } }, "aws:apigateway/account:Account": { - "description": "Provides a settings of an API Gateway Account. Settings is applied region-wide per `provider` block.\n\n\u003e **Note:** By default, destroying this resource will keep your account settings intact. Set `reset_on_delete` to `true` to reset the account setttings to default. In a future major version of the provider, destroying the resource will reset account settings.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"apigateway.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst cloudwatchRole = new aws.iam.Role(\"cloudwatch\", {\n name: \"api_gateway_cloudwatch_global\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst demo = new aws.apigateway.Account(\"demo\", {cloudwatchRoleArn: cloudwatchRole.arn});\nconst cloudwatch = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\",\n ],\n resources: [\"*\"],\n }],\n});\nconst cloudwatchRolePolicy = new aws.iam.RolePolicy(\"cloudwatch\", {\n name: \"default\",\n role: cloudwatchRole.id,\n policy: cloudwatch.then(cloudwatch =\u003e cloudwatch.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"apigateway.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\ncloudwatch_role = aws.iam.Role(\"cloudwatch\",\n name=\"api_gateway_cloudwatch_global\",\n assume_role_policy=assume_role.json)\ndemo = aws.apigateway.Account(\"demo\", cloudwatch_role_arn=cloudwatch_role.arn)\ncloudwatch = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\",\n ],\n \"resources\": [\"*\"],\n}])\ncloudwatch_role_policy = aws.iam.RolePolicy(\"cloudwatch\",\n name=\"default\",\n role=cloudwatch_role.id,\n policy=cloudwatch.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"apigateway.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var cloudwatchRole = new Aws.Iam.Role(\"cloudwatch\", new()\n {\n Name = \"api_gateway_cloudwatch_global\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var demo = new Aws.ApiGateway.Account(\"demo\", new()\n {\n CloudwatchRoleArn = cloudwatchRole.Arn,\n });\n\n var cloudwatch = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var cloudwatchRolePolicy = new Aws.Iam.RolePolicy(\"cloudwatch\", new()\n {\n Name = \"default\",\n Role = cloudwatchRole.Id,\n Policy = cloudwatch.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"apigateway.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcloudwatchRole, err := iam.NewRole(ctx, \"cloudwatch\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"api_gateway_cloudwatch_global\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAccount(ctx, \"demo\", \u0026apigateway.AccountArgs{\n\t\t\tCloudwatchRoleArn: cloudwatchRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcloudwatch, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogGroup\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:DescribeLogGroups\",\n\t\t\t\t\t\t\"logs:DescribeLogStreams\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:GetLogEvents\",\n\t\t\t\t\t\t\"logs:FilterLogEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"cloudwatch\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tRole: cloudwatchRole.ID(),\n\t\t\tPolicy: pulumi.String(cloudwatch.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.apigateway.Account;\nimport com.pulumi.aws.apigateway.AccountArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"apigateway.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var cloudwatchRole = new Role(\"cloudwatchRole\", RoleArgs.builder()\n .name(\"api_gateway_cloudwatch_global\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var demo = new Account(\"demo\", AccountArgs.builder()\n .cloudwatchRoleArn(cloudwatchRole.arn())\n .build());\n\n final var cloudwatch = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\")\n .resources(\"*\")\n .build())\n .build());\n\n var cloudwatchRolePolicy = new RolePolicy(\"cloudwatchRolePolicy\", RolePolicyArgs.builder()\n .name(\"default\")\n .role(cloudwatchRole.id())\n .policy(cloudwatch.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: aws:apigateway:Account\n properties:\n cloudwatchRoleArn: ${cloudwatchRole.arn}\n cloudwatchRole:\n type: aws:iam:Role\n name: cloudwatch\n properties:\n name: api_gateway_cloudwatch_global\n assumeRolePolicy: ${assumeRole.json}\n cloudwatchRolePolicy:\n type: aws:iam:RolePolicy\n name: cloudwatch\n properties:\n name: default\n role: ${cloudwatchRole.id}\n policy: ${cloudwatch.json}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - apigateway.amazonaws.com\n actions:\n - sts:AssumeRole\n cloudwatch:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:DescribeLogGroups\n - logs:DescribeLogStreams\n - logs:PutLogEvents\n - logs:GetLogEvents\n - logs:FilterLogEvents\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway Accounts using the word `api-gateway-account`. For example:\n\n```sh\n$ pulumi import aws:apigateway/account:Account demo api-gateway-account\n```\n", + "description": "Provides a settings of an API Gateway Account. Settings is applied region-wide per `provider` block.\n\n\u003e **Note:** By default, destroying this resource will keep your account settings intact. Set `reset_on_delete` to `true` to reset the account setttings to default. In a future major version of the provider, destroying the resource will reset account settings.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"apigateway.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst cloudwatchRole = new aws.iam.Role(\"cloudwatch\", {\n name: \"api_gateway_cloudwatch_global\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst demo = new aws.apigateway.Account(\"demo\", {cloudwatchRoleArn: cloudwatchRole.arn});\nconst cloudwatch = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\",\n ],\n resources: [\"*\"],\n }],\n});\nconst cloudwatchRolePolicy = new aws.iam.RolePolicy(\"cloudwatch\", {\n name: \"default\",\n role: cloudwatchRole.id,\n policy: cloudwatch.then(cloudwatch =\u003e cloudwatch.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"apigateway.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\ncloudwatch_role = aws.iam.Role(\"cloudwatch\",\n name=\"api_gateway_cloudwatch_global\",\n assume_role_policy=assume_role.json)\ndemo = aws.apigateway.Account(\"demo\", cloudwatch_role_arn=cloudwatch_role.arn)\ncloudwatch = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\",\n ],\n \"resources\": [\"*\"],\n}])\ncloudwatch_role_policy = aws.iam.RolePolicy(\"cloudwatch\",\n name=\"default\",\n role=cloudwatch_role.id,\n policy=cloudwatch.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"apigateway.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var cloudwatchRole = new Aws.Iam.Role(\"cloudwatch\", new()\n {\n Name = \"api_gateway_cloudwatch_global\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var demo = new Aws.ApiGateway.Account(\"demo\", new()\n {\n CloudwatchRoleArn = cloudwatchRole.Arn,\n });\n\n var cloudwatch = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var cloudwatchRolePolicy = new Aws.Iam.RolePolicy(\"cloudwatch\", new()\n {\n Name = \"default\",\n Role = cloudwatchRole.Id,\n Policy = cloudwatch.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"apigateway.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcloudwatchRole, err := iam.NewRole(ctx, \"cloudwatch\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"api_gateway_cloudwatch_global\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAccount(ctx, \"demo\", \u0026apigateway.AccountArgs{\n\t\t\tCloudwatchRoleArn: cloudwatchRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcloudwatch, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogGroup\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:DescribeLogGroups\",\n\t\t\t\t\t\t\"logs:DescribeLogStreams\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:GetLogEvents\",\n\t\t\t\t\t\t\"logs:FilterLogEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"cloudwatch\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tRole: cloudwatchRole.ID(),\n\t\t\tPolicy: pulumi.String(cloudwatch.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.apigateway.Account;\nimport com.pulumi.aws.apigateway.AccountArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"apigateway.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var cloudwatchRole = new Role(\"cloudwatchRole\", RoleArgs.builder()\n .name(\"api_gateway_cloudwatch_global\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var demo = new Account(\"demo\", AccountArgs.builder()\n .cloudwatchRoleArn(cloudwatchRole.arn())\n .build());\n\n final var cloudwatch = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\")\n .resources(\"*\")\n .build())\n .build());\n\n var cloudwatchRolePolicy = new RolePolicy(\"cloudwatchRolePolicy\", RolePolicyArgs.builder()\n .name(\"default\")\n .role(cloudwatchRole.id())\n .policy(cloudwatch.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: aws:apigateway:Account\n properties:\n cloudwatchRoleArn: ${cloudwatchRole.arn}\n cloudwatchRole:\n type: aws:iam:Role\n name: cloudwatch\n properties:\n name: api_gateway_cloudwatch_global\n assumeRolePolicy: ${assumeRole.json}\n cloudwatchRolePolicy:\n type: aws:iam:RolePolicy\n name: cloudwatch\n properties:\n name: default\n role: ${cloudwatchRole.id}\n policy: ${cloudwatch.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - apigateway.amazonaws.com\n actions:\n - sts:AssumeRole\n cloudwatch:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:DescribeLogGroups\n - logs:DescribeLogStreams\n - logs:PutLogEvents\n - logs:GetLogEvents\n - logs:FilterLogEvents\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway Accounts using the word `api-gateway-account`. For example:\n\n```sh\n$ pulumi import aws:apigateway/account:Account demo api-gateway-account\n```\n", "properties": { "apiKeyVersion": { "type": "string", @@ -175885,7 +175885,7 @@ } }, "aws:apigateway/authorizer:Authorizer": { - "description": "Provides an API Gateway Authorizer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst demoRestApi = new aws.apigateway.RestApi(\"demo\", {name: \"auth-demo\"});\nconst invocationAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"apigateway.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst invocationRole = new aws.iam.Role(\"invocation_role\", {\n name: \"api_gateway_auth_invocation\",\n path: \"/\",\n assumeRolePolicy: invocationAssumeRole.then(invocationAssumeRole =\u003e invocationAssumeRole.json),\n});\nconst lambdaAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n }],\n});\nconst lambda = new aws.iam.Role(\"lambda\", {\n name: \"demo-lambda\",\n assumeRolePolicy: lambdaAssumeRole.then(lambdaAssumeRole =\u003e lambdaAssumeRole.json),\n});\nconst authorizer = new aws.lambda.Function(\"authorizer\", {\n code: new pulumi.asset.FileArchive(\"lambda-function.zip\"),\n name: \"api_gateway_authorizer\",\n role: lambda.arn,\n handler: \"exports.example\",\n sourceCodeHash: std.filebase64sha256({\n input: \"lambda-function.zip\",\n }).then(invoke =\u003e invoke.result),\n});\nconst demo = new aws.apigateway.Authorizer(\"demo\", {\n name: \"demo\",\n restApi: demoRestApi.id,\n authorizerUri: authorizer.invokeArn,\n authorizerCredentials: invocationRole.arn,\n});\nconst invocationPolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"lambda:InvokeFunction\"],\n resources: [authorizer.arn],\n }],\n});\nconst invocationPolicyRolePolicy = new aws.iam.RolePolicy(\"invocation_policy\", {\n name: \"default\",\n role: invocationRole.id,\n policy: invocationPolicy.apply(invocationPolicy =\u003e invocationPolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ndemo_rest_api = aws.apigateway.RestApi(\"demo\", name=\"auth-demo\")\ninvocation_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"apigateway.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\ninvocation_role = aws.iam.Role(\"invocation_role\",\n name=\"api_gateway_auth_invocation\",\n path=\"/\",\n assume_role_policy=invocation_assume_role.json)\nlambda_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"lambda.amazonaws.com\"],\n }],\n}])\nlambda_ = aws.iam.Role(\"lambda\",\n name=\"demo-lambda\",\n assume_role_policy=lambda_assume_role.json)\nauthorizer = aws.lambda_.Function(\"authorizer\",\n code=pulumi.FileArchive(\"lambda-function.zip\"),\n name=\"api_gateway_authorizer\",\n role=lambda_.arn,\n handler=\"exports.example\",\n source_code_hash=std.filebase64sha256(input=\"lambda-function.zip\").result)\ndemo = aws.apigateway.Authorizer(\"demo\",\n name=\"demo\",\n rest_api=demo_rest_api.id,\n authorizer_uri=authorizer.invoke_arn,\n authorizer_credentials=invocation_role.arn)\ninvocation_policy = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"lambda:InvokeFunction\"],\n \"resources\": [authorizer.arn],\n}])\ninvocation_policy_role_policy = aws.iam.RolePolicy(\"invocation_policy\",\n name=\"default\",\n role=invocation_role.id,\n policy=invocation_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var demoRestApi = new Aws.ApiGateway.RestApi(\"demo\", new()\n {\n Name = \"auth-demo\",\n });\n\n var invocationAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"apigateway.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var invocationRole = new Aws.Iam.Role(\"invocation_role\", new()\n {\n Name = \"api_gateway_auth_invocation\",\n Path = \"/\",\n AssumeRolePolicy = invocationAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var lambda = new Aws.Iam.Role(\"lambda\", new()\n {\n Name = \"demo-lambda\",\n AssumeRolePolicy = lambdaAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var authorizer = new Aws.Lambda.Function(\"authorizer\", new()\n {\n Code = new FileArchive(\"lambda-function.zip\"),\n Name = \"api_gateway_authorizer\",\n Role = lambda.Arn,\n Handler = \"exports.example\",\n SourceCodeHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = \"lambda-function.zip\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var demo = new Aws.ApiGateway.Authorizer(\"demo\", new()\n {\n Name = \"demo\",\n RestApi = demoRestApi.Id,\n AuthorizerUri = authorizer.InvokeArn,\n AuthorizerCredentials = invocationRole.Arn,\n });\n\n var invocationPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"lambda:InvokeFunction\",\n },\n Resources = new[]\n {\n authorizer.Arn,\n },\n },\n },\n });\n\n var invocationPolicyRolePolicy = new Aws.Iam.RolePolicy(\"invocation_policy\", new()\n {\n Name = \"default\",\n Role = invocationRole.Id,\n Policy = invocationPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdemoRestApi, err := apigateway.NewRestApi(ctx, \"demo\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"auth-demo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvocationAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"apigateway.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvocationRole, err := iam.NewRole(ctx, \"invocation_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"api_gateway_auth_invocation\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(invocationAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambda, err := iam.NewRole(ctx, \"lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"demo-lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(lambdaAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: \"lambda-function.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tauthorizer, err := lambda.NewFunction(ctx, \"authorizer\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda-function.zip\"),\n\t\t\tName: pulumi.String(\"api_gateway_authorizer\"),\n\t\t\tRole: lambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.example\"),\n\t\t\tSourceCodeHash: pulumi.String(invokeFilebase64sha256.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAuthorizer(ctx, \"demo\", \u0026apigateway.AuthorizerArgs{\n\t\t\tName: pulumi.String(\"demo\"),\n\t\t\tRestApi: demoRestApi.ID(),\n\t\t\tAuthorizerUri: authorizer.InvokeArn,\n\t\t\tAuthorizerCredentials: invocationRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvocationPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"lambda:InvokeFunction\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tauthorizer.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"invocation_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tRole: invocationRole.ID(),\n\t\t\tPolicy: pulumi.String(invocationPolicy.ApplyT(func(invocationPolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026invocationPolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.apigateway.Authorizer;\nimport com.pulumi.aws.apigateway.AuthorizerArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var demoRestApi = new RestApi(\"demoRestApi\", RestApiArgs.builder()\n .name(\"auth-demo\")\n .build());\n\n final var invocationAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"apigateway.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var invocationRole = new Role(\"invocationRole\", RoleArgs.builder()\n .name(\"api_gateway_auth_invocation\")\n .path(\"/\")\n .assumeRolePolicy(invocationAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var lambdaAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var lambda = new Role(\"lambda\", RoleArgs.builder()\n .name(\"demo-lambda\")\n .assumeRolePolicy(lambdaAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var authorizer = new Function(\"authorizer\", FunctionArgs.builder()\n .code(new FileArchive(\"lambda-function.zip\"))\n .name(\"api_gateway_authorizer\")\n .role(lambda.arn())\n .handler(\"exports.example\")\n .sourceCodeHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(\"lambda-function.zip\")\n .build()).result())\n .build());\n\n var demo = new Authorizer(\"demo\", AuthorizerArgs.builder()\n .name(\"demo\")\n .restApi(demoRestApi.id())\n .authorizerUri(authorizer.invokeArn())\n .authorizerCredentials(invocationRole.arn())\n .build());\n\n final var invocationPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"lambda:InvokeFunction\")\n .resources(authorizer.arn())\n .build())\n .build());\n\n var invocationPolicyRolePolicy = new RolePolicy(\"invocationPolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"default\")\n .role(invocationRole.id())\n .policy(invocationPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(invocationPolicy -\u003e invocationPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: aws:apigateway:Authorizer\n properties:\n name: demo\n restApi: ${demoRestApi.id}\n authorizerUri: ${authorizer.invokeArn}\n authorizerCredentials: ${invocationRole.arn}\n demoRestApi:\n type: aws:apigateway:RestApi\n name: demo\n properties:\n name: auth-demo\n invocationRole:\n type: aws:iam:Role\n name: invocation_role\n properties:\n name: api_gateway_auth_invocation\n path: /\n assumeRolePolicy: ${invocationAssumeRole.json}\n invocationPolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: invocation_policy\n properties:\n name: default\n role: ${invocationRole.id}\n policy: ${invocationPolicy.json}\n lambda:\n type: aws:iam:Role\n properties:\n name: demo-lambda\n assumeRolePolicy: ${lambdaAssumeRole.json}\n authorizer:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: lambda-function.zip\n name: api_gateway_authorizer\n role: ${lambda.arn}\n handler: exports.example\n sourceCodeHash:\n fn::invoke:\n function: std:filebase64sha256\n arguments:\n input: lambda-function.zip\n return: result\nvariables:\n invocationAssumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - apigateway.amazonaws.com\n actions:\n - sts:AssumeRole\n invocationPolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - lambda:InvokeFunction\n resources:\n - ${authorizer.arn}\n lambdaAssumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS API Gateway Authorizer using the `REST-API-ID/AUTHORIZER-ID`. For example:\n\n```sh\n$ pulumi import aws:apigateway/authorizer:Authorizer authorizer 12345abcde/example\n```\n", + "description": "Provides an API Gateway Authorizer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst demoRestApi = new aws.apigateway.RestApi(\"demo\", {name: \"auth-demo\"});\nconst invocationAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"apigateway.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst invocationRole = new aws.iam.Role(\"invocation_role\", {\n name: \"api_gateway_auth_invocation\",\n path: \"/\",\n assumeRolePolicy: invocationAssumeRole.then(invocationAssumeRole =\u003e invocationAssumeRole.json),\n});\nconst lambdaAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n }],\n});\nconst lambda = new aws.iam.Role(\"lambda\", {\n name: \"demo-lambda\",\n assumeRolePolicy: lambdaAssumeRole.then(lambdaAssumeRole =\u003e lambdaAssumeRole.json),\n});\nconst authorizer = new aws.lambda.Function(\"authorizer\", {\n code: new pulumi.asset.FileArchive(\"lambda-function.zip\"),\n name: \"api_gateway_authorizer\",\n role: lambda.arn,\n handler: \"exports.example\",\n sourceCodeHash: std.filebase64sha256({\n input: \"lambda-function.zip\",\n }).then(invoke =\u003e invoke.result),\n});\nconst demo = new aws.apigateway.Authorizer(\"demo\", {\n name: \"demo\",\n restApi: demoRestApi.id,\n authorizerUri: authorizer.invokeArn,\n authorizerCredentials: invocationRole.arn,\n});\nconst invocationPolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"lambda:InvokeFunction\"],\n resources: [authorizer.arn],\n }],\n});\nconst invocationPolicyRolePolicy = new aws.iam.RolePolicy(\"invocation_policy\", {\n name: \"default\",\n role: invocationRole.id,\n policy: invocationPolicy.apply(invocationPolicy =\u003e invocationPolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ndemo_rest_api = aws.apigateway.RestApi(\"demo\", name=\"auth-demo\")\ninvocation_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"apigateway.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\ninvocation_role = aws.iam.Role(\"invocation_role\",\n name=\"api_gateway_auth_invocation\",\n path=\"/\",\n assume_role_policy=invocation_assume_role.json)\nlambda_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"lambda.amazonaws.com\"],\n }],\n}])\nlambda_ = aws.iam.Role(\"lambda\",\n name=\"demo-lambda\",\n assume_role_policy=lambda_assume_role.json)\nauthorizer = aws.lambda_.Function(\"authorizer\",\n code=pulumi.FileArchive(\"lambda-function.zip\"),\n name=\"api_gateway_authorizer\",\n role=lambda_.arn,\n handler=\"exports.example\",\n source_code_hash=std.filebase64sha256(input=\"lambda-function.zip\").result)\ndemo = aws.apigateway.Authorizer(\"demo\",\n name=\"demo\",\n rest_api=demo_rest_api.id,\n authorizer_uri=authorizer.invoke_arn,\n authorizer_credentials=invocation_role.arn)\ninvocation_policy = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"lambda:InvokeFunction\"],\n \"resources\": [authorizer.arn],\n}])\ninvocation_policy_role_policy = aws.iam.RolePolicy(\"invocation_policy\",\n name=\"default\",\n role=invocation_role.id,\n policy=invocation_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var demoRestApi = new Aws.ApiGateway.RestApi(\"demo\", new()\n {\n Name = \"auth-demo\",\n });\n\n var invocationAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"apigateway.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var invocationRole = new Aws.Iam.Role(\"invocation_role\", new()\n {\n Name = \"api_gateway_auth_invocation\",\n Path = \"/\",\n AssumeRolePolicy = invocationAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var lambda = new Aws.Iam.Role(\"lambda\", new()\n {\n Name = \"demo-lambda\",\n AssumeRolePolicy = lambdaAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var authorizer = new Aws.Lambda.Function(\"authorizer\", new()\n {\n Code = new FileArchive(\"lambda-function.zip\"),\n Name = \"api_gateway_authorizer\",\n Role = lambda.Arn,\n Handler = \"exports.example\",\n SourceCodeHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = \"lambda-function.zip\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var demo = new Aws.ApiGateway.Authorizer(\"demo\", new()\n {\n Name = \"demo\",\n RestApi = demoRestApi.Id,\n AuthorizerUri = authorizer.InvokeArn,\n AuthorizerCredentials = invocationRole.Arn,\n });\n\n var invocationPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"lambda:InvokeFunction\",\n },\n Resources = new[]\n {\n authorizer.Arn,\n },\n },\n },\n });\n\n var invocationPolicyRolePolicy = new Aws.Iam.RolePolicy(\"invocation_policy\", new()\n {\n Name = \"default\",\n Role = invocationRole.Id,\n Policy = invocationPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdemoRestApi, err := apigateway.NewRestApi(ctx, \"demo\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"auth-demo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvocationAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"apigateway.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvocationRole, err := iam.NewRole(ctx, \"invocation_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"api_gateway_auth_invocation\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(invocationAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambda, err := iam.NewRole(ctx, \"lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"demo-lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(lambdaAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: \"lambda-function.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tauthorizer, err := lambda.NewFunction(ctx, \"authorizer\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda-function.zip\"),\n\t\t\tName: pulumi.String(\"api_gateway_authorizer\"),\n\t\t\tRole: lambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.example\"),\n\t\t\tSourceCodeHash: pulumi.String(invokeFilebase64sha256.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAuthorizer(ctx, \"demo\", \u0026apigateway.AuthorizerArgs{\n\t\t\tName: pulumi.String(\"demo\"),\n\t\t\tRestApi: demoRestApi.ID(),\n\t\t\tAuthorizerUri: authorizer.InvokeArn,\n\t\t\tAuthorizerCredentials: invocationRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvocationPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"lambda:InvokeFunction\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tauthorizer.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"invocation_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tRole: invocationRole.ID(),\n\t\t\tPolicy: pulumi.String(invocationPolicy.ApplyT(func(invocationPolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026invocationPolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.apigateway.Authorizer;\nimport com.pulumi.aws.apigateway.AuthorizerArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var demoRestApi = new RestApi(\"demoRestApi\", RestApiArgs.builder()\n .name(\"auth-demo\")\n .build());\n\n final var invocationAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"apigateway.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var invocationRole = new Role(\"invocationRole\", RoleArgs.builder()\n .name(\"api_gateway_auth_invocation\")\n .path(\"/\")\n .assumeRolePolicy(invocationAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var lambdaAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var lambda = new Role(\"lambda\", RoleArgs.builder()\n .name(\"demo-lambda\")\n .assumeRolePolicy(lambdaAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var authorizer = new Function(\"authorizer\", FunctionArgs.builder()\n .code(new FileArchive(\"lambda-function.zip\"))\n .name(\"api_gateway_authorizer\")\n .role(lambda.arn())\n .handler(\"exports.example\")\n .sourceCodeHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(\"lambda-function.zip\")\n .build()).result())\n .build());\n\n var demo = new Authorizer(\"demo\", AuthorizerArgs.builder()\n .name(\"demo\")\n .restApi(demoRestApi.id())\n .authorizerUri(authorizer.invokeArn())\n .authorizerCredentials(invocationRole.arn())\n .build());\n\n final var invocationPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"lambda:InvokeFunction\")\n .resources(authorizer.arn())\n .build())\n .build());\n\n var invocationPolicyRolePolicy = new RolePolicy(\"invocationPolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"default\")\n .role(invocationRole.id())\n .policy(invocationPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(invocationPolicy -\u003e invocationPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: aws:apigateway:Authorizer\n properties:\n name: demo\n restApi: ${demoRestApi.id}\n authorizerUri: ${authorizer.invokeArn}\n authorizerCredentials: ${invocationRole.arn}\n demoRestApi:\n type: aws:apigateway:RestApi\n name: demo\n properties:\n name: auth-demo\n invocationRole:\n type: aws:iam:Role\n name: invocation_role\n properties:\n name: api_gateway_auth_invocation\n path: /\n assumeRolePolicy: ${invocationAssumeRole.json}\n invocationPolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: invocation_policy\n properties:\n name: default\n role: ${invocationRole.id}\n policy: ${invocationPolicy.json}\n lambda:\n type: aws:iam:Role\n properties:\n name: demo-lambda\n assumeRolePolicy: ${lambdaAssumeRole.json}\n authorizer:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: lambda-function.zip\n name: api_gateway_authorizer\n role: ${lambda.arn}\n handler: exports.example\n sourceCodeHash:\n fn::invoke:\n Function: std:filebase64sha256\n Arguments:\n input: lambda-function.zip\n Return: result\nvariables:\n invocationAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - apigateway.amazonaws.com\n actions:\n - sts:AssumeRole\n invocationPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - lambda:InvokeFunction\n resources:\n - ${authorizer.arn}\n lambdaAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS API Gateway Authorizer using the `REST-API-ID/AUTHORIZER-ID`. For example:\n\n```sh\n$ pulumi import aws:apigateway/authorizer:Authorizer authorizer 12345abcde/example\n```\n", "properties": { "arn": { "type": "string", @@ -176500,7 +176500,7 @@ } }, "aws:apigateway/documentationVersion:DocumentationVersion": { - "description": "Provides a resource to manage an API Gateway Documentation Version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRestApi = new aws.apigateway.RestApi(\"example\", {name: \"example_api\"});\nconst exampleDocumentationPart = new aws.apigateway.DocumentationPart(\"example\", {\n location: {\n type: \"API\",\n },\n properties: \"{\\\"description\\\":\\\"Example\\\"}\",\n restApiId: exampleRestApi.id,\n});\nconst example = new aws.apigateway.DocumentationVersion(\"example\", {\n version: \"example_version\",\n restApiId: exampleRestApi.id,\n description: \"Example description\",\n}, {\n dependsOn: [exampleDocumentationPart],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_rest_api = aws.apigateway.RestApi(\"example\", name=\"example_api\")\nexample_documentation_part = aws.apigateway.DocumentationPart(\"example\",\n location={\n \"type\": \"API\",\n },\n properties=\"{\\\"description\\\":\\\"Example\\\"}\",\n rest_api_id=example_rest_api.id)\nexample = aws.apigateway.DocumentationVersion(\"example\",\n version=\"example_version\",\n rest_api_id=example_rest_api.id,\n description=\"Example description\",\n opts = pulumi.ResourceOptions(depends_on=[example_documentation_part]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRestApi = new Aws.ApiGateway.RestApi(\"example\", new()\n {\n Name = \"example_api\",\n });\n\n var exampleDocumentationPart = new Aws.ApiGateway.DocumentationPart(\"example\", new()\n {\n Location = new Aws.ApiGateway.Inputs.DocumentationPartLocationArgs\n {\n Type = \"API\",\n },\n Properties = \"{\\\"description\\\":\\\"Example\\\"}\",\n RestApiId = exampleRestApi.Id,\n });\n\n var example = new Aws.ApiGateway.DocumentationVersion(\"example\", new()\n {\n Version = \"example_version\",\n RestApiId = exampleRestApi.Id,\n Description = \"Example description\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleDocumentationPart,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRestApi, err := apigateway.NewRestApi(ctx, \"example\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"example_api\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDocumentationPart, err := apigateway.NewDocumentationPart(ctx, \"example\", \u0026apigateway.DocumentationPartArgs{\n\t\t\tLocation: \u0026apigateway.DocumentationPartLocationArgs{\n\t\t\t\tType: pulumi.String(\"API\"),\n\t\t\t},\n\t\t\tProperties: pulumi.String(\"{\\\"description\\\":\\\"Example\\\"}\"),\n\t\t\tRestApiId: exampleRestApi.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewDocumentationVersion(ctx, \"example\", \u0026apigateway.DocumentationVersionArgs{\n\t\t\tVersion: pulumi.String(\"example_version\"),\n\t\t\tRestApiId: exampleRestApi.ID(),\n\t\t\tDescription: pulumi.String(\"Example description\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleDocumentationPart,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.DocumentationPart;\nimport com.pulumi.aws.apigateway.DocumentationPartArgs;\nimport com.pulumi.aws.apigateway.inputs.DocumentationPartLocationArgs;\nimport com.pulumi.aws.apigateway.DocumentationVersion;\nimport com.pulumi.aws.apigateway.DocumentationVersionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleRestApi = new RestApi(\"exampleRestApi\", RestApiArgs.builder()\n .name(\"example_api\")\n .build());\n\n var exampleDocumentationPart = new DocumentationPart(\"exampleDocumentationPart\", DocumentationPartArgs.builder()\n .location(DocumentationPartLocationArgs.builder()\n .type(\"API\")\n .build())\n .properties(\"{\\\"description\\\":\\\"Example\\\"}\")\n .restApiId(exampleRestApi.id())\n .build());\n\n var example = new DocumentationVersion(\"example\", DocumentationVersionArgs.builder()\n .version(\"example_version\")\n .restApiId(exampleRestApi.id())\n .description(\"Example description\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleDocumentationPart)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:DocumentationVersion\n properties:\n version: example_version\n restApiId: ${exampleRestApi.id}\n description: Example description\n options:\n dependsOn:\n - ${exampleDocumentationPart}\n exampleRestApi:\n type: aws:apigateway:RestApi\n name: example\n properties:\n name: example_api\n exampleDocumentationPart:\n type: aws:apigateway:DocumentationPart\n name: example\n properties:\n location:\n type: API\n properties: '{\"description\":\"Example\"}'\n restApiId: ${exampleRestApi.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway documentation versions using `REST-API-ID/VERSION`. For example:\n\n```sh\n$ pulumi import aws:apigateway/documentationVersion:DocumentationVersion example 5i4e1ko720/example-version\n```\n", + "description": "Provides a resource to manage an API Gateway Documentation Version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRestApi = new aws.apigateway.RestApi(\"example\", {name: \"example_api\"});\nconst exampleDocumentationPart = new aws.apigateway.DocumentationPart(\"example\", {\n location: {\n type: \"API\",\n },\n properties: \"{\\\"description\\\":\\\"Example\\\"}\",\n restApiId: exampleRestApi.id,\n});\nconst example = new aws.apigateway.DocumentationVersion(\"example\", {\n version: \"example_version\",\n restApiId: exampleRestApi.id,\n description: \"Example description\",\n}, {\n dependsOn: [exampleDocumentationPart],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_rest_api = aws.apigateway.RestApi(\"example\", name=\"example_api\")\nexample_documentation_part = aws.apigateway.DocumentationPart(\"example\",\n location={\n \"type\": \"API\",\n },\n properties=\"{\\\"description\\\":\\\"Example\\\"}\",\n rest_api_id=example_rest_api.id)\nexample = aws.apigateway.DocumentationVersion(\"example\",\n version=\"example_version\",\n rest_api_id=example_rest_api.id,\n description=\"Example description\",\n opts = pulumi.ResourceOptions(depends_on=[example_documentation_part]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRestApi = new Aws.ApiGateway.RestApi(\"example\", new()\n {\n Name = \"example_api\",\n });\n\n var exampleDocumentationPart = new Aws.ApiGateway.DocumentationPart(\"example\", new()\n {\n Location = new Aws.ApiGateway.Inputs.DocumentationPartLocationArgs\n {\n Type = \"API\",\n },\n Properties = \"{\\\"description\\\":\\\"Example\\\"}\",\n RestApiId = exampleRestApi.Id,\n });\n\n var example = new Aws.ApiGateway.DocumentationVersion(\"example\", new()\n {\n Version = \"example_version\",\n RestApiId = exampleRestApi.Id,\n Description = \"Example description\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleDocumentationPart,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRestApi, err := apigateway.NewRestApi(ctx, \"example\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"example_api\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDocumentationPart, err := apigateway.NewDocumentationPart(ctx, \"example\", \u0026apigateway.DocumentationPartArgs{\n\t\t\tLocation: \u0026apigateway.DocumentationPartLocationArgs{\n\t\t\t\tType: pulumi.String(\"API\"),\n\t\t\t},\n\t\t\tProperties: pulumi.String(\"{\\\"description\\\":\\\"Example\\\"}\"),\n\t\t\tRestApiId: exampleRestApi.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewDocumentationVersion(ctx, \"example\", \u0026apigateway.DocumentationVersionArgs{\n\t\t\tVersion: pulumi.String(\"example_version\"),\n\t\t\tRestApiId: exampleRestApi.ID(),\n\t\t\tDescription: pulumi.String(\"Example description\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleDocumentationPart,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.DocumentationPart;\nimport com.pulumi.aws.apigateway.DocumentationPartArgs;\nimport com.pulumi.aws.apigateway.inputs.DocumentationPartLocationArgs;\nimport com.pulumi.aws.apigateway.DocumentationVersion;\nimport com.pulumi.aws.apigateway.DocumentationVersionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleRestApi = new RestApi(\"exampleRestApi\", RestApiArgs.builder()\n .name(\"example_api\")\n .build());\n\n var exampleDocumentationPart = new DocumentationPart(\"exampleDocumentationPart\", DocumentationPartArgs.builder()\n .location(DocumentationPartLocationArgs.builder()\n .type(\"API\")\n .build())\n .properties(\"{\\\"description\\\":\\\"Example\\\"}\")\n .restApiId(exampleRestApi.id())\n .build());\n\n var example = new DocumentationVersion(\"example\", DocumentationVersionArgs.builder()\n .version(\"example_version\")\n .restApiId(exampleRestApi.id())\n .description(\"Example description\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleDocumentationPart)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:DocumentationVersion\n properties:\n version: example_version\n restApiId: ${exampleRestApi.id}\n description: Example description\n options:\n dependson:\n - ${exampleDocumentationPart}\n exampleRestApi:\n type: aws:apigateway:RestApi\n name: example\n properties:\n name: example_api\n exampleDocumentationPart:\n type: aws:apigateway:DocumentationPart\n name: example\n properties:\n location:\n type: API\n properties: '{\"description\":\"Example\"}'\n restApiId: ${exampleRestApi.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway documentation versions using `REST-API-ID/VERSION`. For example:\n\n```sh\n$ pulumi import aws:apigateway/documentationVersion:DocumentationVersion example 5i4e1ko720/example-version\n```\n", "properties": { "description": { "type": "string", @@ -176845,7 +176845,7 @@ } }, "aws:apigateway/integration:Integration": { - "description": "Provides an HTTP Method Integration for an API Gateway Integration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst myDemoResource = new aws.apigateway.Resource(\"MyDemoResource\", {\n restApi: myDemoAPI.id,\n parentId: myDemoAPI.rootResourceId,\n pathPart: \"mydemoresource\",\n});\nconst myDemoMethod = new aws.apigateway.Method(\"MyDemoMethod\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n});\nconst myDemoIntegration = new aws.apigateway.Integration(\"MyDemoIntegration\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: myDemoMethod.httpMethod,\n type: \"MOCK\",\n cacheKeyParameters: [\"method.request.path.param\"],\n cacheNamespace: \"foobar\",\n timeoutMilliseconds: 29000,\n requestParameters: {\n \"integration.request.header.X-Authorization\": \"'static'\",\n },\n requestTemplates: {\n \"application/xml\": `{\n \"body\" : input.json('')\n}\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nmy_demo_resource = aws.apigateway.Resource(\"MyDemoResource\",\n rest_api=my_demo_api.id,\n parent_id=my_demo_api.root_resource_id,\n path_part=\"mydemoresource\")\nmy_demo_method = aws.apigateway.Method(\"MyDemoMethod\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=\"GET\",\n authorization=\"NONE\")\nmy_demo_integration = aws.apigateway.Integration(\"MyDemoIntegration\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=my_demo_method.http_method,\n type=\"MOCK\",\n cache_key_parameters=[\"method.request.path.param\"],\n cache_namespace=\"foobar\",\n timeout_milliseconds=29000,\n request_parameters={\n \"integration.request.header.X-Authorization\": \"'static'\",\n },\n request_templates={\n \"application/xml\": \"\"\"{\n \"body\" : $input.json('$')\n}\n\"\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var myDemoResource = new Aws.ApiGateway.Resource(\"MyDemoResource\", new()\n {\n RestApi = myDemoAPI.Id,\n ParentId = myDemoAPI.RootResourceId,\n PathPart = \"mydemoresource\",\n });\n\n var myDemoMethod = new Aws.ApiGateway.Method(\"MyDemoMethod\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n });\n\n var myDemoIntegration = new Aws.ApiGateway.Integration(\"MyDemoIntegration\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = myDemoMethod.HttpMethod,\n Type = \"MOCK\",\n CacheKeyParameters = new[]\n {\n \"method.request.path.param\",\n },\n CacheNamespace = \"foobar\",\n TimeoutMilliseconds = 29000,\n RequestParameters = \n {\n { \"integration.request.header.X-Authorization\", \"'static'\" },\n },\n RequestTemplates = \n {\n { \"application/xml\", @\"{\n \"\"body\"\" : $input.json('$')\n}\n\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoResource, err := apigateway.NewResource(ctx, \"MyDemoResource\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tParentId: myDemoAPI.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"mydemoresource\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoMethod, err := apigateway.NewMethod(ctx, \"MyDemoMethod\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegration(ctx, \"MyDemoIntegration\", \u0026apigateway.IntegrationArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: myDemoMethod.HttpMethod,\n\t\t\tType: pulumi.String(\"MOCK\"),\n\t\t\tCacheKeyParameters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"method.request.path.param\"),\n\t\t\t},\n\t\t\tCacheNamespace: pulumi.String(\"foobar\"),\n\t\t\tTimeoutMilliseconds: pulumi.Int(29000),\n\t\t\tRequestParameters: pulumi.StringMap{\n\t\t\t\t\"integration.request.header.X-Authorization\": pulumi.String(\"'static'\"),\n\t\t\t},\n\t\t\tRequestTemplates: pulumi.StringMap{\n\t\t\t\t\"application/xml\": pulumi.String(\"{\\n \\\"body\\\" : $input.json('$')\\n}\\n\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport com.pulumi.aws.apigateway.Integration;\nimport com.pulumi.aws.apigateway.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder()\n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var myDemoResource = new Resource(\"myDemoResource\", ResourceArgs.builder()\n .restApi(myDemoAPI.id())\n .parentId(myDemoAPI.rootResourceId())\n .pathPart(\"mydemoresource\")\n .build());\n\n var myDemoMethod = new Method(\"myDemoMethod\", MethodArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .build());\n\n var myDemoIntegration = new Integration(\"myDemoIntegration\", IntegrationArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(myDemoMethod.httpMethod())\n .type(\"MOCK\")\n .cacheKeyParameters(\"method.request.path.param\")\n .cacheNamespace(\"foobar\")\n .timeoutMilliseconds(29000)\n .requestParameters(Map.of(\"integration.request.header.X-Authorization\", \"'static'\"))\n .requestTemplates(Map.of(\"application/xml\", \"\"\"\n{\n \"body\" : $input.json('$')\n}\n \"\"\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n myDemoResource:\n type: aws:apigateway:Resource\n name: MyDemoResource\n properties:\n restApi: ${myDemoAPI.id}\n parentId: ${myDemoAPI.rootResourceId}\n pathPart: mydemoresource\n myDemoMethod:\n type: aws:apigateway:Method\n name: MyDemoMethod\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: GET\n authorization: NONE\n myDemoIntegration:\n type: aws:apigateway:Integration\n name: MyDemoIntegration\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: ${myDemoMethod.httpMethod}\n type: MOCK\n cacheKeyParameters:\n - method.request.path.param\n cacheNamespace: foobar\n timeoutMilliseconds: 29000\n requestParameters:\n integration.request.header.X-Authorization: '''static'''\n requestTemplates:\n application/xml: |\n {\n \"body\" : $input.json('$')\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Lambda integration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst myregion = config.requireObject(\"myregion\");\nconst accountId = config.requireObject(\"accountId\");\n// API Gateway\nconst api = new aws.apigateway.RestApi(\"api\", {name: \"myapi\"});\nconst resource = new aws.apigateway.Resource(\"resource\", {\n pathPart: \"resource\",\n parentId: api.rootResourceId,\n restApi: api.id,\n});\nconst method = new aws.apigateway.Method(\"method\", {\n restApi: api.id,\n resourceId: resource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n});\n// IAM\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {\n name: \"myrole\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst lambda = new aws.lambda.Function(\"lambda\", {\n code: new pulumi.asset.FileArchive(\"lambda.zip\"),\n name: \"mylambda\",\n role: role.arn,\n handler: \"lambda.lambda_handler\",\n runtime: aws.lambda.Runtime.Python3d12,\n sourceCodeHash: std.filebase64sha256({\n input: \"lambda.zip\",\n }).then(invoke =\u003e invoke.result),\n});\nconst integration = new aws.apigateway.Integration(\"integration\", {\n restApi: api.id,\n resourceId: resource.id,\n httpMethod: method.httpMethod,\n integrationHttpMethod: \"POST\",\n type: \"AWS_PROXY\",\n uri: lambda.invokeArn,\n});\n// Lambda\nconst apigwLambda = new aws.lambda.Permission(\"apigw_lambda\", {\n statementId: \"AllowExecutionFromAPIGateway\",\n action: \"lambda:InvokeFunction\",\n \"function\": lambda.name,\n principal: \"apigateway.amazonaws.com\",\n sourceArn: pulumi.interpolate`arn:aws:execute-api:${myregion}:${accountId}:${api.id}/*/${method.httpMethod}${resource.path}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nmyregion = config.require_object(\"myregion\")\naccount_id = config.require_object(\"accountId\")\n# API Gateway\napi = aws.apigateway.RestApi(\"api\", name=\"myapi\")\nresource = aws.apigateway.Resource(\"resource\",\n path_part=\"resource\",\n parent_id=api.root_resource_id,\n rest_api=api.id)\nmethod = aws.apigateway.Method(\"method\",\n rest_api=api.id,\n resource_id=resource.id,\n http_method=\"GET\",\n authorization=\"NONE\")\n# IAM\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"lambda.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nrole = aws.iam.Role(\"role\",\n name=\"myrole\",\n assume_role_policy=assume_role.json)\nlambda_ = aws.lambda_.Function(\"lambda\",\n code=pulumi.FileArchive(\"lambda.zip\"),\n name=\"mylambda\",\n role=role.arn,\n handler=\"lambda.lambda_handler\",\n runtime=aws.lambda_.Runtime.PYTHON3D12,\n source_code_hash=std.filebase64sha256(input=\"lambda.zip\").result)\nintegration = aws.apigateway.Integration(\"integration\",\n rest_api=api.id,\n resource_id=resource.id,\n http_method=method.http_method,\n integration_http_method=\"POST\",\n type=\"AWS_PROXY\",\n uri=lambda_.invoke_arn)\n# Lambda\napigw_lambda = aws.lambda_.Permission(\"apigw_lambda\",\n statement_id=\"AllowExecutionFromAPIGateway\",\n action=\"lambda:InvokeFunction\",\n function=lambda_.name,\n principal=\"apigateway.amazonaws.com\",\n source_arn=pulumi.Output.all(\n id=api.id,\n http_method=method.http_method,\n path=resource.path\n).apply(lambda resolved_outputs: f\"arn:aws:execute-api:{myregion}:{account_id}:{resolved_outputs['id']}/*/{resolved_outputs['http_method']}{resolved_outputs['path']}\")\n)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var myregion = config.RequireObject\u003cdynamic\u003e(\"myregion\");\n var accountId = config.RequireObject\u003cdynamic\u003e(\"accountId\");\n // API Gateway\n var api = new Aws.ApiGateway.RestApi(\"api\", new()\n {\n Name = \"myapi\",\n });\n\n var resource = new Aws.ApiGateway.Resource(\"resource\", new()\n {\n PathPart = \"resource\",\n ParentId = api.RootResourceId,\n RestApi = api.Id,\n });\n\n var method = new Aws.ApiGateway.Method(\"method\", new()\n {\n RestApi = api.Id,\n ResourceId = resource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n });\n\n // IAM\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n Name = \"myrole\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambda = new Aws.Lambda.Function(\"lambda\", new()\n {\n Code = new FileArchive(\"lambda.zip\"),\n Name = \"mylambda\",\n Role = role.Arn,\n Handler = \"lambda.lambda_handler\",\n Runtime = Aws.Lambda.Runtime.Python3d12,\n SourceCodeHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = \"lambda.zip\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var integration = new Aws.ApiGateway.Integration(\"integration\", new()\n {\n RestApi = api.Id,\n ResourceId = resource.Id,\n HttpMethod = method.HttpMethod,\n IntegrationHttpMethod = \"POST\",\n Type = \"AWS_PROXY\",\n Uri = lambda.InvokeArn,\n });\n\n // Lambda\n var apigwLambda = new Aws.Lambda.Permission(\"apigw_lambda\", new()\n {\n StatementId = \"AllowExecutionFromAPIGateway\",\n Action = \"lambda:InvokeFunction\",\n Function = lambda.Name,\n Principal = \"apigateway.amazonaws.com\",\n SourceArn = Output.Tuple(api.Id, method.HttpMethod, resource.Path).Apply(values =\u003e\n {\n var id = values.Item1;\n var httpMethod = values.Item2;\n var path = values.Item3;\n return $\"arn:aws:execute-api:{myregion}:{accountId}:{id}/*/{httpMethod}{path}\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tmyregion := cfg.RequireObject(\"myregion\")\n\t\taccountId := cfg.RequireObject(\"accountId\")\n\t\t// API Gateway\n\t\tapi, err := apigateway.NewRestApi(ctx, \"api\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"myapi\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresource, err := apigateway.NewResource(ctx, \"resource\", \u0026apigateway.ResourceArgs{\n\t\t\tPathPart: pulumi.String(\"resource\"),\n\t\t\tParentId: api.RootResourceId,\n\t\t\tRestApi: api.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmethod, err := apigateway.NewMethod(ctx, \"method\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: api.ID(),\n\t\t\tResourceId: resource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// IAM\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"myrole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: \"lambda.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambda, err := lambda.NewFunction(ctx, \"lambda\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda.zip\"),\n\t\t\tName: pulumi.String(\"mylambda\"),\n\t\t\tRole: role.Arn,\n\t\t\tHandler: pulumi.String(\"lambda.lambda_handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimePython3d12),\n\t\t\tSourceCodeHash: pulumi.String(invokeFilebase64sha256.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegration(ctx, \"integration\", \u0026apigateway.IntegrationArgs{\n\t\t\tRestApi: api.ID(),\n\t\t\tResourceId: resource.ID(),\n\t\t\tHttpMethod: method.HttpMethod,\n\t\t\tIntegrationHttpMethod: pulumi.String(\"POST\"),\n\t\t\tType: pulumi.String(\"AWS_PROXY\"),\n\t\t\tUri: lambda.InvokeArn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Lambda\n\t\t_, err = lambda.NewPermission(ctx, \"apigw_lambda\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromAPIGateway\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: lambda.Name,\n\t\t\tPrincipal: pulumi.String(\"apigateway.amazonaws.com\"),\n\t\t\tSourceArn: pulumi.All(api.ID(), method.HttpMethod, resource.Path).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\thttpMethod := _args[1].(string)\n\t\t\t\tpath := _args[2].(string)\n\t\t\t\treturn fmt.Sprintf(\"arn:aws:execute-api:%v:%v:%v/*/%v%v\", myregion, accountId, id, httpMethod, path), nil\n\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.apigateway.Integration;\nimport com.pulumi.aws.apigateway.IntegrationArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var myregion = config.get(\"myregion\");\n final var accountId = config.get(\"accountId\");\n // API Gateway\n var api = new RestApi(\"api\", RestApiArgs.builder()\n .name(\"myapi\")\n .build());\n\n var resource = new Resource(\"resource\", ResourceArgs.builder()\n .pathPart(\"resource\")\n .parentId(api.rootResourceId())\n .restApi(api.id())\n .build());\n\n var method = new Method(\"method\", MethodArgs.builder()\n .restApi(api.id())\n .resourceId(resource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .build());\n\n // IAM\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"myrole\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var lambda = new Function(\"lambda\", FunctionArgs.builder()\n .code(new FileArchive(\"lambda.zip\"))\n .name(\"mylambda\")\n .role(role.arn())\n .handler(\"lambda.lambda_handler\")\n .runtime(\"python3.12\")\n .sourceCodeHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(\"lambda.zip\")\n .build()).result())\n .build());\n\n var integration = new Integration(\"integration\", IntegrationArgs.builder()\n .restApi(api.id())\n .resourceId(resource.id())\n .httpMethod(method.httpMethod())\n .integrationHttpMethod(\"POST\")\n .type(\"AWS_PROXY\")\n .uri(lambda.invokeArn())\n .build());\n\n // Lambda\n var apigwLambda = new Permission(\"apigwLambda\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromAPIGateway\")\n .action(\"lambda:InvokeFunction\")\n .function(lambda.name())\n .principal(\"apigateway.amazonaws.com\")\n .sourceArn(Output.tuple(api.id(), method.httpMethod(), resource.path()).applyValue(values -\u003e {\n var id = values.t1;\n var httpMethod = values.t2;\n var path = values.t3;\n return String.format(\"arn:aws:execute-api:%s:%s:%s/*/%s%s\", myregion,accountId,id,httpMethod,path);\n }))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # Variables\n myregion:\n type: dynamic\n accountId:\n type: dynamic\nresources:\n # API Gateway\n api:\n type: aws:apigateway:RestApi\n properties:\n name: myapi\n resource:\n type: aws:apigateway:Resource\n properties:\n pathPart: resource\n parentId: ${api.rootResourceId}\n restApi: ${api.id}\n method:\n type: aws:apigateway:Method\n properties:\n restApi: ${api.id}\n resourceId: ${resource.id}\n httpMethod: GET\n authorization: NONE\n integration:\n type: aws:apigateway:Integration\n properties:\n restApi: ${api.id}\n resourceId: ${resource.id}\n httpMethod: ${method.httpMethod}\n integrationHttpMethod: POST\n type: AWS_PROXY\n uri: ${lambda.invokeArn}\n # Lambda\n apigwLambda:\n type: aws:lambda:Permission\n name: apigw_lambda\n properties:\n statementId: AllowExecutionFromAPIGateway\n action: lambda:InvokeFunction\n function: ${lambda.name}\n principal: apigateway.amazonaws.com\n sourceArn: arn:aws:execute-api:${myregion}:${accountId}:${api.id}/*/${method.httpMethod}${resource.path}\n lambda:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: lambda.zip\n name: mylambda\n role: ${role.arn}\n handler: lambda.lambda_handler\n runtime: python3.12\n sourceCodeHash:\n fn::invoke:\n function: std:filebase64sha256\n arguments:\n input: lambda.zip\n return: result\n role:\n type: aws:iam:Role\n properties:\n name: myrole\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n # IAM\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## VPC Link\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst name = config.requireObject(\"name\");\nconst subnetId = config.requireObject(\"subnetId\");\nconst test = new aws.lb.LoadBalancer(\"test\", {\n name: name,\n internal: true,\n loadBalancerType: \"network\",\n subnets: [subnetId],\n});\nconst testVpcLink = new aws.apigateway.VpcLink(\"test\", {\n name: name,\n targetArn: test.arn,\n});\nconst testRestApi = new aws.apigateway.RestApi(\"test\", {name: name});\nconst testResource = new aws.apigateway.Resource(\"test\", {\n restApi: testRestApi.id,\n parentId: testRestApi.rootResourceId,\n pathPart: \"test\",\n});\nconst testMethod = new aws.apigateway.Method(\"test\", {\n restApi: testRestApi.id,\n resourceId: testResource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n requestModels: {\n \"application/json\": \"Error\",\n },\n});\nconst testIntegration = new aws.apigateway.Integration(\"test\", {\n restApi: testRestApi.id,\n resourceId: testResource.id,\n httpMethod: testMethod.httpMethod,\n requestTemplates: {\n \"application/json\": \"\",\n \"application/xml\": `#set(inputRoot = input.path(''))\n{ }`,\n },\n requestParameters: {\n \"integration.request.header.X-Authorization\": \"'static'\",\n \"integration.request.header.X-Foo\": \"'Bar'\",\n },\n type: \"HTTP\",\n uri: \"https://www.google.de\",\n integrationHttpMethod: \"GET\",\n passthroughBehavior: \"WHEN_NO_MATCH\",\n contentHandling: \"CONVERT_TO_TEXT\",\n connectionType: \"VPC_LINK\",\n connectionId: testVpcLink.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nname = config.require_object(\"name\")\nsubnet_id = config.require_object(\"subnetId\")\ntest = aws.lb.LoadBalancer(\"test\",\n name=name,\n internal=True,\n load_balancer_type=\"network\",\n subnets=[subnet_id])\ntest_vpc_link = aws.apigateway.VpcLink(\"test\",\n name=name,\n target_arn=test.arn)\ntest_rest_api = aws.apigateway.RestApi(\"test\", name=name)\ntest_resource = aws.apigateway.Resource(\"test\",\n rest_api=test_rest_api.id,\n parent_id=test_rest_api.root_resource_id,\n path_part=\"test\")\ntest_method = aws.apigateway.Method(\"test\",\n rest_api=test_rest_api.id,\n resource_id=test_resource.id,\n http_method=\"GET\",\n authorization=\"NONE\",\n request_models={\n \"application/json\": \"Error\",\n })\ntest_integration = aws.apigateway.Integration(\"test\",\n rest_api=test_rest_api.id,\n resource_id=test_resource.id,\n http_method=test_method.http_method,\n request_templates={\n \"application/json\": \"\",\n \"application/xml\": \"\"\"#set($inputRoot = $input.path('$'))\n{ }\"\"\",\n },\n request_parameters={\n \"integration.request.header.X-Authorization\": \"'static'\",\n \"integration.request.header.X-Foo\": \"'Bar'\",\n },\n type=\"HTTP\",\n uri=\"https://www.google.de\",\n integration_http_method=\"GET\",\n passthrough_behavior=\"WHEN_NO_MATCH\",\n content_handling=\"CONVERT_TO_TEXT\",\n connection_type=\"VPC_LINK\",\n connection_id=test_vpc_link.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.RequireObject\u003cdynamic\u003e(\"name\");\n var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n var test = new Aws.LB.LoadBalancer(\"test\", new()\n {\n Name = name,\n Internal = true,\n LoadBalancerType = \"network\",\n Subnets = new[]\n {\n subnetId,\n },\n });\n\n var testVpcLink = new Aws.ApiGateway.VpcLink(\"test\", new()\n {\n Name = name,\n TargetArn = test.Arn,\n });\n\n var testRestApi = new Aws.ApiGateway.RestApi(\"test\", new()\n {\n Name = name,\n });\n\n var testResource = new Aws.ApiGateway.Resource(\"test\", new()\n {\n RestApi = testRestApi.Id,\n ParentId = testRestApi.RootResourceId,\n PathPart = \"test\",\n });\n\n var testMethod = new Aws.ApiGateway.Method(\"test\", new()\n {\n RestApi = testRestApi.Id,\n ResourceId = testResource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n RequestModels = \n {\n { \"application/json\", \"Error\" },\n },\n });\n\n var testIntegration = new Aws.ApiGateway.Integration(\"test\", new()\n {\n RestApi = testRestApi.Id,\n ResourceId = testResource.Id,\n HttpMethod = testMethod.HttpMethod,\n RequestTemplates = \n {\n { \"application/json\", \"\" },\n { \"application/xml\", @\"#set($inputRoot = $input.path('$'))\n{ }\" },\n },\n RequestParameters = \n {\n { \"integration.request.header.X-Authorization\", \"'static'\" },\n { \"integration.request.header.X-Foo\", \"'Bar'\" },\n },\n Type = \"HTTP\",\n Uri = \"https://www.google.de\",\n IntegrationHttpMethod = \"GET\",\n PassthroughBehavior = \"WHEN_NO_MATCH\",\n ContentHandling = \"CONVERT_TO_TEXT\",\n ConnectionType = \"VPC_LINK\",\n ConnectionId = testVpcLink.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := cfg.RequireObject(\"name\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\ttest, err := lb.NewLoadBalancer(ctx, \"test\", \u0026lb.LoadBalancerArgs{\n\t\t\tName: pulumi.Any(name),\n\t\t\tInternal: pulumi.Bool(true),\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\tsubnetId,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestVpcLink, err := apigateway.NewVpcLink(ctx, \"test\", \u0026apigateway.VpcLinkArgs{\n\t\t\tName: pulumi.Any(name),\n\t\t\tTargetArn: test.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRestApi, err := apigateway.NewRestApi(ctx, \"test\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.Any(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestResource, err := apigateway.NewResource(ctx, \"test\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: testRestApi.ID(),\n\t\t\tParentId: testRestApi.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestMethod, err := apigateway.NewMethod(ctx, \"test\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: testRestApi.ID(),\n\t\t\tResourceId: testResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\n\t\t\tRequestModels: pulumi.StringMap{\n\t\t\t\t\"application/json\": pulumi.String(\"Error\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegration(ctx, \"test\", \u0026apigateway.IntegrationArgs{\n\t\t\tRestApi: testRestApi.ID(),\n\t\t\tResourceId: testResource.ID(),\n\t\t\tHttpMethod: testMethod.HttpMethod,\n\t\t\tRequestTemplates: pulumi.StringMap{\n\t\t\t\t\"application/json\": pulumi.String(\"\"),\n\t\t\t\t\"application/xml\": pulumi.String(\"#set($inputRoot = $input.path('$'))\\n{ }\"),\n\t\t\t},\n\t\t\tRequestParameters: pulumi.StringMap{\n\t\t\t\t\"integration.request.header.X-Authorization\": pulumi.String(\"'static'\"),\n\t\t\t\t\"integration.request.header.X-Foo\": pulumi.String(\"'Bar'\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"HTTP\"),\n\t\t\tUri: pulumi.String(\"https://www.google.de\"),\n\t\t\tIntegrationHttpMethod: pulumi.String(\"GET\"),\n\t\t\tPassthroughBehavior: pulumi.String(\"WHEN_NO_MATCH\"),\n\t\t\tContentHandling: pulumi.String(\"CONVERT_TO_TEXT\"),\n\t\t\tConnectionType: pulumi.String(\"VPC_LINK\"),\n\t\t\tConnectionId: testVpcLink.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.apigateway.VpcLink;\nimport com.pulumi.aws.apigateway.VpcLinkArgs;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport com.pulumi.aws.apigateway.Integration;\nimport com.pulumi.aws.apigateway.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\");\n final var subnetId = config.get(\"subnetId\");\n var test = new LoadBalancer(\"test\", LoadBalancerArgs.builder()\n .name(name)\n .internal(true)\n .loadBalancerType(\"network\")\n .subnets(subnetId)\n .build());\n\n var testVpcLink = new VpcLink(\"testVpcLink\", VpcLinkArgs.builder()\n .name(name)\n .targetArn(test.arn())\n .build());\n\n var testRestApi = new RestApi(\"testRestApi\", RestApiArgs.builder()\n .name(name)\n .build());\n\n var testResource = new Resource(\"testResource\", ResourceArgs.builder()\n .restApi(testRestApi.id())\n .parentId(testRestApi.rootResourceId())\n .pathPart(\"test\")\n .build());\n\n var testMethod = new Method(\"testMethod\", MethodArgs.builder()\n .restApi(testRestApi.id())\n .resourceId(testResource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .requestModels(Map.of(\"application/json\", \"Error\"))\n .build());\n\n var testIntegration = new Integration(\"testIntegration\", IntegrationArgs.builder()\n .restApi(testRestApi.id())\n .resourceId(testResource.id())\n .httpMethod(testMethod.httpMethod())\n .requestTemplates(Map.ofEntries(\n Map.entry(\"application/json\", \"\"),\n Map.entry(\"application/xml\", \"\"\"\n#set($inputRoot = $input.path('$'))\n{ } \"\"\")\n ))\n .requestParameters(Map.ofEntries(\n Map.entry(\"integration.request.header.X-Authorization\", \"'static'\"),\n Map.entry(\"integration.request.header.X-Foo\", \"'Bar'\")\n ))\n .type(\"HTTP\")\n .uri(\"https://www.google.de\")\n .integrationHttpMethod(\"GET\")\n .passthroughBehavior(\"WHEN_NO_MATCH\")\n .contentHandling(\"CONVERT_TO_TEXT\")\n .connectionType(\"VPC_LINK\")\n .connectionId(testVpcLink.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: dynamic\n subnetId:\n type: dynamic\nresources:\n test:\n type: aws:lb:LoadBalancer\n properties:\n name: ${name}\n internal: true\n loadBalancerType: network\n subnets:\n - ${subnetId}\n testVpcLink:\n type: aws:apigateway:VpcLink\n name: test\n properties:\n name: ${name}\n targetArn: ${test.arn}\n testRestApi:\n type: aws:apigateway:RestApi\n name: test\n properties:\n name: ${name}\n testResource:\n type: aws:apigateway:Resource\n name: test\n properties:\n restApi: ${testRestApi.id}\n parentId: ${testRestApi.rootResourceId}\n pathPart: test\n testMethod:\n type: aws:apigateway:Method\n name: test\n properties:\n restApi: ${testRestApi.id}\n resourceId: ${testResource.id}\n httpMethod: GET\n authorization: NONE\n requestModels:\n application/json: Error\n testIntegration:\n type: aws:apigateway:Integration\n name: test\n properties:\n restApi: ${testRestApi.id}\n resourceId: ${testResource.id}\n httpMethod: ${testMethod.httpMethod}\n requestTemplates:\n application/json: \"\"\n application/xml: |-\n #set($inputRoot = $input.path('$'))\n { }\n requestParameters:\n integration.request.header.X-Authorization: '''static'''\n integration.request.header.X-Foo: '''Bar'''\n type: HTTP\n uri: https://www.google.de\n integrationHttpMethod: GET\n passthroughBehavior: WHEN_NO_MATCH\n contentHandling: CONVERT_TO_TEXT\n connectionType: VPC_LINK\n connectionId: ${testVpcLink.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_integration` using `REST-API-ID/RESOURCE-ID/HTTP-METHOD`. For example:\n\n```sh\n$ pulumi import aws:apigateway/integration:Integration example 12345abcde/67890fghij/GET\n```\n", + "description": "Provides an HTTP Method Integration for an API Gateway Integration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst myDemoResource = new aws.apigateway.Resource(\"MyDemoResource\", {\n restApi: myDemoAPI.id,\n parentId: myDemoAPI.rootResourceId,\n pathPart: \"mydemoresource\",\n});\nconst myDemoMethod = new aws.apigateway.Method(\"MyDemoMethod\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n});\nconst myDemoIntegration = new aws.apigateway.Integration(\"MyDemoIntegration\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: myDemoMethod.httpMethod,\n type: \"MOCK\",\n cacheKeyParameters: [\"method.request.path.param\"],\n cacheNamespace: \"foobar\",\n timeoutMilliseconds: 29000,\n requestParameters: {\n \"integration.request.header.X-Authorization\": \"'static'\",\n },\n requestTemplates: {\n \"application/xml\": `{\n \"body\" : input.json('')\n}\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nmy_demo_resource = aws.apigateway.Resource(\"MyDemoResource\",\n rest_api=my_demo_api.id,\n parent_id=my_demo_api.root_resource_id,\n path_part=\"mydemoresource\")\nmy_demo_method = aws.apigateway.Method(\"MyDemoMethod\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=\"GET\",\n authorization=\"NONE\")\nmy_demo_integration = aws.apigateway.Integration(\"MyDemoIntegration\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=my_demo_method.http_method,\n type=\"MOCK\",\n cache_key_parameters=[\"method.request.path.param\"],\n cache_namespace=\"foobar\",\n timeout_milliseconds=29000,\n request_parameters={\n \"integration.request.header.X-Authorization\": \"'static'\",\n },\n request_templates={\n \"application/xml\": \"\"\"{\n \"body\" : $input.json('$')\n}\n\"\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var myDemoResource = new Aws.ApiGateway.Resource(\"MyDemoResource\", new()\n {\n RestApi = myDemoAPI.Id,\n ParentId = myDemoAPI.RootResourceId,\n PathPart = \"mydemoresource\",\n });\n\n var myDemoMethod = new Aws.ApiGateway.Method(\"MyDemoMethod\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n });\n\n var myDemoIntegration = new Aws.ApiGateway.Integration(\"MyDemoIntegration\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = myDemoMethod.HttpMethod,\n Type = \"MOCK\",\n CacheKeyParameters = new[]\n {\n \"method.request.path.param\",\n },\n CacheNamespace = \"foobar\",\n TimeoutMilliseconds = 29000,\n RequestParameters = \n {\n { \"integration.request.header.X-Authorization\", \"'static'\" },\n },\n RequestTemplates = \n {\n { \"application/xml\", @\"{\n \"\"body\"\" : $input.json('$')\n}\n\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoResource, err := apigateway.NewResource(ctx, \"MyDemoResource\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tParentId: myDemoAPI.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"mydemoresource\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoMethod, err := apigateway.NewMethod(ctx, \"MyDemoMethod\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegration(ctx, \"MyDemoIntegration\", \u0026apigateway.IntegrationArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: myDemoMethod.HttpMethod,\n\t\t\tType: pulumi.String(\"MOCK\"),\n\t\t\tCacheKeyParameters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"method.request.path.param\"),\n\t\t\t},\n\t\t\tCacheNamespace: pulumi.String(\"foobar\"),\n\t\t\tTimeoutMilliseconds: pulumi.Int(29000),\n\t\t\tRequestParameters: pulumi.StringMap{\n\t\t\t\t\"integration.request.header.X-Authorization\": pulumi.String(\"'static'\"),\n\t\t\t},\n\t\t\tRequestTemplates: pulumi.StringMap{\n\t\t\t\t\"application/xml\": pulumi.String(\"{\\n \\\"body\\\" : $input.json('$')\\n}\\n\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport com.pulumi.aws.apigateway.Integration;\nimport com.pulumi.aws.apigateway.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder()\n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var myDemoResource = new Resource(\"myDemoResource\", ResourceArgs.builder()\n .restApi(myDemoAPI.id())\n .parentId(myDemoAPI.rootResourceId())\n .pathPart(\"mydemoresource\")\n .build());\n\n var myDemoMethod = new Method(\"myDemoMethod\", MethodArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .build());\n\n var myDemoIntegration = new Integration(\"myDemoIntegration\", IntegrationArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(myDemoMethod.httpMethod())\n .type(\"MOCK\")\n .cacheKeyParameters(\"method.request.path.param\")\n .cacheNamespace(\"foobar\")\n .timeoutMilliseconds(29000)\n .requestParameters(Map.of(\"integration.request.header.X-Authorization\", \"'static'\"))\n .requestTemplates(Map.of(\"application/xml\", \"\"\"\n{\n \"body\" : $input.json('$')\n}\n \"\"\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n myDemoResource:\n type: aws:apigateway:Resource\n name: MyDemoResource\n properties:\n restApi: ${myDemoAPI.id}\n parentId: ${myDemoAPI.rootResourceId}\n pathPart: mydemoresource\n myDemoMethod:\n type: aws:apigateway:Method\n name: MyDemoMethod\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: GET\n authorization: NONE\n myDemoIntegration:\n type: aws:apigateway:Integration\n name: MyDemoIntegration\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: ${myDemoMethod.httpMethod}\n type: MOCK\n cacheKeyParameters:\n - method.request.path.param\n cacheNamespace: foobar\n timeoutMilliseconds: 29000\n requestParameters:\n integration.request.header.X-Authorization: '''static'''\n requestTemplates:\n application/xml: |\n {\n \"body\" : $input.json('$')\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Lambda integration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst myregion = config.requireObject(\"myregion\");\nconst accountId = config.requireObject(\"accountId\");\n// API Gateway\nconst api = new aws.apigateway.RestApi(\"api\", {name: \"myapi\"});\nconst resource = new aws.apigateway.Resource(\"resource\", {\n pathPart: \"resource\",\n parentId: api.rootResourceId,\n restApi: api.id,\n});\nconst method = new aws.apigateway.Method(\"method\", {\n restApi: api.id,\n resourceId: resource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n});\n// IAM\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {\n name: \"myrole\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst lambda = new aws.lambda.Function(\"lambda\", {\n code: new pulumi.asset.FileArchive(\"lambda.zip\"),\n name: \"mylambda\",\n role: role.arn,\n handler: \"lambda.lambda_handler\",\n runtime: aws.lambda.Runtime.Python3d12,\n sourceCodeHash: std.filebase64sha256({\n input: \"lambda.zip\",\n }).then(invoke =\u003e invoke.result),\n});\nconst integration = new aws.apigateway.Integration(\"integration\", {\n restApi: api.id,\n resourceId: resource.id,\n httpMethod: method.httpMethod,\n integrationHttpMethod: \"POST\",\n type: \"AWS_PROXY\",\n uri: lambda.invokeArn,\n});\n// Lambda\nconst apigwLambda = new aws.lambda.Permission(\"apigw_lambda\", {\n statementId: \"AllowExecutionFromAPIGateway\",\n action: \"lambda:InvokeFunction\",\n \"function\": lambda.name,\n principal: \"apigateway.amazonaws.com\",\n sourceArn: pulumi.interpolate`arn:aws:execute-api:${myregion}:${accountId}:${api.id}/*/${method.httpMethod}${resource.path}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nmyregion = config.require_object(\"myregion\")\naccount_id = config.require_object(\"accountId\")\n# API Gateway\napi = aws.apigateway.RestApi(\"api\", name=\"myapi\")\nresource = aws.apigateway.Resource(\"resource\",\n path_part=\"resource\",\n parent_id=api.root_resource_id,\n rest_api=api.id)\nmethod = aws.apigateway.Method(\"method\",\n rest_api=api.id,\n resource_id=resource.id,\n http_method=\"GET\",\n authorization=\"NONE\")\n# IAM\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"lambda.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nrole = aws.iam.Role(\"role\",\n name=\"myrole\",\n assume_role_policy=assume_role.json)\nlambda_ = aws.lambda_.Function(\"lambda\",\n code=pulumi.FileArchive(\"lambda.zip\"),\n name=\"mylambda\",\n role=role.arn,\n handler=\"lambda.lambda_handler\",\n runtime=aws.lambda_.Runtime.PYTHON3D12,\n source_code_hash=std.filebase64sha256(input=\"lambda.zip\").result)\nintegration = aws.apigateway.Integration(\"integration\",\n rest_api=api.id,\n resource_id=resource.id,\n http_method=method.http_method,\n integration_http_method=\"POST\",\n type=\"AWS_PROXY\",\n uri=lambda_.invoke_arn)\n# Lambda\napigw_lambda = aws.lambda_.Permission(\"apigw_lambda\",\n statement_id=\"AllowExecutionFromAPIGateway\",\n action=\"lambda:InvokeFunction\",\n function=lambda_.name,\n principal=\"apigateway.amazonaws.com\",\n source_arn=pulumi.Output.all(\n id=api.id,\n http_method=method.http_method,\n path=resource.path\n).apply(lambda resolved_outputs: f\"arn:aws:execute-api:{myregion}:{account_id}:{resolved_outputs['id']}/*/{resolved_outputs['http_method']}{resolved_outputs['path']}\")\n)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var myregion = config.RequireObject\u003cdynamic\u003e(\"myregion\");\n var accountId = config.RequireObject\u003cdynamic\u003e(\"accountId\");\n // API Gateway\n var api = new Aws.ApiGateway.RestApi(\"api\", new()\n {\n Name = \"myapi\",\n });\n\n var resource = new Aws.ApiGateway.Resource(\"resource\", new()\n {\n PathPart = \"resource\",\n ParentId = api.RootResourceId,\n RestApi = api.Id,\n });\n\n var method = new Aws.ApiGateway.Method(\"method\", new()\n {\n RestApi = api.Id,\n ResourceId = resource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n });\n\n // IAM\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n Name = \"myrole\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambda = new Aws.Lambda.Function(\"lambda\", new()\n {\n Code = new FileArchive(\"lambda.zip\"),\n Name = \"mylambda\",\n Role = role.Arn,\n Handler = \"lambda.lambda_handler\",\n Runtime = Aws.Lambda.Runtime.Python3d12,\n SourceCodeHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = \"lambda.zip\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var integration = new Aws.ApiGateway.Integration(\"integration\", new()\n {\n RestApi = api.Id,\n ResourceId = resource.Id,\n HttpMethod = method.HttpMethod,\n IntegrationHttpMethod = \"POST\",\n Type = \"AWS_PROXY\",\n Uri = lambda.InvokeArn,\n });\n\n // Lambda\n var apigwLambda = new Aws.Lambda.Permission(\"apigw_lambda\", new()\n {\n StatementId = \"AllowExecutionFromAPIGateway\",\n Action = \"lambda:InvokeFunction\",\n Function = lambda.Name,\n Principal = \"apigateway.amazonaws.com\",\n SourceArn = Output.Tuple(api.Id, method.HttpMethod, resource.Path).Apply(values =\u003e\n {\n var id = values.Item1;\n var httpMethod = values.Item2;\n var path = values.Item3;\n return $\"arn:aws:execute-api:{myregion}:{accountId}:{id}/*/{httpMethod}{path}\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tmyregion := cfg.RequireObject(\"myregion\")\n\t\taccountId := cfg.RequireObject(\"accountId\")\n\t\t// API Gateway\n\t\tapi, err := apigateway.NewRestApi(ctx, \"api\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"myapi\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresource, err := apigateway.NewResource(ctx, \"resource\", \u0026apigateway.ResourceArgs{\n\t\t\tPathPart: pulumi.String(\"resource\"),\n\t\t\tParentId: api.RootResourceId,\n\t\t\tRestApi: api.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmethod, err := apigateway.NewMethod(ctx, \"method\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: api.ID(),\n\t\t\tResourceId: resource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// IAM\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"myrole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: \"lambda.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambda, err := lambda.NewFunction(ctx, \"lambda\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda.zip\"),\n\t\t\tName: pulumi.String(\"mylambda\"),\n\t\t\tRole: role.Arn,\n\t\t\tHandler: pulumi.String(\"lambda.lambda_handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimePython3d12),\n\t\t\tSourceCodeHash: pulumi.String(invokeFilebase64sha256.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegration(ctx, \"integration\", \u0026apigateway.IntegrationArgs{\n\t\t\tRestApi: api.ID(),\n\t\t\tResourceId: resource.ID(),\n\t\t\tHttpMethod: method.HttpMethod,\n\t\t\tIntegrationHttpMethod: pulumi.String(\"POST\"),\n\t\t\tType: pulumi.String(\"AWS_PROXY\"),\n\t\t\tUri: lambda.InvokeArn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Lambda\n\t\t_, err = lambda.NewPermission(ctx, \"apigw_lambda\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromAPIGateway\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: lambda.Name,\n\t\t\tPrincipal: pulumi.String(\"apigateway.amazonaws.com\"),\n\t\t\tSourceArn: pulumi.All(api.ID(), method.HttpMethod, resource.Path).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\thttpMethod := _args[1].(string)\n\t\t\t\tpath := _args[2].(string)\n\t\t\t\treturn fmt.Sprintf(\"arn:aws:execute-api:%v:%v:%v/*/%v%v\", myregion, accountId, id, httpMethod, path), nil\n\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.apigateway.Integration;\nimport com.pulumi.aws.apigateway.IntegrationArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var myregion = config.get(\"myregion\");\n final var accountId = config.get(\"accountId\");\n // API Gateway\n var api = new RestApi(\"api\", RestApiArgs.builder()\n .name(\"myapi\")\n .build());\n\n var resource = new Resource(\"resource\", ResourceArgs.builder()\n .pathPart(\"resource\")\n .parentId(api.rootResourceId())\n .restApi(api.id())\n .build());\n\n var method = new Method(\"method\", MethodArgs.builder()\n .restApi(api.id())\n .resourceId(resource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .build());\n\n // IAM\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"myrole\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var lambda = new Function(\"lambda\", FunctionArgs.builder()\n .code(new FileArchive(\"lambda.zip\"))\n .name(\"mylambda\")\n .role(role.arn())\n .handler(\"lambda.lambda_handler\")\n .runtime(\"python3.12\")\n .sourceCodeHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(\"lambda.zip\")\n .build()).result())\n .build());\n\n var integration = new Integration(\"integration\", IntegrationArgs.builder()\n .restApi(api.id())\n .resourceId(resource.id())\n .httpMethod(method.httpMethod())\n .integrationHttpMethod(\"POST\")\n .type(\"AWS_PROXY\")\n .uri(lambda.invokeArn())\n .build());\n\n // Lambda\n var apigwLambda = new Permission(\"apigwLambda\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromAPIGateway\")\n .action(\"lambda:InvokeFunction\")\n .function(lambda.name())\n .principal(\"apigateway.amazonaws.com\")\n .sourceArn(Output.tuple(api.id(), method.httpMethod(), resource.path()).applyValue(values -\u003e {\n var id = values.t1;\n var httpMethod = values.t2;\n var path = values.t3;\n return String.format(\"arn:aws:execute-api:%s:%s:%s/*/%s%s\", myregion,accountId,id,httpMethod,path);\n }))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # Variables\n myregion:\n type: dynamic\n accountId:\n type: dynamic\nresources:\n # API Gateway\n api:\n type: aws:apigateway:RestApi\n properties:\n name: myapi\n resource:\n type: aws:apigateway:Resource\n properties:\n pathPart: resource\n parentId: ${api.rootResourceId}\n restApi: ${api.id}\n method:\n type: aws:apigateway:Method\n properties:\n restApi: ${api.id}\n resourceId: ${resource.id}\n httpMethod: GET\n authorization: NONE\n integration:\n type: aws:apigateway:Integration\n properties:\n restApi: ${api.id}\n resourceId: ${resource.id}\n httpMethod: ${method.httpMethod}\n integrationHttpMethod: POST\n type: AWS_PROXY\n uri: ${lambda.invokeArn}\n # Lambda\n apigwLambda:\n type: aws:lambda:Permission\n name: apigw_lambda\n properties:\n statementId: AllowExecutionFromAPIGateway\n action: lambda:InvokeFunction\n function: ${lambda.name}\n principal: apigateway.amazonaws.com\n sourceArn: arn:aws:execute-api:${myregion}:${accountId}:${api.id}/*/${method.httpMethod}${resource.path}\n lambda:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: lambda.zip\n name: mylambda\n role: ${role.arn}\n handler: lambda.lambda_handler\n runtime: python3.12\n sourceCodeHash:\n fn::invoke:\n Function: std:filebase64sha256\n Arguments:\n input: lambda.zip\n Return: result\n role:\n type: aws:iam:Role\n properties:\n name: myrole\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n # IAM\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## VPC Link\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst name = config.requireObject(\"name\");\nconst subnetId = config.requireObject(\"subnetId\");\nconst test = new aws.lb.LoadBalancer(\"test\", {\n name: name,\n internal: true,\n loadBalancerType: \"network\",\n subnets: [subnetId],\n});\nconst testVpcLink = new aws.apigateway.VpcLink(\"test\", {\n name: name,\n targetArn: test.arn,\n});\nconst testRestApi = new aws.apigateway.RestApi(\"test\", {name: name});\nconst testResource = new aws.apigateway.Resource(\"test\", {\n restApi: testRestApi.id,\n parentId: testRestApi.rootResourceId,\n pathPart: \"test\",\n});\nconst testMethod = new aws.apigateway.Method(\"test\", {\n restApi: testRestApi.id,\n resourceId: testResource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n requestModels: {\n \"application/json\": \"Error\",\n },\n});\nconst testIntegration = new aws.apigateway.Integration(\"test\", {\n restApi: testRestApi.id,\n resourceId: testResource.id,\n httpMethod: testMethod.httpMethod,\n requestTemplates: {\n \"application/json\": \"\",\n \"application/xml\": `#set(inputRoot = input.path(''))\n{ }`,\n },\n requestParameters: {\n \"integration.request.header.X-Authorization\": \"'static'\",\n \"integration.request.header.X-Foo\": \"'Bar'\",\n },\n type: \"HTTP\",\n uri: \"https://www.google.de\",\n integrationHttpMethod: \"GET\",\n passthroughBehavior: \"WHEN_NO_MATCH\",\n contentHandling: \"CONVERT_TO_TEXT\",\n connectionType: \"VPC_LINK\",\n connectionId: testVpcLink.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nname = config.require_object(\"name\")\nsubnet_id = config.require_object(\"subnetId\")\ntest = aws.lb.LoadBalancer(\"test\",\n name=name,\n internal=True,\n load_balancer_type=\"network\",\n subnets=[subnet_id])\ntest_vpc_link = aws.apigateway.VpcLink(\"test\",\n name=name,\n target_arn=test.arn)\ntest_rest_api = aws.apigateway.RestApi(\"test\", name=name)\ntest_resource = aws.apigateway.Resource(\"test\",\n rest_api=test_rest_api.id,\n parent_id=test_rest_api.root_resource_id,\n path_part=\"test\")\ntest_method = aws.apigateway.Method(\"test\",\n rest_api=test_rest_api.id,\n resource_id=test_resource.id,\n http_method=\"GET\",\n authorization=\"NONE\",\n request_models={\n \"application/json\": \"Error\",\n })\ntest_integration = aws.apigateway.Integration(\"test\",\n rest_api=test_rest_api.id,\n resource_id=test_resource.id,\n http_method=test_method.http_method,\n request_templates={\n \"application/json\": \"\",\n \"application/xml\": \"\"\"#set($inputRoot = $input.path('$'))\n{ }\"\"\",\n },\n request_parameters={\n \"integration.request.header.X-Authorization\": \"'static'\",\n \"integration.request.header.X-Foo\": \"'Bar'\",\n },\n type=\"HTTP\",\n uri=\"https://www.google.de\",\n integration_http_method=\"GET\",\n passthrough_behavior=\"WHEN_NO_MATCH\",\n content_handling=\"CONVERT_TO_TEXT\",\n connection_type=\"VPC_LINK\",\n connection_id=test_vpc_link.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.RequireObject\u003cdynamic\u003e(\"name\");\n var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n var test = new Aws.LB.LoadBalancer(\"test\", new()\n {\n Name = name,\n Internal = true,\n LoadBalancerType = \"network\",\n Subnets = new[]\n {\n subnetId,\n },\n });\n\n var testVpcLink = new Aws.ApiGateway.VpcLink(\"test\", new()\n {\n Name = name,\n TargetArn = test.Arn,\n });\n\n var testRestApi = new Aws.ApiGateway.RestApi(\"test\", new()\n {\n Name = name,\n });\n\n var testResource = new Aws.ApiGateway.Resource(\"test\", new()\n {\n RestApi = testRestApi.Id,\n ParentId = testRestApi.RootResourceId,\n PathPart = \"test\",\n });\n\n var testMethod = new Aws.ApiGateway.Method(\"test\", new()\n {\n RestApi = testRestApi.Id,\n ResourceId = testResource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n RequestModels = \n {\n { \"application/json\", \"Error\" },\n },\n });\n\n var testIntegration = new Aws.ApiGateway.Integration(\"test\", new()\n {\n RestApi = testRestApi.Id,\n ResourceId = testResource.Id,\n HttpMethod = testMethod.HttpMethod,\n RequestTemplates = \n {\n { \"application/json\", \"\" },\n { \"application/xml\", @\"#set($inputRoot = $input.path('$'))\n{ }\" },\n },\n RequestParameters = \n {\n { \"integration.request.header.X-Authorization\", \"'static'\" },\n { \"integration.request.header.X-Foo\", \"'Bar'\" },\n },\n Type = \"HTTP\",\n Uri = \"https://www.google.de\",\n IntegrationHttpMethod = \"GET\",\n PassthroughBehavior = \"WHEN_NO_MATCH\",\n ContentHandling = \"CONVERT_TO_TEXT\",\n ConnectionType = \"VPC_LINK\",\n ConnectionId = testVpcLink.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := cfg.RequireObject(\"name\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\ttest, err := lb.NewLoadBalancer(ctx, \"test\", \u0026lb.LoadBalancerArgs{\n\t\t\tName: pulumi.Any(name),\n\t\t\tInternal: pulumi.Bool(true),\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\tsubnetId,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestVpcLink, err := apigateway.NewVpcLink(ctx, \"test\", \u0026apigateway.VpcLinkArgs{\n\t\t\tName: pulumi.Any(name),\n\t\t\tTargetArn: test.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRestApi, err := apigateway.NewRestApi(ctx, \"test\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.Any(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestResource, err := apigateway.NewResource(ctx, \"test\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: testRestApi.ID(),\n\t\t\tParentId: testRestApi.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestMethod, err := apigateway.NewMethod(ctx, \"test\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: testRestApi.ID(),\n\t\t\tResourceId: testResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\n\t\t\tRequestModels: pulumi.StringMap{\n\t\t\t\t\"application/json\": pulumi.String(\"Error\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegration(ctx, \"test\", \u0026apigateway.IntegrationArgs{\n\t\t\tRestApi: testRestApi.ID(),\n\t\t\tResourceId: testResource.ID(),\n\t\t\tHttpMethod: testMethod.HttpMethod,\n\t\t\tRequestTemplates: pulumi.StringMap{\n\t\t\t\t\"application/json\": pulumi.String(\"\"),\n\t\t\t\t\"application/xml\": pulumi.String(\"#set($inputRoot = $input.path('$'))\\n{ }\"),\n\t\t\t},\n\t\t\tRequestParameters: pulumi.StringMap{\n\t\t\t\t\"integration.request.header.X-Authorization\": pulumi.String(\"'static'\"),\n\t\t\t\t\"integration.request.header.X-Foo\": pulumi.String(\"'Bar'\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"HTTP\"),\n\t\t\tUri: pulumi.String(\"https://www.google.de\"),\n\t\t\tIntegrationHttpMethod: pulumi.String(\"GET\"),\n\t\t\tPassthroughBehavior: pulumi.String(\"WHEN_NO_MATCH\"),\n\t\t\tContentHandling: pulumi.String(\"CONVERT_TO_TEXT\"),\n\t\t\tConnectionType: pulumi.String(\"VPC_LINK\"),\n\t\t\tConnectionId: testVpcLink.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.apigateway.VpcLink;\nimport com.pulumi.aws.apigateway.VpcLinkArgs;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport com.pulumi.aws.apigateway.Integration;\nimport com.pulumi.aws.apigateway.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\");\n final var subnetId = config.get(\"subnetId\");\n var test = new LoadBalancer(\"test\", LoadBalancerArgs.builder()\n .name(name)\n .internal(true)\n .loadBalancerType(\"network\")\n .subnets(subnetId)\n .build());\n\n var testVpcLink = new VpcLink(\"testVpcLink\", VpcLinkArgs.builder()\n .name(name)\n .targetArn(test.arn())\n .build());\n\n var testRestApi = new RestApi(\"testRestApi\", RestApiArgs.builder()\n .name(name)\n .build());\n\n var testResource = new Resource(\"testResource\", ResourceArgs.builder()\n .restApi(testRestApi.id())\n .parentId(testRestApi.rootResourceId())\n .pathPart(\"test\")\n .build());\n\n var testMethod = new Method(\"testMethod\", MethodArgs.builder()\n .restApi(testRestApi.id())\n .resourceId(testResource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .requestModels(Map.of(\"application/json\", \"Error\"))\n .build());\n\n var testIntegration = new Integration(\"testIntegration\", IntegrationArgs.builder()\n .restApi(testRestApi.id())\n .resourceId(testResource.id())\n .httpMethod(testMethod.httpMethod())\n .requestTemplates(Map.ofEntries(\n Map.entry(\"application/json\", \"\"),\n Map.entry(\"application/xml\", \"\"\"\n#set($inputRoot = $input.path('$'))\n{ } \"\"\")\n ))\n .requestParameters(Map.ofEntries(\n Map.entry(\"integration.request.header.X-Authorization\", \"'static'\"),\n Map.entry(\"integration.request.header.X-Foo\", \"'Bar'\")\n ))\n .type(\"HTTP\")\n .uri(\"https://www.google.de\")\n .integrationHttpMethod(\"GET\")\n .passthroughBehavior(\"WHEN_NO_MATCH\")\n .contentHandling(\"CONVERT_TO_TEXT\")\n .connectionType(\"VPC_LINK\")\n .connectionId(testVpcLink.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: dynamic\n subnetId:\n type: dynamic\nresources:\n test:\n type: aws:lb:LoadBalancer\n properties:\n name: ${name}\n internal: true\n loadBalancerType: network\n subnets:\n - ${subnetId}\n testVpcLink:\n type: aws:apigateway:VpcLink\n name: test\n properties:\n name: ${name}\n targetArn: ${test.arn}\n testRestApi:\n type: aws:apigateway:RestApi\n name: test\n properties:\n name: ${name}\n testResource:\n type: aws:apigateway:Resource\n name: test\n properties:\n restApi: ${testRestApi.id}\n parentId: ${testRestApi.rootResourceId}\n pathPart: test\n testMethod:\n type: aws:apigateway:Method\n name: test\n properties:\n restApi: ${testRestApi.id}\n resourceId: ${testResource.id}\n httpMethod: GET\n authorization: NONE\n requestModels:\n application/json: Error\n testIntegration:\n type: aws:apigateway:Integration\n name: test\n properties:\n restApi: ${testRestApi.id}\n resourceId: ${testResource.id}\n httpMethod: ${testMethod.httpMethod}\n requestTemplates:\n application/json:\n application/xml: |-\n #set($inputRoot = $input.path('$'))\n { }\n requestParameters:\n integration.request.header.X-Authorization: '''static'''\n integration.request.header.X-Foo: '''Bar'''\n type: HTTP\n uri: https://www.google.de\n integrationHttpMethod: GET\n passthroughBehavior: WHEN_NO_MATCH\n contentHandling: CONVERT_TO_TEXT\n connectionType: VPC_LINK\n connectionId: ${testVpcLink.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_integration` using `REST-API-ID/RESOURCE-ID/HTTP-METHOD`. For example:\n\n```sh\n$ pulumi import aws:apigateway/integration:Integration example 12345abcde/67890fghij/GET\n```\n", "properties": { "cacheKeyParameters": { "type": "array", @@ -177298,7 +177298,7 @@ } }, "aws:apigateway/method:Method": { - "description": "Provides a HTTP Method for an API Gateway Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst myDemoResource = new aws.apigateway.Resource(\"MyDemoResource\", {\n restApi: myDemoAPI.id,\n parentId: myDemoAPI.rootResourceId,\n pathPart: \"mydemoresource\",\n});\nconst myDemoMethod = new aws.apigateway.Method(\"MyDemoMethod\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nmy_demo_resource = aws.apigateway.Resource(\"MyDemoResource\",\n rest_api=my_demo_api.id,\n parent_id=my_demo_api.root_resource_id,\n path_part=\"mydemoresource\")\nmy_demo_method = aws.apigateway.Method(\"MyDemoMethod\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=\"GET\",\n authorization=\"NONE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var myDemoResource = new Aws.ApiGateway.Resource(\"MyDemoResource\", new()\n {\n RestApi = myDemoAPI.Id,\n ParentId = myDemoAPI.RootResourceId,\n PathPart = \"mydemoresource\",\n });\n\n var myDemoMethod = new Aws.ApiGateway.Method(\"MyDemoMethod\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoResource, err := apigateway.NewResource(ctx, \"MyDemoResource\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tParentId: myDemoAPI.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"mydemoresource\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewMethod(ctx, \"MyDemoMethod\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder()\n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var myDemoResource = new Resource(\"myDemoResource\", ResourceArgs.builder()\n .restApi(myDemoAPI.id())\n .parentId(myDemoAPI.rootResourceId())\n .pathPart(\"mydemoresource\")\n .build());\n\n var myDemoMethod = new Method(\"myDemoMethod\", MethodArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n myDemoResource:\n type: aws:apigateway:Resource\n name: MyDemoResource\n properties:\n restApi: ${myDemoAPI.id}\n parentId: ${myDemoAPI.rootResourceId}\n pathPart: mydemoresource\n myDemoMethod:\n type: aws:apigateway:Method\n name: MyDemoMethod\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: GET\n authorization: NONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Usage with Cognito User Pool Authorizer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst cognitoUserPoolName = config.requireObject(\"cognitoUserPoolName\");\nconst this = aws.cognito.getUserPools({\n name: cognitoUserPoolName,\n});\nconst thisRestApi = new aws.apigateway.RestApi(\"this\", {name: \"with-authorizer\"});\nconst thisResource = new aws.apigateway.Resource(\"this\", {\n restApi: thisRestApi.id,\n parentId: thisRestApi.rootResourceId,\n pathPart: \"{proxy+}\",\n});\nconst thisAuthorizer = new aws.apigateway.Authorizer(\"this\", {\n name: \"CognitoUserPoolAuthorizer\",\n type: \"COGNITO_USER_POOLS\",\n restApi: thisRestApi.id,\n providerArns: _this.then(_this =\u003e _this.arns),\n});\nconst any = new aws.apigateway.Method(\"any\", {\n restApi: thisRestApi.id,\n resourceId: thisResource.id,\n httpMethod: \"ANY\",\n authorization: \"COGNITO_USER_POOLS\",\n authorizerId: thisAuthorizer.id,\n requestParameters: {\n \"method.request.path.proxy\": true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\ncognito_user_pool_name = config.require_object(\"cognitoUserPoolName\")\nthis = aws.cognito.get_user_pools(name=cognito_user_pool_name)\nthis_rest_api = aws.apigateway.RestApi(\"this\", name=\"with-authorizer\")\nthis_resource = aws.apigateway.Resource(\"this\",\n rest_api=this_rest_api.id,\n parent_id=this_rest_api.root_resource_id,\n path_part=\"{proxy+}\")\nthis_authorizer = aws.apigateway.Authorizer(\"this\",\n name=\"CognitoUserPoolAuthorizer\",\n type=\"COGNITO_USER_POOLS\",\n rest_api=this_rest_api.id,\n provider_arns=this.arns)\nany = aws.apigateway.Method(\"any\",\n rest_api=this_rest_api.id,\n resource_id=this_resource.id,\n http_method=\"ANY\",\n authorization=\"COGNITO_USER_POOLS\",\n authorizer_id=this_authorizer.id,\n request_parameters={\n \"method.request.path.proxy\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var cognitoUserPoolName = config.RequireObject\u003cdynamic\u003e(\"cognitoUserPoolName\");\n var @this = Aws.Cognito.GetUserPools.Invoke(new()\n {\n Name = cognitoUserPoolName,\n });\n\n var thisRestApi = new Aws.ApiGateway.RestApi(\"this\", new()\n {\n Name = \"with-authorizer\",\n });\n\n var thisResource = new Aws.ApiGateway.Resource(\"this\", new()\n {\n RestApi = thisRestApi.Id,\n ParentId = thisRestApi.RootResourceId,\n PathPart = \"{proxy+}\",\n });\n\n var thisAuthorizer = new Aws.ApiGateway.Authorizer(\"this\", new()\n {\n Name = \"CognitoUserPoolAuthorizer\",\n Type = \"COGNITO_USER_POOLS\",\n RestApi = thisRestApi.Id,\n ProviderArns = @this.Apply(@this =\u003e @this.Apply(getUserPoolsResult =\u003e getUserPoolsResult.Arns)),\n });\n\n var any = new Aws.ApiGateway.Method(\"any\", new()\n {\n RestApi = thisRestApi.Id,\n ResourceId = thisResource.Id,\n HttpMethod = \"ANY\",\n Authorization = \"COGNITO_USER_POOLS\",\n AuthorizerId = thisAuthorizer.Id,\n RequestParameters = \n {\n { \"method.request.path.proxy\", true },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tcognitoUserPoolName := cfg.RequireObject(\"cognitoUserPoolName\")\n\t\tthis, err := cognito.GetUserPools(ctx, \u0026cognito.GetUserPoolsArgs{\n\t\t\tName: cognitoUserPoolName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisRestApi, err := apigateway.NewRestApi(ctx, \"this\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"with-authorizer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisResource, err := apigateway.NewResource(ctx, \"this\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: thisRestApi.ID(),\n\t\t\tParentId: thisRestApi.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"{proxy+}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisAuthorizer, err := apigateway.NewAuthorizer(ctx, \"this\", \u0026apigateway.AuthorizerArgs{\n\t\t\tName: pulumi.String(\"CognitoUserPoolAuthorizer\"),\n\t\t\tType: pulumi.String(\"COGNITO_USER_POOLS\"),\n\t\t\tRestApi: thisRestApi.ID(),\n\t\t\tProviderArns: interface{}(this.Arns),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewMethod(ctx, \"any\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: thisRestApi.ID(),\n\t\t\tResourceId: thisResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"ANY\"),\n\t\t\tAuthorization: pulumi.String(\"COGNITO_USER_POOLS\"),\n\t\t\tAuthorizerId: thisAuthorizer.ID(),\n\t\t\tRequestParameters: pulumi.BoolMap{\n\t\t\t\t\"method.request.path.proxy\": pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserPoolsArgs;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Authorizer;\nimport com.pulumi.aws.apigateway.AuthorizerArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var cognitoUserPoolName = config.get(\"cognitoUserPoolName\");\n final var this = CognitoFunctions.getUserPools(GetUserPoolsArgs.builder()\n .name(cognitoUserPoolName)\n .build());\n\n var thisRestApi = new RestApi(\"thisRestApi\", RestApiArgs.builder()\n .name(\"with-authorizer\")\n .build());\n\n var thisResource = new Resource(\"thisResource\", ResourceArgs.builder()\n .restApi(thisRestApi.id())\n .parentId(thisRestApi.rootResourceId())\n .pathPart(\"{proxy+}\")\n .build());\n\n var thisAuthorizer = new Authorizer(\"thisAuthorizer\", AuthorizerArgs.builder()\n .name(\"CognitoUserPoolAuthorizer\")\n .type(\"COGNITO_USER_POOLS\")\n .restApi(thisRestApi.id())\n .providerArns(this_.arns())\n .build());\n\n var any = new Method(\"any\", MethodArgs.builder()\n .restApi(thisRestApi.id())\n .resourceId(thisResource.id())\n .httpMethod(\"ANY\")\n .authorization(\"COGNITO_USER_POOLS\")\n .authorizerId(thisAuthorizer.id())\n .requestParameters(Map.of(\"method.request.path.proxy\", true))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n cognitoUserPoolName:\n type: dynamic\nresources:\n thisRestApi:\n type: aws:apigateway:RestApi\n name: this\n properties:\n name: with-authorizer\n thisResource:\n type: aws:apigateway:Resource\n name: this\n properties:\n restApi: ${thisRestApi.id}\n parentId: ${thisRestApi.rootResourceId}\n pathPart: '{proxy+}'\n thisAuthorizer:\n type: aws:apigateway:Authorizer\n name: this\n properties:\n name: CognitoUserPoolAuthorizer\n type: COGNITO_USER_POOLS\n restApi: ${thisRestApi.id}\n providerArns: ${this.arns}\n any:\n type: aws:apigateway:Method\n properties:\n restApi: ${thisRestApi.id}\n resourceId: ${thisResource.id}\n httpMethod: ANY\n authorization: COGNITO_USER_POOLS\n authorizerId: ${thisAuthorizer.id}\n requestParameters:\n method.request.path.proxy: true\nvariables:\n this:\n fn::invoke:\n function: aws:cognito:getUserPools\n arguments:\n name: ${cognitoUserPoolName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_method` using `REST-API-ID/RESOURCE-ID/HTTP-METHOD`. For example:\n\n```sh\n$ pulumi import aws:apigateway/method:Method example 12345abcde/67890fghij/GET\n```\n", + "description": "Provides a HTTP Method for an API Gateway Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst myDemoResource = new aws.apigateway.Resource(\"MyDemoResource\", {\n restApi: myDemoAPI.id,\n parentId: myDemoAPI.rootResourceId,\n pathPart: \"mydemoresource\",\n});\nconst myDemoMethod = new aws.apigateway.Method(\"MyDemoMethod\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nmy_demo_resource = aws.apigateway.Resource(\"MyDemoResource\",\n rest_api=my_demo_api.id,\n parent_id=my_demo_api.root_resource_id,\n path_part=\"mydemoresource\")\nmy_demo_method = aws.apigateway.Method(\"MyDemoMethod\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=\"GET\",\n authorization=\"NONE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var myDemoResource = new Aws.ApiGateway.Resource(\"MyDemoResource\", new()\n {\n RestApi = myDemoAPI.Id,\n ParentId = myDemoAPI.RootResourceId,\n PathPart = \"mydemoresource\",\n });\n\n var myDemoMethod = new Aws.ApiGateway.Method(\"MyDemoMethod\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoResource, err := apigateway.NewResource(ctx, \"MyDemoResource\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tParentId: myDemoAPI.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"mydemoresource\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewMethod(ctx, \"MyDemoMethod\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder()\n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var myDemoResource = new Resource(\"myDemoResource\", ResourceArgs.builder()\n .restApi(myDemoAPI.id())\n .parentId(myDemoAPI.rootResourceId())\n .pathPart(\"mydemoresource\")\n .build());\n\n var myDemoMethod = new Method(\"myDemoMethod\", MethodArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n myDemoResource:\n type: aws:apigateway:Resource\n name: MyDemoResource\n properties:\n restApi: ${myDemoAPI.id}\n parentId: ${myDemoAPI.rootResourceId}\n pathPart: mydemoresource\n myDemoMethod:\n type: aws:apigateway:Method\n name: MyDemoMethod\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: GET\n authorization: NONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Usage with Cognito User Pool Authorizer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst cognitoUserPoolName = config.requireObject(\"cognitoUserPoolName\");\nconst this = aws.cognito.getUserPools({\n name: cognitoUserPoolName,\n});\nconst thisRestApi = new aws.apigateway.RestApi(\"this\", {name: \"with-authorizer\"});\nconst thisResource = new aws.apigateway.Resource(\"this\", {\n restApi: thisRestApi.id,\n parentId: thisRestApi.rootResourceId,\n pathPart: \"{proxy+}\",\n});\nconst thisAuthorizer = new aws.apigateway.Authorizer(\"this\", {\n name: \"CognitoUserPoolAuthorizer\",\n type: \"COGNITO_USER_POOLS\",\n restApi: thisRestApi.id,\n providerArns: _this.then(_this =\u003e _this.arns),\n});\nconst any = new aws.apigateway.Method(\"any\", {\n restApi: thisRestApi.id,\n resourceId: thisResource.id,\n httpMethod: \"ANY\",\n authorization: \"COGNITO_USER_POOLS\",\n authorizerId: thisAuthorizer.id,\n requestParameters: {\n \"method.request.path.proxy\": true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\ncognito_user_pool_name = config.require_object(\"cognitoUserPoolName\")\nthis = aws.cognito.get_user_pools(name=cognito_user_pool_name)\nthis_rest_api = aws.apigateway.RestApi(\"this\", name=\"with-authorizer\")\nthis_resource = aws.apigateway.Resource(\"this\",\n rest_api=this_rest_api.id,\n parent_id=this_rest_api.root_resource_id,\n path_part=\"{proxy+}\")\nthis_authorizer = aws.apigateway.Authorizer(\"this\",\n name=\"CognitoUserPoolAuthorizer\",\n type=\"COGNITO_USER_POOLS\",\n rest_api=this_rest_api.id,\n provider_arns=this.arns)\nany = aws.apigateway.Method(\"any\",\n rest_api=this_rest_api.id,\n resource_id=this_resource.id,\n http_method=\"ANY\",\n authorization=\"COGNITO_USER_POOLS\",\n authorizer_id=this_authorizer.id,\n request_parameters={\n \"method.request.path.proxy\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var cognitoUserPoolName = config.RequireObject\u003cdynamic\u003e(\"cognitoUserPoolName\");\n var @this = Aws.Cognito.GetUserPools.Invoke(new()\n {\n Name = cognitoUserPoolName,\n });\n\n var thisRestApi = new Aws.ApiGateway.RestApi(\"this\", new()\n {\n Name = \"with-authorizer\",\n });\n\n var thisResource = new Aws.ApiGateway.Resource(\"this\", new()\n {\n RestApi = thisRestApi.Id,\n ParentId = thisRestApi.RootResourceId,\n PathPart = \"{proxy+}\",\n });\n\n var thisAuthorizer = new Aws.ApiGateway.Authorizer(\"this\", new()\n {\n Name = \"CognitoUserPoolAuthorizer\",\n Type = \"COGNITO_USER_POOLS\",\n RestApi = thisRestApi.Id,\n ProviderArns = @this.Apply(@this =\u003e @this.Apply(getUserPoolsResult =\u003e getUserPoolsResult.Arns)),\n });\n\n var any = new Aws.ApiGateway.Method(\"any\", new()\n {\n RestApi = thisRestApi.Id,\n ResourceId = thisResource.Id,\n HttpMethod = \"ANY\",\n Authorization = \"COGNITO_USER_POOLS\",\n AuthorizerId = thisAuthorizer.Id,\n RequestParameters = \n {\n { \"method.request.path.proxy\", true },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tcognitoUserPoolName := cfg.RequireObject(\"cognitoUserPoolName\")\n\t\tthis, err := cognito.GetUserPools(ctx, \u0026cognito.GetUserPoolsArgs{\n\t\t\tName: cognitoUserPoolName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisRestApi, err := apigateway.NewRestApi(ctx, \"this\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"with-authorizer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisResource, err := apigateway.NewResource(ctx, \"this\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: thisRestApi.ID(),\n\t\t\tParentId: thisRestApi.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"{proxy+}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisAuthorizer, err := apigateway.NewAuthorizer(ctx, \"this\", \u0026apigateway.AuthorizerArgs{\n\t\t\tName: pulumi.String(\"CognitoUserPoolAuthorizer\"),\n\t\t\tType: pulumi.String(\"COGNITO_USER_POOLS\"),\n\t\t\tRestApi: thisRestApi.ID(),\n\t\t\tProviderArns: interface{}(this.Arns),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewMethod(ctx, \"any\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: thisRestApi.ID(),\n\t\t\tResourceId: thisResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"ANY\"),\n\t\t\tAuthorization: pulumi.String(\"COGNITO_USER_POOLS\"),\n\t\t\tAuthorizerId: thisAuthorizer.ID(),\n\t\t\tRequestParameters: pulumi.BoolMap{\n\t\t\t\t\"method.request.path.proxy\": pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserPoolsArgs;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Authorizer;\nimport com.pulumi.aws.apigateway.AuthorizerArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var cognitoUserPoolName = config.get(\"cognitoUserPoolName\");\n final var this = CognitoFunctions.getUserPools(GetUserPoolsArgs.builder()\n .name(cognitoUserPoolName)\n .build());\n\n var thisRestApi = new RestApi(\"thisRestApi\", RestApiArgs.builder()\n .name(\"with-authorizer\")\n .build());\n\n var thisResource = new Resource(\"thisResource\", ResourceArgs.builder()\n .restApi(thisRestApi.id())\n .parentId(thisRestApi.rootResourceId())\n .pathPart(\"{proxy+}\")\n .build());\n\n var thisAuthorizer = new Authorizer(\"thisAuthorizer\", AuthorizerArgs.builder()\n .name(\"CognitoUserPoolAuthorizer\")\n .type(\"COGNITO_USER_POOLS\")\n .restApi(thisRestApi.id())\n .providerArns(this_.arns())\n .build());\n\n var any = new Method(\"any\", MethodArgs.builder()\n .restApi(thisRestApi.id())\n .resourceId(thisResource.id())\n .httpMethod(\"ANY\")\n .authorization(\"COGNITO_USER_POOLS\")\n .authorizerId(thisAuthorizer.id())\n .requestParameters(Map.of(\"method.request.path.proxy\", true))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n cognitoUserPoolName:\n type: dynamic\nresources:\n thisRestApi:\n type: aws:apigateway:RestApi\n name: this\n properties:\n name: with-authorizer\n thisResource:\n type: aws:apigateway:Resource\n name: this\n properties:\n restApi: ${thisRestApi.id}\n parentId: ${thisRestApi.rootResourceId}\n pathPart: '{proxy+}'\n thisAuthorizer:\n type: aws:apigateway:Authorizer\n name: this\n properties:\n name: CognitoUserPoolAuthorizer\n type: COGNITO_USER_POOLS\n restApi: ${thisRestApi.id}\n providerArns: ${this.arns}\n any:\n type: aws:apigateway:Method\n properties:\n restApi: ${thisRestApi.id}\n resourceId: ${thisResource.id}\n httpMethod: ANY\n authorization: COGNITO_USER_POOLS\n authorizerId: ${thisAuthorizer.id}\n requestParameters:\n method.request.path.proxy: true\nvariables:\n this:\n fn::invoke:\n Function: aws:cognito:getUserPools\n Arguments:\n name: ${cognitoUserPoolName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_method` using `REST-API-ID/RESOURCE-ID/HTTP-METHOD`. For example:\n\n```sh\n$ pulumi import aws:apigateway/method:Method example 12345abcde/67890fghij/GET\n```\n", "properties": { "apiKeyRequired": { "type": "boolean", @@ -178386,7 +178386,7 @@ } }, "aws:apigateway/restApiPolicy:RestApiPolicy": { - "description": "Provides an API Gateway REST API Policy.\n\n\u003e **Note:** Amazon API Gateway Version 1 resources are used for creating and deploying REST APIs. To create and deploy WebSocket and HTTP APIs, use Amazon API Gateway Version 2 resources.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testRestApi = new aws.apigateway.RestApi(\"test\", {name: \"example-rest-api\"});\nconst test = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n actions: [\"execute-api:Invoke\"],\n resources: [testRestApi.executionArn],\n conditions: [{\n test: \"IpAddress\",\n variable: \"aws:SourceIp\",\n values: [\"123.123.123.123/32\"],\n }],\n }],\n});\nconst testRestApiPolicy = new aws.apigateway.RestApiPolicy(\"test\", {\n restApiId: testRestApi.id,\n policy: test.apply(test =\u003e test.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_rest_api = aws.apigateway.RestApi(\"test\", name=\"example-rest-api\")\ntest = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"execute-api:Invoke\"],\n \"resources\": [test_rest_api.execution_arn],\n \"conditions\": [{\n \"test\": \"IpAddress\",\n \"variable\": \"aws:SourceIp\",\n \"values\": [\"123.123.123.123/32\"],\n }],\n}])\ntest_rest_api_policy = aws.apigateway.RestApiPolicy(\"test\",\n rest_api_id=test_rest_api.id,\n policy=test.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testRestApi = new Aws.ApiGateway.RestApi(\"test\", new()\n {\n Name = \"example-rest-api\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"execute-api:Invoke\",\n },\n Resources = new[]\n {\n testRestApi.ExecutionArn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"IpAddress\",\n Variable = \"aws:SourceIp\",\n Values = new[]\n {\n \"123.123.123.123/32\",\n },\n },\n },\n },\n },\n });\n\n var testRestApiPolicy = new Aws.ApiGateway.RestApiPolicy(\"test\", new()\n {\n RestApiId = testRestApi.Id,\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestRestApi, err := apigateway.NewRestApi(ctx, \"test\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"example-rest-api\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"execute-api:Invoke\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ttestRestApi.ExecutionArn,\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"IpAddress\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceIp\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"123.123.123.123/32\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = apigateway.NewRestApiPolicy(ctx, \"test\", \u0026apigateway.RestApiPolicyArgs{\n\t\t\tRestApiId: testRestApi.ID(),\n\t\t\tPolicy: pulumi.String(test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026test.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.apigateway.RestApiPolicy;\nimport com.pulumi.aws.apigateway.RestApiPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testRestApi = new RestApi(\"testRestApi\", RestApiArgs.builder()\n .name(\"example-rest-api\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .actions(\"execute-api:Invoke\")\n .resources(testRestApi.executionArn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"IpAddress\")\n .variable(\"aws:SourceIp\")\n .values(\"123.123.123.123/32\")\n .build())\n .build())\n .build());\n\n var testRestApiPolicy = new RestApiPolicy(\"testRestApiPolicy\", RestApiPolicyArgs.builder()\n .restApiId(testRestApi.id())\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRestApi:\n type: aws:apigateway:RestApi\n name: test\n properties:\n name: example-rest-api\n testRestApiPolicy:\n type: aws:apigateway:RestApiPolicy\n name: test\n properties:\n restApiId: ${testRestApi.id}\n policy: ${test.json}\nvariables:\n test:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n actions:\n - execute-api:Invoke\n resources:\n - ${testRestApi.executionArn}\n conditions:\n - test: IpAddress\n variable: aws:SourceIp\n values:\n - 123.123.123.123/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_rest_api_policy` using the REST API ID. For example:\n\n```sh\n$ pulumi import aws:apigateway/restApiPolicy:RestApiPolicy example 12345abcde\n```\n", + "description": "Provides an API Gateway REST API Policy.\n\n\u003e **Note:** Amazon API Gateway Version 1 resources are used for creating and deploying REST APIs. To create and deploy WebSocket and HTTP APIs, use Amazon API Gateway Version 2 resources.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testRestApi = new aws.apigateway.RestApi(\"test\", {name: \"example-rest-api\"});\nconst test = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n actions: [\"execute-api:Invoke\"],\n resources: [testRestApi.executionArn],\n conditions: [{\n test: \"IpAddress\",\n variable: \"aws:SourceIp\",\n values: [\"123.123.123.123/32\"],\n }],\n }],\n});\nconst testRestApiPolicy = new aws.apigateway.RestApiPolicy(\"test\", {\n restApiId: testRestApi.id,\n policy: test.apply(test =\u003e test.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_rest_api = aws.apigateway.RestApi(\"test\", name=\"example-rest-api\")\ntest = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"execute-api:Invoke\"],\n \"resources\": [test_rest_api.execution_arn],\n \"conditions\": [{\n \"test\": \"IpAddress\",\n \"variable\": \"aws:SourceIp\",\n \"values\": [\"123.123.123.123/32\"],\n }],\n}])\ntest_rest_api_policy = aws.apigateway.RestApiPolicy(\"test\",\n rest_api_id=test_rest_api.id,\n policy=test.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testRestApi = new Aws.ApiGateway.RestApi(\"test\", new()\n {\n Name = \"example-rest-api\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"execute-api:Invoke\",\n },\n Resources = new[]\n {\n testRestApi.ExecutionArn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"IpAddress\",\n Variable = \"aws:SourceIp\",\n Values = new[]\n {\n \"123.123.123.123/32\",\n },\n },\n },\n },\n },\n });\n\n var testRestApiPolicy = new Aws.ApiGateway.RestApiPolicy(\"test\", new()\n {\n RestApiId = testRestApi.Id,\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestRestApi, err := apigateway.NewRestApi(ctx, \"test\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"example-rest-api\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"execute-api:Invoke\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ttestRestApi.ExecutionArn,\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"IpAddress\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceIp\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"123.123.123.123/32\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = apigateway.NewRestApiPolicy(ctx, \"test\", \u0026apigateway.RestApiPolicyArgs{\n\t\t\tRestApiId: testRestApi.ID(),\n\t\t\tPolicy: pulumi.String(test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026test.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.apigateway.RestApiPolicy;\nimport com.pulumi.aws.apigateway.RestApiPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testRestApi = new RestApi(\"testRestApi\", RestApiArgs.builder()\n .name(\"example-rest-api\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .actions(\"execute-api:Invoke\")\n .resources(testRestApi.executionArn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"IpAddress\")\n .variable(\"aws:SourceIp\")\n .values(\"123.123.123.123/32\")\n .build())\n .build())\n .build());\n\n var testRestApiPolicy = new RestApiPolicy(\"testRestApiPolicy\", RestApiPolicyArgs.builder()\n .restApiId(testRestApi.id())\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRestApi:\n type: aws:apigateway:RestApi\n name: test\n properties:\n name: example-rest-api\n testRestApiPolicy:\n type: aws:apigateway:RestApiPolicy\n name: test\n properties:\n restApiId: ${testRestApi.id}\n policy: ${test.json}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n actions:\n - execute-api:Invoke\n resources:\n - ${testRestApi.executionArn}\n conditions:\n - test: IpAddress\n variable: aws:SourceIp\n values:\n - 123.123.123.123/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_rest_api_policy` using the REST API ID. For example:\n\n```sh\n$ pulumi import aws:apigateway/restApiPolicy:RestApiPolicy example 12345abcde\n```\n", "properties": { "policy": { "type": "string", @@ -178433,7 +178433,7 @@ } }, "aws:apigateway/stage:Stage": { - "description": "Manages an API Gateway Stage. A stage is a named reference to a deployment, which can be done via the `aws.apigateway.Deployment` resource. Stages can be optionally managed further with the `aws.apigateway.BasePathMapping` resource, `aws.apigateway.DomainName` resource, and `aws_api_method_settings` resource. For more information, see the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-stages.html).\n\n### Managing the API Logging CloudWatch Log Group\n\nAPI Gateway provides the ability to [enable CloudWatch API logging](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html). To manage the CloudWatch Log Group when this feature is enabled, the `aws.cloudwatch.LogGroup` resource can be used where the name matches the API Gateway naming convention. If the CloudWatch Log Group previously exists, import the `aws.cloudwatch.LogGroup` resource into Pulumi as a one time operation. You can recreate the environment without import.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst stageName = config.get(\"stageName\") || \"example\";\nconst example = new aws.apigateway.RestApi(\"example\", {});\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {\n name: pulumi.interpolate`API-Gateway-Execution-Logs_${example.id}/${stageName}`,\n retentionInDays: 7,\n});\nconst exampleStage = new aws.apigateway.Stage(\"example\", {stageName: stageName}, {\n dependsOn: [exampleLogGroup],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nstage_name = config.get(\"stageName\")\nif stage_name is None:\n stage_name = \"example\"\nexample = aws.apigateway.RestApi(\"example\")\nexample_log_group = aws.cloudwatch.LogGroup(\"example\",\n name=example.id.apply(lambda id: f\"API-Gateway-Execution-Logs_{id}/{stage_name}\"),\n retention_in_days=7)\nexample_stage = aws.apigateway.Stage(\"example\", stage_name=stage_name,\nopts = pulumi.ResourceOptions(depends_on=[example_log_group]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var stageName = config.Get(\"stageName\") ?? \"example\";\n var example = new Aws.ApiGateway.RestApi(\"example\");\n\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = example.Id.Apply(id =\u003e $\"API-Gateway-Execution-Logs_{id}/{stageName}\"),\n RetentionInDays = 7,\n });\n\n var exampleStage = new Aws.ApiGateway.Stage(\"example\", new()\n {\n StageName = stageName,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleLogGroup,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tstageName := \"example\"\n\t\tif param := cfg.Get(\"stageName\"); param != \"\" {\n\t\t\tstageName = param\n\t\t}\n\t\texample, err := apigateway.NewRestApi(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"API-Gateway-Execution-Logs_%v/%v\", id, stageName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tRetentionInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewStage(ctx, \"example\", \u0026apigateway.StageArgs{\n\t\t\tStageName: pulumi.String(stageName),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleLogGroup,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.apigateway.Stage;\nimport com.pulumi.aws.apigateway.StageArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var stageName = config.get(\"stageName\").orElse(\"example\");\n var example = new RestApi(\"example\");\n\n var exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder()\n .name(example.id().applyValue(id -\u003e String.format(\"API-Gateway-Execution-Logs_%s/%s\", id,stageName)))\n .retentionInDays(7)\n .build());\n\n var exampleStage = new Stage(\"exampleStage\", StageArgs.builder()\n .stageName(stageName)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleLogGroup)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n stageName:\n type: string\n default: example\nresources:\n example:\n type: aws:apigateway:RestApi\n exampleStage:\n type: aws:apigateway:Stage\n name: example\n properties:\n stageName: ${stageName}\n options:\n dependsOn:\n - ${exampleLogGroup}\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: API-Gateway-Execution-Logs_${example.id}/${stageName}\n retentionInDays: 7 # ... potentially other configuration ...\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_stage` using `REST-API-ID/STAGE-NAME`. For example:\n\n```sh\n$ pulumi import aws:apigateway/stage:Stage example 12345abcde/example\n```\n", + "description": "Manages an API Gateway Stage. A stage is a named reference to a deployment, which can be done via the `aws.apigateway.Deployment` resource. Stages can be optionally managed further with the `aws.apigateway.BasePathMapping` resource, `aws.apigateway.DomainName` resource, and `aws_api_method_settings` resource. For more information, see the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-stages.html).\n\n### Managing the API Logging CloudWatch Log Group\n\nAPI Gateway provides the ability to [enable CloudWatch API logging](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html). To manage the CloudWatch Log Group when this feature is enabled, the `aws.cloudwatch.LogGroup` resource can be used where the name matches the API Gateway naming convention. If the CloudWatch Log Group previously exists, import the `aws.cloudwatch.LogGroup` resource into Pulumi as a one time operation. You can recreate the environment without import.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst stageName = config.get(\"stageName\") || \"example\";\nconst example = new aws.apigateway.RestApi(\"example\", {});\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {\n name: pulumi.interpolate`API-Gateway-Execution-Logs_${example.id}/${stageName}`,\n retentionInDays: 7,\n});\nconst exampleStage = new aws.apigateway.Stage(\"example\", {stageName: stageName}, {\n dependsOn: [exampleLogGroup],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nstage_name = config.get(\"stageName\")\nif stage_name is None:\n stage_name = \"example\"\nexample = aws.apigateway.RestApi(\"example\")\nexample_log_group = aws.cloudwatch.LogGroup(\"example\",\n name=example.id.apply(lambda id: f\"API-Gateway-Execution-Logs_{id}/{stage_name}\"),\n retention_in_days=7)\nexample_stage = aws.apigateway.Stage(\"example\", stage_name=stage_name,\nopts = pulumi.ResourceOptions(depends_on=[example_log_group]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var stageName = config.Get(\"stageName\") ?? \"example\";\n var example = new Aws.ApiGateway.RestApi(\"example\");\n\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = example.Id.Apply(id =\u003e $\"API-Gateway-Execution-Logs_{id}/{stageName}\"),\n RetentionInDays = 7,\n });\n\n var exampleStage = new Aws.ApiGateway.Stage(\"example\", new()\n {\n StageName = stageName,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleLogGroup,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tstageName := \"example\"\n\t\tif param := cfg.Get(\"stageName\"); param != \"\" {\n\t\t\tstageName = param\n\t\t}\n\t\texample, err := apigateway.NewRestApi(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"API-Gateway-Execution-Logs_%v/%v\", id, stageName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tRetentionInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewStage(ctx, \"example\", \u0026apigateway.StageArgs{\n\t\t\tStageName: pulumi.String(stageName),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleLogGroup,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.apigateway.Stage;\nimport com.pulumi.aws.apigateway.StageArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var stageName = config.get(\"stageName\").orElse(\"example\");\n var example = new RestApi(\"example\");\n\n var exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder()\n .name(example.id().applyValue(id -\u003e String.format(\"API-Gateway-Execution-Logs_%s/%s\", id,stageName)))\n .retentionInDays(7)\n .build());\n\n var exampleStage = new Stage(\"exampleStage\", StageArgs.builder()\n .stageName(stageName)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleLogGroup)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n stageName:\n type: string\n default: example\nresources:\n example:\n type: aws:apigateway:RestApi\n exampleStage:\n type: aws:apigateway:Stage\n name: example\n properties:\n stageName: ${stageName}\n options:\n dependson:\n - ${exampleLogGroup}\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: API-Gateway-Execution-Logs_${example.id}/${stageName}\n retentionInDays: 7 # ... potentially other configuration ...\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_stage` using `REST-API-ID/STAGE-NAME`. For example:\n\n```sh\n$ pulumi import aws:apigateway/stage:Stage example 12345abcde/example\n```\n", "properties": { "accessLogSettings": { "$ref": "#/types/aws:apigateway/StageAccessLogSettings:StageAccessLogSettings", @@ -182213,7 +182213,7 @@ } }, "aws:appconfig/extension:Extension": { - "description": "Provides an AppConfig Extension resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTopic = new aws.sns.Topic(\"test\", {name: \"test\"});\nconst test = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"appconfig.amazonaws.com\"],\n }],\n }],\n});\nconst testRole = new aws.iam.Role(\"test\", {\n name: \"test\",\n assumeRolePolicy: test.then(test =\u003e test.json),\n});\nconst testExtension = new aws.appconfig.Extension(\"test\", {\n name: \"test\",\n description: \"test description\",\n actionPoints: [{\n point: \"ON_DEPLOYMENT_COMPLETE\",\n actions: [{\n name: \"test\",\n roleArn: testRole.arn,\n uri: testTopic.arn,\n }],\n }],\n tags: {\n Type: \"AppConfig Extension\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_topic = aws.sns.Topic(\"test\", name=\"test\")\ntest = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"appconfig.amazonaws.com\"],\n }],\n}])\ntest_role = aws.iam.Role(\"test\",\n name=\"test\",\n assume_role_policy=test.json)\ntest_extension = aws.appconfig.Extension(\"test\",\n name=\"test\",\n description=\"test description\",\n action_points=[{\n \"point\": \"ON_DEPLOYMENT_COMPLETE\",\n \"actions\": [{\n \"name\": \"test\",\n \"role_arn\": test_role.arn,\n \"uri\": test_topic.arn,\n }],\n }],\n tags={\n \"Type\": \"AppConfig Extension\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTopic = new Aws.Sns.Topic(\"test\", new()\n {\n Name = \"test\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appconfig.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test\", new()\n {\n Name = \"test\",\n AssumeRolePolicy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testExtension = new Aws.AppConfig.Extension(\"test\", new()\n {\n Name = \"test\",\n Description = \"test description\",\n ActionPoints = new[]\n {\n new Aws.AppConfig.Inputs.ExtensionActionPointArgs\n {\n Point = \"ON_DEPLOYMENT_COMPLETE\",\n Actions = new[]\n {\n new Aws.AppConfig.Inputs.ExtensionActionPointActionArgs\n {\n Name = \"test\",\n RoleArn = testRole.Arn,\n Uri = testTopic.Arn,\n },\n },\n },\n },\n Tags = \n {\n { \"Type\", \"AppConfig Extension\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestTopic, err := sns.NewTopic(ctx, \"test\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appconfig.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tAssumeRolePolicy: pulumi.String(test.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfig.NewExtension(ctx, \"test\", \u0026appconfig.ExtensionArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t\tActionPoints: appconfig.ExtensionActionPointArray{\n\t\t\t\t\u0026appconfig.ExtensionActionPointArgs{\n\t\t\t\t\tPoint: pulumi.String(\"ON_DEPLOYMENT_COMPLETE\"),\n\t\t\t\t\tActions: appconfig.ExtensionActionPointActionArray{\n\t\t\t\t\t\t\u0026appconfig.ExtensionActionPointActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"test\"),\n\t\t\t\t\t\t\tRoleArn: testRole.Arn,\n\t\t\t\t\t\t\tUri: testTopic.Arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Extension\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.appconfig.Extension;\nimport com.pulumi.aws.appconfig.ExtensionArgs;\nimport com.pulumi.aws.appconfig.inputs.ExtensionActionPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testTopic = new Topic(\"testTopic\", TopicArgs.builder()\n .name(\"test\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appconfig.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"test\")\n .assumeRolePolicy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testExtension = new Extension(\"testExtension\", ExtensionArgs.builder()\n .name(\"test\")\n .description(\"test description\")\n .actionPoints(ExtensionActionPointArgs.builder()\n .point(\"ON_DEPLOYMENT_COMPLETE\")\n .actions(ExtensionActionPointActionArgs.builder()\n .name(\"test\")\n .roleArn(testRole.arn())\n .uri(testTopic.arn())\n .build())\n .build())\n .tags(Map.of(\"Type\", \"AppConfig Extension\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testTopic:\n type: aws:sns:Topic\n name: test\n properties:\n name: test\n testRole:\n type: aws:iam:Role\n name: test\n properties:\n name: test\n assumeRolePolicy: ${test.json}\n testExtension:\n type: aws:appconfig:Extension\n name: test\n properties:\n name: test\n description: test description\n actionPoints:\n - point: ON_DEPLOYMENT_COMPLETE\n actions:\n - name: test\n roleArn: ${testRole.arn}\n uri: ${testTopic.arn}\n tags:\n Type: AppConfig Extension\nvariables:\n test:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - appconfig.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Extensions using their extension ID. For example:\n\n```sh\n$ pulumi import aws:appconfig/extension:Extension example 71rxuzt\n```\n", + "description": "Provides an AppConfig Extension resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTopic = new aws.sns.Topic(\"test\", {name: \"test\"});\nconst test = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"appconfig.amazonaws.com\"],\n }],\n }],\n});\nconst testRole = new aws.iam.Role(\"test\", {\n name: \"test\",\n assumeRolePolicy: test.then(test =\u003e test.json),\n});\nconst testExtension = new aws.appconfig.Extension(\"test\", {\n name: \"test\",\n description: \"test description\",\n actionPoints: [{\n point: \"ON_DEPLOYMENT_COMPLETE\",\n actions: [{\n name: \"test\",\n roleArn: testRole.arn,\n uri: testTopic.arn,\n }],\n }],\n tags: {\n Type: \"AppConfig Extension\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_topic = aws.sns.Topic(\"test\", name=\"test\")\ntest = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"appconfig.amazonaws.com\"],\n }],\n}])\ntest_role = aws.iam.Role(\"test\",\n name=\"test\",\n assume_role_policy=test.json)\ntest_extension = aws.appconfig.Extension(\"test\",\n name=\"test\",\n description=\"test description\",\n action_points=[{\n \"point\": \"ON_DEPLOYMENT_COMPLETE\",\n \"actions\": [{\n \"name\": \"test\",\n \"role_arn\": test_role.arn,\n \"uri\": test_topic.arn,\n }],\n }],\n tags={\n \"Type\": \"AppConfig Extension\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTopic = new Aws.Sns.Topic(\"test\", new()\n {\n Name = \"test\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appconfig.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test\", new()\n {\n Name = \"test\",\n AssumeRolePolicy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testExtension = new Aws.AppConfig.Extension(\"test\", new()\n {\n Name = \"test\",\n Description = \"test description\",\n ActionPoints = new[]\n {\n new Aws.AppConfig.Inputs.ExtensionActionPointArgs\n {\n Point = \"ON_DEPLOYMENT_COMPLETE\",\n Actions = new[]\n {\n new Aws.AppConfig.Inputs.ExtensionActionPointActionArgs\n {\n Name = \"test\",\n RoleArn = testRole.Arn,\n Uri = testTopic.Arn,\n },\n },\n },\n },\n Tags = \n {\n { \"Type\", \"AppConfig Extension\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestTopic, err := sns.NewTopic(ctx, \"test\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appconfig.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tAssumeRolePolicy: pulumi.String(test.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfig.NewExtension(ctx, \"test\", \u0026appconfig.ExtensionArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t\tActionPoints: appconfig.ExtensionActionPointArray{\n\t\t\t\t\u0026appconfig.ExtensionActionPointArgs{\n\t\t\t\t\tPoint: pulumi.String(\"ON_DEPLOYMENT_COMPLETE\"),\n\t\t\t\t\tActions: appconfig.ExtensionActionPointActionArray{\n\t\t\t\t\t\t\u0026appconfig.ExtensionActionPointActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"test\"),\n\t\t\t\t\t\t\tRoleArn: testRole.Arn,\n\t\t\t\t\t\t\tUri: testTopic.Arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Extension\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.appconfig.Extension;\nimport com.pulumi.aws.appconfig.ExtensionArgs;\nimport com.pulumi.aws.appconfig.inputs.ExtensionActionPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testTopic = new Topic(\"testTopic\", TopicArgs.builder()\n .name(\"test\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appconfig.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"test\")\n .assumeRolePolicy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testExtension = new Extension(\"testExtension\", ExtensionArgs.builder()\n .name(\"test\")\n .description(\"test description\")\n .actionPoints(ExtensionActionPointArgs.builder()\n .point(\"ON_DEPLOYMENT_COMPLETE\")\n .actions(ExtensionActionPointActionArgs.builder()\n .name(\"test\")\n .roleArn(testRole.arn())\n .uri(testTopic.arn())\n .build())\n .build())\n .tags(Map.of(\"Type\", \"AppConfig Extension\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testTopic:\n type: aws:sns:Topic\n name: test\n properties:\n name: test\n testRole:\n type: aws:iam:Role\n name: test\n properties:\n name: test\n assumeRolePolicy: ${test.json}\n testExtension:\n type: aws:appconfig:Extension\n name: test\n properties:\n name: test\n description: test description\n actionPoints:\n - point: ON_DEPLOYMENT_COMPLETE\n actions:\n - name: test\n roleArn: ${testRole.arn}\n uri: ${testTopic.arn}\n tags:\n Type: AppConfig Extension\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - appconfig.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Extensions using their extension ID. For example:\n\n```sh\n$ pulumi import aws:appconfig/extension:Extension example 71rxuzt\n```\n", "properties": { "actionPoints": { "type": "array", @@ -182357,7 +182357,7 @@ } }, "aws:appconfig/extensionAssociation:ExtensionAssociation": { - "description": "Associates an AppConfig Extension with a Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTopic = new aws.sns.Topic(\"test\", {name: \"test\"});\nconst test = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"appconfig.amazonaws.com\"],\n }],\n }],\n});\nconst testRole = new aws.iam.Role(\"test\", {\n name: \"test\",\n assumeRolePolicy: test.then(test =\u003e test.json),\n});\nconst testExtension = new aws.appconfig.Extension(\"test\", {\n name: \"test\",\n description: \"test description\",\n actionPoints: [{\n point: \"ON_DEPLOYMENT_COMPLETE\",\n actions: [{\n name: \"test\",\n roleArn: testRole.arn,\n uri: testTopic.arn,\n }],\n }],\n tags: {\n Type: \"AppConfig Extension\",\n },\n});\nconst testApplication = new aws.appconfig.Application(\"test\", {name: \"test\"});\nconst testExtensionAssociation = new aws.appconfig.ExtensionAssociation(\"test\", {\n extensionArn: testExtension.arn,\n resourceArn: testApplication.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_topic = aws.sns.Topic(\"test\", name=\"test\")\ntest = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"appconfig.amazonaws.com\"],\n }],\n}])\ntest_role = aws.iam.Role(\"test\",\n name=\"test\",\n assume_role_policy=test.json)\ntest_extension = aws.appconfig.Extension(\"test\",\n name=\"test\",\n description=\"test description\",\n action_points=[{\n \"point\": \"ON_DEPLOYMENT_COMPLETE\",\n \"actions\": [{\n \"name\": \"test\",\n \"role_arn\": test_role.arn,\n \"uri\": test_topic.arn,\n }],\n }],\n tags={\n \"Type\": \"AppConfig Extension\",\n })\ntest_application = aws.appconfig.Application(\"test\", name=\"test\")\ntest_extension_association = aws.appconfig.ExtensionAssociation(\"test\",\n extension_arn=test_extension.arn,\n resource_arn=test_application.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTopic = new Aws.Sns.Topic(\"test\", new()\n {\n Name = \"test\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appconfig.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test\", new()\n {\n Name = \"test\",\n AssumeRolePolicy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testExtension = new Aws.AppConfig.Extension(\"test\", new()\n {\n Name = \"test\",\n Description = \"test description\",\n ActionPoints = new[]\n {\n new Aws.AppConfig.Inputs.ExtensionActionPointArgs\n {\n Point = \"ON_DEPLOYMENT_COMPLETE\",\n Actions = new[]\n {\n new Aws.AppConfig.Inputs.ExtensionActionPointActionArgs\n {\n Name = \"test\",\n RoleArn = testRole.Arn,\n Uri = testTopic.Arn,\n },\n },\n },\n },\n Tags = \n {\n { \"Type\", \"AppConfig Extension\" },\n },\n });\n\n var testApplication = new Aws.AppConfig.Application(\"test\", new()\n {\n Name = \"test\",\n });\n\n var testExtensionAssociation = new Aws.AppConfig.ExtensionAssociation(\"test\", new()\n {\n ExtensionArn = testExtension.Arn,\n ResourceArn = testApplication.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestTopic, err := sns.NewTopic(ctx, \"test\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appconfig.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tAssumeRolePolicy: pulumi.String(test.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestExtension, err := appconfig.NewExtension(ctx, \"test\", \u0026appconfig.ExtensionArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t\tActionPoints: appconfig.ExtensionActionPointArray{\n\t\t\t\t\u0026appconfig.ExtensionActionPointArgs{\n\t\t\t\t\tPoint: pulumi.String(\"ON_DEPLOYMENT_COMPLETE\"),\n\t\t\t\t\tActions: appconfig.ExtensionActionPointActionArray{\n\t\t\t\t\t\t\u0026appconfig.ExtensionActionPointActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"test\"),\n\t\t\t\t\t\t\tRoleArn: testRole.Arn,\n\t\t\t\t\t\t\tUri: testTopic.Arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Extension\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestApplication, err := appconfig.NewApplication(ctx, \"test\", \u0026appconfig.ApplicationArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfig.NewExtensionAssociation(ctx, \"test\", \u0026appconfig.ExtensionAssociationArgs{\n\t\t\tExtensionArn: testExtension.Arn,\n\t\t\tResourceArn: testApplication.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.appconfig.Extension;\nimport com.pulumi.aws.appconfig.ExtensionArgs;\nimport com.pulumi.aws.appconfig.inputs.ExtensionActionPointArgs;\nimport com.pulumi.aws.appconfig.Application;\nimport com.pulumi.aws.appconfig.ApplicationArgs;\nimport com.pulumi.aws.appconfig.ExtensionAssociation;\nimport com.pulumi.aws.appconfig.ExtensionAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testTopic = new Topic(\"testTopic\", TopicArgs.builder()\n .name(\"test\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appconfig.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"test\")\n .assumeRolePolicy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testExtension = new Extension(\"testExtension\", ExtensionArgs.builder()\n .name(\"test\")\n .description(\"test description\")\n .actionPoints(ExtensionActionPointArgs.builder()\n .point(\"ON_DEPLOYMENT_COMPLETE\")\n .actions(ExtensionActionPointActionArgs.builder()\n .name(\"test\")\n .roleArn(testRole.arn())\n .uri(testTopic.arn())\n .build())\n .build())\n .tags(Map.of(\"Type\", \"AppConfig Extension\"))\n .build());\n\n var testApplication = new Application(\"testApplication\", ApplicationArgs.builder()\n .name(\"test\")\n .build());\n\n var testExtensionAssociation = new ExtensionAssociation(\"testExtensionAssociation\", ExtensionAssociationArgs.builder()\n .extensionArn(testExtension.arn())\n .resourceArn(testApplication.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testTopic:\n type: aws:sns:Topic\n name: test\n properties:\n name: test\n testRole:\n type: aws:iam:Role\n name: test\n properties:\n name: test\n assumeRolePolicy: ${test.json}\n testExtension:\n type: aws:appconfig:Extension\n name: test\n properties:\n name: test\n description: test description\n actionPoints:\n - point: ON_DEPLOYMENT_COMPLETE\n actions:\n - name: test\n roleArn: ${testRole.arn}\n uri: ${testTopic.arn}\n tags:\n Type: AppConfig Extension\n testApplication:\n type: aws:appconfig:Application\n name: test\n properties:\n name: test\n testExtensionAssociation:\n type: aws:appconfig:ExtensionAssociation\n name: test\n properties:\n extensionArn: ${testExtension.arn}\n resourceArn: ${testApplication.arn}\nvariables:\n test:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - appconfig.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Extension Associations using their extension association ID. For example:\n\n```sh\n$ pulumi import aws:appconfig/extensionAssociation:ExtensionAssociation example 71rxuzt\n```\n", + "description": "Associates an AppConfig Extension with a Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTopic = new aws.sns.Topic(\"test\", {name: \"test\"});\nconst test = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"appconfig.amazonaws.com\"],\n }],\n }],\n});\nconst testRole = new aws.iam.Role(\"test\", {\n name: \"test\",\n assumeRolePolicy: test.then(test =\u003e test.json),\n});\nconst testExtension = new aws.appconfig.Extension(\"test\", {\n name: \"test\",\n description: \"test description\",\n actionPoints: [{\n point: \"ON_DEPLOYMENT_COMPLETE\",\n actions: [{\n name: \"test\",\n roleArn: testRole.arn,\n uri: testTopic.arn,\n }],\n }],\n tags: {\n Type: \"AppConfig Extension\",\n },\n});\nconst testApplication = new aws.appconfig.Application(\"test\", {name: \"test\"});\nconst testExtensionAssociation = new aws.appconfig.ExtensionAssociation(\"test\", {\n extensionArn: testExtension.arn,\n resourceArn: testApplication.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_topic = aws.sns.Topic(\"test\", name=\"test\")\ntest = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"appconfig.amazonaws.com\"],\n }],\n}])\ntest_role = aws.iam.Role(\"test\",\n name=\"test\",\n assume_role_policy=test.json)\ntest_extension = aws.appconfig.Extension(\"test\",\n name=\"test\",\n description=\"test description\",\n action_points=[{\n \"point\": \"ON_DEPLOYMENT_COMPLETE\",\n \"actions\": [{\n \"name\": \"test\",\n \"role_arn\": test_role.arn,\n \"uri\": test_topic.arn,\n }],\n }],\n tags={\n \"Type\": \"AppConfig Extension\",\n })\ntest_application = aws.appconfig.Application(\"test\", name=\"test\")\ntest_extension_association = aws.appconfig.ExtensionAssociation(\"test\",\n extension_arn=test_extension.arn,\n resource_arn=test_application.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTopic = new Aws.Sns.Topic(\"test\", new()\n {\n Name = \"test\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appconfig.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test\", new()\n {\n Name = \"test\",\n AssumeRolePolicy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testExtension = new Aws.AppConfig.Extension(\"test\", new()\n {\n Name = \"test\",\n Description = \"test description\",\n ActionPoints = new[]\n {\n new Aws.AppConfig.Inputs.ExtensionActionPointArgs\n {\n Point = \"ON_DEPLOYMENT_COMPLETE\",\n Actions = new[]\n {\n new Aws.AppConfig.Inputs.ExtensionActionPointActionArgs\n {\n Name = \"test\",\n RoleArn = testRole.Arn,\n Uri = testTopic.Arn,\n },\n },\n },\n },\n Tags = \n {\n { \"Type\", \"AppConfig Extension\" },\n },\n });\n\n var testApplication = new Aws.AppConfig.Application(\"test\", new()\n {\n Name = \"test\",\n });\n\n var testExtensionAssociation = new Aws.AppConfig.ExtensionAssociation(\"test\", new()\n {\n ExtensionArn = testExtension.Arn,\n ResourceArn = testApplication.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestTopic, err := sns.NewTopic(ctx, \"test\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appconfig.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tAssumeRolePolicy: pulumi.String(test.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestExtension, err := appconfig.NewExtension(ctx, \"test\", \u0026appconfig.ExtensionArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t\tActionPoints: appconfig.ExtensionActionPointArray{\n\t\t\t\t\u0026appconfig.ExtensionActionPointArgs{\n\t\t\t\t\tPoint: pulumi.String(\"ON_DEPLOYMENT_COMPLETE\"),\n\t\t\t\t\tActions: appconfig.ExtensionActionPointActionArray{\n\t\t\t\t\t\t\u0026appconfig.ExtensionActionPointActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"test\"),\n\t\t\t\t\t\t\tRoleArn: testRole.Arn,\n\t\t\t\t\t\t\tUri: testTopic.Arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Extension\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestApplication, err := appconfig.NewApplication(ctx, \"test\", \u0026appconfig.ApplicationArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfig.NewExtensionAssociation(ctx, \"test\", \u0026appconfig.ExtensionAssociationArgs{\n\t\t\tExtensionArn: testExtension.Arn,\n\t\t\tResourceArn: testApplication.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.appconfig.Extension;\nimport com.pulumi.aws.appconfig.ExtensionArgs;\nimport com.pulumi.aws.appconfig.inputs.ExtensionActionPointArgs;\nimport com.pulumi.aws.appconfig.Application;\nimport com.pulumi.aws.appconfig.ApplicationArgs;\nimport com.pulumi.aws.appconfig.ExtensionAssociation;\nimport com.pulumi.aws.appconfig.ExtensionAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testTopic = new Topic(\"testTopic\", TopicArgs.builder()\n .name(\"test\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appconfig.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"test\")\n .assumeRolePolicy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testExtension = new Extension(\"testExtension\", ExtensionArgs.builder()\n .name(\"test\")\n .description(\"test description\")\n .actionPoints(ExtensionActionPointArgs.builder()\n .point(\"ON_DEPLOYMENT_COMPLETE\")\n .actions(ExtensionActionPointActionArgs.builder()\n .name(\"test\")\n .roleArn(testRole.arn())\n .uri(testTopic.arn())\n .build())\n .build())\n .tags(Map.of(\"Type\", \"AppConfig Extension\"))\n .build());\n\n var testApplication = new Application(\"testApplication\", ApplicationArgs.builder()\n .name(\"test\")\n .build());\n\n var testExtensionAssociation = new ExtensionAssociation(\"testExtensionAssociation\", ExtensionAssociationArgs.builder()\n .extensionArn(testExtension.arn())\n .resourceArn(testApplication.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testTopic:\n type: aws:sns:Topic\n name: test\n properties:\n name: test\n testRole:\n type: aws:iam:Role\n name: test\n properties:\n name: test\n assumeRolePolicy: ${test.json}\n testExtension:\n type: aws:appconfig:Extension\n name: test\n properties:\n name: test\n description: test description\n actionPoints:\n - point: ON_DEPLOYMENT_COMPLETE\n actions:\n - name: test\n roleArn: ${testRole.arn}\n uri: ${testTopic.arn}\n tags:\n Type: AppConfig Extension\n testApplication:\n type: aws:appconfig:Application\n name: test\n properties:\n name: test\n testExtensionAssociation:\n type: aws:appconfig:ExtensionAssociation\n name: test\n properties:\n extensionArn: ${testExtension.arn}\n resourceArn: ${testApplication.arn}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - appconfig.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Extension Associations using their extension association ID. For example:\n\n```sh\n$ pulumi import aws:appconfig/extensionAssociation:ExtensionAssociation example 71rxuzt\n```\n", "properties": { "arn": { "type": "string", @@ -183145,7 +183145,7 @@ } }, "aws:appflow/connectorProfile:ConnectorProfile": { - "description": "Provides an AppFlow connector profile resource.\n\nFor information about AppFlow flows, see the [Amazon AppFlow API Reference](https://docs.aws.amazon.com/appflow/1.0/APIReference/Welcome.html).\nFor specific information about creating an AppFlow connector profile, see the\n[CreateConnectorProfile](https://docs.aws.amazon.com/appflow/1.0/APIReference/API_CreateConnectorProfile.html) page in the Amazon AppFlow API Reference.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicy({\n name: \"AmazonRedshiftAllCommandsFullAccess\",\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example_role\",\n managedPolicyArns: [test.arn],\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example-bucket\"});\nconst exampleCluster = new aws.redshift.Cluster(\"example\", {\n clusterIdentifier: \"example_cluster\",\n databaseName: \"example_db\",\n masterUsername: \"exampleuser\",\n masterPassword: \"examplePassword123!\",\n nodeType: \"dc1.large\",\n clusterType: \"single-node\",\n});\nconst exampleConnectorProfile = new aws.appflow.ConnectorProfile(\"example\", {\n name: \"example_profile\",\n connectorType: \"Redshift\",\n connectionMode: \"Public\",\n connectorProfileConfig: {\n connectorProfileCredentials: {\n redshift: {\n password: exampleCluster.masterPassword,\n username: exampleCluster.masterUsername,\n },\n },\n connectorProfileProperties: {\n redshift: {\n bucketName: exampleBucketV2.name,\n databaseUrl: pulumi.interpolate`jdbc:redshift://${exampleCluster.endpoint}/${exampleCluster.databaseName}`,\n roleArn: exampleRole.arn,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy(name=\"AmazonRedshiftAllCommandsFullAccess\")\nexample_role = aws.iam.Role(\"example\",\n name=\"example_role\",\n managed_policy_arns=[test[\"arn\"]],\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }))\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example-bucket\")\nexample_cluster = aws.redshift.Cluster(\"example\",\n cluster_identifier=\"example_cluster\",\n database_name=\"example_db\",\n master_username=\"exampleuser\",\n master_password=\"examplePassword123!\",\n node_type=\"dc1.large\",\n cluster_type=\"single-node\")\nexample_connector_profile = aws.appflow.ConnectorProfile(\"example\",\n name=\"example_profile\",\n connector_type=\"Redshift\",\n connection_mode=\"Public\",\n connector_profile_config={\n \"connector_profile_credentials\": {\n \"redshift\": {\n \"password\": example_cluster.master_password,\n \"username\": example_cluster.master_username,\n },\n },\n \"connector_profile_properties\": {\n \"redshift\": {\n \"bucket_name\": example_bucket_v2.name,\n \"database_url\": pulumi.Output.all(\n endpoint=example_cluster.endpoint,\n database_name=example_cluster.database_name\n).apply(lambda resolved_outputs: f\"jdbc:redshift://{resolved_outputs['endpoint']}/{resolved_outputs['database_name']}\")\n,\n \"role_arn\": example_role.arn,\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicy.Invoke(new()\n {\n Name = \"AmazonRedshiftAllCommandsFullAccess\",\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example_role\",\n ManagedPolicyArns = new[]\n {\n test.Arn,\n },\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-bucket\",\n });\n\n var exampleCluster = new Aws.RedShift.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example_cluster\",\n DatabaseName = \"example_db\",\n MasterUsername = \"exampleuser\",\n MasterPassword = \"examplePassword123!\",\n NodeType = \"dc1.large\",\n ClusterType = \"single-node\",\n });\n\n var exampleConnectorProfile = new Aws.AppFlow.ConnectorProfile(\"example\", new()\n {\n Name = \"example_profile\",\n ConnectorType = \"Redshift\",\n ConnectionMode = \"Public\",\n ConnectorProfileConfig = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigArgs\n {\n ConnectorProfileCredentials = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs\n {\n Redshift = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs\n {\n Password = exampleCluster.MasterPassword,\n Username = exampleCluster.MasterUsername,\n },\n },\n ConnectorProfileProperties = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs\n {\n Redshift = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs\n {\n BucketName = exampleBucketV2.Name,\n DatabaseUrl = Output.Tuple(exampleCluster.Endpoint, exampleCluster.DatabaseName).Apply(values =\u003e\n {\n var endpoint = values.Item1;\n var databaseName = values.Item2;\n return $\"jdbc:redshift://{endpoint}/{databaseName}\";\n }),\n RoleArn = exampleRole.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appflow\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := iam.LookupPolicy(ctx, \u0026iam.LookupPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"AmazonRedshiftAllCommandsFullAccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example_role\"),\n\t\t\tManagedPolicyArns: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t},\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := redshift.NewCluster(ctx, \"example\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example_cluster\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t\tMasterUsername: pulumi.String(\"exampleuser\"),\n\t\t\tMasterPassword: pulumi.String(\"examplePassword123!\"),\n\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\tClusterType: pulumi.String(\"single-node\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appflow.NewConnectorProfile(ctx, \"example\", \u0026appflow.ConnectorProfileArgs{\n\t\t\tName: pulumi.String(\"example_profile\"),\n\t\t\tConnectorType: pulumi.String(\"Redshift\"),\n\t\t\tConnectionMode: pulumi.String(\"Public\"),\n\t\t\tConnectorProfileConfig: \u0026appflow.ConnectorProfileConnectorProfileConfigArgs{\n\t\t\t\tConnectorProfileCredentials: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs{\n\t\t\t\t\tRedshift: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs{\n\t\t\t\t\t\tPassword: exampleCluster.MasterPassword,\n\t\t\t\t\t\tUsername: exampleCluster.MasterUsername,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tConnectorProfileProperties: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs{\n\t\t\t\t\tRedshift: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs{\n\t\t\t\t\t\tBucketName: exampleBucketV2.Name,\n\t\t\t\t\t\tDatabaseUrl: pulumi.All(exampleCluster.Endpoint, exampleCluster.DatabaseName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\t\t\t\tendpoint := _args[0].(string)\n\t\t\t\t\t\t\tdatabaseName := _args[1].(string)\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"jdbc:redshift://%v/%v\", endpoint, databaseName), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\tRoleArn: exampleRole.Arn,\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport com.pulumi.aws.appflow.ConnectorProfile;\nimport com.pulumi.aws.appflow.ConnectorProfileArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicy(GetPolicyArgs.builder()\n .name(\"AmazonRedshiftAllCommandsFullAccess\")\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example_role\")\n .managedPolicyArns(test.arn())\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example-bucket\")\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .clusterIdentifier(\"example_cluster\")\n .databaseName(\"example_db\")\n .masterUsername(\"exampleuser\")\n .masterPassword(\"examplePassword123!\")\n .nodeType(\"dc1.large\")\n .clusterType(\"single-node\")\n .build());\n\n var exampleConnectorProfile = new ConnectorProfile(\"exampleConnectorProfile\", ConnectorProfileArgs.builder()\n .name(\"example_profile\")\n .connectorType(\"Redshift\")\n .connectionMode(\"Public\")\n .connectorProfileConfig(ConnectorProfileConnectorProfileConfigArgs.builder()\n .connectorProfileCredentials(ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs.builder()\n .redshift(ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs.builder()\n .password(exampleCluster.masterPassword())\n .username(exampleCluster.masterUsername())\n .build())\n .build())\n .connectorProfileProperties(ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs.builder()\n .redshift(ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs.builder()\n .bucketName(exampleBucketV2.name())\n .databaseUrl(Output.tuple(exampleCluster.endpoint(), exampleCluster.databaseName()).applyValue(values -\u003e {\n var endpoint = values.t1;\n var databaseName = values.t2;\n return String.format(\"jdbc:redshift://%s/%s\", endpoint,databaseName);\n }))\n .roleArn(exampleRole.arn())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example_role\n managedPolicyArns:\n - ${test.arn}\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid: \"\"\n Principal:\n Service: ec2.amazonaws.com\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example-bucket\n exampleCluster:\n type: aws:redshift:Cluster\n name: example\n properties:\n clusterIdentifier: example_cluster\n databaseName: example_db\n masterUsername: exampleuser\n masterPassword: examplePassword123!\n nodeType: dc1.large\n clusterType: single-node\n exampleConnectorProfile:\n type: aws:appflow:ConnectorProfile\n name: example\n properties:\n name: example_profile\n connectorType: Redshift\n connectionMode: Public\n connectorProfileConfig:\n connectorProfileCredentials:\n redshift:\n password: ${exampleCluster.masterPassword}\n username: ${exampleCluster.masterUsername}\n connectorProfileProperties:\n redshift:\n bucketName: ${exampleBucketV2.name}\n databaseUrl: jdbc:redshift://${exampleCluster.endpoint}/${exampleCluster.databaseName}\n roleArn: ${exampleRole.arn}\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicy\n arguments:\n name: AmazonRedshiftAllCommandsFullAccess\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppFlow Connector Profile using the connector profile `arn`. For example:\n\n```sh\n$ pulumi import aws:appflow/connectorProfile:ConnectorProfile profile arn:aws:appflow:us-west-2:123456789012:connectorprofile/example-profile\n```\n", + "description": "Provides an AppFlow connector profile resource.\n\nFor information about AppFlow flows, see the [Amazon AppFlow API Reference](https://docs.aws.amazon.com/appflow/1.0/APIReference/Welcome.html).\nFor specific information about creating an AppFlow connector profile, see the\n[CreateConnectorProfile](https://docs.aws.amazon.com/appflow/1.0/APIReference/API_CreateConnectorProfile.html) page in the Amazon AppFlow API Reference.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicy({\n name: \"AmazonRedshiftAllCommandsFullAccess\",\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example_role\",\n managedPolicyArns: [test.arn],\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example-bucket\"});\nconst exampleCluster = new aws.redshift.Cluster(\"example\", {\n clusterIdentifier: \"example_cluster\",\n databaseName: \"example_db\",\n masterUsername: \"exampleuser\",\n masterPassword: \"examplePassword123!\",\n nodeType: \"dc1.large\",\n clusterType: \"single-node\",\n});\nconst exampleConnectorProfile = new aws.appflow.ConnectorProfile(\"example\", {\n name: \"example_profile\",\n connectorType: \"Redshift\",\n connectionMode: \"Public\",\n connectorProfileConfig: {\n connectorProfileCredentials: {\n redshift: {\n password: exampleCluster.masterPassword,\n username: exampleCluster.masterUsername,\n },\n },\n connectorProfileProperties: {\n redshift: {\n bucketName: exampleBucketV2.name,\n databaseUrl: pulumi.interpolate`jdbc:redshift://${exampleCluster.endpoint}/${exampleCluster.databaseName}`,\n roleArn: exampleRole.arn,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy(name=\"AmazonRedshiftAllCommandsFullAccess\")\nexample_role = aws.iam.Role(\"example\",\n name=\"example_role\",\n managed_policy_arns=[test[\"arn\"]],\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }))\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example-bucket\")\nexample_cluster = aws.redshift.Cluster(\"example\",\n cluster_identifier=\"example_cluster\",\n database_name=\"example_db\",\n master_username=\"exampleuser\",\n master_password=\"examplePassword123!\",\n node_type=\"dc1.large\",\n cluster_type=\"single-node\")\nexample_connector_profile = aws.appflow.ConnectorProfile(\"example\",\n name=\"example_profile\",\n connector_type=\"Redshift\",\n connection_mode=\"Public\",\n connector_profile_config={\n \"connector_profile_credentials\": {\n \"redshift\": {\n \"password\": example_cluster.master_password,\n \"username\": example_cluster.master_username,\n },\n },\n \"connector_profile_properties\": {\n \"redshift\": {\n \"bucket_name\": example_bucket_v2.name,\n \"database_url\": pulumi.Output.all(\n endpoint=example_cluster.endpoint,\n database_name=example_cluster.database_name\n).apply(lambda resolved_outputs: f\"jdbc:redshift://{resolved_outputs['endpoint']}/{resolved_outputs['database_name']}\")\n,\n \"role_arn\": example_role.arn,\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicy.Invoke(new()\n {\n Name = \"AmazonRedshiftAllCommandsFullAccess\",\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example_role\",\n ManagedPolicyArns = new[]\n {\n test.Arn,\n },\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-bucket\",\n });\n\n var exampleCluster = new Aws.RedShift.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example_cluster\",\n DatabaseName = \"example_db\",\n MasterUsername = \"exampleuser\",\n MasterPassword = \"examplePassword123!\",\n NodeType = \"dc1.large\",\n ClusterType = \"single-node\",\n });\n\n var exampleConnectorProfile = new Aws.AppFlow.ConnectorProfile(\"example\", new()\n {\n Name = \"example_profile\",\n ConnectorType = \"Redshift\",\n ConnectionMode = \"Public\",\n ConnectorProfileConfig = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigArgs\n {\n ConnectorProfileCredentials = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs\n {\n Redshift = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs\n {\n Password = exampleCluster.MasterPassword,\n Username = exampleCluster.MasterUsername,\n },\n },\n ConnectorProfileProperties = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs\n {\n Redshift = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs\n {\n BucketName = exampleBucketV2.Name,\n DatabaseUrl = Output.Tuple(exampleCluster.Endpoint, exampleCluster.DatabaseName).Apply(values =\u003e\n {\n var endpoint = values.Item1;\n var databaseName = values.Item2;\n return $\"jdbc:redshift://{endpoint}/{databaseName}\";\n }),\n RoleArn = exampleRole.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appflow\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := iam.LookupPolicy(ctx, \u0026iam.LookupPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"AmazonRedshiftAllCommandsFullAccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example_role\"),\n\t\t\tManagedPolicyArns: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t},\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := redshift.NewCluster(ctx, \"example\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example_cluster\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t\tMasterUsername: pulumi.String(\"exampleuser\"),\n\t\t\tMasterPassword: pulumi.String(\"examplePassword123!\"),\n\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\tClusterType: pulumi.String(\"single-node\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appflow.NewConnectorProfile(ctx, \"example\", \u0026appflow.ConnectorProfileArgs{\n\t\t\tName: pulumi.String(\"example_profile\"),\n\t\t\tConnectorType: pulumi.String(\"Redshift\"),\n\t\t\tConnectionMode: pulumi.String(\"Public\"),\n\t\t\tConnectorProfileConfig: \u0026appflow.ConnectorProfileConnectorProfileConfigArgs{\n\t\t\t\tConnectorProfileCredentials: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs{\n\t\t\t\t\tRedshift: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs{\n\t\t\t\t\t\tPassword: exampleCluster.MasterPassword,\n\t\t\t\t\t\tUsername: exampleCluster.MasterUsername,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tConnectorProfileProperties: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs{\n\t\t\t\t\tRedshift: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs{\n\t\t\t\t\t\tBucketName: exampleBucketV2.Name,\n\t\t\t\t\t\tDatabaseUrl: pulumi.All(exampleCluster.Endpoint, exampleCluster.DatabaseName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\t\t\t\tendpoint := _args[0].(string)\n\t\t\t\t\t\t\tdatabaseName := _args[1].(string)\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"jdbc:redshift://%v/%v\", endpoint, databaseName), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\tRoleArn: exampleRole.Arn,\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport com.pulumi.aws.appflow.ConnectorProfile;\nimport com.pulumi.aws.appflow.ConnectorProfileArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicy(GetPolicyArgs.builder()\n .name(\"AmazonRedshiftAllCommandsFullAccess\")\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example_role\")\n .managedPolicyArns(test.arn())\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example-bucket\")\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .clusterIdentifier(\"example_cluster\")\n .databaseName(\"example_db\")\n .masterUsername(\"exampleuser\")\n .masterPassword(\"examplePassword123!\")\n .nodeType(\"dc1.large\")\n .clusterType(\"single-node\")\n .build());\n\n var exampleConnectorProfile = new ConnectorProfile(\"exampleConnectorProfile\", ConnectorProfileArgs.builder()\n .name(\"example_profile\")\n .connectorType(\"Redshift\")\n .connectionMode(\"Public\")\n .connectorProfileConfig(ConnectorProfileConnectorProfileConfigArgs.builder()\n .connectorProfileCredentials(ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs.builder()\n .redshift(ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs.builder()\n .password(exampleCluster.masterPassword())\n .username(exampleCluster.masterUsername())\n .build())\n .build())\n .connectorProfileProperties(ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs.builder()\n .redshift(ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs.builder()\n .bucketName(exampleBucketV2.name())\n .databaseUrl(Output.tuple(exampleCluster.endpoint(), exampleCluster.databaseName()).applyValue(values -\u003e {\n var endpoint = values.t1;\n var databaseName = values.t2;\n return String.format(\"jdbc:redshift://%s/%s\", endpoint,databaseName);\n }))\n .roleArn(exampleRole.arn())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example_role\n managedPolicyArns:\n - ${test.arn}\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: ec2.amazonaws.com\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example-bucket\n exampleCluster:\n type: aws:redshift:Cluster\n name: example\n properties:\n clusterIdentifier: example_cluster\n databaseName: example_db\n masterUsername: exampleuser\n masterPassword: examplePassword123!\n nodeType: dc1.large\n clusterType: single-node\n exampleConnectorProfile:\n type: aws:appflow:ConnectorProfile\n name: example\n properties:\n name: example_profile\n connectorType: Redshift\n connectionMode: Public\n connectorProfileConfig:\n connectorProfileCredentials:\n redshift:\n password: ${exampleCluster.masterPassword}\n username: ${exampleCluster.masterUsername}\n connectorProfileProperties:\n redshift:\n bucketName: ${exampleBucketV2.name}\n databaseUrl: jdbc:redshift://${exampleCluster.endpoint}/${exampleCluster.databaseName}\n roleArn: ${exampleRole.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicy\n Arguments:\n name: AmazonRedshiftAllCommandsFullAccess\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppFlow Connector Profile using the connector profile `arn`. For example:\n\n```sh\n$ pulumi import aws:appflow/connectorProfile:ConnectorProfile profile arn:aws:appflow:us-west-2:123456789012:connectorprofile/example-profile\n```\n", "properties": { "arn": { "type": "string", @@ -183265,7 +183265,7 @@ } }, "aws:appflow/flow:Flow": { - "description": "Provides an AppFlow flow resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleSourceBucketV2 = new aws.s3.BucketV2(\"example_source\", {bucket: \"example-source\"});\nconst exampleSource = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"AllowAppFlowSourceActions\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"appflow.amazonaws.com\"],\n }],\n actions: [\n \"s3:ListBucket\",\n \"s3:GetObject\",\n ],\n resources: [\n \"arn:aws:s3:::example-source\",\n \"arn:aws:s3:::example-source/*\",\n ],\n }],\n});\nconst exampleSourceBucketPolicy = new aws.s3.BucketPolicy(\"example_source\", {\n bucket: exampleSourceBucketV2.id,\n policy: exampleSource.then(exampleSource =\u003e exampleSource.json),\n});\nconst example = new aws.s3.BucketObjectv2(\"example\", {\n bucket: exampleSourceBucketV2.id,\n key: \"example_source.csv\",\n source: new pulumi.asset.FileAsset(\"example_source.csv\"),\n});\nconst exampleDestinationBucketV2 = new aws.s3.BucketV2(\"example_destination\", {bucket: \"example-destination\"});\nconst exampleDestination = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"AllowAppFlowDestinationActions\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"appflow.amazonaws.com\"],\n }],\n actions: [\n \"s3:PutObject\",\n \"s3:AbortMultipartUpload\",\n \"s3:ListMultipartUploadParts\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:GetBucketAcl\",\n \"s3:PutObjectAcl\",\n ],\n resources: [\n \"arn:aws:s3:::example-destination\",\n \"arn:aws:s3:::example-destination/*\",\n ],\n }],\n});\nconst exampleDestinationBucketPolicy = new aws.s3.BucketPolicy(\"example_destination\", {\n bucket: exampleDestinationBucketV2.id,\n policy: exampleDestination.then(exampleDestination =\u003e exampleDestination.json),\n});\nconst exampleFlow = new aws.appflow.Flow(\"example\", {\n name: \"example\",\n sourceFlowConfig: {\n connectorType: \"S3\",\n sourceConnectorProperties: {\n s3: {\n bucketName: exampleSourceBucketPolicy.bucket,\n bucketPrefix: \"example\",\n },\n },\n },\n destinationFlowConfigs: [{\n connectorType: \"S3\",\n destinationConnectorProperties: {\n s3: {\n bucketName: exampleDestinationBucketPolicy.bucket,\n s3OutputFormatConfig: {\n prefixConfig: {\n prefixType: \"PATH\",\n },\n },\n },\n },\n }],\n tasks: [{\n sourceFields: [\"exampleField\"],\n destinationField: \"exampleField\",\n taskType: \"Map\",\n connectorOperators: [{\n s3: \"NO_OP\",\n }],\n }],\n triggerConfig: {\n triggerType: \"OnDemand\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_source_bucket_v2 = aws.s3.BucketV2(\"example_source\", bucket=\"example-source\")\nexample_source = aws.iam.get_policy_document(statements=[{\n \"sid\": \"AllowAppFlowSourceActions\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"appflow.amazonaws.com\"],\n }],\n \"actions\": [\n \"s3:ListBucket\",\n \"s3:GetObject\",\n ],\n \"resources\": [\n \"arn:aws:s3:::example-source\",\n \"arn:aws:s3:::example-source/*\",\n ],\n}])\nexample_source_bucket_policy = aws.s3.BucketPolicy(\"example_source\",\n bucket=example_source_bucket_v2.id,\n policy=example_source.json)\nexample = aws.s3.BucketObjectv2(\"example\",\n bucket=example_source_bucket_v2.id,\n key=\"example_source.csv\",\n source=pulumi.FileAsset(\"example_source.csv\"))\nexample_destination_bucket_v2 = aws.s3.BucketV2(\"example_destination\", bucket=\"example-destination\")\nexample_destination = aws.iam.get_policy_document(statements=[{\n \"sid\": \"AllowAppFlowDestinationActions\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"appflow.amazonaws.com\"],\n }],\n \"actions\": [\n \"s3:PutObject\",\n \"s3:AbortMultipartUpload\",\n \"s3:ListMultipartUploadParts\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:GetBucketAcl\",\n \"s3:PutObjectAcl\",\n ],\n \"resources\": [\n \"arn:aws:s3:::example-destination\",\n \"arn:aws:s3:::example-destination/*\",\n ],\n}])\nexample_destination_bucket_policy = aws.s3.BucketPolicy(\"example_destination\",\n bucket=example_destination_bucket_v2.id,\n policy=example_destination.json)\nexample_flow = aws.appflow.Flow(\"example\",\n name=\"example\",\n source_flow_config={\n \"connector_type\": \"S3\",\n \"source_connector_properties\": {\n \"s3\": {\n \"bucket_name\": example_source_bucket_policy.bucket,\n \"bucket_prefix\": \"example\",\n },\n },\n },\n destination_flow_configs=[{\n \"connector_type\": \"S3\",\n \"destination_connector_properties\": {\n \"s3\": {\n \"bucket_name\": example_destination_bucket_policy.bucket,\n \"s3_output_format_config\": {\n \"prefix_config\": {\n \"prefix_type\": \"PATH\",\n },\n },\n },\n },\n }],\n tasks=[{\n \"source_fields\": [\"exampleField\"],\n \"destination_field\": \"exampleField\",\n \"task_type\": \"Map\",\n \"connector_operators\": [{\n \"s3\": \"NO_OP\",\n }],\n }],\n trigger_config={\n \"trigger_type\": \"OnDemand\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleSourceBucketV2 = new Aws.S3.BucketV2(\"example_source\", new()\n {\n Bucket = \"example-source\",\n });\n\n var exampleSource = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AllowAppFlowSourceActions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appflow.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:ListBucket\",\n \"s3:GetObject\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::example-source\",\n \"arn:aws:s3:::example-source/*\",\n },\n },\n },\n });\n\n var exampleSourceBucketPolicy = new Aws.S3.BucketPolicy(\"example_source\", new()\n {\n Bucket = exampleSourceBucketV2.Id,\n Policy = exampleSource.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = exampleSourceBucketV2.Id,\n Key = \"example_source.csv\",\n Source = new FileAsset(\"example_source.csv\"),\n });\n\n var exampleDestinationBucketV2 = new Aws.S3.BucketV2(\"example_destination\", new()\n {\n Bucket = \"example-destination\",\n });\n\n var exampleDestination = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AllowAppFlowDestinationActions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appflow.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n \"s3:AbortMultipartUpload\",\n \"s3:ListMultipartUploadParts\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:GetBucketAcl\",\n \"s3:PutObjectAcl\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::example-destination\",\n \"arn:aws:s3:::example-destination/*\",\n },\n },\n },\n });\n\n var exampleDestinationBucketPolicy = new Aws.S3.BucketPolicy(\"example_destination\", new()\n {\n Bucket = exampleDestinationBucketV2.Id,\n Policy = exampleDestination.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleFlow = new Aws.AppFlow.Flow(\"example\", new()\n {\n Name = \"example\",\n SourceFlowConfig = new Aws.AppFlow.Inputs.FlowSourceFlowConfigArgs\n {\n ConnectorType = \"S3\",\n SourceConnectorProperties = new Aws.AppFlow.Inputs.FlowSourceFlowConfigSourceConnectorPropertiesArgs\n {\n S3 = new Aws.AppFlow.Inputs.FlowSourceFlowConfigSourceConnectorPropertiesS3Args\n {\n BucketName = exampleSourceBucketPolicy.Bucket,\n BucketPrefix = \"example\",\n },\n },\n },\n DestinationFlowConfigs = new[]\n {\n new Aws.AppFlow.Inputs.FlowDestinationFlowConfigArgs\n {\n ConnectorType = \"S3\",\n DestinationConnectorProperties = new Aws.AppFlow.Inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesArgs\n {\n S3 = new Aws.AppFlow.Inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args\n {\n BucketName = exampleDestinationBucketPolicy.Bucket,\n S3OutputFormatConfig = new Aws.AppFlow.Inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs\n {\n PrefixConfig = new Aws.AppFlow.Inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs\n {\n PrefixType = \"PATH\",\n },\n },\n },\n },\n },\n },\n Tasks = new[]\n {\n new Aws.AppFlow.Inputs.FlowTaskArgs\n {\n SourceFields = new[]\n {\n \"exampleField\",\n },\n DestinationField = \"exampleField\",\n TaskType = \"Map\",\n ConnectorOperators = new[]\n {\n new Aws.AppFlow.Inputs.FlowTaskConnectorOperatorArgs\n {\n S3 = \"NO_OP\",\n },\n },\n },\n },\n TriggerConfig = new Aws.AppFlow.Inputs.FlowTriggerConfigArgs\n {\n TriggerType = \"OnDemand\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appflow\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleSourceBucketV2, err := s3.NewBucketV2(ctx, \"example_source\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-source\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSource, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"AllowAppFlowSourceActions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appflow.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t\t\"s3:GetObject\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::example-source\",\n\t\t\t\t\t\t\"arn:aws:s3:::example-source/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSourceBucketPolicy, err := s3.NewBucketPolicy(ctx, \"example_source\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleSourceBucketV2.ID(),\n\t\t\tPolicy: pulumi.String(exampleSource.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: exampleSourceBucketV2.ID(),\n\t\t\tKey: pulumi.String(\"example_source.csv\"),\n\t\t\tSource: pulumi.NewFileAsset(\"example_source.csv\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDestinationBucketV2, err := s3.NewBucketV2(ctx, \"example_destination\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-destination\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDestination, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"AllowAppFlowDestinationActions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appflow.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:PutObject\",\n\t\t\t\t\t\t\"s3:AbortMultipartUpload\",\n\t\t\t\t\t\t\"s3:ListMultipartUploadParts\",\n\t\t\t\t\t\t\"s3:ListBucketMultipartUploads\",\n\t\t\t\t\t\t\"s3:GetBucketAcl\",\n\t\t\t\t\t\t\"s3:PutObjectAcl\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::example-destination\",\n\t\t\t\t\t\t\"arn:aws:s3:::example-destination/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDestinationBucketPolicy, err := s3.NewBucketPolicy(ctx, \"example_destination\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleDestinationBucketV2.ID(),\n\t\t\tPolicy: pulumi.String(exampleDestination.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appflow.NewFlow(ctx, \"example\", \u0026appflow.FlowArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSourceFlowConfig: \u0026appflow.FlowSourceFlowConfigArgs{\n\t\t\t\tConnectorType: pulumi.String(\"S3\"),\n\t\t\t\tSourceConnectorProperties: \u0026appflow.FlowSourceFlowConfigSourceConnectorPropertiesArgs{\n\t\t\t\t\tS3: \u0026appflow.FlowSourceFlowConfigSourceConnectorPropertiesS3Args{\n\t\t\t\t\t\tBucketName: exampleSourceBucketPolicy.Bucket,\n\t\t\t\t\t\tBucketPrefix: pulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestinationFlowConfigs: appflow.FlowDestinationFlowConfigArray{\n\t\t\t\t\u0026appflow.FlowDestinationFlowConfigArgs{\n\t\t\t\t\tConnectorType: pulumi.String(\"S3\"),\n\t\t\t\t\tDestinationConnectorProperties: \u0026appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesArgs{\n\t\t\t\t\t\tS3: \u0026appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args{\n\t\t\t\t\t\t\tBucketName: exampleDestinationBucketPolicy.Bucket,\n\t\t\t\t\t\t\tS3OutputFormatConfig: \u0026appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs{\n\t\t\t\t\t\t\t\tPrefixConfig: \u0026appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs{\n\t\t\t\t\t\t\t\t\tPrefixType: pulumi.String(\"PATH\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTasks: appflow.FlowTaskArray{\n\t\t\t\t\u0026appflow.FlowTaskArgs{\n\t\t\t\t\tSourceFields: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"exampleField\"),\n\t\t\t\t\t},\n\t\t\t\t\tDestinationField: pulumi.String(\"exampleField\"),\n\t\t\t\t\tTaskType: pulumi.String(\"Map\"),\n\t\t\t\t\tConnectorOperators: appflow.FlowTaskConnectorOperatorArray{\n\t\t\t\t\t\t\u0026appflow.FlowTaskConnectorOperatorArgs{\n\t\t\t\t\t\t\tS3: pulumi.String(\"NO_OP\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTriggerConfig: \u0026appflow.FlowTriggerConfigArgs{\n\t\t\t\tTriggerType: pulumi.String(\"OnDemand\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.appflow.Flow;\nimport com.pulumi.aws.appflow.FlowArgs;\nimport com.pulumi.aws.appflow.inputs.FlowSourceFlowConfigArgs;\nimport com.pulumi.aws.appflow.inputs.FlowSourceFlowConfigSourceConnectorPropertiesArgs;\nimport com.pulumi.aws.appflow.inputs.FlowSourceFlowConfigSourceConnectorPropertiesS3Args;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigArgs;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesArgs;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs;\nimport com.pulumi.aws.appflow.inputs.FlowTaskArgs;\nimport com.pulumi.aws.appflow.inputs.FlowTriggerConfigArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleSourceBucketV2 = new BucketV2(\"exampleSourceBucketV2\", BucketV2Args.builder()\n .bucket(\"example-source\")\n .build());\n\n final var exampleSource = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AllowAppFlowSourceActions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appflow.amazonaws.com\")\n .build())\n .actions( \n \"s3:ListBucket\",\n \"s3:GetObject\")\n .resources( \n \"arn:aws:s3:::example-source\",\n \"arn:aws:s3:::example-source/*\")\n .build())\n .build());\n\n var exampleSourceBucketPolicy = new BucketPolicy(\"exampleSourceBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(exampleSourceBucketV2.id())\n .policy(exampleSource.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new BucketObjectv2(\"example\", BucketObjectv2Args.builder()\n .bucket(exampleSourceBucketV2.id())\n .key(\"example_source.csv\")\n .source(new FileAsset(\"example_source.csv\"))\n .build());\n\n var exampleDestinationBucketV2 = new BucketV2(\"exampleDestinationBucketV2\", BucketV2Args.builder()\n .bucket(\"example-destination\")\n .build());\n\n final var exampleDestination = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AllowAppFlowDestinationActions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appflow.amazonaws.com\")\n .build())\n .actions( \n \"s3:PutObject\",\n \"s3:AbortMultipartUpload\",\n \"s3:ListMultipartUploadParts\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:GetBucketAcl\",\n \"s3:PutObjectAcl\")\n .resources( \n \"arn:aws:s3:::example-destination\",\n \"arn:aws:s3:::example-destination/*\")\n .build())\n .build());\n\n var exampleDestinationBucketPolicy = new BucketPolicy(\"exampleDestinationBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(exampleDestinationBucketV2.id())\n .policy(exampleDestination.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleFlow = new Flow(\"exampleFlow\", FlowArgs.builder()\n .name(\"example\")\n .sourceFlowConfig(FlowSourceFlowConfigArgs.builder()\n .connectorType(\"S3\")\n .sourceConnectorProperties(FlowSourceFlowConfigSourceConnectorPropertiesArgs.builder()\n .s3(FlowSourceFlowConfigSourceConnectorPropertiesS3Args.builder()\n .bucketName(exampleSourceBucketPolicy.bucket())\n .bucketPrefix(\"example\")\n .build())\n .build())\n .build())\n .destinationFlowConfigs(FlowDestinationFlowConfigArgs.builder()\n .connectorType(\"S3\")\n .destinationConnectorProperties(FlowDestinationFlowConfigDestinationConnectorPropertiesArgs.builder()\n .s3(FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args.builder()\n .bucketName(exampleDestinationBucketPolicy.bucket())\n .s3OutputFormatConfig(FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs.builder()\n .prefixConfig(FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs.builder()\n .prefixType(\"PATH\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .tasks(FlowTaskArgs.builder()\n .sourceFields(\"exampleField\")\n .destinationField(\"exampleField\")\n .taskType(\"Map\")\n .connectorOperators(FlowTaskConnectorOperatorArgs.builder()\n .s3(\"NO_OP\")\n .build())\n .build())\n .triggerConfig(FlowTriggerConfigArgs.builder()\n .triggerType(\"OnDemand\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleSourceBucketV2:\n type: aws:s3:BucketV2\n name: example_source\n properties:\n bucket: example-source\n exampleSourceBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example_source\n properties:\n bucket: ${exampleSourceBucketV2.id}\n policy: ${exampleSource.json}\n example:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${exampleSourceBucketV2.id}\n key: example_source.csv\n source:\n fn::FileAsset: example_source.csv\n exampleDestinationBucketV2:\n type: aws:s3:BucketV2\n name: example_destination\n properties:\n bucket: example-destination\n exampleDestinationBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example_destination\n properties:\n bucket: ${exampleDestinationBucketV2.id}\n policy: ${exampleDestination.json}\n exampleFlow:\n type: aws:appflow:Flow\n name: example\n properties:\n name: example\n sourceFlowConfig:\n connectorType: S3\n sourceConnectorProperties:\n s3:\n bucketName: ${exampleSourceBucketPolicy.bucket}\n bucketPrefix: example\n destinationFlowConfigs:\n - connectorType: S3\n destinationConnectorProperties:\n s3:\n bucketName: ${exampleDestinationBucketPolicy.bucket}\n s3OutputFormatConfig:\n prefixConfig:\n prefixType: PATH\n tasks:\n - sourceFields:\n - exampleField\n destinationField: exampleField\n taskType: Map\n connectorOperators:\n - s3: NO_OP\n triggerConfig:\n triggerType: OnDemand\nvariables:\n exampleSource:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: AllowAppFlowSourceActions\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - appflow.amazonaws.com\n actions:\n - s3:ListBucket\n - s3:GetObject\n resources:\n - arn:aws:s3:::example-source\n - arn:aws:s3:::example-source/*\n exampleDestination:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: AllowAppFlowDestinationActions\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - appflow.amazonaws.com\n actions:\n - s3:PutObject\n - s3:AbortMultipartUpload\n - s3:ListMultipartUploadParts\n - s3:ListBucketMultipartUploads\n - s3:GetBucketAcl\n - s3:PutObjectAcl\n resources:\n - arn:aws:s3:::example-destination\n - arn:aws:s3:::example-destination/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppFlow flows using the `arn`. For example:\n\n```sh\n$ pulumi import aws:appflow/flow:Flow example arn:aws:appflow:us-west-2:123456789012:flow/example-flow\n```\n", + "description": "Provides an AppFlow flow resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleSourceBucketV2 = new aws.s3.BucketV2(\"example_source\", {bucket: \"example-source\"});\nconst exampleSource = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"AllowAppFlowSourceActions\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"appflow.amazonaws.com\"],\n }],\n actions: [\n \"s3:ListBucket\",\n \"s3:GetObject\",\n ],\n resources: [\n \"arn:aws:s3:::example-source\",\n \"arn:aws:s3:::example-source/*\",\n ],\n }],\n});\nconst exampleSourceBucketPolicy = new aws.s3.BucketPolicy(\"example_source\", {\n bucket: exampleSourceBucketV2.id,\n policy: exampleSource.then(exampleSource =\u003e exampleSource.json),\n});\nconst example = new aws.s3.BucketObjectv2(\"example\", {\n bucket: exampleSourceBucketV2.id,\n key: \"example_source.csv\",\n source: new pulumi.asset.FileAsset(\"example_source.csv\"),\n});\nconst exampleDestinationBucketV2 = new aws.s3.BucketV2(\"example_destination\", {bucket: \"example-destination\"});\nconst exampleDestination = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"AllowAppFlowDestinationActions\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"appflow.amazonaws.com\"],\n }],\n actions: [\n \"s3:PutObject\",\n \"s3:AbortMultipartUpload\",\n \"s3:ListMultipartUploadParts\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:GetBucketAcl\",\n \"s3:PutObjectAcl\",\n ],\n resources: [\n \"arn:aws:s3:::example-destination\",\n \"arn:aws:s3:::example-destination/*\",\n ],\n }],\n});\nconst exampleDestinationBucketPolicy = new aws.s3.BucketPolicy(\"example_destination\", {\n bucket: exampleDestinationBucketV2.id,\n policy: exampleDestination.then(exampleDestination =\u003e exampleDestination.json),\n});\nconst exampleFlow = new aws.appflow.Flow(\"example\", {\n name: \"example\",\n sourceFlowConfig: {\n connectorType: \"S3\",\n sourceConnectorProperties: {\n s3: {\n bucketName: exampleSourceBucketPolicy.bucket,\n bucketPrefix: \"example\",\n },\n },\n },\n destinationFlowConfigs: [{\n connectorType: \"S3\",\n destinationConnectorProperties: {\n s3: {\n bucketName: exampleDestinationBucketPolicy.bucket,\n s3OutputFormatConfig: {\n prefixConfig: {\n prefixType: \"PATH\",\n },\n },\n },\n },\n }],\n tasks: [{\n sourceFields: [\"exampleField\"],\n destinationField: \"exampleField\",\n taskType: \"Map\",\n connectorOperators: [{\n s3: \"NO_OP\",\n }],\n }],\n triggerConfig: {\n triggerType: \"OnDemand\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_source_bucket_v2 = aws.s3.BucketV2(\"example_source\", bucket=\"example-source\")\nexample_source = aws.iam.get_policy_document(statements=[{\n \"sid\": \"AllowAppFlowSourceActions\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"appflow.amazonaws.com\"],\n }],\n \"actions\": [\n \"s3:ListBucket\",\n \"s3:GetObject\",\n ],\n \"resources\": [\n \"arn:aws:s3:::example-source\",\n \"arn:aws:s3:::example-source/*\",\n ],\n}])\nexample_source_bucket_policy = aws.s3.BucketPolicy(\"example_source\",\n bucket=example_source_bucket_v2.id,\n policy=example_source.json)\nexample = aws.s3.BucketObjectv2(\"example\",\n bucket=example_source_bucket_v2.id,\n key=\"example_source.csv\",\n source=pulumi.FileAsset(\"example_source.csv\"))\nexample_destination_bucket_v2 = aws.s3.BucketV2(\"example_destination\", bucket=\"example-destination\")\nexample_destination = aws.iam.get_policy_document(statements=[{\n \"sid\": \"AllowAppFlowDestinationActions\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"appflow.amazonaws.com\"],\n }],\n \"actions\": [\n \"s3:PutObject\",\n \"s3:AbortMultipartUpload\",\n \"s3:ListMultipartUploadParts\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:GetBucketAcl\",\n \"s3:PutObjectAcl\",\n ],\n \"resources\": [\n \"arn:aws:s3:::example-destination\",\n \"arn:aws:s3:::example-destination/*\",\n ],\n}])\nexample_destination_bucket_policy = aws.s3.BucketPolicy(\"example_destination\",\n bucket=example_destination_bucket_v2.id,\n policy=example_destination.json)\nexample_flow = aws.appflow.Flow(\"example\",\n name=\"example\",\n source_flow_config={\n \"connector_type\": \"S3\",\n \"source_connector_properties\": {\n \"s3\": {\n \"bucket_name\": example_source_bucket_policy.bucket,\n \"bucket_prefix\": \"example\",\n },\n },\n },\n destination_flow_configs=[{\n \"connector_type\": \"S3\",\n \"destination_connector_properties\": {\n \"s3\": {\n \"bucket_name\": example_destination_bucket_policy.bucket,\n \"s3_output_format_config\": {\n \"prefix_config\": {\n \"prefix_type\": \"PATH\",\n },\n },\n },\n },\n }],\n tasks=[{\n \"source_fields\": [\"exampleField\"],\n \"destination_field\": \"exampleField\",\n \"task_type\": \"Map\",\n \"connector_operators\": [{\n \"s3\": \"NO_OP\",\n }],\n }],\n trigger_config={\n \"trigger_type\": \"OnDemand\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleSourceBucketV2 = new Aws.S3.BucketV2(\"example_source\", new()\n {\n Bucket = \"example-source\",\n });\n\n var exampleSource = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AllowAppFlowSourceActions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appflow.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:ListBucket\",\n \"s3:GetObject\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::example-source\",\n \"arn:aws:s3:::example-source/*\",\n },\n },\n },\n });\n\n var exampleSourceBucketPolicy = new Aws.S3.BucketPolicy(\"example_source\", new()\n {\n Bucket = exampleSourceBucketV2.Id,\n Policy = exampleSource.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = exampleSourceBucketV2.Id,\n Key = \"example_source.csv\",\n Source = new FileAsset(\"example_source.csv\"),\n });\n\n var exampleDestinationBucketV2 = new Aws.S3.BucketV2(\"example_destination\", new()\n {\n Bucket = \"example-destination\",\n });\n\n var exampleDestination = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AllowAppFlowDestinationActions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appflow.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n \"s3:AbortMultipartUpload\",\n \"s3:ListMultipartUploadParts\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:GetBucketAcl\",\n \"s3:PutObjectAcl\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::example-destination\",\n \"arn:aws:s3:::example-destination/*\",\n },\n },\n },\n });\n\n var exampleDestinationBucketPolicy = new Aws.S3.BucketPolicy(\"example_destination\", new()\n {\n Bucket = exampleDestinationBucketV2.Id,\n Policy = exampleDestination.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleFlow = new Aws.AppFlow.Flow(\"example\", new()\n {\n Name = \"example\",\n SourceFlowConfig = new Aws.AppFlow.Inputs.FlowSourceFlowConfigArgs\n {\n ConnectorType = \"S3\",\n SourceConnectorProperties = new Aws.AppFlow.Inputs.FlowSourceFlowConfigSourceConnectorPropertiesArgs\n {\n S3 = new Aws.AppFlow.Inputs.FlowSourceFlowConfigSourceConnectorPropertiesS3Args\n {\n BucketName = exampleSourceBucketPolicy.Bucket,\n BucketPrefix = \"example\",\n },\n },\n },\n DestinationFlowConfigs = new[]\n {\n new Aws.AppFlow.Inputs.FlowDestinationFlowConfigArgs\n {\n ConnectorType = \"S3\",\n DestinationConnectorProperties = new Aws.AppFlow.Inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesArgs\n {\n S3 = new Aws.AppFlow.Inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args\n {\n BucketName = exampleDestinationBucketPolicy.Bucket,\n S3OutputFormatConfig = new Aws.AppFlow.Inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs\n {\n PrefixConfig = new Aws.AppFlow.Inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs\n {\n PrefixType = \"PATH\",\n },\n },\n },\n },\n },\n },\n Tasks = new[]\n {\n new Aws.AppFlow.Inputs.FlowTaskArgs\n {\n SourceFields = new[]\n {\n \"exampleField\",\n },\n DestinationField = \"exampleField\",\n TaskType = \"Map\",\n ConnectorOperators = new[]\n {\n new Aws.AppFlow.Inputs.FlowTaskConnectorOperatorArgs\n {\n S3 = \"NO_OP\",\n },\n },\n },\n },\n TriggerConfig = new Aws.AppFlow.Inputs.FlowTriggerConfigArgs\n {\n TriggerType = \"OnDemand\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appflow\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleSourceBucketV2, err := s3.NewBucketV2(ctx, \"example_source\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-source\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSource, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"AllowAppFlowSourceActions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appflow.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t\t\"s3:GetObject\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::example-source\",\n\t\t\t\t\t\t\"arn:aws:s3:::example-source/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSourceBucketPolicy, err := s3.NewBucketPolicy(ctx, \"example_source\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleSourceBucketV2.ID(),\n\t\t\tPolicy: pulumi.String(exampleSource.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: exampleSourceBucketV2.ID(),\n\t\t\tKey: pulumi.String(\"example_source.csv\"),\n\t\t\tSource: pulumi.NewFileAsset(\"example_source.csv\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDestinationBucketV2, err := s3.NewBucketV2(ctx, \"example_destination\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-destination\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDestination, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"AllowAppFlowDestinationActions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appflow.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:PutObject\",\n\t\t\t\t\t\t\"s3:AbortMultipartUpload\",\n\t\t\t\t\t\t\"s3:ListMultipartUploadParts\",\n\t\t\t\t\t\t\"s3:ListBucketMultipartUploads\",\n\t\t\t\t\t\t\"s3:GetBucketAcl\",\n\t\t\t\t\t\t\"s3:PutObjectAcl\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::example-destination\",\n\t\t\t\t\t\t\"arn:aws:s3:::example-destination/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDestinationBucketPolicy, err := s3.NewBucketPolicy(ctx, \"example_destination\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleDestinationBucketV2.ID(),\n\t\t\tPolicy: pulumi.String(exampleDestination.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appflow.NewFlow(ctx, \"example\", \u0026appflow.FlowArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSourceFlowConfig: \u0026appflow.FlowSourceFlowConfigArgs{\n\t\t\t\tConnectorType: pulumi.String(\"S3\"),\n\t\t\t\tSourceConnectorProperties: \u0026appflow.FlowSourceFlowConfigSourceConnectorPropertiesArgs{\n\t\t\t\t\tS3: \u0026appflow.FlowSourceFlowConfigSourceConnectorPropertiesS3Args{\n\t\t\t\t\t\tBucketName: exampleSourceBucketPolicy.Bucket,\n\t\t\t\t\t\tBucketPrefix: pulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestinationFlowConfigs: appflow.FlowDestinationFlowConfigArray{\n\t\t\t\t\u0026appflow.FlowDestinationFlowConfigArgs{\n\t\t\t\t\tConnectorType: pulumi.String(\"S3\"),\n\t\t\t\t\tDestinationConnectorProperties: \u0026appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesArgs{\n\t\t\t\t\t\tS3: \u0026appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args{\n\t\t\t\t\t\t\tBucketName: exampleDestinationBucketPolicy.Bucket,\n\t\t\t\t\t\t\tS3OutputFormatConfig: \u0026appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs{\n\t\t\t\t\t\t\t\tPrefixConfig: \u0026appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs{\n\t\t\t\t\t\t\t\t\tPrefixType: pulumi.String(\"PATH\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTasks: appflow.FlowTaskArray{\n\t\t\t\t\u0026appflow.FlowTaskArgs{\n\t\t\t\t\tSourceFields: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"exampleField\"),\n\t\t\t\t\t},\n\t\t\t\t\tDestinationField: pulumi.String(\"exampleField\"),\n\t\t\t\t\tTaskType: pulumi.String(\"Map\"),\n\t\t\t\t\tConnectorOperators: appflow.FlowTaskConnectorOperatorArray{\n\t\t\t\t\t\t\u0026appflow.FlowTaskConnectorOperatorArgs{\n\t\t\t\t\t\t\tS3: pulumi.String(\"NO_OP\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTriggerConfig: \u0026appflow.FlowTriggerConfigArgs{\n\t\t\t\tTriggerType: pulumi.String(\"OnDemand\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.appflow.Flow;\nimport com.pulumi.aws.appflow.FlowArgs;\nimport com.pulumi.aws.appflow.inputs.FlowSourceFlowConfigArgs;\nimport com.pulumi.aws.appflow.inputs.FlowSourceFlowConfigSourceConnectorPropertiesArgs;\nimport com.pulumi.aws.appflow.inputs.FlowSourceFlowConfigSourceConnectorPropertiesS3Args;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigArgs;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesArgs;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs;\nimport com.pulumi.aws.appflow.inputs.FlowTaskArgs;\nimport com.pulumi.aws.appflow.inputs.FlowTriggerConfigArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleSourceBucketV2 = new BucketV2(\"exampleSourceBucketV2\", BucketV2Args.builder()\n .bucket(\"example-source\")\n .build());\n\n final var exampleSource = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AllowAppFlowSourceActions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appflow.amazonaws.com\")\n .build())\n .actions( \n \"s3:ListBucket\",\n \"s3:GetObject\")\n .resources( \n \"arn:aws:s3:::example-source\",\n \"arn:aws:s3:::example-source/*\")\n .build())\n .build());\n\n var exampleSourceBucketPolicy = new BucketPolicy(\"exampleSourceBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(exampleSourceBucketV2.id())\n .policy(exampleSource.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new BucketObjectv2(\"example\", BucketObjectv2Args.builder()\n .bucket(exampleSourceBucketV2.id())\n .key(\"example_source.csv\")\n .source(new FileAsset(\"example_source.csv\"))\n .build());\n\n var exampleDestinationBucketV2 = new BucketV2(\"exampleDestinationBucketV2\", BucketV2Args.builder()\n .bucket(\"example-destination\")\n .build());\n\n final var exampleDestination = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AllowAppFlowDestinationActions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appflow.amazonaws.com\")\n .build())\n .actions( \n \"s3:PutObject\",\n \"s3:AbortMultipartUpload\",\n \"s3:ListMultipartUploadParts\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:GetBucketAcl\",\n \"s3:PutObjectAcl\")\n .resources( \n \"arn:aws:s3:::example-destination\",\n \"arn:aws:s3:::example-destination/*\")\n .build())\n .build());\n\n var exampleDestinationBucketPolicy = new BucketPolicy(\"exampleDestinationBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(exampleDestinationBucketV2.id())\n .policy(exampleDestination.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleFlow = new Flow(\"exampleFlow\", FlowArgs.builder()\n .name(\"example\")\n .sourceFlowConfig(FlowSourceFlowConfigArgs.builder()\n .connectorType(\"S3\")\n .sourceConnectorProperties(FlowSourceFlowConfigSourceConnectorPropertiesArgs.builder()\n .s3(FlowSourceFlowConfigSourceConnectorPropertiesS3Args.builder()\n .bucketName(exampleSourceBucketPolicy.bucket())\n .bucketPrefix(\"example\")\n .build())\n .build())\n .build())\n .destinationFlowConfigs(FlowDestinationFlowConfigArgs.builder()\n .connectorType(\"S3\")\n .destinationConnectorProperties(FlowDestinationFlowConfigDestinationConnectorPropertiesArgs.builder()\n .s3(FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args.builder()\n .bucketName(exampleDestinationBucketPolicy.bucket())\n .s3OutputFormatConfig(FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs.builder()\n .prefixConfig(FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs.builder()\n .prefixType(\"PATH\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .tasks(FlowTaskArgs.builder()\n .sourceFields(\"exampleField\")\n .destinationField(\"exampleField\")\n .taskType(\"Map\")\n .connectorOperators(FlowTaskConnectorOperatorArgs.builder()\n .s3(\"NO_OP\")\n .build())\n .build())\n .triggerConfig(FlowTriggerConfigArgs.builder()\n .triggerType(\"OnDemand\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleSourceBucketV2:\n type: aws:s3:BucketV2\n name: example_source\n properties:\n bucket: example-source\n exampleSourceBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example_source\n properties:\n bucket: ${exampleSourceBucketV2.id}\n policy: ${exampleSource.json}\n example:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${exampleSourceBucketV2.id}\n key: example_source.csv\n source:\n fn::FileAsset: example_source.csv\n exampleDestinationBucketV2:\n type: aws:s3:BucketV2\n name: example_destination\n properties:\n bucket: example-destination\n exampleDestinationBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example_destination\n properties:\n bucket: ${exampleDestinationBucketV2.id}\n policy: ${exampleDestination.json}\n exampleFlow:\n type: aws:appflow:Flow\n name: example\n properties:\n name: example\n sourceFlowConfig:\n connectorType: S3\n sourceConnectorProperties:\n s3:\n bucketName: ${exampleSourceBucketPolicy.bucket}\n bucketPrefix: example\n destinationFlowConfigs:\n - connectorType: S3\n destinationConnectorProperties:\n s3:\n bucketName: ${exampleDestinationBucketPolicy.bucket}\n s3OutputFormatConfig:\n prefixConfig:\n prefixType: PATH\n tasks:\n - sourceFields:\n - exampleField\n destinationField: exampleField\n taskType: Map\n connectorOperators:\n - s3: NO_OP\n triggerConfig:\n triggerType: OnDemand\nvariables:\n exampleSource:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AllowAppFlowSourceActions\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - appflow.amazonaws.com\n actions:\n - s3:ListBucket\n - s3:GetObject\n resources:\n - arn:aws:s3:::example-source\n - arn:aws:s3:::example-source/*\n exampleDestination:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AllowAppFlowDestinationActions\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - appflow.amazonaws.com\n actions:\n - s3:PutObject\n - s3:AbortMultipartUpload\n - s3:ListMultipartUploadParts\n - s3:ListBucketMultipartUploads\n - s3:GetBucketAcl\n - s3:PutObjectAcl\n resources:\n - arn:aws:s3:::example-destination\n - arn:aws:s3:::example-destination/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppFlow flows using the `arn`. For example:\n\n```sh\n$ pulumi import aws:appflow/flow:Flow example arn:aws:appflow:us-west-2:123456789012:flow/example-flow\n```\n", "properties": { "arn": { "type": "string", @@ -187191,7 +187191,7 @@ } }, "aws:appsync/dataSource:DataSource": { - "description": "Provides an AppSync Data Source.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleTable = new aws.dynamodb.Table(\"example\", {\n name: \"example\",\n readCapacity: 1,\n writeCapacity: 1,\n hashKey: \"UserId\",\n attributes: [{\n name: \"UserId\",\n type: \"S\",\n }],\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"appsync.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"dynamodb:*\"],\n resources: [exampleTable.arn],\n }],\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n name: \"example\",\n role: exampleRole.id,\n policy: example.apply(example =\u003e example.json),\n});\nconst exampleGraphQLApi = new aws.appsync.GraphQLApi(\"example\", {\n authenticationType: \"API_KEY\",\n name: \"my_appsync_example\",\n});\nconst exampleDataSource = new aws.appsync.DataSource(\"example\", {\n apiId: exampleGraphQLApi.id,\n name: \"my_appsync_example\",\n serviceRoleArn: exampleRole.arn,\n type: \"AMAZON_DYNAMODB\",\n dynamodbConfig: {\n tableName: exampleTable.name,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_table = aws.dynamodb.Table(\"example\",\n name=\"example\",\n read_capacity=1,\n write_capacity=1,\n hash_key=\"UserId\",\n attributes=[{\n \"name\": \"UserId\",\n \"type\": \"S\",\n }])\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"appsync.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"dynamodb:*\"],\n \"resources\": [example_table.arn],\n}])\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n name=\"example\",\n role=example_role.id,\n policy=example.json)\nexample_graph_ql_api = aws.appsync.GraphQLApi(\"example\",\n authentication_type=\"API_KEY\",\n name=\"my_appsync_example\")\nexample_data_source = aws.appsync.DataSource(\"example\",\n api_id=example_graph_ql_api.id,\n name=\"my_appsync_example\",\n service_role_arn=example_role.arn,\n type=\"AMAZON_DYNAMODB\",\n dynamodb_config={\n \"table_name\": example_table.name,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleTable = new Aws.DynamoDB.Table(\"example\", new()\n {\n Name = \"example\",\n ReadCapacity = 1,\n WriteCapacity = 1,\n HashKey = \"UserId\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"UserId\",\n Type = \"S\",\n },\n },\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appsync.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"dynamodb:*\",\n },\n Resources = new[]\n {\n exampleTable.Arn,\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Name = \"example\",\n Role = exampleRole.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleGraphQLApi = new Aws.AppSync.GraphQLApi(\"example\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"my_appsync_example\",\n });\n\n var exampleDataSource = new Aws.AppSync.DataSource(\"example\", new()\n {\n ApiId = exampleGraphQLApi.Id,\n Name = \"my_appsync_example\",\n ServiceRoleArn = exampleRole.Arn,\n Type = \"AMAZON_DYNAMODB\",\n DynamodbConfig = new Aws.AppSync.Inputs.DataSourceDynamodbConfigArgs\n {\n TableName = exampleTable.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleTable, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tReadCapacity: pulumi.Int(1),\n\t\t\tWriteCapacity: pulumi.Int(1),\n\t\t\tHashKey: pulumi.String(\"UserId\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"UserId\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\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\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appsync.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"dynamodb:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleTable.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: exampleRole.ID(),\n\t\t\tPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGraphQLApi, err := appsync.NewGraphQLApi(ctx, \"example\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"my_appsync_example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewDataSource(ctx, \"example\", \u0026appsync.DataSourceArgs{\n\t\t\tApiId: exampleGraphQLApi.ID(),\n\t\t\tName: pulumi.String(\"my_appsync_example\"),\n\t\t\tServiceRoleArn: exampleRole.Arn,\n\t\t\tType: pulumi.String(\"AMAZON_DYNAMODB\"),\n\t\t\tDynamodbConfig: \u0026appsync.DataSourceDynamodbConfigArgs{\n\t\t\t\tTableName: exampleTable.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.DataSource;\nimport com.pulumi.aws.appsync.DataSourceArgs;\nimport com.pulumi.aws.appsync.inputs.DataSourceDynamodbConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleTable = new Table(\"exampleTable\", TableArgs.builder()\n .name(\"example\")\n .readCapacity(1)\n .writeCapacity(1)\n .hashKey(\"UserId\")\n .attributes(TableAttributeArgs.builder()\n .name(\"UserId\")\n .type(\"S\")\n .build())\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appsync.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"dynamodb:*\")\n .resources(exampleTable.arn())\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .name(\"example\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleGraphQLApi = new GraphQLApi(\"exampleGraphQLApi\", GraphQLApiArgs.builder()\n .authenticationType(\"API_KEY\")\n .name(\"my_appsync_example\")\n .build());\n\n var exampleDataSource = new DataSource(\"exampleDataSource\", DataSourceArgs.builder()\n .apiId(exampleGraphQLApi.id())\n .name(\"my_appsync_example\")\n .serviceRoleArn(exampleRole.arn())\n .type(\"AMAZON_DYNAMODB\")\n .dynamodbConfig(DataSourceDynamodbConfigArgs.builder()\n .tableName(exampleTable.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTable:\n type: aws:dynamodb:Table\n name: example\n properties:\n name: example\n readCapacity: 1\n writeCapacity: 1\n hashKey: UserId\n attributes:\n - name: UserId\n type: S\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: example\n role: ${exampleRole.id}\n policy: ${example.json}\n exampleGraphQLApi:\n type: aws:appsync:GraphQLApi\n name: example\n properties:\n authenticationType: API_KEY\n name: my_appsync_example\n exampleDataSource:\n type: aws:appsync:DataSource\n name: example\n properties:\n apiId: ${exampleGraphQLApi.id}\n name: my_appsync_example\n serviceRoleArn: ${exampleRole.arn}\n type: AMAZON_DYNAMODB\n dynamodbConfig:\n tableName: ${exampleTable.name}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - appsync.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - dynamodb:*\n resources:\n - ${exampleTable.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_datasource` using the `api_id`, a hyphen, and `name`. For example:\n\n```sh\n$ pulumi import aws:appsync/dataSource:DataSource example abcdef123456-example\n```\n", + "description": "Provides an AppSync Data Source.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleTable = new aws.dynamodb.Table(\"example\", {\n name: \"example\",\n readCapacity: 1,\n writeCapacity: 1,\n hashKey: \"UserId\",\n attributes: [{\n name: \"UserId\",\n type: \"S\",\n }],\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"appsync.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"dynamodb:*\"],\n resources: [exampleTable.arn],\n }],\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n name: \"example\",\n role: exampleRole.id,\n policy: example.apply(example =\u003e example.json),\n});\nconst exampleGraphQLApi = new aws.appsync.GraphQLApi(\"example\", {\n authenticationType: \"API_KEY\",\n name: \"my_appsync_example\",\n});\nconst exampleDataSource = new aws.appsync.DataSource(\"example\", {\n apiId: exampleGraphQLApi.id,\n name: \"my_appsync_example\",\n serviceRoleArn: exampleRole.arn,\n type: \"AMAZON_DYNAMODB\",\n dynamodbConfig: {\n tableName: exampleTable.name,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_table = aws.dynamodb.Table(\"example\",\n name=\"example\",\n read_capacity=1,\n write_capacity=1,\n hash_key=\"UserId\",\n attributes=[{\n \"name\": \"UserId\",\n \"type\": \"S\",\n }])\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"appsync.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"dynamodb:*\"],\n \"resources\": [example_table.arn],\n}])\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n name=\"example\",\n role=example_role.id,\n policy=example.json)\nexample_graph_ql_api = aws.appsync.GraphQLApi(\"example\",\n authentication_type=\"API_KEY\",\n name=\"my_appsync_example\")\nexample_data_source = aws.appsync.DataSource(\"example\",\n api_id=example_graph_ql_api.id,\n name=\"my_appsync_example\",\n service_role_arn=example_role.arn,\n type=\"AMAZON_DYNAMODB\",\n dynamodb_config={\n \"table_name\": example_table.name,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleTable = new Aws.DynamoDB.Table(\"example\", new()\n {\n Name = \"example\",\n ReadCapacity = 1,\n WriteCapacity = 1,\n HashKey = \"UserId\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"UserId\",\n Type = \"S\",\n },\n },\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appsync.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"dynamodb:*\",\n },\n Resources = new[]\n {\n exampleTable.Arn,\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Name = \"example\",\n Role = exampleRole.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleGraphQLApi = new Aws.AppSync.GraphQLApi(\"example\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"my_appsync_example\",\n });\n\n var exampleDataSource = new Aws.AppSync.DataSource(\"example\", new()\n {\n ApiId = exampleGraphQLApi.Id,\n Name = \"my_appsync_example\",\n ServiceRoleArn = exampleRole.Arn,\n Type = \"AMAZON_DYNAMODB\",\n DynamodbConfig = new Aws.AppSync.Inputs.DataSourceDynamodbConfigArgs\n {\n TableName = exampleTable.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleTable, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tReadCapacity: pulumi.Int(1),\n\t\t\tWriteCapacity: pulumi.Int(1),\n\t\t\tHashKey: pulumi.String(\"UserId\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"UserId\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\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\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appsync.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"dynamodb:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleTable.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: exampleRole.ID(),\n\t\t\tPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGraphQLApi, err := appsync.NewGraphQLApi(ctx, \"example\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"my_appsync_example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewDataSource(ctx, \"example\", \u0026appsync.DataSourceArgs{\n\t\t\tApiId: exampleGraphQLApi.ID(),\n\t\t\tName: pulumi.String(\"my_appsync_example\"),\n\t\t\tServiceRoleArn: exampleRole.Arn,\n\t\t\tType: pulumi.String(\"AMAZON_DYNAMODB\"),\n\t\t\tDynamodbConfig: \u0026appsync.DataSourceDynamodbConfigArgs{\n\t\t\t\tTableName: exampleTable.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.DataSource;\nimport com.pulumi.aws.appsync.DataSourceArgs;\nimport com.pulumi.aws.appsync.inputs.DataSourceDynamodbConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleTable = new Table(\"exampleTable\", TableArgs.builder()\n .name(\"example\")\n .readCapacity(1)\n .writeCapacity(1)\n .hashKey(\"UserId\")\n .attributes(TableAttributeArgs.builder()\n .name(\"UserId\")\n .type(\"S\")\n .build())\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appsync.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"dynamodb:*\")\n .resources(exampleTable.arn())\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .name(\"example\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleGraphQLApi = new GraphQLApi(\"exampleGraphQLApi\", GraphQLApiArgs.builder()\n .authenticationType(\"API_KEY\")\n .name(\"my_appsync_example\")\n .build());\n\n var exampleDataSource = new DataSource(\"exampleDataSource\", DataSourceArgs.builder()\n .apiId(exampleGraphQLApi.id())\n .name(\"my_appsync_example\")\n .serviceRoleArn(exampleRole.arn())\n .type(\"AMAZON_DYNAMODB\")\n .dynamodbConfig(DataSourceDynamodbConfigArgs.builder()\n .tableName(exampleTable.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTable:\n type: aws:dynamodb:Table\n name: example\n properties:\n name: example\n readCapacity: 1\n writeCapacity: 1\n hashKey: UserId\n attributes:\n - name: UserId\n type: S\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: example\n role: ${exampleRole.id}\n policy: ${example.json}\n exampleGraphQLApi:\n type: aws:appsync:GraphQLApi\n name: example\n properties:\n authenticationType: API_KEY\n name: my_appsync_example\n exampleDataSource:\n type: aws:appsync:DataSource\n name: example\n properties:\n apiId: ${exampleGraphQLApi.id}\n name: my_appsync_example\n serviceRoleArn: ${exampleRole.arn}\n type: AMAZON_DYNAMODB\n dynamodbConfig:\n tableName: ${exampleTable.name}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - appsync.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - dynamodb:*\n resources:\n - ${exampleTable.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_datasource` using the `api_id`, a hyphen, and `name`. For example:\n\n```sh\n$ pulumi import aws:appsync/dataSource:DataSource example abcdef123456-example\n```\n", "properties": { "apiId": { "type": "string", @@ -187507,7 +187507,7 @@ } }, "aws:appsync/function:Function": { - "description": "Provides an AppSync Function.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appsync.GraphQLApi(\"example\", {\n authenticationType: \"API_KEY\",\n name: \"example\",\n schema: `type Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n`,\n});\nconst exampleDataSource = new aws.appsync.DataSource(\"example\", {\n apiId: example.id,\n name: \"example\",\n type: \"HTTP\",\n httpConfig: {\n endpoint: \"http://example.com\",\n },\n});\nconst exampleFunction = new aws.appsync.Function(\"example\", {\n apiId: example.id,\n dataSource: exampleDataSource.name,\n name: \"example\",\n requestMappingTemplate: `{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": utils.http.copyheaders(ctx.request.headers)\n }\n}\n`,\n responseMappingTemplate: `#if(ctx.result.statusCode == 200)\n ctx.result.body\n#else\n utils.appendError(ctx.result.body, ctx.result.statusCode)\n#end\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appsync.GraphQLApi(\"example\",\n authentication_type=\"API_KEY\",\n name=\"example\",\n schema=\"\"\"type Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n\"\"\")\nexample_data_source = aws.appsync.DataSource(\"example\",\n api_id=example.id,\n name=\"example\",\n type=\"HTTP\",\n http_config={\n \"endpoint\": \"http://example.com\",\n })\nexample_function = aws.appsync.Function(\"example\",\n api_id=example.id,\n data_source=example_data_source.name,\n name=\"example\",\n request_mapping_template=\"\"\"{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n\"\"\",\n response_mapping_template=\"\"\"#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.GraphQLApi(\"example\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"example\",\n Schema = @\"type Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n\",\n });\n\n var exampleDataSource = new Aws.AppSync.DataSource(\"example\", new()\n {\n ApiId = example.Id,\n Name = \"example\",\n Type = \"HTTP\",\n HttpConfig = new Aws.AppSync.Inputs.DataSourceHttpConfigArgs\n {\n Endpoint = \"http://example.com\",\n },\n });\n\n var exampleFunction = new Aws.AppSync.Function(\"example\", new()\n {\n ApiId = example.Id,\n DataSource = exampleDataSource.Name,\n Name = \"example\",\n RequestMappingTemplate = @\"{\n \"\"version\"\": \"\"2018-05-29\"\",\n \"\"method\"\": \"\"GET\"\",\n \"\"resourcePath\"\": \"\"/\"\",\n \"\"params\"\":{\n \"\"headers\"\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n\",\n ResponseMappingTemplate = @\"#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appsync.NewGraphQLApi(ctx, \"example\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSchema: pulumi.String(`type Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataSource, err := appsync.NewDataSource(ctx, \"example\", \u0026appsync.DataSourceArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"HTTP\"),\n\t\t\tHttpConfig: \u0026appsync.DataSourceHttpConfigArgs{\n\t\t\t\tEndpoint: pulumi.String(\"http://example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewFunction(ctx, \"example\", \u0026appsync.FunctionArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tDataSource: exampleDataSource.Name,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRequestMappingTemplate: pulumi.String(`{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n`),\n\t\t\tResponseMappingTemplate: pulumi.String(`#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n`),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.DataSource;\nimport com.pulumi.aws.appsync.DataSourceArgs;\nimport com.pulumi.aws.appsync.inputs.DataSourceHttpConfigArgs;\nimport com.pulumi.aws.appsync.Function;\nimport com.pulumi.aws.appsync.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GraphQLApi(\"example\", GraphQLApiArgs.builder()\n .authenticationType(\"API_KEY\")\n .name(\"example\")\n .schema(\"\"\"\ntype Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n \"\"\")\n .build());\n\n var exampleDataSource = new DataSource(\"exampleDataSource\", DataSourceArgs.builder()\n .apiId(example.id())\n .name(\"example\")\n .type(\"HTTP\")\n .httpConfig(DataSourceHttpConfigArgs.builder()\n .endpoint(\"http://example.com\")\n .build())\n .build());\n\n var exampleFunction = new Function(\"exampleFunction\", FunctionArgs.builder()\n .apiId(example.id())\n .dataSource(exampleDataSource.name())\n .name(\"example\")\n .requestMappingTemplate(\"\"\"\n{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n \"\"\")\n .responseMappingTemplate(\"\"\"\n#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:GraphQLApi\n properties:\n authenticationType: API_KEY\n name: example\n schema: |\n type Mutation {\n putPost(id: ID!, title: String!): Post\n }\n\n type Post {\n id: ID!\n title: String!\n }\n\n type Query {\n singlePost(id: ID!): Post\n }\n\n schema {\n query: Query\n mutation: Mutation\n }\n exampleDataSource:\n type: aws:appsync:DataSource\n name: example\n properties:\n apiId: ${example.id}\n name: example\n type: HTTP\n httpConfig:\n endpoint: http://example.com\n exampleFunction:\n type: aws:appsync:Function\n name: example\n properties:\n apiId: ${example.id}\n dataSource: ${exampleDataSource.name}\n name: example\n requestMappingTemplate: |\n {\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n }\n responseMappingTemplate: |\n #if($ctx.result.statusCode == 200)\n $ctx.result.body\n #else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n #end\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Code\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.appsync.Function(\"example\", {\n apiId: exampleAwsAppsyncGraphqlApi.id,\n dataSource: exampleAwsAppsyncDatasource.name,\n name: \"example\",\n code: std.file({\n input: \"some-code-dir\",\n }).then(invoke =\u003e invoke.result),\n runtime: {\n name: \"APPSYNC_JS\",\n runtimeVersion: \"1.0.0\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.appsync.Function(\"example\",\n api_id=example_aws_appsync_graphql_api[\"id\"],\n data_source=example_aws_appsync_datasource[\"name\"],\n name=\"example\",\n code=std.file(input=\"some-code-dir\").result,\n runtime={\n \"name\": \"APPSYNC_JS\",\n \"runtime_version\": \"1.0.0\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.Function(\"example\", new()\n {\n ApiId = exampleAwsAppsyncGraphqlApi.Id,\n DataSource = exampleAwsAppsyncDatasource.Name,\n Name = \"example\",\n Code = Std.File.Invoke(new()\n {\n Input = \"some-code-dir\",\n }).Apply(invoke =\u003e invoke.Result),\n Runtime = new Aws.AppSync.Inputs.FunctionRuntimeArgs\n {\n Name = \"APPSYNC_JS\",\n RuntimeVersion = \"1.0.0\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"some-code-dir\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewFunction(ctx, \"example\", \u0026appsync.FunctionArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsAppsyncGraphqlApi.Id),\n\t\t\tDataSource: pulumi.Any(exampleAwsAppsyncDatasource.Name),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCode: pulumi.String(invokeFile.Result),\n\t\t\tRuntime: \u0026appsync.FunctionRuntimeArgs{\n\t\t\t\tName: pulumi.String(\"APPSYNC_JS\"),\n\t\t\t\tRuntimeVersion: pulumi.String(\"1.0.0\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appsync.Function;\nimport com.pulumi.aws.appsync.FunctionArgs;\nimport com.pulumi.aws.appsync.inputs.FunctionRuntimeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Function(\"example\", FunctionArgs.builder()\n .apiId(exampleAwsAppsyncGraphqlApi.id())\n .dataSource(exampleAwsAppsyncDatasource.name())\n .name(\"example\")\n .code(StdFunctions.file(FileArgs.builder()\n .input(\"some-code-dir\")\n .build()).result())\n .runtime(FunctionRuntimeArgs.builder()\n .name(\"APPSYNC_JS\")\n .runtimeVersion(\"1.0.0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:Function\n properties:\n apiId: ${exampleAwsAppsyncGraphqlApi.id}\n dataSource: ${exampleAwsAppsyncDatasource.name}\n name: example\n code:\n fn::invoke:\n function: std:file\n arguments:\n input: some-code-dir\n return: result\n runtime:\n name: APPSYNC_JS\n runtimeVersion: 1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_function` using the AppSync API ID and Function ID separated by `-`. For example:\n\n```sh\n$ pulumi import aws:appsync/function:Function example xxxxx-yyyyy\n```\n", + "description": "Provides an AppSync Function.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appsync.GraphQLApi(\"example\", {\n authenticationType: \"API_KEY\",\n name: \"example\",\n schema: `type Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n`,\n});\nconst exampleDataSource = new aws.appsync.DataSource(\"example\", {\n apiId: example.id,\n name: \"example\",\n type: \"HTTP\",\n httpConfig: {\n endpoint: \"http://example.com\",\n },\n});\nconst exampleFunction = new aws.appsync.Function(\"example\", {\n apiId: example.id,\n dataSource: exampleDataSource.name,\n name: \"example\",\n requestMappingTemplate: `{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": utils.http.copyheaders(ctx.request.headers)\n }\n}\n`,\n responseMappingTemplate: `#if(ctx.result.statusCode == 200)\n ctx.result.body\n#else\n utils.appendError(ctx.result.body, ctx.result.statusCode)\n#end\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appsync.GraphQLApi(\"example\",\n authentication_type=\"API_KEY\",\n name=\"example\",\n schema=\"\"\"type Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n\"\"\")\nexample_data_source = aws.appsync.DataSource(\"example\",\n api_id=example.id,\n name=\"example\",\n type=\"HTTP\",\n http_config={\n \"endpoint\": \"http://example.com\",\n })\nexample_function = aws.appsync.Function(\"example\",\n api_id=example.id,\n data_source=example_data_source.name,\n name=\"example\",\n request_mapping_template=\"\"\"{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n\"\"\",\n response_mapping_template=\"\"\"#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.GraphQLApi(\"example\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"example\",\n Schema = @\"type Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n\",\n });\n\n var exampleDataSource = new Aws.AppSync.DataSource(\"example\", new()\n {\n ApiId = example.Id,\n Name = \"example\",\n Type = \"HTTP\",\n HttpConfig = new Aws.AppSync.Inputs.DataSourceHttpConfigArgs\n {\n Endpoint = \"http://example.com\",\n },\n });\n\n var exampleFunction = new Aws.AppSync.Function(\"example\", new()\n {\n ApiId = example.Id,\n DataSource = exampleDataSource.Name,\n Name = \"example\",\n RequestMappingTemplate = @\"{\n \"\"version\"\": \"\"2018-05-29\"\",\n \"\"method\"\": \"\"GET\"\",\n \"\"resourcePath\"\": \"\"/\"\",\n \"\"params\"\":{\n \"\"headers\"\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n\",\n ResponseMappingTemplate = @\"#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appsync.NewGraphQLApi(ctx, \"example\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSchema: pulumi.String(`type Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataSource, err := appsync.NewDataSource(ctx, \"example\", \u0026appsync.DataSourceArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"HTTP\"),\n\t\t\tHttpConfig: \u0026appsync.DataSourceHttpConfigArgs{\n\t\t\t\tEndpoint: pulumi.String(\"http://example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewFunction(ctx, \"example\", \u0026appsync.FunctionArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tDataSource: exampleDataSource.Name,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRequestMappingTemplate: pulumi.String(`{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n`),\n\t\t\tResponseMappingTemplate: pulumi.String(`#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n`),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.DataSource;\nimport com.pulumi.aws.appsync.DataSourceArgs;\nimport com.pulumi.aws.appsync.inputs.DataSourceHttpConfigArgs;\nimport com.pulumi.aws.appsync.Function;\nimport com.pulumi.aws.appsync.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GraphQLApi(\"example\", GraphQLApiArgs.builder()\n .authenticationType(\"API_KEY\")\n .name(\"example\")\n .schema(\"\"\"\ntype Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n \"\"\")\n .build());\n\n var exampleDataSource = new DataSource(\"exampleDataSource\", DataSourceArgs.builder()\n .apiId(example.id())\n .name(\"example\")\n .type(\"HTTP\")\n .httpConfig(DataSourceHttpConfigArgs.builder()\n .endpoint(\"http://example.com\")\n .build())\n .build());\n\n var exampleFunction = new Function(\"exampleFunction\", FunctionArgs.builder()\n .apiId(example.id())\n .dataSource(exampleDataSource.name())\n .name(\"example\")\n .requestMappingTemplate(\"\"\"\n{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n \"\"\")\n .responseMappingTemplate(\"\"\"\n#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:GraphQLApi\n properties:\n authenticationType: API_KEY\n name: example\n schema: |\n type Mutation {\n putPost(id: ID!, title: String!): Post\n }\n\n type Post {\n id: ID!\n title: String!\n }\n\n type Query {\n singlePost(id: ID!): Post\n }\n\n schema {\n query: Query\n mutation: Mutation\n }\n exampleDataSource:\n type: aws:appsync:DataSource\n name: example\n properties:\n apiId: ${example.id}\n name: example\n type: HTTP\n httpConfig:\n endpoint: http://example.com\n exampleFunction:\n type: aws:appsync:Function\n name: example\n properties:\n apiId: ${example.id}\n dataSource: ${exampleDataSource.name}\n name: example\n requestMappingTemplate: |\n {\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n }\n responseMappingTemplate: |\n #if($ctx.result.statusCode == 200)\n $ctx.result.body\n #else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n #end\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Code\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.appsync.Function(\"example\", {\n apiId: exampleAwsAppsyncGraphqlApi.id,\n dataSource: exampleAwsAppsyncDatasource.name,\n name: \"example\",\n code: std.file({\n input: \"some-code-dir\",\n }).then(invoke =\u003e invoke.result),\n runtime: {\n name: \"APPSYNC_JS\",\n runtimeVersion: \"1.0.0\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.appsync.Function(\"example\",\n api_id=example_aws_appsync_graphql_api[\"id\"],\n data_source=example_aws_appsync_datasource[\"name\"],\n name=\"example\",\n code=std.file(input=\"some-code-dir\").result,\n runtime={\n \"name\": \"APPSYNC_JS\",\n \"runtime_version\": \"1.0.0\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.Function(\"example\", new()\n {\n ApiId = exampleAwsAppsyncGraphqlApi.Id,\n DataSource = exampleAwsAppsyncDatasource.Name,\n Name = \"example\",\n Code = Std.File.Invoke(new()\n {\n Input = \"some-code-dir\",\n }).Apply(invoke =\u003e invoke.Result),\n Runtime = new Aws.AppSync.Inputs.FunctionRuntimeArgs\n {\n Name = \"APPSYNC_JS\",\n RuntimeVersion = \"1.0.0\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"some-code-dir\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewFunction(ctx, \"example\", \u0026appsync.FunctionArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsAppsyncGraphqlApi.Id),\n\t\t\tDataSource: pulumi.Any(exampleAwsAppsyncDatasource.Name),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCode: pulumi.String(invokeFile.Result),\n\t\t\tRuntime: \u0026appsync.FunctionRuntimeArgs{\n\t\t\t\tName: pulumi.String(\"APPSYNC_JS\"),\n\t\t\t\tRuntimeVersion: pulumi.String(\"1.0.0\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appsync.Function;\nimport com.pulumi.aws.appsync.FunctionArgs;\nimport com.pulumi.aws.appsync.inputs.FunctionRuntimeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Function(\"example\", FunctionArgs.builder()\n .apiId(exampleAwsAppsyncGraphqlApi.id())\n .dataSource(exampleAwsAppsyncDatasource.name())\n .name(\"example\")\n .code(StdFunctions.file(FileArgs.builder()\n .input(\"some-code-dir\")\n .build()).result())\n .runtime(FunctionRuntimeArgs.builder()\n .name(\"APPSYNC_JS\")\n .runtimeVersion(\"1.0.0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:Function\n properties:\n apiId: ${exampleAwsAppsyncGraphqlApi.id}\n dataSource: ${exampleAwsAppsyncDatasource.name}\n name: example\n code:\n fn::invoke:\n Function: std:file\n Arguments:\n input: some-code-dir\n Return: result\n runtime:\n name: APPSYNC_JS\n runtimeVersion: 1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_function` using the AppSync API ID and Function ID separated by `-`. For example:\n\n```sh\n$ pulumi import aws:appsync/function:Function example xxxxx-yyyyy\n```\n", "properties": { "apiId": { "type": "string", @@ -187968,7 +187968,7 @@ } }, "aws:appsync/resolver:Resolver": { - "description": "Provides an AppSync Resolver.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.appsync.GraphQLApi(\"test\", {\n authenticationType: \"API_KEY\",\n name: \"tf-example\",\n schema: `type Mutation {\n\\x09putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\\x09id: ID!\n\\x09title: String!\n}\n\ntype Query {\n\\x09singlePost(id: ID!): Post\n}\n\nschema {\n\\x09query: Query\n\\x09mutation: Mutation\n}\n`,\n});\nconst testDataSource = new aws.appsync.DataSource(\"test\", {\n apiId: test.id,\n name: \"my_example\",\n type: \"HTTP\",\n httpConfig: {\n endpoint: \"http://example.com\",\n },\n});\n// UNIT type resolver (default)\nconst testResolver = new aws.appsync.Resolver(\"test\", {\n apiId: test.id,\n field: \"singlePost\",\n type: \"Query\",\n dataSource: testDataSource.name,\n requestTemplate: `{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": utils.http.copyheaders(ctx.request.headers)\n }\n}\n`,\n responseTemplate: `#if(ctx.result.statusCode == 200)\n ctx.result.body\n#else\n utils.appendError(ctx.result.body, ctx.result.statusCode)\n#end\n`,\n cachingConfig: {\n cachingKeys: [\n \"$context.identity.sub\",\n \"$context.arguments.id\",\n ],\n ttl: 60,\n },\n});\n// PIPELINE type resolver\nconst mutationPipelineTest = new aws.appsync.Resolver(\"Mutation_pipelineTest\", {\n type: \"Mutation\",\n apiId: test.id,\n field: \"pipelineTest\",\n requestTemplate: \"{}\",\n responseTemplate: \"$util.toJson($ctx.result)\",\n kind: \"PIPELINE\",\n pipelineConfig: {\n functions: [\n test1.functionId,\n test2.functionId,\n test3.functionId,\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.appsync.GraphQLApi(\"test\",\n authentication_type=\"API_KEY\",\n name=\"tf-example\",\n schema=\"\"\"type Mutation {\n\\x09putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\\x09id: ID!\n\\x09title: String!\n}\n\ntype Query {\n\\x09singlePost(id: ID!): Post\n}\n\nschema {\n\\x09query: Query\n\\x09mutation: Mutation\n}\n\"\"\")\ntest_data_source = aws.appsync.DataSource(\"test\",\n api_id=test.id,\n name=\"my_example\",\n type=\"HTTP\",\n http_config={\n \"endpoint\": \"http://example.com\",\n })\n# UNIT type resolver (default)\ntest_resolver = aws.appsync.Resolver(\"test\",\n api_id=test.id,\n field=\"singlePost\",\n type=\"Query\",\n data_source=test_data_source.name,\n request_template=\"\"\"{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n\"\"\",\n response_template=\"\"\"#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n\"\"\",\n caching_config={\n \"caching_keys\": [\n \"$context.identity.sub\",\n \"$context.arguments.id\",\n ],\n \"ttl\": 60,\n })\n# PIPELINE type resolver\nmutation_pipeline_test = aws.appsync.Resolver(\"Mutation_pipelineTest\",\n type=\"Mutation\",\n api_id=test.id,\n field=\"pipelineTest\",\n request_template=\"{}\",\n response_template=\"$util.toJson($ctx.result)\",\n kind=\"PIPELINE\",\n pipeline_config={\n \"functions\": [\n test1[\"functionId\"],\n test2[\"functionId\"],\n test3[\"functionId\"],\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.AppSync.GraphQLApi(\"test\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"tf-example\",\n Schema = @\"type Mutation {\n\tputPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\tid: ID!\n\ttitle: String!\n}\n\ntype Query {\n\tsinglePost(id: ID!): Post\n}\n\nschema {\n\tquery: Query\n\tmutation: Mutation\n}\n\",\n });\n\n var testDataSource = new Aws.AppSync.DataSource(\"test\", new()\n {\n ApiId = test.Id,\n Name = \"my_example\",\n Type = \"HTTP\",\n HttpConfig = new Aws.AppSync.Inputs.DataSourceHttpConfigArgs\n {\n Endpoint = \"http://example.com\",\n },\n });\n\n // UNIT type resolver (default)\n var testResolver = new Aws.AppSync.Resolver(\"test\", new()\n {\n ApiId = test.Id,\n Field = \"singlePost\",\n Type = \"Query\",\n DataSource = testDataSource.Name,\n RequestTemplate = @\"{\n \"\"version\"\": \"\"2018-05-29\"\",\n \"\"method\"\": \"\"GET\"\",\n \"\"resourcePath\"\": \"\"/\"\",\n \"\"params\"\":{\n \"\"headers\"\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n\",\n ResponseTemplate = @\"#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n\",\n CachingConfig = new Aws.AppSync.Inputs.ResolverCachingConfigArgs\n {\n CachingKeys = new[]\n {\n \"$context.identity.sub\",\n \"$context.arguments.id\",\n },\n Ttl = 60,\n },\n });\n\n // PIPELINE type resolver\n var mutationPipelineTest = new Aws.AppSync.Resolver(\"Mutation_pipelineTest\", new()\n {\n Type = \"Mutation\",\n ApiId = test.Id,\n Field = \"pipelineTest\",\n RequestTemplate = \"{}\",\n ResponseTemplate = \"$util.toJson($ctx.result)\",\n Kind = \"PIPELINE\",\n PipelineConfig = new Aws.AppSync.Inputs.ResolverPipelineConfigArgs\n {\n Functions = new[]\n {\n test1.FunctionId,\n test2.FunctionId,\n test3.FunctionId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := appsync.NewGraphQLApi(ctx, \"test\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"tf-example\"),\n\t\t\tSchema: pulumi.String(`type Mutation {\n\tputPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\tid: ID!\n\ttitle: String!\n}\n\ntype Query {\n\tsinglePost(id: ID!): Post\n}\n\nschema {\n\tquery: Query\n\tmutation: Mutation\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestDataSource, err := appsync.NewDataSource(ctx, \"test\", \u0026appsync.DataSourceArgs{\n\t\t\tApiId: test.ID(),\n\t\t\tName: pulumi.String(\"my_example\"),\n\t\t\tType: pulumi.String(\"HTTP\"),\n\t\t\tHttpConfig: \u0026appsync.DataSourceHttpConfigArgs{\n\t\t\t\tEndpoint: pulumi.String(\"http://example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// UNIT type resolver (default)\n\t\t_, err = appsync.NewResolver(ctx, \"test\", \u0026appsync.ResolverArgs{\n\t\t\tApiId: test.ID(),\n\t\t\tField: pulumi.String(\"singlePost\"),\n\t\t\tType: pulumi.String(\"Query\"),\n\t\t\tDataSource: testDataSource.Name,\n\t\t\tRequestTemplate: pulumi.String(`{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n`),\n\t\t\tResponseTemplate: pulumi.String(`#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n`),\n\t\t\tCachingConfig: \u0026appsync.ResolverCachingConfigArgs{\n\t\t\t\tCachingKeys: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"$context.identity.sub\"),\n\t\t\t\t\tpulumi.String(\"$context.arguments.id\"),\n\t\t\t\t},\n\t\t\t\tTtl: pulumi.Int(60),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// PIPELINE type resolver\n\t\t_, err = appsync.NewResolver(ctx, \"Mutation_pipelineTest\", \u0026appsync.ResolverArgs{\n\t\t\tType: pulumi.String(\"Mutation\"),\n\t\t\tApiId: test.ID(),\n\t\t\tField: pulumi.String(\"pipelineTest\"),\n\t\t\tRequestTemplate: pulumi.String(\"{}\"),\n\t\t\tResponseTemplate: pulumi.String(\"$util.toJson($ctx.result)\"),\n\t\t\tKind: pulumi.String(\"PIPELINE\"),\n\t\t\tPipelineConfig: \u0026appsync.ResolverPipelineConfigArgs{\n\t\t\t\tFunctions: pulumi.StringArray{\n\t\t\t\t\ttest1.FunctionId,\n\t\t\t\t\ttest2.FunctionId,\n\t\t\t\t\ttest3.FunctionId,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.DataSource;\nimport com.pulumi.aws.appsync.DataSourceArgs;\nimport com.pulumi.aws.appsync.inputs.DataSourceHttpConfigArgs;\nimport com.pulumi.aws.appsync.Resolver;\nimport com.pulumi.aws.appsync.ResolverArgs;\nimport com.pulumi.aws.appsync.inputs.ResolverCachingConfigArgs;\nimport com.pulumi.aws.appsync.inputs.ResolverPipelineConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new GraphQLApi(\"test\", GraphQLApiArgs.builder()\n .authenticationType(\"API_KEY\")\n .name(\"tf-example\")\n .schema(\"\"\"\ntype Mutation {\n\tputPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\tid: ID!\n\ttitle: String!\n}\n\ntype Query {\n\tsinglePost(id: ID!): Post\n}\n\nschema {\n\tquery: Query\n\tmutation: Mutation\n}\n \"\"\")\n .build());\n\n var testDataSource = new DataSource(\"testDataSource\", DataSourceArgs.builder()\n .apiId(test.id())\n .name(\"my_example\")\n .type(\"HTTP\")\n .httpConfig(DataSourceHttpConfigArgs.builder()\n .endpoint(\"http://example.com\")\n .build())\n .build());\n\n // UNIT type resolver (default)\n var testResolver = new Resolver(\"testResolver\", ResolverArgs.builder()\n .apiId(test.id())\n .field(\"singlePost\")\n .type(\"Query\")\n .dataSource(testDataSource.name())\n .requestTemplate(\"\"\"\n{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n \"\"\")\n .responseTemplate(\"\"\"\n#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n \"\"\")\n .cachingConfig(ResolverCachingConfigArgs.builder()\n .cachingKeys( \n \"$context.identity.sub\",\n \"$context.arguments.id\")\n .ttl(60)\n .build())\n .build());\n\n // PIPELINE type resolver\n var mutationPipelineTest = new Resolver(\"mutationPipelineTest\", ResolverArgs.builder()\n .type(\"Mutation\")\n .apiId(test.id())\n .field(\"pipelineTest\")\n .requestTemplate(\"{}\")\n .responseTemplate(\"$util.toJson($ctx.result)\")\n .kind(\"PIPELINE\")\n .pipelineConfig(ResolverPipelineConfigArgs.builder()\n .functions( \n test1.functionId(),\n test2.functionId(),\n test3.functionId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:appsync:GraphQLApi\n properties:\n authenticationType: API_KEY\n name: tf-example\n schema: |\n type Mutation {\n \tputPost(id: ID!, title: String!): Post\n }\n\n type Post {\n \tid: ID!\n \ttitle: String!\n }\n\n type Query {\n \tsinglePost(id: ID!): Post\n }\n\n schema {\n \tquery: Query\n \tmutation: Mutation\n }\n testDataSource:\n type: aws:appsync:DataSource\n name: test\n properties:\n apiId: ${test.id}\n name: my_example\n type: HTTP\n httpConfig:\n endpoint: http://example.com\n # UNIT type resolver (default)\n testResolver:\n type: aws:appsync:Resolver\n name: test\n properties:\n apiId: ${test.id}\n field: singlePost\n type: Query\n dataSource: ${testDataSource.name}\n requestTemplate: |\n {\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n }\n responseTemplate: |\n #if($ctx.result.statusCode == 200)\n $ctx.result.body\n #else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n #end\n cachingConfig:\n cachingKeys:\n - $context.identity.sub\n - $context.arguments.id\n ttl: 60\n # PIPELINE type resolver\n mutationPipelineTest:\n type: aws:appsync:Resolver\n name: Mutation_pipelineTest\n properties:\n type: Mutation\n apiId: ${test.id}\n field: pipelineTest\n requestTemplate: '{}'\n responseTemplate: $util.toJson($ctx.result)\n kind: PIPELINE\n pipelineConfig:\n functions:\n - ${test1.functionId}\n - ${test2.functionId}\n - ${test3.functionId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### JS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.appsync.Resolver(\"example\", {\n type: \"Query\",\n apiId: testAwsAppsyncGraphqlApi.id,\n field: \"pipelineTest\",\n kind: \"PIPELINE\",\n code: std.file({\n input: \"some-code-dir\",\n }).then(invoke =\u003e invoke.result),\n runtime: {\n name: \"APPSYNC_JS\",\n runtimeVersion: \"1.0.0\",\n },\n pipelineConfig: {\n functions: [test.functionId],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.appsync.Resolver(\"example\",\n type=\"Query\",\n api_id=test_aws_appsync_graphql_api[\"id\"],\n field=\"pipelineTest\",\n kind=\"PIPELINE\",\n code=std.file(input=\"some-code-dir\").result,\n runtime={\n \"name\": \"APPSYNC_JS\",\n \"runtime_version\": \"1.0.0\",\n },\n pipeline_config={\n \"functions\": [test[\"functionId\"]],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.Resolver(\"example\", new()\n {\n Type = \"Query\",\n ApiId = testAwsAppsyncGraphqlApi.Id,\n Field = \"pipelineTest\",\n Kind = \"PIPELINE\",\n Code = Std.File.Invoke(new()\n {\n Input = \"some-code-dir\",\n }).Apply(invoke =\u003e invoke.Result),\n Runtime = new Aws.AppSync.Inputs.ResolverRuntimeArgs\n {\n Name = \"APPSYNC_JS\",\n RuntimeVersion = \"1.0.0\",\n },\n PipelineConfig = new Aws.AppSync.Inputs.ResolverPipelineConfigArgs\n {\n Functions = new[]\n {\n test.FunctionId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"some-code-dir\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewResolver(ctx, \"example\", \u0026appsync.ResolverArgs{\n\t\t\tType: pulumi.String(\"Query\"),\n\t\t\tApiId: pulumi.Any(testAwsAppsyncGraphqlApi.Id),\n\t\t\tField: pulumi.String(\"pipelineTest\"),\n\t\t\tKind: pulumi.String(\"PIPELINE\"),\n\t\t\tCode: pulumi.String(invokeFile.Result),\n\t\t\tRuntime: \u0026appsync.ResolverRuntimeArgs{\n\t\t\t\tName: pulumi.String(\"APPSYNC_JS\"),\n\t\t\t\tRuntimeVersion: pulumi.String(\"1.0.0\"),\n\t\t\t},\n\t\t\tPipelineConfig: \u0026appsync.ResolverPipelineConfigArgs{\n\t\t\t\tFunctions: pulumi.StringArray{\n\t\t\t\t\ttest.FunctionId,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appsync.Resolver;\nimport com.pulumi.aws.appsync.ResolverArgs;\nimport com.pulumi.aws.appsync.inputs.ResolverRuntimeArgs;\nimport com.pulumi.aws.appsync.inputs.ResolverPipelineConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Resolver(\"example\", ResolverArgs.builder()\n .type(\"Query\")\n .apiId(testAwsAppsyncGraphqlApi.id())\n .field(\"pipelineTest\")\n .kind(\"PIPELINE\")\n .code(StdFunctions.file(FileArgs.builder()\n .input(\"some-code-dir\")\n .build()).result())\n .runtime(ResolverRuntimeArgs.builder()\n .name(\"APPSYNC_JS\")\n .runtimeVersion(\"1.0.0\")\n .build())\n .pipelineConfig(ResolverPipelineConfigArgs.builder()\n .functions(test.functionId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:Resolver\n properties:\n type: Query\n apiId: ${testAwsAppsyncGraphqlApi.id}\n field: pipelineTest\n kind: PIPELINE\n code:\n fn::invoke:\n function: std:file\n arguments:\n input: some-code-dir\n return: result\n runtime:\n name: APPSYNC_JS\n runtimeVersion: 1.0.0\n pipelineConfig:\n functions:\n - ${test.functionId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_resolver` using the `api_id`, a hyphen, `type`, a hypen and `field`. For example:\n\n```sh\n$ pulumi import aws:appsync/resolver:Resolver example abcdef123456-exampleType-exampleField\n```\n", + "description": "Provides an AppSync Resolver.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.appsync.GraphQLApi(\"test\", {\n authenticationType: \"API_KEY\",\n name: \"tf-example\",\n schema: `type Mutation {\n\\x09putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\\x09id: ID!\n\\x09title: String!\n}\n\ntype Query {\n\\x09singlePost(id: ID!): Post\n}\n\nschema {\n\\x09query: Query\n\\x09mutation: Mutation\n}\n`,\n});\nconst testDataSource = new aws.appsync.DataSource(\"test\", {\n apiId: test.id,\n name: \"my_example\",\n type: \"HTTP\",\n httpConfig: {\n endpoint: \"http://example.com\",\n },\n});\n// UNIT type resolver (default)\nconst testResolver = new aws.appsync.Resolver(\"test\", {\n apiId: test.id,\n field: \"singlePost\",\n type: \"Query\",\n dataSource: testDataSource.name,\n requestTemplate: `{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": utils.http.copyheaders(ctx.request.headers)\n }\n}\n`,\n responseTemplate: `#if(ctx.result.statusCode == 200)\n ctx.result.body\n#else\n utils.appendError(ctx.result.body, ctx.result.statusCode)\n#end\n`,\n cachingConfig: {\n cachingKeys: [\n \"$context.identity.sub\",\n \"$context.arguments.id\",\n ],\n ttl: 60,\n },\n});\n// PIPELINE type resolver\nconst mutationPipelineTest = new aws.appsync.Resolver(\"Mutation_pipelineTest\", {\n type: \"Mutation\",\n apiId: test.id,\n field: \"pipelineTest\",\n requestTemplate: \"{}\",\n responseTemplate: \"$util.toJson($ctx.result)\",\n kind: \"PIPELINE\",\n pipelineConfig: {\n functions: [\n test1.functionId,\n test2.functionId,\n test3.functionId,\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.appsync.GraphQLApi(\"test\",\n authentication_type=\"API_KEY\",\n name=\"tf-example\",\n schema=\"\"\"type Mutation {\n\\x09putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\\x09id: ID!\n\\x09title: String!\n}\n\ntype Query {\n\\x09singlePost(id: ID!): Post\n}\n\nschema {\n\\x09query: Query\n\\x09mutation: Mutation\n}\n\"\"\")\ntest_data_source = aws.appsync.DataSource(\"test\",\n api_id=test.id,\n name=\"my_example\",\n type=\"HTTP\",\n http_config={\n \"endpoint\": \"http://example.com\",\n })\n# UNIT type resolver (default)\ntest_resolver = aws.appsync.Resolver(\"test\",\n api_id=test.id,\n field=\"singlePost\",\n type=\"Query\",\n data_source=test_data_source.name,\n request_template=\"\"\"{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n\"\"\",\n response_template=\"\"\"#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n\"\"\",\n caching_config={\n \"caching_keys\": [\n \"$context.identity.sub\",\n \"$context.arguments.id\",\n ],\n \"ttl\": 60,\n })\n# PIPELINE type resolver\nmutation_pipeline_test = aws.appsync.Resolver(\"Mutation_pipelineTest\",\n type=\"Mutation\",\n api_id=test.id,\n field=\"pipelineTest\",\n request_template=\"{}\",\n response_template=\"$util.toJson($ctx.result)\",\n kind=\"PIPELINE\",\n pipeline_config={\n \"functions\": [\n test1[\"functionId\"],\n test2[\"functionId\"],\n test3[\"functionId\"],\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.AppSync.GraphQLApi(\"test\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"tf-example\",\n Schema = @\"type Mutation {\n\tputPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\tid: ID!\n\ttitle: String!\n}\n\ntype Query {\n\tsinglePost(id: ID!): Post\n}\n\nschema {\n\tquery: Query\n\tmutation: Mutation\n}\n\",\n });\n\n var testDataSource = new Aws.AppSync.DataSource(\"test\", new()\n {\n ApiId = test.Id,\n Name = \"my_example\",\n Type = \"HTTP\",\n HttpConfig = new Aws.AppSync.Inputs.DataSourceHttpConfigArgs\n {\n Endpoint = \"http://example.com\",\n },\n });\n\n // UNIT type resolver (default)\n var testResolver = new Aws.AppSync.Resolver(\"test\", new()\n {\n ApiId = test.Id,\n Field = \"singlePost\",\n Type = \"Query\",\n DataSource = testDataSource.Name,\n RequestTemplate = @\"{\n \"\"version\"\": \"\"2018-05-29\"\",\n \"\"method\"\": \"\"GET\"\",\n \"\"resourcePath\"\": \"\"/\"\",\n \"\"params\"\":{\n \"\"headers\"\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n\",\n ResponseTemplate = @\"#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n\",\n CachingConfig = new Aws.AppSync.Inputs.ResolverCachingConfigArgs\n {\n CachingKeys = new[]\n {\n \"$context.identity.sub\",\n \"$context.arguments.id\",\n },\n Ttl = 60,\n },\n });\n\n // PIPELINE type resolver\n var mutationPipelineTest = new Aws.AppSync.Resolver(\"Mutation_pipelineTest\", new()\n {\n Type = \"Mutation\",\n ApiId = test.Id,\n Field = \"pipelineTest\",\n RequestTemplate = \"{}\",\n ResponseTemplate = \"$util.toJson($ctx.result)\",\n Kind = \"PIPELINE\",\n PipelineConfig = new Aws.AppSync.Inputs.ResolverPipelineConfigArgs\n {\n Functions = new[]\n {\n test1.FunctionId,\n test2.FunctionId,\n test3.FunctionId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := appsync.NewGraphQLApi(ctx, \"test\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"tf-example\"),\n\t\t\tSchema: pulumi.String(`type Mutation {\n\tputPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\tid: ID!\n\ttitle: String!\n}\n\ntype Query {\n\tsinglePost(id: ID!): Post\n}\n\nschema {\n\tquery: Query\n\tmutation: Mutation\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestDataSource, err := appsync.NewDataSource(ctx, \"test\", \u0026appsync.DataSourceArgs{\n\t\t\tApiId: test.ID(),\n\t\t\tName: pulumi.String(\"my_example\"),\n\t\t\tType: pulumi.String(\"HTTP\"),\n\t\t\tHttpConfig: \u0026appsync.DataSourceHttpConfigArgs{\n\t\t\t\tEndpoint: pulumi.String(\"http://example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// UNIT type resolver (default)\n\t\t_, err = appsync.NewResolver(ctx, \"test\", \u0026appsync.ResolverArgs{\n\t\t\tApiId: test.ID(),\n\t\t\tField: pulumi.String(\"singlePost\"),\n\t\t\tType: pulumi.String(\"Query\"),\n\t\t\tDataSource: testDataSource.Name,\n\t\t\tRequestTemplate: pulumi.String(`{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n`),\n\t\t\tResponseTemplate: pulumi.String(`#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n`),\n\t\t\tCachingConfig: \u0026appsync.ResolverCachingConfigArgs{\n\t\t\t\tCachingKeys: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"$context.identity.sub\"),\n\t\t\t\t\tpulumi.String(\"$context.arguments.id\"),\n\t\t\t\t},\n\t\t\t\tTtl: pulumi.Int(60),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// PIPELINE type resolver\n\t\t_, err = appsync.NewResolver(ctx, \"Mutation_pipelineTest\", \u0026appsync.ResolverArgs{\n\t\t\tType: pulumi.String(\"Mutation\"),\n\t\t\tApiId: test.ID(),\n\t\t\tField: pulumi.String(\"pipelineTest\"),\n\t\t\tRequestTemplate: pulumi.String(\"{}\"),\n\t\t\tResponseTemplate: pulumi.String(\"$util.toJson($ctx.result)\"),\n\t\t\tKind: pulumi.String(\"PIPELINE\"),\n\t\t\tPipelineConfig: \u0026appsync.ResolverPipelineConfigArgs{\n\t\t\t\tFunctions: pulumi.StringArray{\n\t\t\t\t\ttest1.FunctionId,\n\t\t\t\t\ttest2.FunctionId,\n\t\t\t\t\ttest3.FunctionId,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.DataSource;\nimport com.pulumi.aws.appsync.DataSourceArgs;\nimport com.pulumi.aws.appsync.inputs.DataSourceHttpConfigArgs;\nimport com.pulumi.aws.appsync.Resolver;\nimport com.pulumi.aws.appsync.ResolverArgs;\nimport com.pulumi.aws.appsync.inputs.ResolverCachingConfigArgs;\nimport com.pulumi.aws.appsync.inputs.ResolverPipelineConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new GraphQLApi(\"test\", GraphQLApiArgs.builder()\n .authenticationType(\"API_KEY\")\n .name(\"tf-example\")\n .schema(\"\"\"\ntype Mutation {\n\tputPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\tid: ID!\n\ttitle: String!\n}\n\ntype Query {\n\tsinglePost(id: ID!): Post\n}\n\nschema {\n\tquery: Query\n\tmutation: Mutation\n}\n \"\"\")\n .build());\n\n var testDataSource = new DataSource(\"testDataSource\", DataSourceArgs.builder()\n .apiId(test.id())\n .name(\"my_example\")\n .type(\"HTTP\")\n .httpConfig(DataSourceHttpConfigArgs.builder()\n .endpoint(\"http://example.com\")\n .build())\n .build());\n\n // UNIT type resolver (default)\n var testResolver = new Resolver(\"testResolver\", ResolverArgs.builder()\n .apiId(test.id())\n .field(\"singlePost\")\n .type(\"Query\")\n .dataSource(testDataSource.name())\n .requestTemplate(\"\"\"\n{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n \"\"\")\n .responseTemplate(\"\"\"\n#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n \"\"\")\n .cachingConfig(ResolverCachingConfigArgs.builder()\n .cachingKeys( \n \"$context.identity.sub\",\n \"$context.arguments.id\")\n .ttl(60)\n .build())\n .build());\n\n // PIPELINE type resolver\n var mutationPipelineTest = new Resolver(\"mutationPipelineTest\", ResolverArgs.builder()\n .type(\"Mutation\")\n .apiId(test.id())\n .field(\"pipelineTest\")\n .requestTemplate(\"{}\")\n .responseTemplate(\"$util.toJson($ctx.result)\")\n .kind(\"PIPELINE\")\n .pipelineConfig(ResolverPipelineConfigArgs.builder()\n .functions( \n test1.functionId(),\n test2.functionId(),\n test3.functionId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:appsync:GraphQLApi\n properties:\n authenticationType: API_KEY\n name: tf-example\n schema: |\n type Mutation {\n \tputPost(id: ID!, title: String!): Post\n }\n\n type Post {\n \tid: ID!\n \ttitle: String!\n }\n\n type Query {\n \tsinglePost(id: ID!): Post\n }\n\n schema {\n \tquery: Query\n \tmutation: Mutation\n }\n testDataSource:\n type: aws:appsync:DataSource\n name: test\n properties:\n apiId: ${test.id}\n name: my_example\n type: HTTP\n httpConfig:\n endpoint: http://example.com\n # UNIT type resolver (default)\n testResolver:\n type: aws:appsync:Resolver\n name: test\n properties:\n apiId: ${test.id}\n field: singlePost\n type: Query\n dataSource: ${testDataSource.name}\n requestTemplate: |\n {\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n }\n responseTemplate: |\n #if($ctx.result.statusCode == 200)\n $ctx.result.body\n #else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n #end\n cachingConfig:\n cachingKeys:\n - $context.identity.sub\n - $context.arguments.id\n ttl: 60\n # PIPELINE type resolver\n mutationPipelineTest:\n type: aws:appsync:Resolver\n name: Mutation_pipelineTest\n properties:\n type: Mutation\n apiId: ${test.id}\n field: pipelineTest\n requestTemplate: '{}'\n responseTemplate: $util.toJson($ctx.result)\n kind: PIPELINE\n pipelineConfig:\n functions:\n - ${test1.functionId}\n - ${test2.functionId}\n - ${test3.functionId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### JS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.appsync.Resolver(\"example\", {\n type: \"Query\",\n apiId: testAwsAppsyncGraphqlApi.id,\n field: \"pipelineTest\",\n kind: \"PIPELINE\",\n code: std.file({\n input: \"some-code-dir\",\n }).then(invoke =\u003e invoke.result),\n runtime: {\n name: \"APPSYNC_JS\",\n runtimeVersion: \"1.0.0\",\n },\n pipelineConfig: {\n functions: [test.functionId],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.appsync.Resolver(\"example\",\n type=\"Query\",\n api_id=test_aws_appsync_graphql_api[\"id\"],\n field=\"pipelineTest\",\n kind=\"PIPELINE\",\n code=std.file(input=\"some-code-dir\").result,\n runtime={\n \"name\": \"APPSYNC_JS\",\n \"runtime_version\": \"1.0.0\",\n },\n pipeline_config={\n \"functions\": [test[\"functionId\"]],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.Resolver(\"example\", new()\n {\n Type = \"Query\",\n ApiId = testAwsAppsyncGraphqlApi.Id,\n Field = \"pipelineTest\",\n Kind = \"PIPELINE\",\n Code = Std.File.Invoke(new()\n {\n Input = \"some-code-dir\",\n }).Apply(invoke =\u003e invoke.Result),\n Runtime = new Aws.AppSync.Inputs.ResolverRuntimeArgs\n {\n Name = \"APPSYNC_JS\",\n RuntimeVersion = \"1.0.0\",\n },\n PipelineConfig = new Aws.AppSync.Inputs.ResolverPipelineConfigArgs\n {\n Functions = new[]\n {\n test.FunctionId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"some-code-dir\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewResolver(ctx, \"example\", \u0026appsync.ResolverArgs{\n\t\t\tType: pulumi.String(\"Query\"),\n\t\t\tApiId: pulumi.Any(testAwsAppsyncGraphqlApi.Id),\n\t\t\tField: pulumi.String(\"pipelineTest\"),\n\t\t\tKind: pulumi.String(\"PIPELINE\"),\n\t\t\tCode: pulumi.String(invokeFile.Result),\n\t\t\tRuntime: \u0026appsync.ResolverRuntimeArgs{\n\t\t\t\tName: pulumi.String(\"APPSYNC_JS\"),\n\t\t\t\tRuntimeVersion: pulumi.String(\"1.0.0\"),\n\t\t\t},\n\t\t\tPipelineConfig: \u0026appsync.ResolverPipelineConfigArgs{\n\t\t\t\tFunctions: pulumi.StringArray{\n\t\t\t\t\ttest.FunctionId,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appsync.Resolver;\nimport com.pulumi.aws.appsync.ResolverArgs;\nimport com.pulumi.aws.appsync.inputs.ResolverRuntimeArgs;\nimport com.pulumi.aws.appsync.inputs.ResolverPipelineConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Resolver(\"example\", ResolverArgs.builder()\n .type(\"Query\")\n .apiId(testAwsAppsyncGraphqlApi.id())\n .field(\"pipelineTest\")\n .kind(\"PIPELINE\")\n .code(StdFunctions.file(FileArgs.builder()\n .input(\"some-code-dir\")\n .build()).result())\n .runtime(ResolverRuntimeArgs.builder()\n .name(\"APPSYNC_JS\")\n .runtimeVersion(\"1.0.0\")\n .build())\n .pipelineConfig(ResolverPipelineConfigArgs.builder()\n .functions(test.functionId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:Resolver\n properties:\n type: Query\n apiId: ${testAwsAppsyncGraphqlApi.id}\n field: pipelineTest\n kind: PIPELINE\n code:\n fn::invoke:\n Function: std:file\n Arguments:\n input: some-code-dir\n Return: result\n runtime:\n name: APPSYNC_JS\n runtimeVersion: 1.0.0\n pipelineConfig:\n functions:\n - ${test.functionId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_resolver` using the `api_id`, a hyphen, `type`, a hypen and `field`. For example:\n\n```sh\n$ pulumi import aws:appsync/resolver:Resolver example abcdef123456-exampleType-exampleField\n```\n", "properties": { "apiId": { "type": "string", @@ -189797,7 +189797,7 @@ } }, "aws:autoscaling/group:Group": { - "description": "Provides an Auto Scaling Group resource.\n\n\u003e **Note:** You must specify either `launch_configuration`, `launch_template`, or `mixed_instances_policy`.\n\n\u003e **NOTE on Auto Scaling Groups, Attachments and Traffic Source Attachments:** Pulumi provides standalone Attachment (for attaching Classic Load Balancers and Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target groups) and Traffic Source Attachment (for attaching Load Balancers and VPC Lattice target groups) resources and an Auto Scaling Group resource with `load_balancers`, `target_group_arns` and `traffic_source` attributes. Do not use the same traffic source in more than one of these resources. Doing so will cause a conflict of attachments. A `lifecycle` configuration block can be used to suppress differences if necessary.\n\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.PlacementGroup(\"test\", {\n name: \"test\",\n strategy: aws.ec2.PlacementStrategy.Cluster,\n});\nconst bar = new aws.autoscaling.Group(\"bar\", {\n name: \"foobar3-test\",\n maxSize: 5,\n minSize: 2,\n healthCheckGracePeriod: 300,\n healthCheckType: \"ELB\",\n desiredCapacity: 4,\n forceDelete: true,\n placementGroup: test.id,\n launchConfiguration: foobar.name,\n vpcZoneIdentifiers: [\n example1.id,\n example2.id,\n ],\n instanceMaintenancePolicy: {\n minHealthyPercentage: 90,\n maxHealthyPercentage: 120,\n },\n initialLifecycleHooks: [{\n name: \"foobar\",\n defaultResult: \"CONTINUE\",\n heartbeatTimeout: 2000,\n lifecycleTransition: \"autoscaling:EC2_INSTANCE_LAUNCHING\",\n notificationMetadata: JSON.stringify({\n foo: \"bar\",\n }),\n notificationTargetArn: \"arn:aws:sqs:us-east-1:444455556666:queue1*\",\n roleArn: \"arn:aws:iam::123456789012:role/S3Access\",\n }],\n tags: [\n {\n key: \"foo\",\n value: \"bar\",\n propagateAtLaunch: true,\n },\n {\n key: \"lorem\",\n value: \"ipsum\",\n propagateAtLaunch: false,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.ec2.PlacementGroup(\"test\",\n name=\"test\",\n strategy=aws.ec2.PlacementStrategy.CLUSTER)\nbar = aws.autoscaling.Group(\"bar\",\n name=\"foobar3-test\",\n max_size=5,\n min_size=2,\n health_check_grace_period=300,\n health_check_type=\"ELB\",\n desired_capacity=4,\n force_delete=True,\n placement_group=test.id,\n launch_configuration=foobar[\"name\"],\n vpc_zone_identifiers=[\n example1[\"id\"],\n example2[\"id\"],\n ],\n instance_maintenance_policy={\n \"min_healthy_percentage\": 90,\n \"max_healthy_percentage\": 120,\n },\n initial_lifecycle_hooks=[{\n \"name\": \"foobar\",\n \"default_result\": \"CONTINUE\",\n \"heartbeat_timeout\": 2000,\n \"lifecycle_transition\": \"autoscaling:EC2_INSTANCE_LAUNCHING\",\n \"notification_metadata\": json.dumps({\n \"foo\": \"bar\",\n }),\n \"notification_target_arn\": \"arn:aws:sqs:us-east-1:444455556666:queue1*\",\n \"role_arn\": \"arn:aws:iam::123456789012:role/S3Access\",\n }],\n tags=[\n {\n \"key\": \"foo\",\n \"value\": \"bar\",\n \"propagate_at_launch\": True,\n },\n {\n \"key\": \"lorem\",\n \"value\": \"ipsum\",\n \"propagate_at_launch\": False,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.PlacementGroup(\"test\", new()\n {\n Name = \"test\",\n Strategy = Aws.Ec2.PlacementStrategy.Cluster,\n });\n\n var bar = new Aws.AutoScaling.Group(\"bar\", new()\n {\n Name = \"foobar3-test\",\n MaxSize = 5,\n MinSize = 2,\n HealthCheckGracePeriod = 300,\n HealthCheckType = \"ELB\",\n DesiredCapacity = 4,\n ForceDelete = true,\n PlacementGroup = test.Id,\n LaunchConfiguration = foobar.Name,\n VpcZoneIdentifiers = new[]\n {\n example1.Id,\n example2.Id,\n },\n InstanceMaintenancePolicy = new Aws.AutoScaling.Inputs.GroupInstanceMaintenancePolicyArgs\n {\n MinHealthyPercentage = 90,\n MaxHealthyPercentage = 120,\n },\n InitialLifecycleHooks = new[]\n {\n new Aws.AutoScaling.Inputs.GroupInitialLifecycleHookArgs\n {\n Name = \"foobar\",\n DefaultResult = \"CONTINUE\",\n HeartbeatTimeout = 2000,\n LifecycleTransition = \"autoscaling:EC2_INSTANCE_LAUNCHING\",\n NotificationMetadata = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = \"bar\",\n }),\n NotificationTargetArn = \"arn:aws:sqs:us-east-1:444455556666:queue1*\",\n RoleArn = \"arn:aws:iam::123456789012:role/S3Access\",\n },\n },\n Tags = new[]\n {\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"foo\",\n Value = \"bar\",\n PropagateAtLaunch = true,\n },\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"lorem\",\n Value = \"ipsum\",\n PropagateAtLaunch = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.NewPlacementGroup(ctx, \"test\", \u0026ec2.PlacementGroupArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tStrategy: pulumi.String(ec2.PlacementStrategyCluster),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"foo\": \"bar\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = autoscaling.NewGroup(ctx, \"bar\", \u0026autoscaling.GroupArgs{\n\t\t\tName: pulumi.String(\"foobar3-test\"),\n\t\t\tMaxSize: pulumi.Int(5),\n\t\t\tMinSize: pulumi.Int(2),\n\t\t\tHealthCheckGracePeriod: pulumi.Int(300),\n\t\t\tHealthCheckType: pulumi.String(\"ELB\"),\n\t\t\tDesiredCapacity: pulumi.Int(4),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tPlacementGroup: test.ID(),\n\t\t\tLaunchConfiguration: pulumi.Any(foobar.Name),\n\t\t\tVpcZoneIdentifiers: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.Id,\n\t\t\t},\n\t\t\tInstanceMaintenancePolicy: \u0026autoscaling.GroupInstanceMaintenancePolicyArgs{\n\t\t\t\tMinHealthyPercentage: pulumi.Int(90),\n\t\t\t\tMaxHealthyPercentage: pulumi.Int(120),\n\t\t\t},\n\t\t\tInitialLifecycleHooks: autoscaling.GroupInitialLifecycleHookArray{\n\t\t\t\t\u0026autoscaling.GroupInitialLifecycleHookArgs{\n\t\t\t\t\tName: pulumi.String(\"foobar\"),\n\t\t\t\t\tDefaultResult: pulumi.String(\"CONTINUE\"),\n\t\t\t\t\tHeartbeatTimeout: pulumi.Int(2000),\n\t\t\t\t\tLifecycleTransition: pulumi.String(\"autoscaling:EC2_INSTANCE_LAUNCHING\"),\n\t\t\t\t\tNotificationMetadata: pulumi.String(json0),\n\t\t\t\t\tNotificationTargetArn: pulumi.String(\"arn:aws:sqs:us-east-1:444455556666:queue1*\"),\n\t\t\t\t\tRoleArn: pulumi.String(\"arn:aws:iam::123456789012:role/S3Access\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: autoscaling.GroupTagArray{\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"foo\"),\n\t\t\t\t\tValue: pulumi.String(\"bar\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"lorem\"),\n\t\t\t\t\tValue: pulumi.String(\"ipsum\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(false),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.PlacementGroup;\nimport com.pulumi.aws.ec2.PlacementGroupArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupInstanceMaintenancePolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupInitialLifecycleHookArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupTagArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new PlacementGroup(\"test\", PlacementGroupArgs.builder()\n .name(\"test\")\n .strategy(\"cluster\")\n .build());\n\n var bar = new Group(\"bar\", GroupArgs.builder()\n .name(\"foobar3-test\")\n .maxSize(5)\n .minSize(2)\n .healthCheckGracePeriod(300)\n .healthCheckType(\"ELB\")\n .desiredCapacity(4)\n .forceDelete(true)\n .placementGroup(test.id())\n .launchConfiguration(foobar.name())\n .vpcZoneIdentifiers( \n example1.id(),\n example2.id())\n .instanceMaintenancePolicy(GroupInstanceMaintenancePolicyArgs.builder()\n .minHealthyPercentage(90)\n .maxHealthyPercentage(120)\n .build())\n .initialLifecycleHooks(GroupInitialLifecycleHookArgs.builder()\n .name(\"foobar\")\n .defaultResult(\"CONTINUE\")\n .heartbeatTimeout(2000)\n .lifecycleTransition(\"autoscaling:EC2_INSTANCE_LAUNCHING\")\n .notificationMetadata(serializeJson(\n jsonObject(\n jsonProperty(\"foo\", \"bar\")\n )))\n .notificationTargetArn(\"arn:aws:sqs:us-east-1:444455556666:queue1*\")\n .roleArn(\"arn:aws:iam::123456789012:role/S3Access\")\n .build())\n .tags( \n GroupTagArgs.builder()\n .key(\"foo\")\n .value(\"bar\")\n .propagateAtLaunch(true)\n .build(),\n GroupTagArgs.builder()\n .key(\"lorem\")\n .value(\"ipsum\")\n .propagateAtLaunch(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:PlacementGroup\n properties:\n name: test\n strategy: cluster\n bar:\n type: aws:autoscaling:Group\n properties:\n name: foobar3-test\n maxSize: 5\n minSize: 2\n healthCheckGracePeriod: 300\n healthCheckType: ELB\n desiredCapacity: 4\n forceDelete: true\n placementGroup: ${test.id}\n launchConfiguration: ${foobar.name}\n vpcZoneIdentifiers:\n - ${example1.id}\n - ${example2.id}\n instanceMaintenancePolicy:\n minHealthyPercentage: 90\n maxHealthyPercentage: 120\n initialLifecycleHooks:\n - name: foobar\n defaultResult: CONTINUE\n heartbeatTimeout: 2000\n lifecycleTransition: autoscaling:EC2_INSTANCE_LAUNCHING\n notificationMetadata:\n fn::toJSON:\n foo: bar\n notificationTargetArn: arn:aws:sqs:us-east-1:444455556666:queue1*\n roleArn: arn:aws:iam::123456789012:role/S3Access\n tags:\n - key: foo\n value: bar\n propagateAtLaunch: true\n - key: lorem\n value: ipsum\n propagateAtLaunch: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Latest Version Of Launch Template\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foobar = new aws.ec2.LaunchTemplate(\"foobar\", {\n namePrefix: \"foobar\",\n imageId: \"ami-1a2b3c\",\n instanceType: \"t2.micro\",\n});\nconst bar = new aws.autoscaling.Group(\"bar\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 1,\n minSize: 1,\n launchTemplate: {\n id: foobar.id,\n version: \"$Latest\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoobar = aws.ec2.LaunchTemplate(\"foobar\",\n name_prefix=\"foobar\",\n image_id=\"ami-1a2b3c\",\n instance_type=\"t2.micro\")\nbar = aws.autoscaling.Group(\"bar\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=1,\n min_size=1,\n launch_template={\n \"id\": foobar.id,\n \"version\": \"$Latest\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new Aws.Ec2.LaunchTemplate(\"foobar\", new()\n {\n NamePrefix = \"foobar\",\n ImageId = \"ami-1a2b3c\",\n InstanceType = \"t2.micro\",\n });\n\n var bar = new Aws.AutoScaling.Group(\"bar\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 1,\n MinSize = 1,\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupLaunchTemplateArgs\n {\n Id = foobar.Id,\n Version = \"$Latest\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobar, err := ec2.NewLaunchTemplate(ctx, \"foobar\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"foobar\"),\n\t\t\tImageId: pulumi.String(\"ami-1a2b3c\"),\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"bar\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tLaunchTemplate: \u0026autoscaling.GroupLaunchTemplateArgs{\n\t\t\t\tId: foobar.ID(),\n\t\t\t\tVersion: pulumi.String(\"$Latest\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupLaunchTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foobar = new LaunchTemplate(\"foobar\", LaunchTemplateArgs.builder()\n .namePrefix(\"foobar\")\n .imageId(\"ami-1a2b3c\")\n .instanceType(\"t2.micro\")\n .build());\n\n var bar = new Group(\"bar\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(1)\n .minSize(1)\n .launchTemplate(GroupLaunchTemplateArgs.builder()\n .id(foobar.id())\n .version(\"$Latest\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: foobar\n imageId: ami-1a2b3c\n instanceType: t2.micro\n bar:\n type: aws:autoscaling:Group\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 1\n minSize: 1\n launchTemplate:\n id: ${foobar.id}\n version: $Latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mixed Instances Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 1,\n minSize: 1,\n mixedInstancesPolicy: {\n launchTemplate: {\n launchTemplateSpecification: {\n launchTemplateId: example.id,\n },\n overrides: [\n {\n instanceType: \"c4.large\",\n weightedCapacity: \"3\",\n },\n {\n instanceType: \"c3.large\",\n weightedCapacity: \"2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=1,\n min_size=1,\n mixed_instances_policy={\n \"launch_template\": {\n \"launch_template_specification\": {\n \"launch_template_id\": example.id,\n },\n \"overrides\": [\n {\n \"instance_type\": \"c4.large\",\n \"weighted_capacity\": \"3\",\n },\n {\n \"instance_type\": \"c3.large\",\n \"weighted_capacity\": \"2\",\n },\n ],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 1,\n MinSize = 1,\n MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs\n {\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs\n {\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example.Id,\n },\n Overrides = new[]\n {\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c4.large\",\n WeightedCapacity = \"3\",\n },\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c3.large\",\n WeightedCapacity = \"2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMixedInstancesPolicy: \u0026autoscaling.GroupMixedInstancesPolicyArgs{\n\t\t\t\tLaunchTemplate: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: example.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c4.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c3.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder()\n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(1)\n .minSize(1)\n .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()\n .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example.id())\n .build())\n .overrides( \n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c4.large\")\n .weightedCapacity(\"3\")\n .build(),\n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c3.large\")\n .weightedCapacity(\"2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 1\n minSize: 1\n mixedInstancesPolicy:\n launchTemplate:\n launchTemplateSpecification:\n launchTemplateId: ${example.id}\n overrides:\n - instanceType: c4.large\n weightedCapacity: '3'\n - instanceType: c3.large\n weightedCapacity: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mixed Instances Policy with Spot Instances and Capacity Rebalance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n capacityRebalance: true,\n desiredCapacity: 12,\n maxSize: 15,\n minSize: 12,\n vpcZoneIdentifiers: [\n example1.id,\n example2.id,\n ],\n mixedInstancesPolicy: {\n instancesDistribution: {\n onDemandBaseCapacity: 0,\n onDemandPercentageAboveBaseCapacity: 25,\n spotAllocationStrategy: \"capacity-optimized\",\n },\n launchTemplate: {\n launchTemplateSpecification: {\n launchTemplateId: example.id,\n },\n overrides: [\n {\n instanceType: \"c4.large\",\n weightedCapacity: \"3\",\n },\n {\n instanceType: \"c3.large\",\n weightedCapacity: \"2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample_group = aws.autoscaling.Group(\"example\",\n capacity_rebalance=True,\n desired_capacity=12,\n max_size=15,\n min_size=12,\n vpc_zone_identifiers=[\n example1[\"id\"],\n example2[\"id\"],\n ],\n mixed_instances_policy={\n \"instances_distribution\": {\n \"on_demand_base_capacity\": 0,\n \"on_demand_percentage_above_base_capacity\": 25,\n \"spot_allocation_strategy\": \"capacity-optimized\",\n },\n \"launch_template\": {\n \"launch_template_specification\": {\n \"launch_template_id\": example.id,\n },\n \"overrides\": [\n {\n \"instance_type\": \"c4.large\",\n \"weighted_capacity\": \"3\",\n },\n {\n \"instance_type\": \"c3.large\",\n \"weighted_capacity\": \"2\",\n },\n ],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n CapacityRebalance = true,\n DesiredCapacity = 12,\n MaxSize = 15,\n MinSize = 12,\n VpcZoneIdentifiers = new[]\n {\n example1.Id,\n example2.Id,\n },\n MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs\n {\n InstancesDistribution = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyInstancesDistributionArgs\n {\n OnDemandBaseCapacity = 0,\n OnDemandPercentageAboveBaseCapacity = 25,\n SpotAllocationStrategy = \"capacity-optimized\",\n },\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs\n {\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example.Id,\n },\n Overrides = new[]\n {\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c4.large\",\n WeightedCapacity = \"3\",\n },\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c3.large\",\n WeightedCapacity = \"2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tCapacityRebalance: pulumi.Bool(true),\n\t\t\tDesiredCapacity: pulumi.Int(12),\n\t\t\tMaxSize: pulumi.Int(15),\n\t\t\tMinSize: pulumi.Int(12),\n\t\t\tVpcZoneIdentifiers: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.Id,\n\t\t\t},\n\t\t\tMixedInstancesPolicy: \u0026autoscaling.GroupMixedInstancesPolicyArgs{\n\t\t\t\tInstancesDistribution: \u0026autoscaling.GroupMixedInstancesPolicyInstancesDistributionArgs{\n\t\t\t\t\tOnDemandBaseCapacity: pulumi.Int(0),\n\t\t\t\t\tOnDemandPercentageAboveBaseCapacity: pulumi.Int(25),\n\t\t\t\t\tSpotAllocationStrategy: pulumi.String(\"capacity-optimized\"),\n\t\t\t\t},\n\t\t\t\tLaunchTemplate: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: example.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c4.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c3.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyInstancesDistributionArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder()\n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .capacityRebalance(true)\n .desiredCapacity(12)\n .maxSize(15)\n .minSize(12)\n .vpcZoneIdentifiers( \n example1.id(),\n example2.id())\n .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()\n .instancesDistribution(GroupMixedInstancesPolicyInstancesDistributionArgs.builder()\n .onDemandBaseCapacity(0)\n .onDemandPercentageAboveBaseCapacity(25)\n .spotAllocationStrategy(\"capacity-optimized\")\n .build())\n .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example.id())\n .build())\n .overrides( \n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c4.large\")\n .weightedCapacity(\"3\")\n .build(),\n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c3.large\")\n .weightedCapacity(\"2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n capacityRebalance: true\n desiredCapacity: 12\n maxSize: 15\n minSize: 12\n vpcZoneIdentifiers:\n - ${example1.id}\n - ${example2.id}\n mixedInstancesPolicy:\n instancesDistribution:\n onDemandBaseCapacity: 0\n onDemandPercentageAboveBaseCapacity: 25\n spotAllocationStrategy: capacity-optimized\n launchTemplate:\n launchTemplateSpecification:\n launchTemplateId: ${example.id}\n overrides:\n - instanceType: c4.large\n weightedCapacity: '3'\n - instanceType: c3.large\n weightedCapacity: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mixed Instances Policy with Instance level LaunchTemplateSpecification Overrides\n\nWhen using a diverse instance set, some instance types might require a launch template with configuration values unique to that instance type such as a different AMI (Graviton2), architecture specific user data script, different EBS configuration, or different networking configuration.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst example2 = new aws.ec2.LaunchTemplate(\"example2\", {\n namePrefix: \"example2\",\n imageId: example2AwsAmi.id,\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 1,\n minSize: 1,\n mixedInstancesPolicy: {\n launchTemplate: {\n launchTemplateSpecification: {\n launchTemplateId: example.id,\n },\n overrides: [\n {\n instanceType: \"c4.large\",\n weightedCapacity: \"3\",\n },\n {\n instanceType: \"c6g.large\",\n launchTemplateSpecification: {\n launchTemplateId: example2.id,\n },\n weightedCapacity: \"2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample2 = aws.ec2.LaunchTemplate(\"example2\",\n name_prefix=\"example2\",\n image_id=example2_aws_ami[\"id\"])\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=1,\n min_size=1,\n mixed_instances_policy={\n \"launch_template\": {\n \"launch_template_specification\": {\n \"launch_template_id\": example.id,\n },\n \"overrides\": [\n {\n \"instance_type\": \"c4.large\",\n \"weighted_capacity\": \"3\",\n },\n {\n \"instance_type\": \"c6g.large\",\n \"launch_template_specification\": {\n \"launch_template_id\": example2.id,\n },\n \"weighted_capacity\": \"2\",\n },\n ],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var example2 = new Aws.Ec2.LaunchTemplate(\"example2\", new()\n {\n NamePrefix = \"example2\",\n ImageId = example2AwsAmi.Id,\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 1,\n MinSize = 1,\n MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs\n {\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs\n {\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example.Id,\n },\n Overrides = new[]\n {\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c4.large\",\n WeightedCapacity = \"3\",\n },\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c6g.large\",\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example2.Id,\n },\n WeightedCapacity = \"2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := ec2.NewLaunchTemplate(ctx, \"example2\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example2\"),\n\t\t\tImageId: pulumi.Any(example2AwsAmi.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMixedInstancesPolicy: \u0026autoscaling.GroupMixedInstancesPolicyArgs{\n\t\t\t\tLaunchTemplate: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: example.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c4.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c6g.large\"),\n\t\t\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\t\t\tLaunchTemplateId: example2.ID(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder()\n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var example2 = new LaunchTemplate(\"example2\", LaunchTemplateArgs.builder()\n .namePrefix(\"example2\")\n .imageId(example2AwsAmi.id())\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(1)\n .minSize(1)\n .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()\n .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example.id())\n .build())\n .overrides( \n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c4.large\")\n .weightedCapacity(\"3\")\n .build(),\n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c6g.large\")\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example2.id())\n .build())\n .weightedCapacity(\"2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n example2:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example2\n imageId: ${example2AwsAmi.id}\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 1\n minSize: 1\n mixedInstancesPolicy:\n launchTemplate:\n launchTemplateSpecification:\n launchTemplateId: ${example.id}\n overrides:\n - instanceType: c4.large\n weightedCapacity: '3'\n - instanceType: c6g.large\n launchTemplateSpecification:\n launchTemplateId: ${example2.id}\n weightedCapacity: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mixed Instances Policy with Attribute-based Instance Type Selection\n\nAs an alternative to manually choosing instance types when creating a mixed instances group, you can specify a set of instance attributes that describe your compute requirements.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 1,\n minSize: 1,\n mixedInstancesPolicy: {\n launchTemplate: {\n launchTemplateSpecification: {\n launchTemplateId: example.id,\n },\n overrides: [{\n instanceRequirements: {\n memoryMib: {\n min: 1000,\n },\n vcpuCount: {\n min: 4,\n },\n },\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=1,\n min_size=1,\n mixed_instances_policy={\n \"launch_template\": {\n \"launch_template_specification\": {\n \"launch_template_id\": example.id,\n },\n \"overrides\": [{\n \"instance_requirements\": {\n \"memory_mib\": {\n \"min\": 1000,\n },\n \"vcpu_count\": {\n \"min\": 4,\n },\n },\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 1,\n MinSize = 1,\n MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs\n {\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs\n {\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example.Id,\n },\n Overrides = new[]\n {\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceRequirements = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs\n {\n MemoryMib = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs\n {\n Min = 1000,\n },\n VcpuCount = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs\n {\n Min = 4,\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMixedInstancesPolicy: \u0026autoscaling.GroupMixedInstancesPolicyArgs{\n\t\t\t\tLaunchTemplate: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: example.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceRequirements: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs{\n\t\t\t\t\t\t\t\tMemoryMib: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs{\n\t\t\t\t\t\t\t\t\tMin: pulumi.Int(1000),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tVcpuCount: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs{\n\t\t\t\t\t\t\t\t\tMin: pulumi.Int(4),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder()\n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(1)\n .minSize(1)\n .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()\n .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example.id())\n .build())\n .overrides(GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceRequirements(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs.builder()\n .memoryMib(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs.builder()\n .min(1000)\n .build())\n .vcpuCount(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs.builder()\n .min(4)\n .build())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 1\n minSize: 1\n mixedInstancesPolicy:\n launchTemplate:\n launchTemplateSpecification:\n launchTemplateId: ${example.id}\n overrides:\n - instanceRequirements:\n memoryMib:\n min: 1000\n vcpuCount:\n min: 4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Dynamic tagging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst extraTags = config.getObject(\"extraTags\") || [\n {\n key: \"Foo\",\n propagateAtLaunch: true,\n value: \"Bar\",\n },\n {\n key: \"Baz\",\n propagateAtLaunch: true,\n value: \"Bam\",\n },\n];\nconst test = new aws.autoscaling.Group(\"test\", {\n tags: [\n {\n key: \"explicit1\",\n value: \"value1\",\n propagateAtLaunch: true,\n },\n {\n key: \"explicit2\",\n value: \"value2\",\n propagateAtLaunch: true,\n },\n ],\n name: \"foobar3-test\",\n maxSize: 5,\n minSize: 2,\n launchConfiguration: foobar.name,\n vpcZoneIdentifiers: [\n example1.id,\n example2.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nextra_tags = config.get_object(\"extraTags\")\nif extra_tags is None:\n extra_tags = [\n {\n \"key\": \"Foo\",\n \"propagateAtLaunch\": True,\n \"value\": \"Bar\",\n },\n {\n \"key\": \"Baz\",\n \"propagateAtLaunch\": True,\n \"value\": \"Bam\",\n },\n ]\ntest = aws.autoscaling.Group(\"test\",\n tags=[\n {\n \"key\": \"explicit1\",\n \"value\": \"value1\",\n \"propagate_at_launch\": True,\n },\n {\n \"key\": \"explicit2\",\n \"value\": \"value2\",\n \"propagate_at_launch\": True,\n },\n ],\n name=\"foobar3-test\",\n max_size=5,\n min_size=2,\n launch_configuration=foobar[\"name\"],\n vpc_zone_identifiers=[\n example1[\"id\"],\n example2[\"id\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var extraTags = config.GetObject\u003cdynamic\u003e(\"extraTags\") ?? new[]\n {\n \n {\n { \"key\", \"Foo\" },\n { \"propagateAtLaunch\", true },\n { \"value\", \"Bar\" },\n },\n \n {\n { \"key\", \"Baz\" },\n { \"propagateAtLaunch\", true },\n { \"value\", \"Bam\" },\n },\n };\n var test = new Aws.AutoScaling.Group(\"test\", new()\n {\n Tags = new[]\n {\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"explicit1\",\n Value = \"value1\",\n PropagateAtLaunch = true,\n },\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"explicit2\",\n Value = \"value2\",\n PropagateAtLaunch = true,\n },\n },\n Name = \"foobar3-test\",\n MaxSize = 5,\n MinSize = 2,\n LaunchConfiguration = foobar.Name,\n VpcZoneIdentifiers = new[]\n {\n example1.Id,\n example2.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\textraTags := []map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"key\": \"Foo\",\n\t\t\t\t\"propagateAtLaunch\": true,\n\t\t\t\t\"value\": \"Bar\",\n\t\t\t},\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"key\": \"Baz\",\n\t\t\t\t\"propagateAtLaunch\": true,\n\t\t\t\t\"value\": \"Bam\",\n\t\t\t},\n\t\t}\n\t\tif param := cfg.GetObject(\"extraTags\"); param != nil {\n\t\t\textraTags = param\n\t\t}\n\t\t_, err := autoscaling.NewGroup(ctx, \"test\", \u0026autoscaling.GroupArgs{\n\t\t\tTags: autoscaling.GroupTagArray{\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"explicit1\"),\n\t\t\t\t\tValue: pulumi.String(\"value1\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"explicit2\"),\n\t\t\t\t\tValue: pulumi.String(\"value2\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"foobar3-test\"),\n\t\t\tMaxSize: pulumi.Int(5),\n\t\t\tMinSize: pulumi.Int(2),\n\t\t\tLaunchConfiguration: pulumi.Any(foobar.Name),\n\t\t\tVpcZoneIdentifiers: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.Id,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var extraTags = config.get(\"extraTags\").orElse( \n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));\n var test = new Group(\"test\", GroupArgs.builder()\n .tags( \n GroupTagArgs.builder()\n .key(\"explicit1\")\n .value(\"value1\")\n .propagateAtLaunch(true)\n .build(),\n GroupTagArgs.builder()\n .key(\"explicit2\")\n .value(\"value2\")\n .propagateAtLaunch(true)\n .build())\n .name(\"foobar3-test\")\n .maxSize(5)\n .minSize(2)\n .launchConfiguration(foobar.name())\n .vpcZoneIdentifiers( \n example1.id(),\n example2.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n extraTags:\n type: dynamic\n default:\n - key: Foo\n propagateAtLaunch: true\n value: Bar\n - key: Baz\n propagateAtLaunch: true\n value: Bam\nresources:\n test:\n type: aws:autoscaling:Group\n properties:\n tags:\n - key: explicit1\n value: value1\n propagateAtLaunch: true\n - key: explicit2\n value: value2\n propagateAtLaunch: true\n name: foobar3-test\n maxSize: 5\n minSize: 2\n launchConfiguration: ${foobar.name}\n vpcZoneIdentifiers:\n - ${example1.id}\n - ${example2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Automatically refresh all instances after the group is updated\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [{\n name: \"name\",\n values: [\"amzn-ami-hvm-*-x86_64-gp2\"],\n }],\n});\nconst exampleLaunchTemplate = new aws.ec2.LaunchTemplate(\"example\", {\n imageId: example.then(example =\u003e example.id),\n instanceType: \"t3.nano\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 2,\n minSize: 1,\n launchTemplate: {\n id: exampleLaunchTemplate.id,\n version: exampleLaunchTemplate.latestVersion,\n },\n tags: [{\n key: \"Key\",\n value: \"Value\",\n propagateAtLaunch: true,\n }],\n instanceRefresh: {\n strategy: \"Rolling\",\n preferences: {\n minHealthyPercentage: 50,\n },\n triggers: [\"tag\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[{\n \"name\": \"name\",\n \"values\": [\"amzn-ami-hvm-*-x86_64-gp2\"],\n }])\nexample_launch_template = aws.ec2.LaunchTemplate(\"example\",\n image_id=example.id,\n instance_type=\"t3.nano\")\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=2,\n min_size=1,\n launch_template={\n \"id\": example_launch_template.id,\n \"version\": example_launch_template.latest_version,\n },\n tags=[{\n \"key\": \"Key\",\n \"value\": \"Value\",\n \"propagate_at_launch\": True,\n }],\n instance_refresh={\n \"strategy\": \"Rolling\",\n \"preferences\": {\n \"min_healthy_percentage\": 50,\n },\n \"triggers\": [\"tag\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"amzn-ami-hvm-*-x86_64-gp2\",\n },\n },\n },\n });\n\n var exampleLaunchTemplate = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n ImageId = example.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = \"t3.nano\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 2,\n MinSize = 1,\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupLaunchTemplateArgs\n {\n Id = exampleLaunchTemplate.Id,\n Version = exampleLaunchTemplate.LatestVersion,\n },\n Tags = new[]\n {\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"Key\",\n Value = \"Value\",\n PropagateAtLaunch = true,\n },\n },\n InstanceRefresh = new Aws.AutoScaling.Inputs.GroupInstanceRefreshArgs\n {\n Strategy = \"Rolling\",\n Preferences = new Aws.AutoScaling.Inputs.GroupInstanceRefreshPreferencesArgs\n {\n MinHealthyPercentage = 50,\n },\n Triggers = new[]\n {\n \"tag\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amzn-ami-hvm-*-x86_64-gp2\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLaunchTemplate, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tImageId: pulumi.String(example.Id),\n\t\t\tInstanceType: pulumi.String(\"t3.nano\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(2),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tLaunchTemplate: \u0026autoscaling.GroupLaunchTemplateArgs{\n\t\t\t\tId: exampleLaunchTemplate.ID(),\n\t\t\t\tVersion: exampleLaunchTemplate.LatestVersion,\n\t\t\t},\n\t\t\tTags: autoscaling.GroupTagArray{\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"Key\"),\n\t\t\t\t\tValue: pulumi.String(\"Value\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInstanceRefresh: \u0026autoscaling.GroupInstanceRefreshArgs{\n\t\t\t\tStrategy: pulumi.String(\"Rolling\"),\n\t\t\t\tPreferences: \u0026autoscaling.GroupInstanceRefreshPreferencesArgs{\n\t\t\t\t\tMinHealthyPercentage: pulumi.Int(50),\n\t\t\t\t},\n\t\t\t\tTriggers: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"tag\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupTagArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupInstanceRefreshArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupInstanceRefreshPreferencesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters(GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"amzn-ami-hvm-*-x86_64-gp2\")\n .build())\n .build());\n\n var exampleLaunchTemplate = new LaunchTemplate(\"exampleLaunchTemplate\", LaunchTemplateArgs.builder()\n .imageId(example.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t3.nano\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(2)\n .minSize(1)\n .launchTemplate(GroupLaunchTemplateArgs.builder()\n .id(exampleLaunchTemplate.id())\n .version(exampleLaunchTemplate.latestVersion())\n .build())\n .tags(GroupTagArgs.builder()\n .key(\"Key\")\n .value(\"Value\")\n .propagateAtLaunch(true)\n .build())\n .instanceRefresh(GroupInstanceRefreshArgs.builder()\n .strategy(\"Rolling\")\n .preferences(GroupInstanceRefreshPreferencesArgs.builder()\n .minHealthyPercentage(50)\n .build())\n .triggers(\"tag\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 2\n minSize: 1\n launchTemplate:\n id: ${exampleLaunchTemplate.id}\n version: ${exampleLaunchTemplate.latestVersion}\n tags:\n - key: Key\n value: Value\n propagateAtLaunch: true\n instanceRefresh:\n strategy: Rolling\n preferences:\n minHealthyPercentage: 50\n triggers:\n - tag\n exampleLaunchTemplate:\n type: aws:ec2:LaunchTemplate\n name: example\n properties:\n imageId: ${example.id}\n instanceType: t3.nano\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getAmi\n arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: name\n values:\n - amzn-ami-hvm-*-x86_64-gp2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Auto Scaling group with Warm Pool\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 5,\n minSize: 1,\n warmPool: {\n poolState: \"Hibernated\",\n minSize: 1,\n maxGroupPreparedCapacity: 10,\n instanceReusePolicy: {\n reuseOnScaleIn: true,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=5,\n min_size=1,\n warm_pool={\n \"pool_state\": \"Hibernated\",\n \"min_size\": 1,\n \"max_group_prepared_capacity\": 10,\n \"instance_reuse_policy\": {\n \"reuse_on_scale_in\": True,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 5,\n MinSize = 1,\n WarmPool = new Aws.AutoScaling.Inputs.GroupWarmPoolArgs\n {\n PoolState = \"Hibernated\",\n MinSize = 1,\n MaxGroupPreparedCapacity = 10,\n InstanceReusePolicy = new Aws.AutoScaling.Inputs.GroupWarmPoolInstanceReusePolicyArgs\n {\n ReuseOnScaleIn = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(5),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tWarmPool: \u0026autoscaling.GroupWarmPoolArgs{\n\t\t\t\tPoolState: pulumi.String(\"Hibernated\"),\n\t\t\t\tMinSize: pulumi.Int(1),\n\t\t\t\tMaxGroupPreparedCapacity: pulumi.Int(10),\n\t\t\t\tInstanceReusePolicy: \u0026autoscaling.GroupWarmPoolInstanceReusePolicyArgs{\n\t\t\t\t\tReuseOnScaleIn: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupWarmPoolArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupWarmPoolInstanceReusePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder()\n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(5)\n .minSize(1)\n .warmPool(GroupWarmPoolArgs.builder()\n .poolState(\"Hibernated\")\n .minSize(1)\n .maxGroupPreparedCapacity(10)\n .instanceReusePolicy(GroupWarmPoolInstanceReusePolicyArgs.builder()\n .reuseOnScaleIn(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 5\n minSize: 1\n warmPool:\n poolState: Hibernated\n minSize: 1\n maxGroupPreparedCapacity: 10\n instanceReusePolicy:\n reuseOnScaleIn: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Auto Scaling group with Traffic Sources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.autoscaling.Group(\"test\", {\n trafficSources: testAwsVpclatticeTargetGroup.map(__item =\u003e __item).map((v, k) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n identifier: entry.value.arn,\n type: \"vpc-lattice\",\n })),\n vpcZoneIdentifiers: testAwsSubnet.id,\n maxSize: 1,\n minSize: 1,\n forceDelete: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.autoscaling.Group(\"test\",\n traffic_sources=[{\n \"identifier\": entry[\"value\"][\"arn\"],\n \"type\": \"vpc-lattice\",\n } for entry in [{\"key\": k, \"value\": v} for k, v in [__item for __item in test_aws_vpclattice_target_group]]],\n vpc_zone_identifiers=test_aws_subnet[\"id\"],\n max_size=1,\n min_size=1,\n force_delete=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.AutoScaling.Group(\"test\", new()\n {\n TrafficSources = testAwsVpclatticeTargetGroup.Select(__item =\u003e __item).ToList().Select((v, k) =\u003e new { Key = k, Value = v }).Select(entry =\u003e \n {\n return new Aws.AutoScaling.Inputs.GroupTrafficSourceArgs\n {\n Identifier = entry.Value.Arn,\n Type = \"vpc-lattice\",\n };\n }).ToList(),\n VpcZoneIdentifiers = testAwsSubnet.Id,\n MaxSize = 1,\n MinSize = 1,\n ForceDelete = true,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Waiting for Capacity\n\nA newly-created ASG is initially empty and begins to scale to `min_size` (or\n`desired_capacity`, if specified) by launching instances using the provided\nLaunch Configuration. These instances take time to launch and boot.\n\nOn ASG Update, changes to these values also take time to result in the target\nnumber of instances providing service.\n\nThis provider provides two mechanisms to help consistently manage ASG scale up\ntime across dependent resources.\n\n#### Waiting for ASG Capacity\n\nThe first is default behavior. This provider waits after ASG creation for\n`min_size` (or `desired_capacity`, if specified) healthy instances to show up\nin the ASG before continuing.\n\nIf `min_size` or `desired_capacity` are changed in a subsequent update,\nthis provider will also wait for the correct number of healthy instances before\ncontinuing.\n\nThis provider considers an instance \"healthy\" when the ASG reports `HealthStatus:\n\"Healthy\"` and `LifecycleState: \"InService\"`. See the [AWS AutoScaling\nDocs](https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html)\nfor more information on an ASG's lifecycle.\n\nThis provider will wait for healthy instances for up to\n`wait_for_capacity_timeout`. If ASG creation is taking more than a few minutes,\nit's worth investigating for scaling activity errors, which can be caused by\nproblems with the selected Launch Configuration.\n\nSetting `wait_for_capacity_timeout` to `\"0\"` disables ASG Capacity waiting.\n\n#### Waiting for ELB Capacity\n\nThe second mechanism is optional, and affects ASGs with attached ELBs specified\nvia the `load_balancers` attribute or with ALBs specified with `target_group_arns`.\n\nThe `min_elb_capacity` parameter causes the provider to wait for at least the\nrequested number of instances to show up `\"InService\"` in all attached ELBs\nduring ASG creation. It has no effect on ASG updates.\n\nIf `wait_for_elb_capacity` is set, the provider will wait for exactly that number\nof Instances to be `\"InService\"` in all attached ELBs on both creation and\nupdates.\n\nThese parameters can be used to ensure that service is being provided before\nthe provider moves on. If new instances don't pass the ELB's health checks for any\nreason, the apply will time out, and the ASG will be marked as\ntainted (i.e., marked to be destroyed in a follow up run).\n\nAs with ASG Capacity, the provider will wait for up to `wait_for_capacity_timeout`\nfor the proper number of instances to be healthy.\n\n#### Troubleshooting Capacity Waiting Timeouts\n\nIf ASG creation takes more than a few minutes, this could indicate one of a\nnumber of configuration problems. See the [AWS Docs on Load Balancer\nTroubleshooting](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-troubleshooting.html)\nfor more information.\n\n## Import\n\nUsing `pulumi import`, import Auto Scaling Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:autoscaling/group:Group web web-asg\n```\n", + "description": "Provides an Auto Scaling Group resource.\n\n\u003e **Note:** You must specify either `launch_configuration`, `launch_template`, or `mixed_instances_policy`.\n\n\u003e **NOTE on Auto Scaling Groups, Attachments and Traffic Source Attachments:** Pulumi provides standalone Attachment (for attaching Classic Load Balancers and Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target groups) and Traffic Source Attachment (for attaching Load Balancers and VPC Lattice target groups) resources and an Auto Scaling Group resource with `load_balancers`, `target_group_arns` and `traffic_source` attributes. Do not use the same traffic source in more than one of these resources. Doing so will cause a conflict of attachments. A `lifecycle` configuration block can be used to suppress differences if necessary.\n\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.PlacementGroup(\"test\", {\n name: \"test\",\n strategy: aws.ec2.PlacementStrategy.Cluster,\n});\nconst bar = new aws.autoscaling.Group(\"bar\", {\n name: \"foobar3-test\",\n maxSize: 5,\n minSize: 2,\n healthCheckGracePeriod: 300,\n healthCheckType: \"ELB\",\n desiredCapacity: 4,\n forceDelete: true,\n placementGroup: test.id,\n launchConfiguration: foobar.name,\n vpcZoneIdentifiers: [\n example1.id,\n example2.id,\n ],\n instanceMaintenancePolicy: {\n minHealthyPercentage: 90,\n maxHealthyPercentage: 120,\n },\n initialLifecycleHooks: [{\n name: \"foobar\",\n defaultResult: \"CONTINUE\",\n heartbeatTimeout: 2000,\n lifecycleTransition: \"autoscaling:EC2_INSTANCE_LAUNCHING\",\n notificationMetadata: JSON.stringify({\n foo: \"bar\",\n }),\n notificationTargetArn: \"arn:aws:sqs:us-east-1:444455556666:queue1*\",\n roleArn: \"arn:aws:iam::123456789012:role/S3Access\",\n }],\n tags: [\n {\n key: \"foo\",\n value: \"bar\",\n propagateAtLaunch: true,\n },\n {\n key: \"lorem\",\n value: \"ipsum\",\n propagateAtLaunch: false,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.ec2.PlacementGroup(\"test\",\n name=\"test\",\n strategy=aws.ec2.PlacementStrategy.CLUSTER)\nbar = aws.autoscaling.Group(\"bar\",\n name=\"foobar3-test\",\n max_size=5,\n min_size=2,\n health_check_grace_period=300,\n health_check_type=\"ELB\",\n desired_capacity=4,\n force_delete=True,\n placement_group=test.id,\n launch_configuration=foobar[\"name\"],\n vpc_zone_identifiers=[\n example1[\"id\"],\n example2[\"id\"],\n ],\n instance_maintenance_policy={\n \"min_healthy_percentage\": 90,\n \"max_healthy_percentage\": 120,\n },\n initial_lifecycle_hooks=[{\n \"name\": \"foobar\",\n \"default_result\": \"CONTINUE\",\n \"heartbeat_timeout\": 2000,\n \"lifecycle_transition\": \"autoscaling:EC2_INSTANCE_LAUNCHING\",\n \"notification_metadata\": json.dumps({\n \"foo\": \"bar\",\n }),\n \"notification_target_arn\": \"arn:aws:sqs:us-east-1:444455556666:queue1*\",\n \"role_arn\": \"arn:aws:iam::123456789012:role/S3Access\",\n }],\n tags=[\n {\n \"key\": \"foo\",\n \"value\": \"bar\",\n \"propagate_at_launch\": True,\n },\n {\n \"key\": \"lorem\",\n \"value\": \"ipsum\",\n \"propagate_at_launch\": False,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.PlacementGroup(\"test\", new()\n {\n Name = \"test\",\n Strategy = Aws.Ec2.PlacementStrategy.Cluster,\n });\n\n var bar = new Aws.AutoScaling.Group(\"bar\", new()\n {\n Name = \"foobar3-test\",\n MaxSize = 5,\n MinSize = 2,\n HealthCheckGracePeriod = 300,\n HealthCheckType = \"ELB\",\n DesiredCapacity = 4,\n ForceDelete = true,\n PlacementGroup = test.Id,\n LaunchConfiguration = foobar.Name,\n VpcZoneIdentifiers = new[]\n {\n example1.Id,\n example2.Id,\n },\n InstanceMaintenancePolicy = new Aws.AutoScaling.Inputs.GroupInstanceMaintenancePolicyArgs\n {\n MinHealthyPercentage = 90,\n MaxHealthyPercentage = 120,\n },\n InitialLifecycleHooks = new[]\n {\n new Aws.AutoScaling.Inputs.GroupInitialLifecycleHookArgs\n {\n Name = \"foobar\",\n DefaultResult = \"CONTINUE\",\n HeartbeatTimeout = 2000,\n LifecycleTransition = \"autoscaling:EC2_INSTANCE_LAUNCHING\",\n NotificationMetadata = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = \"bar\",\n }),\n NotificationTargetArn = \"arn:aws:sqs:us-east-1:444455556666:queue1*\",\n RoleArn = \"arn:aws:iam::123456789012:role/S3Access\",\n },\n },\n Tags = new[]\n {\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"foo\",\n Value = \"bar\",\n PropagateAtLaunch = true,\n },\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"lorem\",\n Value = \"ipsum\",\n PropagateAtLaunch = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.NewPlacementGroup(ctx, \"test\", \u0026ec2.PlacementGroupArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tStrategy: pulumi.String(ec2.PlacementStrategyCluster),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"foo\": \"bar\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = autoscaling.NewGroup(ctx, \"bar\", \u0026autoscaling.GroupArgs{\n\t\t\tName: pulumi.String(\"foobar3-test\"),\n\t\t\tMaxSize: pulumi.Int(5),\n\t\t\tMinSize: pulumi.Int(2),\n\t\t\tHealthCheckGracePeriod: pulumi.Int(300),\n\t\t\tHealthCheckType: pulumi.String(\"ELB\"),\n\t\t\tDesiredCapacity: pulumi.Int(4),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tPlacementGroup: test.ID(),\n\t\t\tLaunchConfiguration: pulumi.Any(foobar.Name),\n\t\t\tVpcZoneIdentifiers: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.Id,\n\t\t\t},\n\t\t\tInstanceMaintenancePolicy: \u0026autoscaling.GroupInstanceMaintenancePolicyArgs{\n\t\t\t\tMinHealthyPercentage: pulumi.Int(90),\n\t\t\t\tMaxHealthyPercentage: pulumi.Int(120),\n\t\t\t},\n\t\t\tInitialLifecycleHooks: autoscaling.GroupInitialLifecycleHookArray{\n\t\t\t\t\u0026autoscaling.GroupInitialLifecycleHookArgs{\n\t\t\t\t\tName: pulumi.String(\"foobar\"),\n\t\t\t\t\tDefaultResult: pulumi.String(\"CONTINUE\"),\n\t\t\t\t\tHeartbeatTimeout: pulumi.Int(2000),\n\t\t\t\t\tLifecycleTransition: pulumi.String(\"autoscaling:EC2_INSTANCE_LAUNCHING\"),\n\t\t\t\t\tNotificationMetadata: pulumi.String(json0),\n\t\t\t\t\tNotificationTargetArn: pulumi.String(\"arn:aws:sqs:us-east-1:444455556666:queue1*\"),\n\t\t\t\t\tRoleArn: pulumi.String(\"arn:aws:iam::123456789012:role/S3Access\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: autoscaling.GroupTagArray{\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"foo\"),\n\t\t\t\t\tValue: pulumi.String(\"bar\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"lorem\"),\n\t\t\t\t\tValue: pulumi.String(\"ipsum\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(false),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.PlacementGroup;\nimport com.pulumi.aws.ec2.PlacementGroupArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupInstanceMaintenancePolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupInitialLifecycleHookArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupTagArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new PlacementGroup(\"test\", PlacementGroupArgs.builder()\n .name(\"test\")\n .strategy(\"cluster\")\n .build());\n\n var bar = new Group(\"bar\", GroupArgs.builder()\n .name(\"foobar3-test\")\n .maxSize(5)\n .minSize(2)\n .healthCheckGracePeriod(300)\n .healthCheckType(\"ELB\")\n .desiredCapacity(4)\n .forceDelete(true)\n .placementGroup(test.id())\n .launchConfiguration(foobar.name())\n .vpcZoneIdentifiers( \n example1.id(),\n example2.id())\n .instanceMaintenancePolicy(GroupInstanceMaintenancePolicyArgs.builder()\n .minHealthyPercentage(90)\n .maxHealthyPercentage(120)\n .build())\n .initialLifecycleHooks(GroupInitialLifecycleHookArgs.builder()\n .name(\"foobar\")\n .defaultResult(\"CONTINUE\")\n .heartbeatTimeout(2000)\n .lifecycleTransition(\"autoscaling:EC2_INSTANCE_LAUNCHING\")\n .notificationMetadata(serializeJson(\n jsonObject(\n jsonProperty(\"foo\", \"bar\")\n )))\n .notificationTargetArn(\"arn:aws:sqs:us-east-1:444455556666:queue1*\")\n .roleArn(\"arn:aws:iam::123456789012:role/S3Access\")\n .build())\n .tags( \n GroupTagArgs.builder()\n .key(\"foo\")\n .value(\"bar\")\n .propagateAtLaunch(true)\n .build(),\n GroupTagArgs.builder()\n .key(\"lorem\")\n .value(\"ipsum\")\n .propagateAtLaunch(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:PlacementGroup\n properties:\n name: test\n strategy: cluster\n bar:\n type: aws:autoscaling:Group\n properties:\n name: foobar3-test\n maxSize: 5\n minSize: 2\n healthCheckGracePeriod: 300\n healthCheckType: ELB\n desiredCapacity: 4\n forceDelete: true\n placementGroup: ${test.id}\n launchConfiguration: ${foobar.name}\n vpcZoneIdentifiers:\n - ${example1.id}\n - ${example2.id}\n instanceMaintenancePolicy:\n minHealthyPercentage: 90\n maxHealthyPercentage: 120\n initialLifecycleHooks:\n - name: foobar\n defaultResult: CONTINUE\n heartbeatTimeout: 2000\n lifecycleTransition: autoscaling:EC2_INSTANCE_LAUNCHING\n notificationMetadata:\n fn::toJSON:\n foo: bar\n notificationTargetArn: arn:aws:sqs:us-east-1:444455556666:queue1*\n roleArn: arn:aws:iam::123456789012:role/S3Access\n tags:\n - key: foo\n value: bar\n propagateAtLaunch: true\n - key: lorem\n value: ipsum\n propagateAtLaunch: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Latest Version Of Launch Template\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foobar = new aws.ec2.LaunchTemplate(\"foobar\", {\n namePrefix: \"foobar\",\n imageId: \"ami-1a2b3c\",\n instanceType: \"t2.micro\",\n});\nconst bar = new aws.autoscaling.Group(\"bar\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 1,\n minSize: 1,\n launchTemplate: {\n id: foobar.id,\n version: \"$Latest\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoobar = aws.ec2.LaunchTemplate(\"foobar\",\n name_prefix=\"foobar\",\n image_id=\"ami-1a2b3c\",\n instance_type=\"t2.micro\")\nbar = aws.autoscaling.Group(\"bar\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=1,\n min_size=1,\n launch_template={\n \"id\": foobar.id,\n \"version\": \"$Latest\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new Aws.Ec2.LaunchTemplate(\"foobar\", new()\n {\n NamePrefix = \"foobar\",\n ImageId = \"ami-1a2b3c\",\n InstanceType = \"t2.micro\",\n });\n\n var bar = new Aws.AutoScaling.Group(\"bar\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 1,\n MinSize = 1,\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupLaunchTemplateArgs\n {\n Id = foobar.Id,\n Version = \"$Latest\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobar, err := ec2.NewLaunchTemplate(ctx, \"foobar\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"foobar\"),\n\t\t\tImageId: pulumi.String(\"ami-1a2b3c\"),\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"bar\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tLaunchTemplate: \u0026autoscaling.GroupLaunchTemplateArgs{\n\t\t\t\tId: foobar.ID(),\n\t\t\t\tVersion: pulumi.String(\"$Latest\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupLaunchTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foobar = new LaunchTemplate(\"foobar\", LaunchTemplateArgs.builder()\n .namePrefix(\"foobar\")\n .imageId(\"ami-1a2b3c\")\n .instanceType(\"t2.micro\")\n .build());\n\n var bar = new Group(\"bar\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(1)\n .minSize(1)\n .launchTemplate(GroupLaunchTemplateArgs.builder()\n .id(foobar.id())\n .version(\"$Latest\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: foobar\n imageId: ami-1a2b3c\n instanceType: t2.micro\n bar:\n type: aws:autoscaling:Group\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 1\n minSize: 1\n launchTemplate:\n id: ${foobar.id}\n version: $Latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mixed Instances Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 1,\n minSize: 1,\n mixedInstancesPolicy: {\n launchTemplate: {\n launchTemplateSpecification: {\n launchTemplateId: example.id,\n },\n overrides: [\n {\n instanceType: \"c4.large\",\n weightedCapacity: \"3\",\n },\n {\n instanceType: \"c3.large\",\n weightedCapacity: \"2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=1,\n min_size=1,\n mixed_instances_policy={\n \"launch_template\": {\n \"launch_template_specification\": {\n \"launch_template_id\": example.id,\n },\n \"overrides\": [\n {\n \"instance_type\": \"c4.large\",\n \"weighted_capacity\": \"3\",\n },\n {\n \"instance_type\": \"c3.large\",\n \"weighted_capacity\": \"2\",\n },\n ],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 1,\n MinSize = 1,\n MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs\n {\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs\n {\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example.Id,\n },\n Overrides = new[]\n {\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c4.large\",\n WeightedCapacity = \"3\",\n },\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c3.large\",\n WeightedCapacity = \"2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMixedInstancesPolicy: \u0026autoscaling.GroupMixedInstancesPolicyArgs{\n\t\t\t\tLaunchTemplate: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: example.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c4.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c3.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder()\n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(1)\n .minSize(1)\n .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()\n .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example.id())\n .build())\n .overrides( \n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c4.large\")\n .weightedCapacity(\"3\")\n .build(),\n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c3.large\")\n .weightedCapacity(\"2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 1\n minSize: 1\n mixedInstancesPolicy:\n launchTemplate:\n launchTemplateSpecification:\n launchTemplateId: ${example.id}\n overrides:\n - instanceType: c4.large\n weightedCapacity: '3'\n - instanceType: c3.large\n weightedCapacity: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mixed Instances Policy with Spot Instances and Capacity Rebalance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n capacityRebalance: true,\n desiredCapacity: 12,\n maxSize: 15,\n minSize: 12,\n vpcZoneIdentifiers: [\n example1.id,\n example2.id,\n ],\n mixedInstancesPolicy: {\n instancesDistribution: {\n onDemandBaseCapacity: 0,\n onDemandPercentageAboveBaseCapacity: 25,\n spotAllocationStrategy: \"capacity-optimized\",\n },\n launchTemplate: {\n launchTemplateSpecification: {\n launchTemplateId: example.id,\n },\n overrides: [\n {\n instanceType: \"c4.large\",\n weightedCapacity: \"3\",\n },\n {\n instanceType: \"c3.large\",\n weightedCapacity: \"2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample_group = aws.autoscaling.Group(\"example\",\n capacity_rebalance=True,\n desired_capacity=12,\n max_size=15,\n min_size=12,\n vpc_zone_identifiers=[\n example1[\"id\"],\n example2[\"id\"],\n ],\n mixed_instances_policy={\n \"instances_distribution\": {\n \"on_demand_base_capacity\": 0,\n \"on_demand_percentage_above_base_capacity\": 25,\n \"spot_allocation_strategy\": \"capacity-optimized\",\n },\n \"launch_template\": {\n \"launch_template_specification\": {\n \"launch_template_id\": example.id,\n },\n \"overrides\": [\n {\n \"instance_type\": \"c4.large\",\n \"weighted_capacity\": \"3\",\n },\n {\n \"instance_type\": \"c3.large\",\n \"weighted_capacity\": \"2\",\n },\n ],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n CapacityRebalance = true,\n DesiredCapacity = 12,\n MaxSize = 15,\n MinSize = 12,\n VpcZoneIdentifiers = new[]\n {\n example1.Id,\n example2.Id,\n },\n MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs\n {\n InstancesDistribution = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyInstancesDistributionArgs\n {\n OnDemandBaseCapacity = 0,\n OnDemandPercentageAboveBaseCapacity = 25,\n SpotAllocationStrategy = \"capacity-optimized\",\n },\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs\n {\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example.Id,\n },\n Overrides = new[]\n {\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c4.large\",\n WeightedCapacity = \"3\",\n },\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c3.large\",\n WeightedCapacity = \"2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tCapacityRebalance: pulumi.Bool(true),\n\t\t\tDesiredCapacity: pulumi.Int(12),\n\t\t\tMaxSize: pulumi.Int(15),\n\t\t\tMinSize: pulumi.Int(12),\n\t\t\tVpcZoneIdentifiers: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.Id,\n\t\t\t},\n\t\t\tMixedInstancesPolicy: \u0026autoscaling.GroupMixedInstancesPolicyArgs{\n\t\t\t\tInstancesDistribution: \u0026autoscaling.GroupMixedInstancesPolicyInstancesDistributionArgs{\n\t\t\t\t\tOnDemandBaseCapacity: pulumi.Int(0),\n\t\t\t\t\tOnDemandPercentageAboveBaseCapacity: pulumi.Int(25),\n\t\t\t\t\tSpotAllocationStrategy: pulumi.String(\"capacity-optimized\"),\n\t\t\t\t},\n\t\t\t\tLaunchTemplate: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: example.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c4.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c3.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyInstancesDistributionArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder()\n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .capacityRebalance(true)\n .desiredCapacity(12)\n .maxSize(15)\n .minSize(12)\n .vpcZoneIdentifiers( \n example1.id(),\n example2.id())\n .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()\n .instancesDistribution(GroupMixedInstancesPolicyInstancesDistributionArgs.builder()\n .onDemandBaseCapacity(0)\n .onDemandPercentageAboveBaseCapacity(25)\n .spotAllocationStrategy(\"capacity-optimized\")\n .build())\n .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example.id())\n .build())\n .overrides( \n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c4.large\")\n .weightedCapacity(\"3\")\n .build(),\n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c3.large\")\n .weightedCapacity(\"2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n capacityRebalance: true\n desiredCapacity: 12\n maxSize: 15\n minSize: 12\n vpcZoneIdentifiers:\n - ${example1.id}\n - ${example2.id}\n mixedInstancesPolicy:\n instancesDistribution:\n onDemandBaseCapacity: 0\n onDemandPercentageAboveBaseCapacity: 25\n spotAllocationStrategy: capacity-optimized\n launchTemplate:\n launchTemplateSpecification:\n launchTemplateId: ${example.id}\n overrides:\n - instanceType: c4.large\n weightedCapacity: '3'\n - instanceType: c3.large\n weightedCapacity: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mixed Instances Policy with Instance level LaunchTemplateSpecification Overrides\n\nWhen using a diverse instance set, some instance types might require a launch template with configuration values unique to that instance type such as a different AMI (Graviton2), architecture specific user data script, different EBS configuration, or different networking configuration.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst example2 = new aws.ec2.LaunchTemplate(\"example2\", {\n namePrefix: \"example2\",\n imageId: example2AwsAmi.id,\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 1,\n minSize: 1,\n mixedInstancesPolicy: {\n launchTemplate: {\n launchTemplateSpecification: {\n launchTemplateId: example.id,\n },\n overrides: [\n {\n instanceType: \"c4.large\",\n weightedCapacity: \"3\",\n },\n {\n instanceType: \"c6g.large\",\n launchTemplateSpecification: {\n launchTemplateId: example2.id,\n },\n weightedCapacity: \"2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample2 = aws.ec2.LaunchTemplate(\"example2\",\n name_prefix=\"example2\",\n image_id=example2_aws_ami[\"id\"])\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=1,\n min_size=1,\n mixed_instances_policy={\n \"launch_template\": {\n \"launch_template_specification\": {\n \"launch_template_id\": example.id,\n },\n \"overrides\": [\n {\n \"instance_type\": \"c4.large\",\n \"weighted_capacity\": \"3\",\n },\n {\n \"instance_type\": \"c6g.large\",\n \"launch_template_specification\": {\n \"launch_template_id\": example2.id,\n },\n \"weighted_capacity\": \"2\",\n },\n ],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var example2 = new Aws.Ec2.LaunchTemplate(\"example2\", new()\n {\n NamePrefix = \"example2\",\n ImageId = example2AwsAmi.Id,\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 1,\n MinSize = 1,\n MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs\n {\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs\n {\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example.Id,\n },\n Overrides = new[]\n {\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c4.large\",\n WeightedCapacity = \"3\",\n },\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c6g.large\",\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example2.Id,\n },\n WeightedCapacity = \"2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := ec2.NewLaunchTemplate(ctx, \"example2\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example2\"),\n\t\t\tImageId: pulumi.Any(example2AwsAmi.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMixedInstancesPolicy: \u0026autoscaling.GroupMixedInstancesPolicyArgs{\n\t\t\t\tLaunchTemplate: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: example.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c4.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c6g.large\"),\n\t\t\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\t\t\tLaunchTemplateId: example2.ID(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder()\n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var example2 = new LaunchTemplate(\"example2\", LaunchTemplateArgs.builder()\n .namePrefix(\"example2\")\n .imageId(example2AwsAmi.id())\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(1)\n .minSize(1)\n .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()\n .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example.id())\n .build())\n .overrides( \n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c4.large\")\n .weightedCapacity(\"3\")\n .build(),\n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c6g.large\")\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example2.id())\n .build())\n .weightedCapacity(\"2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n example2:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example2\n imageId: ${example2AwsAmi.id}\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 1\n minSize: 1\n mixedInstancesPolicy:\n launchTemplate:\n launchTemplateSpecification:\n launchTemplateId: ${example.id}\n overrides:\n - instanceType: c4.large\n weightedCapacity: '3'\n - instanceType: c6g.large\n launchTemplateSpecification:\n launchTemplateId: ${example2.id}\n weightedCapacity: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mixed Instances Policy with Attribute-based Instance Type Selection\n\nAs an alternative to manually choosing instance types when creating a mixed instances group, you can specify a set of instance attributes that describe your compute requirements.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 1,\n minSize: 1,\n mixedInstancesPolicy: {\n launchTemplate: {\n launchTemplateSpecification: {\n launchTemplateId: example.id,\n },\n overrides: [{\n instanceRequirements: {\n memoryMib: {\n min: 1000,\n },\n vcpuCount: {\n min: 4,\n },\n },\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=1,\n min_size=1,\n mixed_instances_policy={\n \"launch_template\": {\n \"launch_template_specification\": {\n \"launch_template_id\": example.id,\n },\n \"overrides\": [{\n \"instance_requirements\": {\n \"memory_mib\": {\n \"min\": 1000,\n },\n \"vcpu_count\": {\n \"min\": 4,\n },\n },\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 1,\n MinSize = 1,\n MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs\n {\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs\n {\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example.Id,\n },\n Overrides = new[]\n {\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceRequirements = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs\n {\n MemoryMib = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs\n {\n Min = 1000,\n },\n VcpuCount = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs\n {\n Min = 4,\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMixedInstancesPolicy: \u0026autoscaling.GroupMixedInstancesPolicyArgs{\n\t\t\t\tLaunchTemplate: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: example.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceRequirements: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs{\n\t\t\t\t\t\t\t\tMemoryMib: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs{\n\t\t\t\t\t\t\t\t\tMin: pulumi.Int(1000),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tVcpuCount: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs{\n\t\t\t\t\t\t\t\t\tMin: pulumi.Int(4),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder()\n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(1)\n .minSize(1)\n .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()\n .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example.id())\n .build())\n .overrides(GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceRequirements(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs.builder()\n .memoryMib(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs.builder()\n .min(1000)\n .build())\n .vcpuCount(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs.builder()\n .min(4)\n .build())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 1\n minSize: 1\n mixedInstancesPolicy:\n launchTemplate:\n launchTemplateSpecification:\n launchTemplateId: ${example.id}\n overrides:\n - instanceRequirements:\n memoryMib:\n min: 1000\n vcpuCount:\n min: 4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Dynamic tagging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst extraTags = config.getObject(\"extraTags\") || [\n {\n key: \"Foo\",\n propagateAtLaunch: true,\n value: \"Bar\",\n },\n {\n key: \"Baz\",\n propagateAtLaunch: true,\n value: \"Bam\",\n },\n];\nconst test = new aws.autoscaling.Group(\"test\", {\n tags: [\n {\n key: \"explicit1\",\n value: \"value1\",\n propagateAtLaunch: true,\n },\n {\n key: \"explicit2\",\n value: \"value2\",\n propagateAtLaunch: true,\n },\n ],\n name: \"foobar3-test\",\n maxSize: 5,\n minSize: 2,\n launchConfiguration: foobar.name,\n vpcZoneIdentifiers: [\n example1.id,\n example2.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nextra_tags = config.get_object(\"extraTags\")\nif extra_tags is None:\n extra_tags = [\n {\n \"key\": \"Foo\",\n \"propagateAtLaunch\": True,\n \"value\": \"Bar\",\n },\n {\n \"key\": \"Baz\",\n \"propagateAtLaunch\": True,\n \"value\": \"Bam\",\n },\n ]\ntest = aws.autoscaling.Group(\"test\",\n tags=[\n {\n \"key\": \"explicit1\",\n \"value\": \"value1\",\n \"propagate_at_launch\": True,\n },\n {\n \"key\": \"explicit2\",\n \"value\": \"value2\",\n \"propagate_at_launch\": True,\n },\n ],\n name=\"foobar3-test\",\n max_size=5,\n min_size=2,\n launch_configuration=foobar[\"name\"],\n vpc_zone_identifiers=[\n example1[\"id\"],\n example2[\"id\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var extraTags = config.GetObject\u003cdynamic\u003e(\"extraTags\") ?? new[]\n {\n \n {\n { \"key\", \"Foo\" },\n { \"propagateAtLaunch\", true },\n { \"value\", \"Bar\" },\n },\n \n {\n { \"key\", \"Baz\" },\n { \"propagateAtLaunch\", true },\n { \"value\", \"Bam\" },\n },\n };\n var test = new Aws.AutoScaling.Group(\"test\", new()\n {\n Tags = new[]\n {\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"explicit1\",\n Value = \"value1\",\n PropagateAtLaunch = true,\n },\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"explicit2\",\n Value = \"value2\",\n PropagateAtLaunch = true,\n },\n },\n Name = \"foobar3-test\",\n MaxSize = 5,\n MinSize = 2,\n LaunchConfiguration = foobar.Name,\n VpcZoneIdentifiers = new[]\n {\n example1.Id,\n example2.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\textraTags := []map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"key\": \"Foo\",\n\t\t\t\t\"propagateAtLaunch\": true,\n\t\t\t\t\"value\": \"Bar\",\n\t\t\t},\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"key\": \"Baz\",\n\t\t\t\t\"propagateAtLaunch\": true,\n\t\t\t\t\"value\": \"Bam\",\n\t\t\t},\n\t\t}\n\t\tif param := cfg.GetObject(\"extraTags\"); param != nil {\n\t\t\textraTags = param\n\t\t}\n\t\t_, err := autoscaling.NewGroup(ctx, \"test\", \u0026autoscaling.GroupArgs{\n\t\t\tTags: autoscaling.GroupTagArray{\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"explicit1\"),\n\t\t\t\t\tValue: pulumi.String(\"value1\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"explicit2\"),\n\t\t\t\t\tValue: pulumi.String(\"value2\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"foobar3-test\"),\n\t\t\tMaxSize: pulumi.Int(5),\n\t\t\tMinSize: pulumi.Int(2),\n\t\t\tLaunchConfiguration: pulumi.Any(foobar.Name),\n\t\t\tVpcZoneIdentifiers: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.Id,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var extraTags = config.get(\"extraTags\").orElse( \n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));\n var test = new Group(\"test\", GroupArgs.builder()\n .tags( \n GroupTagArgs.builder()\n .key(\"explicit1\")\n .value(\"value1\")\n .propagateAtLaunch(true)\n .build(),\n GroupTagArgs.builder()\n .key(\"explicit2\")\n .value(\"value2\")\n .propagateAtLaunch(true)\n .build())\n .name(\"foobar3-test\")\n .maxSize(5)\n .minSize(2)\n .launchConfiguration(foobar.name())\n .vpcZoneIdentifiers( \n example1.id(),\n example2.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n extraTags:\n type: dynamic\n default:\n - key: Foo\n propagateAtLaunch: true\n value: Bar\n - key: Baz\n propagateAtLaunch: true\n value: Bam\nresources:\n test:\n type: aws:autoscaling:Group\n properties:\n tags:\n - key: explicit1\n value: value1\n propagateAtLaunch: true\n - key: explicit2\n value: value2\n propagateAtLaunch: true\n name: foobar3-test\n maxSize: 5\n minSize: 2\n launchConfiguration: ${foobar.name}\n vpcZoneIdentifiers:\n - ${example1.id}\n - ${example2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Automatically refresh all instances after the group is updated\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [{\n name: \"name\",\n values: [\"amzn-ami-hvm-*-x86_64-gp2\"],\n }],\n});\nconst exampleLaunchTemplate = new aws.ec2.LaunchTemplate(\"example\", {\n imageId: example.then(example =\u003e example.id),\n instanceType: \"t3.nano\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 2,\n minSize: 1,\n launchTemplate: {\n id: exampleLaunchTemplate.id,\n version: exampleLaunchTemplate.latestVersion,\n },\n tags: [{\n key: \"Key\",\n value: \"Value\",\n propagateAtLaunch: true,\n }],\n instanceRefresh: {\n strategy: \"Rolling\",\n preferences: {\n minHealthyPercentage: 50,\n },\n triggers: [\"tag\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[{\n \"name\": \"name\",\n \"values\": [\"amzn-ami-hvm-*-x86_64-gp2\"],\n }])\nexample_launch_template = aws.ec2.LaunchTemplate(\"example\",\n image_id=example.id,\n instance_type=\"t3.nano\")\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=2,\n min_size=1,\n launch_template={\n \"id\": example_launch_template.id,\n \"version\": example_launch_template.latest_version,\n },\n tags=[{\n \"key\": \"Key\",\n \"value\": \"Value\",\n \"propagate_at_launch\": True,\n }],\n instance_refresh={\n \"strategy\": \"Rolling\",\n \"preferences\": {\n \"min_healthy_percentage\": 50,\n },\n \"triggers\": [\"tag\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"amzn-ami-hvm-*-x86_64-gp2\",\n },\n },\n },\n });\n\n var exampleLaunchTemplate = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n ImageId = example.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = \"t3.nano\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 2,\n MinSize = 1,\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupLaunchTemplateArgs\n {\n Id = exampleLaunchTemplate.Id,\n Version = exampleLaunchTemplate.LatestVersion,\n },\n Tags = new[]\n {\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"Key\",\n Value = \"Value\",\n PropagateAtLaunch = true,\n },\n },\n InstanceRefresh = new Aws.AutoScaling.Inputs.GroupInstanceRefreshArgs\n {\n Strategy = \"Rolling\",\n Preferences = new Aws.AutoScaling.Inputs.GroupInstanceRefreshPreferencesArgs\n {\n MinHealthyPercentage = 50,\n },\n Triggers = new[]\n {\n \"tag\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amzn-ami-hvm-*-x86_64-gp2\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLaunchTemplate, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tImageId: pulumi.String(example.Id),\n\t\t\tInstanceType: pulumi.String(\"t3.nano\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(2),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tLaunchTemplate: \u0026autoscaling.GroupLaunchTemplateArgs{\n\t\t\t\tId: exampleLaunchTemplate.ID(),\n\t\t\t\tVersion: exampleLaunchTemplate.LatestVersion,\n\t\t\t},\n\t\t\tTags: autoscaling.GroupTagArray{\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"Key\"),\n\t\t\t\t\tValue: pulumi.String(\"Value\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInstanceRefresh: \u0026autoscaling.GroupInstanceRefreshArgs{\n\t\t\t\tStrategy: pulumi.String(\"Rolling\"),\n\t\t\t\tPreferences: \u0026autoscaling.GroupInstanceRefreshPreferencesArgs{\n\t\t\t\t\tMinHealthyPercentage: pulumi.Int(50),\n\t\t\t\t},\n\t\t\t\tTriggers: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"tag\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupTagArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupInstanceRefreshArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupInstanceRefreshPreferencesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters(GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"amzn-ami-hvm-*-x86_64-gp2\")\n .build())\n .build());\n\n var exampleLaunchTemplate = new LaunchTemplate(\"exampleLaunchTemplate\", LaunchTemplateArgs.builder()\n .imageId(example.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t3.nano\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(2)\n .minSize(1)\n .launchTemplate(GroupLaunchTemplateArgs.builder()\n .id(exampleLaunchTemplate.id())\n .version(exampleLaunchTemplate.latestVersion())\n .build())\n .tags(GroupTagArgs.builder()\n .key(\"Key\")\n .value(\"Value\")\n .propagateAtLaunch(true)\n .build())\n .instanceRefresh(GroupInstanceRefreshArgs.builder()\n .strategy(\"Rolling\")\n .preferences(GroupInstanceRefreshPreferencesArgs.builder()\n .minHealthyPercentage(50)\n .build())\n .triggers(\"tag\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 2\n minSize: 1\n launchTemplate:\n id: ${exampleLaunchTemplate.id}\n version: ${exampleLaunchTemplate.latestVersion}\n tags:\n - key: Key\n value: Value\n propagateAtLaunch: true\n instanceRefresh:\n strategy: Rolling\n preferences:\n minHealthyPercentage: 50\n triggers:\n - tag\n exampleLaunchTemplate:\n type: aws:ec2:LaunchTemplate\n name: example\n properties:\n imageId: ${example.id}\n instanceType: t3.nano\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: name\n values:\n - amzn-ami-hvm-*-x86_64-gp2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Auto Scaling group with Warm Pool\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 5,\n minSize: 1,\n warmPool: {\n poolState: \"Hibernated\",\n minSize: 1,\n maxGroupPreparedCapacity: 10,\n instanceReusePolicy: {\n reuseOnScaleIn: true,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=5,\n min_size=1,\n warm_pool={\n \"pool_state\": \"Hibernated\",\n \"min_size\": 1,\n \"max_group_prepared_capacity\": 10,\n \"instance_reuse_policy\": {\n \"reuse_on_scale_in\": True,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 5,\n MinSize = 1,\n WarmPool = new Aws.AutoScaling.Inputs.GroupWarmPoolArgs\n {\n PoolState = \"Hibernated\",\n MinSize = 1,\n MaxGroupPreparedCapacity = 10,\n InstanceReusePolicy = new Aws.AutoScaling.Inputs.GroupWarmPoolInstanceReusePolicyArgs\n {\n ReuseOnScaleIn = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(5),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tWarmPool: \u0026autoscaling.GroupWarmPoolArgs{\n\t\t\t\tPoolState: pulumi.String(\"Hibernated\"),\n\t\t\t\tMinSize: pulumi.Int(1),\n\t\t\t\tMaxGroupPreparedCapacity: pulumi.Int(10),\n\t\t\t\tInstanceReusePolicy: \u0026autoscaling.GroupWarmPoolInstanceReusePolicyArgs{\n\t\t\t\t\tReuseOnScaleIn: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupWarmPoolArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupWarmPoolInstanceReusePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder()\n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(5)\n .minSize(1)\n .warmPool(GroupWarmPoolArgs.builder()\n .poolState(\"Hibernated\")\n .minSize(1)\n .maxGroupPreparedCapacity(10)\n .instanceReusePolicy(GroupWarmPoolInstanceReusePolicyArgs.builder()\n .reuseOnScaleIn(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 5\n minSize: 1\n warmPool:\n poolState: Hibernated\n minSize: 1\n maxGroupPreparedCapacity: 10\n instanceReusePolicy:\n reuseOnScaleIn: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Auto Scaling group with Traffic Sources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.autoscaling.Group(\"test\", {\n trafficSources: testAwsVpclatticeTargetGroup.map(__item =\u003e __item).map((v, k) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n identifier: entry.value.arn,\n type: \"vpc-lattice\",\n })),\n vpcZoneIdentifiers: testAwsSubnet.id,\n maxSize: 1,\n minSize: 1,\n forceDelete: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.autoscaling.Group(\"test\",\n traffic_sources=[{\n \"identifier\": entry[\"value\"][\"arn\"],\n \"type\": \"vpc-lattice\",\n } for entry in [{\"key\": k, \"value\": v} for k, v in [__item for __item in test_aws_vpclattice_target_group]]],\n vpc_zone_identifiers=test_aws_subnet[\"id\"],\n max_size=1,\n min_size=1,\n force_delete=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.AutoScaling.Group(\"test\", new()\n {\n TrafficSources = testAwsVpclatticeTargetGroup.Select(__item =\u003e __item).ToList().Select((v, k) =\u003e new { Key = k, Value = v }).Select(entry =\u003e \n {\n return new Aws.AutoScaling.Inputs.GroupTrafficSourceArgs\n {\n Identifier = entry.Value.Arn,\n Type = \"vpc-lattice\",\n };\n }).ToList(),\n VpcZoneIdentifiers = testAwsSubnet.Id,\n MaxSize = 1,\n MinSize = 1,\n ForceDelete = true,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Waiting for Capacity\n\nA newly-created ASG is initially empty and begins to scale to `min_size` (or\n`desired_capacity`, if specified) by launching instances using the provided\nLaunch Configuration. These instances take time to launch and boot.\n\nOn ASG Update, changes to these values also take time to result in the target\nnumber of instances providing service.\n\nThis provider provides two mechanisms to help consistently manage ASG scale up\ntime across dependent resources.\n\n#### Waiting for ASG Capacity\n\nThe first is default behavior. This provider waits after ASG creation for\n`min_size` (or `desired_capacity`, if specified) healthy instances to show up\nin the ASG before continuing.\n\nIf `min_size` or `desired_capacity` are changed in a subsequent update,\nthis provider will also wait for the correct number of healthy instances before\ncontinuing.\n\nThis provider considers an instance \"healthy\" when the ASG reports `HealthStatus:\n\"Healthy\"` and `LifecycleState: \"InService\"`. See the [AWS AutoScaling\nDocs](https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html)\nfor more information on an ASG's lifecycle.\n\nThis provider will wait for healthy instances for up to\n`wait_for_capacity_timeout`. If ASG creation is taking more than a few minutes,\nit's worth investigating for scaling activity errors, which can be caused by\nproblems with the selected Launch Configuration.\n\nSetting `wait_for_capacity_timeout` to `\"0\"` disables ASG Capacity waiting.\n\n#### Waiting for ELB Capacity\n\nThe second mechanism is optional, and affects ASGs with attached ELBs specified\nvia the `load_balancers` attribute or with ALBs specified with `target_group_arns`.\n\nThe `min_elb_capacity` parameter causes the provider to wait for at least the\nrequested number of instances to show up `\"InService\"` in all attached ELBs\nduring ASG creation. It has no effect on ASG updates.\n\nIf `wait_for_elb_capacity` is set, the provider will wait for exactly that number\nof Instances to be `\"InService\"` in all attached ELBs on both creation and\nupdates.\n\nThese parameters can be used to ensure that service is being provided before\nthe provider moves on. If new instances don't pass the ELB's health checks for any\nreason, the apply will time out, and the ASG will be marked as\ntainted (i.e., marked to be destroyed in a follow up run).\n\nAs with ASG Capacity, the provider will wait for up to `wait_for_capacity_timeout`\nfor the proper number of instances to be healthy.\n\n#### Troubleshooting Capacity Waiting Timeouts\n\nIf ASG creation takes more than a few minutes, this could indicate one of a\nnumber of configuration problems. See the [AWS Docs on Load Balancer\nTroubleshooting](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-troubleshooting.html)\nfor more information.\n\n## Import\n\nUsing `pulumi import`, import Auto Scaling Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:autoscaling/group:Group web web-asg\n```\n", "properties": { "arn": { "type": "string", @@ -192125,7 +192125,7 @@ } }, "aws:backup/selection:Selection": { - "description": "Manages selection conditions for AWS Backup plan resources.\n\n## Example Usage\n\n### IAM Role\n\n\u003e For more information about creating and managing IAM Roles for backups and restores, see the [AWS Backup Developer Guide](https://docs.aws.amazon.com/aws-backup/latest/devguide/iam-service-roles.html).\n\nThe below example creates an IAM role with the default managed IAM Policy for allowing AWS Backup to create backups.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"backup.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\",\n role: example.name,\n});\nconst exampleSelection = new aws.backup.Selection(\"example\", {iamRoleArn: example.arn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"backup.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\",\n role=example.name)\nexample_selection = aws.backup.Selection(\"example\", iam_role_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"backup.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\",\n Role = example.Name,\n });\n\n var exampleSelection = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"backup.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: example.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"backup.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\")\n .role(example.name())\n .build());\n\n var exampleSelection = new Selection(\"exampleSelection\", SelectionArgs.builder()\n .iamRoleArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\n role: ${example.name}\n exampleSelection:\n type: aws:backup:Selection\n name: example\n properties:\n iamRoleArn: ${example.arn}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - backup.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Selecting Backups By Tag\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Selection(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n name: \"my_example_backup_selection\",\n planId: exampleAwsBackupPlan.id,\n selectionTags: [{\n type: \"STRINGEQUALS\",\n key: \"foo\",\n value: \"bar\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Selection(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n name=\"my_example_backup_selection\",\n plan_id=example_aws_backup_plan[\"id\"],\n selection_tags=[{\n \"type\": \"STRINGEQUALS\",\n \"key\": \"foo\",\n \"value\": \"bar\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n Name = \"my_example_backup_selection\",\n PlanId = exampleAwsBackupPlan.Id,\n SelectionTags = new[]\n {\n new Aws.Backup.Inputs.SelectionSelectionTagArgs\n {\n Type = \"STRINGEQUALS\",\n Key = \"foo\",\n Value = \"bar\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tName: pulumi.String(\"my_example_backup_selection\"),\n\t\t\tPlanId: pulumi.Any(exampleAwsBackupPlan.Id),\n\t\t\tSelectionTags: backup.SelectionSelectionTagArray{\n\t\t\t\t\u0026backup.SelectionSelectionTagArgs{\n\t\t\t\t\tType: pulumi.String(\"STRINGEQUALS\"),\n\t\t\t\t\tKey: pulumi.String(\"foo\"),\n\t\t\t\t\tValue: pulumi.String(\"bar\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport com.pulumi.aws.backup.inputs.SelectionSelectionTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Selection(\"example\", SelectionArgs.builder()\n .iamRoleArn(exampleAwsIamRole.arn())\n .name(\"my_example_backup_selection\")\n .planId(exampleAwsBackupPlan.id())\n .selectionTags(SelectionSelectionTagArgs.builder()\n .type(\"STRINGEQUALS\")\n .key(\"foo\")\n .value(\"bar\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Selection\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n name: my_example_backup_selection\n planId: ${exampleAwsBackupPlan.id}\n selectionTags:\n - type: STRINGEQUALS\n key: foo\n value: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Selecting Backups By Conditions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Selection(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n name: \"my_example_backup_selection\",\n planId: exampleAwsBackupPlan.id,\n resources: [\"*\"],\n conditions: [{\n stringEquals: [{\n key: \"aws:ResourceTag/Component\",\n value: \"rds\",\n }],\n stringLikes: [{\n key: \"aws:ResourceTag/Application\",\n value: \"app*\",\n }],\n stringNotEquals: [{\n key: \"aws:ResourceTag/Backup\",\n value: \"false\",\n }],\n stringNotLikes: [{\n key: \"aws:ResourceTag/Environment\",\n value: \"test*\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Selection(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n name=\"my_example_backup_selection\",\n plan_id=example_aws_backup_plan[\"id\"],\n resources=[\"*\"],\n conditions=[{\n \"string_equals\": [{\n \"key\": \"aws:ResourceTag/Component\",\n \"value\": \"rds\",\n }],\n \"string_likes\": [{\n \"key\": \"aws:ResourceTag/Application\",\n \"value\": \"app*\",\n }],\n \"string_not_equals\": [{\n \"key\": \"aws:ResourceTag/Backup\",\n \"value\": \"false\",\n }],\n \"string_not_likes\": [{\n \"key\": \"aws:ResourceTag/Environment\",\n \"value\": \"test*\",\n }],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n Name = \"my_example_backup_selection\",\n PlanId = exampleAwsBackupPlan.Id,\n Resources = new[]\n {\n \"*\",\n },\n Conditions = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionArgs\n {\n StringEquals = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionStringEqualArgs\n {\n Key = \"aws:ResourceTag/Component\",\n Value = \"rds\",\n },\n },\n StringLikes = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionStringLikeArgs\n {\n Key = \"aws:ResourceTag/Application\",\n Value = \"app*\",\n },\n },\n StringNotEquals = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionStringNotEqualArgs\n {\n Key = \"aws:ResourceTag/Backup\",\n Value = \"false\",\n },\n },\n StringNotLikes = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionStringNotLikeArgs\n {\n Key = \"aws:ResourceTag/Environment\",\n Value = \"test*\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tName: pulumi.String(\"my_example_backup_selection\"),\n\t\t\tPlanId: pulumi.Any(exampleAwsBackupPlan.Id),\n\t\t\tResources: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*\"),\n\t\t\t},\n\t\t\tConditions: backup.SelectionConditionArray{\n\t\t\t\t\u0026backup.SelectionConditionArgs{\n\t\t\t\t\tStringEquals: backup.SelectionConditionStringEqualArray{\n\t\t\t\t\t\t\u0026backup.SelectionConditionStringEqualArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"aws:ResourceTag/Component\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"rds\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStringLikes: backup.SelectionConditionStringLikeArray{\n\t\t\t\t\t\t\u0026backup.SelectionConditionStringLikeArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"aws:ResourceTag/Application\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"app*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStringNotEquals: backup.SelectionConditionStringNotEqualArray{\n\t\t\t\t\t\t\u0026backup.SelectionConditionStringNotEqualArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"aws:ResourceTag/Backup\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"false\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStringNotLikes: backup.SelectionConditionStringNotLikeArray{\n\t\t\t\t\t\t\u0026backup.SelectionConditionStringNotLikeArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"aws:ResourceTag/Environment\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"test*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport com.pulumi.aws.backup.inputs.SelectionConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Selection(\"example\", SelectionArgs.builder()\n .iamRoleArn(exampleAwsIamRole.arn())\n .name(\"my_example_backup_selection\")\n .planId(exampleAwsBackupPlan.id())\n .resources(\"*\")\n .conditions(SelectionConditionArgs.builder()\n .stringEquals(SelectionConditionStringEqualArgs.builder()\n .key(\"aws:ResourceTag/Component\")\n .value(\"rds\")\n .build())\n .stringLikes(SelectionConditionStringLikeArgs.builder()\n .key(\"aws:ResourceTag/Application\")\n .value(\"app*\")\n .build())\n .stringNotEquals(SelectionConditionStringNotEqualArgs.builder()\n .key(\"aws:ResourceTag/Backup\")\n .value(\"false\")\n .build())\n .stringNotLikes(SelectionConditionStringNotLikeArgs.builder()\n .key(\"aws:ResourceTag/Environment\")\n .value(\"test*\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Selection\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n name: my_example_backup_selection\n planId: ${exampleAwsBackupPlan.id}\n resources:\n - '*'\n conditions:\n - stringEquals:\n - key: aws:ResourceTag/Component\n value: rds\n stringLikes:\n - key: aws:ResourceTag/Application\n value: app*\n stringNotEquals:\n - key: aws:ResourceTag/Backup\n value: 'false'\n stringNotLikes:\n - key: aws:ResourceTag/Environment\n value: test*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Selecting Backups By Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Selection(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n name: \"my_example_backup_selection\",\n planId: exampleAwsBackupPlan.id,\n resources: [\n exampleAwsDbInstance.arn,\n exampleAwsEbsVolume.arn,\n exampleAwsEfsFileSystem.arn,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Selection(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n name=\"my_example_backup_selection\",\n plan_id=example_aws_backup_plan[\"id\"],\n resources=[\n example_aws_db_instance[\"arn\"],\n example_aws_ebs_volume[\"arn\"],\n example_aws_efs_file_system[\"arn\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n Name = \"my_example_backup_selection\",\n PlanId = exampleAwsBackupPlan.Id,\n Resources = new[]\n {\n exampleAwsDbInstance.Arn,\n exampleAwsEbsVolume.Arn,\n exampleAwsEfsFileSystem.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tName: pulumi.String(\"my_example_backup_selection\"),\n\t\t\tPlanId: pulumi.Any(exampleAwsBackupPlan.Id),\n\t\t\tResources: pulumi.StringArray{\n\t\t\t\texampleAwsDbInstance.Arn,\n\t\t\t\texampleAwsEbsVolume.Arn,\n\t\t\t\texampleAwsEfsFileSystem.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Selection(\"example\", SelectionArgs.builder()\n .iamRoleArn(exampleAwsIamRole.arn())\n .name(\"my_example_backup_selection\")\n .planId(exampleAwsBackupPlan.id())\n .resources( \n exampleAwsDbInstance.arn(),\n exampleAwsEbsVolume.arn(),\n exampleAwsEfsFileSystem.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Selection\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n name: my_example_backup_selection\n planId: ${exampleAwsBackupPlan.id}\n resources:\n - ${exampleAwsDbInstance.arn}\n - ${exampleAwsEbsVolume.arn}\n - ${exampleAwsEfsFileSystem.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Selecting Backups By Not Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Selection(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n name: \"my_example_backup_selection\",\n planId: exampleAwsBackupPlan.id,\n notResources: [\n exampleAwsDbInstance.arn,\n exampleAwsEbsVolume.arn,\n exampleAwsEfsFileSystem.arn,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Selection(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n name=\"my_example_backup_selection\",\n plan_id=example_aws_backup_plan[\"id\"],\n not_resources=[\n example_aws_db_instance[\"arn\"],\n example_aws_ebs_volume[\"arn\"],\n example_aws_efs_file_system[\"arn\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n Name = \"my_example_backup_selection\",\n PlanId = exampleAwsBackupPlan.Id,\n NotResources = new[]\n {\n exampleAwsDbInstance.Arn,\n exampleAwsEbsVolume.Arn,\n exampleAwsEfsFileSystem.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tName: pulumi.String(\"my_example_backup_selection\"),\n\t\t\tPlanId: pulumi.Any(exampleAwsBackupPlan.Id),\n\t\t\tNotResources: pulumi.StringArray{\n\t\t\t\texampleAwsDbInstance.Arn,\n\t\t\t\texampleAwsEbsVolume.Arn,\n\t\t\t\texampleAwsEfsFileSystem.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Selection(\"example\", SelectionArgs.builder()\n .iamRoleArn(exampleAwsIamRole.arn())\n .name(\"my_example_backup_selection\")\n .planId(exampleAwsBackupPlan.id())\n .notResources( \n exampleAwsDbInstance.arn(),\n exampleAwsEbsVolume.arn(),\n exampleAwsEfsFileSystem.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Selection\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n name: my_example_backup_selection\n planId: ${exampleAwsBackupPlan.id}\n notResources:\n - ${exampleAwsDbInstance.arn}\n - ${exampleAwsEbsVolume.arn}\n - ${exampleAwsEfsFileSystem.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup selection using the role plan_id and id separated by `|`. For example:\n\n```sh\n$ pulumi import aws:backup/selection:Selection example plan-id|selection-id\n```\n", + "description": "Manages selection conditions for AWS Backup plan resources.\n\n## Example Usage\n\n### IAM Role\n\n\u003e For more information about creating and managing IAM Roles for backups and restores, see the [AWS Backup Developer Guide](https://docs.aws.amazon.com/aws-backup/latest/devguide/iam-service-roles.html).\n\nThe below example creates an IAM role with the default managed IAM Policy for allowing AWS Backup to create backups.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"backup.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\",\n role: example.name,\n});\nconst exampleSelection = new aws.backup.Selection(\"example\", {iamRoleArn: example.arn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"backup.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\",\n role=example.name)\nexample_selection = aws.backup.Selection(\"example\", iam_role_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"backup.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\",\n Role = example.Name,\n });\n\n var exampleSelection = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"backup.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: example.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"backup.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\")\n .role(example.name())\n .build());\n\n var exampleSelection = new Selection(\"exampleSelection\", SelectionArgs.builder()\n .iamRoleArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\n role: ${example.name}\n exampleSelection:\n type: aws:backup:Selection\n name: example\n properties:\n iamRoleArn: ${example.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - backup.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Selecting Backups By Tag\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Selection(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n name: \"my_example_backup_selection\",\n planId: exampleAwsBackupPlan.id,\n selectionTags: [{\n type: \"STRINGEQUALS\",\n key: \"foo\",\n value: \"bar\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Selection(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n name=\"my_example_backup_selection\",\n plan_id=example_aws_backup_plan[\"id\"],\n selection_tags=[{\n \"type\": \"STRINGEQUALS\",\n \"key\": \"foo\",\n \"value\": \"bar\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n Name = \"my_example_backup_selection\",\n PlanId = exampleAwsBackupPlan.Id,\n SelectionTags = new[]\n {\n new Aws.Backup.Inputs.SelectionSelectionTagArgs\n {\n Type = \"STRINGEQUALS\",\n Key = \"foo\",\n Value = \"bar\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tName: pulumi.String(\"my_example_backup_selection\"),\n\t\t\tPlanId: pulumi.Any(exampleAwsBackupPlan.Id),\n\t\t\tSelectionTags: backup.SelectionSelectionTagArray{\n\t\t\t\t\u0026backup.SelectionSelectionTagArgs{\n\t\t\t\t\tType: pulumi.String(\"STRINGEQUALS\"),\n\t\t\t\t\tKey: pulumi.String(\"foo\"),\n\t\t\t\t\tValue: pulumi.String(\"bar\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport com.pulumi.aws.backup.inputs.SelectionSelectionTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Selection(\"example\", SelectionArgs.builder()\n .iamRoleArn(exampleAwsIamRole.arn())\n .name(\"my_example_backup_selection\")\n .planId(exampleAwsBackupPlan.id())\n .selectionTags(SelectionSelectionTagArgs.builder()\n .type(\"STRINGEQUALS\")\n .key(\"foo\")\n .value(\"bar\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Selection\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n name: my_example_backup_selection\n planId: ${exampleAwsBackupPlan.id}\n selectionTags:\n - type: STRINGEQUALS\n key: foo\n value: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Selecting Backups By Conditions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Selection(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n name: \"my_example_backup_selection\",\n planId: exampleAwsBackupPlan.id,\n resources: [\"*\"],\n conditions: [{\n stringEquals: [{\n key: \"aws:ResourceTag/Component\",\n value: \"rds\",\n }],\n stringLikes: [{\n key: \"aws:ResourceTag/Application\",\n value: \"app*\",\n }],\n stringNotEquals: [{\n key: \"aws:ResourceTag/Backup\",\n value: \"false\",\n }],\n stringNotLikes: [{\n key: \"aws:ResourceTag/Environment\",\n value: \"test*\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Selection(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n name=\"my_example_backup_selection\",\n plan_id=example_aws_backup_plan[\"id\"],\n resources=[\"*\"],\n conditions=[{\n \"string_equals\": [{\n \"key\": \"aws:ResourceTag/Component\",\n \"value\": \"rds\",\n }],\n \"string_likes\": [{\n \"key\": \"aws:ResourceTag/Application\",\n \"value\": \"app*\",\n }],\n \"string_not_equals\": [{\n \"key\": \"aws:ResourceTag/Backup\",\n \"value\": \"false\",\n }],\n \"string_not_likes\": [{\n \"key\": \"aws:ResourceTag/Environment\",\n \"value\": \"test*\",\n }],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n Name = \"my_example_backup_selection\",\n PlanId = exampleAwsBackupPlan.Id,\n Resources = new[]\n {\n \"*\",\n },\n Conditions = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionArgs\n {\n StringEquals = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionStringEqualArgs\n {\n Key = \"aws:ResourceTag/Component\",\n Value = \"rds\",\n },\n },\n StringLikes = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionStringLikeArgs\n {\n Key = \"aws:ResourceTag/Application\",\n Value = \"app*\",\n },\n },\n StringNotEquals = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionStringNotEqualArgs\n {\n Key = \"aws:ResourceTag/Backup\",\n Value = \"false\",\n },\n },\n StringNotLikes = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionStringNotLikeArgs\n {\n Key = \"aws:ResourceTag/Environment\",\n Value = \"test*\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tName: pulumi.String(\"my_example_backup_selection\"),\n\t\t\tPlanId: pulumi.Any(exampleAwsBackupPlan.Id),\n\t\t\tResources: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*\"),\n\t\t\t},\n\t\t\tConditions: backup.SelectionConditionArray{\n\t\t\t\t\u0026backup.SelectionConditionArgs{\n\t\t\t\t\tStringEquals: backup.SelectionConditionStringEqualArray{\n\t\t\t\t\t\t\u0026backup.SelectionConditionStringEqualArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"aws:ResourceTag/Component\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"rds\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStringLikes: backup.SelectionConditionStringLikeArray{\n\t\t\t\t\t\t\u0026backup.SelectionConditionStringLikeArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"aws:ResourceTag/Application\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"app*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStringNotEquals: backup.SelectionConditionStringNotEqualArray{\n\t\t\t\t\t\t\u0026backup.SelectionConditionStringNotEqualArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"aws:ResourceTag/Backup\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"false\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStringNotLikes: backup.SelectionConditionStringNotLikeArray{\n\t\t\t\t\t\t\u0026backup.SelectionConditionStringNotLikeArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"aws:ResourceTag/Environment\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"test*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport com.pulumi.aws.backup.inputs.SelectionConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Selection(\"example\", SelectionArgs.builder()\n .iamRoleArn(exampleAwsIamRole.arn())\n .name(\"my_example_backup_selection\")\n .planId(exampleAwsBackupPlan.id())\n .resources(\"*\")\n .conditions(SelectionConditionArgs.builder()\n .stringEquals(SelectionConditionStringEqualArgs.builder()\n .key(\"aws:ResourceTag/Component\")\n .value(\"rds\")\n .build())\n .stringLikes(SelectionConditionStringLikeArgs.builder()\n .key(\"aws:ResourceTag/Application\")\n .value(\"app*\")\n .build())\n .stringNotEquals(SelectionConditionStringNotEqualArgs.builder()\n .key(\"aws:ResourceTag/Backup\")\n .value(\"false\")\n .build())\n .stringNotLikes(SelectionConditionStringNotLikeArgs.builder()\n .key(\"aws:ResourceTag/Environment\")\n .value(\"test*\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Selection\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n name: my_example_backup_selection\n planId: ${exampleAwsBackupPlan.id}\n resources:\n - '*'\n conditions:\n - stringEquals:\n - key: aws:ResourceTag/Component\n value: rds\n stringLikes:\n - key: aws:ResourceTag/Application\n value: app*\n stringNotEquals:\n - key: aws:ResourceTag/Backup\n value: 'false'\n stringNotLikes:\n - key: aws:ResourceTag/Environment\n value: test*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Selecting Backups By Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Selection(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n name: \"my_example_backup_selection\",\n planId: exampleAwsBackupPlan.id,\n resources: [\n exampleAwsDbInstance.arn,\n exampleAwsEbsVolume.arn,\n exampleAwsEfsFileSystem.arn,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Selection(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n name=\"my_example_backup_selection\",\n plan_id=example_aws_backup_plan[\"id\"],\n resources=[\n example_aws_db_instance[\"arn\"],\n example_aws_ebs_volume[\"arn\"],\n example_aws_efs_file_system[\"arn\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n Name = \"my_example_backup_selection\",\n PlanId = exampleAwsBackupPlan.Id,\n Resources = new[]\n {\n exampleAwsDbInstance.Arn,\n exampleAwsEbsVolume.Arn,\n exampleAwsEfsFileSystem.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tName: pulumi.String(\"my_example_backup_selection\"),\n\t\t\tPlanId: pulumi.Any(exampleAwsBackupPlan.Id),\n\t\t\tResources: pulumi.StringArray{\n\t\t\t\texampleAwsDbInstance.Arn,\n\t\t\t\texampleAwsEbsVolume.Arn,\n\t\t\t\texampleAwsEfsFileSystem.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Selection(\"example\", SelectionArgs.builder()\n .iamRoleArn(exampleAwsIamRole.arn())\n .name(\"my_example_backup_selection\")\n .planId(exampleAwsBackupPlan.id())\n .resources( \n exampleAwsDbInstance.arn(),\n exampleAwsEbsVolume.arn(),\n exampleAwsEfsFileSystem.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Selection\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n name: my_example_backup_selection\n planId: ${exampleAwsBackupPlan.id}\n resources:\n - ${exampleAwsDbInstance.arn}\n - ${exampleAwsEbsVolume.arn}\n - ${exampleAwsEfsFileSystem.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Selecting Backups By Not Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Selection(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n name: \"my_example_backup_selection\",\n planId: exampleAwsBackupPlan.id,\n notResources: [\n exampleAwsDbInstance.arn,\n exampleAwsEbsVolume.arn,\n exampleAwsEfsFileSystem.arn,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Selection(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n name=\"my_example_backup_selection\",\n plan_id=example_aws_backup_plan[\"id\"],\n not_resources=[\n example_aws_db_instance[\"arn\"],\n example_aws_ebs_volume[\"arn\"],\n example_aws_efs_file_system[\"arn\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n Name = \"my_example_backup_selection\",\n PlanId = exampleAwsBackupPlan.Id,\n NotResources = new[]\n {\n exampleAwsDbInstance.Arn,\n exampleAwsEbsVolume.Arn,\n exampleAwsEfsFileSystem.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tName: pulumi.String(\"my_example_backup_selection\"),\n\t\t\tPlanId: pulumi.Any(exampleAwsBackupPlan.Id),\n\t\t\tNotResources: pulumi.StringArray{\n\t\t\t\texampleAwsDbInstance.Arn,\n\t\t\t\texampleAwsEbsVolume.Arn,\n\t\t\t\texampleAwsEfsFileSystem.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Selection(\"example\", SelectionArgs.builder()\n .iamRoleArn(exampleAwsIamRole.arn())\n .name(\"my_example_backup_selection\")\n .planId(exampleAwsBackupPlan.id())\n .notResources( \n exampleAwsDbInstance.arn(),\n exampleAwsEbsVolume.arn(),\n exampleAwsEfsFileSystem.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Selection\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n name: my_example_backup_selection\n planId: ${exampleAwsBackupPlan.id}\n notResources:\n - ${exampleAwsDbInstance.arn}\n - ${exampleAwsEbsVolume.arn}\n - ${exampleAwsEfsFileSystem.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup selection using the role plan_id and id separated by `|`. For example:\n\n```sh\n$ pulumi import aws:backup/selection:Selection example plan-id|selection-id\n```\n", "properties": { "conditions": { "type": "array", @@ -192480,7 +192480,7 @@ } }, "aws:backup/vaultNotifications:VaultNotifications": { - "description": "Provides an AWS Backup vault notifications resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTopic = new aws.sns.Topic(\"test\", {name: \"backup-vault-events\"});\nconst test = testTopic.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n policyId: \"__default_policy_ID\",\n statements: [{\n actions: [\"SNS:Publish\"],\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"backup.amazonaws.com\"],\n }],\n resources: [arn],\n sid: \"__default_statement_ID\",\n }],\n}));\nconst testTopicPolicy = new aws.sns.TopicPolicy(\"test\", {\n arn: testTopic.arn,\n policy: test.apply(test =\u003e test.json),\n});\nconst testVaultNotifications = new aws.backup.VaultNotifications(\"test\", {\n backupVaultName: \"example_backup_vault\",\n snsTopicArn: testTopic.arn,\n backupVaultEvents: [\n \"BACKUP_JOB_STARTED\",\n \"RESTORE_JOB_COMPLETED\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_topic = aws.sns.Topic(\"test\", name=\"backup-vault-events\")\ntest = test_topic.arn.apply(lambda arn: aws.iam.get_policy_document_output(policy_id=\"__default_policy_ID\",\n statements=[{\n \"actions\": [\"SNS:Publish\"],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"backup.amazonaws.com\"],\n }],\n \"resources\": [arn],\n \"sid\": \"__default_statement_ID\",\n }]))\ntest_topic_policy = aws.sns.TopicPolicy(\"test\",\n arn=test_topic.arn,\n policy=test.json)\ntest_vault_notifications = aws.backup.VaultNotifications(\"test\",\n backup_vault_name=\"example_backup_vault\",\n sns_topic_arn=test_topic.arn,\n backup_vault_events=[\n \"BACKUP_JOB_STARTED\",\n \"RESTORE_JOB_COMPLETED\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTopic = new Aws.Sns.Topic(\"test\", new()\n {\n Name = \"backup-vault-events\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = \"__default_policy_ID\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"backup.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n testTopic.Arn,\n },\n Sid = \"__default_statement_ID\",\n },\n },\n });\n\n var testTopicPolicy = new Aws.Sns.TopicPolicy(\"test\", new()\n {\n Arn = testTopic.Arn,\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testVaultNotifications = new Aws.Backup.VaultNotifications(\"test\", new()\n {\n BackupVaultName = \"example_backup_vault\",\n SnsTopicArn = testTopic.Arn,\n BackupVaultEvents = new[]\n {\n \"BACKUP_JOB_STARTED\",\n \"RESTORE_JOB_COMPLETED\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntestTopic, err := sns.NewTopic(ctx, \"test\", \u0026sns.TopicArgs{\nName: pulumi.String(\"backup-vault-events\"),\n})\nif err != nil {\nreturn err\n}\ntest := testTopic.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nPolicyId: \"__default_policy_ID\",\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"SNS:Publish\",\n},\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"backup.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\narn,\n},\nSid: \"__default_statement_ID\",\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"test\", \u0026sns.TopicPolicyArgs{\nArn: testTopic.Arn,\nPolicy: pulumi.String(test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026test.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = backup.NewVaultNotifications(ctx, \"test\", \u0026backup.VaultNotificationsArgs{\nBackupVaultName: pulumi.String(\"example_backup_vault\"),\nSnsTopicArn: testTopic.Arn,\nBackupVaultEvents: pulumi.StringArray{\npulumi.String(\"BACKUP_JOB_STARTED\"),\npulumi.String(\"RESTORE_JOB_COMPLETED\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport com.pulumi.aws.backup.VaultNotifications;\nimport com.pulumi.aws.backup.VaultNotificationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testTopic = new Topic(\"testTopic\", TopicArgs.builder()\n .name(\"backup-vault-events\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(\"__default_policy_ID\")\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"SNS:Publish\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"backup.amazonaws.com\")\n .build())\n .resources(testTopic.arn())\n .sid(\"__default_statement_ID\")\n .build())\n .build());\n\n var testTopicPolicy = new TopicPolicy(\"testTopicPolicy\", TopicPolicyArgs.builder()\n .arn(testTopic.arn())\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var testVaultNotifications = new VaultNotifications(\"testVaultNotifications\", VaultNotificationsArgs.builder()\n .backupVaultName(\"example_backup_vault\")\n .snsTopicArn(testTopic.arn())\n .backupVaultEvents( \n \"BACKUP_JOB_STARTED\",\n \"RESTORE_JOB_COMPLETED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testTopic:\n type: aws:sns:Topic\n name: test\n properties:\n name: backup-vault-events\n testTopicPolicy:\n type: aws:sns:TopicPolicy\n name: test\n properties:\n arn: ${testTopic.arn}\n policy: ${test.json}\n testVaultNotifications:\n type: aws:backup:VaultNotifications\n name: test\n properties:\n backupVaultName: example_backup_vault\n snsTopicArn: ${testTopic.arn}\n backupVaultEvents:\n - BACKUP_JOB_STARTED\n - RESTORE_JOB_COMPLETED\nvariables:\n test:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n policyId: __default_policy_ID\n statements:\n - actions:\n - SNS:Publish\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - backup.amazonaws.com\n resources:\n - ${testTopic.arn}\n sid: __default_statement_ID\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup vault notifications using the `name`. For example:\n\n```sh\n$ pulumi import aws:backup/vaultNotifications:VaultNotifications test TestVault\n```\n", + "description": "Provides an AWS Backup vault notifications resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTopic = new aws.sns.Topic(\"test\", {name: \"backup-vault-events\"});\nconst test = testTopic.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n policyId: \"__default_policy_ID\",\n statements: [{\n actions: [\"SNS:Publish\"],\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"backup.amazonaws.com\"],\n }],\n resources: [arn],\n sid: \"__default_statement_ID\",\n }],\n}));\nconst testTopicPolicy = new aws.sns.TopicPolicy(\"test\", {\n arn: testTopic.arn,\n policy: test.apply(test =\u003e test.json),\n});\nconst testVaultNotifications = new aws.backup.VaultNotifications(\"test\", {\n backupVaultName: \"example_backup_vault\",\n snsTopicArn: testTopic.arn,\n backupVaultEvents: [\n \"BACKUP_JOB_STARTED\",\n \"RESTORE_JOB_COMPLETED\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_topic = aws.sns.Topic(\"test\", name=\"backup-vault-events\")\ntest = test_topic.arn.apply(lambda arn: aws.iam.get_policy_document_output(policy_id=\"__default_policy_ID\",\n statements=[{\n \"actions\": [\"SNS:Publish\"],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"backup.amazonaws.com\"],\n }],\n \"resources\": [arn],\n \"sid\": \"__default_statement_ID\",\n }]))\ntest_topic_policy = aws.sns.TopicPolicy(\"test\",\n arn=test_topic.arn,\n policy=test.json)\ntest_vault_notifications = aws.backup.VaultNotifications(\"test\",\n backup_vault_name=\"example_backup_vault\",\n sns_topic_arn=test_topic.arn,\n backup_vault_events=[\n \"BACKUP_JOB_STARTED\",\n \"RESTORE_JOB_COMPLETED\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTopic = new Aws.Sns.Topic(\"test\", new()\n {\n Name = \"backup-vault-events\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = \"__default_policy_ID\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"backup.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n testTopic.Arn,\n },\n Sid = \"__default_statement_ID\",\n },\n },\n });\n\n var testTopicPolicy = new Aws.Sns.TopicPolicy(\"test\", new()\n {\n Arn = testTopic.Arn,\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testVaultNotifications = new Aws.Backup.VaultNotifications(\"test\", new()\n {\n BackupVaultName = \"example_backup_vault\",\n SnsTopicArn = testTopic.Arn,\n BackupVaultEvents = new[]\n {\n \"BACKUP_JOB_STARTED\",\n \"RESTORE_JOB_COMPLETED\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntestTopic, err := sns.NewTopic(ctx, \"test\", \u0026sns.TopicArgs{\nName: pulumi.String(\"backup-vault-events\"),\n})\nif err != nil {\nreturn err\n}\ntest := testTopic.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nPolicyId: \"__default_policy_ID\",\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"SNS:Publish\",\n},\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"backup.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\narn,\n},\nSid: \"__default_statement_ID\",\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"test\", \u0026sns.TopicPolicyArgs{\nArn: testTopic.Arn,\nPolicy: pulumi.String(test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026test.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = backup.NewVaultNotifications(ctx, \"test\", \u0026backup.VaultNotificationsArgs{\nBackupVaultName: pulumi.String(\"example_backup_vault\"),\nSnsTopicArn: testTopic.Arn,\nBackupVaultEvents: pulumi.StringArray{\npulumi.String(\"BACKUP_JOB_STARTED\"),\npulumi.String(\"RESTORE_JOB_COMPLETED\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport com.pulumi.aws.backup.VaultNotifications;\nimport com.pulumi.aws.backup.VaultNotificationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testTopic = new Topic(\"testTopic\", TopicArgs.builder()\n .name(\"backup-vault-events\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(\"__default_policy_ID\")\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"SNS:Publish\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"backup.amazonaws.com\")\n .build())\n .resources(testTopic.arn())\n .sid(\"__default_statement_ID\")\n .build())\n .build());\n\n var testTopicPolicy = new TopicPolicy(\"testTopicPolicy\", TopicPolicyArgs.builder()\n .arn(testTopic.arn())\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var testVaultNotifications = new VaultNotifications(\"testVaultNotifications\", VaultNotificationsArgs.builder()\n .backupVaultName(\"example_backup_vault\")\n .snsTopicArn(testTopic.arn())\n .backupVaultEvents( \n \"BACKUP_JOB_STARTED\",\n \"RESTORE_JOB_COMPLETED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testTopic:\n type: aws:sns:Topic\n name: test\n properties:\n name: backup-vault-events\n testTopicPolicy:\n type: aws:sns:TopicPolicy\n name: test\n properties:\n arn: ${testTopic.arn}\n policy: ${test.json}\n testVaultNotifications:\n type: aws:backup:VaultNotifications\n name: test\n properties:\n backupVaultName: example_backup_vault\n snsTopicArn: ${testTopic.arn}\n backupVaultEvents:\n - BACKUP_JOB_STARTED\n - RESTORE_JOB_COMPLETED\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n policyId: __default_policy_ID\n statements:\n - actions:\n - SNS:Publish\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - backup.amazonaws.com\n resources:\n - ${testTopic.arn}\n sid: __default_statement_ID\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup vault notifications using the `name`. For example:\n\n```sh\n$ pulumi import aws:backup/vaultNotifications:VaultNotifications test TestVault\n```\n", "properties": { "backupVaultArn": { "type": "string", @@ -192563,7 +192563,7 @@ } }, "aws:backup/vaultPolicy:VaultPolicy": { - "description": "Provides an AWS Backup vault policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst exampleVault = new aws.backup.Vault(\"example\", {name: \"example\"});\nconst example = pulumi.all([current, exampleVault.arn]).apply(([current, arn]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [current.accountId],\n }],\n actions: [\n \"backup:DescribeBackupVault\",\n \"backup:DeleteBackupVault\",\n \"backup:PutBackupVaultAccessPolicy\",\n \"backup:DeleteBackupVaultAccessPolicy\",\n \"backup:GetBackupVaultAccessPolicy\",\n \"backup:StartBackupJob\",\n \"backup:GetBackupVaultNotifications\",\n \"backup:PutBackupVaultNotifications\",\n ],\n resources: [arn],\n }],\n}));\nconst exampleVaultPolicy = new aws.backup.VaultPolicy(\"example\", {\n backupVaultName: exampleVault.name,\n policy: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample_vault = aws.backup.Vault(\"example\", name=\"example\")\nexample = example_vault.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [current.account_id],\n }],\n \"actions\": [\n \"backup:DescribeBackupVault\",\n \"backup:DeleteBackupVault\",\n \"backup:PutBackupVaultAccessPolicy\",\n \"backup:DeleteBackupVaultAccessPolicy\",\n \"backup:GetBackupVaultAccessPolicy\",\n \"backup:StartBackupJob\",\n \"backup:GetBackupVaultNotifications\",\n \"backup:PutBackupVaultNotifications\",\n ],\n \"resources\": [arn],\n}]))\nexample_vault_policy = aws.backup.VaultPolicy(\"example\",\n backup_vault_name=example_vault.name,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var exampleVault = new Aws.Backup.Vault(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n Actions = new[]\n {\n \"backup:DescribeBackupVault\",\n \"backup:DeleteBackupVault\",\n \"backup:PutBackupVaultAccessPolicy\",\n \"backup:DeleteBackupVaultAccessPolicy\",\n \"backup:GetBackupVaultAccessPolicy\",\n \"backup:StartBackupJob\",\n \"backup:GetBackupVaultNotifications\",\n \"backup:PutBackupVaultNotifications\",\n },\n Resources = new[]\n {\n exampleVault.Arn,\n },\n },\n },\n });\n\n var exampleVaultPolicy = new Aws.Backup.VaultPolicy(\"example\", new()\n {\n BackupVaultName = exampleVault.Name,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nexampleVault, err := backup.NewVault(ctx, \"example\", \u0026backup.VaultArgs{\nName: pulumi.String(\"example\"),\n})\nif err != nil {\nreturn err\n}\nexample := exampleVault.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\ncurrent.AccountId,\n},\n},\n},\nActions: []string{\n\"backup:DescribeBackupVault\",\n\"backup:DeleteBackupVault\",\n\"backup:PutBackupVaultAccessPolicy\",\n\"backup:DeleteBackupVaultAccessPolicy\",\n\"backup:GetBackupVaultAccessPolicy\",\n\"backup:StartBackupJob\",\n\"backup:GetBackupVaultNotifications\",\n\"backup:PutBackupVaultNotifications\",\n},\nResources: []string{\narn,\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = backup.NewVaultPolicy(ctx, \"example\", \u0026backup.VaultPolicyArgs{\nBackupVaultName: exampleVault.Name,\nPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.backup.Vault;\nimport com.pulumi.aws.backup.VaultArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.backup.VaultPolicy;\nimport com.pulumi.aws.backup.VaultPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .actions( \n \"backup:DescribeBackupVault\",\n \"backup:DeleteBackupVault\",\n \"backup:PutBackupVaultAccessPolicy\",\n \"backup:DeleteBackupVaultAccessPolicy\",\n \"backup:GetBackupVaultAccessPolicy\",\n \"backup:StartBackupJob\",\n \"backup:GetBackupVaultNotifications\",\n \"backup:PutBackupVaultNotifications\")\n .resources(exampleVault.arn())\n .build())\n .build());\n\n var exampleVaultPolicy = new VaultPolicy(\"exampleVaultPolicy\", VaultPolicyArgs.builder()\n .backupVaultName(exampleVault.name())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVault:\n type: aws:backup:Vault\n name: example\n properties:\n name: example\n exampleVaultPolicy:\n type: aws:backup:VaultPolicy\n name: example\n properties:\n backupVaultName: ${exampleVault.name}\n policy: ${example.json}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${current.accountId}\n actions:\n - backup:DescribeBackupVault\n - backup:DeleteBackupVault\n - backup:PutBackupVaultAccessPolicy\n - backup:DeleteBackupVaultAccessPolicy\n - backup:GetBackupVaultAccessPolicy\n - backup:StartBackupJob\n - backup:GetBackupVaultNotifications\n - backup:PutBackupVaultNotifications\n resources:\n - ${exampleVault.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup vault policy using the `name`. For example:\n\n```sh\n$ pulumi import aws:backup/vaultPolicy:VaultPolicy test TestVault\n```\n", + "description": "Provides an AWS Backup vault policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst exampleVault = new aws.backup.Vault(\"example\", {name: \"example\"});\nconst example = pulumi.all([current, exampleVault.arn]).apply(([current, arn]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [current.accountId],\n }],\n actions: [\n \"backup:DescribeBackupVault\",\n \"backup:DeleteBackupVault\",\n \"backup:PutBackupVaultAccessPolicy\",\n \"backup:DeleteBackupVaultAccessPolicy\",\n \"backup:GetBackupVaultAccessPolicy\",\n \"backup:StartBackupJob\",\n \"backup:GetBackupVaultNotifications\",\n \"backup:PutBackupVaultNotifications\",\n ],\n resources: [arn],\n }],\n}));\nconst exampleVaultPolicy = new aws.backup.VaultPolicy(\"example\", {\n backupVaultName: exampleVault.name,\n policy: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample_vault = aws.backup.Vault(\"example\", name=\"example\")\nexample = example_vault.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [current.account_id],\n }],\n \"actions\": [\n \"backup:DescribeBackupVault\",\n \"backup:DeleteBackupVault\",\n \"backup:PutBackupVaultAccessPolicy\",\n \"backup:DeleteBackupVaultAccessPolicy\",\n \"backup:GetBackupVaultAccessPolicy\",\n \"backup:StartBackupJob\",\n \"backup:GetBackupVaultNotifications\",\n \"backup:PutBackupVaultNotifications\",\n ],\n \"resources\": [arn],\n}]))\nexample_vault_policy = aws.backup.VaultPolicy(\"example\",\n backup_vault_name=example_vault.name,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var exampleVault = new Aws.Backup.Vault(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n Actions = new[]\n {\n \"backup:DescribeBackupVault\",\n \"backup:DeleteBackupVault\",\n \"backup:PutBackupVaultAccessPolicy\",\n \"backup:DeleteBackupVaultAccessPolicy\",\n \"backup:GetBackupVaultAccessPolicy\",\n \"backup:StartBackupJob\",\n \"backup:GetBackupVaultNotifications\",\n \"backup:PutBackupVaultNotifications\",\n },\n Resources = new[]\n {\n exampleVault.Arn,\n },\n },\n },\n });\n\n var exampleVaultPolicy = new Aws.Backup.VaultPolicy(\"example\", new()\n {\n BackupVaultName = exampleVault.Name,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nexampleVault, err := backup.NewVault(ctx, \"example\", \u0026backup.VaultArgs{\nName: pulumi.String(\"example\"),\n})\nif err != nil {\nreturn err\n}\nexample := exampleVault.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\ncurrent.AccountId,\n},\n},\n},\nActions: []string{\n\"backup:DescribeBackupVault\",\n\"backup:DeleteBackupVault\",\n\"backup:PutBackupVaultAccessPolicy\",\n\"backup:DeleteBackupVaultAccessPolicy\",\n\"backup:GetBackupVaultAccessPolicy\",\n\"backup:StartBackupJob\",\n\"backup:GetBackupVaultNotifications\",\n\"backup:PutBackupVaultNotifications\",\n},\nResources: []string{\narn,\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = backup.NewVaultPolicy(ctx, \"example\", \u0026backup.VaultPolicyArgs{\nBackupVaultName: exampleVault.Name,\nPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.backup.Vault;\nimport com.pulumi.aws.backup.VaultArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.backup.VaultPolicy;\nimport com.pulumi.aws.backup.VaultPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .actions( \n \"backup:DescribeBackupVault\",\n \"backup:DeleteBackupVault\",\n \"backup:PutBackupVaultAccessPolicy\",\n \"backup:DeleteBackupVaultAccessPolicy\",\n \"backup:GetBackupVaultAccessPolicy\",\n \"backup:StartBackupJob\",\n \"backup:GetBackupVaultNotifications\",\n \"backup:PutBackupVaultNotifications\")\n .resources(exampleVault.arn())\n .build())\n .build());\n\n var exampleVaultPolicy = new VaultPolicy(\"exampleVaultPolicy\", VaultPolicyArgs.builder()\n .backupVaultName(exampleVault.name())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVault:\n type: aws:backup:Vault\n name: example\n properties:\n name: example\n exampleVaultPolicy:\n type: aws:backup:VaultPolicy\n name: example\n properties:\n backupVaultName: ${exampleVault.name}\n policy: ${example.json}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${current.accountId}\n actions:\n - backup:DescribeBackupVault\n - backup:DeleteBackupVault\n - backup:PutBackupVaultAccessPolicy\n - backup:DeleteBackupVaultAccessPolicy\n - backup:GetBackupVaultAccessPolicy\n - backup:StartBackupJob\n - backup:GetBackupVaultNotifications\n - backup:PutBackupVaultNotifications\n resources:\n - ${exampleVault.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup vault policy using the `name`. For example:\n\n```sh\n$ pulumi import aws:backup/vaultPolicy:VaultPolicy test TestVault\n```\n", "properties": { "backupVaultArn": { "type": "string", @@ -192619,7 +192619,7 @@ } }, "aws:batch/computeEnvironment:ComputeEnvironment": { - "description": "Creates a AWS Batch compute environment. Compute environments contain the Amazon ECS container instances that are used to run containerized batch jobs.\n\nFor information about AWS Batch, see [What is AWS Batch?](http://docs.aws.amazon.com/batch/latest/userguide/what-is-batch.html) .\nFor information about compute environment, see [Compute Environments](http://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) .\n\n\u003e **Note:** To prevent a race condition during environment deletion, make sure to set `depends_on` to the related `aws.iam.RolePolicyAttachment`;\notherwise, the policy may be destroyed too soon and the compute environment will then get stuck in the `DELETING` state, see [Troubleshooting AWS Batch](http://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html) .\n\n## Example Usage\n\n### EC2 Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2AssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst ecsInstanceRole = new aws.iam.Role(\"ecs_instance_role\", {\n name: \"ecs_instance_role\",\n assumeRolePolicy: ec2AssumeRole.then(ec2AssumeRole =\u003e ec2AssumeRole.json),\n});\nconst ecsInstanceRoleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"ecs_instance_role\", {\n role: ecsInstanceRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\",\n});\nconst ecsInstanceRoleInstanceProfile = new aws.iam.InstanceProfile(\"ecs_instance_role\", {\n name: \"ecs_instance_role\",\n role: ecsInstanceRole.name,\n});\nconst batchAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"batch.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst awsBatchServiceRole = new aws.iam.Role(\"aws_batch_service_role\", {\n name: \"aws_batch_service_role\",\n assumeRolePolicy: batchAssumeRole.then(batchAssumeRole =\u003e batchAssumeRole.json),\n});\nconst awsBatchServiceRoleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"aws_batch_service_role\", {\n role: awsBatchServiceRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\",\n});\nconst sample = new aws.ec2.SecurityGroup(\"sample\", {\n name: \"aws_batch_compute_environment_security_group\",\n egress: [{\n fromPort: 0,\n toPort: 0,\n protocol: \"-1\",\n cidrBlocks: [\"0.0.0.0/0\"],\n }],\n});\nconst sampleVpc = new aws.ec2.Vpc(\"sample\", {cidrBlock: \"10.1.0.0/16\"});\nconst sampleSubnet = new aws.ec2.Subnet(\"sample\", {\n vpcId: sampleVpc.id,\n cidrBlock: \"10.1.1.0/24\",\n});\nconst samplePlacementGroup = new aws.ec2.PlacementGroup(\"sample\", {\n name: \"sample\",\n strategy: aws.ec2.PlacementStrategy.Cluster,\n});\nconst sampleComputeEnvironment = new aws.batch.ComputeEnvironment(\"sample\", {\n computeEnvironmentName: \"sample\",\n computeResources: {\n instanceRole: ecsInstanceRoleInstanceProfile.arn,\n instanceTypes: [\"c4.large\"],\n maxVcpus: 16,\n minVcpus: 0,\n placementGroup: samplePlacementGroup.name,\n securityGroupIds: [sample.id],\n subnets: [sampleSubnet.id],\n type: \"EC2\",\n },\n serviceRole: awsBatchServiceRole.arn,\n type: \"MANAGED\",\n}, {\n dependsOn: [awsBatchServiceRoleRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"ec2.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\necs_instance_role = aws.iam.Role(\"ecs_instance_role\",\n name=\"ecs_instance_role\",\n assume_role_policy=ec2_assume_role.json)\necs_instance_role_role_policy_attachment = aws.iam.RolePolicyAttachment(\"ecs_instance_role\",\n role=ecs_instance_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\")\necs_instance_role_instance_profile = aws.iam.InstanceProfile(\"ecs_instance_role\",\n name=\"ecs_instance_role\",\n role=ecs_instance_role.name)\nbatch_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"batch.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\naws_batch_service_role = aws.iam.Role(\"aws_batch_service_role\",\n name=\"aws_batch_service_role\",\n assume_role_policy=batch_assume_role.json)\naws_batch_service_role_role_policy_attachment = aws.iam.RolePolicyAttachment(\"aws_batch_service_role\",\n role=aws_batch_service_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\")\nsample = aws.ec2.SecurityGroup(\"sample\",\n name=\"aws_batch_compute_environment_security_group\",\n egress=[{\n \"from_port\": 0,\n \"to_port\": 0,\n \"protocol\": \"-1\",\n \"cidr_blocks\": [\"0.0.0.0/0\"],\n }])\nsample_vpc = aws.ec2.Vpc(\"sample\", cidr_block=\"10.1.0.0/16\")\nsample_subnet = aws.ec2.Subnet(\"sample\",\n vpc_id=sample_vpc.id,\n cidr_block=\"10.1.1.0/24\")\nsample_placement_group = aws.ec2.PlacementGroup(\"sample\",\n name=\"sample\",\n strategy=aws.ec2.PlacementStrategy.CLUSTER)\nsample_compute_environment = aws.batch.ComputeEnvironment(\"sample\",\n compute_environment_name=\"sample\",\n compute_resources={\n \"instance_role\": ecs_instance_role_instance_profile.arn,\n \"instance_types\": [\"c4.large\"],\n \"max_vcpus\": 16,\n \"min_vcpus\": 0,\n \"placement_group\": sample_placement_group.name,\n \"security_group_ids\": [sample.id],\n \"subnets\": [sample_subnet.id],\n \"type\": \"EC2\",\n },\n service_role=aws_batch_service_role.arn,\n type=\"MANAGED\",\n opts = pulumi.ResourceOptions(depends_on=[aws_batch_service_role_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ec2AssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var ecsInstanceRole = new Aws.Iam.Role(\"ecs_instance_role\", new()\n {\n Name = \"ecs_instance_role\",\n AssumeRolePolicy = ec2AssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ecsInstanceRoleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"ecs_instance_role\", new()\n {\n Role = ecsInstanceRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\",\n });\n\n var ecsInstanceRoleInstanceProfile = new Aws.Iam.InstanceProfile(\"ecs_instance_role\", new()\n {\n Name = \"ecs_instance_role\",\n Role = ecsInstanceRole.Name,\n });\n\n var batchAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"batch.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var awsBatchServiceRole = new Aws.Iam.Role(\"aws_batch_service_role\", new()\n {\n Name = \"aws_batch_service_role\",\n AssumeRolePolicy = batchAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var awsBatchServiceRoleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"aws_batch_service_role\", new()\n {\n Role = awsBatchServiceRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\",\n });\n\n var sample = new Aws.Ec2.SecurityGroup(\"sample\", new()\n {\n Name = \"aws_batch_compute_environment_security_group\",\n Egress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupEgressArgs\n {\n FromPort = 0,\n ToPort = 0,\n Protocol = \"-1\",\n CidrBlocks = new[]\n {\n \"0.0.0.0/0\",\n },\n },\n },\n });\n\n var sampleVpc = new Aws.Ec2.Vpc(\"sample\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var sampleSubnet = new Aws.Ec2.Subnet(\"sample\", new()\n {\n VpcId = sampleVpc.Id,\n CidrBlock = \"10.1.1.0/24\",\n });\n\n var samplePlacementGroup = new Aws.Ec2.PlacementGroup(\"sample\", new()\n {\n Name = \"sample\",\n Strategy = Aws.Ec2.PlacementStrategy.Cluster,\n });\n\n var sampleComputeEnvironment = new Aws.Batch.ComputeEnvironment(\"sample\", new()\n {\n ComputeEnvironmentName = \"sample\",\n ComputeResources = new Aws.Batch.Inputs.ComputeEnvironmentComputeResourcesArgs\n {\n InstanceRole = ecsInstanceRoleInstanceProfile.Arn,\n InstanceTypes = new[]\n {\n \"c4.large\",\n },\n MaxVcpus = 16,\n MinVcpus = 0,\n PlacementGroup = samplePlacementGroup.Name,\n SecurityGroupIds = new[]\n {\n sample.Id,\n },\n Subnets = new[]\n {\n sampleSubnet.Id,\n },\n Type = \"EC2\",\n },\n ServiceRole = awsBatchServiceRole.Arn,\n Type = \"MANAGED\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n awsBatchServiceRoleRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tec2AssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tecsInstanceRole, err := iam.NewRole(ctx, \"ecs_instance_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"ecs_instance_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(ec2AssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"ecs_instance_role\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: ecsInstanceRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tecsInstanceRoleInstanceProfile, err := iam.NewInstanceProfile(ctx, \"ecs_instance_role\", \u0026iam.InstanceProfileArgs{\n\t\t\tName: pulumi.String(\"ecs_instance_role\"),\n\t\t\tRole: ecsInstanceRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbatchAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"batch.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tawsBatchServiceRole, err := iam.NewRole(ctx, \"aws_batch_service_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"aws_batch_service_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(batchAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tawsBatchServiceRoleRolePolicyAttachment, err := iam.NewRolePolicyAttachment(ctx, \"aws_batch_service_role\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: awsBatchServiceRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsample, err := ec2.NewSecurityGroup(ctx, \"sample\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"aws_batch_compute_environment_security_group\"),\n\t\t\tEgress: ec2.SecurityGroupEgressArray{\n\t\t\t\t\u0026ec2.SecurityGroupEgressArgs{\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t},\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\tsampleVpc, err := ec2.NewVpc(ctx, \"sample\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsampleSubnet, err := ec2.NewSubnet(ctx, \"sample\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: sampleVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.1.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsamplePlacementGroup, err := ec2.NewPlacementGroup(ctx, \"sample\", \u0026ec2.PlacementGroupArgs{\n\t\t\tName: pulumi.String(\"sample\"),\n\t\t\tStrategy: pulumi.String(ec2.PlacementStrategyCluster),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewComputeEnvironment(ctx, \"sample\", \u0026batch.ComputeEnvironmentArgs{\n\t\t\tComputeEnvironmentName: pulumi.String(\"sample\"),\n\t\t\tComputeResources: \u0026batch.ComputeEnvironmentComputeResourcesArgs{\n\t\t\t\tInstanceRole: ecsInstanceRoleInstanceProfile.Arn,\n\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"c4.large\"),\n\t\t\t\t},\n\t\t\t\tMaxVcpus: pulumi.Int(16),\n\t\t\t\tMinVcpus: pulumi.Int(0),\n\t\t\t\tPlacementGroup: samplePlacementGroup.Name,\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tsample.ID(),\n\t\t\t\t},\n\t\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\t\tsampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t\tType: pulumi.String(\"EC2\"),\n\t\t\t},\n\t\t\tServiceRole: awsBatchServiceRole.Arn,\n\t\t\tType: pulumi.String(\"MANAGED\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tawsBatchServiceRoleRolePolicyAttachment,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.iam.InstanceProfile;\nimport com.pulumi.aws.iam.InstanceProfileArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupEgressArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.PlacementGroup;\nimport com.pulumi.aws.ec2.PlacementGroupArgs;\nimport com.pulumi.aws.batch.ComputeEnvironment;\nimport com.pulumi.aws.batch.ComputeEnvironmentArgs;\nimport com.pulumi.aws.batch.inputs.ComputeEnvironmentComputeResourcesArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ec2AssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var ecsInstanceRole = new Role(\"ecsInstanceRole\", RoleArgs.builder()\n .name(\"ecs_instance_role\")\n .assumeRolePolicy(ec2AssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var ecsInstanceRoleRolePolicyAttachment = new RolePolicyAttachment(\"ecsInstanceRoleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(ecsInstanceRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\")\n .build());\n\n var ecsInstanceRoleInstanceProfile = new InstanceProfile(\"ecsInstanceRoleInstanceProfile\", InstanceProfileArgs.builder()\n .name(\"ecs_instance_role\")\n .role(ecsInstanceRole.name())\n .build());\n\n final var batchAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"batch.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var awsBatchServiceRole = new Role(\"awsBatchServiceRole\", RoleArgs.builder()\n .name(\"aws_batch_service_role\")\n .assumeRolePolicy(batchAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var awsBatchServiceRoleRolePolicyAttachment = new RolePolicyAttachment(\"awsBatchServiceRoleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(awsBatchServiceRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\")\n .build());\n\n var sample = new SecurityGroup(\"sample\", SecurityGroupArgs.builder()\n .name(\"aws_batch_compute_environment_security_group\")\n .egress(SecurityGroupEgressArgs.builder()\n .fromPort(0)\n .toPort(0)\n .protocol(\"-1\")\n .cidrBlocks(\"0.0.0.0/0\")\n .build())\n .build());\n\n var sampleVpc = new Vpc(\"sampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var sampleSubnet = new Subnet(\"sampleSubnet\", SubnetArgs.builder()\n .vpcId(sampleVpc.id())\n .cidrBlock(\"10.1.1.0/24\")\n .build());\n\n var samplePlacementGroup = new PlacementGroup(\"samplePlacementGroup\", PlacementGroupArgs.builder()\n .name(\"sample\")\n .strategy(\"cluster\")\n .build());\n\n var sampleComputeEnvironment = new ComputeEnvironment(\"sampleComputeEnvironment\", ComputeEnvironmentArgs.builder()\n .computeEnvironmentName(\"sample\")\n .computeResources(ComputeEnvironmentComputeResourcesArgs.builder()\n .instanceRole(ecsInstanceRoleInstanceProfile.arn())\n .instanceTypes(\"c4.large\")\n .maxVcpus(16)\n .minVcpus(0)\n .placementGroup(samplePlacementGroup.name())\n .securityGroupIds(sample.id())\n .subnets(sampleSubnet.id())\n .type(\"EC2\")\n .build())\n .serviceRole(awsBatchServiceRole.arn())\n .type(\"MANAGED\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(awsBatchServiceRoleRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsInstanceRole:\n type: aws:iam:Role\n name: ecs_instance_role\n properties:\n name: ecs_instance_role\n assumeRolePolicy: ${ec2AssumeRole.json}\n ecsInstanceRoleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: ecs_instance_role\n properties:\n role: ${ecsInstanceRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\n ecsInstanceRoleInstanceProfile:\n type: aws:iam:InstanceProfile\n name: ecs_instance_role\n properties:\n name: ecs_instance_role\n role: ${ecsInstanceRole.name}\n awsBatchServiceRole:\n type: aws:iam:Role\n name: aws_batch_service_role\n properties:\n name: aws_batch_service_role\n assumeRolePolicy: ${batchAssumeRole.json}\n awsBatchServiceRoleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: aws_batch_service_role\n properties:\n role: ${awsBatchServiceRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\n sample:\n type: aws:ec2:SecurityGroup\n properties:\n name: aws_batch_compute_environment_security_group\n egress:\n - fromPort: 0\n toPort: 0\n protocol: '-1'\n cidrBlocks:\n - 0.0.0.0/0\n sampleVpc:\n type: aws:ec2:Vpc\n name: sample\n properties:\n cidrBlock: 10.1.0.0/16\n sampleSubnet:\n type: aws:ec2:Subnet\n name: sample\n properties:\n vpcId: ${sampleVpc.id}\n cidrBlock: 10.1.1.0/24\n samplePlacementGroup:\n type: aws:ec2:PlacementGroup\n name: sample\n properties:\n name: sample\n strategy: cluster\n sampleComputeEnvironment:\n type: aws:batch:ComputeEnvironment\n name: sample\n properties:\n computeEnvironmentName: sample\n computeResources:\n instanceRole: ${ecsInstanceRoleInstanceProfile.arn}\n instanceTypes:\n - c4.large\n maxVcpus: 16\n minVcpus: 0\n placementGroup: ${samplePlacementGroup.name}\n securityGroupIds:\n - ${sample.id}\n subnets:\n - ${sampleSubnet.id}\n type: EC2\n serviceRole: ${awsBatchServiceRole.arn}\n type: MANAGED\n options:\n dependsOn:\n - ${awsBatchServiceRoleRolePolicyAttachment}\nvariables:\n ec2AssumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n actions:\n - sts:AssumeRole\n batchAssumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - batch.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Fargate Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sample = new aws.batch.ComputeEnvironment(\"sample\", {\n computeEnvironmentName: \"sample\",\n computeResources: {\n maxVcpus: 16,\n securityGroupIds: [sampleAwsSecurityGroup.id],\n subnets: [sampleAwsSubnet.id],\n type: \"FARGATE\",\n },\n serviceRole: awsBatchServiceRoleAwsIamRole.arn,\n type: \"MANAGED\",\n}, {\n dependsOn: [awsBatchServiceRole],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsample = aws.batch.ComputeEnvironment(\"sample\",\n compute_environment_name=\"sample\",\n compute_resources={\n \"max_vcpus\": 16,\n \"security_group_ids\": [sample_aws_security_group[\"id\"]],\n \"subnets\": [sample_aws_subnet[\"id\"]],\n \"type\": \"FARGATE\",\n },\n service_role=aws_batch_service_role_aws_iam_role[\"arn\"],\n type=\"MANAGED\",\n opts = pulumi.ResourceOptions(depends_on=[aws_batch_service_role]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample = new Aws.Batch.ComputeEnvironment(\"sample\", new()\n {\n ComputeEnvironmentName = \"sample\",\n ComputeResources = new Aws.Batch.Inputs.ComputeEnvironmentComputeResourcesArgs\n {\n MaxVcpus = 16,\n SecurityGroupIds = new[]\n {\n sampleAwsSecurityGroup.Id,\n },\n Subnets = new[]\n {\n sampleAwsSubnet.Id,\n },\n Type = \"FARGATE\",\n },\n ServiceRole = awsBatchServiceRoleAwsIamRole.Arn,\n Type = \"MANAGED\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n awsBatchServiceRole,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\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 := batch.NewComputeEnvironment(ctx, \"sample\", \u0026batch.ComputeEnvironmentArgs{\n\t\t\tComputeEnvironmentName: pulumi.String(\"sample\"),\n\t\t\tComputeResources: \u0026batch.ComputeEnvironmentComputeResourcesArgs{\n\t\t\t\tMaxVcpus: pulumi.Int(16),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tsampleAwsSecurityGroup.Id,\n\t\t\t\t},\n\t\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\t\tsampleAwsSubnet.Id,\n\t\t\t\t},\n\t\t\t\tType: pulumi.String(\"FARGATE\"),\n\t\t\t},\n\t\t\tServiceRole: pulumi.Any(awsBatchServiceRoleAwsIamRole.Arn),\n\t\t\tType: pulumi.String(\"MANAGED\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tawsBatchServiceRole,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.ComputeEnvironment;\nimport com.pulumi.aws.batch.ComputeEnvironmentArgs;\nimport com.pulumi.aws.batch.inputs.ComputeEnvironmentComputeResourcesArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sample = new ComputeEnvironment(\"sample\", ComputeEnvironmentArgs.builder()\n .computeEnvironmentName(\"sample\")\n .computeResources(ComputeEnvironmentComputeResourcesArgs.builder()\n .maxVcpus(16)\n .securityGroupIds(sampleAwsSecurityGroup.id())\n .subnets(sampleAwsSubnet.id())\n .type(\"FARGATE\")\n .build())\n .serviceRole(awsBatchServiceRoleAwsIamRole.arn())\n .type(\"MANAGED\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(awsBatchServiceRole)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample:\n type: aws:batch:ComputeEnvironment\n properties:\n computeEnvironmentName: sample\n computeResources:\n maxVcpus: 16\n securityGroupIds:\n - ${sampleAwsSecurityGroup.id}\n subnets:\n - ${sampleAwsSubnet.id}\n type: FARGATE\n serviceRole: ${awsBatchServiceRoleAwsIamRole.arn}\n type: MANAGED\n options:\n dependsOn:\n - ${awsBatchServiceRole}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Setting Update Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sample = new aws.batch.ComputeEnvironment(\"sample\", {\n computeEnvironmentName: \"sample\",\n computeResources: {\n allocationStrategy: \"BEST_FIT_PROGRESSIVE\",\n instanceRole: ecsInstance.arn,\n instanceTypes: [\"optimal\"],\n maxVcpus: 4,\n minVcpus: 0,\n securityGroupIds: [sampleAwsSecurityGroup.id],\n subnets: [sampleAwsSubnet.id],\n type: \"EC2\",\n },\n updatePolicy: {\n jobExecutionTimeoutMinutes: 30,\n terminateJobsOnUpdate: false,\n },\n type: \"MANAGED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsample = aws.batch.ComputeEnvironment(\"sample\",\n compute_environment_name=\"sample\",\n compute_resources={\n \"allocation_strategy\": \"BEST_FIT_PROGRESSIVE\",\n \"instance_role\": ecs_instance[\"arn\"],\n \"instance_types\": [\"optimal\"],\n \"max_vcpus\": 4,\n \"min_vcpus\": 0,\n \"security_group_ids\": [sample_aws_security_group[\"id\"]],\n \"subnets\": [sample_aws_subnet[\"id\"]],\n \"type\": \"EC2\",\n },\n update_policy={\n \"job_execution_timeout_minutes\": 30,\n \"terminate_jobs_on_update\": False,\n },\n type=\"MANAGED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample = new Aws.Batch.ComputeEnvironment(\"sample\", new()\n {\n ComputeEnvironmentName = \"sample\",\n ComputeResources = new Aws.Batch.Inputs.ComputeEnvironmentComputeResourcesArgs\n {\n AllocationStrategy = \"BEST_FIT_PROGRESSIVE\",\n InstanceRole = ecsInstance.Arn,\n InstanceTypes = new[]\n {\n \"optimal\",\n },\n MaxVcpus = 4,\n MinVcpus = 0,\n SecurityGroupIds = new[]\n {\n sampleAwsSecurityGroup.Id,\n },\n Subnets = new[]\n {\n sampleAwsSubnet.Id,\n },\n Type = \"EC2\",\n },\n UpdatePolicy = new Aws.Batch.Inputs.ComputeEnvironmentUpdatePolicyArgs\n {\n JobExecutionTimeoutMinutes = 30,\n TerminateJobsOnUpdate = false,\n },\n Type = \"MANAGED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\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 := batch.NewComputeEnvironment(ctx, \"sample\", \u0026batch.ComputeEnvironmentArgs{\n\t\t\tComputeEnvironmentName: pulumi.String(\"sample\"),\n\t\t\tComputeResources: \u0026batch.ComputeEnvironmentComputeResourcesArgs{\n\t\t\t\tAllocationStrategy: pulumi.String(\"BEST_FIT_PROGRESSIVE\"),\n\t\t\t\tInstanceRole: pulumi.Any(ecsInstance.Arn),\n\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"optimal\"),\n\t\t\t\t},\n\t\t\t\tMaxVcpus: pulumi.Int(4),\n\t\t\t\tMinVcpus: pulumi.Int(0),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tsampleAwsSecurityGroup.Id,\n\t\t\t\t},\n\t\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\t\tsampleAwsSubnet.Id,\n\t\t\t\t},\n\t\t\t\tType: pulumi.String(\"EC2\"),\n\t\t\t},\n\t\t\tUpdatePolicy: \u0026batch.ComputeEnvironmentUpdatePolicyArgs{\n\t\t\t\tJobExecutionTimeoutMinutes: pulumi.Int(30),\n\t\t\t\tTerminateJobsOnUpdate: pulumi.Bool(false),\n\t\t\t},\n\t\t\tType: pulumi.String(\"MANAGED\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.ComputeEnvironment;\nimport com.pulumi.aws.batch.ComputeEnvironmentArgs;\nimport com.pulumi.aws.batch.inputs.ComputeEnvironmentComputeResourcesArgs;\nimport com.pulumi.aws.batch.inputs.ComputeEnvironmentUpdatePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sample = new ComputeEnvironment(\"sample\", ComputeEnvironmentArgs.builder()\n .computeEnvironmentName(\"sample\")\n .computeResources(ComputeEnvironmentComputeResourcesArgs.builder()\n .allocationStrategy(\"BEST_FIT_PROGRESSIVE\")\n .instanceRole(ecsInstance.arn())\n .instanceTypes(\"optimal\")\n .maxVcpus(4)\n .minVcpus(0)\n .securityGroupIds(sampleAwsSecurityGroup.id())\n .subnets(sampleAwsSubnet.id())\n .type(\"EC2\")\n .build())\n .updatePolicy(ComputeEnvironmentUpdatePolicyArgs.builder()\n .jobExecutionTimeoutMinutes(30)\n .terminateJobsOnUpdate(false)\n .build())\n .type(\"MANAGED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample:\n type: aws:batch:ComputeEnvironment\n properties:\n computeEnvironmentName: sample\n computeResources:\n allocationStrategy: BEST_FIT_PROGRESSIVE\n instanceRole: ${ecsInstance.arn}\n instanceTypes:\n - optimal\n maxVcpus: 4\n minVcpus: 0\n securityGroupIds:\n - ${sampleAwsSecurityGroup.id}\n subnets:\n - ${sampleAwsSubnet.id}\n type: EC2\n updatePolicy:\n jobExecutionTimeoutMinutes: 30\n terminateJobsOnUpdate: false\n type: MANAGED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Batch compute using the `compute_environment_name`. For example:\n\n```sh\n$ pulumi import aws:batch/computeEnvironment:ComputeEnvironment sample sample\n```\n", + "description": "Creates a AWS Batch compute environment. Compute environments contain the Amazon ECS container instances that are used to run containerized batch jobs.\n\nFor information about AWS Batch, see [What is AWS Batch?](http://docs.aws.amazon.com/batch/latest/userguide/what-is-batch.html) .\nFor information about compute environment, see [Compute Environments](http://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) .\n\n\u003e **Note:** To prevent a race condition during environment deletion, make sure to set `depends_on` to the related `aws.iam.RolePolicyAttachment`;\notherwise, the policy may be destroyed too soon and the compute environment will then get stuck in the `DELETING` state, see [Troubleshooting AWS Batch](http://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html) .\n\n## Example Usage\n\n### EC2 Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2AssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst ecsInstanceRole = new aws.iam.Role(\"ecs_instance_role\", {\n name: \"ecs_instance_role\",\n assumeRolePolicy: ec2AssumeRole.then(ec2AssumeRole =\u003e ec2AssumeRole.json),\n});\nconst ecsInstanceRoleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"ecs_instance_role\", {\n role: ecsInstanceRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\",\n});\nconst ecsInstanceRoleInstanceProfile = new aws.iam.InstanceProfile(\"ecs_instance_role\", {\n name: \"ecs_instance_role\",\n role: ecsInstanceRole.name,\n});\nconst batchAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"batch.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst awsBatchServiceRole = new aws.iam.Role(\"aws_batch_service_role\", {\n name: \"aws_batch_service_role\",\n assumeRolePolicy: batchAssumeRole.then(batchAssumeRole =\u003e batchAssumeRole.json),\n});\nconst awsBatchServiceRoleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"aws_batch_service_role\", {\n role: awsBatchServiceRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\",\n});\nconst sample = new aws.ec2.SecurityGroup(\"sample\", {\n name: \"aws_batch_compute_environment_security_group\",\n egress: [{\n fromPort: 0,\n toPort: 0,\n protocol: \"-1\",\n cidrBlocks: [\"0.0.0.0/0\"],\n }],\n});\nconst sampleVpc = new aws.ec2.Vpc(\"sample\", {cidrBlock: \"10.1.0.0/16\"});\nconst sampleSubnet = new aws.ec2.Subnet(\"sample\", {\n vpcId: sampleVpc.id,\n cidrBlock: \"10.1.1.0/24\",\n});\nconst samplePlacementGroup = new aws.ec2.PlacementGroup(\"sample\", {\n name: \"sample\",\n strategy: aws.ec2.PlacementStrategy.Cluster,\n});\nconst sampleComputeEnvironment = new aws.batch.ComputeEnvironment(\"sample\", {\n computeEnvironmentName: \"sample\",\n computeResources: {\n instanceRole: ecsInstanceRoleInstanceProfile.arn,\n instanceTypes: [\"c4.large\"],\n maxVcpus: 16,\n minVcpus: 0,\n placementGroup: samplePlacementGroup.name,\n securityGroupIds: [sample.id],\n subnets: [sampleSubnet.id],\n type: \"EC2\",\n },\n serviceRole: awsBatchServiceRole.arn,\n type: \"MANAGED\",\n}, {\n dependsOn: [awsBatchServiceRoleRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"ec2.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\necs_instance_role = aws.iam.Role(\"ecs_instance_role\",\n name=\"ecs_instance_role\",\n assume_role_policy=ec2_assume_role.json)\necs_instance_role_role_policy_attachment = aws.iam.RolePolicyAttachment(\"ecs_instance_role\",\n role=ecs_instance_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\")\necs_instance_role_instance_profile = aws.iam.InstanceProfile(\"ecs_instance_role\",\n name=\"ecs_instance_role\",\n role=ecs_instance_role.name)\nbatch_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"batch.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\naws_batch_service_role = aws.iam.Role(\"aws_batch_service_role\",\n name=\"aws_batch_service_role\",\n assume_role_policy=batch_assume_role.json)\naws_batch_service_role_role_policy_attachment = aws.iam.RolePolicyAttachment(\"aws_batch_service_role\",\n role=aws_batch_service_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\")\nsample = aws.ec2.SecurityGroup(\"sample\",\n name=\"aws_batch_compute_environment_security_group\",\n egress=[{\n \"from_port\": 0,\n \"to_port\": 0,\n \"protocol\": \"-1\",\n \"cidr_blocks\": [\"0.0.0.0/0\"],\n }])\nsample_vpc = aws.ec2.Vpc(\"sample\", cidr_block=\"10.1.0.0/16\")\nsample_subnet = aws.ec2.Subnet(\"sample\",\n vpc_id=sample_vpc.id,\n cidr_block=\"10.1.1.0/24\")\nsample_placement_group = aws.ec2.PlacementGroup(\"sample\",\n name=\"sample\",\n strategy=aws.ec2.PlacementStrategy.CLUSTER)\nsample_compute_environment = aws.batch.ComputeEnvironment(\"sample\",\n compute_environment_name=\"sample\",\n compute_resources={\n \"instance_role\": ecs_instance_role_instance_profile.arn,\n \"instance_types\": [\"c4.large\"],\n \"max_vcpus\": 16,\n \"min_vcpus\": 0,\n \"placement_group\": sample_placement_group.name,\n \"security_group_ids\": [sample.id],\n \"subnets\": [sample_subnet.id],\n \"type\": \"EC2\",\n },\n service_role=aws_batch_service_role.arn,\n type=\"MANAGED\",\n opts = pulumi.ResourceOptions(depends_on=[aws_batch_service_role_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ec2AssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var ecsInstanceRole = new Aws.Iam.Role(\"ecs_instance_role\", new()\n {\n Name = \"ecs_instance_role\",\n AssumeRolePolicy = ec2AssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ecsInstanceRoleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"ecs_instance_role\", new()\n {\n Role = ecsInstanceRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\",\n });\n\n var ecsInstanceRoleInstanceProfile = new Aws.Iam.InstanceProfile(\"ecs_instance_role\", new()\n {\n Name = \"ecs_instance_role\",\n Role = ecsInstanceRole.Name,\n });\n\n var batchAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"batch.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var awsBatchServiceRole = new Aws.Iam.Role(\"aws_batch_service_role\", new()\n {\n Name = \"aws_batch_service_role\",\n AssumeRolePolicy = batchAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var awsBatchServiceRoleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"aws_batch_service_role\", new()\n {\n Role = awsBatchServiceRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\",\n });\n\n var sample = new Aws.Ec2.SecurityGroup(\"sample\", new()\n {\n Name = \"aws_batch_compute_environment_security_group\",\n Egress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupEgressArgs\n {\n FromPort = 0,\n ToPort = 0,\n Protocol = \"-1\",\n CidrBlocks = new[]\n {\n \"0.0.0.0/0\",\n },\n },\n },\n });\n\n var sampleVpc = new Aws.Ec2.Vpc(\"sample\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var sampleSubnet = new Aws.Ec2.Subnet(\"sample\", new()\n {\n VpcId = sampleVpc.Id,\n CidrBlock = \"10.1.1.0/24\",\n });\n\n var samplePlacementGroup = new Aws.Ec2.PlacementGroup(\"sample\", new()\n {\n Name = \"sample\",\n Strategy = Aws.Ec2.PlacementStrategy.Cluster,\n });\n\n var sampleComputeEnvironment = new Aws.Batch.ComputeEnvironment(\"sample\", new()\n {\n ComputeEnvironmentName = \"sample\",\n ComputeResources = new Aws.Batch.Inputs.ComputeEnvironmentComputeResourcesArgs\n {\n InstanceRole = ecsInstanceRoleInstanceProfile.Arn,\n InstanceTypes = new[]\n {\n \"c4.large\",\n },\n MaxVcpus = 16,\n MinVcpus = 0,\n PlacementGroup = samplePlacementGroup.Name,\n SecurityGroupIds = new[]\n {\n sample.Id,\n },\n Subnets = new[]\n {\n sampleSubnet.Id,\n },\n Type = \"EC2\",\n },\n ServiceRole = awsBatchServiceRole.Arn,\n Type = \"MANAGED\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n awsBatchServiceRoleRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tec2AssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tecsInstanceRole, err := iam.NewRole(ctx, \"ecs_instance_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"ecs_instance_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(ec2AssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"ecs_instance_role\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: ecsInstanceRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tecsInstanceRoleInstanceProfile, err := iam.NewInstanceProfile(ctx, \"ecs_instance_role\", \u0026iam.InstanceProfileArgs{\n\t\t\tName: pulumi.String(\"ecs_instance_role\"),\n\t\t\tRole: ecsInstanceRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbatchAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"batch.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tawsBatchServiceRole, err := iam.NewRole(ctx, \"aws_batch_service_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"aws_batch_service_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(batchAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tawsBatchServiceRoleRolePolicyAttachment, err := iam.NewRolePolicyAttachment(ctx, \"aws_batch_service_role\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: awsBatchServiceRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsample, err := ec2.NewSecurityGroup(ctx, \"sample\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"aws_batch_compute_environment_security_group\"),\n\t\t\tEgress: ec2.SecurityGroupEgressArray{\n\t\t\t\t\u0026ec2.SecurityGroupEgressArgs{\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t},\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\tsampleVpc, err := ec2.NewVpc(ctx, \"sample\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsampleSubnet, err := ec2.NewSubnet(ctx, \"sample\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: sampleVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.1.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsamplePlacementGroup, err := ec2.NewPlacementGroup(ctx, \"sample\", \u0026ec2.PlacementGroupArgs{\n\t\t\tName: pulumi.String(\"sample\"),\n\t\t\tStrategy: pulumi.String(ec2.PlacementStrategyCluster),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewComputeEnvironment(ctx, \"sample\", \u0026batch.ComputeEnvironmentArgs{\n\t\t\tComputeEnvironmentName: pulumi.String(\"sample\"),\n\t\t\tComputeResources: \u0026batch.ComputeEnvironmentComputeResourcesArgs{\n\t\t\t\tInstanceRole: ecsInstanceRoleInstanceProfile.Arn,\n\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"c4.large\"),\n\t\t\t\t},\n\t\t\t\tMaxVcpus: pulumi.Int(16),\n\t\t\t\tMinVcpus: pulumi.Int(0),\n\t\t\t\tPlacementGroup: samplePlacementGroup.Name,\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tsample.ID(),\n\t\t\t\t},\n\t\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\t\tsampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t\tType: pulumi.String(\"EC2\"),\n\t\t\t},\n\t\t\tServiceRole: awsBatchServiceRole.Arn,\n\t\t\tType: pulumi.String(\"MANAGED\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tawsBatchServiceRoleRolePolicyAttachment,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.iam.InstanceProfile;\nimport com.pulumi.aws.iam.InstanceProfileArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupEgressArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.PlacementGroup;\nimport com.pulumi.aws.ec2.PlacementGroupArgs;\nimport com.pulumi.aws.batch.ComputeEnvironment;\nimport com.pulumi.aws.batch.ComputeEnvironmentArgs;\nimport com.pulumi.aws.batch.inputs.ComputeEnvironmentComputeResourcesArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ec2AssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var ecsInstanceRole = new Role(\"ecsInstanceRole\", RoleArgs.builder()\n .name(\"ecs_instance_role\")\n .assumeRolePolicy(ec2AssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var ecsInstanceRoleRolePolicyAttachment = new RolePolicyAttachment(\"ecsInstanceRoleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(ecsInstanceRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\")\n .build());\n\n var ecsInstanceRoleInstanceProfile = new InstanceProfile(\"ecsInstanceRoleInstanceProfile\", InstanceProfileArgs.builder()\n .name(\"ecs_instance_role\")\n .role(ecsInstanceRole.name())\n .build());\n\n final var batchAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"batch.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var awsBatchServiceRole = new Role(\"awsBatchServiceRole\", RoleArgs.builder()\n .name(\"aws_batch_service_role\")\n .assumeRolePolicy(batchAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var awsBatchServiceRoleRolePolicyAttachment = new RolePolicyAttachment(\"awsBatchServiceRoleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(awsBatchServiceRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\")\n .build());\n\n var sample = new SecurityGroup(\"sample\", SecurityGroupArgs.builder()\n .name(\"aws_batch_compute_environment_security_group\")\n .egress(SecurityGroupEgressArgs.builder()\n .fromPort(0)\n .toPort(0)\n .protocol(\"-1\")\n .cidrBlocks(\"0.0.0.0/0\")\n .build())\n .build());\n\n var sampleVpc = new Vpc(\"sampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var sampleSubnet = new Subnet(\"sampleSubnet\", SubnetArgs.builder()\n .vpcId(sampleVpc.id())\n .cidrBlock(\"10.1.1.0/24\")\n .build());\n\n var samplePlacementGroup = new PlacementGroup(\"samplePlacementGroup\", PlacementGroupArgs.builder()\n .name(\"sample\")\n .strategy(\"cluster\")\n .build());\n\n var sampleComputeEnvironment = new ComputeEnvironment(\"sampleComputeEnvironment\", ComputeEnvironmentArgs.builder()\n .computeEnvironmentName(\"sample\")\n .computeResources(ComputeEnvironmentComputeResourcesArgs.builder()\n .instanceRole(ecsInstanceRoleInstanceProfile.arn())\n .instanceTypes(\"c4.large\")\n .maxVcpus(16)\n .minVcpus(0)\n .placementGroup(samplePlacementGroup.name())\n .securityGroupIds(sample.id())\n .subnets(sampleSubnet.id())\n .type(\"EC2\")\n .build())\n .serviceRole(awsBatchServiceRole.arn())\n .type(\"MANAGED\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(awsBatchServiceRoleRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsInstanceRole:\n type: aws:iam:Role\n name: ecs_instance_role\n properties:\n name: ecs_instance_role\n assumeRolePolicy: ${ec2AssumeRole.json}\n ecsInstanceRoleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: ecs_instance_role\n properties:\n role: ${ecsInstanceRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\n ecsInstanceRoleInstanceProfile:\n type: aws:iam:InstanceProfile\n name: ecs_instance_role\n properties:\n name: ecs_instance_role\n role: ${ecsInstanceRole.name}\n awsBatchServiceRole:\n type: aws:iam:Role\n name: aws_batch_service_role\n properties:\n name: aws_batch_service_role\n assumeRolePolicy: ${batchAssumeRole.json}\n awsBatchServiceRoleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: aws_batch_service_role\n properties:\n role: ${awsBatchServiceRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\n sample:\n type: aws:ec2:SecurityGroup\n properties:\n name: aws_batch_compute_environment_security_group\n egress:\n - fromPort: 0\n toPort: 0\n protocol: '-1'\n cidrBlocks:\n - 0.0.0.0/0\n sampleVpc:\n type: aws:ec2:Vpc\n name: sample\n properties:\n cidrBlock: 10.1.0.0/16\n sampleSubnet:\n type: aws:ec2:Subnet\n name: sample\n properties:\n vpcId: ${sampleVpc.id}\n cidrBlock: 10.1.1.0/24\n samplePlacementGroup:\n type: aws:ec2:PlacementGroup\n name: sample\n properties:\n name: sample\n strategy: cluster\n sampleComputeEnvironment:\n type: aws:batch:ComputeEnvironment\n name: sample\n properties:\n computeEnvironmentName: sample\n computeResources:\n instanceRole: ${ecsInstanceRoleInstanceProfile.arn}\n instanceTypes:\n - c4.large\n maxVcpus: 16\n minVcpus: 0\n placementGroup: ${samplePlacementGroup.name}\n securityGroupIds:\n - ${sample.id}\n subnets:\n - ${sampleSubnet.id}\n type: EC2\n serviceRole: ${awsBatchServiceRole.arn}\n type: MANAGED\n options:\n dependson:\n - ${awsBatchServiceRoleRolePolicyAttachment}\nvariables:\n ec2AssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n actions:\n - sts:AssumeRole\n batchAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - batch.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Fargate Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sample = new aws.batch.ComputeEnvironment(\"sample\", {\n computeEnvironmentName: \"sample\",\n computeResources: {\n maxVcpus: 16,\n securityGroupIds: [sampleAwsSecurityGroup.id],\n subnets: [sampleAwsSubnet.id],\n type: \"FARGATE\",\n },\n serviceRole: awsBatchServiceRoleAwsIamRole.arn,\n type: \"MANAGED\",\n}, {\n dependsOn: [awsBatchServiceRole],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsample = aws.batch.ComputeEnvironment(\"sample\",\n compute_environment_name=\"sample\",\n compute_resources={\n \"max_vcpus\": 16,\n \"security_group_ids\": [sample_aws_security_group[\"id\"]],\n \"subnets\": [sample_aws_subnet[\"id\"]],\n \"type\": \"FARGATE\",\n },\n service_role=aws_batch_service_role_aws_iam_role[\"arn\"],\n type=\"MANAGED\",\n opts = pulumi.ResourceOptions(depends_on=[aws_batch_service_role]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample = new Aws.Batch.ComputeEnvironment(\"sample\", new()\n {\n ComputeEnvironmentName = \"sample\",\n ComputeResources = new Aws.Batch.Inputs.ComputeEnvironmentComputeResourcesArgs\n {\n MaxVcpus = 16,\n SecurityGroupIds = new[]\n {\n sampleAwsSecurityGroup.Id,\n },\n Subnets = new[]\n {\n sampleAwsSubnet.Id,\n },\n Type = \"FARGATE\",\n },\n ServiceRole = awsBatchServiceRoleAwsIamRole.Arn,\n Type = \"MANAGED\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n awsBatchServiceRole,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\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 := batch.NewComputeEnvironment(ctx, \"sample\", \u0026batch.ComputeEnvironmentArgs{\n\t\t\tComputeEnvironmentName: pulumi.String(\"sample\"),\n\t\t\tComputeResources: \u0026batch.ComputeEnvironmentComputeResourcesArgs{\n\t\t\t\tMaxVcpus: pulumi.Int(16),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tsampleAwsSecurityGroup.Id,\n\t\t\t\t},\n\t\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\t\tsampleAwsSubnet.Id,\n\t\t\t\t},\n\t\t\t\tType: pulumi.String(\"FARGATE\"),\n\t\t\t},\n\t\t\tServiceRole: pulumi.Any(awsBatchServiceRoleAwsIamRole.Arn),\n\t\t\tType: pulumi.String(\"MANAGED\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tawsBatchServiceRole,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.ComputeEnvironment;\nimport com.pulumi.aws.batch.ComputeEnvironmentArgs;\nimport com.pulumi.aws.batch.inputs.ComputeEnvironmentComputeResourcesArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sample = new ComputeEnvironment(\"sample\", ComputeEnvironmentArgs.builder()\n .computeEnvironmentName(\"sample\")\n .computeResources(ComputeEnvironmentComputeResourcesArgs.builder()\n .maxVcpus(16)\n .securityGroupIds(sampleAwsSecurityGroup.id())\n .subnets(sampleAwsSubnet.id())\n .type(\"FARGATE\")\n .build())\n .serviceRole(awsBatchServiceRoleAwsIamRole.arn())\n .type(\"MANAGED\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(awsBatchServiceRole)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample:\n type: aws:batch:ComputeEnvironment\n properties:\n computeEnvironmentName: sample\n computeResources:\n maxVcpus: 16\n securityGroupIds:\n - ${sampleAwsSecurityGroup.id}\n subnets:\n - ${sampleAwsSubnet.id}\n type: FARGATE\n serviceRole: ${awsBatchServiceRoleAwsIamRole.arn}\n type: MANAGED\n options:\n dependson:\n - ${awsBatchServiceRole}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Setting Update Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sample = new aws.batch.ComputeEnvironment(\"sample\", {\n computeEnvironmentName: \"sample\",\n computeResources: {\n allocationStrategy: \"BEST_FIT_PROGRESSIVE\",\n instanceRole: ecsInstance.arn,\n instanceTypes: [\"optimal\"],\n maxVcpus: 4,\n minVcpus: 0,\n securityGroupIds: [sampleAwsSecurityGroup.id],\n subnets: [sampleAwsSubnet.id],\n type: \"EC2\",\n },\n updatePolicy: {\n jobExecutionTimeoutMinutes: 30,\n terminateJobsOnUpdate: false,\n },\n type: \"MANAGED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsample = aws.batch.ComputeEnvironment(\"sample\",\n compute_environment_name=\"sample\",\n compute_resources={\n \"allocation_strategy\": \"BEST_FIT_PROGRESSIVE\",\n \"instance_role\": ecs_instance[\"arn\"],\n \"instance_types\": [\"optimal\"],\n \"max_vcpus\": 4,\n \"min_vcpus\": 0,\n \"security_group_ids\": [sample_aws_security_group[\"id\"]],\n \"subnets\": [sample_aws_subnet[\"id\"]],\n \"type\": \"EC2\",\n },\n update_policy={\n \"job_execution_timeout_minutes\": 30,\n \"terminate_jobs_on_update\": False,\n },\n type=\"MANAGED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample = new Aws.Batch.ComputeEnvironment(\"sample\", new()\n {\n ComputeEnvironmentName = \"sample\",\n ComputeResources = new Aws.Batch.Inputs.ComputeEnvironmentComputeResourcesArgs\n {\n AllocationStrategy = \"BEST_FIT_PROGRESSIVE\",\n InstanceRole = ecsInstance.Arn,\n InstanceTypes = new[]\n {\n \"optimal\",\n },\n MaxVcpus = 4,\n MinVcpus = 0,\n SecurityGroupIds = new[]\n {\n sampleAwsSecurityGroup.Id,\n },\n Subnets = new[]\n {\n sampleAwsSubnet.Id,\n },\n Type = \"EC2\",\n },\n UpdatePolicy = new Aws.Batch.Inputs.ComputeEnvironmentUpdatePolicyArgs\n {\n JobExecutionTimeoutMinutes = 30,\n TerminateJobsOnUpdate = false,\n },\n Type = \"MANAGED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\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 := batch.NewComputeEnvironment(ctx, \"sample\", \u0026batch.ComputeEnvironmentArgs{\n\t\t\tComputeEnvironmentName: pulumi.String(\"sample\"),\n\t\t\tComputeResources: \u0026batch.ComputeEnvironmentComputeResourcesArgs{\n\t\t\t\tAllocationStrategy: pulumi.String(\"BEST_FIT_PROGRESSIVE\"),\n\t\t\t\tInstanceRole: pulumi.Any(ecsInstance.Arn),\n\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"optimal\"),\n\t\t\t\t},\n\t\t\t\tMaxVcpus: pulumi.Int(4),\n\t\t\t\tMinVcpus: pulumi.Int(0),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tsampleAwsSecurityGroup.Id,\n\t\t\t\t},\n\t\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\t\tsampleAwsSubnet.Id,\n\t\t\t\t},\n\t\t\t\tType: pulumi.String(\"EC2\"),\n\t\t\t},\n\t\t\tUpdatePolicy: \u0026batch.ComputeEnvironmentUpdatePolicyArgs{\n\t\t\t\tJobExecutionTimeoutMinutes: pulumi.Int(30),\n\t\t\t\tTerminateJobsOnUpdate: pulumi.Bool(false),\n\t\t\t},\n\t\t\tType: pulumi.String(\"MANAGED\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.ComputeEnvironment;\nimport com.pulumi.aws.batch.ComputeEnvironmentArgs;\nimport com.pulumi.aws.batch.inputs.ComputeEnvironmentComputeResourcesArgs;\nimport com.pulumi.aws.batch.inputs.ComputeEnvironmentUpdatePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sample = new ComputeEnvironment(\"sample\", ComputeEnvironmentArgs.builder()\n .computeEnvironmentName(\"sample\")\n .computeResources(ComputeEnvironmentComputeResourcesArgs.builder()\n .allocationStrategy(\"BEST_FIT_PROGRESSIVE\")\n .instanceRole(ecsInstance.arn())\n .instanceTypes(\"optimal\")\n .maxVcpus(4)\n .minVcpus(0)\n .securityGroupIds(sampleAwsSecurityGroup.id())\n .subnets(sampleAwsSubnet.id())\n .type(\"EC2\")\n .build())\n .updatePolicy(ComputeEnvironmentUpdatePolicyArgs.builder()\n .jobExecutionTimeoutMinutes(30)\n .terminateJobsOnUpdate(false)\n .build())\n .type(\"MANAGED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample:\n type: aws:batch:ComputeEnvironment\n properties:\n computeEnvironmentName: sample\n computeResources:\n allocationStrategy: BEST_FIT_PROGRESSIVE\n instanceRole: ${ecsInstance.arn}\n instanceTypes:\n - optimal\n maxVcpus: 4\n minVcpus: 0\n securityGroupIds:\n - ${sampleAwsSecurityGroup.id}\n subnets:\n - ${sampleAwsSubnet.id}\n type: EC2\n updatePolicy:\n jobExecutionTimeoutMinutes: 30\n terminateJobsOnUpdate: false\n type: MANAGED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Batch compute using the `compute_environment_name`. For example:\n\n```sh\n$ pulumi import aws:batch/computeEnvironment:ComputeEnvironment sample sample\n```\n", "properties": { "arn": { "type": "string", @@ -192821,7 +192821,7 @@ } }, "aws:batch/jobDefinition:JobDefinition": { - "description": "Provides a Batch Job Definition resource.\n\n## Example Usage\n\n### Job definition of type container\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.batch.JobDefinition(\"test\", {\n name: \"my_test_batch_job_definition\",\n type: \"container\",\n containerProperties: JSON.stringify({\n command: [\n \"ls\",\n \"-la\",\n ],\n image: \"busybox\",\n resourceRequirements: [\n {\n type: \"VCPU\",\n value: \"0.25\",\n },\n {\n type: \"MEMORY\",\n value: \"512\",\n },\n ],\n volumes: [{\n host: {\n sourcePath: \"/tmp\",\n },\n name: \"tmp\",\n }],\n environment: [{\n name: \"VARNAME\",\n value: \"VARVAL\",\n }],\n mountPoints: [{\n sourceVolume: \"tmp\",\n containerPath: \"/tmp\",\n readOnly: false,\n }],\n ulimits: [{\n hardLimit: 1024,\n name: \"nofile\",\n softLimit: 1024,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.batch.JobDefinition(\"test\",\n name=\"my_test_batch_job_definition\",\n type=\"container\",\n container_properties=json.dumps({\n \"command\": [\n \"ls\",\n \"-la\",\n ],\n \"image\": \"busybox\",\n \"resourceRequirements\": [\n {\n \"type\": \"VCPU\",\n \"value\": \"0.25\",\n },\n {\n \"type\": \"MEMORY\",\n \"value\": \"512\",\n },\n ],\n \"volumes\": [{\n \"host\": {\n \"sourcePath\": \"/tmp\",\n },\n \"name\": \"tmp\",\n }],\n \"environment\": [{\n \"name\": \"VARNAME\",\n \"value\": \"VARVAL\",\n }],\n \"mountPoints\": [{\n \"sourceVolume\": \"tmp\",\n \"containerPath\": \"/tmp\",\n \"readOnly\": False,\n }],\n \"ulimits\": [{\n \"hardLimit\": 1024,\n \"name\": \"nofile\",\n \"softLimit\": 1024,\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Batch.JobDefinition(\"test\", new()\n {\n Name = \"my_test_batch_job_definition\",\n Type = \"container\",\n ContainerProperties = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"command\"] = new[]\n {\n \"ls\",\n \"-la\",\n },\n [\"image\"] = \"busybox\",\n [\"resourceRequirements\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"VCPU\",\n [\"value\"] = \"0.25\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"MEMORY\",\n [\"value\"] = \"512\",\n },\n },\n [\"volumes\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"host\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"sourcePath\"] = \"/tmp\",\n },\n [\"name\"] = \"tmp\",\n },\n },\n [\"environment\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"VARNAME\",\n [\"value\"] = \"VARVAL\",\n },\n },\n [\"mountPoints\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"sourceVolume\"] = \"tmp\",\n [\"containerPath\"] = \"/tmp\",\n [\"readOnly\"] = false,\n },\n },\n [\"ulimits\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"hardLimit\"] = 1024,\n [\"name\"] = \"nofile\",\n [\"softLimit\"] = 1024,\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"command\": []string{\n\t\t\t\t\"ls\",\n\t\t\t\t\"-la\",\n\t\t\t},\n\t\t\t\"image\": \"busybox\",\n\t\t\t\"resourceRequirements\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": \"VCPU\",\n\t\t\t\t\t\"value\": \"0.25\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": \"MEMORY\",\n\t\t\t\t\t\"value\": \"512\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"volumes\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"host\": map[string]interface{}{\n\t\t\t\t\t\t\"sourcePath\": \"/tmp\",\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"tmp\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"environment\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"VARNAME\",\n\t\t\t\t\t\"value\": \"VARVAL\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"mountPoints\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"sourceVolume\": \"tmp\",\n\t\t\t\t\t\"containerPath\": \"/tmp\",\n\t\t\t\t\t\"readOnly\": false,\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"ulimits\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"hardLimit\": 1024,\n\t\t\t\t\t\"name\": \"nofile\",\n\t\t\t\t\t\"softLimit\": 1024,\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\tjson0 := string(tmpJSON0)\n\t\t_, err = batch.NewJobDefinition(ctx, \"test\", \u0026batch.JobDefinitionArgs{\n\t\t\tName: pulumi.String(\"my_test_batch_job_definition\"),\n\t\t\tType: pulumi.String(\"container\"),\n\t\t\tContainerProperties: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.JobDefinition;\nimport com.pulumi.aws.batch.JobDefinitionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new JobDefinition(\"test\", JobDefinitionArgs.builder()\n .name(\"my_test_batch_job_definition\")\n .type(\"container\")\n .containerProperties(serializeJson(\n jsonObject(\n jsonProperty(\"command\", jsonArray(\n \"ls\", \n \"-la\"\n )),\n jsonProperty(\"image\", \"busybox\"),\n jsonProperty(\"resourceRequirements\", jsonArray(\n jsonObject(\n jsonProperty(\"type\", \"VCPU\"),\n jsonProperty(\"value\", \"0.25\")\n ), \n jsonObject(\n jsonProperty(\"type\", \"MEMORY\"),\n jsonProperty(\"value\", \"512\")\n )\n )),\n jsonProperty(\"volumes\", jsonArray(jsonObject(\n jsonProperty(\"host\", jsonObject(\n jsonProperty(\"sourcePath\", \"/tmp\")\n )),\n jsonProperty(\"name\", \"tmp\")\n ))),\n jsonProperty(\"environment\", jsonArray(jsonObject(\n jsonProperty(\"name\", \"VARNAME\"),\n jsonProperty(\"value\", \"VARVAL\")\n ))),\n jsonProperty(\"mountPoints\", jsonArray(jsonObject(\n jsonProperty(\"sourceVolume\", \"tmp\"),\n jsonProperty(\"containerPath\", \"/tmp\"),\n jsonProperty(\"readOnly\", false)\n ))),\n jsonProperty(\"ulimits\", jsonArray(jsonObject(\n jsonProperty(\"hardLimit\", 1024),\n jsonProperty(\"name\", \"nofile\"),\n jsonProperty(\"softLimit\", 1024)\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:batch:JobDefinition\n properties:\n name: my_test_batch_job_definition\n type: container\n containerProperties:\n fn::toJSON:\n command:\n - ls\n - -la\n image: busybox\n resourceRequirements:\n - type: VCPU\n value: '0.25'\n - type: MEMORY\n value: '512'\n volumes:\n - host:\n sourcePath: /tmp\n name: tmp\n environment:\n - name: VARNAME\n value: VARVAL\n mountPoints:\n - sourceVolume: tmp\n containerPath: /tmp\n readOnly: false\n ulimits:\n - hardLimit: 1024\n name: nofile\n softLimit: 1024\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Job definition of type multinode\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.batch.JobDefinition(\"test\", {\n name: \"tf_test_batch_job_definition_multinode\",\n type: \"multinode\",\n nodeProperties: JSON.stringify({\n mainNode: 0,\n nodeRangeProperties: [\n {\n container: {\n command: [\n \"ls\",\n \"-la\",\n ],\n image: \"busybox\",\n memory: 128,\n vcpus: 1,\n },\n targetNodes: \"0:\",\n },\n {\n container: {\n command: [\n \"echo\",\n \"test\",\n ],\n image: \"busybox\",\n memory: 128,\n vcpus: 1,\n },\n targetNodes: \"1:\",\n },\n ],\n numNodes: 2,\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.batch.JobDefinition(\"test\",\n name=\"tf_test_batch_job_definition_multinode\",\n type=\"multinode\",\n node_properties=json.dumps({\n \"mainNode\": 0,\n \"nodeRangeProperties\": [\n {\n \"container\": {\n \"command\": [\n \"ls\",\n \"-la\",\n ],\n \"image\": \"busybox\",\n \"memory\": 128,\n \"vcpus\": 1,\n },\n \"targetNodes\": \"0:\",\n },\n {\n \"container\": {\n \"command\": [\n \"echo\",\n \"test\",\n ],\n \"image\": \"busybox\",\n \"memory\": 128,\n \"vcpus\": 1,\n },\n \"targetNodes\": \"1:\",\n },\n ],\n \"numNodes\": 2,\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Batch.JobDefinition(\"test\", new()\n {\n Name = \"tf_test_batch_job_definition_multinode\",\n Type = \"multinode\",\n NodeProperties = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"mainNode\"] = 0,\n [\"nodeRangeProperties\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"container\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"command\"] = new[]\n {\n \"ls\",\n \"-la\",\n },\n [\"image\"] = \"busybox\",\n [\"memory\"] = 128,\n [\"vcpus\"] = 1,\n },\n [\"targetNodes\"] = \"0:\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"container\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"command\"] = new[]\n {\n \"echo\",\n \"test\",\n },\n [\"image\"] = \"busybox\",\n [\"memory\"] = 128,\n [\"vcpus\"] = 1,\n },\n [\"targetNodes\"] = \"1:\",\n },\n },\n [\"numNodes\"] = 2,\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"mainNode\": 0,\n\t\t\t\"nodeRangeProperties\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"container\": map[string]interface{}{\n\t\t\t\t\t\t\"command\": []string{\n\t\t\t\t\t\t\t\"ls\",\n\t\t\t\t\t\t\t\"-la\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"image\": \"busybox\",\n\t\t\t\t\t\t\"memory\": 128,\n\t\t\t\t\t\t\"vcpus\": 1,\n\t\t\t\t\t},\n\t\t\t\t\t\"targetNodes\": \"0:\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"container\": map[string]interface{}{\n\t\t\t\t\t\t\"command\": []string{\n\t\t\t\t\t\t\t\"echo\",\n\t\t\t\t\t\t\t\"test\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"image\": \"busybox\",\n\t\t\t\t\t\t\"memory\": 128,\n\t\t\t\t\t\t\"vcpus\": 1,\n\t\t\t\t\t},\n\t\t\t\t\t\"targetNodes\": \"1:\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"numNodes\": 2,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = batch.NewJobDefinition(ctx, \"test\", \u0026batch.JobDefinitionArgs{\n\t\t\tName: pulumi.String(\"tf_test_batch_job_definition_multinode\"),\n\t\t\tType: pulumi.String(\"multinode\"),\n\t\t\tNodeProperties: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.JobDefinition;\nimport com.pulumi.aws.batch.JobDefinitionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new JobDefinition(\"test\", JobDefinitionArgs.builder()\n .name(\"tf_test_batch_job_definition_multinode\")\n .type(\"multinode\")\n .nodeProperties(serializeJson(\n jsonObject(\n jsonProperty(\"mainNode\", 0),\n jsonProperty(\"nodeRangeProperties\", jsonArray(\n jsonObject(\n jsonProperty(\"container\", jsonObject(\n jsonProperty(\"command\", jsonArray(\n \"ls\", \n \"-la\"\n )),\n jsonProperty(\"image\", \"busybox\"),\n jsonProperty(\"memory\", 128),\n jsonProperty(\"vcpus\", 1)\n )),\n jsonProperty(\"targetNodes\", \"0:\")\n ), \n jsonObject(\n jsonProperty(\"container\", jsonObject(\n jsonProperty(\"command\", jsonArray(\n \"echo\", \n \"test\"\n )),\n jsonProperty(\"image\", \"busybox\"),\n jsonProperty(\"memory\", 128),\n jsonProperty(\"vcpus\", 1)\n )),\n jsonProperty(\"targetNodes\", \"1:\")\n )\n )),\n jsonProperty(\"numNodes\", 2)\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:batch:JobDefinition\n properties:\n name: tf_test_batch_job_definition_multinode\n type: multinode\n nodeProperties:\n fn::toJSON:\n mainNode: 0\n nodeRangeProperties:\n - container:\n command:\n - ls\n - -la\n image: busybox\n memory: 128\n vcpus: 1\n targetNodes: '0:'\n - container:\n command:\n - echo\n - test\n image: busybox\n memory: 128\n vcpus: 1\n targetNodes: '1:'\n numNodes: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Job Definition of type EKS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.JobDefinition;\nimport com.pulumi.aws.batch.JobDefinitionArgs;\nimport com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesArgs;\nimport com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesArgs;\nimport com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesMetadataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new JobDefinition(\"test\", JobDefinitionArgs.builder()\n .name(\" tf_test_batch_job_definition_eks\")\n .type(\"container\")\n .eksProperties(JobDefinitionEksPropertiesArgs.builder()\n .podProperties(JobDefinitionEksPropertiesPodPropertiesArgs.builder()\n .hostNetwork(true)\n .containers(JobDefinitionEksPropertiesPodPropertiesContainersArgs.builder()\n .image(\"public.ecr.aws/amazonlinux/amazonlinux:1\")\n .commands( \n \"sleep\",\n \"60\")\n .resources(JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs.builder()\n .limits(Map.ofEntries(\n Map.entry(\"cpu\", \"1\"),\n Map.entry(\"memory\", \"1024Mi\")\n ))\n .build())\n .build())\n .metadata(JobDefinitionEksPropertiesPodPropertiesMetadataArgs.builder()\n .labels(Map.of(\"environment\", \"test\"))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:batch:JobDefinition\n properties:\n name: ' tf_test_batch_job_definition_eks'\n type: container\n eksProperties:\n podProperties:\n hostNetwork: true\n containers:\n - image: public.ecr.aws/amazonlinux/amazonlinux:1\n commands:\n - sleep\n - '60'\n resources:\n limits:\n cpu: '1'\n memory: 1024Mi\n metadata:\n labels:\n environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Fargate Platform Capability\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"ecs-tasks.amazonaws.com\"],\n }],\n }],\n});\nconst ecsTaskExecutionRole = new aws.iam.Role(\"ecs_task_execution_role\", {\n name: \"my_test_batch_exec_role\",\n assumeRolePolicy: assumeRolePolicy.then(assumeRolePolicy =\u003e assumeRolePolicy.json),\n});\nconst ecsTaskExecutionRolePolicy = new aws.iam.RolePolicyAttachment(\"ecs_task_execution_role_policy\", {\n role: ecsTaskExecutionRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\",\n});\nconst test = new aws.batch.JobDefinition(\"test\", {\n name: \"my_test_batch_job_definition\",\n type: \"container\",\n platformCapabilities: [\"FARGATE\"],\n containerProperties: pulumi.jsonStringify({\n command: [\n \"echo\",\n \"test\",\n ],\n image: \"busybox\",\n jobRoleArn: \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\",\n fargatePlatformConfiguration: {\n platformVersion: \"LATEST\",\n },\n resourceRequirements: [\n {\n type: \"VCPU\",\n value: \"0.25\",\n },\n {\n type: \"MEMORY\",\n value: \"512\",\n },\n ],\n executionRoleArn: ecsTaskExecutionRole.arn,\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume_role_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"ecs-tasks.amazonaws.com\"],\n }],\n}])\necs_task_execution_role = aws.iam.Role(\"ecs_task_execution_role\",\n name=\"my_test_batch_exec_role\",\n assume_role_policy=assume_role_policy.json)\necs_task_execution_role_policy = aws.iam.RolePolicyAttachment(\"ecs_task_execution_role_policy\",\n role=ecs_task_execution_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\")\ntest = aws.batch.JobDefinition(\"test\",\n name=\"my_test_batch_job_definition\",\n type=\"container\",\n platform_capabilities=[\"FARGATE\"],\n container_properties=pulumi.Output.json_dumps({\n \"command\": [\n \"echo\",\n \"test\",\n ],\n \"image\": \"busybox\",\n \"jobRoleArn\": \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\",\n \"fargatePlatformConfiguration\": {\n \"platformVersion\": \"LATEST\",\n },\n \"resourceRequirements\": [\n {\n \"type\": \"VCPU\",\n \"value\": \"0.25\",\n },\n {\n \"type\": \"MEMORY\",\n \"value\": \"512\",\n },\n ],\n \"executionRoleArn\": ecs_task_execution_role.arn,\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ecs-tasks.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var ecsTaskExecutionRole = new Aws.Iam.Role(\"ecs_task_execution_role\", new()\n {\n Name = \"my_test_batch_exec_role\",\n AssumeRolePolicy = assumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ecsTaskExecutionRolePolicy = new Aws.Iam.RolePolicyAttachment(\"ecs_task_execution_role_policy\", new()\n {\n Role = ecsTaskExecutionRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\",\n });\n\n var test = new Aws.Batch.JobDefinition(\"test\", new()\n {\n Name = \"my_test_batch_job_definition\",\n Type = \"container\",\n PlatformCapabilities = new[]\n {\n \"FARGATE\",\n },\n ContainerProperties = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"command\"] = new[]\n {\n \"echo\",\n \"test\",\n },\n [\"image\"] = \"busybox\",\n [\"jobRoleArn\"] = \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\",\n [\"fargatePlatformConfiguration\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"platformVersion\"] = \"LATEST\",\n },\n [\"resourceRequirements\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"VCPU\",\n [\"value\"] = \"0.25\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"MEMORY\",\n [\"value\"] = \"512\",\n },\n },\n [\"executionRoleArn\"] = ecsTaskExecutionRole.Arn,\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ecs-tasks.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tecsTaskExecutionRole, err := iam.NewRole(ctx, \"ecs_task_execution_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"my_test_batch_exec_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRolePolicy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"ecs_task_execution_role_policy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: ecsTaskExecutionRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewJobDefinition(ctx, \"test\", \u0026batch.JobDefinitionArgs{\n\t\t\tName: pulumi.String(\"my_test_batch_job_definition\"),\n\t\t\tType: pulumi.String(\"container\"),\n\t\t\tPlatformCapabilities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FARGATE\"),\n\t\t\t},\n\t\t\tContainerProperties: ecsTaskExecutionRole.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"command\": []string{\n\t\t\t\t\t\t\"echo\",\n\t\t\t\t\t\t\"test\",\n\t\t\t\t\t},\n\t\t\t\t\t\"image\": \"busybox\",\n\t\t\t\t\t\"jobRoleArn\": \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\",\n\t\t\t\t\t\"fargatePlatformConfiguration\": map[string]interface{}{\n\t\t\t\t\t\t\"platformVersion\": \"LATEST\",\n\t\t\t\t\t},\n\t\t\t\t\t\"resourceRequirements\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"VCPU\",\n\t\t\t\t\t\t\t\"value\": \"0.25\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"MEMORY\",\n\t\t\t\t\t\t\t\"value\": \"512\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"executionRoleArn\": arn,\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.batch.JobDefinition;\nimport com.pulumi.aws.batch.JobDefinitionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ecs-tasks.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var ecsTaskExecutionRole = new Role(\"ecsTaskExecutionRole\", RoleArgs.builder()\n .name(\"my_test_batch_exec_role\")\n .assumeRolePolicy(assumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var ecsTaskExecutionRolePolicy = new RolePolicyAttachment(\"ecsTaskExecutionRolePolicy\", RolePolicyAttachmentArgs.builder()\n .role(ecsTaskExecutionRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\")\n .build());\n\n var test = new JobDefinition(\"test\", JobDefinitionArgs.builder()\n .name(\"my_test_batch_job_definition\")\n .type(\"container\")\n .platformCapabilities(\"FARGATE\")\n .containerProperties(ecsTaskExecutionRole.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"command\", jsonArray(\n \"echo\", \n \"test\"\n )),\n jsonProperty(\"image\", \"busybox\"),\n jsonProperty(\"jobRoleArn\", \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\"),\n jsonProperty(\"fargatePlatformConfiguration\", jsonObject(\n jsonProperty(\"platformVersion\", \"LATEST\")\n )),\n jsonProperty(\"resourceRequirements\", jsonArray(\n jsonObject(\n jsonProperty(\"type\", \"VCPU\"),\n jsonProperty(\"value\", \"0.25\")\n ), \n jsonObject(\n jsonProperty(\"type\", \"MEMORY\"),\n jsonProperty(\"value\", \"512\")\n )\n )),\n jsonProperty(\"executionRoleArn\", arn)\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsTaskExecutionRole:\n type: aws:iam:Role\n name: ecs_task_execution_role\n properties:\n name: my_test_batch_exec_role\n assumeRolePolicy: ${assumeRolePolicy.json}\n ecsTaskExecutionRolePolicy:\n type: aws:iam:RolePolicyAttachment\n name: ecs_task_execution_role_policy\n properties:\n role: ${ecsTaskExecutionRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\n test:\n type: aws:batch:JobDefinition\n properties:\n name: my_test_batch_job_definition\n type: container\n platformCapabilities:\n - FARGATE\n containerProperties:\n fn::toJSON:\n command:\n - echo\n - test\n image: busybox\n jobRoleArn: arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\n fargatePlatformConfiguration:\n platformVersion: LATEST\n resourceRequirements:\n - type: VCPU\n value: '0.25'\n - type: MEMORY\n value: '512'\n executionRoleArn: ${ecsTaskExecutionRole.arn}\nvariables:\n assumeRolePolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - ecs-tasks.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Job definition of type container using `ecs_properties`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.batch.JobDefinition(\"test\", {\n name: \"my_test_batch_job_definition\",\n type: \"container\",\n platformCapabilities: [\"FARGATE\"],\n ecsProperties: JSON.stringify({\n taskProperties: [{\n executionRoleArn: ecsTaskExecutionRole.arn,\n containers: [\n {\n image: \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n command: [\n \"sleep\",\n \"60\",\n ],\n dependsOn: [{\n containerName: \"container_b\",\n condition: \"COMPLETE\",\n }],\n secrets: [{\n name: \"TEST\",\n valueFrom: \"DUMMY\",\n }],\n environment: [{\n name: \"test\",\n value: \"Environment Variable\",\n }],\n essential: true,\n logConfiguration: {\n logDriver: \"awslogs\",\n options: {\n \"awslogs-group\": \"tf_test_batch_job\",\n \"awslogs-region\": \"us-west-2\",\n \"awslogs-stream-prefix\": \"ecs\",\n },\n },\n name: \"container_a\",\n privileged: false,\n readonlyRootFilesystem: false,\n resourceRequirements: [\n {\n value: \"1.0\",\n type: \"VCPU\",\n },\n {\n value: \"2048\",\n type: \"MEMORY\",\n },\n ],\n },\n {\n image: \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n command: [\n \"sleep\",\n \"360\",\n ],\n name: \"container_b\",\n essential: false,\n resourceRequirements: [\n {\n value: \"1.0\",\n type: \"VCPU\",\n },\n {\n value: \"2048\",\n type: \"MEMORY\",\n },\n ],\n },\n ],\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.batch.JobDefinition(\"test\",\n name=\"my_test_batch_job_definition\",\n type=\"container\",\n platform_capabilities=[\"FARGATE\"],\n ecs_properties=json.dumps({\n \"taskProperties\": [{\n \"executionRoleArn\": ecs_task_execution_role[\"arn\"],\n \"containers\": [\n {\n \"image\": \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n \"command\": [\n \"sleep\",\n \"60\",\n ],\n \"dependsOn\": [{\n \"containerName\": \"container_b\",\n \"condition\": \"COMPLETE\",\n }],\n \"secrets\": [{\n \"name\": \"TEST\",\n \"valueFrom\": \"DUMMY\",\n }],\n \"environment\": [{\n \"name\": \"test\",\n \"value\": \"Environment Variable\",\n }],\n \"essential\": True,\n \"logConfiguration\": {\n \"logDriver\": \"awslogs\",\n \"options\": {\n \"awslogs-group\": \"tf_test_batch_job\",\n \"awslogs-region\": \"us-west-2\",\n \"awslogs-stream-prefix\": \"ecs\",\n },\n },\n \"name\": \"container_a\",\n \"privileged\": False,\n \"readonlyRootFilesystem\": False,\n \"resourceRequirements\": [\n {\n \"value\": \"1.0\",\n \"type\": \"VCPU\",\n },\n {\n \"value\": \"2048\",\n \"type\": \"MEMORY\",\n },\n ],\n },\n {\n \"image\": \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n \"command\": [\n \"sleep\",\n \"360\",\n ],\n \"name\": \"container_b\",\n \"essential\": False,\n \"resourceRequirements\": [\n {\n \"value\": \"1.0\",\n \"type\": \"VCPU\",\n },\n {\n \"value\": \"2048\",\n \"type\": \"MEMORY\",\n },\n ],\n },\n ],\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Batch.JobDefinition(\"test\", new()\n {\n Name = \"my_test_batch_job_definition\",\n Type = \"container\",\n PlatformCapabilities = new[]\n {\n \"FARGATE\",\n },\n EcsProperties = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"taskProperties\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"executionRoleArn\"] = ecsTaskExecutionRole.Arn,\n [\"containers\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"image\"] = \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n [\"command\"] = new[]\n {\n \"sleep\",\n \"60\",\n },\n [\"dependsOn\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"containerName\"] = \"container_b\",\n [\"condition\"] = \"COMPLETE\",\n },\n },\n [\"secrets\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"TEST\",\n [\"valueFrom\"] = \"DUMMY\",\n },\n },\n [\"environment\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"test\",\n [\"value\"] = \"Environment Variable\",\n },\n },\n [\"essential\"] = true,\n [\"logConfiguration\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"logDriver\"] = \"awslogs\",\n [\"options\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"awslogs-group\"] = \"tf_test_batch_job\",\n [\"awslogs-region\"] = \"us-west-2\",\n [\"awslogs-stream-prefix\"] = \"ecs\",\n },\n },\n [\"name\"] = \"container_a\",\n [\"privileged\"] = false,\n [\"readonlyRootFilesystem\"] = false,\n [\"resourceRequirements\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"value\"] = \"1.0\",\n [\"type\"] = \"VCPU\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"value\"] = \"2048\",\n [\"type\"] = \"MEMORY\",\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"image\"] = \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n [\"command\"] = new[]\n {\n \"sleep\",\n \"360\",\n },\n [\"name\"] = \"container_b\",\n [\"essential\"] = false,\n [\"resourceRequirements\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"value\"] = \"1.0\",\n [\"type\"] = \"VCPU\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"value\"] = \"2048\",\n [\"type\"] = \"MEMORY\",\n },\n },\n },\n },\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"taskProperties\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"executionRoleArn\": ecsTaskExecutionRole.Arn,\n\t\t\t\t\t\"containers\": []interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"image\": \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n\t\t\t\t\t\t\t\"command\": []string{\n\t\t\t\t\t\t\t\t\"sleep\",\n\t\t\t\t\t\t\t\t\"60\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"dependsOn\": []map[string]interface{}{\n\t\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"containerName\": \"container_b\",\n\t\t\t\t\t\t\t\t\t\"condition\": \"COMPLETE\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"secrets\": []map[string]interface{}{\n\t\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"name\": \"TEST\",\n\t\t\t\t\t\t\t\t\t\"valueFrom\": \"DUMMY\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"environment\": []map[string]interface{}{\n\t\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"name\": \"test\",\n\t\t\t\t\t\t\t\t\t\"value\": \"Environment Variable\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"essential\": true,\n\t\t\t\t\t\t\t\"logConfiguration\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"logDriver\": \"awslogs\",\n\t\t\t\t\t\t\t\t\"options\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"awslogs-group\": \"tf_test_batch_job\",\n\t\t\t\t\t\t\t\t\t\"awslogs-region\": \"us-west-2\",\n\t\t\t\t\t\t\t\t\t\"awslogs-stream-prefix\": \"ecs\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"container_a\",\n\t\t\t\t\t\t\t\"privileged\": false,\n\t\t\t\t\t\t\t\"readonlyRootFilesystem\": false,\n\t\t\t\t\t\t\t\"resourceRequirements\": []map[string]interface{}{\n\t\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"value\": \"1.0\",\n\t\t\t\t\t\t\t\t\t\"type\": \"VCPU\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"value\": \"2048\",\n\t\t\t\t\t\t\t\t\t\"type\": \"MEMORY\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"image\": \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n\t\t\t\t\t\t\t\"command\": []string{\n\t\t\t\t\t\t\t\t\"sleep\",\n\t\t\t\t\t\t\t\t\"360\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"container_b\",\n\t\t\t\t\t\t\t\"essential\": false,\n\t\t\t\t\t\t\t\"resourceRequirements\": []map[string]interface{}{\n\t\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"value\": \"1.0\",\n\t\t\t\t\t\t\t\t\t\"type\": \"VCPU\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"value\": \"2048\",\n\t\t\t\t\t\t\t\t\t\"type\": \"MEMORY\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\t_, err = batch.NewJobDefinition(ctx, \"test\", \u0026batch.JobDefinitionArgs{\n\t\t\tName: pulumi.String(\"my_test_batch_job_definition\"),\n\t\t\tType: pulumi.String(\"container\"),\n\t\t\tPlatformCapabilities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FARGATE\"),\n\t\t\t},\n\t\t\tEcsProperties: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.JobDefinition;\nimport com.pulumi.aws.batch.JobDefinitionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new JobDefinition(\"test\", JobDefinitionArgs.builder()\n .name(\"my_test_batch_job_definition\")\n .type(\"container\")\n .platformCapabilities(\"FARGATE\")\n .ecsProperties(serializeJson(\n jsonObject(\n jsonProperty(\"taskProperties\", jsonArray(jsonObject(\n jsonProperty(\"executionRoleArn\", ecsTaskExecutionRole.arn()),\n jsonProperty(\"containers\", jsonArray(\n jsonObject(\n jsonProperty(\"image\", \"public.ecr.aws/amazonlinux/amazonlinux:1\"),\n jsonProperty(\"command\", jsonArray(\n \"sleep\", \n \"60\"\n )),\n jsonProperty(\"dependsOn\", jsonArray(jsonObject(\n jsonProperty(\"containerName\", \"container_b\"),\n jsonProperty(\"condition\", \"COMPLETE\")\n ))),\n jsonProperty(\"secrets\", jsonArray(jsonObject(\n jsonProperty(\"name\", \"TEST\"),\n jsonProperty(\"valueFrom\", \"DUMMY\")\n ))),\n jsonProperty(\"environment\", jsonArray(jsonObject(\n jsonProperty(\"name\", \"test\"),\n jsonProperty(\"value\", \"Environment Variable\")\n ))),\n jsonProperty(\"essential\", true),\n jsonProperty(\"logConfiguration\", jsonObject(\n jsonProperty(\"logDriver\", \"awslogs\"),\n jsonProperty(\"options\", jsonObject(\n jsonProperty(\"awslogs-group\", \"tf_test_batch_job\"),\n jsonProperty(\"awslogs-region\", \"us-west-2\"),\n jsonProperty(\"awslogs-stream-prefix\", \"ecs\")\n ))\n )),\n jsonProperty(\"name\", \"container_a\"),\n jsonProperty(\"privileged\", false),\n jsonProperty(\"readonlyRootFilesystem\", false),\n jsonProperty(\"resourceRequirements\", jsonArray(\n jsonObject(\n jsonProperty(\"value\", \"1.0\"),\n jsonProperty(\"type\", \"VCPU\")\n ), \n jsonObject(\n jsonProperty(\"value\", \"2048\"),\n jsonProperty(\"type\", \"MEMORY\")\n )\n ))\n ), \n jsonObject(\n jsonProperty(\"image\", \"public.ecr.aws/amazonlinux/amazonlinux:1\"),\n jsonProperty(\"command\", jsonArray(\n \"sleep\", \n \"360\"\n )),\n jsonProperty(\"name\", \"container_b\"),\n jsonProperty(\"essential\", false),\n jsonProperty(\"resourceRequirements\", jsonArray(\n jsonObject(\n jsonProperty(\"value\", \"1.0\"),\n jsonProperty(\"type\", \"VCPU\")\n ), \n jsonObject(\n jsonProperty(\"value\", \"2048\"),\n jsonProperty(\"type\", \"MEMORY\")\n )\n ))\n )\n ))\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:batch:JobDefinition\n properties:\n name: my_test_batch_job_definition\n type: container\n platformCapabilities:\n - FARGATE\n ecsProperties:\n fn::toJSON:\n taskProperties:\n - executionRoleArn: ${ecsTaskExecutionRole.arn}\n containers:\n - image: public.ecr.aws/amazonlinux/amazonlinux:1\n command:\n - sleep\n - '60'\n dependsOn:\n - containerName: container_b\n condition: COMPLETE\n secrets:\n - name: TEST\n valueFrom: DUMMY\n environment:\n - name: test\n value: Environment Variable\n essential: true\n logConfiguration:\n logDriver: awslogs\n options:\n awslogs-group: tf_test_batch_job\n awslogs-region: us-west-2\n awslogs-stream-prefix: ecs\n name: container_a\n privileged: false\n readonlyRootFilesystem: false\n resourceRequirements:\n - value: '1.0'\n type: VCPU\n - value: '2048'\n type: MEMORY\n - image: public.ecr.aws/amazonlinux/amazonlinux:1\n command:\n - sleep\n - '360'\n name: container_b\n essential: false\n resourceRequirements:\n - value: '1.0'\n type: VCPU\n - value: '2048'\n type: MEMORY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Batch Job Definition using the `arn`. For example:\n\n```sh\n$ pulumi import aws:batch/jobDefinition:JobDefinition test arn:aws:batch:us-east-1:123456789012:job-definition/sample\n```\n", + "description": "Provides a Batch Job Definition resource.\n\n## Example Usage\n\n### Job definition of type container\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.batch.JobDefinition(\"test\", {\n name: \"my_test_batch_job_definition\",\n type: \"container\",\n containerProperties: JSON.stringify({\n command: [\n \"ls\",\n \"-la\",\n ],\n image: \"busybox\",\n resourceRequirements: [\n {\n type: \"VCPU\",\n value: \"0.25\",\n },\n {\n type: \"MEMORY\",\n value: \"512\",\n },\n ],\n volumes: [{\n host: {\n sourcePath: \"/tmp\",\n },\n name: \"tmp\",\n }],\n environment: [{\n name: \"VARNAME\",\n value: \"VARVAL\",\n }],\n mountPoints: [{\n sourceVolume: \"tmp\",\n containerPath: \"/tmp\",\n readOnly: false,\n }],\n ulimits: [{\n hardLimit: 1024,\n name: \"nofile\",\n softLimit: 1024,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.batch.JobDefinition(\"test\",\n name=\"my_test_batch_job_definition\",\n type=\"container\",\n container_properties=json.dumps({\n \"command\": [\n \"ls\",\n \"-la\",\n ],\n \"image\": \"busybox\",\n \"resourceRequirements\": [\n {\n \"type\": \"VCPU\",\n \"value\": \"0.25\",\n },\n {\n \"type\": \"MEMORY\",\n \"value\": \"512\",\n },\n ],\n \"volumes\": [{\n \"host\": {\n \"sourcePath\": \"/tmp\",\n },\n \"name\": \"tmp\",\n }],\n \"environment\": [{\n \"name\": \"VARNAME\",\n \"value\": \"VARVAL\",\n }],\n \"mountPoints\": [{\n \"sourceVolume\": \"tmp\",\n \"containerPath\": \"/tmp\",\n \"readOnly\": False,\n }],\n \"ulimits\": [{\n \"hardLimit\": 1024,\n \"name\": \"nofile\",\n \"softLimit\": 1024,\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Batch.JobDefinition(\"test\", new()\n {\n Name = \"my_test_batch_job_definition\",\n Type = \"container\",\n ContainerProperties = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"command\"] = new[]\n {\n \"ls\",\n \"-la\",\n },\n [\"image\"] = \"busybox\",\n [\"resourceRequirements\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"VCPU\",\n [\"value\"] = \"0.25\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"MEMORY\",\n [\"value\"] = \"512\",\n },\n },\n [\"volumes\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"host\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"sourcePath\"] = \"/tmp\",\n },\n [\"name\"] = \"tmp\",\n },\n },\n [\"environment\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"VARNAME\",\n [\"value\"] = \"VARVAL\",\n },\n },\n [\"mountPoints\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"sourceVolume\"] = \"tmp\",\n [\"containerPath\"] = \"/tmp\",\n [\"readOnly\"] = false,\n },\n },\n [\"ulimits\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"hardLimit\"] = 1024,\n [\"name\"] = \"nofile\",\n [\"softLimit\"] = 1024,\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"command\": []string{\n\t\t\t\t\"ls\",\n\t\t\t\t\"-la\",\n\t\t\t},\n\t\t\t\"image\": \"busybox\",\n\t\t\t\"resourceRequirements\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": \"VCPU\",\n\t\t\t\t\t\"value\": \"0.25\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": \"MEMORY\",\n\t\t\t\t\t\"value\": \"512\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"volumes\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"host\": map[string]interface{}{\n\t\t\t\t\t\t\"sourcePath\": \"/tmp\",\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"tmp\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"environment\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"VARNAME\",\n\t\t\t\t\t\"value\": \"VARVAL\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"mountPoints\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"sourceVolume\": \"tmp\",\n\t\t\t\t\t\"containerPath\": \"/tmp\",\n\t\t\t\t\t\"readOnly\": false,\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"ulimits\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"hardLimit\": 1024,\n\t\t\t\t\t\"name\": \"nofile\",\n\t\t\t\t\t\"softLimit\": 1024,\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\tjson0 := string(tmpJSON0)\n\t\t_, err = batch.NewJobDefinition(ctx, \"test\", \u0026batch.JobDefinitionArgs{\n\t\t\tName: pulumi.String(\"my_test_batch_job_definition\"),\n\t\t\tType: pulumi.String(\"container\"),\n\t\t\tContainerProperties: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.JobDefinition;\nimport com.pulumi.aws.batch.JobDefinitionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new JobDefinition(\"test\", JobDefinitionArgs.builder()\n .name(\"my_test_batch_job_definition\")\n .type(\"container\")\n .containerProperties(serializeJson(\n jsonObject(\n jsonProperty(\"command\", jsonArray(\n \"ls\", \n \"-la\"\n )),\n jsonProperty(\"image\", \"busybox\"),\n jsonProperty(\"resourceRequirements\", jsonArray(\n jsonObject(\n jsonProperty(\"type\", \"VCPU\"),\n jsonProperty(\"value\", \"0.25\")\n ), \n jsonObject(\n jsonProperty(\"type\", \"MEMORY\"),\n jsonProperty(\"value\", \"512\")\n )\n )),\n jsonProperty(\"volumes\", jsonArray(jsonObject(\n jsonProperty(\"host\", jsonObject(\n jsonProperty(\"sourcePath\", \"/tmp\")\n )),\n jsonProperty(\"name\", \"tmp\")\n ))),\n jsonProperty(\"environment\", jsonArray(jsonObject(\n jsonProperty(\"name\", \"VARNAME\"),\n jsonProperty(\"value\", \"VARVAL\")\n ))),\n jsonProperty(\"mountPoints\", jsonArray(jsonObject(\n jsonProperty(\"sourceVolume\", \"tmp\"),\n jsonProperty(\"containerPath\", \"/tmp\"),\n jsonProperty(\"readOnly\", false)\n ))),\n jsonProperty(\"ulimits\", jsonArray(jsonObject(\n jsonProperty(\"hardLimit\", 1024),\n jsonProperty(\"name\", \"nofile\"),\n jsonProperty(\"softLimit\", 1024)\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:batch:JobDefinition\n properties:\n name: my_test_batch_job_definition\n type: container\n containerProperties:\n fn::toJSON:\n command:\n - ls\n - -la\n image: busybox\n resourceRequirements:\n - type: VCPU\n value: '0.25'\n - type: MEMORY\n value: '512'\n volumes:\n - host:\n sourcePath: /tmp\n name: tmp\n environment:\n - name: VARNAME\n value: VARVAL\n mountPoints:\n - sourceVolume: tmp\n containerPath: /tmp\n readOnly: false\n ulimits:\n - hardLimit: 1024\n name: nofile\n softLimit: 1024\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Job definition of type multinode\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.batch.JobDefinition(\"test\", {\n name: \"tf_test_batch_job_definition_multinode\",\n type: \"multinode\",\n nodeProperties: JSON.stringify({\n mainNode: 0,\n nodeRangeProperties: [\n {\n container: {\n command: [\n \"ls\",\n \"-la\",\n ],\n image: \"busybox\",\n memory: 128,\n vcpus: 1,\n },\n targetNodes: \"0:\",\n },\n {\n container: {\n command: [\n \"echo\",\n \"test\",\n ],\n image: \"busybox\",\n memory: 128,\n vcpus: 1,\n },\n targetNodes: \"1:\",\n },\n ],\n numNodes: 2,\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.batch.JobDefinition(\"test\",\n name=\"tf_test_batch_job_definition_multinode\",\n type=\"multinode\",\n node_properties=json.dumps({\n \"mainNode\": 0,\n \"nodeRangeProperties\": [\n {\n \"container\": {\n \"command\": [\n \"ls\",\n \"-la\",\n ],\n \"image\": \"busybox\",\n \"memory\": 128,\n \"vcpus\": 1,\n },\n \"targetNodes\": \"0:\",\n },\n {\n \"container\": {\n \"command\": [\n \"echo\",\n \"test\",\n ],\n \"image\": \"busybox\",\n \"memory\": 128,\n \"vcpus\": 1,\n },\n \"targetNodes\": \"1:\",\n },\n ],\n \"numNodes\": 2,\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Batch.JobDefinition(\"test\", new()\n {\n Name = \"tf_test_batch_job_definition_multinode\",\n Type = \"multinode\",\n NodeProperties = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"mainNode\"] = 0,\n [\"nodeRangeProperties\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"container\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"command\"] = new[]\n {\n \"ls\",\n \"-la\",\n },\n [\"image\"] = \"busybox\",\n [\"memory\"] = 128,\n [\"vcpus\"] = 1,\n },\n [\"targetNodes\"] = \"0:\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"container\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"command\"] = new[]\n {\n \"echo\",\n \"test\",\n },\n [\"image\"] = \"busybox\",\n [\"memory\"] = 128,\n [\"vcpus\"] = 1,\n },\n [\"targetNodes\"] = \"1:\",\n },\n },\n [\"numNodes\"] = 2,\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"mainNode\": 0,\n\t\t\t\"nodeRangeProperties\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"container\": map[string]interface{}{\n\t\t\t\t\t\t\"command\": []string{\n\t\t\t\t\t\t\t\"ls\",\n\t\t\t\t\t\t\t\"-la\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"image\": \"busybox\",\n\t\t\t\t\t\t\"memory\": 128,\n\t\t\t\t\t\t\"vcpus\": 1,\n\t\t\t\t\t},\n\t\t\t\t\t\"targetNodes\": \"0:\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"container\": map[string]interface{}{\n\t\t\t\t\t\t\"command\": []string{\n\t\t\t\t\t\t\t\"echo\",\n\t\t\t\t\t\t\t\"test\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"image\": \"busybox\",\n\t\t\t\t\t\t\"memory\": 128,\n\t\t\t\t\t\t\"vcpus\": 1,\n\t\t\t\t\t},\n\t\t\t\t\t\"targetNodes\": \"1:\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"numNodes\": 2,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = batch.NewJobDefinition(ctx, \"test\", \u0026batch.JobDefinitionArgs{\n\t\t\tName: pulumi.String(\"tf_test_batch_job_definition_multinode\"),\n\t\t\tType: pulumi.String(\"multinode\"),\n\t\t\tNodeProperties: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.JobDefinition;\nimport com.pulumi.aws.batch.JobDefinitionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new JobDefinition(\"test\", JobDefinitionArgs.builder()\n .name(\"tf_test_batch_job_definition_multinode\")\n .type(\"multinode\")\n .nodeProperties(serializeJson(\n jsonObject(\n jsonProperty(\"mainNode\", 0),\n jsonProperty(\"nodeRangeProperties\", jsonArray(\n jsonObject(\n jsonProperty(\"container\", jsonObject(\n jsonProperty(\"command\", jsonArray(\n \"ls\", \n \"-la\"\n )),\n jsonProperty(\"image\", \"busybox\"),\n jsonProperty(\"memory\", 128),\n jsonProperty(\"vcpus\", 1)\n )),\n jsonProperty(\"targetNodes\", \"0:\")\n ), \n jsonObject(\n jsonProperty(\"container\", jsonObject(\n jsonProperty(\"command\", jsonArray(\n \"echo\", \n \"test\"\n )),\n jsonProperty(\"image\", \"busybox\"),\n jsonProperty(\"memory\", 128),\n jsonProperty(\"vcpus\", 1)\n )),\n jsonProperty(\"targetNodes\", \"1:\")\n )\n )),\n jsonProperty(\"numNodes\", 2)\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:batch:JobDefinition\n properties:\n name: tf_test_batch_job_definition_multinode\n type: multinode\n nodeProperties:\n fn::toJSON:\n mainNode: 0\n nodeRangeProperties:\n - container:\n command:\n - ls\n - -la\n image: busybox\n memory: 128\n vcpus: 1\n targetNodes: '0:'\n - container:\n command:\n - echo\n - test\n image: busybox\n memory: 128\n vcpus: 1\n targetNodes: '1:'\n numNodes: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Job Definition of type EKS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.JobDefinition;\nimport com.pulumi.aws.batch.JobDefinitionArgs;\nimport com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesArgs;\nimport com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesArgs;\nimport com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesMetadataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new JobDefinition(\"test\", JobDefinitionArgs.builder()\n .name(\" tf_test_batch_job_definition_eks\")\n .type(\"container\")\n .eksProperties(JobDefinitionEksPropertiesArgs.builder()\n .podProperties(JobDefinitionEksPropertiesPodPropertiesArgs.builder()\n .hostNetwork(true)\n .containers(JobDefinitionEksPropertiesPodPropertiesContainersArgs.builder()\n .image(\"public.ecr.aws/amazonlinux/amazonlinux:1\")\n .commands( \n \"sleep\",\n \"60\")\n .resources(JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs.builder()\n .limits(Map.ofEntries(\n Map.entry(\"cpu\", \"1\"),\n Map.entry(\"memory\", \"1024Mi\")\n ))\n .build())\n .build())\n .metadata(JobDefinitionEksPropertiesPodPropertiesMetadataArgs.builder()\n .labels(Map.of(\"environment\", \"test\"))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:batch:JobDefinition\n properties:\n name: ' tf_test_batch_job_definition_eks'\n type: container\n eksProperties:\n podProperties:\n hostNetwork: true\n containers:\n - image: public.ecr.aws/amazonlinux/amazonlinux:1\n commands:\n - sleep\n - '60'\n resources:\n limits:\n cpu: '1'\n memory: 1024Mi\n metadata:\n labels:\n environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Fargate Platform Capability\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"ecs-tasks.amazonaws.com\"],\n }],\n }],\n});\nconst ecsTaskExecutionRole = new aws.iam.Role(\"ecs_task_execution_role\", {\n name: \"my_test_batch_exec_role\",\n assumeRolePolicy: assumeRolePolicy.then(assumeRolePolicy =\u003e assumeRolePolicy.json),\n});\nconst ecsTaskExecutionRolePolicy = new aws.iam.RolePolicyAttachment(\"ecs_task_execution_role_policy\", {\n role: ecsTaskExecutionRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\",\n});\nconst test = new aws.batch.JobDefinition(\"test\", {\n name: \"my_test_batch_job_definition\",\n type: \"container\",\n platformCapabilities: [\"FARGATE\"],\n containerProperties: pulumi.jsonStringify({\n command: [\n \"echo\",\n \"test\",\n ],\n image: \"busybox\",\n jobRoleArn: \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\",\n fargatePlatformConfiguration: {\n platformVersion: \"LATEST\",\n },\n resourceRequirements: [\n {\n type: \"VCPU\",\n value: \"0.25\",\n },\n {\n type: \"MEMORY\",\n value: \"512\",\n },\n ],\n executionRoleArn: ecsTaskExecutionRole.arn,\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume_role_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"ecs-tasks.amazonaws.com\"],\n }],\n}])\necs_task_execution_role = aws.iam.Role(\"ecs_task_execution_role\",\n name=\"my_test_batch_exec_role\",\n assume_role_policy=assume_role_policy.json)\necs_task_execution_role_policy = aws.iam.RolePolicyAttachment(\"ecs_task_execution_role_policy\",\n role=ecs_task_execution_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\")\ntest = aws.batch.JobDefinition(\"test\",\n name=\"my_test_batch_job_definition\",\n type=\"container\",\n platform_capabilities=[\"FARGATE\"],\n container_properties=pulumi.Output.json_dumps({\n \"command\": [\n \"echo\",\n \"test\",\n ],\n \"image\": \"busybox\",\n \"jobRoleArn\": \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\",\n \"fargatePlatformConfiguration\": {\n \"platformVersion\": \"LATEST\",\n },\n \"resourceRequirements\": [\n {\n \"type\": \"VCPU\",\n \"value\": \"0.25\",\n },\n {\n \"type\": \"MEMORY\",\n \"value\": \"512\",\n },\n ],\n \"executionRoleArn\": ecs_task_execution_role.arn,\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ecs-tasks.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var ecsTaskExecutionRole = new Aws.Iam.Role(\"ecs_task_execution_role\", new()\n {\n Name = \"my_test_batch_exec_role\",\n AssumeRolePolicy = assumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ecsTaskExecutionRolePolicy = new Aws.Iam.RolePolicyAttachment(\"ecs_task_execution_role_policy\", new()\n {\n Role = ecsTaskExecutionRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\",\n });\n\n var test = new Aws.Batch.JobDefinition(\"test\", new()\n {\n Name = \"my_test_batch_job_definition\",\n Type = \"container\",\n PlatformCapabilities = new[]\n {\n \"FARGATE\",\n },\n ContainerProperties = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"command\"] = new[]\n {\n \"echo\",\n \"test\",\n },\n [\"image\"] = \"busybox\",\n [\"jobRoleArn\"] = \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\",\n [\"fargatePlatformConfiguration\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"platformVersion\"] = \"LATEST\",\n },\n [\"resourceRequirements\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"VCPU\",\n [\"value\"] = \"0.25\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"MEMORY\",\n [\"value\"] = \"512\",\n },\n },\n [\"executionRoleArn\"] = ecsTaskExecutionRole.Arn,\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ecs-tasks.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tecsTaskExecutionRole, err := iam.NewRole(ctx, \"ecs_task_execution_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"my_test_batch_exec_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRolePolicy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"ecs_task_execution_role_policy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: ecsTaskExecutionRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewJobDefinition(ctx, \"test\", \u0026batch.JobDefinitionArgs{\n\t\t\tName: pulumi.String(\"my_test_batch_job_definition\"),\n\t\t\tType: pulumi.String(\"container\"),\n\t\t\tPlatformCapabilities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FARGATE\"),\n\t\t\t},\n\t\t\tContainerProperties: ecsTaskExecutionRole.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"command\": []string{\n\t\t\t\t\t\t\"echo\",\n\t\t\t\t\t\t\"test\",\n\t\t\t\t\t},\n\t\t\t\t\t\"image\": \"busybox\",\n\t\t\t\t\t\"jobRoleArn\": \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\",\n\t\t\t\t\t\"fargatePlatformConfiguration\": map[string]interface{}{\n\t\t\t\t\t\t\"platformVersion\": \"LATEST\",\n\t\t\t\t\t},\n\t\t\t\t\t\"resourceRequirements\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"VCPU\",\n\t\t\t\t\t\t\t\"value\": \"0.25\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"MEMORY\",\n\t\t\t\t\t\t\t\"value\": \"512\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"executionRoleArn\": arn,\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.batch.JobDefinition;\nimport com.pulumi.aws.batch.JobDefinitionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ecs-tasks.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var ecsTaskExecutionRole = new Role(\"ecsTaskExecutionRole\", RoleArgs.builder()\n .name(\"my_test_batch_exec_role\")\n .assumeRolePolicy(assumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var ecsTaskExecutionRolePolicy = new RolePolicyAttachment(\"ecsTaskExecutionRolePolicy\", RolePolicyAttachmentArgs.builder()\n .role(ecsTaskExecutionRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\")\n .build());\n\n var test = new JobDefinition(\"test\", JobDefinitionArgs.builder()\n .name(\"my_test_batch_job_definition\")\n .type(\"container\")\n .platformCapabilities(\"FARGATE\")\n .containerProperties(ecsTaskExecutionRole.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"command\", jsonArray(\n \"echo\", \n \"test\"\n )),\n jsonProperty(\"image\", \"busybox\"),\n jsonProperty(\"jobRoleArn\", \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\"),\n jsonProperty(\"fargatePlatformConfiguration\", jsonObject(\n jsonProperty(\"platformVersion\", \"LATEST\")\n )),\n jsonProperty(\"resourceRequirements\", jsonArray(\n jsonObject(\n jsonProperty(\"type\", \"VCPU\"),\n jsonProperty(\"value\", \"0.25\")\n ), \n jsonObject(\n jsonProperty(\"type\", \"MEMORY\"),\n jsonProperty(\"value\", \"512\")\n )\n )),\n jsonProperty(\"executionRoleArn\", arn)\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsTaskExecutionRole:\n type: aws:iam:Role\n name: ecs_task_execution_role\n properties:\n name: my_test_batch_exec_role\n assumeRolePolicy: ${assumeRolePolicy.json}\n ecsTaskExecutionRolePolicy:\n type: aws:iam:RolePolicyAttachment\n name: ecs_task_execution_role_policy\n properties:\n role: ${ecsTaskExecutionRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\n test:\n type: aws:batch:JobDefinition\n properties:\n name: my_test_batch_job_definition\n type: container\n platformCapabilities:\n - FARGATE\n containerProperties:\n fn::toJSON:\n command:\n - echo\n - test\n image: busybox\n jobRoleArn: arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\n fargatePlatformConfiguration:\n platformVersion: LATEST\n resourceRequirements:\n - type: VCPU\n value: '0.25'\n - type: MEMORY\n value: '512'\n executionRoleArn: ${ecsTaskExecutionRole.arn}\nvariables:\n assumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - ecs-tasks.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Job definition of type container using `ecs_properties`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.batch.JobDefinition(\"test\", {\n name: \"my_test_batch_job_definition\",\n type: \"container\",\n platformCapabilities: [\"FARGATE\"],\n ecsProperties: JSON.stringify({\n taskProperties: [{\n executionRoleArn: ecsTaskExecutionRole.arn,\n containers: [\n {\n image: \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n command: [\n \"sleep\",\n \"60\",\n ],\n dependsOn: [{\n containerName: \"container_b\",\n condition: \"COMPLETE\",\n }],\n secrets: [{\n name: \"TEST\",\n valueFrom: \"DUMMY\",\n }],\n environment: [{\n name: \"test\",\n value: \"Environment Variable\",\n }],\n essential: true,\n logConfiguration: {\n logDriver: \"awslogs\",\n options: {\n \"awslogs-group\": \"tf_test_batch_job\",\n \"awslogs-region\": \"us-west-2\",\n \"awslogs-stream-prefix\": \"ecs\",\n },\n },\n name: \"container_a\",\n privileged: false,\n readonlyRootFilesystem: false,\n resourceRequirements: [\n {\n value: \"1.0\",\n type: \"VCPU\",\n },\n {\n value: \"2048\",\n type: \"MEMORY\",\n },\n ],\n },\n {\n image: \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n command: [\n \"sleep\",\n \"360\",\n ],\n name: \"container_b\",\n essential: false,\n resourceRequirements: [\n {\n value: \"1.0\",\n type: \"VCPU\",\n },\n {\n value: \"2048\",\n type: \"MEMORY\",\n },\n ],\n },\n ],\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.batch.JobDefinition(\"test\",\n name=\"my_test_batch_job_definition\",\n type=\"container\",\n platform_capabilities=[\"FARGATE\"],\n ecs_properties=json.dumps({\n \"taskProperties\": [{\n \"executionRoleArn\": ecs_task_execution_role[\"arn\"],\n \"containers\": [\n {\n \"image\": \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n \"command\": [\n \"sleep\",\n \"60\",\n ],\n \"dependsOn\": [{\n \"containerName\": \"container_b\",\n \"condition\": \"COMPLETE\",\n }],\n \"secrets\": [{\n \"name\": \"TEST\",\n \"valueFrom\": \"DUMMY\",\n }],\n \"environment\": [{\n \"name\": \"test\",\n \"value\": \"Environment Variable\",\n }],\n \"essential\": True,\n \"logConfiguration\": {\n \"logDriver\": \"awslogs\",\n \"options\": {\n \"awslogs-group\": \"tf_test_batch_job\",\n \"awslogs-region\": \"us-west-2\",\n \"awslogs-stream-prefix\": \"ecs\",\n },\n },\n \"name\": \"container_a\",\n \"privileged\": False,\n \"readonlyRootFilesystem\": False,\n \"resourceRequirements\": [\n {\n \"value\": \"1.0\",\n \"type\": \"VCPU\",\n },\n {\n \"value\": \"2048\",\n \"type\": \"MEMORY\",\n },\n ],\n },\n {\n \"image\": \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n \"command\": [\n \"sleep\",\n \"360\",\n ],\n \"name\": \"container_b\",\n \"essential\": False,\n \"resourceRequirements\": [\n {\n \"value\": \"1.0\",\n \"type\": \"VCPU\",\n },\n {\n \"value\": \"2048\",\n \"type\": \"MEMORY\",\n },\n ],\n },\n ],\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Batch.JobDefinition(\"test\", new()\n {\n Name = \"my_test_batch_job_definition\",\n Type = \"container\",\n PlatformCapabilities = new[]\n {\n \"FARGATE\",\n },\n EcsProperties = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"taskProperties\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"executionRoleArn\"] = ecsTaskExecutionRole.Arn,\n [\"containers\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"image\"] = \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n [\"command\"] = new[]\n {\n \"sleep\",\n \"60\",\n },\n [\"dependsOn\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"containerName\"] = \"container_b\",\n [\"condition\"] = \"COMPLETE\",\n },\n },\n [\"secrets\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"TEST\",\n [\"valueFrom\"] = \"DUMMY\",\n },\n },\n [\"environment\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"test\",\n [\"value\"] = \"Environment Variable\",\n },\n },\n [\"essential\"] = true,\n [\"logConfiguration\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"logDriver\"] = \"awslogs\",\n [\"options\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"awslogs-group\"] = \"tf_test_batch_job\",\n [\"awslogs-region\"] = \"us-west-2\",\n [\"awslogs-stream-prefix\"] = \"ecs\",\n },\n },\n [\"name\"] = \"container_a\",\n [\"privileged\"] = false,\n [\"readonlyRootFilesystem\"] = false,\n [\"resourceRequirements\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"value\"] = \"1.0\",\n [\"type\"] = \"VCPU\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"value\"] = \"2048\",\n [\"type\"] = \"MEMORY\",\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"image\"] = \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n [\"command\"] = new[]\n {\n \"sleep\",\n \"360\",\n },\n [\"name\"] = \"container_b\",\n [\"essential\"] = false,\n [\"resourceRequirements\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"value\"] = \"1.0\",\n [\"type\"] = \"VCPU\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"value\"] = \"2048\",\n [\"type\"] = \"MEMORY\",\n },\n },\n },\n },\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"taskProperties\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"executionRoleArn\": ecsTaskExecutionRole.Arn,\n\t\t\t\t\t\"containers\": []interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"image\": \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n\t\t\t\t\t\t\t\"command\": []string{\n\t\t\t\t\t\t\t\t\"sleep\",\n\t\t\t\t\t\t\t\t\"60\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"dependsOn\": []map[string]interface{}{\n\t\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"containerName\": \"container_b\",\n\t\t\t\t\t\t\t\t\t\"condition\": \"COMPLETE\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"secrets\": []map[string]interface{}{\n\t\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"name\": \"TEST\",\n\t\t\t\t\t\t\t\t\t\"valueFrom\": \"DUMMY\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"environment\": []map[string]interface{}{\n\t\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"name\": \"test\",\n\t\t\t\t\t\t\t\t\t\"value\": \"Environment Variable\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"essential\": true,\n\t\t\t\t\t\t\t\"logConfiguration\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"logDriver\": \"awslogs\",\n\t\t\t\t\t\t\t\t\"options\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"awslogs-group\": \"tf_test_batch_job\",\n\t\t\t\t\t\t\t\t\t\"awslogs-region\": \"us-west-2\",\n\t\t\t\t\t\t\t\t\t\"awslogs-stream-prefix\": \"ecs\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"container_a\",\n\t\t\t\t\t\t\t\"privileged\": false,\n\t\t\t\t\t\t\t\"readonlyRootFilesystem\": false,\n\t\t\t\t\t\t\t\"resourceRequirements\": []map[string]interface{}{\n\t\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"value\": \"1.0\",\n\t\t\t\t\t\t\t\t\t\"type\": \"VCPU\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"value\": \"2048\",\n\t\t\t\t\t\t\t\t\t\"type\": \"MEMORY\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"image\": \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n\t\t\t\t\t\t\t\"command\": []string{\n\t\t\t\t\t\t\t\t\"sleep\",\n\t\t\t\t\t\t\t\t\"360\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"container_b\",\n\t\t\t\t\t\t\t\"essential\": false,\n\t\t\t\t\t\t\t\"resourceRequirements\": []map[string]interface{}{\n\t\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"value\": \"1.0\",\n\t\t\t\t\t\t\t\t\t\"type\": \"VCPU\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"value\": \"2048\",\n\t\t\t\t\t\t\t\t\t\"type\": \"MEMORY\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\t_, err = batch.NewJobDefinition(ctx, \"test\", \u0026batch.JobDefinitionArgs{\n\t\t\tName: pulumi.String(\"my_test_batch_job_definition\"),\n\t\t\tType: pulumi.String(\"container\"),\n\t\t\tPlatformCapabilities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FARGATE\"),\n\t\t\t},\n\t\t\tEcsProperties: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.JobDefinition;\nimport com.pulumi.aws.batch.JobDefinitionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new JobDefinition(\"test\", JobDefinitionArgs.builder()\n .name(\"my_test_batch_job_definition\")\n .type(\"container\")\n .platformCapabilities(\"FARGATE\")\n .ecsProperties(serializeJson(\n jsonObject(\n jsonProperty(\"taskProperties\", jsonArray(jsonObject(\n jsonProperty(\"executionRoleArn\", ecsTaskExecutionRole.arn()),\n jsonProperty(\"containers\", jsonArray(\n jsonObject(\n jsonProperty(\"image\", \"public.ecr.aws/amazonlinux/amazonlinux:1\"),\n jsonProperty(\"command\", jsonArray(\n \"sleep\", \n \"60\"\n )),\n jsonProperty(\"dependsOn\", jsonArray(jsonObject(\n jsonProperty(\"containerName\", \"container_b\"),\n jsonProperty(\"condition\", \"COMPLETE\")\n ))),\n jsonProperty(\"secrets\", jsonArray(jsonObject(\n jsonProperty(\"name\", \"TEST\"),\n jsonProperty(\"valueFrom\", \"DUMMY\")\n ))),\n jsonProperty(\"environment\", jsonArray(jsonObject(\n jsonProperty(\"name\", \"test\"),\n jsonProperty(\"value\", \"Environment Variable\")\n ))),\n jsonProperty(\"essential\", true),\n jsonProperty(\"logConfiguration\", jsonObject(\n jsonProperty(\"logDriver\", \"awslogs\"),\n jsonProperty(\"options\", jsonObject(\n jsonProperty(\"awslogs-group\", \"tf_test_batch_job\"),\n jsonProperty(\"awslogs-region\", \"us-west-2\"),\n jsonProperty(\"awslogs-stream-prefix\", \"ecs\")\n ))\n )),\n jsonProperty(\"name\", \"container_a\"),\n jsonProperty(\"privileged\", false),\n jsonProperty(\"readonlyRootFilesystem\", false),\n jsonProperty(\"resourceRequirements\", jsonArray(\n jsonObject(\n jsonProperty(\"value\", \"1.0\"),\n jsonProperty(\"type\", \"VCPU\")\n ), \n jsonObject(\n jsonProperty(\"value\", \"2048\"),\n jsonProperty(\"type\", \"MEMORY\")\n )\n ))\n ), \n jsonObject(\n jsonProperty(\"image\", \"public.ecr.aws/amazonlinux/amazonlinux:1\"),\n jsonProperty(\"command\", jsonArray(\n \"sleep\", \n \"360\"\n )),\n jsonProperty(\"name\", \"container_b\"),\n jsonProperty(\"essential\", false),\n jsonProperty(\"resourceRequirements\", jsonArray(\n jsonObject(\n jsonProperty(\"value\", \"1.0\"),\n jsonProperty(\"type\", \"VCPU\")\n ), \n jsonObject(\n jsonProperty(\"value\", \"2048\"),\n jsonProperty(\"type\", \"MEMORY\")\n )\n ))\n )\n ))\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:batch:JobDefinition\n properties:\n name: my_test_batch_job_definition\n type: container\n platformCapabilities:\n - FARGATE\n ecsProperties:\n fn::toJSON:\n taskProperties:\n - executionRoleArn: ${ecsTaskExecutionRole.arn}\n containers:\n - image: public.ecr.aws/amazonlinux/amazonlinux:1\n command:\n - sleep\n - '60'\n dependsOn:\n - containerName: container_b\n condition: COMPLETE\n secrets:\n - name: TEST\n valueFrom: DUMMY\n environment:\n - name: test\n value: Environment Variable\n essential: true\n logConfiguration:\n logDriver: awslogs\n options:\n awslogs-group: tf_test_batch_job\n awslogs-region: us-west-2\n awslogs-stream-prefix: ecs\n name: container_a\n privileged: false\n readonlyRootFilesystem: false\n resourceRequirements:\n - value: '1.0'\n type: VCPU\n - value: '2048'\n type: MEMORY\n - image: public.ecr.aws/amazonlinux/amazonlinux:1\n command:\n - sleep\n - '360'\n name: container_b\n essential: false\n resourceRequirements:\n - value: '1.0'\n type: VCPU\n - value: '2048'\n type: MEMORY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Batch Job Definition using the `arn`. For example:\n\n```sh\n$ pulumi import aws:batch/jobDefinition:JobDefinition test arn:aws:batch:us-east-1:123456789012:job-definition/sample\n```\n", "properties": { "arn": { "type": "string", @@ -193444,7 +193444,7 @@ } }, "aws:bedrock/agentAgent:AgentAgent": { - "description": "Resource for managing an AWS Agents for Amazon Bedrock Agent.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst currentGetRegion = aws.getRegion({});\nconst exampleAgentTrust = Promise.all([current, currentGetPartition, currentGetRegion, current]).then(([current, currentGetPartition, currentGetRegion, current1]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n identifiers: [\"bedrock.amazonaws.com\"],\n type: \"Service\",\n }],\n conditions: [\n {\n test: \"StringEquals\",\n values: [current.accountId],\n variable: \"aws:SourceAccount\",\n },\n {\n test: \"ArnLike\",\n values: [`arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}:${current1.accountId}:agent/*`],\n variable: \"AWS:SourceArn\",\n },\n ],\n }],\n}));\nconst exampleAgentPermissions = Promise.all([currentGetPartition, currentGetRegion]).then(([currentGetPartition, currentGetRegion]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"bedrock:InvokeModel\"],\n resources: [`arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}::foundation-model/anthropic.claude-v2`],\n }],\n}));\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: exampleAgentTrust.then(exampleAgentTrust =\u003e exampleAgentTrust.json),\n namePrefix: \"AmazonBedrockExecutionRoleForAgents_\",\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n policy: exampleAgentPermissions.then(exampleAgentPermissions =\u003e exampleAgentPermissions.json),\n role: example.id,\n});\nconst exampleAgentAgent = new aws.bedrock.AgentAgent(\"example\", {\n agentName: \"my-agent-name\",\n agentResourceRoleArn: example.arn,\n idleSessionTtlInSeconds: 500,\n foundationModel: \"anthropic.claude-v2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\ncurrent_get_region = aws.get_region()\nexample_agent_trust = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"identifiers\": [\"bedrock.amazonaws.com\"],\n \"type\": \"Service\",\n }],\n \"conditions\": [\n {\n \"test\": \"StringEquals\",\n \"values\": [current.account_id],\n \"variable\": \"aws:SourceAccount\",\n },\n {\n \"test\": \"ArnLike\",\n \"values\": [f\"arn:{current_get_partition.partition}:bedrock:{current_get_region.name}:{current.account_id}:agent/*\"],\n \"variable\": \"AWS:SourceArn\",\n },\n ],\n}])\nexample_agent_permissions = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"bedrock:InvokeModel\"],\n \"resources\": [f\"arn:{current_get_partition.partition}:bedrock:{current_get_region.name}::foundation-model/anthropic.claude-v2\"],\n}])\nexample = aws.iam.Role(\"example\",\n assume_role_policy=example_agent_trust.json,\n name_prefix=\"AmazonBedrockExecutionRoleForAgents_\")\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n policy=example_agent_permissions.json,\n role=example.id)\nexample_agent_agent = aws.bedrock.AgentAgent(\"example\",\n agent_name=\"my-agent-name\",\n agent_resource_role_arn=example.arn,\n idle_session_ttl_in_seconds=500,\n foundation_model=\"anthropic.claude-v2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var exampleAgentTrust = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"bedrock.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Values = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n Variable = \"aws:SourceAccount\",\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnLike\",\n Values = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:bedrock:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:agent/*\",\n },\n Variable = \"AWS:SourceArn\",\n },\n },\n },\n },\n });\n\n var exampleAgentPermissions = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"bedrock:InvokeModel\",\n },\n Resources = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:bedrock:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}::foundation-model/anthropic.claude-v2\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = exampleAgentTrust.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n NamePrefix = \"AmazonBedrockExecutionRoleForAgents_\",\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Policy = exampleAgentPermissions.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = example.Id,\n });\n\n var exampleAgentAgent = new Aws.Bedrock.AgentAgent(\"example\", new()\n {\n AgentName = \"my-agent-name\",\n AgentResourceRoleArn = example.Arn,\n IdleSessionTtlInSeconds = 500,\n FoundationModel = \"anthropic.claude-v2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ncurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ncurrentGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nexampleAgentTrust, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sts:AssumeRole\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nIdentifiers: []string{\n\"bedrock.amazonaws.com\",\n},\nType: \"Service\",\n},\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nValues: interface{}{\ncurrent.AccountId,\n},\nVariable: \"aws:SourceAccount\",\n},\n{\nTest: \"ArnLike\",\nValues: []string{\nfmt.Sprintf(\"arn:%v:bedrock:%v:%v:agent/*\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),\n},\nVariable: \"AWS:SourceArn\",\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleAgentPermissions, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"bedrock:InvokeModel\",\n},\nResources: []string{\nfmt.Sprintf(\"arn:%v:bedrock:%v::foundation-model/anthropic.claude-v2\", currentGetPartition.Partition, currentGetRegion.Name),\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\nAssumeRolePolicy: pulumi.String(exampleAgentTrust.Json),\nNamePrefix: pulumi.String(\"AmazonBedrockExecutionRoleForAgents_\"),\n})\nif err != nil {\nreturn err\n}\n_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\nPolicy: pulumi.String(exampleAgentPermissions.Json),\nRole: example.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = bedrock.NewAgentAgent(ctx, \"example\", \u0026bedrock.AgentAgentArgs{\nAgentName: pulumi.String(\"my-agent-name\"),\nAgentResourceRoleArn: example.Arn,\nIdleSessionTtlInSeconds: pulumi.Int(500),\nFoundationModel: pulumi.String(\"anthropic.claude-v2\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.bedrock.AgentAgent;\nimport com.pulumi.aws.bedrock.AgentAgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var exampleAgentTrust = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"bedrock.amazonaws.com\")\n .type(\"Service\")\n .build())\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .values(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .variable(\"aws:SourceAccount\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnLike\")\n .values(String.format(\"arn:%s:bedrock:%s:%s:agent/*\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .variable(\"AWS:SourceArn\")\n .build())\n .build())\n .build());\n\n final var exampleAgentPermissions = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"bedrock:InvokeModel\")\n .resources(String.format(\"arn:%s:bedrock:%s::foundation-model/anthropic.claude-v2\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(exampleAgentTrust.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .namePrefix(\"AmazonBedrockExecutionRoleForAgents_\")\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .policy(exampleAgentPermissions.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .role(example.id())\n .build());\n\n var exampleAgentAgent = new AgentAgent(\"exampleAgentAgent\", AgentAgentArgs.builder()\n .agentName(\"my-agent-name\")\n .agentResourceRoleArn(example.arn())\n .idleSessionTtlInSeconds(500)\n .foundationModel(\"anthropic.claude-v2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${exampleAgentTrust.json}\n namePrefix: AmazonBedrockExecutionRoleForAgents_\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n policy: ${exampleAgentPermissions.json}\n role: ${example.id}\n exampleAgentAgent:\n type: aws:bedrock:AgentAgent\n name: example\n properties:\n agentName: my-agent-name\n agentResourceRoleArn: ${example.arn}\n idleSessionTtlInSeconds: 500\n foundationModel: anthropic.claude-v2\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n currentGetPartition:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n currentGetRegion:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n exampleAgentTrust:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - identifiers:\n - bedrock.amazonaws.com\n type: Service\n conditions:\n - test: StringEquals\n values:\n - ${current.accountId}\n variable: aws:SourceAccount\n - test: ArnLike\n values:\n - arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}:${current.accountId}:agent/*\n variable: AWS:SourceArn\n exampleAgentPermissions:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - bedrock:InvokeModel\n resources:\n - arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}::foundation-model/anthropic.claude-v2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Agent using the agent ID. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentAgent:AgentAgent example GGRRAED6JP\n```\n", + "description": "Resource for managing an AWS Agents for Amazon Bedrock Agent.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst currentGetRegion = aws.getRegion({});\nconst exampleAgentTrust = Promise.all([current, currentGetPartition, currentGetRegion, current]).then(([current, currentGetPartition, currentGetRegion, current1]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n identifiers: [\"bedrock.amazonaws.com\"],\n type: \"Service\",\n }],\n conditions: [\n {\n test: \"StringEquals\",\n values: [current.accountId],\n variable: \"aws:SourceAccount\",\n },\n {\n test: \"ArnLike\",\n values: [`arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}:${current1.accountId}:agent/*`],\n variable: \"AWS:SourceArn\",\n },\n ],\n }],\n}));\nconst exampleAgentPermissions = Promise.all([currentGetPartition, currentGetRegion]).then(([currentGetPartition, currentGetRegion]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"bedrock:InvokeModel\"],\n resources: [`arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}::foundation-model/anthropic.claude-v2`],\n }],\n}));\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: exampleAgentTrust.then(exampleAgentTrust =\u003e exampleAgentTrust.json),\n namePrefix: \"AmazonBedrockExecutionRoleForAgents_\",\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n policy: exampleAgentPermissions.then(exampleAgentPermissions =\u003e exampleAgentPermissions.json),\n role: example.id,\n});\nconst exampleAgentAgent = new aws.bedrock.AgentAgent(\"example\", {\n agentName: \"my-agent-name\",\n agentResourceRoleArn: example.arn,\n idleSessionTtlInSeconds: 500,\n foundationModel: \"anthropic.claude-v2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\ncurrent_get_region = aws.get_region()\nexample_agent_trust = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"identifiers\": [\"bedrock.amazonaws.com\"],\n \"type\": \"Service\",\n }],\n \"conditions\": [\n {\n \"test\": \"StringEquals\",\n \"values\": [current.account_id],\n \"variable\": \"aws:SourceAccount\",\n },\n {\n \"test\": \"ArnLike\",\n \"values\": [f\"arn:{current_get_partition.partition}:bedrock:{current_get_region.name}:{current.account_id}:agent/*\"],\n \"variable\": \"AWS:SourceArn\",\n },\n ],\n}])\nexample_agent_permissions = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"bedrock:InvokeModel\"],\n \"resources\": [f\"arn:{current_get_partition.partition}:bedrock:{current_get_region.name}::foundation-model/anthropic.claude-v2\"],\n}])\nexample = aws.iam.Role(\"example\",\n assume_role_policy=example_agent_trust.json,\n name_prefix=\"AmazonBedrockExecutionRoleForAgents_\")\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n policy=example_agent_permissions.json,\n role=example.id)\nexample_agent_agent = aws.bedrock.AgentAgent(\"example\",\n agent_name=\"my-agent-name\",\n agent_resource_role_arn=example.arn,\n idle_session_ttl_in_seconds=500,\n foundation_model=\"anthropic.claude-v2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var exampleAgentTrust = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"bedrock.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Values = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n Variable = \"aws:SourceAccount\",\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnLike\",\n Values = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:bedrock:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:agent/*\",\n },\n Variable = \"AWS:SourceArn\",\n },\n },\n },\n },\n });\n\n var exampleAgentPermissions = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"bedrock:InvokeModel\",\n },\n Resources = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:bedrock:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}::foundation-model/anthropic.claude-v2\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = exampleAgentTrust.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n NamePrefix = \"AmazonBedrockExecutionRoleForAgents_\",\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Policy = exampleAgentPermissions.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = example.Id,\n });\n\n var exampleAgentAgent = new Aws.Bedrock.AgentAgent(\"example\", new()\n {\n AgentName = \"my-agent-name\",\n AgentResourceRoleArn = example.Arn,\n IdleSessionTtlInSeconds = 500,\n FoundationModel = \"anthropic.claude-v2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ncurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ncurrentGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nexampleAgentTrust, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sts:AssumeRole\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nIdentifiers: []string{\n\"bedrock.amazonaws.com\",\n},\nType: \"Service\",\n},\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nValues: interface{}{\ncurrent.AccountId,\n},\nVariable: \"aws:SourceAccount\",\n},\n{\nTest: \"ArnLike\",\nValues: []string{\nfmt.Sprintf(\"arn:%v:bedrock:%v:%v:agent/*\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),\n},\nVariable: \"AWS:SourceArn\",\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleAgentPermissions, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"bedrock:InvokeModel\",\n},\nResources: []string{\nfmt.Sprintf(\"arn:%v:bedrock:%v::foundation-model/anthropic.claude-v2\", currentGetPartition.Partition, currentGetRegion.Name),\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\nAssumeRolePolicy: pulumi.String(exampleAgentTrust.Json),\nNamePrefix: pulumi.String(\"AmazonBedrockExecutionRoleForAgents_\"),\n})\nif err != nil {\nreturn err\n}\n_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\nPolicy: pulumi.String(exampleAgentPermissions.Json),\nRole: example.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = bedrock.NewAgentAgent(ctx, \"example\", \u0026bedrock.AgentAgentArgs{\nAgentName: pulumi.String(\"my-agent-name\"),\nAgentResourceRoleArn: example.Arn,\nIdleSessionTtlInSeconds: pulumi.Int(500),\nFoundationModel: pulumi.String(\"anthropic.claude-v2\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.bedrock.AgentAgent;\nimport com.pulumi.aws.bedrock.AgentAgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var exampleAgentTrust = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"bedrock.amazonaws.com\")\n .type(\"Service\")\n .build())\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .values(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .variable(\"aws:SourceAccount\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnLike\")\n .values(String.format(\"arn:%s:bedrock:%s:%s:agent/*\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .variable(\"AWS:SourceArn\")\n .build())\n .build())\n .build());\n\n final var exampleAgentPermissions = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"bedrock:InvokeModel\")\n .resources(String.format(\"arn:%s:bedrock:%s::foundation-model/anthropic.claude-v2\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(exampleAgentTrust.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .namePrefix(\"AmazonBedrockExecutionRoleForAgents_\")\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .policy(exampleAgentPermissions.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .role(example.id())\n .build());\n\n var exampleAgentAgent = new AgentAgent(\"exampleAgentAgent\", AgentAgentArgs.builder()\n .agentName(\"my-agent-name\")\n .agentResourceRoleArn(example.arn())\n .idleSessionTtlInSeconds(500)\n .foundationModel(\"anthropic.claude-v2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${exampleAgentTrust.json}\n namePrefix: AmazonBedrockExecutionRoleForAgents_\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n policy: ${exampleAgentPermissions.json}\n role: ${example.id}\n exampleAgentAgent:\n type: aws:bedrock:AgentAgent\n name: example\n properties:\n agentName: my-agent-name\n agentResourceRoleArn: ${example.arn}\n idleSessionTtlInSeconds: 500\n foundationModel: anthropic.claude-v2\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n exampleAgentTrust:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - identifiers:\n - bedrock.amazonaws.com\n type: Service\n conditions:\n - test: StringEquals\n values:\n - ${current.accountId}\n variable: aws:SourceAccount\n - test: ArnLike\n values:\n - arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}:${current.accountId}:agent/*\n variable: AWS:SourceArn\n exampleAgentPermissions:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - bedrock:InvokeModel\n resources:\n - arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}::foundation-model/anthropic.claude-v2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Agent using the agent ID. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentAgent:AgentAgent example GGRRAED6JP\n```\n", "properties": { "agentArn": { "type": "string", @@ -193696,7 +193696,7 @@ } }, "aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup": { - "description": "Resource for managing an AWS Agents for Amazon Bedrock Agent Action Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.bedrock.AgentAgentActionGroup(\"example\", {\n actionGroupName: \"example\",\n agentId: \"GGRRAED6JP\",\n agentVersion: \"DRAFT\",\n skipResourceInUseCheck: true,\n actionGroupExecutor: {\n lambda: \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n apiSchema: {\n payload: std.file({\n input: \"path/to/schema.yaml\",\n }).then(invoke =\u003e invoke.result),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.bedrock.AgentAgentActionGroup(\"example\",\n action_group_name=\"example\",\n agent_id=\"GGRRAED6JP\",\n agent_version=\"DRAFT\",\n skip_resource_in_use_check=True,\n action_group_executor={\n \"lambda_\": \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n api_schema={\n \"payload\": std.file(input=\"path/to/schema.yaml\").result,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.AgentAgentActionGroup(\"example\", new()\n {\n ActionGroupName = \"example\",\n AgentId = \"GGRRAED6JP\",\n AgentVersion = \"DRAFT\",\n SkipResourceInUseCheck = true,\n ActionGroupExecutor = new Aws.Bedrock.Inputs.AgentAgentActionGroupActionGroupExecutorArgs\n {\n Lambda = \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n ApiSchema = new Aws.Bedrock.Inputs.AgentAgentActionGroupApiSchemaArgs\n {\n Payload = Std.File.Invoke(new()\n {\n Input = \"path/to/schema.yaml\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"path/to/schema.yaml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bedrock.NewAgentAgentActionGroup(ctx, \"example\", \u0026bedrock.AgentAgentActionGroupArgs{\n\t\t\tActionGroupName: pulumi.String(\"example\"),\n\t\t\tAgentId: pulumi.String(\"GGRRAED6JP\"),\n\t\t\tAgentVersion: pulumi.String(\"DRAFT\"),\n\t\t\tSkipResourceInUseCheck: pulumi.Bool(true),\n\t\t\tActionGroupExecutor: \u0026bedrock.AgentAgentActionGroupActionGroupExecutorArgs{\n\t\t\t\tLambda: pulumi.String(\"arn:aws:lambda:us-west-2:123456789012:function:example-function\"),\n\t\t\t},\n\t\t\tApiSchema: \u0026bedrock.AgentAgentActionGroupApiSchemaArgs{\n\t\t\t\tPayload: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroup;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroupArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupActionGroupExecutorArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AgentAgentActionGroup(\"example\", AgentAgentActionGroupArgs.builder()\n .actionGroupName(\"example\")\n .agentId(\"GGRRAED6JP\")\n .agentVersion(\"DRAFT\")\n .skipResourceInUseCheck(true)\n .actionGroupExecutor(AgentAgentActionGroupActionGroupExecutorArgs.builder()\n .lambda(\"arn:aws:lambda:us-west-2:123456789012:function:example-function\")\n .build())\n .apiSchema(AgentAgentActionGroupApiSchemaArgs.builder()\n .payload(StdFunctions.file(FileArgs.builder()\n .input(\"path/to/schema.yaml\")\n .build()).result())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:AgentAgentActionGroup\n properties:\n actionGroupName: example\n agentId: GGRRAED6JP\n agentVersion: DRAFT\n skipResourceInUseCheck: true\n actionGroupExecutor:\n lambda: arn:aws:lambda:us-west-2:123456789012:function:example-function\n apiSchema:\n payload:\n fn::invoke:\n function: std:file\n arguments:\n input: path/to/schema.yaml\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### API Schema in S3 Bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.bedrock.AgentAgentActionGroup(\"example\", {\n actionGroupName: \"example\",\n agentId: \"GGRRAED6JP\",\n agentVersion: \"DRAFT\",\n skipResourceInUseCheck: true,\n actionGroupExecutor: {\n lambda: \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n apiSchema: {\n s3: {\n s3BucketName: \"example-bucket\",\n s3ObjectKey: \"path/to/schema.json\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrock.AgentAgentActionGroup(\"example\",\n action_group_name=\"example\",\n agent_id=\"GGRRAED6JP\",\n agent_version=\"DRAFT\",\n skip_resource_in_use_check=True,\n action_group_executor={\n \"lambda_\": \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n api_schema={\n \"s3\": {\n \"s3_bucket_name\": \"example-bucket\",\n \"s3_object_key\": \"path/to/schema.json\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.AgentAgentActionGroup(\"example\", new()\n {\n ActionGroupName = \"example\",\n AgentId = \"GGRRAED6JP\",\n AgentVersion = \"DRAFT\",\n SkipResourceInUseCheck = true,\n ActionGroupExecutor = new Aws.Bedrock.Inputs.AgentAgentActionGroupActionGroupExecutorArgs\n {\n Lambda = \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n ApiSchema = new Aws.Bedrock.Inputs.AgentAgentActionGroupApiSchemaArgs\n {\n S3 = new Aws.Bedrock.Inputs.AgentAgentActionGroupApiSchemaS3Args\n {\n S3BucketName = \"example-bucket\",\n S3ObjectKey = \"path/to/schema.json\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\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 := bedrock.NewAgentAgentActionGroup(ctx, \"example\", \u0026bedrock.AgentAgentActionGroupArgs{\n\t\t\tActionGroupName: pulumi.String(\"example\"),\n\t\t\tAgentId: pulumi.String(\"GGRRAED6JP\"),\n\t\t\tAgentVersion: pulumi.String(\"DRAFT\"),\n\t\t\tSkipResourceInUseCheck: pulumi.Bool(true),\n\t\t\tActionGroupExecutor: \u0026bedrock.AgentAgentActionGroupActionGroupExecutorArgs{\n\t\t\t\tLambda: pulumi.String(\"arn:aws:lambda:us-west-2:123456789012:function:example-function\"),\n\t\t\t},\n\t\t\tApiSchema: \u0026bedrock.AgentAgentActionGroupApiSchemaArgs{\n\t\t\t\tS3: \u0026bedrock.AgentAgentActionGroupApiSchemaS3Args{\n\t\t\t\t\tS3BucketName: pulumi.String(\"example-bucket\"),\n\t\t\t\t\tS3ObjectKey: pulumi.String(\"path/to/schema.json\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroup;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroupArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupActionGroupExecutorArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AgentAgentActionGroup(\"example\", AgentAgentActionGroupArgs.builder()\n .actionGroupName(\"example\")\n .agentId(\"GGRRAED6JP\")\n .agentVersion(\"DRAFT\")\n .skipResourceInUseCheck(true)\n .actionGroupExecutor(AgentAgentActionGroupActionGroupExecutorArgs.builder()\n .lambda(\"arn:aws:lambda:us-west-2:123456789012:function:example-function\")\n .build())\n .apiSchema(AgentAgentActionGroupApiSchemaArgs.builder()\n .s3(AgentAgentActionGroupApiSchemaS3Args.builder()\n .s3BucketName(\"example-bucket\")\n .s3ObjectKey(\"path/to/schema.json\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:AgentAgentActionGroup\n properties:\n actionGroupName: example\n agentId: GGRRAED6JP\n agentVersion: DRAFT\n skipResourceInUseCheck: true\n actionGroupExecutor:\n lambda: arn:aws:lambda:us-west-2:123456789012:function:example-function\n apiSchema:\n s3:\n s3BucketName: example-bucket\n s3ObjectKey: path/to/schema.json\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Function Schema (Simplified Schema)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.bedrock.AgentAgentActionGroup(\"example\", {\n actionGroupName: \"example\",\n agentId: \"GGRRAED6JP\",\n agentVersion: \"DRAFT\",\n skipResourceInUseCheck: true,\n actionGroupExecutor: {\n lambda: \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n functionSchema: {\n memberFunctions: {\n functions: [{\n name: \"example-function\",\n description: \"Example function\",\n parameters: [\n {\n mapBlockKey: \"param1\",\n type: \"string\",\n description: \"The first parameter\",\n required: true,\n },\n {\n mapBlockKey: \"param2\",\n type: \"integer\",\n description: \"The second parameter\",\n required: false,\n },\n ],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrock.AgentAgentActionGroup(\"example\",\n action_group_name=\"example\",\n agent_id=\"GGRRAED6JP\",\n agent_version=\"DRAFT\",\n skip_resource_in_use_check=True,\n action_group_executor={\n \"lambda_\": \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n function_schema={\n \"member_functions\": {\n \"functions\": [{\n \"name\": \"example-function\",\n \"description\": \"Example function\",\n \"parameters\": [\n {\n \"map_block_key\": \"param1\",\n \"type\": \"string\",\n \"description\": \"The first parameter\",\n \"required\": True,\n },\n {\n \"map_block_key\": \"param2\",\n \"type\": \"integer\",\n \"description\": \"The second parameter\",\n \"required\": False,\n },\n ],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.AgentAgentActionGroup(\"example\", new()\n {\n ActionGroupName = \"example\",\n AgentId = \"GGRRAED6JP\",\n AgentVersion = \"DRAFT\",\n SkipResourceInUseCheck = true,\n ActionGroupExecutor = new Aws.Bedrock.Inputs.AgentAgentActionGroupActionGroupExecutorArgs\n {\n Lambda = \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n FunctionSchema = new Aws.Bedrock.Inputs.AgentAgentActionGroupFunctionSchemaArgs\n {\n MemberFunctions = new Aws.Bedrock.Inputs.AgentAgentActionGroupFunctionSchemaMemberFunctionsArgs\n {\n Functions = new[]\n {\n new Aws.Bedrock.Inputs.AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionArgs\n {\n Name = \"example-function\",\n Description = \"Example function\",\n Parameters = new[]\n {\n new Aws.Bedrock.Inputs.AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionParameterArgs\n {\n MapBlockKey = \"param1\",\n Type = \"string\",\n Description = \"The first parameter\",\n Required = true,\n },\n new Aws.Bedrock.Inputs.AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionParameterArgs\n {\n MapBlockKey = \"param2\",\n Type = \"integer\",\n Description = \"The second parameter\",\n Required = false,\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\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 := bedrock.NewAgentAgentActionGroup(ctx, \"example\", \u0026bedrock.AgentAgentActionGroupArgs{\n\t\t\tActionGroupName: pulumi.String(\"example\"),\n\t\t\tAgentId: pulumi.String(\"GGRRAED6JP\"),\n\t\t\tAgentVersion: pulumi.String(\"DRAFT\"),\n\t\t\tSkipResourceInUseCheck: pulumi.Bool(true),\n\t\t\tActionGroupExecutor: \u0026bedrock.AgentAgentActionGroupActionGroupExecutorArgs{\n\t\t\t\tLambda: pulumi.String(\"arn:aws:lambda:us-west-2:123456789012:function:example-function\"),\n\t\t\t},\n\t\t\tFunctionSchema: \u0026bedrock.AgentAgentActionGroupFunctionSchemaArgs{\n\t\t\t\tMemberFunctions: \u0026bedrock.AgentAgentActionGroupFunctionSchemaMemberFunctionsArgs{\n\t\t\t\t\tFunctions: bedrock.AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionArray{\n\t\t\t\t\t\t\u0026bedrock.AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"example-function\"),\n\t\t\t\t\t\t\tDescription: pulumi.String(\"Example function\"),\n\t\t\t\t\t\t\tParameters: bedrock.AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionParameterArray{\n\t\t\t\t\t\t\t\t\u0026bedrock.AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionParameterArgs{\n\t\t\t\t\t\t\t\t\tMapBlockKey: pulumi.String(\"param1\"),\n\t\t\t\t\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\t\t\t\t\tDescription: pulumi.String(\"The first parameter\"),\n\t\t\t\t\t\t\t\t\tRequired: pulumi.Bool(true),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026bedrock.AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionParameterArgs{\n\t\t\t\t\t\t\t\t\tMapBlockKey: pulumi.String(\"param2\"),\n\t\t\t\t\t\t\t\t\tType: pulumi.String(\"integer\"),\n\t\t\t\t\t\t\t\t\tDescription: pulumi.String(\"The second parameter\"),\n\t\t\t\t\t\t\t\t\tRequired: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroup;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroupArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupActionGroupExecutorArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupFunctionSchemaArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupFunctionSchemaMemberFunctionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AgentAgentActionGroup(\"example\", AgentAgentActionGroupArgs.builder()\n .actionGroupName(\"example\")\n .agentId(\"GGRRAED6JP\")\n .agentVersion(\"DRAFT\")\n .skipResourceInUseCheck(true)\n .actionGroupExecutor(AgentAgentActionGroupActionGroupExecutorArgs.builder()\n .lambda(\"arn:aws:lambda:us-west-2:123456789012:function:example-function\")\n .build())\n .functionSchema(AgentAgentActionGroupFunctionSchemaArgs.builder()\n .memberFunctions(AgentAgentActionGroupFunctionSchemaMemberFunctionsArgs.builder()\n .functions(AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionArgs.builder()\n .name(\"example-function\")\n .description(\"Example function\")\n .parameters( \n AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionParameterArgs.builder()\n .mapBlockKey(\"param1\")\n .type(\"string\")\n .description(\"The first parameter\")\n .required(true)\n .build(),\n AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionParameterArgs.builder()\n .mapBlockKey(\"param2\")\n .type(\"integer\")\n .description(\"The second parameter\")\n .required(false)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:AgentAgentActionGroup\n properties:\n actionGroupName: example\n agentId: GGRRAED6JP\n agentVersion: DRAFT\n skipResourceInUseCheck: true\n actionGroupExecutor:\n lambda: arn:aws:lambda:us-west-2:123456789012:function:example-function\n functionSchema:\n memberFunctions:\n functions:\n - name: example-function\n description: Example function\n parameters:\n - mapBlockKey: param1\n type: string\n description: The first parameter\n required: true\n - mapBlockKey: param2\n type: integer\n description: The second parameter\n required: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Return of Control\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.bedrock.AgentAgentActionGroup(\"example\", {\n actionGroupName: \"example\",\n agentId: \"GGRRAED6JP\",\n agentVersion: \"DRAFT\",\n skipResourceInUseCheck: true,\n actionGroupExecutor: {\n customControl: \"RETURN_CONTROL\",\n },\n apiSchema: {\n payload: std.file({\n input: \"path/to/schema.yaml\",\n }).then(invoke =\u003e invoke.result),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.bedrock.AgentAgentActionGroup(\"example\",\n action_group_name=\"example\",\n agent_id=\"GGRRAED6JP\",\n agent_version=\"DRAFT\",\n skip_resource_in_use_check=True,\n action_group_executor={\n \"custom_control\": \"RETURN_CONTROL\",\n },\n api_schema={\n \"payload\": std.file(input=\"path/to/schema.yaml\").result,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.AgentAgentActionGroup(\"example\", new()\n {\n ActionGroupName = \"example\",\n AgentId = \"GGRRAED6JP\",\n AgentVersion = \"DRAFT\",\n SkipResourceInUseCheck = true,\n ActionGroupExecutor = new Aws.Bedrock.Inputs.AgentAgentActionGroupActionGroupExecutorArgs\n {\n CustomControl = \"RETURN_CONTROL\",\n },\n ApiSchema = new Aws.Bedrock.Inputs.AgentAgentActionGroupApiSchemaArgs\n {\n Payload = Std.File.Invoke(new()\n {\n Input = \"path/to/schema.yaml\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"path/to/schema.yaml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bedrock.NewAgentAgentActionGroup(ctx, \"example\", \u0026bedrock.AgentAgentActionGroupArgs{\n\t\t\tActionGroupName: pulumi.String(\"example\"),\n\t\t\tAgentId: pulumi.String(\"GGRRAED6JP\"),\n\t\t\tAgentVersion: pulumi.String(\"DRAFT\"),\n\t\t\tSkipResourceInUseCheck: pulumi.Bool(true),\n\t\t\tActionGroupExecutor: \u0026bedrock.AgentAgentActionGroupActionGroupExecutorArgs{\n\t\t\t\tCustomControl: pulumi.String(\"RETURN_CONTROL\"),\n\t\t\t},\n\t\t\tApiSchema: \u0026bedrock.AgentAgentActionGroupApiSchemaArgs{\n\t\t\t\tPayload: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroup;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroupArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupActionGroupExecutorArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AgentAgentActionGroup(\"example\", AgentAgentActionGroupArgs.builder()\n .actionGroupName(\"example\")\n .agentId(\"GGRRAED6JP\")\n .agentVersion(\"DRAFT\")\n .skipResourceInUseCheck(true)\n .actionGroupExecutor(AgentAgentActionGroupActionGroupExecutorArgs.builder()\n .customControl(\"RETURN_CONTROL\")\n .build())\n .apiSchema(AgentAgentActionGroupApiSchemaArgs.builder()\n .payload(StdFunctions.file(FileArgs.builder()\n .input(\"path/to/schema.yaml\")\n .build()).result())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:AgentAgentActionGroup\n properties:\n actionGroupName: example\n agentId: GGRRAED6JP\n agentVersion: DRAFT\n skipResourceInUseCheck: true\n actionGroupExecutor:\n customControl: RETURN_CONTROL\n apiSchema:\n payload:\n fn::invoke:\n function: std:file\n arguments:\n input: path/to/schema.yaml\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Agent Action Group the action group ID, the agent ID, and the agent version separated by `,`. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup example MMAUDBZTH4,GGRRAED6JP,DRAFT\n```\n", + "description": "Resource for managing an AWS Agents for Amazon Bedrock Agent Action Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.bedrock.AgentAgentActionGroup(\"example\", {\n actionGroupName: \"example\",\n agentId: \"GGRRAED6JP\",\n agentVersion: \"DRAFT\",\n skipResourceInUseCheck: true,\n actionGroupExecutor: {\n lambda: \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n apiSchema: {\n payload: std.file({\n input: \"path/to/schema.yaml\",\n }).then(invoke =\u003e invoke.result),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.bedrock.AgentAgentActionGroup(\"example\",\n action_group_name=\"example\",\n agent_id=\"GGRRAED6JP\",\n agent_version=\"DRAFT\",\n skip_resource_in_use_check=True,\n action_group_executor={\n \"lambda_\": \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n api_schema={\n \"payload\": std.file(input=\"path/to/schema.yaml\").result,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.AgentAgentActionGroup(\"example\", new()\n {\n ActionGroupName = \"example\",\n AgentId = \"GGRRAED6JP\",\n AgentVersion = \"DRAFT\",\n SkipResourceInUseCheck = true,\n ActionGroupExecutor = new Aws.Bedrock.Inputs.AgentAgentActionGroupActionGroupExecutorArgs\n {\n Lambda = \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n ApiSchema = new Aws.Bedrock.Inputs.AgentAgentActionGroupApiSchemaArgs\n {\n Payload = Std.File.Invoke(new()\n {\n Input = \"path/to/schema.yaml\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"path/to/schema.yaml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bedrock.NewAgentAgentActionGroup(ctx, \"example\", \u0026bedrock.AgentAgentActionGroupArgs{\n\t\t\tActionGroupName: pulumi.String(\"example\"),\n\t\t\tAgentId: pulumi.String(\"GGRRAED6JP\"),\n\t\t\tAgentVersion: pulumi.String(\"DRAFT\"),\n\t\t\tSkipResourceInUseCheck: pulumi.Bool(true),\n\t\t\tActionGroupExecutor: \u0026bedrock.AgentAgentActionGroupActionGroupExecutorArgs{\n\t\t\t\tLambda: pulumi.String(\"arn:aws:lambda:us-west-2:123456789012:function:example-function\"),\n\t\t\t},\n\t\t\tApiSchema: \u0026bedrock.AgentAgentActionGroupApiSchemaArgs{\n\t\t\t\tPayload: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroup;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroupArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupActionGroupExecutorArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AgentAgentActionGroup(\"example\", AgentAgentActionGroupArgs.builder()\n .actionGroupName(\"example\")\n .agentId(\"GGRRAED6JP\")\n .agentVersion(\"DRAFT\")\n .skipResourceInUseCheck(true)\n .actionGroupExecutor(AgentAgentActionGroupActionGroupExecutorArgs.builder()\n .lambda(\"arn:aws:lambda:us-west-2:123456789012:function:example-function\")\n .build())\n .apiSchema(AgentAgentActionGroupApiSchemaArgs.builder()\n .payload(StdFunctions.file(FileArgs.builder()\n .input(\"path/to/schema.yaml\")\n .build()).result())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:AgentAgentActionGroup\n properties:\n actionGroupName: example\n agentId: GGRRAED6JP\n agentVersion: DRAFT\n skipResourceInUseCheck: true\n actionGroupExecutor:\n lambda: arn:aws:lambda:us-west-2:123456789012:function:example-function\n apiSchema:\n payload:\n fn::invoke:\n Function: std:file\n Arguments:\n input: path/to/schema.yaml\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### API Schema in S3 Bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.bedrock.AgentAgentActionGroup(\"example\", {\n actionGroupName: \"example\",\n agentId: \"GGRRAED6JP\",\n agentVersion: \"DRAFT\",\n skipResourceInUseCheck: true,\n actionGroupExecutor: {\n lambda: \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n apiSchema: {\n s3: {\n s3BucketName: \"example-bucket\",\n s3ObjectKey: \"path/to/schema.json\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrock.AgentAgentActionGroup(\"example\",\n action_group_name=\"example\",\n agent_id=\"GGRRAED6JP\",\n agent_version=\"DRAFT\",\n skip_resource_in_use_check=True,\n action_group_executor={\n \"lambda_\": \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n api_schema={\n \"s3\": {\n \"s3_bucket_name\": \"example-bucket\",\n \"s3_object_key\": \"path/to/schema.json\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.AgentAgentActionGroup(\"example\", new()\n {\n ActionGroupName = \"example\",\n AgentId = \"GGRRAED6JP\",\n AgentVersion = \"DRAFT\",\n SkipResourceInUseCheck = true,\n ActionGroupExecutor = new Aws.Bedrock.Inputs.AgentAgentActionGroupActionGroupExecutorArgs\n {\n Lambda = \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n ApiSchema = new Aws.Bedrock.Inputs.AgentAgentActionGroupApiSchemaArgs\n {\n S3 = new Aws.Bedrock.Inputs.AgentAgentActionGroupApiSchemaS3Args\n {\n S3BucketName = \"example-bucket\",\n S3ObjectKey = \"path/to/schema.json\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\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 := bedrock.NewAgentAgentActionGroup(ctx, \"example\", \u0026bedrock.AgentAgentActionGroupArgs{\n\t\t\tActionGroupName: pulumi.String(\"example\"),\n\t\t\tAgentId: pulumi.String(\"GGRRAED6JP\"),\n\t\t\tAgentVersion: pulumi.String(\"DRAFT\"),\n\t\t\tSkipResourceInUseCheck: pulumi.Bool(true),\n\t\t\tActionGroupExecutor: \u0026bedrock.AgentAgentActionGroupActionGroupExecutorArgs{\n\t\t\t\tLambda: pulumi.String(\"arn:aws:lambda:us-west-2:123456789012:function:example-function\"),\n\t\t\t},\n\t\t\tApiSchema: \u0026bedrock.AgentAgentActionGroupApiSchemaArgs{\n\t\t\t\tS3: \u0026bedrock.AgentAgentActionGroupApiSchemaS3Args{\n\t\t\t\t\tS3BucketName: pulumi.String(\"example-bucket\"),\n\t\t\t\t\tS3ObjectKey: pulumi.String(\"path/to/schema.json\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroup;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroupArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupActionGroupExecutorArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AgentAgentActionGroup(\"example\", AgentAgentActionGroupArgs.builder()\n .actionGroupName(\"example\")\n .agentId(\"GGRRAED6JP\")\n .agentVersion(\"DRAFT\")\n .skipResourceInUseCheck(true)\n .actionGroupExecutor(AgentAgentActionGroupActionGroupExecutorArgs.builder()\n .lambda(\"arn:aws:lambda:us-west-2:123456789012:function:example-function\")\n .build())\n .apiSchema(AgentAgentActionGroupApiSchemaArgs.builder()\n .s3(AgentAgentActionGroupApiSchemaS3Args.builder()\n .s3BucketName(\"example-bucket\")\n .s3ObjectKey(\"path/to/schema.json\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:AgentAgentActionGroup\n properties:\n actionGroupName: example\n agentId: GGRRAED6JP\n agentVersion: DRAFT\n skipResourceInUseCheck: true\n actionGroupExecutor:\n lambda: arn:aws:lambda:us-west-2:123456789012:function:example-function\n apiSchema:\n s3:\n s3BucketName: example-bucket\n s3ObjectKey: path/to/schema.json\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Function Schema (Simplified Schema)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.bedrock.AgentAgentActionGroup(\"example\", {\n actionGroupName: \"example\",\n agentId: \"GGRRAED6JP\",\n agentVersion: \"DRAFT\",\n skipResourceInUseCheck: true,\n actionGroupExecutor: {\n lambda: \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n functionSchema: {\n memberFunctions: {\n functions: [{\n name: \"example-function\",\n description: \"Example function\",\n parameters: [\n {\n mapBlockKey: \"param1\",\n type: \"string\",\n description: \"The first parameter\",\n required: true,\n },\n {\n mapBlockKey: \"param2\",\n type: \"integer\",\n description: \"The second parameter\",\n required: false,\n },\n ],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrock.AgentAgentActionGroup(\"example\",\n action_group_name=\"example\",\n agent_id=\"GGRRAED6JP\",\n agent_version=\"DRAFT\",\n skip_resource_in_use_check=True,\n action_group_executor={\n \"lambda_\": \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n function_schema={\n \"member_functions\": {\n \"functions\": [{\n \"name\": \"example-function\",\n \"description\": \"Example function\",\n \"parameters\": [\n {\n \"map_block_key\": \"param1\",\n \"type\": \"string\",\n \"description\": \"The first parameter\",\n \"required\": True,\n },\n {\n \"map_block_key\": \"param2\",\n \"type\": \"integer\",\n \"description\": \"The second parameter\",\n \"required\": False,\n },\n ],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.AgentAgentActionGroup(\"example\", new()\n {\n ActionGroupName = \"example\",\n AgentId = \"GGRRAED6JP\",\n AgentVersion = \"DRAFT\",\n SkipResourceInUseCheck = true,\n ActionGroupExecutor = new Aws.Bedrock.Inputs.AgentAgentActionGroupActionGroupExecutorArgs\n {\n Lambda = \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n FunctionSchema = new Aws.Bedrock.Inputs.AgentAgentActionGroupFunctionSchemaArgs\n {\n MemberFunctions = new Aws.Bedrock.Inputs.AgentAgentActionGroupFunctionSchemaMemberFunctionsArgs\n {\n Functions = new[]\n {\n new Aws.Bedrock.Inputs.AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionArgs\n {\n Name = \"example-function\",\n Description = \"Example function\",\n Parameters = new[]\n {\n new Aws.Bedrock.Inputs.AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionParameterArgs\n {\n MapBlockKey = \"param1\",\n Type = \"string\",\n Description = \"The first parameter\",\n Required = true,\n },\n new Aws.Bedrock.Inputs.AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionParameterArgs\n {\n MapBlockKey = \"param2\",\n Type = \"integer\",\n Description = \"The second parameter\",\n Required = false,\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\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 := bedrock.NewAgentAgentActionGroup(ctx, \"example\", \u0026bedrock.AgentAgentActionGroupArgs{\n\t\t\tActionGroupName: pulumi.String(\"example\"),\n\t\t\tAgentId: pulumi.String(\"GGRRAED6JP\"),\n\t\t\tAgentVersion: pulumi.String(\"DRAFT\"),\n\t\t\tSkipResourceInUseCheck: pulumi.Bool(true),\n\t\t\tActionGroupExecutor: \u0026bedrock.AgentAgentActionGroupActionGroupExecutorArgs{\n\t\t\t\tLambda: pulumi.String(\"arn:aws:lambda:us-west-2:123456789012:function:example-function\"),\n\t\t\t},\n\t\t\tFunctionSchema: \u0026bedrock.AgentAgentActionGroupFunctionSchemaArgs{\n\t\t\t\tMemberFunctions: \u0026bedrock.AgentAgentActionGroupFunctionSchemaMemberFunctionsArgs{\n\t\t\t\t\tFunctions: bedrock.AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionArray{\n\t\t\t\t\t\t\u0026bedrock.AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"example-function\"),\n\t\t\t\t\t\t\tDescription: pulumi.String(\"Example function\"),\n\t\t\t\t\t\t\tParameters: bedrock.AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionParameterArray{\n\t\t\t\t\t\t\t\t\u0026bedrock.AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionParameterArgs{\n\t\t\t\t\t\t\t\t\tMapBlockKey: pulumi.String(\"param1\"),\n\t\t\t\t\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\t\t\t\t\tDescription: pulumi.String(\"The first parameter\"),\n\t\t\t\t\t\t\t\t\tRequired: pulumi.Bool(true),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026bedrock.AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionParameterArgs{\n\t\t\t\t\t\t\t\t\tMapBlockKey: pulumi.String(\"param2\"),\n\t\t\t\t\t\t\t\t\tType: pulumi.String(\"integer\"),\n\t\t\t\t\t\t\t\t\tDescription: pulumi.String(\"The second parameter\"),\n\t\t\t\t\t\t\t\t\tRequired: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroup;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroupArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupActionGroupExecutorArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupFunctionSchemaArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupFunctionSchemaMemberFunctionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AgentAgentActionGroup(\"example\", AgentAgentActionGroupArgs.builder()\n .actionGroupName(\"example\")\n .agentId(\"GGRRAED6JP\")\n .agentVersion(\"DRAFT\")\n .skipResourceInUseCheck(true)\n .actionGroupExecutor(AgentAgentActionGroupActionGroupExecutorArgs.builder()\n .lambda(\"arn:aws:lambda:us-west-2:123456789012:function:example-function\")\n .build())\n .functionSchema(AgentAgentActionGroupFunctionSchemaArgs.builder()\n .memberFunctions(AgentAgentActionGroupFunctionSchemaMemberFunctionsArgs.builder()\n .functions(AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionArgs.builder()\n .name(\"example-function\")\n .description(\"Example function\")\n .parameters( \n AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionParameterArgs.builder()\n .mapBlockKey(\"param1\")\n .type(\"string\")\n .description(\"The first parameter\")\n .required(true)\n .build(),\n AgentAgentActionGroupFunctionSchemaMemberFunctionsFunctionParameterArgs.builder()\n .mapBlockKey(\"param2\")\n .type(\"integer\")\n .description(\"The second parameter\")\n .required(false)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:AgentAgentActionGroup\n properties:\n actionGroupName: example\n agentId: GGRRAED6JP\n agentVersion: DRAFT\n skipResourceInUseCheck: true\n actionGroupExecutor:\n lambda: arn:aws:lambda:us-west-2:123456789012:function:example-function\n functionSchema:\n memberFunctions:\n functions:\n - name: example-function\n description: Example function\n parameters:\n - mapBlockKey: param1\n type: string\n description: The first parameter\n required: true\n - mapBlockKey: param2\n type: integer\n description: The second parameter\n required: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Return of Control\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.bedrock.AgentAgentActionGroup(\"example\", {\n actionGroupName: \"example\",\n agentId: \"GGRRAED6JP\",\n agentVersion: \"DRAFT\",\n skipResourceInUseCheck: true,\n actionGroupExecutor: {\n customControl: \"RETURN_CONTROL\",\n },\n apiSchema: {\n payload: std.file({\n input: \"path/to/schema.yaml\",\n }).then(invoke =\u003e invoke.result),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.bedrock.AgentAgentActionGroup(\"example\",\n action_group_name=\"example\",\n agent_id=\"GGRRAED6JP\",\n agent_version=\"DRAFT\",\n skip_resource_in_use_check=True,\n action_group_executor={\n \"custom_control\": \"RETURN_CONTROL\",\n },\n api_schema={\n \"payload\": std.file(input=\"path/to/schema.yaml\").result,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.AgentAgentActionGroup(\"example\", new()\n {\n ActionGroupName = \"example\",\n AgentId = \"GGRRAED6JP\",\n AgentVersion = \"DRAFT\",\n SkipResourceInUseCheck = true,\n ActionGroupExecutor = new Aws.Bedrock.Inputs.AgentAgentActionGroupActionGroupExecutorArgs\n {\n CustomControl = \"RETURN_CONTROL\",\n },\n ApiSchema = new Aws.Bedrock.Inputs.AgentAgentActionGroupApiSchemaArgs\n {\n Payload = Std.File.Invoke(new()\n {\n Input = \"path/to/schema.yaml\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"path/to/schema.yaml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bedrock.NewAgentAgentActionGroup(ctx, \"example\", \u0026bedrock.AgentAgentActionGroupArgs{\n\t\t\tActionGroupName: pulumi.String(\"example\"),\n\t\t\tAgentId: pulumi.String(\"GGRRAED6JP\"),\n\t\t\tAgentVersion: pulumi.String(\"DRAFT\"),\n\t\t\tSkipResourceInUseCheck: pulumi.Bool(true),\n\t\t\tActionGroupExecutor: \u0026bedrock.AgentAgentActionGroupActionGroupExecutorArgs{\n\t\t\t\tCustomControl: pulumi.String(\"RETURN_CONTROL\"),\n\t\t\t},\n\t\t\tApiSchema: \u0026bedrock.AgentAgentActionGroupApiSchemaArgs{\n\t\t\t\tPayload: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroup;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroupArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupActionGroupExecutorArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AgentAgentActionGroup(\"example\", AgentAgentActionGroupArgs.builder()\n .actionGroupName(\"example\")\n .agentId(\"GGRRAED6JP\")\n .agentVersion(\"DRAFT\")\n .skipResourceInUseCheck(true)\n .actionGroupExecutor(AgentAgentActionGroupActionGroupExecutorArgs.builder()\n .customControl(\"RETURN_CONTROL\")\n .build())\n .apiSchema(AgentAgentActionGroupApiSchemaArgs.builder()\n .payload(StdFunctions.file(FileArgs.builder()\n .input(\"path/to/schema.yaml\")\n .build()).result())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:AgentAgentActionGroup\n properties:\n actionGroupName: example\n agentId: GGRRAED6JP\n agentVersion: DRAFT\n skipResourceInUseCheck: true\n actionGroupExecutor:\n customControl: RETURN_CONTROL\n apiSchema:\n payload:\n fn::invoke:\n Function: std:file\n Arguments:\n input: path/to/schema.yaml\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Agent Action Group the action group ID, the agent ID, and the agent version separated by `,`. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup example MMAUDBZTH4,GGRRAED6JP,DRAFT\n```\n", "properties": { "actionGroupExecutor": { "$ref": "#/types/aws:bedrock/AgentAgentActionGroupActionGroupExecutor:AgentAgentActionGroupActionGroupExecutor", @@ -193872,7 +193872,7 @@ } }, "aws:bedrock/agentAgentAlias:AgentAgentAlias": { - "description": "Resource for managing an AWS Agents for Amazon Bedrock Agent Alias.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${exampleAgentTrust.json}\n namePrefix: AmazonBedrockExecutionRoleForAgents_\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n policy: ${exampleAgentPermissions.json}\n role: ${example.id}\n exampleAgentAgent:\n type: aws:bedrock:AgentAgent\n name: example\n properties:\n agentName: my-agent-name\n agentResourceRoleArn: ${example.arn}\n idleTtl: 500\n foundationModel: anthropic.claude-v2\n exampleAgentAgentAlias:\n type: aws:bedrock:AgentAgentAlias\n name: example\n properties:\n agentAliasName: my-agent-alias\n agentId: ${exampleAgentAgent.agentId}\n description: Test Alias\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n currentGetPartition:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n currentGetRegion:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n exampleAgentTrust:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - identifiers:\n - bedrock.amazonaws.com\n type: Service\n conditions:\n - test: StringEquals\n values:\n - ${current.accountId}\n variable: aws:SourceAccount\n - test: ArnLike\n values:\n - arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}:${current.accountId}:agent/*\n variable: AWS:SourceArn\n exampleAgentPermissions:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - bedrock:InvokeModel\n resources:\n - arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}::foundation-model/anthropic.claude-v2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Agent Alias using the alias ID and the agent ID separated by `,`. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentAgentAlias:AgentAgentAlias example 66IVY0GUTF,GGRRAED6JP\n```\n", + "description": "Resource for managing an AWS Agents for Amazon Bedrock Agent Alias.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${exampleAgentTrust.json}\n namePrefix: AmazonBedrockExecutionRoleForAgents_\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n policy: ${exampleAgentPermissions.json}\n role: ${example.id}\n exampleAgentAgent:\n type: aws:bedrock:AgentAgent\n name: example\n properties:\n agentName: my-agent-name\n agentResourceRoleArn: ${example.arn}\n idleTtl: 500\n foundationModel: anthropic.claude-v2\n exampleAgentAgentAlias:\n type: aws:bedrock:AgentAgentAlias\n name: example\n properties:\n agentAliasName: my-agent-alias\n agentId: ${exampleAgentAgent.agentId}\n description: Test Alias\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n exampleAgentTrust:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - identifiers:\n - bedrock.amazonaws.com\n type: Service\n conditions:\n - test: StringEquals\n values:\n - ${current.accountId}\n variable: aws:SourceAccount\n - test: ArnLike\n values:\n - arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}:${current.accountId}:agent/*\n variable: AWS:SourceArn\n exampleAgentPermissions:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - bedrock:InvokeModel\n resources:\n - arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}::foundation-model/anthropic.claude-v2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Agent Alias using the alias ID and the agent ID separated by `,`. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentAgentAlias:AgentAgentAlias example 66IVY0GUTF,GGRRAED6JP\n```\n", "properties": { "agentAliasArn": { "type": "string", @@ -194401,7 +194401,7 @@ } }, "aws:bedrock/customModel:CustomModel": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.bedrockfoundation.getModel({\n modelId: \"amazon.titan-text-express-v1\",\n});\nconst exampleCustomModel = new aws.bedrock.CustomModel(\"example\", {\n customModelName: \"example-model\",\n jobName: \"example-job-1\",\n baseModelIdentifier: example.then(example =\u003e example.modelArn),\n roleArn: exampleAwsIamRole.arn,\n hyperparameters: {\n epochCount: \"1\",\n batchSize: \"1\",\n learningRate: \"0.005\",\n learningRateWarmupSteps: \"0\",\n },\n outputDataConfig: {\n s3Uri: `s3://${output.id}/data/`,\n },\n trainingDataConfig: {\n s3Uri: `s3://${training.id}/data/train.jsonl`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrockfoundation.get_model(model_id=\"amazon.titan-text-express-v1\")\nexample_custom_model = aws.bedrock.CustomModel(\"example\",\n custom_model_name=\"example-model\",\n job_name=\"example-job-1\",\n base_model_identifier=example.model_arn,\n role_arn=example_aws_iam_role[\"arn\"],\n hyperparameters={\n \"epochCount\": \"1\",\n \"batchSize\": \"1\",\n \"learningRate\": \"0.005\",\n \"learningRateWarmupSteps\": \"0\",\n },\n output_data_config={\n \"s3_uri\": f\"s3://{output['id']}/data/\",\n },\n training_data_config={\n \"s3_uri\": f\"s3://{training['id']}/data/train.jsonl\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.BedrockFoundation.GetModel.Invoke(new()\n {\n ModelId = \"amazon.titan-text-express-v1\",\n });\n\n var exampleCustomModel = new Aws.Bedrock.CustomModel(\"example\", new()\n {\n CustomModelName = \"example-model\",\n JobName = \"example-job-1\",\n BaseModelIdentifier = example.Apply(getModelResult =\u003e getModelResult.ModelArn),\n RoleArn = exampleAwsIamRole.Arn,\n Hyperparameters = \n {\n { \"epochCount\", \"1\" },\n { \"batchSize\", \"1\" },\n { \"learningRate\", \"0.005\" },\n { \"learningRateWarmupSteps\", \"0\" },\n },\n OutputDataConfig = new Aws.Bedrock.Inputs.CustomModelOutputDataConfigArgs\n {\n S3Uri = $\"s3://{output.Id}/data/\",\n },\n TrainingDataConfig = new Aws.Bedrock.Inputs.CustomModelTrainingDataConfigArgs\n {\n S3Uri = $\"s3://{training.Id}/data/train.jsonl\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrockfoundation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := bedrockfoundation.GetModel(ctx, \u0026bedrockfoundation.GetModelArgs{\n\t\t\tModelId: \"amazon.titan-text-express-v1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bedrock.NewCustomModel(ctx, \"example\", \u0026bedrock.CustomModelArgs{\n\t\t\tCustomModelName: pulumi.String(\"example-model\"),\n\t\t\tJobName: pulumi.String(\"example-job-1\"),\n\t\t\tBaseModelIdentifier: pulumi.String(example.ModelArn),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tHyperparameters: pulumi.StringMap{\n\t\t\t\t\"epochCount\": pulumi.String(\"1\"),\n\t\t\t\t\"batchSize\": pulumi.String(\"1\"),\n\t\t\t\t\"learningRate\": pulumi.String(\"0.005\"),\n\t\t\t\t\"learningRateWarmupSteps\": pulumi.String(\"0\"),\n\t\t\t},\n\t\t\tOutputDataConfig: \u0026bedrock.CustomModelOutputDataConfigArgs{\n\t\t\t\tS3Uri: pulumi.Sprintf(\"s3://%v/data/\", output.Id),\n\t\t\t},\n\t\t\tTrainingDataConfig: \u0026bedrock.CustomModelTrainingDataConfigArgs{\n\t\t\t\tS3Uri: pulumi.Sprintf(\"s3://%v/data/train.jsonl\", training.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrockfoundation.BedrockfoundationFunctions;\nimport com.pulumi.aws.bedrockfoundation.inputs.GetModelArgs;\nimport com.pulumi.aws.bedrock.CustomModel;\nimport com.pulumi.aws.bedrock.CustomModelArgs;\nimport com.pulumi.aws.bedrock.inputs.CustomModelOutputDataConfigArgs;\nimport com.pulumi.aws.bedrock.inputs.CustomModelTrainingDataConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = BedrockfoundationFunctions.getModel(GetModelArgs.builder()\n .modelId(\"amazon.titan-text-express-v1\")\n .build());\n\n var exampleCustomModel = new CustomModel(\"exampleCustomModel\", CustomModelArgs.builder()\n .customModelName(\"example-model\")\n .jobName(\"example-job-1\")\n .baseModelIdentifier(example.applyValue(getModelResult -\u003e getModelResult.modelArn()))\n .roleArn(exampleAwsIamRole.arn())\n .hyperparameters(Map.ofEntries(\n Map.entry(\"epochCount\", \"1\"),\n Map.entry(\"batchSize\", \"1\"),\n Map.entry(\"learningRate\", \"0.005\"),\n Map.entry(\"learningRateWarmupSteps\", \"0\")\n ))\n .outputDataConfig(CustomModelOutputDataConfigArgs.builder()\n .s3Uri(String.format(\"s3://%s/data/\", output.id()))\n .build())\n .trainingDataConfig(CustomModelTrainingDataConfigArgs.builder()\n .s3Uri(String.format(\"s3://%s/data/train.jsonl\", training.id()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCustomModel:\n type: aws:bedrock:CustomModel\n name: example\n properties:\n customModelName: example-model\n jobName: example-job-1\n baseModelIdentifier: ${example.modelArn}\n roleArn: ${exampleAwsIamRole.arn}\n hyperparameters:\n epochCount: '1'\n batchSize: '1'\n learningRate: '0.005'\n learningRateWarmupSteps: '0'\n outputDataConfig:\n s3Uri: s3://${output.id}/data/\n trainingDataConfig:\n s3Uri: s3://${training.id}/data/train.jsonl\nvariables:\n example:\n fn::invoke:\n function: aws:bedrockfoundation:getModel\n arguments:\n modelId: amazon.titan-text-express-v1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Bedrock custom model using the `job_arn`. For example:\n\n```sh\n$ pulumi import aws:bedrock/customModel:CustomModel example arn:aws:bedrock:us-west-2:123456789012:model-customization-job/amazon.titan-text-express-v1:0:8k/1y5n57gh5y2e\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.bedrockfoundation.getModel({\n modelId: \"amazon.titan-text-express-v1\",\n});\nconst exampleCustomModel = new aws.bedrock.CustomModel(\"example\", {\n customModelName: \"example-model\",\n jobName: \"example-job-1\",\n baseModelIdentifier: example.then(example =\u003e example.modelArn),\n roleArn: exampleAwsIamRole.arn,\n hyperparameters: {\n epochCount: \"1\",\n batchSize: \"1\",\n learningRate: \"0.005\",\n learningRateWarmupSteps: \"0\",\n },\n outputDataConfig: {\n s3Uri: `s3://${output.id}/data/`,\n },\n trainingDataConfig: {\n s3Uri: `s3://${training.id}/data/train.jsonl`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrockfoundation.get_model(model_id=\"amazon.titan-text-express-v1\")\nexample_custom_model = aws.bedrock.CustomModel(\"example\",\n custom_model_name=\"example-model\",\n job_name=\"example-job-1\",\n base_model_identifier=example.model_arn,\n role_arn=example_aws_iam_role[\"arn\"],\n hyperparameters={\n \"epochCount\": \"1\",\n \"batchSize\": \"1\",\n \"learningRate\": \"0.005\",\n \"learningRateWarmupSteps\": \"0\",\n },\n output_data_config={\n \"s3_uri\": f\"s3://{output['id']}/data/\",\n },\n training_data_config={\n \"s3_uri\": f\"s3://{training['id']}/data/train.jsonl\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.BedrockFoundation.GetModel.Invoke(new()\n {\n ModelId = \"amazon.titan-text-express-v1\",\n });\n\n var exampleCustomModel = new Aws.Bedrock.CustomModel(\"example\", new()\n {\n CustomModelName = \"example-model\",\n JobName = \"example-job-1\",\n BaseModelIdentifier = example.Apply(getModelResult =\u003e getModelResult.ModelArn),\n RoleArn = exampleAwsIamRole.Arn,\n Hyperparameters = \n {\n { \"epochCount\", \"1\" },\n { \"batchSize\", \"1\" },\n { \"learningRate\", \"0.005\" },\n { \"learningRateWarmupSteps\", \"0\" },\n },\n OutputDataConfig = new Aws.Bedrock.Inputs.CustomModelOutputDataConfigArgs\n {\n S3Uri = $\"s3://{output.Id}/data/\",\n },\n TrainingDataConfig = new Aws.Bedrock.Inputs.CustomModelTrainingDataConfigArgs\n {\n S3Uri = $\"s3://{training.Id}/data/train.jsonl\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrockfoundation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := bedrockfoundation.GetModel(ctx, \u0026bedrockfoundation.GetModelArgs{\n\t\t\tModelId: \"amazon.titan-text-express-v1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bedrock.NewCustomModel(ctx, \"example\", \u0026bedrock.CustomModelArgs{\n\t\t\tCustomModelName: pulumi.String(\"example-model\"),\n\t\t\tJobName: pulumi.String(\"example-job-1\"),\n\t\t\tBaseModelIdentifier: pulumi.String(example.ModelArn),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tHyperparameters: pulumi.StringMap{\n\t\t\t\t\"epochCount\": pulumi.String(\"1\"),\n\t\t\t\t\"batchSize\": pulumi.String(\"1\"),\n\t\t\t\t\"learningRate\": pulumi.String(\"0.005\"),\n\t\t\t\t\"learningRateWarmupSteps\": pulumi.String(\"0\"),\n\t\t\t},\n\t\t\tOutputDataConfig: \u0026bedrock.CustomModelOutputDataConfigArgs{\n\t\t\t\tS3Uri: pulumi.Sprintf(\"s3://%v/data/\", output.Id),\n\t\t\t},\n\t\t\tTrainingDataConfig: \u0026bedrock.CustomModelTrainingDataConfigArgs{\n\t\t\t\tS3Uri: pulumi.Sprintf(\"s3://%v/data/train.jsonl\", training.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrockfoundation.BedrockfoundationFunctions;\nimport com.pulumi.aws.bedrockfoundation.inputs.GetModelArgs;\nimport com.pulumi.aws.bedrock.CustomModel;\nimport com.pulumi.aws.bedrock.CustomModelArgs;\nimport com.pulumi.aws.bedrock.inputs.CustomModelOutputDataConfigArgs;\nimport com.pulumi.aws.bedrock.inputs.CustomModelTrainingDataConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = BedrockfoundationFunctions.getModel(GetModelArgs.builder()\n .modelId(\"amazon.titan-text-express-v1\")\n .build());\n\n var exampleCustomModel = new CustomModel(\"exampleCustomModel\", CustomModelArgs.builder()\n .customModelName(\"example-model\")\n .jobName(\"example-job-1\")\n .baseModelIdentifier(example.applyValue(getModelResult -\u003e getModelResult.modelArn()))\n .roleArn(exampleAwsIamRole.arn())\n .hyperparameters(Map.ofEntries(\n Map.entry(\"epochCount\", \"1\"),\n Map.entry(\"batchSize\", \"1\"),\n Map.entry(\"learningRate\", \"0.005\"),\n Map.entry(\"learningRateWarmupSteps\", \"0\")\n ))\n .outputDataConfig(CustomModelOutputDataConfigArgs.builder()\n .s3Uri(String.format(\"s3://%s/data/\", output.id()))\n .build())\n .trainingDataConfig(CustomModelTrainingDataConfigArgs.builder()\n .s3Uri(String.format(\"s3://%s/data/train.jsonl\", training.id()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCustomModel:\n type: aws:bedrock:CustomModel\n name: example\n properties:\n customModelName: example-model\n jobName: example-job-1\n baseModelIdentifier: ${example.modelArn}\n roleArn: ${exampleAwsIamRole.arn}\n hyperparameters:\n epochCount: '1'\n batchSize: '1'\n learningRate: '0.005'\n learningRateWarmupSteps: '0'\n outputDataConfig:\n s3Uri: s3://${output.id}/data/\n trainingDataConfig:\n s3Uri: s3://${training.id}/data/train.jsonl\nvariables:\n example:\n fn::invoke:\n Function: aws:bedrockfoundation:getModel\n Arguments:\n modelId: amazon.titan-text-express-v1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Bedrock custom model using the `job_arn`. For example:\n\n```sh\n$ pulumi import aws:bedrock/customModel:CustomModel example arn:aws:bedrock:us-west-2:123456789012:model-customization-job/amazon.titan-text-express-v1:0:8k/1y5n57gh5y2e\n```\n", "properties": { "baseModelIdentifier": { "type": "string", @@ -195107,7 +195107,7 @@ } }, "aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration": { - "description": "Manages Bedrock model invocation logging configuration.\n\n\u003e Model invocation logging is configured per AWS region. To avoid overwriting settings, this resource should not be defined in multiple configurations.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.bedrockmodel.InvocationLoggingConfiguration;\nimport com.pulumi.aws.bedrockmodel.InvocationLoggingConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .forceDestroy(true)\n .build());\n\n var exampleBucketPolicy = new BucketPolicy(\"exampleBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(example.bucket())\n .policy(example.arn().applyValue(arn -\u003e \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"bedrock.amazonaws.com\"\n },\n \"Action\": [\n \"s3:*\"\n ],\n \"Resource\": [\n \"%s/*\"\n ],\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": \"%s\"\n },\n \"ArnLike\": {\n \"aws:SourceArn\": \"arn:aws:bedrock:us-east-1:%s:*\"\n }\n }\n }\n ]\n}\n\", arn,current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))))\n .build());\n\n var exampleInvocationLoggingConfiguration = new InvocationLoggingConfiguration(\"exampleInvocationLoggingConfiguration\", InvocationLoggingConfigurationArgs.builder()\n .loggingConfig(InvocationLoggingConfigurationLoggingConfigArgs.builder()\n .embeddingDataDeliveryEnabled(true)\n .imageDataDeliveryEnabled(true)\n .textDataDeliveryEnabled(true)\n .s3Config(InvocationLoggingConfigurationLoggingConfigS3ConfigArgs.builder()\n .bucketName(example.id())\n .keyPrefix(\"bedrock\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n forceDestroy: true\n exampleBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example\n properties:\n bucket: ${example.bucket}\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"bedrock.amazonaws.com\"\n },\n \"Action\": [\n \"s3:*\"\n ],\n \"Resource\": [\n \"${example.arn}/*\"\n ],\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": \"${current.accountId}\"\n },\n \"ArnLike\": {\n \"aws:SourceArn\": \"arn:aws:bedrock:us-east-1:${current.accountId}:*\"\n }\n }\n }\n ]\n }\n exampleInvocationLoggingConfiguration:\n type: aws:bedrockmodel:InvocationLoggingConfiguration\n name: example\n properties:\n loggingConfig:\n - embeddingDataDeliveryEnabled: true\n imageDataDeliveryEnabled: true\n textDataDeliveryEnabled: true\n s3Config:\n - bucketName: ${example.id}\n keyPrefix: bedrock\n options:\n dependsOn:\n - ${exampleBucketPolicy}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Bedrock custom model using the `id` set to the AWS Region. For example:\n\n```sh\n$ pulumi import aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration my_config us-east-1\n```\n", + "description": "Manages Bedrock model invocation logging configuration.\n\n\u003e Model invocation logging is configured per AWS region. To avoid overwriting settings, this resource should not be defined in multiple configurations.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.bedrockmodel.InvocationLoggingConfiguration;\nimport com.pulumi.aws.bedrockmodel.InvocationLoggingConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .forceDestroy(true)\n .build());\n\n var exampleBucketPolicy = new BucketPolicy(\"exampleBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(example.bucket())\n .policy(example.arn().applyValue(arn -\u003e \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"bedrock.amazonaws.com\"\n },\n \"Action\": [\n \"s3:*\"\n ],\n \"Resource\": [\n \"%s/*\"\n ],\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": \"%s\"\n },\n \"ArnLike\": {\n \"aws:SourceArn\": \"arn:aws:bedrock:us-east-1:%s:*\"\n }\n }\n }\n ]\n}\n\", arn,current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))))\n .build());\n\n var exampleInvocationLoggingConfiguration = new InvocationLoggingConfiguration(\"exampleInvocationLoggingConfiguration\", InvocationLoggingConfigurationArgs.builder()\n .loggingConfig(InvocationLoggingConfigurationLoggingConfigArgs.builder()\n .embeddingDataDeliveryEnabled(true)\n .imageDataDeliveryEnabled(true)\n .textDataDeliveryEnabled(true)\n .s3Config(InvocationLoggingConfigurationLoggingConfigS3ConfigArgs.builder()\n .bucketName(example.id())\n .keyPrefix(\"bedrock\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n forceDestroy: true\n exampleBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example\n properties:\n bucket: ${example.bucket}\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"bedrock.amazonaws.com\"\n },\n \"Action\": [\n \"s3:*\"\n ],\n \"Resource\": [\n \"${example.arn}/*\"\n ],\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": \"${current.accountId}\"\n },\n \"ArnLike\": {\n \"aws:SourceArn\": \"arn:aws:bedrock:us-east-1:${current.accountId}:*\"\n }\n }\n }\n ]\n }\n exampleInvocationLoggingConfiguration:\n type: aws:bedrockmodel:InvocationLoggingConfiguration\n name: example\n properties:\n loggingConfig:\n - embeddingDataDeliveryEnabled: true\n imageDataDeliveryEnabled: true\n textDataDeliveryEnabled: true\n s3Config:\n - bucketName: ${example.id}\n keyPrefix: bedrock\n options:\n dependson:\n - ${exampleBucketPolicy}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Bedrock custom model using the `id` set to the AWS Region. For example:\n\n```sh\n$ pulumi import aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration my_config us-east-1\n```\n", "properties": { "loggingConfig": { "$ref": "#/types/aws:bedrockmodel/InvocationLoggingConfigurationLoggingConfig:InvocationLoggingConfigurationLoggingConfig", @@ -195409,7 +195409,7 @@ } }, "aws:budgets/budgetAction:BudgetAction": { - "description": "Provides a budget action resource. Budget actions are cost savings controls that run either automatically on your behalf or by using a workflow approval process.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"example\",\n description: \"My example policy\",\n policy: example.then(example =\u003e example.json),\n});\nconst current = aws.getPartition({});\nconst assumeRole = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [`budgets.${current.dnsSuffix}`],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n}));\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleBudget = new aws.budgets.Budget(\"example\", {\n name: \"example\",\n budgetType: \"USAGE\",\n limitAmount: \"10.0\",\n limitUnit: \"dollars\",\n timePeriodStart: \"2006-01-02_15:04\",\n timeUnit: \"MONTHLY\",\n});\nconst exampleBudgetAction = new aws.budgets.BudgetAction(\"example\", {\n budgetName: exampleBudget.name,\n actionType: \"APPLY_IAM_POLICY\",\n approvalModel: \"AUTOMATIC\",\n notificationType: \"ACTUAL\",\n executionRoleArn: exampleRole.arn,\n actionThreshold: {\n actionThresholdType: \"ABSOLUTE_VALUE\",\n actionThresholdValue: 100,\n },\n definition: {\n iamActionDefinition: {\n policyArn: examplePolicy.arn,\n roles: [exampleRole.name],\n },\n },\n subscribers: [{\n address: \"example@example.example\",\n subscriptionType: \"EMAIL\",\n }],\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"ec2:Describe*\"],\n \"resources\": [\"*\"],\n}])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"example\",\n description=\"My example policy\",\n policy=example.json)\ncurrent = aws.get_partition()\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [f\"budgets.{current.dns_suffix}\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample_budget = aws.budgets.Budget(\"example\",\n name=\"example\",\n budget_type=\"USAGE\",\n limit_amount=\"10.0\",\n limit_unit=\"dollars\",\n time_period_start=\"2006-01-02_15:04\",\n time_unit=\"MONTHLY\")\nexample_budget_action = aws.budgets.BudgetAction(\"example\",\n budget_name=example_budget.name,\n action_type=\"APPLY_IAM_POLICY\",\n approval_model=\"AUTOMATIC\",\n notification_type=\"ACTUAL\",\n execution_role_arn=example_role.arn,\n action_threshold={\n \"action_threshold_type\": \"ABSOLUTE_VALUE\",\n \"action_threshold_value\": 100,\n },\n definition={\n \"iam_action_definition\": {\n \"policy_arn\": example_policy.arn,\n \"roles\": [example_role.name],\n },\n },\n subscribers=[{\n \"address\": \"example@example.example\",\n \"subscription_type\": \"EMAIL\",\n }],\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"example\",\n Description = \"My example policy\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n $\"budgets.{current.Apply(getPartitionResult =\u003e getPartitionResult.DnsSuffix)}\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleBudget = new Aws.Budgets.Budget(\"example\", new()\n {\n Name = \"example\",\n BudgetType = \"USAGE\",\n LimitAmount = \"10.0\",\n LimitUnit = \"dollars\",\n TimePeriodStart = \"2006-01-02_15:04\",\n TimeUnit = \"MONTHLY\",\n });\n\n var exampleBudgetAction = new Aws.Budgets.BudgetAction(\"example\", new()\n {\n BudgetName = exampleBudget.Name,\n ActionType = \"APPLY_IAM_POLICY\",\n ApprovalModel = \"AUTOMATIC\",\n NotificationType = \"ACTUAL\",\n ExecutionRoleArn = exampleRole.Arn,\n ActionThreshold = new Aws.Budgets.Inputs.BudgetActionActionThresholdArgs\n {\n ActionThresholdType = \"ABSOLUTE_VALUE\",\n ActionThresholdValue = 100,\n },\n Definition = new Aws.Budgets.Inputs.BudgetActionDefinitionArgs\n {\n IamActionDefinition = new Aws.Budgets.Inputs.BudgetActionDefinitionIamActionDefinitionArgs\n {\n PolicyArn = examplePolicy.Arn,\n Roles = new[]\n {\n exampleRole.Name,\n },\n },\n },\n Subscribers = new[]\n {\n new Aws.Budgets.Inputs.BudgetActionSubscriberArgs\n {\n Address = \"example@example.example\",\n SubscriptionType = \"EMAIL\",\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"My example policy\"),\n\t\t\tPolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"budgets.%v\", current.DnsSuffix),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBudget, err := budgets.NewBudget(ctx, \"example\", \u0026budgets.BudgetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tBudgetType: pulumi.String(\"USAGE\"),\n\t\t\tLimitAmount: pulumi.String(\"10.0\"),\n\t\t\tLimitUnit: pulumi.String(\"dollars\"),\n\t\t\tTimePeriodStart: pulumi.String(\"2006-01-02_15:04\"),\n\t\t\tTimeUnit: pulumi.String(\"MONTHLY\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = budgets.NewBudgetAction(ctx, \"example\", \u0026budgets.BudgetActionArgs{\n\t\t\tBudgetName: exampleBudget.Name,\n\t\t\tActionType: pulumi.String(\"APPLY_IAM_POLICY\"),\n\t\t\tApprovalModel: pulumi.String(\"AUTOMATIC\"),\n\t\t\tNotificationType: pulumi.String(\"ACTUAL\"),\n\t\t\tExecutionRoleArn: exampleRole.Arn,\n\t\t\tActionThreshold: \u0026budgets.BudgetActionActionThresholdArgs{\n\t\t\t\tActionThresholdType: pulumi.String(\"ABSOLUTE_VALUE\"),\n\t\t\t\tActionThresholdValue: pulumi.Float64(100),\n\t\t\t},\n\t\t\tDefinition: \u0026budgets.BudgetActionDefinitionArgs{\n\t\t\t\tIamActionDefinition: \u0026budgets.BudgetActionDefinitionIamActionDefinitionArgs{\n\t\t\t\t\tPolicyArn: examplePolicy.Arn,\n\t\t\t\t\tRoles: pulumi.StringArray{\n\t\t\t\t\t\texampleRole.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSubscribers: budgets.BudgetActionSubscriberArray{\n\t\t\t\t\u0026budgets.BudgetActionSubscriberArgs{\n\t\t\t\t\tAddress: pulumi.String(\"example@example.example\"),\n\t\t\t\t\tSubscriptionType: pulumi.String(\"EMAIL\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport com.pulumi.aws.budgets.BudgetAction;\nimport com.pulumi.aws.budgets.BudgetActionArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetActionActionThresholdArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetActionDefinitionArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetActionDefinitionIamActionDefinitionArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetActionSubscriberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"example\")\n .description(\"My example policy\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(String.format(\"budgets.%s\", current.applyValue(getPartitionResult -\u003e getPartitionResult.dnsSuffix())))\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleBudget = new Budget(\"exampleBudget\", BudgetArgs.builder()\n .name(\"example\")\n .budgetType(\"USAGE\")\n .limitAmount(\"10.0\")\n .limitUnit(\"dollars\")\n .timePeriodStart(\"2006-01-02_15:04\")\n .timeUnit(\"MONTHLY\")\n .build());\n\n var exampleBudgetAction = new BudgetAction(\"exampleBudgetAction\", BudgetActionArgs.builder()\n .budgetName(exampleBudget.name())\n .actionType(\"APPLY_IAM_POLICY\")\n .approvalModel(\"AUTOMATIC\")\n .notificationType(\"ACTUAL\")\n .executionRoleArn(exampleRole.arn())\n .actionThreshold(BudgetActionActionThresholdArgs.builder()\n .actionThresholdType(\"ABSOLUTE_VALUE\")\n .actionThresholdValue(100)\n .build())\n .definition(BudgetActionDefinitionArgs.builder()\n .iamActionDefinition(BudgetActionDefinitionIamActionDefinitionArgs.builder()\n .policyArn(examplePolicy.arn())\n .roles(exampleRole.name())\n .build())\n .build())\n .subscribers(BudgetActionSubscriberArgs.builder()\n .address(\"example@example.example\")\n .subscriptionType(\"EMAIL\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBudgetAction:\n type: aws:budgets:BudgetAction\n name: example\n properties:\n budgetName: ${exampleBudget.name}\n actionType: APPLY_IAM_POLICY\n approvalModel: AUTOMATIC\n notificationType: ACTUAL\n executionRoleArn: ${exampleRole.arn}\n actionThreshold:\n actionThresholdType: ABSOLUTE_VALUE\n actionThresholdValue: 100\n definition:\n iamActionDefinition:\n policyArn: ${examplePolicy.arn}\n roles:\n - ${exampleRole.name}\n subscribers:\n - address: example@example.example\n subscriptionType: EMAIL\n tags:\n Tag1: Value1\n Tag2: Value2\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: example\n description: My example policy\n policy: ${example.json}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleBudget:\n type: aws:budgets:Budget\n name: example\n properties:\n name: example\n budgetType: USAGE\n limitAmount: '10.0'\n limitUnit: dollars\n timePeriodStart: 2006-01-02_15:04\n timeUnit: MONTHLY\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\n current:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - budgets.${current.dnsSuffix}\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import budget actions using `AccountID:ActionID:BudgetName`. For example:\n\n```sh\n$ pulumi import aws:budgets/budgetAction:BudgetAction myBudget 123456789012:some-id:myBudget\n```\n", + "description": "Provides a budget action resource. Budget actions are cost savings controls that run either automatically on your behalf or by using a workflow approval process.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"example\",\n description: \"My example policy\",\n policy: example.then(example =\u003e example.json),\n});\nconst current = aws.getPartition({});\nconst assumeRole = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [`budgets.${current.dnsSuffix}`],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n}));\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleBudget = new aws.budgets.Budget(\"example\", {\n name: \"example\",\n budgetType: \"USAGE\",\n limitAmount: \"10.0\",\n limitUnit: \"dollars\",\n timePeriodStart: \"2006-01-02_15:04\",\n timeUnit: \"MONTHLY\",\n});\nconst exampleBudgetAction = new aws.budgets.BudgetAction(\"example\", {\n budgetName: exampleBudget.name,\n actionType: \"APPLY_IAM_POLICY\",\n approvalModel: \"AUTOMATIC\",\n notificationType: \"ACTUAL\",\n executionRoleArn: exampleRole.arn,\n actionThreshold: {\n actionThresholdType: \"ABSOLUTE_VALUE\",\n actionThresholdValue: 100,\n },\n definition: {\n iamActionDefinition: {\n policyArn: examplePolicy.arn,\n roles: [exampleRole.name],\n },\n },\n subscribers: [{\n address: \"example@example.example\",\n subscriptionType: \"EMAIL\",\n }],\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"ec2:Describe*\"],\n \"resources\": [\"*\"],\n}])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"example\",\n description=\"My example policy\",\n policy=example.json)\ncurrent = aws.get_partition()\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [f\"budgets.{current.dns_suffix}\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample_budget = aws.budgets.Budget(\"example\",\n name=\"example\",\n budget_type=\"USAGE\",\n limit_amount=\"10.0\",\n limit_unit=\"dollars\",\n time_period_start=\"2006-01-02_15:04\",\n time_unit=\"MONTHLY\")\nexample_budget_action = aws.budgets.BudgetAction(\"example\",\n budget_name=example_budget.name,\n action_type=\"APPLY_IAM_POLICY\",\n approval_model=\"AUTOMATIC\",\n notification_type=\"ACTUAL\",\n execution_role_arn=example_role.arn,\n action_threshold={\n \"action_threshold_type\": \"ABSOLUTE_VALUE\",\n \"action_threshold_value\": 100,\n },\n definition={\n \"iam_action_definition\": {\n \"policy_arn\": example_policy.arn,\n \"roles\": [example_role.name],\n },\n },\n subscribers=[{\n \"address\": \"example@example.example\",\n \"subscription_type\": \"EMAIL\",\n }],\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"example\",\n Description = \"My example policy\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n $\"budgets.{current.Apply(getPartitionResult =\u003e getPartitionResult.DnsSuffix)}\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleBudget = new Aws.Budgets.Budget(\"example\", new()\n {\n Name = \"example\",\n BudgetType = \"USAGE\",\n LimitAmount = \"10.0\",\n LimitUnit = \"dollars\",\n TimePeriodStart = \"2006-01-02_15:04\",\n TimeUnit = \"MONTHLY\",\n });\n\n var exampleBudgetAction = new Aws.Budgets.BudgetAction(\"example\", new()\n {\n BudgetName = exampleBudget.Name,\n ActionType = \"APPLY_IAM_POLICY\",\n ApprovalModel = \"AUTOMATIC\",\n NotificationType = \"ACTUAL\",\n ExecutionRoleArn = exampleRole.Arn,\n ActionThreshold = new Aws.Budgets.Inputs.BudgetActionActionThresholdArgs\n {\n ActionThresholdType = \"ABSOLUTE_VALUE\",\n ActionThresholdValue = 100,\n },\n Definition = new Aws.Budgets.Inputs.BudgetActionDefinitionArgs\n {\n IamActionDefinition = new Aws.Budgets.Inputs.BudgetActionDefinitionIamActionDefinitionArgs\n {\n PolicyArn = examplePolicy.Arn,\n Roles = new[]\n {\n exampleRole.Name,\n },\n },\n },\n Subscribers = new[]\n {\n new Aws.Budgets.Inputs.BudgetActionSubscriberArgs\n {\n Address = \"example@example.example\",\n SubscriptionType = \"EMAIL\",\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"My example policy\"),\n\t\t\tPolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"budgets.%v\", current.DnsSuffix),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBudget, err := budgets.NewBudget(ctx, \"example\", \u0026budgets.BudgetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tBudgetType: pulumi.String(\"USAGE\"),\n\t\t\tLimitAmount: pulumi.String(\"10.0\"),\n\t\t\tLimitUnit: pulumi.String(\"dollars\"),\n\t\t\tTimePeriodStart: pulumi.String(\"2006-01-02_15:04\"),\n\t\t\tTimeUnit: pulumi.String(\"MONTHLY\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = budgets.NewBudgetAction(ctx, \"example\", \u0026budgets.BudgetActionArgs{\n\t\t\tBudgetName: exampleBudget.Name,\n\t\t\tActionType: pulumi.String(\"APPLY_IAM_POLICY\"),\n\t\t\tApprovalModel: pulumi.String(\"AUTOMATIC\"),\n\t\t\tNotificationType: pulumi.String(\"ACTUAL\"),\n\t\t\tExecutionRoleArn: exampleRole.Arn,\n\t\t\tActionThreshold: \u0026budgets.BudgetActionActionThresholdArgs{\n\t\t\t\tActionThresholdType: pulumi.String(\"ABSOLUTE_VALUE\"),\n\t\t\t\tActionThresholdValue: pulumi.Float64(100),\n\t\t\t},\n\t\t\tDefinition: \u0026budgets.BudgetActionDefinitionArgs{\n\t\t\t\tIamActionDefinition: \u0026budgets.BudgetActionDefinitionIamActionDefinitionArgs{\n\t\t\t\t\tPolicyArn: examplePolicy.Arn,\n\t\t\t\t\tRoles: pulumi.StringArray{\n\t\t\t\t\t\texampleRole.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSubscribers: budgets.BudgetActionSubscriberArray{\n\t\t\t\t\u0026budgets.BudgetActionSubscriberArgs{\n\t\t\t\t\tAddress: pulumi.String(\"example@example.example\"),\n\t\t\t\t\tSubscriptionType: pulumi.String(\"EMAIL\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport com.pulumi.aws.budgets.BudgetAction;\nimport com.pulumi.aws.budgets.BudgetActionArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetActionActionThresholdArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetActionDefinitionArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetActionDefinitionIamActionDefinitionArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetActionSubscriberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"example\")\n .description(\"My example policy\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(String.format(\"budgets.%s\", current.applyValue(getPartitionResult -\u003e getPartitionResult.dnsSuffix())))\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleBudget = new Budget(\"exampleBudget\", BudgetArgs.builder()\n .name(\"example\")\n .budgetType(\"USAGE\")\n .limitAmount(\"10.0\")\n .limitUnit(\"dollars\")\n .timePeriodStart(\"2006-01-02_15:04\")\n .timeUnit(\"MONTHLY\")\n .build());\n\n var exampleBudgetAction = new BudgetAction(\"exampleBudgetAction\", BudgetActionArgs.builder()\n .budgetName(exampleBudget.name())\n .actionType(\"APPLY_IAM_POLICY\")\n .approvalModel(\"AUTOMATIC\")\n .notificationType(\"ACTUAL\")\n .executionRoleArn(exampleRole.arn())\n .actionThreshold(BudgetActionActionThresholdArgs.builder()\n .actionThresholdType(\"ABSOLUTE_VALUE\")\n .actionThresholdValue(100)\n .build())\n .definition(BudgetActionDefinitionArgs.builder()\n .iamActionDefinition(BudgetActionDefinitionIamActionDefinitionArgs.builder()\n .policyArn(examplePolicy.arn())\n .roles(exampleRole.name())\n .build())\n .build())\n .subscribers(BudgetActionSubscriberArgs.builder()\n .address(\"example@example.example\")\n .subscriptionType(\"EMAIL\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBudgetAction:\n type: aws:budgets:BudgetAction\n name: example\n properties:\n budgetName: ${exampleBudget.name}\n actionType: APPLY_IAM_POLICY\n approvalModel: AUTOMATIC\n notificationType: ACTUAL\n executionRoleArn: ${exampleRole.arn}\n actionThreshold:\n actionThresholdType: ABSOLUTE_VALUE\n actionThresholdValue: 100\n definition:\n iamActionDefinition:\n policyArn: ${examplePolicy.arn}\n roles:\n - ${exampleRole.name}\n subscribers:\n - address: example@example.example\n subscriptionType: EMAIL\n tags:\n Tag1: Value1\n Tag2: Value2\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: example\n description: My example policy\n policy: ${example.json}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleBudget:\n type: aws:budgets:Budget\n name: example\n properties:\n name: example\n budgetType: USAGE\n limitAmount: '10.0'\n limitUnit: dollars\n timePeriodStart: 2006-01-02_15:04\n timeUnit: MONTHLY\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - budgets.${current.dnsSuffix}\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import budget actions using `AccountID:ActionID:BudgetName`. For example:\n\n```sh\n$ pulumi import aws:budgets/budgetAction:BudgetAction myBudget 123456789012:some-id:myBudget\n```\n", "properties": { "accountId": { "type": "string", @@ -195727,7 +195727,7 @@ } }, "aws:cfg/configurationAggregator:ConfigurationAggregator": { - "description": "Manages an AWS Config Configuration Aggregator\n\n## Example Usage\n\n### Account Based Aggregation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst account = new aws.cfg.ConfigurationAggregator(\"account\", {\n name: \"example\",\n accountAggregationSource: {\n accountIds: [\"123456789012\"],\n regions: [\"us-west-2\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccount = aws.cfg.ConfigurationAggregator(\"account\",\n name=\"example\",\n account_aggregation_source={\n \"account_ids\": [\"123456789012\"],\n \"regions\": [\"us-west-2\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var account = new Aws.Cfg.ConfigurationAggregator(\"account\", new()\n {\n Name = \"example\",\n AccountAggregationSource = new Aws.Cfg.Inputs.ConfigurationAggregatorAccountAggregationSourceArgs\n {\n AccountIds = new[]\n {\n \"123456789012\",\n },\n Regions = new[]\n {\n \"us-west-2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\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 := cfg.NewConfigurationAggregator(ctx, \"account\", \u0026cfg.ConfigurationAggregatorArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAccountAggregationSource: \u0026cfg.ConfigurationAggregatorAccountAggregationSourceArgs{\n\t\t\t\tAccountIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t\t},\n\t\t\t\tRegions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"us-west-2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cfg.ConfigurationAggregator;\nimport com.pulumi.aws.cfg.ConfigurationAggregatorArgs;\nimport com.pulumi.aws.cfg.inputs.ConfigurationAggregatorAccountAggregationSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var account = new ConfigurationAggregator(\"account\", ConfigurationAggregatorArgs.builder()\n .name(\"example\")\n .accountAggregationSource(ConfigurationAggregatorAccountAggregationSourceArgs.builder()\n .accountIds(\"123456789012\")\n .regions(\"us-west-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n account:\n type: aws:cfg:ConfigurationAggregator\n properties:\n name: example\n accountAggregationSource:\n accountIds:\n - '123456789012'\n regions:\n - us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Based Aggregation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst organizationRole = new aws.iam.Role(\"organization\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst organizationRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"organization\", {\n role: organizationRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\",\n});\nconst organization = new aws.cfg.ConfigurationAggregator(\"organization\", {\n name: \"example\",\n organizationAggregationSource: {\n allRegions: true,\n roleArn: organizationRole.arn,\n },\n}, {\n dependsOn: [organizationRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"config.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\norganization_role = aws.iam.Role(\"organization\",\n name=\"example\",\n assume_role_policy=assume_role.json)\norganization_role_policy_attachment = aws.iam.RolePolicyAttachment(\"organization\",\n role=organization_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\")\norganization = aws.cfg.ConfigurationAggregator(\"organization\",\n name=\"example\",\n organization_aggregation_source={\n \"all_regions\": True,\n \"role_arn\": organization_role.arn,\n },\n opts = pulumi.ResourceOptions(depends_on=[organization_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var organizationRole = new Aws.Iam.Role(\"organization\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var organizationRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"organization\", new()\n {\n Role = organizationRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\",\n });\n\n var organization = new Aws.Cfg.ConfigurationAggregator(\"organization\", new()\n {\n Name = \"example\",\n OrganizationAggregationSource = new Aws.Cfg.Inputs.ConfigurationAggregatorOrganizationAggregationSourceArgs\n {\n AllRegions = true,\n RoleArn = organizationRole.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n organizationRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\torganizationRole, err := iam.NewRole(ctx, \"organization\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\torganizationRolePolicyAttachment, err := iam.NewRolePolicyAttachment(ctx, \"organization\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: organizationRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewConfigurationAggregator(ctx, \"organization\", \u0026cfg.ConfigurationAggregatorArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tOrganizationAggregationSource: \u0026cfg.ConfigurationAggregatorOrganizationAggregationSourceArgs{\n\t\t\t\tAllRegions: pulumi.Bool(true),\n\t\t\t\tRoleArn: organizationRole.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\torganizationRolePolicyAttachment,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.cfg.ConfigurationAggregator;\nimport com.pulumi.aws.cfg.ConfigurationAggregatorArgs;\nimport com.pulumi.aws.cfg.inputs.ConfigurationAggregatorOrganizationAggregationSourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var organizationRole = new Role(\"organizationRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var organizationRolePolicyAttachment = new RolePolicyAttachment(\"organizationRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(organizationRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\")\n .build());\n\n var organization = new ConfigurationAggregator(\"organization\", ConfigurationAggregatorArgs.builder()\n .name(\"example\")\n .organizationAggregationSource(ConfigurationAggregatorOrganizationAggregationSourceArgs.builder()\n .allRegions(true)\n .roleArn(organizationRole.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(organizationRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n organization:\n type: aws:cfg:ConfigurationAggregator\n properties:\n name: example\n organizationAggregationSource:\n allRegions: true\n roleArn: ${organizationRole.arn}\n options:\n dependsOn:\n - ${organizationRolePolicyAttachment}\n organizationRole:\n type: aws:iam:Role\n name: organization\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n organizationRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: organization\n properties:\n role: ${organizationRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Configuration Aggregators using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/configurationAggregator:ConfigurationAggregator example foo\n```\n", + "description": "Manages an AWS Config Configuration Aggregator\n\n## Example Usage\n\n### Account Based Aggregation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst account = new aws.cfg.ConfigurationAggregator(\"account\", {\n name: \"example\",\n accountAggregationSource: {\n accountIds: [\"123456789012\"],\n regions: [\"us-west-2\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccount = aws.cfg.ConfigurationAggregator(\"account\",\n name=\"example\",\n account_aggregation_source={\n \"account_ids\": [\"123456789012\"],\n \"regions\": [\"us-west-2\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var account = new Aws.Cfg.ConfigurationAggregator(\"account\", new()\n {\n Name = \"example\",\n AccountAggregationSource = new Aws.Cfg.Inputs.ConfigurationAggregatorAccountAggregationSourceArgs\n {\n AccountIds = new[]\n {\n \"123456789012\",\n },\n Regions = new[]\n {\n \"us-west-2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\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 := cfg.NewConfigurationAggregator(ctx, \"account\", \u0026cfg.ConfigurationAggregatorArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAccountAggregationSource: \u0026cfg.ConfigurationAggregatorAccountAggregationSourceArgs{\n\t\t\t\tAccountIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t\t},\n\t\t\t\tRegions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"us-west-2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cfg.ConfigurationAggregator;\nimport com.pulumi.aws.cfg.ConfigurationAggregatorArgs;\nimport com.pulumi.aws.cfg.inputs.ConfigurationAggregatorAccountAggregationSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var account = new ConfigurationAggregator(\"account\", ConfigurationAggregatorArgs.builder()\n .name(\"example\")\n .accountAggregationSource(ConfigurationAggregatorAccountAggregationSourceArgs.builder()\n .accountIds(\"123456789012\")\n .regions(\"us-west-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n account:\n type: aws:cfg:ConfigurationAggregator\n properties:\n name: example\n accountAggregationSource:\n accountIds:\n - '123456789012'\n regions:\n - us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Based Aggregation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst organizationRole = new aws.iam.Role(\"organization\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst organizationRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"organization\", {\n role: organizationRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\",\n});\nconst organization = new aws.cfg.ConfigurationAggregator(\"organization\", {\n name: \"example\",\n organizationAggregationSource: {\n allRegions: true,\n roleArn: organizationRole.arn,\n },\n}, {\n dependsOn: [organizationRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"config.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\norganization_role = aws.iam.Role(\"organization\",\n name=\"example\",\n assume_role_policy=assume_role.json)\norganization_role_policy_attachment = aws.iam.RolePolicyAttachment(\"organization\",\n role=organization_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\")\norganization = aws.cfg.ConfigurationAggregator(\"organization\",\n name=\"example\",\n organization_aggregation_source={\n \"all_regions\": True,\n \"role_arn\": organization_role.arn,\n },\n opts = pulumi.ResourceOptions(depends_on=[organization_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var organizationRole = new Aws.Iam.Role(\"organization\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var organizationRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"organization\", new()\n {\n Role = organizationRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\",\n });\n\n var organization = new Aws.Cfg.ConfigurationAggregator(\"organization\", new()\n {\n Name = \"example\",\n OrganizationAggregationSource = new Aws.Cfg.Inputs.ConfigurationAggregatorOrganizationAggregationSourceArgs\n {\n AllRegions = true,\n RoleArn = organizationRole.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n organizationRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\torganizationRole, err := iam.NewRole(ctx, \"organization\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\torganizationRolePolicyAttachment, err := iam.NewRolePolicyAttachment(ctx, \"organization\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: organizationRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewConfigurationAggregator(ctx, \"organization\", \u0026cfg.ConfigurationAggregatorArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tOrganizationAggregationSource: \u0026cfg.ConfigurationAggregatorOrganizationAggregationSourceArgs{\n\t\t\t\tAllRegions: pulumi.Bool(true),\n\t\t\t\tRoleArn: organizationRole.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\torganizationRolePolicyAttachment,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.cfg.ConfigurationAggregator;\nimport com.pulumi.aws.cfg.ConfigurationAggregatorArgs;\nimport com.pulumi.aws.cfg.inputs.ConfigurationAggregatorOrganizationAggregationSourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var organizationRole = new Role(\"organizationRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var organizationRolePolicyAttachment = new RolePolicyAttachment(\"organizationRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(organizationRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\")\n .build());\n\n var organization = new ConfigurationAggregator(\"organization\", ConfigurationAggregatorArgs.builder()\n .name(\"example\")\n .organizationAggregationSource(ConfigurationAggregatorOrganizationAggregationSourceArgs.builder()\n .allRegions(true)\n .roleArn(organizationRole.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(organizationRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n organization:\n type: aws:cfg:ConfigurationAggregator\n properties:\n name: example\n organizationAggregationSource:\n allRegions: true\n roleArn: ${organizationRole.arn}\n options:\n dependson:\n - ${organizationRolePolicyAttachment}\n organizationRole:\n type: aws:iam:Role\n name: organization\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n organizationRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: organization\n properties:\n role: ${organizationRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Configuration Aggregators using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/configurationAggregator:ConfigurationAggregator example foo\n```\n", "properties": { "accountAggregationSource": { "$ref": "#/types/aws:cfg/ConfigurationAggregatorAccountAggregationSource:ConfigurationAggregatorAccountAggregationSource", @@ -195828,7 +195828,7 @@ } }, "aws:cfg/conformancePack:ConformancePack": { - "description": "Manages a Config Conformance Pack. More information about this collection of Config rules and remediation actions can be found in the\n[Conformance Packs](https://docs.aws.amazon.com/config/latest/developerguide/conformance-packs.html) documentation.\nSample Conformance Pack templates may be found in the\n[AWS Config Rules Repository](https://github.com/awslabs/aws-config-rules/tree/master/aws-config-conformance-packs).\n\n\u003e **NOTE:** The account must have a Configuration Recorder with proper IAM permissions before the Conformance Pack will\nsuccessfully create or update. See also the\n`aws.cfg.Recorder` resource.\n\n## Example Usage\n\n### Template Body\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.ConformancePack(\"example\", {\n name: \"example\",\n inputParameters: [{\n parameterName: \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n parameterValue: \"90\",\n }],\n templateBody: `Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`,\n}, {\n dependsOn: [exampleAwsConfigConfigurationRecorder],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.ConformancePack(\"example\",\n name=\"example\",\n input_parameters=[{\n \"parameter_name\": \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n \"parameter_value\": \"90\",\n }],\n template_body=\"\"\"Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\"\"\",\n opts = pulumi.ResourceOptions(depends_on=[example_aws_config_configuration_recorder]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.ConformancePack(\"example\", new()\n {\n Name = \"example\",\n InputParameters = new[]\n {\n new Aws.Cfg.Inputs.ConformancePackInputParameterArgs\n {\n ParameterName = \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n ParameterValue = \"90\",\n },\n },\n TemplateBody = @\"Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsConfigConfigurationRecorder,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\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 := cfg.NewConformancePack(ctx, \"example\", \u0026cfg.ConformancePackArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tInputParameters: cfg.ConformancePackInputParameterArray{\n\t\t\t\t\u0026cfg.ConformancePackInputParameterArgs{\n\t\t\t\t\tParameterName: pulumi.String(\"AccessKeysRotatedParameterMaxAccessKeyAge\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"90\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateBody: pulumi.String(`Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsConfigConfigurationRecorder,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cfg.ConformancePack;\nimport com.pulumi.aws.cfg.ConformancePackArgs;\nimport com.pulumi.aws.cfg.inputs.ConformancePackInputParameterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ConformancePack(\"example\", ConformancePackArgs.builder()\n .name(\"example\")\n .inputParameters(ConformancePackInputParameterArgs.builder()\n .parameterName(\"AccessKeysRotatedParameterMaxAccessKeyAge\")\n .parameterValue(\"90\")\n .build())\n .templateBody(\"\"\"\nParameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n \"\"\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsConfigConfigurationRecorder)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:ConformancePack\n properties:\n name: example\n inputParameters:\n - parameterName: AccessKeysRotatedParameterMaxAccessKeyAge\n parameterValue: '90'\n templateBody: |\n Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\n Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n options:\n dependsOn:\n - ${exampleAwsConfigConfigurationRecorder}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Template S3 URI\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n bucket: exampleBucketV2.id,\n key: \"example-key\",\n content: `Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`,\n});\nconst example = new aws.cfg.ConformancePack(\"example\", {\n name: \"example\",\n templateS3Uri: pulumi.interpolate`s3://${exampleBucketV2.bucket}/${exampleBucketObjectv2.key}`,\n}, {\n dependsOn: [exampleAwsConfigConfigurationRecorder],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n bucket=example_bucket_v2.id,\n key=\"example-key\",\n content=\"\"\"Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\"\"\")\nexample = aws.cfg.ConformancePack(\"example\",\n name=\"example\",\n template_s3_uri=pulumi.Output.all(\n bucket=example_bucket_v2.bucket,\n key=example_bucket_objectv2.key\n).apply(lambda resolved_outputs: f\"s3://{resolved_outputs['bucket']}/{resolved_outputs['key']}\")\n,\n opts = pulumi.ResourceOptions(depends_on=[example_aws_config_configuration_recorder]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Key = \"example-key\",\n Content = @\"Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\",\n });\n\n var example = new Aws.Cfg.ConformancePack(\"example\", new()\n {\n Name = \"example\",\n TemplateS3Uri = Output.Tuple(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).Apply(values =\u003e\n {\n var bucket = values.Item1;\n var key = values.Item2;\n return $\"s3://{bucket}/{key}\";\n }),\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsConfigConfigurationRecorder,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tKey: pulumi.String(\"example-key\"),\n\t\t\tContent: pulumi.String(`Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewConformancePack(ctx, \"example\", \u0026cfg.ConformancePackArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tTemplateS3Uri: pulumi.All(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tbucket := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", bucket, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsConfigConfigurationRecorder,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.cfg.ConformancePack;\nimport com.pulumi.aws.cfg.ConformancePackArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .bucket(exampleBucketV2.id())\n .key(\"example-key\")\n .content(\"\"\"\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n \"\"\")\n .build());\n\n var example = new ConformancePack(\"example\", ConformancePackArgs.builder()\n .name(\"example\")\n .templateS3Uri(Output.tuple(exampleBucketV2.bucket(), exampleBucketObjectv2.key()).applyValue(values -\u003e {\n var bucket = values.t1;\n var key = values.t2;\n return String.format(\"s3://%s/%s\", bucket,key);\n }))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsConfigConfigurationRecorder)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:ConformancePack\n properties:\n name: example\n templateS3Uri: s3://${exampleBucketV2.bucket}/${exampleBucketObjectv2.key}\n options:\n dependsOn:\n - ${exampleAwsConfigConfigurationRecorder}\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n key: example-key\n content: |\n Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Conformance Packs using the `name`. For example:\n\n```sh\n$ pulumi import aws:cfg/conformancePack:ConformancePack example example\n```\n", + "description": "Manages a Config Conformance Pack. More information about this collection of Config rules and remediation actions can be found in the\n[Conformance Packs](https://docs.aws.amazon.com/config/latest/developerguide/conformance-packs.html) documentation.\nSample Conformance Pack templates may be found in the\n[AWS Config Rules Repository](https://github.com/awslabs/aws-config-rules/tree/master/aws-config-conformance-packs).\n\n\u003e **NOTE:** The account must have a Configuration Recorder with proper IAM permissions before the Conformance Pack will\nsuccessfully create or update. See also the\n`aws.cfg.Recorder` resource.\n\n## Example Usage\n\n### Template Body\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.ConformancePack(\"example\", {\n name: \"example\",\n inputParameters: [{\n parameterName: \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n parameterValue: \"90\",\n }],\n templateBody: `Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`,\n}, {\n dependsOn: [exampleAwsConfigConfigurationRecorder],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.ConformancePack(\"example\",\n name=\"example\",\n input_parameters=[{\n \"parameter_name\": \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n \"parameter_value\": \"90\",\n }],\n template_body=\"\"\"Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\"\"\",\n opts = pulumi.ResourceOptions(depends_on=[example_aws_config_configuration_recorder]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.ConformancePack(\"example\", new()\n {\n Name = \"example\",\n InputParameters = new[]\n {\n new Aws.Cfg.Inputs.ConformancePackInputParameterArgs\n {\n ParameterName = \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n ParameterValue = \"90\",\n },\n },\n TemplateBody = @\"Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsConfigConfigurationRecorder,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\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 := cfg.NewConformancePack(ctx, \"example\", \u0026cfg.ConformancePackArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tInputParameters: cfg.ConformancePackInputParameterArray{\n\t\t\t\t\u0026cfg.ConformancePackInputParameterArgs{\n\t\t\t\t\tParameterName: pulumi.String(\"AccessKeysRotatedParameterMaxAccessKeyAge\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"90\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateBody: pulumi.String(`Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsConfigConfigurationRecorder,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cfg.ConformancePack;\nimport com.pulumi.aws.cfg.ConformancePackArgs;\nimport com.pulumi.aws.cfg.inputs.ConformancePackInputParameterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ConformancePack(\"example\", ConformancePackArgs.builder()\n .name(\"example\")\n .inputParameters(ConformancePackInputParameterArgs.builder()\n .parameterName(\"AccessKeysRotatedParameterMaxAccessKeyAge\")\n .parameterValue(\"90\")\n .build())\n .templateBody(\"\"\"\nParameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n \"\"\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsConfigConfigurationRecorder)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:ConformancePack\n properties:\n name: example\n inputParameters:\n - parameterName: AccessKeysRotatedParameterMaxAccessKeyAge\n parameterValue: '90'\n templateBody: |\n Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\n Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n options:\n dependson:\n - ${exampleAwsConfigConfigurationRecorder}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Template S3 URI\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n bucket: exampleBucketV2.id,\n key: \"example-key\",\n content: `Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`,\n});\nconst example = new aws.cfg.ConformancePack(\"example\", {\n name: \"example\",\n templateS3Uri: pulumi.interpolate`s3://${exampleBucketV2.bucket}/${exampleBucketObjectv2.key}`,\n}, {\n dependsOn: [exampleAwsConfigConfigurationRecorder],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n bucket=example_bucket_v2.id,\n key=\"example-key\",\n content=\"\"\"Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\"\"\")\nexample = aws.cfg.ConformancePack(\"example\",\n name=\"example\",\n template_s3_uri=pulumi.Output.all(\n bucket=example_bucket_v2.bucket,\n key=example_bucket_objectv2.key\n).apply(lambda resolved_outputs: f\"s3://{resolved_outputs['bucket']}/{resolved_outputs['key']}\")\n,\n opts = pulumi.ResourceOptions(depends_on=[example_aws_config_configuration_recorder]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Key = \"example-key\",\n Content = @\"Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\",\n });\n\n var example = new Aws.Cfg.ConformancePack(\"example\", new()\n {\n Name = \"example\",\n TemplateS3Uri = Output.Tuple(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).Apply(values =\u003e\n {\n var bucket = values.Item1;\n var key = values.Item2;\n return $\"s3://{bucket}/{key}\";\n }),\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsConfigConfigurationRecorder,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tKey: pulumi.String(\"example-key\"),\n\t\t\tContent: pulumi.String(`Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewConformancePack(ctx, \"example\", \u0026cfg.ConformancePackArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tTemplateS3Uri: pulumi.All(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tbucket := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", bucket, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsConfigConfigurationRecorder,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.cfg.ConformancePack;\nimport com.pulumi.aws.cfg.ConformancePackArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .bucket(exampleBucketV2.id())\n .key(\"example-key\")\n .content(\"\"\"\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n \"\"\")\n .build());\n\n var example = new ConformancePack(\"example\", ConformancePackArgs.builder()\n .name(\"example\")\n .templateS3Uri(Output.tuple(exampleBucketV2.bucket(), exampleBucketObjectv2.key()).applyValue(values -\u003e {\n var bucket = values.t1;\n var key = values.t2;\n return String.format(\"s3://%s/%s\", bucket,key);\n }))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsConfigConfigurationRecorder)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:ConformancePack\n properties:\n name: example\n templateS3Uri: s3://${exampleBucketV2.bucket}/${exampleBucketObjectv2.key}\n options:\n dependson:\n - ${exampleAwsConfigConfigurationRecorder}\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n key: example-key\n content: |\n Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Conformance Packs using the `name`. For example:\n\n```sh\n$ pulumi import aws:cfg/conformancePack:ConformancePack example example\n```\n", "properties": { "arn": { "type": "string", @@ -195936,7 +195936,7 @@ } }, "aws:cfg/deliveryChannel:DeliveryChannel": { - "description": "Provides an AWS Config Delivery Channel.\n\n\u003e **Note:** Delivery Channel requires a Configuration Recorder to be present. Use of `depends_on` (as shown below) is recommended to avoid race conditions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.BucketV2(\"b\", {\n bucket: \"example-awsconfig\",\n forceDestroy: true,\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst r = new aws.iam.Role(\"r\", {\n name: \"awsconfig-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst fooRecorder = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n});\nconst foo = new aws.cfg.DeliveryChannel(\"foo\", {\n name: \"example\",\n s3BucketName: b.bucket,\n}, {\n dependsOn: [fooRecorder],\n});\nconst p = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\n b.arn,\n pulumi.interpolate`${b.arn}/*`,\n ],\n }],\n});\nconst pRolePolicy = new aws.iam.RolePolicy(\"p\", {\n name: \"awsconfig-example\",\n role: r.id,\n policy: p.apply(p =\u003e p.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.BucketV2(\"b\",\n bucket=\"example-awsconfig\",\n force_destroy=True)\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"config.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nr = aws.iam.Role(\"r\",\n name=\"awsconfig-example\",\n assume_role_policy=assume_role.json)\nfoo_recorder = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r.arn)\nfoo = aws.cfg.DeliveryChannel(\"foo\",\n name=\"example\",\n s3_bucket_name=b.bucket,\n opts = pulumi.ResourceOptions(depends_on=[foo_recorder]))\np = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\n b.arn,\n b.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n}])\np_role_policy = aws.iam.RolePolicy(\"p\",\n name=\"awsconfig-example\",\n role=r.id,\n policy=p.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.BucketV2(\"b\", new()\n {\n Bucket = \"example-awsconfig\",\n ForceDestroy = true,\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var r = new Aws.Iam.Role(\"r\", new()\n {\n Name = \"awsconfig-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var fooRecorder = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n });\n\n var foo = new Aws.Cfg.DeliveryChannel(\"foo\", new()\n {\n Name = \"example\",\n S3BucketName = b.Bucket,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n fooRecorder,\n },\n });\n\n var p = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n b.Arn,\n $\"{b.Arn}/*\",\n },\n },\n },\n });\n\n var pRolePolicy = new Aws.Iam.RolePolicy(\"p\", new()\n {\n Name = \"awsconfig-example\",\n Role = r.Id,\n Policy = p.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tb, err := s3.NewBucketV2(ctx, \"b\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-awsconfig\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tr, err := iam.NewRole(ctx, \"r\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"awsconfig-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooRecorder, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: r.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewDeliveryChannel(ctx, \"foo\", \u0026cfg.DeliveryChannelArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tS3BucketName: b.Bucket,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfooRecorder,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tp := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tb.Arn,\n\t\t\t\t\t\tb.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"p\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"awsconfig-example\"),\n\t\t\tRole: r.ID(),\n\t\t\tPolicy: pulumi.String(p.ApplyT(func(p iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026p.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.DeliveryChannel;\nimport com.pulumi.aws.cfg.DeliveryChannelArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var b = new BucketV2(\"b\", BucketV2Args.builder()\n .bucket(\"example-awsconfig\")\n .forceDestroy(true)\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var r = new Role(\"r\", RoleArgs.builder()\n .name(\"awsconfig-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var fooRecorder = new Recorder(\"fooRecorder\", RecorderArgs.builder()\n .name(\"example\")\n .roleArn(r.arn())\n .build());\n\n var foo = new DeliveryChannel(\"foo\", DeliveryChannelArgs.builder()\n .name(\"example\")\n .s3BucketName(b.bucket())\n .build(), CustomResourceOptions.builder()\n .dependsOn(fooRecorder)\n .build());\n\n final var p = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources( \n b.arn(),\n b.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var pRolePolicy = new RolePolicy(\"pRolePolicy\", RolePolicyArgs.builder()\n .name(\"awsconfig-example\")\n .role(r.id())\n .policy(p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(p -\u003e p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:DeliveryChannel\n properties:\n name: example\n s3BucketName: ${b.bucket}\n options:\n dependsOn:\n - ${fooRecorder}\n b:\n type: aws:s3:BucketV2\n properties:\n bucket: example-awsconfig\n forceDestroy: true\n fooRecorder:\n type: aws:cfg:Recorder\n name: foo\n properties:\n name: example\n roleArn: ${r.arn}\n r:\n type: aws:iam:Role\n properties:\n name: awsconfig-example\n assumeRolePolicy: ${assumeRole.json}\n pRolePolicy:\n type: aws:iam:RolePolicy\n name: p\n properties:\n name: awsconfig-example\n role: ${r.id}\n policy: ${p.json}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n p:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - s3:*\n resources:\n - ${b.arn}\n - ${b.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Delivery Channel using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/deliveryChannel:DeliveryChannel foo example\n```\n", + "description": "Provides an AWS Config Delivery Channel.\n\n\u003e **Note:** Delivery Channel requires a Configuration Recorder to be present. Use of `depends_on` (as shown below) is recommended to avoid race conditions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.BucketV2(\"b\", {\n bucket: \"example-awsconfig\",\n forceDestroy: true,\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst r = new aws.iam.Role(\"r\", {\n name: \"awsconfig-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst fooRecorder = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n});\nconst foo = new aws.cfg.DeliveryChannel(\"foo\", {\n name: \"example\",\n s3BucketName: b.bucket,\n}, {\n dependsOn: [fooRecorder],\n});\nconst p = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\n b.arn,\n pulumi.interpolate`${b.arn}/*`,\n ],\n }],\n});\nconst pRolePolicy = new aws.iam.RolePolicy(\"p\", {\n name: \"awsconfig-example\",\n role: r.id,\n policy: p.apply(p =\u003e p.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.BucketV2(\"b\",\n bucket=\"example-awsconfig\",\n force_destroy=True)\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"config.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nr = aws.iam.Role(\"r\",\n name=\"awsconfig-example\",\n assume_role_policy=assume_role.json)\nfoo_recorder = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r.arn)\nfoo = aws.cfg.DeliveryChannel(\"foo\",\n name=\"example\",\n s3_bucket_name=b.bucket,\n opts = pulumi.ResourceOptions(depends_on=[foo_recorder]))\np = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\n b.arn,\n b.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n}])\np_role_policy = aws.iam.RolePolicy(\"p\",\n name=\"awsconfig-example\",\n role=r.id,\n policy=p.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.BucketV2(\"b\", new()\n {\n Bucket = \"example-awsconfig\",\n ForceDestroy = true,\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var r = new Aws.Iam.Role(\"r\", new()\n {\n Name = \"awsconfig-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var fooRecorder = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n });\n\n var foo = new Aws.Cfg.DeliveryChannel(\"foo\", new()\n {\n Name = \"example\",\n S3BucketName = b.Bucket,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n fooRecorder,\n },\n });\n\n var p = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n b.Arn,\n $\"{b.Arn}/*\",\n },\n },\n },\n });\n\n var pRolePolicy = new Aws.Iam.RolePolicy(\"p\", new()\n {\n Name = \"awsconfig-example\",\n Role = r.Id,\n Policy = p.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tb, err := s3.NewBucketV2(ctx, \"b\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-awsconfig\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tr, err := iam.NewRole(ctx, \"r\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"awsconfig-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooRecorder, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: r.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewDeliveryChannel(ctx, \"foo\", \u0026cfg.DeliveryChannelArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tS3BucketName: b.Bucket,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfooRecorder,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tp := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tb.Arn,\n\t\t\t\t\t\tb.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"p\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"awsconfig-example\"),\n\t\t\tRole: r.ID(),\n\t\t\tPolicy: pulumi.String(p.ApplyT(func(p iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026p.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.DeliveryChannel;\nimport com.pulumi.aws.cfg.DeliveryChannelArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var b = new BucketV2(\"b\", BucketV2Args.builder()\n .bucket(\"example-awsconfig\")\n .forceDestroy(true)\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var r = new Role(\"r\", RoleArgs.builder()\n .name(\"awsconfig-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var fooRecorder = new Recorder(\"fooRecorder\", RecorderArgs.builder()\n .name(\"example\")\n .roleArn(r.arn())\n .build());\n\n var foo = new DeliveryChannel(\"foo\", DeliveryChannelArgs.builder()\n .name(\"example\")\n .s3BucketName(b.bucket())\n .build(), CustomResourceOptions.builder()\n .dependsOn(fooRecorder)\n .build());\n\n final var p = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources( \n b.arn(),\n b.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var pRolePolicy = new RolePolicy(\"pRolePolicy\", RolePolicyArgs.builder()\n .name(\"awsconfig-example\")\n .role(r.id())\n .policy(p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(p -\u003e p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:DeliveryChannel\n properties:\n name: example\n s3BucketName: ${b.bucket}\n options:\n dependson:\n - ${fooRecorder}\n b:\n type: aws:s3:BucketV2\n properties:\n bucket: example-awsconfig\n forceDestroy: true\n fooRecorder:\n type: aws:cfg:Recorder\n name: foo\n properties:\n name: example\n roleArn: ${r.arn}\n r:\n type: aws:iam:Role\n properties:\n name: awsconfig-example\n assumeRolePolicy: ${assumeRole.json}\n pRolePolicy:\n type: aws:iam:RolePolicy\n name: p\n properties:\n name: awsconfig-example\n role: ${r.id}\n policy: ${p.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n p:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - s3:*\n resources:\n - ${b.arn}\n - ${b.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Delivery Channel using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/deliveryChannel:DeliveryChannel foo example\n```\n", "properties": { "name": { "type": "string", @@ -196030,7 +196030,7 @@ } }, "aws:cfg/organizationConformancePack:OrganizationConformancePack": { - "description": "Manages a Config Organization Conformance Pack. More information can be found in the [Managing Conformance Packs Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/conformance-pack-organization-apis.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. Example conformance pack templates may be found in the [AWS Config Rules Repository](https://github.com/awslabs/aws-config-rules/tree/master/aws-config-conformance-packs).\n\n\u003e **NOTE:** This resource must be created in the Organization master account or a delegated administrator account, and the Organization must have all features enabled. Every Organization account except those configured in the `excluded_accounts` argument must have a Configuration Recorder with proper IAM permissions before the Organization Conformance Pack will successfully create or update. See also the `aws.cfg.Recorder` resource.\n\n## Example Usage\n\n### Using Template Body\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOrganization = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"config-multiaccountsetup.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst example = new aws.cfg.OrganizationConformancePack(\"example\", {\n name: \"example\",\n inputParameters: [{\n parameterName: \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n parameterValue: \"90\",\n }],\n templateBody: `Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`,\n}, {\n dependsOn: [\n exampleAwsConfigConfigurationRecorder,\n exampleOrganization,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_organization = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"config-multiaccountsetup.amazonaws.com\"],\n feature_set=\"ALL\")\nexample = aws.cfg.OrganizationConformancePack(\"example\",\n name=\"example\",\n input_parameters=[{\n \"parameter_name\": \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n \"parameter_value\": \"90\",\n }],\n template_body=\"\"\"Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\"\"\",\n opts = pulumi.ResourceOptions(depends_on=[\n example_aws_config_configuration_recorder,\n example_organization,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleOrganization = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"config-multiaccountsetup.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var example = new Aws.Cfg.OrganizationConformancePack(\"example\", new()\n {\n Name = \"example\",\n InputParameters = new[]\n {\n new Aws.Cfg.Inputs.OrganizationConformancePackInputParameterArgs\n {\n ParameterName = \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n ParameterValue = \"90\",\n },\n },\n TemplateBody = @\"Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsConfigConfigurationRecorder,\n exampleOrganization,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleOrganization, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"config-multiaccountsetup.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewOrganizationConformancePack(ctx, \"example\", \u0026cfg.OrganizationConformancePackArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tInputParameters: cfg.OrganizationConformancePackInputParameterArray{\n\t\t\t\t\u0026cfg.OrganizationConformancePackInputParameterArgs{\n\t\t\t\t\tParameterName: pulumi.String(\"AccessKeysRotatedParameterMaxAccessKeyAge\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"90\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateBody: pulumi.String(`Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsConfigConfigurationRecorder,\n\t\t\texampleOrganization,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.cfg.OrganizationConformancePack;\nimport com.pulumi.aws.cfg.OrganizationConformancePackArgs;\nimport com.pulumi.aws.cfg.inputs.OrganizationConformancePackInputParameterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleOrganization = new Organization(\"exampleOrganization\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"config-multiaccountsetup.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var example = new OrganizationConformancePack(\"example\", OrganizationConformancePackArgs.builder()\n .name(\"example\")\n .inputParameters(OrganizationConformancePackInputParameterArgs.builder()\n .parameterName(\"AccessKeysRotatedParameterMaxAccessKeyAge\")\n .parameterValue(\"90\")\n .build())\n .templateBody(\"\"\"\nParameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n \"\"\")\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n exampleAwsConfigConfigurationRecorder,\n exampleOrganization)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:OrganizationConformancePack\n properties:\n name: example\n inputParameters:\n - parameterName: AccessKeysRotatedParameterMaxAccessKeyAge\n parameterValue: '90'\n templateBody: |\n Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\n Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n options:\n dependsOn:\n - ${exampleAwsConfigConfigurationRecorder}\n - ${exampleOrganization}\n exampleOrganization:\n type: aws:organizations:Organization\n name: example\n properties:\n awsServiceAccessPrincipals:\n - config-multiaccountsetup.amazonaws.com\n featureSet: ALL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Template S3 URI\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOrganization = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"config-multiaccountsetup.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n bucket: exampleBucketV2.id,\n key: \"example-key\",\n content: `Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`,\n});\nconst example = new aws.cfg.OrganizationConformancePack(\"example\", {\n name: \"example\",\n templateS3Uri: pulumi.interpolate`s3://${exampleBucketV2.bucket}/${exampleBucketObjectv2.key}`,\n}, {\n dependsOn: [\n exampleAwsConfigConfigurationRecorder,\n exampleOrganization,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_organization = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"config-multiaccountsetup.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n bucket=example_bucket_v2.id,\n key=\"example-key\",\n content=\"\"\"Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\"\"\")\nexample = aws.cfg.OrganizationConformancePack(\"example\",\n name=\"example\",\n template_s3_uri=pulumi.Output.all(\n bucket=example_bucket_v2.bucket,\n key=example_bucket_objectv2.key\n).apply(lambda resolved_outputs: f\"s3://{resolved_outputs['bucket']}/{resolved_outputs['key']}\")\n,\n opts = pulumi.ResourceOptions(depends_on=[\n example_aws_config_configuration_recorder,\n example_organization,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleOrganization = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"config-multiaccountsetup.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Key = \"example-key\",\n Content = @\"Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\",\n });\n\n var example = new Aws.Cfg.OrganizationConformancePack(\"example\", new()\n {\n Name = \"example\",\n TemplateS3Uri = Output.Tuple(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).Apply(values =\u003e\n {\n var bucket = values.Item1;\n var key = values.Item2;\n return $\"s3://{bucket}/{key}\";\n }),\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsConfigConfigurationRecorder,\n exampleOrganization,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleOrganization, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"config-multiaccountsetup.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tKey: pulumi.String(\"example-key\"),\n\t\t\tContent: pulumi.String(`Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewOrganizationConformancePack(ctx, \"example\", \u0026cfg.OrganizationConformancePackArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tTemplateS3Uri: pulumi.All(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tbucket := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", bucket, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsConfigConfigurationRecorder,\n\t\t\texampleOrganization,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.cfg.OrganizationConformancePack;\nimport com.pulumi.aws.cfg.OrganizationConformancePackArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleOrganization = new Organization(\"exampleOrganization\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"config-multiaccountsetup.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .bucket(exampleBucketV2.id())\n .key(\"example-key\")\n .content(\"\"\"\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n \"\"\")\n .build());\n\n var example = new OrganizationConformancePack(\"example\", OrganizationConformancePackArgs.builder()\n .name(\"example\")\n .templateS3Uri(Output.tuple(exampleBucketV2.bucket(), exampleBucketObjectv2.key()).applyValue(values -\u003e {\n var bucket = values.t1;\n var key = values.t2;\n return String.format(\"s3://%s/%s\", bucket,key);\n }))\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n exampleAwsConfigConfigurationRecorder,\n exampleOrganization)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:OrganizationConformancePack\n properties:\n name: example\n templateS3Uri: s3://${exampleBucketV2.bucket}/${exampleBucketObjectv2.key}\n options:\n dependsOn:\n - ${exampleAwsConfigConfigurationRecorder}\n - ${exampleOrganization}\n exampleOrganization:\n type: aws:organizations:Organization\n name: example\n properties:\n awsServiceAccessPrincipals:\n - config-multiaccountsetup.amazonaws.com\n featureSet: ALL\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n key: example-key\n content: |\n Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Organization Conformance Packs using the `name`. For example:\n\n```sh\n$ pulumi import aws:cfg/organizationConformancePack:OrganizationConformancePack example example\n```\n", + "description": "Manages a Config Organization Conformance Pack. More information can be found in the [Managing Conformance Packs Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/conformance-pack-organization-apis.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. Example conformance pack templates may be found in the [AWS Config Rules Repository](https://github.com/awslabs/aws-config-rules/tree/master/aws-config-conformance-packs).\n\n\u003e **NOTE:** This resource must be created in the Organization master account or a delegated administrator account, and the Organization must have all features enabled. Every Organization account except those configured in the `excluded_accounts` argument must have a Configuration Recorder with proper IAM permissions before the Organization Conformance Pack will successfully create or update. See also the `aws.cfg.Recorder` resource.\n\n## Example Usage\n\n### Using Template Body\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOrganization = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"config-multiaccountsetup.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst example = new aws.cfg.OrganizationConformancePack(\"example\", {\n name: \"example\",\n inputParameters: [{\n parameterName: \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n parameterValue: \"90\",\n }],\n templateBody: `Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`,\n}, {\n dependsOn: [\n exampleAwsConfigConfigurationRecorder,\n exampleOrganization,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_organization = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"config-multiaccountsetup.amazonaws.com\"],\n feature_set=\"ALL\")\nexample = aws.cfg.OrganizationConformancePack(\"example\",\n name=\"example\",\n input_parameters=[{\n \"parameter_name\": \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n \"parameter_value\": \"90\",\n }],\n template_body=\"\"\"Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\"\"\",\n opts = pulumi.ResourceOptions(depends_on=[\n example_aws_config_configuration_recorder,\n example_organization,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleOrganization = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"config-multiaccountsetup.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var example = new Aws.Cfg.OrganizationConformancePack(\"example\", new()\n {\n Name = \"example\",\n InputParameters = new[]\n {\n new Aws.Cfg.Inputs.OrganizationConformancePackInputParameterArgs\n {\n ParameterName = \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n ParameterValue = \"90\",\n },\n },\n TemplateBody = @\"Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsConfigConfigurationRecorder,\n exampleOrganization,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleOrganization, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"config-multiaccountsetup.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewOrganizationConformancePack(ctx, \"example\", \u0026cfg.OrganizationConformancePackArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tInputParameters: cfg.OrganizationConformancePackInputParameterArray{\n\t\t\t\t\u0026cfg.OrganizationConformancePackInputParameterArgs{\n\t\t\t\t\tParameterName: pulumi.String(\"AccessKeysRotatedParameterMaxAccessKeyAge\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"90\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateBody: pulumi.String(`Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsConfigConfigurationRecorder,\n\t\t\texampleOrganization,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.cfg.OrganizationConformancePack;\nimport com.pulumi.aws.cfg.OrganizationConformancePackArgs;\nimport com.pulumi.aws.cfg.inputs.OrganizationConformancePackInputParameterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleOrganization = new Organization(\"exampleOrganization\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"config-multiaccountsetup.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var example = new OrganizationConformancePack(\"example\", OrganizationConformancePackArgs.builder()\n .name(\"example\")\n .inputParameters(OrganizationConformancePackInputParameterArgs.builder()\n .parameterName(\"AccessKeysRotatedParameterMaxAccessKeyAge\")\n .parameterValue(\"90\")\n .build())\n .templateBody(\"\"\"\nParameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n \"\"\")\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n exampleAwsConfigConfigurationRecorder,\n exampleOrganization)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:OrganizationConformancePack\n properties:\n name: example\n inputParameters:\n - parameterName: AccessKeysRotatedParameterMaxAccessKeyAge\n parameterValue: '90'\n templateBody: |\n Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\n Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n options:\n dependson:\n - ${exampleAwsConfigConfigurationRecorder}\n - ${exampleOrganization}\n exampleOrganization:\n type: aws:organizations:Organization\n name: example\n properties:\n awsServiceAccessPrincipals:\n - config-multiaccountsetup.amazonaws.com\n featureSet: ALL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Template S3 URI\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOrganization = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"config-multiaccountsetup.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n bucket: exampleBucketV2.id,\n key: \"example-key\",\n content: `Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`,\n});\nconst example = new aws.cfg.OrganizationConformancePack(\"example\", {\n name: \"example\",\n templateS3Uri: pulumi.interpolate`s3://${exampleBucketV2.bucket}/${exampleBucketObjectv2.key}`,\n}, {\n dependsOn: [\n exampleAwsConfigConfigurationRecorder,\n exampleOrganization,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_organization = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"config-multiaccountsetup.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n bucket=example_bucket_v2.id,\n key=\"example-key\",\n content=\"\"\"Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\"\"\")\nexample = aws.cfg.OrganizationConformancePack(\"example\",\n name=\"example\",\n template_s3_uri=pulumi.Output.all(\n bucket=example_bucket_v2.bucket,\n key=example_bucket_objectv2.key\n).apply(lambda resolved_outputs: f\"s3://{resolved_outputs['bucket']}/{resolved_outputs['key']}\")\n,\n opts = pulumi.ResourceOptions(depends_on=[\n example_aws_config_configuration_recorder,\n example_organization,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleOrganization = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"config-multiaccountsetup.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Key = \"example-key\",\n Content = @\"Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\",\n });\n\n var example = new Aws.Cfg.OrganizationConformancePack(\"example\", new()\n {\n Name = \"example\",\n TemplateS3Uri = Output.Tuple(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).Apply(values =\u003e\n {\n var bucket = values.Item1;\n var key = values.Item2;\n return $\"s3://{bucket}/{key}\";\n }),\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsConfigConfigurationRecorder,\n exampleOrganization,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleOrganization, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"config-multiaccountsetup.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tKey: pulumi.String(\"example-key\"),\n\t\t\tContent: pulumi.String(`Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewOrganizationConformancePack(ctx, \"example\", \u0026cfg.OrganizationConformancePackArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tTemplateS3Uri: pulumi.All(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tbucket := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", bucket, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsConfigConfigurationRecorder,\n\t\t\texampleOrganization,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.cfg.OrganizationConformancePack;\nimport com.pulumi.aws.cfg.OrganizationConformancePackArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleOrganization = new Organization(\"exampleOrganization\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"config-multiaccountsetup.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .bucket(exampleBucketV2.id())\n .key(\"example-key\")\n .content(\"\"\"\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n \"\"\")\n .build());\n\n var example = new OrganizationConformancePack(\"example\", OrganizationConformancePackArgs.builder()\n .name(\"example\")\n .templateS3Uri(Output.tuple(exampleBucketV2.bucket(), exampleBucketObjectv2.key()).applyValue(values -\u003e {\n var bucket = values.t1;\n var key = values.t2;\n return String.format(\"s3://%s/%s\", bucket,key);\n }))\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n exampleAwsConfigConfigurationRecorder,\n exampleOrganization)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:OrganizationConformancePack\n properties:\n name: example\n templateS3Uri: s3://${exampleBucketV2.bucket}/${exampleBucketObjectv2.key}\n options:\n dependson:\n - ${exampleAwsConfigConfigurationRecorder}\n - ${exampleOrganization}\n exampleOrganization:\n type: aws:organizations:Organization\n name: example\n properties:\n awsServiceAccessPrincipals:\n - config-multiaccountsetup.amazonaws.com\n featureSet: ALL\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n key: example-key\n content: |\n Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Organization Conformance Packs using the `name`. For example:\n\n```sh\n$ pulumi import aws:cfg/organizationConformancePack:OrganizationConformancePack example example\n```\n", "properties": { "arn": { "type": "string", @@ -196386,7 +196386,7 @@ } }, "aws:cfg/organizationCustomRule:OrganizationCustomRule": { - "description": "Manages a Config Organization Custom Rule. More information about these rules can be found in the [Enabling AWS Config Rules Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/config-rule-multi-account-deployment.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. For working with Organization Managed Rules (those invoking an AWS managed rule), see the `aws_config_organization_managed__rule` resource.\n\n\u003e **NOTE:** This resource must be created in the Organization master account and rules will include the master account unless its ID is added to the `excluded_accounts` argument.\n\n\u003e **NOTE:** The proper Lambda permission to allow the AWS Config service invoke the Lambda Function must be in place before the rule will successfully create or update. See also the `aws.lambda.Permission` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.Permission(\"example\", {\n action: \"lambda:InvokeFunction\",\n \"function\": exampleAwsLambdaFunction.arn,\n principal: \"config.amazonaws.com\",\n statementId: \"AllowExecutionFromConfig\",\n});\nconst exampleOrganization = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"config-multiaccountsetup.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleOrganizationCustomRule = new aws.cfg.OrganizationCustomRule(\"example\", {\n lambdaFunctionArn: exampleAwsLambdaFunction.arn,\n name: \"example\",\n triggerTypes: [\"ConfigurationItemChangeNotification\"],\n}, {\n dependsOn: [\n example,\n exampleOrganization,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.Permission(\"example\",\n action=\"lambda:InvokeFunction\",\n function=example_aws_lambda_function[\"arn\"],\n principal=\"config.amazonaws.com\",\n statement_id=\"AllowExecutionFromConfig\")\nexample_organization = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"config-multiaccountsetup.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_organization_custom_rule = aws.cfg.OrganizationCustomRule(\"example\",\n lambda_function_arn=example_aws_lambda_function[\"arn\"],\n name=\"example\",\n trigger_types=[\"ConfigurationItemChangeNotification\"],\n opts = pulumi.ResourceOptions(depends_on=[\n example,\n example_organization,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.Permission(\"example\", new()\n {\n Action = \"lambda:InvokeFunction\",\n Function = exampleAwsLambdaFunction.Arn,\n Principal = \"config.amazonaws.com\",\n StatementId = \"AllowExecutionFromConfig\",\n });\n\n var exampleOrganization = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"config-multiaccountsetup.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleOrganizationCustomRule = new Aws.Cfg.OrganizationCustomRule(\"example\", new()\n {\n LambdaFunctionArn = exampleAwsLambdaFunction.Arn,\n Name = \"example\",\n TriggerTypes = new[]\n {\n \"ConfigurationItemChangeNotification\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n exampleOrganization,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lambda.NewPermission(ctx, \"example\", \u0026lambda.PermissionArgs{\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tPrincipal: pulumi.String(\"config.amazonaws.com\"),\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromConfig\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleOrganization, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"config-multiaccountsetup.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewOrganizationCustomRule(ctx, \"example\", \u0026cfg.OrganizationCustomRuleArgs{\n\t\t\tLambdaFunctionArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tTriggerTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t\texampleOrganization,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.cfg.OrganizationCustomRule;\nimport com.pulumi.aws.cfg.OrganizationCustomRuleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Permission(\"example\", PermissionArgs.builder()\n .action(\"lambda:InvokeFunction\")\n .function(exampleAwsLambdaFunction.arn())\n .principal(\"config.amazonaws.com\")\n .statementId(\"AllowExecutionFromConfig\")\n .build());\n\n var exampleOrganization = new Organization(\"exampleOrganization\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"config-multiaccountsetup.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleOrganizationCustomRule = new OrganizationCustomRule(\"exampleOrganizationCustomRule\", OrganizationCustomRuleArgs.builder()\n .lambdaFunctionArn(exampleAwsLambdaFunction.arn())\n .name(\"example\")\n .triggerTypes(\"ConfigurationItemChangeNotification\")\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n example,\n exampleOrganization)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:Permission\n properties:\n action: lambda:InvokeFunction\n function: ${exampleAwsLambdaFunction.arn}\n principal: config.amazonaws.com\n statementId: AllowExecutionFromConfig\n exampleOrganization:\n type: aws:organizations:Organization\n name: example\n properties:\n awsServiceAccessPrincipals:\n - config-multiaccountsetup.amazonaws.com\n featureSet: ALL\n exampleOrganizationCustomRule:\n type: aws:cfg:OrganizationCustomRule\n name: example\n properties:\n lambdaFunctionArn: ${exampleAwsLambdaFunction.arn}\n name: example\n triggerTypes:\n - ConfigurationItemChangeNotification\n options:\n dependsOn:\n - ${example}\n - ${exampleOrganization}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Organization Custom Rules using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/organizationCustomRule:OrganizationCustomRule example example\n```\n", + "description": "Manages a Config Organization Custom Rule. More information about these rules can be found in the [Enabling AWS Config Rules Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/config-rule-multi-account-deployment.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. For working with Organization Managed Rules (those invoking an AWS managed rule), see the `aws_config_organization_managed__rule` resource.\n\n\u003e **NOTE:** This resource must be created in the Organization master account and rules will include the master account unless its ID is added to the `excluded_accounts` argument.\n\n\u003e **NOTE:** The proper Lambda permission to allow the AWS Config service invoke the Lambda Function must be in place before the rule will successfully create or update. See also the `aws.lambda.Permission` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.Permission(\"example\", {\n action: \"lambda:InvokeFunction\",\n \"function\": exampleAwsLambdaFunction.arn,\n principal: \"config.amazonaws.com\",\n statementId: \"AllowExecutionFromConfig\",\n});\nconst exampleOrganization = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"config-multiaccountsetup.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleOrganizationCustomRule = new aws.cfg.OrganizationCustomRule(\"example\", {\n lambdaFunctionArn: exampleAwsLambdaFunction.arn,\n name: \"example\",\n triggerTypes: [\"ConfigurationItemChangeNotification\"],\n}, {\n dependsOn: [\n example,\n exampleOrganization,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.Permission(\"example\",\n action=\"lambda:InvokeFunction\",\n function=example_aws_lambda_function[\"arn\"],\n principal=\"config.amazonaws.com\",\n statement_id=\"AllowExecutionFromConfig\")\nexample_organization = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"config-multiaccountsetup.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_organization_custom_rule = aws.cfg.OrganizationCustomRule(\"example\",\n lambda_function_arn=example_aws_lambda_function[\"arn\"],\n name=\"example\",\n trigger_types=[\"ConfigurationItemChangeNotification\"],\n opts = pulumi.ResourceOptions(depends_on=[\n example,\n example_organization,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.Permission(\"example\", new()\n {\n Action = \"lambda:InvokeFunction\",\n Function = exampleAwsLambdaFunction.Arn,\n Principal = \"config.amazonaws.com\",\n StatementId = \"AllowExecutionFromConfig\",\n });\n\n var exampleOrganization = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"config-multiaccountsetup.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleOrganizationCustomRule = new Aws.Cfg.OrganizationCustomRule(\"example\", new()\n {\n LambdaFunctionArn = exampleAwsLambdaFunction.Arn,\n Name = \"example\",\n TriggerTypes = new[]\n {\n \"ConfigurationItemChangeNotification\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n exampleOrganization,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lambda.NewPermission(ctx, \"example\", \u0026lambda.PermissionArgs{\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tPrincipal: pulumi.String(\"config.amazonaws.com\"),\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromConfig\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleOrganization, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"config-multiaccountsetup.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewOrganizationCustomRule(ctx, \"example\", \u0026cfg.OrganizationCustomRuleArgs{\n\t\t\tLambdaFunctionArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tTriggerTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t\texampleOrganization,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.cfg.OrganizationCustomRule;\nimport com.pulumi.aws.cfg.OrganizationCustomRuleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Permission(\"example\", PermissionArgs.builder()\n .action(\"lambda:InvokeFunction\")\n .function(exampleAwsLambdaFunction.arn())\n .principal(\"config.amazonaws.com\")\n .statementId(\"AllowExecutionFromConfig\")\n .build());\n\n var exampleOrganization = new Organization(\"exampleOrganization\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"config-multiaccountsetup.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleOrganizationCustomRule = new OrganizationCustomRule(\"exampleOrganizationCustomRule\", OrganizationCustomRuleArgs.builder()\n .lambdaFunctionArn(exampleAwsLambdaFunction.arn())\n .name(\"example\")\n .triggerTypes(\"ConfigurationItemChangeNotification\")\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n example,\n exampleOrganization)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:Permission\n properties:\n action: lambda:InvokeFunction\n function: ${exampleAwsLambdaFunction.arn}\n principal: config.amazonaws.com\n statementId: AllowExecutionFromConfig\n exampleOrganization:\n type: aws:organizations:Organization\n name: example\n properties:\n awsServiceAccessPrincipals:\n - config-multiaccountsetup.amazonaws.com\n featureSet: ALL\n exampleOrganizationCustomRule:\n type: aws:cfg:OrganizationCustomRule\n name: example\n properties:\n lambdaFunctionArn: ${exampleAwsLambdaFunction.arn}\n name: example\n triggerTypes:\n - ConfigurationItemChangeNotification\n options:\n dependson:\n - ${example}\n - ${exampleOrganization}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Organization Custom Rules using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/organizationCustomRule:OrganizationCustomRule example example\n```\n", "properties": { "arn": { "type": "string", @@ -196578,7 +196578,7 @@ } }, "aws:cfg/organizationManagedRule:OrganizationManagedRule": { - "description": "Manages a Config Organization Managed Rule. More information about these rules can be found in the [Enabling AWS Config Rules Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/config-rule-multi-account-deployment.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. For working with Organization Custom Rules (those invoking a custom Lambda Function), see the `aws.cfg.OrganizationCustomRule` resource.\n\n\u003e **NOTE:** This resource must be created in the Organization master account and rules will include the master account unless its ID is added to the `excluded_accounts` argument.\n\n\u003e **NOTE:** Every Organization account except those configured in the `excluded_accounts` argument must have a Configuration Recorder with proper IAM permissions before the rule will successfully create or update. See also the `aws.cfg.Recorder` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"config-multiaccountsetup.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleOrganizationManagedRule = new aws.cfg.OrganizationManagedRule(\"example\", {\n name: \"example\",\n ruleIdentifier: \"IAM_PASSWORD_POLICY\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"config-multiaccountsetup.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_organization_managed_rule = aws.cfg.OrganizationManagedRule(\"example\",\n name=\"example\",\n rule_identifier=\"IAM_PASSWORD_POLICY\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"config-multiaccountsetup.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleOrganizationManagedRule = new Aws.Cfg.OrganizationManagedRule(\"example\", new()\n {\n Name = \"example\",\n RuleIdentifier = \"IAM_PASSWORD_POLICY\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"config-multiaccountsetup.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewOrganizationManagedRule(ctx, \"example\", \u0026cfg.OrganizationManagedRuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRuleIdentifier: pulumi.String(\"IAM_PASSWORD_POLICY\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.cfg.OrganizationManagedRule;\nimport com.pulumi.aws.cfg.OrganizationManagedRuleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"config-multiaccountsetup.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleOrganizationManagedRule = new OrganizationManagedRule(\"exampleOrganizationManagedRule\", OrganizationManagedRuleArgs.builder()\n .name(\"example\")\n .ruleIdentifier(\"IAM_PASSWORD_POLICY\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - config-multiaccountsetup.amazonaws.com\n featureSet: ALL\n exampleOrganizationManagedRule:\n type: aws:cfg:OrganizationManagedRule\n name: example\n properties:\n name: example\n ruleIdentifier: IAM_PASSWORD_POLICY\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Organization Managed Rules using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/organizationManagedRule:OrganizationManagedRule example example\n```\n", + "description": "Manages a Config Organization Managed Rule. More information about these rules can be found in the [Enabling AWS Config Rules Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/config-rule-multi-account-deployment.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. For working with Organization Custom Rules (those invoking a custom Lambda Function), see the `aws.cfg.OrganizationCustomRule` resource.\n\n\u003e **NOTE:** This resource must be created in the Organization master account and rules will include the master account unless its ID is added to the `excluded_accounts` argument.\n\n\u003e **NOTE:** Every Organization account except those configured in the `excluded_accounts` argument must have a Configuration Recorder with proper IAM permissions before the rule will successfully create or update. See also the `aws.cfg.Recorder` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"config-multiaccountsetup.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleOrganizationManagedRule = new aws.cfg.OrganizationManagedRule(\"example\", {\n name: \"example\",\n ruleIdentifier: \"IAM_PASSWORD_POLICY\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"config-multiaccountsetup.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_organization_managed_rule = aws.cfg.OrganizationManagedRule(\"example\",\n name=\"example\",\n rule_identifier=\"IAM_PASSWORD_POLICY\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"config-multiaccountsetup.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleOrganizationManagedRule = new Aws.Cfg.OrganizationManagedRule(\"example\", new()\n {\n Name = \"example\",\n RuleIdentifier = \"IAM_PASSWORD_POLICY\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"config-multiaccountsetup.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewOrganizationManagedRule(ctx, \"example\", \u0026cfg.OrganizationManagedRuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRuleIdentifier: pulumi.String(\"IAM_PASSWORD_POLICY\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.cfg.OrganizationManagedRule;\nimport com.pulumi.aws.cfg.OrganizationManagedRuleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"config-multiaccountsetup.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleOrganizationManagedRule = new OrganizationManagedRule(\"exampleOrganizationManagedRule\", OrganizationManagedRuleArgs.builder()\n .name(\"example\")\n .ruleIdentifier(\"IAM_PASSWORD_POLICY\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - config-multiaccountsetup.amazonaws.com\n featureSet: ALL\n exampleOrganizationManagedRule:\n type: aws:cfg:OrganizationManagedRule\n name: example\n properties:\n name: example\n ruleIdentifier: IAM_PASSWORD_POLICY\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Organization Managed Rules using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/organizationManagedRule:OrganizationManagedRule example example\n```\n", "properties": { "arn": { "type": "string", @@ -196747,7 +196747,7 @@ } }, "aws:cfg/recorder:Recorder": { - "description": "Provides an AWS Config Configuration Recorder. Please note that this resource **does not start** the created recorder automatically.\n\n\u003e **Note:** _Starting_ the Configuration Recorder requires a delivery channel (while delivery channel creation requires Configuration Recorder). This is why `aws.cfg.RecorderStatus` is a separate resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst r = new aws.iam.Role(\"r\", {\n name: \"awsconfig-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst foo = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"config.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nr = aws.iam.Role(\"r\",\n name=\"awsconfig-example\",\n assume_role_policy=assume_role.json)\nfoo = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var r = new Aws.Iam.Role(\"r\", new()\n {\n Name = \"awsconfig-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tr, err := iam.NewRole(ctx, \"r\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"awsconfig-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: r.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var r = new Role(\"r\", RoleArgs.builder()\n .name(\"awsconfig-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var foo = new Recorder(\"foo\", RecorderArgs.builder()\n .name(\"example\")\n .roleArn(r.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:Recorder\n properties:\n name: example\n roleArn: ${r.arn}\n r:\n type: aws:iam:Role\n properties:\n name: awsconfig-example\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Exclude Resources Types Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n recordingGroup: {\n allSupported: false,\n exclusionByResourceTypes: [{\n resourceTypes: [\"AWS::EC2::Instance\"],\n }],\n recordingStrategies: [{\n useOnly: \"EXCLUSION_BY_RESOURCE_TYPES\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r[\"arn\"],\n recording_group={\n \"all_supported\": False,\n \"exclusion_by_resource_types\": [{\n \"resource_types\": [\"AWS::EC2::Instance\"],\n }],\n \"recording_strategies\": [{\n \"use_only\": \"EXCLUSION_BY_RESOURCE_TYPES\",\n }],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n RecordingGroup = new Aws.Cfg.Inputs.RecorderRecordingGroupArgs\n {\n AllSupported = false,\n ExclusionByResourceTypes = new[]\n {\n new Aws.Cfg.Inputs.RecorderRecordingGroupExclusionByResourceTypeArgs\n {\n ResourceTypes = new[]\n {\n \"AWS::EC2::Instance\",\n },\n },\n },\n RecordingStrategies = new[]\n {\n new Aws.Cfg.Inputs.RecorderRecordingGroupRecordingStrategyArgs\n {\n UseOnly = \"EXCLUSION_BY_RESOURCE_TYPES\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\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 := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(r.Arn),\n\t\t\tRecordingGroup: \u0026cfg.RecorderRecordingGroupArgs{\n\t\t\t\tAllSupported: pulumi.Bool(false),\n\t\t\t\tExclusionByResourceTypes: cfg.RecorderRecordingGroupExclusionByResourceTypeArray{\n\t\t\t\t\t\u0026cfg.RecorderRecordingGroupExclusionByResourceTypeArgs{\n\t\t\t\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"AWS::EC2::Instance\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRecordingStrategies: cfg.RecorderRecordingGroupRecordingStrategyArray{\n\t\t\t\t\t\u0026cfg.RecorderRecordingGroupRecordingStrategyArgs{\n\t\t\t\t\t\tUseOnly: pulumi.String(\"EXCLUSION_BY_RESOURCE_TYPES\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.inputs.RecorderRecordingGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Recorder(\"foo\", RecorderArgs.builder()\n .name(\"example\")\n .roleArn(r.arn())\n .recordingGroup(RecorderRecordingGroupArgs.builder()\n .allSupported(false)\n .exclusionByResourceTypes(RecorderRecordingGroupExclusionByResourceTypeArgs.builder()\n .resourceTypes(\"AWS::EC2::Instance\")\n .build())\n .recordingStrategies(RecorderRecordingGroupRecordingStrategyArgs.builder()\n .useOnly(\"EXCLUSION_BY_RESOURCE_TYPES\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:Recorder\n properties:\n name: example\n roleArn: ${r.arn}\n recordingGroup:\n allSupported: false\n exclusionByResourceTypes:\n - resourceTypes:\n - AWS::EC2::Instance\n recordingStrategies:\n - useOnly: EXCLUSION_BY_RESOURCE_TYPES\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Periodic Recording\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n recordingGroup: {\n allSupported: false,\n includeGlobalResourceTypes: false,\n resourceTypes: [\n \"AWS::EC2::Instance\",\n \"AWS::EC2::NetworkInterface\",\n ],\n },\n recordingMode: {\n recordingFrequency: \"CONTINUOUS\",\n recordingModeOverride: {\n description: \"Only record EC2 network interfaces daily\",\n resourceTypes: [\"AWS::EC2::NetworkInterface\"],\n recordingFrequency: \"DAILY\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r[\"arn\"],\n recording_group={\n \"all_supported\": False,\n \"include_global_resource_types\": False,\n \"resource_types\": [\n \"AWS::EC2::Instance\",\n \"AWS::EC2::NetworkInterface\",\n ],\n },\n recording_mode={\n \"recording_frequency\": \"CONTINUOUS\",\n \"recording_mode_override\": {\n \"description\": \"Only record EC2 network interfaces daily\",\n \"resource_types\": [\"AWS::EC2::NetworkInterface\"],\n \"recording_frequency\": \"DAILY\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n RecordingGroup = new Aws.Cfg.Inputs.RecorderRecordingGroupArgs\n {\n AllSupported = false,\n IncludeGlobalResourceTypes = false,\n ResourceTypes = new[]\n {\n \"AWS::EC2::Instance\",\n \"AWS::EC2::NetworkInterface\",\n },\n },\n RecordingMode = new Aws.Cfg.Inputs.RecorderRecordingModeArgs\n {\n RecordingFrequency = \"CONTINUOUS\",\n RecordingModeOverride = new Aws.Cfg.Inputs.RecorderRecordingModeRecordingModeOverrideArgs\n {\n Description = \"Only record EC2 network interfaces daily\",\n ResourceTypes = new[]\n {\n \"AWS::EC2::NetworkInterface\",\n },\n RecordingFrequency = \"DAILY\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\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 := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(r.Arn),\n\t\t\tRecordingGroup: \u0026cfg.RecorderRecordingGroupArgs{\n\t\t\t\tAllSupported: pulumi.Bool(false),\n\t\t\t\tIncludeGlobalResourceTypes: pulumi.Bool(false),\n\t\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"AWS::EC2::Instance\"),\n\t\t\t\t\tpulumi.String(\"AWS::EC2::NetworkInterface\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRecordingMode: \u0026cfg.RecorderRecordingModeArgs{\n\t\t\t\tRecordingFrequency: pulumi.String(\"CONTINUOUS\"),\n\t\t\t\tRecordingModeOverride: \u0026cfg.RecorderRecordingModeRecordingModeOverrideArgs{\n\t\t\t\t\tDescription: pulumi.String(\"Only record EC2 network interfaces daily\"),\n\t\t\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AWS::EC2::NetworkInterface\"),\n\t\t\t\t\t},\n\t\t\t\t\tRecordingFrequency: pulumi.String(\"DAILY\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.inputs.RecorderRecordingGroupArgs;\nimport com.pulumi.aws.cfg.inputs.RecorderRecordingModeArgs;\nimport com.pulumi.aws.cfg.inputs.RecorderRecordingModeRecordingModeOverrideArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Recorder(\"foo\", RecorderArgs.builder()\n .name(\"example\")\n .roleArn(r.arn())\n .recordingGroup(RecorderRecordingGroupArgs.builder()\n .allSupported(false)\n .includeGlobalResourceTypes(false)\n .resourceTypes( \n \"AWS::EC2::Instance\",\n \"AWS::EC2::NetworkInterface\")\n .build())\n .recordingMode(RecorderRecordingModeArgs.builder()\n .recordingFrequency(\"CONTINUOUS\")\n .recordingModeOverride(RecorderRecordingModeRecordingModeOverrideArgs.builder()\n .description(\"Only record EC2 network interfaces daily\")\n .resourceTypes(\"AWS::EC2::NetworkInterface\")\n .recordingFrequency(\"DAILY\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:Recorder\n properties:\n name: example\n roleArn: ${r.arn}\n recordingGroup:\n allSupported: false\n includeGlobalResourceTypes: false\n resourceTypes:\n - AWS::EC2::Instance\n - AWS::EC2::NetworkInterface\n recordingMode:\n recordingFrequency: CONTINUOUS\n recordingModeOverride:\n description: Only record EC2 network interfaces daily\n resourceTypes:\n - AWS::EC2::NetworkInterface\n recordingFrequency: DAILY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Configuration Recorder using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/recorder:Recorder foo example\n```\n", + "description": "Provides an AWS Config Configuration Recorder. Please note that this resource **does not start** the created recorder automatically.\n\n\u003e **Note:** _Starting_ the Configuration Recorder requires a delivery channel (while delivery channel creation requires Configuration Recorder). This is why `aws.cfg.RecorderStatus` is a separate resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst r = new aws.iam.Role(\"r\", {\n name: \"awsconfig-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst foo = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"config.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nr = aws.iam.Role(\"r\",\n name=\"awsconfig-example\",\n assume_role_policy=assume_role.json)\nfoo = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var r = new Aws.Iam.Role(\"r\", new()\n {\n Name = \"awsconfig-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tr, err := iam.NewRole(ctx, \"r\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"awsconfig-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: r.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var r = new Role(\"r\", RoleArgs.builder()\n .name(\"awsconfig-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var foo = new Recorder(\"foo\", RecorderArgs.builder()\n .name(\"example\")\n .roleArn(r.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:Recorder\n properties:\n name: example\n roleArn: ${r.arn}\n r:\n type: aws:iam:Role\n properties:\n name: awsconfig-example\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Exclude Resources Types Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n recordingGroup: {\n allSupported: false,\n exclusionByResourceTypes: [{\n resourceTypes: [\"AWS::EC2::Instance\"],\n }],\n recordingStrategies: [{\n useOnly: \"EXCLUSION_BY_RESOURCE_TYPES\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r[\"arn\"],\n recording_group={\n \"all_supported\": False,\n \"exclusion_by_resource_types\": [{\n \"resource_types\": [\"AWS::EC2::Instance\"],\n }],\n \"recording_strategies\": [{\n \"use_only\": \"EXCLUSION_BY_RESOURCE_TYPES\",\n }],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n RecordingGroup = new Aws.Cfg.Inputs.RecorderRecordingGroupArgs\n {\n AllSupported = false,\n ExclusionByResourceTypes = new[]\n {\n new Aws.Cfg.Inputs.RecorderRecordingGroupExclusionByResourceTypeArgs\n {\n ResourceTypes = new[]\n {\n \"AWS::EC2::Instance\",\n },\n },\n },\n RecordingStrategies = new[]\n {\n new Aws.Cfg.Inputs.RecorderRecordingGroupRecordingStrategyArgs\n {\n UseOnly = \"EXCLUSION_BY_RESOURCE_TYPES\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\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 := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(r.Arn),\n\t\t\tRecordingGroup: \u0026cfg.RecorderRecordingGroupArgs{\n\t\t\t\tAllSupported: pulumi.Bool(false),\n\t\t\t\tExclusionByResourceTypes: cfg.RecorderRecordingGroupExclusionByResourceTypeArray{\n\t\t\t\t\t\u0026cfg.RecorderRecordingGroupExclusionByResourceTypeArgs{\n\t\t\t\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"AWS::EC2::Instance\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRecordingStrategies: cfg.RecorderRecordingGroupRecordingStrategyArray{\n\t\t\t\t\t\u0026cfg.RecorderRecordingGroupRecordingStrategyArgs{\n\t\t\t\t\t\tUseOnly: pulumi.String(\"EXCLUSION_BY_RESOURCE_TYPES\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.inputs.RecorderRecordingGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Recorder(\"foo\", RecorderArgs.builder()\n .name(\"example\")\n .roleArn(r.arn())\n .recordingGroup(RecorderRecordingGroupArgs.builder()\n .allSupported(false)\n .exclusionByResourceTypes(RecorderRecordingGroupExclusionByResourceTypeArgs.builder()\n .resourceTypes(\"AWS::EC2::Instance\")\n .build())\n .recordingStrategies(RecorderRecordingGroupRecordingStrategyArgs.builder()\n .useOnly(\"EXCLUSION_BY_RESOURCE_TYPES\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:Recorder\n properties:\n name: example\n roleArn: ${r.arn}\n recordingGroup:\n allSupported: false\n exclusionByResourceTypes:\n - resourceTypes:\n - AWS::EC2::Instance\n recordingStrategies:\n - useOnly: EXCLUSION_BY_RESOURCE_TYPES\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Periodic Recording\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n recordingGroup: {\n allSupported: false,\n includeGlobalResourceTypes: false,\n resourceTypes: [\n \"AWS::EC2::Instance\",\n \"AWS::EC2::NetworkInterface\",\n ],\n },\n recordingMode: {\n recordingFrequency: \"CONTINUOUS\",\n recordingModeOverride: {\n description: \"Only record EC2 network interfaces daily\",\n resourceTypes: [\"AWS::EC2::NetworkInterface\"],\n recordingFrequency: \"DAILY\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r[\"arn\"],\n recording_group={\n \"all_supported\": False,\n \"include_global_resource_types\": False,\n \"resource_types\": [\n \"AWS::EC2::Instance\",\n \"AWS::EC2::NetworkInterface\",\n ],\n },\n recording_mode={\n \"recording_frequency\": \"CONTINUOUS\",\n \"recording_mode_override\": {\n \"description\": \"Only record EC2 network interfaces daily\",\n \"resource_types\": [\"AWS::EC2::NetworkInterface\"],\n \"recording_frequency\": \"DAILY\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n RecordingGroup = new Aws.Cfg.Inputs.RecorderRecordingGroupArgs\n {\n AllSupported = false,\n IncludeGlobalResourceTypes = false,\n ResourceTypes = new[]\n {\n \"AWS::EC2::Instance\",\n \"AWS::EC2::NetworkInterface\",\n },\n },\n RecordingMode = new Aws.Cfg.Inputs.RecorderRecordingModeArgs\n {\n RecordingFrequency = \"CONTINUOUS\",\n RecordingModeOverride = new Aws.Cfg.Inputs.RecorderRecordingModeRecordingModeOverrideArgs\n {\n Description = \"Only record EC2 network interfaces daily\",\n ResourceTypes = new[]\n {\n \"AWS::EC2::NetworkInterface\",\n },\n RecordingFrequency = \"DAILY\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\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 := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(r.Arn),\n\t\t\tRecordingGroup: \u0026cfg.RecorderRecordingGroupArgs{\n\t\t\t\tAllSupported: pulumi.Bool(false),\n\t\t\t\tIncludeGlobalResourceTypes: pulumi.Bool(false),\n\t\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"AWS::EC2::Instance\"),\n\t\t\t\t\tpulumi.String(\"AWS::EC2::NetworkInterface\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRecordingMode: \u0026cfg.RecorderRecordingModeArgs{\n\t\t\t\tRecordingFrequency: pulumi.String(\"CONTINUOUS\"),\n\t\t\t\tRecordingModeOverride: \u0026cfg.RecorderRecordingModeRecordingModeOverrideArgs{\n\t\t\t\t\tDescription: pulumi.String(\"Only record EC2 network interfaces daily\"),\n\t\t\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AWS::EC2::NetworkInterface\"),\n\t\t\t\t\t},\n\t\t\t\t\tRecordingFrequency: pulumi.String(\"DAILY\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.inputs.RecorderRecordingGroupArgs;\nimport com.pulumi.aws.cfg.inputs.RecorderRecordingModeArgs;\nimport com.pulumi.aws.cfg.inputs.RecorderRecordingModeRecordingModeOverrideArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Recorder(\"foo\", RecorderArgs.builder()\n .name(\"example\")\n .roleArn(r.arn())\n .recordingGroup(RecorderRecordingGroupArgs.builder()\n .allSupported(false)\n .includeGlobalResourceTypes(false)\n .resourceTypes( \n \"AWS::EC2::Instance\",\n \"AWS::EC2::NetworkInterface\")\n .build())\n .recordingMode(RecorderRecordingModeArgs.builder()\n .recordingFrequency(\"CONTINUOUS\")\n .recordingModeOverride(RecorderRecordingModeRecordingModeOverrideArgs.builder()\n .description(\"Only record EC2 network interfaces daily\")\n .resourceTypes(\"AWS::EC2::NetworkInterface\")\n .recordingFrequency(\"DAILY\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:Recorder\n properties:\n name: example\n roleArn: ${r.arn}\n recordingGroup:\n allSupported: false\n includeGlobalResourceTypes: false\n resourceTypes:\n - AWS::EC2::Instance\n - AWS::EC2::NetworkInterface\n recordingMode:\n recordingFrequency: CONTINUOUS\n recordingModeOverride:\n description: Only record EC2 network interfaces daily\n resourceTypes:\n - AWS::EC2::NetworkInterface\n recordingFrequency: DAILY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Configuration Recorder using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/recorder:Recorder foo example\n```\n", "properties": { "name": { "type": "string", @@ -196819,7 +196819,7 @@ } }, "aws:cfg/recorderStatus:RecorderStatus": { - "description": "Manages status (recording / stopped) of an AWS Config Configuration Recorder.\n\n\u003e **Note:** Starting Configuration Recorder requires a Delivery Channel to be present. Use of `depends_on` (as shown below) is recommended to avoid race conditions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.BucketV2(\"b\", {bucket: \"awsconfig-example\"});\nconst fooDeliveryChannel = new aws.cfg.DeliveryChannel(\"foo\", {\n name: \"example\",\n s3BucketName: b.bucket,\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst r = new aws.iam.Role(\"r\", {\n name: \"example-awsconfig\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst fooRecorder = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n});\nconst foo = new aws.cfg.RecorderStatus(\"foo\", {\n name: fooRecorder.name,\n isEnabled: true,\n}, {\n dependsOn: [fooDeliveryChannel],\n});\nconst a = new aws.iam.RolePolicyAttachment(\"a\", {\n role: r.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\",\n});\nconst p = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\n b.arn,\n pulumi.interpolate`${b.arn}/*`,\n ],\n }],\n});\nconst pRolePolicy = new aws.iam.RolePolicy(\"p\", {\n name: \"awsconfig-example\",\n role: r.id,\n policy: p.apply(p =\u003e p.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.BucketV2(\"b\", bucket=\"awsconfig-example\")\nfoo_delivery_channel = aws.cfg.DeliveryChannel(\"foo\",\n name=\"example\",\n s3_bucket_name=b.bucket)\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"config.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nr = aws.iam.Role(\"r\",\n name=\"example-awsconfig\",\n assume_role_policy=assume_role.json)\nfoo_recorder = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r.arn)\nfoo = aws.cfg.RecorderStatus(\"foo\",\n name=foo_recorder.name,\n is_enabled=True,\n opts = pulumi.ResourceOptions(depends_on=[foo_delivery_channel]))\na = aws.iam.RolePolicyAttachment(\"a\",\n role=r.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\")\np = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\n b.arn,\n b.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n}])\np_role_policy = aws.iam.RolePolicy(\"p\",\n name=\"awsconfig-example\",\n role=r.id,\n policy=p.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.BucketV2(\"b\", new()\n {\n Bucket = \"awsconfig-example\",\n });\n\n var fooDeliveryChannel = new Aws.Cfg.DeliveryChannel(\"foo\", new()\n {\n Name = \"example\",\n S3BucketName = b.Bucket,\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var r = new Aws.Iam.Role(\"r\", new()\n {\n Name = \"example-awsconfig\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var fooRecorder = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n });\n\n var foo = new Aws.Cfg.RecorderStatus(\"foo\", new()\n {\n Name = fooRecorder.Name,\n IsEnabled = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n fooDeliveryChannel,\n },\n });\n\n var a = new Aws.Iam.RolePolicyAttachment(\"a\", new()\n {\n Role = r.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\",\n });\n\n var p = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n b.Arn,\n $\"{b.Arn}/*\",\n },\n },\n },\n });\n\n var pRolePolicy = new Aws.Iam.RolePolicy(\"p\", new()\n {\n Name = \"awsconfig-example\",\n Role = r.Id,\n Policy = p.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tb, err := s3.NewBucketV2(ctx, \"b\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"awsconfig-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooDeliveryChannel, err := cfg.NewDeliveryChannel(ctx, \"foo\", \u0026cfg.DeliveryChannelArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tS3BucketName: b.Bucket,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tr, err := iam.NewRole(ctx, \"r\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-awsconfig\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooRecorder, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: r.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRecorderStatus(ctx, \"foo\", \u0026cfg.RecorderStatusArgs{\n\t\t\tName: fooRecorder.Name,\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfooDeliveryChannel,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"a\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: r.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tp := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tb.Arn,\n\t\t\t\t\t\tb.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"p\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"awsconfig-example\"),\n\t\t\tRole: r.ID(),\n\t\t\tPolicy: pulumi.String(p.ApplyT(func(p iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026p.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.cfg.DeliveryChannel;\nimport com.pulumi.aws.cfg.DeliveryChannelArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.RecorderStatus;\nimport com.pulumi.aws.cfg.RecorderStatusArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var b = new BucketV2(\"b\", BucketV2Args.builder()\n .bucket(\"awsconfig-example\")\n .build());\n\n var fooDeliveryChannel = new DeliveryChannel(\"fooDeliveryChannel\", DeliveryChannelArgs.builder()\n .name(\"example\")\n .s3BucketName(b.bucket())\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var r = new Role(\"r\", RoleArgs.builder()\n .name(\"example-awsconfig\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var fooRecorder = new Recorder(\"fooRecorder\", RecorderArgs.builder()\n .name(\"example\")\n .roleArn(r.arn())\n .build());\n\n var foo = new RecorderStatus(\"foo\", RecorderStatusArgs.builder()\n .name(fooRecorder.name())\n .isEnabled(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(fooDeliveryChannel)\n .build());\n\n var a = new RolePolicyAttachment(\"a\", RolePolicyAttachmentArgs.builder()\n .role(r.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\")\n .build());\n\n final var p = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources( \n b.arn(),\n b.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var pRolePolicy = new RolePolicy(\"pRolePolicy\", RolePolicyArgs.builder()\n .name(\"awsconfig-example\")\n .role(r.id())\n .policy(p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(p -\u003e p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:RecorderStatus\n properties:\n name: ${fooRecorder.name}\n isEnabled: true\n options:\n dependsOn:\n - ${fooDeliveryChannel}\n a:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${r.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\n b:\n type: aws:s3:BucketV2\n properties:\n bucket: awsconfig-example\n fooDeliveryChannel:\n type: aws:cfg:DeliveryChannel\n name: foo\n properties:\n name: example\n s3BucketName: ${b.bucket}\n fooRecorder:\n type: aws:cfg:Recorder\n name: foo\n properties:\n name: example\n roleArn: ${r.arn}\n r:\n type: aws:iam:Role\n properties:\n name: example-awsconfig\n assumeRolePolicy: ${assumeRole.json}\n pRolePolicy:\n type: aws:iam:RolePolicy\n name: p\n properties:\n name: awsconfig-example\n role: ${r.id}\n policy: ${p.json}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n p:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - s3:*\n resources:\n - ${b.arn}\n - ${b.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Configuration Recorder Status using the name of the Configuration Recorder. For example:\n\n```sh\n$ pulumi import aws:cfg/recorderStatus:RecorderStatus foo example\n```\n", + "description": "Manages status (recording / stopped) of an AWS Config Configuration Recorder.\n\n\u003e **Note:** Starting Configuration Recorder requires a Delivery Channel to be present. Use of `depends_on` (as shown below) is recommended to avoid race conditions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.BucketV2(\"b\", {bucket: \"awsconfig-example\"});\nconst fooDeliveryChannel = new aws.cfg.DeliveryChannel(\"foo\", {\n name: \"example\",\n s3BucketName: b.bucket,\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst r = new aws.iam.Role(\"r\", {\n name: \"example-awsconfig\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst fooRecorder = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n});\nconst foo = new aws.cfg.RecorderStatus(\"foo\", {\n name: fooRecorder.name,\n isEnabled: true,\n}, {\n dependsOn: [fooDeliveryChannel],\n});\nconst a = new aws.iam.RolePolicyAttachment(\"a\", {\n role: r.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\",\n});\nconst p = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\n b.arn,\n pulumi.interpolate`${b.arn}/*`,\n ],\n }],\n});\nconst pRolePolicy = new aws.iam.RolePolicy(\"p\", {\n name: \"awsconfig-example\",\n role: r.id,\n policy: p.apply(p =\u003e p.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.BucketV2(\"b\", bucket=\"awsconfig-example\")\nfoo_delivery_channel = aws.cfg.DeliveryChannel(\"foo\",\n name=\"example\",\n s3_bucket_name=b.bucket)\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"config.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nr = aws.iam.Role(\"r\",\n name=\"example-awsconfig\",\n assume_role_policy=assume_role.json)\nfoo_recorder = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r.arn)\nfoo = aws.cfg.RecorderStatus(\"foo\",\n name=foo_recorder.name,\n is_enabled=True,\n opts = pulumi.ResourceOptions(depends_on=[foo_delivery_channel]))\na = aws.iam.RolePolicyAttachment(\"a\",\n role=r.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\")\np = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\n b.arn,\n b.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n}])\np_role_policy = aws.iam.RolePolicy(\"p\",\n name=\"awsconfig-example\",\n role=r.id,\n policy=p.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.BucketV2(\"b\", new()\n {\n Bucket = \"awsconfig-example\",\n });\n\n var fooDeliveryChannel = new Aws.Cfg.DeliveryChannel(\"foo\", new()\n {\n Name = \"example\",\n S3BucketName = b.Bucket,\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var r = new Aws.Iam.Role(\"r\", new()\n {\n Name = \"example-awsconfig\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var fooRecorder = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n });\n\n var foo = new Aws.Cfg.RecorderStatus(\"foo\", new()\n {\n Name = fooRecorder.Name,\n IsEnabled = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n fooDeliveryChannel,\n },\n });\n\n var a = new Aws.Iam.RolePolicyAttachment(\"a\", new()\n {\n Role = r.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\",\n });\n\n var p = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n b.Arn,\n $\"{b.Arn}/*\",\n },\n },\n },\n });\n\n var pRolePolicy = new Aws.Iam.RolePolicy(\"p\", new()\n {\n Name = \"awsconfig-example\",\n Role = r.Id,\n Policy = p.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tb, err := s3.NewBucketV2(ctx, \"b\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"awsconfig-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooDeliveryChannel, err := cfg.NewDeliveryChannel(ctx, \"foo\", \u0026cfg.DeliveryChannelArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tS3BucketName: b.Bucket,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tr, err := iam.NewRole(ctx, \"r\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-awsconfig\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooRecorder, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: r.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRecorderStatus(ctx, \"foo\", \u0026cfg.RecorderStatusArgs{\n\t\t\tName: fooRecorder.Name,\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfooDeliveryChannel,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"a\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: r.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tp := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tb.Arn,\n\t\t\t\t\t\tb.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"p\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"awsconfig-example\"),\n\t\t\tRole: r.ID(),\n\t\t\tPolicy: pulumi.String(p.ApplyT(func(p iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026p.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.cfg.DeliveryChannel;\nimport com.pulumi.aws.cfg.DeliveryChannelArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.RecorderStatus;\nimport com.pulumi.aws.cfg.RecorderStatusArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var b = new BucketV2(\"b\", BucketV2Args.builder()\n .bucket(\"awsconfig-example\")\n .build());\n\n var fooDeliveryChannel = new DeliveryChannel(\"fooDeliveryChannel\", DeliveryChannelArgs.builder()\n .name(\"example\")\n .s3BucketName(b.bucket())\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var r = new Role(\"r\", RoleArgs.builder()\n .name(\"example-awsconfig\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var fooRecorder = new Recorder(\"fooRecorder\", RecorderArgs.builder()\n .name(\"example\")\n .roleArn(r.arn())\n .build());\n\n var foo = new RecorderStatus(\"foo\", RecorderStatusArgs.builder()\n .name(fooRecorder.name())\n .isEnabled(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(fooDeliveryChannel)\n .build());\n\n var a = new RolePolicyAttachment(\"a\", RolePolicyAttachmentArgs.builder()\n .role(r.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\")\n .build());\n\n final var p = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources( \n b.arn(),\n b.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var pRolePolicy = new RolePolicy(\"pRolePolicy\", RolePolicyArgs.builder()\n .name(\"awsconfig-example\")\n .role(r.id())\n .policy(p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(p -\u003e p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:RecorderStatus\n properties:\n name: ${fooRecorder.name}\n isEnabled: true\n options:\n dependson:\n - ${fooDeliveryChannel}\n a:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${r.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\n b:\n type: aws:s3:BucketV2\n properties:\n bucket: awsconfig-example\n fooDeliveryChannel:\n type: aws:cfg:DeliveryChannel\n name: foo\n properties:\n name: example\n s3BucketName: ${b.bucket}\n fooRecorder:\n type: aws:cfg:Recorder\n name: foo\n properties:\n name: example\n roleArn: ${r.arn}\n r:\n type: aws:iam:Role\n properties:\n name: example-awsconfig\n assumeRolePolicy: ${assumeRole.json}\n pRolePolicy:\n type: aws:iam:RolePolicy\n name: p\n properties:\n name: awsconfig-example\n role: ${r.id}\n policy: ${p.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n p:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - s3:*\n resources:\n - ${b.arn}\n - ${b.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Configuration Recorder Status using the name of the Configuration Recorder. For example:\n\n```sh\n$ pulumi import aws:cfg/recorderStatus:RecorderStatus foo example\n```\n", "properties": { "isEnabled": { "type": "boolean", @@ -197066,7 +197066,7 @@ } }, "aws:cfg/rule:Rule": { - "description": "Provides an AWS Config Rule.\n\n\u003e **Note:** Config Rule requires an existing Configuration Recorder to be present. Use of `depends_on` is recommended (as shown below) to avoid race conditions.\n\n## Example Usage\n\n### AWS Managed Rules\n\nAWS managed rules can be used by setting the source owner to `AWS` and the source identifier to the name of the managed rule. More information about AWS managed rules can be found in the [AWS Config Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst rRole = new aws.iam.Role(\"r\", {\n name: \"my-awsconfig-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst foo = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: rRole.arn,\n});\nconst r = new aws.cfg.Rule(\"r\", {\n name: \"example\",\n source: {\n owner: \"AWS\",\n sourceIdentifier: \"S3_BUCKET_VERSIONING_ENABLED\",\n },\n}, {\n dependsOn: [foo],\n});\nconst p = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"config:Put*\"],\n resources: [\"*\"],\n }],\n});\nconst pRolePolicy = new aws.iam.RolePolicy(\"p\", {\n name: \"my-awsconfig-policy\",\n role: rRole.id,\n policy: p.then(p =\u003e p.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"config.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nr_role = aws.iam.Role(\"r\",\n name=\"my-awsconfig-role\",\n assume_role_policy=assume_role.json)\nfoo = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r_role.arn)\nr = aws.cfg.Rule(\"r\",\n name=\"example\",\n source={\n \"owner\": \"AWS\",\n \"source_identifier\": \"S3_BUCKET_VERSIONING_ENABLED\",\n },\n opts = pulumi.ResourceOptions(depends_on=[foo]))\np = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"config:Put*\"],\n \"resources\": [\"*\"],\n}])\np_role_policy = aws.iam.RolePolicy(\"p\",\n name=\"my-awsconfig-policy\",\n role=r_role.id,\n policy=p.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var rRole = new Aws.Iam.Role(\"r\", new()\n {\n Name = \"my-awsconfig-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = rRole.Arn,\n });\n\n var r = new Aws.Cfg.Rule(\"r\", new()\n {\n Name = \"example\",\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"AWS\",\n SourceIdentifier = \"S3_BUCKET_VERSIONING_ENABLED\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n foo,\n },\n });\n\n var p = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"config:Put*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var pRolePolicy = new Aws.Iam.RolePolicy(\"p\", new()\n {\n Name = \"my-awsconfig-policy\",\n Role = rRole.Id,\n Policy = p.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trRole, err := iam.NewRole(ctx, \"r\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"my-awsconfig-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: rRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRule(ctx, \"r\", \u0026cfg.RuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\tSourceIdentifier: pulumi.String(\"S3_BUCKET_VERSIONING_ENABLED\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfoo,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tp, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"config:Put*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"p\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"my-awsconfig-policy\"),\n\t\t\tRole: rRole.ID(),\n\t\t\tPolicy: pulumi.String(p.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var rRole = new Role(\"rRole\", RoleArgs.builder()\n .name(\"my-awsconfig-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var foo = new Recorder(\"foo\", RecorderArgs.builder()\n .name(\"example\")\n .roleArn(rRole.arn())\n .build());\n\n var r = new Rule(\"r\", RuleArgs.builder()\n .name(\"example\")\n .source(RuleSourceArgs.builder()\n .owner(\"AWS\")\n .sourceIdentifier(\"S3_BUCKET_VERSIONING_ENABLED\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(foo)\n .build());\n\n final var p = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"config:Put*\")\n .resources(\"*\")\n .build())\n .build());\n\n var pRolePolicy = new RolePolicy(\"pRolePolicy\", RolePolicyArgs.builder()\n .name(\"my-awsconfig-policy\")\n .role(rRole.id())\n .policy(p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n r:\n type: aws:cfg:Rule\n properties:\n name: example\n source:\n owner: AWS\n sourceIdentifier: S3_BUCKET_VERSIONING_ENABLED\n options:\n dependsOn:\n - ${foo}\n foo:\n type: aws:cfg:Recorder\n properties:\n name: example\n roleArn: ${rRole.arn}\n rRole:\n type: aws:iam:Role\n name: r\n properties:\n name: my-awsconfig-role\n assumeRolePolicy: ${assumeRole.json}\n pRolePolicy:\n type: aws:iam:RolePolicy\n name: p\n properties:\n name: my-awsconfig-policy\n role: ${rRole.id}\n policy: ${p.json}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n p:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - config:Put*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Rules\n\nCustom rules can be used by setting the source owner to `CUSTOM_LAMBDA` and the source identifier to the Amazon Resource Name (ARN) of the Lambda Function. The AWS Config service must have permissions to invoke the Lambda Function, e.g., via the `aws.lambda.Permission` resource. More information about custom rules can be found in the [AWS Config Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.Recorder(\"example\", {});\nconst exampleFunction = new aws.lambda.Function(\"example\", {});\nconst examplePermission = new aws.lambda.Permission(\"example\", {\n action: \"lambda:InvokeFunction\",\n \"function\": exampleFunction.arn,\n principal: \"config.amazonaws.com\",\n statementId: \"AllowExecutionFromConfig\",\n});\nconst exampleRule = new aws.cfg.Rule(\"example\", {source: {\n owner: \"CUSTOM_LAMBDA\",\n sourceIdentifier: exampleFunction.arn,\n}}, {\n dependsOn: [\n example,\n examplePermission,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.Recorder(\"example\")\nexample_function = aws.lambda_.Function(\"example\")\nexample_permission = aws.lambda_.Permission(\"example\",\n action=\"lambda:InvokeFunction\",\n function=example_function.arn,\n principal=\"config.amazonaws.com\",\n statement_id=\"AllowExecutionFromConfig\")\nexample_rule = aws.cfg.Rule(\"example\", source={\n \"owner\": \"CUSTOM_LAMBDA\",\n \"source_identifier\": example_function.arn,\n},\nopts = pulumi.ResourceOptions(depends_on=[\n example,\n example_permission,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.Recorder(\"example\");\n\n var exampleFunction = new Aws.Lambda.Function(\"example\");\n\n var examplePermission = new Aws.Lambda.Permission(\"example\", new()\n {\n Action = \"lambda:InvokeFunction\",\n Function = exampleFunction.Arn,\n Principal = \"config.amazonaws.com\",\n StatementId = \"AllowExecutionFromConfig\",\n });\n\n var exampleRule = new Aws.Cfg.Rule(\"example\", new()\n {\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"CUSTOM_LAMBDA\",\n SourceIdentifier = exampleFunction.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n examplePermission,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cfg.NewRecorder(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFunction, err := lambda.NewFunction(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermission, err := lambda.NewPermission(ctx, \"example\", \u0026lambda.PermissionArgs{\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: exampleFunction.Arn,\n\t\t\tPrincipal: pulumi.String(\"config.amazonaws.com\"),\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromConfig\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRule(ctx, \"example\", \u0026cfg.RuleArgs{\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"CUSTOM_LAMBDA\"),\n\t\t\t\tSourceIdentifier: exampleFunction.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t\texamplePermission,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Recorder(\"example\");\n\n var exampleFunction = new Function(\"exampleFunction\");\n\n var examplePermission = new Permission(\"examplePermission\", PermissionArgs.builder()\n .action(\"lambda:InvokeFunction\")\n .function(exampleFunction.arn())\n .principal(\"config.amazonaws.com\")\n .statementId(\"AllowExecutionFromConfig\")\n .build());\n\n var exampleRule = new Rule(\"exampleRule\", RuleArgs.builder()\n .source(RuleSourceArgs.builder()\n .owner(\"CUSTOM_LAMBDA\")\n .sourceIdentifier(exampleFunction.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n example,\n examplePermission)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:Recorder\n exampleFunction:\n type: aws:lambda:Function\n name: example\n examplePermission:\n type: aws:lambda:Permission\n name: example\n properties:\n action: lambda:InvokeFunction\n function: ${exampleFunction.arn}\n principal: config.amazonaws.com\n statementId: AllowExecutionFromConfig\n exampleRule:\n type: aws:cfg:Rule\n name: example\n properties:\n source:\n owner: CUSTOM_LAMBDA\n sourceIdentifier: ${exampleFunction.arn}\n options:\n dependsOn:\n - ${example}\n - ${examplePermission}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Policies\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.Rule(\"example\", {\n name: \"example\",\n source: {\n owner: \"CUSTOM_POLICY\",\n sourceDetails: [{\n messageType: \"ConfigurationItemChangeNotification\",\n }],\n customPolicyDetails: {\n policyRuntime: \"guard-2.x.x\",\n policyText: `\\x09 rule tableisactive when\n\\x09\\x09 resourceType == \"AWS::DynamoDB::Table\" {\n\\x09\\x09 configuration.tableStatus == ['ACTIVE']\n\\x09 }\n\\x09 \n\\x09 rule checkcompliance when\n\\x09\\x09 resourceType == \"AWS::DynamoDB::Table\"\n\\x09\\x09 tableisactive {\n\\x09\\x09\\x09 supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\\x09 }\n`,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.Rule(\"example\",\n name=\"example\",\n source={\n \"owner\": \"CUSTOM_POLICY\",\n \"source_details\": [{\n \"message_type\": \"ConfigurationItemChangeNotification\",\n }],\n \"custom_policy_details\": {\n \"policy_runtime\": \"guard-2.x.x\",\n \"policy_text\": \"\"\"\\x09 rule tableisactive when\n\\x09\\x09 resourceType == \"AWS::DynamoDB::Table\" {\n\\x09\\x09 configuration.tableStatus == ['ACTIVE']\n\\x09 }\n\\x09 \n\\x09 rule checkcompliance when\n\\x09\\x09 resourceType == \"AWS::DynamoDB::Table\"\n\\x09\\x09 tableisactive {\n\\x09\\x09\\x09 supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\\x09 }\n\"\"\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.Rule(\"example\", new()\n {\n Name = \"example\",\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"CUSTOM_POLICY\",\n SourceDetails = new[]\n {\n new Aws.Cfg.Inputs.RuleSourceSourceDetailArgs\n {\n MessageType = \"ConfigurationItemChangeNotification\",\n },\n },\n CustomPolicyDetails = new Aws.Cfg.Inputs.RuleSourceCustomPolicyDetailsArgs\n {\n PolicyRuntime = \"guard-2.x.x\",\n PolicyText = @\"\t rule tableisactive when\n\t\t resourceType == \"\"AWS::DynamoDB::Table\"\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"\"AWS::DynamoDB::Table\"\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"\"ENABLED\"\"\n\t }\n\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\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 := cfg.NewRule(ctx, \"example\", \u0026cfg.RuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"CUSTOM_POLICY\"),\n\t\t\t\tSourceDetails: cfg.RuleSourceSourceDetailArray{\n\t\t\t\t\t\u0026cfg.RuleSourceSourceDetailArgs{\n\t\t\t\t\t\tMessageType: pulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCustomPolicyDetails: \u0026cfg.RuleSourceCustomPolicyDetailsArgs{\n\t\t\t\t\tPolicyRuntime: pulumi.String(\"guard-2.x.x\"),\n\t\t\t\t\tPolicyText: pulumi.String(`\t rule tableisactive when\n\t\t resourceType == \"AWS::DynamoDB::Table\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"AWS::DynamoDB::Table\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\t }\n`),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceCustomPolicyDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Rule(\"example\", RuleArgs.builder()\n .name(\"example\")\n .source(RuleSourceArgs.builder()\n .owner(\"CUSTOM_POLICY\")\n .sourceDetails(RuleSourceSourceDetailArgs.builder()\n .messageType(\"ConfigurationItemChangeNotification\")\n .build())\n .customPolicyDetails(RuleSourceCustomPolicyDetailsArgs.builder()\n .policyRuntime(\"guard-2.x.x\")\n .policyText(\"\"\"\n\t rule tableisactive when\n\t\t resourceType == \"AWS::DynamoDB::Table\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"AWS::DynamoDB::Table\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\t }\n \"\"\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:Rule\n properties:\n name: example\n source:\n owner: CUSTOM_POLICY\n sourceDetails:\n - messageType: ConfigurationItemChangeNotification\n customPolicyDetails:\n policyRuntime: guard-2.x.x\n policyText: \"\\t rule tableisactive when\\n\\t\\t resourceType == \\\"AWS::DynamoDB::Table\\\" {\\n\\t\\t configuration.tableStatus == ['ACTIVE']\\n\\t }\\n\\t \\n\\t rule checkcompliance when\\n\\t\\t resourceType == \\\"AWS::DynamoDB::Table\\\"\\n\\t\\t tableisactive {\\n\\t\\t\\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \\\"ENABLED\\\"\\n\\t }\\n\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Rule using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/rule:Rule foo example\n```\n", + "description": "Provides an AWS Config Rule.\n\n\u003e **Note:** Config Rule requires an existing Configuration Recorder to be present. Use of `depends_on` is recommended (as shown below) to avoid race conditions.\n\n## Example Usage\n\n### AWS Managed Rules\n\nAWS managed rules can be used by setting the source owner to `AWS` and the source identifier to the name of the managed rule. More information about AWS managed rules can be found in the [AWS Config Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst rRole = new aws.iam.Role(\"r\", {\n name: \"my-awsconfig-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst foo = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: rRole.arn,\n});\nconst r = new aws.cfg.Rule(\"r\", {\n name: \"example\",\n source: {\n owner: \"AWS\",\n sourceIdentifier: \"S3_BUCKET_VERSIONING_ENABLED\",\n },\n}, {\n dependsOn: [foo],\n});\nconst p = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"config:Put*\"],\n resources: [\"*\"],\n }],\n});\nconst pRolePolicy = new aws.iam.RolePolicy(\"p\", {\n name: \"my-awsconfig-policy\",\n role: rRole.id,\n policy: p.then(p =\u003e p.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"config.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nr_role = aws.iam.Role(\"r\",\n name=\"my-awsconfig-role\",\n assume_role_policy=assume_role.json)\nfoo = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r_role.arn)\nr = aws.cfg.Rule(\"r\",\n name=\"example\",\n source={\n \"owner\": \"AWS\",\n \"source_identifier\": \"S3_BUCKET_VERSIONING_ENABLED\",\n },\n opts = pulumi.ResourceOptions(depends_on=[foo]))\np = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"config:Put*\"],\n \"resources\": [\"*\"],\n}])\np_role_policy = aws.iam.RolePolicy(\"p\",\n name=\"my-awsconfig-policy\",\n role=r_role.id,\n policy=p.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var rRole = new Aws.Iam.Role(\"r\", new()\n {\n Name = \"my-awsconfig-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = rRole.Arn,\n });\n\n var r = new Aws.Cfg.Rule(\"r\", new()\n {\n Name = \"example\",\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"AWS\",\n SourceIdentifier = \"S3_BUCKET_VERSIONING_ENABLED\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n foo,\n },\n });\n\n var p = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"config:Put*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var pRolePolicy = new Aws.Iam.RolePolicy(\"p\", new()\n {\n Name = \"my-awsconfig-policy\",\n Role = rRole.Id,\n Policy = p.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trRole, err := iam.NewRole(ctx, \"r\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"my-awsconfig-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: rRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRule(ctx, \"r\", \u0026cfg.RuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\tSourceIdentifier: pulumi.String(\"S3_BUCKET_VERSIONING_ENABLED\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfoo,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tp, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"config:Put*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"p\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"my-awsconfig-policy\"),\n\t\t\tRole: rRole.ID(),\n\t\t\tPolicy: pulumi.String(p.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var rRole = new Role(\"rRole\", RoleArgs.builder()\n .name(\"my-awsconfig-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var foo = new Recorder(\"foo\", RecorderArgs.builder()\n .name(\"example\")\n .roleArn(rRole.arn())\n .build());\n\n var r = new Rule(\"r\", RuleArgs.builder()\n .name(\"example\")\n .source(RuleSourceArgs.builder()\n .owner(\"AWS\")\n .sourceIdentifier(\"S3_BUCKET_VERSIONING_ENABLED\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(foo)\n .build());\n\n final var p = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"config:Put*\")\n .resources(\"*\")\n .build())\n .build());\n\n var pRolePolicy = new RolePolicy(\"pRolePolicy\", RolePolicyArgs.builder()\n .name(\"my-awsconfig-policy\")\n .role(rRole.id())\n .policy(p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n r:\n type: aws:cfg:Rule\n properties:\n name: example\n source:\n owner: AWS\n sourceIdentifier: S3_BUCKET_VERSIONING_ENABLED\n options:\n dependson:\n - ${foo}\n foo:\n type: aws:cfg:Recorder\n properties:\n name: example\n roleArn: ${rRole.arn}\n rRole:\n type: aws:iam:Role\n name: r\n properties:\n name: my-awsconfig-role\n assumeRolePolicy: ${assumeRole.json}\n pRolePolicy:\n type: aws:iam:RolePolicy\n name: p\n properties:\n name: my-awsconfig-policy\n role: ${rRole.id}\n policy: ${p.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n p:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - config:Put*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Rules\n\nCustom rules can be used by setting the source owner to `CUSTOM_LAMBDA` and the source identifier to the Amazon Resource Name (ARN) of the Lambda Function. The AWS Config service must have permissions to invoke the Lambda Function, e.g., via the `aws.lambda.Permission` resource. More information about custom rules can be found in the [AWS Config Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.Recorder(\"example\", {});\nconst exampleFunction = new aws.lambda.Function(\"example\", {});\nconst examplePermission = new aws.lambda.Permission(\"example\", {\n action: \"lambda:InvokeFunction\",\n \"function\": exampleFunction.arn,\n principal: \"config.amazonaws.com\",\n statementId: \"AllowExecutionFromConfig\",\n});\nconst exampleRule = new aws.cfg.Rule(\"example\", {source: {\n owner: \"CUSTOM_LAMBDA\",\n sourceIdentifier: exampleFunction.arn,\n}}, {\n dependsOn: [\n example,\n examplePermission,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.Recorder(\"example\")\nexample_function = aws.lambda_.Function(\"example\")\nexample_permission = aws.lambda_.Permission(\"example\",\n action=\"lambda:InvokeFunction\",\n function=example_function.arn,\n principal=\"config.amazonaws.com\",\n statement_id=\"AllowExecutionFromConfig\")\nexample_rule = aws.cfg.Rule(\"example\", source={\n \"owner\": \"CUSTOM_LAMBDA\",\n \"source_identifier\": example_function.arn,\n},\nopts = pulumi.ResourceOptions(depends_on=[\n example,\n example_permission,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.Recorder(\"example\");\n\n var exampleFunction = new Aws.Lambda.Function(\"example\");\n\n var examplePermission = new Aws.Lambda.Permission(\"example\", new()\n {\n Action = \"lambda:InvokeFunction\",\n Function = exampleFunction.Arn,\n Principal = \"config.amazonaws.com\",\n StatementId = \"AllowExecutionFromConfig\",\n });\n\n var exampleRule = new Aws.Cfg.Rule(\"example\", new()\n {\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"CUSTOM_LAMBDA\",\n SourceIdentifier = exampleFunction.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n examplePermission,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cfg.NewRecorder(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFunction, err := lambda.NewFunction(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermission, err := lambda.NewPermission(ctx, \"example\", \u0026lambda.PermissionArgs{\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: exampleFunction.Arn,\n\t\t\tPrincipal: pulumi.String(\"config.amazonaws.com\"),\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromConfig\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRule(ctx, \"example\", \u0026cfg.RuleArgs{\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"CUSTOM_LAMBDA\"),\n\t\t\t\tSourceIdentifier: exampleFunction.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t\texamplePermission,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Recorder(\"example\");\n\n var exampleFunction = new Function(\"exampleFunction\");\n\n var examplePermission = new Permission(\"examplePermission\", PermissionArgs.builder()\n .action(\"lambda:InvokeFunction\")\n .function(exampleFunction.arn())\n .principal(\"config.amazonaws.com\")\n .statementId(\"AllowExecutionFromConfig\")\n .build());\n\n var exampleRule = new Rule(\"exampleRule\", RuleArgs.builder()\n .source(RuleSourceArgs.builder()\n .owner(\"CUSTOM_LAMBDA\")\n .sourceIdentifier(exampleFunction.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n example,\n examplePermission)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:Recorder\n exampleFunction:\n type: aws:lambda:Function\n name: example\n examplePermission:\n type: aws:lambda:Permission\n name: example\n properties:\n action: lambda:InvokeFunction\n function: ${exampleFunction.arn}\n principal: config.amazonaws.com\n statementId: AllowExecutionFromConfig\n exampleRule:\n type: aws:cfg:Rule\n name: example\n properties:\n source:\n owner: CUSTOM_LAMBDA\n sourceIdentifier: ${exampleFunction.arn}\n options:\n dependson:\n - ${example}\n - ${examplePermission}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Policies\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.Rule(\"example\", {\n name: \"example\",\n source: {\n owner: \"CUSTOM_POLICY\",\n sourceDetails: [{\n messageType: \"ConfigurationItemChangeNotification\",\n }],\n customPolicyDetails: {\n policyRuntime: \"guard-2.x.x\",\n policyText: `\\x09 rule tableisactive when\n\\x09\\x09 resourceType == \"AWS::DynamoDB::Table\" {\n\\x09\\x09 configuration.tableStatus == ['ACTIVE']\n\\x09 }\n\\x09 \n\\x09 rule checkcompliance when\n\\x09\\x09 resourceType == \"AWS::DynamoDB::Table\"\n\\x09\\x09 tableisactive {\n\\x09\\x09\\x09 supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\\x09 }\n`,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.Rule(\"example\",\n name=\"example\",\n source={\n \"owner\": \"CUSTOM_POLICY\",\n \"source_details\": [{\n \"message_type\": \"ConfigurationItemChangeNotification\",\n }],\n \"custom_policy_details\": {\n \"policy_runtime\": \"guard-2.x.x\",\n \"policy_text\": \"\"\"\\x09 rule tableisactive when\n\\x09\\x09 resourceType == \"AWS::DynamoDB::Table\" {\n\\x09\\x09 configuration.tableStatus == ['ACTIVE']\n\\x09 }\n\\x09 \n\\x09 rule checkcompliance when\n\\x09\\x09 resourceType == \"AWS::DynamoDB::Table\"\n\\x09\\x09 tableisactive {\n\\x09\\x09\\x09 supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\\x09 }\n\"\"\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.Rule(\"example\", new()\n {\n Name = \"example\",\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"CUSTOM_POLICY\",\n SourceDetails = new[]\n {\n new Aws.Cfg.Inputs.RuleSourceSourceDetailArgs\n {\n MessageType = \"ConfigurationItemChangeNotification\",\n },\n },\n CustomPolicyDetails = new Aws.Cfg.Inputs.RuleSourceCustomPolicyDetailsArgs\n {\n PolicyRuntime = \"guard-2.x.x\",\n PolicyText = @\"\t rule tableisactive when\n\t\t resourceType == \"\"AWS::DynamoDB::Table\"\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"\"AWS::DynamoDB::Table\"\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"\"ENABLED\"\"\n\t }\n\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\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 := cfg.NewRule(ctx, \"example\", \u0026cfg.RuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"CUSTOM_POLICY\"),\n\t\t\t\tSourceDetails: cfg.RuleSourceSourceDetailArray{\n\t\t\t\t\t\u0026cfg.RuleSourceSourceDetailArgs{\n\t\t\t\t\t\tMessageType: pulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCustomPolicyDetails: \u0026cfg.RuleSourceCustomPolicyDetailsArgs{\n\t\t\t\t\tPolicyRuntime: pulumi.String(\"guard-2.x.x\"),\n\t\t\t\t\tPolicyText: pulumi.String(`\t rule tableisactive when\n\t\t resourceType == \"AWS::DynamoDB::Table\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"AWS::DynamoDB::Table\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\t }\n`),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceCustomPolicyDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Rule(\"example\", RuleArgs.builder()\n .name(\"example\")\n .source(RuleSourceArgs.builder()\n .owner(\"CUSTOM_POLICY\")\n .sourceDetails(RuleSourceSourceDetailArgs.builder()\n .messageType(\"ConfigurationItemChangeNotification\")\n .build())\n .customPolicyDetails(RuleSourceCustomPolicyDetailsArgs.builder()\n .policyRuntime(\"guard-2.x.x\")\n .policyText(\"\"\"\n\t rule tableisactive when\n\t\t resourceType == \"AWS::DynamoDB::Table\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"AWS::DynamoDB::Table\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\t }\n \"\"\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:Rule\n properties:\n name: example\n source:\n owner: CUSTOM_POLICY\n sourceDetails:\n - messageType: ConfigurationItemChangeNotification\n customPolicyDetails:\n policyRuntime: guard-2.x.x\n policyText: \"\\t rule tableisactive when\\n\\t\\t resourceType == \\\"AWS::DynamoDB::Table\\\" {\\n\\t\\t configuration.tableStatus == ['ACTIVE']\\n\\t }\\n\\t \\n\\t rule checkcompliance when\\n\\t\\t resourceType == \\\"AWS::DynamoDB::Table\\\"\\n\\t\\t tableisactive {\\n\\t\\t\\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \\\"ENABLED\\\"\\n\\t }\\n\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Rule using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/rule:Rule foo example\n```\n", "properties": { "arn": { "type": "string", @@ -198312,7 +198312,7 @@ } }, "aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming": { - "description": "Adds a streaming configuration for the specified Amazon Chime Voice Connector. The streaming configuration specifies whether media streaming is enabled for sending to Amazon Kinesis.\nIt also sets the retention period, in hours, for the Amazon Kinesis data.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.chime.VoiceConnector(\"default\", {\n name: \"vc-name-test\",\n requireEncryption: true,\n});\nconst defaultVoiceConnectorStreaming = new aws.chime.VoiceConnectorStreaming(\"default\", {\n disabled: false,\n voiceConnectorId: _default.id,\n dataRetention: 7,\n streamingNotificationTargets: [\"SQS\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.chime.VoiceConnector(\"default\",\n name=\"vc-name-test\",\n require_encryption=True)\ndefault_voice_connector_streaming = aws.chime.VoiceConnectorStreaming(\"default\",\n disabled=False,\n voice_connector_id=default.id,\n data_retention=7,\n streaming_notification_targets=[\"SQS\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Chime.VoiceConnector(\"default\", new()\n {\n Name = \"vc-name-test\",\n RequireEncryption = true,\n });\n\n var defaultVoiceConnectorStreaming = new Aws.Chime.VoiceConnectorStreaming(\"default\", new()\n {\n Disabled = false,\n VoiceConnectorId = @default.Id,\n DataRetention = 7,\n StreamingNotificationTargets = new[]\n {\n \"SQS\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\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 := chime.NewVoiceConnector(ctx, \"default\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"vc-name-test\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chime.NewVoiceConnectorStreaming(ctx, \"default\", \u0026chime.VoiceConnectorStreamingArgs{\n\t\t\tDisabled: pulumi.Bool(false),\n\t\t\tVoiceConnectorId: _default.ID(),\n\t\t\tDataRetention: pulumi.Int(7),\n\t\t\tStreamingNotificationTargets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SQS\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.chime.VoiceConnectorStreaming;\nimport com.pulumi.aws.chime.VoiceConnectorStreamingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new VoiceConnector(\"default\", VoiceConnectorArgs.builder()\n .name(\"vc-name-test\")\n .requireEncryption(true)\n .build());\n\n var defaultVoiceConnectorStreaming = new VoiceConnectorStreaming(\"defaultVoiceConnectorStreaming\", VoiceConnectorStreamingArgs.builder()\n .disabled(false)\n .voiceConnectorId(default_.id())\n .dataRetention(7)\n .streamingNotificationTargets(\"SQS\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:chime:VoiceConnector\n properties:\n name: vc-name-test\n requireEncryption: true\n defaultVoiceConnectorStreaming:\n type: aws:chime:VoiceConnectorStreaming\n name: default\n properties:\n disabled: false\n voiceConnectorId: ${default.id}\n dataRetention: 7\n streamingNotificationTargets:\n - SQS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Usage With Media Insights\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.chime.VoiceConnector(\"default\", {\n name: \"vc-name-test\",\n requireEncryption: true,\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"mediapipelines.chime.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"ExampleResourceAccessRole\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleStream = new aws.kinesis.Stream(\"example\", {\n name: \"ExampleStream\",\n shardCount: 2,\n});\nconst example = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"example\", {\n name: \"ExampleConfig\",\n resourceAccessRoleArn: exampleRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeCallAnalyticsProcessor\",\n amazonTranscribeCallAnalyticsProcessorConfiguration: {\n languageCode: \"en-US\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: exampleStream.arn,\n },\n },\n ],\n});\nconst defaultVoiceConnectorStreaming = new aws.chime.VoiceConnectorStreaming(\"default\", {\n disabled: false,\n voiceConnectorId: _default.id,\n dataRetention: 7,\n streamingNotificationTargets: [\"SQS\"],\n mediaInsightsConfiguration: {\n disabled: false,\n configurationArn: example.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.chime.VoiceConnector(\"default\",\n name=\"vc-name-test\",\n require_encryption=True)\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"mediapipelines.chime.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"ExampleResourceAccessRole\",\n assume_role_policy=assume_role.json)\nexample_stream = aws.kinesis.Stream(\"example\",\n name=\"ExampleStream\",\n shard_count=2)\nexample = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"example\",\n name=\"ExampleConfig\",\n resource_access_role_arn=example_role.arn,\n elements=[\n {\n \"type\": \"AmazonTranscribeCallAnalyticsProcessor\",\n \"amazon_transcribe_call_analytics_processor_configuration\": {\n \"language_code\": \"en-US\",\n },\n },\n {\n \"type\": \"KinesisDataStreamSink\",\n \"kinesis_data_stream_sink_configuration\": {\n \"insights_target\": example_stream.arn,\n },\n },\n ])\ndefault_voice_connector_streaming = aws.chime.VoiceConnectorStreaming(\"default\",\n disabled=False,\n voice_connector_id=default.id,\n data_retention=7,\n streaming_notification_targets=[\"SQS\"],\n media_insights_configuration={\n \"disabled\": False,\n \"configuration_arn\": example.arn,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Chime.VoiceConnector(\"default\", new()\n {\n Name = \"vc-name-test\",\n RequireEncryption = true,\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"mediapipelines.chime.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"ExampleResourceAccessRole\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleStream = new Aws.Kinesis.Stream(\"example\", new()\n {\n Name = \"ExampleStream\",\n ShardCount = 2,\n });\n\n var example = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"example\", new()\n {\n Name = \"ExampleConfig\",\n ResourceAccessRoleArn = exampleRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeCallAnalyticsProcessor\",\n AmazonTranscribeCallAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs\n {\n LanguageCode = \"en-US\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = exampleStream.Arn,\n },\n },\n },\n });\n\n var defaultVoiceConnectorStreaming = new Aws.Chime.VoiceConnectorStreaming(\"default\", new()\n {\n Disabled = false,\n VoiceConnectorId = @default.Id,\n DataRetention = 7,\n StreamingNotificationTargets = new[]\n {\n \"SQS\",\n },\n MediaInsightsConfiguration = new Aws.Chime.Inputs.VoiceConnectorStreamingMediaInsightsConfigurationArgs\n {\n Disabled = false,\n ConfigurationArn = example.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := chime.NewVoiceConnector(ctx, \"default\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"vc-name-test\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"mediapipelines.chime.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"ExampleResourceAccessRole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStream, err := kinesis.NewStream(ctx, \"example\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"ExampleStream\"),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"example\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"ExampleConfig\"),\n\t\t\tResourceAccessRoleArn: exampleRole.Arn,\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeCallAnalyticsProcessor\"),\n\t\t\t\t\tAmazonTranscribeCallAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: exampleStream.Arn,\n\t\t\t\t\t},\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\t_, err = chime.NewVoiceConnectorStreaming(ctx, \"default\", \u0026chime.VoiceConnectorStreamingArgs{\n\t\t\tDisabled: pulumi.Bool(false),\n\t\t\tVoiceConnectorId: _default.ID(),\n\t\t\tDataRetention: pulumi.Int(7),\n\t\t\tStreamingNotificationTargets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SQS\"),\n\t\t\t},\n\t\t\tMediaInsightsConfiguration: \u0026chime.VoiceConnectorStreamingMediaInsightsConfigurationArgs{\n\t\t\t\tDisabled: pulumi.Bool(false),\n\t\t\t\tConfigurationArn: example.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport com.pulumi.aws.chime.VoiceConnectorStreaming;\nimport com.pulumi.aws.chime.VoiceConnectorStreamingArgs;\nimport com.pulumi.aws.chime.inputs.VoiceConnectorStreamingMediaInsightsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new VoiceConnector(\"default\", VoiceConnectorArgs.builder()\n .name(\"vc-name-test\")\n .requireEncryption(true)\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"mediapipelines.chime.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"ExampleResourceAccessRole\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleStream = new Stream(\"exampleStream\", StreamArgs.builder()\n .name(\"ExampleStream\")\n .shardCount(2)\n .build());\n\n var example = new MediaInsightsPipelineConfiguration(\"example\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"ExampleConfig\")\n .resourceAccessRoleArn(exampleRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeCallAnalyticsProcessor\")\n .amazonTranscribeCallAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs.builder()\n .languageCode(\"en-US\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(exampleStream.arn())\n .build())\n .build())\n .build());\n\n var defaultVoiceConnectorStreaming = new VoiceConnectorStreaming(\"defaultVoiceConnectorStreaming\", VoiceConnectorStreamingArgs.builder()\n .disabled(false)\n .voiceConnectorId(default_.id())\n .dataRetention(7)\n .streamingNotificationTargets(\"SQS\")\n .mediaInsightsConfiguration(VoiceConnectorStreamingMediaInsightsConfigurationArgs.builder()\n .disabled(false)\n .configurationArn(example.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:chime:VoiceConnector\n properties:\n name: vc-name-test\n requireEncryption: true\n defaultVoiceConnectorStreaming:\n type: aws:chime:VoiceConnectorStreaming\n name: default\n properties:\n disabled: false\n voiceConnectorId: ${default.id}\n dataRetention: 7\n streamingNotificationTargets:\n - SQS\n mediaInsightsConfiguration:\n disabled: false\n configurationArn: ${example.arn}\n example:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n properties:\n name: ExampleConfig\n resourceAccessRoleArn: ${exampleRole.arn}\n elements:\n - type: AmazonTranscribeCallAnalyticsProcessor\n amazonTranscribeCallAnalyticsProcessorConfiguration:\n languageCode: en-US\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${exampleStream.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: ExampleResourceAccessRole\n assumeRolePolicy: ${assumeRole.json}\n exampleStream:\n type: aws:kinesis:Stream\n name: example\n properties:\n name: ExampleStream\n shardCount: 2\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - mediapipelines.chime.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Chime Voice Connector Streaming using the `voice_connector_id`. For example:\n\n```sh\n$ pulumi import aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming default abcdef1ghij2klmno3pqr4\n```\n", + "description": "Adds a streaming configuration for the specified Amazon Chime Voice Connector. The streaming configuration specifies whether media streaming is enabled for sending to Amazon Kinesis.\nIt also sets the retention period, in hours, for the Amazon Kinesis data.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.chime.VoiceConnector(\"default\", {\n name: \"vc-name-test\",\n requireEncryption: true,\n});\nconst defaultVoiceConnectorStreaming = new aws.chime.VoiceConnectorStreaming(\"default\", {\n disabled: false,\n voiceConnectorId: _default.id,\n dataRetention: 7,\n streamingNotificationTargets: [\"SQS\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.chime.VoiceConnector(\"default\",\n name=\"vc-name-test\",\n require_encryption=True)\ndefault_voice_connector_streaming = aws.chime.VoiceConnectorStreaming(\"default\",\n disabled=False,\n voice_connector_id=default.id,\n data_retention=7,\n streaming_notification_targets=[\"SQS\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Chime.VoiceConnector(\"default\", new()\n {\n Name = \"vc-name-test\",\n RequireEncryption = true,\n });\n\n var defaultVoiceConnectorStreaming = new Aws.Chime.VoiceConnectorStreaming(\"default\", new()\n {\n Disabled = false,\n VoiceConnectorId = @default.Id,\n DataRetention = 7,\n StreamingNotificationTargets = new[]\n {\n \"SQS\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\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 := chime.NewVoiceConnector(ctx, \"default\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"vc-name-test\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chime.NewVoiceConnectorStreaming(ctx, \"default\", \u0026chime.VoiceConnectorStreamingArgs{\n\t\t\tDisabled: pulumi.Bool(false),\n\t\t\tVoiceConnectorId: _default.ID(),\n\t\t\tDataRetention: pulumi.Int(7),\n\t\t\tStreamingNotificationTargets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SQS\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.chime.VoiceConnectorStreaming;\nimport com.pulumi.aws.chime.VoiceConnectorStreamingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new VoiceConnector(\"default\", VoiceConnectorArgs.builder()\n .name(\"vc-name-test\")\n .requireEncryption(true)\n .build());\n\n var defaultVoiceConnectorStreaming = new VoiceConnectorStreaming(\"defaultVoiceConnectorStreaming\", VoiceConnectorStreamingArgs.builder()\n .disabled(false)\n .voiceConnectorId(default_.id())\n .dataRetention(7)\n .streamingNotificationTargets(\"SQS\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:chime:VoiceConnector\n properties:\n name: vc-name-test\n requireEncryption: true\n defaultVoiceConnectorStreaming:\n type: aws:chime:VoiceConnectorStreaming\n name: default\n properties:\n disabled: false\n voiceConnectorId: ${default.id}\n dataRetention: 7\n streamingNotificationTargets:\n - SQS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Usage With Media Insights\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.chime.VoiceConnector(\"default\", {\n name: \"vc-name-test\",\n requireEncryption: true,\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"mediapipelines.chime.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"ExampleResourceAccessRole\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleStream = new aws.kinesis.Stream(\"example\", {\n name: \"ExampleStream\",\n shardCount: 2,\n});\nconst example = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"example\", {\n name: \"ExampleConfig\",\n resourceAccessRoleArn: exampleRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeCallAnalyticsProcessor\",\n amazonTranscribeCallAnalyticsProcessorConfiguration: {\n languageCode: \"en-US\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: exampleStream.arn,\n },\n },\n ],\n});\nconst defaultVoiceConnectorStreaming = new aws.chime.VoiceConnectorStreaming(\"default\", {\n disabled: false,\n voiceConnectorId: _default.id,\n dataRetention: 7,\n streamingNotificationTargets: [\"SQS\"],\n mediaInsightsConfiguration: {\n disabled: false,\n configurationArn: example.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.chime.VoiceConnector(\"default\",\n name=\"vc-name-test\",\n require_encryption=True)\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"mediapipelines.chime.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"ExampleResourceAccessRole\",\n assume_role_policy=assume_role.json)\nexample_stream = aws.kinesis.Stream(\"example\",\n name=\"ExampleStream\",\n shard_count=2)\nexample = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"example\",\n name=\"ExampleConfig\",\n resource_access_role_arn=example_role.arn,\n elements=[\n {\n \"type\": \"AmazonTranscribeCallAnalyticsProcessor\",\n \"amazon_transcribe_call_analytics_processor_configuration\": {\n \"language_code\": \"en-US\",\n },\n },\n {\n \"type\": \"KinesisDataStreamSink\",\n \"kinesis_data_stream_sink_configuration\": {\n \"insights_target\": example_stream.arn,\n },\n },\n ])\ndefault_voice_connector_streaming = aws.chime.VoiceConnectorStreaming(\"default\",\n disabled=False,\n voice_connector_id=default.id,\n data_retention=7,\n streaming_notification_targets=[\"SQS\"],\n media_insights_configuration={\n \"disabled\": False,\n \"configuration_arn\": example.arn,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Chime.VoiceConnector(\"default\", new()\n {\n Name = \"vc-name-test\",\n RequireEncryption = true,\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"mediapipelines.chime.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"ExampleResourceAccessRole\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleStream = new Aws.Kinesis.Stream(\"example\", new()\n {\n Name = \"ExampleStream\",\n ShardCount = 2,\n });\n\n var example = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"example\", new()\n {\n Name = \"ExampleConfig\",\n ResourceAccessRoleArn = exampleRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeCallAnalyticsProcessor\",\n AmazonTranscribeCallAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs\n {\n LanguageCode = \"en-US\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = exampleStream.Arn,\n },\n },\n },\n });\n\n var defaultVoiceConnectorStreaming = new Aws.Chime.VoiceConnectorStreaming(\"default\", new()\n {\n Disabled = false,\n VoiceConnectorId = @default.Id,\n DataRetention = 7,\n StreamingNotificationTargets = new[]\n {\n \"SQS\",\n },\n MediaInsightsConfiguration = new Aws.Chime.Inputs.VoiceConnectorStreamingMediaInsightsConfigurationArgs\n {\n Disabled = false,\n ConfigurationArn = example.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := chime.NewVoiceConnector(ctx, \"default\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"vc-name-test\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"mediapipelines.chime.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"ExampleResourceAccessRole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStream, err := kinesis.NewStream(ctx, \"example\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"ExampleStream\"),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"example\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"ExampleConfig\"),\n\t\t\tResourceAccessRoleArn: exampleRole.Arn,\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeCallAnalyticsProcessor\"),\n\t\t\t\t\tAmazonTranscribeCallAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: exampleStream.Arn,\n\t\t\t\t\t},\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\t_, err = chime.NewVoiceConnectorStreaming(ctx, \"default\", \u0026chime.VoiceConnectorStreamingArgs{\n\t\t\tDisabled: pulumi.Bool(false),\n\t\t\tVoiceConnectorId: _default.ID(),\n\t\t\tDataRetention: pulumi.Int(7),\n\t\t\tStreamingNotificationTargets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SQS\"),\n\t\t\t},\n\t\t\tMediaInsightsConfiguration: \u0026chime.VoiceConnectorStreamingMediaInsightsConfigurationArgs{\n\t\t\t\tDisabled: pulumi.Bool(false),\n\t\t\t\tConfigurationArn: example.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport com.pulumi.aws.chime.VoiceConnectorStreaming;\nimport com.pulumi.aws.chime.VoiceConnectorStreamingArgs;\nimport com.pulumi.aws.chime.inputs.VoiceConnectorStreamingMediaInsightsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new VoiceConnector(\"default\", VoiceConnectorArgs.builder()\n .name(\"vc-name-test\")\n .requireEncryption(true)\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"mediapipelines.chime.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"ExampleResourceAccessRole\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleStream = new Stream(\"exampleStream\", StreamArgs.builder()\n .name(\"ExampleStream\")\n .shardCount(2)\n .build());\n\n var example = new MediaInsightsPipelineConfiguration(\"example\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"ExampleConfig\")\n .resourceAccessRoleArn(exampleRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeCallAnalyticsProcessor\")\n .amazonTranscribeCallAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs.builder()\n .languageCode(\"en-US\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(exampleStream.arn())\n .build())\n .build())\n .build());\n\n var defaultVoiceConnectorStreaming = new VoiceConnectorStreaming(\"defaultVoiceConnectorStreaming\", VoiceConnectorStreamingArgs.builder()\n .disabled(false)\n .voiceConnectorId(default_.id())\n .dataRetention(7)\n .streamingNotificationTargets(\"SQS\")\n .mediaInsightsConfiguration(VoiceConnectorStreamingMediaInsightsConfigurationArgs.builder()\n .disabled(false)\n .configurationArn(example.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:chime:VoiceConnector\n properties:\n name: vc-name-test\n requireEncryption: true\n defaultVoiceConnectorStreaming:\n type: aws:chime:VoiceConnectorStreaming\n name: default\n properties:\n disabled: false\n voiceConnectorId: ${default.id}\n dataRetention: 7\n streamingNotificationTargets:\n - SQS\n mediaInsightsConfiguration:\n disabled: false\n configurationArn: ${example.arn}\n example:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n properties:\n name: ExampleConfig\n resourceAccessRoleArn: ${exampleRole.arn}\n elements:\n - type: AmazonTranscribeCallAnalyticsProcessor\n amazonTranscribeCallAnalyticsProcessorConfiguration:\n languageCode: en-US\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${exampleStream.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: ExampleResourceAccessRole\n assumeRolePolicy: ${assumeRole.json}\n exampleStream:\n type: aws:kinesis:Stream\n name: example\n properties:\n name: ExampleStream\n shardCount: 2\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - mediapipelines.chime.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Chime Voice Connector Streaming using the `voice_connector_id`. For example:\n\n```sh\n$ pulumi import aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming default abcdef1ghij2klmno3pqr4\n```\n", "properties": { "dataRetention": { "type": "integer", @@ -198519,7 +198519,7 @@ } }, "aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials": { - "description": "Adds termination SIP credentials for the specified Amazon Chime Voice Connector.\n\n\u003e **Note:** Voice Connector Termination Credentials requires a Voice Connector Termination to be present. Use of `depends_on` (as shown below) is recommended to avoid race conditions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.chime.VoiceConnector(\"default\", {\n name: \"test\",\n requireEncryption: true,\n});\nconst defaultVoiceConnectorTermination = new aws.chime.VoiceConnectorTermination(\"default\", {\n disabled: true,\n cpsLimit: 1,\n cidrAllowLists: [\"50.35.78.96/31\"],\n callingRegions: [\n \"US\",\n \"CA\",\n ],\n voiceConnectorId: _default.id,\n});\nconst defaultVoiceConnectorTerminationCredentials = new aws.chime.VoiceConnectorTerminationCredentials(\"default\", {\n voiceConnectorId: _default.id,\n credentials: [{\n username: \"test\",\n password: \"test!\",\n }],\n}, {\n dependsOn: [defaultVoiceConnectorTermination],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.chime.VoiceConnector(\"default\",\n name=\"test\",\n require_encryption=True)\ndefault_voice_connector_termination = aws.chime.VoiceConnectorTermination(\"default\",\n disabled=True,\n cps_limit=1,\n cidr_allow_lists=[\"50.35.78.96/31\"],\n calling_regions=[\n \"US\",\n \"CA\",\n ],\n voice_connector_id=default.id)\ndefault_voice_connector_termination_credentials = aws.chime.VoiceConnectorTerminationCredentials(\"default\",\n voice_connector_id=default.id,\n credentials=[{\n \"username\": \"test\",\n \"password\": \"test!\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[default_voice_connector_termination]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Chime.VoiceConnector(\"default\", new()\n {\n Name = \"test\",\n RequireEncryption = true,\n });\n\n var defaultVoiceConnectorTermination = new Aws.Chime.VoiceConnectorTermination(\"default\", new()\n {\n Disabled = true,\n CpsLimit = 1,\n CidrAllowLists = new[]\n {\n \"50.35.78.96/31\",\n },\n CallingRegions = new[]\n {\n \"US\",\n \"CA\",\n },\n VoiceConnectorId = @default.Id,\n });\n\n var defaultVoiceConnectorTerminationCredentials = new Aws.Chime.VoiceConnectorTerminationCredentials(\"default\", new()\n {\n VoiceConnectorId = @default.Id,\n Credentials = new[]\n {\n new Aws.Chime.Inputs.VoiceConnectorTerminationCredentialsCredentialArgs\n {\n Username = \"test\",\n Password = \"test!\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n defaultVoiceConnectorTermination,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\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 := chime.NewVoiceConnector(ctx, \"default\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVoiceConnectorTermination, err := chime.NewVoiceConnectorTermination(ctx, \"default\", \u0026chime.VoiceConnectorTerminationArgs{\n\t\t\tDisabled: pulumi.Bool(true),\n\t\t\tCpsLimit: pulumi.Int(1),\n\t\t\tCidrAllowLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"50.35.78.96/31\"),\n\t\t\t},\n\t\t\tCallingRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"US\"),\n\t\t\t\tpulumi.String(\"CA\"),\n\t\t\t},\n\t\t\tVoiceConnectorId: _default.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chime.NewVoiceConnectorTerminationCredentials(ctx, \"default\", \u0026chime.VoiceConnectorTerminationCredentialsArgs{\n\t\t\tVoiceConnectorId: _default.ID(),\n\t\t\tCredentials: chime.VoiceConnectorTerminationCredentialsCredentialArray{\n\t\t\t\t\u0026chime.VoiceConnectorTerminationCredentialsCredentialArgs{\n\t\t\t\t\tUsername: pulumi.String(\"test\"),\n\t\t\t\t\tPassword: pulumi.String(\"test!\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdefaultVoiceConnectorTermination,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.chime.VoiceConnectorTermination;\nimport com.pulumi.aws.chime.VoiceConnectorTerminationArgs;\nimport com.pulumi.aws.chime.VoiceConnectorTerminationCredentials;\nimport com.pulumi.aws.chime.VoiceConnectorTerminationCredentialsArgs;\nimport com.pulumi.aws.chime.inputs.VoiceConnectorTerminationCredentialsCredentialArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new VoiceConnector(\"default\", VoiceConnectorArgs.builder()\n .name(\"test\")\n .requireEncryption(true)\n .build());\n\n var defaultVoiceConnectorTermination = new VoiceConnectorTermination(\"defaultVoiceConnectorTermination\", VoiceConnectorTerminationArgs.builder()\n .disabled(true)\n .cpsLimit(1)\n .cidrAllowLists(\"50.35.78.96/31\")\n .callingRegions( \n \"US\",\n \"CA\")\n .voiceConnectorId(default_.id())\n .build());\n\n var defaultVoiceConnectorTerminationCredentials = new VoiceConnectorTerminationCredentials(\"defaultVoiceConnectorTerminationCredentials\", VoiceConnectorTerminationCredentialsArgs.builder()\n .voiceConnectorId(default_.id())\n .credentials(VoiceConnectorTerminationCredentialsCredentialArgs.builder()\n .username(\"test\")\n .password(\"test!\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(defaultVoiceConnectorTermination)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:chime:VoiceConnector\n properties:\n name: test\n requireEncryption: true\n defaultVoiceConnectorTermination:\n type: aws:chime:VoiceConnectorTermination\n name: default\n properties:\n disabled: true\n cpsLimit: 1\n cidrAllowLists:\n - 50.35.78.96/31\n callingRegions:\n - US\n - CA\n voiceConnectorId: ${default.id}\n defaultVoiceConnectorTerminationCredentials:\n type: aws:chime:VoiceConnectorTerminationCredentials\n name: default\n properties:\n voiceConnectorId: ${default.id}\n credentials:\n - username: test\n password: test!\n options:\n dependsOn:\n - ${defaultVoiceConnectorTermination}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Chime Voice Connector Termination Credentials using the `voice_connector_id`. For example:\n\n```sh\n$ pulumi import aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials default abcdef1ghij2klmno3pqr4\n```\n", + "description": "Adds termination SIP credentials for the specified Amazon Chime Voice Connector.\n\n\u003e **Note:** Voice Connector Termination Credentials requires a Voice Connector Termination to be present. Use of `depends_on` (as shown below) is recommended to avoid race conditions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.chime.VoiceConnector(\"default\", {\n name: \"test\",\n requireEncryption: true,\n});\nconst defaultVoiceConnectorTermination = new aws.chime.VoiceConnectorTermination(\"default\", {\n disabled: true,\n cpsLimit: 1,\n cidrAllowLists: [\"50.35.78.96/31\"],\n callingRegions: [\n \"US\",\n \"CA\",\n ],\n voiceConnectorId: _default.id,\n});\nconst defaultVoiceConnectorTerminationCredentials = new aws.chime.VoiceConnectorTerminationCredentials(\"default\", {\n voiceConnectorId: _default.id,\n credentials: [{\n username: \"test\",\n password: \"test!\",\n }],\n}, {\n dependsOn: [defaultVoiceConnectorTermination],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.chime.VoiceConnector(\"default\",\n name=\"test\",\n require_encryption=True)\ndefault_voice_connector_termination = aws.chime.VoiceConnectorTermination(\"default\",\n disabled=True,\n cps_limit=1,\n cidr_allow_lists=[\"50.35.78.96/31\"],\n calling_regions=[\n \"US\",\n \"CA\",\n ],\n voice_connector_id=default.id)\ndefault_voice_connector_termination_credentials = aws.chime.VoiceConnectorTerminationCredentials(\"default\",\n voice_connector_id=default.id,\n credentials=[{\n \"username\": \"test\",\n \"password\": \"test!\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[default_voice_connector_termination]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Chime.VoiceConnector(\"default\", new()\n {\n Name = \"test\",\n RequireEncryption = true,\n });\n\n var defaultVoiceConnectorTermination = new Aws.Chime.VoiceConnectorTermination(\"default\", new()\n {\n Disabled = true,\n CpsLimit = 1,\n CidrAllowLists = new[]\n {\n \"50.35.78.96/31\",\n },\n CallingRegions = new[]\n {\n \"US\",\n \"CA\",\n },\n VoiceConnectorId = @default.Id,\n });\n\n var defaultVoiceConnectorTerminationCredentials = new Aws.Chime.VoiceConnectorTerminationCredentials(\"default\", new()\n {\n VoiceConnectorId = @default.Id,\n Credentials = new[]\n {\n new Aws.Chime.Inputs.VoiceConnectorTerminationCredentialsCredentialArgs\n {\n Username = \"test\",\n Password = \"test!\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n defaultVoiceConnectorTermination,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\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 := chime.NewVoiceConnector(ctx, \"default\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVoiceConnectorTermination, err := chime.NewVoiceConnectorTermination(ctx, \"default\", \u0026chime.VoiceConnectorTerminationArgs{\n\t\t\tDisabled: pulumi.Bool(true),\n\t\t\tCpsLimit: pulumi.Int(1),\n\t\t\tCidrAllowLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"50.35.78.96/31\"),\n\t\t\t},\n\t\t\tCallingRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"US\"),\n\t\t\t\tpulumi.String(\"CA\"),\n\t\t\t},\n\t\t\tVoiceConnectorId: _default.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chime.NewVoiceConnectorTerminationCredentials(ctx, \"default\", \u0026chime.VoiceConnectorTerminationCredentialsArgs{\n\t\t\tVoiceConnectorId: _default.ID(),\n\t\t\tCredentials: chime.VoiceConnectorTerminationCredentialsCredentialArray{\n\t\t\t\t\u0026chime.VoiceConnectorTerminationCredentialsCredentialArgs{\n\t\t\t\t\tUsername: pulumi.String(\"test\"),\n\t\t\t\t\tPassword: pulumi.String(\"test!\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdefaultVoiceConnectorTermination,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.chime.VoiceConnectorTermination;\nimport com.pulumi.aws.chime.VoiceConnectorTerminationArgs;\nimport com.pulumi.aws.chime.VoiceConnectorTerminationCredentials;\nimport com.pulumi.aws.chime.VoiceConnectorTerminationCredentialsArgs;\nimport com.pulumi.aws.chime.inputs.VoiceConnectorTerminationCredentialsCredentialArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new VoiceConnector(\"default\", VoiceConnectorArgs.builder()\n .name(\"test\")\n .requireEncryption(true)\n .build());\n\n var defaultVoiceConnectorTermination = new VoiceConnectorTermination(\"defaultVoiceConnectorTermination\", VoiceConnectorTerminationArgs.builder()\n .disabled(true)\n .cpsLimit(1)\n .cidrAllowLists(\"50.35.78.96/31\")\n .callingRegions( \n \"US\",\n \"CA\")\n .voiceConnectorId(default_.id())\n .build());\n\n var defaultVoiceConnectorTerminationCredentials = new VoiceConnectorTerminationCredentials(\"defaultVoiceConnectorTerminationCredentials\", VoiceConnectorTerminationCredentialsArgs.builder()\n .voiceConnectorId(default_.id())\n .credentials(VoiceConnectorTerminationCredentialsCredentialArgs.builder()\n .username(\"test\")\n .password(\"test!\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(defaultVoiceConnectorTermination)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:chime:VoiceConnector\n properties:\n name: test\n requireEncryption: true\n defaultVoiceConnectorTermination:\n type: aws:chime:VoiceConnectorTermination\n name: default\n properties:\n disabled: true\n cpsLimit: 1\n cidrAllowLists:\n - 50.35.78.96/31\n callingRegions:\n - US\n - CA\n voiceConnectorId: ${default.id}\n defaultVoiceConnectorTerminationCredentials:\n type: aws:chime:VoiceConnectorTerminationCredentials\n name: default\n properties:\n voiceConnectorId: ${default.id}\n credentials:\n - username: test\n password: test!\n options:\n dependson:\n - ${defaultVoiceConnectorTermination}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Chime Voice Connector Termination Credentials using the `voice_connector_id`. For example:\n\n```sh\n$ pulumi import aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials default abcdef1ghij2klmno3pqr4\n```\n", "properties": { "credentials": { "type": "array", @@ -198575,7 +198575,7 @@ } }, "aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration": { - "description": "Resource for managing an AWS Chime SDK Media Pipelines Media Insights Pipeline Configuration.\nConsult the [Call analytics developer guide](https://docs.aws.amazon.com/chime-sdk/latest/dg/call-analytics.html) for more detailed information about usage.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kinesis.Stream(\"example\", {\n name: \"example\",\n shardCount: 2,\n});\nconst mediaPipelinesAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"mediapipelines.chime.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst callAnalyticsRole = new aws.iam.Role(\"call_analytics_role\", {\n name: \"CallAnalyticsRole\",\n assumeRolePolicy: mediaPipelinesAssumeRole.then(mediaPipelinesAssumeRole =\u003e mediaPipelinesAssumeRole.json),\n});\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyBasicConfiguration\",\n resourceAccessRoleArn: callAnalyticsRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeCallAnalyticsProcessor\",\n amazonTranscribeCallAnalyticsProcessorConfiguration: {\n languageCode: \"en-US\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: example.arn,\n },\n },\n ],\n tags: {\n Key1: \"Value1\",\n Key2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kinesis.Stream(\"example\",\n name=\"example\",\n shard_count=2)\nmedia_pipelines_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"mediapipelines.chime.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\ncall_analytics_role = aws.iam.Role(\"call_analytics_role\",\n name=\"CallAnalyticsRole\",\n assume_role_policy=media_pipelines_assume_role.json)\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyBasicConfiguration\",\n resource_access_role_arn=call_analytics_role.arn,\n elements=[\n {\n \"type\": \"AmazonTranscribeCallAnalyticsProcessor\",\n \"amazon_transcribe_call_analytics_processor_configuration\": {\n \"language_code\": \"en-US\",\n },\n },\n {\n \"type\": \"KinesisDataStreamSink\",\n \"kinesis_data_stream_sink_configuration\": {\n \"insights_target\": example.arn,\n },\n },\n ],\n tags={\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kinesis.Stream(\"example\", new()\n {\n Name = \"example\",\n ShardCount = 2,\n });\n\n var mediaPipelinesAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"mediapipelines.chime.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var callAnalyticsRole = new Aws.Iam.Role(\"call_analytics_role\", new()\n {\n Name = \"CallAnalyticsRole\",\n AssumeRolePolicy = mediaPipelinesAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyBasicConfiguration\",\n ResourceAccessRoleArn = callAnalyticsRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeCallAnalyticsProcessor\",\n AmazonTranscribeCallAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs\n {\n LanguageCode = \"en-US\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = example.Arn,\n },\n },\n },\n Tags = \n {\n { \"Key1\", \"Value1\" },\n { \"Key2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kinesis.NewStream(ctx, \"example\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmediaPipelinesAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"mediapipelines.chime.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcallAnalyticsRole, err := iam.NewRole(ctx, \"call_analytics_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"CallAnalyticsRole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(mediaPipelinesAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyBasicConfiguration\"),\n\t\t\tResourceAccessRoleArn: callAnalyticsRole.Arn,\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeCallAnalyticsProcessor\"),\n\t\t\t\t\tAmazonTranscribeCallAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: example.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Key2\": pulumi.String(\"Value2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Stream(\"example\", StreamArgs.builder()\n .name(\"example\")\n .shardCount(2)\n .build());\n\n final var mediaPipelinesAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"mediapipelines.chime.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var callAnalyticsRole = new Role(\"callAnalyticsRole\", RoleArgs.builder()\n .name(\"CallAnalyticsRole\")\n .assumeRolePolicy(mediaPipelinesAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"MyBasicConfiguration\")\n .resourceAccessRoleArn(callAnalyticsRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeCallAnalyticsProcessor\")\n .amazonTranscribeCallAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs.builder()\n .languageCode(\"en-US\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(example.arn())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Key1\", \"Value1\"),\n Map.entry(\"Key2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyBasicConfiguration\n resourceAccessRoleArn: ${callAnalyticsRole.arn}\n elements:\n - type: AmazonTranscribeCallAnalyticsProcessor\n amazonTranscribeCallAnalyticsProcessorConfiguration:\n languageCode: en-US\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${example.arn}\n tags:\n Key1: Value1\n Key2: Value2\n example:\n type: aws:kinesis:Stream\n properties:\n name: example\n shardCount: 2\n callAnalyticsRole:\n type: aws:iam:Role\n name: call_analytics_role\n properties:\n name: CallAnalyticsRole\n assumeRolePolicy: ${mediaPipelinesAssumeRole.json}\nvariables:\n mediaPipelinesAssumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - mediapipelines.chime.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n- The required policies on `call_analytics_role` will vary based on the selected processors. See [Call analytics resource access role](https://docs.aws.amazon.com/chime-sdk/latest/dg/ca-resource-access-role.html) for directions on choosing appropriate policies.\n\n### Transcribe Call Analytics processor usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst transcribeAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"transcribe.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst postCallRole = new aws.iam.Role(\"post_call_role\", {\n name: \"PostCallAccessRole\",\n assumeRolePolicy: transcribeAssumeRole.then(transcribeAssumeRole =\u003e transcribeAssumeRole.json),\n});\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyCallAnalyticsConfiguration\",\n resourceAccessRoleArn: exampleAwsIamRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeCallAnalyticsProcessor\",\n amazonTranscribeCallAnalyticsProcessorConfiguration: {\n callAnalyticsStreamCategories: [\n \"category_1\",\n \"category_2\",\n ],\n contentRedactionType: \"PII\",\n enablePartialResultsStabilization: true,\n filterPartialResults: true,\n languageCode: \"en-US\",\n languageModelName: \"MyLanguageModel\",\n partialResultsStability: \"high\",\n piiEntityTypes: \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n postCallAnalyticsSettings: {\n contentRedactionOutput: \"redacted\",\n dataAccessRoleArn: postCallRole.arn,\n outputEncryptionKmsKeyId: \"MyKmsKeyId\",\n outputLocation: \"s3://MyBucket\",\n },\n vocabularyFilterMethod: \"mask\",\n vocabularyFilterName: \"MyVocabularyFilter\",\n vocabularyName: \"MyVocabulary\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: example.arn,\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntranscribe_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"transcribe.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\npost_call_role = aws.iam.Role(\"post_call_role\",\n name=\"PostCallAccessRole\",\n assume_role_policy=transcribe_assume_role.json)\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyCallAnalyticsConfiguration\",\n resource_access_role_arn=example_aws_iam_role[\"arn\"],\n elements=[\n {\n \"type\": \"AmazonTranscribeCallAnalyticsProcessor\",\n \"amazon_transcribe_call_analytics_processor_configuration\": {\n \"call_analytics_stream_categories\": [\n \"category_1\",\n \"category_2\",\n ],\n \"content_redaction_type\": \"PII\",\n \"enable_partial_results_stabilization\": True,\n \"filter_partial_results\": True,\n \"language_code\": \"en-US\",\n \"language_model_name\": \"MyLanguageModel\",\n \"partial_results_stability\": \"high\",\n \"pii_entity_types\": \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n \"post_call_analytics_settings\": {\n \"content_redaction_output\": \"redacted\",\n \"data_access_role_arn\": post_call_role.arn,\n \"output_encryption_kms_key_id\": \"MyKmsKeyId\",\n \"output_location\": \"s3://MyBucket\",\n },\n \"vocabulary_filter_method\": \"mask\",\n \"vocabulary_filter_name\": \"MyVocabularyFilter\",\n \"vocabulary_name\": \"MyVocabulary\",\n },\n },\n {\n \"type\": \"KinesisDataStreamSink\",\n \"kinesis_data_stream_sink_configuration\": {\n \"insights_target\": example[\"arn\"],\n },\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var transcribeAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transcribe.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var postCallRole = new Aws.Iam.Role(\"post_call_role\", new()\n {\n Name = \"PostCallAccessRole\",\n AssumeRolePolicy = transcribeAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyCallAnalyticsConfiguration\",\n ResourceAccessRoleArn = exampleAwsIamRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeCallAnalyticsProcessor\",\n AmazonTranscribeCallAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs\n {\n CallAnalyticsStreamCategories = new[]\n {\n \"category_1\",\n \"category_2\",\n },\n ContentRedactionType = \"PII\",\n EnablePartialResultsStabilization = true,\n FilterPartialResults = true,\n LanguageCode = \"en-US\",\n LanguageModelName = \"MyLanguageModel\",\n PartialResultsStability = \"high\",\n PiiEntityTypes = \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n PostCallAnalyticsSettings = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs\n {\n ContentRedactionOutput = \"redacted\",\n DataAccessRoleArn = postCallRole.Arn,\n OutputEncryptionKmsKeyId = \"MyKmsKeyId\",\n OutputLocation = \"s3://MyBucket\",\n },\n VocabularyFilterMethod = \"mask\",\n VocabularyFilterName = \"MyVocabularyFilter\",\n VocabularyName = \"MyVocabulary\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = example.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttranscribeAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transcribe.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpostCallRole, err := iam.NewRole(ctx, \"post_call_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"PostCallAccessRole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(transcribeAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyCallAnalyticsConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeCallAnalyticsProcessor\"),\n\t\t\t\t\tAmazonTranscribeCallAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tCallAnalyticsStreamCategories: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"category_1\"),\n\t\t\t\t\t\t\tpulumi.String(\"category_2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tContentRedactionType: pulumi.String(\"PII\"),\n\t\t\t\t\t\tEnablePartialResultsStabilization: pulumi.Bool(true),\n\t\t\t\t\t\tFilterPartialResults: pulumi.Bool(true),\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t\tLanguageModelName: pulumi.String(\"MyLanguageModel\"),\n\t\t\t\t\t\tPartialResultsStability: pulumi.String(\"high\"),\n\t\t\t\t\t\tPiiEntityTypes: pulumi.String(\"ADDRESS,BANK_ACCOUNT_NUMBER\"),\n\t\t\t\t\t\tPostCallAnalyticsSettings: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs{\n\t\t\t\t\t\t\tContentRedactionOutput: pulumi.String(\"redacted\"),\n\t\t\t\t\t\t\tDataAccessRoleArn: postCallRole.Arn,\n\t\t\t\t\t\t\tOutputEncryptionKmsKeyId: pulumi.String(\"MyKmsKeyId\"),\n\t\t\t\t\t\t\tOutputLocation: pulumi.String(\"s3://MyBucket\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tVocabularyFilterMethod: pulumi.String(\"mask\"),\n\t\t\t\t\t\tVocabularyFilterName: pulumi.String(\"MyVocabularyFilter\"),\n\t\t\t\t\t\tVocabularyName: pulumi.String(\"MyVocabulary\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.Any(example.Arn),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var transcribeAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transcribe.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var postCallRole = new Role(\"postCallRole\", RoleArgs.builder()\n .name(\"PostCallAccessRole\")\n .assumeRolePolicy(transcribeAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"MyCallAnalyticsConfiguration\")\n .resourceAccessRoleArn(exampleAwsIamRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeCallAnalyticsProcessor\")\n .amazonTranscribeCallAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs.builder()\n .callAnalyticsStreamCategories( \n \"category_1\",\n \"category_2\")\n .contentRedactionType(\"PII\")\n .enablePartialResultsStabilization(true)\n .filterPartialResults(true)\n .languageCode(\"en-US\")\n .languageModelName(\"MyLanguageModel\")\n .partialResultsStability(\"high\")\n .piiEntityTypes(\"ADDRESS,BANK_ACCOUNT_NUMBER\")\n .postCallAnalyticsSettings(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs.builder()\n .contentRedactionOutput(\"redacted\")\n .dataAccessRoleArn(postCallRole.arn())\n .outputEncryptionKmsKeyId(\"MyKmsKeyId\")\n .outputLocation(\"s3://MyBucket\")\n .build())\n .vocabularyFilterMethod(\"mask\")\n .vocabularyFilterName(\"MyVocabularyFilter\")\n .vocabularyName(\"MyVocabulary\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(example.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyCallAnalyticsConfiguration\n resourceAccessRoleArn: ${exampleAwsIamRole.arn}\n elements:\n - type: AmazonTranscribeCallAnalyticsProcessor\n amazonTranscribeCallAnalyticsProcessorConfiguration:\n callAnalyticsStreamCategories:\n - category_1\n - category_2\n contentRedactionType: PII\n enablePartialResultsStabilization: true\n filterPartialResults: true\n languageCode: en-US\n languageModelName: MyLanguageModel\n partialResultsStability: high\n piiEntityTypes: ADDRESS,BANK_ACCOUNT_NUMBER\n postCallAnalyticsSettings:\n contentRedactionOutput: redacted\n dataAccessRoleArn: ${postCallRole.arn}\n outputEncryptionKmsKeyId: MyKmsKeyId\n outputLocation: s3://MyBucket\n vocabularyFilterMethod: mask\n vocabularyFilterName: MyVocabularyFilter\n vocabularyName: MyVocabulary\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${example.arn}\n postCallRole:\n type: aws:iam:Role\n name: post_call_role\n properties:\n name: PostCallAccessRole\n assumeRolePolicy: ${transcribeAssumeRole.json}\nvariables:\n transcribeAssumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - transcribe.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Real time alerts usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyRealTimeAlertConfiguration\",\n resourceAccessRoleArn: callAnalyticsRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeCallAnalyticsProcessor\",\n amazonTranscribeCallAnalyticsProcessorConfiguration: {\n languageCode: \"en-US\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: example.arn,\n },\n },\n ],\n realTimeAlertConfiguration: {\n disabled: false,\n rules: [\n {\n type: \"IssueDetection\",\n issueDetectionConfiguration: {\n ruleName: \"MyIssueDetectionRule\",\n },\n },\n {\n type: \"KeywordMatch\",\n keywordMatchConfiguration: {\n keywords: [\n \"keyword1\",\n \"keyword2\",\n ],\n negate: false,\n ruleName: \"MyKeywordMatchRule\",\n },\n },\n {\n type: \"Sentiment\",\n sentimentConfiguration: {\n ruleName: \"MySentimentRule\",\n sentimentType: \"NEGATIVE\",\n timePeriod: 60,\n },\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyRealTimeAlertConfiguration\",\n resource_access_role_arn=call_analytics_role[\"arn\"],\n elements=[\n {\n \"type\": \"AmazonTranscribeCallAnalyticsProcessor\",\n \"amazon_transcribe_call_analytics_processor_configuration\": {\n \"language_code\": \"en-US\",\n },\n },\n {\n \"type\": \"KinesisDataStreamSink\",\n \"kinesis_data_stream_sink_configuration\": {\n \"insights_target\": example[\"arn\"],\n },\n },\n ],\n real_time_alert_configuration={\n \"disabled\": False,\n \"rules\": [\n {\n \"type\": \"IssueDetection\",\n \"issue_detection_configuration\": {\n \"rule_name\": \"MyIssueDetectionRule\",\n },\n },\n {\n \"type\": \"KeywordMatch\",\n \"keyword_match_configuration\": {\n \"keywords\": [\n \"keyword1\",\n \"keyword2\",\n ],\n \"negate\": False,\n \"rule_name\": \"MyKeywordMatchRule\",\n },\n },\n {\n \"type\": \"Sentiment\",\n \"sentiment_configuration\": {\n \"rule_name\": \"MySentimentRule\",\n \"sentiment_type\": \"NEGATIVE\",\n \"time_period\": 60,\n },\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyRealTimeAlertConfiguration\",\n ResourceAccessRoleArn = callAnalyticsRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeCallAnalyticsProcessor\",\n AmazonTranscribeCallAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs\n {\n LanguageCode = \"en-US\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = example.Arn,\n },\n },\n },\n RealTimeAlertConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs\n {\n Disabled = false,\n Rules = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs\n {\n Type = \"IssueDetection\",\n IssueDetectionConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs\n {\n RuleName = \"MyIssueDetectionRule\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs\n {\n Type = \"KeywordMatch\",\n KeywordMatchConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs\n {\n Keywords = new[]\n {\n \"keyword1\",\n \"keyword2\",\n },\n Negate = false,\n RuleName = \"MyKeywordMatchRule\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs\n {\n Type = \"Sentiment\",\n SentimentConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs\n {\n RuleName = \"MySentimentRule\",\n SentimentType = \"NEGATIVE\",\n TimePeriod = 60,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\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 := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyRealTimeAlertConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(callAnalyticsRole.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeCallAnalyticsProcessor\"),\n\t\t\t\t\tAmazonTranscribeCallAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.Any(example.Arn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRealTimeAlertConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs{\n\t\t\t\tDisabled: pulumi.Bool(false),\n\t\t\t\tRules: chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArray{\n\t\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs{\n\t\t\t\t\t\tType: pulumi.String(\"IssueDetection\"),\n\t\t\t\t\t\tIssueDetectionConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs{\n\t\t\t\t\t\t\tRuleName: pulumi.String(\"MyIssueDetectionRule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs{\n\t\t\t\t\t\tType: pulumi.String(\"KeywordMatch\"),\n\t\t\t\t\t\tKeywordMatchConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs{\n\t\t\t\t\t\t\tKeywords: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"keyword1\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"keyword2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tNegate: pulumi.Bool(false),\n\t\t\t\t\t\t\tRuleName: pulumi.String(\"MyKeywordMatchRule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs{\n\t\t\t\t\t\tType: pulumi.String(\"Sentiment\"),\n\t\t\t\t\t\tSentimentConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs{\n\t\t\t\t\t\t\tRuleName: pulumi.String(\"MySentimentRule\"),\n\t\t\t\t\t\t\tSentimentType: pulumi.String(\"NEGATIVE\"),\n\t\t\t\t\t\t\tTimePeriod: pulumi.Int(60),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"MyRealTimeAlertConfiguration\")\n .resourceAccessRoleArn(callAnalyticsRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeCallAnalyticsProcessor\")\n .amazonTranscribeCallAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs.builder()\n .languageCode(\"en-US\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(example.arn())\n .build())\n .build())\n .realTimeAlertConfiguration(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs.builder()\n .disabled(false)\n .rules( \n MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs.builder()\n .type(\"IssueDetection\")\n .issueDetectionConfiguration(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs.builder()\n .ruleName(\"MyIssueDetectionRule\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs.builder()\n .type(\"KeywordMatch\")\n .keywordMatchConfiguration(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs.builder()\n .keywords( \n \"keyword1\",\n \"keyword2\")\n .negate(false)\n .ruleName(\"MyKeywordMatchRule\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs.builder()\n .type(\"Sentiment\")\n .sentimentConfiguration(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs.builder()\n .ruleName(\"MySentimentRule\")\n .sentimentType(\"NEGATIVE\")\n .timePeriod(60)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyRealTimeAlertConfiguration\n resourceAccessRoleArn: ${callAnalyticsRole.arn}\n elements:\n - type: AmazonTranscribeCallAnalyticsProcessor\n amazonTranscribeCallAnalyticsProcessorConfiguration:\n languageCode: en-US\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${example.arn}\n realTimeAlertConfiguration:\n disabled: false\n rules:\n - type: IssueDetection\n issueDetectionConfiguration:\n ruleName: MyIssueDetectionRule\n - type: KeywordMatch\n keywordMatchConfiguration:\n keywords:\n - keyword1\n - keyword2\n negate: false\n ruleName: MyKeywordMatchRule\n - type: Sentiment\n sentimentConfiguration:\n ruleName: MySentimentRule\n sentimentType: NEGATIVE\n timePeriod: 60\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Transcribe processor usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyTranscribeConfiguration\",\n resourceAccessRoleArn: exampleAwsIamRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeProcessor\",\n amazonTranscribeProcessorConfiguration: {\n contentIdentificationType: \"PII\",\n enablePartialResultsStabilization: true,\n filterPartialResults: true,\n languageCode: \"en-US\",\n languageModelName: \"MyLanguageModel\",\n partialResultsStability: \"high\",\n piiEntityTypes: \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n showSpeakerLabel: true,\n vocabularyFilterMethod: \"mask\",\n vocabularyFilterName: \"MyVocabularyFilter\",\n vocabularyName: \"MyVocabulary\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: example.arn,\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyTranscribeConfiguration\",\n resource_access_role_arn=example_aws_iam_role[\"arn\"],\n elements=[\n {\n \"type\": \"AmazonTranscribeProcessor\",\n \"amazon_transcribe_processor_configuration\": {\n \"content_identification_type\": \"PII\",\n \"enable_partial_results_stabilization\": True,\n \"filter_partial_results\": True,\n \"language_code\": \"en-US\",\n \"language_model_name\": \"MyLanguageModel\",\n \"partial_results_stability\": \"high\",\n \"pii_entity_types\": \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n \"show_speaker_label\": True,\n \"vocabulary_filter_method\": \"mask\",\n \"vocabulary_filter_name\": \"MyVocabularyFilter\",\n \"vocabulary_name\": \"MyVocabulary\",\n },\n },\n {\n \"type\": \"KinesisDataStreamSink\",\n \"kinesis_data_stream_sink_configuration\": {\n \"insights_target\": example[\"arn\"],\n },\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyTranscribeConfiguration\",\n ResourceAccessRoleArn = exampleAwsIamRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeProcessor\",\n AmazonTranscribeProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs\n {\n ContentIdentificationType = \"PII\",\n EnablePartialResultsStabilization = true,\n FilterPartialResults = true,\n LanguageCode = \"en-US\",\n LanguageModelName = \"MyLanguageModel\",\n PartialResultsStability = \"high\",\n PiiEntityTypes = \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n ShowSpeakerLabel = true,\n VocabularyFilterMethod = \"mask\",\n VocabularyFilterName = \"MyVocabularyFilter\",\n VocabularyName = \"MyVocabulary\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = example.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\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 := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyTranscribeConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeProcessor\"),\n\t\t\t\t\tAmazonTranscribeProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs{\n\t\t\t\t\t\tContentIdentificationType: pulumi.String(\"PII\"),\n\t\t\t\t\t\tEnablePartialResultsStabilization: pulumi.Bool(true),\n\t\t\t\t\t\tFilterPartialResults: pulumi.Bool(true),\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t\tLanguageModelName: pulumi.String(\"MyLanguageModel\"),\n\t\t\t\t\t\tPartialResultsStability: pulumi.String(\"high\"),\n\t\t\t\t\t\tPiiEntityTypes: pulumi.String(\"ADDRESS,BANK_ACCOUNT_NUMBER\"),\n\t\t\t\t\t\tShowSpeakerLabel: pulumi.Bool(true),\n\t\t\t\t\t\tVocabularyFilterMethod: pulumi.String(\"mask\"),\n\t\t\t\t\t\tVocabularyFilterName: pulumi.String(\"MyVocabularyFilter\"),\n\t\t\t\t\t\tVocabularyName: pulumi.String(\"MyVocabulary\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.Any(example.Arn),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"MyTranscribeConfiguration\")\n .resourceAccessRoleArn(exampleAwsIamRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeProcessor\")\n .amazonTranscribeProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs.builder()\n .contentIdentificationType(\"PII\")\n .enablePartialResultsStabilization(true)\n .filterPartialResults(true)\n .languageCode(\"en-US\")\n .languageModelName(\"MyLanguageModel\")\n .partialResultsStability(\"high\")\n .piiEntityTypes(\"ADDRESS,BANK_ACCOUNT_NUMBER\")\n .showSpeakerLabel(true)\n .vocabularyFilterMethod(\"mask\")\n .vocabularyFilterName(\"MyVocabularyFilter\")\n .vocabularyName(\"MyVocabulary\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(example.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyTranscribeConfiguration\n resourceAccessRoleArn: ${exampleAwsIamRole.arn}\n elements:\n - type: AmazonTranscribeProcessor\n amazonTranscribeProcessorConfiguration:\n contentIdentificationType: PII\n enablePartialResultsStabilization: true\n filterPartialResults: true\n languageCode: en-US\n languageModelName: MyLanguageModel\n partialResultsStability: high\n piiEntityTypes: ADDRESS,BANK_ACCOUNT_NUMBER\n showSpeakerLabel: true\n vocabularyFilterMethod: mask\n vocabularyFilterName: MyVocabularyFilter\n vocabularyName: MyVocabulary\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Voice analytics processor usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyVoiceAnalyticsConfiguration\",\n resourceAccessRoleArn: example.arn,\n elements: [\n {\n type: \"VoiceAnalyticsProcessor\",\n voiceAnalyticsProcessorConfiguration: {\n speakerSearchStatus: \"Enabled\",\n voiceToneAnalysisStatus: \"Enabled\",\n },\n },\n {\n type: \"LambdaFunctionSink\",\n lambdaFunctionSinkConfiguration: {\n insightsTarget: \"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\",\n },\n },\n {\n type: \"SnsTopicSink\",\n snsTopicSinkConfiguration: {\n insightsTarget: \"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\",\n },\n },\n {\n type: \"SqsQueueSink\",\n sqsQueueSinkConfiguration: {\n insightsTarget: \"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: test.arn,\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyVoiceAnalyticsConfiguration\",\n resource_access_role_arn=example[\"arn\"],\n elements=[\n {\n \"type\": \"VoiceAnalyticsProcessor\",\n \"voice_analytics_processor_configuration\": {\n \"speaker_search_status\": \"Enabled\",\n \"voice_tone_analysis_status\": \"Enabled\",\n },\n },\n {\n \"type\": \"LambdaFunctionSink\",\n \"lambda_function_sink_configuration\": {\n \"insights_target\": \"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\",\n },\n },\n {\n \"type\": \"SnsTopicSink\",\n \"sns_topic_sink_configuration\": {\n \"insights_target\": \"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\",\n },\n },\n {\n \"type\": \"SqsQueueSink\",\n \"sqs_queue_sink_configuration\": {\n \"insights_target\": \"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\",\n },\n },\n {\n \"type\": \"KinesisDataStreamSink\",\n \"kinesis_data_stream_sink_configuration\": {\n \"insights_target\": test[\"arn\"],\n },\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyVoiceAnalyticsConfiguration\",\n ResourceAccessRoleArn = example.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"VoiceAnalyticsProcessor\",\n VoiceAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs\n {\n SpeakerSearchStatus = \"Enabled\",\n VoiceToneAnalysisStatus = \"Enabled\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"LambdaFunctionSink\",\n LambdaFunctionSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs\n {\n InsightsTarget = \"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"SnsTopicSink\",\n SnsTopicSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs\n {\n InsightsTarget = \"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"SqsQueueSink\",\n SqsQueueSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs\n {\n InsightsTarget = \"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = test.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\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 := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyVoiceAnalyticsConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(example.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"VoiceAnalyticsProcessor\"),\n\t\t\t\t\tVoiceAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tSpeakerSearchStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t\tVoiceToneAnalysisStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"LambdaFunctionSink\"),\n\t\t\t\t\tLambdaFunctionSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.String(\"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"SnsTopicSink\"),\n\t\t\t\t\tSnsTopicSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.String(\"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"SqsQueueSink\"),\n\t\t\t\t\tSqsQueueSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.String(\"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.Any(test.Arn),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"MyVoiceAnalyticsConfiguration\")\n .resourceAccessRoleArn(example.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"VoiceAnalyticsProcessor\")\n .voiceAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs.builder()\n .speakerSearchStatus(\"Enabled\")\n .voiceToneAnalysisStatus(\"Enabled\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"LambdaFunctionSink\")\n .lambdaFunctionSinkConfiguration(MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs.builder()\n .insightsTarget(\"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"SnsTopicSink\")\n .snsTopicSinkConfiguration(MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs.builder()\n .insightsTarget(\"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"SqsQueueSink\")\n .sqsQueueSinkConfiguration(MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs.builder()\n .insightsTarget(\"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(test.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyVoiceAnalyticsConfiguration\n resourceAccessRoleArn: ${example.arn}\n elements:\n - type: VoiceAnalyticsProcessor\n voiceAnalyticsProcessorConfiguration:\n speakerSearchStatus: Enabled\n voiceToneAnalysisStatus: Enabled\n - type: LambdaFunctionSink\n lambdaFunctionSinkConfiguration:\n insightsTarget: arn:aws:lambda:us-west-2:1111111111:function:MyFunction\n - type: SnsTopicSink\n snsTopicSinkConfiguration:\n insightsTarget: arn:aws:sns:us-west-2:1111111111:topic/MyTopic\n - type: SqsQueueSink\n sqsQueueSinkConfiguration:\n insightsTarget: arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${test.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Recording sink usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyS3RecordingConfiguration\",\n resourceAccessRoleArn: example.arn,\n elements: [{\n type: \"S3RecordingSink\",\n s3RecordingSinkConfiguration: {\n destination: \"arn:aws:s3:::MyBucket\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyS3RecordingConfiguration\",\n resource_access_role_arn=example[\"arn\"],\n elements=[{\n \"type\": \"S3RecordingSink\",\n \"s3_recording_sink_configuration\": {\n \"destination\": \"arn:aws:s3:::MyBucket\",\n },\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyS3RecordingConfiguration\",\n ResourceAccessRoleArn = example.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"S3RecordingSink\",\n S3RecordingSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs\n {\n Destination = \"arn:aws:s3:::MyBucket\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\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 := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyS3RecordingConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(example.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"S3RecordingSink\"),\n\t\t\t\t\tS3RecordingSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs{\n\t\t\t\t\t\tDestination: pulumi.String(\"arn:aws:s3:::MyBucket\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"MyS3RecordingConfiguration\")\n .resourceAccessRoleArn(example.arn())\n .elements(MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"S3RecordingSink\")\n .s3RecordingSinkConfiguration(MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs.builder()\n .destination(\"arn:aws:s3:::MyBucket\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyS3RecordingConfiguration\n resourceAccessRoleArn: ${example.arn}\n elements:\n - type: S3RecordingSink\n s3RecordingSinkConfiguration:\n destination: arn:aws:s3:::MyBucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Chime SDK Media Pipelines Media Insights Pipeline Configuration using the `id`. For example:\n\n```sh\n$ pulumi import aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration example abcdef123456\n```\n", + "description": "Resource for managing an AWS Chime SDK Media Pipelines Media Insights Pipeline Configuration.\nConsult the [Call analytics developer guide](https://docs.aws.amazon.com/chime-sdk/latest/dg/call-analytics.html) for more detailed information about usage.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kinesis.Stream(\"example\", {\n name: \"example\",\n shardCount: 2,\n});\nconst mediaPipelinesAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"mediapipelines.chime.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst callAnalyticsRole = new aws.iam.Role(\"call_analytics_role\", {\n name: \"CallAnalyticsRole\",\n assumeRolePolicy: mediaPipelinesAssumeRole.then(mediaPipelinesAssumeRole =\u003e mediaPipelinesAssumeRole.json),\n});\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyBasicConfiguration\",\n resourceAccessRoleArn: callAnalyticsRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeCallAnalyticsProcessor\",\n amazonTranscribeCallAnalyticsProcessorConfiguration: {\n languageCode: \"en-US\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: example.arn,\n },\n },\n ],\n tags: {\n Key1: \"Value1\",\n Key2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kinesis.Stream(\"example\",\n name=\"example\",\n shard_count=2)\nmedia_pipelines_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"mediapipelines.chime.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\ncall_analytics_role = aws.iam.Role(\"call_analytics_role\",\n name=\"CallAnalyticsRole\",\n assume_role_policy=media_pipelines_assume_role.json)\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyBasicConfiguration\",\n resource_access_role_arn=call_analytics_role.arn,\n elements=[\n {\n \"type\": \"AmazonTranscribeCallAnalyticsProcessor\",\n \"amazon_transcribe_call_analytics_processor_configuration\": {\n \"language_code\": \"en-US\",\n },\n },\n {\n \"type\": \"KinesisDataStreamSink\",\n \"kinesis_data_stream_sink_configuration\": {\n \"insights_target\": example.arn,\n },\n },\n ],\n tags={\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kinesis.Stream(\"example\", new()\n {\n Name = \"example\",\n ShardCount = 2,\n });\n\n var mediaPipelinesAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"mediapipelines.chime.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var callAnalyticsRole = new Aws.Iam.Role(\"call_analytics_role\", new()\n {\n Name = \"CallAnalyticsRole\",\n AssumeRolePolicy = mediaPipelinesAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyBasicConfiguration\",\n ResourceAccessRoleArn = callAnalyticsRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeCallAnalyticsProcessor\",\n AmazonTranscribeCallAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs\n {\n LanguageCode = \"en-US\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = example.Arn,\n },\n },\n },\n Tags = \n {\n { \"Key1\", \"Value1\" },\n { \"Key2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kinesis.NewStream(ctx, \"example\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmediaPipelinesAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"mediapipelines.chime.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcallAnalyticsRole, err := iam.NewRole(ctx, \"call_analytics_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"CallAnalyticsRole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(mediaPipelinesAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyBasicConfiguration\"),\n\t\t\tResourceAccessRoleArn: callAnalyticsRole.Arn,\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeCallAnalyticsProcessor\"),\n\t\t\t\t\tAmazonTranscribeCallAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: example.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Key2\": pulumi.String(\"Value2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Stream(\"example\", StreamArgs.builder()\n .name(\"example\")\n .shardCount(2)\n .build());\n\n final var mediaPipelinesAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"mediapipelines.chime.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var callAnalyticsRole = new Role(\"callAnalyticsRole\", RoleArgs.builder()\n .name(\"CallAnalyticsRole\")\n .assumeRolePolicy(mediaPipelinesAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"MyBasicConfiguration\")\n .resourceAccessRoleArn(callAnalyticsRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeCallAnalyticsProcessor\")\n .amazonTranscribeCallAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs.builder()\n .languageCode(\"en-US\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(example.arn())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Key1\", \"Value1\"),\n Map.entry(\"Key2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyBasicConfiguration\n resourceAccessRoleArn: ${callAnalyticsRole.arn}\n elements:\n - type: AmazonTranscribeCallAnalyticsProcessor\n amazonTranscribeCallAnalyticsProcessorConfiguration:\n languageCode: en-US\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${example.arn}\n tags:\n Key1: Value1\n Key2: Value2\n example:\n type: aws:kinesis:Stream\n properties:\n name: example\n shardCount: 2\n callAnalyticsRole:\n type: aws:iam:Role\n name: call_analytics_role\n properties:\n name: CallAnalyticsRole\n assumeRolePolicy: ${mediaPipelinesAssumeRole.json}\nvariables:\n mediaPipelinesAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - mediapipelines.chime.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n- The required policies on `call_analytics_role` will vary based on the selected processors. See [Call analytics resource access role](https://docs.aws.amazon.com/chime-sdk/latest/dg/ca-resource-access-role.html) for directions on choosing appropriate policies.\n\n### Transcribe Call Analytics processor usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst transcribeAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"transcribe.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst postCallRole = new aws.iam.Role(\"post_call_role\", {\n name: \"PostCallAccessRole\",\n assumeRolePolicy: transcribeAssumeRole.then(transcribeAssumeRole =\u003e transcribeAssumeRole.json),\n});\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyCallAnalyticsConfiguration\",\n resourceAccessRoleArn: exampleAwsIamRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeCallAnalyticsProcessor\",\n amazonTranscribeCallAnalyticsProcessorConfiguration: {\n callAnalyticsStreamCategories: [\n \"category_1\",\n \"category_2\",\n ],\n contentRedactionType: \"PII\",\n enablePartialResultsStabilization: true,\n filterPartialResults: true,\n languageCode: \"en-US\",\n languageModelName: \"MyLanguageModel\",\n partialResultsStability: \"high\",\n piiEntityTypes: \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n postCallAnalyticsSettings: {\n contentRedactionOutput: \"redacted\",\n dataAccessRoleArn: postCallRole.arn,\n outputEncryptionKmsKeyId: \"MyKmsKeyId\",\n outputLocation: \"s3://MyBucket\",\n },\n vocabularyFilterMethod: \"mask\",\n vocabularyFilterName: \"MyVocabularyFilter\",\n vocabularyName: \"MyVocabulary\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: example.arn,\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntranscribe_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"transcribe.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\npost_call_role = aws.iam.Role(\"post_call_role\",\n name=\"PostCallAccessRole\",\n assume_role_policy=transcribe_assume_role.json)\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyCallAnalyticsConfiguration\",\n resource_access_role_arn=example_aws_iam_role[\"arn\"],\n elements=[\n {\n \"type\": \"AmazonTranscribeCallAnalyticsProcessor\",\n \"amazon_transcribe_call_analytics_processor_configuration\": {\n \"call_analytics_stream_categories\": [\n \"category_1\",\n \"category_2\",\n ],\n \"content_redaction_type\": \"PII\",\n \"enable_partial_results_stabilization\": True,\n \"filter_partial_results\": True,\n \"language_code\": \"en-US\",\n \"language_model_name\": \"MyLanguageModel\",\n \"partial_results_stability\": \"high\",\n \"pii_entity_types\": \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n \"post_call_analytics_settings\": {\n \"content_redaction_output\": \"redacted\",\n \"data_access_role_arn\": post_call_role.arn,\n \"output_encryption_kms_key_id\": \"MyKmsKeyId\",\n \"output_location\": \"s3://MyBucket\",\n },\n \"vocabulary_filter_method\": \"mask\",\n \"vocabulary_filter_name\": \"MyVocabularyFilter\",\n \"vocabulary_name\": \"MyVocabulary\",\n },\n },\n {\n \"type\": \"KinesisDataStreamSink\",\n \"kinesis_data_stream_sink_configuration\": {\n \"insights_target\": example[\"arn\"],\n },\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var transcribeAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transcribe.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var postCallRole = new Aws.Iam.Role(\"post_call_role\", new()\n {\n Name = \"PostCallAccessRole\",\n AssumeRolePolicy = transcribeAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyCallAnalyticsConfiguration\",\n ResourceAccessRoleArn = exampleAwsIamRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeCallAnalyticsProcessor\",\n AmazonTranscribeCallAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs\n {\n CallAnalyticsStreamCategories = new[]\n {\n \"category_1\",\n \"category_2\",\n },\n ContentRedactionType = \"PII\",\n EnablePartialResultsStabilization = true,\n FilterPartialResults = true,\n LanguageCode = \"en-US\",\n LanguageModelName = \"MyLanguageModel\",\n PartialResultsStability = \"high\",\n PiiEntityTypes = \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n PostCallAnalyticsSettings = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs\n {\n ContentRedactionOutput = \"redacted\",\n DataAccessRoleArn = postCallRole.Arn,\n OutputEncryptionKmsKeyId = \"MyKmsKeyId\",\n OutputLocation = \"s3://MyBucket\",\n },\n VocabularyFilterMethod = \"mask\",\n VocabularyFilterName = \"MyVocabularyFilter\",\n VocabularyName = \"MyVocabulary\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = example.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttranscribeAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transcribe.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpostCallRole, err := iam.NewRole(ctx, \"post_call_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"PostCallAccessRole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(transcribeAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyCallAnalyticsConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeCallAnalyticsProcessor\"),\n\t\t\t\t\tAmazonTranscribeCallAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tCallAnalyticsStreamCategories: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"category_1\"),\n\t\t\t\t\t\t\tpulumi.String(\"category_2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tContentRedactionType: pulumi.String(\"PII\"),\n\t\t\t\t\t\tEnablePartialResultsStabilization: pulumi.Bool(true),\n\t\t\t\t\t\tFilterPartialResults: pulumi.Bool(true),\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t\tLanguageModelName: pulumi.String(\"MyLanguageModel\"),\n\t\t\t\t\t\tPartialResultsStability: pulumi.String(\"high\"),\n\t\t\t\t\t\tPiiEntityTypes: pulumi.String(\"ADDRESS,BANK_ACCOUNT_NUMBER\"),\n\t\t\t\t\t\tPostCallAnalyticsSettings: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs{\n\t\t\t\t\t\t\tContentRedactionOutput: pulumi.String(\"redacted\"),\n\t\t\t\t\t\t\tDataAccessRoleArn: postCallRole.Arn,\n\t\t\t\t\t\t\tOutputEncryptionKmsKeyId: pulumi.String(\"MyKmsKeyId\"),\n\t\t\t\t\t\t\tOutputLocation: pulumi.String(\"s3://MyBucket\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tVocabularyFilterMethod: pulumi.String(\"mask\"),\n\t\t\t\t\t\tVocabularyFilterName: pulumi.String(\"MyVocabularyFilter\"),\n\t\t\t\t\t\tVocabularyName: pulumi.String(\"MyVocabulary\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.Any(example.Arn),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var transcribeAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transcribe.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var postCallRole = new Role(\"postCallRole\", RoleArgs.builder()\n .name(\"PostCallAccessRole\")\n .assumeRolePolicy(transcribeAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"MyCallAnalyticsConfiguration\")\n .resourceAccessRoleArn(exampleAwsIamRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeCallAnalyticsProcessor\")\n .amazonTranscribeCallAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs.builder()\n .callAnalyticsStreamCategories( \n \"category_1\",\n \"category_2\")\n .contentRedactionType(\"PII\")\n .enablePartialResultsStabilization(true)\n .filterPartialResults(true)\n .languageCode(\"en-US\")\n .languageModelName(\"MyLanguageModel\")\n .partialResultsStability(\"high\")\n .piiEntityTypes(\"ADDRESS,BANK_ACCOUNT_NUMBER\")\n .postCallAnalyticsSettings(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs.builder()\n .contentRedactionOutput(\"redacted\")\n .dataAccessRoleArn(postCallRole.arn())\n .outputEncryptionKmsKeyId(\"MyKmsKeyId\")\n .outputLocation(\"s3://MyBucket\")\n .build())\n .vocabularyFilterMethod(\"mask\")\n .vocabularyFilterName(\"MyVocabularyFilter\")\n .vocabularyName(\"MyVocabulary\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(example.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyCallAnalyticsConfiguration\n resourceAccessRoleArn: ${exampleAwsIamRole.arn}\n elements:\n - type: AmazonTranscribeCallAnalyticsProcessor\n amazonTranscribeCallAnalyticsProcessorConfiguration:\n callAnalyticsStreamCategories:\n - category_1\n - category_2\n contentRedactionType: PII\n enablePartialResultsStabilization: true\n filterPartialResults: true\n languageCode: en-US\n languageModelName: MyLanguageModel\n partialResultsStability: high\n piiEntityTypes: ADDRESS,BANK_ACCOUNT_NUMBER\n postCallAnalyticsSettings:\n contentRedactionOutput: redacted\n dataAccessRoleArn: ${postCallRole.arn}\n outputEncryptionKmsKeyId: MyKmsKeyId\n outputLocation: s3://MyBucket\n vocabularyFilterMethod: mask\n vocabularyFilterName: MyVocabularyFilter\n vocabularyName: MyVocabulary\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${example.arn}\n postCallRole:\n type: aws:iam:Role\n name: post_call_role\n properties:\n name: PostCallAccessRole\n assumeRolePolicy: ${transcribeAssumeRole.json}\nvariables:\n transcribeAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - transcribe.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Real time alerts usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyRealTimeAlertConfiguration\",\n resourceAccessRoleArn: callAnalyticsRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeCallAnalyticsProcessor\",\n amazonTranscribeCallAnalyticsProcessorConfiguration: {\n languageCode: \"en-US\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: example.arn,\n },\n },\n ],\n realTimeAlertConfiguration: {\n disabled: false,\n rules: [\n {\n type: \"IssueDetection\",\n issueDetectionConfiguration: {\n ruleName: \"MyIssueDetectionRule\",\n },\n },\n {\n type: \"KeywordMatch\",\n keywordMatchConfiguration: {\n keywords: [\n \"keyword1\",\n \"keyword2\",\n ],\n negate: false,\n ruleName: \"MyKeywordMatchRule\",\n },\n },\n {\n type: \"Sentiment\",\n sentimentConfiguration: {\n ruleName: \"MySentimentRule\",\n sentimentType: \"NEGATIVE\",\n timePeriod: 60,\n },\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyRealTimeAlertConfiguration\",\n resource_access_role_arn=call_analytics_role[\"arn\"],\n elements=[\n {\n \"type\": \"AmazonTranscribeCallAnalyticsProcessor\",\n \"amazon_transcribe_call_analytics_processor_configuration\": {\n \"language_code\": \"en-US\",\n },\n },\n {\n \"type\": \"KinesisDataStreamSink\",\n \"kinesis_data_stream_sink_configuration\": {\n \"insights_target\": example[\"arn\"],\n },\n },\n ],\n real_time_alert_configuration={\n \"disabled\": False,\n \"rules\": [\n {\n \"type\": \"IssueDetection\",\n \"issue_detection_configuration\": {\n \"rule_name\": \"MyIssueDetectionRule\",\n },\n },\n {\n \"type\": \"KeywordMatch\",\n \"keyword_match_configuration\": {\n \"keywords\": [\n \"keyword1\",\n \"keyword2\",\n ],\n \"negate\": False,\n \"rule_name\": \"MyKeywordMatchRule\",\n },\n },\n {\n \"type\": \"Sentiment\",\n \"sentiment_configuration\": {\n \"rule_name\": \"MySentimentRule\",\n \"sentiment_type\": \"NEGATIVE\",\n \"time_period\": 60,\n },\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyRealTimeAlertConfiguration\",\n ResourceAccessRoleArn = callAnalyticsRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeCallAnalyticsProcessor\",\n AmazonTranscribeCallAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs\n {\n LanguageCode = \"en-US\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = example.Arn,\n },\n },\n },\n RealTimeAlertConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs\n {\n Disabled = false,\n Rules = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs\n {\n Type = \"IssueDetection\",\n IssueDetectionConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs\n {\n RuleName = \"MyIssueDetectionRule\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs\n {\n Type = \"KeywordMatch\",\n KeywordMatchConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs\n {\n Keywords = new[]\n {\n \"keyword1\",\n \"keyword2\",\n },\n Negate = false,\n RuleName = \"MyKeywordMatchRule\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs\n {\n Type = \"Sentiment\",\n SentimentConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs\n {\n RuleName = \"MySentimentRule\",\n SentimentType = \"NEGATIVE\",\n TimePeriod = 60,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\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 := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyRealTimeAlertConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(callAnalyticsRole.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeCallAnalyticsProcessor\"),\n\t\t\t\t\tAmazonTranscribeCallAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.Any(example.Arn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRealTimeAlertConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs{\n\t\t\t\tDisabled: pulumi.Bool(false),\n\t\t\t\tRules: chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArray{\n\t\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs{\n\t\t\t\t\t\tType: pulumi.String(\"IssueDetection\"),\n\t\t\t\t\t\tIssueDetectionConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs{\n\t\t\t\t\t\t\tRuleName: pulumi.String(\"MyIssueDetectionRule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs{\n\t\t\t\t\t\tType: pulumi.String(\"KeywordMatch\"),\n\t\t\t\t\t\tKeywordMatchConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs{\n\t\t\t\t\t\t\tKeywords: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"keyword1\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"keyword2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tNegate: pulumi.Bool(false),\n\t\t\t\t\t\t\tRuleName: pulumi.String(\"MyKeywordMatchRule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs{\n\t\t\t\t\t\tType: pulumi.String(\"Sentiment\"),\n\t\t\t\t\t\tSentimentConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs{\n\t\t\t\t\t\t\tRuleName: pulumi.String(\"MySentimentRule\"),\n\t\t\t\t\t\t\tSentimentType: pulumi.String(\"NEGATIVE\"),\n\t\t\t\t\t\t\tTimePeriod: pulumi.Int(60),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"MyRealTimeAlertConfiguration\")\n .resourceAccessRoleArn(callAnalyticsRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeCallAnalyticsProcessor\")\n .amazonTranscribeCallAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs.builder()\n .languageCode(\"en-US\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(example.arn())\n .build())\n .build())\n .realTimeAlertConfiguration(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs.builder()\n .disabled(false)\n .rules( \n MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs.builder()\n .type(\"IssueDetection\")\n .issueDetectionConfiguration(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs.builder()\n .ruleName(\"MyIssueDetectionRule\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs.builder()\n .type(\"KeywordMatch\")\n .keywordMatchConfiguration(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs.builder()\n .keywords( \n \"keyword1\",\n \"keyword2\")\n .negate(false)\n .ruleName(\"MyKeywordMatchRule\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs.builder()\n .type(\"Sentiment\")\n .sentimentConfiguration(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs.builder()\n .ruleName(\"MySentimentRule\")\n .sentimentType(\"NEGATIVE\")\n .timePeriod(60)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyRealTimeAlertConfiguration\n resourceAccessRoleArn: ${callAnalyticsRole.arn}\n elements:\n - type: AmazonTranscribeCallAnalyticsProcessor\n amazonTranscribeCallAnalyticsProcessorConfiguration:\n languageCode: en-US\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${example.arn}\n realTimeAlertConfiguration:\n disabled: false\n rules:\n - type: IssueDetection\n issueDetectionConfiguration:\n ruleName: MyIssueDetectionRule\n - type: KeywordMatch\n keywordMatchConfiguration:\n keywords:\n - keyword1\n - keyword2\n negate: false\n ruleName: MyKeywordMatchRule\n - type: Sentiment\n sentimentConfiguration:\n ruleName: MySentimentRule\n sentimentType: NEGATIVE\n timePeriod: 60\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Transcribe processor usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyTranscribeConfiguration\",\n resourceAccessRoleArn: exampleAwsIamRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeProcessor\",\n amazonTranscribeProcessorConfiguration: {\n contentIdentificationType: \"PII\",\n enablePartialResultsStabilization: true,\n filterPartialResults: true,\n languageCode: \"en-US\",\n languageModelName: \"MyLanguageModel\",\n partialResultsStability: \"high\",\n piiEntityTypes: \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n showSpeakerLabel: true,\n vocabularyFilterMethod: \"mask\",\n vocabularyFilterName: \"MyVocabularyFilter\",\n vocabularyName: \"MyVocabulary\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: example.arn,\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyTranscribeConfiguration\",\n resource_access_role_arn=example_aws_iam_role[\"arn\"],\n elements=[\n {\n \"type\": \"AmazonTranscribeProcessor\",\n \"amazon_transcribe_processor_configuration\": {\n \"content_identification_type\": \"PII\",\n \"enable_partial_results_stabilization\": True,\n \"filter_partial_results\": True,\n \"language_code\": \"en-US\",\n \"language_model_name\": \"MyLanguageModel\",\n \"partial_results_stability\": \"high\",\n \"pii_entity_types\": \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n \"show_speaker_label\": True,\n \"vocabulary_filter_method\": \"mask\",\n \"vocabulary_filter_name\": \"MyVocabularyFilter\",\n \"vocabulary_name\": \"MyVocabulary\",\n },\n },\n {\n \"type\": \"KinesisDataStreamSink\",\n \"kinesis_data_stream_sink_configuration\": {\n \"insights_target\": example[\"arn\"],\n },\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyTranscribeConfiguration\",\n ResourceAccessRoleArn = exampleAwsIamRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeProcessor\",\n AmazonTranscribeProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs\n {\n ContentIdentificationType = \"PII\",\n EnablePartialResultsStabilization = true,\n FilterPartialResults = true,\n LanguageCode = \"en-US\",\n LanguageModelName = \"MyLanguageModel\",\n PartialResultsStability = \"high\",\n PiiEntityTypes = \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n ShowSpeakerLabel = true,\n VocabularyFilterMethod = \"mask\",\n VocabularyFilterName = \"MyVocabularyFilter\",\n VocabularyName = \"MyVocabulary\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = example.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\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 := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyTranscribeConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeProcessor\"),\n\t\t\t\t\tAmazonTranscribeProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs{\n\t\t\t\t\t\tContentIdentificationType: pulumi.String(\"PII\"),\n\t\t\t\t\t\tEnablePartialResultsStabilization: pulumi.Bool(true),\n\t\t\t\t\t\tFilterPartialResults: pulumi.Bool(true),\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t\tLanguageModelName: pulumi.String(\"MyLanguageModel\"),\n\t\t\t\t\t\tPartialResultsStability: pulumi.String(\"high\"),\n\t\t\t\t\t\tPiiEntityTypes: pulumi.String(\"ADDRESS,BANK_ACCOUNT_NUMBER\"),\n\t\t\t\t\t\tShowSpeakerLabel: pulumi.Bool(true),\n\t\t\t\t\t\tVocabularyFilterMethod: pulumi.String(\"mask\"),\n\t\t\t\t\t\tVocabularyFilterName: pulumi.String(\"MyVocabularyFilter\"),\n\t\t\t\t\t\tVocabularyName: pulumi.String(\"MyVocabulary\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.Any(example.Arn),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"MyTranscribeConfiguration\")\n .resourceAccessRoleArn(exampleAwsIamRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeProcessor\")\n .amazonTranscribeProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs.builder()\n .contentIdentificationType(\"PII\")\n .enablePartialResultsStabilization(true)\n .filterPartialResults(true)\n .languageCode(\"en-US\")\n .languageModelName(\"MyLanguageModel\")\n .partialResultsStability(\"high\")\n .piiEntityTypes(\"ADDRESS,BANK_ACCOUNT_NUMBER\")\n .showSpeakerLabel(true)\n .vocabularyFilterMethod(\"mask\")\n .vocabularyFilterName(\"MyVocabularyFilter\")\n .vocabularyName(\"MyVocabulary\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(example.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyTranscribeConfiguration\n resourceAccessRoleArn: ${exampleAwsIamRole.arn}\n elements:\n - type: AmazonTranscribeProcessor\n amazonTranscribeProcessorConfiguration:\n contentIdentificationType: PII\n enablePartialResultsStabilization: true\n filterPartialResults: true\n languageCode: en-US\n languageModelName: MyLanguageModel\n partialResultsStability: high\n piiEntityTypes: ADDRESS,BANK_ACCOUNT_NUMBER\n showSpeakerLabel: true\n vocabularyFilterMethod: mask\n vocabularyFilterName: MyVocabularyFilter\n vocabularyName: MyVocabulary\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Voice analytics processor usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyVoiceAnalyticsConfiguration\",\n resourceAccessRoleArn: example.arn,\n elements: [\n {\n type: \"VoiceAnalyticsProcessor\",\n voiceAnalyticsProcessorConfiguration: {\n speakerSearchStatus: \"Enabled\",\n voiceToneAnalysisStatus: \"Enabled\",\n },\n },\n {\n type: \"LambdaFunctionSink\",\n lambdaFunctionSinkConfiguration: {\n insightsTarget: \"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\",\n },\n },\n {\n type: \"SnsTopicSink\",\n snsTopicSinkConfiguration: {\n insightsTarget: \"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\",\n },\n },\n {\n type: \"SqsQueueSink\",\n sqsQueueSinkConfiguration: {\n insightsTarget: \"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: test.arn,\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyVoiceAnalyticsConfiguration\",\n resource_access_role_arn=example[\"arn\"],\n elements=[\n {\n \"type\": \"VoiceAnalyticsProcessor\",\n \"voice_analytics_processor_configuration\": {\n \"speaker_search_status\": \"Enabled\",\n \"voice_tone_analysis_status\": \"Enabled\",\n },\n },\n {\n \"type\": \"LambdaFunctionSink\",\n \"lambda_function_sink_configuration\": {\n \"insights_target\": \"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\",\n },\n },\n {\n \"type\": \"SnsTopicSink\",\n \"sns_topic_sink_configuration\": {\n \"insights_target\": \"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\",\n },\n },\n {\n \"type\": \"SqsQueueSink\",\n \"sqs_queue_sink_configuration\": {\n \"insights_target\": \"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\",\n },\n },\n {\n \"type\": \"KinesisDataStreamSink\",\n \"kinesis_data_stream_sink_configuration\": {\n \"insights_target\": test[\"arn\"],\n },\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyVoiceAnalyticsConfiguration\",\n ResourceAccessRoleArn = example.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"VoiceAnalyticsProcessor\",\n VoiceAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs\n {\n SpeakerSearchStatus = \"Enabled\",\n VoiceToneAnalysisStatus = \"Enabled\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"LambdaFunctionSink\",\n LambdaFunctionSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs\n {\n InsightsTarget = \"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"SnsTopicSink\",\n SnsTopicSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs\n {\n InsightsTarget = \"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"SqsQueueSink\",\n SqsQueueSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs\n {\n InsightsTarget = \"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = test.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\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 := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyVoiceAnalyticsConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(example.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"VoiceAnalyticsProcessor\"),\n\t\t\t\t\tVoiceAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tSpeakerSearchStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t\tVoiceToneAnalysisStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"LambdaFunctionSink\"),\n\t\t\t\t\tLambdaFunctionSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.String(\"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"SnsTopicSink\"),\n\t\t\t\t\tSnsTopicSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.String(\"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"SqsQueueSink\"),\n\t\t\t\t\tSqsQueueSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.String(\"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.Any(test.Arn),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"MyVoiceAnalyticsConfiguration\")\n .resourceAccessRoleArn(example.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"VoiceAnalyticsProcessor\")\n .voiceAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs.builder()\n .speakerSearchStatus(\"Enabled\")\n .voiceToneAnalysisStatus(\"Enabled\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"LambdaFunctionSink\")\n .lambdaFunctionSinkConfiguration(MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs.builder()\n .insightsTarget(\"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"SnsTopicSink\")\n .snsTopicSinkConfiguration(MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs.builder()\n .insightsTarget(\"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"SqsQueueSink\")\n .sqsQueueSinkConfiguration(MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs.builder()\n .insightsTarget(\"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(test.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyVoiceAnalyticsConfiguration\n resourceAccessRoleArn: ${example.arn}\n elements:\n - type: VoiceAnalyticsProcessor\n voiceAnalyticsProcessorConfiguration:\n speakerSearchStatus: Enabled\n voiceToneAnalysisStatus: Enabled\n - type: LambdaFunctionSink\n lambdaFunctionSinkConfiguration:\n insightsTarget: arn:aws:lambda:us-west-2:1111111111:function:MyFunction\n - type: SnsTopicSink\n snsTopicSinkConfiguration:\n insightsTarget: arn:aws:sns:us-west-2:1111111111:topic/MyTopic\n - type: SqsQueueSink\n sqsQueueSinkConfiguration:\n insightsTarget: arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${test.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Recording sink usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyS3RecordingConfiguration\",\n resourceAccessRoleArn: example.arn,\n elements: [{\n type: \"S3RecordingSink\",\n s3RecordingSinkConfiguration: {\n destination: \"arn:aws:s3:::MyBucket\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyS3RecordingConfiguration\",\n resource_access_role_arn=example[\"arn\"],\n elements=[{\n \"type\": \"S3RecordingSink\",\n \"s3_recording_sink_configuration\": {\n \"destination\": \"arn:aws:s3:::MyBucket\",\n },\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyS3RecordingConfiguration\",\n ResourceAccessRoleArn = example.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"S3RecordingSink\",\n S3RecordingSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs\n {\n Destination = \"arn:aws:s3:::MyBucket\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\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 := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyS3RecordingConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(example.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"S3RecordingSink\"),\n\t\t\t\t\tS3RecordingSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs{\n\t\t\t\t\t\tDestination: pulumi.String(\"arn:aws:s3:::MyBucket\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"MyS3RecordingConfiguration\")\n .resourceAccessRoleArn(example.arn())\n .elements(MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"S3RecordingSink\")\n .s3RecordingSinkConfiguration(MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs.builder()\n .destination(\"arn:aws:s3:::MyBucket\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyS3RecordingConfiguration\n resourceAccessRoleArn: ${example.arn}\n elements:\n - type: S3RecordingSink\n s3RecordingSinkConfiguration:\n destination: arn:aws:s3:::MyBucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Chime SDK Media Pipelines Media Insights Pipeline Configuration using the `id`. For example:\n\n```sh\n$ pulumi import aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration example abcdef123456\n```\n", "properties": { "arn": { "type": "string", @@ -199058,7 +199058,7 @@ } }, "aws:cloud9/environmentEC2:EnvironmentEC2": { - "description": "Provides a Cloud9 EC2 Development Environment.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloud9.EnvironmentEC2(\"example\", {\n instanceType: \"t2.micro\",\n name: \"example-env\",\n imageId: \"amazonlinux-2023-x86_64\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloud9.EnvironmentEC2(\"example\",\n instance_type=\"t2.micro\",\n name=\"example-env\",\n image_id=\"amazonlinux-2023-x86_64\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cloud9.EnvironmentEC2(\"example\", new()\n {\n InstanceType = \"t2.micro\",\n Name = \"example-env\",\n ImageId = \"amazonlinux-2023-x86_64\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloud9\"\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 := cloud9.NewEnvironmentEC2(ctx, \"example\", \u0026cloud9.EnvironmentEC2Args{\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t\tName: pulumi.String(\"example-env\"),\n\t\t\tImageId: pulumi.String(\"amazonlinux-2023-x86_64\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloud9.EnvironmentEC2;\nimport com.pulumi.aws.cloud9.EnvironmentEC2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EnvironmentEC2(\"example\", EnvironmentEC2Args.builder()\n .instanceType(\"t2.micro\")\n .name(\"example-env\")\n .imageId(\"amazonlinux-2023-x86_64\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloud9:EnvironmentEC2\n properties:\n instanceType: t2.micro\n name: example-env\n imageId: amazonlinux-2023-x86_64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nGet the URL of the Cloud9 environment after creation:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloud9.EnvironmentEC2(\"example\", {instanceType: \"t2.micro\"});\nconst cloud9Instance = aws.ec2.getInstanceOutput({\n filters: [{\n name: \"tag:aws:cloud9:environment\",\n values: [example.id],\n }],\n});\nexport const cloud9Url = pulumi.interpolate`https://${region}.console.aws.amazon.com/cloud9/ide/${example.id}`;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloud9.EnvironmentEC2(\"example\", instance_type=\"t2.micro\")\ncloud9_instance = aws.ec2.get_instance_output(filters=[{\n \"name\": \"tag:aws:cloud9:environment\",\n \"values\": [example.id],\n}])\npulumi.export(\"cloud9Url\", example.id.apply(lambda id: f\"https://{region}.console.aws.amazon.com/cloud9/ide/{id}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cloud9.EnvironmentEC2(\"example\", new()\n {\n InstanceType = \"t2.micro\",\n });\n\n var cloud9Instance = Aws.Ec2.GetInstance.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInstanceFilterInputArgs\n {\n Name = \"tag:aws:cloud9:environment\",\n Values = new[]\n {\n example.Id,\n },\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"cloud9Url\"] = example.Id.Apply(id =\u003e $\"https://{region}.console.aws.amazon.com/cloud9/ide/{id}\"),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloud9\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloud9.NewEnvironmentEC2(ctx, \"example\", \u0026cloud9.EnvironmentEC2Args{\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = ec2.LookupInstanceOutput(ctx, ec2.GetInstanceOutputArgs{\n\t\t\tFilters: ec2.GetInstanceFilterArray{\n\t\t\t\t\u0026ec2.GetInstanceFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"tag:aws:cloud9:environment\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texample.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tctx.Export(\"cloud9Url\", example.ID().ApplyT(func(id string) (string, error) {\n\t\t\treturn fmt.Sprintf(\"https://%v.console.aws.amazon.com/cloud9/ide/%v\", region, id), nil\n\t\t}).(pulumi.StringOutput))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloud9.EnvironmentEC2;\nimport com.pulumi.aws.cloud9.EnvironmentEC2Args;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EnvironmentEC2(\"example\", EnvironmentEC2Args.builder()\n .instanceType(\"t2.micro\")\n .build());\n\n final var cloud9Instance = Ec2Functions.getInstance(GetInstanceArgs.builder()\n .filters(GetInstanceFilterArgs.builder()\n .name(\"tag:aws:cloud9:environment\")\n .values(example.id())\n .build())\n .build());\n\n ctx.export(\"cloud9Url\", example.id().applyValue(id -\u003e String.format(\"https://%s.console.aws.amazon.com/cloud9/ide/%s\", region,id)));\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloud9:EnvironmentEC2\n properties:\n instanceType: t2.micro\nvariables:\n cloud9Instance:\n fn::invoke:\n function: aws:ec2:getInstance\n arguments:\n filters:\n - name: tag:aws:cloud9:environment\n values:\n - ${example.id}\noutputs:\n cloud9Url: https://${region}.console.aws.amazon.com/cloud9/ide/${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAllocate a static IP to the Cloud9 environment:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloud9.EnvironmentEC2(\"example\", {instanceType: \"t2.micro\"});\nconst cloud9Instance = aws.ec2.getInstanceOutput({\n filters: [{\n name: \"tag:aws:cloud9:environment\",\n values: [example.id],\n }],\n});\nconst cloud9Eip = new aws.ec2.Eip(\"cloud9_eip\", {\n instance: cloud9Instance.apply(cloud9Instance =\u003e cloud9Instance.id),\n domain: \"vpc\",\n});\nexport const cloud9PublicIp = cloud9Eip.publicIp;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloud9.EnvironmentEC2(\"example\", instance_type=\"t2.micro\")\ncloud9_instance = aws.ec2.get_instance_output(filters=[{\n \"name\": \"tag:aws:cloud9:environment\",\n \"values\": [example.id],\n}])\ncloud9_eip = aws.ec2.Eip(\"cloud9_eip\",\n instance=cloud9_instance.id,\n domain=\"vpc\")\npulumi.export(\"cloud9PublicIp\", cloud9_eip.public_ip)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cloud9.EnvironmentEC2(\"example\", new()\n {\n InstanceType = \"t2.micro\",\n });\n\n var cloud9Instance = Aws.Ec2.GetInstance.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInstanceFilterInputArgs\n {\n Name = \"tag:aws:cloud9:environment\",\n Values = new[]\n {\n example.Id,\n },\n },\n },\n });\n\n var cloud9Eip = new Aws.Ec2.Eip(\"cloud9_eip\", new()\n {\n Instance = cloud9Instance.Apply(getInstanceResult =\u003e getInstanceResult.Id),\n Domain = \"vpc\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"cloud9PublicIp\"] = cloud9Eip.PublicIp,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloud9\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloud9.NewEnvironmentEC2(ctx, \"example\", \u0026cloud9.EnvironmentEC2Args{\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcloud9Instance := ec2.LookupInstanceOutput(ctx, ec2.GetInstanceOutputArgs{\n\t\t\tFilters: ec2.GetInstanceFilterArray{\n\t\t\t\t\u0026ec2.GetInstanceFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"tag:aws:cloud9:environment\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texample.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tcloud9Eip, err := ec2.NewEip(ctx, \"cloud9_eip\", \u0026ec2.EipArgs{\n\t\t\tInstance: pulumi.String(cloud9Instance.ApplyT(func(cloud9Instance ec2.GetInstanceResult) (*string, error) {\n\t\t\t\treturn \u0026cloud9Instance.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"cloud9PublicIp\", cloud9Eip.PublicIp)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloud9.EnvironmentEC2;\nimport com.pulumi.aws.cloud9.EnvironmentEC2Args;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EnvironmentEC2(\"example\", EnvironmentEC2Args.builder()\n .instanceType(\"t2.micro\")\n .build());\n\n final var cloud9Instance = Ec2Functions.getInstance(GetInstanceArgs.builder()\n .filters(GetInstanceFilterArgs.builder()\n .name(\"tag:aws:cloud9:environment\")\n .values(example.id())\n .build())\n .build());\n\n var cloud9Eip = new Eip(\"cloud9Eip\", EipArgs.builder()\n .instance(cloud9Instance.applyValue(getInstanceResult -\u003e getInstanceResult).applyValue(cloud9Instance -\u003e cloud9Instance.applyValue(getInstanceResult -\u003e getInstanceResult.id())))\n .domain(\"vpc\")\n .build());\n\n ctx.export(\"cloud9PublicIp\", cloud9Eip.publicIp());\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloud9:EnvironmentEC2\n properties:\n instanceType: t2.micro\n cloud9Eip:\n type: aws:ec2:Eip\n name: cloud9_eip\n properties:\n instance: ${cloud9Instance.id}\n domain: vpc\nvariables:\n cloud9Instance:\n fn::invoke:\n function: aws:ec2:getInstance\n arguments:\n filters:\n - name: tag:aws:cloud9:environment\n values:\n - ${example.id}\noutputs:\n cloud9PublicIp: ${cloud9Eip.publicIp}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Cloud9 EC2 Development Environment.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloud9.EnvironmentEC2(\"example\", {\n instanceType: \"t2.micro\",\n name: \"example-env\",\n imageId: \"amazonlinux-2023-x86_64\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloud9.EnvironmentEC2(\"example\",\n instance_type=\"t2.micro\",\n name=\"example-env\",\n image_id=\"amazonlinux-2023-x86_64\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cloud9.EnvironmentEC2(\"example\", new()\n {\n InstanceType = \"t2.micro\",\n Name = \"example-env\",\n ImageId = \"amazonlinux-2023-x86_64\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloud9\"\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 := cloud9.NewEnvironmentEC2(ctx, \"example\", \u0026cloud9.EnvironmentEC2Args{\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t\tName: pulumi.String(\"example-env\"),\n\t\t\tImageId: pulumi.String(\"amazonlinux-2023-x86_64\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloud9.EnvironmentEC2;\nimport com.pulumi.aws.cloud9.EnvironmentEC2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EnvironmentEC2(\"example\", EnvironmentEC2Args.builder()\n .instanceType(\"t2.micro\")\n .name(\"example-env\")\n .imageId(\"amazonlinux-2023-x86_64\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloud9:EnvironmentEC2\n properties:\n instanceType: t2.micro\n name: example-env\n imageId: amazonlinux-2023-x86_64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nGet the URL of the Cloud9 environment after creation:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloud9.EnvironmentEC2(\"example\", {instanceType: \"t2.micro\"});\nconst cloud9Instance = aws.ec2.getInstanceOutput({\n filters: [{\n name: \"tag:aws:cloud9:environment\",\n values: [example.id],\n }],\n});\nexport const cloud9Url = pulumi.interpolate`https://${region}.console.aws.amazon.com/cloud9/ide/${example.id}`;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloud9.EnvironmentEC2(\"example\", instance_type=\"t2.micro\")\ncloud9_instance = aws.ec2.get_instance_output(filters=[{\n \"name\": \"tag:aws:cloud9:environment\",\n \"values\": [example.id],\n}])\npulumi.export(\"cloud9Url\", example.id.apply(lambda id: f\"https://{region}.console.aws.amazon.com/cloud9/ide/{id}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cloud9.EnvironmentEC2(\"example\", new()\n {\n InstanceType = \"t2.micro\",\n });\n\n var cloud9Instance = Aws.Ec2.GetInstance.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInstanceFilterInputArgs\n {\n Name = \"tag:aws:cloud9:environment\",\n Values = new[]\n {\n example.Id,\n },\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"cloud9Url\"] = example.Id.Apply(id =\u003e $\"https://{region}.console.aws.amazon.com/cloud9/ide/{id}\"),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloud9\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloud9.NewEnvironmentEC2(ctx, \"example\", \u0026cloud9.EnvironmentEC2Args{\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = ec2.LookupInstanceOutput(ctx, ec2.GetInstanceOutputArgs{\n\t\t\tFilters: ec2.GetInstanceFilterArray{\n\t\t\t\t\u0026ec2.GetInstanceFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"tag:aws:cloud9:environment\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texample.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tctx.Export(\"cloud9Url\", example.ID().ApplyT(func(id string) (string, error) {\n\t\t\treturn fmt.Sprintf(\"https://%v.console.aws.amazon.com/cloud9/ide/%v\", region, id), nil\n\t\t}).(pulumi.StringOutput))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloud9.EnvironmentEC2;\nimport com.pulumi.aws.cloud9.EnvironmentEC2Args;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EnvironmentEC2(\"example\", EnvironmentEC2Args.builder()\n .instanceType(\"t2.micro\")\n .build());\n\n final var cloud9Instance = Ec2Functions.getInstance(GetInstanceArgs.builder()\n .filters(GetInstanceFilterArgs.builder()\n .name(\"tag:aws:cloud9:environment\")\n .values(example.id())\n .build())\n .build());\n\n ctx.export(\"cloud9Url\", example.id().applyValue(id -\u003e String.format(\"https://%s.console.aws.amazon.com/cloud9/ide/%s\", region,id)));\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloud9:EnvironmentEC2\n properties:\n instanceType: t2.micro\nvariables:\n cloud9Instance:\n fn::invoke:\n Function: aws:ec2:getInstance\n Arguments:\n filters:\n - name: tag:aws:cloud9:environment\n values:\n - ${example.id}\noutputs:\n cloud9Url: https://${region}.console.aws.amazon.com/cloud9/ide/${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAllocate a static IP to the Cloud9 environment:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloud9.EnvironmentEC2(\"example\", {instanceType: \"t2.micro\"});\nconst cloud9Instance = aws.ec2.getInstanceOutput({\n filters: [{\n name: \"tag:aws:cloud9:environment\",\n values: [example.id],\n }],\n});\nconst cloud9Eip = new aws.ec2.Eip(\"cloud9_eip\", {\n instance: cloud9Instance.apply(cloud9Instance =\u003e cloud9Instance.id),\n domain: \"vpc\",\n});\nexport const cloud9PublicIp = cloud9Eip.publicIp;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloud9.EnvironmentEC2(\"example\", instance_type=\"t2.micro\")\ncloud9_instance = aws.ec2.get_instance_output(filters=[{\n \"name\": \"tag:aws:cloud9:environment\",\n \"values\": [example.id],\n}])\ncloud9_eip = aws.ec2.Eip(\"cloud9_eip\",\n instance=cloud9_instance.id,\n domain=\"vpc\")\npulumi.export(\"cloud9PublicIp\", cloud9_eip.public_ip)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cloud9.EnvironmentEC2(\"example\", new()\n {\n InstanceType = \"t2.micro\",\n });\n\n var cloud9Instance = Aws.Ec2.GetInstance.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInstanceFilterInputArgs\n {\n Name = \"tag:aws:cloud9:environment\",\n Values = new[]\n {\n example.Id,\n },\n },\n },\n });\n\n var cloud9Eip = new Aws.Ec2.Eip(\"cloud9_eip\", new()\n {\n Instance = cloud9Instance.Apply(getInstanceResult =\u003e getInstanceResult.Id),\n Domain = \"vpc\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"cloud9PublicIp\"] = cloud9Eip.PublicIp,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloud9\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloud9.NewEnvironmentEC2(ctx, \"example\", \u0026cloud9.EnvironmentEC2Args{\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcloud9Instance := ec2.LookupInstanceOutput(ctx, ec2.GetInstanceOutputArgs{\n\t\t\tFilters: ec2.GetInstanceFilterArray{\n\t\t\t\t\u0026ec2.GetInstanceFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"tag:aws:cloud9:environment\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texample.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tcloud9Eip, err := ec2.NewEip(ctx, \"cloud9_eip\", \u0026ec2.EipArgs{\n\t\t\tInstance: pulumi.String(cloud9Instance.ApplyT(func(cloud9Instance ec2.GetInstanceResult) (*string, error) {\n\t\t\t\treturn \u0026cloud9Instance.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"cloud9PublicIp\", cloud9Eip.PublicIp)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloud9.EnvironmentEC2;\nimport com.pulumi.aws.cloud9.EnvironmentEC2Args;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EnvironmentEC2(\"example\", EnvironmentEC2Args.builder()\n .instanceType(\"t2.micro\")\n .build());\n\n final var cloud9Instance = Ec2Functions.getInstance(GetInstanceArgs.builder()\n .filters(GetInstanceFilterArgs.builder()\n .name(\"tag:aws:cloud9:environment\")\n .values(example.id())\n .build())\n .build());\n\n var cloud9Eip = new Eip(\"cloud9Eip\", EipArgs.builder()\n .instance(cloud9Instance.applyValue(getInstanceResult -\u003e getInstanceResult).applyValue(cloud9Instance -\u003e cloud9Instance.applyValue(getInstanceResult -\u003e getInstanceResult.id())))\n .domain(\"vpc\")\n .build());\n\n ctx.export(\"cloud9PublicIp\", cloud9Eip.publicIp());\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloud9:EnvironmentEC2\n properties:\n instanceType: t2.micro\n cloud9Eip:\n type: aws:ec2:Eip\n name: cloud9_eip\n properties:\n instance: ${cloud9Instance.id}\n domain: vpc\nvariables:\n cloud9Instance:\n fn::invoke:\n Function: aws:ec2:getInstance\n Arguments:\n filters:\n - name: tag:aws:cloud9:environment\n values:\n - ${example.id}\noutputs:\n cloud9PublicIp: ${cloud9Eip.publicIp}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -199864,7 +199864,7 @@ } }, "aws:cloudformation/stackInstances:StackInstances": { - "description": "## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudformation.StackInstances(\"example\", {\n accounts: [\n \"123456789012\",\n \"234567890123\",\n ],\n regions: [\n \"us-east-1\",\n \"us-west-2\",\n ],\n stackSetName: exampleAwsCloudformationStackSet.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudformation.StackInstances(\"example\",\n accounts=[\n \"123456789012\",\n \"234567890123\",\n ],\n regions=[\n \"us-east-1\",\n \"us-west-2\",\n ],\n stack_set_name=example_aws_cloudformation_stack_set[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFormation.StackInstances(\"example\", new()\n {\n Accounts = new[]\n {\n \"123456789012\",\n \"234567890123\",\n },\n Regions = new[]\n {\n \"us-east-1\",\n \"us-west-2\",\n },\n StackSetName = exampleAwsCloudformationStackSet.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\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 := cloudformation.NewStackInstances(ctx, \"example\", \u0026cloudformation.StackInstancesArgs{\n\t\t\tAccounts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t\tpulumi.String(\"234567890123\"),\n\t\t\t},\n\t\t\tRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1\"),\n\t\t\t\tpulumi.String(\"us-west-2\"),\n\t\t\t},\n\t\t\tStackSetName: pulumi.Any(exampleAwsCloudformationStackSet.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.StackInstances;\nimport com.pulumi.aws.cloudformation.StackInstancesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new StackInstances(\"example\", StackInstancesArgs.builder()\n .accounts( \n \"123456789012\",\n \"234567890123\")\n .regions( \n \"us-east-1\",\n \"us-west-2\")\n .stackSetName(exampleAwsCloudformationStackSet.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudformation:StackInstances\n properties:\n accounts:\n - '123456789012'\n - '234567890123'\n regions:\n - us-east-1\n - us-west-2\n stackSetName: ${exampleAwsCloudformationStackSet.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Setup in Target Account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n identifiers: [aWSCloudFormationStackSetAdministrationRole.arn],\n type: \"AWS\",\n }],\n }],\n});\nconst aWSCloudFormationStackSetExecutionRole = new aws.iam.Role(\"AWSCloudFormationStackSetExecutionRole\", {\n assumeRolePolicy: aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.then(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy =\u003e aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.json),\n name: \"AWSCloudFormationStackSetExecutionRole\",\n});\n// Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n// Additional IAM permissions necessary depend on the resources defined in the StackSet template\nconst aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n ],\n effect: \"Allow\",\n resources: [\"*\"],\n }],\n});\nconst aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new aws.iam.RolePolicy(\"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\", {\n name: \"MinimumExecutionPolicy\",\n policy: aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.then(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy =\u003e aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.json),\n role: aWSCloudFormationStackSetExecutionRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\na_ws_cloud_formation_stack_set_execution_role_assume_role_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"identifiers\": [a_ws_cloud_formation_stack_set_administration_role[\"arn\"]],\n \"type\": \"AWS\",\n }],\n}])\na_ws_cloud_formation_stack_set_execution_role = aws.iam.Role(\"AWSCloudFormationStackSetExecutionRole\",\n assume_role_policy=a_ws_cloud_formation_stack_set_execution_role_assume_role_policy.json,\n name=\"AWSCloudFormationStackSetExecutionRole\")\n# Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n# Additional IAM permissions necessary depend on the resources defined in the StackSet template\na_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n ],\n \"effect\": \"Allow\",\n \"resources\": [\"*\"],\n}])\na_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy_role_policy = aws.iam.RolePolicy(\"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\",\n name=\"MinimumExecutionPolicy\",\n policy=a_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy.json,\n role=a_ws_cloud_formation_stack_set_execution_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n aWSCloudFormationStackSetAdministrationRole.Arn,\n },\n Type = \"AWS\",\n },\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetExecutionRole = new Aws.Iam.Role(\"AWSCloudFormationStackSetExecutionRole\", new()\n {\n AssumeRolePolicy = aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"AWSCloudFormationStackSetExecutionRole\",\n });\n\n // Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n // Additional IAM permissions necessary depend on the resources defined in the StackSet template\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n },\n Effect = \"Allow\",\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new Aws.Iam.RolePolicy(\"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\", new()\n {\n Name = \"MinimumExecutionPolicy\",\n Policy = aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = aWSCloudFormationStackSetExecutionRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\naWSCloudFormationStackSetExecutionRoleAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sts:AssumeRole\",\n},\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nIdentifiers: interface{}{\naWSCloudFormationStackSetAdministrationRole.Arn,\n},\nType: \"AWS\",\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\naWSCloudFormationStackSetExecutionRole, err := iam.NewRole(ctx, \"AWSCloudFormationStackSetExecutionRole\", \u0026iam.RoleArgs{\nAssumeRolePolicy: pulumi.String(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.Json),\nName: pulumi.String(\"AWSCloudFormationStackSetExecutionRole\"),\n})\nif err != nil {\nreturn err\n}\n// Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n// Additional IAM permissions necessary depend on the resources defined in the StackSet template\naWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"cloudformation:*\",\n\"s3:*\",\n\"sns:*\",\n},\nEffect: pulumi.StringRef(\"Allow\"),\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.NewRolePolicy(ctx, \"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\", \u0026iam.RolePolicyArgs{\nName: pulumi.String(\"MinimumExecutionPolicy\"),\nPolicy: pulumi.String(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.Json),\nRole: aWSCloudFormationStackSetExecutionRole.Name,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(aWSCloudFormationStackSetAdministrationRole.arn())\n .type(\"AWS\")\n .build())\n .build())\n .build());\n\n var aWSCloudFormationStackSetExecutionRole = new Role(\"aWSCloudFormationStackSetExecutionRole\", RoleArgs.builder()\n .assumeRolePolicy(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"AWSCloudFormationStackSetExecutionRole\")\n .build());\n\n // Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n // Additional IAM permissions necessary depend on the resources defined in the StackSet template\n final var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\")\n .effect(\"Allow\")\n .resources(\"*\")\n .build())\n .build());\n\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new RolePolicy(\"aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"MinimumExecutionPolicy\")\n .policy(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .role(aWSCloudFormationStackSetExecutionRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n aWSCloudFormationStackSetExecutionRole:\n type: aws:iam:Role\n name: AWSCloudFormationStackSetExecutionRole\n properties:\n assumeRolePolicy: ${aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.json}\n name: AWSCloudFormationStackSetExecutionRole\n aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\n properties:\n name: MinimumExecutionPolicy\n policy: ${aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.json}\n role: ${aWSCloudFormationStackSetExecutionRole.name}\nvariables:\n aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - identifiers:\n - ${aWSCloudFormationStackSetAdministrationRole.arn}\n type: AWS\n # Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n # Additional IAM permissions necessary depend on the resources defined in the StackSet template\n aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - cloudformation:*\n - s3:*\n - sns:*\n effect: Allow\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Deployment across Organizations account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudformation.StackInstances(\"example\", {\n deploymentTargets: {\n organizationalUnitIds: [exampleAwsOrganizationsOrganization.roots[0].id],\n },\n regions: [\n \"us-west-2\",\n \"us-east-1\",\n ],\n stackSetName: exampleAwsCloudformationStackSet.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudformation.StackInstances(\"example\",\n deployment_targets={\n \"organizational_unit_ids\": [example_aws_organizations_organization[\"roots\"][0][\"id\"]],\n },\n regions=[\n \"us-west-2\",\n \"us-east-1\",\n ],\n stack_set_name=example_aws_cloudformation_stack_set[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFormation.StackInstances(\"example\", new()\n {\n DeploymentTargets = new Aws.CloudFormation.Inputs.StackInstancesDeploymentTargetsArgs\n {\n OrganizationalUnitIds = new[]\n {\n exampleAwsOrganizationsOrganization.Roots[0].Id,\n },\n },\n Regions = new[]\n {\n \"us-west-2\",\n \"us-east-1\",\n },\n StackSetName = exampleAwsCloudformationStackSet.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\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 := cloudformation.NewStackInstances(ctx, \"example\", \u0026cloudformation.StackInstancesArgs{\n\t\t\tDeploymentTargets: \u0026cloudformation.StackInstancesDeploymentTargetsArgs{\n\t\t\t\tOrganizationalUnitIds: pulumi.StringArray{\n\t\t\t\t\texampleAwsOrganizationsOrganization.Roots[0].Id,\n\t\t\t\t},\n\t\t\t},\n\t\t\tRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2\"),\n\t\t\t\tpulumi.String(\"us-east-1\"),\n\t\t\t},\n\t\t\tStackSetName: pulumi.Any(exampleAwsCloudformationStackSet.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.StackInstances;\nimport com.pulumi.aws.cloudformation.StackInstancesArgs;\nimport com.pulumi.aws.cloudformation.inputs.StackInstancesDeploymentTargetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new StackInstances(\"example\", StackInstancesArgs.builder()\n .deploymentTargets(StackInstancesDeploymentTargetsArgs.builder()\n .organizationalUnitIds(exampleAwsOrganizationsOrganization.roots()[0].id())\n .build())\n .regions( \n \"us-west-2\",\n \"us-east-1\")\n .stackSetName(exampleAwsCloudformationStackSet.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudformation:StackInstances\n properties:\n deploymentTargets:\n organizationalUnitIds:\n - ${exampleAwsOrganizationsOrganization.roots[0].id}\n regions:\n - us-west-2\n - us-east-1\n stackSetName: ${exampleAwsCloudformationStackSet.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport CloudFormation stack instances that target OUs, using the stack set name, `call_as`, and \"OU\" separated by commas (`,`). For example:\n\nUsing `pulumi import`, import CloudFormation stack instances using the stack set name and `call_as` separated by commas (`,`). If you are importing a stack instance targeting OUs, see the example below. For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackInstances:StackInstances example example,SELF\n```\nUsing `pulumi import`, Import CloudFormation stack instances that target OUs, using the stack set name, `call_as`, and \"OU\" separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackInstances:StackInstances example example,SELF,OU\n```\n", + "description": "## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudformation.StackInstances(\"example\", {\n accounts: [\n \"123456789012\",\n \"234567890123\",\n ],\n regions: [\n \"us-east-1\",\n \"us-west-2\",\n ],\n stackSetName: exampleAwsCloudformationStackSet.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudformation.StackInstances(\"example\",\n accounts=[\n \"123456789012\",\n \"234567890123\",\n ],\n regions=[\n \"us-east-1\",\n \"us-west-2\",\n ],\n stack_set_name=example_aws_cloudformation_stack_set[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFormation.StackInstances(\"example\", new()\n {\n Accounts = new[]\n {\n \"123456789012\",\n \"234567890123\",\n },\n Regions = new[]\n {\n \"us-east-1\",\n \"us-west-2\",\n },\n StackSetName = exampleAwsCloudformationStackSet.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\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 := cloudformation.NewStackInstances(ctx, \"example\", \u0026cloudformation.StackInstancesArgs{\n\t\t\tAccounts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t\tpulumi.String(\"234567890123\"),\n\t\t\t},\n\t\t\tRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1\"),\n\t\t\t\tpulumi.String(\"us-west-2\"),\n\t\t\t},\n\t\t\tStackSetName: pulumi.Any(exampleAwsCloudformationStackSet.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.StackInstances;\nimport com.pulumi.aws.cloudformation.StackInstancesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new StackInstances(\"example\", StackInstancesArgs.builder()\n .accounts( \n \"123456789012\",\n \"234567890123\")\n .regions( \n \"us-east-1\",\n \"us-west-2\")\n .stackSetName(exampleAwsCloudformationStackSet.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudformation:StackInstances\n properties:\n accounts:\n - '123456789012'\n - '234567890123'\n regions:\n - us-east-1\n - us-west-2\n stackSetName: ${exampleAwsCloudformationStackSet.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Setup in Target Account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n identifiers: [aWSCloudFormationStackSetAdministrationRole.arn],\n type: \"AWS\",\n }],\n }],\n});\nconst aWSCloudFormationStackSetExecutionRole = new aws.iam.Role(\"AWSCloudFormationStackSetExecutionRole\", {\n assumeRolePolicy: aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.then(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy =\u003e aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.json),\n name: \"AWSCloudFormationStackSetExecutionRole\",\n});\n// Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n// Additional IAM permissions necessary depend on the resources defined in the StackSet template\nconst aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n ],\n effect: \"Allow\",\n resources: [\"*\"],\n }],\n});\nconst aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new aws.iam.RolePolicy(\"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\", {\n name: \"MinimumExecutionPolicy\",\n policy: aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.then(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy =\u003e aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.json),\n role: aWSCloudFormationStackSetExecutionRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\na_ws_cloud_formation_stack_set_execution_role_assume_role_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"identifiers\": [a_ws_cloud_formation_stack_set_administration_role[\"arn\"]],\n \"type\": \"AWS\",\n }],\n}])\na_ws_cloud_formation_stack_set_execution_role = aws.iam.Role(\"AWSCloudFormationStackSetExecutionRole\",\n assume_role_policy=a_ws_cloud_formation_stack_set_execution_role_assume_role_policy.json,\n name=\"AWSCloudFormationStackSetExecutionRole\")\n# Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n# Additional IAM permissions necessary depend on the resources defined in the StackSet template\na_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n ],\n \"effect\": \"Allow\",\n \"resources\": [\"*\"],\n}])\na_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy_role_policy = aws.iam.RolePolicy(\"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\",\n name=\"MinimumExecutionPolicy\",\n policy=a_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy.json,\n role=a_ws_cloud_formation_stack_set_execution_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n aWSCloudFormationStackSetAdministrationRole.Arn,\n },\n Type = \"AWS\",\n },\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetExecutionRole = new Aws.Iam.Role(\"AWSCloudFormationStackSetExecutionRole\", new()\n {\n AssumeRolePolicy = aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"AWSCloudFormationStackSetExecutionRole\",\n });\n\n // Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n // Additional IAM permissions necessary depend on the resources defined in the StackSet template\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n },\n Effect = \"Allow\",\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new Aws.Iam.RolePolicy(\"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\", new()\n {\n Name = \"MinimumExecutionPolicy\",\n Policy = aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = aWSCloudFormationStackSetExecutionRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\naWSCloudFormationStackSetExecutionRoleAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sts:AssumeRole\",\n},\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nIdentifiers: interface{}{\naWSCloudFormationStackSetAdministrationRole.Arn,\n},\nType: \"AWS\",\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\naWSCloudFormationStackSetExecutionRole, err := iam.NewRole(ctx, \"AWSCloudFormationStackSetExecutionRole\", \u0026iam.RoleArgs{\nAssumeRolePolicy: pulumi.String(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.Json),\nName: pulumi.String(\"AWSCloudFormationStackSetExecutionRole\"),\n})\nif err != nil {\nreturn err\n}\n// Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n// Additional IAM permissions necessary depend on the resources defined in the StackSet template\naWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"cloudformation:*\",\n\"s3:*\",\n\"sns:*\",\n},\nEffect: pulumi.StringRef(\"Allow\"),\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.NewRolePolicy(ctx, \"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\", \u0026iam.RolePolicyArgs{\nName: pulumi.String(\"MinimumExecutionPolicy\"),\nPolicy: pulumi.String(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.Json),\nRole: aWSCloudFormationStackSetExecutionRole.Name,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(aWSCloudFormationStackSetAdministrationRole.arn())\n .type(\"AWS\")\n .build())\n .build())\n .build());\n\n var aWSCloudFormationStackSetExecutionRole = new Role(\"aWSCloudFormationStackSetExecutionRole\", RoleArgs.builder()\n .assumeRolePolicy(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"AWSCloudFormationStackSetExecutionRole\")\n .build());\n\n // Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n // Additional IAM permissions necessary depend on the resources defined in the StackSet template\n final var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\")\n .effect(\"Allow\")\n .resources(\"*\")\n .build())\n .build());\n\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new RolePolicy(\"aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"MinimumExecutionPolicy\")\n .policy(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .role(aWSCloudFormationStackSetExecutionRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n aWSCloudFormationStackSetExecutionRole:\n type: aws:iam:Role\n name: AWSCloudFormationStackSetExecutionRole\n properties:\n assumeRolePolicy: ${aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.json}\n name: AWSCloudFormationStackSetExecutionRole\n aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\n properties:\n name: MinimumExecutionPolicy\n policy: ${aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.json}\n role: ${aWSCloudFormationStackSetExecutionRole.name}\nvariables:\n aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - identifiers:\n - ${aWSCloudFormationStackSetAdministrationRole.arn}\n type: AWS\n # Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n # Additional IAM permissions necessary depend on the resources defined in the StackSet template\n aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - cloudformation:*\n - s3:*\n - sns:*\n effect: Allow\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Deployment across Organizations account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudformation.StackInstances(\"example\", {\n deploymentTargets: {\n organizationalUnitIds: [exampleAwsOrganizationsOrganization.roots[0].id],\n },\n regions: [\n \"us-west-2\",\n \"us-east-1\",\n ],\n stackSetName: exampleAwsCloudformationStackSet.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudformation.StackInstances(\"example\",\n deployment_targets={\n \"organizational_unit_ids\": [example_aws_organizations_organization[\"roots\"][0][\"id\"]],\n },\n regions=[\n \"us-west-2\",\n \"us-east-1\",\n ],\n stack_set_name=example_aws_cloudformation_stack_set[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFormation.StackInstances(\"example\", new()\n {\n DeploymentTargets = new Aws.CloudFormation.Inputs.StackInstancesDeploymentTargetsArgs\n {\n OrganizationalUnitIds = new[]\n {\n exampleAwsOrganizationsOrganization.Roots[0].Id,\n },\n },\n Regions = new[]\n {\n \"us-west-2\",\n \"us-east-1\",\n },\n StackSetName = exampleAwsCloudformationStackSet.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\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 := cloudformation.NewStackInstances(ctx, \"example\", \u0026cloudformation.StackInstancesArgs{\n\t\t\tDeploymentTargets: \u0026cloudformation.StackInstancesDeploymentTargetsArgs{\n\t\t\t\tOrganizationalUnitIds: pulumi.StringArray{\n\t\t\t\t\texampleAwsOrganizationsOrganization.Roots[0].Id,\n\t\t\t\t},\n\t\t\t},\n\t\t\tRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2\"),\n\t\t\t\tpulumi.String(\"us-east-1\"),\n\t\t\t},\n\t\t\tStackSetName: pulumi.Any(exampleAwsCloudformationStackSet.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.StackInstances;\nimport com.pulumi.aws.cloudformation.StackInstancesArgs;\nimport com.pulumi.aws.cloudformation.inputs.StackInstancesDeploymentTargetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new StackInstances(\"example\", StackInstancesArgs.builder()\n .deploymentTargets(StackInstancesDeploymentTargetsArgs.builder()\n .organizationalUnitIds(exampleAwsOrganizationsOrganization.roots()[0].id())\n .build())\n .regions( \n \"us-west-2\",\n \"us-east-1\")\n .stackSetName(exampleAwsCloudformationStackSet.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudformation:StackInstances\n properties:\n deploymentTargets:\n organizationalUnitIds:\n - ${exampleAwsOrganizationsOrganization.roots[0].id}\n regions:\n - us-west-2\n - us-east-1\n stackSetName: ${exampleAwsCloudformationStackSet.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport CloudFormation stack instances that target OUs, using the stack set name, `call_as`, and \"OU\" separated by commas (`,`). For example:\n\nUsing `pulumi import`, import CloudFormation stack instances using the stack set name and `call_as` separated by commas (`,`). If you are importing a stack instance targeting OUs, see the example below. For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackInstances:StackInstances example example,SELF\n```\nUsing `pulumi import`, Import CloudFormation stack instances that target OUs, using the stack set name, `call_as`, and \"OU\" separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackInstances:StackInstances example example,SELF,OU\n```\n", "properties": { "accounts": { "type": "array", @@ -200034,7 +200034,7 @@ } }, "aws:cloudformation/stackSet:StackSet": { - "description": "Manages a CloudFormation StackSet. StackSets allow CloudFormation templates to be easily deployed across multiple accounts and regions via StackSet Instances (`aws.cloudformation.StackSetInstance` resource). Additional information about StackSets can be found in the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html).\n\n\u003e **NOTE:** All template parameters, including those with a `Default`, must be configured or ignored with the `lifecycle` configuration block `ignore_changes` argument.\n\n\u003e **NOTE:** All `NoEcho` template parameters must be ignored with the `lifecycle` configuration block `ignore_changes` argument.\n\n\u003e **NOTE:** When using a delegated administrator account, ensure that your IAM User or Role has the `organizations:ListDelegatedAdministrators` permission. Otherwise, you may get an error like `ValidationError: Account used is not a delegated administrator`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n identifiers: [\"cloudformation.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst aWSCloudFormationStackSetAdministrationRole = new aws.iam.Role(\"AWSCloudFormationStackSetAdministrationRole\", {\n assumeRolePolicy: aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.then(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy =\u003e aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.json),\n name: \"AWSCloudFormationStackSetAdministrationRole\",\n});\nconst example = new aws.cloudformation.StackSet(\"example\", {\n administrationRoleArn: aWSCloudFormationStackSetAdministrationRole.arn,\n name: \"example\",\n parameters: {\n VPCCidr: \"10.0.0.0/16\",\n },\n templateBody: JSON.stringify({\n Parameters: {\n VPCCidr: {\n Type: \"String\",\n Default: \"10.0.0.0/16\",\n Description: \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n Resources: {\n myVpc: {\n Type: \"AWS::EC2::VPC\",\n Properties: {\n CidrBlock: {\n Ref: \"VPCCidr\",\n },\n Tags: [{\n Key: \"Name\",\n Value: \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }),\n});\nconst aWSCloudFormationStackSetAdministrationRoleExecutionPolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n resources: [pulumi.interpolate`arn:aws:iam::*:role/${example.executionRoleName}`],\n }],\n});\nconst aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new aws.iam.RolePolicy(\"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\", {\n name: \"ExecutionPolicy\",\n policy: aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.apply(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy =\u003e aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.json),\n role: aWSCloudFormationStackSetAdministrationRole.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\na_ws_cloud_formation_stack_set_administration_role_assume_role_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"identifiers\": [\"cloudformation.amazonaws.com\"],\n \"type\": \"Service\",\n }],\n}])\na_ws_cloud_formation_stack_set_administration_role = aws.iam.Role(\"AWSCloudFormationStackSetAdministrationRole\",\n assume_role_policy=a_ws_cloud_formation_stack_set_administration_role_assume_role_policy.json,\n name=\"AWSCloudFormationStackSetAdministrationRole\")\nexample = aws.cloudformation.StackSet(\"example\",\n administration_role_arn=a_ws_cloud_formation_stack_set_administration_role.arn,\n name=\"example\",\n parameters={\n \"VPCCidr\": \"10.0.0.0/16\",\n },\n template_body=json.dumps({\n \"Parameters\": {\n \"VPCCidr\": {\n \"Type\": \"String\",\n \"Default\": \"10.0.0.0/16\",\n \"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n \"Resources\": {\n \"myVpc\": {\n \"Type\": \"AWS::EC2::VPC\",\n \"Properties\": {\n \"CidrBlock\": {\n \"Ref\": \"VPCCidr\",\n },\n \"Tags\": [{\n \"Key\": \"Name\",\n \"Value\": \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }))\na_ws_cloud_formation_stack_set_administration_role_execution_policy = aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"effect\": \"Allow\",\n \"resources\": [example.execution_role_name.apply(lambda execution_role_name: f\"arn:aws:iam::*:role/{execution_role_name}\")],\n}])\na_ws_cloud_formation_stack_set_administration_role_execution_policy_role_policy = aws.iam.RolePolicy(\"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\",\n name=\"ExecutionPolicy\",\n policy=a_ws_cloud_formation_stack_set_administration_role_execution_policy.json,\n role=a_ws_cloud_formation_stack_set_administration_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"cloudformation.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetAdministrationRole = new Aws.Iam.Role(\"AWSCloudFormationStackSetAdministrationRole\", new()\n {\n AssumeRolePolicy = aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"AWSCloudFormationStackSetAdministrationRole\",\n });\n\n var example = new Aws.CloudFormation.StackSet(\"example\", new()\n {\n AdministrationRoleArn = aWSCloudFormationStackSetAdministrationRole.Arn,\n Name = \"example\",\n Parameters = \n {\n { \"VPCCidr\", \"10.0.0.0/16\" },\n },\n TemplateBody = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"VPCCidr\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"String\",\n [\"Default\"] = \"10.0.0.0/16\",\n [\"Description\"] = \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n [\"Resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"myVpc\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"AWS::EC2::VPC\",\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"CidrBlock\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Ref\"] = \"VPCCidr\",\n },\n [\"Tags\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Key\"] = \"Name\",\n [\"Value\"] = \"Primary_CF_VPC\",\n },\n },\n },\n },\n },\n }),\n });\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Resources = new[]\n {\n $\"arn:aws:iam::*:role/{example.ExecutionRoleName}\",\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new Aws.Iam.RolePolicy(\"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\", new()\n {\n Name = \"ExecutionPolicy\",\n Policy = aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = aWSCloudFormationStackSetAdministrationRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"cloudformation.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taWSCloudFormationStackSetAdministrationRole, err := iam.NewRole(ctx, \"AWSCloudFormationStackSetAdministrationRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.Json),\n\t\t\tName: pulumi.String(\"AWSCloudFormationStackSetAdministrationRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\"VPCCidr\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"String\",\n\t\t\t\t\t\"Default\": \"10.0.0.0/16\",\n\t\t\t\t\t\"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Resources\": map[string]interface{}{\n\t\t\t\t\"myVpc\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"AWS::EC2::VPC\",\n\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\"CidrBlock\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Ref\": \"VPCCidr\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Tags\": []map[string]interface{}{\n\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\"Key\": \"Name\",\n\t\t\t\t\t\t\t\t\"Value\": \"Primary_CF_VPC\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\texample, err := cloudformation.NewStackSet(ctx, \"example\", \u0026cloudformation.StackSetArgs{\n\t\t\tAdministrationRoleArn: aWSCloudFormationStackSetAdministrationRole.Arn,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"VPCCidr\": pulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tTemplateBody: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taWSCloudFormationStackSetAdministrationRoleExecutionPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sts:AssumeRole\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.ExecutionRoleName.ApplyT(func(executionRoleName string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:iam::*:role/%v\", executionRoleName), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"ExecutionPolicy\"),\n\t\t\tPolicy: pulumi.String(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.ApplyT(func(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tRole: aWSCloudFormationStackSetAdministrationRole.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cloudformation.StackSet;\nimport com.pulumi.aws.cloudformation.StackSetArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"cloudformation.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var aWSCloudFormationStackSetAdministrationRole = new Role(\"aWSCloudFormationStackSetAdministrationRole\", RoleArgs.builder()\n .assumeRolePolicy(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"AWSCloudFormationStackSetAdministrationRole\")\n .build());\n\n var example = new StackSet(\"example\", StackSetArgs.builder()\n .administrationRoleArn(aWSCloudFormationStackSetAdministrationRole.arn())\n .name(\"example\")\n .parameters(Map.of(\"VPCCidr\", \"10.0.0.0/16\"))\n .templateBody(serializeJson(\n jsonObject(\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"VPCCidr\", jsonObject(\n jsonProperty(\"Type\", \"String\"),\n jsonProperty(\"Default\", \"10.0.0.0/16\"),\n jsonProperty(\"Description\", \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\")\n ))\n )),\n jsonProperty(\"Resources\", jsonObject(\n jsonProperty(\"myVpc\", jsonObject(\n jsonProperty(\"Type\", \"AWS::EC2::VPC\"),\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"CidrBlock\", jsonObject(\n jsonProperty(\"Ref\", \"VPCCidr\")\n )),\n jsonProperty(\"Tags\", jsonArray(jsonObject(\n jsonProperty(\"Key\", \"Name\"),\n jsonProperty(\"Value\", \"Primary_CF_VPC\")\n )))\n ))\n ))\n ))\n )))\n .build());\n\n final var aWSCloudFormationStackSetAdministrationRoleExecutionPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .resources(example.executionRoleName().applyValue(executionRoleName -\u003e String.format(\"arn:aws:iam::*:role/%s\", executionRoleName)))\n .build())\n .build());\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new RolePolicy(\"aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"ExecutionPolicy\")\n .policy(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy -\u003e aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .role(aWSCloudFormationStackSetAdministrationRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n aWSCloudFormationStackSetAdministrationRole:\n type: aws:iam:Role\n name: AWSCloudFormationStackSetAdministrationRole\n properties:\n assumeRolePolicy: ${aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.json}\n name: AWSCloudFormationStackSetAdministrationRole\n example:\n type: aws:cloudformation:StackSet\n properties:\n administrationRoleArn: ${aWSCloudFormationStackSetAdministrationRole.arn}\n name: example\n parameters:\n VPCCidr: 10.0.0.0/16\n templateBody:\n fn::toJSON:\n Parameters:\n VPCCidr:\n Type: String\n Default: 10.0.0.0/16\n Description: Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\n Resources:\n myVpc:\n Type: AWS::EC2::VPC\n Properties:\n CidrBlock:\n Ref: VPCCidr\n Tags:\n - Key: Name\n Value: Primary_CF_VPC\n aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\n properties:\n name: ExecutionPolicy\n policy: ${aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.json}\n role: ${aWSCloudFormationStackSetAdministrationRole.name}\nvariables:\n aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - identifiers:\n - cloudformation.amazonaws.com\n type: Service\n aWSCloudFormationStackSetAdministrationRoleExecutionPolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n resources:\n - arn:aws:iam::*:role/${example.executionRoleName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example:\n\nUsing `pulumi import`, import CloudFormation StackSets using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSet:StackSet example example\n```\nUsing `pulumi import`, import CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSet:StackSet example example,DELEGATED_ADMIN\n```\n", + "description": "Manages a CloudFormation StackSet. StackSets allow CloudFormation templates to be easily deployed across multiple accounts and regions via StackSet Instances (`aws.cloudformation.StackSetInstance` resource). Additional information about StackSets can be found in the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html).\n\n\u003e **NOTE:** All template parameters, including those with a `Default`, must be configured or ignored with the `lifecycle` configuration block `ignore_changes` argument.\n\n\u003e **NOTE:** All `NoEcho` template parameters must be ignored with the `lifecycle` configuration block `ignore_changes` argument.\n\n\u003e **NOTE:** When using a delegated administrator account, ensure that your IAM User or Role has the `organizations:ListDelegatedAdministrators` permission. Otherwise, you may get an error like `ValidationError: Account used is not a delegated administrator`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n identifiers: [\"cloudformation.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst aWSCloudFormationStackSetAdministrationRole = new aws.iam.Role(\"AWSCloudFormationStackSetAdministrationRole\", {\n assumeRolePolicy: aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.then(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy =\u003e aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.json),\n name: \"AWSCloudFormationStackSetAdministrationRole\",\n});\nconst example = new aws.cloudformation.StackSet(\"example\", {\n administrationRoleArn: aWSCloudFormationStackSetAdministrationRole.arn,\n name: \"example\",\n parameters: {\n VPCCidr: \"10.0.0.0/16\",\n },\n templateBody: JSON.stringify({\n Parameters: {\n VPCCidr: {\n Type: \"String\",\n Default: \"10.0.0.0/16\",\n Description: \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n Resources: {\n myVpc: {\n Type: \"AWS::EC2::VPC\",\n Properties: {\n CidrBlock: {\n Ref: \"VPCCidr\",\n },\n Tags: [{\n Key: \"Name\",\n Value: \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }),\n});\nconst aWSCloudFormationStackSetAdministrationRoleExecutionPolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n resources: [pulumi.interpolate`arn:aws:iam::*:role/${example.executionRoleName}`],\n }],\n});\nconst aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new aws.iam.RolePolicy(\"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\", {\n name: \"ExecutionPolicy\",\n policy: aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.apply(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy =\u003e aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.json),\n role: aWSCloudFormationStackSetAdministrationRole.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\na_ws_cloud_formation_stack_set_administration_role_assume_role_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"identifiers\": [\"cloudformation.amazonaws.com\"],\n \"type\": \"Service\",\n }],\n}])\na_ws_cloud_formation_stack_set_administration_role = aws.iam.Role(\"AWSCloudFormationStackSetAdministrationRole\",\n assume_role_policy=a_ws_cloud_formation_stack_set_administration_role_assume_role_policy.json,\n name=\"AWSCloudFormationStackSetAdministrationRole\")\nexample = aws.cloudformation.StackSet(\"example\",\n administration_role_arn=a_ws_cloud_formation_stack_set_administration_role.arn,\n name=\"example\",\n parameters={\n \"VPCCidr\": \"10.0.0.0/16\",\n },\n template_body=json.dumps({\n \"Parameters\": {\n \"VPCCidr\": {\n \"Type\": \"String\",\n \"Default\": \"10.0.0.0/16\",\n \"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n \"Resources\": {\n \"myVpc\": {\n \"Type\": \"AWS::EC2::VPC\",\n \"Properties\": {\n \"CidrBlock\": {\n \"Ref\": \"VPCCidr\",\n },\n \"Tags\": [{\n \"Key\": \"Name\",\n \"Value\": \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }))\na_ws_cloud_formation_stack_set_administration_role_execution_policy = aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"effect\": \"Allow\",\n \"resources\": [example.execution_role_name.apply(lambda execution_role_name: f\"arn:aws:iam::*:role/{execution_role_name}\")],\n}])\na_ws_cloud_formation_stack_set_administration_role_execution_policy_role_policy = aws.iam.RolePolicy(\"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\",\n name=\"ExecutionPolicy\",\n policy=a_ws_cloud_formation_stack_set_administration_role_execution_policy.json,\n role=a_ws_cloud_formation_stack_set_administration_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"cloudformation.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetAdministrationRole = new Aws.Iam.Role(\"AWSCloudFormationStackSetAdministrationRole\", new()\n {\n AssumeRolePolicy = aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"AWSCloudFormationStackSetAdministrationRole\",\n });\n\n var example = new Aws.CloudFormation.StackSet(\"example\", new()\n {\n AdministrationRoleArn = aWSCloudFormationStackSetAdministrationRole.Arn,\n Name = \"example\",\n Parameters = \n {\n { \"VPCCidr\", \"10.0.0.0/16\" },\n },\n TemplateBody = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"VPCCidr\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"String\",\n [\"Default\"] = \"10.0.0.0/16\",\n [\"Description\"] = \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n [\"Resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"myVpc\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"AWS::EC2::VPC\",\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"CidrBlock\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Ref\"] = \"VPCCidr\",\n },\n [\"Tags\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Key\"] = \"Name\",\n [\"Value\"] = \"Primary_CF_VPC\",\n },\n },\n },\n },\n },\n }),\n });\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Resources = new[]\n {\n $\"arn:aws:iam::*:role/{example.ExecutionRoleName}\",\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new Aws.Iam.RolePolicy(\"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\", new()\n {\n Name = \"ExecutionPolicy\",\n Policy = aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = aWSCloudFormationStackSetAdministrationRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"cloudformation.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taWSCloudFormationStackSetAdministrationRole, err := iam.NewRole(ctx, \"AWSCloudFormationStackSetAdministrationRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.Json),\n\t\t\tName: pulumi.String(\"AWSCloudFormationStackSetAdministrationRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\"VPCCidr\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"String\",\n\t\t\t\t\t\"Default\": \"10.0.0.0/16\",\n\t\t\t\t\t\"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Resources\": map[string]interface{}{\n\t\t\t\t\"myVpc\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"AWS::EC2::VPC\",\n\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\"CidrBlock\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Ref\": \"VPCCidr\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Tags\": []map[string]interface{}{\n\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\"Key\": \"Name\",\n\t\t\t\t\t\t\t\t\"Value\": \"Primary_CF_VPC\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\texample, err := cloudformation.NewStackSet(ctx, \"example\", \u0026cloudformation.StackSetArgs{\n\t\t\tAdministrationRoleArn: aWSCloudFormationStackSetAdministrationRole.Arn,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"VPCCidr\": pulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tTemplateBody: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taWSCloudFormationStackSetAdministrationRoleExecutionPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sts:AssumeRole\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.ExecutionRoleName.ApplyT(func(executionRoleName string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:iam::*:role/%v\", executionRoleName), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"ExecutionPolicy\"),\n\t\t\tPolicy: pulumi.String(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.ApplyT(func(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tRole: aWSCloudFormationStackSetAdministrationRole.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cloudformation.StackSet;\nimport com.pulumi.aws.cloudformation.StackSetArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"cloudformation.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var aWSCloudFormationStackSetAdministrationRole = new Role(\"aWSCloudFormationStackSetAdministrationRole\", RoleArgs.builder()\n .assumeRolePolicy(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"AWSCloudFormationStackSetAdministrationRole\")\n .build());\n\n var example = new StackSet(\"example\", StackSetArgs.builder()\n .administrationRoleArn(aWSCloudFormationStackSetAdministrationRole.arn())\n .name(\"example\")\n .parameters(Map.of(\"VPCCidr\", \"10.0.0.0/16\"))\n .templateBody(serializeJson(\n jsonObject(\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"VPCCidr\", jsonObject(\n jsonProperty(\"Type\", \"String\"),\n jsonProperty(\"Default\", \"10.0.0.0/16\"),\n jsonProperty(\"Description\", \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\")\n ))\n )),\n jsonProperty(\"Resources\", jsonObject(\n jsonProperty(\"myVpc\", jsonObject(\n jsonProperty(\"Type\", \"AWS::EC2::VPC\"),\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"CidrBlock\", jsonObject(\n jsonProperty(\"Ref\", \"VPCCidr\")\n )),\n jsonProperty(\"Tags\", jsonArray(jsonObject(\n jsonProperty(\"Key\", \"Name\"),\n jsonProperty(\"Value\", \"Primary_CF_VPC\")\n )))\n ))\n ))\n ))\n )))\n .build());\n\n final var aWSCloudFormationStackSetAdministrationRoleExecutionPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .resources(example.executionRoleName().applyValue(executionRoleName -\u003e String.format(\"arn:aws:iam::*:role/%s\", executionRoleName)))\n .build())\n .build());\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new RolePolicy(\"aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"ExecutionPolicy\")\n .policy(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy -\u003e aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .role(aWSCloudFormationStackSetAdministrationRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n aWSCloudFormationStackSetAdministrationRole:\n type: aws:iam:Role\n name: AWSCloudFormationStackSetAdministrationRole\n properties:\n assumeRolePolicy: ${aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.json}\n name: AWSCloudFormationStackSetAdministrationRole\n example:\n type: aws:cloudformation:StackSet\n properties:\n administrationRoleArn: ${aWSCloudFormationStackSetAdministrationRole.arn}\n name: example\n parameters:\n VPCCidr: 10.0.0.0/16\n templateBody:\n fn::toJSON:\n Parameters:\n VPCCidr:\n Type: String\n Default: 10.0.0.0/16\n Description: Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\n Resources:\n myVpc:\n Type: AWS::EC2::VPC\n Properties:\n CidrBlock:\n Ref: VPCCidr\n Tags:\n - Key: Name\n Value: Primary_CF_VPC\n aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\n properties:\n name: ExecutionPolicy\n policy: ${aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.json}\n role: ${aWSCloudFormationStackSetAdministrationRole.name}\nvariables:\n aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - identifiers:\n - cloudformation.amazonaws.com\n type: Service\n aWSCloudFormationStackSetAdministrationRoleExecutionPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n resources:\n - arn:aws:iam::*:role/${example.executionRoleName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example:\n\nUsing `pulumi import`, import CloudFormation StackSets using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSet:StackSet example example\n```\nUsing `pulumi import`, import CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSet:StackSet example example,DELEGATED_ADMIN\n```\n", "properties": { "administrationRoleArn": { "type": "string", @@ -200286,7 +200286,7 @@ } }, "aws:cloudformation/stackSetInstance:StackSetInstance": { - "description": "Manages a CloudFormation StackSet Instance. Instances are managed in the account and region of the StackSet after the target account permissions have been configured. Additional information about StackSets can be found in the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html).\n\n\u003e **NOTE:** All target accounts must have an IAM Role created that matches the name of the execution role configured in the StackSet (the `execution_role_name` argument in the `aws.cloudformation.StackSet` resource) in a trust relationship with the administrative account or administration IAM Role. The execution role must have appropriate permissions to manage resources defined in the template along with those required for StackSets to operate. See the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html) for more details.\n\n\u003e **NOTE:** To retain the Stack during resource destroy, ensure `retain_stack` has been set to `true` in the state first. This must be completed _before_ a deployment that would destroy the resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudformation.StackSetInstance(\"example\", {\n accountId: \"123456789012\",\n region: \"us-east-1\",\n stackSetName: exampleAwsCloudformationStackSet.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudformation.StackSetInstance(\"example\",\n account_id=\"123456789012\",\n region=\"us-east-1\",\n stack_set_name=example_aws_cloudformation_stack_set[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFormation.StackSetInstance(\"example\", new()\n {\n AccountId = \"123456789012\",\n Region = \"us-east-1\",\n StackSetName = exampleAwsCloudformationStackSet.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\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 := cloudformation.NewStackSetInstance(ctx, \"example\", \u0026cloudformation.StackSetInstanceArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\tStackSetName: pulumi.Any(exampleAwsCloudformationStackSet.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.StackSetInstance;\nimport com.pulumi.aws.cloudformation.StackSetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new StackSetInstance(\"example\", StackSetInstanceArgs.builder()\n .accountId(\"123456789012\")\n .region(\"us-east-1\")\n .stackSetName(exampleAwsCloudformationStackSet.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudformation:StackSetInstance\n properties:\n accountId: '123456789012'\n region: us-east-1\n stackSetName: ${exampleAwsCloudformationStackSet.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Setup in Target Account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n identifiers: [aWSCloudFormationStackSetAdministrationRole.arn],\n type: \"AWS\",\n }],\n }],\n});\nconst aWSCloudFormationStackSetExecutionRole = new aws.iam.Role(\"AWSCloudFormationStackSetExecutionRole\", {\n assumeRolePolicy: aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.then(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy =\u003e aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.json),\n name: \"AWSCloudFormationStackSetExecutionRole\",\n});\n// Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n// Additional IAM permissions necessary depend on the resources defined in the StackSet template\nconst aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n ],\n effect: \"Allow\",\n resources: [\"*\"],\n }],\n});\nconst aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new aws.iam.RolePolicy(\"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\", {\n name: \"MinimumExecutionPolicy\",\n policy: aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.then(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy =\u003e aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.json),\n role: aWSCloudFormationStackSetExecutionRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\na_ws_cloud_formation_stack_set_execution_role_assume_role_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"identifiers\": [a_ws_cloud_formation_stack_set_administration_role[\"arn\"]],\n \"type\": \"AWS\",\n }],\n}])\na_ws_cloud_formation_stack_set_execution_role = aws.iam.Role(\"AWSCloudFormationStackSetExecutionRole\",\n assume_role_policy=a_ws_cloud_formation_stack_set_execution_role_assume_role_policy.json,\n name=\"AWSCloudFormationStackSetExecutionRole\")\n# Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n# Additional IAM permissions necessary depend on the resources defined in the StackSet template\na_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n ],\n \"effect\": \"Allow\",\n \"resources\": [\"*\"],\n}])\na_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy_role_policy = aws.iam.RolePolicy(\"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\",\n name=\"MinimumExecutionPolicy\",\n policy=a_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy.json,\n role=a_ws_cloud_formation_stack_set_execution_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n aWSCloudFormationStackSetAdministrationRole.Arn,\n },\n Type = \"AWS\",\n },\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetExecutionRole = new Aws.Iam.Role(\"AWSCloudFormationStackSetExecutionRole\", new()\n {\n AssumeRolePolicy = aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"AWSCloudFormationStackSetExecutionRole\",\n });\n\n // Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n // Additional IAM permissions necessary depend on the resources defined in the StackSet template\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n },\n Effect = \"Allow\",\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new Aws.Iam.RolePolicy(\"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\", new()\n {\n Name = \"MinimumExecutionPolicy\",\n Policy = aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = aWSCloudFormationStackSetExecutionRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\naWSCloudFormationStackSetExecutionRoleAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sts:AssumeRole\",\n},\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nIdentifiers: interface{}{\naWSCloudFormationStackSetAdministrationRole.Arn,\n},\nType: \"AWS\",\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\naWSCloudFormationStackSetExecutionRole, err := iam.NewRole(ctx, \"AWSCloudFormationStackSetExecutionRole\", \u0026iam.RoleArgs{\nAssumeRolePolicy: pulumi.String(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.Json),\nName: pulumi.String(\"AWSCloudFormationStackSetExecutionRole\"),\n})\nif err != nil {\nreturn err\n}\n// Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n// Additional IAM permissions necessary depend on the resources defined in the StackSet template\naWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"cloudformation:*\",\n\"s3:*\",\n\"sns:*\",\n},\nEffect: pulumi.StringRef(\"Allow\"),\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.NewRolePolicy(ctx, \"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\", \u0026iam.RolePolicyArgs{\nName: pulumi.String(\"MinimumExecutionPolicy\"),\nPolicy: pulumi.String(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.Json),\nRole: aWSCloudFormationStackSetExecutionRole.Name,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(aWSCloudFormationStackSetAdministrationRole.arn())\n .type(\"AWS\")\n .build())\n .build())\n .build());\n\n var aWSCloudFormationStackSetExecutionRole = new Role(\"aWSCloudFormationStackSetExecutionRole\", RoleArgs.builder()\n .assumeRolePolicy(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"AWSCloudFormationStackSetExecutionRole\")\n .build());\n\n // Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n // Additional IAM permissions necessary depend on the resources defined in the StackSet template\n final var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\")\n .effect(\"Allow\")\n .resources(\"*\")\n .build())\n .build());\n\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new RolePolicy(\"aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"MinimumExecutionPolicy\")\n .policy(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .role(aWSCloudFormationStackSetExecutionRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n aWSCloudFormationStackSetExecutionRole:\n type: aws:iam:Role\n name: AWSCloudFormationStackSetExecutionRole\n properties:\n assumeRolePolicy: ${aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.json}\n name: AWSCloudFormationStackSetExecutionRole\n aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\n properties:\n name: MinimumExecutionPolicy\n policy: ${aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.json}\n role: ${aWSCloudFormationStackSetExecutionRole.name}\nvariables:\n aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - identifiers:\n - ${aWSCloudFormationStackSetAdministrationRole.arn}\n type: AWS\n # Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n # Additional IAM permissions necessary depend on the resources defined in the StackSet template\n aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - cloudformation:*\n - s3:*\n - sns:*\n effect: Allow\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Deployment across Organizations account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudformation.StackSetInstance(\"example\", {\n deploymentTargets: {\n organizationalUnitIds: [exampleAwsOrganizationsOrganization.roots[0].id],\n },\n region: \"us-east-1\",\n stackSetName: exampleAwsCloudformationStackSet.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudformation.StackSetInstance(\"example\",\n deployment_targets={\n \"organizational_unit_ids\": [example_aws_organizations_organization[\"roots\"][0][\"id\"]],\n },\n region=\"us-east-1\",\n stack_set_name=example_aws_cloudformation_stack_set[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFormation.StackSetInstance(\"example\", new()\n {\n DeploymentTargets = new Aws.CloudFormation.Inputs.StackSetInstanceDeploymentTargetsArgs\n {\n OrganizationalUnitIds = new[]\n {\n exampleAwsOrganizationsOrganization.Roots[0].Id,\n },\n },\n Region = \"us-east-1\",\n StackSetName = exampleAwsCloudformationStackSet.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\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 := cloudformation.NewStackSetInstance(ctx, \"example\", \u0026cloudformation.StackSetInstanceArgs{\n\t\t\tDeploymentTargets: \u0026cloudformation.StackSetInstanceDeploymentTargetsArgs{\n\t\t\t\tOrganizationalUnitIds: pulumi.StringArray{\n\t\t\t\t\texampleAwsOrganizationsOrganization.Roots[0].Id,\n\t\t\t\t},\n\t\t\t},\n\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\tStackSetName: pulumi.Any(exampleAwsCloudformationStackSet.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.StackSetInstance;\nimport com.pulumi.aws.cloudformation.StackSetInstanceArgs;\nimport com.pulumi.aws.cloudformation.inputs.StackSetInstanceDeploymentTargetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new StackSetInstance(\"example\", StackSetInstanceArgs.builder()\n .deploymentTargets(StackSetInstanceDeploymentTargetsArgs.builder()\n .organizationalUnitIds(exampleAwsOrganizationsOrganization.roots()[0].id())\n .build())\n .region(\"us-east-1\")\n .stackSetName(exampleAwsCloudformationStackSet.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudformation:StackSetInstance\n properties:\n deploymentTargets:\n organizationalUnitIds:\n - ${exampleAwsOrganizationsOrganization.roots[0].id}\n region: us-east-1\n stackSetName: ${exampleAwsCloudformationStackSet.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport CloudFormation StackSet Instances that target AWS Organizational Units using the StackSet name, a slash (`/`) separated list of organizational unit IDs, and target AWS Region separated by commas (`,`). For example:\n\nImport CloudFormation StackSet Instances when acting a delegated administrator in a member account using the StackSet name, target AWS account ID or slash (`/`) separated list of organizational unit IDs, target AWS Region and `call_as` value separated by commas (`,`). For example:\n\nUsing `pulumi import`, import CloudFormation StackSet Instances that target an AWS Account ID using the StackSet name, target AWS account ID, and target AWS Region separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSetInstance:StackSetInstance example example,123456789012,us-east-1\n```\nUsing `pulumi import`, import CloudFormation StackSet Instances that target AWS Organizational Units using the StackSet name, a slash (`/`) separated list of organizational unit IDs, and target AWS Region separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSetInstance:StackSetInstance example example,ou-sdas-123123123/ou-sdas-789789789,us-east-1\n```\nUsing `pulumi import`, import CloudFormation StackSet Instances when acting a delegated administrator in a member account using the StackSet name, target AWS account ID or slash (`/`) separated list of organizational unit IDs, target AWS Region and `call_as` value separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSetInstance:StackSetInstance example example,ou-sdas-123123123/ou-sdas-789789789,us-east-1,DELEGATED_ADMIN\n```\n", + "description": "Manages a CloudFormation StackSet Instance. Instances are managed in the account and region of the StackSet after the target account permissions have been configured. Additional information about StackSets can be found in the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html).\n\n\u003e **NOTE:** All target accounts must have an IAM Role created that matches the name of the execution role configured in the StackSet (the `execution_role_name` argument in the `aws.cloudformation.StackSet` resource) in a trust relationship with the administrative account or administration IAM Role. The execution role must have appropriate permissions to manage resources defined in the template along with those required for StackSets to operate. See the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html) for more details.\n\n\u003e **NOTE:** To retain the Stack during resource destroy, ensure `retain_stack` has been set to `true` in the state first. This must be completed _before_ a deployment that would destroy the resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudformation.StackSetInstance(\"example\", {\n accountId: \"123456789012\",\n region: \"us-east-1\",\n stackSetName: exampleAwsCloudformationStackSet.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudformation.StackSetInstance(\"example\",\n account_id=\"123456789012\",\n region=\"us-east-1\",\n stack_set_name=example_aws_cloudformation_stack_set[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFormation.StackSetInstance(\"example\", new()\n {\n AccountId = \"123456789012\",\n Region = \"us-east-1\",\n StackSetName = exampleAwsCloudformationStackSet.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\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 := cloudformation.NewStackSetInstance(ctx, \"example\", \u0026cloudformation.StackSetInstanceArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\tStackSetName: pulumi.Any(exampleAwsCloudformationStackSet.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.StackSetInstance;\nimport com.pulumi.aws.cloudformation.StackSetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new StackSetInstance(\"example\", StackSetInstanceArgs.builder()\n .accountId(\"123456789012\")\n .region(\"us-east-1\")\n .stackSetName(exampleAwsCloudformationStackSet.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudformation:StackSetInstance\n properties:\n accountId: '123456789012'\n region: us-east-1\n stackSetName: ${exampleAwsCloudformationStackSet.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Setup in Target Account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n identifiers: [aWSCloudFormationStackSetAdministrationRole.arn],\n type: \"AWS\",\n }],\n }],\n});\nconst aWSCloudFormationStackSetExecutionRole = new aws.iam.Role(\"AWSCloudFormationStackSetExecutionRole\", {\n assumeRolePolicy: aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.then(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy =\u003e aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.json),\n name: \"AWSCloudFormationStackSetExecutionRole\",\n});\n// Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n// Additional IAM permissions necessary depend on the resources defined in the StackSet template\nconst aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n ],\n effect: \"Allow\",\n resources: [\"*\"],\n }],\n});\nconst aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new aws.iam.RolePolicy(\"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\", {\n name: \"MinimumExecutionPolicy\",\n policy: aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.then(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy =\u003e aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.json),\n role: aWSCloudFormationStackSetExecutionRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\na_ws_cloud_formation_stack_set_execution_role_assume_role_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"identifiers\": [a_ws_cloud_formation_stack_set_administration_role[\"arn\"]],\n \"type\": \"AWS\",\n }],\n}])\na_ws_cloud_formation_stack_set_execution_role = aws.iam.Role(\"AWSCloudFormationStackSetExecutionRole\",\n assume_role_policy=a_ws_cloud_formation_stack_set_execution_role_assume_role_policy.json,\n name=\"AWSCloudFormationStackSetExecutionRole\")\n# Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n# Additional IAM permissions necessary depend on the resources defined in the StackSet template\na_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n ],\n \"effect\": \"Allow\",\n \"resources\": [\"*\"],\n}])\na_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy_role_policy = aws.iam.RolePolicy(\"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\",\n name=\"MinimumExecutionPolicy\",\n policy=a_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy.json,\n role=a_ws_cloud_formation_stack_set_execution_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n aWSCloudFormationStackSetAdministrationRole.Arn,\n },\n Type = \"AWS\",\n },\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetExecutionRole = new Aws.Iam.Role(\"AWSCloudFormationStackSetExecutionRole\", new()\n {\n AssumeRolePolicy = aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"AWSCloudFormationStackSetExecutionRole\",\n });\n\n // Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n // Additional IAM permissions necessary depend on the resources defined in the StackSet template\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n },\n Effect = \"Allow\",\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new Aws.Iam.RolePolicy(\"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\", new()\n {\n Name = \"MinimumExecutionPolicy\",\n Policy = aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = aWSCloudFormationStackSetExecutionRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\naWSCloudFormationStackSetExecutionRoleAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sts:AssumeRole\",\n},\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nIdentifiers: interface{}{\naWSCloudFormationStackSetAdministrationRole.Arn,\n},\nType: \"AWS\",\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\naWSCloudFormationStackSetExecutionRole, err := iam.NewRole(ctx, \"AWSCloudFormationStackSetExecutionRole\", \u0026iam.RoleArgs{\nAssumeRolePolicy: pulumi.String(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.Json),\nName: pulumi.String(\"AWSCloudFormationStackSetExecutionRole\"),\n})\nif err != nil {\nreturn err\n}\n// Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n// Additional IAM permissions necessary depend on the resources defined in the StackSet template\naWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"cloudformation:*\",\n\"s3:*\",\n\"sns:*\",\n},\nEffect: pulumi.StringRef(\"Allow\"),\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.NewRolePolicy(ctx, \"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\", \u0026iam.RolePolicyArgs{\nName: pulumi.String(\"MinimumExecutionPolicy\"),\nPolicy: pulumi.String(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.Json),\nRole: aWSCloudFormationStackSetExecutionRole.Name,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(aWSCloudFormationStackSetAdministrationRole.arn())\n .type(\"AWS\")\n .build())\n .build())\n .build());\n\n var aWSCloudFormationStackSetExecutionRole = new Role(\"aWSCloudFormationStackSetExecutionRole\", RoleArgs.builder()\n .assumeRolePolicy(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"AWSCloudFormationStackSetExecutionRole\")\n .build());\n\n // Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n // Additional IAM permissions necessary depend on the resources defined in the StackSet template\n final var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\")\n .effect(\"Allow\")\n .resources(\"*\")\n .build())\n .build());\n\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new RolePolicy(\"aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"MinimumExecutionPolicy\")\n .policy(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .role(aWSCloudFormationStackSetExecutionRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n aWSCloudFormationStackSetExecutionRole:\n type: aws:iam:Role\n name: AWSCloudFormationStackSetExecutionRole\n properties:\n assumeRolePolicy: ${aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.json}\n name: AWSCloudFormationStackSetExecutionRole\n aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\n properties:\n name: MinimumExecutionPolicy\n policy: ${aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.json}\n role: ${aWSCloudFormationStackSetExecutionRole.name}\nvariables:\n aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - identifiers:\n - ${aWSCloudFormationStackSetAdministrationRole.arn}\n type: AWS\n # Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n # Additional IAM permissions necessary depend on the resources defined in the StackSet template\n aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - cloudformation:*\n - s3:*\n - sns:*\n effect: Allow\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Deployment across Organizations account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudformation.StackSetInstance(\"example\", {\n deploymentTargets: {\n organizationalUnitIds: [exampleAwsOrganizationsOrganization.roots[0].id],\n },\n region: \"us-east-1\",\n stackSetName: exampleAwsCloudformationStackSet.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudformation.StackSetInstance(\"example\",\n deployment_targets={\n \"organizational_unit_ids\": [example_aws_organizations_organization[\"roots\"][0][\"id\"]],\n },\n region=\"us-east-1\",\n stack_set_name=example_aws_cloudformation_stack_set[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFormation.StackSetInstance(\"example\", new()\n {\n DeploymentTargets = new Aws.CloudFormation.Inputs.StackSetInstanceDeploymentTargetsArgs\n {\n OrganizationalUnitIds = new[]\n {\n exampleAwsOrganizationsOrganization.Roots[0].Id,\n },\n },\n Region = \"us-east-1\",\n StackSetName = exampleAwsCloudformationStackSet.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\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 := cloudformation.NewStackSetInstance(ctx, \"example\", \u0026cloudformation.StackSetInstanceArgs{\n\t\t\tDeploymentTargets: \u0026cloudformation.StackSetInstanceDeploymentTargetsArgs{\n\t\t\t\tOrganizationalUnitIds: pulumi.StringArray{\n\t\t\t\t\texampleAwsOrganizationsOrganization.Roots[0].Id,\n\t\t\t\t},\n\t\t\t},\n\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\tStackSetName: pulumi.Any(exampleAwsCloudformationStackSet.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.StackSetInstance;\nimport com.pulumi.aws.cloudformation.StackSetInstanceArgs;\nimport com.pulumi.aws.cloudformation.inputs.StackSetInstanceDeploymentTargetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new StackSetInstance(\"example\", StackSetInstanceArgs.builder()\n .deploymentTargets(StackSetInstanceDeploymentTargetsArgs.builder()\n .organizationalUnitIds(exampleAwsOrganizationsOrganization.roots()[0].id())\n .build())\n .region(\"us-east-1\")\n .stackSetName(exampleAwsCloudformationStackSet.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudformation:StackSetInstance\n properties:\n deploymentTargets:\n organizationalUnitIds:\n - ${exampleAwsOrganizationsOrganization.roots[0].id}\n region: us-east-1\n stackSetName: ${exampleAwsCloudformationStackSet.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport CloudFormation StackSet Instances that target AWS Organizational Units using the StackSet name, a slash (`/`) separated list of organizational unit IDs, and target AWS Region separated by commas (`,`). For example:\n\nImport CloudFormation StackSet Instances when acting a delegated administrator in a member account using the StackSet name, target AWS account ID or slash (`/`) separated list of organizational unit IDs, target AWS Region and `call_as` value separated by commas (`,`). For example:\n\nUsing `pulumi import`, import CloudFormation StackSet Instances that target an AWS Account ID using the StackSet name, target AWS account ID, and target AWS Region separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSetInstance:StackSetInstance example example,123456789012,us-east-1\n```\nUsing `pulumi import`, import CloudFormation StackSet Instances that target AWS Organizational Units using the StackSet name, a slash (`/`) separated list of organizational unit IDs, and target AWS Region separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSetInstance:StackSetInstance example example,ou-sdas-123123123/ou-sdas-789789789,us-east-1\n```\nUsing `pulumi import`, import CloudFormation StackSet Instances when acting a delegated administrator in a member account using the StackSet name, target AWS account ID or slash (`/`) separated list of organizational unit IDs, target AWS Region and `call_as` value separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSetInstance:StackSetInstance example example,ou-sdas-123123123/ou-sdas-789789789,us-east-1,DELEGATED_ADMIN\n```\n", "properties": { "accountId": { "type": "string", @@ -201097,7 +201097,7 @@ } }, "aws:cloudfront/fieldLevelEncryptionProfile:FieldLevelEncryptionProfile": { - "description": "Provides a CloudFront Field-level Encryption Profile resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cloudfront.PublicKey(\"example\", {\n comment: \"test public key\",\n encodedKey: std.file({\n input: \"public_key.pem\",\n }).then(invoke =\u003e invoke.result),\n name: \"test_key\",\n});\nconst test = new aws.cloudfront.FieldLevelEncryptionProfile(\"test\", {\n comment: \"test comment\",\n name: \"test profile\",\n encryptionEntities: {\n items: [{\n publicKeyId: example.id,\n providerId: \"test provider\",\n fieldPatterns: {\n items: [\"DateOfBirth\"],\n },\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cloudfront.PublicKey(\"example\",\n comment=\"test public key\",\n encoded_key=std.file(input=\"public_key.pem\").result,\n name=\"test_key\")\ntest = aws.cloudfront.FieldLevelEncryptionProfile(\"test\",\n comment=\"test comment\",\n name=\"test profile\",\n encryption_entities={\n \"items\": [{\n \"public_key_id\": example.id,\n \"provider_id\": \"test provider\",\n \"field_patterns\": {\n \"items\": [\"DateOfBirth\"],\n },\n }],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.PublicKey(\"example\", new()\n {\n Comment = \"test public key\",\n EncodedKey = Std.File.Invoke(new()\n {\n Input = \"public_key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Name = \"test_key\",\n });\n\n var test = new Aws.CloudFront.FieldLevelEncryptionProfile(\"test\", new()\n {\n Comment = \"test comment\",\n Name = \"test profile\",\n EncryptionEntities = new Aws.CloudFront.Inputs.FieldLevelEncryptionProfileEncryptionEntitiesArgs\n {\n Items = new[]\n {\n new Aws.CloudFront.Inputs.FieldLevelEncryptionProfileEncryptionEntitiesItemArgs\n {\n PublicKeyId = example.Id,\n ProviderId = \"test provider\",\n FieldPatterns = new Aws.CloudFront.Inputs.FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs\n {\n Items = new[]\n {\n \"DateOfBirth\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"public_key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cloudfront.NewPublicKey(ctx, \"example\", \u0026cloudfront.PublicKeyArgs{\n\t\t\tComment: pulumi.String(\"test public key\"),\n\t\t\tEncodedKey: pulumi.String(invokeFile.Result),\n\t\t\tName: pulumi.String(\"test_key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfront.NewFieldLevelEncryptionProfile(ctx, \"test\", \u0026cloudfront.FieldLevelEncryptionProfileArgs{\n\t\t\tComment: pulumi.String(\"test comment\"),\n\t\t\tName: pulumi.String(\"test profile\"),\n\t\t\tEncryptionEntities: \u0026cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesArgs{\n\t\t\t\tItems: cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesItemArray{\n\t\t\t\t\t\u0026cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesItemArgs{\n\t\t\t\t\t\tPublicKeyId: example.ID(),\n\t\t\t\t\t\tProviderId: pulumi.String(\"test provider\"),\n\t\t\t\t\t\tFieldPatterns: \u0026cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs{\n\t\t\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"DateOfBirth\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.PublicKey;\nimport com.pulumi.aws.cloudfront.PublicKeyArgs;\nimport com.pulumi.aws.cloudfront.FieldLevelEncryptionProfile;\nimport com.pulumi.aws.cloudfront.FieldLevelEncryptionProfileArgs;\nimport com.pulumi.aws.cloudfront.inputs.FieldLevelEncryptionProfileEncryptionEntitiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new PublicKey(\"example\", PublicKeyArgs.builder()\n .comment(\"test public key\")\n .encodedKey(StdFunctions.file(FileArgs.builder()\n .input(\"public_key.pem\")\n .build()).result())\n .name(\"test_key\")\n .build());\n\n var test = new FieldLevelEncryptionProfile(\"test\", FieldLevelEncryptionProfileArgs.builder()\n .comment(\"test comment\")\n .name(\"test profile\")\n .encryptionEntities(FieldLevelEncryptionProfileEncryptionEntitiesArgs.builder()\n .items(FieldLevelEncryptionProfileEncryptionEntitiesItemArgs.builder()\n .publicKeyId(example.id())\n .providerId(\"test provider\")\n .fieldPatterns(FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs.builder()\n .items(\"DateOfBirth\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:PublicKey\n properties:\n comment: test public key\n encodedKey:\n fn::invoke:\n function: std:file\n arguments:\n input: public_key.pem\n return: result\n name: test_key\n test:\n type: aws:cloudfront:FieldLevelEncryptionProfile\n properties:\n comment: test comment\n name: test profile\n encryptionEntities:\n items:\n - publicKeyId: ${example.id}\n providerId: test provider\n fieldPatterns:\n items:\n - DateOfBirth\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudfront Field Level Encryption Profile using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/fieldLevelEncryptionProfile:FieldLevelEncryptionProfile profile K3D5EWEUDCCXON\n```\n", + "description": "Provides a CloudFront Field-level Encryption Profile resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cloudfront.PublicKey(\"example\", {\n comment: \"test public key\",\n encodedKey: std.file({\n input: \"public_key.pem\",\n }).then(invoke =\u003e invoke.result),\n name: \"test_key\",\n});\nconst test = new aws.cloudfront.FieldLevelEncryptionProfile(\"test\", {\n comment: \"test comment\",\n name: \"test profile\",\n encryptionEntities: {\n items: [{\n publicKeyId: example.id,\n providerId: \"test provider\",\n fieldPatterns: {\n items: [\"DateOfBirth\"],\n },\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cloudfront.PublicKey(\"example\",\n comment=\"test public key\",\n encoded_key=std.file(input=\"public_key.pem\").result,\n name=\"test_key\")\ntest = aws.cloudfront.FieldLevelEncryptionProfile(\"test\",\n comment=\"test comment\",\n name=\"test profile\",\n encryption_entities={\n \"items\": [{\n \"public_key_id\": example.id,\n \"provider_id\": \"test provider\",\n \"field_patterns\": {\n \"items\": [\"DateOfBirth\"],\n },\n }],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.PublicKey(\"example\", new()\n {\n Comment = \"test public key\",\n EncodedKey = Std.File.Invoke(new()\n {\n Input = \"public_key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Name = \"test_key\",\n });\n\n var test = new Aws.CloudFront.FieldLevelEncryptionProfile(\"test\", new()\n {\n Comment = \"test comment\",\n Name = \"test profile\",\n EncryptionEntities = new Aws.CloudFront.Inputs.FieldLevelEncryptionProfileEncryptionEntitiesArgs\n {\n Items = new[]\n {\n new Aws.CloudFront.Inputs.FieldLevelEncryptionProfileEncryptionEntitiesItemArgs\n {\n PublicKeyId = example.Id,\n ProviderId = \"test provider\",\n FieldPatterns = new Aws.CloudFront.Inputs.FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs\n {\n Items = new[]\n {\n \"DateOfBirth\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"public_key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cloudfront.NewPublicKey(ctx, \"example\", \u0026cloudfront.PublicKeyArgs{\n\t\t\tComment: pulumi.String(\"test public key\"),\n\t\t\tEncodedKey: pulumi.String(invokeFile.Result),\n\t\t\tName: pulumi.String(\"test_key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfront.NewFieldLevelEncryptionProfile(ctx, \"test\", \u0026cloudfront.FieldLevelEncryptionProfileArgs{\n\t\t\tComment: pulumi.String(\"test comment\"),\n\t\t\tName: pulumi.String(\"test profile\"),\n\t\t\tEncryptionEntities: \u0026cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesArgs{\n\t\t\t\tItems: cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesItemArray{\n\t\t\t\t\t\u0026cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesItemArgs{\n\t\t\t\t\t\tPublicKeyId: example.ID(),\n\t\t\t\t\t\tProviderId: pulumi.String(\"test provider\"),\n\t\t\t\t\t\tFieldPatterns: \u0026cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs{\n\t\t\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"DateOfBirth\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.PublicKey;\nimport com.pulumi.aws.cloudfront.PublicKeyArgs;\nimport com.pulumi.aws.cloudfront.FieldLevelEncryptionProfile;\nimport com.pulumi.aws.cloudfront.FieldLevelEncryptionProfileArgs;\nimport com.pulumi.aws.cloudfront.inputs.FieldLevelEncryptionProfileEncryptionEntitiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new PublicKey(\"example\", PublicKeyArgs.builder()\n .comment(\"test public key\")\n .encodedKey(StdFunctions.file(FileArgs.builder()\n .input(\"public_key.pem\")\n .build()).result())\n .name(\"test_key\")\n .build());\n\n var test = new FieldLevelEncryptionProfile(\"test\", FieldLevelEncryptionProfileArgs.builder()\n .comment(\"test comment\")\n .name(\"test profile\")\n .encryptionEntities(FieldLevelEncryptionProfileEncryptionEntitiesArgs.builder()\n .items(FieldLevelEncryptionProfileEncryptionEntitiesItemArgs.builder()\n .publicKeyId(example.id())\n .providerId(\"test provider\")\n .fieldPatterns(FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs.builder()\n .items(\"DateOfBirth\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:PublicKey\n properties:\n comment: test public key\n encodedKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: public_key.pem\n Return: result\n name: test_key\n test:\n type: aws:cloudfront:FieldLevelEncryptionProfile\n properties:\n comment: test comment\n name: test profile\n encryptionEntities:\n items:\n - publicKeyId: ${example.id}\n providerId: test provider\n fieldPatterns:\n items:\n - DateOfBirth\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudfront Field Level Encryption Profile using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/fieldLevelEncryptionProfile:FieldLevelEncryptionProfile profile K3D5EWEUDCCXON\n```\n", "properties": { "callerReference": { "type": "string", @@ -201312,7 +201312,7 @@ } }, "aws:cloudfront/keyGroup:KeyGroup": { - "description": "## Example Usage\n\nThe following example below creates a CloudFront key group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cloudfront.PublicKey(\"example\", {\n comment: \"example public key\",\n encodedKey: std.file({\n input: \"public_key.pem\",\n }).then(invoke =\u003e invoke.result),\n name: \"example-key\",\n});\nconst exampleKeyGroup = new aws.cloudfront.KeyGroup(\"example\", {\n comment: \"example key group\",\n items: [example.id],\n name: \"example-key-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cloudfront.PublicKey(\"example\",\n comment=\"example public key\",\n encoded_key=std.file(input=\"public_key.pem\").result,\n name=\"example-key\")\nexample_key_group = aws.cloudfront.KeyGroup(\"example\",\n comment=\"example key group\",\n items=[example.id],\n name=\"example-key-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.PublicKey(\"example\", new()\n {\n Comment = \"example public key\",\n EncodedKey = Std.File.Invoke(new()\n {\n Input = \"public_key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Name = \"example-key\",\n });\n\n var exampleKeyGroup = new Aws.CloudFront.KeyGroup(\"example\", new()\n {\n Comment = \"example key group\",\n Items = new[]\n {\n example.Id,\n },\n Name = \"example-key-group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"public_key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cloudfront.NewPublicKey(ctx, \"example\", \u0026cloudfront.PublicKeyArgs{\n\t\t\tComment: pulumi.String(\"example public key\"),\n\t\t\tEncodedKey: pulumi.String(invokeFile.Result),\n\t\t\tName: pulumi.String(\"example-key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfront.NewKeyGroup(ctx, \"example\", \u0026cloudfront.KeyGroupArgs{\n\t\t\tComment: pulumi.String(\"example key group\"),\n\t\t\tItems: pulumi.StringArray{\n\t\t\t\texample.ID(),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example-key-group\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.PublicKey;\nimport com.pulumi.aws.cloudfront.PublicKeyArgs;\nimport com.pulumi.aws.cloudfront.KeyGroup;\nimport com.pulumi.aws.cloudfront.KeyGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new PublicKey(\"example\", PublicKeyArgs.builder()\n .comment(\"example public key\")\n .encodedKey(StdFunctions.file(FileArgs.builder()\n .input(\"public_key.pem\")\n .build()).result())\n .name(\"example-key\")\n .build());\n\n var exampleKeyGroup = new KeyGroup(\"exampleKeyGroup\", KeyGroupArgs.builder()\n .comment(\"example key group\")\n .items(example.id())\n .name(\"example-key-group\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:PublicKey\n properties:\n comment: example public key\n encodedKey:\n fn::invoke:\n function: std:file\n arguments:\n input: public_key.pem\n return: result\n name: example-key\n exampleKeyGroup:\n type: aws:cloudfront:KeyGroup\n name: example\n properties:\n comment: example key group\n items:\n - ${example.id}\n name: example-key-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront Key Group using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/keyGroup:KeyGroup example 4b4f2r1c-315d-5c2e-f093-216t50jed10f\n```\n", + "description": "## Example Usage\n\nThe following example below creates a CloudFront key group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cloudfront.PublicKey(\"example\", {\n comment: \"example public key\",\n encodedKey: std.file({\n input: \"public_key.pem\",\n }).then(invoke =\u003e invoke.result),\n name: \"example-key\",\n});\nconst exampleKeyGroup = new aws.cloudfront.KeyGroup(\"example\", {\n comment: \"example key group\",\n items: [example.id],\n name: \"example-key-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cloudfront.PublicKey(\"example\",\n comment=\"example public key\",\n encoded_key=std.file(input=\"public_key.pem\").result,\n name=\"example-key\")\nexample_key_group = aws.cloudfront.KeyGroup(\"example\",\n comment=\"example key group\",\n items=[example.id],\n name=\"example-key-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.PublicKey(\"example\", new()\n {\n Comment = \"example public key\",\n EncodedKey = Std.File.Invoke(new()\n {\n Input = \"public_key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Name = \"example-key\",\n });\n\n var exampleKeyGroup = new Aws.CloudFront.KeyGroup(\"example\", new()\n {\n Comment = \"example key group\",\n Items = new[]\n {\n example.Id,\n },\n Name = \"example-key-group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"public_key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cloudfront.NewPublicKey(ctx, \"example\", \u0026cloudfront.PublicKeyArgs{\n\t\t\tComment: pulumi.String(\"example public key\"),\n\t\t\tEncodedKey: pulumi.String(invokeFile.Result),\n\t\t\tName: pulumi.String(\"example-key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfront.NewKeyGroup(ctx, \"example\", \u0026cloudfront.KeyGroupArgs{\n\t\t\tComment: pulumi.String(\"example key group\"),\n\t\t\tItems: pulumi.StringArray{\n\t\t\t\texample.ID(),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example-key-group\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.PublicKey;\nimport com.pulumi.aws.cloudfront.PublicKeyArgs;\nimport com.pulumi.aws.cloudfront.KeyGroup;\nimport com.pulumi.aws.cloudfront.KeyGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new PublicKey(\"example\", PublicKeyArgs.builder()\n .comment(\"example public key\")\n .encodedKey(StdFunctions.file(FileArgs.builder()\n .input(\"public_key.pem\")\n .build()).result())\n .name(\"example-key\")\n .build());\n\n var exampleKeyGroup = new KeyGroup(\"exampleKeyGroup\", KeyGroupArgs.builder()\n .comment(\"example key group\")\n .items(example.id())\n .name(\"example-key-group\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:PublicKey\n properties:\n comment: example public key\n encodedKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: public_key.pem\n Return: result\n name: example-key\n exampleKeyGroup:\n type: aws:cloudfront:KeyGroup\n name: example\n properties:\n comment: example key group\n items:\n - ${example.id}\n name: example-key-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront Key Group using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/keyGroup:KeyGroup example 4b4f2r1c-315d-5c2e-f093-216t50jed10f\n```\n", "properties": { "comment": { "type": "string", @@ -201683,7 +201683,7 @@ } }, "aws:cloudfront/originAccessIdentity:OriginAccessIdentity": { - "description": "Creates an Amazon CloudFront origin access identity.\n\nFor information about CloudFront distributions, see the\n[Amazon CloudFront Developer Guide](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html). For more information on generating\norigin access identities, see\n[Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content][2].\n\n## Example Usage\n\nThe following example below creates a CloudFront origin access identity.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.OriginAccessIdentity(\"example\", {comment: \"Some comment\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.OriginAccessIdentity(\"example\", comment=\"Some comment\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.OriginAccessIdentity(\"example\", new()\n {\n Comment = \"Some comment\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.NewOriginAccessIdentity(ctx, \"example\", \u0026cloudfront.OriginAccessIdentityArgs{\n\t\t\tComment: pulumi.String(\"Some comment\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.OriginAccessIdentity;\nimport com.pulumi.aws.cloudfront.OriginAccessIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new OriginAccessIdentity(\"example\", OriginAccessIdentityArgs.builder()\n .comment(\"Some comment\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:OriginAccessIdentity\n properties:\n comment: Some comment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Using With CloudFront\n\nNormally, when referencing an origin access identity in CloudFront, you need to\nprefix the ID with the `origin-access-identity/cloudfront/` special path.\nThe `cloudfront_access_identity_path` allows this to be circumvented.\nThe below snippet demonstrates use with the `s3_origin_config` structure for the\n`aws.cloudfront.Distribution` resource:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.Distribution(\"example\", {origins: [{\n s3OriginConfig: {\n originAccessIdentity: exampleAwsCloudfrontOriginAccessIdentity.cloudfrontAccessIdentityPath,\n },\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.Distribution(\"example\", origins=[{\n \"s3_origin_config\": {\n \"origin_access_identity\": example_aws_cloudfront_origin_access_identity[\"cloudfrontAccessIdentityPath\"],\n },\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.Distribution(\"example\", new()\n {\n Origins = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs\n {\n OriginAccessIdentity = exampleAwsCloudfrontOriginAccessIdentity.CloudfrontAccessIdentityPath,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.NewDistribution(ctx, \"example\", \u0026cloudfront.DistributionArgs{\n\t\t\tOrigins: cloudfront.DistributionOriginArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tS3OriginConfig: \u0026cloudfront.DistributionOriginS3OriginConfigArgs{\n\t\t\t\t\t\tOriginAccessIdentity: pulumi.Any(exampleAwsCloudfrontOriginAccessIdentity.CloudfrontAccessIdentityPath),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginS3OriginConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Distribution(\"example\", DistributionArgs.builder()\n .origins(DistributionOriginArgs.builder()\n .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()\n .originAccessIdentity(exampleAwsCloudfrontOriginAccessIdentity.cloudfrontAccessIdentityPath())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:Distribution\n properties:\n origins:\n - s3OriginConfig:\n originAccessIdentity: ${exampleAwsCloudfrontOriginAccessIdentity.cloudfrontAccessIdentityPath}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Updating your bucket policy\n\nNote that the AWS API may translate the `s3_canonical_user_id` `CanonicalUser`\nprincipal into an `AWS` IAM ARN principal when supplied in an\n`aws.s3.BucketV2` bucket policy, causing spurious diffs. If\nyou see this behavior, use the `iam_arn` instead:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3Policy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"s3:GetObject\"],\n resources: [`${exampleAwsS3Bucket.arn}/*`],\n principals: [{\n type: \"AWS\",\n identifiers: [exampleAwsCloudfrontOriginAccessIdentity.iamArn],\n }],\n }],\n});\nconst example = new aws.s3.BucketPolicy(\"example\", {\n bucket: exampleAwsS3Bucket.id,\n policy: s3Policy.then(s3Policy =\u003e s3Policy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"s3:GetObject\"],\n \"resources\": [f\"{example_aws_s3_bucket['arn']}/*\"],\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [example_aws_cloudfront_origin_access_identity[\"iamArn\"]],\n }],\n}])\nexample = aws.s3.BucketPolicy(\"example\",\n bucket=example_aws_s3_bucket[\"id\"],\n policy=s3_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3Policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:GetObject\",\n },\n Resources = new[]\n {\n $\"{exampleAwsS3Bucket.Arn}/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n exampleAwsCloudfrontOriginAccessIdentity.IamArn,\n },\n },\n },\n },\n },\n });\n\n var example = new Aws.S3.BucketPolicy(\"example\", new()\n {\n Bucket = exampleAwsS3Bucket.Id,\n Policy = s3Policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ns3Policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"s3:GetObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/*\", exampleAwsS3Bucket.Arn),\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nexampleAwsCloudfrontOriginAccessIdentity.IamArn,\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = s3.NewBucketPolicy(ctx, \"example\", \u0026s3.BucketPolicyArgs{\nBucket: pulumi.Any(exampleAwsS3Bucket.Id),\nPolicy: pulumi.String(s3Policy.Json),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var s3Policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"s3:GetObject\")\n .resources(String.format(\"%s/*\", exampleAwsS3Bucket.arn()))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(exampleAwsCloudfrontOriginAccessIdentity.iamArn())\n .build())\n .build())\n .build());\n\n var example = new BucketPolicy(\"example\", BucketPolicyArgs.builder()\n .bucket(exampleAwsS3Bucket.id())\n .policy(s3Policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketPolicy\n properties:\n bucket: ${exampleAwsS3Bucket.id}\n policy: ${s3Policy.json}\nvariables:\n s3Policy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - s3:GetObject\n resources:\n - ${exampleAwsS3Bucket.arn}/*\n principals:\n - type: AWS\n identifiers:\n - ${exampleAwsCloudfrontOriginAccessIdentity.iamArn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n[1]: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html\n[2]: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n## Import\n\nUsing `pulumi import`, import Cloudfront Origin Access Identities using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/originAccessIdentity:OriginAccessIdentity origin_access E74FTE3AEXAMPLE\n```\n", + "description": "Creates an Amazon CloudFront origin access identity.\n\nFor information about CloudFront distributions, see the\n[Amazon CloudFront Developer Guide](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html). For more information on generating\norigin access identities, see\n[Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content][2].\n\n## Example Usage\n\nThe following example below creates a CloudFront origin access identity.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.OriginAccessIdentity(\"example\", {comment: \"Some comment\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.OriginAccessIdentity(\"example\", comment=\"Some comment\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.OriginAccessIdentity(\"example\", new()\n {\n Comment = \"Some comment\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.NewOriginAccessIdentity(ctx, \"example\", \u0026cloudfront.OriginAccessIdentityArgs{\n\t\t\tComment: pulumi.String(\"Some comment\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.OriginAccessIdentity;\nimport com.pulumi.aws.cloudfront.OriginAccessIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new OriginAccessIdentity(\"example\", OriginAccessIdentityArgs.builder()\n .comment(\"Some comment\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:OriginAccessIdentity\n properties:\n comment: Some comment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Using With CloudFront\n\nNormally, when referencing an origin access identity in CloudFront, you need to\nprefix the ID with the `origin-access-identity/cloudfront/` special path.\nThe `cloudfront_access_identity_path` allows this to be circumvented.\nThe below snippet demonstrates use with the `s3_origin_config` structure for the\n`aws.cloudfront.Distribution` resource:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.Distribution(\"example\", {origins: [{\n s3OriginConfig: {\n originAccessIdentity: exampleAwsCloudfrontOriginAccessIdentity.cloudfrontAccessIdentityPath,\n },\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.Distribution(\"example\", origins=[{\n \"s3_origin_config\": {\n \"origin_access_identity\": example_aws_cloudfront_origin_access_identity[\"cloudfrontAccessIdentityPath\"],\n },\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.Distribution(\"example\", new()\n {\n Origins = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs\n {\n OriginAccessIdentity = exampleAwsCloudfrontOriginAccessIdentity.CloudfrontAccessIdentityPath,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.NewDistribution(ctx, \"example\", \u0026cloudfront.DistributionArgs{\n\t\t\tOrigins: cloudfront.DistributionOriginArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tS3OriginConfig: \u0026cloudfront.DistributionOriginS3OriginConfigArgs{\n\t\t\t\t\t\tOriginAccessIdentity: pulumi.Any(exampleAwsCloudfrontOriginAccessIdentity.CloudfrontAccessIdentityPath),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginS3OriginConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Distribution(\"example\", DistributionArgs.builder()\n .origins(DistributionOriginArgs.builder()\n .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()\n .originAccessIdentity(exampleAwsCloudfrontOriginAccessIdentity.cloudfrontAccessIdentityPath())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:Distribution\n properties:\n origins:\n - s3OriginConfig:\n originAccessIdentity: ${exampleAwsCloudfrontOriginAccessIdentity.cloudfrontAccessIdentityPath}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Updating your bucket policy\n\nNote that the AWS API may translate the `s3_canonical_user_id` `CanonicalUser`\nprincipal into an `AWS` IAM ARN principal when supplied in an\n`aws.s3.BucketV2` bucket policy, causing spurious diffs. If\nyou see this behavior, use the `iam_arn` instead:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3Policy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"s3:GetObject\"],\n resources: [`${exampleAwsS3Bucket.arn}/*`],\n principals: [{\n type: \"AWS\",\n identifiers: [exampleAwsCloudfrontOriginAccessIdentity.iamArn],\n }],\n }],\n});\nconst example = new aws.s3.BucketPolicy(\"example\", {\n bucket: exampleAwsS3Bucket.id,\n policy: s3Policy.then(s3Policy =\u003e s3Policy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"s3:GetObject\"],\n \"resources\": [f\"{example_aws_s3_bucket['arn']}/*\"],\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [example_aws_cloudfront_origin_access_identity[\"iamArn\"]],\n }],\n}])\nexample = aws.s3.BucketPolicy(\"example\",\n bucket=example_aws_s3_bucket[\"id\"],\n policy=s3_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3Policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:GetObject\",\n },\n Resources = new[]\n {\n $\"{exampleAwsS3Bucket.Arn}/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n exampleAwsCloudfrontOriginAccessIdentity.IamArn,\n },\n },\n },\n },\n },\n });\n\n var example = new Aws.S3.BucketPolicy(\"example\", new()\n {\n Bucket = exampleAwsS3Bucket.Id,\n Policy = s3Policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ns3Policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"s3:GetObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/*\", exampleAwsS3Bucket.Arn),\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nexampleAwsCloudfrontOriginAccessIdentity.IamArn,\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = s3.NewBucketPolicy(ctx, \"example\", \u0026s3.BucketPolicyArgs{\nBucket: pulumi.Any(exampleAwsS3Bucket.Id),\nPolicy: pulumi.String(s3Policy.Json),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var s3Policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"s3:GetObject\")\n .resources(String.format(\"%s/*\", exampleAwsS3Bucket.arn()))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(exampleAwsCloudfrontOriginAccessIdentity.iamArn())\n .build())\n .build())\n .build());\n\n var example = new BucketPolicy(\"example\", BucketPolicyArgs.builder()\n .bucket(exampleAwsS3Bucket.id())\n .policy(s3Policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketPolicy\n properties:\n bucket: ${exampleAwsS3Bucket.id}\n policy: ${s3Policy.json}\nvariables:\n s3Policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - s3:GetObject\n resources:\n - ${exampleAwsS3Bucket.arn}/*\n principals:\n - type: AWS\n identifiers:\n - ${exampleAwsCloudfrontOriginAccessIdentity.iamArn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n[1]: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html\n[2]: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n## Import\n\nUsing `pulumi import`, import Cloudfront Origin Access Identities using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/originAccessIdentity:OriginAccessIdentity origin_access E74FTE3AEXAMPLE\n```\n", "properties": { "callerReference": { "type": "string", @@ -201848,7 +201848,7 @@ } }, "aws:cloudfront/publicKey:PublicKey": { - "description": "## Example Usage\n\nThe following example below creates a CloudFront public key.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cloudfront.PublicKey(\"example\", {\n comment: \"test public key\",\n encodedKey: std.file({\n input: \"public_key.pem\",\n }).then(invoke =\u003e invoke.result),\n name: \"test_key\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cloudfront.PublicKey(\"example\",\n comment=\"test public key\",\n encoded_key=std.file(input=\"public_key.pem\").result,\n name=\"test_key\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.PublicKey(\"example\", new()\n {\n Comment = \"test public key\",\n EncodedKey = Std.File.Invoke(new()\n {\n Input = \"public_key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Name = \"test_key\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"public_key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfront.NewPublicKey(ctx, \"example\", \u0026cloudfront.PublicKeyArgs{\n\t\t\tComment: pulumi.String(\"test public key\"),\n\t\t\tEncodedKey: pulumi.String(invokeFile.Result),\n\t\t\tName: pulumi.String(\"test_key\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.PublicKey;\nimport com.pulumi.aws.cloudfront.PublicKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new PublicKey(\"example\", PublicKeyArgs.builder()\n .comment(\"test public key\")\n .encodedKey(StdFunctions.file(FileArgs.builder()\n .input(\"public_key.pem\")\n .build()).result())\n .name(\"test_key\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:PublicKey\n properties:\n comment: test public key\n encodedKey:\n fn::invoke:\n function: std:file\n arguments:\n input: public_key.pem\n return: result\n name: test_key\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront Public Key using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/publicKey:PublicKey example K3D5EWEUDCCXON\n```\n", + "description": "## Example Usage\n\nThe following example below creates a CloudFront public key.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cloudfront.PublicKey(\"example\", {\n comment: \"test public key\",\n encodedKey: std.file({\n input: \"public_key.pem\",\n }).then(invoke =\u003e invoke.result),\n name: \"test_key\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cloudfront.PublicKey(\"example\",\n comment=\"test public key\",\n encoded_key=std.file(input=\"public_key.pem\").result,\n name=\"test_key\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.PublicKey(\"example\", new()\n {\n Comment = \"test public key\",\n EncodedKey = Std.File.Invoke(new()\n {\n Input = \"public_key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Name = \"test_key\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"public_key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfront.NewPublicKey(ctx, \"example\", \u0026cloudfront.PublicKeyArgs{\n\t\t\tComment: pulumi.String(\"test public key\"),\n\t\t\tEncodedKey: pulumi.String(invokeFile.Result),\n\t\t\tName: pulumi.String(\"test_key\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.PublicKey;\nimport com.pulumi.aws.cloudfront.PublicKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new PublicKey(\"example\", PublicKeyArgs.builder()\n .comment(\"test public key\")\n .encodedKey(StdFunctions.file(FileArgs.builder()\n .input(\"public_key.pem\")\n .build()).result())\n .name(\"test_key\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:PublicKey\n properties:\n comment: test public key\n encodedKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: public_key.pem\n Return: result\n name: test_key\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront Public Key using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/publicKey:PublicKey example K3D5EWEUDCCXON\n```\n", "properties": { "callerReference": { "type": "string", @@ -201941,7 +201941,7 @@ } }, "aws:cloudfront/realtimeLogConfig:RealtimeLogConfig": { - "description": "Provides a CloudFront real-time log configuration resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"cloudfront.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"cloudfront-realtime-log-config-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:DescribeStream\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\",\n ],\n resources: [exampleAwsKinesisStream.arn],\n }],\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n name: \"cloudfront-realtime-log-config-example\",\n role: exampleRole.id,\n policy: example.then(example =\u003e example.json),\n});\nconst exampleRealtimeLogConfig = new aws.cloudfront.RealtimeLogConfig(\"example\", {\n name: \"example\",\n samplingRate: 75,\n fields: [\n \"timestamp\",\n \"c-ip\",\n ],\n endpoint: {\n streamType: \"Kinesis\",\n kinesisStreamConfig: {\n roleArn: exampleRole.arn,\n streamArn: exampleAwsKinesisStream.arn,\n },\n },\n}, {\n dependsOn: [exampleRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"cloudfront.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"cloudfront-realtime-log-config-example\",\n assume_role_policy=assume_role.json)\nexample = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:DescribeStream\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\",\n ],\n \"resources\": [example_aws_kinesis_stream[\"arn\"]],\n}])\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n name=\"cloudfront-realtime-log-config-example\",\n role=example_role.id,\n policy=example.json)\nexample_realtime_log_config = aws.cloudfront.RealtimeLogConfig(\"example\",\n name=\"example\",\n sampling_rate=75,\n fields=[\n \"timestamp\",\n \"c-ip\",\n ],\n endpoint={\n \"stream_type\": \"Kinesis\",\n \"kinesis_stream_config\": {\n \"role_arn\": example_role.arn,\n \"stream_arn\": example_aws_kinesis_stream[\"arn\"],\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"cloudfront.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"cloudfront-realtime-log-config-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:DescribeStream\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\",\n },\n Resources = new[]\n {\n exampleAwsKinesisStream.Arn,\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Name = \"cloudfront-realtime-log-config-example\",\n Role = exampleRole.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRealtimeLogConfig = new Aws.CloudFront.RealtimeLogConfig(\"example\", new()\n {\n Name = \"example\",\n SamplingRate = 75,\n Fields = new[]\n {\n \"timestamp\",\n \"c-ip\",\n },\n Endpoint = new Aws.CloudFront.Inputs.RealtimeLogConfigEndpointArgs\n {\n StreamType = \"Kinesis\",\n KinesisStreamConfig = new Aws.CloudFront.Inputs.RealtimeLogConfigEndpointKinesisStreamConfigArgs\n {\n RoleArn = exampleRole.Arn,\n StreamArn = exampleAwsKinesisStream.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"cloudfront.amazonaws.com\",\n},\n},\n},\nActions: []string{\n\"sts:AssumeRole\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\nName: pulumi.String(\"cloudfront-realtime-log-config-example\"),\nAssumeRolePolicy: pulumi.String(assumeRole.Json),\n})\nif err != nil {\nreturn err\n}\nexample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"kinesis:DescribeStreamSummary\",\n\"kinesis:DescribeStream\",\n\"kinesis:PutRecord\",\n\"kinesis:PutRecords\",\n},\nResources: interface{}{\nexampleAwsKinesisStream.Arn,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleRolePolicy, err := iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\nName: pulumi.String(\"cloudfront-realtime-log-config-example\"),\nRole: exampleRole.ID(),\nPolicy: pulumi.String(example.Json),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudfront.NewRealtimeLogConfig(ctx, \"example\", \u0026cloudfront.RealtimeLogConfigArgs{\nName: pulumi.String(\"example\"),\nSamplingRate: pulumi.Int(75),\nFields: pulumi.StringArray{\npulumi.String(\"timestamp\"),\npulumi.String(\"c-ip\"),\n},\nEndpoint: \u0026cloudfront.RealtimeLogConfigEndpointArgs{\nStreamType: pulumi.String(\"Kinesis\"),\nKinesisStreamConfig: \u0026cloudfront.RealtimeLogConfigEndpointKinesisStreamConfigArgs{\nRoleArn: exampleRole.Arn,\nStreamArn: pulumi.Any(exampleAwsKinesisStream.Arn),\n},\n},\n}, pulumi.DependsOn([]pulumi.Resource{\nexampleRolePolicy,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.cloudfront.RealtimeLogConfig;\nimport com.pulumi.aws.cloudfront.RealtimeLogConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.RealtimeLogConfigEndpointArgs;\nimport com.pulumi.aws.cloudfront.inputs.RealtimeLogConfigEndpointKinesisStreamConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"cloudfront.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"cloudfront-realtime-log-config-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"kinesis:DescribeStreamSummary\",\n \"kinesis:DescribeStream\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\")\n .resources(exampleAwsKinesisStream.arn())\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .name(\"cloudfront-realtime-log-config-example\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleRealtimeLogConfig = new RealtimeLogConfig(\"exampleRealtimeLogConfig\", RealtimeLogConfigArgs.builder()\n .name(\"example\")\n .samplingRate(75)\n .fields( \n \"timestamp\",\n \"c-ip\")\n .endpoint(RealtimeLogConfigEndpointArgs.builder()\n .streamType(\"Kinesis\")\n .kinesisStreamConfig(RealtimeLogConfigEndpointKinesisStreamConfigArgs.builder()\n .roleArn(exampleRole.arn())\n .streamArn(exampleAwsKinesisStream.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: cloudfront-realtime-log-config-example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: cloudfront-realtime-log-config-example\n role: ${exampleRole.id}\n policy: ${example.json}\n exampleRealtimeLogConfig:\n type: aws:cloudfront:RealtimeLogConfig\n name: example\n properties:\n name: example\n samplingRate: 75\n fields:\n - timestamp\n - c-ip\n endpoint:\n streamType: Kinesis\n kinesisStreamConfig:\n roleArn: ${exampleRole.arn}\n streamArn: ${exampleAwsKinesisStream.arn}\n options:\n dependsOn:\n - ${exampleRolePolicy}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - cloudfront.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - kinesis:DescribeStreamSummary\n - kinesis:DescribeStream\n - kinesis:PutRecord\n - kinesis:PutRecords\n resources:\n - ${exampleAwsKinesisStream.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront real-time log configurations using the ARN. For example:\n\n```sh\n$ pulumi import aws:cloudfront/realtimeLogConfig:RealtimeLogConfig example arn:aws:cloudfront::111122223333:realtime-log-config/ExampleNameForRealtimeLogConfig\n```\n", + "description": "Provides a CloudFront real-time log configuration resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"cloudfront.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"cloudfront-realtime-log-config-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:DescribeStream\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\",\n ],\n resources: [exampleAwsKinesisStream.arn],\n }],\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n name: \"cloudfront-realtime-log-config-example\",\n role: exampleRole.id,\n policy: example.then(example =\u003e example.json),\n});\nconst exampleRealtimeLogConfig = new aws.cloudfront.RealtimeLogConfig(\"example\", {\n name: \"example\",\n samplingRate: 75,\n fields: [\n \"timestamp\",\n \"c-ip\",\n ],\n endpoint: {\n streamType: \"Kinesis\",\n kinesisStreamConfig: {\n roleArn: exampleRole.arn,\n streamArn: exampleAwsKinesisStream.arn,\n },\n },\n}, {\n dependsOn: [exampleRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"cloudfront.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"cloudfront-realtime-log-config-example\",\n assume_role_policy=assume_role.json)\nexample = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:DescribeStream\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\",\n ],\n \"resources\": [example_aws_kinesis_stream[\"arn\"]],\n}])\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n name=\"cloudfront-realtime-log-config-example\",\n role=example_role.id,\n policy=example.json)\nexample_realtime_log_config = aws.cloudfront.RealtimeLogConfig(\"example\",\n name=\"example\",\n sampling_rate=75,\n fields=[\n \"timestamp\",\n \"c-ip\",\n ],\n endpoint={\n \"stream_type\": \"Kinesis\",\n \"kinesis_stream_config\": {\n \"role_arn\": example_role.arn,\n \"stream_arn\": example_aws_kinesis_stream[\"arn\"],\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"cloudfront.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"cloudfront-realtime-log-config-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:DescribeStream\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\",\n },\n Resources = new[]\n {\n exampleAwsKinesisStream.Arn,\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Name = \"cloudfront-realtime-log-config-example\",\n Role = exampleRole.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRealtimeLogConfig = new Aws.CloudFront.RealtimeLogConfig(\"example\", new()\n {\n Name = \"example\",\n SamplingRate = 75,\n Fields = new[]\n {\n \"timestamp\",\n \"c-ip\",\n },\n Endpoint = new Aws.CloudFront.Inputs.RealtimeLogConfigEndpointArgs\n {\n StreamType = \"Kinesis\",\n KinesisStreamConfig = new Aws.CloudFront.Inputs.RealtimeLogConfigEndpointKinesisStreamConfigArgs\n {\n RoleArn = exampleRole.Arn,\n StreamArn = exampleAwsKinesisStream.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"cloudfront.amazonaws.com\",\n},\n},\n},\nActions: []string{\n\"sts:AssumeRole\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\nName: pulumi.String(\"cloudfront-realtime-log-config-example\"),\nAssumeRolePolicy: pulumi.String(assumeRole.Json),\n})\nif err != nil {\nreturn err\n}\nexample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"kinesis:DescribeStreamSummary\",\n\"kinesis:DescribeStream\",\n\"kinesis:PutRecord\",\n\"kinesis:PutRecords\",\n},\nResources: interface{}{\nexampleAwsKinesisStream.Arn,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleRolePolicy, err := iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\nName: pulumi.String(\"cloudfront-realtime-log-config-example\"),\nRole: exampleRole.ID(),\nPolicy: pulumi.String(example.Json),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudfront.NewRealtimeLogConfig(ctx, \"example\", \u0026cloudfront.RealtimeLogConfigArgs{\nName: pulumi.String(\"example\"),\nSamplingRate: pulumi.Int(75),\nFields: pulumi.StringArray{\npulumi.String(\"timestamp\"),\npulumi.String(\"c-ip\"),\n},\nEndpoint: \u0026cloudfront.RealtimeLogConfigEndpointArgs{\nStreamType: pulumi.String(\"Kinesis\"),\nKinesisStreamConfig: \u0026cloudfront.RealtimeLogConfigEndpointKinesisStreamConfigArgs{\nRoleArn: exampleRole.Arn,\nStreamArn: pulumi.Any(exampleAwsKinesisStream.Arn),\n},\n},\n}, pulumi.DependsOn([]pulumi.Resource{\nexampleRolePolicy,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.cloudfront.RealtimeLogConfig;\nimport com.pulumi.aws.cloudfront.RealtimeLogConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.RealtimeLogConfigEndpointArgs;\nimport com.pulumi.aws.cloudfront.inputs.RealtimeLogConfigEndpointKinesisStreamConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"cloudfront.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"cloudfront-realtime-log-config-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"kinesis:DescribeStreamSummary\",\n \"kinesis:DescribeStream\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\")\n .resources(exampleAwsKinesisStream.arn())\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .name(\"cloudfront-realtime-log-config-example\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleRealtimeLogConfig = new RealtimeLogConfig(\"exampleRealtimeLogConfig\", RealtimeLogConfigArgs.builder()\n .name(\"example\")\n .samplingRate(75)\n .fields( \n \"timestamp\",\n \"c-ip\")\n .endpoint(RealtimeLogConfigEndpointArgs.builder()\n .streamType(\"Kinesis\")\n .kinesisStreamConfig(RealtimeLogConfigEndpointKinesisStreamConfigArgs.builder()\n .roleArn(exampleRole.arn())\n .streamArn(exampleAwsKinesisStream.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: cloudfront-realtime-log-config-example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: cloudfront-realtime-log-config-example\n role: ${exampleRole.id}\n policy: ${example.json}\n exampleRealtimeLogConfig:\n type: aws:cloudfront:RealtimeLogConfig\n name: example\n properties:\n name: example\n samplingRate: 75\n fields:\n - timestamp\n - c-ip\n endpoint:\n streamType: Kinesis\n kinesisStreamConfig:\n roleArn: ${exampleRole.arn}\n streamArn: ${exampleAwsKinesisStream.arn}\n options:\n dependson:\n - ${exampleRolePolicy}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - cloudfront.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - kinesis:DescribeStreamSummary\n - kinesis:DescribeStream\n - kinesis:PutRecord\n - kinesis:PutRecords\n resources:\n - ${exampleAwsKinesisStream.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront real-time log configurations using the ARN. For example:\n\n```sh\n$ pulumi import aws:cloudfront/realtimeLogConfig:RealtimeLogConfig example arn:aws:cloudfront::111122223333:realtime-log-config/ExampleNameForRealtimeLogConfig\n```\n", "properties": { "arn": { "type": "string", @@ -202332,7 +202332,7 @@ } }, "aws:cloudhsmv2/hsm:Hsm": { - "description": "Creates an HSM module in Amazon CloudHSM v2 cluster.\n\n## Example Usage\n\nThe following example below creates an HSM module in CloudHSM cluster.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cluster = aws.cloudhsmv2.getCluster({\n clusterId: cloudhsmClusterId,\n});\nconst cloudhsmV2Hsm = new aws.cloudhsmv2.Hsm(\"cloudhsm_v2_hsm\", {\n subnetId: cluster.then(cluster =\u003e cluster.subnetIds?.[0]),\n clusterId: cluster.then(cluster =\u003e cluster.clusterId),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncluster = aws.cloudhsmv2.get_cluster(cluster_id=cloudhsm_cluster_id)\ncloudhsm_v2_hsm = aws.cloudhsmv2.Hsm(\"cloudhsm_v2_hsm\",\n subnet_id=cluster.subnet_ids[0],\n cluster_id=cluster.cluster_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = Aws.CloudHsmV2.GetCluster.Invoke(new()\n {\n ClusterId = cloudhsmClusterId,\n });\n\n var cloudhsmV2Hsm = new Aws.CloudHsmV2.Hsm(\"cloudhsm_v2_hsm\", new()\n {\n SubnetId = cluster.Apply(getClusterResult =\u003e getClusterResult.SubnetIds[0]),\n ClusterId = cluster.Apply(getClusterResult =\u003e getClusterResult.ClusterId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudhsmv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcluster, err := cloudhsmv2.LookupCluster(ctx, \u0026cloudhsmv2.LookupClusterArgs{\n\t\t\tClusterId: cloudhsmClusterId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudhsmv2.NewHsm(ctx, \"cloudhsm_v2_hsm\", \u0026cloudhsmv2.HsmArgs{\n\t\t\tSubnetId: pulumi.String(cluster.SubnetIds[0]),\n\t\t\tClusterId: pulumi.String(cluster.ClusterId),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudhsmv2.Cloudhsmv2Functions;\nimport com.pulumi.aws.cloudhsmv2.inputs.GetClusterArgs;\nimport com.pulumi.aws.cloudhsmv2.Hsm;\nimport com.pulumi.aws.cloudhsmv2.HsmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var cluster = Cloudhsmv2Functions.getCluster(GetClusterArgs.builder()\n .clusterId(cloudhsmClusterId)\n .build());\n\n var cloudhsmV2Hsm = new Hsm(\"cloudhsmV2Hsm\", HsmArgs.builder()\n .subnetId(cluster.applyValue(getClusterResult -\u003e getClusterResult.subnetIds()[0]))\n .clusterId(cluster.applyValue(getClusterResult -\u003e getClusterResult.clusterId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cloudhsmV2Hsm:\n type: aws:cloudhsmv2:Hsm\n name: cloudhsm_v2_hsm\n properties:\n subnetId: ${cluster.subnetIds[0]}\n clusterId: ${cluster.clusterId}\nvariables:\n cluster:\n fn::invoke:\n function: aws:cloudhsmv2:getCluster\n arguments:\n clusterId: ${cloudhsmClusterId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import HSM modules using their HSM ID. For example:\n\n```sh\n$ pulumi import aws:cloudhsmv2/hsm:Hsm bar hsm-quo8dahtaca\n```\n", + "description": "Creates an HSM module in Amazon CloudHSM v2 cluster.\n\n## Example Usage\n\nThe following example below creates an HSM module in CloudHSM cluster.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cluster = aws.cloudhsmv2.getCluster({\n clusterId: cloudhsmClusterId,\n});\nconst cloudhsmV2Hsm = new aws.cloudhsmv2.Hsm(\"cloudhsm_v2_hsm\", {\n subnetId: cluster.then(cluster =\u003e cluster.subnetIds?.[0]),\n clusterId: cluster.then(cluster =\u003e cluster.clusterId),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncluster = aws.cloudhsmv2.get_cluster(cluster_id=cloudhsm_cluster_id)\ncloudhsm_v2_hsm = aws.cloudhsmv2.Hsm(\"cloudhsm_v2_hsm\",\n subnet_id=cluster.subnet_ids[0],\n cluster_id=cluster.cluster_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = Aws.CloudHsmV2.GetCluster.Invoke(new()\n {\n ClusterId = cloudhsmClusterId,\n });\n\n var cloudhsmV2Hsm = new Aws.CloudHsmV2.Hsm(\"cloudhsm_v2_hsm\", new()\n {\n SubnetId = cluster.Apply(getClusterResult =\u003e getClusterResult.SubnetIds[0]),\n ClusterId = cluster.Apply(getClusterResult =\u003e getClusterResult.ClusterId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudhsmv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcluster, err := cloudhsmv2.LookupCluster(ctx, \u0026cloudhsmv2.LookupClusterArgs{\n\t\t\tClusterId: cloudhsmClusterId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudhsmv2.NewHsm(ctx, \"cloudhsm_v2_hsm\", \u0026cloudhsmv2.HsmArgs{\n\t\t\tSubnetId: pulumi.String(cluster.SubnetIds[0]),\n\t\t\tClusterId: pulumi.String(cluster.ClusterId),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudhsmv2.Cloudhsmv2Functions;\nimport com.pulumi.aws.cloudhsmv2.inputs.GetClusterArgs;\nimport com.pulumi.aws.cloudhsmv2.Hsm;\nimport com.pulumi.aws.cloudhsmv2.HsmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var cluster = Cloudhsmv2Functions.getCluster(GetClusterArgs.builder()\n .clusterId(cloudhsmClusterId)\n .build());\n\n var cloudhsmV2Hsm = new Hsm(\"cloudhsmV2Hsm\", HsmArgs.builder()\n .subnetId(cluster.applyValue(getClusterResult -\u003e getClusterResult.subnetIds()[0]))\n .clusterId(cluster.applyValue(getClusterResult -\u003e getClusterResult.clusterId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cloudhsmV2Hsm:\n type: aws:cloudhsmv2:Hsm\n name: cloudhsm_v2_hsm\n properties:\n subnetId: ${cluster.subnetIds[0]}\n clusterId: ${cluster.clusterId}\nvariables:\n cluster:\n fn::invoke:\n Function: aws:cloudhsmv2:getCluster\n Arguments:\n clusterId: ${cloudhsmClusterId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import HSM modules using their HSM ID. For example:\n\n```sh\n$ pulumi import aws:cloudhsmv2/hsm:Hsm bar hsm-quo8dahtaca\n```\n", "properties": { "availabilityZone": { "type": "string", @@ -202573,7 +202573,7 @@ } }, "aws:cloudsearch/domainServiceAccessPolicy:DomainServiceAccessPolicy": { - "description": "Provides an CloudSearch domain service access policy resource.\n\nThe provider waits for the domain service access policy to become `Active` when applying a configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleDomain = new aws.cloudsearch.Domain(\"example\", {name: \"example-domain\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"search_only\",\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\n \"cloudsearch:search\",\n \"cloudsearch:document\",\n ],\n conditions: [{\n test: \"IpAddress\",\n variable: \"aws:SourceIp\",\n values: [\"192.0.2.0/32\"],\n }],\n }],\n});\nconst exampleDomainServiceAccessPolicy = new aws.cloudsearch.DomainServiceAccessPolicy(\"example\", {\n domainName: exampleDomain.id,\n accessPolicy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_domain = aws.cloudsearch.Domain(\"example\", name=\"example-domain\")\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"search_only\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\n \"cloudsearch:search\",\n \"cloudsearch:document\",\n ],\n \"conditions\": [{\n \"test\": \"IpAddress\",\n \"variable\": \"aws:SourceIp\",\n \"values\": [\"192.0.2.0/32\"],\n }],\n}])\nexample_domain_service_access_policy = aws.cloudsearch.DomainServiceAccessPolicy(\"example\",\n domain_name=example_domain.id,\n access_policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDomain = new Aws.CloudSearch.Domain(\"example\", new()\n {\n Name = \"example-domain\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"search_only\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"cloudsearch:search\",\n \"cloudsearch:document\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"IpAddress\",\n Variable = \"aws:SourceIp\",\n Values = new[]\n {\n \"192.0.2.0/32\",\n },\n },\n },\n },\n },\n });\n\n var exampleDomainServiceAccessPolicy = new Aws.CloudSearch.DomainServiceAccessPolicy(\"example\", new()\n {\n DomainName = exampleDomain.Id,\n AccessPolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDomain, err := cloudsearch.NewDomain(ctx, \"example\", \u0026cloudsearch.DomainArgs{\n\t\t\tName: pulumi.String(\"example-domain\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"search_only\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"*\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"*\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"cloudsearch:search\",\n\t\t\t\t\t\t\"cloudsearch:document\",\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"IpAddress\",\n\t\t\t\t\t\t\tVariable: \"aws:SourceIp\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"192.0.2.0/32\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudsearch.NewDomainServiceAccessPolicy(ctx, \"example\", \u0026cloudsearch.DomainServiceAccessPolicyArgs{\n\t\t\tDomainName: exampleDomain.ID(),\n\t\t\tAccessPolicy: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudsearch.Domain;\nimport com.pulumi.aws.cloudsearch.DomainArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudsearch.DomainServiceAccessPolicy;\nimport com.pulumi.aws.cloudsearch.DomainServiceAccessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .name(\"example-domain\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"search_only\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions( \n \"cloudsearch:search\",\n \"cloudsearch:document\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"IpAddress\")\n .variable(\"aws:SourceIp\")\n .values(\"192.0.2.0/32\")\n .build())\n .build())\n .build());\n\n var exampleDomainServiceAccessPolicy = new DomainServiceAccessPolicy(\"exampleDomainServiceAccessPolicy\", DomainServiceAccessPolicyArgs.builder()\n .domainName(exampleDomain.id())\n .accessPolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDomain:\n type: aws:cloudsearch:Domain\n name: example\n properties:\n name: example-domain\n exampleDomainServiceAccessPolicy:\n type: aws:cloudsearch:DomainServiceAccessPolicy\n name: example\n properties:\n domainName: ${exampleDomain.id}\n accessPolicy: ${example.json}\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: search_only\n effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - cloudsearch:search\n - cloudsearch:document\n conditions:\n - test: IpAddress\n variable: aws:SourceIp\n values:\n - 192.0.2.0/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudSearch domain service access policies using the domain name. For example:\n\n```sh\n$ pulumi import aws:cloudsearch/domainServiceAccessPolicy:DomainServiceAccessPolicy example example-domain\n```\n", + "description": "Provides an CloudSearch domain service access policy resource.\n\nThe provider waits for the domain service access policy to become `Active` when applying a configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleDomain = new aws.cloudsearch.Domain(\"example\", {name: \"example-domain\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"search_only\",\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\n \"cloudsearch:search\",\n \"cloudsearch:document\",\n ],\n conditions: [{\n test: \"IpAddress\",\n variable: \"aws:SourceIp\",\n values: [\"192.0.2.0/32\"],\n }],\n }],\n});\nconst exampleDomainServiceAccessPolicy = new aws.cloudsearch.DomainServiceAccessPolicy(\"example\", {\n domainName: exampleDomain.id,\n accessPolicy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_domain = aws.cloudsearch.Domain(\"example\", name=\"example-domain\")\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"search_only\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\n \"cloudsearch:search\",\n \"cloudsearch:document\",\n ],\n \"conditions\": [{\n \"test\": \"IpAddress\",\n \"variable\": \"aws:SourceIp\",\n \"values\": [\"192.0.2.0/32\"],\n }],\n}])\nexample_domain_service_access_policy = aws.cloudsearch.DomainServiceAccessPolicy(\"example\",\n domain_name=example_domain.id,\n access_policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDomain = new Aws.CloudSearch.Domain(\"example\", new()\n {\n Name = \"example-domain\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"search_only\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"cloudsearch:search\",\n \"cloudsearch:document\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"IpAddress\",\n Variable = \"aws:SourceIp\",\n Values = new[]\n {\n \"192.0.2.0/32\",\n },\n },\n },\n },\n },\n });\n\n var exampleDomainServiceAccessPolicy = new Aws.CloudSearch.DomainServiceAccessPolicy(\"example\", new()\n {\n DomainName = exampleDomain.Id,\n AccessPolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDomain, err := cloudsearch.NewDomain(ctx, \"example\", \u0026cloudsearch.DomainArgs{\n\t\t\tName: pulumi.String(\"example-domain\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"search_only\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"*\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"*\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"cloudsearch:search\",\n\t\t\t\t\t\t\"cloudsearch:document\",\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"IpAddress\",\n\t\t\t\t\t\t\tVariable: \"aws:SourceIp\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"192.0.2.0/32\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudsearch.NewDomainServiceAccessPolicy(ctx, \"example\", \u0026cloudsearch.DomainServiceAccessPolicyArgs{\n\t\t\tDomainName: exampleDomain.ID(),\n\t\t\tAccessPolicy: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudsearch.Domain;\nimport com.pulumi.aws.cloudsearch.DomainArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudsearch.DomainServiceAccessPolicy;\nimport com.pulumi.aws.cloudsearch.DomainServiceAccessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .name(\"example-domain\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"search_only\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions( \n \"cloudsearch:search\",\n \"cloudsearch:document\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"IpAddress\")\n .variable(\"aws:SourceIp\")\n .values(\"192.0.2.0/32\")\n .build())\n .build())\n .build());\n\n var exampleDomainServiceAccessPolicy = new DomainServiceAccessPolicy(\"exampleDomainServiceAccessPolicy\", DomainServiceAccessPolicyArgs.builder()\n .domainName(exampleDomain.id())\n .accessPolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDomain:\n type: aws:cloudsearch:Domain\n name: example\n properties:\n name: example-domain\n exampleDomainServiceAccessPolicy:\n type: aws:cloudsearch:DomainServiceAccessPolicy\n name: example\n properties:\n domainName: ${exampleDomain.id}\n accessPolicy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: search_only\n effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - cloudsearch:search\n - cloudsearch:document\n conditions:\n - test: IpAddress\n variable: aws:SourceIp\n values:\n - 192.0.2.0/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudSearch domain service access policies using the domain name. For example:\n\n```sh\n$ pulumi import aws:cloudsearch/domainServiceAccessPolicy:DomainServiceAccessPolicy example example-domain\n```\n", "properties": { "accessPolicy": { "type": "string", @@ -202618,7 +202618,7 @@ } }, "aws:cloudtrail/eventDataStore:EventDataStore": { - "description": "Provides a CloudTrail Event Data Store.\n\nMore information about event data stores can be found in the [Event Data Store User Guide](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html).\n\n\u003e **Tip:** For an organization event data store you must create this resource in the management account.\n\n## Example Usage\n\n### Basic\n\nThe most simple event data store configuration requires us to only set the `name` attribute. The event data store will automatically capture all management events. To capture management events from all the regions, `multi_region_enabled` must be `true`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudtrail.EventDataStore(\"example\", {name: \"example-event-data-store\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudtrail.EventDataStore(\"example\", name=\"example-event-data-store\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudTrail.EventDataStore(\"example\", new()\n {\n Name = \"example-event-data-store\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\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 := cloudtrail.NewEventDataStore(ctx, \"example\", \u0026cloudtrail.EventDataStoreArgs{\n\t\t\tName: pulumi.String(\"example-event-data-store\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudtrail.EventDataStore;\nimport com.pulumi.aws.cloudtrail.EventDataStoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EventDataStore(\"example\", EventDataStoreArgs.builder()\n .name(\"example-event-data-store\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:EventDataStore\n properties:\n name: example-event-data-store\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Data Event Logging\n\nCloudTrail can log [Data Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) for certain services such as S3 bucket objects and Lambda function invocations. Additional information about data event configuration can be found in the following links:\n\n- [CloudTrail API AdvancedFieldSelector documentation](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html)\n\n### Log all DynamoDB PutEvent actions for a specific DynamoDB table\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst table = aws.dynamodb.getTable({\n name: \"not-important-dynamodb-table\",\n});\nconst example = new aws.cloudtrail.EventDataStore(\"example\", {advancedEventSelectors: [{\n name: \"Log all DynamoDB PutEvent actions for a specific DynamoDB table\",\n fieldSelectors: [\n {\n field: \"eventCategory\",\n equals: [\"Data\"],\n },\n {\n field: \"resources.type\",\n equals: [\"AWS::DynamoDB::Table\"],\n },\n {\n field: \"eventName\",\n equals: [\"PutItem\"],\n },\n {\n field: \"resources.ARN\",\n equals: [table.then(table =\u003e table.arn)],\n },\n ],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntable = aws.dynamodb.get_table(name=\"not-important-dynamodb-table\")\nexample = aws.cloudtrail.EventDataStore(\"example\", advanced_event_selectors=[{\n \"name\": \"Log all DynamoDB PutEvent actions for a specific DynamoDB table\",\n \"field_selectors\": [\n {\n \"field\": \"eventCategory\",\n \"equals\": [\"Data\"],\n },\n {\n \"field\": \"resources.type\",\n \"equals\": [\"AWS::DynamoDB::Table\"],\n },\n {\n \"field\": \"eventName\",\n \"equals\": [\"PutItem\"],\n },\n {\n \"field\": \"resources.ARN\",\n \"equals\": [table.arn],\n },\n ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var table = Aws.DynamoDB.GetTable.Invoke(new()\n {\n Name = \"not-important-dynamodb-table\",\n });\n\n var example = new Aws.CloudTrail.EventDataStore(\"example\", new()\n {\n AdvancedEventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorArgs\n {\n Name = \"Log all DynamoDB PutEvent actions for a specific DynamoDB table\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Data\",\n },\n },\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.type\",\n Equals = new[]\n {\n \"AWS::DynamoDB::Table\",\n },\n },\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventName\",\n Equals = new[]\n {\n \"PutItem\",\n },\n },\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.ARN\",\n Equals = new[]\n {\n table.Apply(getTableResult =\u003e getTableResult.Arn),\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttable, err := dynamodb.LookupTable(ctx, \u0026dynamodb.LookupTableArgs{\n\t\t\tName: \"not-important-dynamodb-table\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewEventDataStore(ctx, \"example\", \u0026cloudtrail.EventDataStoreArgs{\n\t\t\tAdvancedEventSelectors: cloudtrail.EventDataStoreAdvancedEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log all DynamoDB PutEvent actions for a specific DynamoDB table\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Data\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.type\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"AWS::DynamoDB::Table\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventName\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"PutItem\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.ARN\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(table.Arn),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.DynamodbFunctions;\nimport com.pulumi.aws.dynamodb.inputs.GetTableArgs;\nimport com.pulumi.aws.cloudtrail.EventDataStore;\nimport com.pulumi.aws.cloudtrail.EventDataStoreArgs;\nimport com.pulumi.aws.cloudtrail.inputs.EventDataStoreAdvancedEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var table = DynamodbFunctions.getTable(GetTableArgs.builder()\n .name(\"not-important-dynamodb-table\")\n .build());\n\n var example = new EventDataStore(\"example\", EventDataStoreArgs.builder()\n .advancedEventSelectors(EventDataStoreAdvancedEventSelectorArgs.builder()\n .name(\"Log all DynamoDB PutEvent actions for a specific DynamoDB table\")\n .fieldSelectors( \n EventDataStoreAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Data\")\n .build(),\n EventDataStoreAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.type\")\n .equals(\"AWS::DynamoDB::Table\")\n .build(),\n EventDataStoreAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventName\")\n .equals(\"PutItem\")\n .build(),\n EventDataStoreAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.ARN\")\n .equals(table.applyValue(getTableResult -\u003e getTableResult.arn()))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:EventDataStore\n properties:\n advancedEventSelectors:\n - name: Log all DynamoDB PutEvent actions for a specific DynamoDB table\n fieldSelectors:\n - field: eventCategory\n equals:\n - Data\n - field: resources.type\n equals:\n - AWS::DynamoDB::Table\n - field: eventName\n equals:\n - PutItem\n - field: resources.ARN\n equals:\n - ${table.arn}\nvariables:\n table:\n fn::invoke:\n function: aws:dynamodb:getTable\n arguments:\n name: not-important-dynamodb-table\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import event data stores using their `arn`. For example:\n\n```sh\n$ pulumi import aws:cloudtrail/eventDataStore:EventDataStore example arn:aws:cloudtrail:us-east-1:123456789123:eventdatastore/22333815-4414-412c-b155-dd254033gfhf\n```\n", + "description": "Provides a CloudTrail Event Data Store.\n\nMore information about event data stores can be found in the [Event Data Store User Guide](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html).\n\n\u003e **Tip:** For an organization event data store you must create this resource in the management account.\n\n## Example Usage\n\n### Basic\n\nThe most simple event data store configuration requires us to only set the `name` attribute. The event data store will automatically capture all management events. To capture management events from all the regions, `multi_region_enabled` must be `true`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudtrail.EventDataStore(\"example\", {name: \"example-event-data-store\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudtrail.EventDataStore(\"example\", name=\"example-event-data-store\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudTrail.EventDataStore(\"example\", new()\n {\n Name = \"example-event-data-store\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\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 := cloudtrail.NewEventDataStore(ctx, \"example\", \u0026cloudtrail.EventDataStoreArgs{\n\t\t\tName: pulumi.String(\"example-event-data-store\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudtrail.EventDataStore;\nimport com.pulumi.aws.cloudtrail.EventDataStoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EventDataStore(\"example\", EventDataStoreArgs.builder()\n .name(\"example-event-data-store\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:EventDataStore\n properties:\n name: example-event-data-store\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Data Event Logging\n\nCloudTrail can log [Data Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) for certain services such as S3 bucket objects and Lambda function invocations. Additional information about data event configuration can be found in the following links:\n\n- [CloudTrail API AdvancedFieldSelector documentation](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html)\n\n### Log all DynamoDB PutEvent actions for a specific DynamoDB table\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst table = aws.dynamodb.getTable({\n name: \"not-important-dynamodb-table\",\n});\nconst example = new aws.cloudtrail.EventDataStore(\"example\", {advancedEventSelectors: [{\n name: \"Log all DynamoDB PutEvent actions for a specific DynamoDB table\",\n fieldSelectors: [\n {\n field: \"eventCategory\",\n equals: [\"Data\"],\n },\n {\n field: \"resources.type\",\n equals: [\"AWS::DynamoDB::Table\"],\n },\n {\n field: \"eventName\",\n equals: [\"PutItem\"],\n },\n {\n field: \"resources.ARN\",\n equals: [table.then(table =\u003e table.arn)],\n },\n ],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntable = aws.dynamodb.get_table(name=\"not-important-dynamodb-table\")\nexample = aws.cloudtrail.EventDataStore(\"example\", advanced_event_selectors=[{\n \"name\": \"Log all DynamoDB PutEvent actions for a specific DynamoDB table\",\n \"field_selectors\": [\n {\n \"field\": \"eventCategory\",\n \"equals\": [\"Data\"],\n },\n {\n \"field\": \"resources.type\",\n \"equals\": [\"AWS::DynamoDB::Table\"],\n },\n {\n \"field\": \"eventName\",\n \"equals\": [\"PutItem\"],\n },\n {\n \"field\": \"resources.ARN\",\n \"equals\": [table.arn],\n },\n ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var table = Aws.DynamoDB.GetTable.Invoke(new()\n {\n Name = \"not-important-dynamodb-table\",\n });\n\n var example = new Aws.CloudTrail.EventDataStore(\"example\", new()\n {\n AdvancedEventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorArgs\n {\n Name = \"Log all DynamoDB PutEvent actions for a specific DynamoDB table\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Data\",\n },\n },\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.type\",\n Equals = new[]\n {\n \"AWS::DynamoDB::Table\",\n },\n },\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventName\",\n Equals = new[]\n {\n \"PutItem\",\n },\n },\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.ARN\",\n Equals = new[]\n {\n table.Apply(getTableResult =\u003e getTableResult.Arn),\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttable, err := dynamodb.LookupTable(ctx, \u0026dynamodb.LookupTableArgs{\n\t\t\tName: \"not-important-dynamodb-table\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewEventDataStore(ctx, \"example\", \u0026cloudtrail.EventDataStoreArgs{\n\t\t\tAdvancedEventSelectors: cloudtrail.EventDataStoreAdvancedEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log all DynamoDB PutEvent actions for a specific DynamoDB table\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Data\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.type\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"AWS::DynamoDB::Table\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventName\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"PutItem\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.ARN\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(table.Arn),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.DynamodbFunctions;\nimport com.pulumi.aws.dynamodb.inputs.GetTableArgs;\nimport com.pulumi.aws.cloudtrail.EventDataStore;\nimport com.pulumi.aws.cloudtrail.EventDataStoreArgs;\nimport com.pulumi.aws.cloudtrail.inputs.EventDataStoreAdvancedEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var table = DynamodbFunctions.getTable(GetTableArgs.builder()\n .name(\"not-important-dynamodb-table\")\n .build());\n\n var example = new EventDataStore(\"example\", EventDataStoreArgs.builder()\n .advancedEventSelectors(EventDataStoreAdvancedEventSelectorArgs.builder()\n .name(\"Log all DynamoDB PutEvent actions for a specific DynamoDB table\")\n .fieldSelectors( \n EventDataStoreAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Data\")\n .build(),\n EventDataStoreAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.type\")\n .equals(\"AWS::DynamoDB::Table\")\n .build(),\n EventDataStoreAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventName\")\n .equals(\"PutItem\")\n .build(),\n EventDataStoreAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.ARN\")\n .equals(table.applyValue(getTableResult -\u003e getTableResult.arn()))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:EventDataStore\n properties:\n advancedEventSelectors:\n - name: Log all DynamoDB PutEvent actions for a specific DynamoDB table\n fieldSelectors:\n - field: eventCategory\n equals:\n - Data\n - field: resources.type\n equals:\n - AWS::DynamoDB::Table\n - field: eventName\n equals:\n - PutItem\n - field: resources.ARN\n equals:\n - ${table.arn}\nvariables:\n table:\n fn::invoke:\n Function: aws:dynamodb:getTable\n Arguments:\n name: not-important-dynamodb-table\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import event data stores using their `arn`. For example:\n\n```sh\n$ pulumi import aws:cloudtrail/eventDataStore:EventDataStore example arn:aws:cloudtrail:us-east-1:123456789123:eventdatastore/22333815-4414-412c-b155-dd254033gfhf\n```\n", "properties": { "advancedEventSelectors": { "type": "array", @@ -202791,7 +202791,7 @@ } }, "aws:cloudtrail/organizationDelegatedAdminAccount:OrganizationDelegatedAdminAccount": { - "description": "Provides a resource to manage an AWS CloudTrail Delegated Administrator.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst delegated = aws.getCallerIdentity({});\nconst example = new aws.cloudtrail.OrganizationDelegatedAdminAccount(\"example\", {accountId: delegated.then(delegated =\u003e delegated.accountId)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndelegated = aws.get_caller_identity()\nexample = aws.cloudtrail.OrganizationDelegatedAdminAccount(\"example\", account_id=delegated.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var delegated = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.CloudTrail.OrganizationDelegatedAdminAccount(\"example\", new()\n {\n AccountId = delegated.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdelegated, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewOrganizationDelegatedAdminAccount(ctx, \"example\", \u0026cloudtrail.OrganizationDelegatedAdminAccountArgs{\n\t\t\tAccountId: pulumi.String(delegated.AccountId),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.cloudtrail.OrganizationDelegatedAdminAccount;\nimport com.pulumi.aws.cloudtrail.OrganizationDelegatedAdminAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var delegated = AwsFunctions.getCallerIdentity();\n\n var example = new OrganizationDelegatedAdminAccount(\"example\", OrganizationDelegatedAdminAccountArgs.builder()\n .accountId(delegated.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:OrganizationDelegatedAdminAccount\n properties:\n accountId: ${delegated.accountId}\nvariables:\n delegated:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import delegated administrators using the delegate account `id`. For example:\n\n```sh\n$ pulumi import aws:cloudtrail/organizationDelegatedAdminAccount:OrganizationDelegatedAdminAccount example 12345678901\n```\n", + "description": "Provides a resource to manage an AWS CloudTrail Delegated Administrator.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst delegated = aws.getCallerIdentity({});\nconst example = new aws.cloudtrail.OrganizationDelegatedAdminAccount(\"example\", {accountId: delegated.then(delegated =\u003e delegated.accountId)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndelegated = aws.get_caller_identity()\nexample = aws.cloudtrail.OrganizationDelegatedAdminAccount(\"example\", account_id=delegated.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var delegated = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.CloudTrail.OrganizationDelegatedAdminAccount(\"example\", new()\n {\n AccountId = delegated.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdelegated, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewOrganizationDelegatedAdminAccount(ctx, \"example\", \u0026cloudtrail.OrganizationDelegatedAdminAccountArgs{\n\t\t\tAccountId: pulumi.String(delegated.AccountId),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.cloudtrail.OrganizationDelegatedAdminAccount;\nimport com.pulumi.aws.cloudtrail.OrganizationDelegatedAdminAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var delegated = AwsFunctions.getCallerIdentity();\n\n var example = new OrganizationDelegatedAdminAccount(\"example\", OrganizationDelegatedAdminAccountArgs.builder()\n .accountId(delegated.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:OrganizationDelegatedAdminAccount\n properties:\n accountId: ${delegated.accountId}\nvariables:\n delegated:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import delegated administrators using the delegate account `id`. For example:\n\n```sh\n$ pulumi import aws:cloudtrail/organizationDelegatedAdminAccount:OrganizationDelegatedAdminAccount example 12345678901\n```\n", "properties": { "accountId": { "type": "string", @@ -202858,7 +202858,7 @@ } }, "aws:cloudtrail/trail:Trail": { - "description": "Provides a CloudTrail resource.\n\n\u003e **Tip:** For a multi-region trail, this resource must be in the home region of the trail.\n\n\u003e **Tip:** For an organization trail, this resource must be in the master account of the organization.\n\n## Example Usage\n\n### Basic\n\nEnable CloudTrail to capture all compatible management events in region.\nFor capturing events from services like IAM, `include_global_service_events` must be enabled.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {\n bucket: \"my-test-trail\",\n forceDestroy: true,\n});\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst currentGetRegion = aws.getRegion({});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n sid: \"AWSCloudTrailAclCheck\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"cloudtrail.amazonaws.com\"],\n }],\n actions: [\"s3:GetBucketAcl\"],\n resources: [exampleBucketV2.arn],\n conditions: [{\n test: \"StringEquals\",\n variable: \"aws:SourceArn\",\n values: [Promise.all([currentGetPartition, currentGetRegion, current]).then(([currentGetPartition, currentGetRegion, current]) =\u003e `arn:${currentGetPartition.partition}:cloudtrail:${currentGetRegion.name}:${current.accountId}:trail/example`)],\n }],\n },\n {\n sid: \"AWSCloudTrailWrite\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"cloudtrail.amazonaws.com\"],\n }],\n actions: [\"s3:PutObject\"],\n resources: [pulumi.all([exampleBucketV2.arn, current]).apply(([arn, current]) =\u003e `${arn}/prefix/AWSLogs/${current.accountId}/*`)],\n conditions: [\n {\n test: \"StringEquals\",\n variable: \"s3:x-amz-acl\",\n values: [\"bucket-owner-full-control\"],\n },\n {\n test: \"StringEquals\",\n variable: \"aws:SourceArn\",\n values: [Promise.all([currentGetPartition, currentGetRegion, current]).then(([currentGetPartition, currentGetRegion, current]) =\u003e `arn:${currentGetPartition.partition}:cloudtrail:${currentGetRegion.name}:${current.accountId}:trail/example`)],\n },\n ],\n },\n ],\n});\nconst exampleBucketPolicy = new aws.s3.BucketPolicy(\"example\", {\n bucket: exampleBucketV2.id,\n policy: example.apply(example =\u003e example.json),\n});\nconst exampleTrail = new aws.cloudtrail.Trail(\"example\", {\n name: \"example\",\n s3BucketName: exampleBucketV2.id,\n s3KeyPrefix: \"prefix\",\n includeGlobalServiceEvents: false,\n}, {\n dependsOn: [exampleBucketPolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\",\n bucket=\"my-test-trail\",\n force_destroy=True)\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\ncurrent_get_region = aws.get_region()\nexample = aws.iam.get_policy_document_output(statements=[\n {\n \"sid\": \"AWSCloudTrailAclCheck\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"cloudtrail.amazonaws.com\"],\n }],\n \"actions\": [\"s3:GetBucketAcl\"],\n \"resources\": [example_bucket_v2.arn],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"aws:SourceArn\",\n \"values\": [f\"arn:{current_get_partition.partition}:cloudtrail:{current_get_region.name}:{current.account_id}:trail/example\"],\n }],\n },\n {\n \"sid\": \"AWSCloudTrailWrite\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"cloudtrail.amazonaws.com\"],\n }],\n \"actions\": [\"s3:PutObject\"],\n \"resources\": [example_bucket_v2.arn.apply(lambda arn: f\"{arn}/prefix/AWSLogs/{current.account_id}/*\")],\n \"conditions\": [\n {\n \"test\": \"StringEquals\",\n \"variable\": \"s3:x-amz-acl\",\n \"values\": [\"bucket-owner-full-control\"],\n },\n {\n \"test\": \"StringEquals\",\n \"variable\": \"aws:SourceArn\",\n \"values\": [f\"arn:{current_get_partition.partition}:cloudtrail:{current_get_region.name}:{current.account_id}:trail/example\"],\n },\n ],\n },\n])\nexample_bucket_policy = aws.s3.BucketPolicy(\"example\",\n bucket=example_bucket_v2.id,\n policy=example.json)\nexample_trail = aws.cloudtrail.Trail(\"example\",\n name=\"example\",\n s3_bucket_name=example_bucket_v2.id,\n s3_key_prefix=\"prefix\",\n include_global_service_events=False,\n opts = pulumi.ResourceOptions(depends_on=[example_bucket_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-test-trail\",\n ForceDestroy = true,\n });\n\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSCloudTrailAclCheck\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"cloudtrail.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n },\n Resources = new[]\n {\n exampleBucketV2.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:cloudtrail:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:trail/example\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSCloudTrailWrite\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"cloudtrail.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{exampleBucketV2.Arn}/prefix/AWSLogs/{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"s3:x-amz-acl\",\n Values = new[]\n {\n \"bucket-owner-full-control\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:cloudtrail:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:trail/example\",\n },\n },\n },\n },\n },\n });\n\n var exampleBucketPolicy = new Aws.S3.BucketPolicy(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleTrail = new Aws.CloudTrail.Trail(\"example\", new()\n {\n Name = \"example\",\n S3BucketName = exampleBucketV2.Id,\n S3KeyPrefix = \"prefix\",\n IncludeGlobalServiceEvents = false,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-test-trail\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"AWSCloudTrailAclCheck\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"cloudtrail.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketAcl\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"arn:%v:cloudtrail:%v:%v:trail/example\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"AWSCloudTrailWrite\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"cloudtrail.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/prefix/AWSLogs/%v/*\", arn, current.AccountId), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"s3:x-amz-acl\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"bucket-owner-full-control\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"arn:%v:cloudtrail:%v:%v:trail/example\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\texampleBucketPolicy, err := s3.NewBucketPolicy(ctx, \"example\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tS3BucketName: exampleBucketV2.ID(),\n\t\t\tS3KeyPrefix: pulumi.String(\"prefix\"),\n\t\t\tIncludeGlobalServiceEvents: pulumi.Bool(false),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketPolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"my-test-trail\")\n .forceDestroy(true)\n .build());\n\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSCloudTrailAclCheck\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"cloudtrail.amazonaws.com\")\n .build())\n .actions(\"s3:GetBucketAcl\")\n .resources(exampleBucketV2.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:SourceArn\")\n .values(String.format(\"arn:%s:cloudtrail:%s:%s:trail/example\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSCloudTrailWrite\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"cloudtrail.amazonaws.com\")\n .build())\n .actions(\"s3:PutObject\")\n .resources(exampleBucketV2.arn().applyValue(arn -\u003e String.format(\"%s/prefix/AWSLogs/%s/*\", arn,current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))))\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"s3:x-amz-acl\")\n .values(\"bucket-owner-full-control\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:SourceArn\")\n .values(String.format(\"arn:%s:cloudtrail:%s:%s:trail/example\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .build())\n .build());\n\n var exampleBucketPolicy = new BucketPolicy(\"exampleBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(exampleBucketV2.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleTrail = new Trail(\"exampleTrail\", TrailArgs.builder()\n .name(\"example\")\n .s3BucketName(exampleBucketV2.id())\n .s3KeyPrefix(\"prefix\")\n .includeGlobalServiceEvents(false)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTrail:\n type: aws:cloudtrail:Trail\n name: example\n properties:\n name: example\n s3BucketName: ${exampleBucketV2.id}\n s3KeyPrefix: prefix\n includeGlobalServiceEvents: false\n options:\n dependsOn:\n - ${exampleBucketPolicy}\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: my-test-trail\n forceDestroy: true\n exampleBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: AWSCloudTrailAclCheck\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - cloudtrail.amazonaws.com\n actions:\n - s3:GetBucketAcl\n resources:\n - ${exampleBucketV2.arn}\n conditions:\n - test: StringEquals\n variable: aws:SourceArn\n values:\n - arn:${currentGetPartition.partition}:cloudtrail:${currentGetRegion.name}:${current.accountId}:trail/example\n - sid: AWSCloudTrailWrite\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - cloudtrail.amazonaws.com\n actions:\n - s3:PutObject\n resources:\n - ${exampleBucketV2.arn}/prefix/AWSLogs/${current.accountId}/*\n conditions:\n - test: StringEquals\n variable: s3:x-amz-acl\n values:\n - bucket-owner-full-control\n - test: StringEquals\n variable: aws:SourceArn\n values:\n - arn:${currentGetPartition.partition}:cloudtrail:${currentGetRegion.name}:${current.accountId}:trail/example\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n currentGetPartition:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n currentGetRegion:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Data Event Logging\n\nCloudTrail can log [Data Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) for certain services such as S3 objects and Lambda function invocations. Additional information about data event configuration can be found in the following links:\n\n* [CloudTrail API DataResource documentation](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_DataResource.html) (for basic event selector).\n* [CloudTrail API AdvancedFieldSelector documentation](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html) (for advanced event selector).\n\n### Logging All Lambda Function Invocations By Using Basic Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudtrail.Trail(\"example\", {eventSelectors: [{\n readWriteType: \"All\",\n includeManagementEvents: true,\n dataResources: [{\n type: \"AWS::Lambda::Function\",\n values: [\"arn:aws:lambda\"],\n }],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudtrail.Trail(\"example\", event_selectors=[{\n \"read_write_type\": \"All\",\n \"include_management_events\": True,\n \"data_resources\": [{\n \"type\": \"AWS::Lambda::Function\",\n \"values\": [\"arn:aws:lambda\"],\n }],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n EventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorArgs\n {\n ReadWriteType = \"All\",\n IncludeManagementEvents = true,\n DataResources = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorDataResourceArgs\n {\n Type = \"AWS::Lambda::Function\",\n Values = new[]\n {\n \"arn:aws:lambda\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\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 := cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tEventSelectors: cloudtrail.TrailEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailEventSelectorArgs{\n\t\t\t\t\tReadWriteType: pulumi.String(\"All\"),\n\t\t\t\t\tIncludeManagementEvents: pulumi.Bool(true),\n\t\t\t\t\tDataResources: cloudtrail.TrailEventSelectorDataResourceArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailEventSelectorDataResourceArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS::Lambda::Function\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"arn:aws:lambda\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Trail(\"example\", TrailArgs.builder()\n .eventSelectors(TrailEventSelectorArgs.builder()\n .readWriteType(\"All\")\n .includeManagementEvents(true)\n .dataResources(TrailEventSelectorDataResourceArgs.builder()\n .type(\"AWS::Lambda::Function\")\n .values(\"arn:aws:lambda\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n eventSelectors:\n - readWriteType: All\n includeManagementEvents: true\n dataResources:\n - type: AWS::Lambda::Function\n values:\n - arn:aws:lambda\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging All S3 Object Events By Using Basic Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudtrail.Trail(\"example\", {eventSelectors: [{\n readWriteType: \"All\",\n includeManagementEvents: true,\n dataResources: [{\n type: \"AWS::S3::Object\",\n values: [\"arn:aws:s3\"],\n }],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudtrail.Trail(\"example\", event_selectors=[{\n \"read_write_type\": \"All\",\n \"include_management_events\": True,\n \"data_resources\": [{\n \"type\": \"AWS::S3::Object\",\n \"values\": [\"arn:aws:s3\"],\n }],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n EventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorArgs\n {\n ReadWriteType = \"All\",\n IncludeManagementEvents = true,\n DataResources = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorDataResourceArgs\n {\n Type = \"AWS::S3::Object\",\n Values = new[]\n {\n \"arn:aws:s3\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\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 := cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tEventSelectors: cloudtrail.TrailEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailEventSelectorArgs{\n\t\t\t\t\tReadWriteType: pulumi.String(\"All\"),\n\t\t\t\t\tIncludeManagementEvents: pulumi.Bool(true),\n\t\t\t\t\tDataResources: cloudtrail.TrailEventSelectorDataResourceArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailEventSelectorDataResourceArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS::S3::Object\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"arn:aws:s3\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Trail(\"example\", TrailArgs.builder()\n .eventSelectors(TrailEventSelectorArgs.builder()\n .readWriteType(\"All\")\n .includeManagementEvents(true)\n .dataResources(TrailEventSelectorDataResourceArgs.builder()\n .type(\"AWS::S3::Object\")\n .values(\"arn:aws:s3\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n eventSelectors:\n - readWriteType: All\n includeManagementEvents: true\n dataResources:\n - type: AWS::S3::Object\n values:\n - arn:aws:s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging Individual S3 Bucket Events By Using Basic Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst important-bucket = aws.s3.getBucket({\n bucket: \"important-bucket\",\n});\nconst example = new aws.cloudtrail.Trail(\"example\", {eventSelectors: [{\n readWriteType: \"All\",\n includeManagementEvents: true,\n dataResources: [{\n type: \"AWS::S3::Object\",\n values: [important_bucket.then(important_bucket =\u003e `${important_bucket.arn}/`)],\n }],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nimportant_bucket = aws.s3.get_bucket(bucket=\"important-bucket\")\nexample = aws.cloudtrail.Trail(\"example\", event_selectors=[{\n \"read_write_type\": \"All\",\n \"include_management_events\": True,\n \"data_resources\": [{\n \"type\": \"AWS::S3::Object\",\n \"values\": [f\"{important_bucket.arn}/\"],\n }],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var important_bucket = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"important-bucket\",\n });\n\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n EventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorArgs\n {\n ReadWriteType = \"All\",\n IncludeManagementEvents = true,\n DataResources = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorDataResourceArgs\n {\n Type = \"AWS::S3::Object\",\n Values = new[]\n {\n important_bucket.Apply(important_bucket =\u003e $\"{important_bucket.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\timportant_bucket, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"important-bucket\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tEventSelectors: cloudtrail.TrailEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailEventSelectorArgs{\n\t\t\t\t\tReadWriteType: pulumi.String(\"All\"),\n\t\t\t\t\tIncludeManagementEvents: pulumi.Bool(true),\n\t\t\t\t\tDataResources: cloudtrail.TrailEventSelectorDataResourceArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailEventSelectorDataResourceArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS::S3::Object\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"%v/\", important_bucket.Arn),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var important-bucket = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"important-bucket\")\n .build());\n\n var example = new Trail(\"example\", TrailArgs.builder()\n .eventSelectors(TrailEventSelectorArgs.builder()\n .readWriteType(\"All\")\n .includeManagementEvents(true)\n .dataResources(TrailEventSelectorDataResourceArgs.builder()\n .type(\"AWS::S3::Object\")\n .values(String.format(\"%s/\", important_bucket.arn()))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n eventSelectors:\n - readWriteType: All\n includeManagementEvents: true\n dataResources:\n - type: AWS::S3::Object\n values:\n - ${[\"important-bucket\"].arn}/\nvariables:\n important-bucket:\n fn::invoke:\n function: aws:s3:getBucket\n arguments:\n bucket: important-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging All S3 Object Events Except For Two S3 Buckets By Using Advanced Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst not-important-bucket-1 = aws.s3.getBucket({\n bucket: \"not-important-bucket-1\",\n});\nconst not-important-bucket-2 = aws.s3.getBucket({\n bucket: \"not-important-bucket-2\",\n});\nconst example = new aws.cloudtrail.Trail(\"example\", {advancedEventSelectors: [\n {\n name: \"Log all S3 objects events except for two S3 buckets\",\n fieldSelectors: [\n {\n field: \"eventCategory\",\n equals: [\"Data\"],\n },\n {\n field: \"resources.ARN\",\n notStartsWiths: [\n not_important_bucket_1.then(not_important_bucket_1 =\u003e `${not_important_bucket_1.arn}/`),\n not_important_bucket_2.then(not_important_bucket_2 =\u003e `${not_important_bucket_2.arn}/`),\n ],\n },\n {\n field: \"resources.type\",\n equals: [\"AWS::S3::Object\"],\n },\n ],\n },\n {\n name: \"Log readOnly and writeOnly management events\",\n fieldSelectors: [{\n field: \"eventCategory\",\n equals: [\"Management\"],\n }],\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nnot_important_bucket_1 = aws.s3.get_bucket(bucket=\"not-important-bucket-1\")\nnot_important_bucket_2 = aws.s3.get_bucket(bucket=\"not-important-bucket-2\")\nexample = aws.cloudtrail.Trail(\"example\", advanced_event_selectors=[\n {\n \"name\": \"Log all S3 objects events except for two S3 buckets\",\n \"field_selectors\": [\n {\n \"field\": \"eventCategory\",\n \"equals\": [\"Data\"],\n },\n {\n \"field\": \"resources.ARN\",\n \"not_starts_withs\": [\n f\"{not_important_bucket_1.arn}/\",\n f\"{not_important_bucket_2.arn}/\",\n ],\n },\n {\n \"field\": \"resources.type\",\n \"equals\": [\"AWS::S3::Object\"],\n },\n ],\n },\n {\n \"name\": \"Log readOnly and writeOnly management events\",\n \"field_selectors\": [{\n \"field\": \"eventCategory\",\n \"equals\": [\"Management\"],\n }],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var not_important_bucket_1 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"not-important-bucket-1\",\n });\n\n var not_important_bucket_2 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"not-important-bucket-2\",\n });\n\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n AdvancedEventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorArgs\n {\n Name = \"Log all S3 objects events except for two S3 buckets\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Data\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.ARN\",\n NotStartsWiths = new[]\n {\n not_important_bucket_1.Apply(not_important_bucket_1 =\u003e $\"{not_important_bucket_1.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n not_important_bucket_2.Apply(not_important_bucket_2 =\u003e $\"{not_important_bucket_2.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.type\",\n Equals = new[]\n {\n \"AWS::S3::Object\",\n },\n },\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorArgs\n {\n Name = \"Log readOnly and writeOnly management events\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Management\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnot_important_bucket_1, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"not-important-bucket-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnot_important_bucket_2, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"not-important-bucket-2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tAdvancedEventSelectors: cloudtrail.TrailAdvancedEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log all S3 objects events except for two S3 buckets\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Data\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.ARN\"),\n\t\t\t\t\t\t\tNotStartsWiths: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"%v/\", not_important_bucket_1.Arn),\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"%v/\", not_important_bucket_2.Arn),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.type\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"AWS::S3::Object\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log readOnly and writeOnly management events\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Management\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailAdvancedEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var not-important-bucket-1 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"not-important-bucket-1\")\n .build());\n\n final var not-important-bucket-2 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"not-important-bucket-2\")\n .build());\n\n var example = new Trail(\"example\", TrailArgs.builder()\n .advancedEventSelectors( \n TrailAdvancedEventSelectorArgs.builder()\n .name(\"Log all S3 objects events except for two S3 buckets\")\n .fieldSelectors( \n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Data\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.ARN\")\n .notStartsWiths( \n String.format(\"%s/\", not_important_bucket_1.arn()),\n String.format(\"%s/\", not_important_bucket_2.arn()))\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.type\")\n .equals(\"AWS::S3::Object\")\n .build())\n .build(),\n TrailAdvancedEventSelectorArgs.builder()\n .name(\"Log readOnly and writeOnly management events\")\n .fieldSelectors(TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Management\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n advancedEventSelectors:\n - name: Log all S3 objects events except for two S3 buckets\n fieldSelectors:\n - field: eventCategory\n equals:\n - Data\n - field: resources.ARN\n notStartsWiths:\n - ${[\"not-important-bucket-1\"].arn}/\n - ${[\"not-important-bucket-2\"].arn}/\n - field: resources.type\n equals:\n - AWS::S3::Object\n - name: Log readOnly and writeOnly management events\n fieldSelectors:\n - field: eventCategory\n equals:\n - Management\nvariables:\n not-important-bucket-1:\n fn::invoke:\n function: aws:s3:getBucket\n arguments:\n bucket: not-important-bucket-1\n not-important-bucket-2:\n fn::invoke:\n function: aws:s3:getBucket\n arguments:\n bucket: not-important-bucket-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging Individual S3 Buckets And Specific Event Names By Using Advanced Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst important-bucket-1 = aws.s3.getBucket({\n bucket: \"important-bucket-1\",\n});\nconst important-bucket-2 = aws.s3.getBucket({\n bucket: \"important-bucket-2\",\n});\nconst important-bucket-3 = aws.s3.getBucket({\n bucket: \"important-bucket-3\",\n});\nconst example = new aws.cloudtrail.Trail(\"example\", {advancedEventSelectors: [\n {\n name: \"Log PutObject and DeleteObject events for two S3 buckets\",\n fieldSelectors: [\n {\n field: \"eventCategory\",\n equals: [\"Data\"],\n },\n {\n field: \"eventName\",\n equals: [\n \"PutObject\",\n \"DeleteObject\",\n ],\n },\n {\n field: \"resources.ARN\",\n startsWiths: [\n important_bucket_1.then(important_bucket_1 =\u003e `${important_bucket_1.arn}/`),\n important_bucket_2.then(important_bucket_2 =\u003e `${important_bucket_2.arn}/`),\n ],\n },\n {\n field: \"readOnly\",\n equals: [\"false\"],\n },\n {\n field: \"resources.type\",\n equals: [\"AWS::S3::Object\"],\n },\n ],\n },\n {\n name: \"Log Delete* events for one S3 bucket\",\n fieldSelectors: [\n {\n field: \"eventCategory\",\n equals: [\"Data\"],\n },\n {\n field: \"eventName\",\n startsWiths: [\"Delete\"],\n },\n {\n field: \"resources.ARN\",\n equals: [important_bucket_3.then(important_bucket_3 =\u003e `${important_bucket_3.arn}/important-prefix`)],\n },\n {\n field: \"readOnly\",\n equals: [\"false\"],\n },\n {\n field: \"resources.type\",\n equals: [\"AWS::S3::Object\"],\n },\n ],\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nimportant_bucket_1 = aws.s3.get_bucket(bucket=\"important-bucket-1\")\nimportant_bucket_2 = aws.s3.get_bucket(bucket=\"important-bucket-2\")\nimportant_bucket_3 = aws.s3.get_bucket(bucket=\"important-bucket-3\")\nexample = aws.cloudtrail.Trail(\"example\", advanced_event_selectors=[\n {\n \"name\": \"Log PutObject and DeleteObject events for two S3 buckets\",\n \"field_selectors\": [\n {\n \"field\": \"eventCategory\",\n \"equals\": [\"Data\"],\n },\n {\n \"field\": \"eventName\",\n \"equals\": [\n \"PutObject\",\n \"DeleteObject\",\n ],\n },\n {\n \"field\": \"resources.ARN\",\n \"starts_withs\": [\n f\"{important_bucket_1.arn}/\",\n f\"{important_bucket_2.arn}/\",\n ],\n },\n {\n \"field\": \"readOnly\",\n \"equals\": [\"false\"],\n },\n {\n \"field\": \"resources.type\",\n \"equals\": [\"AWS::S3::Object\"],\n },\n ],\n },\n {\n \"name\": \"Log Delete* events for one S3 bucket\",\n \"field_selectors\": [\n {\n \"field\": \"eventCategory\",\n \"equals\": [\"Data\"],\n },\n {\n \"field\": \"eventName\",\n \"starts_withs\": [\"Delete\"],\n },\n {\n \"field\": \"resources.ARN\",\n \"equals\": [f\"{important_bucket_3.arn}/important-prefix\"],\n },\n {\n \"field\": \"readOnly\",\n \"equals\": [\"false\"],\n },\n {\n \"field\": \"resources.type\",\n \"equals\": [\"AWS::S3::Object\"],\n },\n ],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var important_bucket_1 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"important-bucket-1\",\n });\n\n var important_bucket_2 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"important-bucket-2\",\n });\n\n var important_bucket_3 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"important-bucket-3\",\n });\n\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n AdvancedEventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorArgs\n {\n Name = \"Log PutObject and DeleteObject events for two S3 buckets\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Data\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventName\",\n Equals = new[]\n {\n \"PutObject\",\n \"DeleteObject\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.ARN\",\n StartsWiths = new[]\n {\n important_bucket_1.Apply(important_bucket_1 =\u003e $\"{important_bucket_1.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n important_bucket_2.Apply(important_bucket_2 =\u003e $\"{important_bucket_2.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"readOnly\",\n Equals = new[]\n {\n \"false\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.type\",\n Equals = new[]\n {\n \"AWS::S3::Object\",\n },\n },\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorArgs\n {\n Name = \"Log Delete* events for one S3 bucket\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Data\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventName\",\n StartsWiths = new[]\n {\n \"Delete\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.ARN\",\n Equals = new[]\n {\n important_bucket_3.Apply(important_bucket_3 =\u003e $\"{important_bucket_3.Apply(getBucketResult =\u003e getBucketResult.Arn)}/important-prefix\"),\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"readOnly\",\n Equals = new[]\n {\n \"false\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.type\",\n Equals = new[]\n {\n \"AWS::S3::Object\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\timportant_bucket_1, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"important-bucket-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\timportant_bucket_2, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"important-bucket-2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\timportant_bucket_3, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"important-bucket-3\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tAdvancedEventSelectors: cloudtrail.TrailAdvancedEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log PutObject and DeleteObject events for two S3 buckets\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Data\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventName\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"PutObject\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"DeleteObject\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.ARN\"),\n\t\t\t\t\t\t\tStartsWiths: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"%v/\", important_bucket_1.Arn),\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"%v/\", important_bucket_2.Arn),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"readOnly\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"false\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.type\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"AWS::S3::Object\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log Delete* events for one S3 bucket\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Data\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventName\"),\n\t\t\t\t\t\t\tStartsWiths: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.ARN\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"%v/important-prefix\", important_bucket_3.Arn),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"readOnly\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"false\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.type\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"AWS::S3::Object\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailAdvancedEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var important-bucket-1 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"important-bucket-1\")\n .build());\n\n final var important-bucket-2 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"important-bucket-2\")\n .build());\n\n final var important-bucket-3 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"important-bucket-3\")\n .build());\n\n var example = new Trail(\"example\", TrailArgs.builder()\n .advancedEventSelectors( \n TrailAdvancedEventSelectorArgs.builder()\n .name(\"Log PutObject and DeleteObject events for two S3 buckets\")\n .fieldSelectors( \n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Data\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventName\")\n .equals( \n \"PutObject\",\n \"DeleteObject\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.ARN\")\n .startsWiths( \n String.format(\"%s/\", important_bucket_1.arn()),\n String.format(\"%s/\", important_bucket_2.arn()))\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"readOnly\")\n .equals(\"false\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.type\")\n .equals(\"AWS::S3::Object\")\n .build())\n .build(),\n TrailAdvancedEventSelectorArgs.builder()\n .name(\"Log Delete* events for one S3 bucket\")\n .fieldSelectors( \n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Data\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventName\")\n .startsWiths(\"Delete\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.ARN\")\n .equals(String.format(\"%s/important-prefix\", important_bucket_3.arn()))\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"readOnly\")\n .equals(\"false\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.type\")\n .equals(\"AWS::S3::Object\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n advancedEventSelectors:\n - name: Log PutObject and DeleteObject events for two S3 buckets\n fieldSelectors:\n - field: eventCategory\n equals:\n - Data\n - field: eventName\n equals:\n - PutObject\n - DeleteObject\n - field: resources.ARN\n startsWiths:\n - ${[\"important-bucket-1\"].arn}/\n - ${[\"important-bucket-2\"].arn}/\n - field: readOnly\n equals:\n - 'false'\n - field: resources.type\n equals:\n - AWS::S3::Object\n - name: Log Delete* events for one S3 bucket\n fieldSelectors:\n - field: eventCategory\n equals:\n - Data\n - field: eventName\n startsWiths:\n - Delete\n - field: resources.ARN\n equals:\n - ${[\"important-bucket-3\"].arn}/important-prefix\n - field: readOnly\n equals:\n - 'false'\n - field: resources.type\n equals:\n - AWS::S3::Object\nvariables:\n important-bucket-1:\n fn::invoke:\n function: aws:s3:getBucket\n arguments:\n bucket: important-bucket-1\n important-bucket-2:\n fn::invoke:\n function: aws:s3:getBucket\n arguments:\n bucket: important-bucket-2\n important-bucket-3:\n fn::invoke:\n function: aws:s3:getBucket\n arguments:\n bucket: important-bucket-3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Sending Events to CloudWatch Logs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {name: \"Example\"});\nconst exampleTrail = new aws.cloudtrail.Trail(\"example\", {cloudWatchLogsGroupArn: pulumi.interpolate`${example.arn}:*`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\", name=\"Example\")\nexample_trail = aws.cloudtrail.Trail(\"example\", cloud_watch_logs_group_arn=example.arn.apply(lambda arn: f\"{arn}:*\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"Example\",\n });\n\n var exampleTrail = new Aws.CloudTrail.Trail(\"example\", new()\n {\n CloudWatchLogsGroupArn = example.Arn.Apply(arn =\u003e $\"{arn}:*\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tCloudWatchLogsGroupArn: example.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(\"Example\")\n .build());\n\n var exampleTrail = new Trail(\"exampleTrail\", TrailArgs.builder()\n .cloudWatchLogsGroupArn(example.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: Example\n exampleTrail:\n type: aws:cloudtrail:Trail\n name: example\n properties:\n cloudWatchLogsGroupArn: ${example.arn}:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudtrails using the `arn`. For example:\n\n```sh\n$ pulumi import aws:cloudtrail/trail:Trail sample arn:aws:cloudtrail:us-east-1:123456789012:trail/my-sample-trail\n```\n", + "description": "Provides a CloudTrail resource.\n\n\u003e **Tip:** For a multi-region trail, this resource must be in the home region of the trail.\n\n\u003e **Tip:** For an organization trail, this resource must be in the master account of the organization.\n\n## Example Usage\n\n### Basic\n\nEnable CloudTrail to capture all compatible management events in region.\nFor capturing events from services like IAM, `include_global_service_events` must be enabled.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {\n bucket: \"my-test-trail\",\n forceDestroy: true,\n});\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst currentGetRegion = aws.getRegion({});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n sid: \"AWSCloudTrailAclCheck\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"cloudtrail.amazonaws.com\"],\n }],\n actions: [\"s3:GetBucketAcl\"],\n resources: [exampleBucketV2.arn],\n conditions: [{\n test: \"StringEquals\",\n variable: \"aws:SourceArn\",\n values: [Promise.all([currentGetPartition, currentGetRegion, current]).then(([currentGetPartition, currentGetRegion, current]) =\u003e `arn:${currentGetPartition.partition}:cloudtrail:${currentGetRegion.name}:${current.accountId}:trail/example`)],\n }],\n },\n {\n sid: \"AWSCloudTrailWrite\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"cloudtrail.amazonaws.com\"],\n }],\n actions: [\"s3:PutObject\"],\n resources: [pulumi.all([exampleBucketV2.arn, current]).apply(([arn, current]) =\u003e `${arn}/prefix/AWSLogs/${current.accountId}/*`)],\n conditions: [\n {\n test: \"StringEquals\",\n variable: \"s3:x-amz-acl\",\n values: [\"bucket-owner-full-control\"],\n },\n {\n test: \"StringEquals\",\n variable: \"aws:SourceArn\",\n values: [Promise.all([currentGetPartition, currentGetRegion, current]).then(([currentGetPartition, currentGetRegion, current]) =\u003e `arn:${currentGetPartition.partition}:cloudtrail:${currentGetRegion.name}:${current.accountId}:trail/example`)],\n },\n ],\n },\n ],\n});\nconst exampleBucketPolicy = new aws.s3.BucketPolicy(\"example\", {\n bucket: exampleBucketV2.id,\n policy: example.apply(example =\u003e example.json),\n});\nconst exampleTrail = new aws.cloudtrail.Trail(\"example\", {\n name: \"example\",\n s3BucketName: exampleBucketV2.id,\n s3KeyPrefix: \"prefix\",\n includeGlobalServiceEvents: false,\n}, {\n dependsOn: [exampleBucketPolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\",\n bucket=\"my-test-trail\",\n force_destroy=True)\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\ncurrent_get_region = aws.get_region()\nexample = aws.iam.get_policy_document_output(statements=[\n {\n \"sid\": \"AWSCloudTrailAclCheck\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"cloudtrail.amazonaws.com\"],\n }],\n \"actions\": [\"s3:GetBucketAcl\"],\n \"resources\": [example_bucket_v2.arn],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"aws:SourceArn\",\n \"values\": [f\"arn:{current_get_partition.partition}:cloudtrail:{current_get_region.name}:{current.account_id}:trail/example\"],\n }],\n },\n {\n \"sid\": \"AWSCloudTrailWrite\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"cloudtrail.amazonaws.com\"],\n }],\n \"actions\": [\"s3:PutObject\"],\n \"resources\": [example_bucket_v2.arn.apply(lambda arn: f\"{arn}/prefix/AWSLogs/{current.account_id}/*\")],\n \"conditions\": [\n {\n \"test\": \"StringEquals\",\n \"variable\": \"s3:x-amz-acl\",\n \"values\": [\"bucket-owner-full-control\"],\n },\n {\n \"test\": \"StringEquals\",\n \"variable\": \"aws:SourceArn\",\n \"values\": [f\"arn:{current_get_partition.partition}:cloudtrail:{current_get_region.name}:{current.account_id}:trail/example\"],\n },\n ],\n },\n])\nexample_bucket_policy = aws.s3.BucketPolicy(\"example\",\n bucket=example_bucket_v2.id,\n policy=example.json)\nexample_trail = aws.cloudtrail.Trail(\"example\",\n name=\"example\",\n s3_bucket_name=example_bucket_v2.id,\n s3_key_prefix=\"prefix\",\n include_global_service_events=False,\n opts = pulumi.ResourceOptions(depends_on=[example_bucket_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-test-trail\",\n ForceDestroy = true,\n });\n\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSCloudTrailAclCheck\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"cloudtrail.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n },\n Resources = new[]\n {\n exampleBucketV2.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:cloudtrail:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:trail/example\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSCloudTrailWrite\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"cloudtrail.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{exampleBucketV2.Arn}/prefix/AWSLogs/{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"s3:x-amz-acl\",\n Values = new[]\n {\n \"bucket-owner-full-control\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:cloudtrail:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:trail/example\",\n },\n },\n },\n },\n },\n });\n\n var exampleBucketPolicy = new Aws.S3.BucketPolicy(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleTrail = new Aws.CloudTrail.Trail(\"example\", new()\n {\n Name = \"example\",\n S3BucketName = exampleBucketV2.Id,\n S3KeyPrefix = \"prefix\",\n IncludeGlobalServiceEvents = false,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-test-trail\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"AWSCloudTrailAclCheck\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"cloudtrail.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketAcl\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"arn:%v:cloudtrail:%v:%v:trail/example\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"AWSCloudTrailWrite\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"cloudtrail.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/prefix/AWSLogs/%v/*\", arn, current.AccountId), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"s3:x-amz-acl\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"bucket-owner-full-control\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"arn:%v:cloudtrail:%v:%v:trail/example\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\texampleBucketPolicy, err := s3.NewBucketPolicy(ctx, \"example\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tS3BucketName: exampleBucketV2.ID(),\n\t\t\tS3KeyPrefix: pulumi.String(\"prefix\"),\n\t\t\tIncludeGlobalServiceEvents: pulumi.Bool(false),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketPolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"my-test-trail\")\n .forceDestroy(true)\n .build());\n\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSCloudTrailAclCheck\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"cloudtrail.amazonaws.com\")\n .build())\n .actions(\"s3:GetBucketAcl\")\n .resources(exampleBucketV2.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:SourceArn\")\n .values(String.format(\"arn:%s:cloudtrail:%s:%s:trail/example\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSCloudTrailWrite\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"cloudtrail.amazonaws.com\")\n .build())\n .actions(\"s3:PutObject\")\n .resources(exampleBucketV2.arn().applyValue(arn -\u003e String.format(\"%s/prefix/AWSLogs/%s/*\", arn,current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))))\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"s3:x-amz-acl\")\n .values(\"bucket-owner-full-control\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:SourceArn\")\n .values(String.format(\"arn:%s:cloudtrail:%s:%s:trail/example\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .build())\n .build());\n\n var exampleBucketPolicy = new BucketPolicy(\"exampleBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(exampleBucketV2.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleTrail = new Trail(\"exampleTrail\", TrailArgs.builder()\n .name(\"example\")\n .s3BucketName(exampleBucketV2.id())\n .s3KeyPrefix(\"prefix\")\n .includeGlobalServiceEvents(false)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTrail:\n type: aws:cloudtrail:Trail\n name: example\n properties:\n name: example\n s3BucketName: ${exampleBucketV2.id}\n s3KeyPrefix: prefix\n includeGlobalServiceEvents: false\n options:\n dependson:\n - ${exampleBucketPolicy}\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: my-test-trail\n forceDestroy: true\n exampleBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AWSCloudTrailAclCheck\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - cloudtrail.amazonaws.com\n actions:\n - s3:GetBucketAcl\n resources:\n - ${exampleBucketV2.arn}\n conditions:\n - test: StringEquals\n variable: aws:SourceArn\n values:\n - arn:${currentGetPartition.partition}:cloudtrail:${currentGetRegion.name}:${current.accountId}:trail/example\n - sid: AWSCloudTrailWrite\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - cloudtrail.amazonaws.com\n actions:\n - s3:PutObject\n resources:\n - ${exampleBucketV2.arn}/prefix/AWSLogs/${current.accountId}/*\n conditions:\n - test: StringEquals\n variable: s3:x-amz-acl\n values:\n - bucket-owner-full-control\n - test: StringEquals\n variable: aws:SourceArn\n values:\n - arn:${currentGetPartition.partition}:cloudtrail:${currentGetRegion.name}:${current.accountId}:trail/example\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Data Event Logging\n\nCloudTrail can log [Data Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) for certain services such as S3 objects and Lambda function invocations. Additional information about data event configuration can be found in the following links:\n\n* [CloudTrail API DataResource documentation](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_DataResource.html) (for basic event selector).\n* [CloudTrail API AdvancedFieldSelector documentation](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html) (for advanced event selector).\n\n### Logging All Lambda Function Invocations By Using Basic Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudtrail.Trail(\"example\", {eventSelectors: [{\n readWriteType: \"All\",\n includeManagementEvents: true,\n dataResources: [{\n type: \"AWS::Lambda::Function\",\n values: [\"arn:aws:lambda\"],\n }],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudtrail.Trail(\"example\", event_selectors=[{\n \"read_write_type\": \"All\",\n \"include_management_events\": True,\n \"data_resources\": [{\n \"type\": \"AWS::Lambda::Function\",\n \"values\": [\"arn:aws:lambda\"],\n }],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n EventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorArgs\n {\n ReadWriteType = \"All\",\n IncludeManagementEvents = true,\n DataResources = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorDataResourceArgs\n {\n Type = \"AWS::Lambda::Function\",\n Values = new[]\n {\n \"arn:aws:lambda\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\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 := cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tEventSelectors: cloudtrail.TrailEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailEventSelectorArgs{\n\t\t\t\t\tReadWriteType: pulumi.String(\"All\"),\n\t\t\t\t\tIncludeManagementEvents: pulumi.Bool(true),\n\t\t\t\t\tDataResources: cloudtrail.TrailEventSelectorDataResourceArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailEventSelectorDataResourceArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS::Lambda::Function\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"arn:aws:lambda\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Trail(\"example\", TrailArgs.builder()\n .eventSelectors(TrailEventSelectorArgs.builder()\n .readWriteType(\"All\")\n .includeManagementEvents(true)\n .dataResources(TrailEventSelectorDataResourceArgs.builder()\n .type(\"AWS::Lambda::Function\")\n .values(\"arn:aws:lambda\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n eventSelectors:\n - readWriteType: All\n includeManagementEvents: true\n dataResources:\n - type: AWS::Lambda::Function\n values:\n - arn:aws:lambda\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging All S3 Object Events By Using Basic Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudtrail.Trail(\"example\", {eventSelectors: [{\n readWriteType: \"All\",\n includeManagementEvents: true,\n dataResources: [{\n type: \"AWS::S3::Object\",\n values: [\"arn:aws:s3\"],\n }],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudtrail.Trail(\"example\", event_selectors=[{\n \"read_write_type\": \"All\",\n \"include_management_events\": True,\n \"data_resources\": [{\n \"type\": \"AWS::S3::Object\",\n \"values\": [\"arn:aws:s3\"],\n }],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n EventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorArgs\n {\n ReadWriteType = \"All\",\n IncludeManagementEvents = true,\n DataResources = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorDataResourceArgs\n {\n Type = \"AWS::S3::Object\",\n Values = new[]\n {\n \"arn:aws:s3\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\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 := cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tEventSelectors: cloudtrail.TrailEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailEventSelectorArgs{\n\t\t\t\t\tReadWriteType: pulumi.String(\"All\"),\n\t\t\t\t\tIncludeManagementEvents: pulumi.Bool(true),\n\t\t\t\t\tDataResources: cloudtrail.TrailEventSelectorDataResourceArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailEventSelectorDataResourceArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS::S3::Object\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"arn:aws:s3\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Trail(\"example\", TrailArgs.builder()\n .eventSelectors(TrailEventSelectorArgs.builder()\n .readWriteType(\"All\")\n .includeManagementEvents(true)\n .dataResources(TrailEventSelectorDataResourceArgs.builder()\n .type(\"AWS::S3::Object\")\n .values(\"arn:aws:s3\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n eventSelectors:\n - readWriteType: All\n includeManagementEvents: true\n dataResources:\n - type: AWS::S3::Object\n values:\n - arn:aws:s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging Individual S3 Bucket Events By Using Basic Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst important-bucket = aws.s3.getBucket({\n bucket: \"important-bucket\",\n});\nconst example = new aws.cloudtrail.Trail(\"example\", {eventSelectors: [{\n readWriteType: \"All\",\n includeManagementEvents: true,\n dataResources: [{\n type: \"AWS::S3::Object\",\n values: [important_bucket.then(important_bucket =\u003e `${important_bucket.arn}/`)],\n }],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nimportant_bucket = aws.s3.get_bucket(bucket=\"important-bucket\")\nexample = aws.cloudtrail.Trail(\"example\", event_selectors=[{\n \"read_write_type\": \"All\",\n \"include_management_events\": True,\n \"data_resources\": [{\n \"type\": \"AWS::S3::Object\",\n \"values\": [f\"{important_bucket.arn}/\"],\n }],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var important_bucket = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"important-bucket\",\n });\n\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n EventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorArgs\n {\n ReadWriteType = \"All\",\n IncludeManagementEvents = true,\n DataResources = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorDataResourceArgs\n {\n Type = \"AWS::S3::Object\",\n Values = new[]\n {\n important_bucket.Apply(important_bucket =\u003e $\"{important_bucket.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\timportant_bucket, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"important-bucket\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tEventSelectors: cloudtrail.TrailEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailEventSelectorArgs{\n\t\t\t\t\tReadWriteType: pulumi.String(\"All\"),\n\t\t\t\t\tIncludeManagementEvents: pulumi.Bool(true),\n\t\t\t\t\tDataResources: cloudtrail.TrailEventSelectorDataResourceArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailEventSelectorDataResourceArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS::S3::Object\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"%v/\", important_bucket.Arn),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var important-bucket = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"important-bucket\")\n .build());\n\n var example = new Trail(\"example\", TrailArgs.builder()\n .eventSelectors(TrailEventSelectorArgs.builder()\n .readWriteType(\"All\")\n .includeManagementEvents(true)\n .dataResources(TrailEventSelectorDataResourceArgs.builder()\n .type(\"AWS::S3::Object\")\n .values(String.format(\"%s/\", important_bucket.arn()))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n eventSelectors:\n - readWriteType: All\n includeManagementEvents: true\n dataResources:\n - type: AWS::S3::Object\n values:\n - ${[\"important-bucket\"].arn}/\nvariables:\n important-bucket:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: important-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging All S3 Object Events Except For Two S3 Buckets By Using Advanced Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst not-important-bucket-1 = aws.s3.getBucket({\n bucket: \"not-important-bucket-1\",\n});\nconst not-important-bucket-2 = aws.s3.getBucket({\n bucket: \"not-important-bucket-2\",\n});\nconst example = new aws.cloudtrail.Trail(\"example\", {advancedEventSelectors: [\n {\n name: \"Log all S3 objects events except for two S3 buckets\",\n fieldSelectors: [\n {\n field: \"eventCategory\",\n equals: [\"Data\"],\n },\n {\n field: \"resources.ARN\",\n notStartsWiths: [\n not_important_bucket_1.then(not_important_bucket_1 =\u003e `${not_important_bucket_1.arn}/`),\n not_important_bucket_2.then(not_important_bucket_2 =\u003e `${not_important_bucket_2.arn}/`),\n ],\n },\n {\n field: \"resources.type\",\n equals: [\"AWS::S3::Object\"],\n },\n ],\n },\n {\n name: \"Log readOnly and writeOnly management events\",\n fieldSelectors: [{\n field: \"eventCategory\",\n equals: [\"Management\"],\n }],\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nnot_important_bucket_1 = aws.s3.get_bucket(bucket=\"not-important-bucket-1\")\nnot_important_bucket_2 = aws.s3.get_bucket(bucket=\"not-important-bucket-2\")\nexample = aws.cloudtrail.Trail(\"example\", advanced_event_selectors=[\n {\n \"name\": \"Log all S3 objects events except for two S3 buckets\",\n \"field_selectors\": [\n {\n \"field\": \"eventCategory\",\n \"equals\": [\"Data\"],\n },\n {\n \"field\": \"resources.ARN\",\n \"not_starts_withs\": [\n f\"{not_important_bucket_1.arn}/\",\n f\"{not_important_bucket_2.arn}/\",\n ],\n },\n {\n \"field\": \"resources.type\",\n \"equals\": [\"AWS::S3::Object\"],\n },\n ],\n },\n {\n \"name\": \"Log readOnly and writeOnly management events\",\n \"field_selectors\": [{\n \"field\": \"eventCategory\",\n \"equals\": [\"Management\"],\n }],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var not_important_bucket_1 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"not-important-bucket-1\",\n });\n\n var not_important_bucket_2 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"not-important-bucket-2\",\n });\n\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n AdvancedEventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorArgs\n {\n Name = \"Log all S3 objects events except for two S3 buckets\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Data\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.ARN\",\n NotStartsWiths = new[]\n {\n not_important_bucket_1.Apply(not_important_bucket_1 =\u003e $\"{not_important_bucket_1.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n not_important_bucket_2.Apply(not_important_bucket_2 =\u003e $\"{not_important_bucket_2.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.type\",\n Equals = new[]\n {\n \"AWS::S3::Object\",\n },\n },\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorArgs\n {\n Name = \"Log readOnly and writeOnly management events\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Management\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnot_important_bucket_1, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"not-important-bucket-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnot_important_bucket_2, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"not-important-bucket-2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tAdvancedEventSelectors: cloudtrail.TrailAdvancedEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log all S3 objects events except for two S3 buckets\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Data\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.ARN\"),\n\t\t\t\t\t\t\tNotStartsWiths: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"%v/\", not_important_bucket_1.Arn),\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"%v/\", not_important_bucket_2.Arn),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.type\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"AWS::S3::Object\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log readOnly and writeOnly management events\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Management\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailAdvancedEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var not-important-bucket-1 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"not-important-bucket-1\")\n .build());\n\n final var not-important-bucket-2 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"not-important-bucket-2\")\n .build());\n\n var example = new Trail(\"example\", TrailArgs.builder()\n .advancedEventSelectors( \n TrailAdvancedEventSelectorArgs.builder()\n .name(\"Log all S3 objects events except for two S3 buckets\")\n .fieldSelectors( \n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Data\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.ARN\")\n .notStartsWiths( \n String.format(\"%s/\", not_important_bucket_1.arn()),\n String.format(\"%s/\", not_important_bucket_2.arn()))\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.type\")\n .equals(\"AWS::S3::Object\")\n .build())\n .build(),\n TrailAdvancedEventSelectorArgs.builder()\n .name(\"Log readOnly and writeOnly management events\")\n .fieldSelectors(TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Management\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n advancedEventSelectors:\n - name: Log all S3 objects events except for two S3 buckets\n fieldSelectors:\n - field: eventCategory\n equals:\n - Data\n - field: resources.ARN\n notStartsWiths:\n - ${[\"not-important-bucket-1\"].arn}/\n - ${[\"not-important-bucket-2\"].arn}/\n - field: resources.type\n equals:\n - AWS::S3::Object\n - name: Log readOnly and writeOnly management events\n fieldSelectors:\n - field: eventCategory\n equals:\n - Management\nvariables:\n not-important-bucket-1:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: not-important-bucket-1\n not-important-bucket-2:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: not-important-bucket-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging Individual S3 Buckets And Specific Event Names By Using Advanced Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst important-bucket-1 = aws.s3.getBucket({\n bucket: \"important-bucket-1\",\n});\nconst important-bucket-2 = aws.s3.getBucket({\n bucket: \"important-bucket-2\",\n});\nconst important-bucket-3 = aws.s3.getBucket({\n bucket: \"important-bucket-3\",\n});\nconst example = new aws.cloudtrail.Trail(\"example\", {advancedEventSelectors: [\n {\n name: \"Log PutObject and DeleteObject events for two S3 buckets\",\n fieldSelectors: [\n {\n field: \"eventCategory\",\n equals: [\"Data\"],\n },\n {\n field: \"eventName\",\n equals: [\n \"PutObject\",\n \"DeleteObject\",\n ],\n },\n {\n field: \"resources.ARN\",\n startsWiths: [\n important_bucket_1.then(important_bucket_1 =\u003e `${important_bucket_1.arn}/`),\n important_bucket_2.then(important_bucket_2 =\u003e `${important_bucket_2.arn}/`),\n ],\n },\n {\n field: \"readOnly\",\n equals: [\"false\"],\n },\n {\n field: \"resources.type\",\n equals: [\"AWS::S3::Object\"],\n },\n ],\n },\n {\n name: \"Log Delete* events for one S3 bucket\",\n fieldSelectors: [\n {\n field: \"eventCategory\",\n equals: [\"Data\"],\n },\n {\n field: \"eventName\",\n startsWiths: [\"Delete\"],\n },\n {\n field: \"resources.ARN\",\n equals: [important_bucket_3.then(important_bucket_3 =\u003e `${important_bucket_3.arn}/important-prefix`)],\n },\n {\n field: \"readOnly\",\n equals: [\"false\"],\n },\n {\n field: \"resources.type\",\n equals: [\"AWS::S3::Object\"],\n },\n ],\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nimportant_bucket_1 = aws.s3.get_bucket(bucket=\"important-bucket-1\")\nimportant_bucket_2 = aws.s3.get_bucket(bucket=\"important-bucket-2\")\nimportant_bucket_3 = aws.s3.get_bucket(bucket=\"important-bucket-3\")\nexample = aws.cloudtrail.Trail(\"example\", advanced_event_selectors=[\n {\n \"name\": \"Log PutObject and DeleteObject events for two S3 buckets\",\n \"field_selectors\": [\n {\n \"field\": \"eventCategory\",\n \"equals\": [\"Data\"],\n },\n {\n \"field\": \"eventName\",\n \"equals\": [\n \"PutObject\",\n \"DeleteObject\",\n ],\n },\n {\n \"field\": \"resources.ARN\",\n \"starts_withs\": [\n f\"{important_bucket_1.arn}/\",\n f\"{important_bucket_2.arn}/\",\n ],\n },\n {\n \"field\": \"readOnly\",\n \"equals\": [\"false\"],\n },\n {\n \"field\": \"resources.type\",\n \"equals\": [\"AWS::S3::Object\"],\n },\n ],\n },\n {\n \"name\": \"Log Delete* events for one S3 bucket\",\n \"field_selectors\": [\n {\n \"field\": \"eventCategory\",\n \"equals\": [\"Data\"],\n },\n {\n \"field\": \"eventName\",\n \"starts_withs\": [\"Delete\"],\n },\n {\n \"field\": \"resources.ARN\",\n \"equals\": [f\"{important_bucket_3.arn}/important-prefix\"],\n },\n {\n \"field\": \"readOnly\",\n \"equals\": [\"false\"],\n },\n {\n \"field\": \"resources.type\",\n \"equals\": [\"AWS::S3::Object\"],\n },\n ],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var important_bucket_1 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"important-bucket-1\",\n });\n\n var important_bucket_2 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"important-bucket-2\",\n });\n\n var important_bucket_3 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"important-bucket-3\",\n });\n\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n AdvancedEventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorArgs\n {\n Name = \"Log PutObject and DeleteObject events for two S3 buckets\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Data\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventName\",\n Equals = new[]\n {\n \"PutObject\",\n \"DeleteObject\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.ARN\",\n StartsWiths = new[]\n {\n important_bucket_1.Apply(important_bucket_1 =\u003e $\"{important_bucket_1.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n important_bucket_2.Apply(important_bucket_2 =\u003e $\"{important_bucket_2.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"readOnly\",\n Equals = new[]\n {\n \"false\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.type\",\n Equals = new[]\n {\n \"AWS::S3::Object\",\n },\n },\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorArgs\n {\n Name = \"Log Delete* events for one S3 bucket\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Data\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventName\",\n StartsWiths = new[]\n {\n \"Delete\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.ARN\",\n Equals = new[]\n {\n important_bucket_3.Apply(important_bucket_3 =\u003e $\"{important_bucket_3.Apply(getBucketResult =\u003e getBucketResult.Arn)}/important-prefix\"),\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"readOnly\",\n Equals = new[]\n {\n \"false\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.type\",\n Equals = new[]\n {\n \"AWS::S3::Object\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\timportant_bucket_1, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"important-bucket-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\timportant_bucket_2, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"important-bucket-2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\timportant_bucket_3, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"important-bucket-3\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tAdvancedEventSelectors: cloudtrail.TrailAdvancedEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log PutObject and DeleteObject events for two S3 buckets\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Data\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventName\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"PutObject\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"DeleteObject\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.ARN\"),\n\t\t\t\t\t\t\tStartsWiths: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"%v/\", important_bucket_1.Arn),\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"%v/\", important_bucket_2.Arn),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"readOnly\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"false\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.type\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"AWS::S3::Object\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log Delete* events for one S3 bucket\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Data\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventName\"),\n\t\t\t\t\t\t\tStartsWiths: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.ARN\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"%v/important-prefix\", important_bucket_3.Arn),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"readOnly\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"false\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.type\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"AWS::S3::Object\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailAdvancedEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var important-bucket-1 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"important-bucket-1\")\n .build());\n\n final var important-bucket-2 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"important-bucket-2\")\n .build());\n\n final var important-bucket-3 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"important-bucket-3\")\n .build());\n\n var example = new Trail(\"example\", TrailArgs.builder()\n .advancedEventSelectors( \n TrailAdvancedEventSelectorArgs.builder()\n .name(\"Log PutObject and DeleteObject events for two S3 buckets\")\n .fieldSelectors( \n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Data\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventName\")\n .equals( \n \"PutObject\",\n \"DeleteObject\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.ARN\")\n .startsWiths( \n String.format(\"%s/\", important_bucket_1.arn()),\n String.format(\"%s/\", important_bucket_2.arn()))\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"readOnly\")\n .equals(\"false\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.type\")\n .equals(\"AWS::S3::Object\")\n .build())\n .build(),\n TrailAdvancedEventSelectorArgs.builder()\n .name(\"Log Delete* events for one S3 bucket\")\n .fieldSelectors( \n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Data\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventName\")\n .startsWiths(\"Delete\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.ARN\")\n .equals(String.format(\"%s/important-prefix\", important_bucket_3.arn()))\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"readOnly\")\n .equals(\"false\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.type\")\n .equals(\"AWS::S3::Object\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n advancedEventSelectors:\n - name: Log PutObject and DeleteObject events for two S3 buckets\n fieldSelectors:\n - field: eventCategory\n equals:\n - Data\n - field: eventName\n equals:\n - PutObject\n - DeleteObject\n - field: resources.ARN\n startsWiths:\n - ${[\"important-bucket-1\"].arn}/\n - ${[\"important-bucket-2\"].arn}/\n - field: readOnly\n equals:\n - 'false'\n - field: resources.type\n equals:\n - AWS::S3::Object\n - name: Log Delete* events for one S3 bucket\n fieldSelectors:\n - field: eventCategory\n equals:\n - Data\n - field: eventName\n startsWiths:\n - Delete\n - field: resources.ARN\n equals:\n - ${[\"important-bucket-3\"].arn}/important-prefix\n - field: readOnly\n equals:\n - 'false'\n - field: resources.type\n equals:\n - AWS::S3::Object\nvariables:\n important-bucket-1:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: important-bucket-1\n important-bucket-2:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: important-bucket-2\n important-bucket-3:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: important-bucket-3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Sending Events to CloudWatch Logs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {name: \"Example\"});\nconst exampleTrail = new aws.cloudtrail.Trail(\"example\", {cloudWatchLogsGroupArn: pulumi.interpolate`${example.arn}:*`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\", name=\"Example\")\nexample_trail = aws.cloudtrail.Trail(\"example\", cloud_watch_logs_group_arn=example.arn.apply(lambda arn: f\"{arn}:*\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"Example\",\n });\n\n var exampleTrail = new Aws.CloudTrail.Trail(\"example\", new()\n {\n CloudWatchLogsGroupArn = example.Arn.Apply(arn =\u003e $\"{arn}:*\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tCloudWatchLogsGroupArn: example.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(\"Example\")\n .build());\n\n var exampleTrail = new Trail(\"exampleTrail\", TrailArgs.builder()\n .cloudWatchLogsGroupArn(example.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: Example\n exampleTrail:\n type: aws:cloudtrail:Trail\n name: example\n properties:\n cloudWatchLogsGroupArn: ${example.arn}:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudtrails using the `arn`. For example:\n\n```sh\n$ pulumi import aws:cloudtrail/trail:Trail sample arn:aws:cloudtrail:us-east-1:123456789012:trail/my-sample-trail\n```\n", "properties": { "advancedEventSelectors": { "type": "array", @@ -203594,7 +203594,7 @@ } }, "aws:cloudwatch/eventBus:EventBus": { - "description": "Provides an EventBridge event bus resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst messenger = new aws.cloudwatch.EventBus(\"messenger\", {name: \"chat-messages\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmessenger = aws.cloudwatch.EventBus(\"messenger\", name=\"chat-messages\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var messenger = new Aws.CloudWatch.EventBus(\"messenger\", new()\n {\n Name = \"chat-messages\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\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 := cloudwatch.NewEventBus(ctx, \"messenger\", \u0026cloudwatch.EventBusArgs{\n\t\t\tName: pulumi.String(\"chat-messages\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventBusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var messenger = new EventBus(\"messenger\", EventBusArgs.builder()\n .name(\"chat-messages\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n messenger:\n type: aws:cloudwatch:EventBus\n properties:\n name: chat-messages\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplepartner = aws.cloudwatch.getEventSource({\n namePrefix: \"aws.partner/examplepartner.com\",\n});\nconst examplepartnerEventBus = new aws.cloudwatch.EventBus(\"examplepartner\", {\n name: examplepartner.then(examplepartner =\u003e examplepartner.name),\n description: \"Event bus for example partner events\",\n eventSourceName: examplepartner.then(examplepartner =\u003e examplepartner.name),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplepartner = aws.cloudwatch.get_event_source(name_prefix=\"aws.partner/examplepartner.com\")\nexamplepartner_event_bus = aws.cloudwatch.EventBus(\"examplepartner\",\n name=examplepartner.name,\n description=\"Event bus for example partner events\",\n event_source_name=examplepartner.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplepartner = Aws.CloudWatch.GetEventSource.Invoke(new()\n {\n NamePrefix = \"aws.partner/examplepartner.com\",\n });\n\n var examplepartnerEventBus = new Aws.CloudWatch.EventBus(\"examplepartner\", new()\n {\n Name = examplepartner.Apply(getEventSourceResult =\u003e getEventSourceResult.Name),\n Description = \"Event bus for example partner events\",\n EventSourceName = examplepartner.Apply(getEventSourceResult =\u003e getEventSourceResult.Name),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplepartner, err := cloudwatch.GetEventSource(ctx, \u0026cloudwatch.GetEventSourceArgs{\n\t\t\tNamePrefix: pulumi.StringRef(\"aws.partner/examplepartner.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventBus(ctx, \"examplepartner\", \u0026cloudwatch.EventBusArgs{\n\t\t\tName: pulumi.String(examplepartner.Name),\n\t\t\tDescription: pulumi.String(\"Event bus for example partner events\"),\n\t\t\tEventSourceName: pulumi.String(examplepartner.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetEventSourceArgs;\nimport com.pulumi.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventBusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var examplepartner = CloudwatchFunctions.getEventSource(GetEventSourceArgs.builder()\n .namePrefix(\"aws.partner/examplepartner.com\")\n .build());\n\n var examplepartnerEventBus = new EventBus(\"examplepartnerEventBus\", EventBusArgs.builder()\n .name(examplepartner.applyValue(getEventSourceResult -\u003e getEventSourceResult.name()))\n .description(\"Event bus for example partner events\")\n .eventSourceName(examplepartner.applyValue(getEventSourceResult -\u003e getEventSourceResult.name()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplepartnerEventBus:\n type: aws:cloudwatch:EventBus\n name: examplepartner\n properties:\n name: ${examplepartner.name}\n description: Event bus for example partner events\n eventSourceName: ${examplepartner.name}\nvariables:\n examplepartner:\n fn::invoke:\n function: aws:cloudwatch:getEventSource\n arguments:\n namePrefix: aws.partner/examplepartner.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge event buses using the name of the event bus (which can also be a partner event source name). For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventBus:EventBus messenger chat-messages\n```\n", + "description": "Provides an EventBridge event bus resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst messenger = new aws.cloudwatch.EventBus(\"messenger\", {name: \"chat-messages\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmessenger = aws.cloudwatch.EventBus(\"messenger\", name=\"chat-messages\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var messenger = new Aws.CloudWatch.EventBus(\"messenger\", new()\n {\n Name = \"chat-messages\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\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 := cloudwatch.NewEventBus(ctx, \"messenger\", \u0026cloudwatch.EventBusArgs{\n\t\t\tName: pulumi.String(\"chat-messages\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventBusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var messenger = new EventBus(\"messenger\", EventBusArgs.builder()\n .name(\"chat-messages\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n messenger:\n type: aws:cloudwatch:EventBus\n properties:\n name: chat-messages\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplepartner = aws.cloudwatch.getEventSource({\n namePrefix: \"aws.partner/examplepartner.com\",\n});\nconst examplepartnerEventBus = new aws.cloudwatch.EventBus(\"examplepartner\", {\n name: examplepartner.then(examplepartner =\u003e examplepartner.name),\n description: \"Event bus for example partner events\",\n eventSourceName: examplepartner.then(examplepartner =\u003e examplepartner.name),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplepartner = aws.cloudwatch.get_event_source(name_prefix=\"aws.partner/examplepartner.com\")\nexamplepartner_event_bus = aws.cloudwatch.EventBus(\"examplepartner\",\n name=examplepartner.name,\n description=\"Event bus for example partner events\",\n event_source_name=examplepartner.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplepartner = Aws.CloudWatch.GetEventSource.Invoke(new()\n {\n NamePrefix = \"aws.partner/examplepartner.com\",\n });\n\n var examplepartnerEventBus = new Aws.CloudWatch.EventBus(\"examplepartner\", new()\n {\n Name = examplepartner.Apply(getEventSourceResult =\u003e getEventSourceResult.Name),\n Description = \"Event bus for example partner events\",\n EventSourceName = examplepartner.Apply(getEventSourceResult =\u003e getEventSourceResult.Name),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplepartner, err := cloudwatch.GetEventSource(ctx, \u0026cloudwatch.GetEventSourceArgs{\n\t\t\tNamePrefix: pulumi.StringRef(\"aws.partner/examplepartner.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventBus(ctx, \"examplepartner\", \u0026cloudwatch.EventBusArgs{\n\t\t\tName: pulumi.String(examplepartner.Name),\n\t\t\tDescription: pulumi.String(\"Event bus for example partner events\"),\n\t\t\tEventSourceName: pulumi.String(examplepartner.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetEventSourceArgs;\nimport com.pulumi.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventBusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var examplepartner = CloudwatchFunctions.getEventSource(GetEventSourceArgs.builder()\n .namePrefix(\"aws.partner/examplepartner.com\")\n .build());\n\n var examplepartnerEventBus = new EventBus(\"examplepartnerEventBus\", EventBusArgs.builder()\n .name(examplepartner.applyValue(getEventSourceResult -\u003e getEventSourceResult.name()))\n .description(\"Event bus for example partner events\")\n .eventSourceName(examplepartner.applyValue(getEventSourceResult -\u003e getEventSourceResult.name()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplepartnerEventBus:\n type: aws:cloudwatch:EventBus\n name: examplepartner\n properties:\n name: ${examplepartner.name}\n description: Event bus for example partner events\n eventSourceName: ${examplepartner.name}\nvariables:\n examplepartner:\n fn::invoke:\n Function: aws:cloudwatch:getEventSource\n Arguments:\n namePrefix: aws.partner/examplepartner.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge event buses using the name of the event bus (which can also be a partner event source name). For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventBus:EventBus messenger chat-messages\n```\n", "properties": { "arn": { "type": "string", @@ -203709,7 +203709,7 @@ } }, "aws:cloudwatch/eventBusPolicy:EventBusPolicy": { - "description": "Provides a resource to create an EventBridge resource policy to support cross-account events.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n\u003e **Note:** The EventBridge bus policy resource (`aws.cloudwatch.EventBusPolicy`) is incompatible with the EventBridge permission resource (`aws.cloudwatch.EventPermission`) and will overwrite permissions.\n\n## Example Usage\n\n### Account Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"DevAccountAccess\",\n effect: \"Allow\",\n actions: [\"events:PutEvents\"],\n resources: [\"arn:aws:events:eu-west-1:123456789012:event-bus/default\"],\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n }],\n});\nconst testEventBusPolicy = new aws.cloudwatch.EventBusPolicy(\"test\", {\n policy: test.then(test =\u003e test.json),\n eventBusName: testAwsCloudwatchEventBus.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.iam.get_policy_document(statements=[{\n \"sid\": \"DevAccountAccess\",\n \"effect\": \"Allow\",\n \"actions\": [\"events:PutEvents\"],\n \"resources\": [\"arn:aws:events:eu-west-1:123456789012:event-bus/default\"],\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"123456789012\"],\n }],\n}])\ntest_event_bus_policy = aws.cloudwatch.EventBusPolicy(\"test\",\n policy=test.json,\n event_bus_name=test_aws_cloudwatch_event_bus[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"DevAccountAccess\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:PutEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n },\n },\n });\n\n var testEventBusPolicy = new Aws.CloudWatch.EventBusPolicy(\"test\", new()\n {\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n EventBusName = testAwsCloudwatchEventBus.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"DevAccountAccess\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"events:PutEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"123456789012\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventBusPolicy(ctx, \"test\", \u0026cloudwatch.EventBusPolicyArgs{\n\t\t\tPolicy: pulumi.String(test.Json),\n\t\t\tEventBusName: pulumi.Any(testAwsCloudwatchEventBus.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.EventBusPolicy;\nimport com.pulumi.aws.cloudwatch.EventBusPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"DevAccountAccess\")\n .effect(\"Allow\")\n .actions(\"events:PutEvents\")\n .resources(\"arn:aws:events:eu-west-1:123456789012:event-bus/default\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .build())\n .build());\n\n var testEventBusPolicy = new EventBusPolicy(\"testEventBusPolicy\", EventBusPolicyArgs.builder()\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .eventBusName(testAwsCloudwatchEventBus.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testEventBusPolicy:\n type: aws:cloudwatch:EventBusPolicy\n name: test\n properties:\n policy: ${test.json}\n eventBusName: ${testAwsCloudwatchEventBus.name}\nvariables:\n test:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: DevAccountAccess\n effect: Allow\n actions:\n - events:PutEvents\n resources:\n - arn:aws:events:eu-west-1:123456789012:event-bus/default\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OrganizationAccess\",\n effect: \"Allow\",\n actions: [\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n ],\n resources: [\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n ],\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n conditions: [{\n test: \"StringEquals\",\n variable: \"aws:PrincipalOrgID\",\n values: [example.id],\n }],\n }],\n});\nconst testEventBusPolicy = new aws.cloudwatch.EventBusPolicy(\"test\", {\n policy: test.then(test =\u003e test.json),\n eventBusName: testAwsCloudwatchEventBus.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.iam.get_policy_document(statements=[{\n \"sid\": \"OrganizationAccess\",\n \"effect\": \"Allow\",\n \"actions\": [\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n ],\n \"resources\": [\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n ],\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"aws:PrincipalOrgID\",\n \"values\": [example[\"id\"]],\n }],\n}])\ntest_event_bus_policy = aws.cloudwatch.EventBusPolicy(\"test\",\n policy=test.json,\n event_bus_name=test_aws_cloudwatch_event_bus[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OrganizationAccess\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:PrincipalOrgID\",\n Values = new[]\n {\n example.Id,\n },\n },\n },\n },\n },\n });\n\n var testEventBusPolicy = new Aws.CloudWatch.EventBusPolicy(\"test\", new()\n {\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n EventBusName = testAwsCloudwatchEventBus.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OrganizationAccess\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"events:DescribeRule\",\n\"events:ListRules\",\n\"events:ListTargetsByRule\",\n\"events:ListTagsForResource\",\n},\nResources: []string{\n\"arn:aws:events:eu-west-1:123456789012:rule/*\",\n\"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"aws:PrincipalOrgID\",\nValues: interface{}{\nexample.Id,\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = cloudwatch.NewEventBusPolicy(ctx, \"test\", \u0026cloudwatch.EventBusPolicyArgs{\nPolicy: pulumi.String(test.Json),\nEventBusName: pulumi.Any(testAwsCloudwatchEventBus.Name),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.EventBusPolicy;\nimport com.pulumi.aws.cloudwatch.EventBusPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OrganizationAccess\")\n .effect(\"Allow\")\n .actions( \n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\")\n .resources( \n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:PrincipalOrgID\")\n .values(example.id())\n .build())\n .build())\n .build());\n\n var testEventBusPolicy = new EventBusPolicy(\"testEventBusPolicy\", EventBusPolicyArgs.builder()\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .eventBusName(testAwsCloudwatchEventBus.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testEventBusPolicy:\n type: aws:cloudwatch:EventBusPolicy\n name: test\n properties:\n policy: ${test.json}\n eventBusName: ${testAwsCloudwatchEventBus.name}\nvariables:\n test:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: OrganizationAccess\n effect: Allow\n actions:\n - events:DescribeRule\n - events:ListRules\n - events:ListTargetsByRule\n - events:ListTagsForResource\n resources:\n - arn:aws:events:eu-west-1:123456789012:rule/*\n - arn:aws:events:eu-west-1:123456789012:event-bus/default\n principals:\n - type: AWS\n identifiers:\n - '*'\n conditions:\n - test: StringEquals\n variable: aws:PrincipalOrgID\n values:\n - ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multiple Statements\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"DevAccountAccess\",\n effect: \"Allow\",\n actions: [\"events:PutEvents\"],\n resources: [\"arn:aws:events:eu-west-1:123456789012:event-bus/default\"],\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n },\n {\n sid: \"OrganizationAccess\",\n effect: \"Allow\",\n actions: [\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n ],\n resources: [\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n ],\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n conditions: [{\n test: \"StringEquals\",\n variable: \"aws:PrincipalOrgID\",\n values: [example.id],\n }],\n },\n ],\n});\nconst testEventBusPolicy = new aws.cloudwatch.EventBusPolicy(\"test\", {\n policy: test.then(test =\u003e test.json),\n eventBusName: testAwsCloudwatchEventBus.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.iam.get_policy_document(statements=[\n {\n \"sid\": \"DevAccountAccess\",\n \"effect\": \"Allow\",\n \"actions\": [\"events:PutEvents\"],\n \"resources\": [\"arn:aws:events:eu-west-1:123456789012:event-bus/default\"],\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"123456789012\"],\n }],\n },\n {\n \"sid\": \"OrganizationAccess\",\n \"effect\": \"Allow\",\n \"actions\": [\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n ],\n \"resources\": [\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n ],\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"aws:PrincipalOrgID\",\n \"values\": [example[\"id\"]],\n }],\n },\n])\ntest_event_bus_policy = aws.cloudwatch.EventBusPolicy(\"test\",\n policy=test.json,\n event_bus_name=test_aws_cloudwatch_event_bus[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"DevAccountAccess\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:PutEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OrganizationAccess\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:PrincipalOrgID\",\n Values = new[]\n {\n example.Id,\n },\n },\n },\n },\n },\n });\n\n var testEventBusPolicy = new Aws.CloudWatch.EventBusPolicy(\"test\", new()\n {\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n EventBusName = testAwsCloudwatchEventBus.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"DevAccountAccess\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"events:PutEvents\",\n},\nResources: []string{\n\"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"123456789012\",\n},\n},\n},\n},\n{\nSid: pulumi.StringRef(\"OrganizationAccess\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"events:DescribeRule\",\n\"events:ListRules\",\n\"events:ListTargetsByRule\",\n\"events:ListTagsForResource\",\n},\nResources: []string{\n\"arn:aws:events:eu-west-1:123456789012:rule/*\",\n\"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"aws:PrincipalOrgID\",\nValues: interface{}{\nexample.Id,\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = cloudwatch.NewEventBusPolicy(ctx, \"test\", \u0026cloudwatch.EventBusPolicyArgs{\nPolicy: pulumi.String(test.Json),\nEventBusName: pulumi.Any(testAwsCloudwatchEventBus.Name),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.EventBusPolicy;\nimport com.pulumi.aws.cloudwatch.EventBusPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"DevAccountAccess\")\n .effect(\"Allow\")\n .actions(\"events:PutEvents\")\n .resources(\"arn:aws:events:eu-west-1:123456789012:event-bus/default\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"OrganizationAccess\")\n .effect(\"Allow\")\n .actions( \n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\")\n .resources( \n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:PrincipalOrgID\")\n .values(example.id())\n .build())\n .build())\n .build());\n\n var testEventBusPolicy = new EventBusPolicy(\"testEventBusPolicy\", EventBusPolicyArgs.builder()\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .eventBusName(testAwsCloudwatchEventBus.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testEventBusPolicy:\n type: aws:cloudwatch:EventBusPolicy\n name: test\n properties:\n policy: ${test.json}\n eventBusName: ${testAwsCloudwatchEventBus.name}\nvariables:\n test:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: DevAccountAccess\n effect: Allow\n actions:\n - events:PutEvents\n resources:\n - arn:aws:events:eu-west-1:123456789012:event-bus/default\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n - sid: OrganizationAccess\n effect: Allow\n actions:\n - events:DescribeRule\n - events:ListRules\n - events:ListTargetsByRule\n - events:ListTagsForResource\n resources:\n - arn:aws:events:eu-west-1:123456789012:rule/*\n - arn:aws:events:eu-west-1:123456789012:event-bus/default\n principals:\n - type: AWS\n identifiers:\n - '*'\n conditions:\n - test: StringEquals\n variable: aws:PrincipalOrgID\n values:\n - ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an EventBridge policy using the `event_bus_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventBusPolicy:EventBusPolicy DevAccountAccess example-event-bus\n```\n", + "description": "Provides a resource to create an EventBridge resource policy to support cross-account events.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n\u003e **Note:** The EventBridge bus policy resource (`aws.cloudwatch.EventBusPolicy`) is incompatible with the EventBridge permission resource (`aws.cloudwatch.EventPermission`) and will overwrite permissions.\n\n## Example Usage\n\n### Account Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"DevAccountAccess\",\n effect: \"Allow\",\n actions: [\"events:PutEvents\"],\n resources: [\"arn:aws:events:eu-west-1:123456789012:event-bus/default\"],\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n }],\n});\nconst testEventBusPolicy = new aws.cloudwatch.EventBusPolicy(\"test\", {\n policy: test.then(test =\u003e test.json),\n eventBusName: testAwsCloudwatchEventBus.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.iam.get_policy_document(statements=[{\n \"sid\": \"DevAccountAccess\",\n \"effect\": \"Allow\",\n \"actions\": [\"events:PutEvents\"],\n \"resources\": [\"arn:aws:events:eu-west-1:123456789012:event-bus/default\"],\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"123456789012\"],\n }],\n}])\ntest_event_bus_policy = aws.cloudwatch.EventBusPolicy(\"test\",\n policy=test.json,\n event_bus_name=test_aws_cloudwatch_event_bus[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"DevAccountAccess\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:PutEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n },\n },\n });\n\n var testEventBusPolicy = new Aws.CloudWatch.EventBusPolicy(\"test\", new()\n {\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n EventBusName = testAwsCloudwatchEventBus.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"DevAccountAccess\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"events:PutEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"123456789012\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventBusPolicy(ctx, \"test\", \u0026cloudwatch.EventBusPolicyArgs{\n\t\t\tPolicy: pulumi.String(test.Json),\n\t\t\tEventBusName: pulumi.Any(testAwsCloudwatchEventBus.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.EventBusPolicy;\nimport com.pulumi.aws.cloudwatch.EventBusPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"DevAccountAccess\")\n .effect(\"Allow\")\n .actions(\"events:PutEvents\")\n .resources(\"arn:aws:events:eu-west-1:123456789012:event-bus/default\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .build())\n .build());\n\n var testEventBusPolicy = new EventBusPolicy(\"testEventBusPolicy\", EventBusPolicyArgs.builder()\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .eventBusName(testAwsCloudwatchEventBus.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testEventBusPolicy:\n type: aws:cloudwatch:EventBusPolicy\n name: test\n properties:\n policy: ${test.json}\n eventBusName: ${testAwsCloudwatchEventBus.name}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: DevAccountAccess\n effect: Allow\n actions:\n - events:PutEvents\n resources:\n - arn:aws:events:eu-west-1:123456789012:event-bus/default\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OrganizationAccess\",\n effect: \"Allow\",\n actions: [\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n ],\n resources: [\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n ],\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n conditions: [{\n test: \"StringEquals\",\n variable: \"aws:PrincipalOrgID\",\n values: [example.id],\n }],\n }],\n});\nconst testEventBusPolicy = new aws.cloudwatch.EventBusPolicy(\"test\", {\n policy: test.then(test =\u003e test.json),\n eventBusName: testAwsCloudwatchEventBus.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.iam.get_policy_document(statements=[{\n \"sid\": \"OrganizationAccess\",\n \"effect\": \"Allow\",\n \"actions\": [\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n ],\n \"resources\": [\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n ],\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"aws:PrincipalOrgID\",\n \"values\": [example[\"id\"]],\n }],\n}])\ntest_event_bus_policy = aws.cloudwatch.EventBusPolicy(\"test\",\n policy=test.json,\n event_bus_name=test_aws_cloudwatch_event_bus[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OrganizationAccess\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:PrincipalOrgID\",\n Values = new[]\n {\n example.Id,\n },\n },\n },\n },\n },\n });\n\n var testEventBusPolicy = new Aws.CloudWatch.EventBusPolicy(\"test\", new()\n {\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n EventBusName = testAwsCloudwatchEventBus.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OrganizationAccess\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"events:DescribeRule\",\n\"events:ListRules\",\n\"events:ListTargetsByRule\",\n\"events:ListTagsForResource\",\n},\nResources: []string{\n\"arn:aws:events:eu-west-1:123456789012:rule/*\",\n\"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"aws:PrincipalOrgID\",\nValues: interface{}{\nexample.Id,\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = cloudwatch.NewEventBusPolicy(ctx, \"test\", \u0026cloudwatch.EventBusPolicyArgs{\nPolicy: pulumi.String(test.Json),\nEventBusName: pulumi.Any(testAwsCloudwatchEventBus.Name),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.EventBusPolicy;\nimport com.pulumi.aws.cloudwatch.EventBusPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OrganizationAccess\")\n .effect(\"Allow\")\n .actions( \n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\")\n .resources( \n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:PrincipalOrgID\")\n .values(example.id())\n .build())\n .build())\n .build());\n\n var testEventBusPolicy = new EventBusPolicy(\"testEventBusPolicy\", EventBusPolicyArgs.builder()\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .eventBusName(testAwsCloudwatchEventBus.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testEventBusPolicy:\n type: aws:cloudwatch:EventBusPolicy\n name: test\n properties:\n policy: ${test.json}\n eventBusName: ${testAwsCloudwatchEventBus.name}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: OrganizationAccess\n effect: Allow\n actions:\n - events:DescribeRule\n - events:ListRules\n - events:ListTargetsByRule\n - events:ListTagsForResource\n resources:\n - arn:aws:events:eu-west-1:123456789012:rule/*\n - arn:aws:events:eu-west-1:123456789012:event-bus/default\n principals:\n - type: AWS\n identifiers:\n - '*'\n conditions:\n - test: StringEquals\n variable: aws:PrincipalOrgID\n values:\n - ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multiple Statements\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"DevAccountAccess\",\n effect: \"Allow\",\n actions: [\"events:PutEvents\"],\n resources: [\"arn:aws:events:eu-west-1:123456789012:event-bus/default\"],\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n },\n {\n sid: \"OrganizationAccess\",\n effect: \"Allow\",\n actions: [\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n ],\n resources: [\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n ],\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n conditions: [{\n test: \"StringEquals\",\n variable: \"aws:PrincipalOrgID\",\n values: [example.id],\n }],\n },\n ],\n});\nconst testEventBusPolicy = new aws.cloudwatch.EventBusPolicy(\"test\", {\n policy: test.then(test =\u003e test.json),\n eventBusName: testAwsCloudwatchEventBus.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.iam.get_policy_document(statements=[\n {\n \"sid\": \"DevAccountAccess\",\n \"effect\": \"Allow\",\n \"actions\": [\"events:PutEvents\"],\n \"resources\": [\"arn:aws:events:eu-west-1:123456789012:event-bus/default\"],\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"123456789012\"],\n }],\n },\n {\n \"sid\": \"OrganizationAccess\",\n \"effect\": \"Allow\",\n \"actions\": [\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n ],\n \"resources\": [\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n ],\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"aws:PrincipalOrgID\",\n \"values\": [example[\"id\"]],\n }],\n },\n])\ntest_event_bus_policy = aws.cloudwatch.EventBusPolicy(\"test\",\n policy=test.json,\n event_bus_name=test_aws_cloudwatch_event_bus[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"DevAccountAccess\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:PutEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OrganizationAccess\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:PrincipalOrgID\",\n Values = new[]\n {\n example.Id,\n },\n },\n },\n },\n },\n });\n\n var testEventBusPolicy = new Aws.CloudWatch.EventBusPolicy(\"test\", new()\n {\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n EventBusName = testAwsCloudwatchEventBus.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"DevAccountAccess\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"events:PutEvents\",\n},\nResources: []string{\n\"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"123456789012\",\n},\n},\n},\n},\n{\nSid: pulumi.StringRef(\"OrganizationAccess\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"events:DescribeRule\",\n\"events:ListRules\",\n\"events:ListTargetsByRule\",\n\"events:ListTagsForResource\",\n},\nResources: []string{\n\"arn:aws:events:eu-west-1:123456789012:rule/*\",\n\"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"aws:PrincipalOrgID\",\nValues: interface{}{\nexample.Id,\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = cloudwatch.NewEventBusPolicy(ctx, \"test\", \u0026cloudwatch.EventBusPolicyArgs{\nPolicy: pulumi.String(test.Json),\nEventBusName: pulumi.Any(testAwsCloudwatchEventBus.Name),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.EventBusPolicy;\nimport com.pulumi.aws.cloudwatch.EventBusPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"DevAccountAccess\")\n .effect(\"Allow\")\n .actions(\"events:PutEvents\")\n .resources(\"arn:aws:events:eu-west-1:123456789012:event-bus/default\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"OrganizationAccess\")\n .effect(\"Allow\")\n .actions( \n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\")\n .resources( \n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:PrincipalOrgID\")\n .values(example.id())\n .build())\n .build())\n .build());\n\n var testEventBusPolicy = new EventBusPolicy(\"testEventBusPolicy\", EventBusPolicyArgs.builder()\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .eventBusName(testAwsCloudwatchEventBus.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testEventBusPolicy:\n type: aws:cloudwatch:EventBusPolicy\n name: test\n properties:\n policy: ${test.json}\n eventBusName: ${testAwsCloudwatchEventBus.name}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: DevAccountAccess\n effect: Allow\n actions:\n - events:PutEvents\n resources:\n - arn:aws:events:eu-west-1:123456789012:event-bus/default\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n - sid: OrganizationAccess\n effect: Allow\n actions:\n - events:DescribeRule\n - events:ListRules\n - events:ListTargetsByRule\n - events:ListTagsForResource\n resources:\n - arn:aws:events:eu-west-1:123456789012:rule/*\n - arn:aws:events:eu-west-1:123456789012:event-bus/default\n principals:\n - type: AWS\n identifiers:\n - '*'\n conditions:\n - test: StringEquals\n variable: aws:PrincipalOrgID\n values:\n - ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an EventBridge policy using the `event_bus_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventBusPolicy:EventBusPolicy DevAccountAccess example-event-bus\n```\n", "properties": { "eventBusName": { "type": "string", @@ -204052,7 +204052,7 @@ } }, "aws:cloudwatch/eventRule:EventRule": { - "description": "Provides an EventBridge Rule resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst console = new aws.cloudwatch.EventRule(\"console\", {\n name: \"capture-aws-sign-in\",\n description: \"Capture each AWS Console Sign In\",\n eventPattern: JSON.stringify({\n \"detail-type\": [\"AWS Console Sign In via CloudTrail\"],\n }),\n});\nconst awsLogins = new aws.sns.Topic(\"aws_logins\", {name: \"aws-console-logins\"});\nconst sns = new aws.cloudwatch.EventTarget(\"sns\", {\n rule: console.name,\n targetId: \"SendToSNS\",\n arn: awsLogins.arn,\n});\nconst snsTopicPolicy = awsLogins.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"SNS:Publish\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n resources: [arn],\n }],\n}));\nconst _default = new aws.sns.TopicPolicy(\"default\", {\n arn: awsLogins.arn,\n policy: snsTopicPolicy.apply(snsTopicPolicy =\u003e snsTopicPolicy.json),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nconsole = aws.cloudwatch.EventRule(\"console\",\n name=\"capture-aws-sign-in\",\n description=\"Capture each AWS Console Sign In\",\n event_pattern=json.dumps({\n \"detail-type\": [\"AWS Console Sign In via CloudTrail\"],\n }))\naws_logins = aws.sns.Topic(\"aws_logins\", name=\"aws-console-logins\")\nsns = aws.cloudwatch.EventTarget(\"sns\",\n rule=console.name,\n target_id=\"SendToSNS\",\n arn=aws_logins.arn)\nsns_topic_policy = aws_logins.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"SNS:Publish\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"events.amazonaws.com\"],\n }],\n \"resources\": [arn],\n}]))\ndefault = aws.sns.TopicPolicy(\"default\",\n arn=aws_logins.arn,\n policy=sns_topic_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var console = new Aws.CloudWatch.EventRule(\"console\", new()\n {\n Name = \"capture-aws-sign-in\",\n Description = \"Capture each AWS Console Sign In\",\n EventPattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"detail-type\"] = new[]\n {\n \"AWS Console Sign In via CloudTrail\",\n },\n }),\n });\n\n var awsLogins = new Aws.Sns.Topic(\"aws_logins\", new()\n {\n Name = \"aws-console-logins\",\n });\n\n var sns = new Aws.CloudWatch.EventTarget(\"sns\", new()\n {\n Rule = console.Name,\n TargetId = \"SendToSNS\",\n Arn = awsLogins.Arn,\n });\n\n var snsTopicPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n awsLogins.Arn,\n },\n },\n },\n });\n\n var @default = new Aws.Sns.TopicPolicy(\"default\", new()\n {\n Arn = awsLogins.Arn,\n Policy = snsTopicPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntmpJSON0, err := json.Marshal(map[string]interface{}{\n\"detail-type\": []string{\n\"AWS Console Sign In via CloudTrail\",\n},\n})\nif err != nil {\nreturn err\n}\njson0 := string(tmpJSON0)\nconsole, err := cloudwatch.NewEventRule(ctx, \"console\", \u0026cloudwatch.EventRuleArgs{\nName: pulumi.String(\"capture-aws-sign-in\"),\nDescription: pulumi.String(\"Capture each AWS Console Sign In\"),\nEventPattern: pulumi.String(json0),\n})\nif err != nil {\nreturn err\n}\nawsLogins, err := sns.NewTopic(ctx, \"aws_logins\", \u0026sns.TopicArgs{\nName: pulumi.String(\"aws-console-logins\"),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudwatch.NewEventTarget(ctx, \"sns\", \u0026cloudwatch.EventTargetArgs{\nRule: console.Name,\nTargetId: pulumi.String(\"SendToSNS\"),\nArn: awsLogins.Arn,\n})\nif err != nil {\nreturn err\n}\nsnsTopicPolicy := awsLogins.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nActions: []string{\n\"SNS:Publish\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"events.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\narn,\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"default\", \u0026sns.TopicPolicyArgs{\nArn: awsLogins.Arn,\nPolicy: pulumi.String(snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026snsTopicPolicy.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var console = new EventRule(\"console\", EventRuleArgs.builder()\n .name(\"capture-aws-sign-in\")\n .description(\"Capture each AWS Console Sign In\")\n .eventPattern(serializeJson(\n jsonObject(\n jsonProperty(\"detail-type\", jsonArray(\"AWS Console Sign In via CloudTrail\"))\n )))\n .build());\n\n var awsLogins = new Topic(\"awsLogins\", TopicArgs.builder()\n .name(\"aws-console-logins\")\n .build());\n\n var sns = new EventTarget(\"sns\", EventTargetArgs.builder()\n .rule(console.name())\n .targetId(\"SendToSNS\")\n .arn(awsLogins.arn())\n .build());\n\n final var snsTopicPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"SNS:Publish\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .resources(awsLogins.arn())\n .build())\n .build());\n\n var default_ = new TopicPolicy(\"default\", TopicPolicyArgs.builder()\n .arn(awsLogins.arn())\n .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(snsTopicPolicy -\u003e snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n console:\n type: aws:cloudwatch:EventRule\n properties:\n name: capture-aws-sign-in\n description: Capture each AWS Console Sign In\n eventPattern:\n fn::toJSON:\n detail-type:\n - AWS Console Sign In via CloudTrail\n sns:\n type: aws:cloudwatch:EventTarget\n properties:\n rule: ${console.name}\n targetId: SendToSNS\n arn: ${awsLogins.arn}\n awsLogins:\n type: aws:sns:Topic\n name: aws_logins\n properties:\n name: aws-console-logins\n default:\n type: aws:sns:TopicPolicy\n properties:\n arn: ${awsLogins.arn}\n policy: ${snsTopicPolicy.json}\nvariables:\n snsTopicPolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - SNS:Publish\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n resources:\n - ${awsLogins.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge Rules using the `event_bus_name/rule_name` (if you omit `event_bus_name`, the `default` event bus will be used). For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventRule:EventRule console example-event-bus/capture-console-sign-in\n```\n", + "description": "Provides an EventBridge Rule resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst console = new aws.cloudwatch.EventRule(\"console\", {\n name: \"capture-aws-sign-in\",\n description: \"Capture each AWS Console Sign In\",\n eventPattern: JSON.stringify({\n \"detail-type\": [\"AWS Console Sign In via CloudTrail\"],\n }),\n});\nconst awsLogins = new aws.sns.Topic(\"aws_logins\", {name: \"aws-console-logins\"});\nconst sns = new aws.cloudwatch.EventTarget(\"sns\", {\n rule: console.name,\n targetId: \"SendToSNS\",\n arn: awsLogins.arn,\n});\nconst snsTopicPolicy = awsLogins.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"SNS:Publish\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n resources: [arn],\n }],\n}));\nconst _default = new aws.sns.TopicPolicy(\"default\", {\n arn: awsLogins.arn,\n policy: snsTopicPolicy.apply(snsTopicPolicy =\u003e snsTopicPolicy.json),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nconsole = aws.cloudwatch.EventRule(\"console\",\n name=\"capture-aws-sign-in\",\n description=\"Capture each AWS Console Sign In\",\n event_pattern=json.dumps({\n \"detail-type\": [\"AWS Console Sign In via CloudTrail\"],\n }))\naws_logins = aws.sns.Topic(\"aws_logins\", name=\"aws-console-logins\")\nsns = aws.cloudwatch.EventTarget(\"sns\",\n rule=console.name,\n target_id=\"SendToSNS\",\n arn=aws_logins.arn)\nsns_topic_policy = aws_logins.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"SNS:Publish\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"events.amazonaws.com\"],\n }],\n \"resources\": [arn],\n}]))\ndefault = aws.sns.TopicPolicy(\"default\",\n arn=aws_logins.arn,\n policy=sns_topic_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var console = new Aws.CloudWatch.EventRule(\"console\", new()\n {\n Name = \"capture-aws-sign-in\",\n Description = \"Capture each AWS Console Sign In\",\n EventPattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"detail-type\"] = new[]\n {\n \"AWS Console Sign In via CloudTrail\",\n },\n }),\n });\n\n var awsLogins = new Aws.Sns.Topic(\"aws_logins\", new()\n {\n Name = \"aws-console-logins\",\n });\n\n var sns = new Aws.CloudWatch.EventTarget(\"sns\", new()\n {\n Rule = console.Name,\n TargetId = \"SendToSNS\",\n Arn = awsLogins.Arn,\n });\n\n var snsTopicPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n awsLogins.Arn,\n },\n },\n },\n });\n\n var @default = new Aws.Sns.TopicPolicy(\"default\", new()\n {\n Arn = awsLogins.Arn,\n Policy = snsTopicPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntmpJSON0, err := json.Marshal(map[string]interface{}{\n\"detail-type\": []string{\n\"AWS Console Sign In via CloudTrail\",\n},\n})\nif err != nil {\nreturn err\n}\njson0 := string(tmpJSON0)\nconsole, err := cloudwatch.NewEventRule(ctx, \"console\", \u0026cloudwatch.EventRuleArgs{\nName: pulumi.String(\"capture-aws-sign-in\"),\nDescription: pulumi.String(\"Capture each AWS Console Sign In\"),\nEventPattern: pulumi.String(json0),\n})\nif err != nil {\nreturn err\n}\nawsLogins, err := sns.NewTopic(ctx, \"aws_logins\", \u0026sns.TopicArgs{\nName: pulumi.String(\"aws-console-logins\"),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudwatch.NewEventTarget(ctx, \"sns\", \u0026cloudwatch.EventTargetArgs{\nRule: console.Name,\nTargetId: pulumi.String(\"SendToSNS\"),\nArn: awsLogins.Arn,\n})\nif err != nil {\nreturn err\n}\nsnsTopicPolicy := awsLogins.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nActions: []string{\n\"SNS:Publish\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"events.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\narn,\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"default\", \u0026sns.TopicPolicyArgs{\nArn: awsLogins.Arn,\nPolicy: pulumi.String(snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026snsTopicPolicy.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var console = new EventRule(\"console\", EventRuleArgs.builder()\n .name(\"capture-aws-sign-in\")\n .description(\"Capture each AWS Console Sign In\")\n .eventPattern(serializeJson(\n jsonObject(\n jsonProperty(\"detail-type\", jsonArray(\"AWS Console Sign In via CloudTrail\"))\n )))\n .build());\n\n var awsLogins = new Topic(\"awsLogins\", TopicArgs.builder()\n .name(\"aws-console-logins\")\n .build());\n\n var sns = new EventTarget(\"sns\", EventTargetArgs.builder()\n .rule(console.name())\n .targetId(\"SendToSNS\")\n .arn(awsLogins.arn())\n .build());\n\n final var snsTopicPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"SNS:Publish\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .resources(awsLogins.arn())\n .build())\n .build());\n\n var default_ = new TopicPolicy(\"default\", TopicPolicyArgs.builder()\n .arn(awsLogins.arn())\n .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(snsTopicPolicy -\u003e snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n console:\n type: aws:cloudwatch:EventRule\n properties:\n name: capture-aws-sign-in\n description: Capture each AWS Console Sign In\n eventPattern:\n fn::toJSON:\n detail-type:\n - AWS Console Sign In via CloudTrail\n sns:\n type: aws:cloudwatch:EventTarget\n properties:\n rule: ${console.name}\n targetId: SendToSNS\n arn: ${awsLogins.arn}\n awsLogins:\n type: aws:sns:Topic\n name: aws_logins\n properties:\n name: aws-console-logins\n default:\n type: aws:sns:TopicPolicy\n properties:\n arn: ${awsLogins.arn}\n policy: ${snsTopicPolicy.json}\nvariables:\n snsTopicPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - SNS:Publish\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n resources:\n - ${awsLogins.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge Rules using the `event_bus_name/rule_name` (if you omit `event_bus_name`, the `default` event bus will be used). For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventRule:EventRule console example-event-bus/capture-console-sign-in\n```\n", "properties": { "arn": { "type": "string", @@ -204245,7 +204245,7 @@ } }, "aws:cloudwatch/eventTarget:EventTarget": { - "description": "Provides an EventBridge Target resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n### Kinesis Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst console = new aws.cloudwatch.EventRule(\"console\", {\n name: \"capture-ec2-scaling-events\",\n description: \"Capture all EC2 scaling events\",\n eventPattern: JSON.stringify({\n source: [\"aws.autoscaling\"],\n \"detail-type\": [\n \"EC2 Instance Launch Successful\",\n \"EC2 Instance Terminate Successful\",\n \"EC2 Instance Launch Unsuccessful\",\n \"EC2 Instance Terminate Unsuccessful\",\n ],\n }),\n});\nconst testStream = new aws.kinesis.Stream(\"test_stream\", {\n name: \"kinesis-test\",\n shardCount: 1,\n});\nconst yada = new aws.cloudwatch.EventTarget(\"yada\", {\n targetId: \"Yada\",\n rule: console.name,\n arn: testStream.arn,\n runCommandTargets: [\n {\n key: \"tag:Name\",\n values: [\"FooBar\"],\n },\n {\n key: \"InstanceIds\",\n values: [\"i-162058cd308bffec2\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nconsole = aws.cloudwatch.EventRule(\"console\",\n name=\"capture-ec2-scaling-events\",\n description=\"Capture all EC2 scaling events\",\n event_pattern=json.dumps({\n \"source\": [\"aws.autoscaling\"],\n \"detail-type\": [\n \"EC2 Instance Launch Successful\",\n \"EC2 Instance Terminate Successful\",\n \"EC2 Instance Launch Unsuccessful\",\n \"EC2 Instance Terminate Unsuccessful\",\n ],\n }))\ntest_stream = aws.kinesis.Stream(\"test_stream\",\n name=\"kinesis-test\",\n shard_count=1)\nyada = aws.cloudwatch.EventTarget(\"yada\",\n target_id=\"Yada\",\n rule=console.name,\n arn=test_stream.arn,\n run_command_targets=[\n {\n \"key\": \"tag:Name\",\n \"values\": [\"FooBar\"],\n },\n {\n \"key\": \"InstanceIds\",\n \"values\": [\"i-162058cd308bffec2\"],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var console = new Aws.CloudWatch.EventRule(\"console\", new()\n {\n Name = \"capture-ec2-scaling-events\",\n Description = \"Capture all EC2 scaling events\",\n EventPattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"source\"] = new[]\n {\n \"aws.autoscaling\",\n },\n [\"detail-type\"] = new[]\n {\n \"EC2 Instance Launch Successful\",\n \"EC2 Instance Terminate Successful\",\n \"EC2 Instance Launch Unsuccessful\",\n \"EC2 Instance Terminate Unsuccessful\",\n },\n }),\n });\n\n var testStream = new Aws.Kinesis.Stream(\"test_stream\", new()\n {\n Name = \"kinesis-test\",\n ShardCount = 1,\n });\n\n var yada = new Aws.CloudWatch.EventTarget(\"yada\", new()\n {\n TargetId = \"Yada\",\n Rule = console.Name,\n Arn = testStream.Arn,\n RunCommandTargets = new[]\n {\n new Aws.CloudWatch.Inputs.EventTargetRunCommandTargetArgs\n {\n Key = \"tag:Name\",\n Values = new[]\n {\n \"FooBar\",\n },\n },\n new Aws.CloudWatch.Inputs.EventTargetRunCommandTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n \"i-162058cd308bffec2\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"source\": []string{\n\t\t\t\t\"aws.autoscaling\",\n\t\t\t},\n\t\t\t\"detail-type\": []string{\n\t\t\t\t\"EC2 Instance Launch Successful\",\n\t\t\t\t\"EC2 Instance Terminate Successful\",\n\t\t\t\t\"EC2 Instance Launch Unsuccessful\",\n\t\t\t\t\"EC2 Instance Terminate Unsuccessful\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tconsole, err := cloudwatch.NewEventRule(ctx, \"console\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"capture-ec2-scaling-events\"),\n\t\t\tDescription: pulumi.String(\"Capture all EC2 scaling events\"),\n\t\t\tEventPattern: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestStream, err := kinesis.NewStream(ctx, \"test_stream\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-test\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"yada\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tTargetId: pulumi.String(\"Yada\"),\n\t\t\tRule: console.Name,\n\t\t\tArn: testStream.Arn,\n\t\t\tRunCommandTargets: cloudwatch.EventTargetRunCommandTargetArray{\n\t\t\t\t\u0026cloudwatch.EventTargetRunCommandTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"tag:Name\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"FooBar\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.EventTargetRunCommandTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"i-162058cd308bffec2\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetRunCommandTargetArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var console = new EventRule(\"console\", EventRuleArgs.builder()\n .name(\"capture-ec2-scaling-events\")\n .description(\"Capture all EC2 scaling events\")\n .eventPattern(serializeJson(\n jsonObject(\n jsonProperty(\"source\", jsonArray(\"aws.autoscaling\")),\n jsonProperty(\"detail-type\", jsonArray(\n \"EC2 Instance Launch Successful\", \n \"EC2 Instance Terminate Successful\", \n \"EC2 Instance Launch Unsuccessful\", \n \"EC2 Instance Terminate Unsuccessful\"\n ))\n )))\n .build());\n\n var testStream = new Stream(\"testStream\", StreamArgs.builder()\n .name(\"kinesis-test\")\n .shardCount(1)\n .build());\n\n var yada = new EventTarget(\"yada\", EventTargetArgs.builder()\n .targetId(\"Yada\")\n .rule(console.name())\n .arn(testStream.arn())\n .runCommandTargets( \n EventTargetRunCommandTargetArgs.builder()\n .key(\"tag:Name\")\n .values(\"FooBar\")\n .build(),\n EventTargetRunCommandTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(\"i-162058cd308bffec2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n yada:\n type: aws:cloudwatch:EventTarget\n properties:\n targetId: Yada\n rule: ${console.name}\n arn: ${testStream.arn}\n runCommandTargets:\n - key: tag:Name\n values:\n - FooBar\n - key: InstanceIds\n values:\n - i-162058cd308bffec2\n console:\n type: aws:cloudwatch:EventRule\n properties:\n name: capture-ec2-scaling-events\n description: Capture all EC2 scaling events\n eventPattern:\n fn::toJSON:\n source:\n - aws.autoscaling\n detail-type:\n - EC2 Instance Launch Successful\n - EC2 Instance Terminate Successful\n - EC2 Instance Launch Unsuccessful\n - EC2 Instance Terminate Unsuccessful\n testStream:\n type: aws:kinesis:Stream\n name: test_stream\n properties:\n name: kinesis-test\n shardCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SSM Document Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ssmLifecycleTrust = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n }],\n});\nconst stopInstance = new aws.ssm.Document(\"stop_instance\", {\n name: \"stop_instance\",\n documentType: \"Command\",\n content: JSON.stringify({\n schemaVersion: \"1.2\",\n description: \"Stop an instance\",\n parameters: {},\n runtimeConfig: {\n \"aws:runShellScript\": {\n properties: [{\n id: \"0.aws:runShellScript\",\n runCommand: [\"halt\"],\n }],\n },\n },\n }),\n});\nconst ssmLifecycle = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"ssm:SendCommand\"],\n resources: [\"arn:aws:ec2:eu-west-1:1234567890:instance/*\"],\n conditions: [{\n test: \"StringEquals\",\n variable: \"ec2:ResourceTag/Terminate\",\n values: [\"*\"],\n }],\n },\n {\n effect: \"Allow\",\n actions: [\"ssm:SendCommand\"],\n resources: [stopInstance.arn],\n },\n ],\n});\nconst ssmLifecycleRole = new aws.iam.Role(\"ssm_lifecycle\", {\n name: \"SSMLifecycle\",\n assumeRolePolicy: ssmLifecycleTrust.then(ssmLifecycleTrust =\u003e ssmLifecycleTrust.json),\n});\nconst ssmLifecyclePolicy = new aws.iam.Policy(\"ssm_lifecycle\", {\n name: \"SSMLifecycle\",\n policy: ssmLifecycle.apply(ssmLifecycle =\u003e ssmLifecycle.json),\n});\nconst ssmLifecycleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"ssm_lifecycle\", {\n policyArn: ssmLifecyclePolicy.arn,\n role: ssmLifecycleRole.name,\n});\nconst stopInstances = new aws.cloudwatch.EventRule(\"stop_instances\", {\n name: \"StopInstance\",\n description: \"Stop instances nightly\",\n scheduleExpression: \"cron(0 0 * * ? *)\",\n});\nconst stopInstancesEventTarget = new aws.cloudwatch.EventTarget(\"stop_instances\", {\n targetId: \"StopInstance\",\n arn: stopInstance.arn,\n rule: stopInstances.name,\n roleArn: ssmLifecycleRole.arn,\n runCommandTargets: [{\n key: \"tag:Terminate\",\n values: [\"midnight\"],\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nssm_lifecycle_trust = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"events.amazonaws.com\"],\n }],\n}])\nstop_instance = aws.ssm.Document(\"stop_instance\",\n name=\"stop_instance\",\n document_type=\"Command\",\n content=json.dumps({\n \"schemaVersion\": \"1.2\",\n \"description\": \"Stop an instance\",\n \"parameters\": {},\n \"runtimeConfig\": {\n \"aws:runShellScript\": {\n \"properties\": [{\n \"id\": \"0.aws:runShellScript\",\n \"runCommand\": [\"halt\"],\n }],\n },\n },\n }))\nssm_lifecycle = aws.iam.get_policy_document_output(statements=[\n {\n \"effect\": \"Allow\",\n \"actions\": [\"ssm:SendCommand\"],\n \"resources\": [\"arn:aws:ec2:eu-west-1:1234567890:instance/*\"],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"ec2:ResourceTag/Terminate\",\n \"values\": [\"*\"],\n }],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\"ssm:SendCommand\"],\n \"resources\": [stop_instance.arn],\n },\n])\nssm_lifecycle_role = aws.iam.Role(\"ssm_lifecycle\",\n name=\"SSMLifecycle\",\n assume_role_policy=ssm_lifecycle_trust.json)\nssm_lifecycle_policy = aws.iam.Policy(\"ssm_lifecycle\",\n name=\"SSMLifecycle\",\n policy=ssm_lifecycle.json)\nssm_lifecycle_role_policy_attachment = aws.iam.RolePolicyAttachment(\"ssm_lifecycle\",\n policy_arn=ssm_lifecycle_policy.arn,\n role=ssm_lifecycle_role.name)\nstop_instances = aws.cloudwatch.EventRule(\"stop_instances\",\n name=\"StopInstance\",\n description=\"Stop instances nightly\",\n schedule_expression=\"cron(0 0 * * ? *)\")\nstop_instances_event_target = aws.cloudwatch.EventTarget(\"stop_instances\",\n target_id=\"StopInstance\",\n arn=stop_instance.arn,\n rule=stop_instances.name,\n role_arn=ssm_lifecycle_role.arn,\n run_command_targets=[{\n \"key\": \"tag:Terminate\",\n \"values\": [\"midnight\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ssmLifecycleTrust = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var stopInstance = new Aws.Ssm.Document(\"stop_instance\", new()\n {\n Name = \"stop_instance\",\n DocumentType = \"Command\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"schemaVersion\"] = \"1.2\",\n [\"description\"] = \"Stop an instance\",\n [\"parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"runtimeConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:runShellScript\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"properties\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = \"0.aws:runShellScript\",\n [\"runCommand\"] = new[]\n {\n \"halt\",\n },\n },\n },\n },\n },\n }),\n });\n\n var ssmLifecycle = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ssm:SendCommand\",\n },\n Resources = new[]\n {\n \"arn:aws:ec2:eu-west-1:1234567890:instance/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"ec2:ResourceTag/Terminate\",\n Values = new[]\n {\n \"*\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ssm:SendCommand\",\n },\n Resources = new[]\n {\n stopInstance.Arn,\n },\n },\n },\n });\n\n var ssmLifecycleRole = new Aws.Iam.Role(\"ssm_lifecycle\", new()\n {\n Name = \"SSMLifecycle\",\n AssumeRolePolicy = ssmLifecycleTrust.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ssmLifecyclePolicy = new Aws.Iam.Policy(\"ssm_lifecycle\", new()\n {\n Name = \"SSMLifecycle\",\n PolicyDocument = ssmLifecycle.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ssmLifecycleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"ssm_lifecycle\", new()\n {\n PolicyArn = ssmLifecyclePolicy.Arn,\n Role = ssmLifecycleRole.Name,\n });\n\n var stopInstances = new Aws.CloudWatch.EventRule(\"stop_instances\", new()\n {\n Name = \"StopInstance\",\n Description = \"Stop instances nightly\",\n ScheduleExpression = \"cron(0 0 * * ? *)\",\n });\n\n var stopInstancesEventTarget = new Aws.CloudWatch.EventTarget(\"stop_instances\", new()\n {\n TargetId = \"StopInstance\",\n Arn = stopInstance.Arn,\n Rule = stopInstances.Name,\n RoleArn = ssmLifecycleRole.Arn,\n RunCommandTargets = new[]\n {\n new Aws.CloudWatch.Inputs.EventTargetRunCommandTargetArgs\n {\n Key = \"tag:Terminate\",\n Values = new[]\n {\n \"midnight\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tssmLifecycleTrust, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"events.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"schemaVersion\": \"1.2\",\n\t\t\t\"description\": \"Stop an instance\",\n\t\t\t\"parameters\": map[string]interface{}{},\n\t\t\t\"runtimeConfig\": map[string]interface{}{\n\t\t\t\t\"aws:runShellScript\": map[string]interface{}{\n\t\t\t\t\t\"properties\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"id\": \"0.aws:runShellScript\",\n\t\t\t\t\t\t\t\"runCommand\": []string{\n\t\t\t\t\t\t\t\t\"halt\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tstopInstance, err := ssm.NewDocument(ctx, \"stop_instance\", \u0026ssm.DocumentArgs{\n\t\t\tName: pulumi.String(\"stop_instance\"),\n\t\t\tDocumentType: pulumi.String(\"Command\"),\n\t\t\tContent: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tssmLifecycle := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ssm:SendCommand\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"arn:aws:ec2:eu-west-1:1234567890:instance/*\"),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"ec2:ResourceTag/Terminate\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ssm:SendCommand\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tstopInstance.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tssmLifecycleRole, err := iam.NewRole(ctx, \"ssm_lifecycle\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"SSMLifecycle\"),\n\t\t\tAssumeRolePolicy: pulumi.String(ssmLifecycleTrust.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tssmLifecyclePolicy, err := iam.NewPolicy(ctx, \"ssm_lifecycle\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"SSMLifecycle\"),\n\t\t\tPolicy: pulumi.String(ssmLifecycle.ApplyT(func(ssmLifecycle iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026ssmLifecycle.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"ssm_lifecycle\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: ssmLifecyclePolicy.Arn,\n\t\t\tRole: ssmLifecycleRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tstopInstances, err := cloudwatch.NewEventRule(ctx, \"stop_instances\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"StopInstance\"),\n\t\t\tDescription: pulumi.String(\"Stop instances nightly\"),\n\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 * * ? *)\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"stop_instances\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tTargetId: pulumi.String(\"StopInstance\"),\n\t\t\tArn: stopInstance.Arn,\n\t\t\tRule: stopInstances.Name,\n\t\t\tRoleArn: ssmLifecycleRole.Arn,\n\t\t\tRunCommandTargets: cloudwatch.EventTargetRunCommandTargetArray{\n\t\t\t\t\u0026cloudwatch.EventTargetRunCommandTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"tag:Terminate\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"midnight\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ssm.Document;\nimport com.pulumi.aws.ssm.DocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetRunCommandTargetArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ssmLifecycleTrust = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var stopInstance = new Document(\"stopInstance\", DocumentArgs.builder()\n .name(\"stop_instance\")\n .documentType(\"Command\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"schemaVersion\", \"1.2\"),\n jsonProperty(\"description\", \"Stop an instance\"),\n jsonProperty(\"parameters\", jsonObject(\n\n )),\n jsonProperty(\"runtimeConfig\", jsonObject(\n jsonProperty(\"aws:runShellScript\", jsonObject(\n jsonProperty(\"properties\", jsonArray(jsonObject(\n jsonProperty(\"id\", \"0.aws:runShellScript\"),\n jsonProperty(\"runCommand\", jsonArray(\"halt\"))\n )))\n ))\n ))\n )))\n .build());\n\n final var ssmLifecycle = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ssm:SendCommand\")\n .resources(\"arn:aws:ec2:eu-west-1:1234567890:instance/*\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"ec2:ResourceTag/Terminate\")\n .values(\"*\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ssm:SendCommand\")\n .resources(stopInstance.arn())\n .build())\n .build());\n\n var ssmLifecycleRole = new Role(\"ssmLifecycleRole\", RoleArgs.builder()\n .name(\"SSMLifecycle\")\n .assumeRolePolicy(ssmLifecycleTrust.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var ssmLifecyclePolicy = new Policy(\"ssmLifecyclePolicy\", PolicyArgs.builder()\n .name(\"SSMLifecycle\")\n .policy(ssmLifecycle.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(ssmLifecycle -\u003e ssmLifecycle.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var ssmLifecycleRolePolicyAttachment = new RolePolicyAttachment(\"ssmLifecycleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(ssmLifecyclePolicy.arn())\n .role(ssmLifecycleRole.name())\n .build());\n\n var stopInstances = new EventRule(\"stopInstances\", EventRuleArgs.builder()\n .name(\"StopInstance\")\n .description(\"Stop instances nightly\")\n .scheduleExpression(\"cron(0 0 * * ? *)\")\n .build());\n\n var stopInstancesEventTarget = new EventTarget(\"stopInstancesEventTarget\", EventTargetArgs.builder()\n .targetId(\"StopInstance\")\n .arn(stopInstance.arn())\n .rule(stopInstances.name())\n .roleArn(ssmLifecycleRole.arn())\n .runCommandTargets(EventTargetRunCommandTargetArgs.builder()\n .key(\"tag:Terminate\")\n .values(\"midnight\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ssmLifecycleRole:\n type: aws:iam:Role\n name: ssm_lifecycle\n properties:\n name: SSMLifecycle\n assumeRolePolicy: ${ssmLifecycleTrust.json}\n ssmLifecyclePolicy:\n type: aws:iam:Policy\n name: ssm_lifecycle\n properties:\n name: SSMLifecycle\n policy: ${ssmLifecycle.json}\n ssmLifecycleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: ssm_lifecycle\n properties:\n policyArn: ${ssmLifecyclePolicy.arn}\n role: ${ssmLifecycleRole.name}\n stopInstance:\n type: aws:ssm:Document\n name: stop_instance\n properties:\n name: stop_instance\n documentType: Command\n content:\n fn::toJSON:\n schemaVersion: '1.2'\n description: Stop an instance\n parameters: {}\n runtimeConfig:\n aws:runShellScript:\n properties:\n - id: 0.aws:runShellScript\n runCommand:\n - halt\n stopInstances:\n type: aws:cloudwatch:EventRule\n name: stop_instances\n properties:\n name: StopInstance\n description: Stop instances nightly\n scheduleExpression: cron(0 0 * * ? *)\n stopInstancesEventTarget:\n type: aws:cloudwatch:EventTarget\n name: stop_instances\n properties:\n targetId: StopInstance\n arn: ${stopInstance.arn}\n rule: ${stopInstances.name}\n roleArn: ${ssmLifecycleRole.arn}\n runCommandTargets:\n - key: tag:Terminate\n values:\n - midnight\nvariables:\n ssmLifecycleTrust:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n ssmLifecycle:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - ssm:SendCommand\n resources:\n - arn:aws:ec2:eu-west-1:1234567890:instance/*\n conditions:\n - test: StringEquals\n variable: ec2:ResourceTag/Terminate\n values:\n - '*'\n - effect: Allow\n actions:\n - ssm:SendCommand\n resources:\n - ${stopInstance.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RunCommand Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst stopInstances = new aws.cloudwatch.EventRule(\"stop_instances\", {\n name: \"StopInstance\",\n description: \"Stop instances nightly\",\n scheduleExpression: \"cron(0 0 * * ? *)\",\n});\nconst stopInstancesEventTarget = new aws.cloudwatch.EventTarget(\"stop_instances\", {\n targetId: \"StopInstance\",\n arn: `arn:aws:ssm:${awsRegion}::document/AWS-RunShellScript`,\n input: \"{\\\"commands\\\":[\\\"halt\\\"]}\",\n rule: stopInstances.name,\n roleArn: ssmLifecycle.arn,\n runCommandTargets: [{\n key: \"tag:Terminate\",\n values: [\"midnight\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nstop_instances = aws.cloudwatch.EventRule(\"stop_instances\",\n name=\"StopInstance\",\n description=\"Stop instances nightly\",\n schedule_expression=\"cron(0 0 * * ? *)\")\nstop_instances_event_target = aws.cloudwatch.EventTarget(\"stop_instances\",\n target_id=\"StopInstance\",\n arn=f\"arn:aws:ssm:{aws_region}::document/AWS-RunShellScript\",\n input=\"{\\\"commands\\\":[\\\"halt\\\"]}\",\n rule=stop_instances.name,\n role_arn=ssm_lifecycle[\"arn\"],\n run_command_targets=[{\n \"key\": \"tag:Terminate\",\n \"values\": [\"midnight\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var stopInstances = new Aws.CloudWatch.EventRule(\"stop_instances\", new()\n {\n Name = \"StopInstance\",\n Description = \"Stop instances nightly\",\n ScheduleExpression = \"cron(0 0 * * ? *)\",\n });\n\n var stopInstancesEventTarget = new Aws.CloudWatch.EventTarget(\"stop_instances\", new()\n {\n TargetId = \"StopInstance\",\n Arn = $\"arn:aws:ssm:{awsRegion}::document/AWS-RunShellScript\",\n Input = \"{\\\"commands\\\":[\\\"halt\\\"]}\",\n Rule = stopInstances.Name,\n RoleArn = ssmLifecycle.Arn,\n RunCommandTargets = new[]\n {\n new Aws.CloudWatch.Inputs.EventTargetRunCommandTargetArgs\n {\n Key = \"tag:Terminate\",\n Values = new[]\n {\n \"midnight\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tstopInstances, err := cloudwatch.NewEventRule(ctx, \"stop_instances\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"StopInstance\"),\n\t\t\tDescription: pulumi.String(\"Stop instances nightly\"),\n\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 * * ? *)\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"stop_instances\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tTargetId: pulumi.String(\"StopInstance\"),\n\t\t\tArn: pulumi.Sprintf(\"arn:aws:ssm:%v::document/AWS-RunShellScript\", awsRegion),\n\t\t\tInput: pulumi.String(\"{\\\"commands\\\":[\\\"halt\\\"]}\"),\n\t\t\tRule: stopInstances.Name,\n\t\t\tRoleArn: pulumi.Any(ssmLifecycle.Arn),\n\t\t\tRunCommandTargets: cloudwatch.EventTargetRunCommandTargetArray{\n\t\t\t\t\u0026cloudwatch.EventTargetRunCommandTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"tag:Terminate\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"midnight\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetRunCommandTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var stopInstances = new EventRule(\"stopInstances\", EventRuleArgs.builder()\n .name(\"StopInstance\")\n .description(\"Stop instances nightly\")\n .scheduleExpression(\"cron(0 0 * * ? *)\")\n .build());\n\n var stopInstancesEventTarget = new EventTarget(\"stopInstancesEventTarget\", EventTargetArgs.builder()\n .targetId(\"StopInstance\")\n .arn(String.format(\"arn:aws:ssm:%s::document/AWS-RunShellScript\", awsRegion))\n .input(\"{\\\"commands\\\":[\\\"halt\\\"]}\")\n .rule(stopInstances.name())\n .roleArn(ssmLifecycle.arn())\n .runCommandTargets(EventTargetRunCommandTargetArgs.builder()\n .key(\"tag:Terminate\")\n .values(\"midnight\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n stopInstances:\n type: aws:cloudwatch:EventRule\n name: stop_instances\n properties:\n name: StopInstance\n description: Stop instances nightly\n scheduleExpression: cron(0 0 * * ? *)\n stopInstancesEventTarget:\n type: aws:cloudwatch:EventTarget\n name: stop_instances\n properties:\n targetId: StopInstance\n arn: arn:aws:ssm:${awsRegion}::document/AWS-RunShellScript\n input: '{\"commands\":[\"halt\"]}'\n rule: ${stopInstances.name}\n roleArn: ${ssmLifecycle.arn}\n runCommandTargets:\n - key: tag:Terminate\n values:\n - midnight\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### ECS Run Task with Role and Task Override Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst ecsEvents = new aws.iam.Role(\"ecs_events\", {\n name: \"ecs_events\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst ecsEventsRunTaskWithAnyRole = std.replace({\n text: taskName.arn,\n search: \"/:\\\\d+$/\",\n replace: \":*\",\n}).then(invoke =\u003e aws.iam.getPolicyDocument({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"iam:PassRole\"],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\"ecs:RunTask\"],\n resources: [invoke.result],\n },\n ],\n}));\nconst ecsEventsRunTaskWithAnyRoleRolePolicy = new aws.iam.RolePolicy(\"ecs_events_run_task_with_any_role\", {\n name: \"ecs_events_run_task_with_any_role\",\n role: ecsEvents.id,\n policy: ecsEventsRunTaskWithAnyRole.then(ecsEventsRunTaskWithAnyRole =\u003e ecsEventsRunTaskWithAnyRole.json),\n});\nconst ecsScheduledTask = new aws.cloudwatch.EventTarget(\"ecs_scheduled_task\", {\n targetId: \"run-scheduled-task-every-hour\",\n arn: clusterName.arn,\n rule: everyHour.name,\n roleArn: ecsEvents.arn,\n ecsTarget: {\n taskCount: 1,\n taskDefinitionArn: taskName.arn,\n },\n input: JSON.stringify({\n containerOverrides: [{\n name: \"name-of-container-to-override\",\n command: [\n \"bin/console\",\n \"scheduled-task\",\n ],\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"events.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\necs_events = aws.iam.Role(\"ecs_events\",\n name=\"ecs_events\",\n assume_role_policy=assume_role.json)\necs_events_run_task_with_any_role = aws.iam.get_policy_document(statements=[\n {\n \"effect\": \"Allow\",\n \"actions\": [\"iam:PassRole\"],\n \"resources\": [\"*\"],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\"ecs:RunTask\"],\n \"resources\": [std.replace(text=task_name[\"arn\"],\n search=\"/:\\\\d+$/\",\n replace=\":*\").result],\n },\n])\necs_events_run_task_with_any_role_role_policy = aws.iam.RolePolicy(\"ecs_events_run_task_with_any_role\",\n name=\"ecs_events_run_task_with_any_role\",\n role=ecs_events.id,\n policy=ecs_events_run_task_with_any_role.json)\necs_scheduled_task = aws.cloudwatch.EventTarget(\"ecs_scheduled_task\",\n target_id=\"run-scheduled-task-every-hour\",\n arn=cluster_name[\"arn\"],\n rule=every_hour[\"name\"],\n role_arn=ecs_events.arn,\n ecs_target={\n \"task_count\": 1,\n \"task_definition_arn\": task_name[\"arn\"],\n },\n input=json.dumps({\n \"containerOverrides\": [{\n \"name\": \"name-of-container-to-override\",\n \"command\": [\n \"bin/console\",\n \"scheduled-task\",\n ],\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var ecsEvents = new Aws.Iam.Role(\"ecs_events\", new()\n {\n Name = \"ecs_events\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ecsEventsRunTaskWithAnyRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"iam:PassRole\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ecs:RunTask\",\n },\n Resources = new[]\n {\n Std.Replace.Invoke(new()\n {\n Text = taskName.Arn,\n Search = \"/:\\\\d+$/\",\n Replace = \":*\",\n }).Result,\n },\n },\n },\n });\n\n var ecsEventsRunTaskWithAnyRoleRolePolicy = new Aws.Iam.RolePolicy(\"ecs_events_run_task_with_any_role\", new()\n {\n Name = \"ecs_events_run_task_with_any_role\",\n Role = ecsEvents.Id,\n Policy = ecsEventsRunTaskWithAnyRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ecsScheduledTask = new Aws.CloudWatch.EventTarget(\"ecs_scheduled_task\", new()\n {\n TargetId = \"run-scheduled-task-every-hour\",\n Arn = clusterName.Arn,\n Rule = everyHour.Name,\n RoleArn = ecsEvents.Arn,\n EcsTarget = new Aws.CloudWatch.Inputs.EventTargetEcsTargetArgs\n {\n TaskCount = 1,\n TaskDefinitionArn = taskName.Arn,\n },\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"containerOverrides\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"name-of-container-to-override\",\n [\"command\"] = new[]\n {\n \"bin/console\",\n \"scheduled-task\",\n },\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"events.amazonaws.com\",\n},\n},\n},\nActions: []string{\n\"sts:AssumeRole\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\necsEvents, err := iam.NewRole(ctx, \"ecs_events\", \u0026iam.RoleArgs{\nName: pulumi.String(\"ecs_events\"),\nAssumeRolePolicy: pulumi.String(assumeRole.Json),\n})\nif err != nil {\nreturn err\n}\necsEventsRunTaskWithAnyRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"iam:PassRole\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"ecs:RunTask\",\n},\nResources: interface{}{\nstd.Replace(ctx, {\nText: taskName.Arn,\nSearch: \"/:\\\\d+$/\",\nReplace: \":*\",\n}, nil).Result,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.NewRolePolicy(ctx, \"ecs_events_run_task_with_any_role\", \u0026iam.RolePolicyArgs{\nName: pulumi.String(\"ecs_events_run_task_with_any_role\"),\nRole: ecsEvents.ID(),\nPolicy: pulumi.String(ecsEventsRunTaskWithAnyRole.Json),\n})\nif err != nil {\nreturn err\n}\ntmpJSON0, err := json.Marshal(map[string]interface{}{\n\"containerOverrides\": []map[string]interface{}{\nmap[string]interface{}{\n\"name\": \"name-of-container-to-override\",\n\"command\": []string{\n\"bin/console\",\n\"scheduled-task\",\n},\n},\n},\n})\nif err != nil {\nreturn err\n}\njson0 := string(tmpJSON0)\n_, err = cloudwatch.NewEventTarget(ctx, \"ecs_scheduled_task\", \u0026cloudwatch.EventTargetArgs{\nTargetId: pulumi.String(\"run-scheduled-task-every-hour\"),\nArn: pulumi.Any(clusterName.Arn),\nRule: pulumi.Any(everyHour.Name),\nRoleArn: ecsEvents.Arn,\nEcsTarget: \u0026cloudwatch.EventTargetEcsTargetArgs{\nTaskCount: pulumi.Int(1),\nTaskDefinitionArn: pulumi.Any(taskName.Arn),\n},\nInput: pulumi.String(json0),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetEcsTargetArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var ecsEvents = new Role(\"ecsEvents\", RoleArgs.builder()\n .name(\"ecs_events\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var ecsEventsRunTaskWithAnyRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"iam:PassRole\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ecs:RunTask\")\n .resources(StdFunctions.replace(ReplaceArgs.builder()\n .text(taskName.arn())\n .search(\"/:\\\\d+$/\")\n .replace(\":*\")\n .build()).result())\n .build())\n .build());\n\n var ecsEventsRunTaskWithAnyRoleRolePolicy = new RolePolicy(\"ecsEventsRunTaskWithAnyRoleRolePolicy\", RolePolicyArgs.builder()\n .name(\"ecs_events_run_task_with_any_role\")\n .role(ecsEvents.id())\n .policy(ecsEventsRunTaskWithAnyRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var ecsScheduledTask = new EventTarget(\"ecsScheduledTask\", EventTargetArgs.builder()\n .targetId(\"run-scheduled-task-every-hour\")\n .arn(clusterName.arn())\n .rule(everyHour.name())\n .roleArn(ecsEvents.arn())\n .ecsTarget(EventTargetEcsTargetArgs.builder()\n .taskCount(1)\n .taskDefinitionArn(taskName.arn())\n .build())\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"containerOverrides\", jsonArray(jsonObject(\n jsonProperty(\"name\", \"name-of-container-to-override\"),\n jsonProperty(\"command\", jsonArray(\n \"bin/console\", \n \"scheduled-task\"\n ))\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsEvents:\n type: aws:iam:Role\n name: ecs_events\n properties:\n name: ecs_events\n assumeRolePolicy: ${assumeRole.json}\n ecsEventsRunTaskWithAnyRoleRolePolicy:\n type: aws:iam:RolePolicy\n name: ecs_events_run_task_with_any_role\n properties:\n name: ecs_events_run_task_with_any_role\n role: ${ecsEvents.id}\n policy: ${ecsEventsRunTaskWithAnyRole.json}\n ecsScheduledTask:\n type: aws:cloudwatch:EventTarget\n name: ecs_scheduled_task\n properties:\n targetId: run-scheduled-task-every-hour\n arn: ${clusterName.arn}\n rule: ${everyHour.name}\n roleArn: ${ecsEvents.arn}\n ecsTarget:\n taskCount: 1\n taskDefinitionArn: ${taskName.arn}\n input:\n fn::toJSON:\n containerOverrides:\n - name: name-of-container-to-override\n command:\n - bin/console\n - scheduled-task\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n actions:\n - sts:AssumeRole\n ecsEventsRunTaskWithAnyRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - iam:PassRole\n resources:\n - '*'\n - effect: Allow\n actions:\n - ecs:RunTask\n resources:\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${taskName.arn}\n search: /:\\d+$/\n replace: :*\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### API Gateway target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleEventRule = new aws.cloudwatch.EventRule(\"example\", {});\nconst exampleDeployment = new aws.apigateway.Deployment(\"example\", {restApi: exampleAwsApiGatewayRestApi.id});\nconst exampleStage = new aws.apigateway.Stage(\"example\", {\n restApi: exampleAwsApiGatewayRestApi.id,\n deployment: exampleDeployment.id,\n});\nconst example = new aws.cloudwatch.EventTarget(\"example\", {\n arn: pulumi.interpolate`${exampleStage.executionArn}/GET`,\n rule: exampleEventRule.id,\n httpTarget: {\n queryStringParameters: {\n Body: \"$.detail.body\",\n },\n headerParameters: {\n Env: \"Test\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_event_rule = aws.cloudwatch.EventRule(\"example\")\nexample_deployment = aws.apigateway.Deployment(\"example\", rest_api=example_aws_api_gateway_rest_api[\"id\"])\nexample_stage = aws.apigateway.Stage(\"example\",\n rest_api=example_aws_api_gateway_rest_api[\"id\"],\n deployment=example_deployment.id)\nexample = aws.cloudwatch.EventTarget(\"example\",\n arn=example_stage.execution_arn.apply(lambda execution_arn: f\"{execution_arn}/GET\"),\n rule=example_event_rule.id,\n http_target={\n \"query_string_parameters\": {\n \"Body\": \"$.detail.body\",\n },\n \"header_parameters\": {\n \"Env\": \"Test\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleEventRule = new Aws.CloudWatch.EventRule(\"example\");\n\n var exampleDeployment = new Aws.ApiGateway.Deployment(\"example\", new()\n {\n RestApi = exampleAwsApiGatewayRestApi.Id,\n });\n\n var exampleStage = new Aws.ApiGateway.Stage(\"example\", new()\n {\n RestApi = exampleAwsApiGatewayRestApi.Id,\n Deployment = exampleDeployment.Id,\n });\n\n var example = new Aws.CloudWatch.EventTarget(\"example\", new()\n {\n Arn = exampleStage.ExecutionArn.Apply(executionArn =\u003e $\"{executionArn}/GET\"),\n Rule = exampleEventRule.Id,\n HttpTarget = new Aws.CloudWatch.Inputs.EventTargetHttpTargetArgs\n {\n QueryStringParameters = \n {\n { \"Body\", \"$.detail.body\" },\n },\n HeaderParameters = \n {\n { \"Env\", \"Test\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleEventRule, err := cloudwatch.NewEventRule(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDeployment, err := apigateway.NewDeployment(ctx, \"example\", \u0026apigateway.DeploymentArgs{\n\t\t\tRestApi: pulumi.Any(exampleAwsApiGatewayRestApi.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStage, err := apigateway.NewStage(ctx, \"example\", \u0026apigateway.StageArgs{\n\t\t\tRestApi: pulumi.Any(exampleAwsApiGatewayRestApi.Id),\n\t\t\tDeployment: exampleDeployment.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"example\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tArn: exampleStage.ExecutionArn.ApplyT(func(executionArn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v/GET\", executionArn), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tRule: exampleEventRule.ID(),\n\t\t\tHttpTarget: \u0026cloudwatch.EventTargetHttpTargetArgs{\n\t\t\t\tQueryStringParameters: pulumi.StringMap{\n\t\t\t\t\t\"Body\": pulumi.String(\"$.detail.body\"),\n\t\t\t\t},\n\t\t\t\tHeaderParameters: pulumi.StringMap{\n\t\t\t\t\t\"Env\": pulumi.String(\"Test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.apigateway.Deployment;\nimport com.pulumi.aws.apigateway.DeploymentArgs;\nimport com.pulumi.aws.apigateway.Stage;\nimport com.pulumi.aws.apigateway.StageArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetHttpTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleEventRule = new EventRule(\"exampleEventRule\");\n\n var exampleDeployment = new Deployment(\"exampleDeployment\", DeploymentArgs.builder()\n .restApi(exampleAwsApiGatewayRestApi.id())\n .build());\n\n var exampleStage = new Stage(\"exampleStage\", StageArgs.builder()\n .restApi(exampleAwsApiGatewayRestApi.id())\n .deployment(exampleDeployment.id())\n .build());\n\n var example = new EventTarget(\"example\", EventTargetArgs.builder()\n .arn(exampleStage.executionArn().applyValue(executionArn -\u003e String.format(\"%s/GET\", executionArn)))\n .rule(exampleEventRule.id())\n .httpTarget(EventTargetHttpTargetArgs.builder()\n .queryStringParameters(Map.of(\"Body\", \"$.detail.body\"))\n .headerParameters(Map.of(\"Env\", \"Test\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:EventTarget\n properties:\n arn: ${exampleStage.executionArn}/GET\n rule: ${exampleEventRule.id}\n httpTarget:\n queryStringParameters:\n Body: $.detail.body\n headerParameters:\n Env: Test\n exampleEventRule:\n type: aws:cloudwatch:EventRule\n name: example\n exampleDeployment:\n type: aws:apigateway:Deployment\n name: example\n properties:\n restApi: ${exampleAwsApiGatewayRestApi.id}\n exampleStage:\n type: aws:apigateway:Stage\n name: example\n properties:\n restApi: ${exampleAwsApiGatewayRestApi.id}\n deployment: ${exampleDeployment.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Cross-Account Event Bus target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst eventBusInvokeRemoteEventBusRole = new aws.iam.Role(\"event_bus_invoke_remote_event_bus\", {\n name: \"event-bus-invoke-remote-event-bus\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst eventBusInvokeRemoteEventBus = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"events:PutEvents\"],\n resources: [\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\"],\n }],\n});\nconst eventBusInvokeRemoteEventBusPolicy = new aws.iam.Policy(\"event_bus_invoke_remote_event_bus\", {\n name: \"event_bus_invoke_remote_event_bus\",\n policy: eventBusInvokeRemoteEventBus.then(eventBusInvokeRemoteEventBus =\u003e eventBusInvokeRemoteEventBus.json),\n});\nconst eventBusInvokeRemoteEventBusRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"event_bus_invoke_remote_event_bus\", {\n role: eventBusInvokeRemoteEventBusRole.name,\n policyArn: eventBusInvokeRemoteEventBusPolicy.arn,\n});\nconst stopInstances = new aws.cloudwatch.EventRule(\"stop_instances\", {\n name: \"StopInstance\",\n description: \"Stop instances nightly\",\n scheduleExpression: \"cron(0 0 * * ? *)\",\n});\nconst stopInstancesEventTarget = new aws.cloudwatch.EventTarget(\"stop_instances\", {\n targetId: \"StopInstance\",\n arn: \"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n rule: stopInstances.name,\n roleArn: eventBusInvokeRemoteEventBusRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"events.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nevent_bus_invoke_remote_event_bus_role = aws.iam.Role(\"event_bus_invoke_remote_event_bus\",\n name=\"event-bus-invoke-remote-event-bus\",\n assume_role_policy=assume_role.json)\nevent_bus_invoke_remote_event_bus = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"events:PutEvents\"],\n \"resources\": [\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\"],\n}])\nevent_bus_invoke_remote_event_bus_policy = aws.iam.Policy(\"event_bus_invoke_remote_event_bus\",\n name=\"event_bus_invoke_remote_event_bus\",\n policy=event_bus_invoke_remote_event_bus.json)\nevent_bus_invoke_remote_event_bus_role_policy_attachment = aws.iam.RolePolicyAttachment(\"event_bus_invoke_remote_event_bus\",\n role=event_bus_invoke_remote_event_bus_role.name,\n policy_arn=event_bus_invoke_remote_event_bus_policy.arn)\nstop_instances = aws.cloudwatch.EventRule(\"stop_instances\",\n name=\"StopInstance\",\n description=\"Stop instances nightly\",\n schedule_expression=\"cron(0 0 * * ? *)\")\nstop_instances_event_target = aws.cloudwatch.EventTarget(\"stop_instances\",\n target_id=\"StopInstance\",\n arn=\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n rule=stop_instances.name,\n role_arn=event_bus_invoke_remote_event_bus_role.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var eventBusInvokeRemoteEventBusRole = new Aws.Iam.Role(\"event_bus_invoke_remote_event_bus\", new()\n {\n Name = \"event-bus-invoke-remote-event-bus\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var eventBusInvokeRemoteEventBus = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:PutEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n },\n },\n },\n });\n\n var eventBusInvokeRemoteEventBusPolicy = new Aws.Iam.Policy(\"event_bus_invoke_remote_event_bus\", new()\n {\n Name = \"event_bus_invoke_remote_event_bus\",\n PolicyDocument = eventBusInvokeRemoteEventBus.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var eventBusInvokeRemoteEventBusRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"event_bus_invoke_remote_event_bus\", new()\n {\n Role = eventBusInvokeRemoteEventBusRole.Name,\n PolicyArn = eventBusInvokeRemoteEventBusPolicy.Arn,\n });\n\n var stopInstances = new Aws.CloudWatch.EventRule(\"stop_instances\", new()\n {\n Name = \"StopInstance\",\n Description = \"Stop instances nightly\",\n ScheduleExpression = \"cron(0 0 * * ? *)\",\n });\n\n var stopInstancesEventTarget = new Aws.CloudWatch.EventTarget(\"stop_instances\", new()\n {\n TargetId = \"StopInstance\",\n Arn = \"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n Rule = stopInstances.Name,\n RoleArn = eventBusInvokeRemoteEventBusRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"events.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventBusInvokeRemoteEventBusRole, err := iam.NewRole(ctx, \"event_bus_invoke_remote_event_bus\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"event-bus-invoke-remote-event-bus\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventBusInvokeRemoteEventBus, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"events:PutEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventBusInvokeRemoteEventBusPolicy, err := iam.NewPolicy(ctx, \"event_bus_invoke_remote_event_bus\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"event_bus_invoke_remote_event_bus\"),\n\t\t\tPolicy: pulumi.String(eventBusInvokeRemoteEventBus.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"event_bus_invoke_remote_event_bus\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: eventBusInvokeRemoteEventBusRole.Name,\n\t\t\tPolicyArn: eventBusInvokeRemoteEventBusPolicy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tstopInstances, err := cloudwatch.NewEventRule(ctx, \"stop_instances\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"StopInstance\"),\n\t\t\tDescription: pulumi.String(\"Stop instances nightly\"),\n\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 * * ? *)\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"stop_instances\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tTargetId: pulumi.String(\"StopInstance\"),\n\t\t\tArn: pulumi.String(\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\"),\n\t\t\tRule: stopInstances.Name,\n\t\t\tRoleArn: eventBusInvokeRemoteEventBusRole.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var eventBusInvokeRemoteEventBusRole = new Role(\"eventBusInvokeRemoteEventBusRole\", RoleArgs.builder()\n .name(\"event-bus-invoke-remote-event-bus\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var eventBusInvokeRemoteEventBus = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"events:PutEvents\")\n .resources(\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\")\n .build())\n .build());\n\n var eventBusInvokeRemoteEventBusPolicy = new Policy(\"eventBusInvokeRemoteEventBusPolicy\", PolicyArgs.builder()\n .name(\"event_bus_invoke_remote_event_bus\")\n .policy(eventBusInvokeRemoteEventBus.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var eventBusInvokeRemoteEventBusRolePolicyAttachment = new RolePolicyAttachment(\"eventBusInvokeRemoteEventBusRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(eventBusInvokeRemoteEventBusRole.name())\n .policyArn(eventBusInvokeRemoteEventBusPolicy.arn())\n .build());\n\n var stopInstances = new EventRule(\"stopInstances\", EventRuleArgs.builder()\n .name(\"StopInstance\")\n .description(\"Stop instances nightly\")\n .scheduleExpression(\"cron(0 0 * * ? *)\")\n .build());\n\n var stopInstancesEventTarget = new EventTarget(\"stopInstancesEventTarget\", EventTargetArgs.builder()\n .targetId(\"StopInstance\")\n .arn(\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\")\n .rule(stopInstances.name())\n .roleArn(eventBusInvokeRemoteEventBusRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n eventBusInvokeRemoteEventBusRole:\n type: aws:iam:Role\n name: event_bus_invoke_remote_event_bus\n properties:\n name: event-bus-invoke-remote-event-bus\n assumeRolePolicy: ${assumeRole.json}\n eventBusInvokeRemoteEventBusPolicy:\n type: aws:iam:Policy\n name: event_bus_invoke_remote_event_bus\n properties:\n name: event_bus_invoke_remote_event_bus\n policy: ${eventBusInvokeRemoteEventBus.json}\n eventBusInvokeRemoteEventBusRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: event_bus_invoke_remote_event_bus\n properties:\n role: ${eventBusInvokeRemoteEventBusRole.name}\n policyArn: ${eventBusInvokeRemoteEventBusPolicy.arn}\n stopInstances:\n type: aws:cloudwatch:EventRule\n name: stop_instances\n properties:\n name: StopInstance\n description: Stop instances nightly\n scheduleExpression: cron(0 0 * * ? *)\n stopInstancesEventTarget:\n type: aws:cloudwatch:EventTarget\n name: stop_instances\n properties:\n targetId: StopInstance\n arn: arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\n rule: ${stopInstances.name}\n roleArn: ${eventBusInvokeRemoteEventBusRole.arn}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n actions:\n - sts:AssumeRole\n eventBusInvokeRemoteEventBus:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - events:PutEvents\n resources:\n - arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Input Transformer Usage - JSON Object\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleEventRule = new aws.cloudwatch.EventRule(\"example\", {});\nconst example = new aws.cloudwatch.EventTarget(\"example\", {\n arn: exampleAwsLambdaFunction.arn,\n rule: exampleEventRule.id,\n inputTransformer: {\n inputPaths: {\n instance: \"$.detail.instance\",\n status: \"$.detail.status\",\n },\n inputTemplate: `{\n \"instance_id\": \u003cinstance\u003e,\n \"instance_status\": \u003cstatus\u003e\n}\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_event_rule = aws.cloudwatch.EventRule(\"example\")\nexample = aws.cloudwatch.EventTarget(\"example\",\n arn=example_aws_lambda_function[\"arn\"],\n rule=example_event_rule.id,\n input_transformer={\n \"input_paths\": {\n \"instance\": \"$.detail.instance\",\n \"status\": \"$.detail.status\",\n },\n \"input_template\": \"\"\"{\n \"instance_id\": \u003cinstance\u003e,\n \"instance_status\": \u003cstatus\u003e\n}\n\"\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleEventRule = new Aws.CloudWatch.EventRule(\"example\");\n\n var example = new Aws.CloudWatch.EventTarget(\"example\", new()\n {\n Arn = exampleAwsLambdaFunction.Arn,\n Rule = exampleEventRule.Id,\n InputTransformer = new Aws.CloudWatch.Inputs.EventTargetInputTransformerArgs\n {\n InputPaths = \n {\n { \"instance\", \"$.detail.instance\" },\n { \"status\", \"$.detail.status\" },\n },\n InputTemplate = @\"{\n \"\"instance_id\"\": \u003cinstance\u003e,\n \"\"instance_status\"\": \u003cstatus\u003e\n}\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleEventRule, err := cloudwatch.NewEventRule(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"example\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tRule: exampleEventRule.ID(),\n\t\t\tInputTransformer: \u0026cloudwatch.EventTargetInputTransformerArgs{\n\t\t\t\tInputPaths: pulumi.StringMap{\n\t\t\t\t\t\"instance\": pulumi.String(\"$.detail.instance\"),\n\t\t\t\t\t\"status\": pulumi.String(\"$.detail.status\"),\n\t\t\t\t},\n\t\t\t\tInputTemplate: pulumi.String(\"{\\n \\\"instance_id\\\": \u003cinstance\u003e,\\n \\\"instance_status\\\": \u003cstatus\u003e\\n}\\n\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetInputTransformerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleEventRule = new EventRule(\"exampleEventRule\");\n\n var example = new EventTarget(\"example\", EventTargetArgs.builder()\n .arn(exampleAwsLambdaFunction.arn())\n .rule(exampleEventRule.id())\n .inputTransformer(EventTargetInputTransformerArgs.builder()\n .inputPaths(Map.ofEntries(\n Map.entry(\"instance\", \"$.detail.instance\"),\n Map.entry(\"status\", \"$.detail.status\")\n ))\n .inputTemplate(\"\"\"\n{\n \"instance_id\": \u003cinstance\u003e,\n \"instance_status\": \u003cstatus\u003e\n}\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:EventTarget\n properties:\n arn: ${exampleAwsLambdaFunction.arn}\n rule: ${exampleEventRule.id}\n inputTransformer:\n inputPaths:\n instance: $.detail.instance\n status: $.detail.status\n inputTemplate: |\n {\n \"instance_id\": \u003cinstance\u003e,\n \"instance_status\": \u003cstatus\u003e\n }\n exampleEventRule:\n type: aws:cloudwatch:EventRule\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Input Transformer Usage - Simple String\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleEventRule = new aws.cloudwatch.EventRule(\"example\", {});\nconst example = new aws.cloudwatch.EventTarget(\"example\", {\n arn: exampleAwsLambdaFunction.arn,\n rule: exampleEventRule.id,\n inputTransformer: {\n inputPaths: {\n instance: \"$.detail.instance\",\n status: \"$.detail.status\",\n },\n inputTemplate: \"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_event_rule = aws.cloudwatch.EventRule(\"example\")\nexample = aws.cloudwatch.EventTarget(\"example\",\n arn=example_aws_lambda_function[\"arn\"],\n rule=example_event_rule.id,\n input_transformer={\n \"input_paths\": {\n \"instance\": \"$.detail.instance\",\n \"status\": \"$.detail.status\",\n },\n \"input_template\": \"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleEventRule = new Aws.CloudWatch.EventRule(\"example\");\n\n var example = new Aws.CloudWatch.EventTarget(\"example\", new()\n {\n Arn = exampleAwsLambdaFunction.Arn,\n Rule = exampleEventRule.Id,\n InputTransformer = new Aws.CloudWatch.Inputs.EventTargetInputTransformerArgs\n {\n InputPaths = \n {\n { \"instance\", \"$.detail.instance\" },\n { \"status\", \"$.detail.status\" },\n },\n InputTemplate = \"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleEventRule, err := cloudwatch.NewEventRule(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"example\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tRule: exampleEventRule.ID(),\n\t\t\tInputTransformer: \u0026cloudwatch.EventTargetInputTransformerArgs{\n\t\t\t\tInputPaths: pulumi.StringMap{\n\t\t\t\t\t\"instance\": pulumi.String(\"$.detail.instance\"),\n\t\t\t\t\t\"status\": pulumi.String(\"$.detail.status\"),\n\t\t\t\t},\n\t\t\t\tInputTemplate: pulumi.String(\"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetInputTransformerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleEventRule = new EventRule(\"exampleEventRule\");\n\n var example = new EventTarget(\"example\", EventTargetArgs.builder()\n .arn(exampleAwsLambdaFunction.arn())\n .rule(exampleEventRule.id())\n .inputTransformer(EventTargetInputTransformerArgs.builder()\n .inputPaths(Map.ofEntries(\n Map.entry(\"instance\", \"$.detail.instance\"),\n Map.entry(\"status\", \"$.detail.status\")\n ))\n .inputTemplate(\"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:EventTarget\n properties:\n arn: ${exampleAwsLambdaFunction.arn}\n rule: ${exampleEventRule.id}\n inputTransformer:\n inputPaths:\n instance: $.detail.instance\n status: $.detail.status\n inputTemplate: '\"\u003cinstance\u003e is in state \u003cstatus\u003e\"'\n exampleEventRule:\n type: aws:cloudwatch:EventRule\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Cloudwatch Log Group Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {\n name: \"/aws/events/guardduty/logs\",\n retentionInDays: 1,\n});\nconst exampleEventRule = new aws.cloudwatch.EventRule(\"example\", {\n name: \"guard-duty_event_rule\",\n description: \"GuardDuty Findings\",\n eventPattern: JSON.stringify({\n source: [\"aws.guardduty\"],\n }),\n tags: {\n Environment: \"example\",\n },\n});\nconst exampleLogPolicy = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"logs:CreateLogStream\"],\n resources: [pulumi.interpolate`${example.arn}:*`],\n principals: [{\n type: \"Service\",\n identifiers: [\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n ],\n }],\n },\n {\n effect: \"Allow\",\n actions: [\"logs:PutLogEvents\"],\n resources: [pulumi.interpolate`${example.arn}:*:*`],\n principals: [{\n type: \"Service\",\n identifiers: [\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n ],\n }],\n conditions: [{\n test: \"ArnEquals\",\n values: [exampleEventRule.arn],\n variable: \"aws:SourceArn\",\n }],\n },\n ],\n});\nconst exampleLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"example\", {\n policyDocument: exampleLogPolicy.apply(exampleLogPolicy =\u003e exampleLogPolicy.json),\n policyName: \"guardduty-log-publishing-policy\",\n});\nconst exampleEventTarget = new aws.cloudwatch.EventTarget(\"example\", {\n rule: exampleEventRule.name,\n arn: example.arn,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\",\n name=\"/aws/events/guardduty/logs\",\n retention_in_days=1)\nexample_event_rule = aws.cloudwatch.EventRule(\"example\",\n name=\"guard-duty_event_rule\",\n description=\"GuardDuty Findings\",\n event_pattern=json.dumps({\n \"source\": [\"aws.guardduty\"],\n }),\n tags={\n \"Environment\": \"example\",\n })\nexample_log_policy = aws.iam.get_policy_document_output(statements=[\n {\n \"effect\": \"Allow\",\n \"actions\": [\"logs:CreateLogStream\"],\n \"resources\": [example.arn.apply(lambda arn: f\"{arn}:*\")],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n ],\n }],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\"logs:PutLogEvents\"],\n \"resources\": [example.arn.apply(lambda arn: f\"{arn}:*:*\")],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n ],\n }],\n \"conditions\": [{\n \"test\": \"ArnEquals\",\n \"values\": [example_event_rule.arn],\n \"variable\": \"aws:SourceArn\",\n }],\n },\n])\nexample_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"example\",\n policy_document=example_log_policy.json,\n policy_name=\"guardduty-log-publishing-policy\")\nexample_event_target = aws.cloudwatch.EventTarget(\"example\",\n rule=example_event_rule.name,\n arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"/aws/events/guardduty/logs\",\n RetentionInDays = 1,\n });\n\n var exampleEventRule = new Aws.CloudWatch.EventRule(\"example\", new()\n {\n Name = \"guard-duty_event_rule\",\n Description = \"GuardDuty Findings\",\n EventPattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"source\"] = new[]\n {\n \"aws.guardduty\",\n },\n }),\n Tags = \n {\n { \"Environment\", \"example\" },\n },\n });\n\n var exampleLogPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n },\n Resources = new[]\n {\n $\"{example.Arn}:*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n $\"{example.Arn}:*:*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Values = new[]\n {\n exampleEventRule.Arn,\n },\n Variable = \"aws:SourceArn\",\n },\n },\n },\n },\n });\n\n var exampleLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"example\", new()\n {\n PolicyDocument = exampleLogPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n PolicyName = \"guardduty-log-publishing-policy\",\n });\n\n var exampleEventTarget = new Aws.CloudWatch.EventTarget(\"example\", new()\n {\n Rule = exampleEventRule.Name,\n Arn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"/aws/events/guardduty/logs\"),\n\t\t\tRetentionInDays: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"source\": []string{\n\t\t\t\t\"aws.guardduty\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleEventRule, err := cloudwatch.NewEventRule(ctx, \"example\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"guard-duty_event_rule\"),\n\t\t\tDescription: pulumi.String(\"GuardDuty Findings\"),\n\t\t\tEventPattern: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"logs:CreateLogStream\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"events.amazonaws.com\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"delivery.logs.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"logs:PutLogEvents\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:*:*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"events.amazonaws.com\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"delivery.logs.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"ArnEquals\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\texampleEventRule.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"example\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: pulumi.String(exampleLogPolicy.ApplyT(func(exampleLogPolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026exampleLogPolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tPolicyName: pulumi.String(\"guardduty-log-publishing-policy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"example\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tRule: exampleEventRule.Name,\n\t\t\tArn: example.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(\"/aws/events/guardduty/logs\")\n .retentionInDays(1)\n .build());\n\n var exampleEventRule = new EventRule(\"exampleEventRule\", EventRuleArgs.builder()\n .name(\"guard-duty_event_rule\")\n .description(\"GuardDuty Findings\")\n .eventPattern(serializeJson(\n jsonObject(\n jsonProperty(\"source\", jsonArray(\"aws.guardduty\"))\n )))\n .tags(Map.of(\"Environment\", \"example\"))\n .build());\n\n final var exampleLogPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"logs:CreateLogStream\")\n .resources(example.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers( \n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"logs:PutLogEvents\")\n .resources(example.arn().applyValue(arn -\u003e String.format(\"%s:*:*\", arn)))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers( \n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\")\n .build())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .values(exampleEventRule.arn())\n .variable(\"aws:SourceArn\")\n .build())\n .build())\n .build());\n\n var exampleLogResourcePolicy = new LogResourcePolicy(\"exampleLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyDocument(exampleLogPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(exampleLogPolicy -\u003e exampleLogPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .policyName(\"guardduty-log-publishing-policy\")\n .build());\n\n var exampleEventTarget = new EventTarget(\"exampleEventTarget\", EventTargetArgs.builder()\n .rule(exampleEventRule.name())\n .arn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: /aws/events/guardduty/logs\n retentionInDays: 1\n exampleLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: example\n properties:\n policyDocument: ${exampleLogPolicy.json}\n policyName: guardduty-log-publishing-policy\n exampleEventRule:\n type: aws:cloudwatch:EventRule\n name: example\n properties:\n name: guard-duty_event_rule\n description: GuardDuty Findings\n eventPattern:\n fn::toJSON:\n source:\n - aws.guardduty\n tags:\n Environment: example\n exampleEventTarget:\n type: aws:cloudwatch:EventTarget\n name: example\n properties:\n rule: ${exampleEventRule.name}\n arn: ${example.arn}\nvariables:\n exampleLogPolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogStream\n resources:\n - ${example.arn}:*\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n - delivery.logs.amazonaws.com\n - effect: Allow\n actions:\n - logs:PutLogEvents\n resources:\n - ${example.arn}:*:*\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n - delivery.logs.amazonaws.com\n conditions:\n - test: ArnEquals\n values:\n - ${exampleEventRule.arn}\n variable: aws:SourceArn\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AppSync Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst invokeAppsyncMutation = new aws.cloudwatch.EventRule(\"invoke_appsync_mutation\", {\n name: \"invoke-appsync-mutation\",\n description: \"schedule_batch_test\",\n scheduleExpression: \"rate(5 minutes)\",\n});\nconst appsyncMutationRoleTrust = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n }],\n});\nconst appsyncMutationRole = new aws.iam.Role(\"appsync_mutation_role\", {\n name: \"appsync-mutation-role\",\n assumeRolePolicy: appsyncMutationRoleTrust.then(appsyncMutationRoleTrust =\u003e appsyncMutationRoleTrust.json),\n});\nconst graphql_api = new aws.appsync.GraphQLApi(\"graphql-api\", {\n name: \"api\",\n authenticationType: \"AWS_IAM\",\n schema: ` schema {\n mutation: Mutation\n query: Query\n }\n\n type Query {\n testQuery: String\n }\n\n type Mutation {\n testMutation(input: MutationInput!): TestMutationResult\n }\n\n type TestMutationResult {\n test: String\n }\n\n input MutationInput {\n testInput: String\n }\n`,\n});\nconst invokeAppsyncMutationEventTarget = new aws.cloudwatch.EventTarget(\"invoke_appsync_mutation\", {\n arn: std.replaceOutput({\n text: graphql_api.arn,\n search: \"apis\",\n replace: \"endpoints/graphql-api\",\n }).apply(invoke =\u003e invoke.result),\n rule: invokeAppsyncMutation.id,\n roleArn: appsyncMutationRole.arn,\n inputTransformer: {\n inputPaths: {\n input: \"$.detail.input\",\n },\n inputTemplate: ` {\n \"input\": \u003cinput\u003e\n }\n`,\n },\n appsyncTarget: {\n graphqlOperation: \"mutation TestMutation($input:MutationInput!){testMutation(input: $input) {test}}\",\n },\n});\nconst appsyncMutationRolePolicyDocument = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"appsync:GraphQL\"],\n effect: \"Allow\",\n resources: [graphql_api.arn],\n }],\n});\nconst appsyncMutationRolePolicy = new aws.iam.Policy(\"appsync_mutation_role_policy\", {\n name: \"appsync-mutation-role-policy\",\n policy: appsyncMutationRolePolicyDocument.apply(appsyncMutationRolePolicyDocument =\u003e appsyncMutationRolePolicyDocument.json),\n});\nconst appsyncMutationRoleAttachment = new aws.iam.RolePolicyAttachment(\"appsync_mutation_role_attachment\", {\n policyArn: appsyncMutationRolePolicy.arn,\n role: appsyncMutationRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ninvoke_appsync_mutation = aws.cloudwatch.EventRule(\"invoke_appsync_mutation\",\n name=\"invoke-appsync-mutation\",\n description=\"schedule_batch_test\",\n schedule_expression=\"rate(5 minutes)\")\nappsync_mutation_role_trust = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"events.amazonaws.com\"],\n }],\n}])\nappsync_mutation_role = aws.iam.Role(\"appsync_mutation_role\",\n name=\"appsync-mutation-role\",\n assume_role_policy=appsync_mutation_role_trust.json)\ngraphql_api = aws.appsync.GraphQLApi(\"graphql-api\",\n name=\"api\",\n authentication_type=\"AWS_IAM\",\n schema=\"\"\" schema {\n mutation: Mutation\n query: Query\n }\n\n type Query {\n testQuery: String\n }\n\n type Mutation {\n testMutation(input: MutationInput!): TestMutationResult\n }\n\n type TestMutationResult {\n test: String\n }\n\n input MutationInput {\n testInput: String\n }\n\"\"\")\ninvoke_appsync_mutation_event_target = aws.cloudwatch.EventTarget(\"invoke_appsync_mutation\",\n arn=std.replace_output(text=graphql_api.arn,\n search=\"apis\",\n replace=\"endpoints/graphql-api\").apply(lambda invoke: invoke.result),\n rule=invoke_appsync_mutation.id,\n role_arn=appsync_mutation_role.arn,\n input_transformer={\n \"input_paths\": {\n \"input\": \"$.detail.input\",\n },\n \"input_template\": \"\"\" {\n \"input\": \u003cinput\u003e\n }\n\"\"\",\n },\n appsync_target={\n \"graphql_operation\": \"mutation TestMutation($input:MutationInput!){testMutation(input: $input) {test}}\",\n })\nappsync_mutation_role_policy_document = aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\"appsync:GraphQL\"],\n \"effect\": \"Allow\",\n \"resources\": [graphql_api.arn],\n}])\nappsync_mutation_role_policy = aws.iam.Policy(\"appsync_mutation_role_policy\",\n name=\"appsync-mutation-role-policy\",\n policy=appsync_mutation_role_policy_document.json)\nappsync_mutation_role_attachment = aws.iam.RolePolicyAttachment(\"appsync_mutation_role_attachment\",\n policy_arn=appsync_mutation_role_policy.arn,\n role=appsync_mutation_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var invokeAppsyncMutation = new Aws.CloudWatch.EventRule(\"invoke_appsync_mutation\", new()\n {\n Name = \"invoke-appsync-mutation\",\n Description = \"schedule_batch_test\",\n ScheduleExpression = \"rate(5 minutes)\",\n });\n\n var appsyncMutationRoleTrust = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var appsyncMutationRole = new Aws.Iam.Role(\"appsync_mutation_role\", new()\n {\n Name = \"appsync-mutation-role\",\n AssumeRolePolicy = appsyncMutationRoleTrust.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var graphql_api = new Aws.AppSync.GraphQLApi(\"graphql-api\", new()\n {\n Name = \"api\",\n AuthenticationType = \"AWS_IAM\",\n Schema = @\" schema {\n mutation: Mutation\n query: Query\n }\n\n type Query {\n testQuery: String\n }\n\n type Mutation {\n testMutation(input: MutationInput!): TestMutationResult\n }\n\n type TestMutationResult {\n test: String\n }\n\n input MutationInput {\n testInput: String\n }\n\",\n });\n\n var invokeAppsyncMutationEventTarget = new Aws.CloudWatch.EventTarget(\"invoke_appsync_mutation\", new()\n {\n Arn = Std.Replace.Invoke(new()\n {\n Text = graphql_api.Arn,\n Search = \"apis\",\n Replace = \"endpoints/graphql-api\",\n }).Apply(invoke =\u003e invoke.Result),\n Rule = invokeAppsyncMutation.Id,\n RoleArn = appsyncMutationRole.Arn,\n InputTransformer = new Aws.CloudWatch.Inputs.EventTargetInputTransformerArgs\n {\n InputPaths = \n {\n { \"input\", \"$.detail.input\" },\n },\n InputTemplate = @\" {\n \"\"input\"\": \u003cinput\u003e\n }\n\",\n },\n AppsyncTarget = new Aws.CloudWatch.Inputs.EventTargetAppsyncTargetArgs\n {\n GraphqlOperation = \"mutation TestMutation($input:MutationInput!){testMutation(input: $input) {test}}\",\n },\n });\n\n var appsyncMutationRolePolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"appsync:GraphQL\",\n },\n Effect = \"Allow\",\n Resources = new[]\n {\n graphql_api.Arn,\n },\n },\n },\n });\n\n var appsyncMutationRolePolicy = new Aws.Iam.Policy(\"appsync_mutation_role_policy\", new()\n {\n Name = \"appsync-mutation-role-policy\",\n PolicyDocument = appsyncMutationRolePolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var appsyncMutationRoleAttachment = new Aws.Iam.RolePolicyAttachment(\"appsync_mutation_role_attachment\", new()\n {\n PolicyArn = appsyncMutationRolePolicy.Arn,\n Role = appsyncMutationRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeAppsyncMutation, err := cloudwatch.NewEventRule(ctx, \"invoke_appsync_mutation\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"invoke-appsync-mutation\"),\n\t\t\tDescription: pulumi.String(\"schedule_batch_test\"),\n\t\t\tScheduleExpression: pulumi.String(\"rate(5 minutes)\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappsyncMutationRoleTrust, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"events.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappsyncMutationRole, err := iam.NewRole(ctx, \"appsync_mutation_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"appsync-mutation-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(appsyncMutationRoleTrust.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewGraphQLApi(ctx, \"graphql-api\", \u0026appsync.GraphQLApiArgs{\n\t\t\tName: pulumi.String(\"api\"),\n\t\t\tAuthenticationType: pulumi.String(\"AWS_IAM\"),\n\t\t\tSchema: pulumi.String(` schema {\n mutation: Mutation\n query: Query\n }\n\n type Query {\n testQuery: String\n }\n\n type Mutation {\n testMutation(input: MutationInput!): TestMutationResult\n }\n\n type TestMutationResult {\n test: String\n }\n\n input MutationInput {\n testInput: String\n }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"invoke_appsync_mutation\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tArn: pulumi.String(std.ReplaceOutput(ctx, std.ReplaceOutputArgs{\n\t\t\t\tText: graphql_api.Arn,\n\t\t\t\tSearch: pulumi.String(\"apis\"),\n\t\t\t\tReplace: pulumi.String(\"endpoints/graphql-api\"),\n\t\t\t}, nil).ApplyT(func(invoke std.ReplaceResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tRule: invokeAppsyncMutation.ID(),\n\t\t\tRoleArn: appsyncMutationRole.Arn,\n\t\t\tInputTransformer: \u0026cloudwatch.EventTargetInputTransformerArgs{\n\t\t\t\tInputPaths: pulumi.StringMap{\n\t\t\t\t\t\"input\": pulumi.String(\"$.detail.input\"),\n\t\t\t\t},\n\t\t\t\tInputTemplate: pulumi.String(\" {\\n \\\"input\\\": \u003cinput\u003e\\n }\\n\"),\n\t\t\t},\n\t\t\tAppsyncTarget: \u0026cloudwatch.EventTargetAppsyncTargetArgs{\n\t\t\t\tGraphqlOperation: pulumi.String(\"mutation TestMutation($input:MutationInput!){testMutation(input: $input) {test}}\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappsyncMutationRolePolicyDocument := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"appsync:GraphQL\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tgraphql_api.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tappsyncMutationRolePolicy, err := iam.NewPolicy(ctx, \"appsync_mutation_role_policy\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"appsync-mutation-role-policy\"),\n\t\t\tPolicy: pulumi.String(appsyncMutationRolePolicyDocument.ApplyT(func(appsyncMutationRolePolicyDocument iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026appsyncMutationRolePolicyDocument.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"appsync_mutation_role_attachment\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: appsyncMutationRolePolicy.Arn,\n\t\t\tRole: appsyncMutationRole.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetInputTransformerArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetAppsyncTargetArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var invokeAppsyncMutation = new EventRule(\"invokeAppsyncMutation\", EventRuleArgs.builder()\n .name(\"invoke-appsync-mutation\")\n .description(\"schedule_batch_test\")\n .scheduleExpression(\"rate(5 minutes)\")\n .build());\n\n final var appsyncMutationRoleTrust = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var appsyncMutationRole = new Role(\"appsyncMutationRole\", RoleArgs.builder()\n .name(\"appsync-mutation-role\")\n .assumeRolePolicy(appsyncMutationRoleTrust.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var graphql_api = new GraphQLApi(\"graphql-api\", GraphQLApiArgs.builder()\n .name(\"api\")\n .authenticationType(\"AWS_IAM\")\n .schema(\"\"\"\n schema {\n mutation: Mutation\n query: Query\n }\n\n type Query {\n testQuery: String\n }\n\n type Mutation {\n testMutation(input: MutationInput!): TestMutationResult\n }\n\n type TestMutationResult {\n test: String\n }\n\n input MutationInput {\n testInput: String\n }\n \"\"\")\n .build());\n\n var invokeAppsyncMutationEventTarget = new EventTarget(\"invokeAppsyncMutationEventTarget\", EventTargetArgs.builder()\n .arn(StdFunctions.replace().applyValue(invoke -\u003e invoke.result()))\n .rule(invokeAppsyncMutation.id())\n .roleArn(appsyncMutationRole.arn())\n .inputTransformer(EventTargetInputTransformerArgs.builder()\n .inputPaths(Map.of(\"input\", \"$.detail.input\"))\n .inputTemplate(\"\"\"\n {\n \"input\": \u003cinput\u003e\n }\n \"\"\")\n .build())\n .appsyncTarget(EventTargetAppsyncTargetArgs.builder()\n .graphqlOperation(\"mutation TestMutation($input:MutationInput!){testMutation(input: $input) {test}}\")\n .build())\n .build());\n\n final var appsyncMutationRolePolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"appsync:GraphQL\")\n .effect(\"Allow\")\n .resources(graphql_api.arn())\n .build())\n .build());\n\n var appsyncMutationRolePolicy = new Policy(\"appsyncMutationRolePolicy\", PolicyArgs.builder()\n .name(\"appsync-mutation-role-policy\")\n .policy(appsyncMutationRolePolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(appsyncMutationRolePolicyDocument -\u003e appsyncMutationRolePolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var appsyncMutationRoleAttachment = new RolePolicyAttachment(\"appsyncMutationRoleAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(appsyncMutationRolePolicy.arn())\n .role(appsyncMutationRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n invokeAppsyncMutation:\n type: aws:cloudwatch:EventRule\n name: invoke_appsync_mutation\n properties:\n name: invoke-appsync-mutation\n description: schedule_batch_test\n scheduleExpression: rate(5 minutes)\n invokeAppsyncMutationEventTarget:\n type: aws:cloudwatch:EventTarget\n name: invoke_appsync_mutation\n properties:\n arn:\n fn::invoke:\n function: std:replace\n arguments:\n text: ${[\"graphql-api\"].arn}\n search: apis\n replace: endpoints/graphql-api\n return: result\n rule: ${invokeAppsyncMutation.id}\n roleArn: ${appsyncMutationRole.arn}\n inputTransformer:\n inputPaths:\n input: $.detail.input\n inputTemplate: |2\n {\n \"input\": \u003cinput\u003e\n }\n appsyncTarget:\n graphqlOperation: 'mutation TestMutation($input:MutationInput!){testMutation(input: $input) {test}}'\n appsyncMutationRole:\n type: aws:iam:Role\n name: appsync_mutation_role\n properties:\n name: appsync-mutation-role\n assumeRolePolicy: ${appsyncMutationRoleTrust.json}\n appsyncMutationRolePolicy:\n type: aws:iam:Policy\n name: appsync_mutation_role_policy\n properties:\n name: appsync-mutation-role-policy\n policy: ${appsyncMutationRolePolicyDocument.json}\n appsyncMutationRoleAttachment:\n type: aws:iam:RolePolicyAttachment\n name: appsync_mutation_role_attachment\n properties:\n policyArn: ${appsyncMutationRolePolicy.arn}\n role: ${appsyncMutationRole.name}\n graphql-api:\n type: aws:appsync:GraphQLApi\n properties:\n name: api\n authenticationType: AWS_IAM\n schema: |2\n schema {\n mutation: Mutation\n query: Query\n }\n\n type Query {\n testQuery: String\n }\n\n type Mutation {\n testMutation(input: MutationInput!): TestMutationResult\n }\n\n type TestMutationResult {\n test: String\n }\n\n input MutationInput {\n testInput: String\n }\nvariables:\n appsyncMutationRoleTrust:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n appsyncMutationRolePolicyDocument:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - appsync:GraphQL\n effect: Allow\n resources:\n - ${[\"graphql-api\"].arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge Targets using `event_bus_name/rule-name/target-id` (if you omit `event_bus_name`, the `default` event bus will be used). For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventTarget:EventTarget test-event-target rule-name/target-id\n```\n", + "description": "Provides an EventBridge Target resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n### Kinesis Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst console = new aws.cloudwatch.EventRule(\"console\", {\n name: \"capture-ec2-scaling-events\",\n description: \"Capture all EC2 scaling events\",\n eventPattern: JSON.stringify({\n source: [\"aws.autoscaling\"],\n \"detail-type\": [\n \"EC2 Instance Launch Successful\",\n \"EC2 Instance Terminate Successful\",\n \"EC2 Instance Launch Unsuccessful\",\n \"EC2 Instance Terminate Unsuccessful\",\n ],\n }),\n});\nconst testStream = new aws.kinesis.Stream(\"test_stream\", {\n name: \"kinesis-test\",\n shardCount: 1,\n});\nconst yada = new aws.cloudwatch.EventTarget(\"yada\", {\n targetId: \"Yada\",\n rule: console.name,\n arn: testStream.arn,\n runCommandTargets: [\n {\n key: \"tag:Name\",\n values: [\"FooBar\"],\n },\n {\n key: \"InstanceIds\",\n values: [\"i-162058cd308bffec2\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nconsole = aws.cloudwatch.EventRule(\"console\",\n name=\"capture-ec2-scaling-events\",\n description=\"Capture all EC2 scaling events\",\n event_pattern=json.dumps({\n \"source\": [\"aws.autoscaling\"],\n \"detail-type\": [\n \"EC2 Instance Launch Successful\",\n \"EC2 Instance Terminate Successful\",\n \"EC2 Instance Launch Unsuccessful\",\n \"EC2 Instance Terminate Unsuccessful\",\n ],\n }))\ntest_stream = aws.kinesis.Stream(\"test_stream\",\n name=\"kinesis-test\",\n shard_count=1)\nyada = aws.cloudwatch.EventTarget(\"yada\",\n target_id=\"Yada\",\n rule=console.name,\n arn=test_stream.arn,\n run_command_targets=[\n {\n \"key\": \"tag:Name\",\n \"values\": [\"FooBar\"],\n },\n {\n \"key\": \"InstanceIds\",\n \"values\": [\"i-162058cd308bffec2\"],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var console = new Aws.CloudWatch.EventRule(\"console\", new()\n {\n Name = \"capture-ec2-scaling-events\",\n Description = \"Capture all EC2 scaling events\",\n EventPattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"source\"] = new[]\n {\n \"aws.autoscaling\",\n },\n [\"detail-type\"] = new[]\n {\n \"EC2 Instance Launch Successful\",\n \"EC2 Instance Terminate Successful\",\n \"EC2 Instance Launch Unsuccessful\",\n \"EC2 Instance Terminate Unsuccessful\",\n },\n }),\n });\n\n var testStream = new Aws.Kinesis.Stream(\"test_stream\", new()\n {\n Name = \"kinesis-test\",\n ShardCount = 1,\n });\n\n var yada = new Aws.CloudWatch.EventTarget(\"yada\", new()\n {\n TargetId = \"Yada\",\n Rule = console.Name,\n Arn = testStream.Arn,\n RunCommandTargets = new[]\n {\n new Aws.CloudWatch.Inputs.EventTargetRunCommandTargetArgs\n {\n Key = \"tag:Name\",\n Values = new[]\n {\n \"FooBar\",\n },\n },\n new Aws.CloudWatch.Inputs.EventTargetRunCommandTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n \"i-162058cd308bffec2\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"source\": []string{\n\t\t\t\t\"aws.autoscaling\",\n\t\t\t},\n\t\t\t\"detail-type\": []string{\n\t\t\t\t\"EC2 Instance Launch Successful\",\n\t\t\t\t\"EC2 Instance Terminate Successful\",\n\t\t\t\t\"EC2 Instance Launch Unsuccessful\",\n\t\t\t\t\"EC2 Instance Terminate Unsuccessful\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tconsole, err := cloudwatch.NewEventRule(ctx, \"console\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"capture-ec2-scaling-events\"),\n\t\t\tDescription: pulumi.String(\"Capture all EC2 scaling events\"),\n\t\t\tEventPattern: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestStream, err := kinesis.NewStream(ctx, \"test_stream\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-test\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"yada\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tTargetId: pulumi.String(\"Yada\"),\n\t\t\tRule: console.Name,\n\t\t\tArn: testStream.Arn,\n\t\t\tRunCommandTargets: cloudwatch.EventTargetRunCommandTargetArray{\n\t\t\t\t\u0026cloudwatch.EventTargetRunCommandTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"tag:Name\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"FooBar\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.EventTargetRunCommandTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"i-162058cd308bffec2\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetRunCommandTargetArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var console = new EventRule(\"console\", EventRuleArgs.builder()\n .name(\"capture-ec2-scaling-events\")\n .description(\"Capture all EC2 scaling events\")\n .eventPattern(serializeJson(\n jsonObject(\n jsonProperty(\"source\", jsonArray(\"aws.autoscaling\")),\n jsonProperty(\"detail-type\", jsonArray(\n \"EC2 Instance Launch Successful\", \n \"EC2 Instance Terminate Successful\", \n \"EC2 Instance Launch Unsuccessful\", \n \"EC2 Instance Terminate Unsuccessful\"\n ))\n )))\n .build());\n\n var testStream = new Stream(\"testStream\", StreamArgs.builder()\n .name(\"kinesis-test\")\n .shardCount(1)\n .build());\n\n var yada = new EventTarget(\"yada\", EventTargetArgs.builder()\n .targetId(\"Yada\")\n .rule(console.name())\n .arn(testStream.arn())\n .runCommandTargets( \n EventTargetRunCommandTargetArgs.builder()\n .key(\"tag:Name\")\n .values(\"FooBar\")\n .build(),\n EventTargetRunCommandTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(\"i-162058cd308bffec2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n yada:\n type: aws:cloudwatch:EventTarget\n properties:\n targetId: Yada\n rule: ${console.name}\n arn: ${testStream.arn}\n runCommandTargets:\n - key: tag:Name\n values:\n - FooBar\n - key: InstanceIds\n values:\n - i-162058cd308bffec2\n console:\n type: aws:cloudwatch:EventRule\n properties:\n name: capture-ec2-scaling-events\n description: Capture all EC2 scaling events\n eventPattern:\n fn::toJSON:\n source:\n - aws.autoscaling\n detail-type:\n - EC2 Instance Launch Successful\n - EC2 Instance Terminate Successful\n - EC2 Instance Launch Unsuccessful\n - EC2 Instance Terminate Unsuccessful\n testStream:\n type: aws:kinesis:Stream\n name: test_stream\n properties:\n name: kinesis-test\n shardCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SSM Document Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ssmLifecycleTrust = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n }],\n});\nconst stopInstance = new aws.ssm.Document(\"stop_instance\", {\n name: \"stop_instance\",\n documentType: \"Command\",\n content: JSON.stringify({\n schemaVersion: \"1.2\",\n description: \"Stop an instance\",\n parameters: {},\n runtimeConfig: {\n \"aws:runShellScript\": {\n properties: [{\n id: \"0.aws:runShellScript\",\n runCommand: [\"halt\"],\n }],\n },\n },\n }),\n});\nconst ssmLifecycle = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"ssm:SendCommand\"],\n resources: [\"arn:aws:ec2:eu-west-1:1234567890:instance/*\"],\n conditions: [{\n test: \"StringEquals\",\n variable: \"ec2:ResourceTag/Terminate\",\n values: [\"*\"],\n }],\n },\n {\n effect: \"Allow\",\n actions: [\"ssm:SendCommand\"],\n resources: [stopInstance.arn],\n },\n ],\n});\nconst ssmLifecycleRole = new aws.iam.Role(\"ssm_lifecycle\", {\n name: \"SSMLifecycle\",\n assumeRolePolicy: ssmLifecycleTrust.then(ssmLifecycleTrust =\u003e ssmLifecycleTrust.json),\n});\nconst ssmLifecyclePolicy = new aws.iam.Policy(\"ssm_lifecycle\", {\n name: \"SSMLifecycle\",\n policy: ssmLifecycle.apply(ssmLifecycle =\u003e ssmLifecycle.json),\n});\nconst ssmLifecycleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"ssm_lifecycle\", {\n policyArn: ssmLifecyclePolicy.arn,\n role: ssmLifecycleRole.name,\n});\nconst stopInstances = new aws.cloudwatch.EventRule(\"stop_instances\", {\n name: \"StopInstance\",\n description: \"Stop instances nightly\",\n scheduleExpression: \"cron(0 0 * * ? *)\",\n});\nconst stopInstancesEventTarget = new aws.cloudwatch.EventTarget(\"stop_instances\", {\n targetId: \"StopInstance\",\n arn: stopInstance.arn,\n rule: stopInstances.name,\n roleArn: ssmLifecycleRole.arn,\n runCommandTargets: [{\n key: \"tag:Terminate\",\n values: [\"midnight\"],\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nssm_lifecycle_trust = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"events.amazonaws.com\"],\n }],\n}])\nstop_instance = aws.ssm.Document(\"stop_instance\",\n name=\"stop_instance\",\n document_type=\"Command\",\n content=json.dumps({\n \"schemaVersion\": \"1.2\",\n \"description\": \"Stop an instance\",\n \"parameters\": {},\n \"runtimeConfig\": {\n \"aws:runShellScript\": {\n \"properties\": [{\n \"id\": \"0.aws:runShellScript\",\n \"runCommand\": [\"halt\"],\n }],\n },\n },\n }))\nssm_lifecycle = aws.iam.get_policy_document_output(statements=[\n {\n \"effect\": \"Allow\",\n \"actions\": [\"ssm:SendCommand\"],\n \"resources\": [\"arn:aws:ec2:eu-west-1:1234567890:instance/*\"],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"ec2:ResourceTag/Terminate\",\n \"values\": [\"*\"],\n }],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\"ssm:SendCommand\"],\n \"resources\": [stop_instance.arn],\n },\n])\nssm_lifecycle_role = aws.iam.Role(\"ssm_lifecycle\",\n name=\"SSMLifecycle\",\n assume_role_policy=ssm_lifecycle_trust.json)\nssm_lifecycle_policy = aws.iam.Policy(\"ssm_lifecycle\",\n name=\"SSMLifecycle\",\n policy=ssm_lifecycle.json)\nssm_lifecycle_role_policy_attachment = aws.iam.RolePolicyAttachment(\"ssm_lifecycle\",\n policy_arn=ssm_lifecycle_policy.arn,\n role=ssm_lifecycle_role.name)\nstop_instances = aws.cloudwatch.EventRule(\"stop_instances\",\n name=\"StopInstance\",\n description=\"Stop instances nightly\",\n schedule_expression=\"cron(0 0 * * ? *)\")\nstop_instances_event_target = aws.cloudwatch.EventTarget(\"stop_instances\",\n target_id=\"StopInstance\",\n arn=stop_instance.arn,\n rule=stop_instances.name,\n role_arn=ssm_lifecycle_role.arn,\n run_command_targets=[{\n \"key\": \"tag:Terminate\",\n \"values\": [\"midnight\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ssmLifecycleTrust = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var stopInstance = new Aws.Ssm.Document(\"stop_instance\", new()\n {\n Name = \"stop_instance\",\n DocumentType = \"Command\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"schemaVersion\"] = \"1.2\",\n [\"description\"] = \"Stop an instance\",\n [\"parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"runtimeConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:runShellScript\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"properties\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = \"0.aws:runShellScript\",\n [\"runCommand\"] = new[]\n {\n \"halt\",\n },\n },\n },\n },\n },\n }),\n });\n\n var ssmLifecycle = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ssm:SendCommand\",\n },\n Resources = new[]\n {\n \"arn:aws:ec2:eu-west-1:1234567890:instance/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"ec2:ResourceTag/Terminate\",\n Values = new[]\n {\n \"*\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ssm:SendCommand\",\n },\n Resources = new[]\n {\n stopInstance.Arn,\n },\n },\n },\n });\n\n var ssmLifecycleRole = new Aws.Iam.Role(\"ssm_lifecycle\", new()\n {\n Name = \"SSMLifecycle\",\n AssumeRolePolicy = ssmLifecycleTrust.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ssmLifecyclePolicy = new Aws.Iam.Policy(\"ssm_lifecycle\", new()\n {\n Name = \"SSMLifecycle\",\n PolicyDocument = ssmLifecycle.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ssmLifecycleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"ssm_lifecycle\", new()\n {\n PolicyArn = ssmLifecyclePolicy.Arn,\n Role = ssmLifecycleRole.Name,\n });\n\n var stopInstances = new Aws.CloudWatch.EventRule(\"stop_instances\", new()\n {\n Name = \"StopInstance\",\n Description = \"Stop instances nightly\",\n ScheduleExpression = \"cron(0 0 * * ? *)\",\n });\n\n var stopInstancesEventTarget = new Aws.CloudWatch.EventTarget(\"stop_instances\", new()\n {\n TargetId = \"StopInstance\",\n Arn = stopInstance.Arn,\n Rule = stopInstances.Name,\n RoleArn = ssmLifecycleRole.Arn,\n RunCommandTargets = new[]\n {\n new Aws.CloudWatch.Inputs.EventTargetRunCommandTargetArgs\n {\n Key = \"tag:Terminate\",\n Values = new[]\n {\n \"midnight\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tssmLifecycleTrust, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"events.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"schemaVersion\": \"1.2\",\n\t\t\t\"description\": \"Stop an instance\",\n\t\t\t\"parameters\": map[string]interface{}{},\n\t\t\t\"runtimeConfig\": map[string]interface{}{\n\t\t\t\t\"aws:runShellScript\": map[string]interface{}{\n\t\t\t\t\t\"properties\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"id\": \"0.aws:runShellScript\",\n\t\t\t\t\t\t\t\"runCommand\": []string{\n\t\t\t\t\t\t\t\t\"halt\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tstopInstance, err := ssm.NewDocument(ctx, \"stop_instance\", \u0026ssm.DocumentArgs{\n\t\t\tName: pulumi.String(\"stop_instance\"),\n\t\t\tDocumentType: pulumi.String(\"Command\"),\n\t\t\tContent: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tssmLifecycle := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ssm:SendCommand\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"arn:aws:ec2:eu-west-1:1234567890:instance/*\"),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"ec2:ResourceTag/Terminate\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ssm:SendCommand\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tstopInstance.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tssmLifecycleRole, err := iam.NewRole(ctx, \"ssm_lifecycle\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"SSMLifecycle\"),\n\t\t\tAssumeRolePolicy: pulumi.String(ssmLifecycleTrust.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tssmLifecyclePolicy, err := iam.NewPolicy(ctx, \"ssm_lifecycle\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"SSMLifecycle\"),\n\t\t\tPolicy: pulumi.String(ssmLifecycle.ApplyT(func(ssmLifecycle iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026ssmLifecycle.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"ssm_lifecycle\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: ssmLifecyclePolicy.Arn,\n\t\t\tRole: ssmLifecycleRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tstopInstances, err := cloudwatch.NewEventRule(ctx, \"stop_instances\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"StopInstance\"),\n\t\t\tDescription: pulumi.String(\"Stop instances nightly\"),\n\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 * * ? *)\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"stop_instances\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tTargetId: pulumi.String(\"StopInstance\"),\n\t\t\tArn: stopInstance.Arn,\n\t\t\tRule: stopInstances.Name,\n\t\t\tRoleArn: ssmLifecycleRole.Arn,\n\t\t\tRunCommandTargets: cloudwatch.EventTargetRunCommandTargetArray{\n\t\t\t\t\u0026cloudwatch.EventTargetRunCommandTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"tag:Terminate\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"midnight\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ssm.Document;\nimport com.pulumi.aws.ssm.DocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetRunCommandTargetArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ssmLifecycleTrust = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var stopInstance = new Document(\"stopInstance\", DocumentArgs.builder()\n .name(\"stop_instance\")\n .documentType(\"Command\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"schemaVersion\", \"1.2\"),\n jsonProperty(\"description\", \"Stop an instance\"),\n jsonProperty(\"parameters\", jsonObject(\n\n )),\n jsonProperty(\"runtimeConfig\", jsonObject(\n jsonProperty(\"aws:runShellScript\", jsonObject(\n jsonProperty(\"properties\", jsonArray(jsonObject(\n jsonProperty(\"id\", \"0.aws:runShellScript\"),\n jsonProperty(\"runCommand\", jsonArray(\"halt\"))\n )))\n ))\n ))\n )))\n .build());\n\n final var ssmLifecycle = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ssm:SendCommand\")\n .resources(\"arn:aws:ec2:eu-west-1:1234567890:instance/*\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"ec2:ResourceTag/Terminate\")\n .values(\"*\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ssm:SendCommand\")\n .resources(stopInstance.arn())\n .build())\n .build());\n\n var ssmLifecycleRole = new Role(\"ssmLifecycleRole\", RoleArgs.builder()\n .name(\"SSMLifecycle\")\n .assumeRolePolicy(ssmLifecycleTrust.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var ssmLifecyclePolicy = new Policy(\"ssmLifecyclePolicy\", PolicyArgs.builder()\n .name(\"SSMLifecycle\")\n .policy(ssmLifecycle.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(ssmLifecycle -\u003e ssmLifecycle.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var ssmLifecycleRolePolicyAttachment = new RolePolicyAttachment(\"ssmLifecycleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(ssmLifecyclePolicy.arn())\n .role(ssmLifecycleRole.name())\n .build());\n\n var stopInstances = new EventRule(\"stopInstances\", EventRuleArgs.builder()\n .name(\"StopInstance\")\n .description(\"Stop instances nightly\")\n .scheduleExpression(\"cron(0 0 * * ? *)\")\n .build());\n\n var stopInstancesEventTarget = new EventTarget(\"stopInstancesEventTarget\", EventTargetArgs.builder()\n .targetId(\"StopInstance\")\n .arn(stopInstance.arn())\n .rule(stopInstances.name())\n .roleArn(ssmLifecycleRole.arn())\n .runCommandTargets(EventTargetRunCommandTargetArgs.builder()\n .key(\"tag:Terminate\")\n .values(\"midnight\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ssmLifecycleRole:\n type: aws:iam:Role\n name: ssm_lifecycle\n properties:\n name: SSMLifecycle\n assumeRolePolicy: ${ssmLifecycleTrust.json}\n ssmLifecyclePolicy:\n type: aws:iam:Policy\n name: ssm_lifecycle\n properties:\n name: SSMLifecycle\n policy: ${ssmLifecycle.json}\n ssmLifecycleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: ssm_lifecycle\n properties:\n policyArn: ${ssmLifecyclePolicy.arn}\n role: ${ssmLifecycleRole.name}\n stopInstance:\n type: aws:ssm:Document\n name: stop_instance\n properties:\n name: stop_instance\n documentType: Command\n content:\n fn::toJSON:\n schemaVersion: '1.2'\n description: Stop an instance\n parameters: {}\n runtimeConfig:\n aws:runShellScript:\n properties:\n - id: 0.aws:runShellScript\n runCommand:\n - halt\n stopInstances:\n type: aws:cloudwatch:EventRule\n name: stop_instances\n properties:\n name: StopInstance\n description: Stop instances nightly\n scheduleExpression: cron(0 0 * * ? *)\n stopInstancesEventTarget:\n type: aws:cloudwatch:EventTarget\n name: stop_instances\n properties:\n targetId: StopInstance\n arn: ${stopInstance.arn}\n rule: ${stopInstances.name}\n roleArn: ${ssmLifecycleRole.arn}\n runCommandTargets:\n - key: tag:Terminate\n values:\n - midnight\nvariables:\n ssmLifecycleTrust:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n ssmLifecycle:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ssm:SendCommand\n resources:\n - arn:aws:ec2:eu-west-1:1234567890:instance/*\n conditions:\n - test: StringEquals\n variable: ec2:ResourceTag/Terminate\n values:\n - '*'\n - effect: Allow\n actions:\n - ssm:SendCommand\n resources:\n - ${stopInstance.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RunCommand Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst stopInstances = new aws.cloudwatch.EventRule(\"stop_instances\", {\n name: \"StopInstance\",\n description: \"Stop instances nightly\",\n scheduleExpression: \"cron(0 0 * * ? *)\",\n});\nconst stopInstancesEventTarget = new aws.cloudwatch.EventTarget(\"stop_instances\", {\n targetId: \"StopInstance\",\n arn: `arn:aws:ssm:${awsRegion}::document/AWS-RunShellScript`,\n input: \"{\\\"commands\\\":[\\\"halt\\\"]}\",\n rule: stopInstances.name,\n roleArn: ssmLifecycle.arn,\n runCommandTargets: [{\n key: \"tag:Terminate\",\n values: [\"midnight\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nstop_instances = aws.cloudwatch.EventRule(\"stop_instances\",\n name=\"StopInstance\",\n description=\"Stop instances nightly\",\n schedule_expression=\"cron(0 0 * * ? *)\")\nstop_instances_event_target = aws.cloudwatch.EventTarget(\"stop_instances\",\n target_id=\"StopInstance\",\n arn=f\"arn:aws:ssm:{aws_region}::document/AWS-RunShellScript\",\n input=\"{\\\"commands\\\":[\\\"halt\\\"]}\",\n rule=stop_instances.name,\n role_arn=ssm_lifecycle[\"arn\"],\n run_command_targets=[{\n \"key\": \"tag:Terminate\",\n \"values\": [\"midnight\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var stopInstances = new Aws.CloudWatch.EventRule(\"stop_instances\", new()\n {\n Name = \"StopInstance\",\n Description = \"Stop instances nightly\",\n ScheduleExpression = \"cron(0 0 * * ? *)\",\n });\n\n var stopInstancesEventTarget = new Aws.CloudWatch.EventTarget(\"stop_instances\", new()\n {\n TargetId = \"StopInstance\",\n Arn = $\"arn:aws:ssm:{awsRegion}::document/AWS-RunShellScript\",\n Input = \"{\\\"commands\\\":[\\\"halt\\\"]}\",\n Rule = stopInstances.Name,\n RoleArn = ssmLifecycle.Arn,\n RunCommandTargets = new[]\n {\n new Aws.CloudWatch.Inputs.EventTargetRunCommandTargetArgs\n {\n Key = \"tag:Terminate\",\n Values = new[]\n {\n \"midnight\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tstopInstances, err := cloudwatch.NewEventRule(ctx, \"stop_instances\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"StopInstance\"),\n\t\t\tDescription: pulumi.String(\"Stop instances nightly\"),\n\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 * * ? *)\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"stop_instances\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tTargetId: pulumi.String(\"StopInstance\"),\n\t\t\tArn: pulumi.Sprintf(\"arn:aws:ssm:%v::document/AWS-RunShellScript\", awsRegion),\n\t\t\tInput: pulumi.String(\"{\\\"commands\\\":[\\\"halt\\\"]}\"),\n\t\t\tRule: stopInstances.Name,\n\t\t\tRoleArn: pulumi.Any(ssmLifecycle.Arn),\n\t\t\tRunCommandTargets: cloudwatch.EventTargetRunCommandTargetArray{\n\t\t\t\t\u0026cloudwatch.EventTargetRunCommandTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"tag:Terminate\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"midnight\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetRunCommandTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var stopInstances = new EventRule(\"stopInstances\", EventRuleArgs.builder()\n .name(\"StopInstance\")\n .description(\"Stop instances nightly\")\n .scheduleExpression(\"cron(0 0 * * ? *)\")\n .build());\n\n var stopInstancesEventTarget = new EventTarget(\"stopInstancesEventTarget\", EventTargetArgs.builder()\n .targetId(\"StopInstance\")\n .arn(String.format(\"arn:aws:ssm:%s::document/AWS-RunShellScript\", awsRegion))\n .input(\"{\\\"commands\\\":[\\\"halt\\\"]}\")\n .rule(stopInstances.name())\n .roleArn(ssmLifecycle.arn())\n .runCommandTargets(EventTargetRunCommandTargetArgs.builder()\n .key(\"tag:Terminate\")\n .values(\"midnight\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n stopInstances:\n type: aws:cloudwatch:EventRule\n name: stop_instances\n properties:\n name: StopInstance\n description: Stop instances nightly\n scheduleExpression: cron(0 0 * * ? *)\n stopInstancesEventTarget:\n type: aws:cloudwatch:EventTarget\n name: stop_instances\n properties:\n targetId: StopInstance\n arn: arn:aws:ssm:${awsRegion}::document/AWS-RunShellScript\n input: '{\"commands\":[\"halt\"]}'\n rule: ${stopInstances.name}\n roleArn: ${ssmLifecycle.arn}\n runCommandTargets:\n - key: tag:Terminate\n values:\n - midnight\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### ECS Run Task with Role and Task Override Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst ecsEvents = new aws.iam.Role(\"ecs_events\", {\n name: \"ecs_events\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst ecsEventsRunTaskWithAnyRole = std.replace({\n text: taskName.arn,\n search: \"/:\\\\d+$/\",\n replace: \":*\",\n}).then(invoke =\u003e aws.iam.getPolicyDocument({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"iam:PassRole\"],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\"ecs:RunTask\"],\n resources: [invoke.result],\n },\n ],\n}));\nconst ecsEventsRunTaskWithAnyRoleRolePolicy = new aws.iam.RolePolicy(\"ecs_events_run_task_with_any_role\", {\n name: \"ecs_events_run_task_with_any_role\",\n role: ecsEvents.id,\n policy: ecsEventsRunTaskWithAnyRole.then(ecsEventsRunTaskWithAnyRole =\u003e ecsEventsRunTaskWithAnyRole.json),\n});\nconst ecsScheduledTask = new aws.cloudwatch.EventTarget(\"ecs_scheduled_task\", {\n targetId: \"run-scheduled-task-every-hour\",\n arn: clusterName.arn,\n rule: everyHour.name,\n roleArn: ecsEvents.arn,\n ecsTarget: {\n taskCount: 1,\n taskDefinitionArn: taskName.arn,\n },\n input: JSON.stringify({\n containerOverrides: [{\n name: \"name-of-container-to-override\",\n command: [\n \"bin/console\",\n \"scheduled-task\",\n ],\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"events.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\necs_events = aws.iam.Role(\"ecs_events\",\n name=\"ecs_events\",\n assume_role_policy=assume_role.json)\necs_events_run_task_with_any_role = aws.iam.get_policy_document(statements=[\n {\n \"effect\": \"Allow\",\n \"actions\": [\"iam:PassRole\"],\n \"resources\": [\"*\"],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\"ecs:RunTask\"],\n \"resources\": [std.replace(text=task_name[\"arn\"],\n search=\"/:\\\\d+$/\",\n replace=\":*\").result],\n },\n])\necs_events_run_task_with_any_role_role_policy = aws.iam.RolePolicy(\"ecs_events_run_task_with_any_role\",\n name=\"ecs_events_run_task_with_any_role\",\n role=ecs_events.id,\n policy=ecs_events_run_task_with_any_role.json)\necs_scheduled_task = aws.cloudwatch.EventTarget(\"ecs_scheduled_task\",\n target_id=\"run-scheduled-task-every-hour\",\n arn=cluster_name[\"arn\"],\n rule=every_hour[\"name\"],\n role_arn=ecs_events.arn,\n ecs_target={\n \"task_count\": 1,\n \"task_definition_arn\": task_name[\"arn\"],\n },\n input=json.dumps({\n \"containerOverrides\": [{\n \"name\": \"name-of-container-to-override\",\n \"command\": [\n \"bin/console\",\n \"scheduled-task\",\n ],\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var ecsEvents = new Aws.Iam.Role(\"ecs_events\", new()\n {\n Name = \"ecs_events\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ecsEventsRunTaskWithAnyRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"iam:PassRole\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ecs:RunTask\",\n },\n Resources = new[]\n {\n Std.Replace.Invoke(new()\n {\n Text = taskName.Arn,\n Search = \"/:\\\\d+$/\",\n Replace = \":*\",\n }).Result,\n },\n },\n },\n });\n\n var ecsEventsRunTaskWithAnyRoleRolePolicy = new Aws.Iam.RolePolicy(\"ecs_events_run_task_with_any_role\", new()\n {\n Name = \"ecs_events_run_task_with_any_role\",\n Role = ecsEvents.Id,\n Policy = ecsEventsRunTaskWithAnyRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ecsScheduledTask = new Aws.CloudWatch.EventTarget(\"ecs_scheduled_task\", new()\n {\n TargetId = \"run-scheduled-task-every-hour\",\n Arn = clusterName.Arn,\n Rule = everyHour.Name,\n RoleArn = ecsEvents.Arn,\n EcsTarget = new Aws.CloudWatch.Inputs.EventTargetEcsTargetArgs\n {\n TaskCount = 1,\n TaskDefinitionArn = taskName.Arn,\n },\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"containerOverrides\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"name-of-container-to-override\",\n [\"command\"] = new[]\n {\n \"bin/console\",\n \"scheduled-task\",\n },\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"events.amazonaws.com\",\n},\n},\n},\nActions: []string{\n\"sts:AssumeRole\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\necsEvents, err := iam.NewRole(ctx, \"ecs_events\", \u0026iam.RoleArgs{\nName: pulumi.String(\"ecs_events\"),\nAssumeRolePolicy: pulumi.String(assumeRole.Json),\n})\nif err != nil {\nreturn err\n}\necsEventsRunTaskWithAnyRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"iam:PassRole\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"ecs:RunTask\",\n},\nResources: interface{}{\nstd.Replace(ctx, {\nText: taskName.Arn,\nSearch: \"/:\\\\d+$/\",\nReplace: \":*\",\n}, nil).Result,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.NewRolePolicy(ctx, \"ecs_events_run_task_with_any_role\", \u0026iam.RolePolicyArgs{\nName: pulumi.String(\"ecs_events_run_task_with_any_role\"),\nRole: ecsEvents.ID(),\nPolicy: pulumi.String(ecsEventsRunTaskWithAnyRole.Json),\n})\nif err != nil {\nreturn err\n}\ntmpJSON0, err := json.Marshal(map[string]interface{}{\n\"containerOverrides\": []map[string]interface{}{\nmap[string]interface{}{\n\"name\": \"name-of-container-to-override\",\n\"command\": []string{\n\"bin/console\",\n\"scheduled-task\",\n},\n},\n},\n})\nif err != nil {\nreturn err\n}\njson0 := string(tmpJSON0)\n_, err = cloudwatch.NewEventTarget(ctx, \"ecs_scheduled_task\", \u0026cloudwatch.EventTargetArgs{\nTargetId: pulumi.String(\"run-scheduled-task-every-hour\"),\nArn: pulumi.Any(clusterName.Arn),\nRule: pulumi.Any(everyHour.Name),\nRoleArn: ecsEvents.Arn,\nEcsTarget: \u0026cloudwatch.EventTargetEcsTargetArgs{\nTaskCount: pulumi.Int(1),\nTaskDefinitionArn: pulumi.Any(taskName.Arn),\n},\nInput: pulumi.String(json0),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetEcsTargetArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var ecsEvents = new Role(\"ecsEvents\", RoleArgs.builder()\n .name(\"ecs_events\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var ecsEventsRunTaskWithAnyRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"iam:PassRole\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ecs:RunTask\")\n .resources(StdFunctions.replace(ReplaceArgs.builder()\n .text(taskName.arn())\n .search(\"/:\\\\d+$/\")\n .replace(\":*\")\n .build()).result())\n .build())\n .build());\n\n var ecsEventsRunTaskWithAnyRoleRolePolicy = new RolePolicy(\"ecsEventsRunTaskWithAnyRoleRolePolicy\", RolePolicyArgs.builder()\n .name(\"ecs_events_run_task_with_any_role\")\n .role(ecsEvents.id())\n .policy(ecsEventsRunTaskWithAnyRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var ecsScheduledTask = new EventTarget(\"ecsScheduledTask\", EventTargetArgs.builder()\n .targetId(\"run-scheduled-task-every-hour\")\n .arn(clusterName.arn())\n .rule(everyHour.name())\n .roleArn(ecsEvents.arn())\n .ecsTarget(EventTargetEcsTargetArgs.builder()\n .taskCount(1)\n .taskDefinitionArn(taskName.arn())\n .build())\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"containerOverrides\", jsonArray(jsonObject(\n jsonProperty(\"name\", \"name-of-container-to-override\"),\n jsonProperty(\"command\", jsonArray(\n \"bin/console\", \n \"scheduled-task\"\n ))\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsEvents:\n type: aws:iam:Role\n name: ecs_events\n properties:\n name: ecs_events\n assumeRolePolicy: ${assumeRole.json}\n ecsEventsRunTaskWithAnyRoleRolePolicy:\n type: aws:iam:RolePolicy\n name: ecs_events_run_task_with_any_role\n properties:\n name: ecs_events_run_task_with_any_role\n role: ${ecsEvents.id}\n policy: ${ecsEventsRunTaskWithAnyRole.json}\n ecsScheduledTask:\n type: aws:cloudwatch:EventTarget\n name: ecs_scheduled_task\n properties:\n targetId: run-scheduled-task-every-hour\n arn: ${clusterName.arn}\n rule: ${everyHour.name}\n roleArn: ${ecsEvents.arn}\n ecsTarget:\n taskCount: 1\n taskDefinitionArn: ${taskName.arn}\n input:\n fn::toJSON:\n containerOverrides:\n - name: name-of-container-to-override\n command:\n - bin/console\n - scheduled-task\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n actions:\n - sts:AssumeRole\n ecsEventsRunTaskWithAnyRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - iam:PassRole\n resources:\n - '*'\n - effect: Allow\n actions:\n - ecs:RunTask\n resources:\n - fn::invoke:\n Function: std:replace\n Arguments:\n text: ${taskName.arn}\n search: /:\\d+$/\n replace: :*\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### API Gateway target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleEventRule = new aws.cloudwatch.EventRule(\"example\", {});\nconst exampleDeployment = new aws.apigateway.Deployment(\"example\", {restApi: exampleAwsApiGatewayRestApi.id});\nconst exampleStage = new aws.apigateway.Stage(\"example\", {\n restApi: exampleAwsApiGatewayRestApi.id,\n deployment: exampleDeployment.id,\n});\nconst example = new aws.cloudwatch.EventTarget(\"example\", {\n arn: pulumi.interpolate`${exampleStage.executionArn}/GET`,\n rule: exampleEventRule.id,\n httpTarget: {\n queryStringParameters: {\n Body: \"$.detail.body\",\n },\n headerParameters: {\n Env: \"Test\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_event_rule = aws.cloudwatch.EventRule(\"example\")\nexample_deployment = aws.apigateway.Deployment(\"example\", rest_api=example_aws_api_gateway_rest_api[\"id\"])\nexample_stage = aws.apigateway.Stage(\"example\",\n rest_api=example_aws_api_gateway_rest_api[\"id\"],\n deployment=example_deployment.id)\nexample = aws.cloudwatch.EventTarget(\"example\",\n arn=example_stage.execution_arn.apply(lambda execution_arn: f\"{execution_arn}/GET\"),\n rule=example_event_rule.id,\n http_target={\n \"query_string_parameters\": {\n \"Body\": \"$.detail.body\",\n },\n \"header_parameters\": {\n \"Env\": \"Test\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleEventRule = new Aws.CloudWatch.EventRule(\"example\");\n\n var exampleDeployment = new Aws.ApiGateway.Deployment(\"example\", new()\n {\n RestApi = exampleAwsApiGatewayRestApi.Id,\n });\n\n var exampleStage = new Aws.ApiGateway.Stage(\"example\", new()\n {\n RestApi = exampleAwsApiGatewayRestApi.Id,\n Deployment = exampleDeployment.Id,\n });\n\n var example = new Aws.CloudWatch.EventTarget(\"example\", new()\n {\n Arn = exampleStage.ExecutionArn.Apply(executionArn =\u003e $\"{executionArn}/GET\"),\n Rule = exampleEventRule.Id,\n HttpTarget = new Aws.CloudWatch.Inputs.EventTargetHttpTargetArgs\n {\n QueryStringParameters = \n {\n { \"Body\", \"$.detail.body\" },\n },\n HeaderParameters = \n {\n { \"Env\", \"Test\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleEventRule, err := cloudwatch.NewEventRule(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDeployment, err := apigateway.NewDeployment(ctx, \"example\", \u0026apigateway.DeploymentArgs{\n\t\t\tRestApi: pulumi.Any(exampleAwsApiGatewayRestApi.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStage, err := apigateway.NewStage(ctx, \"example\", \u0026apigateway.StageArgs{\n\t\t\tRestApi: pulumi.Any(exampleAwsApiGatewayRestApi.Id),\n\t\t\tDeployment: exampleDeployment.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"example\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tArn: exampleStage.ExecutionArn.ApplyT(func(executionArn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v/GET\", executionArn), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tRule: exampleEventRule.ID(),\n\t\t\tHttpTarget: \u0026cloudwatch.EventTargetHttpTargetArgs{\n\t\t\t\tQueryStringParameters: pulumi.StringMap{\n\t\t\t\t\t\"Body\": pulumi.String(\"$.detail.body\"),\n\t\t\t\t},\n\t\t\t\tHeaderParameters: pulumi.StringMap{\n\t\t\t\t\t\"Env\": pulumi.String(\"Test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.apigateway.Deployment;\nimport com.pulumi.aws.apigateway.DeploymentArgs;\nimport com.pulumi.aws.apigateway.Stage;\nimport com.pulumi.aws.apigateway.StageArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetHttpTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleEventRule = new EventRule(\"exampleEventRule\");\n\n var exampleDeployment = new Deployment(\"exampleDeployment\", DeploymentArgs.builder()\n .restApi(exampleAwsApiGatewayRestApi.id())\n .build());\n\n var exampleStage = new Stage(\"exampleStage\", StageArgs.builder()\n .restApi(exampleAwsApiGatewayRestApi.id())\n .deployment(exampleDeployment.id())\n .build());\n\n var example = new EventTarget(\"example\", EventTargetArgs.builder()\n .arn(exampleStage.executionArn().applyValue(executionArn -\u003e String.format(\"%s/GET\", executionArn)))\n .rule(exampleEventRule.id())\n .httpTarget(EventTargetHttpTargetArgs.builder()\n .queryStringParameters(Map.of(\"Body\", \"$.detail.body\"))\n .headerParameters(Map.of(\"Env\", \"Test\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:EventTarget\n properties:\n arn: ${exampleStage.executionArn}/GET\n rule: ${exampleEventRule.id}\n httpTarget:\n queryStringParameters:\n Body: $.detail.body\n headerParameters:\n Env: Test\n exampleEventRule:\n type: aws:cloudwatch:EventRule\n name: example\n exampleDeployment:\n type: aws:apigateway:Deployment\n name: example\n properties:\n restApi: ${exampleAwsApiGatewayRestApi.id}\n exampleStage:\n type: aws:apigateway:Stage\n name: example\n properties:\n restApi: ${exampleAwsApiGatewayRestApi.id}\n deployment: ${exampleDeployment.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Cross-Account Event Bus target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst eventBusInvokeRemoteEventBusRole = new aws.iam.Role(\"event_bus_invoke_remote_event_bus\", {\n name: \"event-bus-invoke-remote-event-bus\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst eventBusInvokeRemoteEventBus = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"events:PutEvents\"],\n resources: [\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\"],\n }],\n});\nconst eventBusInvokeRemoteEventBusPolicy = new aws.iam.Policy(\"event_bus_invoke_remote_event_bus\", {\n name: \"event_bus_invoke_remote_event_bus\",\n policy: eventBusInvokeRemoteEventBus.then(eventBusInvokeRemoteEventBus =\u003e eventBusInvokeRemoteEventBus.json),\n});\nconst eventBusInvokeRemoteEventBusRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"event_bus_invoke_remote_event_bus\", {\n role: eventBusInvokeRemoteEventBusRole.name,\n policyArn: eventBusInvokeRemoteEventBusPolicy.arn,\n});\nconst stopInstances = new aws.cloudwatch.EventRule(\"stop_instances\", {\n name: \"StopInstance\",\n description: \"Stop instances nightly\",\n scheduleExpression: \"cron(0 0 * * ? *)\",\n});\nconst stopInstancesEventTarget = new aws.cloudwatch.EventTarget(\"stop_instances\", {\n targetId: \"StopInstance\",\n arn: \"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n rule: stopInstances.name,\n roleArn: eventBusInvokeRemoteEventBusRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"events.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nevent_bus_invoke_remote_event_bus_role = aws.iam.Role(\"event_bus_invoke_remote_event_bus\",\n name=\"event-bus-invoke-remote-event-bus\",\n assume_role_policy=assume_role.json)\nevent_bus_invoke_remote_event_bus = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"events:PutEvents\"],\n \"resources\": [\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\"],\n}])\nevent_bus_invoke_remote_event_bus_policy = aws.iam.Policy(\"event_bus_invoke_remote_event_bus\",\n name=\"event_bus_invoke_remote_event_bus\",\n policy=event_bus_invoke_remote_event_bus.json)\nevent_bus_invoke_remote_event_bus_role_policy_attachment = aws.iam.RolePolicyAttachment(\"event_bus_invoke_remote_event_bus\",\n role=event_bus_invoke_remote_event_bus_role.name,\n policy_arn=event_bus_invoke_remote_event_bus_policy.arn)\nstop_instances = aws.cloudwatch.EventRule(\"stop_instances\",\n name=\"StopInstance\",\n description=\"Stop instances nightly\",\n schedule_expression=\"cron(0 0 * * ? *)\")\nstop_instances_event_target = aws.cloudwatch.EventTarget(\"stop_instances\",\n target_id=\"StopInstance\",\n arn=\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n rule=stop_instances.name,\n role_arn=event_bus_invoke_remote_event_bus_role.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var eventBusInvokeRemoteEventBusRole = new Aws.Iam.Role(\"event_bus_invoke_remote_event_bus\", new()\n {\n Name = \"event-bus-invoke-remote-event-bus\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var eventBusInvokeRemoteEventBus = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:PutEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n },\n },\n },\n });\n\n var eventBusInvokeRemoteEventBusPolicy = new Aws.Iam.Policy(\"event_bus_invoke_remote_event_bus\", new()\n {\n Name = \"event_bus_invoke_remote_event_bus\",\n PolicyDocument = eventBusInvokeRemoteEventBus.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var eventBusInvokeRemoteEventBusRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"event_bus_invoke_remote_event_bus\", new()\n {\n Role = eventBusInvokeRemoteEventBusRole.Name,\n PolicyArn = eventBusInvokeRemoteEventBusPolicy.Arn,\n });\n\n var stopInstances = new Aws.CloudWatch.EventRule(\"stop_instances\", new()\n {\n Name = \"StopInstance\",\n Description = \"Stop instances nightly\",\n ScheduleExpression = \"cron(0 0 * * ? *)\",\n });\n\n var stopInstancesEventTarget = new Aws.CloudWatch.EventTarget(\"stop_instances\", new()\n {\n TargetId = \"StopInstance\",\n Arn = \"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n Rule = stopInstances.Name,\n RoleArn = eventBusInvokeRemoteEventBusRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"events.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventBusInvokeRemoteEventBusRole, err := iam.NewRole(ctx, \"event_bus_invoke_remote_event_bus\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"event-bus-invoke-remote-event-bus\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventBusInvokeRemoteEventBus, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"events:PutEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventBusInvokeRemoteEventBusPolicy, err := iam.NewPolicy(ctx, \"event_bus_invoke_remote_event_bus\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"event_bus_invoke_remote_event_bus\"),\n\t\t\tPolicy: pulumi.String(eventBusInvokeRemoteEventBus.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"event_bus_invoke_remote_event_bus\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: eventBusInvokeRemoteEventBusRole.Name,\n\t\t\tPolicyArn: eventBusInvokeRemoteEventBusPolicy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tstopInstances, err := cloudwatch.NewEventRule(ctx, \"stop_instances\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"StopInstance\"),\n\t\t\tDescription: pulumi.String(\"Stop instances nightly\"),\n\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 * * ? *)\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"stop_instances\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tTargetId: pulumi.String(\"StopInstance\"),\n\t\t\tArn: pulumi.String(\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\"),\n\t\t\tRule: stopInstances.Name,\n\t\t\tRoleArn: eventBusInvokeRemoteEventBusRole.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var eventBusInvokeRemoteEventBusRole = new Role(\"eventBusInvokeRemoteEventBusRole\", RoleArgs.builder()\n .name(\"event-bus-invoke-remote-event-bus\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var eventBusInvokeRemoteEventBus = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"events:PutEvents\")\n .resources(\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\")\n .build())\n .build());\n\n var eventBusInvokeRemoteEventBusPolicy = new Policy(\"eventBusInvokeRemoteEventBusPolicy\", PolicyArgs.builder()\n .name(\"event_bus_invoke_remote_event_bus\")\n .policy(eventBusInvokeRemoteEventBus.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var eventBusInvokeRemoteEventBusRolePolicyAttachment = new RolePolicyAttachment(\"eventBusInvokeRemoteEventBusRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(eventBusInvokeRemoteEventBusRole.name())\n .policyArn(eventBusInvokeRemoteEventBusPolicy.arn())\n .build());\n\n var stopInstances = new EventRule(\"stopInstances\", EventRuleArgs.builder()\n .name(\"StopInstance\")\n .description(\"Stop instances nightly\")\n .scheduleExpression(\"cron(0 0 * * ? *)\")\n .build());\n\n var stopInstancesEventTarget = new EventTarget(\"stopInstancesEventTarget\", EventTargetArgs.builder()\n .targetId(\"StopInstance\")\n .arn(\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\")\n .rule(stopInstances.name())\n .roleArn(eventBusInvokeRemoteEventBusRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n eventBusInvokeRemoteEventBusRole:\n type: aws:iam:Role\n name: event_bus_invoke_remote_event_bus\n properties:\n name: event-bus-invoke-remote-event-bus\n assumeRolePolicy: ${assumeRole.json}\n eventBusInvokeRemoteEventBusPolicy:\n type: aws:iam:Policy\n name: event_bus_invoke_remote_event_bus\n properties:\n name: event_bus_invoke_remote_event_bus\n policy: ${eventBusInvokeRemoteEventBus.json}\n eventBusInvokeRemoteEventBusRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: event_bus_invoke_remote_event_bus\n properties:\n role: ${eventBusInvokeRemoteEventBusRole.name}\n policyArn: ${eventBusInvokeRemoteEventBusPolicy.arn}\n stopInstances:\n type: aws:cloudwatch:EventRule\n name: stop_instances\n properties:\n name: StopInstance\n description: Stop instances nightly\n scheduleExpression: cron(0 0 * * ? *)\n stopInstancesEventTarget:\n type: aws:cloudwatch:EventTarget\n name: stop_instances\n properties:\n targetId: StopInstance\n arn: arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\n rule: ${stopInstances.name}\n roleArn: ${eventBusInvokeRemoteEventBusRole.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n actions:\n - sts:AssumeRole\n eventBusInvokeRemoteEventBus:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - events:PutEvents\n resources:\n - arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Input Transformer Usage - JSON Object\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleEventRule = new aws.cloudwatch.EventRule(\"example\", {});\nconst example = new aws.cloudwatch.EventTarget(\"example\", {\n arn: exampleAwsLambdaFunction.arn,\n rule: exampleEventRule.id,\n inputTransformer: {\n inputPaths: {\n instance: \"$.detail.instance\",\n status: \"$.detail.status\",\n },\n inputTemplate: `{\n \"instance_id\": \u003cinstance\u003e,\n \"instance_status\": \u003cstatus\u003e\n}\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_event_rule = aws.cloudwatch.EventRule(\"example\")\nexample = aws.cloudwatch.EventTarget(\"example\",\n arn=example_aws_lambda_function[\"arn\"],\n rule=example_event_rule.id,\n input_transformer={\n \"input_paths\": {\n \"instance\": \"$.detail.instance\",\n \"status\": \"$.detail.status\",\n },\n \"input_template\": \"\"\"{\n \"instance_id\": \u003cinstance\u003e,\n \"instance_status\": \u003cstatus\u003e\n}\n\"\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleEventRule = new Aws.CloudWatch.EventRule(\"example\");\n\n var example = new Aws.CloudWatch.EventTarget(\"example\", new()\n {\n Arn = exampleAwsLambdaFunction.Arn,\n Rule = exampleEventRule.Id,\n InputTransformer = new Aws.CloudWatch.Inputs.EventTargetInputTransformerArgs\n {\n InputPaths = \n {\n { \"instance\", \"$.detail.instance\" },\n { \"status\", \"$.detail.status\" },\n },\n InputTemplate = @\"{\n \"\"instance_id\"\": \u003cinstance\u003e,\n \"\"instance_status\"\": \u003cstatus\u003e\n}\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleEventRule, err := cloudwatch.NewEventRule(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"example\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tRule: exampleEventRule.ID(),\n\t\t\tInputTransformer: \u0026cloudwatch.EventTargetInputTransformerArgs{\n\t\t\t\tInputPaths: pulumi.StringMap{\n\t\t\t\t\t\"instance\": pulumi.String(\"$.detail.instance\"),\n\t\t\t\t\t\"status\": pulumi.String(\"$.detail.status\"),\n\t\t\t\t},\n\t\t\t\tInputTemplate: pulumi.String(\"{\\n \\\"instance_id\\\": \u003cinstance\u003e,\\n \\\"instance_status\\\": \u003cstatus\u003e\\n}\\n\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetInputTransformerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleEventRule = new EventRule(\"exampleEventRule\");\n\n var example = new EventTarget(\"example\", EventTargetArgs.builder()\n .arn(exampleAwsLambdaFunction.arn())\n .rule(exampleEventRule.id())\n .inputTransformer(EventTargetInputTransformerArgs.builder()\n .inputPaths(Map.ofEntries(\n Map.entry(\"instance\", \"$.detail.instance\"),\n Map.entry(\"status\", \"$.detail.status\")\n ))\n .inputTemplate(\"\"\"\n{\n \"instance_id\": \u003cinstance\u003e,\n \"instance_status\": \u003cstatus\u003e\n}\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:EventTarget\n properties:\n arn: ${exampleAwsLambdaFunction.arn}\n rule: ${exampleEventRule.id}\n inputTransformer:\n inputPaths:\n instance: $.detail.instance\n status: $.detail.status\n inputTemplate: |\n {\n \"instance_id\": \u003cinstance\u003e,\n \"instance_status\": \u003cstatus\u003e\n }\n exampleEventRule:\n type: aws:cloudwatch:EventRule\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Input Transformer Usage - Simple String\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleEventRule = new aws.cloudwatch.EventRule(\"example\", {});\nconst example = new aws.cloudwatch.EventTarget(\"example\", {\n arn: exampleAwsLambdaFunction.arn,\n rule: exampleEventRule.id,\n inputTransformer: {\n inputPaths: {\n instance: \"$.detail.instance\",\n status: \"$.detail.status\",\n },\n inputTemplate: \"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_event_rule = aws.cloudwatch.EventRule(\"example\")\nexample = aws.cloudwatch.EventTarget(\"example\",\n arn=example_aws_lambda_function[\"arn\"],\n rule=example_event_rule.id,\n input_transformer={\n \"input_paths\": {\n \"instance\": \"$.detail.instance\",\n \"status\": \"$.detail.status\",\n },\n \"input_template\": \"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleEventRule = new Aws.CloudWatch.EventRule(\"example\");\n\n var example = new Aws.CloudWatch.EventTarget(\"example\", new()\n {\n Arn = exampleAwsLambdaFunction.Arn,\n Rule = exampleEventRule.Id,\n InputTransformer = new Aws.CloudWatch.Inputs.EventTargetInputTransformerArgs\n {\n InputPaths = \n {\n { \"instance\", \"$.detail.instance\" },\n { \"status\", \"$.detail.status\" },\n },\n InputTemplate = \"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleEventRule, err := cloudwatch.NewEventRule(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"example\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tRule: exampleEventRule.ID(),\n\t\t\tInputTransformer: \u0026cloudwatch.EventTargetInputTransformerArgs{\n\t\t\t\tInputPaths: pulumi.StringMap{\n\t\t\t\t\t\"instance\": pulumi.String(\"$.detail.instance\"),\n\t\t\t\t\t\"status\": pulumi.String(\"$.detail.status\"),\n\t\t\t\t},\n\t\t\t\tInputTemplate: pulumi.String(\"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetInputTransformerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleEventRule = new EventRule(\"exampleEventRule\");\n\n var example = new EventTarget(\"example\", EventTargetArgs.builder()\n .arn(exampleAwsLambdaFunction.arn())\n .rule(exampleEventRule.id())\n .inputTransformer(EventTargetInputTransformerArgs.builder()\n .inputPaths(Map.ofEntries(\n Map.entry(\"instance\", \"$.detail.instance\"),\n Map.entry(\"status\", \"$.detail.status\")\n ))\n .inputTemplate(\"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:EventTarget\n properties:\n arn: ${exampleAwsLambdaFunction.arn}\n rule: ${exampleEventRule.id}\n inputTransformer:\n inputPaths:\n instance: $.detail.instance\n status: $.detail.status\n inputTemplate: '\"\u003cinstance\u003e is in state \u003cstatus\u003e\"'\n exampleEventRule:\n type: aws:cloudwatch:EventRule\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Cloudwatch Log Group Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {\n name: \"/aws/events/guardduty/logs\",\n retentionInDays: 1,\n});\nconst exampleEventRule = new aws.cloudwatch.EventRule(\"example\", {\n name: \"guard-duty_event_rule\",\n description: \"GuardDuty Findings\",\n eventPattern: JSON.stringify({\n source: [\"aws.guardduty\"],\n }),\n tags: {\n Environment: \"example\",\n },\n});\nconst exampleLogPolicy = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"logs:CreateLogStream\"],\n resources: [pulumi.interpolate`${example.arn}:*`],\n principals: [{\n type: \"Service\",\n identifiers: [\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n ],\n }],\n },\n {\n effect: \"Allow\",\n actions: [\"logs:PutLogEvents\"],\n resources: [pulumi.interpolate`${example.arn}:*:*`],\n principals: [{\n type: \"Service\",\n identifiers: [\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n ],\n }],\n conditions: [{\n test: \"ArnEquals\",\n values: [exampleEventRule.arn],\n variable: \"aws:SourceArn\",\n }],\n },\n ],\n});\nconst exampleLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"example\", {\n policyDocument: exampleLogPolicy.apply(exampleLogPolicy =\u003e exampleLogPolicy.json),\n policyName: \"guardduty-log-publishing-policy\",\n});\nconst exampleEventTarget = new aws.cloudwatch.EventTarget(\"example\", {\n rule: exampleEventRule.name,\n arn: example.arn,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\",\n name=\"/aws/events/guardduty/logs\",\n retention_in_days=1)\nexample_event_rule = aws.cloudwatch.EventRule(\"example\",\n name=\"guard-duty_event_rule\",\n description=\"GuardDuty Findings\",\n event_pattern=json.dumps({\n \"source\": [\"aws.guardduty\"],\n }),\n tags={\n \"Environment\": \"example\",\n })\nexample_log_policy = aws.iam.get_policy_document_output(statements=[\n {\n \"effect\": \"Allow\",\n \"actions\": [\"logs:CreateLogStream\"],\n \"resources\": [example.arn.apply(lambda arn: f\"{arn}:*\")],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n ],\n }],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\"logs:PutLogEvents\"],\n \"resources\": [example.arn.apply(lambda arn: f\"{arn}:*:*\")],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n ],\n }],\n \"conditions\": [{\n \"test\": \"ArnEquals\",\n \"values\": [example_event_rule.arn],\n \"variable\": \"aws:SourceArn\",\n }],\n },\n])\nexample_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"example\",\n policy_document=example_log_policy.json,\n policy_name=\"guardduty-log-publishing-policy\")\nexample_event_target = aws.cloudwatch.EventTarget(\"example\",\n rule=example_event_rule.name,\n arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"/aws/events/guardduty/logs\",\n RetentionInDays = 1,\n });\n\n var exampleEventRule = new Aws.CloudWatch.EventRule(\"example\", new()\n {\n Name = \"guard-duty_event_rule\",\n Description = \"GuardDuty Findings\",\n EventPattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"source\"] = new[]\n {\n \"aws.guardduty\",\n },\n }),\n Tags = \n {\n { \"Environment\", \"example\" },\n },\n });\n\n var exampleLogPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n },\n Resources = new[]\n {\n $\"{example.Arn}:*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n $\"{example.Arn}:*:*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Values = new[]\n {\n exampleEventRule.Arn,\n },\n Variable = \"aws:SourceArn\",\n },\n },\n },\n },\n });\n\n var exampleLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"example\", new()\n {\n PolicyDocument = exampleLogPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n PolicyName = \"guardduty-log-publishing-policy\",\n });\n\n var exampleEventTarget = new Aws.CloudWatch.EventTarget(\"example\", new()\n {\n Rule = exampleEventRule.Name,\n Arn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"/aws/events/guardduty/logs\"),\n\t\t\tRetentionInDays: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"source\": []string{\n\t\t\t\t\"aws.guardduty\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleEventRule, err := cloudwatch.NewEventRule(ctx, \"example\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"guard-duty_event_rule\"),\n\t\t\tDescription: pulumi.String(\"GuardDuty Findings\"),\n\t\t\tEventPattern: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"logs:CreateLogStream\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"events.amazonaws.com\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"delivery.logs.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"logs:PutLogEvents\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:*:*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"events.amazonaws.com\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"delivery.logs.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"ArnEquals\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\texampleEventRule.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"example\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: pulumi.String(exampleLogPolicy.ApplyT(func(exampleLogPolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026exampleLogPolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tPolicyName: pulumi.String(\"guardduty-log-publishing-policy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"example\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tRule: exampleEventRule.Name,\n\t\t\tArn: example.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(\"/aws/events/guardduty/logs\")\n .retentionInDays(1)\n .build());\n\n var exampleEventRule = new EventRule(\"exampleEventRule\", EventRuleArgs.builder()\n .name(\"guard-duty_event_rule\")\n .description(\"GuardDuty Findings\")\n .eventPattern(serializeJson(\n jsonObject(\n jsonProperty(\"source\", jsonArray(\"aws.guardduty\"))\n )))\n .tags(Map.of(\"Environment\", \"example\"))\n .build());\n\n final var exampleLogPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"logs:CreateLogStream\")\n .resources(example.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers( \n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"logs:PutLogEvents\")\n .resources(example.arn().applyValue(arn -\u003e String.format(\"%s:*:*\", arn)))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers( \n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\")\n .build())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .values(exampleEventRule.arn())\n .variable(\"aws:SourceArn\")\n .build())\n .build())\n .build());\n\n var exampleLogResourcePolicy = new LogResourcePolicy(\"exampleLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyDocument(exampleLogPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(exampleLogPolicy -\u003e exampleLogPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .policyName(\"guardduty-log-publishing-policy\")\n .build());\n\n var exampleEventTarget = new EventTarget(\"exampleEventTarget\", EventTargetArgs.builder()\n .rule(exampleEventRule.name())\n .arn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: /aws/events/guardduty/logs\n retentionInDays: 1\n exampleLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: example\n properties:\n policyDocument: ${exampleLogPolicy.json}\n policyName: guardduty-log-publishing-policy\n exampleEventRule:\n type: aws:cloudwatch:EventRule\n name: example\n properties:\n name: guard-duty_event_rule\n description: GuardDuty Findings\n eventPattern:\n fn::toJSON:\n source:\n - aws.guardduty\n tags:\n Environment: example\n exampleEventTarget:\n type: aws:cloudwatch:EventTarget\n name: example\n properties:\n rule: ${exampleEventRule.name}\n arn: ${example.arn}\nvariables:\n exampleLogPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogStream\n resources:\n - ${example.arn}:*\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n - delivery.logs.amazonaws.com\n - effect: Allow\n actions:\n - logs:PutLogEvents\n resources:\n - ${example.arn}:*:*\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n - delivery.logs.amazonaws.com\n conditions:\n - test: ArnEquals\n values:\n - ${exampleEventRule.arn}\n variable: aws:SourceArn\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AppSync Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst invokeAppsyncMutation = new aws.cloudwatch.EventRule(\"invoke_appsync_mutation\", {\n name: \"invoke-appsync-mutation\",\n description: \"schedule_batch_test\",\n scheduleExpression: \"rate(5 minutes)\",\n});\nconst appsyncMutationRoleTrust = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n }],\n});\nconst appsyncMutationRole = new aws.iam.Role(\"appsync_mutation_role\", {\n name: \"appsync-mutation-role\",\n assumeRolePolicy: appsyncMutationRoleTrust.then(appsyncMutationRoleTrust =\u003e appsyncMutationRoleTrust.json),\n});\nconst graphql_api = new aws.appsync.GraphQLApi(\"graphql-api\", {\n name: \"api\",\n authenticationType: \"AWS_IAM\",\n schema: ` schema {\n mutation: Mutation\n query: Query\n }\n\n type Query {\n testQuery: String\n }\n\n type Mutation {\n testMutation(input: MutationInput!): TestMutationResult\n }\n\n type TestMutationResult {\n test: String\n }\n\n input MutationInput {\n testInput: String\n }\n`,\n});\nconst invokeAppsyncMutationEventTarget = new aws.cloudwatch.EventTarget(\"invoke_appsync_mutation\", {\n arn: std.replaceOutput({\n text: graphql_api.arn,\n search: \"apis\",\n replace: \"endpoints/graphql-api\",\n }).apply(invoke =\u003e invoke.result),\n rule: invokeAppsyncMutation.id,\n roleArn: appsyncMutationRole.arn,\n inputTransformer: {\n inputPaths: {\n input: \"$.detail.input\",\n },\n inputTemplate: ` {\n \"input\": \u003cinput\u003e\n }\n`,\n },\n appsyncTarget: {\n graphqlOperation: \"mutation TestMutation($input:MutationInput!){testMutation(input: $input) {test}}\",\n },\n});\nconst appsyncMutationRolePolicyDocument = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"appsync:GraphQL\"],\n effect: \"Allow\",\n resources: [graphql_api.arn],\n }],\n});\nconst appsyncMutationRolePolicy = new aws.iam.Policy(\"appsync_mutation_role_policy\", {\n name: \"appsync-mutation-role-policy\",\n policy: appsyncMutationRolePolicyDocument.apply(appsyncMutationRolePolicyDocument =\u003e appsyncMutationRolePolicyDocument.json),\n});\nconst appsyncMutationRoleAttachment = new aws.iam.RolePolicyAttachment(\"appsync_mutation_role_attachment\", {\n policyArn: appsyncMutationRolePolicy.arn,\n role: appsyncMutationRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ninvoke_appsync_mutation = aws.cloudwatch.EventRule(\"invoke_appsync_mutation\",\n name=\"invoke-appsync-mutation\",\n description=\"schedule_batch_test\",\n schedule_expression=\"rate(5 minutes)\")\nappsync_mutation_role_trust = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"events.amazonaws.com\"],\n }],\n}])\nappsync_mutation_role = aws.iam.Role(\"appsync_mutation_role\",\n name=\"appsync-mutation-role\",\n assume_role_policy=appsync_mutation_role_trust.json)\ngraphql_api = aws.appsync.GraphQLApi(\"graphql-api\",\n name=\"api\",\n authentication_type=\"AWS_IAM\",\n schema=\"\"\" schema {\n mutation: Mutation\n query: Query\n }\n\n type Query {\n testQuery: String\n }\n\n type Mutation {\n testMutation(input: MutationInput!): TestMutationResult\n }\n\n type TestMutationResult {\n test: String\n }\n\n input MutationInput {\n testInput: String\n }\n\"\"\")\ninvoke_appsync_mutation_event_target = aws.cloudwatch.EventTarget(\"invoke_appsync_mutation\",\n arn=std.replace_output(text=graphql_api.arn,\n search=\"apis\",\n replace=\"endpoints/graphql-api\").apply(lambda invoke: invoke.result),\n rule=invoke_appsync_mutation.id,\n role_arn=appsync_mutation_role.arn,\n input_transformer={\n \"input_paths\": {\n \"input\": \"$.detail.input\",\n },\n \"input_template\": \"\"\" {\n \"input\": \u003cinput\u003e\n }\n\"\"\",\n },\n appsync_target={\n \"graphql_operation\": \"mutation TestMutation($input:MutationInput!){testMutation(input: $input) {test}}\",\n })\nappsync_mutation_role_policy_document = aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\"appsync:GraphQL\"],\n \"effect\": \"Allow\",\n \"resources\": [graphql_api.arn],\n}])\nappsync_mutation_role_policy = aws.iam.Policy(\"appsync_mutation_role_policy\",\n name=\"appsync-mutation-role-policy\",\n policy=appsync_mutation_role_policy_document.json)\nappsync_mutation_role_attachment = aws.iam.RolePolicyAttachment(\"appsync_mutation_role_attachment\",\n policy_arn=appsync_mutation_role_policy.arn,\n role=appsync_mutation_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var invokeAppsyncMutation = new Aws.CloudWatch.EventRule(\"invoke_appsync_mutation\", new()\n {\n Name = \"invoke-appsync-mutation\",\n Description = \"schedule_batch_test\",\n ScheduleExpression = \"rate(5 minutes)\",\n });\n\n var appsyncMutationRoleTrust = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var appsyncMutationRole = new Aws.Iam.Role(\"appsync_mutation_role\", new()\n {\n Name = \"appsync-mutation-role\",\n AssumeRolePolicy = appsyncMutationRoleTrust.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var graphql_api = new Aws.AppSync.GraphQLApi(\"graphql-api\", new()\n {\n Name = \"api\",\n AuthenticationType = \"AWS_IAM\",\n Schema = @\" schema {\n mutation: Mutation\n query: Query\n }\n\n type Query {\n testQuery: String\n }\n\n type Mutation {\n testMutation(input: MutationInput!): TestMutationResult\n }\n\n type TestMutationResult {\n test: String\n }\n\n input MutationInput {\n testInput: String\n }\n\",\n });\n\n var invokeAppsyncMutationEventTarget = new Aws.CloudWatch.EventTarget(\"invoke_appsync_mutation\", new()\n {\n Arn = Std.Replace.Invoke(new()\n {\n Text = graphql_api.Arn,\n Search = \"apis\",\n Replace = \"endpoints/graphql-api\",\n }).Apply(invoke =\u003e invoke.Result),\n Rule = invokeAppsyncMutation.Id,\n RoleArn = appsyncMutationRole.Arn,\n InputTransformer = new Aws.CloudWatch.Inputs.EventTargetInputTransformerArgs\n {\n InputPaths = \n {\n { \"input\", \"$.detail.input\" },\n },\n InputTemplate = @\" {\n \"\"input\"\": \u003cinput\u003e\n }\n\",\n },\n AppsyncTarget = new Aws.CloudWatch.Inputs.EventTargetAppsyncTargetArgs\n {\n GraphqlOperation = \"mutation TestMutation($input:MutationInput!){testMutation(input: $input) {test}}\",\n },\n });\n\n var appsyncMutationRolePolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"appsync:GraphQL\",\n },\n Effect = \"Allow\",\n Resources = new[]\n {\n graphql_api.Arn,\n },\n },\n },\n });\n\n var appsyncMutationRolePolicy = new Aws.Iam.Policy(\"appsync_mutation_role_policy\", new()\n {\n Name = \"appsync-mutation-role-policy\",\n PolicyDocument = appsyncMutationRolePolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var appsyncMutationRoleAttachment = new Aws.Iam.RolePolicyAttachment(\"appsync_mutation_role_attachment\", new()\n {\n PolicyArn = appsyncMutationRolePolicy.Arn,\n Role = appsyncMutationRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeAppsyncMutation, err := cloudwatch.NewEventRule(ctx, \"invoke_appsync_mutation\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"invoke-appsync-mutation\"),\n\t\t\tDescription: pulumi.String(\"schedule_batch_test\"),\n\t\t\tScheduleExpression: pulumi.String(\"rate(5 minutes)\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappsyncMutationRoleTrust, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"events.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappsyncMutationRole, err := iam.NewRole(ctx, \"appsync_mutation_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"appsync-mutation-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(appsyncMutationRoleTrust.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewGraphQLApi(ctx, \"graphql-api\", \u0026appsync.GraphQLApiArgs{\n\t\t\tName: pulumi.String(\"api\"),\n\t\t\tAuthenticationType: pulumi.String(\"AWS_IAM\"),\n\t\t\tSchema: pulumi.String(` schema {\n mutation: Mutation\n query: Query\n }\n\n type Query {\n testQuery: String\n }\n\n type Mutation {\n testMutation(input: MutationInput!): TestMutationResult\n }\n\n type TestMutationResult {\n test: String\n }\n\n input MutationInput {\n testInput: String\n }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"invoke_appsync_mutation\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tArn: pulumi.String(std.ReplaceOutput(ctx, std.ReplaceOutputArgs{\n\t\t\t\tText: graphql_api.Arn,\n\t\t\t\tSearch: pulumi.String(\"apis\"),\n\t\t\t\tReplace: pulumi.String(\"endpoints/graphql-api\"),\n\t\t\t}, nil).ApplyT(func(invoke std.ReplaceResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tRule: invokeAppsyncMutation.ID(),\n\t\t\tRoleArn: appsyncMutationRole.Arn,\n\t\t\tInputTransformer: \u0026cloudwatch.EventTargetInputTransformerArgs{\n\t\t\t\tInputPaths: pulumi.StringMap{\n\t\t\t\t\t\"input\": pulumi.String(\"$.detail.input\"),\n\t\t\t\t},\n\t\t\t\tInputTemplate: pulumi.String(\" {\\n \\\"input\\\": \u003cinput\u003e\\n }\\n\"),\n\t\t\t},\n\t\t\tAppsyncTarget: \u0026cloudwatch.EventTargetAppsyncTargetArgs{\n\t\t\t\tGraphqlOperation: pulumi.String(\"mutation TestMutation($input:MutationInput!){testMutation(input: $input) {test}}\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappsyncMutationRolePolicyDocument := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"appsync:GraphQL\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tgraphql_api.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tappsyncMutationRolePolicy, err := iam.NewPolicy(ctx, \"appsync_mutation_role_policy\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"appsync-mutation-role-policy\"),\n\t\t\tPolicy: pulumi.String(appsyncMutationRolePolicyDocument.ApplyT(func(appsyncMutationRolePolicyDocument iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026appsyncMutationRolePolicyDocument.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"appsync_mutation_role_attachment\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: appsyncMutationRolePolicy.Arn,\n\t\t\tRole: appsyncMutationRole.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetInputTransformerArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetAppsyncTargetArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var invokeAppsyncMutation = new EventRule(\"invokeAppsyncMutation\", EventRuleArgs.builder()\n .name(\"invoke-appsync-mutation\")\n .description(\"schedule_batch_test\")\n .scheduleExpression(\"rate(5 minutes)\")\n .build());\n\n final var appsyncMutationRoleTrust = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var appsyncMutationRole = new Role(\"appsyncMutationRole\", RoleArgs.builder()\n .name(\"appsync-mutation-role\")\n .assumeRolePolicy(appsyncMutationRoleTrust.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var graphql_api = new GraphQLApi(\"graphql-api\", GraphQLApiArgs.builder()\n .name(\"api\")\n .authenticationType(\"AWS_IAM\")\n .schema(\"\"\"\n schema {\n mutation: Mutation\n query: Query\n }\n\n type Query {\n testQuery: String\n }\n\n type Mutation {\n testMutation(input: MutationInput!): TestMutationResult\n }\n\n type TestMutationResult {\n test: String\n }\n\n input MutationInput {\n testInput: String\n }\n \"\"\")\n .build());\n\n var invokeAppsyncMutationEventTarget = new EventTarget(\"invokeAppsyncMutationEventTarget\", EventTargetArgs.builder()\n .arn(StdFunctions.replace().applyValue(invoke -\u003e invoke.result()))\n .rule(invokeAppsyncMutation.id())\n .roleArn(appsyncMutationRole.arn())\n .inputTransformer(EventTargetInputTransformerArgs.builder()\n .inputPaths(Map.of(\"input\", \"$.detail.input\"))\n .inputTemplate(\"\"\"\n {\n \"input\": \u003cinput\u003e\n }\n \"\"\")\n .build())\n .appsyncTarget(EventTargetAppsyncTargetArgs.builder()\n .graphqlOperation(\"mutation TestMutation($input:MutationInput!){testMutation(input: $input) {test}}\")\n .build())\n .build());\n\n final var appsyncMutationRolePolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"appsync:GraphQL\")\n .effect(\"Allow\")\n .resources(graphql_api.arn())\n .build())\n .build());\n\n var appsyncMutationRolePolicy = new Policy(\"appsyncMutationRolePolicy\", PolicyArgs.builder()\n .name(\"appsync-mutation-role-policy\")\n .policy(appsyncMutationRolePolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(appsyncMutationRolePolicyDocument -\u003e appsyncMutationRolePolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var appsyncMutationRoleAttachment = new RolePolicyAttachment(\"appsyncMutationRoleAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(appsyncMutationRolePolicy.arn())\n .role(appsyncMutationRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n invokeAppsyncMutation:\n type: aws:cloudwatch:EventRule\n name: invoke_appsync_mutation\n properties:\n name: invoke-appsync-mutation\n description: schedule_batch_test\n scheduleExpression: rate(5 minutes)\n invokeAppsyncMutationEventTarget:\n type: aws:cloudwatch:EventTarget\n name: invoke_appsync_mutation\n properties:\n arn:\n fn::invoke:\n Function: std:replace\n Arguments:\n text: ${[\"graphql-api\"].arn}\n search: apis\n replace: endpoints/graphql-api\n Return: result\n rule: ${invokeAppsyncMutation.id}\n roleArn: ${appsyncMutationRole.arn}\n inputTransformer:\n inputPaths:\n input: $.detail.input\n inputTemplate: |2\n {\n \"input\": \u003cinput\u003e\n }\n appsyncTarget:\n graphqlOperation: 'mutation TestMutation($input:MutationInput!){testMutation(input: $input) {test}}'\n appsyncMutationRole:\n type: aws:iam:Role\n name: appsync_mutation_role\n properties:\n name: appsync-mutation-role\n assumeRolePolicy: ${appsyncMutationRoleTrust.json}\n appsyncMutationRolePolicy:\n type: aws:iam:Policy\n name: appsync_mutation_role_policy\n properties:\n name: appsync-mutation-role-policy\n policy: ${appsyncMutationRolePolicyDocument.json}\n appsyncMutationRoleAttachment:\n type: aws:iam:RolePolicyAttachment\n name: appsync_mutation_role_attachment\n properties:\n policyArn: ${appsyncMutationRolePolicy.arn}\n role: ${appsyncMutationRole.name}\n graphql-api:\n type: aws:appsync:GraphQLApi\n properties:\n name: api\n authenticationType: AWS_IAM\n schema: |2\n schema {\n mutation: Mutation\n query: Query\n }\n\n type Query {\n testQuery: String\n }\n\n type Mutation {\n testMutation(input: MutationInput!): TestMutationResult\n }\n\n type TestMutationResult {\n test: String\n }\n\n input MutationInput {\n testInput: String\n }\nvariables:\n appsyncMutationRoleTrust:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n appsyncMutationRolePolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - appsync:GraphQL\n effect: Allow\n resources:\n - ${[\"graphql-api\"].arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge Targets using `event_bus_name/rule-name/target-id` (if you omit `event_bus_name`, the `default` event bus will be used). For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventTarget:EventTarget test-event-target rule-name/target-id\n```\n", "properties": { "appsyncTarget": { "$ref": "#/types/aws:cloudwatch/EventTargetAppsyncTarget:EventTargetAppsyncTarget", @@ -204926,7 +204926,7 @@ } }, "aws:cloudwatch/logDestinationPolicy:LogDestinationPolicy": { - "description": "Provides a CloudWatch Logs destination policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testDestination = new aws.cloudwatch.LogDestination(\"test_destination\", {\n name: \"test_destination\",\n roleArn: iamForCloudwatch.arn,\n targetArn: kinesisForCloudwatch.arn,\n});\nconst testDestinationPolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n actions: [\"logs:PutSubscriptionFilter\"],\n resources: [testDestination.arn],\n }],\n});\nconst testDestinationPolicyLogDestinationPolicy = new aws.cloudwatch.LogDestinationPolicy(\"test_destination_policy\", {\n destinationName: testDestination.name,\n accessPolicy: testDestinationPolicy.apply(testDestinationPolicy =\u003e testDestinationPolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_destination = aws.cloudwatch.LogDestination(\"test_destination\",\n name=\"test_destination\",\n role_arn=iam_for_cloudwatch[\"arn\"],\n target_arn=kinesis_for_cloudwatch[\"arn\"])\ntest_destination_policy = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"123456789012\"],\n }],\n \"actions\": [\"logs:PutSubscriptionFilter\"],\n \"resources\": [test_destination.arn],\n}])\ntest_destination_policy_log_destination_policy = aws.cloudwatch.LogDestinationPolicy(\"test_destination_policy\",\n destination_name=test_destination.name,\n access_policy=test_destination_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testDestination = new Aws.CloudWatch.LogDestination(\"test_destination\", new()\n {\n Name = \"test_destination\",\n RoleArn = iamForCloudwatch.Arn,\n TargetArn = kinesisForCloudwatch.Arn,\n });\n\n var testDestinationPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n Actions = new[]\n {\n \"logs:PutSubscriptionFilter\",\n },\n Resources = new[]\n {\n testDestination.Arn,\n },\n },\n },\n });\n\n var testDestinationPolicyLogDestinationPolicy = new Aws.CloudWatch.LogDestinationPolicy(\"test_destination_policy\", new()\n {\n DestinationName = testDestination.Name,\n AccessPolicy = testDestinationPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestDestination, err := cloudwatch.NewLogDestination(ctx, \"test_destination\", \u0026cloudwatch.LogDestinationArgs{\n\t\t\tName: pulumi.String(\"test_destination\"),\n\t\t\tRoleArn: pulumi.Any(iamForCloudwatch.Arn),\n\t\t\tTargetArn: pulumi.Any(kinesisForCloudwatch.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestDestinationPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"logs:PutSubscriptionFilter\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ttestDestination.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = cloudwatch.NewLogDestinationPolicy(ctx, \"test_destination_policy\", \u0026cloudwatch.LogDestinationPolicyArgs{\n\t\t\tDestinationName: testDestination.Name,\n\t\t\tAccessPolicy: pulumi.String(testDestinationPolicy.ApplyT(func(testDestinationPolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026testDestinationPolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogDestination;\nimport com.pulumi.aws.cloudwatch.LogDestinationArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogDestinationPolicy;\nimport com.pulumi.aws.cloudwatch.LogDestinationPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testDestination = new LogDestination(\"testDestination\", LogDestinationArgs.builder()\n .name(\"test_destination\")\n .roleArn(iamForCloudwatch.arn())\n .targetArn(kinesisForCloudwatch.arn())\n .build());\n\n final var testDestinationPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .actions(\"logs:PutSubscriptionFilter\")\n .resources(testDestination.arn())\n .build())\n .build());\n\n var testDestinationPolicyLogDestinationPolicy = new LogDestinationPolicy(\"testDestinationPolicyLogDestinationPolicy\", LogDestinationPolicyArgs.builder()\n .destinationName(testDestination.name())\n .accessPolicy(testDestinationPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(testDestinationPolicy -\u003e testDestinationPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testDestination:\n type: aws:cloudwatch:LogDestination\n name: test_destination\n properties:\n name: test_destination\n roleArn: ${iamForCloudwatch.arn}\n targetArn: ${kinesisForCloudwatch.arn}\n testDestinationPolicyLogDestinationPolicy:\n type: aws:cloudwatch:LogDestinationPolicy\n name: test_destination_policy\n properties:\n destinationName: ${testDestination.name}\n accessPolicy: ${testDestinationPolicy.json}\nvariables:\n testDestinationPolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n actions:\n - logs:PutSubscriptionFilter\n resources:\n - ${testDestination.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Logs destination policies using the `destination_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logDestinationPolicy:LogDestinationPolicy test_destination_policy test_destination\n```\n", + "description": "Provides a CloudWatch Logs destination policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testDestination = new aws.cloudwatch.LogDestination(\"test_destination\", {\n name: \"test_destination\",\n roleArn: iamForCloudwatch.arn,\n targetArn: kinesisForCloudwatch.arn,\n});\nconst testDestinationPolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n actions: [\"logs:PutSubscriptionFilter\"],\n resources: [testDestination.arn],\n }],\n});\nconst testDestinationPolicyLogDestinationPolicy = new aws.cloudwatch.LogDestinationPolicy(\"test_destination_policy\", {\n destinationName: testDestination.name,\n accessPolicy: testDestinationPolicy.apply(testDestinationPolicy =\u003e testDestinationPolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_destination = aws.cloudwatch.LogDestination(\"test_destination\",\n name=\"test_destination\",\n role_arn=iam_for_cloudwatch[\"arn\"],\n target_arn=kinesis_for_cloudwatch[\"arn\"])\ntest_destination_policy = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"123456789012\"],\n }],\n \"actions\": [\"logs:PutSubscriptionFilter\"],\n \"resources\": [test_destination.arn],\n}])\ntest_destination_policy_log_destination_policy = aws.cloudwatch.LogDestinationPolicy(\"test_destination_policy\",\n destination_name=test_destination.name,\n access_policy=test_destination_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testDestination = new Aws.CloudWatch.LogDestination(\"test_destination\", new()\n {\n Name = \"test_destination\",\n RoleArn = iamForCloudwatch.Arn,\n TargetArn = kinesisForCloudwatch.Arn,\n });\n\n var testDestinationPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n Actions = new[]\n {\n \"logs:PutSubscriptionFilter\",\n },\n Resources = new[]\n {\n testDestination.Arn,\n },\n },\n },\n });\n\n var testDestinationPolicyLogDestinationPolicy = new Aws.CloudWatch.LogDestinationPolicy(\"test_destination_policy\", new()\n {\n DestinationName = testDestination.Name,\n AccessPolicy = testDestinationPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestDestination, err := cloudwatch.NewLogDestination(ctx, \"test_destination\", \u0026cloudwatch.LogDestinationArgs{\n\t\t\tName: pulumi.String(\"test_destination\"),\n\t\t\tRoleArn: pulumi.Any(iamForCloudwatch.Arn),\n\t\t\tTargetArn: pulumi.Any(kinesisForCloudwatch.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestDestinationPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"logs:PutSubscriptionFilter\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ttestDestination.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = cloudwatch.NewLogDestinationPolicy(ctx, \"test_destination_policy\", \u0026cloudwatch.LogDestinationPolicyArgs{\n\t\t\tDestinationName: testDestination.Name,\n\t\t\tAccessPolicy: pulumi.String(testDestinationPolicy.ApplyT(func(testDestinationPolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026testDestinationPolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogDestination;\nimport com.pulumi.aws.cloudwatch.LogDestinationArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogDestinationPolicy;\nimport com.pulumi.aws.cloudwatch.LogDestinationPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testDestination = new LogDestination(\"testDestination\", LogDestinationArgs.builder()\n .name(\"test_destination\")\n .roleArn(iamForCloudwatch.arn())\n .targetArn(kinesisForCloudwatch.arn())\n .build());\n\n final var testDestinationPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .actions(\"logs:PutSubscriptionFilter\")\n .resources(testDestination.arn())\n .build())\n .build());\n\n var testDestinationPolicyLogDestinationPolicy = new LogDestinationPolicy(\"testDestinationPolicyLogDestinationPolicy\", LogDestinationPolicyArgs.builder()\n .destinationName(testDestination.name())\n .accessPolicy(testDestinationPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(testDestinationPolicy -\u003e testDestinationPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testDestination:\n type: aws:cloudwatch:LogDestination\n name: test_destination\n properties:\n name: test_destination\n roleArn: ${iamForCloudwatch.arn}\n targetArn: ${kinesisForCloudwatch.arn}\n testDestinationPolicyLogDestinationPolicy:\n type: aws:cloudwatch:LogDestinationPolicy\n name: test_destination_policy\n properties:\n destinationName: ${testDestination.name}\n accessPolicy: ${testDestinationPolicy.json}\nvariables:\n testDestinationPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n actions:\n - logs:PutSubscriptionFilter\n resources:\n - ${testDestination.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Logs destination policies using the `destination_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logDestinationPolicy:LogDestinationPolicy test_destination_policy test_destination\n```\n", "properties": { "accessPolicy": { "type": "string", @@ -205128,7 +205128,7 @@ } }, "aws:cloudwatch/logMetricFilter:LogMetricFilter": { - "description": "Provides a CloudWatch Log Metric Filter resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dada = new aws.cloudwatch.LogGroup(\"dada\", {name: \"MyApp/access.log\"});\nconst yada = new aws.cloudwatch.LogMetricFilter(\"yada\", {\n name: \"MyAppAccessCount\",\n pattern: \"\",\n logGroupName: dada.name,\n metricTransformation: {\n name: \"EventCount\",\n namespace: \"YourNamespace\",\n value: \"1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndada = aws.cloudwatch.LogGroup(\"dada\", name=\"MyApp/access.log\")\nyada = aws.cloudwatch.LogMetricFilter(\"yada\",\n name=\"MyAppAccessCount\",\n pattern=\"\",\n log_group_name=dada.name,\n metric_transformation={\n \"name\": \"EventCount\",\n \"namespace\": \"YourNamespace\",\n \"value\": \"1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dada = new Aws.CloudWatch.LogGroup(\"dada\", new()\n {\n Name = \"MyApp/access.log\",\n });\n\n var yada = new Aws.CloudWatch.LogMetricFilter(\"yada\", new()\n {\n Name = \"MyAppAccessCount\",\n Pattern = \"\",\n LogGroupName = dada.Name,\n MetricTransformation = new Aws.CloudWatch.Inputs.LogMetricFilterMetricTransformationArgs\n {\n Name = \"EventCount\",\n Namespace = \"YourNamespace\",\n Value = \"1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdada, err := cloudwatch.NewLogGroup(ctx, \"dada\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"MyApp/access.log\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogMetricFilter(ctx, \"yada\", \u0026cloudwatch.LogMetricFilterArgs{\n\t\t\tName: pulumi.String(\"MyAppAccessCount\"),\n\t\t\tPattern: pulumi.String(\"\"),\n\t\t\tLogGroupName: dada.Name,\n\t\t\tMetricTransformation: \u0026cloudwatch.LogMetricFilterMetricTransformationArgs{\n\t\t\t\tName: pulumi.String(\"EventCount\"),\n\t\t\t\tNamespace: pulumi.String(\"YourNamespace\"),\n\t\t\t\tValue: pulumi.String(\"1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudwatch.LogMetricFilter;\nimport com.pulumi.aws.cloudwatch.LogMetricFilterArgs;\nimport com.pulumi.aws.cloudwatch.inputs.LogMetricFilterMetricTransformationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dada = new LogGroup(\"dada\", LogGroupArgs.builder()\n .name(\"MyApp/access.log\")\n .build());\n\n var yada = new LogMetricFilter(\"yada\", LogMetricFilterArgs.builder()\n .name(\"MyAppAccessCount\")\n .pattern(\"\")\n .logGroupName(dada.name())\n .metricTransformation(LogMetricFilterMetricTransformationArgs.builder()\n .name(\"EventCount\")\n .namespace(\"YourNamespace\")\n .value(\"1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n yada:\n type: aws:cloudwatch:LogMetricFilter\n properties:\n name: MyAppAccessCount\n pattern: \"\"\n logGroupName: ${dada.name}\n metricTransformation:\n name: EventCount\n namespace: YourNamespace\n value: '1'\n dada:\n type: aws:cloudwatch:LogGroup\n properties:\n name: MyApp/access.log\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Log Metric Filter using the `log_group_name:name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logMetricFilter:LogMetricFilter test /aws/lambda/function:test\n```\n", + "description": "Provides a CloudWatch Log Metric Filter resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dada = new aws.cloudwatch.LogGroup(\"dada\", {name: \"MyApp/access.log\"});\nconst yada = new aws.cloudwatch.LogMetricFilter(\"yada\", {\n name: \"MyAppAccessCount\",\n pattern: \"\",\n logGroupName: dada.name,\n metricTransformation: {\n name: \"EventCount\",\n namespace: \"YourNamespace\",\n value: \"1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndada = aws.cloudwatch.LogGroup(\"dada\", name=\"MyApp/access.log\")\nyada = aws.cloudwatch.LogMetricFilter(\"yada\",\n name=\"MyAppAccessCount\",\n pattern=\"\",\n log_group_name=dada.name,\n metric_transformation={\n \"name\": \"EventCount\",\n \"namespace\": \"YourNamespace\",\n \"value\": \"1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dada = new Aws.CloudWatch.LogGroup(\"dada\", new()\n {\n Name = \"MyApp/access.log\",\n });\n\n var yada = new Aws.CloudWatch.LogMetricFilter(\"yada\", new()\n {\n Name = \"MyAppAccessCount\",\n Pattern = \"\",\n LogGroupName = dada.Name,\n MetricTransformation = new Aws.CloudWatch.Inputs.LogMetricFilterMetricTransformationArgs\n {\n Name = \"EventCount\",\n Namespace = \"YourNamespace\",\n Value = \"1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdada, err := cloudwatch.NewLogGroup(ctx, \"dada\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"MyApp/access.log\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogMetricFilter(ctx, \"yada\", \u0026cloudwatch.LogMetricFilterArgs{\n\t\t\tName: pulumi.String(\"MyAppAccessCount\"),\n\t\t\tPattern: pulumi.String(\"\"),\n\t\t\tLogGroupName: dada.Name,\n\t\t\tMetricTransformation: \u0026cloudwatch.LogMetricFilterMetricTransformationArgs{\n\t\t\t\tName: pulumi.String(\"EventCount\"),\n\t\t\t\tNamespace: pulumi.String(\"YourNamespace\"),\n\t\t\t\tValue: pulumi.String(\"1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudwatch.LogMetricFilter;\nimport com.pulumi.aws.cloudwatch.LogMetricFilterArgs;\nimport com.pulumi.aws.cloudwatch.inputs.LogMetricFilterMetricTransformationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dada = new LogGroup(\"dada\", LogGroupArgs.builder()\n .name(\"MyApp/access.log\")\n .build());\n\n var yada = new LogMetricFilter(\"yada\", LogMetricFilterArgs.builder()\n .name(\"MyAppAccessCount\")\n .pattern(\"\")\n .logGroupName(dada.name())\n .metricTransformation(LogMetricFilterMetricTransformationArgs.builder()\n .name(\"EventCount\")\n .namespace(\"YourNamespace\")\n .value(\"1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n yada:\n type: aws:cloudwatch:LogMetricFilter\n properties:\n name: MyAppAccessCount\n pattern:\n logGroupName: ${dada.name}\n metricTransformation:\n name: EventCount\n namespace: YourNamespace\n value: '1'\n dada:\n type: aws:cloudwatch:LogGroup\n properties:\n name: MyApp/access.log\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Log Metric Filter using the `log_group_name:name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logMetricFilter:LogMetricFilter test /aws/lambda/function:test\n```\n", "properties": { "logGroupName": { "type": "string", @@ -205204,7 +205204,7 @@ } }, "aws:cloudwatch/logResourcePolicy:LogResourcePolicy": { - "description": "Provides a resource to manage a CloudWatch log resource policy.\n\n## Example Usage\n\n### Elasticsearch Log Publishing\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst elasticsearch-log-publishing-policy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n ],\n resources: [\"arn:aws:logs:*\"],\n principals: [{\n identifiers: [\"es.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst elasticsearch_log_publishing_policyLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"elasticsearch-log-publishing-policy\", {\n policyDocument: elasticsearch_log_publishing_policy.then(elasticsearch_log_publishing_policy =\u003e elasticsearch_log_publishing_policy.json),\n policyName: \"elasticsearch-log-publishing-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nelasticsearch_log_publishing_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n ],\n \"resources\": [\"arn:aws:logs:*\"],\n \"principals\": [{\n \"identifiers\": [\"es.amazonaws.com\"],\n \"type\": \"Service\",\n }],\n}])\nelasticsearch_log_publishing_policy_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"elasticsearch-log-publishing-policy\",\n policy_document=elasticsearch_log_publishing_policy.json,\n policy_name=\"elasticsearch-log-publishing-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var elasticsearch_log_publishing_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"es.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var elasticsearch_log_publishing_policyLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"elasticsearch-log-publishing-policy\", new()\n {\n PolicyDocument = elasticsearch_log_publishing_policy.Apply(elasticsearch_log_publishing_policy =\u003e elasticsearch_log_publishing_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n PolicyName = \"elasticsearch-log-publishing-policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\telasticsearch_log_publishing_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:PutLogEventsBatch\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"es.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"elasticsearch-log-publishing-policy\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: pulumi.String(elasticsearch_log_publishing_policy.Json),\n\t\t\tPolicyName: pulumi.String(\"elasticsearch-log-publishing-policy\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var elasticsearch-log-publishing-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\")\n .resources(\"arn:aws:logs:*\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"es.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var elasticsearch_log_publishing_policyLogResourcePolicy = new LogResourcePolicy(\"elasticsearch-log-publishing-policyLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyDocument(elasticsearch_log_publishing_policy.json())\n .policyName(\"elasticsearch-log-publishing-policy\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n elasticsearch-log-publishing-policyLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: elasticsearch-log-publishing-policy\n properties:\n policyDocument: ${[\"elasticsearch-log-publishing-policy\"].json}\n policyName: elasticsearch-log-publishing-policy\nvariables:\n elasticsearch-log-publishing-policy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - logs:CreateLogStream\n - logs:PutLogEvents\n - logs:PutLogEventsBatch\n resources:\n - arn:aws:logs:*\n principals:\n - identifiers:\n - es.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Route53 Query Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst route53-query-logging-policy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources: [\"arn:aws:logs:*:*:log-group:/aws/route53/*\"],\n principals: [{\n identifiers: [\"route53.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst route53_query_logging_policyLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"route53-query-logging-policy\", {\n policyDocument: route53_query_logging_policy.then(route53_query_logging_policy =\u003e route53_query_logging_policy.json),\n policyName: \"route53-query-logging-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nroute53_query_logging_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n \"resources\": [\"arn:aws:logs:*:*:log-group:/aws/route53/*\"],\n \"principals\": [{\n \"identifiers\": [\"route53.amazonaws.com\"],\n \"type\": \"Service\",\n }],\n}])\nroute53_query_logging_policy_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"route53-query-logging-policy\",\n policy_document=route53_query_logging_policy.json,\n policy_name=\"route53-query-logging-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var route53_query_logging_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*:*:log-group:/aws/route53/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"route53.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var route53_query_logging_policyLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"route53-query-logging-policy\", new()\n {\n PolicyDocument = route53_query_logging_policy.Apply(route53_query_logging_policy =\u003e route53_query_logging_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n PolicyName = \"route53-query-logging-policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\troute53_query_logging_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*:*:log-group:/aws/route53/*\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"route53.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"route53-query-logging-policy\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: pulumi.String(route53_query_logging_policy.Json),\n\t\t\tPolicyName: pulumi.String(\"route53-query-logging-policy\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var route53-query-logging-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .resources(\"arn:aws:logs:*:*:log-group:/aws/route53/*\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"route53.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var route53_query_logging_policyLogResourcePolicy = new LogResourcePolicy(\"route53-query-logging-policyLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyDocument(route53_query_logging_policy.json())\n .policyName(\"route53-query-logging-policy\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n route53-query-logging-policyLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: route53-query-logging-policy\n properties:\n policyDocument: ${[\"route53-query-logging-policy\"].json}\n policyName: route53-query-logging-policy\nvariables:\n route53-query-logging-policy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - logs:CreateLogStream\n - logs:PutLogEvents\n resources:\n - arn:aws:logs:*:*:log-group:/aws/route53/*\n principals:\n - identifiers:\n - route53.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch log resource policies using the policy name. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logResourcePolicy:LogResourcePolicy MyPolicy MyPolicy\n```\n", + "description": "Provides a resource to manage a CloudWatch log resource policy.\n\n## Example Usage\n\n### Elasticsearch Log Publishing\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst elasticsearch-log-publishing-policy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n ],\n resources: [\"arn:aws:logs:*\"],\n principals: [{\n identifiers: [\"es.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst elasticsearch_log_publishing_policyLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"elasticsearch-log-publishing-policy\", {\n policyDocument: elasticsearch_log_publishing_policy.then(elasticsearch_log_publishing_policy =\u003e elasticsearch_log_publishing_policy.json),\n policyName: \"elasticsearch-log-publishing-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nelasticsearch_log_publishing_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n ],\n \"resources\": [\"arn:aws:logs:*\"],\n \"principals\": [{\n \"identifiers\": [\"es.amazonaws.com\"],\n \"type\": \"Service\",\n }],\n}])\nelasticsearch_log_publishing_policy_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"elasticsearch-log-publishing-policy\",\n policy_document=elasticsearch_log_publishing_policy.json,\n policy_name=\"elasticsearch-log-publishing-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var elasticsearch_log_publishing_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"es.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var elasticsearch_log_publishing_policyLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"elasticsearch-log-publishing-policy\", new()\n {\n PolicyDocument = elasticsearch_log_publishing_policy.Apply(elasticsearch_log_publishing_policy =\u003e elasticsearch_log_publishing_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n PolicyName = \"elasticsearch-log-publishing-policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\telasticsearch_log_publishing_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:PutLogEventsBatch\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"es.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"elasticsearch-log-publishing-policy\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: pulumi.String(elasticsearch_log_publishing_policy.Json),\n\t\t\tPolicyName: pulumi.String(\"elasticsearch-log-publishing-policy\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var elasticsearch-log-publishing-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\")\n .resources(\"arn:aws:logs:*\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"es.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var elasticsearch_log_publishing_policyLogResourcePolicy = new LogResourcePolicy(\"elasticsearch-log-publishing-policyLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyDocument(elasticsearch_log_publishing_policy.json())\n .policyName(\"elasticsearch-log-publishing-policy\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n elasticsearch-log-publishing-policyLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: elasticsearch-log-publishing-policy\n properties:\n policyDocument: ${[\"elasticsearch-log-publishing-policy\"].json}\n policyName: elasticsearch-log-publishing-policy\nvariables:\n elasticsearch-log-publishing-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - logs:CreateLogStream\n - logs:PutLogEvents\n - logs:PutLogEventsBatch\n resources:\n - arn:aws:logs:*\n principals:\n - identifiers:\n - es.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Route53 Query Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst route53-query-logging-policy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources: [\"arn:aws:logs:*:*:log-group:/aws/route53/*\"],\n principals: [{\n identifiers: [\"route53.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst route53_query_logging_policyLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"route53-query-logging-policy\", {\n policyDocument: route53_query_logging_policy.then(route53_query_logging_policy =\u003e route53_query_logging_policy.json),\n policyName: \"route53-query-logging-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nroute53_query_logging_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n \"resources\": [\"arn:aws:logs:*:*:log-group:/aws/route53/*\"],\n \"principals\": [{\n \"identifiers\": [\"route53.amazonaws.com\"],\n \"type\": \"Service\",\n }],\n}])\nroute53_query_logging_policy_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"route53-query-logging-policy\",\n policy_document=route53_query_logging_policy.json,\n policy_name=\"route53-query-logging-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var route53_query_logging_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*:*:log-group:/aws/route53/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"route53.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var route53_query_logging_policyLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"route53-query-logging-policy\", new()\n {\n PolicyDocument = route53_query_logging_policy.Apply(route53_query_logging_policy =\u003e route53_query_logging_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n PolicyName = \"route53-query-logging-policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\troute53_query_logging_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*:*:log-group:/aws/route53/*\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"route53.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"route53-query-logging-policy\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: pulumi.String(route53_query_logging_policy.Json),\n\t\t\tPolicyName: pulumi.String(\"route53-query-logging-policy\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var route53-query-logging-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .resources(\"arn:aws:logs:*:*:log-group:/aws/route53/*\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"route53.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var route53_query_logging_policyLogResourcePolicy = new LogResourcePolicy(\"route53-query-logging-policyLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyDocument(route53_query_logging_policy.json())\n .policyName(\"route53-query-logging-policy\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n route53-query-logging-policyLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: route53-query-logging-policy\n properties:\n policyDocument: ${[\"route53-query-logging-policy\"].json}\n policyName: route53-query-logging-policy\nvariables:\n route53-query-logging-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - logs:CreateLogStream\n - logs:PutLogEvents\n resources:\n - arn:aws:logs:*:*:log-group:/aws/route53/*\n principals:\n - identifiers:\n - route53.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch log resource policies using the policy name. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logResourcePolicy:LogResourcePolicy MyPolicy MyPolicy\n```\n", "properties": { "policyDocument": { "type": "string", @@ -205870,7 +205870,7 @@ } }, "aws:cloudwatch/metricStream:MetricStream": { - "description": "Provides a CloudWatch Metric Stream resource.\n\n## Example Usage\n\n### Filters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\nconst streamsAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"streams.metrics.cloudwatch.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst metricStreamToFirehoseRole = new aws.iam.Role(\"metric_stream_to_firehose\", {\n name: \"metric_stream_to_firehose_role\",\n assumeRolePolicy: streamsAssumeRole.then(streamsAssumeRole =\u003e streamsAssumeRole.json),\n});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"metric-stream-test-bucket\"});\nconst firehoseAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst firehoseToS3Role = new aws.iam.Role(\"firehose_to_s3\", {assumeRolePolicy: firehoseAssumeRole.then(firehoseAssumeRole =\u003e firehoseAssumeRole.json)});\nconst s3Stream = new aws.kinesis.FirehoseDeliveryStream(\"s3_stream\", {\n name: \"metric-stream-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseToS3Role.arn,\n bucketArn: bucket.arn,\n },\n});\nconst main = new aws.cloudwatch.MetricStream(\"main\", {\n name: \"my-metric-stream\",\n roleArn: metricStreamToFirehoseRole.arn,\n firehoseArn: s3Stream.arn,\n outputFormat: \"json\",\n includeFilters: [\n {\n namespace: \"AWS/EC2\",\n metricNames: [\n \"CPUUtilization\",\n \"NetworkOut\",\n ],\n },\n {\n namespace: \"AWS/EBS\",\n metricNames: [],\n },\n ],\n});\n// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\nconst metricStreamToFirehose = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"firehose:PutRecord\",\n \"firehose:PutRecordBatch\",\n ],\n resources: [s3Stream.arn],\n }],\n});\nconst metricStreamToFirehoseRolePolicy = new aws.iam.RolePolicy(\"metric_stream_to_firehose\", {\n name: \"default\",\n role: metricStreamToFirehoseRole.id,\n policy: metricStreamToFirehose.apply(metricStreamToFirehose =\u003e metricStreamToFirehose.json),\n});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\nconst firehoseToS3 = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"s3:AbortMultipartUpload\",\n \"s3:GetBucketLocation\",\n \"s3:GetObject\",\n \"s3:ListBucket\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:PutObject\",\n ],\n resources: [\n bucket.arn,\n pulumi.interpolate`${bucket.arn}/*`,\n ],\n }],\n});\nconst firehoseToS3RolePolicy = new aws.iam.RolePolicy(\"firehose_to_s3\", {\n name: \"default\",\n role: firehoseToS3Role.id,\n policy: firehoseToS3.apply(firehoseToS3 =\u003e firehoseToS3.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\nstreams_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"streams.metrics.cloudwatch.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nmetric_stream_to_firehose_role = aws.iam.Role(\"metric_stream_to_firehose\",\n name=\"metric_stream_to_firehose_role\",\n assume_role_policy=streams_assume_role.json)\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"metric-stream-test-bucket\")\nfirehose_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"firehose.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nfirehose_to_s3_role = aws.iam.Role(\"firehose_to_s3\", assume_role_policy=firehose_assume_role.json)\ns3_stream = aws.kinesis.FirehoseDeliveryStream(\"s3_stream\",\n name=\"metric-stream-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration={\n \"role_arn\": firehose_to_s3_role.arn,\n \"bucket_arn\": bucket.arn,\n })\nmain = aws.cloudwatch.MetricStream(\"main\",\n name=\"my-metric-stream\",\n role_arn=metric_stream_to_firehose_role.arn,\n firehose_arn=s3_stream.arn,\n output_format=\"json\",\n include_filters=[\n {\n \"namespace\": \"AWS/EC2\",\n \"metric_names\": [\n \"CPUUtilization\",\n \"NetworkOut\",\n ],\n },\n {\n \"namespace\": \"AWS/EBS\",\n \"metric_names\": [],\n },\n ])\n# https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\nmetric_stream_to_firehose = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"firehose:PutRecord\",\n \"firehose:PutRecordBatch\",\n ],\n \"resources\": [s3_stream.arn],\n}])\nmetric_stream_to_firehose_role_policy = aws.iam.RolePolicy(\"metric_stream_to_firehose\",\n name=\"default\",\n role=metric_stream_to_firehose_role.id,\n policy=metric_stream_to_firehose.json)\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\nfirehose_to_s3 = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"s3:AbortMultipartUpload\",\n \"s3:GetBucketLocation\",\n \"s3:GetObject\",\n \"s3:ListBucket\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:PutObject\",\n ],\n \"resources\": [\n bucket.arn,\n bucket.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n}])\nfirehose_to_s3_role_policy = aws.iam.RolePolicy(\"firehose_to_s3\",\n name=\"default\",\n role=firehose_to_s3_role.id,\n policy=firehose_to_s3.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n var streamsAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"streams.metrics.cloudwatch.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var metricStreamToFirehoseRole = new Aws.Iam.Role(\"metric_stream_to_firehose\", new()\n {\n Name = \"metric_stream_to_firehose_role\",\n AssumeRolePolicy = streamsAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"metric-stream-test-bucket\",\n });\n\n var firehoseAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var firehoseToS3Role = new Aws.Iam.Role(\"firehose_to_s3\", new()\n {\n AssumeRolePolicy = firehoseAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var s3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"s3_stream\", new()\n {\n Name = \"metric-stream-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseToS3Role.Arn,\n BucketArn = bucket.Arn,\n },\n });\n\n var main = new Aws.CloudWatch.MetricStream(\"main\", new()\n {\n Name = \"my-metric-stream\",\n RoleArn = metricStreamToFirehoseRole.Arn,\n FirehoseArn = s3Stream.Arn,\n OutputFormat = \"json\",\n IncludeFilters = new[]\n {\n new Aws.CloudWatch.Inputs.MetricStreamIncludeFilterArgs\n {\n Namespace = \"AWS/EC2\",\n MetricNames = new[]\n {\n \"CPUUtilization\",\n \"NetworkOut\",\n },\n },\n new Aws.CloudWatch.Inputs.MetricStreamIncludeFilterArgs\n {\n Namespace = \"AWS/EBS\",\n MetricNames = new() { },\n },\n },\n });\n\n // https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n var metricStreamToFirehose = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"firehose:PutRecord\",\n \"firehose:PutRecordBatch\",\n },\n Resources = new[]\n {\n s3Stream.Arn,\n },\n },\n },\n });\n\n var metricStreamToFirehoseRolePolicy = new Aws.Iam.RolePolicy(\"metric_stream_to_firehose\", new()\n {\n Name = \"default\",\n Role = metricStreamToFirehoseRole.Id,\n Policy = metricStreamToFirehose.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n var firehoseToS3 = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:AbortMultipartUpload\",\n \"s3:GetBucketLocation\",\n \"s3:GetObject\",\n \"s3:ListBucket\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n bucket.Arn,\n $\"{bucket.Arn}/*\",\n },\n },\n },\n });\n\n var firehoseToS3RolePolicy = new Aws.Iam.RolePolicy(\"firehose_to_s3\", new()\n {\n Name = \"default\",\n Role = firehoseToS3Role.Id,\n Policy = firehoseToS3.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n\t\tstreamsAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"streams.metrics.cloudwatch.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmetricStreamToFirehoseRole, err := iam.NewRole(ctx, \"metric_stream_to_firehose\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"metric_stream_to_firehose_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(streamsAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"metric-stream-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"firehose.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseToS3Role, err := iam.NewRole(ctx, \"firehose_to_s3\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(firehoseAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3Stream, err := kinesis.NewFirehoseDeliveryStream(ctx, \"s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"metric-stream-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: firehoseToS3Role.Arn,\n\t\t\t\tBucketArn: bucket.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewMetricStream(ctx, \"main\", \u0026cloudwatch.MetricStreamArgs{\n\t\t\tName: pulumi.String(\"my-metric-stream\"),\n\t\t\tRoleArn: metricStreamToFirehoseRole.Arn,\n\t\t\tFirehoseArn: s3Stream.Arn,\n\t\t\tOutputFormat: pulumi.String(\"json\"),\n\t\t\tIncludeFilters: cloudwatch.MetricStreamIncludeFilterArray{\n\t\t\t\t\u0026cloudwatch.MetricStreamIncludeFilterArgs{\n\t\t\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\t\t\tMetricNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"CPUUtilization\"),\n\t\t\t\t\t\tpulumi.String(\"NetworkOut\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.MetricStreamIncludeFilterArgs{\n\t\t\t\t\tNamespace: pulumi.String(\"AWS/EBS\"),\n\t\t\t\t\tMetricNames: pulumi.StringArray{},\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\t// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n\t\tmetricStreamToFirehose := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"firehose:PutRecord\"),\n\t\t\t\t\t\tpulumi.String(\"firehose:PutRecordBatch\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ts3Stream.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"metric_stream_to_firehose\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tRole: metricStreamToFirehoseRole.ID(),\n\t\t\tPolicy: pulumi.String(metricStreamToFirehose.ApplyT(func(metricStreamToFirehose iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026metricStreamToFirehose.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseToS3 := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:AbortMultipartUpload\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketLocation\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucketMultipartUploads\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tbucket.Arn,\n\t\t\t\t\t\tbucket.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"firehose_to_s3\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tRole: firehoseToS3Role.ID(),\n\t\t\tPolicy: pulumi.String(firehoseToS3.ApplyT(func(firehoseToS3 iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026firehoseToS3.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.cloudwatch.MetricStream;\nimport com.pulumi.aws.cloudwatch.MetricStreamArgs;\nimport com.pulumi.aws.cloudwatch.inputs.MetricStreamIncludeFilterArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n final var streamsAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"streams.metrics.cloudwatch.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var metricStreamToFirehoseRole = new Role(\"metricStreamToFirehoseRole\", RoleArgs.builder()\n .name(\"metric_stream_to_firehose_role\")\n .assumeRolePolicy(streamsAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"metric-stream-test-bucket\")\n .build());\n\n final var firehoseAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var firehoseToS3Role = new Role(\"firehoseToS3Role\", RoleArgs.builder()\n .assumeRolePolicy(firehoseAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var s3Stream = new FirehoseDeliveryStream(\"s3Stream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"metric-stream-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseToS3Role.arn())\n .bucketArn(bucket.arn())\n .build())\n .build());\n\n var main = new MetricStream(\"main\", MetricStreamArgs.builder()\n .name(\"my-metric-stream\")\n .roleArn(metricStreamToFirehoseRole.arn())\n .firehoseArn(s3Stream.arn())\n .outputFormat(\"json\")\n .includeFilters( \n MetricStreamIncludeFilterArgs.builder()\n .namespace(\"AWS/EC2\")\n .metricNames( \n \"CPUUtilization\",\n \"NetworkOut\")\n .build(),\n MetricStreamIncludeFilterArgs.builder()\n .namespace(\"AWS/EBS\")\n .metricNames()\n .build())\n .build());\n\n // https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n final var metricStreamToFirehose = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"firehose:PutRecord\",\n \"firehose:PutRecordBatch\")\n .resources(s3Stream.arn())\n .build())\n .build());\n\n var metricStreamToFirehoseRolePolicy = new RolePolicy(\"metricStreamToFirehoseRolePolicy\", RolePolicyArgs.builder()\n .name(\"default\")\n .role(metricStreamToFirehoseRole.id())\n .policy(metricStreamToFirehose.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(metricStreamToFirehose -\u003e metricStreamToFirehose.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder()\n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n final var firehoseToS3 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:AbortMultipartUpload\",\n \"s3:GetBucketLocation\",\n \"s3:GetObject\",\n \"s3:ListBucket\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:PutObject\")\n .resources( \n bucket.arn(),\n bucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var firehoseToS3RolePolicy = new RolePolicy(\"firehoseToS3RolePolicy\", RolePolicyArgs.builder()\n .name(\"default\")\n .role(firehoseToS3Role.id())\n .policy(firehoseToS3.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(firehoseToS3 -\u003e firehoseToS3.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cloudwatch:MetricStream\n properties:\n name: my-metric-stream\n roleArn: ${metricStreamToFirehoseRole.arn}\n firehoseArn: ${s3Stream.arn}\n outputFormat: json\n includeFilters:\n - namespace: AWS/EC2\n metricNames:\n - CPUUtilization\n - NetworkOut\n - namespace: AWS/EBS\n metricNames: []\n metricStreamToFirehoseRole:\n type: aws:iam:Role\n name: metric_stream_to_firehose\n properties:\n name: metric_stream_to_firehose_role\n assumeRolePolicy: ${streamsAssumeRole.json}\n metricStreamToFirehoseRolePolicy:\n type: aws:iam:RolePolicy\n name: metric_stream_to_firehose\n properties:\n name: default\n role: ${metricStreamToFirehoseRole.id}\n policy: ${metricStreamToFirehose.json}\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: metric-stream-test-bucket\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n firehoseToS3Role:\n type: aws:iam:Role\n name: firehose_to_s3\n properties:\n assumeRolePolicy: ${firehoseAssumeRole.json}\n firehoseToS3RolePolicy:\n type: aws:iam:RolePolicy\n name: firehose_to_s3\n properties:\n name: default\n role: ${firehoseToS3Role.id}\n policy: ${firehoseToS3.json}\n s3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: s3_stream\n properties:\n name: metric-stream-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseToS3Role.arn}\n bucketArn: ${bucket.arn}\nvariables:\n # https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n streamsAssumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - streams.metrics.cloudwatch.amazonaws.com\n actions:\n - sts:AssumeRole\n # https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n metricStreamToFirehose:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - firehose:PutRecord\n - firehose:PutRecordBatch\n resources:\n - ${s3Stream.arn}\n firehoseAssumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\n firehoseToS3:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - s3:AbortMultipartUpload\n - s3:GetBucketLocation\n - s3:GetObject\n - s3:ListBucket\n - s3:ListBucketMultipartUploads\n - s3:PutObject\n resources:\n - ${bucket.arn}\n - ${bucket.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Additional Statistics\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.cloudwatch.MetricStream(\"main\", {\n name: \"my-metric-stream\",\n roleArn: metricStreamToFirehose.arn,\n firehoseArn: s3Stream.arn,\n outputFormat: \"json\",\n statisticsConfigurations: [\n {\n additionalStatistics: [\n \"p1\",\n \"tm99\",\n ],\n includeMetrics: [{\n metricName: \"CPUUtilization\",\n namespace: \"AWS/EC2\",\n }],\n },\n {\n additionalStatistics: [\"TS(50.5:)\"],\n includeMetrics: [{\n metricName: \"CPUUtilization\",\n namespace: \"AWS/EC2\",\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.cloudwatch.MetricStream(\"main\",\n name=\"my-metric-stream\",\n role_arn=metric_stream_to_firehose[\"arn\"],\n firehose_arn=s3_stream[\"arn\"],\n output_format=\"json\",\n statistics_configurations=[\n {\n \"additional_statistics\": [\n \"p1\",\n \"tm99\",\n ],\n \"include_metrics\": [{\n \"metric_name\": \"CPUUtilization\",\n \"namespace\": \"AWS/EC2\",\n }],\n },\n {\n \"additional_statistics\": [\"TS(50.5:)\"],\n \"include_metrics\": [{\n \"metric_name\": \"CPUUtilization\",\n \"namespace\": \"AWS/EC2\",\n }],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.CloudWatch.MetricStream(\"main\", new()\n {\n Name = \"my-metric-stream\",\n RoleArn = metricStreamToFirehose.Arn,\n FirehoseArn = s3Stream.Arn,\n OutputFormat = \"json\",\n StatisticsConfigurations = new[]\n {\n new Aws.CloudWatch.Inputs.MetricStreamStatisticsConfigurationArgs\n {\n AdditionalStatistics = new[]\n {\n \"p1\",\n \"tm99\",\n },\n IncludeMetrics = new[]\n {\n new Aws.CloudWatch.Inputs.MetricStreamStatisticsConfigurationIncludeMetricArgs\n {\n MetricName = \"CPUUtilization\",\n Namespace = \"AWS/EC2\",\n },\n },\n },\n new Aws.CloudWatch.Inputs.MetricStreamStatisticsConfigurationArgs\n {\n AdditionalStatistics = new[]\n {\n \"TS(50.5:)\",\n },\n IncludeMetrics = new[]\n {\n new Aws.CloudWatch.Inputs.MetricStreamStatisticsConfigurationIncludeMetricArgs\n {\n MetricName = \"CPUUtilization\",\n Namespace = \"AWS/EC2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\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 := cloudwatch.NewMetricStream(ctx, \"main\", \u0026cloudwatch.MetricStreamArgs{\n\t\t\tName: pulumi.String(\"my-metric-stream\"),\n\t\t\tRoleArn: pulumi.Any(metricStreamToFirehose.Arn),\n\t\t\tFirehoseArn: pulumi.Any(s3Stream.Arn),\n\t\t\tOutputFormat: pulumi.String(\"json\"),\n\t\t\tStatisticsConfigurations: cloudwatch.MetricStreamStatisticsConfigurationArray{\n\t\t\t\t\u0026cloudwatch.MetricStreamStatisticsConfigurationArgs{\n\t\t\t\t\tAdditionalStatistics: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"p1\"),\n\t\t\t\t\t\tpulumi.String(\"tm99\"),\n\t\t\t\t\t},\n\t\t\t\t\tIncludeMetrics: cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArray{\n\t\t\t\t\t\t\u0026cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArgs{\n\t\t\t\t\t\t\tMetricName: pulumi.String(\"CPUUtilization\"),\n\t\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.MetricStreamStatisticsConfigurationArgs{\n\t\t\t\t\tAdditionalStatistics: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"TS(50.5:)\"),\n\t\t\t\t\t},\n\t\t\t\t\tIncludeMetrics: cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArray{\n\t\t\t\t\t\t\u0026cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArgs{\n\t\t\t\t\t\t\tMetricName: pulumi.String(\"CPUUtilization\"),\n\t\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.MetricStream;\nimport com.pulumi.aws.cloudwatch.MetricStreamArgs;\nimport com.pulumi.aws.cloudwatch.inputs.MetricStreamStatisticsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new MetricStream(\"main\", MetricStreamArgs.builder()\n .name(\"my-metric-stream\")\n .roleArn(metricStreamToFirehose.arn())\n .firehoseArn(s3Stream.arn())\n .outputFormat(\"json\")\n .statisticsConfigurations( \n MetricStreamStatisticsConfigurationArgs.builder()\n .additionalStatistics( \n \"p1\",\n \"tm99\")\n .includeMetrics(MetricStreamStatisticsConfigurationIncludeMetricArgs.builder()\n .metricName(\"CPUUtilization\")\n .namespace(\"AWS/EC2\")\n .build())\n .build(),\n MetricStreamStatisticsConfigurationArgs.builder()\n .additionalStatistics(\"TS(50.5:)\")\n .includeMetrics(MetricStreamStatisticsConfigurationIncludeMetricArgs.builder()\n .metricName(\"CPUUtilization\")\n .namespace(\"AWS/EC2\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cloudwatch:MetricStream\n properties:\n name: my-metric-stream\n roleArn: ${metricStreamToFirehose.arn}\n firehoseArn: ${s3Stream.arn}\n outputFormat: json\n statisticsConfigurations:\n - additionalStatistics:\n - p1\n - tm99\n includeMetrics:\n - metricName: CPUUtilization\n namespace: AWS/EC2\n - additionalStatistics:\n - TS(50.5:)\n includeMetrics:\n - metricName: CPUUtilization\n namespace: AWS/EC2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch metric streams using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/metricStream:MetricStream sample sample-stream-name\n```\n", + "description": "Provides a CloudWatch Metric Stream resource.\n\n## Example Usage\n\n### Filters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\nconst streamsAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"streams.metrics.cloudwatch.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst metricStreamToFirehoseRole = new aws.iam.Role(\"metric_stream_to_firehose\", {\n name: \"metric_stream_to_firehose_role\",\n assumeRolePolicy: streamsAssumeRole.then(streamsAssumeRole =\u003e streamsAssumeRole.json),\n});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"metric-stream-test-bucket\"});\nconst firehoseAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst firehoseToS3Role = new aws.iam.Role(\"firehose_to_s3\", {assumeRolePolicy: firehoseAssumeRole.then(firehoseAssumeRole =\u003e firehoseAssumeRole.json)});\nconst s3Stream = new aws.kinesis.FirehoseDeliveryStream(\"s3_stream\", {\n name: \"metric-stream-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseToS3Role.arn,\n bucketArn: bucket.arn,\n },\n});\nconst main = new aws.cloudwatch.MetricStream(\"main\", {\n name: \"my-metric-stream\",\n roleArn: metricStreamToFirehoseRole.arn,\n firehoseArn: s3Stream.arn,\n outputFormat: \"json\",\n includeFilters: [\n {\n namespace: \"AWS/EC2\",\n metricNames: [\n \"CPUUtilization\",\n \"NetworkOut\",\n ],\n },\n {\n namespace: \"AWS/EBS\",\n metricNames: [],\n },\n ],\n});\n// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\nconst metricStreamToFirehose = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"firehose:PutRecord\",\n \"firehose:PutRecordBatch\",\n ],\n resources: [s3Stream.arn],\n }],\n});\nconst metricStreamToFirehoseRolePolicy = new aws.iam.RolePolicy(\"metric_stream_to_firehose\", {\n name: \"default\",\n role: metricStreamToFirehoseRole.id,\n policy: metricStreamToFirehose.apply(metricStreamToFirehose =\u003e metricStreamToFirehose.json),\n});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\nconst firehoseToS3 = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"s3:AbortMultipartUpload\",\n \"s3:GetBucketLocation\",\n \"s3:GetObject\",\n \"s3:ListBucket\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:PutObject\",\n ],\n resources: [\n bucket.arn,\n pulumi.interpolate`${bucket.arn}/*`,\n ],\n }],\n});\nconst firehoseToS3RolePolicy = new aws.iam.RolePolicy(\"firehose_to_s3\", {\n name: \"default\",\n role: firehoseToS3Role.id,\n policy: firehoseToS3.apply(firehoseToS3 =\u003e firehoseToS3.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\nstreams_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"streams.metrics.cloudwatch.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nmetric_stream_to_firehose_role = aws.iam.Role(\"metric_stream_to_firehose\",\n name=\"metric_stream_to_firehose_role\",\n assume_role_policy=streams_assume_role.json)\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"metric-stream-test-bucket\")\nfirehose_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"firehose.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nfirehose_to_s3_role = aws.iam.Role(\"firehose_to_s3\", assume_role_policy=firehose_assume_role.json)\ns3_stream = aws.kinesis.FirehoseDeliveryStream(\"s3_stream\",\n name=\"metric-stream-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration={\n \"role_arn\": firehose_to_s3_role.arn,\n \"bucket_arn\": bucket.arn,\n })\nmain = aws.cloudwatch.MetricStream(\"main\",\n name=\"my-metric-stream\",\n role_arn=metric_stream_to_firehose_role.arn,\n firehose_arn=s3_stream.arn,\n output_format=\"json\",\n include_filters=[\n {\n \"namespace\": \"AWS/EC2\",\n \"metric_names\": [\n \"CPUUtilization\",\n \"NetworkOut\",\n ],\n },\n {\n \"namespace\": \"AWS/EBS\",\n \"metric_names\": [],\n },\n ])\n# https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\nmetric_stream_to_firehose = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"firehose:PutRecord\",\n \"firehose:PutRecordBatch\",\n ],\n \"resources\": [s3_stream.arn],\n}])\nmetric_stream_to_firehose_role_policy = aws.iam.RolePolicy(\"metric_stream_to_firehose\",\n name=\"default\",\n role=metric_stream_to_firehose_role.id,\n policy=metric_stream_to_firehose.json)\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\nfirehose_to_s3 = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"s3:AbortMultipartUpload\",\n \"s3:GetBucketLocation\",\n \"s3:GetObject\",\n \"s3:ListBucket\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:PutObject\",\n ],\n \"resources\": [\n bucket.arn,\n bucket.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n}])\nfirehose_to_s3_role_policy = aws.iam.RolePolicy(\"firehose_to_s3\",\n name=\"default\",\n role=firehose_to_s3_role.id,\n policy=firehose_to_s3.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n var streamsAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"streams.metrics.cloudwatch.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var metricStreamToFirehoseRole = new Aws.Iam.Role(\"metric_stream_to_firehose\", new()\n {\n Name = \"metric_stream_to_firehose_role\",\n AssumeRolePolicy = streamsAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"metric-stream-test-bucket\",\n });\n\n var firehoseAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var firehoseToS3Role = new Aws.Iam.Role(\"firehose_to_s3\", new()\n {\n AssumeRolePolicy = firehoseAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var s3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"s3_stream\", new()\n {\n Name = \"metric-stream-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseToS3Role.Arn,\n BucketArn = bucket.Arn,\n },\n });\n\n var main = new Aws.CloudWatch.MetricStream(\"main\", new()\n {\n Name = \"my-metric-stream\",\n RoleArn = metricStreamToFirehoseRole.Arn,\n FirehoseArn = s3Stream.Arn,\n OutputFormat = \"json\",\n IncludeFilters = new[]\n {\n new Aws.CloudWatch.Inputs.MetricStreamIncludeFilterArgs\n {\n Namespace = \"AWS/EC2\",\n MetricNames = new[]\n {\n \"CPUUtilization\",\n \"NetworkOut\",\n },\n },\n new Aws.CloudWatch.Inputs.MetricStreamIncludeFilterArgs\n {\n Namespace = \"AWS/EBS\",\n MetricNames = new() { },\n },\n },\n });\n\n // https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n var metricStreamToFirehose = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"firehose:PutRecord\",\n \"firehose:PutRecordBatch\",\n },\n Resources = new[]\n {\n s3Stream.Arn,\n },\n },\n },\n });\n\n var metricStreamToFirehoseRolePolicy = new Aws.Iam.RolePolicy(\"metric_stream_to_firehose\", new()\n {\n Name = \"default\",\n Role = metricStreamToFirehoseRole.Id,\n Policy = metricStreamToFirehose.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n var firehoseToS3 = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:AbortMultipartUpload\",\n \"s3:GetBucketLocation\",\n \"s3:GetObject\",\n \"s3:ListBucket\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n bucket.Arn,\n $\"{bucket.Arn}/*\",\n },\n },\n },\n });\n\n var firehoseToS3RolePolicy = new Aws.Iam.RolePolicy(\"firehose_to_s3\", new()\n {\n Name = \"default\",\n Role = firehoseToS3Role.Id,\n Policy = firehoseToS3.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n\t\tstreamsAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"streams.metrics.cloudwatch.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmetricStreamToFirehoseRole, err := iam.NewRole(ctx, \"metric_stream_to_firehose\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"metric_stream_to_firehose_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(streamsAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"metric-stream-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"firehose.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseToS3Role, err := iam.NewRole(ctx, \"firehose_to_s3\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(firehoseAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3Stream, err := kinesis.NewFirehoseDeliveryStream(ctx, \"s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"metric-stream-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: firehoseToS3Role.Arn,\n\t\t\t\tBucketArn: bucket.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewMetricStream(ctx, \"main\", \u0026cloudwatch.MetricStreamArgs{\n\t\t\tName: pulumi.String(\"my-metric-stream\"),\n\t\t\tRoleArn: metricStreamToFirehoseRole.Arn,\n\t\t\tFirehoseArn: s3Stream.Arn,\n\t\t\tOutputFormat: pulumi.String(\"json\"),\n\t\t\tIncludeFilters: cloudwatch.MetricStreamIncludeFilterArray{\n\t\t\t\t\u0026cloudwatch.MetricStreamIncludeFilterArgs{\n\t\t\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\t\t\tMetricNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"CPUUtilization\"),\n\t\t\t\t\t\tpulumi.String(\"NetworkOut\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.MetricStreamIncludeFilterArgs{\n\t\t\t\t\tNamespace: pulumi.String(\"AWS/EBS\"),\n\t\t\t\t\tMetricNames: pulumi.StringArray{},\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\t// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n\t\tmetricStreamToFirehose := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"firehose:PutRecord\"),\n\t\t\t\t\t\tpulumi.String(\"firehose:PutRecordBatch\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ts3Stream.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"metric_stream_to_firehose\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tRole: metricStreamToFirehoseRole.ID(),\n\t\t\tPolicy: pulumi.String(metricStreamToFirehose.ApplyT(func(metricStreamToFirehose iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026metricStreamToFirehose.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseToS3 := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:AbortMultipartUpload\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketLocation\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucketMultipartUploads\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tbucket.Arn,\n\t\t\t\t\t\tbucket.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"firehose_to_s3\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tRole: firehoseToS3Role.ID(),\n\t\t\tPolicy: pulumi.String(firehoseToS3.ApplyT(func(firehoseToS3 iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026firehoseToS3.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.cloudwatch.MetricStream;\nimport com.pulumi.aws.cloudwatch.MetricStreamArgs;\nimport com.pulumi.aws.cloudwatch.inputs.MetricStreamIncludeFilterArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n final var streamsAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"streams.metrics.cloudwatch.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var metricStreamToFirehoseRole = new Role(\"metricStreamToFirehoseRole\", RoleArgs.builder()\n .name(\"metric_stream_to_firehose_role\")\n .assumeRolePolicy(streamsAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"metric-stream-test-bucket\")\n .build());\n\n final var firehoseAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var firehoseToS3Role = new Role(\"firehoseToS3Role\", RoleArgs.builder()\n .assumeRolePolicy(firehoseAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var s3Stream = new FirehoseDeliveryStream(\"s3Stream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"metric-stream-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseToS3Role.arn())\n .bucketArn(bucket.arn())\n .build())\n .build());\n\n var main = new MetricStream(\"main\", MetricStreamArgs.builder()\n .name(\"my-metric-stream\")\n .roleArn(metricStreamToFirehoseRole.arn())\n .firehoseArn(s3Stream.arn())\n .outputFormat(\"json\")\n .includeFilters( \n MetricStreamIncludeFilterArgs.builder()\n .namespace(\"AWS/EC2\")\n .metricNames( \n \"CPUUtilization\",\n \"NetworkOut\")\n .build(),\n MetricStreamIncludeFilterArgs.builder()\n .namespace(\"AWS/EBS\")\n .metricNames()\n .build())\n .build());\n\n // https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n final var metricStreamToFirehose = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"firehose:PutRecord\",\n \"firehose:PutRecordBatch\")\n .resources(s3Stream.arn())\n .build())\n .build());\n\n var metricStreamToFirehoseRolePolicy = new RolePolicy(\"metricStreamToFirehoseRolePolicy\", RolePolicyArgs.builder()\n .name(\"default\")\n .role(metricStreamToFirehoseRole.id())\n .policy(metricStreamToFirehose.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(metricStreamToFirehose -\u003e metricStreamToFirehose.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder()\n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n final var firehoseToS3 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:AbortMultipartUpload\",\n \"s3:GetBucketLocation\",\n \"s3:GetObject\",\n \"s3:ListBucket\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:PutObject\")\n .resources( \n bucket.arn(),\n bucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var firehoseToS3RolePolicy = new RolePolicy(\"firehoseToS3RolePolicy\", RolePolicyArgs.builder()\n .name(\"default\")\n .role(firehoseToS3Role.id())\n .policy(firehoseToS3.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(firehoseToS3 -\u003e firehoseToS3.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cloudwatch:MetricStream\n properties:\n name: my-metric-stream\n roleArn: ${metricStreamToFirehoseRole.arn}\n firehoseArn: ${s3Stream.arn}\n outputFormat: json\n includeFilters:\n - namespace: AWS/EC2\n metricNames:\n - CPUUtilization\n - NetworkOut\n - namespace: AWS/EBS\n metricNames: []\n metricStreamToFirehoseRole:\n type: aws:iam:Role\n name: metric_stream_to_firehose\n properties:\n name: metric_stream_to_firehose_role\n assumeRolePolicy: ${streamsAssumeRole.json}\n metricStreamToFirehoseRolePolicy:\n type: aws:iam:RolePolicy\n name: metric_stream_to_firehose\n properties:\n name: default\n role: ${metricStreamToFirehoseRole.id}\n policy: ${metricStreamToFirehose.json}\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: metric-stream-test-bucket\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n firehoseToS3Role:\n type: aws:iam:Role\n name: firehose_to_s3\n properties:\n assumeRolePolicy: ${firehoseAssumeRole.json}\n firehoseToS3RolePolicy:\n type: aws:iam:RolePolicy\n name: firehose_to_s3\n properties:\n name: default\n role: ${firehoseToS3Role.id}\n policy: ${firehoseToS3.json}\n s3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: s3_stream\n properties:\n name: metric-stream-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseToS3Role.arn}\n bucketArn: ${bucket.arn}\nvariables:\n # https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n streamsAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - streams.metrics.cloudwatch.amazonaws.com\n actions:\n - sts:AssumeRole\n # https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n metricStreamToFirehose:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - firehose:PutRecord\n - firehose:PutRecordBatch\n resources:\n - ${s3Stream.arn}\n firehoseAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\n firehoseToS3:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - s3:AbortMultipartUpload\n - s3:GetBucketLocation\n - s3:GetObject\n - s3:ListBucket\n - s3:ListBucketMultipartUploads\n - s3:PutObject\n resources:\n - ${bucket.arn}\n - ${bucket.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Additional Statistics\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.cloudwatch.MetricStream(\"main\", {\n name: \"my-metric-stream\",\n roleArn: metricStreamToFirehose.arn,\n firehoseArn: s3Stream.arn,\n outputFormat: \"json\",\n statisticsConfigurations: [\n {\n additionalStatistics: [\n \"p1\",\n \"tm99\",\n ],\n includeMetrics: [{\n metricName: \"CPUUtilization\",\n namespace: \"AWS/EC2\",\n }],\n },\n {\n additionalStatistics: [\"TS(50.5:)\"],\n includeMetrics: [{\n metricName: \"CPUUtilization\",\n namespace: \"AWS/EC2\",\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.cloudwatch.MetricStream(\"main\",\n name=\"my-metric-stream\",\n role_arn=metric_stream_to_firehose[\"arn\"],\n firehose_arn=s3_stream[\"arn\"],\n output_format=\"json\",\n statistics_configurations=[\n {\n \"additional_statistics\": [\n \"p1\",\n \"tm99\",\n ],\n \"include_metrics\": [{\n \"metric_name\": \"CPUUtilization\",\n \"namespace\": \"AWS/EC2\",\n }],\n },\n {\n \"additional_statistics\": [\"TS(50.5:)\"],\n \"include_metrics\": [{\n \"metric_name\": \"CPUUtilization\",\n \"namespace\": \"AWS/EC2\",\n }],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.CloudWatch.MetricStream(\"main\", new()\n {\n Name = \"my-metric-stream\",\n RoleArn = metricStreamToFirehose.Arn,\n FirehoseArn = s3Stream.Arn,\n OutputFormat = \"json\",\n StatisticsConfigurations = new[]\n {\n new Aws.CloudWatch.Inputs.MetricStreamStatisticsConfigurationArgs\n {\n AdditionalStatistics = new[]\n {\n \"p1\",\n \"tm99\",\n },\n IncludeMetrics = new[]\n {\n new Aws.CloudWatch.Inputs.MetricStreamStatisticsConfigurationIncludeMetricArgs\n {\n MetricName = \"CPUUtilization\",\n Namespace = \"AWS/EC2\",\n },\n },\n },\n new Aws.CloudWatch.Inputs.MetricStreamStatisticsConfigurationArgs\n {\n AdditionalStatistics = new[]\n {\n \"TS(50.5:)\",\n },\n IncludeMetrics = new[]\n {\n new Aws.CloudWatch.Inputs.MetricStreamStatisticsConfigurationIncludeMetricArgs\n {\n MetricName = \"CPUUtilization\",\n Namespace = \"AWS/EC2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\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 := cloudwatch.NewMetricStream(ctx, \"main\", \u0026cloudwatch.MetricStreamArgs{\n\t\t\tName: pulumi.String(\"my-metric-stream\"),\n\t\t\tRoleArn: pulumi.Any(metricStreamToFirehose.Arn),\n\t\t\tFirehoseArn: pulumi.Any(s3Stream.Arn),\n\t\t\tOutputFormat: pulumi.String(\"json\"),\n\t\t\tStatisticsConfigurations: cloudwatch.MetricStreamStatisticsConfigurationArray{\n\t\t\t\t\u0026cloudwatch.MetricStreamStatisticsConfigurationArgs{\n\t\t\t\t\tAdditionalStatistics: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"p1\"),\n\t\t\t\t\t\tpulumi.String(\"tm99\"),\n\t\t\t\t\t},\n\t\t\t\t\tIncludeMetrics: cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArray{\n\t\t\t\t\t\t\u0026cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArgs{\n\t\t\t\t\t\t\tMetricName: pulumi.String(\"CPUUtilization\"),\n\t\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.MetricStreamStatisticsConfigurationArgs{\n\t\t\t\t\tAdditionalStatistics: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"TS(50.5:)\"),\n\t\t\t\t\t},\n\t\t\t\t\tIncludeMetrics: cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArray{\n\t\t\t\t\t\t\u0026cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArgs{\n\t\t\t\t\t\t\tMetricName: pulumi.String(\"CPUUtilization\"),\n\t\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.MetricStream;\nimport com.pulumi.aws.cloudwatch.MetricStreamArgs;\nimport com.pulumi.aws.cloudwatch.inputs.MetricStreamStatisticsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new MetricStream(\"main\", MetricStreamArgs.builder()\n .name(\"my-metric-stream\")\n .roleArn(metricStreamToFirehose.arn())\n .firehoseArn(s3Stream.arn())\n .outputFormat(\"json\")\n .statisticsConfigurations( \n MetricStreamStatisticsConfigurationArgs.builder()\n .additionalStatistics( \n \"p1\",\n \"tm99\")\n .includeMetrics(MetricStreamStatisticsConfigurationIncludeMetricArgs.builder()\n .metricName(\"CPUUtilization\")\n .namespace(\"AWS/EC2\")\n .build())\n .build(),\n MetricStreamStatisticsConfigurationArgs.builder()\n .additionalStatistics(\"TS(50.5:)\")\n .includeMetrics(MetricStreamStatisticsConfigurationIncludeMetricArgs.builder()\n .metricName(\"CPUUtilization\")\n .namespace(\"AWS/EC2\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cloudwatch:MetricStream\n properties:\n name: my-metric-stream\n roleArn: ${metricStreamToFirehose.arn}\n firehoseArn: ${s3Stream.arn}\n outputFormat: json\n statisticsConfigurations:\n - additionalStatistics:\n - p1\n - tm99\n includeMetrics:\n - metricName: CPUUtilization\n namespace: AWS/EC2\n - additionalStatistics:\n - TS(50.5:)\n includeMetrics:\n - metricName: CPUUtilization\n namespace: AWS/EC2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch metric streams using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/metricStream:MetricStream sample sample-stream-name\n```\n", "properties": { "arn": { "type": "string", @@ -206337,7 +206337,7 @@ } }, "aws:codeartifact/domainPermissions:DomainPermissions": { - "description": "Provides a CodeArtifact Domains Permissions Policy Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"domain key\"});\nconst exampleDomain = new aws.codeartifact.Domain(\"example\", {\n domain: \"example\",\n encryptionKey: example.arn,\n});\nconst test = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"codeartifact:CreateRepository\"],\n resources: [exampleDomain.arn],\n }],\n});\nconst testDomainPermissions = new aws.codeartifact.DomainPermissions(\"test\", {\n domain: exampleDomain.domain,\n policyDocument: test.apply(test =\u003e test.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"domain key\")\nexample_domain = aws.codeartifact.Domain(\"example\",\n domain=\"example\",\n encryption_key=example.arn)\ntest = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"codeartifact:CreateRepository\"],\n \"resources\": [example_domain.arn],\n}])\ntest_domain_permissions = aws.codeartifact.DomainPermissions(\"test\",\n domain=example_domain.domain,\n policy_document=test.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"domain key\",\n });\n\n var exampleDomain = new Aws.CodeArtifact.Domain(\"example\", new()\n {\n DomainName = \"example\",\n EncryptionKey = example.Arn,\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"codeartifact:CreateRepository\",\n },\n Resources = new[]\n {\n exampleDomain.Arn,\n },\n },\n },\n });\n\n var testDomainPermissions = new Aws.CodeArtifact.DomainPermissions(\"test\", new()\n {\n Domain = exampleDomain.DomainName,\n PolicyDocument = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"domain key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDomain, err := codeartifact.NewDomain(ctx, \"example\", \u0026codeartifact.DomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tEncryptionKey: example.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codeartifact:CreateRepository\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleDomain.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = codeartifact.NewDomainPermissions(ctx, \"test\", \u0026codeartifact.DomainPermissionsArgs{\n\t\t\tDomain: exampleDomain.Domain,\n\t\t\tPolicyDocument: pulumi.String(test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026test.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.codeartifact.Domain;\nimport com.pulumi.aws.codeartifact.DomainArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.codeartifact.DomainPermissions;\nimport com.pulumi.aws.codeartifact.DomainPermissionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"domain key\")\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domain(\"example\")\n .encryptionKey(example.arn())\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"codeartifact:CreateRepository\")\n .resources(exampleDomain.arn())\n .build())\n .build());\n\n var testDomainPermissions = new DomainPermissions(\"testDomainPermissions\", DomainPermissionsArgs.builder()\n .domain(exampleDomain.domain())\n .policyDocument(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: domain key\n exampleDomain:\n type: aws:codeartifact:Domain\n name: example\n properties:\n domain: example\n encryptionKey: ${example.arn}\n testDomainPermissions:\n type: aws:codeartifact:DomainPermissions\n name: test\n properties:\n domain: ${exampleDomain.domain}\n policyDocument: ${test.json}\nvariables:\n test:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - codeartifact:CreateRepository\n resources:\n - ${exampleDomain.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeArtifact Domain Permissions Policies using the CodeArtifact Domain ARN. For example:\n\n```sh\n$ pulumi import aws:codeartifact/domainPermissions:DomainPermissions example arn:aws:codeartifact:us-west-2:012345678912:domain/tf-acc-test-1928056699409417367\n```\n", + "description": "Provides a CodeArtifact Domains Permissions Policy Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"domain key\"});\nconst exampleDomain = new aws.codeartifact.Domain(\"example\", {\n domain: \"example\",\n encryptionKey: example.arn,\n});\nconst test = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"codeartifact:CreateRepository\"],\n resources: [exampleDomain.arn],\n }],\n});\nconst testDomainPermissions = new aws.codeartifact.DomainPermissions(\"test\", {\n domain: exampleDomain.domain,\n policyDocument: test.apply(test =\u003e test.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"domain key\")\nexample_domain = aws.codeartifact.Domain(\"example\",\n domain=\"example\",\n encryption_key=example.arn)\ntest = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"codeartifact:CreateRepository\"],\n \"resources\": [example_domain.arn],\n}])\ntest_domain_permissions = aws.codeartifact.DomainPermissions(\"test\",\n domain=example_domain.domain,\n policy_document=test.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"domain key\",\n });\n\n var exampleDomain = new Aws.CodeArtifact.Domain(\"example\", new()\n {\n DomainName = \"example\",\n EncryptionKey = example.Arn,\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"codeartifact:CreateRepository\",\n },\n Resources = new[]\n {\n exampleDomain.Arn,\n },\n },\n },\n });\n\n var testDomainPermissions = new Aws.CodeArtifact.DomainPermissions(\"test\", new()\n {\n Domain = exampleDomain.DomainName,\n PolicyDocument = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"domain key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDomain, err := codeartifact.NewDomain(ctx, \"example\", \u0026codeartifact.DomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tEncryptionKey: example.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codeartifact:CreateRepository\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleDomain.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = codeartifact.NewDomainPermissions(ctx, \"test\", \u0026codeartifact.DomainPermissionsArgs{\n\t\t\tDomain: exampleDomain.Domain,\n\t\t\tPolicyDocument: pulumi.String(test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026test.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.codeartifact.Domain;\nimport com.pulumi.aws.codeartifact.DomainArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.codeartifact.DomainPermissions;\nimport com.pulumi.aws.codeartifact.DomainPermissionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"domain key\")\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domain(\"example\")\n .encryptionKey(example.arn())\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"codeartifact:CreateRepository\")\n .resources(exampleDomain.arn())\n .build())\n .build());\n\n var testDomainPermissions = new DomainPermissions(\"testDomainPermissions\", DomainPermissionsArgs.builder()\n .domain(exampleDomain.domain())\n .policyDocument(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: domain key\n exampleDomain:\n type: aws:codeartifact:Domain\n name: example\n properties:\n domain: example\n encryptionKey: ${example.arn}\n testDomainPermissions:\n type: aws:codeartifact:DomainPermissions\n name: test\n properties:\n domain: ${exampleDomain.domain}\n policyDocument: ${test.json}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - codeartifact:CreateRepository\n resources:\n - ${exampleDomain.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeArtifact Domain Permissions Policies using the CodeArtifact Domain ARN. For example:\n\n```sh\n$ pulumi import aws:codeartifact/domainPermissions:DomainPermissions example arn:aws:codeartifact:us-west-2:012345678912:domain/tf-acc-test-1928056699409417367\n```\n", "properties": { "domain": { "type": "string", @@ -206601,7 +206601,7 @@ } }, "aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy": { - "description": "Provides a CodeArtifact Repostory Permissions Policy Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleKey = new aws.kms.Key(\"example\", {description: \"domain key\"});\nconst exampleDomain = new aws.codeartifact.Domain(\"example\", {\n domain: \"example\",\n encryptionKey: exampleKey.arn,\n});\nconst exampleRepository = new aws.codeartifact.Repository(\"example\", {\n repository: \"example\",\n domain: exampleDomain.domain,\n});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"codeartifact:ReadFromRepository\"],\n resources: [exampleRepository.arn],\n }],\n});\nconst exampleRepositoryPermissionsPolicy = new aws.codeartifact.RepositoryPermissionsPolicy(\"example\", {\n repository: exampleRepository.repository,\n domain: exampleDomain.domain,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_key = aws.kms.Key(\"example\", description=\"domain key\")\nexample_domain = aws.codeartifact.Domain(\"example\",\n domain=\"example\",\n encryption_key=example_key.arn)\nexample_repository = aws.codeartifact.Repository(\"example\",\n repository=\"example\",\n domain=example_domain.domain)\nexample = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"codeartifact:ReadFromRepository\"],\n \"resources\": [example_repository.arn],\n}])\nexample_repository_permissions_policy = aws.codeartifact.RepositoryPermissionsPolicy(\"example\",\n repository=example_repository.repository,\n domain=example_domain.domain,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"domain key\",\n });\n\n var exampleDomain = new Aws.CodeArtifact.Domain(\"example\", new()\n {\n DomainName = \"example\",\n EncryptionKey = exampleKey.Arn,\n });\n\n var exampleRepository = new Aws.CodeArtifact.Repository(\"example\", new()\n {\n RepositoryName = \"example\",\n Domain = exampleDomain.DomainName,\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"codeartifact:ReadFromRepository\",\n },\n Resources = new[]\n {\n exampleRepository.Arn,\n },\n },\n },\n });\n\n var exampleRepositoryPermissionsPolicy = new Aws.CodeArtifact.RepositoryPermissionsPolicy(\"example\", new()\n {\n Repository = exampleRepository.RepositoryName,\n Domain = exampleDomain.DomainName,\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"domain key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDomain, err := codeartifact.NewDomain(ctx, \"example\", \u0026codeartifact.DomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tEncryptionKey: exampleKey.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRepository, err := codeartifact.NewRepository(ctx, \"example\", \u0026codeartifact.RepositoryArgs{\n\t\t\tRepository: pulumi.String(\"example\"),\n\t\t\tDomain: exampleDomain.Domain,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codeartifact:ReadFromRepository\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleRepository.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = codeartifact.NewRepositoryPermissionsPolicy(ctx, \"example\", \u0026codeartifact.RepositoryPermissionsPolicyArgs{\n\t\t\tRepository: exampleRepository.Repository,\n\t\t\tDomain: exampleDomain.Domain,\n\t\t\tPolicyDocument: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.codeartifact.Domain;\nimport com.pulumi.aws.codeartifact.DomainArgs;\nimport com.pulumi.aws.codeartifact.Repository;\nimport com.pulumi.aws.codeartifact.RepositoryArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.codeartifact.RepositoryPermissionsPolicy;\nimport com.pulumi.aws.codeartifact.RepositoryPermissionsPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"domain key\")\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domain(\"example\")\n .encryptionKey(exampleKey.arn())\n .build());\n\n var exampleRepository = new Repository(\"exampleRepository\", RepositoryArgs.builder()\n .repository(\"example\")\n .domain(exampleDomain.domain())\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"codeartifact:ReadFromRepository\")\n .resources(exampleRepository.arn())\n .build())\n .build());\n\n var exampleRepositoryPermissionsPolicy = new RepositoryPermissionsPolicy(\"exampleRepositoryPermissionsPolicy\", RepositoryPermissionsPolicyArgs.builder()\n .repository(exampleRepository.repository())\n .domain(exampleDomain.domain())\n .policyDocument(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: domain key\n exampleDomain:\n type: aws:codeartifact:Domain\n name: example\n properties:\n domain: example\n encryptionKey: ${exampleKey.arn}\n exampleRepository:\n type: aws:codeartifact:Repository\n name: example\n properties:\n repository: example\n domain: ${exampleDomain.domain}\n exampleRepositoryPermissionsPolicy:\n type: aws:codeartifact:RepositoryPermissionsPolicy\n name: example\n properties:\n repository: ${exampleRepository.repository}\n domain: ${exampleDomain.domain}\n policyDocument: ${example.json}\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - codeartifact:ReadFromRepository\n resources:\n - ${exampleRepository.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeArtifact Repository Permissions Policies using the CodeArtifact Repository ARN. For example:\n\n```sh\n$ pulumi import aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy example arn:aws:codeartifact:us-west-2:012345678912:repository/tf-acc-test-6968272603913957763/tf-acc-test-6968272603913957763\n```\n", + "description": "Provides a CodeArtifact Repostory Permissions Policy Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleKey = new aws.kms.Key(\"example\", {description: \"domain key\"});\nconst exampleDomain = new aws.codeartifact.Domain(\"example\", {\n domain: \"example\",\n encryptionKey: exampleKey.arn,\n});\nconst exampleRepository = new aws.codeartifact.Repository(\"example\", {\n repository: \"example\",\n domain: exampleDomain.domain,\n});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"codeartifact:ReadFromRepository\"],\n resources: [exampleRepository.arn],\n }],\n});\nconst exampleRepositoryPermissionsPolicy = new aws.codeartifact.RepositoryPermissionsPolicy(\"example\", {\n repository: exampleRepository.repository,\n domain: exampleDomain.domain,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_key = aws.kms.Key(\"example\", description=\"domain key\")\nexample_domain = aws.codeartifact.Domain(\"example\",\n domain=\"example\",\n encryption_key=example_key.arn)\nexample_repository = aws.codeartifact.Repository(\"example\",\n repository=\"example\",\n domain=example_domain.domain)\nexample = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"codeartifact:ReadFromRepository\"],\n \"resources\": [example_repository.arn],\n}])\nexample_repository_permissions_policy = aws.codeartifact.RepositoryPermissionsPolicy(\"example\",\n repository=example_repository.repository,\n domain=example_domain.domain,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"domain key\",\n });\n\n var exampleDomain = new Aws.CodeArtifact.Domain(\"example\", new()\n {\n DomainName = \"example\",\n EncryptionKey = exampleKey.Arn,\n });\n\n var exampleRepository = new Aws.CodeArtifact.Repository(\"example\", new()\n {\n RepositoryName = \"example\",\n Domain = exampleDomain.DomainName,\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"codeartifact:ReadFromRepository\",\n },\n Resources = new[]\n {\n exampleRepository.Arn,\n },\n },\n },\n });\n\n var exampleRepositoryPermissionsPolicy = new Aws.CodeArtifact.RepositoryPermissionsPolicy(\"example\", new()\n {\n Repository = exampleRepository.RepositoryName,\n Domain = exampleDomain.DomainName,\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"domain key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDomain, err := codeartifact.NewDomain(ctx, \"example\", \u0026codeartifact.DomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tEncryptionKey: exampleKey.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRepository, err := codeartifact.NewRepository(ctx, \"example\", \u0026codeartifact.RepositoryArgs{\n\t\t\tRepository: pulumi.String(\"example\"),\n\t\t\tDomain: exampleDomain.Domain,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codeartifact:ReadFromRepository\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleRepository.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = codeartifact.NewRepositoryPermissionsPolicy(ctx, \"example\", \u0026codeartifact.RepositoryPermissionsPolicyArgs{\n\t\t\tRepository: exampleRepository.Repository,\n\t\t\tDomain: exampleDomain.Domain,\n\t\t\tPolicyDocument: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.codeartifact.Domain;\nimport com.pulumi.aws.codeartifact.DomainArgs;\nimport com.pulumi.aws.codeartifact.Repository;\nimport com.pulumi.aws.codeartifact.RepositoryArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.codeartifact.RepositoryPermissionsPolicy;\nimport com.pulumi.aws.codeartifact.RepositoryPermissionsPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"domain key\")\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domain(\"example\")\n .encryptionKey(exampleKey.arn())\n .build());\n\n var exampleRepository = new Repository(\"exampleRepository\", RepositoryArgs.builder()\n .repository(\"example\")\n .domain(exampleDomain.domain())\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"codeartifact:ReadFromRepository\")\n .resources(exampleRepository.arn())\n .build())\n .build());\n\n var exampleRepositoryPermissionsPolicy = new RepositoryPermissionsPolicy(\"exampleRepositoryPermissionsPolicy\", RepositoryPermissionsPolicyArgs.builder()\n .repository(exampleRepository.repository())\n .domain(exampleDomain.domain())\n .policyDocument(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: domain key\n exampleDomain:\n type: aws:codeartifact:Domain\n name: example\n properties:\n domain: example\n encryptionKey: ${exampleKey.arn}\n exampleRepository:\n type: aws:codeartifact:Repository\n name: example\n properties:\n repository: example\n domain: ${exampleDomain.domain}\n exampleRepositoryPermissionsPolicy:\n type: aws:codeartifact:RepositoryPermissionsPolicy\n name: example\n properties:\n repository: ${exampleRepository.repository}\n domain: ${exampleDomain.domain}\n policyDocument: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - codeartifact:ReadFromRepository\n resources:\n - ${exampleRepository.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeArtifact Repository Permissions Policies using the CodeArtifact Repository ARN. For example:\n\n```sh\n$ pulumi import aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy example arn:aws:codeartifact:us-west-2:012345678912:repository/tf-acc-test-6968272603913957763/tf-acc-test-6968272603913957763\n```\n", "properties": { "domain": { "type": "string", @@ -206923,7 +206923,7 @@ } }, "aws:codebuild/project:Project": { - "description": "Provides a CodeBuild Project resource. See also the `aws.codebuild.Webhook` resource, which manages the webhook to the source (e.g., the \"rebuild every time a code change is pushed\" option in the CodeBuild web console).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: exampleBucketV2.id,\n acl: \"private\",\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"codebuild.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = pulumi.all([exampleBucketV2.arn, exampleBucketV2.arn]).apply(([exampleBucketV2Arn, exampleBucketV2Arn1]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\",\n ],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\"ec2:CreateNetworkInterfacePermission\"],\n resources: [\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\"],\n conditions: [\n {\n test: \"StringEquals\",\n variable: \"ec2:Subnet\",\n values: [\n example1.arn,\n example2.arn,\n ],\n },\n {\n test: \"StringEquals\",\n variable: \"ec2:AuthorizedService\",\n values: [\"codebuild.amazonaws.com\"],\n },\n ],\n },\n {\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\n exampleBucketV2Arn,\n `${exampleBucketV2Arn1}/*`,\n ],\n },\n ],\n}));\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n role: exampleRole.name,\n policy: example.apply(example =\u003e example.json),\n});\nconst exampleProject = new aws.codebuild.Project(\"example\", {\n name: \"test-project\",\n description: \"test_codebuild_project\",\n buildTimeout: 5,\n serviceRole: exampleRole.arn,\n artifacts: {\n type: \"NO_ARTIFACTS\",\n },\n cache: {\n type: \"S3\",\n location: exampleBucketV2.bucket,\n },\n environment: {\n computeType: \"BUILD_GENERAL1_SMALL\",\n image: \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type: \"LINUX_CONTAINER\",\n imagePullCredentialsType: \"CODEBUILD\",\n environmentVariables: [\n {\n name: \"SOME_KEY1\",\n value: \"SOME_VALUE1\",\n },\n {\n name: \"SOME_KEY2\",\n value: \"SOME_VALUE2\",\n type: \"PARAMETER_STORE\",\n },\n ],\n },\n logsConfig: {\n cloudwatchLogs: {\n groupName: \"log-group\",\n streamName: \"log-stream\",\n },\n s3Logs: {\n status: \"ENABLED\",\n location: pulumi.interpolate`${exampleBucketV2.id}/build-log`,\n },\n },\n source: {\n type: \"GITHUB\",\n location: \"https://github.com/mitchellh/packer.git\",\n gitCloneDepth: 1,\n gitSubmodulesConfig: {\n fetchSubmodules: true,\n },\n },\n sourceVersion: \"master\",\n vpcConfig: {\n vpcId: exampleAwsVpc.id,\n subnets: [\n example1.id,\n example2.id,\n ],\n securityGroupIds: [\n example1AwsSecurityGroup.id,\n example2AwsSecurityGroup.id,\n ],\n },\n tags: {\n Environment: \"Test\",\n },\n});\nconst project_with_cache = new aws.codebuild.Project(\"project-with-cache\", {\n name: \"test-project-cache\",\n description: \"test_codebuild_project_cache\",\n buildTimeout: 5,\n queuedTimeout: 5,\n serviceRole: exampleRole.arn,\n artifacts: {\n type: \"NO_ARTIFACTS\",\n },\n cache: {\n type: \"LOCAL\",\n modes: [\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n ],\n },\n environment: {\n computeType: \"BUILD_GENERAL1_SMALL\",\n image: \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type: \"LINUX_CONTAINER\",\n imagePullCredentialsType: \"CODEBUILD\",\n environmentVariables: [{\n name: \"SOME_KEY1\",\n value: \"SOME_VALUE1\",\n }],\n },\n source: {\n type: \"GITHUB\",\n location: \"https://github.com/mitchellh/packer.git\",\n gitCloneDepth: 1,\n },\n tags: {\n Environment: \"Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example_bucket_v2.id,\n acl=\"private\")\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"codebuild.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample = pulumi.Output.all(\n exampleBucketV2Arn=example_bucket_v2.arn,\n exampleBucketV2Arn1=example_bucket_v2.arn\n).apply(lambda resolved_outputs: aws.iam.get_policy_document_output(statements=[\n {\n \"effect\": \"Allow\",\n \"actions\": [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n \"resources\": [\"*\"],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\",\n ],\n \"resources\": [\"*\"],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\"ec2:CreateNetworkInterfacePermission\"],\n \"resources\": [\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\"],\n \"conditions\": [\n {\n \"test\": \"StringEquals\",\n \"variable\": \"ec2:Subnet\",\n \"values\": [\n example1[\"arn\"],\n example2[\"arn\"],\n ],\n },\n {\n \"test\": \"StringEquals\",\n \"variable\": \"ec2:AuthorizedService\",\n \"values\": [\"codebuild.amazonaws.com\"],\n },\n ],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\n resolved_outputs['exampleBucketV2Arn'],\n f\"{resolved_outputs['exampleBucketV2Arn1']}/*\",\n ],\n },\n]))\n\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n role=example_role.name,\n policy=example.json)\nexample_project = aws.codebuild.Project(\"example\",\n name=\"test-project\",\n description=\"test_codebuild_project\",\n build_timeout=5,\n service_role=example_role.arn,\n artifacts={\n \"type\": \"NO_ARTIFACTS\",\n },\n cache={\n \"type\": \"S3\",\n \"location\": example_bucket_v2.bucket,\n },\n environment={\n \"compute_type\": \"BUILD_GENERAL1_SMALL\",\n \"image\": \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n \"type\": \"LINUX_CONTAINER\",\n \"image_pull_credentials_type\": \"CODEBUILD\",\n \"environment_variables\": [\n {\n \"name\": \"SOME_KEY1\",\n \"value\": \"SOME_VALUE1\",\n },\n {\n \"name\": \"SOME_KEY2\",\n \"value\": \"SOME_VALUE2\",\n \"type\": \"PARAMETER_STORE\",\n },\n ],\n },\n logs_config={\n \"cloudwatch_logs\": {\n \"group_name\": \"log-group\",\n \"stream_name\": \"log-stream\",\n },\n \"s3_logs\": {\n \"status\": \"ENABLED\",\n \"location\": example_bucket_v2.id.apply(lambda id: f\"{id}/build-log\"),\n },\n },\n source={\n \"type\": \"GITHUB\",\n \"location\": \"https://github.com/mitchellh/packer.git\",\n \"git_clone_depth\": 1,\n \"git_submodules_config\": {\n \"fetch_submodules\": True,\n },\n },\n source_version=\"master\",\n vpc_config={\n \"vpc_id\": example_aws_vpc[\"id\"],\n \"subnets\": [\n example1[\"id\"],\n example2[\"id\"],\n ],\n \"security_group_ids\": [\n example1_aws_security_group[\"id\"],\n example2_aws_security_group[\"id\"],\n ],\n },\n tags={\n \"Environment\": \"Test\",\n })\nproject_with_cache = aws.codebuild.Project(\"project-with-cache\",\n name=\"test-project-cache\",\n description=\"test_codebuild_project_cache\",\n build_timeout=5,\n queued_timeout=5,\n service_role=example_role.arn,\n artifacts={\n \"type\": \"NO_ARTIFACTS\",\n },\n cache={\n \"type\": \"LOCAL\",\n \"modes\": [\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n ],\n },\n environment={\n \"compute_type\": \"BUILD_GENERAL1_SMALL\",\n \"image\": \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n \"type\": \"LINUX_CONTAINER\",\n \"image_pull_credentials_type\": \"CODEBUILD\",\n \"environment_variables\": [{\n \"name\": \"SOME_KEY1\",\n \"value\": \"SOME_VALUE1\",\n }],\n },\n source={\n \"type\": \"GITHUB\",\n \"location\": \"https://github.com/mitchellh/packer.git\",\n \"git_clone_depth\": 1,\n },\n tags={\n \"Environment\": \"Test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Acl = \"private\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codebuild.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateNetworkInterfacePermission\",\n },\n Resources = new[]\n {\n \"arn:aws:ec2:us-east-1:123456789012:network-interface/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"ec2:Subnet\",\n Values = new[]\n {\n example1.Arn,\n example2.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"ec2:AuthorizedService\",\n Values = new[]\n {\n \"codebuild.amazonaws.com\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n exampleBucketV2.Arn,\n $\"{exampleBucketV2.Arn}/*\",\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Role = exampleRole.Name,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleProject = new Aws.CodeBuild.Project(\"example\", new()\n {\n Name = \"test-project\",\n Description = \"test_codebuild_project\",\n BuildTimeout = 5,\n ServiceRole = exampleRole.Arn,\n Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs\n {\n Type = \"NO_ARTIFACTS\",\n },\n Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs\n {\n Type = \"S3\",\n Location = exampleBucketV2.Bucket,\n },\n Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs\n {\n ComputeType = \"BUILD_GENERAL1_SMALL\",\n Image = \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n Type = \"LINUX_CONTAINER\",\n ImagePullCredentialsType = \"CODEBUILD\",\n EnvironmentVariables = new[]\n {\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY1\",\n Value = \"SOME_VALUE1\",\n },\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY2\",\n Value = \"SOME_VALUE2\",\n Type = \"PARAMETER_STORE\",\n },\n },\n },\n LogsConfig = new Aws.CodeBuild.Inputs.ProjectLogsConfigArgs\n {\n CloudwatchLogs = new Aws.CodeBuild.Inputs.ProjectLogsConfigCloudwatchLogsArgs\n {\n GroupName = \"log-group\",\n StreamName = \"log-stream\",\n },\n S3Logs = new Aws.CodeBuild.Inputs.ProjectLogsConfigS3LogsArgs\n {\n Status = \"ENABLED\",\n Location = exampleBucketV2.Id.Apply(id =\u003e $\"{id}/build-log\"),\n },\n },\n Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs\n {\n Type = \"GITHUB\",\n Location = \"https://github.com/mitchellh/packer.git\",\n GitCloneDepth = 1,\n GitSubmodulesConfig = new Aws.CodeBuild.Inputs.ProjectSourceGitSubmodulesConfigArgs\n {\n FetchSubmodules = true,\n },\n },\n SourceVersion = \"master\",\n VpcConfig = new Aws.CodeBuild.Inputs.ProjectVpcConfigArgs\n {\n VpcId = exampleAwsVpc.Id,\n Subnets = new[]\n {\n example1.Id,\n example2.Id,\n },\n SecurityGroupIds = new[]\n {\n example1AwsSecurityGroup.Id,\n example2AwsSecurityGroup.Id,\n },\n },\n Tags = \n {\n { \"Environment\", \"Test\" },\n },\n });\n\n var project_with_cache = new Aws.CodeBuild.Project(\"project-with-cache\", new()\n {\n Name = \"test-project-cache\",\n Description = \"test_codebuild_project_cache\",\n BuildTimeout = 5,\n QueuedTimeout = 5,\n ServiceRole = exampleRole.Arn,\n Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs\n {\n Type = \"NO_ARTIFACTS\",\n },\n Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs\n {\n Type = \"LOCAL\",\n Modes = new[]\n {\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n },\n },\n Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs\n {\n ComputeType = \"BUILD_GENERAL1_SMALL\",\n Image = \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n Type = \"LINUX_CONTAINER\",\n ImagePullCredentialsType = \"CODEBUILD\",\n EnvironmentVariables = new[]\n {\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY1\",\n Value = \"SOME_VALUE1\",\n },\n },\n },\n Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs\n {\n Type = \"GITHUB\",\n Location = \"https://github.com/mitchellh/packer.git\",\n GitCloneDepth = 1,\n },\n Tags = \n {\n { \"Environment\", \"Test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"example\"),\n})\nif err != nil {\nreturn err\n}\n_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\nBucket: exampleBucketV2.ID(),\nAcl: pulumi.String(\"private\"),\n})\nif err != nil {\nreturn err\n}\nassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"codebuild.amazonaws.com\",\n},\n},\n},\nActions: []string{\n\"sts:AssumeRole\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\nName: pulumi.String(\"example\"),\nAssumeRolePolicy: pulumi.String(assumeRole.Json),\n})\nif err != nil {\nreturn err\n}\nexample := pulumi.All(exampleBucketV2.Arn,exampleBucketV2.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\nexampleBucketV2Arn := _args[0].(string)\nexampleBucketV2Arn1 := _args[1].(string)\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nActions: []string{\n\"logs:CreateLogGroup\",\n\"logs:CreateLogStream\",\n\"logs:PutLogEvents\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nEffect: \"Allow\",\nActions: []string{\n\"ec2:CreateNetworkInterface\",\n\"ec2:DescribeDhcpOptions\",\n\"ec2:DescribeNetworkInterfaces\",\n\"ec2:DeleteNetworkInterface\",\n\"ec2:DescribeSubnets\",\n\"ec2:DescribeSecurityGroups\",\n\"ec2:DescribeVpcs\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nEffect: \"Allow\",\nActions: []string{\n\"ec2:CreateNetworkInterfacePermission\",\n},\nResources: []string{\n\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"ec2:Subnet\",\nValues: interface{}{\nexample1.Arn,\nexample2.Arn,\n},\n},\n{\nTest: \"StringEquals\",\nVariable: \"ec2:AuthorizedService\",\nValues: []string{\n\"codebuild.amazonaws.com\",\n},\n},\n},\n},\n{\nEffect: \"Allow\",\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\nexampleBucketV2Arn,\nfmt.Sprintf(\"%v/*\", exampleBucketV2Arn1),\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\nRole: exampleRole.Name,\nPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = codebuild.NewProject(ctx, \"example\", \u0026codebuild.ProjectArgs{\nName: pulumi.String(\"test-project\"),\nDescription: pulumi.String(\"test_codebuild_project\"),\nBuildTimeout: pulumi.Int(5),\nServiceRole: exampleRole.Arn,\nArtifacts: \u0026codebuild.ProjectArtifactsArgs{\nType: pulumi.String(\"NO_ARTIFACTS\"),\n},\nCache: \u0026codebuild.ProjectCacheArgs{\nType: pulumi.String(\"S3\"),\nLocation: exampleBucketV2.Bucket,\n},\nEnvironment: \u0026codebuild.ProjectEnvironmentArgs{\nComputeType: pulumi.String(\"BUILD_GENERAL1_SMALL\"),\nImage: pulumi.String(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\"),\nType: pulumi.String(\"LINUX_CONTAINER\"),\nImagePullCredentialsType: pulumi.String(\"CODEBUILD\"),\nEnvironmentVariables: codebuild.ProjectEnvironmentEnvironmentVariableArray{\n\u0026codebuild.ProjectEnvironmentEnvironmentVariableArgs{\nName: pulumi.String(\"SOME_KEY1\"),\nValue: pulumi.String(\"SOME_VALUE1\"),\n},\n\u0026codebuild.ProjectEnvironmentEnvironmentVariableArgs{\nName: pulumi.String(\"SOME_KEY2\"),\nValue: pulumi.String(\"SOME_VALUE2\"),\nType: pulumi.String(\"PARAMETER_STORE\"),\n},\n},\n},\nLogsConfig: \u0026codebuild.ProjectLogsConfigArgs{\nCloudwatchLogs: \u0026codebuild.ProjectLogsConfigCloudwatchLogsArgs{\nGroupName: pulumi.String(\"log-group\"),\nStreamName: pulumi.String(\"log-stream\"),\n},\nS3Logs: \u0026codebuild.ProjectLogsConfigS3LogsArgs{\nStatus: pulumi.String(\"ENABLED\"),\nLocation: exampleBucketV2.ID().ApplyT(func(id string) (string, error) {\nreturn fmt.Sprintf(\"%v/build-log\", id), nil\n}).(pulumi.StringOutput),\n},\n},\nSource: \u0026codebuild.ProjectSourceArgs{\nType: pulumi.String(\"GITHUB\"),\nLocation: pulumi.String(\"https://github.com/mitchellh/packer.git\"),\nGitCloneDepth: pulumi.Int(1),\nGitSubmodulesConfig: \u0026codebuild.ProjectSourceGitSubmodulesConfigArgs{\nFetchSubmodules: pulumi.Bool(true),\n},\n},\nSourceVersion: pulumi.String(\"master\"),\nVpcConfig: \u0026codebuild.ProjectVpcConfigArgs{\nVpcId: pulumi.Any(exampleAwsVpc.Id),\nSubnets: pulumi.StringArray{\nexample1.Id,\nexample2.Id,\n},\nSecurityGroupIds: pulumi.StringArray{\nexample1AwsSecurityGroup.Id,\nexample2AwsSecurityGroup.Id,\n},\n},\nTags: pulumi.StringMap{\n\"Environment\": pulumi.String(\"Test\"),\n},\n})\nif err != nil {\nreturn err\n}\n_, err = codebuild.NewProject(ctx, \"project-with-cache\", \u0026codebuild.ProjectArgs{\nName: pulumi.String(\"test-project-cache\"),\nDescription: pulumi.String(\"test_codebuild_project_cache\"),\nBuildTimeout: pulumi.Int(5),\nQueuedTimeout: pulumi.Int(5),\nServiceRole: exampleRole.Arn,\nArtifacts: \u0026codebuild.ProjectArtifactsArgs{\nType: pulumi.String(\"NO_ARTIFACTS\"),\n},\nCache: \u0026codebuild.ProjectCacheArgs{\nType: pulumi.String(\"LOCAL\"),\nModes: pulumi.StringArray{\npulumi.String(\"LOCAL_DOCKER_LAYER_CACHE\"),\npulumi.String(\"LOCAL_SOURCE_CACHE\"),\n},\n},\nEnvironment: \u0026codebuild.ProjectEnvironmentArgs{\nComputeType: pulumi.String(\"BUILD_GENERAL1_SMALL\"),\nImage: pulumi.String(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\"),\nType: pulumi.String(\"LINUX_CONTAINER\"),\nImagePullCredentialsType: pulumi.String(\"CODEBUILD\"),\nEnvironmentVariables: codebuild.ProjectEnvironmentEnvironmentVariableArray{\n\u0026codebuild.ProjectEnvironmentEnvironmentVariableArgs{\nName: pulumi.String(\"SOME_KEY1\"),\nValue: pulumi.String(\"SOME_VALUE1\"),\n},\n},\n},\nSource: \u0026codebuild.ProjectSourceArgs{\nType: pulumi.String(\"GITHUB\"),\nLocation: pulumi.String(\"https://github.com/mitchellh/packer.git\"),\nGitCloneDepth: pulumi.Int(1),\n},\nTags: pulumi.StringMap{\n\"Environment\": pulumi.String(\"Test\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.codebuild.Project;\nimport com.pulumi.aws.codebuild.ProjectArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectArtifactsArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectCacheArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectEnvironmentArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectLogsConfigArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectLogsConfigCloudwatchLogsArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectLogsConfigS3LogsArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectSourceArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectSourceGitSubmodulesConfigArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectVpcConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(exampleBucketV2.id())\n .acl(\"private\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codebuild.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:CreateNetworkInterfacePermission\")\n .resources(\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\")\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"ec2:Subnet\")\n .values( \n example1.arn(),\n example2.arn())\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"ec2:AuthorizedService\")\n .values(\"codebuild.amazonaws.com\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources( \n exampleBucketV2.arn(),\n exampleBucketV2.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .role(exampleRole.name())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n .name(\"test-project\")\n .description(\"test_codebuild_project\")\n .buildTimeout(5)\n .serviceRole(exampleRole.arn())\n .artifacts(ProjectArtifactsArgs.builder()\n .type(\"NO_ARTIFACTS\")\n .build())\n .cache(ProjectCacheArgs.builder()\n .type(\"S3\")\n .location(exampleBucketV2.bucket())\n .build())\n .environment(ProjectEnvironmentArgs.builder()\n .computeType(\"BUILD_GENERAL1_SMALL\")\n .image(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\")\n .type(\"LINUX_CONTAINER\")\n .imagePullCredentialsType(\"CODEBUILD\")\n .environmentVariables( \n ProjectEnvironmentEnvironmentVariableArgs.builder()\n .name(\"SOME_KEY1\")\n .value(\"SOME_VALUE1\")\n .build(),\n ProjectEnvironmentEnvironmentVariableArgs.builder()\n .name(\"SOME_KEY2\")\n .value(\"SOME_VALUE2\")\n .type(\"PARAMETER_STORE\")\n .build())\n .build())\n .logsConfig(ProjectLogsConfigArgs.builder()\n .cloudwatchLogs(ProjectLogsConfigCloudwatchLogsArgs.builder()\n .groupName(\"log-group\")\n .streamName(\"log-stream\")\n .build())\n .s3Logs(ProjectLogsConfigS3LogsArgs.builder()\n .status(\"ENABLED\")\n .location(exampleBucketV2.id().applyValue(id -\u003e String.format(\"%s/build-log\", id)))\n .build())\n .build())\n .source(ProjectSourceArgs.builder()\n .type(\"GITHUB\")\n .location(\"https://github.com/mitchellh/packer.git\")\n .gitCloneDepth(1)\n .gitSubmodulesConfig(ProjectSourceGitSubmodulesConfigArgs.builder()\n .fetchSubmodules(true)\n .build())\n .build())\n .sourceVersion(\"master\")\n .vpcConfig(ProjectVpcConfigArgs.builder()\n .vpcId(exampleAwsVpc.id())\n .subnets( \n example1.id(),\n example2.id())\n .securityGroupIds( \n example1AwsSecurityGroup.id(),\n example2AwsSecurityGroup.id())\n .build())\n .tags(Map.of(\"Environment\", \"Test\"))\n .build());\n\n var project_with_cache = new Project(\"project-with-cache\", ProjectArgs.builder()\n .name(\"test-project-cache\")\n .description(\"test_codebuild_project_cache\")\n .buildTimeout(5)\n .queuedTimeout(5)\n .serviceRole(exampleRole.arn())\n .artifacts(ProjectArtifactsArgs.builder()\n .type(\"NO_ARTIFACTS\")\n .build())\n .cache(ProjectCacheArgs.builder()\n .type(\"LOCAL\")\n .modes( \n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\")\n .build())\n .environment(ProjectEnvironmentArgs.builder()\n .computeType(\"BUILD_GENERAL1_SMALL\")\n .image(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\")\n .type(\"LINUX_CONTAINER\")\n .imagePullCredentialsType(\"CODEBUILD\")\n .environmentVariables(ProjectEnvironmentEnvironmentVariableArgs.builder()\n .name(\"SOME_KEY1\")\n .value(\"SOME_VALUE1\")\n .build())\n .build())\n .source(ProjectSourceArgs.builder()\n .type(\"GITHUB\")\n .location(\"https://github.com/mitchellh/packer.git\")\n .gitCloneDepth(1)\n .build())\n .tags(Map.of(\"Environment\", \"Test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n acl: private\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n role: ${exampleRole.name}\n policy: ${example.json}\n exampleProject:\n type: aws:codebuild:Project\n name: example\n properties:\n name: test-project\n description: test_codebuild_project\n buildTimeout: 5\n serviceRole: ${exampleRole.arn}\n artifacts:\n type: NO_ARTIFACTS\n cache:\n type: S3\n location: ${exampleBucketV2.bucket}\n environment:\n computeType: BUILD_GENERAL1_SMALL\n image: aws/codebuild/amazonlinux2-x86_64-standard:4.0\n type: LINUX_CONTAINER\n imagePullCredentialsType: CODEBUILD\n environmentVariables:\n - name: SOME_KEY1\n value: SOME_VALUE1\n - name: SOME_KEY2\n value: SOME_VALUE2\n type: PARAMETER_STORE\n logsConfig:\n cloudwatchLogs:\n groupName: log-group\n streamName: log-stream\n s3Logs:\n status: ENABLED\n location: ${exampleBucketV2.id}/build-log\n source:\n type: GITHUB\n location: https://github.com/mitchellh/packer.git\n gitCloneDepth: 1\n gitSubmodulesConfig:\n fetchSubmodules: true\n sourceVersion: master\n vpcConfig:\n vpcId: ${exampleAwsVpc.id}\n subnets:\n - ${example1.id}\n - ${example2.id}\n securityGroupIds:\n - ${example1AwsSecurityGroup.id}\n - ${example2AwsSecurityGroup.id}\n tags:\n Environment: Test\n project-with-cache:\n type: aws:codebuild:Project\n properties:\n name: test-project-cache\n description: test_codebuild_project_cache\n buildTimeout: 5\n queuedTimeout: 5\n serviceRole: ${exampleRole.arn}\n artifacts:\n type: NO_ARTIFACTS\n cache:\n type: LOCAL\n modes:\n - LOCAL_DOCKER_LAYER_CACHE\n - LOCAL_SOURCE_CACHE\n environment:\n computeType: BUILD_GENERAL1_SMALL\n image: aws/codebuild/amazonlinux2-x86_64-standard:4.0\n type: LINUX_CONTAINER\n imagePullCredentialsType: CODEBUILD\n environmentVariables:\n - name: SOME_KEY1\n value: SOME_VALUE1\n source:\n type: GITHUB\n location: https://github.com/mitchellh/packer.git\n gitCloneDepth: 1\n tags:\n Environment: Test\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - codebuild.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:PutLogEvents\n resources:\n - '*'\n - effect: Allow\n actions:\n - ec2:CreateNetworkInterface\n - ec2:DescribeDhcpOptions\n - ec2:DescribeNetworkInterfaces\n - ec2:DeleteNetworkInterface\n - ec2:DescribeSubnets\n - ec2:DescribeSecurityGroups\n - ec2:DescribeVpcs\n resources:\n - '*'\n - effect: Allow\n actions:\n - ec2:CreateNetworkInterfacePermission\n resources:\n - arn:aws:ec2:us-east-1:123456789012:network-interface/*\n conditions:\n - test: StringEquals\n variable: ec2:Subnet\n values:\n - ${example1.arn}\n - ${example2.arn}\n - test: StringEquals\n variable: ec2:AuthorizedService\n values:\n - codebuild.amazonaws.com\n - effect: Allow\n actions:\n - s3:*\n resources:\n - ${exampleBucketV2.arn}\n - ${exampleBucketV2.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeBuild Project using the `name`. For example:\n\n```sh\n$ pulumi import aws:codebuild/project:Project name project-name\n```\n", + "description": "Provides a CodeBuild Project resource. See also the `aws.codebuild.Webhook` resource, which manages the webhook to the source (e.g., the \"rebuild every time a code change is pushed\" option in the CodeBuild web console).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: exampleBucketV2.id,\n acl: \"private\",\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"codebuild.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = pulumi.all([exampleBucketV2.arn, exampleBucketV2.arn]).apply(([exampleBucketV2Arn, exampleBucketV2Arn1]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\",\n ],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\"ec2:CreateNetworkInterfacePermission\"],\n resources: [\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\"],\n conditions: [\n {\n test: \"StringEquals\",\n variable: \"ec2:Subnet\",\n values: [\n example1.arn,\n example2.arn,\n ],\n },\n {\n test: \"StringEquals\",\n variable: \"ec2:AuthorizedService\",\n values: [\"codebuild.amazonaws.com\"],\n },\n ],\n },\n {\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\n exampleBucketV2Arn,\n `${exampleBucketV2Arn1}/*`,\n ],\n },\n ],\n}));\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n role: exampleRole.name,\n policy: example.apply(example =\u003e example.json),\n});\nconst exampleProject = new aws.codebuild.Project(\"example\", {\n name: \"test-project\",\n description: \"test_codebuild_project\",\n buildTimeout: 5,\n serviceRole: exampleRole.arn,\n artifacts: {\n type: \"NO_ARTIFACTS\",\n },\n cache: {\n type: \"S3\",\n location: exampleBucketV2.bucket,\n },\n environment: {\n computeType: \"BUILD_GENERAL1_SMALL\",\n image: \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type: \"LINUX_CONTAINER\",\n imagePullCredentialsType: \"CODEBUILD\",\n environmentVariables: [\n {\n name: \"SOME_KEY1\",\n value: \"SOME_VALUE1\",\n },\n {\n name: \"SOME_KEY2\",\n value: \"SOME_VALUE2\",\n type: \"PARAMETER_STORE\",\n },\n ],\n },\n logsConfig: {\n cloudwatchLogs: {\n groupName: \"log-group\",\n streamName: \"log-stream\",\n },\n s3Logs: {\n status: \"ENABLED\",\n location: pulumi.interpolate`${exampleBucketV2.id}/build-log`,\n },\n },\n source: {\n type: \"GITHUB\",\n location: \"https://github.com/mitchellh/packer.git\",\n gitCloneDepth: 1,\n gitSubmodulesConfig: {\n fetchSubmodules: true,\n },\n },\n sourceVersion: \"master\",\n vpcConfig: {\n vpcId: exampleAwsVpc.id,\n subnets: [\n example1.id,\n example2.id,\n ],\n securityGroupIds: [\n example1AwsSecurityGroup.id,\n example2AwsSecurityGroup.id,\n ],\n },\n tags: {\n Environment: \"Test\",\n },\n});\nconst project_with_cache = new aws.codebuild.Project(\"project-with-cache\", {\n name: \"test-project-cache\",\n description: \"test_codebuild_project_cache\",\n buildTimeout: 5,\n queuedTimeout: 5,\n serviceRole: exampleRole.arn,\n artifacts: {\n type: \"NO_ARTIFACTS\",\n },\n cache: {\n type: \"LOCAL\",\n modes: [\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n ],\n },\n environment: {\n computeType: \"BUILD_GENERAL1_SMALL\",\n image: \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type: \"LINUX_CONTAINER\",\n imagePullCredentialsType: \"CODEBUILD\",\n environmentVariables: [{\n name: \"SOME_KEY1\",\n value: \"SOME_VALUE1\",\n }],\n },\n source: {\n type: \"GITHUB\",\n location: \"https://github.com/mitchellh/packer.git\",\n gitCloneDepth: 1,\n },\n tags: {\n Environment: \"Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example_bucket_v2.id,\n acl=\"private\")\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"codebuild.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample = pulumi.Output.all(\n exampleBucketV2Arn=example_bucket_v2.arn,\n exampleBucketV2Arn1=example_bucket_v2.arn\n).apply(lambda resolved_outputs: aws.iam.get_policy_document_output(statements=[\n {\n \"effect\": \"Allow\",\n \"actions\": [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n \"resources\": [\"*\"],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\",\n ],\n \"resources\": [\"*\"],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\"ec2:CreateNetworkInterfacePermission\"],\n \"resources\": [\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\"],\n \"conditions\": [\n {\n \"test\": \"StringEquals\",\n \"variable\": \"ec2:Subnet\",\n \"values\": [\n example1[\"arn\"],\n example2[\"arn\"],\n ],\n },\n {\n \"test\": \"StringEquals\",\n \"variable\": \"ec2:AuthorizedService\",\n \"values\": [\"codebuild.amazonaws.com\"],\n },\n ],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\n resolved_outputs['exampleBucketV2Arn'],\n f\"{resolved_outputs['exampleBucketV2Arn1']}/*\",\n ],\n },\n]))\n\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n role=example_role.name,\n policy=example.json)\nexample_project = aws.codebuild.Project(\"example\",\n name=\"test-project\",\n description=\"test_codebuild_project\",\n build_timeout=5,\n service_role=example_role.arn,\n artifacts={\n \"type\": \"NO_ARTIFACTS\",\n },\n cache={\n \"type\": \"S3\",\n \"location\": example_bucket_v2.bucket,\n },\n environment={\n \"compute_type\": \"BUILD_GENERAL1_SMALL\",\n \"image\": \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n \"type\": \"LINUX_CONTAINER\",\n \"image_pull_credentials_type\": \"CODEBUILD\",\n \"environment_variables\": [\n {\n \"name\": \"SOME_KEY1\",\n \"value\": \"SOME_VALUE1\",\n },\n {\n \"name\": \"SOME_KEY2\",\n \"value\": \"SOME_VALUE2\",\n \"type\": \"PARAMETER_STORE\",\n },\n ],\n },\n logs_config={\n \"cloudwatch_logs\": {\n \"group_name\": \"log-group\",\n \"stream_name\": \"log-stream\",\n },\n \"s3_logs\": {\n \"status\": \"ENABLED\",\n \"location\": example_bucket_v2.id.apply(lambda id: f\"{id}/build-log\"),\n },\n },\n source={\n \"type\": \"GITHUB\",\n \"location\": \"https://github.com/mitchellh/packer.git\",\n \"git_clone_depth\": 1,\n \"git_submodules_config\": {\n \"fetch_submodules\": True,\n },\n },\n source_version=\"master\",\n vpc_config={\n \"vpc_id\": example_aws_vpc[\"id\"],\n \"subnets\": [\n example1[\"id\"],\n example2[\"id\"],\n ],\n \"security_group_ids\": [\n example1_aws_security_group[\"id\"],\n example2_aws_security_group[\"id\"],\n ],\n },\n tags={\n \"Environment\": \"Test\",\n })\nproject_with_cache = aws.codebuild.Project(\"project-with-cache\",\n name=\"test-project-cache\",\n description=\"test_codebuild_project_cache\",\n build_timeout=5,\n queued_timeout=5,\n service_role=example_role.arn,\n artifacts={\n \"type\": \"NO_ARTIFACTS\",\n },\n cache={\n \"type\": \"LOCAL\",\n \"modes\": [\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n ],\n },\n environment={\n \"compute_type\": \"BUILD_GENERAL1_SMALL\",\n \"image\": \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n \"type\": \"LINUX_CONTAINER\",\n \"image_pull_credentials_type\": \"CODEBUILD\",\n \"environment_variables\": [{\n \"name\": \"SOME_KEY1\",\n \"value\": \"SOME_VALUE1\",\n }],\n },\n source={\n \"type\": \"GITHUB\",\n \"location\": \"https://github.com/mitchellh/packer.git\",\n \"git_clone_depth\": 1,\n },\n tags={\n \"Environment\": \"Test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Acl = \"private\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codebuild.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateNetworkInterfacePermission\",\n },\n Resources = new[]\n {\n \"arn:aws:ec2:us-east-1:123456789012:network-interface/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"ec2:Subnet\",\n Values = new[]\n {\n example1.Arn,\n example2.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"ec2:AuthorizedService\",\n Values = new[]\n {\n \"codebuild.amazonaws.com\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n exampleBucketV2.Arn,\n $\"{exampleBucketV2.Arn}/*\",\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Role = exampleRole.Name,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleProject = new Aws.CodeBuild.Project(\"example\", new()\n {\n Name = \"test-project\",\n Description = \"test_codebuild_project\",\n BuildTimeout = 5,\n ServiceRole = exampleRole.Arn,\n Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs\n {\n Type = \"NO_ARTIFACTS\",\n },\n Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs\n {\n Type = \"S3\",\n Location = exampleBucketV2.Bucket,\n },\n Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs\n {\n ComputeType = \"BUILD_GENERAL1_SMALL\",\n Image = \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n Type = \"LINUX_CONTAINER\",\n ImagePullCredentialsType = \"CODEBUILD\",\n EnvironmentVariables = new[]\n {\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY1\",\n Value = \"SOME_VALUE1\",\n },\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY2\",\n Value = \"SOME_VALUE2\",\n Type = \"PARAMETER_STORE\",\n },\n },\n },\n LogsConfig = new Aws.CodeBuild.Inputs.ProjectLogsConfigArgs\n {\n CloudwatchLogs = new Aws.CodeBuild.Inputs.ProjectLogsConfigCloudwatchLogsArgs\n {\n GroupName = \"log-group\",\n StreamName = \"log-stream\",\n },\n S3Logs = new Aws.CodeBuild.Inputs.ProjectLogsConfigS3LogsArgs\n {\n Status = \"ENABLED\",\n Location = exampleBucketV2.Id.Apply(id =\u003e $\"{id}/build-log\"),\n },\n },\n Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs\n {\n Type = \"GITHUB\",\n Location = \"https://github.com/mitchellh/packer.git\",\n GitCloneDepth = 1,\n GitSubmodulesConfig = new Aws.CodeBuild.Inputs.ProjectSourceGitSubmodulesConfigArgs\n {\n FetchSubmodules = true,\n },\n },\n SourceVersion = \"master\",\n VpcConfig = new Aws.CodeBuild.Inputs.ProjectVpcConfigArgs\n {\n VpcId = exampleAwsVpc.Id,\n Subnets = new[]\n {\n example1.Id,\n example2.Id,\n },\n SecurityGroupIds = new[]\n {\n example1AwsSecurityGroup.Id,\n example2AwsSecurityGroup.Id,\n },\n },\n Tags = \n {\n { \"Environment\", \"Test\" },\n },\n });\n\n var project_with_cache = new Aws.CodeBuild.Project(\"project-with-cache\", new()\n {\n Name = \"test-project-cache\",\n Description = \"test_codebuild_project_cache\",\n BuildTimeout = 5,\n QueuedTimeout = 5,\n ServiceRole = exampleRole.Arn,\n Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs\n {\n Type = \"NO_ARTIFACTS\",\n },\n Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs\n {\n Type = \"LOCAL\",\n Modes = new[]\n {\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n },\n },\n Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs\n {\n ComputeType = \"BUILD_GENERAL1_SMALL\",\n Image = \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n Type = \"LINUX_CONTAINER\",\n ImagePullCredentialsType = \"CODEBUILD\",\n EnvironmentVariables = new[]\n {\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY1\",\n Value = \"SOME_VALUE1\",\n },\n },\n },\n Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs\n {\n Type = \"GITHUB\",\n Location = \"https://github.com/mitchellh/packer.git\",\n GitCloneDepth = 1,\n },\n Tags = \n {\n { \"Environment\", \"Test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"example\"),\n})\nif err != nil {\nreturn err\n}\n_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\nBucket: exampleBucketV2.ID(),\nAcl: pulumi.String(\"private\"),\n})\nif err != nil {\nreturn err\n}\nassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"codebuild.amazonaws.com\",\n},\n},\n},\nActions: []string{\n\"sts:AssumeRole\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\nName: pulumi.String(\"example\"),\nAssumeRolePolicy: pulumi.String(assumeRole.Json),\n})\nif err != nil {\nreturn err\n}\nexample := pulumi.All(exampleBucketV2.Arn,exampleBucketV2.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\nexampleBucketV2Arn := _args[0].(string)\nexampleBucketV2Arn1 := _args[1].(string)\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nActions: []string{\n\"logs:CreateLogGroup\",\n\"logs:CreateLogStream\",\n\"logs:PutLogEvents\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nEffect: \"Allow\",\nActions: []string{\n\"ec2:CreateNetworkInterface\",\n\"ec2:DescribeDhcpOptions\",\n\"ec2:DescribeNetworkInterfaces\",\n\"ec2:DeleteNetworkInterface\",\n\"ec2:DescribeSubnets\",\n\"ec2:DescribeSecurityGroups\",\n\"ec2:DescribeVpcs\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nEffect: \"Allow\",\nActions: []string{\n\"ec2:CreateNetworkInterfacePermission\",\n},\nResources: []string{\n\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"ec2:Subnet\",\nValues: interface{}{\nexample1.Arn,\nexample2.Arn,\n},\n},\n{\nTest: \"StringEquals\",\nVariable: \"ec2:AuthorizedService\",\nValues: []string{\n\"codebuild.amazonaws.com\",\n},\n},\n},\n},\n{\nEffect: \"Allow\",\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\nexampleBucketV2Arn,\nfmt.Sprintf(\"%v/*\", exampleBucketV2Arn1),\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\nRole: exampleRole.Name,\nPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = codebuild.NewProject(ctx, \"example\", \u0026codebuild.ProjectArgs{\nName: pulumi.String(\"test-project\"),\nDescription: pulumi.String(\"test_codebuild_project\"),\nBuildTimeout: pulumi.Int(5),\nServiceRole: exampleRole.Arn,\nArtifacts: \u0026codebuild.ProjectArtifactsArgs{\nType: pulumi.String(\"NO_ARTIFACTS\"),\n},\nCache: \u0026codebuild.ProjectCacheArgs{\nType: pulumi.String(\"S3\"),\nLocation: exampleBucketV2.Bucket,\n},\nEnvironment: \u0026codebuild.ProjectEnvironmentArgs{\nComputeType: pulumi.String(\"BUILD_GENERAL1_SMALL\"),\nImage: pulumi.String(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\"),\nType: pulumi.String(\"LINUX_CONTAINER\"),\nImagePullCredentialsType: pulumi.String(\"CODEBUILD\"),\nEnvironmentVariables: codebuild.ProjectEnvironmentEnvironmentVariableArray{\n\u0026codebuild.ProjectEnvironmentEnvironmentVariableArgs{\nName: pulumi.String(\"SOME_KEY1\"),\nValue: pulumi.String(\"SOME_VALUE1\"),\n},\n\u0026codebuild.ProjectEnvironmentEnvironmentVariableArgs{\nName: pulumi.String(\"SOME_KEY2\"),\nValue: pulumi.String(\"SOME_VALUE2\"),\nType: pulumi.String(\"PARAMETER_STORE\"),\n},\n},\n},\nLogsConfig: \u0026codebuild.ProjectLogsConfigArgs{\nCloudwatchLogs: \u0026codebuild.ProjectLogsConfigCloudwatchLogsArgs{\nGroupName: pulumi.String(\"log-group\"),\nStreamName: pulumi.String(\"log-stream\"),\n},\nS3Logs: \u0026codebuild.ProjectLogsConfigS3LogsArgs{\nStatus: pulumi.String(\"ENABLED\"),\nLocation: exampleBucketV2.ID().ApplyT(func(id string) (string, error) {\nreturn fmt.Sprintf(\"%v/build-log\", id), nil\n}).(pulumi.StringOutput),\n},\n},\nSource: \u0026codebuild.ProjectSourceArgs{\nType: pulumi.String(\"GITHUB\"),\nLocation: pulumi.String(\"https://github.com/mitchellh/packer.git\"),\nGitCloneDepth: pulumi.Int(1),\nGitSubmodulesConfig: \u0026codebuild.ProjectSourceGitSubmodulesConfigArgs{\nFetchSubmodules: pulumi.Bool(true),\n},\n},\nSourceVersion: pulumi.String(\"master\"),\nVpcConfig: \u0026codebuild.ProjectVpcConfigArgs{\nVpcId: pulumi.Any(exampleAwsVpc.Id),\nSubnets: pulumi.StringArray{\nexample1.Id,\nexample2.Id,\n},\nSecurityGroupIds: pulumi.StringArray{\nexample1AwsSecurityGroup.Id,\nexample2AwsSecurityGroup.Id,\n},\n},\nTags: pulumi.StringMap{\n\"Environment\": pulumi.String(\"Test\"),\n},\n})\nif err != nil {\nreturn err\n}\n_, err = codebuild.NewProject(ctx, \"project-with-cache\", \u0026codebuild.ProjectArgs{\nName: pulumi.String(\"test-project-cache\"),\nDescription: pulumi.String(\"test_codebuild_project_cache\"),\nBuildTimeout: pulumi.Int(5),\nQueuedTimeout: pulumi.Int(5),\nServiceRole: exampleRole.Arn,\nArtifacts: \u0026codebuild.ProjectArtifactsArgs{\nType: pulumi.String(\"NO_ARTIFACTS\"),\n},\nCache: \u0026codebuild.ProjectCacheArgs{\nType: pulumi.String(\"LOCAL\"),\nModes: pulumi.StringArray{\npulumi.String(\"LOCAL_DOCKER_LAYER_CACHE\"),\npulumi.String(\"LOCAL_SOURCE_CACHE\"),\n},\n},\nEnvironment: \u0026codebuild.ProjectEnvironmentArgs{\nComputeType: pulumi.String(\"BUILD_GENERAL1_SMALL\"),\nImage: pulumi.String(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\"),\nType: pulumi.String(\"LINUX_CONTAINER\"),\nImagePullCredentialsType: pulumi.String(\"CODEBUILD\"),\nEnvironmentVariables: codebuild.ProjectEnvironmentEnvironmentVariableArray{\n\u0026codebuild.ProjectEnvironmentEnvironmentVariableArgs{\nName: pulumi.String(\"SOME_KEY1\"),\nValue: pulumi.String(\"SOME_VALUE1\"),\n},\n},\n},\nSource: \u0026codebuild.ProjectSourceArgs{\nType: pulumi.String(\"GITHUB\"),\nLocation: pulumi.String(\"https://github.com/mitchellh/packer.git\"),\nGitCloneDepth: pulumi.Int(1),\n},\nTags: pulumi.StringMap{\n\"Environment\": pulumi.String(\"Test\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.codebuild.Project;\nimport com.pulumi.aws.codebuild.ProjectArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectArtifactsArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectCacheArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectEnvironmentArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectLogsConfigArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectLogsConfigCloudwatchLogsArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectLogsConfigS3LogsArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectSourceArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectSourceGitSubmodulesConfigArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectVpcConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(exampleBucketV2.id())\n .acl(\"private\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codebuild.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:CreateNetworkInterfacePermission\")\n .resources(\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\")\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"ec2:Subnet\")\n .values( \n example1.arn(),\n example2.arn())\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"ec2:AuthorizedService\")\n .values(\"codebuild.amazonaws.com\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources( \n exampleBucketV2.arn(),\n exampleBucketV2.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .role(exampleRole.name())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n .name(\"test-project\")\n .description(\"test_codebuild_project\")\n .buildTimeout(5)\n .serviceRole(exampleRole.arn())\n .artifacts(ProjectArtifactsArgs.builder()\n .type(\"NO_ARTIFACTS\")\n .build())\n .cache(ProjectCacheArgs.builder()\n .type(\"S3\")\n .location(exampleBucketV2.bucket())\n .build())\n .environment(ProjectEnvironmentArgs.builder()\n .computeType(\"BUILD_GENERAL1_SMALL\")\n .image(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\")\n .type(\"LINUX_CONTAINER\")\n .imagePullCredentialsType(\"CODEBUILD\")\n .environmentVariables( \n ProjectEnvironmentEnvironmentVariableArgs.builder()\n .name(\"SOME_KEY1\")\n .value(\"SOME_VALUE1\")\n .build(),\n ProjectEnvironmentEnvironmentVariableArgs.builder()\n .name(\"SOME_KEY2\")\n .value(\"SOME_VALUE2\")\n .type(\"PARAMETER_STORE\")\n .build())\n .build())\n .logsConfig(ProjectLogsConfigArgs.builder()\n .cloudwatchLogs(ProjectLogsConfigCloudwatchLogsArgs.builder()\n .groupName(\"log-group\")\n .streamName(\"log-stream\")\n .build())\n .s3Logs(ProjectLogsConfigS3LogsArgs.builder()\n .status(\"ENABLED\")\n .location(exampleBucketV2.id().applyValue(id -\u003e String.format(\"%s/build-log\", id)))\n .build())\n .build())\n .source(ProjectSourceArgs.builder()\n .type(\"GITHUB\")\n .location(\"https://github.com/mitchellh/packer.git\")\n .gitCloneDepth(1)\n .gitSubmodulesConfig(ProjectSourceGitSubmodulesConfigArgs.builder()\n .fetchSubmodules(true)\n .build())\n .build())\n .sourceVersion(\"master\")\n .vpcConfig(ProjectVpcConfigArgs.builder()\n .vpcId(exampleAwsVpc.id())\n .subnets( \n example1.id(),\n example2.id())\n .securityGroupIds( \n example1AwsSecurityGroup.id(),\n example2AwsSecurityGroup.id())\n .build())\n .tags(Map.of(\"Environment\", \"Test\"))\n .build());\n\n var project_with_cache = new Project(\"project-with-cache\", ProjectArgs.builder()\n .name(\"test-project-cache\")\n .description(\"test_codebuild_project_cache\")\n .buildTimeout(5)\n .queuedTimeout(5)\n .serviceRole(exampleRole.arn())\n .artifacts(ProjectArtifactsArgs.builder()\n .type(\"NO_ARTIFACTS\")\n .build())\n .cache(ProjectCacheArgs.builder()\n .type(\"LOCAL\")\n .modes( \n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\")\n .build())\n .environment(ProjectEnvironmentArgs.builder()\n .computeType(\"BUILD_GENERAL1_SMALL\")\n .image(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\")\n .type(\"LINUX_CONTAINER\")\n .imagePullCredentialsType(\"CODEBUILD\")\n .environmentVariables(ProjectEnvironmentEnvironmentVariableArgs.builder()\n .name(\"SOME_KEY1\")\n .value(\"SOME_VALUE1\")\n .build())\n .build())\n .source(ProjectSourceArgs.builder()\n .type(\"GITHUB\")\n .location(\"https://github.com/mitchellh/packer.git\")\n .gitCloneDepth(1)\n .build())\n .tags(Map.of(\"Environment\", \"Test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n acl: private\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n role: ${exampleRole.name}\n policy: ${example.json}\n exampleProject:\n type: aws:codebuild:Project\n name: example\n properties:\n name: test-project\n description: test_codebuild_project\n buildTimeout: 5\n serviceRole: ${exampleRole.arn}\n artifacts:\n type: NO_ARTIFACTS\n cache:\n type: S3\n location: ${exampleBucketV2.bucket}\n environment:\n computeType: BUILD_GENERAL1_SMALL\n image: aws/codebuild/amazonlinux2-x86_64-standard:4.0\n type: LINUX_CONTAINER\n imagePullCredentialsType: CODEBUILD\n environmentVariables:\n - name: SOME_KEY1\n value: SOME_VALUE1\n - name: SOME_KEY2\n value: SOME_VALUE2\n type: PARAMETER_STORE\n logsConfig:\n cloudwatchLogs:\n groupName: log-group\n streamName: log-stream\n s3Logs:\n status: ENABLED\n location: ${exampleBucketV2.id}/build-log\n source:\n type: GITHUB\n location: https://github.com/mitchellh/packer.git\n gitCloneDepth: 1\n gitSubmodulesConfig:\n fetchSubmodules: true\n sourceVersion: master\n vpcConfig:\n vpcId: ${exampleAwsVpc.id}\n subnets:\n - ${example1.id}\n - ${example2.id}\n securityGroupIds:\n - ${example1AwsSecurityGroup.id}\n - ${example2AwsSecurityGroup.id}\n tags:\n Environment: Test\n project-with-cache:\n type: aws:codebuild:Project\n properties:\n name: test-project-cache\n description: test_codebuild_project_cache\n buildTimeout: 5\n queuedTimeout: 5\n serviceRole: ${exampleRole.arn}\n artifacts:\n type: NO_ARTIFACTS\n cache:\n type: LOCAL\n modes:\n - LOCAL_DOCKER_LAYER_CACHE\n - LOCAL_SOURCE_CACHE\n environment:\n computeType: BUILD_GENERAL1_SMALL\n image: aws/codebuild/amazonlinux2-x86_64-standard:4.0\n type: LINUX_CONTAINER\n imagePullCredentialsType: CODEBUILD\n environmentVariables:\n - name: SOME_KEY1\n value: SOME_VALUE1\n source:\n type: GITHUB\n location: https://github.com/mitchellh/packer.git\n gitCloneDepth: 1\n tags:\n Environment: Test\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - codebuild.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:PutLogEvents\n resources:\n - '*'\n - effect: Allow\n actions:\n - ec2:CreateNetworkInterface\n - ec2:DescribeDhcpOptions\n - ec2:DescribeNetworkInterfaces\n - ec2:DeleteNetworkInterface\n - ec2:DescribeSubnets\n - ec2:DescribeSecurityGroups\n - ec2:DescribeVpcs\n resources:\n - '*'\n - effect: Allow\n actions:\n - ec2:CreateNetworkInterfacePermission\n resources:\n - arn:aws:ec2:us-east-1:123456789012:network-interface/*\n conditions:\n - test: StringEquals\n variable: ec2:Subnet\n values:\n - ${example1.arn}\n - ${example2.arn}\n - test: StringEquals\n variable: ec2:AuthorizedService\n values:\n - codebuild.amazonaws.com\n - effect: Allow\n actions:\n - s3:*\n resources:\n - ${exampleBucketV2.arn}\n - ${exampleBucketV2.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeBuild Project using the `name`. For example:\n\n```sh\n$ pulumi import aws:codebuild/project:Project name project-name\n```\n", "properties": { "arn": { "type": "string", @@ -207318,7 +207318,7 @@ } }, "aws:codebuild/reportGroup:ReportGroup": { - "description": "Provides a CodeBuild Report Groups Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n sid: \"Enable IAM User Permissions\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [`arn:aws:iam::${current.accountId}:root`],\n }],\n actions: [\"kms:*\"],\n resources: [\"*\"],\n }],\n}));\nconst exampleKey = new aws.kms.Key(\"example\", {\n description: \"my test kms key\",\n deletionWindowInDays: 7,\n policy: example.then(example =\u003e example.json),\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"my-test\"});\nconst exampleReportGroup = new aws.codebuild.ReportGroup(\"example\", {\n name: \"my test report group\",\n type: \"TEST\",\n exportConfig: {\n type: \"S3\",\n s3Destination: {\n bucket: exampleBucketV2.id,\n encryptionDisabled: false,\n encryptionKey: exampleKey.arn,\n packaging: \"NONE\",\n path: \"/some\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"Enable IAM User Permissions\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [f\"arn:aws:iam::{current.account_id}:root\"],\n }],\n \"actions\": [\"kms:*\"],\n \"resources\": [\"*\"],\n}])\nexample_key = aws.kms.Key(\"example\",\n description=\"my test kms key\",\n deletion_window_in_days=7,\n policy=example.json)\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"my-test\")\nexample_report_group = aws.codebuild.ReportGroup(\"example\",\n name=\"my test report group\",\n type=\"TEST\",\n export_config={\n \"type\": \"S3\",\n \"s3_destination\": {\n \"bucket\": example_bucket_v2.id,\n \"encryption_disabled\": False,\n \"encryption_key\": example_key.arn,\n \"packaging\": \"NONE\",\n \"path\": \"/some\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Enable IAM User Permissions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n Actions = new[]\n {\n \"kms:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"my test kms key\",\n DeletionWindowInDays = 7,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-test\",\n });\n\n var exampleReportGroup = new Aws.CodeBuild.ReportGroup(\"example\", new()\n {\n Name = \"my test report group\",\n Type = \"TEST\",\n ExportConfig = new Aws.CodeBuild.Inputs.ReportGroupExportConfigArgs\n {\n Type = \"S3\",\n S3Destination = new Aws.CodeBuild.Inputs.ReportGroupExportConfigS3DestinationArgs\n {\n Bucket = exampleBucketV2.Id,\n EncryptionDisabled = false,\n EncryptionKey = exampleKey.Arn,\n Packaging = \"NONE\",\n Path = \"/some\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Enable IAM User Permissions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"my test kms key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tPolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codebuild.NewReportGroup(ctx, \"example\", \u0026codebuild.ReportGroupArgs{\n\t\t\tName: pulumi.String(\"my test report group\"),\n\t\t\tType: pulumi.String(\"TEST\"),\n\t\t\tExportConfig: \u0026codebuild.ReportGroupExportConfigArgs{\n\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\tS3Destination: \u0026codebuild.ReportGroupExportConfigS3DestinationArgs{\n\t\t\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\t\t\tEncryptionDisabled: pulumi.Bool(false),\n\t\t\t\t\tEncryptionKey: exampleKey.Arn,\n\t\t\t\t\tPackaging: pulumi.String(\"NONE\"),\n\t\t\t\t\tPath: pulumi.String(\"/some\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.codebuild.ReportGroup;\nimport com.pulumi.aws.codebuild.ReportGroupArgs;\nimport com.pulumi.aws.codebuild.inputs.ReportGroupExportConfigArgs;\nimport com.pulumi.aws.codebuild.inputs.ReportGroupExportConfigS3DestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"Enable IAM User Permissions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .actions(\"kms:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"my test kms key\")\n .deletionWindowInDays(7)\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"my-test\")\n .build());\n\n var exampleReportGroup = new ReportGroup(\"exampleReportGroup\", ReportGroupArgs.builder()\n .name(\"my test report group\")\n .type(\"TEST\")\n .exportConfig(ReportGroupExportConfigArgs.builder()\n .type(\"S3\")\n .s3Destination(ReportGroupExportConfigS3DestinationArgs.builder()\n .bucket(exampleBucketV2.id())\n .encryptionDisabled(false)\n .encryptionKey(exampleKey.arn())\n .packaging(\"NONE\")\n .path(\"/some\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: my test kms key\n deletionWindowInDays: 7\n policy: ${example.json}\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: my-test\n exampleReportGroup:\n type: aws:codebuild:ReportGroup\n name: example\n properties:\n name: my test report group\n type: TEST\n exportConfig:\n type: S3\n s3Destination:\n bucket: ${exampleBucketV2.id}\n encryptionDisabled: false\n encryptionKey: ${exampleKey.arn}\n packaging: NONE\n path: /some\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: Enable IAM User Permissions\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n actions:\n - kms:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeBuild Report Group using the CodeBuild Report Group arn. For example:\n\n```sh\n$ pulumi import aws:codebuild/reportGroup:ReportGroup example arn:aws:codebuild:us-west-2:123456789:report-group/report-group-name\n```\n", + "description": "Provides a CodeBuild Report Groups Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n sid: \"Enable IAM User Permissions\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [`arn:aws:iam::${current.accountId}:root`],\n }],\n actions: [\"kms:*\"],\n resources: [\"*\"],\n }],\n}));\nconst exampleKey = new aws.kms.Key(\"example\", {\n description: \"my test kms key\",\n deletionWindowInDays: 7,\n policy: example.then(example =\u003e example.json),\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"my-test\"});\nconst exampleReportGroup = new aws.codebuild.ReportGroup(\"example\", {\n name: \"my test report group\",\n type: \"TEST\",\n exportConfig: {\n type: \"S3\",\n s3Destination: {\n bucket: exampleBucketV2.id,\n encryptionDisabled: false,\n encryptionKey: exampleKey.arn,\n packaging: \"NONE\",\n path: \"/some\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"Enable IAM User Permissions\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [f\"arn:aws:iam::{current.account_id}:root\"],\n }],\n \"actions\": [\"kms:*\"],\n \"resources\": [\"*\"],\n}])\nexample_key = aws.kms.Key(\"example\",\n description=\"my test kms key\",\n deletion_window_in_days=7,\n policy=example.json)\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"my-test\")\nexample_report_group = aws.codebuild.ReportGroup(\"example\",\n name=\"my test report group\",\n type=\"TEST\",\n export_config={\n \"type\": \"S3\",\n \"s3_destination\": {\n \"bucket\": example_bucket_v2.id,\n \"encryption_disabled\": False,\n \"encryption_key\": example_key.arn,\n \"packaging\": \"NONE\",\n \"path\": \"/some\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Enable IAM User Permissions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n Actions = new[]\n {\n \"kms:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"my test kms key\",\n DeletionWindowInDays = 7,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-test\",\n });\n\n var exampleReportGroup = new Aws.CodeBuild.ReportGroup(\"example\", new()\n {\n Name = \"my test report group\",\n Type = \"TEST\",\n ExportConfig = new Aws.CodeBuild.Inputs.ReportGroupExportConfigArgs\n {\n Type = \"S3\",\n S3Destination = new Aws.CodeBuild.Inputs.ReportGroupExportConfigS3DestinationArgs\n {\n Bucket = exampleBucketV2.Id,\n EncryptionDisabled = false,\n EncryptionKey = exampleKey.Arn,\n Packaging = \"NONE\",\n Path = \"/some\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Enable IAM User Permissions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"my test kms key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tPolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codebuild.NewReportGroup(ctx, \"example\", \u0026codebuild.ReportGroupArgs{\n\t\t\tName: pulumi.String(\"my test report group\"),\n\t\t\tType: pulumi.String(\"TEST\"),\n\t\t\tExportConfig: \u0026codebuild.ReportGroupExportConfigArgs{\n\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\tS3Destination: \u0026codebuild.ReportGroupExportConfigS3DestinationArgs{\n\t\t\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\t\t\tEncryptionDisabled: pulumi.Bool(false),\n\t\t\t\t\tEncryptionKey: exampleKey.Arn,\n\t\t\t\t\tPackaging: pulumi.String(\"NONE\"),\n\t\t\t\t\tPath: pulumi.String(\"/some\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.codebuild.ReportGroup;\nimport com.pulumi.aws.codebuild.ReportGroupArgs;\nimport com.pulumi.aws.codebuild.inputs.ReportGroupExportConfigArgs;\nimport com.pulumi.aws.codebuild.inputs.ReportGroupExportConfigS3DestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"Enable IAM User Permissions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .actions(\"kms:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"my test kms key\")\n .deletionWindowInDays(7)\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"my-test\")\n .build());\n\n var exampleReportGroup = new ReportGroup(\"exampleReportGroup\", ReportGroupArgs.builder()\n .name(\"my test report group\")\n .type(\"TEST\")\n .exportConfig(ReportGroupExportConfigArgs.builder()\n .type(\"S3\")\n .s3Destination(ReportGroupExportConfigS3DestinationArgs.builder()\n .bucket(exampleBucketV2.id())\n .encryptionDisabled(false)\n .encryptionKey(exampleKey.arn())\n .packaging(\"NONE\")\n .path(\"/some\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: my test kms key\n deletionWindowInDays: 7\n policy: ${example.json}\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: my-test\n exampleReportGroup:\n type: aws:codebuild:ReportGroup\n name: example\n properties:\n name: my test report group\n type: TEST\n exportConfig:\n type: S3\n s3Destination:\n bucket: ${exampleBucketV2.id}\n encryptionDisabled: false\n encryptionKey: ${exampleKey.arn}\n packaging: NONE\n path: /some\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Enable IAM User Permissions\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n actions:\n - kms:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeBuild Report Group using the CodeBuild Report Group arn. For example:\n\n```sh\n$ pulumi import aws:codebuild/reportGroup:ReportGroup example arn:aws:codebuild:us-west-2:123456789:report-group/report-group-name\n```\n", "properties": { "arn": { "type": "string", @@ -207448,7 +207448,7 @@ } }, "aws:codebuild/resourcePolicy:ResourcePolicy": { - "description": "Provides a CodeBuild Resource Policy Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codebuild.ReportGroup(\"example\", {\n name: \"example\",\n type: \"TEST\",\n exportConfig: {\n type: \"NO_EXPORT\",\n },\n});\nconst current = aws.getPartition({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst exampleResourcePolicy = new aws.codebuild.ResourcePolicy(\"example\", {\n resourceArn: example.arn,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Id: \"default\",\n Statement: [{\n Sid: \"default\",\n Effect: \"Allow\",\n Principal: {\n AWS: Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e `arn:${current.partition}:iam::${currentGetCallerIdentity.accountId}:root`),\n },\n Action: [\n \"codebuild:BatchGetReportGroups\",\n \"codebuild:BatchGetReports\",\n \"codebuild:ListReportsForReportGroup\",\n \"codebuild:DescribeTestCases\",\n ],\n Resource: example.arn,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.codebuild.ReportGroup(\"example\",\n name=\"example\",\n type=\"TEST\",\n export_config={\n \"type\": \"NO_EXPORT\",\n })\ncurrent = aws.get_partition()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample_resource_policy = aws.codebuild.ResourcePolicy(\"example\",\n resource_arn=example.arn,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Id\": \"default\",\n \"Statement\": [{\n \"Sid\": \"default\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:{current.partition}:iam::{current_get_caller_identity.account_id}:root\",\n },\n \"Action\": [\n \"codebuild:BatchGetReportGroups\",\n \"codebuild:BatchGetReports\",\n \"codebuild:ListReportsForReportGroup\",\n \"codebuild:DescribeTestCases\",\n ],\n \"Resource\": example.arn,\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeBuild.ReportGroup(\"example\", new()\n {\n Name = \"example\",\n Type = \"TEST\",\n ExportConfig = new Aws.CodeBuild.Inputs.ReportGroupExportConfigArgs\n {\n Type = \"NO_EXPORT\",\n },\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var exampleResourcePolicy = new Aws.CodeBuild.ResourcePolicy(\"example\", new()\n {\n ResourceArn = example.Arn,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Id\"] = \"default\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"default\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = Output.Tuple(current, currentGetCallerIdentity).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n return $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\";\n }),\n },\n [\"Action\"] = new[]\n {\n \"codebuild:BatchGetReportGroups\",\n \"codebuild:BatchGetReports\",\n \"codebuild:ListReportsForReportGroup\",\n \"codebuild:DescribeTestCases\",\n },\n [\"Resource\"] = example.Arn,\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codebuild.NewReportGroup(ctx, \"example\", \u0026codebuild.ReportGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"TEST\"),\n\t\t\tExportConfig: \u0026codebuild.ReportGroupExportConfigArgs{\n\t\t\t\tType: pulumi.String(\"NO_EXPORT\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codebuild.NewResourcePolicy(ctx, \"example\", \u0026codebuild.ResourcePolicyArgs{\n\t\t\tResourceArn: example.Arn,\n\t\t\tPolicy: example.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Id\": \"default\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"default\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:%v:iam::%v:root\", current.Partition, currentGetCallerIdentity.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"codebuild:BatchGetReportGroups\",\n\t\t\t\t\t\t\t\t\"codebuild:BatchGetReports\",\n\t\t\t\t\t\t\t\t\"codebuild:ListReportsForReportGroup\",\n\t\t\t\t\t\t\t\t\"codebuild:DescribeTestCases\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codebuild.ReportGroup;\nimport com.pulumi.aws.codebuild.ReportGroupArgs;\nimport com.pulumi.aws.codebuild.inputs.ReportGroupExportConfigArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.codebuild.ResourcePolicy;\nimport com.pulumi.aws.codebuild.ResourcePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ReportGroup(\"example\", ReportGroupArgs.builder()\n .name(\"example\")\n .type(\"TEST\")\n .exportConfig(ReportGroupExportConfigArgs.builder()\n .type(\"NO_EXPORT\")\n .build())\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var exampleResourcePolicy = new ResourcePolicy(\"exampleResourcePolicy\", ResourcePolicyArgs.builder()\n .resourceArn(example.arn())\n .policy(example.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Id\", \"default\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"default\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:%s:iam::%s:root\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"codebuild:BatchGetReportGroups\", \n \"codebuild:BatchGetReports\", \n \"codebuild:ListReportsForReportGroup\", \n \"codebuild:DescribeTestCases\"\n )),\n jsonProperty(\"Resource\", arn)\n )))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codebuild:ReportGroup\n properties:\n name: example\n type: TEST\n exportConfig:\n type: NO_EXPORT\n exampleResourcePolicy:\n type: aws:codebuild:ResourcePolicy\n name: example\n properties:\n resourceArn: ${example.arn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Id: default\n Statement:\n - Sid: default\n Effect: Allow\n Principal:\n AWS: arn:${current.partition}:iam::${currentGetCallerIdentity.accountId}:root\n Action:\n - codebuild:BatchGetReportGroups\n - codebuild:BatchGetReports\n - codebuild:ListReportsForReportGroup\n - codebuild:DescribeTestCases\n Resource: ${example.arn}\nvariables:\n current:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeBuild Resource Policy using the CodeBuild Resource Policy arn. For example:\n\n```sh\n$ pulumi import aws:codebuild/resourcePolicy:ResourcePolicy example arn:aws:codebuild:us-west-2:123456789:report-group/report-group-name\n```\n", + "description": "Provides a CodeBuild Resource Policy Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codebuild.ReportGroup(\"example\", {\n name: \"example\",\n type: \"TEST\",\n exportConfig: {\n type: \"NO_EXPORT\",\n },\n});\nconst current = aws.getPartition({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst exampleResourcePolicy = new aws.codebuild.ResourcePolicy(\"example\", {\n resourceArn: example.arn,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Id: \"default\",\n Statement: [{\n Sid: \"default\",\n Effect: \"Allow\",\n Principal: {\n AWS: Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e `arn:${current.partition}:iam::${currentGetCallerIdentity.accountId}:root`),\n },\n Action: [\n \"codebuild:BatchGetReportGroups\",\n \"codebuild:BatchGetReports\",\n \"codebuild:ListReportsForReportGroup\",\n \"codebuild:DescribeTestCases\",\n ],\n Resource: example.arn,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.codebuild.ReportGroup(\"example\",\n name=\"example\",\n type=\"TEST\",\n export_config={\n \"type\": \"NO_EXPORT\",\n })\ncurrent = aws.get_partition()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample_resource_policy = aws.codebuild.ResourcePolicy(\"example\",\n resource_arn=example.arn,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Id\": \"default\",\n \"Statement\": [{\n \"Sid\": \"default\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:{current.partition}:iam::{current_get_caller_identity.account_id}:root\",\n },\n \"Action\": [\n \"codebuild:BatchGetReportGroups\",\n \"codebuild:BatchGetReports\",\n \"codebuild:ListReportsForReportGroup\",\n \"codebuild:DescribeTestCases\",\n ],\n \"Resource\": example.arn,\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeBuild.ReportGroup(\"example\", new()\n {\n Name = \"example\",\n Type = \"TEST\",\n ExportConfig = new Aws.CodeBuild.Inputs.ReportGroupExportConfigArgs\n {\n Type = \"NO_EXPORT\",\n },\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var exampleResourcePolicy = new Aws.CodeBuild.ResourcePolicy(\"example\", new()\n {\n ResourceArn = example.Arn,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Id\"] = \"default\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"default\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = Output.Tuple(current, currentGetCallerIdentity).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n return $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\";\n }),\n },\n [\"Action\"] = new[]\n {\n \"codebuild:BatchGetReportGroups\",\n \"codebuild:BatchGetReports\",\n \"codebuild:ListReportsForReportGroup\",\n \"codebuild:DescribeTestCases\",\n },\n [\"Resource\"] = example.Arn,\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codebuild.NewReportGroup(ctx, \"example\", \u0026codebuild.ReportGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"TEST\"),\n\t\t\tExportConfig: \u0026codebuild.ReportGroupExportConfigArgs{\n\t\t\t\tType: pulumi.String(\"NO_EXPORT\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codebuild.NewResourcePolicy(ctx, \"example\", \u0026codebuild.ResourcePolicyArgs{\n\t\t\tResourceArn: example.Arn,\n\t\t\tPolicy: example.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Id\": \"default\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"default\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:%v:iam::%v:root\", current.Partition, currentGetCallerIdentity.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"codebuild:BatchGetReportGroups\",\n\t\t\t\t\t\t\t\t\"codebuild:BatchGetReports\",\n\t\t\t\t\t\t\t\t\"codebuild:ListReportsForReportGroup\",\n\t\t\t\t\t\t\t\t\"codebuild:DescribeTestCases\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codebuild.ReportGroup;\nimport com.pulumi.aws.codebuild.ReportGroupArgs;\nimport com.pulumi.aws.codebuild.inputs.ReportGroupExportConfigArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.codebuild.ResourcePolicy;\nimport com.pulumi.aws.codebuild.ResourcePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ReportGroup(\"example\", ReportGroupArgs.builder()\n .name(\"example\")\n .type(\"TEST\")\n .exportConfig(ReportGroupExportConfigArgs.builder()\n .type(\"NO_EXPORT\")\n .build())\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var exampleResourcePolicy = new ResourcePolicy(\"exampleResourcePolicy\", ResourcePolicyArgs.builder()\n .resourceArn(example.arn())\n .policy(example.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Id\", \"default\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"default\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:%s:iam::%s:root\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"codebuild:BatchGetReportGroups\", \n \"codebuild:BatchGetReports\", \n \"codebuild:ListReportsForReportGroup\", \n \"codebuild:DescribeTestCases\"\n )),\n jsonProperty(\"Resource\", arn)\n )))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codebuild:ReportGroup\n properties:\n name: example\n type: TEST\n exportConfig:\n type: NO_EXPORT\n exampleResourcePolicy:\n type: aws:codebuild:ResourcePolicy\n name: example\n properties:\n resourceArn: ${example.arn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Id: default\n Statement:\n - Sid: default\n Effect: Allow\n Principal:\n AWS: arn:${current.partition}:iam::${currentGetCallerIdentity.accountId}:root\n Action:\n - codebuild:BatchGetReportGroups\n - codebuild:BatchGetReports\n - codebuild:ListReportsForReportGroup\n - codebuild:DescribeTestCases\n Resource: ${example.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeBuild Resource Policy using the CodeBuild Resource Policy arn. For example:\n\n```sh\n$ pulumi import aws:codebuild/resourcePolicy:ResourcePolicy example arn:aws:codebuild:us-west-2:123456789:report-group/report-group-name\n```\n", "properties": { "policy": { "type": "string", @@ -208795,7 +208795,7 @@ } }, "aws:codedeploy/deploymentGroup:DeploymentGroup": { - "description": "Provides a CodeDeploy Deployment Group for a CodeDeploy Application\n\n\u003e **NOTE on blue/green deployments:** When using `green_fleet_provisioning_option` with the `COPY_AUTO_SCALING_GROUP` action, CodeDeploy will create a new ASG with a different name. This ASG is _not_ managed by this provider and will conflict with existing configuration and state. You may want to use a different approach to managing deployments that involve multiple ASG, such as `DISCOVER_EXISTING` with separate blue and green ASG.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"codedeploy.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"example-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst aWSCodeDeployRole = new aws.iam.RolePolicyAttachment(\"AWSCodeDeployRole\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\",\n role: example.name,\n});\nconst exampleApplication = new aws.codedeploy.Application(\"example\", {name: \"example-app\"});\nconst exampleTopic = new aws.sns.Topic(\"example\", {name: \"example-topic\"});\nconst exampleDeploymentGroup = new aws.codedeploy.DeploymentGroup(\"example\", {\n appName: exampleApplication.name,\n deploymentGroupName: \"example-group\",\n serviceRoleArn: example.arn,\n ec2TagSets: [{\n ec2TagFilters: [\n {\n key: \"filterkey1\",\n type: \"KEY_AND_VALUE\",\n value: \"filtervalue\",\n },\n {\n key: \"filterkey2\",\n type: \"KEY_AND_VALUE\",\n value: \"filtervalue\",\n },\n ],\n }],\n triggerConfigurations: [{\n triggerEvents: [\"DeploymentFailure\"],\n triggerName: \"example-trigger\",\n triggerTargetArn: exampleTopic.arn,\n }],\n autoRollbackConfiguration: {\n enabled: true,\n events: [\"DEPLOYMENT_FAILURE\"],\n },\n alarmConfiguration: {\n alarms: [\"my-alarm-name\"],\n enabled: true,\n },\n outdatedInstancesStrategy: \"UPDATE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"codedeploy.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample = aws.iam.Role(\"example\",\n name=\"example-role\",\n assume_role_policy=assume_role.json)\na_ws_code_deploy_role = aws.iam.RolePolicyAttachment(\"AWSCodeDeployRole\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\",\n role=example.name)\nexample_application = aws.codedeploy.Application(\"example\", name=\"example-app\")\nexample_topic = aws.sns.Topic(\"example\", name=\"example-topic\")\nexample_deployment_group = aws.codedeploy.DeploymentGroup(\"example\",\n app_name=example_application.name,\n deployment_group_name=\"example-group\",\n service_role_arn=example.arn,\n ec2_tag_sets=[{\n \"ec2_tag_filters\": [\n {\n \"key\": \"filterkey1\",\n \"type\": \"KEY_AND_VALUE\",\n \"value\": \"filtervalue\",\n },\n {\n \"key\": \"filterkey2\",\n \"type\": \"KEY_AND_VALUE\",\n \"value\": \"filtervalue\",\n },\n ],\n }],\n trigger_configurations=[{\n \"trigger_events\": [\"DeploymentFailure\"],\n \"trigger_name\": \"example-trigger\",\n \"trigger_target_arn\": example_topic.arn,\n }],\n auto_rollback_configuration={\n \"enabled\": True,\n \"events\": [\"DEPLOYMENT_FAILURE\"],\n },\n alarm_configuration={\n \"alarms\": [\"my-alarm-name\"],\n \"enabled\": True,\n },\n outdated_instances_strategy=\"UPDATE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codedeploy.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var aWSCodeDeployRole = new Aws.Iam.RolePolicyAttachment(\"AWSCodeDeployRole\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\",\n Role = example.Name,\n });\n\n var exampleApplication = new Aws.CodeDeploy.Application(\"example\", new()\n {\n Name = \"example-app\",\n });\n\n var exampleTopic = new Aws.Sns.Topic(\"example\", new()\n {\n Name = \"example-topic\",\n });\n\n var exampleDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup(\"example\", new()\n {\n AppName = exampleApplication.Name,\n DeploymentGroupName = \"example-group\",\n ServiceRoleArn = example.Arn,\n Ec2TagSets = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagSetArgs\n {\n Ec2TagFilters = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagSetEc2TagFilterArgs\n {\n Key = \"filterkey1\",\n Type = \"KEY_AND_VALUE\",\n Value = \"filtervalue\",\n },\n new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagSetEc2TagFilterArgs\n {\n Key = \"filterkey2\",\n Type = \"KEY_AND_VALUE\",\n Value = \"filtervalue\",\n },\n },\n },\n },\n TriggerConfigurations = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupTriggerConfigurationArgs\n {\n TriggerEvents = new[]\n {\n \"DeploymentFailure\",\n },\n TriggerName = \"example-trigger\",\n TriggerTargetArn = exampleTopic.Arn,\n },\n },\n AutoRollbackConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAutoRollbackConfigurationArgs\n {\n Enabled = true,\n Events = new[]\n {\n \"DEPLOYMENT_FAILURE\",\n },\n },\n AlarmConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAlarmConfigurationArgs\n {\n Alarms = new[]\n {\n \"my-alarm-name\",\n },\n Enabled = true,\n },\n OutdatedInstancesStrategy = \"UPDATE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"codedeploy.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"AWSCodeDeployRole\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := sns.NewTopic(ctx, \"example\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"example-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codedeploy.NewDeploymentGroup(ctx, \"example\", \u0026codedeploy.DeploymentGroupArgs{\n\t\t\tAppName: exampleApplication.Name,\n\t\t\tDeploymentGroupName: pulumi.String(\"example-group\"),\n\t\t\tServiceRoleArn: example.Arn,\n\t\t\tEc2TagSets: codedeploy.DeploymentGroupEc2TagSetArray{\n\t\t\t\t\u0026codedeploy.DeploymentGroupEc2TagSetArgs{\n\t\t\t\t\tEc2TagFilters: codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArray{\n\t\t\t\t\t\t\u0026codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"filterkey1\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"KEY_AND_VALUE\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"filtervalue\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"filterkey2\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"KEY_AND_VALUE\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"filtervalue\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTriggerConfigurations: codedeploy.DeploymentGroupTriggerConfigurationArray{\n\t\t\t\t\u0026codedeploy.DeploymentGroupTriggerConfigurationArgs{\n\t\t\t\t\tTriggerEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"DeploymentFailure\"),\n\t\t\t\t\t},\n\t\t\t\t\tTriggerName: pulumi.String(\"example-trigger\"),\n\t\t\t\t\tTriggerTargetArn: exampleTopic.Arn,\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoRollbackConfiguration: \u0026codedeploy.DeploymentGroupAutoRollbackConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"DEPLOYMENT_FAILURE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAlarmConfiguration: \u0026codedeploy.DeploymentGroupAlarmConfigurationArgs{\n\t\t\t\tAlarms: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"my-alarm-name\"),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tOutdatedInstancesStrategy: pulumi.String(\"UPDATE\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.codedeploy.DeploymentGroup;\nimport com.pulumi.aws.codedeploy.DeploymentGroupArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupEc2TagSetArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupTriggerConfigurationArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAutoRollbackConfigurationArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAlarmConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codedeploy.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"example-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var aWSCodeDeployRole = new RolePolicyAttachment(\"aWSCodeDeployRole\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\")\n .role(example.name())\n .build());\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n .name(\"example-app\")\n .build());\n\n var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n .name(\"example-topic\")\n .build());\n\n var exampleDeploymentGroup = new DeploymentGroup(\"exampleDeploymentGroup\", DeploymentGroupArgs.builder()\n .appName(exampleApplication.name())\n .deploymentGroupName(\"example-group\")\n .serviceRoleArn(example.arn())\n .ec2TagSets(DeploymentGroupEc2TagSetArgs.builder()\n .ec2TagFilters( \n DeploymentGroupEc2TagSetEc2TagFilterArgs.builder()\n .key(\"filterkey1\")\n .type(\"KEY_AND_VALUE\")\n .value(\"filtervalue\")\n .build(),\n DeploymentGroupEc2TagSetEc2TagFilterArgs.builder()\n .key(\"filterkey2\")\n .type(\"KEY_AND_VALUE\")\n .value(\"filtervalue\")\n .build())\n .build())\n .triggerConfigurations(DeploymentGroupTriggerConfigurationArgs.builder()\n .triggerEvents(\"DeploymentFailure\")\n .triggerName(\"example-trigger\")\n .triggerTargetArn(exampleTopic.arn())\n .build())\n .autoRollbackConfiguration(DeploymentGroupAutoRollbackConfigurationArgs.builder()\n .enabled(true)\n .events(\"DEPLOYMENT_FAILURE\")\n .build())\n .alarmConfiguration(DeploymentGroupAlarmConfigurationArgs.builder()\n .alarms(\"my-alarm-name\")\n .enabled(true)\n .build())\n .outdatedInstancesStrategy(\"UPDATE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: example-role\n assumeRolePolicy: ${assumeRole.json}\n aWSCodeDeployRole:\n type: aws:iam:RolePolicyAttachment\n name: AWSCodeDeployRole\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\n role: ${example.name}\n exampleApplication:\n type: aws:codedeploy:Application\n name: example\n properties:\n name: example-app\n exampleTopic:\n type: aws:sns:Topic\n name: example\n properties:\n name: example-topic\n exampleDeploymentGroup:\n type: aws:codedeploy:DeploymentGroup\n name: example\n properties:\n appName: ${exampleApplication.name}\n deploymentGroupName: example-group\n serviceRoleArn: ${example.arn}\n ec2TagSets:\n - ec2TagFilters:\n - key: filterkey1\n type: KEY_AND_VALUE\n value: filtervalue\n - key: filterkey2\n type: KEY_AND_VALUE\n value: filtervalue\n triggerConfigurations:\n - triggerEvents:\n - DeploymentFailure\n triggerName: example-trigger\n triggerTargetArn: ${exampleTopic.arn}\n autoRollbackConfiguration:\n enabled: true\n events:\n - DEPLOYMENT_FAILURE\n alarmConfiguration:\n alarms:\n - my-alarm-name\n enabled: true\n outdatedInstancesStrategy: UPDATE\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - codedeploy.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Blue Green Deployments with ECS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codedeploy.Application(\"example\", {\n computePlatform: \"ECS\",\n name: \"example\",\n});\nconst exampleDeploymentGroup = new aws.codedeploy.DeploymentGroup(\"example\", {\n appName: example.name,\n deploymentConfigName: \"CodeDeployDefault.ECSAllAtOnce\",\n deploymentGroupName: \"example\",\n serviceRoleArn: exampleAwsIamRole.arn,\n autoRollbackConfiguration: {\n enabled: true,\n events: [\"DEPLOYMENT_FAILURE\"],\n },\n blueGreenDeploymentConfig: {\n deploymentReadyOption: {\n actionOnTimeout: \"CONTINUE_DEPLOYMENT\",\n },\n terminateBlueInstancesOnDeploymentSuccess: {\n action: \"TERMINATE\",\n terminationWaitTimeInMinutes: 5,\n },\n },\n deploymentStyle: {\n deploymentOption: \"WITH_TRAFFIC_CONTROL\",\n deploymentType: \"BLUE_GREEN\",\n },\n ecsService: {\n clusterName: exampleAwsEcsCluster.name,\n serviceName: exampleAwsEcsService.name,\n },\n loadBalancerInfo: {\n targetGroupPairInfo: {\n prodTrafficRoute: {\n listenerArns: [exampleAwsLbListener.arn],\n },\n targetGroups: [\n {\n name: blue.name,\n },\n {\n name: green.name,\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codedeploy.Application(\"example\",\n compute_platform=\"ECS\",\n name=\"example\")\nexample_deployment_group = aws.codedeploy.DeploymentGroup(\"example\",\n app_name=example.name,\n deployment_config_name=\"CodeDeployDefault.ECSAllAtOnce\",\n deployment_group_name=\"example\",\n service_role_arn=example_aws_iam_role[\"arn\"],\n auto_rollback_configuration={\n \"enabled\": True,\n \"events\": [\"DEPLOYMENT_FAILURE\"],\n },\n blue_green_deployment_config={\n \"deployment_ready_option\": {\n \"action_on_timeout\": \"CONTINUE_DEPLOYMENT\",\n },\n \"terminate_blue_instances_on_deployment_success\": {\n \"action\": \"TERMINATE\",\n \"termination_wait_time_in_minutes\": 5,\n },\n },\n deployment_style={\n \"deployment_option\": \"WITH_TRAFFIC_CONTROL\",\n \"deployment_type\": \"BLUE_GREEN\",\n },\n ecs_service={\n \"cluster_name\": example_aws_ecs_cluster[\"name\"],\n \"service_name\": example_aws_ecs_service[\"name\"],\n },\n load_balancer_info={\n \"target_group_pair_info\": {\n \"prod_traffic_route\": {\n \"listener_arns\": [example_aws_lb_listener[\"arn\"]],\n },\n \"target_groups\": [\n {\n \"name\": blue[\"name\"],\n },\n {\n \"name\": green[\"name\"],\n },\n ],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeDeploy.Application(\"example\", new()\n {\n ComputePlatform = \"ECS\",\n Name = \"example\",\n });\n\n var exampleDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup(\"example\", new()\n {\n AppName = example.Name,\n DeploymentConfigName = \"CodeDeployDefault.ECSAllAtOnce\",\n DeploymentGroupName = \"example\",\n ServiceRoleArn = exampleAwsIamRole.Arn,\n AutoRollbackConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAutoRollbackConfigurationArgs\n {\n Enabled = true,\n Events = new[]\n {\n \"DEPLOYMENT_FAILURE\",\n },\n },\n BlueGreenDeploymentConfig = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigArgs\n {\n DeploymentReadyOption = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs\n {\n ActionOnTimeout = \"CONTINUE_DEPLOYMENT\",\n },\n TerminateBlueInstancesOnDeploymentSuccess = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs\n {\n Action = \"TERMINATE\",\n TerminationWaitTimeInMinutes = 5,\n },\n },\n DeploymentStyle = new Aws.CodeDeploy.Inputs.DeploymentGroupDeploymentStyleArgs\n {\n DeploymentOption = \"WITH_TRAFFIC_CONTROL\",\n DeploymentType = \"BLUE_GREEN\",\n },\n EcsService = new Aws.CodeDeploy.Inputs.DeploymentGroupEcsServiceArgs\n {\n ClusterName = exampleAwsEcsCluster.Name,\n ServiceName = exampleAwsEcsService.Name,\n },\n LoadBalancerInfo = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoArgs\n {\n TargetGroupPairInfo = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs\n {\n ProdTrafficRoute = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs\n {\n ListenerArns = new[]\n {\n exampleAwsLbListener.Arn,\n },\n },\n TargetGroups = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs\n {\n Name = blue.Name,\n },\n new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs\n {\n Name = green.Name,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tComputePlatform: pulumi.String(\"ECS\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codedeploy.NewDeploymentGroup(ctx, \"example\", \u0026codedeploy.DeploymentGroupArgs{\n\t\t\tAppName: example.Name,\n\t\t\tDeploymentConfigName: pulumi.String(\"CodeDeployDefault.ECSAllAtOnce\"),\n\t\t\tDeploymentGroupName: pulumi.String(\"example\"),\n\t\t\tServiceRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tAutoRollbackConfiguration: \u0026codedeploy.DeploymentGroupAutoRollbackConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"DEPLOYMENT_FAILURE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBlueGreenDeploymentConfig: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigArgs{\n\t\t\t\tDeploymentReadyOption: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs{\n\t\t\t\t\tActionOnTimeout: pulumi.String(\"CONTINUE_DEPLOYMENT\"),\n\t\t\t\t},\n\t\t\t\tTerminateBlueInstancesOnDeploymentSuccess: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs{\n\t\t\t\t\tAction: pulumi.String(\"TERMINATE\"),\n\t\t\t\t\tTerminationWaitTimeInMinutes: pulumi.Int(5),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDeploymentStyle: \u0026codedeploy.DeploymentGroupDeploymentStyleArgs{\n\t\t\t\tDeploymentOption: pulumi.String(\"WITH_TRAFFIC_CONTROL\"),\n\t\t\t\tDeploymentType: pulumi.String(\"BLUE_GREEN\"),\n\t\t\t},\n\t\t\tEcsService: \u0026codedeploy.DeploymentGroupEcsServiceArgs{\n\t\t\t\tClusterName: pulumi.Any(exampleAwsEcsCluster.Name),\n\t\t\t\tServiceName: pulumi.Any(exampleAwsEcsService.Name),\n\t\t\t},\n\t\t\tLoadBalancerInfo: \u0026codedeploy.DeploymentGroupLoadBalancerInfoArgs{\n\t\t\t\tTargetGroupPairInfo: \u0026codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs{\n\t\t\t\t\tProdTrafficRoute: \u0026codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs{\n\t\t\t\t\t\tListenerArns: pulumi.StringArray{\n\t\t\t\t\t\t\texampleAwsLbListener.Arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTargetGroups: codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArray{\n\t\t\t\t\t\t\u0026codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs{\n\t\t\t\t\t\t\tName: pulumi.Any(blue.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs{\n\t\t\t\t\t\t\tName: pulumi.Any(green.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport com.pulumi.aws.codedeploy.DeploymentGroup;\nimport com.pulumi.aws.codedeploy.DeploymentGroupArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAutoRollbackConfigurationArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupDeploymentStyleArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupEcsServiceArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Application(\"example\", ApplicationArgs.builder()\n .computePlatform(\"ECS\")\n .name(\"example\")\n .build());\n\n var exampleDeploymentGroup = new DeploymentGroup(\"exampleDeploymentGroup\", DeploymentGroupArgs.builder()\n .appName(example.name())\n .deploymentConfigName(\"CodeDeployDefault.ECSAllAtOnce\")\n .deploymentGroupName(\"example\")\n .serviceRoleArn(exampleAwsIamRole.arn())\n .autoRollbackConfiguration(DeploymentGroupAutoRollbackConfigurationArgs.builder()\n .enabled(true)\n .events(\"DEPLOYMENT_FAILURE\")\n .build())\n .blueGreenDeploymentConfig(DeploymentGroupBlueGreenDeploymentConfigArgs.builder()\n .deploymentReadyOption(DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.builder()\n .actionOnTimeout(\"CONTINUE_DEPLOYMENT\")\n .build())\n .terminateBlueInstancesOnDeploymentSuccess(DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.builder()\n .action(\"TERMINATE\")\n .terminationWaitTimeInMinutes(5)\n .build())\n .build())\n .deploymentStyle(DeploymentGroupDeploymentStyleArgs.builder()\n .deploymentOption(\"WITH_TRAFFIC_CONTROL\")\n .deploymentType(\"BLUE_GREEN\")\n .build())\n .ecsService(DeploymentGroupEcsServiceArgs.builder()\n .clusterName(exampleAwsEcsCluster.name())\n .serviceName(exampleAwsEcsService.name())\n .build())\n .loadBalancerInfo(DeploymentGroupLoadBalancerInfoArgs.builder()\n .targetGroupPairInfo(DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs.builder()\n .prodTrafficRoute(DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs.builder()\n .listenerArns(exampleAwsLbListener.arn())\n .build())\n .targetGroups( \n DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs.builder()\n .name(blue.name())\n .build(),\n DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs.builder()\n .name(green.name())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codedeploy:Application\n properties:\n computePlatform: ECS\n name: example\n exampleDeploymentGroup:\n type: aws:codedeploy:DeploymentGroup\n name: example\n properties:\n appName: ${example.name}\n deploymentConfigName: CodeDeployDefault.ECSAllAtOnce\n deploymentGroupName: example\n serviceRoleArn: ${exampleAwsIamRole.arn}\n autoRollbackConfiguration:\n enabled: true\n events:\n - DEPLOYMENT_FAILURE\n blueGreenDeploymentConfig:\n deploymentReadyOption:\n actionOnTimeout: CONTINUE_DEPLOYMENT\n terminateBlueInstancesOnDeploymentSuccess:\n action: TERMINATE\n terminationWaitTimeInMinutes: 5\n deploymentStyle:\n deploymentOption: WITH_TRAFFIC_CONTROL\n deploymentType: BLUE_GREEN\n ecsService:\n clusterName: ${exampleAwsEcsCluster.name}\n serviceName: ${exampleAwsEcsService.name}\n loadBalancerInfo:\n targetGroupPairInfo:\n prodTrafficRoute:\n listenerArns:\n - ${exampleAwsLbListener.arn}\n targetGroups:\n - name: ${blue.name}\n - name: ${green.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Blue Green Deployments with Servers and Classic ELB\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codedeploy.Application(\"example\", {name: \"example-app\"});\nconst exampleDeploymentGroup = new aws.codedeploy.DeploymentGroup(\"example\", {\n appName: example.name,\n deploymentGroupName: \"example-group\",\n serviceRoleArn: exampleAwsIamRole.arn,\n deploymentStyle: {\n deploymentOption: \"WITH_TRAFFIC_CONTROL\",\n deploymentType: \"BLUE_GREEN\",\n },\n loadBalancerInfo: {\n elbInfos: [{\n name: exampleAwsElb.name,\n }],\n },\n blueGreenDeploymentConfig: {\n deploymentReadyOption: {\n actionOnTimeout: \"STOP_DEPLOYMENT\",\n waitTimeInMinutes: 60,\n },\n greenFleetProvisioningOption: {\n action: \"DISCOVER_EXISTING\",\n },\n terminateBlueInstancesOnDeploymentSuccess: {\n action: \"KEEP_ALIVE\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codedeploy.Application(\"example\", name=\"example-app\")\nexample_deployment_group = aws.codedeploy.DeploymentGroup(\"example\",\n app_name=example.name,\n deployment_group_name=\"example-group\",\n service_role_arn=example_aws_iam_role[\"arn\"],\n deployment_style={\n \"deployment_option\": \"WITH_TRAFFIC_CONTROL\",\n \"deployment_type\": \"BLUE_GREEN\",\n },\n load_balancer_info={\n \"elb_infos\": [{\n \"name\": example_aws_elb[\"name\"],\n }],\n },\n blue_green_deployment_config={\n \"deployment_ready_option\": {\n \"action_on_timeout\": \"STOP_DEPLOYMENT\",\n \"wait_time_in_minutes\": 60,\n },\n \"green_fleet_provisioning_option\": {\n \"action\": \"DISCOVER_EXISTING\",\n },\n \"terminate_blue_instances_on_deployment_success\": {\n \"action\": \"KEEP_ALIVE\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeDeploy.Application(\"example\", new()\n {\n Name = \"example-app\",\n });\n\n var exampleDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup(\"example\", new()\n {\n AppName = example.Name,\n DeploymentGroupName = \"example-group\",\n ServiceRoleArn = exampleAwsIamRole.Arn,\n DeploymentStyle = new Aws.CodeDeploy.Inputs.DeploymentGroupDeploymentStyleArgs\n {\n DeploymentOption = \"WITH_TRAFFIC_CONTROL\",\n DeploymentType = \"BLUE_GREEN\",\n },\n LoadBalancerInfo = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoArgs\n {\n ElbInfos = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoElbInfoArgs\n {\n Name = exampleAwsElb.Name,\n },\n },\n },\n BlueGreenDeploymentConfig = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigArgs\n {\n DeploymentReadyOption = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs\n {\n ActionOnTimeout = \"STOP_DEPLOYMENT\",\n WaitTimeInMinutes = 60,\n },\n GreenFleetProvisioningOption = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs\n {\n Action = \"DISCOVER_EXISTING\",\n },\n TerminateBlueInstancesOnDeploymentSuccess = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs\n {\n Action = \"KEEP_ALIVE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codedeploy.NewDeploymentGroup(ctx, \"example\", \u0026codedeploy.DeploymentGroupArgs{\n\t\t\tAppName: example.Name,\n\t\t\tDeploymentGroupName: pulumi.String(\"example-group\"),\n\t\t\tServiceRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tDeploymentStyle: \u0026codedeploy.DeploymentGroupDeploymentStyleArgs{\n\t\t\t\tDeploymentOption: pulumi.String(\"WITH_TRAFFIC_CONTROL\"),\n\t\t\t\tDeploymentType: pulumi.String(\"BLUE_GREEN\"),\n\t\t\t},\n\t\t\tLoadBalancerInfo: \u0026codedeploy.DeploymentGroupLoadBalancerInfoArgs{\n\t\t\t\tElbInfos: codedeploy.DeploymentGroupLoadBalancerInfoElbInfoArray{\n\t\t\t\t\t\u0026codedeploy.DeploymentGroupLoadBalancerInfoElbInfoArgs{\n\t\t\t\t\t\tName: pulumi.Any(exampleAwsElb.Name),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBlueGreenDeploymentConfig: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigArgs{\n\t\t\t\tDeploymentReadyOption: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs{\n\t\t\t\t\tActionOnTimeout: pulumi.String(\"STOP_DEPLOYMENT\"),\n\t\t\t\t\tWaitTimeInMinutes: pulumi.Int(60),\n\t\t\t\t},\n\t\t\t\tGreenFleetProvisioningOption: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs{\n\t\t\t\t\tAction: pulumi.String(\"DISCOVER_EXISTING\"),\n\t\t\t\t},\n\t\t\t\tTerminateBlueInstancesOnDeploymentSuccess: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs{\n\t\t\t\t\tAction: pulumi.String(\"KEEP_ALIVE\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport com.pulumi.aws.codedeploy.DeploymentGroup;\nimport com.pulumi.aws.codedeploy.DeploymentGroupArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupDeploymentStyleArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Application(\"example\", ApplicationArgs.builder()\n .name(\"example-app\")\n .build());\n\n var exampleDeploymentGroup = new DeploymentGroup(\"exampleDeploymentGroup\", DeploymentGroupArgs.builder()\n .appName(example.name())\n .deploymentGroupName(\"example-group\")\n .serviceRoleArn(exampleAwsIamRole.arn())\n .deploymentStyle(DeploymentGroupDeploymentStyleArgs.builder()\n .deploymentOption(\"WITH_TRAFFIC_CONTROL\")\n .deploymentType(\"BLUE_GREEN\")\n .build())\n .loadBalancerInfo(DeploymentGroupLoadBalancerInfoArgs.builder()\n .elbInfos(DeploymentGroupLoadBalancerInfoElbInfoArgs.builder()\n .name(exampleAwsElb.name())\n .build())\n .build())\n .blueGreenDeploymentConfig(DeploymentGroupBlueGreenDeploymentConfigArgs.builder()\n .deploymentReadyOption(DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.builder()\n .actionOnTimeout(\"STOP_DEPLOYMENT\")\n .waitTimeInMinutes(60)\n .build())\n .greenFleetProvisioningOption(DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs.builder()\n .action(\"DISCOVER_EXISTING\")\n .build())\n .terminateBlueInstancesOnDeploymentSuccess(DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.builder()\n .action(\"KEEP_ALIVE\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codedeploy:Application\n properties:\n name: example-app\n exampleDeploymentGroup:\n type: aws:codedeploy:DeploymentGroup\n name: example\n properties:\n appName: ${example.name}\n deploymentGroupName: example-group\n serviceRoleArn: ${exampleAwsIamRole.arn}\n deploymentStyle:\n deploymentOption: WITH_TRAFFIC_CONTROL\n deploymentType: BLUE_GREEN\n loadBalancerInfo:\n elbInfos:\n - name: ${exampleAwsElb.name}\n blueGreenDeploymentConfig:\n deploymentReadyOption:\n actionOnTimeout: STOP_DEPLOYMENT\n waitTimeInMinutes: 60\n greenFleetProvisioningOption:\n action: DISCOVER_EXISTING\n terminateBlueInstancesOnDeploymentSuccess:\n action: KEEP_ALIVE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeDeploy Deployment Groups using `app_name`, a colon, and `deployment_group_name`. For example:\n\n```sh\n$ pulumi import aws:codedeploy/deploymentGroup:DeploymentGroup example my-application:my-deployment-group\n```\n", + "description": "Provides a CodeDeploy Deployment Group for a CodeDeploy Application\n\n\u003e **NOTE on blue/green deployments:** When using `green_fleet_provisioning_option` with the `COPY_AUTO_SCALING_GROUP` action, CodeDeploy will create a new ASG with a different name. This ASG is _not_ managed by this provider and will conflict with existing configuration and state. You may want to use a different approach to managing deployments that involve multiple ASG, such as `DISCOVER_EXISTING` with separate blue and green ASG.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"codedeploy.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"example-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst aWSCodeDeployRole = new aws.iam.RolePolicyAttachment(\"AWSCodeDeployRole\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\",\n role: example.name,\n});\nconst exampleApplication = new aws.codedeploy.Application(\"example\", {name: \"example-app\"});\nconst exampleTopic = new aws.sns.Topic(\"example\", {name: \"example-topic\"});\nconst exampleDeploymentGroup = new aws.codedeploy.DeploymentGroup(\"example\", {\n appName: exampleApplication.name,\n deploymentGroupName: \"example-group\",\n serviceRoleArn: example.arn,\n ec2TagSets: [{\n ec2TagFilters: [\n {\n key: \"filterkey1\",\n type: \"KEY_AND_VALUE\",\n value: \"filtervalue\",\n },\n {\n key: \"filterkey2\",\n type: \"KEY_AND_VALUE\",\n value: \"filtervalue\",\n },\n ],\n }],\n triggerConfigurations: [{\n triggerEvents: [\"DeploymentFailure\"],\n triggerName: \"example-trigger\",\n triggerTargetArn: exampleTopic.arn,\n }],\n autoRollbackConfiguration: {\n enabled: true,\n events: [\"DEPLOYMENT_FAILURE\"],\n },\n alarmConfiguration: {\n alarms: [\"my-alarm-name\"],\n enabled: true,\n },\n outdatedInstancesStrategy: \"UPDATE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"codedeploy.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample = aws.iam.Role(\"example\",\n name=\"example-role\",\n assume_role_policy=assume_role.json)\na_ws_code_deploy_role = aws.iam.RolePolicyAttachment(\"AWSCodeDeployRole\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\",\n role=example.name)\nexample_application = aws.codedeploy.Application(\"example\", name=\"example-app\")\nexample_topic = aws.sns.Topic(\"example\", name=\"example-topic\")\nexample_deployment_group = aws.codedeploy.DeploymentGroup(\"example\",\n app_name=example_application.name,\n deployment_group_name=\"example-group\",\n service_role_arn=example.arn,\n ec2_tag_sets=[{\n \"ec2_tag_filters\": [\n {\n \"key\": \"filterkey1\",\n \"type\": \"KEY_AND_VALUE\",\n \"value\": \"filtervalue\",\n },\n {\n \"key\": \"filterkey2\",\n \"type\": \"KEY_AND_VALUE\",\n \"value\": \"filtervalue\",\n },\n ],\n }],\n trigger_configurations=[{\n \"trigger_events\": [\"DeploymentFailure\"],\n \"trigger_name\": \"example-trigger\",\n \"trigger_target_arn\": example_topic.arn,\n }],\n auto_rollback_configuration={\n \"enabled\": True,\n \"events\": [\"DEPLOYMENT_FAILURE\"],\n },\n alarm_configuration={\n \"alarms\": [\"my-alarm-name\"],\n \"enabled\": True,\n },\n outdated_instances_strategy=\"UPDATE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codedeploy.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var aWSCodeDeployRole = new Aws.Iam.RolePolicyAttachment(\"AWSCodeDeployRole\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\",\n Role = example.Name,\n });\n\n var exampleApplication = new Aws.CodeDeploy.Application(\"example\", new()\n {\n Name = \"example-app\",\n });\n\n var exampleTopic = new Aws.Sns.Topic(\"example\", new()\n {\n Name = \"example-topic\",\n });\n\n var exampleDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup(\"example\", new()\n {\n AppName = exampleApplication.Name,\n DeploymentGroupName = \"example-group\",\n ServiceRoleArn = example.Arn,\n Ec2TagSets = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagSetArgs\n {\n Ec2TagFilters = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagSetEc2TagFilterArgs\n {\n Key = \"filterkey1\",\n Type = \"KEY_AND_VALUE\",\n Value = \"filtervalue\",\n },\n new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagSetEc2TagFilterArgs\n {\n Key = \"filterkey2\",\n Type = \"KEY_AND_VALUE\",\n Value = \"filtervalue\",\n },\n },\n },\n },\n TriggerConfigurations = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupTriggerConfigurationArgs\n {\n TriggerEvents = new[]\n {\n \"DeploymentFailure\",\n },\n TriggerName = \"example-trigger\",\n TriggerTargetArn = exampleTopic.Arn,\n },\n },\n AutoRollbackConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAutoRollbackConfigurationArgs\n {\n Enabled = true,\n Events = new[]\n {\n \"DEPLOYMENT_FAILURE\",\n },\n },\n AlarmConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAlarmConfigurationArgs\n {\n Alarms = new[]\n {\n \"my-alarm-name\",\n },\n Enabled = true,\n },\n OutdatedInstancesStrategy = \"UPDATE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"codedeploy.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"AWSCodeDeployRole\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := sns.NewTopic(ctx, \"example\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"example-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codedeploy.NewDeploymentGroup(ctx, \"example\", \u0026codedeploy.DeploymentGroupArgs{\n\t\t\tAppName: exampleApplication.Name,\n\t\t\tDeploymentGroupName: pulumi.String(\"example-group\"),\n\t\t\tServiceRoleArn: example.Arn,\n\t\t\tEc2TagSets: codedeploy.DeploymentGroupEc2TagSetArray{\n\t\t\t\t\u0026codedeploy.DeploymentGroupEc2TagSetArgs{\n\t\t\t\t\tEc2TagFilters: codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArray{\n\t\t\t\t\t\t\u0026codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"filterkey1\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"KEY_AND_VALUE\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"filtervalue\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"filterkey2\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"KEY_AND_VALUE\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"filtervalue\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTriggerConfigurations: codedeploy.DeploymentGroupTriggerConfigurationArray{\n\t\t\t\t\u0026codedeploy.DeploymentGroupTriggerConfigurationArgs{\n\t\t\t\t\tTriggerEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"DeploymentFailure\"),\n\t\t\t\t\t},\n\t\t\t\t\tTriggerName: pulumi.String(\"example-trigger\"),\n\t\t\t\t\tTriggerTargetArn: exampleTopic.Arn,\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoRollbackConfiguration: \u0026codedeploy.DeploymentGroupAutoRollbackConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"DEPLOYMENT_FAILURE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAlarmConfiguration: \u0026codedeploy.DeploymentGroupAlarmConfigurationArgs{\n\t\t\t\tAlarms: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"my-alarm-name\"),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tOutdatedInstancesStrategy: pulumi.String(\"UPDATE\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.codedeploy.DeploymentGroup;\nimport com.pulumi.aws.codedeploy.DeploymentGroupArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupEc2TagSetArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupTriggerConfigurationArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAutoRollbackConfigurationArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAlarmConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codedeploy.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"example-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var aWSCodeDeployRole = new RolePolicyAttachment(\"aWSCodeDeployRole\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\")\n .role(example.name())\n .build());\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n .name(\"example-app\")\n .build());\n\n var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n .name(\"example-topic\")\n .build());\n\n var exampleDeploymentGroup = new DeploymentGroup(\"exampleDeploymentGroup\", DeploymentGroupArgs.builder()\n .appName(exampleApplication.name())\n .deploymentGroupName(\"example-group\")\n .serviceRoleArn(example.arn())\n .ec2TagSets(DeploymentGroupEc2TagSetArgs.builder()\n .ec2TagFilters( \n DeploymentGroupEc2TagSetEc2TagFilterArgs.builder()\n .key(\"filterkey1\")\n .type(\"KEY_AND_VALUE\")\n .value(\"filtervalue\")\n .build(),\n DeploymentGroupEc2TagSetEc2TagFilterArgs.builder()\n .key(\"filterkey2\")\n .type(\"KEY_AND_VALUE\")\n .value(\"filtervalue\")\n .build())\n .build())\n .triggerConfigurations(DeploymentGroupTriggerConfigurationArgs.builder()\n .triggerEvents(\"DeploymentFailure\")\n .triggerName(\"example-trigger\")\n .triggerTargetArn(exampleTopic.arn())\n .build())\n .autoRollbackConfiguration(DeploymentGroupAutoRollbackConfigurationArgs.builder()\n .enabled(true)\n .events(\"DEPLOYMENT_FAILURE\")\n .build())\n .alarmConfiguration(DeploymentGroupAlarmConfigurationArgs.builder()\n .alarms(\"my-alarm-name\")\n .enabled(true)\n .build())\n .outdatedInstancesStrategy(\"UPDATE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: example-role\n assumeRolePolicy: ${assumeRole.json}\n aWSCodeDeployRole:\n type: aws:iam:RolePolicyAttachment\n name: AWSCodeDeployRole\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\n role: ${example.name}\n exampleApplication:\n type: aws:codedeploy:Application\n name: example\n properties:\n name: example-app\n exampleTopic:\n type: aws:sns:Topic\n name: example\n properties:\n name: example-topic\n exampleDeploymentGroup:\n type: aws:codedeploy:DeploymentGroup\n name: example\n properties:\n appName: ${exampleApplication.name}\n deploymentGroupName: example-group\n serviceRoleArn: ${example.arn}\n ec2TagSets:\n - ec2TagFilters:\n - key: filterkey1\n type: KEY_AND_VALUE\n value: filtervalue\n - key: filterkey2\n type: KEY_AND_VALUE\n value: filtervalue\n triggerConfigurations:\n - triggerEvents:\n - DeploymentFailure\n triggerName: example-trigger\n triggerTargetArn: ${exampleTopic.arn}\n autoRollbackConfiguration:\n enabled: true\n events:\n - DEPLOYMENT_FAILURE\n alarmConfiguration:\n alarms:\n - my-alarm-name\n enabled: true\n outdatedInstancesStrategy: UPDATE\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - codedeploy.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Blue Green Deployments with ECS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codedeploy.Application(\"example\", {\n computePlatform: \"ECS\",\n name: \"example\",\n});\nconst exampleDeploymentGroup = new aws.codedeploy.DeploymentGroup(\"example\", {\n appName: example.name,\n deploymentConfigName: \"CodeDeployDefault.ECSAllAtOnce\",\n deploymentGroupName: \"example\",\n serviceRoleArn: exampleAwsIamRole.arn,\n autoRollbackConfiguration: {\n enabled: true,\n events: [\"DEPLOYMENT_FAILURE\"],\n },\n blueGreenDeploymentConfig: {\n deploymentReadyOption: {\n actionOnTimeout: \"CONTINUE_DEPLOYMENT\",\n },\n terminateBlueInstancesOnDeploymentSuccess: {\n action: \"TERMINATE\",\n terminationWaitTimeInMinutes: 5,\n },\n },\n deploymentStyle: {\n deploymentOption: \"WITH_TRAFFIC_CONTROL\",\n deploymentType: \"BLUE_GREEN\",\n },\n ecsService: {\n clusterName: exampleAwsEcsCluster.name,\n serviceName: exampleAwsEcsService.name,\n },\n loadBalancerInfo: {\n targetGroupPairInfo: {\n prodTrafficRoute: {\n listenerArns: [exampleAwsLbListener.arn],\n },\n targetGroups: [\n {\n name: blue.name,\n },\n {\n name: green.name,\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codedeploy.Application(\"example\",\n compute_platform=\"ECS\",\n name=\"example\")\nexample_deployment_group = aws.codedeploy.DeploymentGroup(\"example\",\n app_name=example.name,\n deployment_config_name=\"CodeDeployDefault.ECSAllAtOnce\",\n deployment_group_name=\"example\",\n service_role_arn=example_aws_iam_role[\"arn\"],\n auto_rollback_configuration={\n \"enabled\": True,\n \"events\": [\"DEPLOYMENT_FAILURE\"],\n },\n blue_green_deployment_config={\n \"deployment_ready_option\": {\n \"action_on_timeout\": \"CONTINUE_DEPLOYMENT\",\n },\n \"terminate_blue_instances_on_deployment_success\": {\n \"action\": \"TERMINATE\",\n \"termination_wait_time_in_minutes\": 5,\n },\n },\n deployment_style={\n \"deployment_option\": \"WITH_TRAFFIC_CONTROL\",\n \"deployment_type\": \"BLUE_GREEN\",\n },\n ecs_service={\n \"cluster_name\": example_aws_ecs_cluster[\"name\"],\n \"service_name\": example_aws_ecs_service[\"name\"],\n },\n load_balancer_info={\n \"target_group_pair_info\": {\n \"prod_traffic_route\": {\n \"listener_arns\": [example_aws_lb_listener[\"arn\"]],\n },\n \"target_groups\": [\n {\n \"name\": blue[\"name\"],\n },\n {\n \"name\": green[\"name\"],\n },\n ],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeDeploy.Application(\"example\", new()\n {\n ComputePlatform = \"ECS\",\n Name = \"example\",\n });\n\n var exampleDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup(\"example\", new()\n {\n AppName = example.Name,\n DeploymentConfigName = \"CodeDeployDefault.ECSAllAtOnce\",\n DeploymentGroupName = \"example\",\n ServiceRoleArn = exampleAwsIamRole.Arn,\n AutoRollbackConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAutoRollbackConfigurationArgs\n {\n Enabled = true,\n Events = new[]\n {\n \"DEPLOYMENT_FAILURE\",\n },\n },\n BlueGreenDeploymentConfig = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigArgs\n {\n DeploymentReadyOption = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs\n {\n ActionOnTimeout = \"CONTINUE_DEPLOYMENT\",\n },\n TerminateBlueInstancesOnDeploymentSuccess = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs\n {\n Action = \"TERMINATE\",\n TerminationWaitTimeInMinutes = 5,\n },\n },\n DeploymentStyle = new Aws.CodeDeploy.Inputs.DeploymentGroupDeploymentStyleArgs\n {\n DeploymentOption = \"WITH_TRAFFIC_CONTROL\",\n DeploymentType = \"BLUE_GREEN\",\n },\n EcsService = new Aws.CodeDeploy.Inputs.DeploymentGroupEcsServiceArgs\n {\n ClusterName = exampleAwsEcsCluster.Name,\n ServiceName = exampleAwsEcsService.Name,\n },\n LoadBalancerInfo = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoArgs\n {\n TargetGroupPairInfo = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs\n {\n ProdTrafficRoute = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs\n {\n ListenerArns = new[]\n {\n exampleAwsLbListener.Arn,\n },\n },\n TargetGroups = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs\n {\n Name = blue.Name,\n },\n new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs\n {\n Name = green.Name,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tComputePlatform: pulumi.String(\"ECS\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codedeploy.NewDeploymentGroup(ctx, \"example\", \u0026codedeploy.DeploymentGroupArgs{\n\t\t\tAppName: example.Name,\n\t\t\tDeploymentConfigName: pulumi.String(\"CodeDeployDefault.ECSAllAtOnce\"),\n\t\t\tDeploymentGroupName: pulumi.String(\"example\"),\n\t\t\tServiceRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tAutoRollbackConfiguration: \u0026codedeploy.DeploymentGroupAutoRollbackConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"DEPLOYMENT_FAILURE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBlueGreenDeploymentConfig: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigArgs{\n\t\t\t\tDeploymentReadyOption: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs{\n\t\t\t\t\tActionOnTimeout: pulumi.String(\"CONTINUE_DEPLOYMENT\"),\n\t\t\t\t},\n\t\t\t\tTerminateBlueInstancesOnDeploymentSuccess: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs{\n\t\t\t\t\tAction: pulumi.String(\"TERMINATE\"),\n\t\t\t\t\tTerminationWaitTimeInMinutes: pulumi.Int(5),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDeploymentStyle: \u0026codedeploy.DeploymentGroupDeploymentStyleArgs{\n\t\t\t\tDeploymentOption: pulumi.String(\"WITH_TRAFFIC_CONTROL\"),\n\t\t\t\tDeploymentType: pulumi.String(\"BLUE_GREEN\"),\n\t\t\t},\n\t\t\tEcsService: \u0026codedeploy.DeploymentGroupEcsServiceArgs{\n\t\t\t\tClusterName: pulumi.Any(exampleAwsEcsCluster.Name),\n\t\t\t\tServiceName: pulumi.Any(exampleAwsEcsService.Name),\n\t\t\t},\n\t\t\tLoadBalancerInfo: \u0026codedeploy.DeploymentGroupLoadBalancerInfoArgs{\n\t\t\t\tTargetGroupPairInfo: \u0026codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs{\n\t\t\t\t\tProdTrafficRoute: \u0026codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs{\n\t\t\t\t\t\tListenerArns: pulumi.StringArray{\n\t\t\t\t\t\t\texampleAwsLbListener.Arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTargetGroups: codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArray{\n\t\t\t\t\t\t\u0026codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs{\n\t\t\t\t\t\t\tName: pulumi.Any(blue.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs{\n\t\t\t\t\t\t\tName: pulumi.Any(green.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport com.pulumi.aws.codedeploy.DeploymentGroup;\nimport com.pulumi.aws.codedeploy.DeploymentGroupArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAutoRollbackConfigurationArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupDeploymentStyleArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupEcsServiceArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Application(\"example\", ApplicationArgs.builder()\n .computePlatform(\"ECS\")\n .name(\"example\")\n .build());\n\n var exampleDeploymentGroup = new DeploymentGroup(\"exampleDeploymentGroup\", DeploymentGroupArgs.builder()\n .appName(example.name())\n .deploymentConfigName(\"CodeDeployDefault.ECSAllAtOnce\")\n .deploymentGroupName(\"example\")\n .serviceRoleArn(exampleAwsIamRole.arn())\n .autoRollbackConfiguration(DeploymentGroupAutoRollbackConfigurationArgs.builder()\n .enabled(true)\n .events(\"DEPLOYMENT_FAILURE\")\n .build())\n .blueGreenDeploymentConfig(DeploymentGroupBlueGreenDeploymentConfigArgs.builder()\n .deploymentReadyOption(DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.builder()\n .actionOnTimeout(\"CONTINUE_DEPLOYMENT\")\n .build())\n .terminateBlueInstancesOnDeploymentSuccess(DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.builder()\n .action(\"TERMINATE\")\n .terminationWaitTimeInMinutes(5)\n .build())\n .build())\n .deploymentStyle(DeploymentGroupDeploymentStyleArgs.builder()\n .deploymentOption(\"WITH_TRAFFIC_CONTROL\")\n .deploymentType(\"BLUE_GREEN\")\n .build())\n .ecsService(DeploymentGroupEcsServiceArgs.builder()\n .clusterName(exampleAwsEcsCluster.name())\n .serviceName(exampleAwsEcsService.name())\n .build())\n .loadBalancerInfo(DeploymentGroupLoadBalancerInfoArgs.builder()\n .targetGroupPairInfo(DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs.builder()\n .prodTrafficRoute(DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs.builder()\n .listenerArns(exampleAwsLbListener.arn())\n .build())\n .targetGroups( \n DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs.builder()\n .name(blue.name())\n .build(),\n DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs.builder()\n .name(green.name())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codedeploy:Application\n properties:\n computePlatform: ECS\n name: example\n exampleDeploymentGroup:\n type: aws:codedeploy:DeploymentGroup\n name: example\n properties:\n appName: ${example.name}\n deploymentConfigName: CodeDeployDefault.ECSAllAtOnce\n deploymentGroupName: example\n serviceRoleArn: ${exampleAwsIamRole.arn}\n autoRollbackConfiguration:\n enabled: true\n events:\n - DEPLOYMENT_FAILURE\n blueGreenDeploymentConfig:\n deploymentReadyOption:\n actionOnTimeout: CONTINUE_DEPLOYMENT\n terminateBlueInstancesOnDeploymentSuccess:\n action: TERMINATE\n terminationWaitTimeInMinutes: 5\n deploymentStyle:\n deploymentOption: WITH_TRAFFIC_CONTROL\n deploymentType: BLUE_GREEN\n ecsService:\n clusterName: ${exampleAwsEcsCluster.name}\n serviceName: ${exampleAwsEcsService.name}\n loadBalancerInfo:\n targetGroupPairInfo:\n prodTrafficRoute:\n listenerArns:\n - ${exampleAwsLbListener.arn}\n targetGroups:\n - name: ${blue.name}\n - name: ${green.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Blue Green Deployments with Servers and Classic ELB\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codedeploy.Application(\"example\", {name: \"example-app\"});\nconst exampleDeploymentGroup = new aws.codedeploy.DeploymentGroup(\"example\", {\n appName: example.name,\n deploymentGroupName: \"example-group\",\n serviceRoleArn: exampleAwsIamRole.arn,\n deploymentStyle: {\n deploymentOption: \"WITH_TRAFFIC_CONTROL\",\n deploymentType: \"BLUE_GREEN\",\n },\n loadBalancerInfo: {\n elbInfos: [{\n name: exampleAwsElb.name,\n }],\n },\n blueGreenDeploymentConfig: {\n deploymentReadyOption: {\n actionOnTimeout: \"STOP_DEPLOYMENT\",\n waitTimeInMinutes: 60,\n },\n greenFleetProvisioningOption: {\n action: \"DISCOVER_EXISTING\",\n },\n terminateBlueInstancesOnDeploymentSuccess: {\n action: \"KEEP_ALIVE\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codedeploy.Application(\"example\", name=\"example-app\")\nexample_deployment_group = aws.codedeploy.DeploymentGroup(\"example\",\n app_name=example.name,\n deployment_group_name=\"example-group\",\n service_role_arn=example_aws_iam_role[\"arn\"],\n deployment_style={\n \"deployment_option\": \"WITH_TRAFFIC_CONTROL\",\n \"deployment_type\": \"BLUE_GREEN\",\n },\n load_balancer_info={\n \"elb_infos\": [{\n \"name\": example_aws_elb[\"name\"],\n }],\n },\n blue_green_deployment_config={\n \"deployment_ready_option\": {\n \"action_on_timeout\": \"STOP_DEPLOYMENT\",\n \"wait_time_in_minutes\": 60,\n },\n \"green_fleet_provisioning_option\": {\n \"action\": \"DISCOVER_EXISTING\",\n },\n \"terminate_blue_instances_on_deployment_success\": {\n \"action\": \"KEEP_ALIVE\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeDeploy.Application(\"example\", new()\n {\n Name = \"example-app\",\n });\n\n var exampleDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup(\"example\", new()\n {\n AppName = example.Name,\n DeploymentGroupName = \"example-group\",\n ServiceRoleArn = exampleAwsIamRole.Arn,\n DeploymentStyle = new Aws.CodeDeploy.Inputs.DeploymentGroupDeploymentStyleArgs\n {\n DeploymentOption = \"WITH_TRAFFIC_CONTROL\",\n DeploymentType = \"BLUE_GREEN\",\n },\n LoadBalancerInfo = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoArgs\n {\n ElbInfos = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoElbInfoArgs\n {\n Name = exampleAwsElb.Name,\n },\n },\n },\n BlueGreenDeploymentConfig = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigArgs\n {\n DeploymentReadyOption = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs\n {\n ActionOnTimeout = \"STOP_DEPLOYMENT\",\n WaitTimeInMinutes = 60,\n },\n GreenFleetProvisioningOption = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs\n {\n Action = \"DISCOVER_EXISTING\",\n },\n TerminateBlueInstancesOnDeploymentSuccess = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs\n {\n Action = \"KEEP_ALIVE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codedeploy.NewDeploymentGroup(ctx, \"example\", \u0026codedeploy.DeploymentGroupArgs{\n\t\t\tAppName: example.Name,\n\t\t\tDeploymentGroupName: pulumi.String(\"example-group\"),\n\t\t\tServiceRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tDeploymentStyle: \u0026codedeploy.DeploymentGroupDeploymentStyleArgs{\n\t\t\t\tDeploymentOption: pulumi.String(\"WITH_TRAFFIC_CONTROL\"),\n\t\t\t\tDeploymentType: pulumi.String(\"BLUE_GREEN\"),\n\t\t\t},\n\t\t\tLoadBalancerInfo: \u0026codedeploy.DeploymentGroupLoadBalancerInfoArgs{\n\t\t\t\tElbInfos: codedeploy.DeploymentGroupLoadBalancerInfoElbInfoArray{\n\t\t\t\t\t\u0026codedeploy.DeploymentGroupLoadBalancerInfoElbInfoArgs{\n\t\t\t\t\t\tName: pulumi.Any(exampleAwsElb.Name),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBlueGreenDeploymentConfig: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigArgs{\n\t\t\t\tDeploymentReadyOption: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs{\n\t\t\t\t\tActionOnTimeout: pulumi.String(\"STOP_DEPLOYMENT\"),\n\t\t\t\t\tWaitTimeInMinutes: pulumi.Int(60),\n\t\t\t\t},\n\t\t\t\tGreenFleetProvisioningOption: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs{\n\t\t\t\t\tAction: pulumi.String(\"DISCOVER_EXISTING\"),\n\t\t\t\t},\n\t\t\t\tTerminateBlueInstancesOnDeploymentSuccess: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs{\n\t\t\t\t\tAction: pulumi.String(\"KEEP_ALIVE\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport com.pulumi.aws.codedeploy.DeploymentGroup;\nimport com.pulumi.aws.codedeploy.DeploymentGroupArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupDeploymentStyleArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Application(\"example\", ApplicationArgs.builder()\n .name(\"example-app\")\n .build());\n\n var exampleDeploymentGroup = new DeploymentGroup(\"exampleDeploymentGroup\", DeploymentGroupArgs.builder()\n .appName(example.name())\n .deploymentGroupName(\"example-group\")\n .serviceRoleArn(exampleAwsIamRole.arn())\n .deploymentStyle(DeploymentGroupDeploymentStyleArgs.builder()\n .deploymentOption(\"WITH_TRAFFIC_CONTROL\")\n .deploymentType(\"BLUE_GREEN\")\n .build())\n .loadBalancerInfo(DeploymentGroupLoadBalancerInfoArgs.builder()\n .elbInfos(DeploymentGroupLoadBalancerInfoElbInfoArgs.builder()\n .name(exampleAwsElb.name())\n .build())\n .build())\n .blueGreenDeploymentConfig(DeploymentGroupBlueGreenDeploymentConfigArgs.builder()\n .deploymentReadyOption(DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.builder()\n .actionOnTimeout(\"STOP_DEPLOYMENT\")\n .waitTimeInMinutes(60)\n .build())\n .greenFleetProvisioningOption(DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs.builder()\n .action(\"DISCOVER_EXISTING\")\n .build())\n .terminateBlueInstancesOnDeploymentSuccess(DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.builder()\n .action(\"KEEP_ALIVE\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codedeploy:Application\n properties:\n name: example-app\n exampleDeploymentGroup:\n type: aws:codedeploy:DeploymentGroup\n name: example\n properties:\n appName: ${example.name}\n deploymentGroupName: example-group\n serviceRoleArn: ${exampleAwsIamRole.arn}\n deploymentStyle:\n deploymentOption: WITH_TRAFFIC_CONTROL\n deploymentType: BLUE_GREEN\n loadBalancerInfo:\n elbInfos:\n - name: ${exampleAwsElb.name}\n blueGreenDeploymentConfig:\n deploymentReadyOption:\n actionOnTimeout: STOP_DEPLOYMENT\n waitTimeInMinutes: 60\n greenFleetProvisioningOption:\n action: DISCOVER_EXISTING\n terminateBlueInstancesOnDeploymentSuccess:\n action: KEEP_ALIVE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeDeploy Deployment Groups using `app_name`, a colon, and `deployment_group_name`. For example:\n\n```sh\n$ pulumi import aws:codedeploy/deploymentGroup:DeploymentGroup example my-application:my-deployment-group\n```\n", "properties": { "alarmConfiguration": { "$ref": "#/types/aws:codedeploy/DeploymentGroupAlarmConfiguration:DeploymentGroupAlarmConfiguration", @@ -209570,7 +209570,7 @@ } }, "aws:codepipeline/pipeline:Pipeline": { - "description": "Provides a CodePipeline.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codestarconnections.Connection(\"example\", {\n name: \"example-connection\",\n providerType: \"GitHub\",\n});\nconst codepipelineBucket = new aws.s3.BucketV2(\"codepipeline_bucket\", {bucket: \"test-bucket\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"codepipeline.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst codepipelineRole = new aws.iam.Role(\"codepipeline_role\", {\n name: \"test-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst s3kmskey = aws.kms.getAlias({\n name: \"alias/myKmsKey\",\n});\nconst codepipeline = new aws.codepipeline.Pipeline(\"codepipeline\", {\n name: \"tf-test-pipeline\",\n roleArn: codepipelineRole.arn,\n artifactStores: [{\n location: codepipelineBucket.bucket,\n type: \"S3\",\n encryptionKey: {\n id: s3kmskey.then(s3kmskey =\u003e s3kmskey.arn),\n type: \"KMS\",\n },\n }],\n stages: [\n {\n name: \"Source\",\n actions: [{\n name: \"Source\",\n category: \"Source\",\n owner: \"AWS\",\n provider: \"CodeStarSourceConnection\",\n version: \"1\",\n outputArtifacts: [\"source_output\"],\n configuration: {\n ConnectionArn: example.arn,\n FullRepositoryId: \"my-organization/example\",\n BranchName: \"main\",\n },\n }],\n },\n {\n name: \"Build\",\n actions: [{\n name: \"Build\",\n category: \"Build\",\n owner: \"AWS\",\n provider: \"CodeBuild\",\n inputArtifacts: [\"source_output\"],\n outputArtifacts: [\"build_output\"],\n version: \"1\",\n configuration: {\n ProjectName: \"test\",\n },\n }],\n },\n {\n name: \"Deploy\",\n actions: [{\n name: \"Deploy\",\n category: \"Deploy\",\n owner: \"AWS\",\n provider: \"CloudFormation\",\n inputArtifacts: [\"build_output\"],\n version: \"1\",\n configuration: {\n ActionMode: \"REPLACE_ON_FAILURE\",\n Capabilities: \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\",\n OutputFileName: \"CreateStackOutput.json\",\n StackName: \"MyStack\",\n TemplatePath: \"build_output::sam-templated.yaml\",\n },\n }],\n },\n ],\n});\nconst codepipelineBucketPab = new aws.s3.BucketPublicAccessBlock(\"codepipeline_bucket_pab\", {\n bucket: codepipelineBucket.id,\n blockPublicAcls: true,\n blockPublicPolicy: true,\n ignorePublicAcls: true,\n restrictPublicBuckets: true,\n});\nconst codepipelinePolicy = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\",\n ],\n resources: [\n codepipelineBucket.arn,\n pulumi.interpolate`${codepipelineBucket.arn}/*`,\n ],\n },\n {\n effect: \"Allow\",\n actions: [\"codestar-connections:UseConnection\"],\n resources: [example.arn],\n },\n {\n effect: \"Allow\",\n actions: [\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\",\n ],\n resources: [\"*\"],\n },\n ],\n});\nconst codepipelinePolicyRolePolicy = new aws.iam.RolePolicy(\"codepipeline_policy\", {\n name: \"codepipeline_policy\",\n role: codepipelineRole.id,\n policy: codepipelinePolicy.apply(codepipelinePolicy =\u003e codepipelinePolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codestarconnections.Connection(\"example\",\n name=\"example-connection\",\n provider_type=\"GitHub\")\ncodepipeline_bucket = aws.s3.BucketV2(\"codepipeline_bucket\", bucket=\"test-bucket\")\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"codepipeline.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\ncodepipeline_role = aws.iam.Role(\"codepipeline_role\",\n name=\"test-role\",\n assume_role_policy=assume_role.json)\ns3kmskey = aws.kms.get_alias(name=\"alias/myKmsKey\")\ncodepipeline = aws.codepipeline.Pipeline(\"codepipeline\",\n name=\"tf-test-pipeline\",\n role_arn=codepipeline_role.arn,\n artifact_stores=[{\n \"location\": codepipeline_bucket.bucket,\n \"type\": \"S3\",\n \"encryption_key\": {\n \"id\": s3kmskey.arn,\n \"type\": \"KMS\",\n },\n }],\n stages=[\n {\n \"name\": \"Source\",\n \"actions\": [{\n \"name\": \"Source\",\n \"category\": \"Source\",\n \"owner\": \"AWS\",\n \"provider\": \"CodeStarSourceConnection\",\n \"version\": \"1\",\n \"output_artifacts\": [\"source_output\"],\n \"configuration\": {\n \"ConnectionArn\": example.arn,\n \"FullRepositoryId\": \"my-organization/example\",\n \"BranchName\": \"main\",\n },\n }],\n },\n {\n \"name\": \"Build\",\n \"actions\": [{\n \"name\": \"Build\",\n \"category\": \"Build\",\n \"owner\": \"AWS\",\n \"provider\": \"CodeBuild\",\n \"input_artifacts\": [\"source_output\"],\n \"output_artifacts\": [\"build_output\"],\n \"version\": \"1\",\n \"configuration\": {\n \"ProjectName\": \"test\",\n },\n }],\n },\n {\n \"name\": \"Deploy\",\n \"actions\": [{\n \"name\": \"Deploy\",\n \"category\": \"Deploy\",\n \"owner\": \"AWS\",\n \"provider\": \"CloudFormation\",\n \"input_artifacts\": [\"build_output\"],\n \"version\": \"1\",\n \"configuration\": {\n \"ActionMode\": \"REPLACE_ON_FAILURE\",\n \"Capabilities\": \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\",\n \"OutputFileName\": \"CreateStackOutput.json\",\n \"StackName\": \"MyStack\",\n \"TemplatePath\": \"build_output::sam-templated.yaml\",\n },\n }],\n },\n ])\ncodepipeline_bucket_pab = aws.s3.BucketPublicAccessBlock(\"codepipeline_bucket_pab\",\n bucket=codepipeline_bucket.id,\n block_public_acls=True,\n block_public_policy=True,\n ignore_public_acls=True,\n restrict_public_buckets=True)\ncodepipeline_policy = aws.iam.get_policy_document_output(statements=[\n {\n \"effect\": \"Allow\",\n \"actions\": [\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\",\n ],\n \"resources\": [\n codepipeline_bucket.arn,\n codepipeline_bucket.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\"codestar-connections:UseConnection\"],\n \"resources\": [example.arn],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\",\n ],\n \"resources\": [\"*\"],\n },\n])\ncodepipeline_policy_role_policy = aws.iam.RolePolicy(\"codepipeline_policy\",\n name=\"codepipeline_policy\",\n role=codepipeline_role.id,\n policy=codepipeline_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeStarConnections.Connection(\"example\", new()\n {\n Name = \"example-connection\",\n ProviderType = \"GitHub\",\n });\n\n var codepipelineBucket = new Aws.S3.BucketV2(\"codepipeline_bucket\", new()\n {\n Bucket = \"test-bucket\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codepipeline.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var codepipelineRole = new Aws.Iam.Role(\"codepipeline_role\", new()\n {\n Name = \"test-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var s3kmskey = Aws.Kms.GetAlias.Invoke(new()\n {\n Name = \"alias/myKmsKey\",\n });\n\n var codepipeline = new Aws.CodePipeline.Pipeline(\"codepipeline\", new()\n {\n Name = \"tf-test-pipeline\",\n RoleArn = codepipelineRole.Arn,\n ArtifactStores = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineArtifactStoreArgs\n {\n Location = codepipelineBucket.Bucket,\n Type = \"S3\",\n EncryptionKey = new Aws.CodePipeline.Inputs.PipelineArtifactStoreEncryptionKeyArgs\n {\n Id = s3kmskey.Apply(getAliasResult =\u003e getAliasResult.Arn),\n Type = \"KMS\",\n },\n },\n },\n Stages = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Source\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Source\",\n Category = \"Source\",\n Owner = \"AWS\",\n Provider = \"CodeStarSourceConnection\",\n Version = \"1\",\n OutputArtifacts = new[]\n {\n \"source_output\",\n },\n Configuration = \n {\n { \"ConnectionArn\", example.Arn },\n { \"FullRepositoryId\", \"my-organization/example\" },\n { \"BranchName\", \"main\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Build\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Build\",\n Category = \"Build\",\n Owner = \"AWS\",\n Provider = \"CodeBuild\",\n InputArtifacts = new[]\n {\n \"source_output\",\n },\n OutputArtifacts = new[]\n {\n \"build_output\",\n },\n Version = \"1\",\n Configuration = \n {\n { \"ProjectName\", \"test\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Deploy\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Deploy\",\n Category = \"Deploy\",\n Owner = \"AWS\",\n Provider = \"CloudFormation\",\n InputArtifacts = new[]\n {\n \"build_output\",\n },\n Version = \"1\",\n Configuration = \n {\n { \"ActionMode\", \"REPLACE_ON_FAILURE\" },\n { \"Capabilities\", \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\" },\n { \"OutputFileName\", \"CreateStackOutput.json\" },\n { \"StackName\", \"MyStack\" },\n { \"TemplatePath\", \"build_output::sam-templated.yaml\" },\n },\n },\n },\n },\n },\n });\n\n var codepipelineBucketPab = new Aws.S3.BucketPublicAccessBlock(\"codepipeline_bucket_pab\", new()\n {\n Bucket = codepipelineBucket.Id,\n BlockPublicAcls = true,\n BlockPublicPolicy = true,\n IgnorePublicAcls = true,\n RestrictPublicBuckets = true,\n });\n\n var codepipelinePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n codepipelineBucket.Arn,\n $\"{codepipelineBucket.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"codestar-connections:UseConnection\",\n },\n Resources = new[]\n {\n example.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var codepipelinePolicyRolePolicy = new Aws.Iam.RolePolicy(\"codepipeline_policy\", new()\n {\n Name = \"codepipeline_policy\",\n Role = codepipelineRole.Id,\n Policy = codepipelinePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codepipeline\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codestarconnections.NewConnection(ctx, \"example\", \u0026codestarconnections.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example-connection\"),\n\t\t\tProviderType: pulumi.String(\"GitHub\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelineBucket, err := s3.NewBucketV2(ctx, \"codepipeline_bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"codepipeline.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelineRole, err := iam.NewRole(ctx, \"codepipeline_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3kmskey, err := kms.LookupAlias(ctx, \u0026kms.LookupAliasArgs{\n\t\t\tName: \"alias/myKmsKey\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codepipeline.NewPipeline(ctx, \"codepipeline\", \u0026codepipeline.PipelineArgs{\n\t\t\tName: pulumi.String(\"tf-test-pipeline\"),\n\t\t\tRoleArn: codepipelineRole.Arn,\n\t\t\tArtifactStores: codepipeline.PipelineArtifactStoreArray{\n\t\t\t\t\u0026codepipeline.PipelineArtifactStoreArgs{\n\t\t\t\t\tLocation: codepipelineBucket.Bucket,\n\t\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\t\tEncryptionKey: \u0026codepipeline.PipelineArtifactStoreEncryptionKeyArgs{\n\t\t\t\t\t\tId: pulumi.String(s3kmskey.Arn),\n\t\t\t\t\t\tType: pulumi.String(\"KMS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStages: codepipeline.PipelineStageArray{\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeStarSourceConnection\"),\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"source_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ConnectionArn\": example.Arn,\n\t\t\t\t\t\t\t\t\"FullRepositoryId\": pulumi.String(\"my-organization/example\"),\n\t\t\t\t\t\t\t\t\"BranchName\": pulumi.String(\"main\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Build\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeBuild\"),\n\t\t\t\t\t\t\tInputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"source_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"build_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ProjectName\": pulumi.String(\"test\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Deploy\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Deploy\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Deploy\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CloudFormation\"),\n\t\t\t\t\t\t\tInputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"build_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ActionMode\": pulumi.String(\"REPLACE_ON_FAILURE\"),\n\t\t\t\t\t\t\t\t\"Capabilities\": pulumi.String(\"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\"),\n\t\t\t\t\t\t\t\t\"OutputFileName\": pulumi.String(\"CreateStackOutput.json\"),\n\t\t\t\t\t\t\t\t\"StackName\": pulumi.String(\"MyStack\"),\n\t\t\t\t\t\t\t\t\"TemplatePath\": pulumi.String(\"build_output::sam-templated.yaml\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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\t_, err = s3.NewBucketPublicAccessBlock(ctx, \"codepipeline_bucket_pab\", \u0026s3.BucketPublicAccessBlockArgs{\n\t\t\tBucket: codepipelineBucket.ID(),\n\t\t\tBlockPublicAcls: pulumi.Bool(true),\n\t\t\tBlockPublicPolicy: pulumi.Bool(true),\n\t\t\tIgnorePublicAcls: pulumi.Bool(true),\n\t\t\tRestrictPublicBuckets: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelinePolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetObjectVersion\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketVersioning\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObjectAcl\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tcodepipelineBucket.Arn,\n\t\t\t\t\t\tcodepipelineBucket.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codestar-connections:UseConnection\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codebuild:BatchGetBuilds\"),\n\t\t\t\t\t\tpulumi.String(\"codebuild:StartBuild\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"codepipeline_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"codepipeline_policy\"),\n\t\t\tRole: codepipelineRole.ID(),\n\t\t\tPolicy: pulumi.String(codepipelinePolicy.ApplyT(func(codepipelinePolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026codepipelinePolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codestarconnections.Connection;\nimport com.pulumi.aws.codestarconnections.ConnectionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetAliasArgs;\nimport com.pulumi.aws.codepipeline.Pipeline;\nimport com.pulumi.aws.codepipeline.PipelineArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreEncryptionKeyArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineStageArgs;\nimport com.pulumi.aws.s3.BucketPublicAccessBlock;\nimport com.pulumi.aws.s3.BucketPublicAccessBlockArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Connection(\"example\", ConnectionArgs.builder()\n .name(\"example-connection\")\n .providerType(\"GitHub\")\n .build());\n\n var codepipelineBucket = new BucketV2(\"codepipelineBucket\", BucketV2Args.builder()\n .bucket(\"test-bucket\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codepipeline.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var codepipelineRole = new Role(\"codepipelineRole\", RoleArgs.builder()\n .name(\"test-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var s3kmskey = KmsFunctions.getAlias(GetAliasArgs.builder()\n .name(\"alias/myKmsKey\")\n .build());\n\n var codepipeline = new Pipeline(\"codepipeline\", PipelineArgs.builder()\n .name(\"tf-test-pipeline\")\n .roleArn(codepipelineRole.arn())\n .artifactStores(PipelineArtifactStoreArgs.builder()\n .location(codepipelineBucket.bucket())\n .type(\"S3\")\n .encryptionKey(PipelineArtifactStoreEncryptionKeyArgs.builder()\n .id(s3kmskey.applyValue(getAliasResult -\u003e getAliasResult.arn()))\n .type(\"KMS\")\n .build())\n .build())\n .stages( \n PipelineStageArgs.builder()\n .name(\"Source\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Source\")\n .category(\"Source\")\n .owner(\"AWS\")\n .provider(\"CodeStarSourceConnection\")\n .version(\"1\")\n .outputArtifacts(\"source_output\")\n .configuration(Map.ofEntries(\n Map.entry(\"ConnectionArn\", example.arn()),\n Map.entry(\"FullRepositoryId\", \"my-organization/example\"),\n Map.entry(\"BranchName\", \"main\")\n ))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Build\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Build\")\n .category(\"Build\")\n .owner(\"AWS\")\n .provider(\"CodeBuild\")\n .inputArtifacts(\"source_output\")\n .outputArtifacts(\"build_output\")\n .version(\"1\")\n .configuration(Map.of(\"ProjectName\", \"test\"))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Deploy\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Deploy\")\n .category(\"Deploy\")\n .owner(\"AWS\")\n .provider(\"CloudFormation\")\n .inputArtifacts(\"build_output\")\n .version(\"1\")\n .configuration(Map.ofEntries(\n Map.entry(\"ActionMode\", \"REPLACE_ON_FAILURE\"),\n Map.entry(\"Capabilities\", \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\"),\n Map.entry(\"OutputFileName\", \"CreateStackOutput.json\"),\n Map.entry(\"StackName\", \"MyStack\"),\n Map.entry(\"TemplatePath\", \"build_output::sam-templated.yaml\")\n ))\n .build())\n .build())\n .build());\n\n var codepipelineBucketPab = new BucketPublicAccessBlock(\"codepipelineBucketPab\", BucketPublicAccessBlockArgs.builder()\n .bucket(codepipelineBucket.id())\n .blockPublicAcls(true)\n .blockPublicPolicy(true)\n .ignorePublicAcls(true)\n .restrictPublicBuckets(true)\n .build());\n\n final var codepipelinePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\")\n .resources( \n codepipelineBucket.arn(),\n codepipelineBucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"codestar-connections:UseConnection\")\n .resources(example.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\")\n .resources(\"*\")\n .build())\n .build());\n\n var codepipelinePolicyRolePolicy = new RolePolicy(\"codepipelinePolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"codepipeline_policy\")\n .role(codepipelineRole.id())\n .policy(codepipelinePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(codepipelinePolicy -\u003e codepipelinePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n codepipeline:\n type: aws:codepipeline:Pipeline\n properties:\n name: tf-test-pipeline\n roleArn: ${codepipelineRole.arn}\n artifactStores:\n - location: ${codepipelineBucket.bucket}\n type: S3\n encryptionKey:\n id: ${s3kmskey.arn}\n type: KMS\n stages:\n - name: Source\n actions:\n - name: Source\n category: Source\n owner: AWS\n provider: CodeStarSourceConnection\n version: '1'\n outputArtifacts:\n - source_output\n configuration:\n ConnectionArn: ${example.arn}\n FullRepositoryId: my-organization/example\n BranchName: main\n - name: Build\n actions:\n - name: Build\n category: Build\n owner: AWS\n provider: CodeBuild\n inputArtifacts:\n - source_output\n outputArtifacts:\n - build_output\n version: '1'\n configuration:\n ProjectName: test\n - name: Deploy\n actions:\n - name: Deploy\n category: Deploy\n owner: AWS\n provider: CloudFormation\n inputArtifacts:\n - build_output\n version: '1'\n configuration:\n ActionMode: REPLACE_ON_FAILURE\n Capabilities: CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\n OutputFileName: CreateStackOutput.json\n StackName: MyStack\n TemplatePath: build_output::sam-templated.yaml\n example:\n type: aws:codestarconnections:Connection\n properties:\n name: example-connection\n providerType: GitHub\n codepipelineBucket:\n type: aws:s3:BucketV2\n name: codepipeline_bucket\n properties:\n bucket: test-bucket\n codepipelineBucketPab:\n type: aws:s3:BucketPublicAccessBlock\n name: codepipeline_bucket_pab\n properties:\n bucket: ${codepipelineBucket.id}\n blockPublicAcls: true\n blockPublicPolicy: true\n ignorePublicAcls: true\n restrictPublicBuckets: true\n codepipelineRole:\n type: aws:iam:Role\n name: codepipeline_role\n properties:\n name: test-role\n assumeRolePolicy: ${assumeRole.json}\n codepipelinePolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: codepipeline_policy\n properties:\n name: codepipeline_policy\n role: ${codepipelineRole.id}\n policy: ${codepipelinePolicy.json}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - codepipeline.amazonaws.com\n actions:\n - sts:AssumeRole\n codepipelinePolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - s3:GetObject\n - s3:GetObjectVersion\n - s3:GetBucketVersioning\n - s3:PutObjectAcl\n - s3:PutObject\n resources:\n - ${codepipelineBucket.arn}\n - ${codepipelineBucket.arn}/*\n - effect: Allow\n actions:\n - codestar-connections:UseConnection\n resources:\n - ${example.arn}\n - effect: Allow\n actions:\n - codebuild:BatchGetBuilds\n - codebuild:StartBuild\n resources:\n - '*'\n s3kmskey:\n fn::invoke:\n function: aws:kms:getAlias\n arguments:\n name: alias/myKmsKey\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodePipelines using the name. For example:\n\n```sh\n$ pulumi import aws:codepipeline/pipeline:Pipeline foo example\n```\n", + "description": "Provides a CodePipeline.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codestarconnections.Connection(\"example\", {\n name: \"example-connection\",\n providerType: \"GitHub\",\n});\nconst codepipelineBucket = new aws.s3.BucketV2(\"codepipeline_bucket\", {bucket: \"test-bucket\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"codepipeline.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst codepipelineRole = new aws.iam.Role(\"codepipeline_role\", {\n name: \"test-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst s3kmskey = aws.kms.getAlias({\n name: \"alias/myKmsKey\",\n});\nconst codepipeline = new aws.codepipeline.Pipeline(\"codepipeline\", {\n name: \"tf-test-pipeline\",\n roleArn: codepipelineRole.arn,\n artifactStores: [{\n location: codepipelineBucket.bucket,\n type: \"S3\",\n encryptionKey: {\n id: s3kmskey.then(s3kmskey =\u003e s3kmskey.arn),\n type: \"KMS\",\n },\n }],\n stages: [\n {\n name: \"Source\",\n actions: [{\n name: \"Source\",\n category: \"Source\",\n owner: \"AWS\",\n provider: \"CodeStarSourceConnection\",\n version: \"1\",\n outputArtifacts: [\"source_output\"],\n configuration: {\n ConnectionArn: example.arn,\n FullRepositoryId: \"my-organization/example\",\n BranchName: \"main\",\n },\n }],\n },\n {\n name: \"Build\",\n actions: [{\n name: \"Build\",\n category: \"Build\",\n owner: \"AWS\",\n provider: \"CodeBuild\",\n inputArtifacts: [\"source_output\"],\n outputArtifacts: [\"build_output\"],\n version: \"1\",\n configuration: {\n ProjectName: \"test\",\n },\n }],\n },\n {\n name: \"Deploy\",\n actions: [{\n name: \"Deploy\",\n category: \"Deploy\",\n owner: \"AWS\",\n provider: \"CloudFormation\",\n inputArtifacts: [\"build_output\"],\n version: \"1\",\n configuration: {\n ActionMode: \"REPLACE_ON_FAILURE\",\n Capabilities: \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\",\n OutputFileName: \"CreateStackOutput.json\",\n StackName: \"MyStack\",\n TemplatePath: \"build_output::sam-templated.yaml\",\n },\n }],\n },\n ],\n});\nconst codepipelineBucketPab = new aws.s3.BucketPublicAccessBlock(\"codepipeline_bucket_pab\", {\n bucket: codepipelineBucket.id,\n blockPublicAcls: true,\n blockPublicPolicy: true,\n ignorePublicAcls: true,\n restrictPublicBuckets: true,\n});\nconst codepipelinePolicy = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\",\n ],\n resources: [\n codepipelineBucket.arn,\n pulumi.interpolate`${codepipelineBucket.arn}/*`,\n ],\n },\n {\n effect: \"Allow\",\n actions: [\"codestar-connections:UseConnection\"],\n resources: [example.arn],\n },\n {\n effect: \"Allow\",\n actions: [\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\",\n ],\n resources: [\"*\"],\n },\n ],\n});\nconst codepipelinePolicyRolePolicy = new aws.iam.RolePolicy(\"codepipeline_policy\", {\n name: \"codepipeline_policy\",\n role: codepipelineRole.id,\n policy: codepipelinePolicy.apply(codepipelinePolicy =\u003e codepipelinePolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codestarconnections.Connection(\"example\",\n name=\"example-connection\",\n provider_type=\"GitHub\")\ncodepipeline_bucket = aws.s3.BucketV2(\"codepipeline_bucket\", bucket=\"test-bucket\")\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"codepipeline.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\ncodepipeline_role = aws.iam.Role(\"codepipeline_role\",\n name=\"test-role\",\n assume_role_policy=assume_role.json)\ns3kmskey = aws.kms.get_alias(name=\"alias/myKmsKey\")\ncodepipeline = aws.codepipeline.Pipeline(\"codepipeline\",\n name=\"tf-test-pipeline\",\n role_arn=codepipeline_role.arn,\n artifact_stores=[{\n \"location\": codepipeline_bucket.bucket,\n \"type\": \"S3\",\n \"encryption_key\": {\n \"id\": s3kmskey.arn,\n \"type\": \"KMS\",\n },\n }],\n stages=[\n {\n \"name\": \"Source\",\n \"actions\": [{\n \"name\": \"Source\",\n \"category\": \"Source\",\n \"owner\": \"AWS\",\n \"provider\": \"CodeStarSourceConnection\",\n \"version\": \"1\",\n \"output_artifacts\": [\"source_output\"],\n \"configuration\": {\n \"ConnectionArn\": example.arn,\n \"FullRepositoryId\": \"my-organization/example\",\n \"BranchName\": \"main\",\n },\n }],\n },\n {\n \"name\": \"Build\",\n \"actions\": [{\n \"name\": \"Build\",\n \"category\": \"Build\",\n \"owner\": \"AWS\",\n \"provider\": \"CodeBuild\",\n \"input_artifacts\": [\"source_output\"],\n \"output_artifacts\": [\"build_output\"],\n \"version\": \"1\",\n \"configuration\": {\n \"ProjectName\": \"test\",\n },\n }],\n },\n {\n \"name\": \"Deploy\",\n \"actions\": [{\n \"name\": \"Deploy\",\n \"category\": \"Deploy\",\n \"owner\": \"AWS\",\n \"provider\": \"CloudFormation\",\n \"input_artifacts\": [\"build_output\"],\n \"version\": \"1\",\n \"configuration\": {\n \"ActionMode\": \"REPLACE_ON_FAILURE\",\n \"Capabilities\": \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\",\n \"OutputFileName\": \"CreateStackOutput.json\",\n \"StackName\": \"MyStack\",\n \"TemplatePath\": \"build_output::sam-templated.yaml\",\n },\n }],\n },\n ])\ncodepipeline_bucket_pab = aws.s3.BucketPublicAccessBlock(\"codepipeline_bucket_pab\",\n bucket=codepipeline_bucket.id,\n block_public_acls=True,\n block_public_policy=True,\n ignore_public_acls=True,\n restrict_public_buckets=True)\ncodepipeline_policy = aws.iam.get_policy_document_output(statements=[\n {\n \"effect\": \"Allow\",\n \"actions\": [\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\",\n ],\n \"resources\": [\n codepipeline_bucket.arn,\n codepipeline_bucket.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\"codestar-connections:UseConnection\"],\n \"resources\": [example.arn],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\",\n ],\n \"resources\": [\"*\"],\n },\n])\ncodepipeline_policy_role_policy = aws.iam.RolePolicy(\"codepipeline_policy\",\n name=\"codepipeline_policy\",\n role=codepipeline_role.id,\n policy=codepipeline_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeStarConnections.Connection(\"example\", new()\n {\n Name = \"example-connection\",\n ProviderType = \"GitHub\",\n });\n\n var codepipelineBucket = new Aws.S3.BucketV2(\"codepipeline_bucket\", new()\n {\n Bucket = \"test-bucket\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codepipeline.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var codepipelineRole = new Aws.Iam.Role(\"codepipeline_role\", new()\n {\n Name = \"test-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var s3kmskey = Aws.Kms.GetAlias.Invoke(new()\n {\n Name = \"alias/myKmsKey\",\n });\n\n var codepipeline = new Aws.CodePipeline.Pipeline(\"codepipeline\", new()\n {\n Name = \"tf-test-pipeline\",\n RoleArn = codepipelineRole.Arn,\n ArtifactStores = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineArtifactStoreArgs\n {\n Location = codepipelineBucket.Bucket,\n Type = \"S3\",\n EncryptionKey = new Aws.CodePipeline.Inputs.PipelineArtifactStoreEncryptionKeyArgs\n {\n Id = s3kmskey.Apply(getAliasResult =\u003e getAliasResult.Arn),\n Type = \"KMS\",\n },\n },\n },\n Stages = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Source\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Source\",\n Category = \"Source\",\n Owner = \"AWS\",\n Provider = \"CodeStarSourceConnection\",\n Version = \"1\",\n OutputArtifacts = new[]\n {\n \"source_output\",\n },\n Configuration = \n {\n { \"ConnectionArn\", example.Arn },\n { \"FullRepositoryId\", \"my-organization/example\" },\n { \"BranchName\", \"main\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Build\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Build\",\n Category = \"Build\",\n Owner = \"AWS\",\n Provider = \"CodeBuild\",\n InputArtifacts = new[]\n {\n \"source_output\",\n },\n OutputArtifacts = new[]\n {\n \"build_output\",\n },\n Version = \"1\",\n Configuration = \n {\n { \"ProjectName\", \"test\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Deploy\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Deploy\",\n Category = \"Deploy\",\n Owner = \"AWS\",\n Provider = \"CloudFormation\",\n InputArtifacts = new[]\n {\n \"build_output\",\n },\n Version = \"1\",\n Configuration = \n {\n { \"ActionMode\", \"REPLACE_ON_FAILURE\" },\n { \"Capabilities\", \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\" },\n { \"OutputFileName\", \"CreateStackOutput.json\" },\n { \"StackName\", \"MyStack\" },\n { \"TemplatePath\", \"build_output::sam-templated.yaml\" },\n },\n },\n },\n },\n },\n });\n\n var codepipelineBucketPab = new Aws.S3.BucketPublicAccessBlock(\"codepipeline_bucket_pab\", new()\n {\n Bucket = codepipelineBucket.Id,\n BlockPublicAcls = true,\n BlockPublicPolicy = true,\n IgnorePublicAcls = true,\n RestrictPublicBuckets = true,\n });\n\n var codepipelinePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n codepipelineBucket.Arn,\n $\"{codepipelineBucket.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"codestar-connections:UseConnection\",\n },\n Resources = new[]\n {\n example.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var codepipelinePolicyRolePolicy = new Aws.Iam.RolePolicy(\"codepipeline_policy\", new()\n {\n Name = \"codepipeline_policy\",\n Role = codepipelineRole.Id,\n Policy = codepipelinePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codepipeline\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codestarconnections.NewConnection(ctx, \"example\", \u0026codestarconnections.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example-connection\"),\n\t\t\tProviderType: pulumi.String(\"GitHub\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelineBucket, err := s3.NewBucketV2(ctx, \"codepipeline_bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"codepipeline.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelineRole, err := iam.NewRole(ctx, \"codepipeline_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3kmskey, err := kms.LookupAlias(ctx, \u0026kms.LookupAliasArgs{\n\t\t\tName: \"alias/myKmsKey\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codepipeline.NewPipeline(ctx, \"codepipeline\", \u0026codepipeline.PipelineArgs{\n\t\t\tName: pulumi.String(\"tf-test-pipeline\"),\n\t\t\tRoleArn: codepipelineRole.Arn,\n\t\t\tArtifactStores: codepipeline.PipelineArtifactStoreArray{\n\t\t\t\t\u0026codepipeline.PipelineArtifactStoreArgs{\n\t\t\t\t\tLocation: codepipelineBucket.Bucket,\n\t\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\t\tEncryptionKey: \u0026codepipeline.PipelineArtifactStoreEncryptionKeyArgs{\n\t\t\t\t\t\tId: pulumi.String(s3kmskey.Arn),\n\t\t\t\t\t\tType: pulumi.String(\"KMS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStages: codepipeline.PipelineStageArray{\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeStarSourceConnection\"),\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"source_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ConnectionArn\": example.Arn,\n\t\t\t\t\t\t\t\t\"FullRepositoryId\": pulumi.String(\"my-organization/example\"),\n\t\t\t\t\t\t\t\t\"BranchName\": pulumi.String(\"main\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Build\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeBuild\"),\n\t\t\t\t\t\t\tInputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"source_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"build_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ProjectName\": pulumi.String(\"test\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Deploy\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Deploy\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Deploy\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CloudFormation\"),\n\t\t\t\t\t\t\tInputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"build_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ActionMode\": pulumi.String(\"REPLACE_ON_FAILURE\"),\n\t\t\t\t\t\t\t\t\"Capabilities\": pulumi.String(\"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\"),\n\t\t\t\t\t\t\t\t\"OutputFileName\": pulumi.String(\"CreateStackOutput.json\"),\n\t\t\t\t\t\t\t\t\"StackName\": pulumi.String(\"MyStack\"),\n\t\t\t\t\t\t\t\t\"TemplatePath\": pulumi.String(\"build_output::sam-templated.yaml\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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\t_, err = s3.NewBucketPublicAccessBlock(ctx, \"codepipeline_bucket_pab\", \u0026s3.BucketPublicAccessBlockArgs{\n\t\t\tBucket: codepipelineBucket.ID(),\n\t\t\tBlockPublicAcls: pulumi.Bool(true),\n\t\t\tBlockPublicPolicy: pulumi.Bool(true),\n\t\t\tIgnorePublicAcls: pulumi.Bool(true),\n\t\t\tRestrictPublicBuckets: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelinePolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetObjectVersion\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketVersioning\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObjectAcl\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tcodepipelineBucket.Arn,\n\t\t\t\t\t\tcodepipelineBucket.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codestar-connections:UseConnection\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codebuild:BatchGetBuilds\"),\n\t\t\t\t\t\tpulumi.String(\"codebuild:StartBuild\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"codepipeline_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"codepipeline_policy\"),\n\t\t\tRole: codepipelineRole.ID(),\n\t\t\tPolicy: pulumi.String(codepipelinePolicy.ApplyT(func(codepipelinePolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026codepipelinePolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codestarconnections.Connection;\nimport com.pulumi.aws.codestarconnections.ConnectionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetAliasArgs;\nimport com.pulumi.aws.codepipeline.Pipeline;\nimport com.pulumi.aws.codepipeline.PipelineArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreEncryptionKeyArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineStageArgs;\nimport com.pulumi.aws.s3.BucketPublicAccessBlock;\nimport com.pulumi.aws.s3.BucketPublicAccessBlockArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Connection(\"example\", ConnectionArgs.builder()\n .name(\"example-connection\")\n .providerType(\"GitHub\")\n .build());\n\n var codepipelineBucket = new BucketV2(\"codepipelineBucket\", BucketV2Args.builder()\n .bucket(\"test-bucket\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codepipeline.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var codepipelineRole = new Role(\"codepipelineRole\", RoleArgs.builder()\n .name(\"test-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var s3kmskey = KmsFunctions.getAlias(GetAliasArgs.builder()\n .name(\"alias/myKmsKey\")\n .build());\n\n var codepipeline = new Pipeline(\"codepipeline\", PipelineArgs.builder()\n .name(\"tf-test-pipeline\")\n .roleArn(codepipelineRole.arn())\n .artifactStores(PipelineArtifactStoreArgs.builder()\n .location(codepipelineBucket.bucket())\n .type(\"S3\")\n .encryptionKey(PipelineArtifactStoreEncryptionKeyArgs.builder()\n .id(s3kmskey.applyValue(getAliasResult -\u003e getAliasResult.arn()))\n .type(\"KMS\")\n .build())\n .build())\n .stages( \n PipelineStageArgs.builder()\n .name(\"Source\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Source\")\n .category(\"Source\")\n .owner(\"AWS\")\n .provider(\"CodeStarSourceConnection\")\n .version(\"1\")\n .outputArtifacts(\"source_output\")\n .configuration(Map.ofEntries(\n Map.entry(\"ConnectionArn\", example.arn()),\n Map.entry(\"FullRepositoryId\", \"my-organization/example\"),\n Map.entry(\"BranchName\", \"main\")\n ))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Build\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Build\")\n .category(\"Build\")\n .owner(\"AWS\")\n .provider(\"CodeBuild\")\n .inputArtifacts(\"source_output\")\n .outputArtifacts(\"build_output\")\n .version(\"1\")\n .configuration(Map.of(\"ProjectName\", \"test\"))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Deploy\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Deploy\")\n .category(\"Deploy\")\n .owner(\"AWS\")\n .provider(\"CloudFormation\")\n .inputArtifacts(\"build_output\")\n .version(\"1\")\n .configuration(Map.ofEntries(\n Map.entry(\"ActionMode\", \"REPLACE_ON_FAILURE\"),\n Map.entry(\"Capabilities\", \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\"),\n Map.entry(\"OutputFileName\", \"CreateStackOutput.json\"),\n Map.entry(\"StackName\", \"MyStack\"),\n Map.entry(\"TemplatePath\", \"build_output::sam-templated.yaml\")\n ))\n .build())\n .build())\n .build());\n\n var codepipelineBucketPab = new BucketPublicAccessBlock(\"codepipelineBucketPab\", BucketPublicAccessBlockArgs.builder()\n .bucket(codepipelineBucket.id())\n .blockPublicAcls(true)\n .blockPublicPolicy(true)\n .ignorePublicAcls(true)\n .restrictPublicBuckets(true)\n .build());\n\n final var codepipelinePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\")\n .resources( \n codepipelineBucket.arn(),\n codepipelineBucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"codestar-connections:UseConnection\")\n .resources(example.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\")\n .resources(\"*\")\n .build())\n .build());\n\n var codepipelinePolicyRolePolicy = new RolePolicy(\"codepipelinePolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"codepipeline_policy\")\n .role(codepipelineRole.id())\n .policy(codepipelinePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(codepipelinePolicy -\u003e codepipelinePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n codepipeline:\n type: aws:codepipeline:Pipeline\n properties:\n name: tf-test-pipeline\n roleArn: ${codepipelineRole.arn}\n artifactStores:\n - location: ${codepipelineBucket.bucket}\n type: S3\n encryptionKey:\n id: ${s3kmskey.arn}\n type: KMS\n stages:\n - name: Source\n actions:\n - name: Source\n category: Source\n owner: AWS\n provider: CodeStarSourceConnection\n version: '1'\n outputArtifacts:\n - source_output\n configuration:\n ConnectionArn: ${example.arn}\n FullRepositoryId: my-organization/example\n BranchName: main\n - name: Build\n actions:\n - name: Build\n category: Build\n owner: AWS\n provider: CodeBuild\n inputArtifacts:\n - source_output\n outputArtifacts:\n - build_output\n version: '1'\n configuration:\n ProjectName: test\n - name: Deploy\n actions:\n - name: Deploy\n category: Deploy\n owner: AWS\n provider: CloudFormation\n inputArtifacts:\n - build_output\n version: '1'\n configuration:\n ActionMode: REPLACE_ON_FAILURE\n Capabilities: CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\n OutputFileName: CreateStackOutput.json\n StackName: MyStack\n TemplatePath: build_output::sam-templated.yaml\n example:\n type: aws:codestarconnections:Connection\n properties:\n name: example-connection\n providerType: GitHub\n codepipelineBucket:\n type: aws:s3:BucketV2\n name: codepipeline_bucket\n properties:\n bucket: test-bucket\n codepipelineBucketPab:\n type: aws:s3:BucketPublicAccessBlock\n name: codepipeline_bucket_pab\n properties:\n bucket: ${codepipelineBucket.id}\n blockPublicAcls: true\n blockPublicPolicy: true\n ignorePublicAcls: true\n restrictPublicBuckets: true\n codepipelineRole:\n type: aws:iam:Role\n name: codepipeline_role\n properties:\n name: test-role\n assumeRolePolicy: ${assumeRole.json}\n codepipelinePolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: codepipeline_policy\n properties:\n name: codepipeline_policy\n role: ${codepipelineRole.id}\n policy: ${codepipelinePolicy.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - codepipeline.amazonaws.com\n actions:\n - sts:AssumeRole\n codepipelinePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - s3:GetObject\n - s3:GetObjectVersion\n - s3:GetBucketVersioning\n - s3:PutObjectAcl\n - s3:PutObject\n resources:\n - ${codepipelineBucket.arn}\n - ${codepipelineBucket.arn}/*\n - effect: Allow\n actions:\n - codestar-connections:UseConnection\n resources:\n - ${example.arn}\n - effect: Allow\n actions:\n - codebuild:BatchGetBuilds\n - codebuild:StartBuild\n resources:\n - '*'\n s3kmskey:\n fn::invoke:\n Function: aws:kms:getAlias\n Arguments:\n name: alias/myKmsKey\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodePipelines using the name. For example:\n\n```sh\n$ pulumi import aws:codepipeline/pipeline:Pipeline foo example\n```\n", "properties": { "arn": { "type": "string", @@ -210156,7 +210156,7 @@ } }, "aws:codestarnotifications/notificationRule:NotificationRule": { - "description": "Provides a CodeStar Notifications Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst code = new aws.codecommit.Repository(\"code\", {repositoryName: \"example-code-repo\"});\nconst notif = new aws.sns.Topic(\"notif\", {name: \"notification\"});\nconst notifAccess = notif.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sns:Publish\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"codestar-notifications.amazonaws.com\"],\n }],\n resources: [arn],\n }],\n}));\nconst _default = new aws.sns.TopicPolicy(\"default\", {\n arn: notif.arn,\n policy: notifAccess.apply(notifAccess =\u003e notifAccess.json),\n});\nconst commits = new aws.codestarnotifications.NotificationRule(\"commits\", {\n detailType: \"BASIC\",\n eventTypeIds: [\"codecommit-repository-comments-on-commits\"],\n name: \"example-code-repo-commits\",\n resource: code.arn,\n targets: [{\n address: notif.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncode = aws.codecommit.Repository(\"code\", repository_name=\"example-code-repo\")\nnotif = aws.sns.Topic(\"notif\", name=\"notification\")\nnotif_access = notif.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\"sns:Publish\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"codestar-notifications.amazonaws.com\"],\n }],\n \"resources\": [arn],\n}]))\ndefault = aws.sns.TopicPolicy(\"default\",\n arn=notif.arn,\n policy=notif_access.json)\ncommits = aws.codestarnotifications.NotificationRule(\"commits\",\n detail_type=\"BASIC\",\n event_type_ids=[\"codecommit-repository-comments-on-commits\"],\n name=\"example-code-repo-commits\",\n resource=code.arn,\n targets=[{\n \"address\": notif.arn,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var code = new Aws.CodeCommit.Repository(\"code\", new()\n {\n RepositoryName = \"example-code-repo\",\n });\n\n var notif = new Aws.Sns.Topic(\"notif\", new()\n {\n Name = \"notification\",\n });\n\n var notifAccess = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sns:Publish\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codestar-notifications.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n notif.Arn,\n },\n },\n },\n });\n\n var @default = new Aws.Sns.TopicPolicy(\"default\", new()\n {\n Arn = notif.Arn,\n Policy = notifAccess.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var commits = new Aws.CodeStarNotifications.NotificationRule(\"commits\", new()\n {\n DetailType = \"BASIC\",\n EventTypeIds = new[]\n {\n \"codecommit-repository-comments-on-commits\",\n },\n Name = \"example-code-repo-commits\",\n Resource = code.Arn,\n Targets = new[]\n {\n new Aws.CodeStarNotifications.Inputs.NotificationRuleTargetArgs\n {\n Address = notif.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarnotifications\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncode, err := codecommit.NewRepository(ctx, \"code\", \u0026codecommit.RepositoryArgs{\nRepositoryName: pulumi.String(\"example-code-repo\"),\n})\nif err != nil {\nreturn err\n}\nnotif, err := sns.NewTopic(ctx, \"notif\", \u0026sns.TopicArgs{\nName: pulumi.String(\"notification\"),\n})\nif err != nil {\nreturn err\n}\nnotifAccess := notif.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sns:Publish\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"codestar-notifications.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\narn,\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"default\", \u0026sns.TopicPolicyArgs{\nArn: notif.Arn,\nPolicy: pulumi.String(notifAccess.ApplyT(func(notifAccess iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026notifAccess.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = codestarnotifications.NewNotificationRule(ctx, \"commits\", \u0026codestarnotifications.NotificationRuleArgs{\nDetailType: pulumi.String(\"BASIC\"),\nEventTypeIds: pulumi.StringArray{\npulumi.String(\"codecommit-repository-comments-on-commits\"),\n},\nName: pulumi.String(\"example-code-repo-commits\"),\nResource: code.Arn,\nTargets: codestarnotifications.NotificationRuleTargetArray{\n\u0026codestarnotifications.NotificationRuleTargetArgs{\nAddress: notif.Arn,\n},\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codecommit.Repository;\nimport com.pulumi.aws.codecommit.RepositoryArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport com.pulumi.aws.codestarnotifications.NotificationRule;\nimport com.pulumi.aws.codestarnotifications.NotificationRuleArgs;\nimport com.pulumi.aws.codestarnotifications.inputs.NotificationRuleTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var code = new Repository(\"code\", RepositoryArgs.builder()\n .repositoryName(\"example-code-repo\")\n .build());\n\n var notif = new Topic(\"notif\", TopicArgs.builder()\n .name(\"notification\")\n .build());\n\n final var notifAccess = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sns:Publish\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codestar-notifications.amazonaws.com\")\n .build())\n .resources(notif.arn())\n .build())\n .build());\n\n var default_ = new TopicPolicy(\"default\", TopicPolicyArgs.builder()\n .arn(notif.arn())\n .policy(notifAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(notifAccess -\u003e notifAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var commits = new NotificationRule(\"commits\", NotificationRuleArgs.builder()\n .detailType(\"BASIC\")\n .eventTypeIds(\"codecommit-repository-comments-on-commits\")\n .name(\"example-code-repo-commits\")\n .resource(code.arn())\n .targets(NotificationRuleTargetArgs.builder()\n .address(notif.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n code:\n type: aws:codecommit:Repository\n properties:\n repositoryName: example-code-repo\n notif:\n type: aws:sns:Topic\n properties:\n name: notification\n default:\n type: aws:sns:TopicPolicy\n properties:\n arn: ${notif.arn}\n policy: ${notifAccess.json}\n commits:\n type: aws:codestarnotifications:NotificationRule\n properties:\n detailType: BASIC\n eventTypeIds:\n - codecommit-repository-comments-on-commits\n name: example-code-repo-commits\n resource: ${code.arn}\n targets:\n - address: ${notif.arn}\nvariables:\n notifAccess:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sns:Publish\n principals:\n - type: Service\n identifiers:\n - codestar-notifications.amazonaws.com\n resources:\n - ${notif.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeStar notification rule using the ARN. For example:\n\n```sh\n$ pulumi import aws:codestarnotifications/notificationRule:NotificationRule foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b\n```\n", + "description": "Provides a CodeStar Notifications Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst code = new aws.codecommit.Repository(\"code\", {repositoryName: \"example-code-repo\"});\nconst notif = new aws.sns.Topic(\"notif\", {name: \"notification\"});\nconst notifAccess = notif.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sns:Publish\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"codestar-notifications.amazonaws.com\"],\n }],\n resources: [arn],\n }],\n}));\nconst _default = new aws.sns.TopicPolicy(\"default\", {\n arn: notif.arn,\n policy: notifAccess.apply(notifAccess =\u003e notifAccess.json),\n});\nconst commits = new aws.codestarnotifications.NotificationRule(\"commits\", {\n detailType: \"BASIC\",\n eventTypeIds: [\"codecommit-repository-comments-on-commits\"],\n name: \"example-code-repo-commits\",\n resource: code.arn,\n targets: [{\n address: notif.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncode = aws.codecommit.Repository(\"code\", repository_name=\"example-code-repo\")\nnotif = aws.sns.Topic(\"notif\", name=\"notification\")\nnotif_access = notif.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\"sns:Publish\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"codestar-notifications.amazonaws.com\"],\n }],\n \"resources\": [arn],\n}]))\ndefault = aws.sns.TopicPolicy(\"default\",\n arn=notif.arn,\n policy=notif_access.json)\ncommits = aws.codestarnotifications.NotificationRule(\"commits\",\n detail_type=\"BASIC\",\n event_type_ids=[\"codecommit-repository-comments-on-commits\"],\n name=\"example-code-repo-commits\",\n resource=code.arn,\n targets=[{\n \"address\": notif.arn,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var code = new Aws.CodeCommit.Repository(\"code\", new()\n {\n RepositoryName = \"example-code-repo\",\n });\n\n var notif = new Aws.Sns.Topic(\"notif\", new()\n {\n Name = \"notification\",\n });\n\n var notifAccess = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sns:Publish\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codestar-notifications.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n notif.Arn,\n },\n },\n },\n });\n\n var @default = new Aws.Sns.TopicPolicy(\"default\", new()\n {\n Arn = notif.Arn,\n Policy = notifAccess.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var commits = new Aws.CodeStarNotifications.NotificationRule(\"commits\", new()\n {\n DetailType = \"BASIC\",\n EventTypeIds = new[]\n {\n \"codecommit-repository-comments-on-commits\",\n },\n Name = \"example-code-repo-commits\",\n Resource = code.Arn,\n Targets = new[]\n {\n new Aws.CodeStarNotifications.Inputs.NotificationRuleTargetArgs\n {\n Address = notif.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarnotifications\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncode, err := codecommit.NewRepository(ctx, \"code\", \u0026codecommit.RepositoryArgs{\nRepositoryName: pulumi.String(\"example-code-repo\"),\n})\nif err != nil {\nreturn err\n}\nnotif, err := sns.NewTopic(ctx, \"notif\", \u0026sns.TopicArgs{\nName: pulumi.String(\"notification\"),\n})\nif err != nil {\nreturn err\n}\nnotifAccess := notif.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sns:Publish\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"codestar-notifications.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\narn,\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"default\", \u0026sns.TopicPolicyArgs{\nArn: notif.Arn,\nPolicy: pulumi.String(notifAccess.ApplyT(func(notifAccess iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026notifAccess.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = codestarnotifications.NewNotificationRule(ctx, \"commits\", \u0026codestarnotifications.NotificationRuleArgs{\nDetailType: pulumi.String(\"BASIC\"),\nEventTypeIds: pulumi.StringArray{\npulumi.String(\"codecommit-repository-comments-on-commits\"),\n},\nName: pulumi.String(\"example-code-repo-commits\"),\nResource: code.Arn,\nTargets: codestarnotifications.NotificationRuleTargetArray{\n\u0026codestarnotifications.NotificationRuleTargetArgs{\nAddress: notif.Arn,\n},\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codecommit.Repository;\nimport com.pulumi.aws.codecommit.RepositoryArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport com.pulumi.aws.codestarnotifications.NotificationRule;\nimport com.pulumi.aws.codestarnotifications.NotificationRuleArgs;\nimport com.pulumi.aws.codestarnotifications.inputs.NotificationRuleTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var code = new Repository(\"code\", RepositoryArgs.builder()\n .repositoryName(\"example-code-repo\")\n .build());\n\n var notif = new Topic(\"notif\", TopicArgs.builder()\n .name(\"notification\")\n .build());\n\n final var notifAccess = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sns:Publish\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codestar-notifications.amazonaws.com\")\n .build())\n .resources(notif.arn())\n .build())\n .build());\n\n var default_ = new TopicPolicy(\"default\", TopicPolicyArgs.builder()\n .arn(notif.arn())\n .policy(notifAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(notifAccess -\u003e notifAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var commits = new NotificationRule(\"commits\", NotificationRuleArgs.builder()\n .detailType(\"BASIC\")\n .eventTypeIds(\"codecommit-repository-comments-on-commits\")\n .name(\"example-code-repo-commits\")\n .resource(code.arn())\n .targets(NotificationRuleTargetArgs.builder()\n .address(notif.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n code:\n type: aws:codecommit:Repository\n properties:\n repositoryName: example-code-repo\n notif:\n type: aws:sns:Topic\n properties:\n name: notification\n default:\n type: aws:sns:TopicPolicy\n properties:\n arn: ${notif.arn}\n policy: ${notifAccess.json}\n commits:\n type: aws:codestarnotifications:NotificationRule\n properties:\n detailType: BASIC\n eventTypeIds:\n - codecommit-repository-comments-on-commits\n name: example-code-repo-commits\n resource: ${code.arn}\n targets:\n - address: ${notif.arn}\nvariables:\n notifAccess:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sns:Publish\n principals:\n - type: Service\n identifiers:\n - codestar-notifications.amazonaws.com\n resources:\n - ${notif.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeStar notification rule using the ARN. For example:\n\n```sh\n$ pulumi import aws:codestarnotifications/notificationRule:NotificationRule foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b\n```\n", "properties": { "arn": { "type": "string", @@ -210319,7 +210319,7 @@ } }, "aws:cognito/identityPool:IdentityPool": { - "description": "Provides an AWS Cognito Identity Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst _default = new aws.iam.SamlProvider(\"default\", {\n name: \"my-saml-provider\",\n samlMetadataDocument: std.file({\n input: \"saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n});\nconst main = new aws.cognito.IdentityPool(\"main\", {\n identityPoolName: \"identity pool\",\n allowUnauthenticatedIdentities: false,\n allowClassicFlow: false,\n cognitoIdentityProviders: [\n {\n clientId: \"6lhlkkfbfb4q5kpp90urffae\",\n providerName: \"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\",\n serverSideTokenCheck: false,\n },\n {\n clientId: \"7kodkvfqfb4qfkp39eurffae\",\n providerName: \"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\",\n serverSideTokenCheck: false,\n },\n ],\n supportedLoginProviders: {\n \"graph.facebook.com\": \"7346241598935552\",\n \"accounts.google.com\": \"123456789012.apps.googleusercontent.com\",\n },\n samlProviderArns: [_default.arn],\n openidConnectProviderArns: [\"arn:aws:iam::123456789012:oidc-provider/id.example.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ndefault = aws.iam.SamlProvider(\"default\",\n name=\"my-saml-provider\",\n saml_metadata_document=std.file(input=\"saml-metadata.xml\").result)\nmain = aws.cognito.IdentityPool(\"main\",\n identity_pool_name=\"identity pool\",\n allow_unauthenticated_identities=False,\n allow_classic_flow=False,\n cognito_identity_providers=[\n {\n \"client_id\": \"6lhlkkfbfb4q5kpp90urffae\",\n \"provider_name\": \"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\",\n \"server_side_token_check\": False,\n },\n {\n \"client_id\": \"7kodkvfqfb4qfkp39eurffae\",\n \"provider_name\": \"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\",\n \"server_side_token_check\": False,\n },\n ],\n supported_login_providers={\n \"graph.facebook.com\": \"7346241598935552\",\n \"accounts.google.com\": \"123456789012.apps.googleusercontent.com\",\n },\n saml_provider_arns=[default.arn],\n openid_connect_provider_arns=[\"arn:aws:iam::123456789012:oidc-provider/id.example.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Iam.SamlProvider(\"default\", new()\n {\n Name = \"my-saml-provider\",\n SamlMetadataDocument = Std.File.Invoke(new()\n {\n Input = \"saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var main = new Aws.Cognito.IdentityPool(\"main\", new()\n {\n IdentityPoolName = \"identity pool\",\n AllowUnauthenticatedIdentities = false,\n AllowClassicFlow = false,\n CognitoIdentityProviders = new[]\n {\n new Aws.Cognito.Inputs.IdentityPoolCognitoIdentityProviderArgs\n {\n ClientId = \"6lhlkkfbfb4q5kpp90urffae\",\n ProviderName = \"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\",\n ServerSideTokenCheck = false,\n },\n new Aws.Cognito.Inputs.IdentityPoolCognitoIdentityProviderArgs\n {\n ClientId = \"7kodkvfqfb4qfkp39eurffae\",\n ProviderName = \"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\",\n ServerSideTokenCheck = false,\n },\n },\n SupportedLoginProviders = \n {\n { \"graph.facebook.com\", \"7346241598935552\" },\n { \"accounts.google.com\", \"123456789012.apps.googleusercontent.com\" },\n },\n SamlProviderArns = new[]\n {\n @default.Arn,\n },\n OpenidConnectProviderArns = new[]\n {\n \"arn:aws:iam::123456789012:oidc-provider/id.example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewSamlProvider(ctx, \"default\", \u0026iam.SamlProviderArgs{\n\t\t\tName: pulumi.String(\"my-saml-provider\"),\n\t\t\tSamlMetadataDocument: pulumi.String(invokeFile.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewIdentityPool(ctx, \"main\", \u0026cognito.IdentityPoolArgs{\n\t\t\tIdentityPoolName: pulumi.String(\"identity pool\"),\n\t\t\tAllowUnauthenticatedIdentities: pulumi.Bool(false),\n\t\t\tAllowClassicFlow: pulumi.Bool(false),\n\t\t\tCognitoIdentityProviders: cognito.IdentityPoolCognitoIdentityProviderArray{\n\t\t\t\t\u0026cognito.IdentityPoolCognitoIdentityProviderArgs{\n\t\t\t\t\tClientId: pulumi.String(\"6lhlkkfbfb4q5kpp90urffae\"),\n\t\t\t\t\tProviderName: pulumi.String(\"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\"),\n\t\t\t\t\tServerSideTokenCheck: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\t\u0026cognito.IdentityPoolCognitoIdentityProviderArgs{\n\t\t\t\t\tClientId: pulumi.String(\"7kodkvfqfb4qfkp39eurffae\"),\n\t\t\t\t\tProviderName: pulumi.String(\"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\"),\n\t\t\t\t\tServerSideTokenCheck: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSupportedLoginProviders: pulumi.StringMap{\n\t\t\t\t\"graph.facebook.com\": pulumi.String(\"7346241598935552\"),\n\t\t\t\t\"accounts.google.com\": pulumi.String(\"123456789012.apps.googleusercontent.com\"),\n\t\t\t},\n\t\t\tSamlProviderArns: pulumi.StringArray{\n\t\t\t\t_default.Arn,\n\t\t\t},\n\t\t\tOpenidConnectProviderArns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:iam::123456789012:oidc-provider/id.example.com\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.SamlProvider;\nimport com.pulumi.aws.iam.SamlProviderArgs;\nimport com.pulumi.aws.cognito.IdentityPool;\nimport com.pulumi.aws.cognito.IdentityPoolArgs;\nimport com.pulumi.aws.cognito.inputs.IdentityPoolCognitoIdentityProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new SamlProvider(\"default\", SamlProviderArgs.builder()\n .name(\"my-saml-provider\")\n .samlMetadataDocument(StdFunctions.file(FileArgs.builder()\n .input(\"saml-metadata.xml\")\n .build()).result())\n .build());\n\n var main = new IdentityPool(\"main\", IdentityPoolArgs.builder()\n .identityPoolName(\"identity pool\")\n .allowUnauthenticatedIdentities(false)\n .allowClassicFlow(false)\n .cognitoIdentityProviders( \n IdentityPoolCognitoIdentityProviderArgs.builder()\n .clientId(\"6lhlkkfbfb4q5kpp90urffae\")\n .providerName(\"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\")\n .serverSideTokenCheck(false)\n .build(),\n IdentityPoolCognitoIdentityProviderArgs.builder()\n .clientId(\"7kodkvfqfb4qfkp39eurffae\")\n .providerName(\"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\")\n .serverSideTokenCheck(false)\n .build())\n .supportedLoginProviders(Map.ofEntries(\n Map.entry(\"graph.facebook.com\", \"7346241598935552\"),\n Map.entry(\"accounts.google.com\", \"123456789012.apps.googleusercontent.com\")\n ))\n .samlProviderArns(default_.arn())\n .openidConnectProviderArns(\"arn:aws:iam::123456789012:oidc-provider/id.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:iam:SamlProvider\n properties:\n name: my-saml-provider\n samlMetadataDocument:\n fn::invoke:\n function: std:file\n arguments:\n input: saml-metadata.xml\n return: result\n main:\n type: aws:cognito:IdentityPool\n properties:\n identityPoolName: identity pool\n allowUnauthenticatedIdentities: false\n allowClassicFlow: false\n cognitoIdentityProviders:\n - clientId: 6lhlkkfbfb4q5kpp90urffae\n providerName: cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\n serverSideTokenCheck: false\n - clientId: 7kodkvfqfb4qfkp39eurffae\n providerName: cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\n serverSideTokenCheck: false\n supportedLoginProviders:\n graph.facebook.com: '7346241598935552'\n accounts.google.com: 123456789012.apps.googleusercontent.com\n samlProviderArns:\n - ${default.arn}\n openidConnectProviderArns:\n - arn:aws:iam::123456789012:oidc-provider/id.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito Identity Pool using its ID. For example:\n\n```sh\n$ pulumi import aws:cognito/identityPool:IdentityPool mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3\n```\n", + "description": "Provides an AWS Cognito Identity Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst _default = new aws.iam.SamlProvider(\"default\", {\n name: \"my-saml-provider\",\n samlMetadataDocument: std.file({\n input: \"saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n});\nconst main = new aws.cognito.IdentityPool(\"main\", {\n identityPoolName: \"identity pool\",\n allowUnauthenticatedIdentities: false,\n allowClassicFlow: false,\n cognitoIdentityProviders: [\n {\n clientId: \"6lhlkkfbfb4q5kpp90urffae\",\n providerName: \"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\",\n serverSideTokenCheck: false,\n },\n {\n clientId: \"7kodkvfqfb4qfkp39eurffae\",\n providerName: \"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\",\n serverSideTokenCheck: false,\n },\n ],\n supportedLoginProviders: {\n \"graph.facebook.com\": \"7346241598935552\",\n \"accounts.google.com\": \"123456789012.apps.googleusercontent.com\",\n },\n samlProviderArns: [_default.arn],\n openidConnectProviderArns: [\"arn:aws:iam::123456789012:oidc-provider/id.example.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ndefault = aws.iam.SamlProvider(\"default\",\n name=\"my-saml-provider\",\n saml_metadata_document=std.file(input=\"saml-metadata.xml\").result)\nmain = aws.cognito.IdentityPool(\"main\",\n identity_pool_name=\"identity pool\",\n allow_unauthenticated_identities=False,\n allow_classic_flow=False,\n cognito_identity_providers=[\n {\n \"client_id\": \"6lhlkkfbfb4q5kpp90urffae\",\n \"provider_name\": \"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\",\n \"server_side_token_check\": False,\n },\n {\n \"client_id\": \"7kodkvfqfb4qfkp39eurffae\",\n \"provider_name\": \"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\",\n \"server_side_token_check\": False,\n },\n ],\n supported_login_providers={\n \"graph.facebook.com\": \"7346241598935552\",\n \"accounts.google.com\": \"123456789012.apps.googleusercontent.com\",\n },\n saml_provider_arns=[default.arn],\n openid_connect_provider_arns=[\"arn:aws:iam::123456789012:oidc-provider/id.example.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Iam.SamlProvider(\"default\", new()\n {\n Name = \"my-saml-provider\",\n SamlMetadataDocument = Std.File.Invoke(new()\n {\n Input = \"saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var main = new Aws.Cognito.IdentityPool(\"main\", new()\n {\n IdentityPoolName = \"identity pool\",\n AllowUnauthenticatedIdentities = false,\n AllowClassicFlow = false,\n CognitoIdentityProviders = new[]\n {\n new Aws.Cognito.Inputs.IdentityPoolCognitoIdentityProviderArgs\n {\n ClientId = \"6lhlkkfbfb4q5kpp90urffae\",\n ProviderName = \"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\",\n ServerSideTokenCheck = false,\n },\n new Aws.Cognito.Inputs.IdentityPoolCognitoIdentityProviderArgs\n {\n ClientId = \"7kodkvfqfb4qfkp39eurffae\",\n ProviderName = \"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\",\n ServerSideTokenCheck = false,\n },\n },\n SupportedLoginProviders = \n {\n { \"graph.facebook.com\", \"7346241598935552\" },\n { \"accounts.google.com\", \"123456789012.apps.googleusercontent.com\" },\n },\n SamlProviderArns = new[]\n {\n @default.Arn,\n },\n OpenidConnectProviderArns = new[]\n {\n \"arn:aws:iam::123456789012:oidc-provider/id.example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewSamlProvider(ctx, \"default\", \u0026iam.SamlProviderArgs{\n\t\t\tName: pulumi.String(\"my-saml-provider\"),\n\t\t\tSamlMetadataDocument: pulumi.String(invokeFile.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewIdentityPool(ctx, \"main\", \u0026cognito.IdentityPoolArgs{\n\t\t\tIdentityPoolName: pulumi.String(\"identity pool\"),\n\t\t\tAllowUnauthenticatedIdentities: pulumi.Bool(false),\n\t\t\tAllowClassicFlow: pulumi.Bool(false),\n\t\t\tCognitoIdentityProviders: cognito.IdentityPoolCognitoIdentityProviderArray{\n\t\t\t\t\u0026cognito.IdentityPoolCognitoIdentityProviderArgs{\n\t\t\t\t\tClientId: pulumi.String(\"6lhlkkfbfb4q5kpp90urffae\"),\n\t\t\t\t\tProviderName: pulumi.String(\"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\"),\n\t\t\t\t\tServerSideTokenCheck: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\t\u0026cognito.IdentityPoolCognitoIdentityProviderArgs{\n\t\t\t\t\tClientId: pulumi.String(\"7kodkvfqfb4qfkp39eurffae\"),\n\t\t\t\t\tProviderName: pulumi.String(\"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\"),\n\t\t\t\t\tServerSideTokenCheck: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSupportedLoginProviders: pulumi.StringMap{\n\t\t\t\t\"graph.facebook.com\": pulumi.String(\"7346241598935552\"),\n\t\t\t\t\"accounts.google.com\": pulumi.String(\"123456789012.apps.googleusercontent.com\"),\n\t\t\t},\n\t\t\tSamlProviderArns: pulumi.StringArray{\n\t\t\t\t_default.Arn,\n\t\t\t},\n\t\t\tOpenidConnectProviderArns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:iam::123456789012:oidc-provider/id.example.com\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.SamlProvider;\nimport com.pulumi.aws.iam.SamlProviderArgs;\nimport com.pulumi.aws.cognito.IdentityPool;\nimport com.pulumi.aws.cognito.IdentityPoolArgs;\nimport com.pulumi.aws.cognito.inputs.IdentityPoolCognitoIdentityProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new SamlProvider(\"default\", SamlProviderArgs.builder()\n .name(\"my-saml-provider\")\n .samlMetadataDocument(StdFunctions.file(FileArgs.builder()\n .input(\"saml-metadata.xml\")\n .build()).result())\n .build());\n\n var main = new IdentityPool(\"main\", IdentityPoolArgs.builder()\n .identityPoolName(\"identity pool\")\n .allowUnauthenticatedIdentities(false)\n .allowClassicFlow(false)\n .cognitoIdentityProviders( \n IdentityPoolCognitoIdentityProviderArgs.builder()\n .clientId(\"6lhlkkfbfb4q5kpp90urffae\")\n .providerName(\"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\")\n .serverSideTokenCheck(false)\n .build(),\n IdentityPoolCognitoIdentityProviderArgs.builder()\n .clientId(\"7kodkvfqfb4qfkp39eurffae\")\n .providerName(\"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\")\n .serverSideTokenCheck(false)\n .build())\n .supportedLoginProviders(Map.ofEntries(\n Map.entry(\"graph.facebook.com\", \"7346241598935552\"),\n Map.entry(\"accounts.google.com\", \"123456789012.apps.googleusercontent.com\")\n ))\n .samlProviderArns(default_.arn())\n .openidConnectProviderArns(\"arn:aws:iam::123456789012:oidc-provider/id.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:iam:SamlProvider\n properties:\n name: my-saml-provider\n samlMetadataDocument:\n fn::invoke:\n Function: std:file\n Arguments:\n input: saml-metadata.xml\n Return: result\n main:\n type: aws:cognito:IdentityPool\n properties:\n identityPoolName: identity pool\n allowUnauthenticatedIdentities: false\n allowClassicFlow: false\n cognitoIdentityProviders:\n - clientId: 6lhlkkfbfb4q5kpp90urffae\n providerName: cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\n serverSideTokenCheck: false\n - clientId: 7kodkvfqfb4qfkp39eurffae\n providerName: cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\n serverSideTokenCheck: false\n supportedLoginProviders:\n graph.facebook.com: '7346241598935552'\n accounts.google.com: 123456789012.apps.googleusercontent.com\n samlProviderArns:\n - ${default.arn}\n openidConnectProviderArns:\n - arn:aws:iam::123456789012:oidc-provider/id.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito Identity Pool using its ID. For example:\n\n```sh\n$ pulumi import aws:cognito/identityPool:IdentityPool mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3\n```\n", "properties": { "allowClassicFlow": { "type": "boolean", @@ -210813,7 +210813,7 @@ } }, "aws:cognito/managedUserPoolClient:ManagedUserPoolClient": { - "description": "Use the `aws.cognito.UserPoolClient` resource to manage a Cognito User Pool Client.\n\n**This resource is advanced** and has special caveats to consider before use. Please read this document completely before using the resource.\n\nUse the `aws.cognito.ManagedUserPoolClient` resource to manage a Cognito User Pool Client that is automatically created by an AWS service. For instance, when [configuring an OpenSearch Domain to use Cognito authentication](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html), the OpenSearch service creates the User Pool Client during setup and removes it when it is no longer required. As a result, the `aws.cognito.ManagedUserPoolClient` resource does not create or delete this resource, but instead assumes management of it.\n\nUse the `aws.cognito.UserPoolClient` resource to manage Cognito User Pool Clients for normal use cases.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleUserPool = new aws.cognito.UserPool(\"example\", {name: \"example\"});\nconst exampleIdentityPool = new aws.cognito.IdentityPool(\"example\", {identityPoolName: \"example\"});\nconst current = aws.getPartition({});\nconst example = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n sid: \"\",\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [`es.${current.dnsSuffix}`],\n }],\n }],\n}));\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example-role\",\n path: \"/service-role/\",\n assumeRolePolicy: example.then(example =\u003e example.json),\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n role: exampleRole.name,\n policyArn: current.then(current =\u003e `arn:${current.partition}:iam::aws:policy/AmazonESCognitoAccess`),\n});\nconst exampleDomain = new aws.opensearch.Domain(\"example\", {\n domainName: \"example\",\n cognitoOptions: {\n enabled: true,\n userPoolId: exampleUserPool.id,\n identityPoolId: exampleIdentityPool.id,\n roleArn: exampleRole.arn,\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n}, {\n dependsOn: [\n exampleAwsCognitoUserPoolDomain,\n exampleRolePolicyAttachment,\n ],\n});\nconst exampleManagedUserPoolClient = new aws.cognito.ManagedUserPoolClient(\"example\", {\n namePrefix: \"AmazonOpenSearchService-example\",\n userPoolId: exampleUserPool.id,\n}, {\n dependsOn: [exampleDomain],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_user_pool = aws.cognito.UserPool(\"example\", name=\"example\")\nexample_identity_pool = aws.cognito.IdentityPool(\"example\", identity_pool_name=\"example\")\ncurrent = aws.get_partition()\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"\",\n \"actions\": [\"sts:AssumeRole\"],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [f\"es.{current.dns_suffix}\"],\n }],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"example-role\",\n path=\"/service-role/\",\n assume_role_policy=example.json)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n role=example_role.name,\n policy_arn=f\"arn:{current.partition}:iam::aws:policy/AmazonESCognitoAccess\")\nexample_domain = aws.opensearch.Domain(\"example\",\n domain_name=\"example\",\n cognito_options={\n \"enabled\": True,\n \"user_pool_id\": example_user_pool.id,\n \"identity_pool_id\": example_identity_pool.id,\n \"role_arn\": example_role.arn,\n },\n ebs_options={\n \"ebs_enabled\": True,\n \"volume_size\": 10,\n },\n opts = pulumi.ResourceOptions(depends_on=[\n example_aws_cognito_user_pool_domain,\n example_role_policy_attachment,\n ]))\nexample_managed_user_pool_client = aws.cognito.ManagedUserPoolClient(\"example\",\n name_prefix=\"AmazonOpenSearchService-example\",\n user_pool_id=example_user_pool.id,\n opts = pulumi.ResourceOptions(depends_on=[example_domain]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUserPool = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleIdentityPool = new Aws.Cognito.IdentityPool(\"example\", new()\n {\n IdentityPoolName = \"example\",\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"\",\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n $\"es.{current.Apply(getPartitionResult =\u003e getPartitionResult.DnsSuffix)}\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example-role\",\n Path = \"/service-role/\",\n AssumeRolePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = exampleRole.Name,\n PolicyArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::aws:policy/AmazonESCognitoAccess\",\n });\n\n var exampleDomain = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n CognitoOptions = new Aws.OpenSearch.Inputs.DomainCognitoOptionsArgs\n {\n Enabled = true,\n UserPoolId = exampleUserPool.Id,\n IdentityPoolId = exampleIdentityPool.Id,\n RoleArn = exampleRole.Arn,\n },\n EbsOptions = new Aws.OpenSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsCognitoUserPoolDomain,\n exampleRolePolicyAttachment,\n },\n });\n\n var exampleManagedUserPoolClient = new Aws.Cognito.ManagedUserPoolClient(\"example\", new()\n {\n NamePrefix = \"AmazonOpenSearchService-example\",\n UserPoolId = exampleUserPool.Id,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleDomain,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUserPool, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIdentityPool, err := cognito.NewIdentityPool(ctx, \"example\", \u0026cognito.IdentityPoolArgs{\n\t\t\tIdentityPoolName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"es.%v\", current.DnsSuffix),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-role\"),\n\t\t\tPath: pulumi.String(\"/service-role/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRolePolicyAttachment, err := iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: exampleRole.Name,\n\t\t\tPolicyArn: pulumi.Sprintf(\"arn:%v:iam::aws:policy/AmazonESCognitoAccess\", current.Partition),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDomain, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tCognitoOptions: \u0026opensearch.DomainCognitoOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tUserPoolId: exampleUserPool.ID(),\n\t\t\t\tIdentityPoolId: exampleIdentityPool.ID(),\n\t\t\t\tRoleArn: exampleRole.Arn,\n\t\t\t},\n\t\t\tEbsOptions: \u0026opensearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsCognitoUserPoolDomain,\n\t\t\texampleRolePolicyAttachment,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewManagedUserPoolClient(ctx, \"example\", \u0026cognito.ManagedUserPoolClientArgs{\n\t\t\tNamePrefix: pulumi.String(\"AmazonOpenSearchService-example\"),\n\t\t\tUserPoolId: exampleUserPool.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleDomain,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.IdentityPool;\nimport com.pulumi.aws.cognito.IdentityPoolArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainCognitoOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEbsOptionsArgs;\nimport com.pulumi.aws.cognito.ManagedUserPoolClient;\nimport com.pulumi.aws.cognito.ManagedUserPoolClientArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleUserPool = new UserPool(\"exampleUserPool\", UserPoolArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleIdentityPool = new IdentityPool(\"exampleIdentityPool\", IdentityPoolArgs.builder()\n .identityPoolName(\"example\")\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"\")\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(String.format(\"es.%s\", current.applyValue(getPartitionResult -\u003e getPartitionResult.dnsSuffix())))\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example-role\")\n .path(\"/service-role/\")\n .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(exampleRole.name())\n .policyArn(String.format(\"arn:%s:iam::aws:policy/AmazonESCognitoAccess\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domainName(\"example\")\n .cognitoOptions(DomainCognitoOptionsArgs.builder()\n .enabled(true)\n .userPoolId(exampleUserPool.id())\n .identityPoolId(exampleIdentityPool.id())\n .roleArn(exampleRole.arn())\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n exampleAwsCognitoUserPoolDomain,\n exampleRolePolicyAttachment)\n .build());\n\n var exampleManagedUserPoolClient = new ManagedUserPoolClient(\"exampleManagedUserPoolClient\", ManagedUserPoolClientArgs.builder()\n .namePrefix(\"AmazonOpenSearchService-example\")\n .userPoolId(exampleUserPool.id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleDomain)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleManagedUserPoolClient:\n type: aws:cognito:ManagedUserPoolClient\n name: example\n properties:\n namePrefix: AmazonOpenSearchService-example\n userPoolId: ${exampleUserPool.id}\n options:\n dependsOn:\n - ${exampleDomain}\n exampleUserPool:\n type: aws:cognito:UserPool\n name: example\n properties:\n name: example\n exampleIdentityPool:\n type: aws:cognito:IdentityPool\n name: example\n properties:\n identityPoolName: example\n exampleDomain:\n type: aws:opensearch:Domain\n name: example\n properties:\n domainName: example\n cognitoOptions:\n enabled: true\n userPoolId: ${exampleUserPool.id}\n identityPoolId: ${exampleIdentityPool.id}\n roleArn: ${exampleRole.arn}\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n options:\n dependsOn:\n - ${exampleAwsCognitoUserPoolDomain}\n - ${exampleRolePolicyAttachment}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example-role\n path: /service-role/\n assumeRolePolicy: ${example.json}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n role: ${exampleRole.name}\n policyArn: arn:${current.partition}:iam::aws:policy/AmazonESCognitoAccess\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: \"\"\n actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - es.${current.dnsSuffix}\n current:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pool Clients using the `id` of the Cognito User Pool and the `id` of the Cognito User Pool Client. For example:\n\n```sh\n$ pulumi import aws:cognito/managedUserPoolClient:ManagedUserPoolClient client us-west-2_abc123/3ho4ek12345678909nh3fmhpko\n```\n", + "description": "Use the `aws.cognito.UserPoolClient` resource to manage a Cognito User Pool Client.\n\n**This resource is advanced** and has special caveats to consider before use. Please read this document completely before using the resource.\n\nUse the `aws.cognito.ManagedUserPoolClient` resource to manage a Cognito User Pool Client that is automatically created by an AWS service. For instance, when [configuring an OpenSearch Domain to use Cognito authentication](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html), the OpenSearch service creates the User Pool Client during setup and removes it when it is no longer required. As a result, the `aws.cognito.ManagedUserPoolClient` resource does not create or delete this resource, but instead assumes management of it.\n\nUse the `aws.cognito.UserPoolClient` resource to manage Cognito User Pool Clients for normal use cases.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleUserPool = new aws.cognito.UserPool(\"example\", {name: \"example\"});\nconst exampleIdentityPool = new aws.cognito.IdentityPool(\"example\", {identityPoolName: \"example\"});\nconst current = aws.getPartition({});\nconst example = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n sid: \"\",\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [`es.${current.dnsSuffix}`],\n }],\n }],\n}));\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example-role\",\n path: \"/service-role/\",\n assumeRolePolicy: example.then(example =\u003e example.json),\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n role: exampleRole.name,\n policyArn: current.then(current =\u003e `arn:${current.partition}:iam::aws:policy/AmazonESCognitoAccess`),\n});\nconst exampleDomain = new aws.opensearch.Domain(\"example\", {\n domainName: \"example\",\n cognitoOptions: {\n enabled: true,\n userPoolId: exampleUserPool.id,\n identityPoolId: exampleIdentityPool.id,\n roleArn: exampleRole.arn,\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n}, {\n dependsOn: [\n exampleAwsCognitoUserPoolDomain,\n exampleRolePolicyAttachment,\n ],\n});\nconst exampleManagedUserPoolClient = new aws.cognito.ManagedUserPoolClient(\"example\", {\n namePrefix: \"AmazonOpenSearchService-example\",\n userPoolId: exampleUserPool.id,\n}, {\n dependsOn: [exampleDomain],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_user_pool = aws.cognito.UserPool(\"example\", name=\"example\")\nexample_identity_pool = aws.cognito.IdentityPool(\"example\", identity_pool_name=\"example\")\ncurrent = aws.get_partition()\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"\",\n \"actions\": [\"sts:AssumeRole\"],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [f\"es.{current.dns_suffix}\"],\n }],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"example-role\",\n path=\"/service-role/\",\n assume_role_policy=example.json)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n role=example_role.name,\n policy_arn=f\"arn:{current.partition}:iam::aws:policy/AmazonESCognitoAccess\")\nexample_domain = aws.opensearch.Domain(\"example\",\n domain_name=\"example\",\n cognito_options={\n \"enabled\": True,\n \"user_pool_id\": example_user_pool.id,\n \"identity_pool_id\": example_identity_pool.id,\n \"role_arn\": example_role.arn,\n },\n ebs_options={\n \"ebs_enabled\": True,\n \"volume_size\": 10,\n },\n opts = pulumi.ResourceOptions(depends_on=[\n example_aws_cognito_user_pool_domain,\n example_role_policy_attachment,\n ]))\nexample_managed_user_pool_client = aws.cognito.ManagedUserPoolClient(\"example\",\n name_prefix=\"AmazonOpenSearchService-example\",\n user_pool_id=example_user_pool.id,\n opts = pulumi.ResourceOptions(depends_on=[example_domain]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUserPool = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleIdentityPool = new Aws.Cognito.IdentityPool(\"example\", new()\n {\n IdentityPoolName = \"example\",\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"\",\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n $\"es.{current.Apply(getPartitionResult =\u003e getPartitionResult.DnsSuffix)}\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example-role\",\n Path = \"/service-role/\",\n AssumeRolePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = exampleRole.Name,\n PolicyArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::aws:policy/AmazonESCognitoAccess\",\n });\n\n var exampleDomain = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n CognitoOptions = new Aws.OpenSearch.Inputs.DomainCognitoOptionsArgs\n {\n Enabled = true,\n UserPoolId = exampleUserPool.Id,\n IdentityPoolId = exampleIdentityPool.Id,\n RoleArn = exampleRole.Arn,\n },\n EbsOptions = new Aws.OpenSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsCognitoUserPoolDomain,\n exampleRolePolicyAttachment,\n },\n });\n\n var exampleManagedUserPoolClient = new Aws.Cognito.ManagedUserPoolClient(\"example\", new()\n {\n NamePrefix = \"AmazonOpenSearchService-example\",\n UserPoolId = exampleUserPool.Id,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleDomain,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUserPool, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIdentityPool, err := cognito.NewIdentityPool(ctx, \"example\", \u0026cognito.IdentityPoolArgs{\n\t\t\tIdentityPoolName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"es.%v\", current.DnsSuffix),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-role\"),\n\t\t\tPath: pulumi.String(\"/service-role/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRolePolicyAttachment, err := iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: exampleRole.Name,\n\t\t\tPolicyArn: pulumi.Sprintf(\"arn:%v:iam::aws:policy/AmazonESCognitoAccess\", current.Partition),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDomain, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tCognitoOptions: \u0026opensearch.DomainCognitoOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tUserPoolId: exampleUserPool.ID(),\n\t\t\t\tIdentityPoolId: exampleIdentityPool.ID(),\n\t\t\t\tRoleArn: exampleRole.Arn,\n\t\t\t},\n\t\t\tEbsOptions: \u0026opensearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsCognitoUserPoolDomain,\n\t\t\texampleRolePolicyAttachment,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewManagedUserPoolClient(ctx, \"example\", \u0026cognito.ManagedUserPoolClientArgs{\n\t\t\tNamePrefix: pulumi.String(\"AmazonOpenSearchService-example\"),\n\t\t\tUserPoolId: exampleUserPool.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleDomain,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.IdentityPool;\nimport com.pulumi.aws.cognito.IdentityPoolArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainCognitoOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEbsOptionsArgs;\nimport com.pulumi.aws.cognito.ManagedUserPoolClient;\nimport com.pulumi.aws.cognito.ManagedUserPoolClientArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleUserPool = new UserPool(\"exampleUserPool\", UserPoolArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleIdentityPool = new IdentityPool(\"exampleIdentityPool\", IdentityPoolArgs.builder()\n .identityPoolName(\"example\")\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"\")\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(String.format(\"es.%s\", current.applyValue(getPartitionResult -\u003e getPartitionResult.dnsSuffix())))\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example-role\")\n .path(\"/service-role/\")\n .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(exampleRole.name())\n .policyArn(String.format(\"arn:%s:iam::aws:policy/AmazonESCognitoAccess\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domainName(\"example\")\n .cognitoOptions(DomainCognitoOptionsArgs.builder()\n .enabled(true)\n .userPoolId(exampleUserPool.id())\n .identityPoolId(exampleIdentityPool.id())\n .roleArn(exampleRole.arn())\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n exampleAwsCognitoUserPoolDomain,\n exampleRolePolicyAttachment)\n .build());\n\n var exampleManagedUserPoolClient = new ManagedUserPoolClient(\"exampleManagedUserPoolClient\", ManagedUserPoolClientArgs.builder()\n .namePrefix(\"AmazonOpenSearchService-example\")\n .userPoolId(exampleUserPool.id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleDomain)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleManagedUserPoolClient:\n type: aws:cognito:ManagedUserPoolClient\n name: example\n properties:\n namePrefix: AmazonOpenSearchService-example\n userPoolId: ${exampleUserPool.id}\n options:\n dependson:\n - ${exampleDomain}\n exampleUserPool:\n type: aws:cognito:UserPool\n name: example\n properties:\n name: example\n exampleIdentityPool:\n type: aws:cognito:IdentityPool\n name: example\n properties:\n identityPoolName: example\n exampleDomain:\n type: aws:opensearch:Domain\n name: example\n properties:\n domainName: example\n cognitoOptions:\n enabled: true\n userPoolId: ${exampleUserPool.id}\n identityPoolId: ${exampleIdentityPool.id}\n roleArn: ${exampleRole.arn}\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n options:\n dependson:\n - ${exampleAwsCognitoUserPoolDomain}\n - ${exampleRolePolicyAttachment}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example-role\n path: /service-role/\n assumeRolePolicy: ${example.json}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n role: ${exampleRole.name}\n policyArn: arn:${current.partition}:iam::aws:policy/AmazonESCognitoAccess\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid:\n actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - es.${current.dnsSuffix}\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pool Clients using the `id` of the Cognito User Pool and the `id` of the Cognito User Pool Client. For example:\n\n```sh\n$ pulumi import aws:cognito/managedUserPoolClient:ManagedUserPoolClient client us-west-2_abc123/3ho4ek12345678909nh3fmhpko\n```\n", "properties": { "accessTokenValidity": { "type": "integer", @@ -211639,7 +211639,7 @@ } }, "aws:cognito/userGroup:UserGroup": { - "description": "Provides a Cognito User Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.cognito.UserPool(\"main\", {name: \"identity pool\"});\nconst groupRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Federated\",\n identifiers: [\"cognito-identity.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRoleWithWebIdentity\"],\n conditions: [\n {\n test: \"StringEquals\",\n variable: \"cognito-identity.amazonaws.com:aud\",\n values: [\"us-east-1:12345678-dead-beef-cafe-123456790ab\"],\n },\n {\n test: \"ForAnyValue:StringLike\",\n variable: \"cognito-identity.amazonaws.com:amr\",\n values: [\"authenticated\"],\n },\n ],\n }],\n});\nconst groupRoleRole = new aws.iam.Role(\"group_role\", {\n name: \"user-group-role\",\n assumeRolePolicy: groupRole.then(groupRole =\u003e groupRole.json),\n});\nconst mainUserGroup = new aws.cognito.UserGroup(\"main\", {\n name: \"user-group\",\n userPoolId: main.id,\n description: \"Managed by Pulumi\",\n precedence: 42,\n roleArn: groupRoleRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.cognito.UserPool(\"main\", name=\"identity pool\")\ngroup_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Federated\",\n \"identifiers\": [\"cognito-identity.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRoleWithWebIdentity\"],\n \"conditions\": [\n {\n \"test\": \"StringEquals\",\n \"variable\": \"cognito-identity.amazonaws.com:aud\",\n \"values\": [\"us-east-1:12345678-dead-beef-cafe-123456790ab\"],\n },\n {\n \"test\": \"ForAnyValue:StringLike\",\n \"variable\": \"cognito-identity.amazonaws.com:amr\",\n \"values\": [\"authenticated\"],\n },\n ],\n}])\ngroup_role_role = aws.iam.Role(\"group_role\",\n name=\"user-group-role\",\n assume_role_policy=group_role.json)\nmain_user_group = aws.cognito.UserGroup(\"main\",\n name=\"user-group\",\n user_pool_id=main.id,\n description=\"Managed by Pulumi\",\n precedence=42,\n role_arn=group_role_role.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Cognito.UserPool(\"main\", new()\n {\n Name = \"identity pool\",\n });\n\n var groupRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Federated\",\n Identifiers = new[]\n {\n \"cognito-identity.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRoleWithWebIdentity\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"cognito-identity.amazonaws.com:aud\",\n Values = new[]\n {\n \"us-east-1:12345678-dead-beef-cafe-123456790ab\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ForAnyValue:StringLike\",\n Variable = \"cognito-identity.amazonaws.com:amr\",\n Values = new[]\n {\n \"authenticated\",\n },\n },\n },\n },\n },\n });\n\n var groupRoleRole = new Aws.Iam.Role(\"group_role\", new()\n {\n Name = \"user-group-role\",\n AssumeRolePolicy = groupRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var mainUserGroup = new Aws.Cognito.UserGroup(\"main\", new()\n {\n Name = \"user-group\",\n UserPoolId = main.Id,\n Description = \"Managed by Pulumi\",\n Precedence = 42,\n RoleArn = groupRoleRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := cognito.NewUserPool(ctx, \"main\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"identity pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroupRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Federated\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"cognito-identity.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRoleWithWebIdentity\",\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"StringEquals\",\n\t\t\t\t\t\t\tVariable: \"cognito-identity.amazonaws.com:aud\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"us-east-1:12345678-dead-beef-cafe-123456790ab\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"ForAnyValue:StringLike\",\n\t\t\t\t\t\t\tVariable: \"cognito-identity.amazonaws.com:amr\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"authenticated\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroupRoleRole, err := iam.NewRole(ctx, \"group_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"user-group-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(groupRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserGroup(ctx, \"main\", \u0026cognito.UserGroupArgs{\n\t\t\tName: pulumi.String(\"user-group\"),\n\t\t\tUserPoolId: main.ID(),\n\t\t\tDescription: pulumi.String(\"Managed by Pulumi\"),\n\t\t\tPrecedence: pulumi.Int(42),\n\t\t\tRoleArn: groupRoleRole.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cognito.UserGroup;\nimport com.pulumi.aws.cognito.UserGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new UserPool(\"main\", UserPoolArgs.builder()\n .name(\"identity pool\")\n .build());\n\n final var groupRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Federated\")\n .identifiers(\"cognito-identity.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRoleWithWebIdentity\")\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"cognito-identity.amazonaws.com:aud\")\n .values(\"us-east-1:12345678-dead-beef-cafe-123456790ab\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ForAnyValue:StringLike\")\n .variable(\"cognito-identity.amazonaws.com:amr\")\n .values(\"authenticated\")\n .build())\n .build())\n .build());\n\n var groupRoleRole = new Role(\"groupRoleRole\", RoleArgs.builder()\n .name(\"user-group-role\")\n .assumeRolePolicy(groupRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var mainUserGroup = new UserGroup(\"mainUserGroup\", UserGroupArgs.builder()\n .name(\"user-group\")\n .userPoolId(main.id())\n .description(\"Managed by Pulumi\")\n .precedence(42)\n .roleArn(groupRoleRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cognito:UserPool\n properties:\n name: identity pool\n groupRoleRole:\n type: aws:iam:Role\n name: group_role\n properties:\n name: user-group-role\n assumeRolePolicy: ${groupRole.json}\n mainUserGroup:\n type: aws:cognito:UserGroup\n name: main\n properties:\n name: user-group\n userPoolId: ${main.id}\n description: Managed by Pulumi\n precedence: 42\n roleArn: ${groupRoleRole.arn}\nvariables:\n groupRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Federated\n identifiers:\n - cognito-identity.amazonaws.com\n actions:\n - sts:AssumeRoleWithWebIdentity\n conditions:\n - test: StringEquals\n variable: cognito-identity.amazonaws.com:aud\n values:\n - us-east-1:12345678-dead-beef-cafe-123456790ab\n - test: ForAnyValue:StringLike\n variable: cognito-identity.amazonaws.com:amr\n values:\n - authenticated\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Groups using the `user_pool_id`/`name` attributes concatenated. For example:\n\n```sh\n$ pulumi import aws:cognito/userGroup:UserGroup group us-east-1_vG78M4goG/user-group\n```\n", + "description": "Provides a Cognito User Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.cognito.UserPool(\"main\", {name: \"identity pool\"});\nconst groupRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Federated\",\n identifiers: [\"cognito-identity.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRoleWithWebIdentity\"],\n conditions: [\n {\n test: \"StringEquals\",\n variable: \"cognito-identity.amazonaws.com:aud\",\n values: [\"us-east-1:12345678-dead-beef-cafe-123456790ab\"],\n },\n {\n test: \"ForAnyValue:StringLike\",\n variable: \"cognito-identity.amazonaws.com:amr\",\n values: [\"authenticated\"],\n },\n ],\n }],\n});\nconst groupRoleRole = new aws.iam.Role(\"group_role\", {\n name: \"user-group-role\",\n assumeRolePolicy: groupRole.then(groupRole =\u003e groupRole.json),\n});\nconst mainUserGroup = new aws.cognito.UserGroup(\"main\", {\n name: \"user-group\",\n userPoolId: main.id,\n description: \"Managed by Pulumi\",\n precedence: 42,\n roleArn: groupRoleRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.cognito.UserPool(\"main\", name=\"identity pool\")\ngroup_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Federated\",\n \"identifiers\": [\"cognito-identity.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRoleWithWebIdentity\"],\n \"conditions\": [\n {\n \"test\": \"StringEquals\",\n \"variable\": \"cognito-identity.amazonaws.com:aud\",\n \"values\": [\"us-east-1:12345678-dead-beef-cafe-123456790ab\"],\n },\n {\n \"test\": \"ForAnyValue:StringLike\",\n \"variable\": \"cognito-identity.amazonaws.com:amr\",\n \"values\": [\"authenticated\"],\n },\n ],\n}])\ngroup_role_role = aws.iam.Role(\"group_role\",\n name=\"user-group-role\",\n assume_role_policy=group_role.json)\nmain_user_group = aws.cognito.UserGroup(\"main\",\n name=\"user-group\",\n user_pool_id=main.id,\n description=\"Managed by Pulumi\",\n precedence=42,\n role_arn=group_role_role.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Cognito.UserPool(\"main\", new()\n {\n Name = \"identity pool\",\n });\n\n var groupRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Federated\",\n Identifiers = new[]\n {\n \"cognito-identity.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRoleWithWebIdentity\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"cognito-identity.amazonaws.com:aud\",\n Values = new[]\n {\n \"us-east-1:12345678-dead-beef-cafe-123456790ab\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ForAnyValue:StringLike\",\n Variable = \"cognito-identity.amazonaws.com:amr\",\n Values = new[]\n {\n \"authenticated\",\n },\n },\n },\n },\n },\n });\n\n var groupRoleRole = new Aws.Iam.Role(\"group_role\", new()\n {\n Name = \"user-group-role\",\n AssumeRolePolicy = groupRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var mainUserGroup = new Aws.Cognito.UserGroup(\"main\", new()\n {\n Name = \"user-group\",\n UserPoolId = main.Id,\n Description = \"Managed by Pulumi\",\n Precedence = 42,\n RoleArn = groupRoleRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := cognito.NewUserPool(ctx, \"main\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"identity pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroupRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Federated\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"cognito-identity.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRoleWithWebIdentity\",\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"StringEquals\",\n\t\t\t\t\t\t\tVariable: \"cognito-identity.amazonaws.com:aud\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"us-east-1:12345678-dead-beef-cafe-123456790ab\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"ForAnyValue:StringLike\",\n\t\t\t\t\t\t\tVariable: \"cognito-identity.amazonaws.com:amr\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"authenticated\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroupRoleRole, err := iam.NewRole(ctx, \"group_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"user-group-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(groupRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserGroup(ctx, \"main\", \u0026cognito.UserGroupArgs{\n\t\t\tName: pulumi.String(\"user-group\"),\n\t\t\tUserPoolId: main.ID(),\n\t\t\tDescription: pulumi.String(\"Managed by Pulumi\"),\n\t\t\tPrecedence: pulumi.Int(42),\n\t\t\tRoleArn: groupRoleRole.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cognito.UserGroup;\nimport com.pulumi.aws.cognito.UserGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new UserPool(\"main\", UserPoolArgs.builder()\n .name(\"identity pool\")\n .build());\n\n final var groupRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Federated\")\n .identifiers(\"cognito-identity.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRoleWithWebIdentity\")\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"cognito-identity.amazonaws.com:aud\")\n .values(\"us-east-1:12345678-dead-beef-cafe-123456790ab\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ForAnyValue:StringLike\")\n .variable(\"cognito-identity.amazonaws.com:amr\")\n .values(\"authenticated\")\n .build())\n .build())\n .build());\n\n var groupRoleRole = new Role(\"groupRoleRole\", RoleArgs.builder()\n .name(\"user-group-role\")\n .assumeRolePolicy(groupRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var mainUserGroup = new UserGroup(\"mainUserGroup\", UserGroupArgs.builder()\n .name(\"user-group\")\n .userPoolId(main.id())\n .description(\"Managed by Pulumi\")\n .precedence(42)\n .roleArn(groupRoleRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cognito:UserPool\n properties:\n name: identity pool\n groupRoleRole:\n type: aws:iam:Role\n name: group_role\n properties:\n name: user-group-role\n assumeRolePolicy: ${groupRole.json}\n mainUserGroup:\n type: aws:cognito:UserGroup\n name: main\n properties:\n name: user-group\n userPoolId: ${main.id}\n description: Managed by Pulumi\n precedence: 42\n roleArn: ${groupRoleRole.arn}\nvariables:\n groupRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Federated\n identifiers:\n - cognito-identity.amazonaws.com\n actions:\n - sts:AssumeRoleWithWebIdentity\n conditions:\n - test: StringEquals\n variable: cognito-identity.amazonaws.com:aud\n values:\n - us-east-1:12345678-dead-beef-cafe-123456790ab\n - test: ForAnyValue:StringLike\n variable: cognito-identity.amazonaws.com:amr\n values:\n - authenticated\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Groups using the `user_pool_id`/`name` attributes concatenated. For example:\n\n```sh\n$ pulumi import aws:cognito/userGroup:UserGroup group us-east-1_vG78M4goG/user-group\n```\n", "properties": { "description": { "type": "string", @@ -212230,7 +212230,7 @@ } }, "aws:cognito/userPoolClient:UserPoolClient": { - "description": "Provides a Cognito User Pool Client resource.\n\nTo manage a User Pool Client created by another service, such as when [configuring an OpenSearch Domain to use Cognito authentication](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html),\nuse the `aws.cognito.ManagedUserPoolClient` resource instead.\n\n## Example Usage\n\n### Create a basic user pool client\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {name: \"pool\"});\nconst client = new aws.cognito.UserPoolClient(\"client\", {\n name: \"client\",\n userPoolId: pool.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\", name=\"pool\")\nclient = aws.cognito.UserPoolClient(\"client\",\n name=\"client\",\n user_pool_id=pool.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new Aws.Cognito.UserPool(\"pool\", new()\n {\n Name = \"pool\",\n });\n\n var client = new Aws.Cognito.UserPoolClient(\"client\", new()\n {\n Name = \"client\",\n UserPoolId = pool.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolClient(ctx, \"client\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"client\"),\n\t\t\tUserPoolId: pool.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pool = new UserPool(\"pool\", UserPoolArgs.builder()\n .name(\"pool\")\n .build());\n\n var client = new UserPoolClient(\"client\", UserPoolClientArgs.builder()\n .name(\"client\")\n .userPoolId(pool.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n client:\n type: aws:cognito:UserPoolClient\n properties:\n name: client\n userPoolId: ${pool.id}\n pool:\n type: aws:cognito:UserPool\n properties:\n name: pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a user pool client with no SRP authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {name: \"pool\"});\nconst client = new aws.cognito.UserPoolClient(\"client\", {\n name: \"client\",\n userPoolId: pool.id,\n generateSecret: true,\n explicitAuthFlows: [\"ADMIN_NO_SRP_AUTH\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\", name=\"pool\")\nclient = aws.cognito.UserPoolClient(\"client\",\n name=\"client\",\n user_pool_id=pool.id,\n generate_secret=True,\n explicit_auth_flows=[\"ADMIN_NO_SRP_AUTH\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new Aws.Cognito.UserPool(\"pool\", new()\n {\n Name = \"pool\",\n });\n\n var client = new Aws.Cognito.UserPoolClient(\"client\", new()\n {\n Name = \"client\",\n UserPoolId = pool.Id,\n GenerateSecret = true,\n ExplicitAuthFlows = new[]\n {\n \"ADMIN_NO_SRP_AUTH\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolClient(ctx, \"client\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"client\"),\n\t\t\tUserPoolId: pool.ID(),\n\t\t\tGenerateSecret: pulumi.Bool(true),\n\t\t\tExplicitAuthFlows: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ADMIN_NO_SRP_AUTH\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pool = new UserPool(\"pool\", UserPoolArgs.builder()\n .name(\"pool\")\n .build());\n\n var client = new UserPoolClient(\"client\", UserPoolClientArgs.builder()\n .name(\"client\")\n .userPoolId(pool.id())\n .generateSecret(true)\n .explicitAuthFlows(\"ADMIN_NO_SRP_AUTH\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n client:\n type: aws:cognito:UserPoolClient\n properties:\n name: client\n userPoolId: ${pool.id}\n generateSecret: true\n explicitAuthFlows:\n - ADMIN_NO_SRP_AUTH\n pool:\n type: aws:cognito:UserPool\n properties:\n name: pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a user pool client with pinpoint analytics\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testUserPool = new aws.cognito.UserPool(\"test\", {name: \"pool\"});\nconst testApp = new aws.pinpoint.App(\"test\", {name: \"pinpoint\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"cognito-idp.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst testRole = new aws.iam.Role(\"test\", {\n name: \"role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testUserPoolClient = new aws.cognito.UserPoolClient(\"test\", {\n name: \"pool_client\",\n userPoolId: testUserPool.id,\n analyticsConfiguration: {\n applicationId: testApp.applicationId,\n externalId: \"some_id\",\n roleArn: testRole.arn,\n userDataShared: true,\n },\n});\nconst current = aws.getCallerIdentity({});\nconst test = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"mobiletargeting:UpdateEndpoint\",\n \"mobiletargeting:PutEvents\",\n ],\n resources: [pulumi.all([current, testApp.applicationId]).apply(([current, applicationId]) =\u003e `arn:aws:mobiletargeting:*:${current.accountId}:apps/${applicationId}*`)],\n }],\n});\nconst testRolePolicy = new aws.iam.RolePolicy(\"test\", {\n name: \"role_policy\",\n role: testRole.id,\n policy: test.apply(test =\u003e test.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_user_pool = aws.cognito.UserPool(\"test\", name=\"pool\")\ntest_app = aws.pinpoint.App(\"test\", name=\"pinpoint\")\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"cognito-idp.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\ntest_role = aws.iam.Role(\"test\",\n name=\"role\",\n assume_role_policy=assume_role.json)\ntest_user_pool_client = aws.cognito.UserPoolClient(\"test\",\n name=\"pool_client\",\n user_pool_id=test_user_pool.id,\n analytics_configuration={\n \"application_id\": test_app.application_id,\n \"external_id\": \"some_id\",\n \"role_arn\": test_role.arn,\n \"user_data_shared\": True,\n })\ncurrent = aws.get_caller_identity()\ntest = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"mobiletargeting:UpdateEndpoint\",\n \"mobiletargeting:PutEvents\",\n ],\n \"resources\": [test_app.application_id.apply(lambda application_id: f\"arn:aws:mobiletargeting:*:{current.account_id}:apps/{application_id}*\")],\n}])\ntest_role_policy = aws.iam.RolePolicy(\"test\",\n name=\"role_policy\",\n role=test_role.id,\n policy=test.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testUserPool = new Aws.Cognito.UserPool(\"test\", new()\n {\n Name = \"pool\",\n });\n\n var testApp = new Aws.Pinpoint.App(\"test\", new()\n {\n Name = \"pinpoint\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"cognito-idp.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test\", new()\n {\n Name = \"role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testUserPoolClient = new Aws.Cognito.UserPoolClient(\"test\", new()\n {\n Name = \"pool_client\",\n UserPoolId = testUserPool.Id,\n AnalyticsConfiguration = new Aws.Cognito.Inputs.UserPoolClientAnalyticsConfigurationArgs\n {\n ApplicationId = testApp.ApplicationId,\n ExternalId = \"some_id\",\n RoleArn = testRole.Arn,\n UserDataShared = true,\n },\n });\n\n var current = Aws.GetCallerIdentity.Invoke();\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"mobiletargeting:UpdateEndpoint\",\n \"mobiletargeting:PutEvents\",\n },\n Resources = new[]\n {\n $\"arn:aws:mobiletargeting:*:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:apps/{testApp.ApplicationId}*\",\n },\n },\n },\n });\n\n var testRolePolicy = new Aws.Iam.RolePolicy(\"test\", new()\n {\n Name = \"role_policy\",\n Role = testRole.Id,\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestUserPool, err := cognito.NewUserPool(ctx, \"test\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestApp, err := pinpoint.NewApp(ctx, \"test\", \u0026pinpoint.AppArgs{\n\t\t\tName: pulumi.String(\"pinpoint\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"cognito-idp.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolClient(ctx, \"test\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"pool_client\"),\n\t\t\tUserPoolId: testUserPool.ID(),\n\t\t\tAnalyticsConfiguration: \u0026cognito.UserPoolClientAnalyticsConfigurationArgs{\n\t\t\t\tApplicationId: testApp.ApplicationId,\n\t\t\t\tExternalId: pulumi.String(\"some_id\"),\n\t\t\t\tRoleArn: testRole.Arn,\n\t\t\t\tUserDataShared: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"mobiletargeting:UpdateEndpoint\"),\n\t\t\t\t\t\tpulumi.String(\"mobiletargeting:PutEvents\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ttestApp.ApplicationId.ApplyT(func(applicationId string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:mobiletargeting:*:%v:apps/%v*\", current.AccountId, applicationId), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"test\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"role_policy\"),\n\t\t\tRole: testRole.ID(),\n\t\t\tPolicy: pulumi.String(test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026test.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.AppArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolClientAnalyticsConfigurationArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testUserPool = new UserPool(\"testUserPool\", UserPoolArgs.builder()\n .name(\"pool\")\n .build());\n\n var testApp = new App(\"testApp\", AppArgs.builder()\n .name(\"pinpoint\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"cognito-idp.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testUserPoolClient = new UserPoolClient(\"testUserPoolClient\", UserPoolClientArgs.builder()\n .name(\"pool_client\")\n .userPoolId(testUserPool.id())\n .analyticsConfiguration(UserPoolClientAnalyticsConfigurationArgs.builder()\n .applicationId(testApp.applicationId())\n .externalId(\"some_id\")\n .roleArn(testRole.arn())\n .userDataShared(true)\n .build())\n .build());\n\n final var current = AwsFunctions.getCallerIdentity();\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"mobiletargeting:UpdateEndpoint\",\n \"mobiletargeting:PutEvents\")\n .resources(testApp.applicationId().applyValue(applicationId -\u003e String.format(\"arn:aws:mobiletargeting:*:%s:apps/%s*\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),applicationId)))\n .build())\n .build());\n\n var testRolePolicy = new RolePolicy(\"testRolePolicy\", RolePolicyArgs.builder()\n .name(\"role_policy\")\n .role(testRole.id())\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testUserPoolClient:\n type: aws:cognito:UserPoolClient\n name: test\n properties:\n name: pool_client\n userPoolId: ${testUserPool.id}\n analyticsConfiguration:\n applicationId: ${testApp.applicationId}\n externalId: some_id\n roleArn: ${testRole.arn}\n userDataShared: true\n testUserPool:\n type: aws:cognito:UserPool\n name: test\n properties:\n name: pool\n testApp:\n type: aws:pinpoint:App\n name: test\n properties:\n name: pinpoint\n testRole:\n type: aws:iam:Role\n name: test\n properties:\n name: role\n assumeRolePolicy: ${assumeRole.json}\n testRolePolicy:\n type: aws:iam:RolePolicy\n name: test\n properties:\n name: role_policy\n role: ${testRole.id}\n policy: ${test.json}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - cognito-idp.amazonaws.com\n actions:\n - sts:AssumeRole\n test:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - mobiletargeting:UpdateEndpoint\n - mobiletargeting:PutEvents\n resources:\n - arn:aws:mobiletargeting:*:${current.accountId}:apps/${testApp.applicationId}*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a user pool client with Cognito as the identity provider\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {name: \"pool\"});\nconst userpoolClient = new aws.cognito.UserPoolClient(\"userpool_client\", {\n name: \"client\",\n userPoolId: pool.id,\n callbackUrls: [\"https://example.com\"],\n allowedOauthFlowsUserPoolClient: true,\n allowedOauthFlows: [\n \"code\",\n \"implicit\",\n ],\n allowedOauthScopes: [\n \"email\",\n \"openid\",\n ],\n supportedIdentityProviders: [\"COGNITO\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\", name=\"pool\")\nuserpool_client = aws.cognito.UserPoolClient(\"userpool_client\",\n name=\"client\",\n user_pool_id=pool.id,\n callback_urls=[\"https://example.com\"],\n allowed_oauth_flows_user_pool_client=True,\n allowed_oauth_flows=[\n \"code\",\n \"implicit\",\n ],\n allowed_oauth_scopes=[\n \"email\",\n \"openid\",\n ],\n supported_identity_providers=[\"COGNITO\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new Aws.Cognito.UserPool(\"pool\", new()\n {\n Name = \"pool\",\n });\n\n var userpoolClient = new Aws.Cognito.UserPoolClient(\"userpool_client\", new()\n {\n Name = \"client\",\n UserPoolId = pool.Id,\n CallbackUrls = new[]\n {\n \"https://example.com\",\n },\n AllowedOauthFlowsUserPoolClient = true,\n AllowedOauthFlows = new[]\n {\n \"code\",\n \"implicit\",\n },\n AllowedOauthScopes = new[]\n {\n \"email\",\n \"openid\",\n },\n SupportedIdentityProviders = new[]\n {\n \"COGNITO\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolClient(ctx, \"userpool_client\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"client\"),\n\t\t\tUserPoolId: pool.ID(),\n\t\t\tCallbackUrls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://example.com\"),\n\t\t\t},\n\t\t\tAllowedOauthFlowsUserPoolClient: pulumi.Bool(true),\n\t\t\tAllowedOauthFlows: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"code\"),\n\t\t\t\tpulumi.String(\"implicit\"),\n\t\t\t},\n\t\t\tAllowedOauthScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t},\n\t\t\tSupportedIdentityProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"COGNITO\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pool = new UserPool(\"pool\", UserPoolArgs.builder()\n .name(\"pool\")\n .build());\n\n var userpoolClient = new UserPoolClient(\"userpoolClient\", UserPoolClientArgs.builder()\n .name(\"client\")\n .userPoolId(pool.id())\n .callbackUrls(\"https://example.com\")\n .allowedOauthFlowsUserPoolClient(true)\n .allowedOauthFlows( \n \"code\",\n \"implicit\")\n .allowedOauthScopes( \n \"email\",\n \"openid\")\n .supportedIdentityProviders(\"COGNITO\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userpoolClient:\n type: aws:cognito:UserPoolClient\n name: userpool_client\n properties:\n name: client\n userPoolId: ${pool.id}\n callbackUrls:\n - https://example.com\n allowedOauthFlowsUserPoolClient: true\n allowedOauthFlows:\n - code\n - implicit\n allowedOauthScopes:\n - email\n - openid\n supportedIdentityProviders:\n - COGNITO\n pool:\n type: aws:cognito:UserPool\n properties:\n name: pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pool Clients using the `id` of the Cognito User Pool, and the `id` of the Cognito User Pool Client. For example:\n\n```sh\n$ pulumi import aws:cognito/userPoolClient:UserPoolClient client us-west-2_abc123/3ho4ek12345678909nh3fmhpko\n```\n", + "description": "Provides a Cognito User Pool Client resource.\n\nTo manage a User Pool Client created by another service, such as when [configuring an OpenSearch Domain to use Cognito authentication](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html),\nuse the `aws.cognito.ManagedUserPoolClient` resource instead.\n\n## Example Usage\n\n### Create a basic user pool client\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {name: \"pool\"});\nconst client = new aws.cognito.UserPoolClient(\"client\", {\n name: \"client\",\n userPoolId: pool.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\", name=\"pool\")\nclient = aws.cognito.UserPoolClient(\"client\",\n name=\"client\",\n user_pool_id=pool.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new Aws.Cognito.UserPool(\"pool\", new()\n {\n Name = \"pool\",\n });\n\n var client = new Aws.Cognito.UserPoolClient(\"client\", new()\n {\n Name = \"client\",\n UserPoolId = pool.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolClient(ctx, \"client\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"client\"),\n\t\t\tUserPoolId: pool.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pool = new UserPool(\"pool\", UserPoolArgs.builder()\n .name(\"pool\")\n .build());\n\n var client = new UserPoolClient(\"client\", UserPoolClientArgs.builder()\n .name(\"client\")\n .userPoolId(pool.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n client:\n type: aws:cognito:UserPoolClient\n properties:\n name: client\n userPoolId: ${pool.id}\n pool:\n type: aws:cognito:UserPool\n properties:\n name: pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a user pool client with no SRP authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {name: \"pool\"});\nconst client = new aws.cognito.UserPoolClient(\"client\", {\n name: \"client\",\n userPoolId: pool.id,\n generateSecret: true,\n explicitAuthFlows: [\"ADMIN_NO_SRP_AUTH\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\", name=\"pool\")\nclient = aws.cognito.UserPoolClient(\"client\",\n name=\"client\",\n user_pool_id=pool.id,\n generate_secret=True,\n explicit_auth_flows=[\"ADMIN_NO_SRP_AUTH\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new Aws.Cognito.UserPool(\"pool\", new()\n {\n Name = \"pool\",\n });\n\n var client = new Aws.Cognito.UserPoolClient(\"client\", new()\n {\n Name = \"client\",\n UserPoolId = pool.Id,\n GenerateSecret = true,\n ExplicitAuthFlows = new[]\n {\n \"ADMIN_NO_SRP_AUTH\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolClient(ctx, \"client\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"client\"),\n\t\t\tUserPoolId: pool.ID(),\n\t\t\tGenerateSecret: pulumi.Bool(true),\n\t\t\tExplicitAuthFlows: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ADMIN_NO_SRP_AUTH\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pool = new UserPool(\"pool\", UserPoolArgs.builder()\n .name(\"pool\")\n .build());\n\n var client = new UserPoolClient(\"client\", UserPoolClientArgs.builder()\n .name(\"client\")\n .userPoolId(pool.id())\n .generateSecret(true)\n .explicitAuthFlows(\"ADMIN_NO_SRP_AUTH\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n client:\n type: aws:cognito:UserPoolClient\n properties:\n name: client\n userPoolId: ${pool.id}\n generateSecret: true\n explicitAuthFlows:\n - ADMIN_NO_SRP_AUTH\n pool:\n type: aws:cognito:UserPool\n properties:\n name: pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a user pool client with pinpoint analytics\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testUserPool = new aws.cognito.UserPool(\"test\", {name: \"pool\"});\nconst testApp = new aws.pinpoint.App(\"test\", {name: \"pinpoint\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"cognito-idp.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst testRole = new aws.iam.Role(\"test\", {\n name: \"role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testUserPoolClient = new aws.cognito.UserPoolClient(\"test\", {\n name: \"pool_client\",\n userPoolId: testUserPool.id,\n analyticsConfiguration: {\n applicationId: testApp.applicationId,\n externalId: \"some_id\",\n roleArn: testRole.arn,\n userDataShared: true,\n },\n});\nconst current = aws.getCallerIdentity({});\nconst test = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"mobiletargeting:UpdateEndpoint\",\n \"mobiletargeting:PutEvents\",\n ],\n resources: [pulumi.all([current, testApp.applicationId]).apply(([current, applicationId]) =\u003e `arn:aws:mobiletargeting:*:${current.accountId}:apps/${applicationId}*`)],\n }],\n});\nconst testRolePolicy = new aws.iam.RolePolicy(\"test\", {\n name: \"role_policy\",\n role: testRole.id,\n policy: test.apply(test =\u003e test.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_user_pool = aws.cognito.UserPool(\"test\", name=\"pool\")\ntest_app = aws.pinpoint.App(\"test\", name=\"pinpoint\")\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"cognito-idp.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\ntest_role = aws.iam.Role(\"test\",\n name=\"role\",\n assume_role_policy=assume_role.json)\ntest_user_pool_client = aws.cognito.UserPoolClient(\"test\",\n name=\"pool_client\",\n user_pool_id=test_user_pool.id,\n analytics_configuration={\n \"application_id\": test_app.application_id,\n \"external_id\": \"some_id\",\n \"role_arn\": test_role.arn,\n \"user_data_shared\": True,\n })\ncurrent = aws.get_caller_identity()\ntest = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"mobiletargeting:UpdateEndpoint\",\n \"mobiletargeting:PutEvents\",\n ],\n \"resources\": [test_app.application_id.apply(lambda application_id: f\"arn:aws:mobiletargeting:*:{current.account_id}:apps/{application_id}*\")],\n}])\ntest_role_policy = aws.iam.RolePolicy(\"test\",\n name=\"role_policy\",\n role=test_role.id,\n policy=test.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testUserPool = new Aws.Cognito.UserPool(\"test\", new()\n {\n Name = \"pool\",\n });\n\n var testApp = new Aws.Pinpoint.App(\"test\", new()\n {\n Name = \"pinpoint\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"cognito-idp.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test\", new()\n {\n Name = \"role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testUserPoolClient = new Aws.Cognito.UserPoolClient(\"test\", new()\n {\n Name = \"pool_client\",\n UserPoolId = testUserPool.Id,\n AnalyticsConfiguration = new Aws.Cognito.Inputs.UserPoolClientAnalyticsConfigurationArgs\n {\n ApplicationId = testApp.ApplicationId,\n ExternalId = \"some_id\",\n RoleArn = testRole.Arn,\n UserDataShared = true,\n },\n });\n\n var current = Aws.GetCallerIdentity.Invoke();\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"mobiletargeting:UpdateEndpoint\",\n \"mobiletargeting:PutEvents\",\n },\n Resources = new[]\n {\n $\"arn:aws:mobiletargeting:*:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:apps/{testApp.ApplicationId}*\",\n },\n },\n },\n });\n\n var testRolePolicy = new Aws.Iam.RolePolicy(\"test\", new()\n {\n Name = \"role_policy\",\n Role = testRole.Id,\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestUserPool, err := cognito.NewUserPool(ctx, \"test\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestApp, err := pinpoint.NewApp(ctx, \"test\", \u0026pinpoint.AppArgs{\n\t\t\tName: pulumi.String(\"pinpoint\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"cognito-idp.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolClient(ctx, \"test\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"pool_client\"),\n\t\t\tUserPoolId: testUserPool.ID(),\n\t\t\tAnalyticsConfiguration: \u0026cognito.UserPoolClientAnalyticsConfigurationArgs{\n\t\t\t\tApplicationId: testApp.ApplicationId,\n\t\t\t\tExternalId: pulumi.String(\"some_id\"),\n\t\t\t\tRoleArn: testRole.Arn,\n\t\t\t\tUserDataShared: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"mobiletargeting:UpdateEndpoint\"),\n\t\t\t\t\t\tpulumi.String(\"mobiletargeting:PutEvents\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ttestApp.ApplicationId.ApplyT(func(applicationId string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:mobiletargeting:*:%v:apps/%v*\", current.AccountId, applicationId), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"test\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"role_policy\"),\n\t\t\tRole: testRole.ID(),\n\t\t\tPolicy: pulumi.String(test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026test.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.AppArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolClientAnalyticsConfigurationArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testUserPool = new UserPool(\"testUserPool\", UserPoolArgs.builder()\n .name(\"pool\")\n .build());\n\n var testApp = new App(\"testApp\", AppArgs.builder()\n .name(\"pinpoint\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"cognito-idp.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testUserPoolClient = new UserPoolClient(\"testUserPoolClient\", UserPoolClientArgs.builder()\n .name(\"pool_client\")\n .userPoolId(testUserPool.id())\n .analyticsConfiguration(UserPoolClientAnalyticsConfigurationArgs.builder()\n .applicationId(testApp.applicationId())\n .externalId(\"some_id\")\n .roleArn(testRole.arn())\n .userDataShared(true)\n .build())\n .build());\n\n final var current = AwsFunctions.getCallerIdentity();\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"mobiletargeting:UpdateEndpoint\",\n \"mobiletargeting:PutEvents\")\n .resources(testApp.applicationId().applyValue(applicationId -\u003e String.format(\"arn:aws:mobiletargeting:*:%s:apps/%s*\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),applicationId)))\n .build())\n .build());\n\n var testRolePolicy = new RolePolicy(\"testRolePolicy\", RolePolicyArgs.builder()\n .name(\"role_policy\")\n .role(testRole.id())\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testUserPoolClient:\n type: aws:cognito:UserPoolClient\n name: test\n properties:\n name: pool_client\n userPoolId: ${testUserPool.id}\n analyticsConfiguration:\n applicationId: ${testApp.applicationId}\n externalId: some_id\n roleArn: ${testRole.arn}\n userDataShared: true\n testUserPool:\n type: aws:cognito:UserPool\n name: test\n properties:\n name: pool\n testApp:\n type: aws:pinpoint:App\n name: test\n properties:\n name: pinpoint\n testRole:\n type: aws:iam:Role\n name: test\n properties:\n name: role\n assumeRolePolicy: ${assumeRole.json}\n testRolePolicy:\n type: aws:iam:RolePolicy\n name: test\n properties:\n name: role_policy\n role: ${testRole.id}\n policy: ${test.json}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - cognito-idp.amazonaws.com\n actions:\n - sts:AssumeRole\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - mobiletargeting:UpdateEndpoint\n - mobiletargeting:PutEvents\n resources:\n - arn:aws:mobiletargeting:*:${current.accountId}:apps/${testApp.applicationId}*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a user pool client with Cognito as the identity provider\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {name: \"pool\"});\nconst userpoolClient = new aws.cognito.UserPoolClient(\"userpool_client\", {\n name: \"client\",\n userPoolId: pool.id,\n callbackUrls: [\"https://example.com\"],\n allowedOauthFlowsUserPoolClient: true,\n allowedOauthFlows: [\n \"code\",\n \"implicit\",\n ],\n allowedOauthScopes: [\n \"email\",\n \"openid\",\n ],\n supportedIdentityProviders: [\"COGNITO\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\", name=\"pool\")\nuserpool_client = aws.cognito.UserPoolClient(\"userpool_client\",\n name=\"client\",\n user_pool_id=pool.id,\n callback_urls=[\"https://example.com\"],\n allowed_oauth_flows_user_pool_client=True,\n allowed_oauth_flows=[\n \"code\",\n \"implicit\",\n ],\n allowed_oauth_scopes=[\n \"email\",\n \"openid\",\n ],\n supported_identity_providers=[\"COGNITO\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new Aws.Cognito.UserPool(\"pool\", new()\n {\n Name = \"pool\",\n });\n\n var userpoolClient = new Aws.Cognito.UserPoolClient(\"userpool_client\", new()\n {\n Name = \"client\",\n UserPoolId = pool.Id,\n CallbackUrls = new[]\n {\n \"https://example.com\",\n },\n AllowedOauthFlowsUserPoolClient = true,\n AllowedOauthFlows = new[]\n {\n \"code\",\n \"implicit\",\n },\n AllowedOauthScopes = new[]\n {\n \"email\",\n \"openid\",\n },\n SupportedIdentityProviders = new[]\n {\n \"COGNITO\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolClient(ctx, \"userpool_client\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"client\"),\n\t\t\tUserPoolId: pool.ID(),\n\t\t\tCallbackUrls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://example.com\"),\n\t\t\t},\n\t\t\tAllowedOauthFlowsUserPoolClient: pulumi.Bool(true),\n\t\t\tAllowedOauthFlows: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"code\"),\n\t\t\t\tpulumi.String(\"implicit\"),\n\t\t\t},\n\t\t\tAllowedOauthScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t},\n\t\t\tSupportedIdentityProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"COGNITO\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pool = new UserPool(\"pool\", UserPoolArgs.builder()\n .name(\"pool\")\n .build());\n\n var userpoolClient = new UserPoolClient(\"userpoolClient\", UserPoolClientArgs.builder()\n .name(\"client\")\n .userPoolId(pool.id())\n .callbackUrls(\"https://example.com\")\n .allowedOauthFlowsUserPoolClient(true)\n .allowedOauthFlows( \n \"code\",\n \"implicit\")\n .allowedOauthScopes( \n \"email\",\n \"openid\")\n .supportedIdentityProviders(\"COGNITO\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userpoolClient:\n type: aws:cognito:UserPoolClient\n name: userpool_client\n properties:\n name: client\n userPoolId: ${pool.id}\n callbackUrls:\n - https://example.com\n allowedOauthFlowsUserPoolClient: true\n allowedOauthFlows:\n - code\n - implicit\n allowedOauthScopes:\n - email\n - openid\n supportedIdentityProviders:\n - COGNITO\n pool:\n type: aws:cognito:UserPool\n properties:\n name: pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pool Clients using the `id` of the Cognito User Pool, and the `id` of the Cognito User Pool Client. For example:\n\n```sh\n$ pulumi import aws:cognito/userPoolClient:UserPoolClient client us-west-2_abc123/3ho4ek12345678909nh3fmhpko\n```\n", "properties": { "accessTokenValidity": { "type": "integer", @@ -212614,7 +212614,7 @@ } }, "aws:cognito/userPoolDomain:UserPoolDomain": { - "description": "Provides a Cognito User Pool Domain resource.\n\n## Example Usage\n\n### Amazon Cognito domain\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cognito.UserPool(\"example\", {name: \"example-pool\"});\nconst main = new aws.cognito.UserPoolDomain(\"main\", {\n domain: \"example-domain\",\n userPoolId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.UserPool(\"example\", name=\"example-pool\")\nmain = aws.cognito.UserPoolDomain(\"main\",\n domain=\"example-domain\",\n user_pool_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example-pool\",\n });\n\n var main = new Aws.Cognito.UserPoolDomain(\"main\", new()\n {\n Domain = \"example-domain\",\n UserPoolId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example-pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolDomain(ctx, \"main\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example-domain\"),\n\t\t\tUserPoolId: example.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new UserPool(\"example\", UserPoolArgs.builder()\n .name(\"example-pool\")\n .build());\n\n var main = new UserPoolDomain(\"main\", UserPoolDomainArgs.builder()\n .domain(\"example-domain\")\n .userPoolId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cognito:UserPoolDomain\n properties:\n domain: example-domain\n userPoolId: ${example.id}\n example:\n type: aws:cognito:UserPool\n properties:\n name: example-pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Cognito domain\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleUserPool = new aws.cognito.UserPool(\"example\", {name: \"example-pool\"});\nconst main = new aws.cognito.UserPoolDomain(\"main\", {\n domain: \"example-domain\",\n certificateArn: cert.arn,\n userPoolId: exampleUserPool.id,\n});\nconst example = aws.route53.getZone({\n name: \"example.com\",\n});\nconst auth_cognito_A = new aws.route53.Record(\"auth-cognito-A\", {\n name: main.domain,\n type: aws.route53.RecordType.A,\n zoneId: example.then(example =\u003e example.zoneId),\n aliases: [{\n evaluateTargetHealth: false,\n name: main.cloudfrontDistribution,\n zoneId: main.cloudfrontDistributionZoneId,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_user_pool = aws.cognito.UserPool(\"example\", name=\"example-pool\")\nmain = aws.cognito.UserPoolDomain(\"main\",\n domain=\"example-domain\",\n certificate_arn=cert[\"arn\"],\n user_pool_id=example_user_pool.id)\nexample = aws.route53.get_zone(name=\"example.com\")\nauth_cognito__a = aws.route53.Record(\"auth-cognito-A\",\n name=main.domain,\n type=aws.route53.RecordType.A,\n zone_id=example.zone_id,\n aliases=[{\n \"evaluate_target_health\": False,\n \"name\": main.cloudfront_distribution,\n \"zone_id\": main.cloudfront_distribution_zone_id,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUserPool = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example-pool\",\n });\n\n var main = new Aws.Cognito.UserPoolDomain(\"main\", new()\n {\n Domain = \"example-domain\",\n CertificateArn = cert.Arn,\n UserPoolId = exampleUserPool.Id,\n });\n\n var example = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"example.com\",\n });\n\n var auth_cognito_A = new Aws.Route53.Record(\"auth-cognito-A\", new()\n {\n Name = main.Domain,\n Type = Aws.Route53.RecordType.A,\n ZoneId = example.Apply(getZoneResult =\u003e getZoneResult.ZoneId),\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n EvaluateTargetHealth = false,\n Name = main.CloudfrontDistribution,\n ZoneId = main.CloudfrontDistributionZoneId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUserPool, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example-pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := cognito.NewUserPoolDomain(ctx, \"main\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example-domain\"),\n\t\t\tCertificateArn: pulumi.Any(cert.Arn),\n\t\t\tUserPoolId: exampleUserPool.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := route53.LookupZone(ctx, \u0026route53.LookupZoneArgs{\n\t\t\tName: pulumi.StringRef(\"example.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"auth-cognito-A\", \u0026route53.RecordArgs{\n\t\t\tName: main.Domain,\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tZoneId: pulumi.String(example.ZoneId),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(false),\n\t\t\t\t\tName: main.CloudfrontDistribution,\n\t\t\t\t\tZoneId: main.CloudfrontDistributionZoneId,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleUserPool = new UserPool(\"exampleUserPool\", UserPoolArgs.builder()\n .name(\"example-pool\")\n .build());\n\n var main = new UserPoolDomain(\"main\", UserPoolDomainArgs.builder()\n .domain(\"example-domain\")\n .certificateArn(cert.arn())\n .userPoolId(exampleUserPool.id())\n .build());\n\n final var example = Route53Functions.getZone(GetZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var auth_cognito_A = new Record(\"auth-cognito-A\", RecordArgs.builder()\n .name(main.domain())\n .type(\"A\")\n .zoneId(example.applyValue(getZoneResult -\u003e getZoneResult.zoneId()))\n .aliases(RecordAliasArgs.builder()\n .evaluateTargetHealth(false)\n .name(main.cloudfrontDistribution())\n .zoneId(main.cloudfrontDistributionZoneId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cognito:UserPoolDomain\n properties:\n domain: example-domain\n certificateArn: ${cert.arn}\n userPoolId: ${exampleUserPool.id}\n exampleUserPool:\n type: aws:cognito:UserPool\n name: example\n properties:\n name: example-pool\n auth-cognito-A:\n type: aws:route53:Record\n properties:\n name: ${main.domain}\n type: A\n zoneId: ${example.zoneId}\n aliases:\n - evaluateTargetHealth: false\n name: ${main.cloudfrontDistribution}\n zoneId: ${main.cloudfrontDistributionZoneId}\nvariables:\n example:\n fn::invoke:\n function: aws:route53:getZone\n arguments:\n name: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pool Domains using the `domain`. For example:\n\n```sh\n$ pulumi import aws:cognito/userPoolDomain:UserPoolDomain main auth.example.org\n```\n", + "description": "Provides a Cognito User Pool Domain resource.\n\n## Example Usage\n\n### Amazon Cognito domain\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cognito.UserPool(\"example\", {name: \"example-pool\"});\nconst main = new aws.cognito.UserPoolDomain(\"main\", {\n domain: \"example-domain\",\n userPoolId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.UserPool(\"example\", name=\"example-pool\")\nmain = aws.cognito.UserPoolDomain(\"main\",\n domain=\"example-domain\",\n user_pool_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example-pool\",\n });\n\n var main = new Aws.Cognito.UserPoolDomain(\"main\", new()\n {\n Domain = \"example-domain\",\n UserPoolId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example-pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolDomain(ctx, \"main\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example-domain\"),\n\t\t\tUserPoolId: example.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new UserPool(\"example\", UserPoolArgs.builder()\n .name(\"example-pool\")\n .build());\n\n var main = new UserPoolDomain(\"main\", UserPoolDomainArgs.builder()\n .domain(\"example-domain\")\n .userPoolId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cognito:UserPoolDomain\n properties:\n domain: example-domain\n userPoolId: ${example.id}\n example:\n type: aws:cognito:UserPool\n properties:\n name: example-pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Cognito domain\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleUserPool = new aws.cognito.UserPool(\"example\", {name: \"example-pool\"});\nconst main = new aws.cognito.UserPoolDomain(\"main\", {\n domain: \"example-domain\",\n certificateArn: cert.arn,\n userPoolId: exampleUserPool.id,\n});\nconst example = aws.route53.getZone({\n name: \"example.com\",\n});\nconst auth_cognito_A = new aws.route53.Record(\"auth-cognito-A\", {\n name: main.domain,\n type: aws.route53.RecordType.A,\n zoneId: example.then(example =\u003e example.zoneId),\n aliases: [{\n evaluateTargetHealth: false,\n name: main.cloudfrontDistribution,\n zoneId: main.cloudfrontDistributionZoneId,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_user_pool = aws.cognito.UserPool(\"example\", name=\"example-pool\")\nmain = aws.cognito.UserPoolDomain(\"main\",\n domain=\"example-domain\",\n certificate_arn=cert[\"arn\"],\n user_pool_id=example_user_pool.id)\nexample = aws.route53.get_zone(name=\"example.com\")\nauth_cognito__a = aws.route53.Record(\"auth-cognito-A\",\n name=main.domain,\n type=aws.route53.RecordType.A,\n zone_id=example.zone_id,\n aliases=[{\n \"evaluate_target_health\": False,\n \"name\": main.cloudfront_distribution,\n \"zone_id\": main.cloudfront_distribution_zone_id,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUserPool = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example-pool\",\n });\n\n var main = new Aws.Cognito.UserPoolDomain(\"main\", new()\n {\n Domain = \"example-domain\",\n CertificateArn = cert.Arn,\n UserPoolId = exampleUserPool.Id,\n });\n\n var example = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"example.com\",\n });\n\n var auth_cognito_A = new Aws.Route53.Record(\"auth-cognito-A\", new()\n {\n Name = main.Domain,\n Type = Aws.Route53.RecordType.A,\n ZoneId = example.Apply(getZoneResult =\u003e getZoneResult.ZoneId),\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n EvaluateTargetHealth = false,\n Name = main.CloudfrontDistribution,\n ZoneId = main.CloudfrontDistributionZoneId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUserPool, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example-pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := cognito.NewUserPoolDomain(ctx, \"main\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example-domain\"),\n\t\t\tCertificateArn: pulumi.Any(cert.Arn),\n\t\t\tUserPoolId: exampleUserPool.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := route53.LookupZone(ctx, \u0026route53.LookupZoneArgs{\n\t\t\tName: pulumi.StringRef(\"example.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"auth-cognito-A\", \u0026route53.RecordArgs{\n\t\t\tName: main.Domain,\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tZoneId: pulumi.String(example.ZoneId),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(false),\n\t\t\t\t\tName: main.CloudfrontDistribution,\n\t\t\t\t\tZoneId: main.CloudfrontDistributionZoneId,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleUserPool = new UserPool(\"exampleUserPool\", UserPoolArgs.builder()\n .name(\"example-pool\")\n .build());\n\n var main = new UserPoolDomain(\"main\", UserPoolDomainArgs.builder()\n .domain(\"example-domain\")\n .certificateArn(cert.arn())\n .userPoolId(exampleUserPool.id())\n .build());\n\n final var example = Route53Functions.getZone(GetZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var auth_cognito_A = new Record(\"auth-cognito-A\", RecordArgs.builder()\n .name(main.domain())\n .type(\"A\")\n .zoneId(example.applyValue(getZoneResult -\u003e getZoneResult.zoneId()))\n .aliases(RecordAliasArgs.builder()\n .evaluateTargetHealth(false)\n .name(main.cloudfrontDistribution())\n .zoneId(main.cloudfrontDistributionZoneId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cognito:UserPoolDomain\n properties:\n domain: example-domain\n certificateArn: ${cert.arn}\n userPoolId: ${exampleUserPool.id}\n exampleUserPool:\n type: aws:cognito:UserPool\n name: example\n properties:\n name: example-pool\n auth-cognito-A:\n type: aws:route53:Record\n properties:\n name: ${main.domain}\n type: A\n zoneId: ${example.zoneId}\n aliases:\n - evaluateTargetHealth: false\n name: ${main.cloudfrontDistribution}\n zoneId: ${main.cloudfrontDistributionZoneId}\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getZone\n Arguments:\n name: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pool Domains using the `domain`. For example:\n\n```sh\n$ pulumi import aws:cognito/userPoolDomain:UserPoolDomain main auth.example.org\n```\n", "properties": { "awsAccountId": { "type": "string", @@ -212729,7 +212729,7 @@ } }, "aws:cognito/userPoolUICustomization:UserPoolUICustomization": { - "description": "Provides a Cognito User Pool UI Customization resource.\n\n\u003e **Note:** To use this resource, the user pool must have a domain associated with it. For more information, see the Amazon Cognito Developer Guide on [Customizing the Built-in Sign-In and Sign-up Webpages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-app-ui-customization.html).\n\n## Example Usage\n\n### UI customization settings for a single client\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cognito.UserPool(\"example\", {name: \"example\"});\nconst exampleUserPoolDomain = new aws.cognito.UserPoolDomain(\"example\", {\n domain: \"example\",\n userPoolId: example.id,\n});\nconst exampleUserPoolClient = new aws.cognito.UserPoolClient(\"example\", {\n name: \"example\",\n userPoolId: example.id,\n});\nconst exampleUserPoolUICustomization = new aws.cognito.UserPoolUICustomization(\"example\", {\n clientId: exampleUserPoolClient.id,\n css: \".label-customizable {font-weight: 400;}\",\n imageFile: std.filebase64({\n input: \"logo.png\",\n }).then(invoke =\u003e invoke.result),\n userPoolId: exampleUserPoolDomain.userPoolId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cognito.UserPool(\"example\", name=\"example\")\nexample_user_pool_domain = aws.cognito.UserPoolDomain(\"example\",\n domain=\"example\",\n user_pool_id=example.id)\nexample_user_pool_client = aws.cognito.UserPoolClient(\"example\",\n name=\"example\",\n user_pool_id=example.id)\nexample_user_pool_ui_customization = aws.cognito.UserPoolUICustomization(\"example\",\n client_id=example_user_pool_client.id,\n css=\".label-customizable {font-weight: 400;}\",\n image_file=std.filebase64(input=\"logo.png\").result,\n user_pool_id=example_user_pool_domain.user_pool_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleUserPoolDomain = new Aws.Cognito.UserPoolDomain(\"example\", new()\n {\n Domain = \"example\",\n UserPoolId = example.Id,\n });\n\n var exampleUserPoolClient = new Aws.Cognito.UserPoolClient(\"example\", new()\n {\n Name = \"example\",\n UserPoolId = example.Id,\n });\n\n var exampleUserPoolUICustomization = new Aws.Cognito.UserPoolUICustomization(\"example\", new()\n {\n ClientId = exampleUserPoolClient.Id,\n Css = \".label-customizable {font-weight: 400;}\",\n ImageFile = Std.Filebase64.Invoke(new()\n {\n Input = \"logo.png\",\n }).Apply(invoke =\u003e invoke.Result),\n UserPoolId = exampleUserPoolDomain.UserPoolId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserPoolDomain, err := cognito.NewUserPoolDomain(ctx, \"example\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tUserPoolId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserPoolClient, err := cognito.NewUserPoolClient(ctx, \"example\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tUserPoolId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"logo.png\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolUICustomization(ctx, \"example\", \u0026cognito.UserPoolUICustomizationArgs{\n\t\t\tClientId: exampleUserPoolClient.ID(),\n\t\t\tCss: pulumi.String(\".label-customizable {font-weight: 400;}\"),\n\t\t\tImageFile: pulumi.String(invokeFilebase64.Result),\n\t\t\tUserPoolId: exampleUserPoolDomain.UserPoolId,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport com.pulumi.aws.cognito.UserPoolUICustomization;\nimport com.pulumi.aws.cognito.UserPoolUICustomizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new UserPool(\"example\", UserPoolArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleUserPoolDomain = new UserPoolDomain(\"exampleUserPoolDomain\", UserPoolDomainArgs.builder()\n .domain(\"example\")\n .userPoolId(example.id())\n .build());\n\n var exampleUserPoolClient = new UserPoolClient(\"exampleUserPoolClient\", UserPoolClientArgs.builder()\n .name(\"example\")\n .userPoolId(example.id())\n .build());\n\n var exampleUserPoolUICustomization = new UserPoolUICustomization(\"exampleUserPoolUICustomization\", UserPoolUICustomizationArgs.builder()\n .clientId(exampleUserPoolClient.id())\n .css(\".label-customizable {font-weight: 400;}\")\n .imageFile(StdFunctions.filebase64(Filebase64Args.builder()\n .input(\"logo.png\")\n .build()).result())\n .userPoolId(exampleUserPoolDomain.userPoolId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n name: example\n exampleUserPoolDomain:\n type: aws:cognito:UserPoolDomain\n name: example\n properties:\n domain: example\n userPoolId: ${example.id}\n exampleUserPoolClient:\n type: aws:cognito:UserPoolClient\n name: example\n properties:\n name: example\n userPoolId: ${example.id}\n exampleUserPoolUICustomization:\n type: aws:cognito:UserPoolUICustomization\n name: example\n properties:\n clientId: ${exampleUserPoolClient.id}\n css: '.label-customizable {font-weight: 400;}'\n imageFile:\n fn::invoke:\n function: std:filebase64\n arguments:\n input: logo.png\n return: result\n userPoolId: ${exampleUserPoolDomain.userPoolId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### UI customization settings for all clients\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cognito.UserPool(\"example\", {name: \"example\"});\nconst exampleUserPoolDomain = new aws.cognito.UserPoolDomain(\"example\", {\n domain: \"example\",\n userPoolId: example.id,\n});\nconst exampleUserPoolUICustomization = new aws.cognito.UserPoolUICustomization(\"example\", {\n css: \".label-customizable {font-weight: 400;}\",\n imageFile: std.filebase64({\n input: \"logo.png\",\n }).then(invoke =\u003e invoke.result),\n userPoolId: exampleUserPoolDomain.userPoolId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cognito.UserPool(\"example\", name=\"example\")\nexample_user_pool_domain = aws.cognito.UserPoolDomain(\"example\",\n domain=\"example\",\n user_pool_id=example.id)\nexample_user_pool_ui_customization = aws.cognito.UserPoolUICustomization(\"example\",\n css=\".label-customizable {font-weight: 400;}\",\n image_file=std.filebase64(input=\"logo.png\").result,\n user_pool_id=example_user_pool_domain.user_pool_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleUserPoolDomain = new Aws.Cognito.UserPoolDomain(\"example\", new()\n {\n Domain = \"example\",\n UserPoolId = example.Id,\n });\n\n var exampleUserPoolUICustomization = new Aws.Cognito.UserPoolUICustomization(\"example\", new()\n {\n Css = \".label-customizable {font-weight: 400;}\",\n ImageFile = Std.Filebase64.Invoke(new()\n {\n Input = \"logo.png\",\n }).Apply(invoke =\u003e invoke.Result),\n UserPoolId = exampleUserPoolDomain.UserPoolId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserPoolDomain, err := cognito.NewUserPoolDomain(ctx, \"example\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tUserPoolId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"logo.png\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolUICustomization(ctx, \"example\", \u0026cognito.UserPoolUICustomizationArgs{\n\t\t\tCss: pulumi.String(\".label-customizable {font-weight: 400;}\"),\n\t\t\tImageFile: pulumi.String(invokeFilebase64.Result),\n\t\t\tUserPoolId: exampleUserPoolDomain.UserPoolId,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport com.pulumi.aws.cognito.UserPoolUICustomization;\nimport com.pulumi.aws.cognito.UserPoolUICustomizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new UserPool(\"example\", UserPoolArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleUserPoolDomain = new UserPoolDomain(\"exampleUserPoolDomain\", UserPoolDomainArgs.builder()\n .domain(\"example\")\n .userPoolId(example.id())\n .build());\n\n var exampleUserPoolUICustomization = new UserPoolUICustomization(\"exampleUserPoolUICustomization\", UserPoolUICustomizationArgs.builder()\n .css(\".label-customizable {font-weight: 400;}\")\n .imageFile(StdFunctions.filebase64(Filebase64Args.builder()\n .input(\"logo.png\")\n .build()).result())\n .userPoolId(exampleUserPoolDomain.userPoolId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n name: example\n exampleUserPoolDomain:\n type: aws:cognito:UserPoolDomain\n name: example\n properties:\n domain: example\n userPoolId: ${example.id}\n exampleUserPoolUICustomization:\n type: aws:cognito:UserPoolUICustomization\n name: example\n properties:\n css: '.label-customizable {font-weight: 400;}'\n imageFile:\n fn::invoke:\n function: std:filebase64\n arguments:\n input: logo.png\n return: result\n userPoolId: ${exampleUserPoolDomain.userPoolId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pool UI Customizations using the `user_pool_id` and `client_id` separated by `,`. For example:\n\n```sh\n$ pulumi import aws:cognito/userPoolUICustomization:UserPoolUICustomization example us-west-2_ZCTarbt5C,12bu4fuk3mlgqa2rtrujgp6egq\n```\n", + "description": "Provides a Cognito User Pool UI Customization resource.\n\n\u003e **Note:** To use this resource, the user pool must have a domain associated with it. For more information, see the Amazon Cognito Developer Guide on [Customizing the Built-in Sign-In and Sign-up Webpages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-app-ui-customization.html).\n\n## Example Usage\n\n### UI customization settings for a single client\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cognito.UserPool(\"example\", {name: \"example\"});\nconst exampleUserPoolDomain = new aws.cognito.UserPoolDomain(\"example\", {\n domain: \"example\",\n userPoolId: example.id,\n});\nconst exampleUserPoolClient = new aws.cognito.UserPoolClient(\"example\", {\n name: \"example\",\n userPoolId: example.id,\n});\nconst exampleUserPoolUICustomization = new aws.cognito.UserPoolUICustomization(\"example\", {\n clientId: exampleUserPoolClient.id,\n css: \".label-customizable {font-weight: 400;}\",\n imageFile: std.filebase64({\n input: \"logo.png\",\n }).then(invoke =\u003e invoke.result),\n userPoolId: exampleUserPoolDomain.userPoolId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cognito.UserPool(\"example\", name=\"example\")\nexample_user_pool_domain = aws.cognito.UserPoolDomain(\"example\",\n domain=\"example\",\n user_pool_id=example.id)\nexample_user_pool_client = aws.cognito.UserPoolClient(\"example\",\n name=\"example\",\n user_pool_id=example.id)\nexample_user_pool_ui_customization = aws.cognito.UserPoolUICustomization(\"example\",\n client_id=example_user_pool_client.id,\n css=\".label-customizable {font-weight: 400;}\",\n image_file=std.filebase64(input=\"logo.png\").result,\n user_pool_id=example_user_pool_domain.user_pool_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleUserPoolDomain = new Aws.Cognito.UserPoolDomain(\"example\", new()\n {\n Domain = \"example\",\n UserPoolId = example.Id,\n });\n\n var exampleUserPoolClient = new Aws.Cognito.UserPoolClient(\"example\", new()\n {\n Name = \"example\",\n UserPoolId = example.Id,\n });\n\n var exampleUserPoolUICustomization = new Aws.Cognito.UserPoolUICustomization(\"example\", new()\n {\n ClientId = exampleUserPoolClient.Id,\n Css = \".label-customizable {font-weight: 400;}\",\n ImageFile = Std.Filebase64.Invoke(new()\n {\n Input = \"logo.png\",\n }).Apply(invoke =\u003e invoke.Result),\n UserPoolId = exampleUserPoolDomain.UserPoolId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserPoolDomain, err := cognito.NewUserPoolDomain(ctx, \"example\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tUserPoolId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserPoolClient, err := cognito.NewUserPoolClient(ctx, \"example\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tUserPoolId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"logo.png\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolUICustomization(ctx, \"example\", \u0026cognito.UserPoolUICustomizationArgs{\n\t\t\tClientId: exampleUserPoolClient.ID(),\n\t\t\tCss: pulumi.String(\".label-customizable {font-weight: 400;}\"),\n\t\t\tImageFile: pulumi.String(invokeFilebase64.Result),\n\t\t\tUserPoolId: exampleUserPoolDomain.UserPoolId,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport com.pulumi.aws.cognito.UserPoolUICustomization;\nimport com.pulumi.aws.cognito.UserPoolUICustomizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new UserPool(\"example\", UserPoolArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleUserPoolDomain = new UserPoolDomain(\"exampleUserPoolDomain\", UserPoolDomainArgs.builder()\n .domain(\"example\")\n .userPoolId(example.id())\n .build());\n\n var exampleUserPoolClient = new UserPoolClient(\"exampleUserPoolClient\", UserPoolClientArgs.builder()\n .name(\"example\")\n .userPoolId(example.id())\n .build());\n\n var exampleUserPoolUICustomization = new UserPoolUICustomization(\"exampleUserPoolUICustomization\", UserPoolUICustomizationArgs.builder()\n .clientId(exampleUserPoolClient.id())\n .css(\".label-customizable {font-weight: 400;}\")\n .imageFile(StdFunctions.filebase64(Filebase64Args.builder()\n .input(\"logo.png\")\n .build()).result())\n .userPoolId(exampleUserPoolDomain.userPoolId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n name: example\n exampleUserPoolDomain:\n type: aws:cognito:UserPoolDomain\n name: example\n properties:\n domain: example\n userPoolId: ${example.id}\n exampleUserPoolClient:\n type: aws:cognito:UserPoolClient\n name: example\n properties:\n name: example\n userPoolId: ${example.id}\n exampleUserPoolUICustomization:\n type: aws:cognito:UserPoolUICustomization\n name: example\n properties:\n clientId: ${exampleUserPoolClient.id}\n css: '.label-customizable {font-weight: 400;}'\n imageFile:\n fn::invoke:\n Function: std:filebase64\n Arguments:\n input: logo.png\n Return: result\n userPoolId: ${exampleUserPoolDomain.userPoolId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### UI customization settings for all clients\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cognito.UserPool(\"example\", {name: \"example\"});\nconst exampleUserPoolDomain = new aws.cognito.UserPoolDomain(\"example\", {\n domain: \"example\",\n userPoolId: example.id,\n});\nconst exampleUserPoolUICustomization = new aws.cognito.UserPoolUICustomization(\"example\", {\n css: \".label-customizable {font-weight: 400;}\",\n imageFile: std.filebase64({\n input: \"logo.png\",\n }).then(invoke =\u003e invoke.result),\n userPoolId: exampleUserPoolDomain.userPoolId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cognito.UserPool(\"example\", name=\"example\")\nexample_user_pool_domain = aws.cognito.UserPoolDomain(\"example\",\n domain=\"example\",\n user_pool_id=example.id)\nexample_user_pool_ui_customization = aws.cognito.UserPoolUICustomization(\"example\",\n css=\".label-customizable {font-weight: 400;}\",\n image_file=std.filebase64(input=\"logo.png\").result,\n user_pool_id=example_user_pool_domain.user_pool_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleUserPoolDomain = new Aws.Cognito.UserPoolDomain(\"example\", new()\n {\n Domain = \"example\",\n UserPoolId = example.Id,\n });\n\n var exampleUserPoolUICustomization = new Aws.Cognito.UserPoolUICustomization(\"example\", new()\n {\n Css = \".label-customizable {font-weight: 400;}\",\n ImageFile = Std.Filebase64.Invoke(new()\n {\n Input = \"logo.png\",\n }).Apply(invoke =\u003e invoke.Result),\n UserPoolId = exampleUserPoolDomain.UserPoolId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserPoolDomain, err := cognito.NewUserPoolDomain(ctx, \"example\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tUserPoolId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"logo.png\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolUICustomization(ctx, \"example\", \u0026cognito.UserPoolUICustomizationArgs{\n\t\t\tCss: pulumi.String(\".label-customizable {font-weight: 400;}\"),\n\t\t\tImageFile: pulumi.String(invokeFilebase64.Result),\n\t\t\tUserPoolId: exampleUserPoolDomain.UserPoolId,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport com.pulumi.aws.cognito.UserPoolUICustomization;\nimport com.pulumi.aws.cognito.UserPoolUICustomizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new UserPool(\"example\", UserPoolArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleUserPoolDomain = new UserPoolDomain(\"exampleUserPoolDomain\", UserPoolDomainArgs.builder()\n .domain(\"example\")\n .userPoolId(example.id())\n .build());\n\n var exampleUserPoolUICustomization = new UserPoolUICustomization(\"exampleUserPoolUICustomization\", UserPoolUICustomizationArgs.builder()\n .css(\".label-customizable {font-weight: 400;}\")\n .imageFile(StdFunctions.filebase64(Filebase64Args.builder()\n .input(\"logo.png\")\n .build()).result())\n .userPoolId(exampleUserPoolDomain.userPoolId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n name: example\n exampleUserPoolDomain:\n type: aws:cognito:UserPoolDomain\n name: example\n properties:\n domain: example\n userPoolId: ${example.id}\n exampleUserPoolUICustomization:\n type: aws:cognito:UserPoolUICustomization\n name: example\n properties:\n css: '.label-customizable {font-weight: 400;}'\n imageFile:\n fn::invoke:\n Function: std:filebase64\n Arguments:\n input: logo.png\n Return: result\n userPoolId: ${exampleUserPoolDomain.userPoolId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pool UI Customizations using the `user_pool_id` and `client_id` separated by `,`. For example:\n\n```sh\n$ pulumi import aws:cognito/userPoolUICustomization:UserPoolUICustomization example us-west-2_ZCTarbt5C,12bu4fuk3mlgqa2rtrujgp6egq\n```\n", "properties": { "clientId": { "type": "string", @@ -212832,7 +212832,7 @@ } }, "aws:comprehend/documentClassifier:DocumentClassifier": { - "description": "Resource for managing an AWS Comprehend Document Classifier.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst documents = new aws.s3.BucketObjectv2(\"documents\", {});\nconst example = new aws.comprehend.DocumentClassifier(\"example\", {\n name: \"example\",\n dataAccessRoleArn: exampleAwsIamRole.arn,\n languageCode: \"en\",\n inputDataConfig: {\n s3Uri: pulumi.interpolate`s3://${test.bucket}/${documents.id}`,\n },\n}, {\n dependsOn: [exampleAwsIamRolePolicy],\n});\nconst entities = new aws.s3.BucketObjectv2(\"entities\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndocuments = aws.s3.BucketObjectv2(\"documents\")\nexample = aws.comprehend.DocumentClassifier(\"example\",\n name=\"example\",\n data_access_role_arn=example_aws_iam_role[\"arn\"],\n language_code=\"en\",\n input_data_config={\n \"s3_uri\": documents.id.apply(lambda id: f\"s3://{test['bucket']}/{id}\"),\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy]))\nentities = aws.s3.BucketObjectv2(\"entities\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var documents = new Aws.S3.BucketObjectv2(\"documents\");\n\n var example = new Aws.Comprehend.DocumentClassifier(\"example\", new()\n {\n Name = \"example\",\n DataAccessRoleArn = exampleAwsIamRole.Arn,\n LanguageCode = \"en\",\n InputDataConfig = new Aws.Comprehend.Inputs.DocumentClassifierInputDataConfigArgs\n {\n S3Uri = documents.Id.Apply(id =\u003e $\"s3://{test.Bucket}/{id}\"),\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicy,\n },\n });\n\n var entities = new Aws.S3.BucketObjectv2(\"entities\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/comprehend\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdocuments, err := s3.NewBucketObjectv2(ctx, \"documents\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = comprehend.NewDocumentClassifier(ctx, \"example\", \u0026comprehend.DocumentClassifierArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDataAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tLanguageCode: pulumi.String(\"en\"),\n\t\t\tInputDataConfig: \u0026comprehend.DocumentClassifierInputDataConfigArgs{\n\t\t\t\tS3Uri: documents.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", test.Bucket, id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"entities\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.comprehend.DocumentClassifier;\nimport com.pulumi.aws.comprehend.DocumentClassifierArgs;\nimport com.pulumi.aws.comprehend.inputs.DocumentClassifierInputDataConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var documents = new BucketObjectv2(\"documents\");\n\n var example = new DocumentClassifier(\"example\", DocumentClassifierArgs.builder()\n .name(\"example\")\n .dataAccessRoleArn(exampleAwsIamRole.arn())\n .languageCode(\"en\")\n .inputDataConfig(DocumentClassifierInputDataConfigArgs.builder()\n .s3Uri(documents.id().applyValue(id -\u003e String.format(\"s3://%s/%s\", test.bucket(),id)))\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicy)\n .build());\n\n var entities = new BucketObjectv2(\"entities\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:comprehend:DocumentClassifier\n properties:\n name: example\n dataAccessRoleArn: ${exampleAwsIamRole.arn}\n languageCode: en\n inputDataConfig:\n s3Uri: s3://${test.bucket}/${documents.id}\n options:\n dependsOn:\n - ${exampleAwsIamRolePolicy}\n documents:\n type: aws:s3:BucketObjectv2\n entities:\n type: aws:s3:BucketObjectv2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Comprehend Document Classifier using the ARN. For example:\n\n```sh\n$ pulumi import aws:comprehend/documentClassifier:DocumentClassifier example arn:aws:comprehend:us-west-2:123456789012:document_classifier/example\n```\n", + "description": "Resource for managing an AWS Comprehend Document Classifier.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst documents = new aws.s3.BucketObjectv2(\"documents\", {});\nconst example = new aws.comprehend.DocumentClassifier(\"example\", {\n name: \"example\",\n dataAccessRoleArn: exampleAwsIamRole.arn,\n languageCode: \"en\",\n inputDataConfig: {\n s3Uri: pulumi.interpolate`s3://${test.bucket}/${documents.id}`,\n },\n}, {\n dependsOn: [exampleAwsIamRolePolicy],\n});\nconst entities = new aws.s3.BucketObjectv2(\"entities\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndocuments = aws.s3.BucketObjectv2(\"documents\")\nexample = aws.comprehend.DocumentClassifier(\"example\",\n name=\"example\",\n data_access_role_arn=example_aws_iam_role[\"arn\"],\n language_code=\"en\",\n input_data_config={\n \"s3_uri\": documents.id.apply(lambda id: f\"s3://{test['bucket']}/{id}\"),\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy]))\nentities = aws.s3.BucketObjectv2(\"entities\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var documents = new Aws.S3.BucketObjectv2(\"documents\");\n\n var example = new Aws.Comprehend.DocumentClassifier(\"example\", new()\n {\n Name = \"example\",\n DataAccessRoleArn = exampleAwsIamRole.Arn,\n LanguageCode = \"en\",\n InputDataConfig = new Aws.Comprehend.Inputs.DocumentClassifierInputDataConfigArgs\n {\n S3Uri = documents.Id.Apply(id =\u003e $\"s3://{test.Bucket}/{id}\"),\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicy,\n },\n });\n\n var entities = new Aws.S3.BucketObjectv2(\"entities\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/comprehend\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdocuments, err := s3.NewBucketObjectv2(ctx, \"documents\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = comprehend.NewDocumentClassifier(ctx, \"example\", \u0026comprehend.DocumentClassifierArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDataAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tLanguageCode: pulumi.String(\"en\"),\n\t\t\tInputDataConfig: \u0026comprehend.DocumentClassifierInputDataConfigArgs{\n\t\t\t\tS3Uri: documents.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", test.Bucket, id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"entities\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.comprehend.DocumentClassifier;\nimport com.pulumi.aws.comprehend.DocumentClassifierArgs;\nimport com.pulumi.aws.comprehend.inputs.DocumentClassifierInputDataConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var documents = new BucketObjectv2(\"documents\");\n\n var example = new DocumentClassifier(\"example\", DocumentClassifierArgs.builder()\n .name(\"example\")\n .dataAccessRoleArn(exampleAwsIamRole.arn())\n .languageCode(\"en\")\n .inputDataConfig(DocumentClassifierInputDataConfigArgs.builder()\n .s3Uri(documents.id().applyValue(id -\u003e String.format(\"s3://%s/%s\", test.bucket(),id)))\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicy)\n .build());\n\n var entities = new BucketObjectv2(\"entities\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:comprehend:DocumentClassifier\n properties:\n name: example\n dataAccessRoleArn: ${exampleAwsIamRole.arn}\n languageCode: en\n inputDataConfig:\n s3Uri: s3://${test.bucket}/${documents.id}\n options:\n dependson:\n - ${exampleAwsIamRolePolicy}\n documents:\n type: aws:s3:BucketObjectv2\n entities:\n type: aws:s3:BucketObjectv2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Comprehend Document Classifier using the ARN. For example:\n\n```sh\n$ pulumi import aws:comprehend/documentClassifier:DocumentClassifier example arn:aws:comprehend:us-west-2:123456789012:document_classifier/example\n```\n", "properties": { "arn": { "type": "string", @@ -213038,7 +213038,7 @@ } }, "aws:comprehend/entityRecognizer:EntityRecognizer": { - "description": "Resource for managing an AWS Comprehend Entity Recognizer.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst documents = new aws.s3.BucketObjectv2(\"documents\", {});\nconst entities = new aws.s3.BucketObjectv2(\"entities\", {});\nconst example = new aws.comprehend.EntityRecognizer(\"example\", {\n name: \"example\",\n dataAccessRoleArn: exampleAwsIamRole.arn,\n languageCode: \"en\",\n inputDataConfig: {\n entityTypes: [\n {\n type: \"ENTITY_1\",\n },\n {\n type: \"ENTITY_2\",\n },\n ],\n documents: {\n s3Uri: pulumi.interpolate`s3://${documentsAwsS3Bucket.bucket}/${documents.id}`,\n },\n entityList: {\n s3Uri: pulumi.interpolate`s3://${entitiesAwsS3Bucket.bucket}/${entities.id}`,\n },\n },\n}, {\n dependsOn: [exampleAwsIamRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndocuments = aws.s3.BucketObjectv2(\"documents\")\nentities = aws.s3.BucketObjectv2(\"entities\")\nexample = aws.comprehend.EntityRecognizer(\"example\",\n name=\"example\",\n data_access_role_arn=example_aws_iam_role[\"arn\"],\n language_code=\"en\",\n input_data_config={\n \"entity_types\": [\n {\n \"type\": \"ENTITY_1\",\n },\n {\n \"type\": \"ENTITY_2\",\n },\n ],\n \"documents\": {\n \"s3_uri\": documents.id.apply(lambda id: f\"s3://{documents_aws_s3_bucket['bucket']}/{id}\"),\n },\n \"entity_list\": {\n \"s3_uri\": entities.id.apply(lambda id: f\"s3://{entities_aws_s3_bucket['bucket']}/{id}\"),\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var documents = new Aws.S3.BucketObjectv2(\"documents\");\n\n var entities = new Aws.S3.BucketObjectv2(\"entities\");\n\n var example = new Aws.Comprehend.EntityRecognizer(\"example\", new()\n {\n Name = \"example\",\n DataAccessRoleArn = exampleAwsIamRole.Arn,\n LanguageCode = \"en\",\n InputDataConfig = new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigArgs\n {\n EntityTypes = new[]\n {\n new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigEntityTypeArgs\n {\n Type = \"ENTITY_1\",\n },\n new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigEntityTypeArgs\n {\n Type = \"ENTITY_2\",\n },\n },\n Documents = new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigDocumentsArgs\n {\n S3Uri = documents.Id.Apply(id =\u003e $\"s3://{documentsAwsS3Bucket.Bucket}/{id}\"),\n },\n EntityList = new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigEntityListArgs\n {\n S3Uri = entities.Id.Apply(id =\u003e $\"s3://{entitiesAwsS3Bucket.Bucket}/{id}\"),\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/comprehend\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdocuments, err := s3.NewBucketObjectv2(ctx, \"documents\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tentities, err := s3.NewBucketObjectv2(ctx, \"entities\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = comprehend.NewEntityRecognizer(ctx, \"example\", \u0026comprehend.EntityRecognizerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDataAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tLanguageCode: pulumi.String(\"en\"),\n\t\t\tInputDataConfig: \u0026comprehend.EntityRecognizerInputDataConfigArgs{\n\t\t\t\tEntityTypes: comprehend.EntityRecognizerInputDataConfigEntityTypeArray{\n\t\t\t\t\t\u0026comprehend.EntityRecognizerInputDataConfigEntityTypeArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ENTITY_1\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026comprehend.EntityRecognizerInputDataConfigEntityTypeArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ENTITY_2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDocuments: \u0026comprehend.EntityRecognizerInputDataConfigDocumentsArgs{\n\t\t\t\t\tS3Uri: documents.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", documentsAwsS3Bucket.Bucket, id), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t\tEntityList: \u0026comprehend.EntityRecognizerInputDataConfigEntityListArgs{\n\t\t\t\t\tS3Uri: entities.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", entitiesAwsS3Bucket.Bucket, id), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.comprehend.EntityRecognizer;\nimport com.pulumi.aws.comprehend.EntityRecognizerArgs;\nimport com.pulumi.aws.comprehend.inputs.EntityRecognizerInputDataConfigArgs;\nimport com.pulumi.aws.comprehend.inputs.EntityRecognizerInputDataConfigDocumentsArgs;\nimport com.pulumi.aws.comprehend.inputs.EntityRecognizerInputDataConfigEntityListArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var documents = new BucketObjectv2(\"documents\");\n\n var entities = new BucketObjectv2(\"entities\");\n\n var example = new EntityRecognizer(\"example\", EntityRecognizerArgs.builder()\n .name(\"example\")\n .dataAccessRoleArn(exampleAwsIamRole.arn())\n .languageCode(\"en\")\n .inputDataConfig(EntityRecognizerInputDataConfigArgs.builder()\n .entityTypes( \n EntityRecognizerInputDataConfigEntityTypeArgs.builder()\n .type(\"ENTITY_1\")\n .build(),\n EntityRecognizerInputDataConfigEntityTypeArgs.builder()\n .type(\"ENTITY_2\")\n .build())\n .documents(EntityRecognizerInputDataConfigDocumentsArgs.builder()\n .s3Uri(documents.id().applyValue(id -\u003e String.format(\"s3://%s/%s\", documentsAwsS3Bucket.bucket(),id)))\n .build())\n .entityList(EntityRecognizerInputDataConfigEntityListArgs.builder()\n .s3Uri(entities.id().applyValue(id -\u003e String.format(\"s3://%s/%s\", entitiesAwsS3Bucket.bucket(),id)))\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:comprehend:EntityRecognizer\n properties:\n name: example\n dataAccessRoleArn: ${exampleAwsIamRole.arn}\n languageCode: en\n inputDataConfig:\n entityTypes:\n - type: ENTITY_1\n - type: ENTITY_2\n documents:\n s3Uri: s3://${documentsAwsS3Bucket.bucket}/${documents.id}\n entityList:\n s3Uri: s3://${entitiesAwsS3Bucket.bucket}/${entities.id}\n options:\n dependsOn:\n - ${exampleAwsIamRolePolicy}\n documents:\n type: aws:s3:BucketObjectv2\n entities:\n type: aws:s3:BucketObjectv2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Comprehend Entity Recognizer using the ARN. For example:\n\n```sh\n$ pulumi import aws:comprehend/entityRecognizer:EntityRecognizer example arn:aws:comprehend:us-west-2:123456789012:entity-recognizer/example\n```\n", + "description": "Resource for managing an AWS Comprehend Entity Recognizer.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst documents = new aws.s3.BucketObjectv2(\"documents\", {});\nconst entities = new aws.s3.BucketObjectv2(\"entities\", {});\nconst example = new aws.comprehend.EntityRecognizer(\"example\", {\n name: \"example\",\n dataAccessRoleArn: exampleAwsIamRole.arn,\n languageCode: \"en\",\n inputDataConfig: {\n entityTypes: [\n {\n type: \"ENTITY_1\",\n },\n {\n type: \"ENTITY_2\",\n },\n ],\n documents: {\n s3Uri: pulumi.interpolate`s3://${documentsAwsS3Bucket.bucket}/${documents.id}`,\n },\n entityList: {\n s3Uri: pulumi.interpolate`s3://${entitiesAwsS3Bucket.bucket}/${entities.id}`,\n },\n },\n}, {\n dependsOn: [exampleAwsIamRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndocuments = aws.s3.BucketObjectv2(\"documents\")\nentities = aws.s3.BucketObjectv2(\"entities\")\nexample = aws.comprehend.EntityRecognizer(\"example\",\n name=\"example\",\n data_access_role_arn=example_aws_iam_role[\"arn\"],\n language_code=\"en\",\n input_data_config={\n \"entity_types\": [\n {\n \"type\": \"ENTITY_1\",\n },\n {\n \"type\": \"ENTITY_2\",\n },\n ],\n \"documents\": {\n \"s3_uri\": documents.id.apply(lambda id: f\"s3://{documents_aws_s3_bucket['bucket']}/{id}\"),\n },\n \"entity_list\": {\n \"s3_uri\": entities.id.apply(lambda id: f\"s3://{entities_aws_s3_bucket['bucket']}/{id}\"),\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var documents = new Aws.S3.BucketObjectv2(\"documents\");\n\n var entities = new Aws.S3.BucketObjectv2(\"entities\");\n\n var example = new Aws.Comprehend.EntityRecognizer(\"example\", new()\n {\n Name = \"example\",\n DataAccessRoleArn = exampleAwsIamRole.Arn,\n LanguageCode = \"en\",\n InputDataConfig = new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigArgs\n {\n EntityTypes = new[]\n {\n new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigEntityTypeArgs\n {\n Type = \"ENTITY_1\",\n },\n new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigEntityTypeArgs\n {\n Type = \"ENTITY_2\",\n },\n },\n Documents = new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigDocumentsArgs\n {\n S3Uri = documents.Id.Apply(id =\u003e $\"s3://{documentsAwsS3Bucket.Bucket}/{id}\"),\n },\n EntityList = new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigEntityListArgs\n {\n S3Uri = entities.Id.Apply(id =\u003e $\"s3://{entitiesAwsS3Bucket.Bucket}/{id}\"),\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/comprehend\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdocuments, err := s3.NewBucketObjectv2(ctx, \"documents\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tentities, err := s3.NewBucketObjectv2(ctx, \"entities\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = comprehend.NewEntityRecognizer(ctx, \"example\", \u0026comprehend.EntityRecognizerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDataAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tLanguageCode: pulumi.String(\"en\"),\n\t\t\tInputDataConfig: \u0026comprehend.EntityRecognizerInputDataConfigArgs{\n\t\t\t\tEntityTypes: comprehend.EntityRecognizerInputDataConfigEntityTypeArray{\n\t\t\t\t\t\u0026comprehend.EntityRecognizerInputDataConfigEntityTypeArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ENTITY_1\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026comprehend.EntityRecognizerInputDataConfigEntityTypeArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ENTITY_2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDocuments: \u0026comprehend.EntityRecognizerInputDataConfigDocumentsArgs{\n\t\t\t\t\tS3Uri: documents.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", documentsAwsS3Bucket.Bucket, id), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t\tEntityList: \u0026comprehend.EntityRecognizerInputDataConfigEntityListArgs{\n\t\t\t\t\tS3Uri: entities.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", entitiesAwsS3Bucket.Bucket, id), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.comprehend.EntityRecognizer;\nimport com.pulumi.aws.comprehend.EntityRecognizerArgs;\nimport com.pulumi.aws.comprehend.inputs.EntityRecognizerInputDataConfigArgs;\nimport com.pulumi.aws.comprehend.inputs.EntityRecognizerInputDataConfigDocumentsArgs;\nimport com.pulumi.aws.comprehend.inputs.EntityRecognizerInputDataConfigEntityListArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var documents = new BucketObjectv2(\"documents\");\n\n var entities = new BucketObjectv2(\"entities\");\n\n var example = new EntityRecognizer(\"example\", EntityRecognizerArgs.builder()\n .name(\"example\")\n .dataAccessRoleArn(exampleAwsIamRole.arn())\n .languageCode(\"en\")\n .inputDataConfig(EntityRecognizerInputDataConfigArgs.builder()\n .entityTypes( \n EntityRecognizerInputDataConfigEntityTypeArgs.builder()\n .type(\"ENTITY_1\")\n .build(),\n EntityRecognizerInputDataConfigEntityTypeArgs.builder()\n .type(\"ENTITY_2\")\n .build())\n .documents(EntityRecognizerInputDataConfigDocumentsArgs.builder()\n .s3Uri(documents.id().applyValue(id -\u003e String.format(\"s3://%s/%s\", documentsAwsS3Bucket.bucket(),id)))\n .build())\n .entityList(EntityRecognizerInputDataConfigEntityListArgs.builder()\n .s3Uri(entities.id().applyValue(id -\u003e String.format(\"s3://%s/%s\", entitiesAwsS3Bucket.bucket(),id)))\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:comprehend:EntityRecognizer\n properties:\n name: example\n dataAccessRoleArn: ${exampleAwsIamRole.arn}\n languageCode: en\n inputDataConfig:\n entityTypes:\n - type: ENTITY_1\n - type: ENTITY_2\n documents:\n s3Uri: s3://${documentsAwsS3Bucket.bucket}/${documents.id}\n entityList:\n s3Uri: s3://${entitiesAwsS3Bucket.bucket}/${entities.id}\n options:\n dependson:\n - ${exampleAwsIamRolePolicy}\n documents:\n type: aws:s3:BucketObjectv2\n entities:\n type: aws:s3:BucketObjectv2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Comprehend Entity Recognizer using the ARN. For example:\n\n```sh\n$ pulumi import aws:comprehend/entityRecognizer:EntityRecognizer example arn:aws:comprehend:us-west-2:123456789012:entity-recognizer/example\n```\n", "properties": { "arn": { "type": "string", @@ -213427,7 +213427,7 @@ } }, "aws:connect/botAssociation:BotAssociation": { - "description": "Allows the specified Amazon Connect instance to access the specified Amazon Lex (V1) bot. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html) and [Add an Amazon Lex bot](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-lex.html).\n\n\u003e **NOTE:** This resource only currently supports Amazon Lex (V1) Associations.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.BotAssociation(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n lexBot: {\n lexRegion: \"us-west-2\",\n name: \"Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.BotAssociation(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n lex_bot={\n \"lex_region\": \"us-west-2\",\n \"name\": \"Test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.BotAssociation(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n LexBot = new Aws.Connect.Inputs.BotAssociationLexBotArgs\n {\n LexRegion = \"us-west-2\",\n Name = \"Test\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.NewBotAssociation(ctx, \"example\", \u0026connect.BotAssociationArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tLexBot: \u0026connect.BotAssociationLexBotArgs{\n\t\t\t\tLexRegion: pulumi.String(\"us-west-2\"),\n\t\t\t\tName: pulumi.String(\"Test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.BotAssociation;\nimport com.pulumi.aws.connect.BotAssociationArgs;\nimport com.pulumi.aws.connect.inputs.BotAssociationLexBotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BotAssociation(\"example\", BotAssociationArgs.builder()\n .instanceId(exampleAwsConnectInstance.id())\n .lexBot(BotAssociationLexBotArgs.builder()\n .lexRegion(\"us-west-2\")\n .name(\"Test\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:BotAssociation\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n lexBot:\n lexRegion: us-west-2\n name: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Including a sample Lex bot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.lex.Intent(\"example\", {\n createVersion: true,\n name: \"connect_lex_intent\",\n fulfillmentActivity: {\n type: \"ReturnIntent\",\n },\n sampleUtterances: [\"I would like to pick up flowers.\"],\n});\nconst exampleBot = new aws.lex.Bot(\"example\", {\n abortStatement: {\n messages: [{\n content: \"Sorry, I am not able to assist at this time.\",\n contentType: \"PlainText\",\n }],\n },\n clarificationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"I didn't understand you, what would you like to do?\",\n contentType: \"PlainText\",\n }],\n },\n intents: [{\n intentName: example.name,\n intentVersion: \"1\",\n }],\n childDirected: false,\n name: \"connect_lex_bot\",\n processBehavior: \"BUILD\",\n});\nconst exampleBotAssociation = new aws.connect.BotAssociation(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n lexBot: {\n lexRegion: current.then(current =\u003e current.name),\n name: exampleBot.name,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.lex.Intent(\"example\",\n create_version=True,\n name=\"connect_lex_intent\",\n fulfillment_activity={\n \"type\": \"ReturnIntent\",\n },\n sample_utterances=[\"I would like to pick up flowers.\"])\nexample_bot = aws.lex.Bot(\"example\",\n abort_statement={\n \"messages\": [{\n \"content\": \"Sorry, I am not able to assist at this time.\",\n \"content_type\": \"PlainText\",\n }],\n },\n clarification_prompt={\n \"max_attempts\": 2,\n \"messages\": [{\n \"content\": \"I didn't understand you, what would you like to do?\",\n \"content_type\": \"PlainText\",\n }],\n },\n intents=[{\n \"intent_name\": example.name,\n \"intent_version\": \"1\",\n }],\n child_directed=False,\n name=\"connect_lex_bot\",\n process_behavior=\"BUILD\")\nexample_bot_association = aws.connect.BotAssociation(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n lex_bot={\n \"lex_region\": current.name,\n \"name\": example_bot.name,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Lex.Intent(\"example\", new()\n {\n CreateVersion = true,\n Name = \"connect_lex_intent\",\n FulfillmentActivity = new Aws.Lex.Inputs.IntentFulfillmentActivityArgs\n {\n Type = \"ReturnIntent\",\n },\n SampleUtterances = new[]\n {\n \"I would like to pick up flowers.\",\n },\n });\n\n var exampleBot = new Aws.Lex.Bot(\"example\", new()\n {\n AbortStatement = new Aws.Lex.Inputs.BotAbortStatementArgs\n {\n Messages = new[]\n {\n new Aws.Lex.Inputs.BotAbortStatementMessageArgs\n {\n Content = \"Sorry, I am not able to assist at this time.\",\n ContentType = \"PlainText\",\n },\n },\n },\n ClarificationPrompt = new Aws.Lex.Inputs.BotClarificationPromptArgs\n {\n MaxAttempts = 2,\n Messages = new[]\n {\n new Aws.Lex.Inputs.BotClarificationPromptMessageArgs\n {\n Content = \"I didn't understand you, what would you like to do?\",\n ContentType = \"PlainText\",\n },\n },\n },\n Intents = new[]\n {\n new Aws.Lex.Inputs.BotIntentArgs\n {\n IntentName = example.Name,\n IntentVersion = \"1\",\n },\n },\n ChildDirected = false,\n Name = \"connect_lex_bot\",\n ProcessBehavior = \"BUILD\",\n });\n\n var exampleBotAssociation = new Aws.Connect.BotAssociation(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n LexBot = new Aws.Connect.Inputs.BotAssociationLexBotArgs\n {\n LexRegion = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Name = exampleBot.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := lex.NewIntent(ctx, \"example\", \u0026lex.IntentArgs{\n\t\t\tCreateVersion: pulumi.Bool(true),\n\t\t\tName: pulumi.String(\"connect_lex_intent\"),\n\t\t\tFulfillmentActivity: \u0026lex.IntentFulfillmentActivityArgs{\n\t\t\t\tType: pulumi.String(\"ReturnIntent\"),\n\t\t\t},\n\t\t\tSampleUtterances: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"I would like to pick up flowers.\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBot, err := lex.NewBot(ctx, \"example\", \u0026lex.BotArgs{\n\t\t\tAbortStatement: \u0026lex.BotAbortStatementArgs{\n\t\t\t\tMessages: lex.BotAbortStatementMessageArray{\n\t\t\t\t\t\u0026lex.BotAbortStatementMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"Sorry, I am not able to assist at this time.\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tClarificationPrompt: \u0026lex.BotClarificationPromptArgs{\n\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\tMessages: lex.BotClarificationPromptMessageArray{\n\t\t\t\t\t\u0026lex.BotClarificationPromptMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"I didn't understand you, what would you like to do?\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tIntents: lex.BotIntentArray{\n\t\t\t\t\u0026lex.BotIntentArgs{\n\t\t\t\t\tIntentName: example.Name,\n\t\t\t\t\tIntentVersion: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tChildDirected: pulumi.Bool(false),\n\t\t\tName: pulumi.String(\"connect_lex_bot\"),\n\t\t\tProcessBehavior: pulumi.String(\"BUILD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = connect.NewBotAssociation(ctx, \"example\", \u0026connect.BotAssociationArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tLexBot: \u0026connect.BotAssociationLexBotArgs{\n\t\t\t\tLexRegion: pulumi.String(current.Name),\n\t\t\t\tName: exampleBot.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.lex.Intent;\nimport com.pulumi.aws.lex.IntentArgs;\nimport com.pulumi.aws.lex.inputs.IntentFulfillmentActivityArgs;\nimport com.pulumi.aws.lex.Bot;\nimport com.pulumi.aws.lex.BotArgs;\nimport com.pulumi.aws.lex.inputs.BotAbortStatementArgs;\nimport com.pulumi.aws.lex.inputs.BotClarificationPromptArgs;\nimport com.pulumi.aws.lex.inputs.BotIntentArgs;\nimport com.pulumi.aws.connect.BotAssociation;\nimport com.pulumi.aws.connect.BotAssociationArgs;\nimport com.pulumi.aws.connect.inputs.BotAssociationLexBotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var example = new Intent(\"example\", IntentArgs.builder()\n .createVersion(true)\n .name(\"connect_lex_intent\")\n .fulfillmentActivity(IntentFulfillmentActivityArgs.builder()\n .type(\"ReturnIntent\")\n .build())\n .sampleUtterances(\"I would like to pick up flowers.\")\n .build());\n\n var exampleBot = new Bot(\"exampleBot\", BotArgs.builder()\n .abortStatement(BotAbortStatementArgs.builder()\n .messages(BotAbortStatementMessageArgs.builder()\n .content(\"Sorry, I am not able to assist at this time.\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .clarificationPrompt(BotClarificationPromptArgs.builder()\n .maxAttempts(2)\n .messages(BotClarificationPromptMessageArgs.builder()\n .content(\"I didn't understand you, what would you like to do?\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .intents(BotIntentArgs.builder()\n .intentName(example.name())\n .intentVersion(\"1\")\n .build())\n .childDirected(false)\n .name(\"connect_lex_bot\")\n .processBehavior(\"BUILD\")\n .build());\n\n var exampleBotAssociation = new BotAssociation(\"exampleBotAssociation\", BotAssociationArgs.builder()\n .instanceId(exampleAwsConnectInstance.id())\n .lexBot(BotAssociationLexBotArgs.builder()\n .lexRegion(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .name(exampleBot.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:Intent\n properties:\n createVersion: true\n name: connect_lex_intent\n fulfillmentActivity:\n type: ReturnIntent\n sampleUtterances:\n - I would like to pick up flowers.\n exampleBot:\n type: aws:lex:Bot\n name: example\n properties:\n abortStatement:\n messages:\n - content: Sorry, I am not able to assist at this time.\n contentType: PlainText\n clarificationPrompt:\n maxAttempts: 2\n messages:\n - content: I didn't understand you, what would you like to do?\n contentType: PlainText\n intents:\n - intentName: ${example.name}\n intentVersion: '1'\n childDirected: false\n name: connect_lex_bot\n processBehavior: BUILD\n exampleBotAssociation:\n type: aws:connect:BotAssociation\n name: example\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n lexBot:\n lexRegion: ${current.name}\n name: ${exampleBot.name}\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/botAssociation:BotAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2\n```\n", + "description": "Allows the specified Amazon Connect instance to access the specified Amazon Lex (V1) bot. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html) and [Add an Amazon Lex bot](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-lex.html).\n\n\u003e **NOTE:** This resource only currently supports Amazon Lex (V1) Associations.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.BotAssociation(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n lexBot: {\n lexRegion: \"us-west-2\",\n name: \"Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.BotAssociation(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n lex_bot={\n \"lex_region\": \"us-west-2\",\n \"name\": \"Test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.BotAssociation(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n LexBot = new Aws.Connect.Inputs.BotAssociationLexBotArgs\n {\n LexRegion = \"us-west-2\",\n Name = \"Test\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.NewBotAssociation(ctx, \"example\", \u0026connect.BotAssociationArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tLexBot: \u0026connect.BotAssociationLexBotArgs{\n\t\t\t\tLexRegion: pulumi.String(\"us-west-2\"),\n\t\t\t\tName: pulumi.String(\"Test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.BotAssociation;\nimport com.pulumi.aws.connect.BotAssociationArgs;\nimport com.pulumi.aws.connect.inputs.BotAssociationLexBotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BotAssociation(\"example\", BotAssociationArgs.builder()\n .instanceId(exampleAwsConnectInstance.id())\n .lexBot(BotAssociationLexBotArgs.builder()\n .lexRegion(\"us-west-2\")\n .name(\"Test\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:BotAssociation\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n lexBot:\n lexRegion: us-west-2\n name: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Including a sample Lex bot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.lex.Intent(\"example\", {\n createVersion: true,\n name: \"connect_lex_intent\",\n fulfillmentActivity: {\n type: \"ReturnIntent\",\n },\n sampleUtterances: [\"I would like to pick up flowers.\"],\n});\nconst exampleBot = new aws.lex.Bot(\"example\", {\n abortStatement: {\n messages: [{\n content: \"Sorry, I am not able to assist at this time.\",\n contentType: \"PlainText\",\n }],\n },\n clarificationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"I didn't understand you, what would you like to do?\",\n contentType: \"PlainText\",\n }],\n },\n intents: [{\n intentName: example.name,\n intentVersion: \"1\",\n }],\n childDirected: false,\n name: \"connect_lex_bot\",\n processBehavior: \"BUILD\",\n});\nconst exampleBotAssociation = new aws.connect.BotAssociation(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n lexBot: {\n lexRegion: current.then(current =\u003e current.name),\n name: exampleBot.name,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.lex.Intent(\"example\",\n create_version=True,\n name=\"connect_lex_intent\",\n fulfillment_activity={\n \"type\": \"ReturnIntent\",\n },\n sample_utterances=[\"I would like to pick up flowers.\"])\nexample_bot = aws.lex.Bot(\"example\",\n abort_statement={\n \"messages\": [{\n \"content\": \"Sorry, I am not able to assist at this time.\",\n \"content_type\": \"PlainText\",\n }],\n },\n clarification_prompt={\n \"max_attempts\": 2,\n \"messages\": [{\n \"content\": \"I didn't understand you, what would you like to do?\",\n \"content_type\": \"PlainText\",\n }],\n },\n intents=[{\n \"intent_name\": example.name,\n \"intent_version\": \"1\",\n }],\n child_directed=False,\n name=\"connect_lex_bot\",\n process_behavior=\"BUILD\")\nexample_bot_association = aws.connect.BotAssociation(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n lex_bot={\n \"lex_region\": current.name,\n \"name\": example_bot.name,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Lex.Intent(\"example\", new()\n {\n CreateVersion = true,\n Name = \"connect_lex_intent\",\n FulfillmentActivity = new Aws.Lex.Inputs.IntentFulfillmentActivityArgs\n {\n Type = \"ReturnIntent\",\n },\n SampleUtterances = new[]\n {\n \"I would like to pick up flowers.\",\n },\n });\n\n var exampleBot = new Aws.Lex.Bot(\"example\", new()\n {\n AbortStatement = new Aws.Lex.Inputs.BotAbortStatementArgs\n {\n Messages = new[]\n {\n new Aws.Lex.Inputs.BotAbortStatementMessageArgs\n {\n Content = \"Sorry, I am not able to assist at this time.\",\n ContentType = \"PlainText\",\n },\n },\n },\n ClarificationPrompt = new Aws.Lex.Inputs.BotClarificationPromptArgs\n {\n MaxAttempts = 2,\n Messages = new[]\n {\n new Aws.Lex.Inputs.BotClarificationPromptMessageArgs\n {\n Content = \"I didn't understand you, what would you like to do?\",\n ContentType = \"PlainText\",\n },\n },\n },\n Intents = new[]\n {\n new Aws.Lex.Inputs.BotIntentArgs\n {\n IntentName = example.Name,\n IntentVersion = \"1\",\n },\n },\n ChildDirected = false,\n Name = \"connect_lex_bot\",\n ProcessBehavior = \"BUILD\",\n });\n\n var exampleBotAssociation = new Aws.Connect.BotAssociation(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n LexBot = new Aws.Connect.Inputs.BotAssociationLexBotArgs\n {\n LexRegion = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Name = exampleBot.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := lex.NewIntent(ctx, \"example\", \u0026lex.IntentArgs{\n\t\t\tCreateVersion: pulumi.Bool(true),\n\t\t\tName: pulumi.String(\"connect_lex_intent\"),\n\t\t\tFulfillmentActivity: \u0026lex.IntentFulfillmentActivityArgs{\n\t\t\t\tType: pulumi.String(\"ReturnIntent\"),\n\t\t\t},\n\t\t\tSampleUtterances: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"I would like to pick up flowers.\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBot, err := lex.NewBot(ctx, \"example\", \u0026lex.BotArgs{\n\t\t\tAbortStatement: \u0026lex.BotAbortStatementArgs{\n\t\t\t\tMessages: lex.BotAbortStatementMessageArray{\n\t\t\t\t\t\u0026lex.BotAbortStatementMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"Sorry, I am not able to assist at this time.\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tClarificationPrompt: \u0026lex.BotClarificationPromptArgs{\n\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\tMessages: lex.BotClarificationPromptMessageArray{\n\t\t\t\t\t\u0026lex.BotClarificationPromptMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"I didn't understand you, what would you like to do?\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tIntents: lex.BotIntentArray{\n\t\t\t\t\u0026lex.BotIntentArgs{\n\t\t\t\t\tIntentName: example.Name,\n\t\t\t\t\tIntentVersion: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tChildDirected: pulumi.Bool(false),\n\t\t\tName: pulumi.String(\"connect_lex_bot\"),\n\t\t\tProcessBehavior: pulumi.String(\"BUILD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = connect.NewBotAssociation(ctx, \"example\", \u0026connect.BotAssociationArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tLexBot: \u0026connect.BotAssociationLexBotArgs{\n\t\t\t\tLexRegion: pulumi.String(current.Name),\n\t\t\t\tName: exampleBot.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.lex.Intent;\nimport com.pulumi.aws.lex.IntentArgs;\nimport com.pulumi.aws.lex.inputs.IntentFulfillmentActivityArgs;\nimport com.pulumi.aws.lex.Bot;\nimport com.pulumi.aws.lex.BotArgs;\nimport com.pulumi.aws.lex.inputs.BotAbortStatementArgs;\nimport com.pulumi.aws.lex.inputs.BotClarificationPromptArgs;\nimport com.pulumi.aws.lex.inputs.BotIntentArgs;\nimport com.pulumi.aws.connect.BotAssociation;\nimport com.pulumi.aws.connect.BotAssociationArgs;\nimport com.pulumi.aws.connect.inputs.BotAssociationLexBotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var example = new Intent(\"example\", IntentArgs.builder()\n .createVersion(true)\n .name(\"connect_lex_intent\")\n .fulfillmentActivity(IntentFulfillmentActivityArgs.builder()\n .type(\"ReturnIntent\")\n .build())\n .sampleUtterances(\"I would like to pick up flowers.\")\n .build());\n\n var exampleBot = new Bot(\"exampleBot\", BotArgs.builder()\n .abortStatement(BotAbortStatementArgs.builder()\n .messages(BotAbortStatementMessageArgs.builder()\n .content(\"Sorry, I am not able to assist at this time.\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .clarificationPrompt(BotClarificationPromptArgs.builder()\n .maxAttempts(2)\n .messages(BotClarificationPromptMessageArgs.builder()\n .content(\"I didn't understand you, what would you like to do?\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .intents(BotIntentArgs.builder()\n .intentName(example.name())\n .intentVersion(\"1\")\n .build())\n .childDirected(false)\n .name(\"connect_lex_bot\")\n .processBehavior(\"BUILD\")\n .build());\n\n var exampleBotAssociation = new BotAssociation(\"exampleBotAssociation\", BotAssociationArgs.builder()\n .instanceId(exampleAwsConnectInstance.id())\n .lexBot(BotAssociationLexBotArgs.builder()\n .lexRegion(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .name(exampleBot.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:Intent\n properties:\n createVersion: true\n name: connect_lex_intent\n fulfillmentActivity:\n type: ReturnIntent\n sampleUtterances:\n - I would like to pick up flowers.\n exampleBot:\n type: aws:lex:Bot\n name: example\n properties:\n abortStatement:\n messages:\n - content: Sorry, I am not able to assist at this time.\n contentType: PlainText\n clarificationPrompt:\n maxAttempts: 2\n messages:\n - content: I didn't understand you, what would you like to do?\n contentType: PlainText\n intents:\n - intentName: ${example.name}\n intentVersion: '1'\n childDirected: false\n name: connect_lex_bot\n processBehavior: BUILD\n exampleBotAssociation:\n type: aws:connect:BotAssociation\n name: example\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n lexBot:\n lexRegion: ${current.name}\n name: ${exampleBot.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/botAssociation:BotAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2\n```\n", "properties": { "instanceId": { "type": "string", @@ -213476,7 +213476,7 @@ } }, "aws:connect/contactFlow:ContactFlow": { - "description": "Provides an Amazon Connect Contact Flow resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\nThis resource embeds or references Contact Flows specified in Amazon Connect Contact Flow Language. For more information see\n[Amazon Connect Flow language](https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html)\n\n!\u003e **WARN:** Contact Flows exported from the Console [Contact Flow import/export](https://docs.aws.amazon.com/connect/latest/adminguide/contact-flow-import-export.html) are not in the Amazon Connect Contact Flow Language and can not be used with this resource. Instead, the recommendation is to use the AWS CLI [`describe-contact-flow`](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/connect/describe-contact-flow.html).\nSee example below which uses `jq` to extract the `Content` attribute and saves it to a local file.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.ContactFlow(\"test\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Test\",\n description: \"Test Contact Flow Description\",\n type: \"CONTACT_FLOW\",\n content: JSON.stringify({\n Version: \"2019-10-30\",\n StartAction: \"12345678-1234-1234-1234-123456789012\",\n Actions: [\n {\n Identifier: \"12345678-1234-1234-1234-123456789012\",\n Type: \"MessageParticipant\",\n Transitions: {\n NextAction: \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n Errors: [],\n Conditions: [],\n },\n Parameters: {\n Text: \"Thanks for calling the sample flow!\",\n },\n },\n {\n Identifier: \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n Type: \"DisconnectParticipant\",\n Transitions: {},\n Parameters: {},\n },\n ],\n }),\n tags: {\n Name: \"Test Contact Flow\",\n Application: \"Example\",\n Method: \"Create\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.connect.ContactFlow(\"test\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Test\",\n description=\"Test Contact Flow Description\",\n type=\"CONTACT_FLOW\",\n content=json.dumps({\n \"Version\": \"2019-10-30\",\n \"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n \"Actions\": [\n {\n \"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n \"Type\": \"MessageParticipant\",\n \"Transitions\": {\n \"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \"Errors\": [],\n \"Conditions\": [],\n },\n \"Parameters\": {\n \"Text\": \"Thanks for calling the sample flow!\",\n },\n },\n {\n \"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \"Type\": \"DisconnectParticipant\",\n \"Transitions\": {},\n \"Parameters\": {},\n },\n ],\n }),\n tags={\n \"Name\": \"Test Contact Flow\",\n \"Application\": \"Example\",\n \"Method\": \"Create\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.ContactFlow(\"test\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Test\",\n Description = \"Test Contact Flow Description\",\n Type = \"CONTACT_FLOW\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2019-10-30\",\n [\"StartAction\"] = \"12345678-1234-1234-1234-123456789012\",\n [\"Actions\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Identifier\"] = \"12345678-1234-1234-1234-123456789012\",\n [\"Type\"] = \"MessageParticipant\",\n [\"Transitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"NextAction\"] = \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n [\"Errors\"] = new[]\n {\n },\n [\"Conditions\"] = new[]\n {\n },\n },\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Text\"] = \"Thanks for calling the sample flow!\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Identifier\"] = \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n [\"Type\"] = \"DisconnectParticipant\",\n [\"Transitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n },\n }),\n Tags = \n {\n { \"Name\", \"Test Contact Flow\" },\n { \"Application\", \"Example\" },\n { \"Method\", \"Create\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2019-10-30\",\n\t\t\t\"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\"Actions\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\t\t\"Type\": \"MessageParticipant\",\n\t\t\t\t\t\"Transitions\": map[string]interface{}{\n\t\t\t\t\t\t\"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\t\"Errors\": []interface{}{},\n\t\t\t\t\t\t\"Conditions\": []interface{}{},\n\t\t\t\t\t},\n\t\t\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\t\t\"Text\": \"Thanks for calling the sample flow!\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\"Type\": \"DisconnectParticipant\",\n\t\t\t\t\t\"Transitions\": map[string]interface{}{},\n\t\t\t\t\t\"Parameters\": map[string]interface{}{},\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\tjson0 := string(tmpJSON0)\n\t\t_, err = connect.NewContactFlow(ctx, \"test\", \u0026connect.ContactFlowArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Test\"),\n\t\t\tDescription: pulumi.String(\"Test Contact Flow Description\"),\n\t\t\tType: pulumi.String(\"CONTACT_FLOW\"),\n\t\t\tContent: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Test Contact Flow\"),\n\t\t\t\t\"Application\": pulumi.String(\"Example\"),\n\t\t\t\t\"Method\": pulumi.String(\"Create\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ContactFlow;\nimport com.pulumi.aws.connect.ContactFlowArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ContactFlow(\"test\", ContactFlowArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Test\")\n .description(\"Test Contact Flow Description\")\n .type(\"CONTACT_FLOW\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2019-10-30\"),\n jsonProperty(\"StartAction\", \"12345678-1234-1234-1234-123456789012\"),\n jsonProperty(\"Actions\", jsonArray(\n jsonObject(\n jsonProperty(\"Identifier\", \"12345678-1234-1234-1234-123456789012\"),\n jsonProperty(\"Type\", \"MessageParticipant\"),\n jsonProperty(\"Transitions\", jsonObject(\n jsonProperty(\"NextAction\", \"abcdef-abcd-abcd-abcd-abcdefghijkl\"),\n jsonProperty(\"Errors\", jsonArray(\n )),\n jsonProperty(\"Conditions\", jsonArray(\n ))\n )),\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"Text\", \"Thanks for calling the sample flow!\")\n ))\n ), \n jsonObject(\n jsonProperty(\"Identifier\", \"abcdef-abcd-abcd-abcd-abcdefghijkl\"),\n jsonProperty(\"Type\", \"DisconnectParticipant\"),\n jsonProperty(\"Transitions\", jsonObject(\n\n )),\n jsonProperty(\"Parameters\", jsonObject(\n\n ))\n )\n ))\n )))\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"Test Contact Flow\"),\n Map.entry(\"Application\", \"Example\"),\n Map.entry(\"Method\", \"Create\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:ContactFlow\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Test\n description: Test Contact Flow Description\n type: CONTACT_FLOW\n content:\n fn::toJSON:\n Version: 2019-10-30\n StartAction: 12345678-1234-1234-1234-123456789012\n Actions:\n - Identifier: 12345678-1234-1234-1234-123456789012\n Type: MessageParticipant\n Transitions:\n NextAction: abcdef-abcd-abcd-abcd-abcdefghijkl\n Errors: []\n Conditions: []\n Parameters:\n Text: Thanks for calling the sample flow!\n - Identifier: abcdef-abcd-abcd-abcd-abcdefghijkl\n Type: DisconnectParticipant\n Transitions: {}\n Parameters: {}\n tags:\n Name: Test Contact Flow\n Application: Example\n Method: Create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With External Content\n\nUse the AWS CLI to extract Contact Flow Content:\n\n```console\n% aws connect describe-contact-flow --instance-id 1b3c5d8-1b3c-1b3c-1b3c-1b3c5d81b3c5 --contact-flow-id c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5 --region us-west-2 | jq '.ContactFlow.Content | fromjson' \u003e contact_flow.json\n```\n\nUse the generated file as input:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst test = new aws.connect.ContactFlow(\"test\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Test\",\n description: \"Test Contact Flow Description\",\n type: \"CONTACT_FLOW\",\n filename: \"contact_flow.json\",\n contentHash: std.filebase64sha256({\n input: \"contact_flow.json\",\n }).then(invoke =\u003e invoke.result),\n tags: {\n Name: \"Test Contact Flow\",\n Application: \"Example\",\n Method: \"Create\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest = aws.connect.ContactFlow(\"test\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Test\",\n description=\"Test Contact Flow Description\",\n type=\"CONTACT_FLOW\",\n filename=\"contact_flow.json\",\n content_hash=std.filebase64sha256(input=\"contact_flow.json\").result,\n tags={\n \"Name\": \"Test Contact Flow\",\n \"Application\": \"Example\",\n \"Method\": \"Create\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.ContactFlow(\"test\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Test\",\n Description = \"Test Contact Flow Description\",\n Type = \"CONTACT_FLOW\",\n Filename = \"contact_flow.json\",\n ContentHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = \"contact_flow.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Name\", \"Test Contact Flow\" },\n { \"Application\", \"Example\" },\n { \"Method\", \"Create\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: \"contact_flow.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = connect.NewContactFlow(ctx, \"test\", \u0026connect.ContactFlowArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Test\"),\n\t\t\tDescription: pulumi.String(\"Test Contact Flow Description\"),\n\t\t\tType: pulumi.String(\"CONTACT_FLOW\"),\n\t\t\tFilename: pulumi.String(\"contact_flow.json\"),\n\t\t\tContentHash: pulumi.String(invokeFilebase64sha256.Result),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Test Contact Flow\"),\n\t\t\t\t\"Application\": pulumi.String(\"Example\"),\n\t\t\t\t\"Method\": pulumi.String(\"Create\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ContactFlow;\nimport com.pulumi.aws.connect.ContactFlowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ContactFlow(\"test\", ContactFlowArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Test\")\n .description(\"Test Contact Flow Description\")\n .type(\"CONTACT_FLOW\")\n .filename(\"contact_flow.json\")\n .contentHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(\"contact_flow.json\")\n .build()).result())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"Test Contact Flow\"),\n Map.entry(\"Application\", \"Example\"),\n Map.entry(\"Method\", \"Create\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:ContactFlow\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Test\n description: Test Contact Flow Description\n type: CONTACT_FLOW\n filename: contact_flow.json\n contentHash:\n fn::invoke:\n function: std:filebase64sha256\n arguments:\n input: contact_flow.json\n return: result\n tags:\n Name: Test Contact Flow\n Application: Example\n Method: Create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Contact Flows using the `instance_id` and `contact_flow_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/contactFlow:ContactFlow example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", + "description": "Provides an Amazon Connect Contact Flow resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\nThis resource embeds or references Contact Flows specified in Amazon Connect Contact Flow Language. For more information see\n[Amazon Connect Flow language](https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html)\n\n!\u003e **WARN:** Contact Flows exported from the Console [Contact Flow import/export](https://docs.aws.amazon.com/connect/latest/adminguide/contact-flow-import-export.html) are not in the Amazon Connect Contact Flow Language and can not be used with this resource. Instead, the recommendation is to use the AWS CLI [`describe-contact-flow`](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/connect/describe-contact-flow.html).\nSee example below which uses `jq` to extract the `Content` attribute and saves it to a local file.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.ContactFlow(\"test\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Test\",\n description: \"Test Contact Flow Description\",\n type: \"CONTACT_FLOW\",\n content: JSON.stringify({\n Version: \"2019-10-30\",\n StartAction: \"12345678-1234-1234-1234-123456789012\",\n Actions: [\n {\n Identifier: \"12345678-1234-1234-1234-123456789012\",\n Type: \"MessageParticipant\",\n Transitions: {\n NextAction: \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n Errors: [],\n Conditions: [],\n },\n Parameters: {\n Text: \"Thanks for calling the sample flow!\",\n },\n },\n {\n Identifier: \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n Type: \"DisconnectParticipant\",\n Transitions: {},\n Parameters: {},\n },\n ],\n }),\n tags: {\n Name: \"Test Contact Flow\",\n Application: \"Example\",\n Method: \"Create\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.connect.ContactFlow(\"test\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Test\",\n description=\"Test Contact Flow Description\",\n type=\"CONTACT_FLOW\",\n content=json.dumps({\n \"Version\": \"2019-10-30\",\n \"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n \"Actions\": [\n {\n \"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n \"Type\": \"MessageParticipant\",\n \"Transitions\": {\n \"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \"Errors\": [],\n \"Conditions\": [],\n },\n \"Parameters\": {\n \"Text\": \"Thanks for calling the sample flow!\",\n },\n },\n {\n \"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \"Type\": \"DisconnectParticipant\",\n \"Transitions\": {},\n \"Parameters\": {},\n },\n ],\n }),\n tags={\n \"Name\": \"Test Contact Flow\",\n \"Application\": \"Example\",\n \"Method\": \"Create\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.ContactFlow(\"test\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Test\",\n Description = \"Test Contact Flow Description\",\n Type = \"CONTACT_FLOW\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2019-10-30\",\n [\"StartAction\"] = \"12345678-1234-1234-1234-123456789012\",\n [\"Actions\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Identifier\"] = \"12345678-1234-1234-1234-123456789012\",\n [\"Type\"] = \"MessageParticipant\",\n [\"Transitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"NextAction\"] = \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n [\"Errors\"] = new[]\n {\n },\n [\"Conditions\"] = new[]\n {\n },\n },\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Text\"] = \"Thanks for calling the sample flow!\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Identifier\"] = \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n [\"Type\"] = \"DisconnectParticipant\",\n [\"Transitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n },\n }),\n Tags = \n {\n { \"Name\", \"Test Contact Flow\" },\n { \"Application\", \"Example\" },\n { \"Method\", \"Create\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2019-10-30\",\n\t\t\t\"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\"Actions\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\t\t\"Type\": \"MessageParticipant\",\n\t\t\t\t\t\"Transitions\": map[string]interface{}{\n\t\t\t\t\t\t\"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\t\"Errors\": []interface{}{},\n\t\t\t\t\t\t\"Conditions\": []interface{}{},\n\t\t\t\t\t},\n\t\t\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\t\t\"Text\": \"Thanks for calling the sample flow!\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\"Type\": \"DisconnectParticipant\",\n\t\t\t\t\t\"Transitions\": map[string]interface{}{},\n\t\t\t\t\t\"Parameters\": map[string]interface{}{},\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\tjson0 := string(tmpJSON0)\n\t\t_, err = connect.NewContactFlow(ctx, \"test\", \u0026connect.ContactFlowArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Test\"),\n\t\t\tDescription: pulumi.String(\"Test Contact Flow Description\"),\n\t\t\tType: pulumi.String(\"CONTACT_FLOW\"),\n\t\t\tContent: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Test Contact Flow\"),\n\t\t\t\t\"Application\": pulumi.String(\"Example\"),\n\t\t\t\t\"Method\": pulumi.String(\"Create\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ContactFlow;\nimport com.pulumi.aws.connect.ContactFlowArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ContactFlow(\"test\", ContactFlowArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Test\")\n .description(\"Test Contact Flow Description\")\n .type(\"CONTACT_FLOW\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2019-10-30\"),\n jsonProperty(\"StartAction\", \"12345678-1234-1234-1234-123456789012\"),\n jsonProperty(\"Actions\", jsonArray(\n jsonObject(\n jsonProperty(\"Identifier\", \"12345678-1234-1234-1234-123456789012\"),\n jsonProperty(\"Type\", \"MessageParticipant\"),\n jsonProperty(\"Transitions\", jsonObject(\n jsonProperty(\"NextAction\", \"abcdef-abcd-abcd-abcd-abcdefghijkl\"),\n jsonProperty(\"Errors\", jsonArray(\n )),\n jsonProperty(\"Conditions\", jsonArray(\n ))\n )),\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"Text\", \"Thanks for calling the sample flow!\")\n ))\n ), \n jsonObject(\n jsonProperty(\"Identifier\", \"abcdef-abcd-abcd-abcd-abcdefghijkl\"),\n jsonProperty(\"Type\", \"DisconnectParticipant\"),\n jsonProperty(\"Transitions\", jsonObject(\n\n )),\n jsonProperty(\"Parameters\", jsonObject(\n\n ))\n )\n ))\n )))\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"Test Contact Flow\"),\n Map.entry(\"Application\", \"Example\"),\n Map.entry(\"Method\", \"Create\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:ContactFlow\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Test\n description: Test Contact Flow Description\n type: CONTACT_FLOW\n content:\n fn::toJSON:\n Version: 2019-10-30\n StartAction: 12345678-1234-1234-1234-123456789012\n Actions:\n - Identifier: 12345678-1234-1234-1234-123456789012\n Type: MessageParticipant\n Transitions:\n NextAction: abcdef-abcd-abcd-abcd-abcdefghijkl\n Errors: []\n Conditions: []\n Parameters:\n Text: Thanks for calling the sample flow!\n - Identifier: abcdef-abcd-abcd-abcd-abcdefghijkl\n Type: DisconnectParticipant\n Transitions: {}\n Parameters: {}\n tags:\n Name: Test Contact Flow\n Application: Example\n Method: Create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With External Content\n\nUse the AWS CLI to extract Contact Flow Content:\n\n```console\n% aws connect describe-contact-flow --instance-id 1b3c5d8-1b3c-1b3c-1b3c-1b3c5d81b3c5 --contact-flow-id c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5 --region us-west-2 | jq '.ContactFlow.Content | fromjson' \u003e contact_flow.json\n```\n\nUse the generated file as input:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst test = new aws.connect.ContactFlow(\"test\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Test\",\n description: \"Test Contact Flow Description\",\n type: \"CONTACT_FLOW\",\n filename: \"contact_flow.json\",\n contentHash: std.filebase64sha256({\n input: \"contact_flow.json\",\n }).then(invoke =\u003e invoke.result),\n tags: {\n Name: \"Test Contact Flow\",\n Application: \"Example\",\n Method: \"Create\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest = aws.connect.ContactFlow(\"test\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Test\",\n description=\"Test Contact Flow Description\",\n type=\"CONTACT_FLOW\",\n filename=\"contact_flow.json\",\n content_hash=std.filebase64sha256(input=\"contact_flow.json\").result,\n tags={\n \"Name\": \"Test Contact Flow\",\n \"Application\": \"Example\",\n \"Method\": \"Create\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.ContactFlow(\"test\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Test\",\n Description = \"Test Contact Flow Description\",\n Type = \"CONTACT_FLOW\",\n Filename = \"contact_flow.json\",\n ContentHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = \"contact_flow.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Name\", \"Test Contact Flow\" },\n { \"Application\", \"Example\" },\n { \"Method\", \"Create\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: \"contact_flow.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = connect.NewContactFlow(ctx, \"test\", \u0026connect.ContactFlowArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Test\"),\n\t\t\tDescription: pulumi.String(\"Test Contact Flow Description\"),\n\t\t\tType: pulumi.String(\"CONTACT_FLOW\"),\n\t\t\tFilename: pulumi.String(\"contact_flow.json\"),\n\t\t\tContentHash: pulumi.String(invokeFilebase64sha256.Result),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Test Contact Flow\"),\n\t\t\t\t\"Application\": pulumi.String(\"Example\"),\n\t\t\t\t\"Method\": pulumi.String(\"Create\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ContactFlow;\nimport com.pulumi.aws.connect.ContactFlowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ContactFlow(\"test\", ContactFlowArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Test\")\n .description(\"Test Contact Flow Description\")\n .type(\"CONTACT_FLOW\")\n .filename(\"contact_flow.json\")\n .contentHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(\"contact_flow.json\")\n .build()).result())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"Test Contact Flow\"),\n Map.entry(\"Application\", \"Example\"),\n Map.entry(\"Method\", \"Create\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:ContactFlow\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Test\n description: Test Contact Flow Description\n type: CONTACT_FLOW\n filename: contact_flow.json\n contentHash:\n fn::invoke:\n Function: std:filebase64sha256\n Arguments:\n input: contact_flow.json\n Return: result\n tags:\n Name: Test Contact Flow\n Application: Example\n Method: Create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Contact Flows using the `instance_id` and `contact_flow_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/contactFlow:ContactFlow example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", "properties": { "arn": { "type": "string", @@ -213639,7 +213639,7 @@ } }, "aws:connect/contactFlowModule:ContactFlowModule": { - "description": "Provides an Amazon Connect Contact Flow Module resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\nThis resource embeds or references Contact Flows Modules specified in Amazon Connect Contact Flow Language. For more information see\n[Amazon Connect Flow language](https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html)\n\n!\u003e **WARN:** Contact Flow Modules exported from the Console [See Contact Flow import/export which is the same for Contact Flow Modules](https://docs.aws.amazon.com/connect/latest/adminguide/contact-flow-import-export.html) are not in the Amazon Connect Contact Flow Language and can not be used with this resource. Instead, the recommendation is to use the AWS CLI [`describe-contact-flow-module`](https://docs.aws.amazon.com/cli/latest/reference/connect/describe-contact-flow-module.html).\nSee example below which uses `jq` to extract the `Content` attribute and saves it to a local file.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.ContactFlowModule(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n description: \"Example Contact Flow Module Description\",\n content: JSON.stringify({\n Version: \"2019-10-30\",\n StartAction: \"12345678-1234-1234-1234-123456789012\",\n Actions: [\n {\n Identifier: \"12345678-1234-1234-1234-123456789012\",\n Parameters: {\n Text: \"Hello contact flow module\",\n },\n Transitions: {\n NextAction: \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n Errors: [],\n Conditions: [],\n },\n Type: \"MessageParticipant\",\n },\n {\n Identifier: \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n Type: \"DisconnectParticipant\",\n Parameters: {},\n Transitions: {},\n },\n ],\n Settings: {\n InputParameters: [],\n OutputParameters: [],\n Transitions: [\n {\n DisplayName: \"Success\",\n ReferenceName: \"Success\",\n Description: \"\",\n },\n {\n DisplayName: \"Error\",\n ReferenceName: \"Error\",\n Description: \"\",\n },\n ],\n },\n }),\n tags: {\n Name: \"Example Contact Flow Module\",\n Application: \"Example\",\n Method: \"Create\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.connect.ContactFlowModule(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\",\n description=\"Example Contact Flow Module Description\",\n content=json.dumps({\n \"Version\": \"2019-10-30\",\n \"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n \"Actions\": [\n {\n \"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n \"Parameters\": {\n \"Text\": \"Hello contact flow module\",\n },\n \"Transitions\": {\n \"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \"Errors\": [],\n \"Conditions\": [],\n },\n \"Type\": \"MessageParticipant\",\n },\n {\n \"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \"Type\": \"DisconnectParticipant\",\n \"Parameters\": {},\n \"Transitions\": {},\n },\n ],\n \"Settings\": {\n \"InputParameters\": [],\n \"OutputParameters\": [],\n \"Transitions\": [\n {\n \"DisplayName\": \"Success\",\n \"ReferenceName\": \"Success\",\n \"Description\": \"\",\n },\n {\n \"DisplayName\": \"Error\",\n \"ReferenceName\": \"Error\",\n \"Description\": \"\",\n },\n ],\n },\n }),\n tags={\n \"Name\": \"Example Contact Flow Module\",\n \"Application\": \"Example\",\n \"Method\": \"Create\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.ContactFlowModule(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n Description = \"Example Contact Flow Module Description\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2019-10-30\",\n [\"StartAction\"] = \"12345678-1234-1234-1234-123456789012\",\n [\"Actions\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Identifier\"] = \"12345678-1234-1234-1234-123456789012\",\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Text\"] = \"Hello contact flow module\",\n },\n [\"Transitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"NextAction\"] = \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n [\"Errors\"] = new[]\n {\n },\n [\"Conditions\"] = new[]\n {\n },\n },\n [\"Type\"] = \"MessageParticipant\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Identifier\"] = \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n [\"Type\"] = \"DisconnectParticipant\",\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"Transitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n },\n [\"Settings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"InputParameters\"] = new[]\n {\n },\n [\"OutputParameters\"] = new[]\n {\n },\n [\"Transitions\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"DisplayName\"] = \"Success\",\n [\"ReferenceName\"] = \"Success\",\n [\"Description\"] = \"\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"DisplayName\"] = \"Error\",\n [\"ReferenceName\"] = \"Error\",\n [\"Description\"] = \"\",\n },\n },\n },\n }),\n Tags = \n {\n { \"Name\", \"Example Contact Flow Module\" },\n { \"Application\", \"Example\" },\n { \"Method\", \"Create\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2019-10-30\",\n\t\t\t\"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\"Actions\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\t\t\"Text\": \"Hello contact flow module\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Transitions\": map[string]interface{}{\n\t\t\t\t\t\t\"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\t\"Errors\": []interface{}{},\n\t\t\t\t\t\t\"Conditions\": []interface{}{},\n\t\t\t\t\t},\n\t\t\t\t\t\"Type\": \"MessageParticipant\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\"Type\": \"DisconnectParticipant\",\n\t\t\t\t\t\"Parameters\": map[string]interface{}{},\n\t\t\t\t\t\"Transitions\": map[string]interface{}{},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Settings\": map[string]interface{}{\n\t\t\t\t\"InputParameters\": []interface{}{},\n\t\t\t\t\"OutputParameters\": []interface{}{},\n\t\t\t\t\"Transitions\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"DisplayName\": \"Success\",\n\t\t\t\t\t\t\"ReferenceName\": \"Success\",\n\t\t\t\t\t\t\"Description\": \"\",\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"DisplayName\": \"Error\",\n\t\t\t\t\t\t\"ReferenceName\": \"Error\",\n\t\t\t\t\t\t\"Description\": \"\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\t_, err = connect.NewContactFlowModule(ctx, \"example\", \u0026connect.ContactFlowModuleArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example Contact Flow Module Description\"),\n\t\t\tContent: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Contact Flow Module\"),\n\t\t\t\t\"Application\": pulumi.String(\"Example\"),\n\t\t\t\t\"Method\": pulumi.String(\"Create\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ContactFlowModule;\nimport com.pulumi.aws.connect.ContactFlowModuleArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ContactFlowModule(\"example\", ContactFlowModuleArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .description(\"Example Contact Flow Module Description\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2019-10-30\"),\n jsonProperty(\"StartAction\", \"12345678-1234-1234-1234-123456789012\"),\n jsonProperty(\"Actions\", jsonArray(\n jsonObject(\n jsonProperty(\"Identifier\", \"12345678-1234-1234-1234-123456789012\"),\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"Text\", \"Hello contact flow module\")\n )),\n jsonProperty(\"Transitions\", jsonObject(\n jsonProperty(\"NextAction\", \"abcdef-abcd-abcd-abcd-abcdefghijkl\"),\n jsonProperty(\"Errors\", jsonArray(\n )),\n jsonProperty(\"Conditions\", jsonArray(\n ))\n )),\n jsonProperty(\"Type\", \"MessageParticipant\")\n ), \n jsonObject(\n jsonProperty(\"Identifier\", \"abcdef-abcd-abcd-abcd-abcdefghijkl\"),\n jsonProperty(\"Type\", \"DisconnectParticipant\"),\n jsonProperty(\"Parameters\", jsonObject(\n\n )),\n jsonProperty(\"Transitions\", jsonObject(\n\n ))\n )\n )),\n jsonProperty(\"Settings\", jsonObject(\n jsonProperty(\"InputParameters\", jsonArray(\n )),\n jsonProperty(\"OutputParameters\", jsonArray(\n )),\n jsonProperty(\"Transitions\", jsonArray(\n jsonObject(\n jsonProperty(\"DisplayName\", \"Success\"),\n jsonProperty(\"ReferenceName\", \"Success\"),\n jsonProperty(\"Description\", \"\")\n ), \n jsonObject(\n jsonProperty(\"DisplayName\", \"Error\"),\n jsonProperty(\"ReferenceName\", \"Error\"),\n jsonProperty(\"Description\", \"\")\n )\n ))\n ))\n )))\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"Example Contact Flow Module\"),\n Map.entry(\"Application\", \"Example\"),\n Map.entry(\"Method\", \"Create\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:ContactFlowModule\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n description: Example Contact Flow Module Description\n content:\n fn::toJSON:\n Version: 2019-10-30\n StartAction: 12345678-1234-1234-1234-123456789012\n Actions:\n - Identifier: 12345678-1234-1234-1234-123456789012\n Parameters:\n Text: Hello contact flow module\n Transitions:\n NextAction: abcdef-abcd-abcd-abcd-abcdefghijkl\n Errors: []\n Conditions: []\n Type: MessageParticipant\n - Identifier: abcdef-abcd-abcd-abcd-abcdefghijkl\n Type: DisconnectParticipant\n Parameters: {}\n Transitions: {}\n Settings:\n InputParameters: []\n OutputParameters: []\n Transitions:\n - DisplayName: Success\n ReferenceName: Success\n Description: \"\"\n - DisplayName: Error\n ReferenceName: Error\n Description: \"\"\n tags:\n Name: Example Contact Flow Module\n Application: Example\n Method: Create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With External Content\n\nUse the AWS CLI to extract Contact Flow Content:\n\n```console\n% aws connect describe-contact-flow-module --instance-id 1b3c5d8-1b3c-1b3c-1b3c-1b3c5d81b3c5 --contact-flow-module-id c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5 --region us-west-2 | jq '.ContactFlowModule.Content | fromjson' \u003e contact_flow_module.json\n```\n\nUse the generated file as input:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.connect.ContactFlowModule(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n description: \"Example Contact Flow Module Description\",\n filename: \"contact_flow_module.json\",\n contentHash: std.filebase64sha256({\n input: \"contact_flow_module.json\",\n }).then(invoke =\u003e invoke.result),\n tags: {\n Name: \"Example Contact Flow Module\",\n Application: \"Example\",\n Method: \"Create\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.connect.ContactFlowModule(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\",\n description=\"Example Contact Flow Module Description\",\n filename=\"contact_flow_module.json\",\n content_hash=std.filebase64sha256(input=\"contact_flow_module.json\").result,\n tags={\n \"Name\": \"Example Contact Flow Module\",\n \"Application\": \"Example\",\n \"Method\": \"Create\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.ContactFlowModule(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n Description = \"Example Contact Flow Module Description\",\n Filename = \"contact_flow_module.json\",\n ContentHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = \"contact_flow_module.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Name\", \"Example Contact Flow Module\" },\n { \"Application\", \"Example\" },\n { \"Method\", \"Create\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: \"contact_flow_module.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = connect.NewContactFlowModule(ctx, \"example\", \u0026connect.ContactFlowModuleArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example Contact Flow Module Description\"),\n\t\t\tFilename: pulumi.String(\"contact_flow_module.json\"),\n\t\t\tContentHash: pulumi.String(invokeFilebase64sha256.Result),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Contact Flow Module\"),\n\t\t\t\t\"Application\": pulumi.String(\"Example\"),\n\t\t\t\t\"Method\": pulumi.String(\"Create\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ContactFlowModule;\nimport com.pulumi.aws.connect.ContactFlowModuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ContactFlowModule(\"example\", ContactFlowModuleArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .description(\"Example Contact Flow Module Description\")\n .filename(\"contact_flow_module.json\")\n .contentHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(\"contact_flow_module.json\")\n .build()).result())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"Example Contact Flow Module\"),\n Map.entry(\"Application\", \"Example\"),\n Map.entry(\"Method\", \"Create\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:ContactFlowModule\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n description: Example Contact Flow Module Description\n filename: contact_flow_module.json\n contentHash:\n fn::invoke:\n function: std:filebase64sha256\n arguments:\n input: contact_flow_module.json\n return: result\n tags:\n Name: Example Contact Flow Module\n Application: Example\n Method: Create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Contact Flow Modules using the `instance_id` and `contact_flow_module_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/contactFlowModule:ContactFlowModule example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", + "description": "Provides an Amazon Connect Contact Flow Module resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\nThis resource embeds or references Contact Flows Modules specified in Amazon Connect Contact Flow Language. For more information see\n[Amazon Connect Flow language](https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html)\n\n!\u003e **WARN:** Contact Flow Modules exported from the Console [See Contact Flow import/export which is the same for Contact Flow Modules](https://docs.aws.amazon.com/connect/latest/adminguide/contact-flow-import-export.html) are not in the Amazon Connect Contact Flow Language and can not be used with this resource. Instead, the recommendation is to use the AWS CLI [`describe-contact-flow-module`](https://docs.aws.amazon.com/cli/latest/reference/connect/describe-contact-flow-module.html).\nSee example below which uses `jq` to extract the `Content` attribute and saves it to a local file.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.ContactFlowModule(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n description: \"Example Contact Flow Module Description\",\n content: JSON.stringify({\n Version: \"2019-10-30\",\n StartAction: \"12345678-1234-1234-1234-123456789012\",\n Actions: [\n {\n Identifier: \"12345678-1234-1234-1234-123456789012\",\n Parameters: {\n Text: \"Hello contact flow module\",\n },\n Transitions: {\n NextAction: \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n Errors: [],\n Conditions: [],\n },\n Type: \"MessageParticipant\",\n },\n {\n Identifier: \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n Type: \"DisconnectParticipant\",\n Parameters: {},\n Transitions: {},\n },\n ],\n Settings: {\n InputParameters: [],\n OutputParameters: [],\n Transitions: [\n {\n DisplayName: \"Success\",\n ReferenceName: \"Success\",\n Description: \"\",\n },\n {\n DisplayName: \"Error\",\n ReferenceName: \"Error\",\n Description: \"\",\n },\n ],\n },\n }),\n tags: {\n Name: \"Example Contact Flow Module\",\n Application: \"Example\",\n Method: \"Create\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.connect.ContactFlowModule(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\",\n description=\"Example Contact Flow Module Description\",\n content=json.dumps({\n \"Version\": \"2019-10-30\",\n \"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n \"Actions\": [\n {\n \"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n \"Parameters\": {\n \"Text\": \"Hello contact flow module\",\n },\n \"Transitions\": {\n \"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \"Errors\": [],\n \"Conditions\": [],\n },\n \"Type\": \"MessageParticipant\",\n },\n {\n \"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \"Type\": \"DisconnectParticipant\",\n \"Parameters\": {},\n \"Transitions\": {},\n },\n ],\n \"Settings\": {\n \"InputParameters\": [],\n \"OutputParameters\": [],\n \"Transitions\": [\n {\n \"DisplayName\": \"Success\",\n \"ReferenceName\": \"Success\",\n \"Description\": \"\",\n },\n {\n \"DisplayName\": \"Error\",\n \"ReferenceName\": \"Error\",\n \"Description\": \"\",\n },\n ],\n },\n }),\n tags={\n \"Name\": \"Example Contact Flow Module\",\n \"Application\": \"Example\",\n \"Method\": \"Create\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.ContactFlowModule(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n Description = \"Example Contact Flow Module Description\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2019-10-30\",\n [\"StartAction\"] = \"12345678-1234-1234-1234-123456789012\",\n [\"Actions\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Identifier\"] = \"12345678-1234-1234-1234-123456789012\",\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Text\"] = \"Hello contact flow module\",\n },\n [\"Transitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"NextAction\"] = \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n [\"Errors\"] = new[]\n {\n },\n [\"Conditions\"] = new[]\n {\n },\n },\n [\"Type\"] = \"MessageParticipant\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Identifier\"] = \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n [\"Type\"] = \"DisconnectParticipant\",\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"Transitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n },\n [\"Settings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"InputParameters\"] = new[]\n {\n },\n [\"OutputParameters\"] = new[]\n {\n },\n [\"Transitions\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"DisplayName\"] = \"Success\",\n [\"ReferenceName\"] = \"Success\",\n [\"Description\"] = \"\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"DisplayName\"] = \"Error\",\n [\"ReferenceName\"] = \"Error\",\n [\"Description\"] = \"\",\n },\n },\n },\n }),\n Tags = \n {\n { \"Name\", \"Example Contact Flow Module\" },\n { \"Application\", \"Example\" },\n { \"Method\", \"Create\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2019-10-30\",\n\t\t\t\"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\"Actions\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\t\t\"Text\": \"Hello contact flow module\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Transitions\": map[string]interface{}{\n\t\t\t\t\t\t\"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\t\"Errors\": []interface{}{},\n\t\t\t\t\t\t\"Conditions\": []interface{}{},\n\t\t\t\t\t},\n\t\t\t\t\t\"Type\": \"MessageParticipant\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\"Type\": \"DisconnectParticipant\",\n\t\t\t\t\t\"Parameters\": map[string]interface{}{},\n\t\t\t\t\t\"Transitions\": map[string]interface{}{},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Settings\": map[string]interface{}{\n\t\t\t\t\"InputParameters\": []interface{}{},\n\t\t\t\t\"OutputParameters\": []interface{}{},\n\t\t\t\t\"Transitions\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"DisplayName\": \"Success\",\n\t\t\t\t\t\t\"ReferenceName\": \"Success\",\n\t\t\t\t\t\t\"Description\": \"\",\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"DisplayName\": \"Error\",\n\t\t\t\t\t\t\"ReferenceName\": \"Error\",\n\t\t\t\t\t\t\"Description\": \"\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\t_, err = connect.NewContactFlowModule(ctx, \"example\", \u0026connect.ContactFlowModuleArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example Contact Flow Module Description\"),\n\t\t\tContent: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Contact Flow Module\"),\n\t\t\t\t\"Application\": pulumi.String(\"Example\"),\n\t\t\t\t\"Method\": pulumi.String(\"Create\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ContactFlowModule;\nimport com.pulumi.aws.connect.ContactFlowModuleArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ContactFlowModule(\"example\", ContactFlowModuleArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .description(\"Example Contact Flow Module Description\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2019-10-30\"),\n jsonProperty(\"StartAction\", \"12345678-1234-1234-1234-123456789012\"),\n jsonProperty(\"Actions\", jsonArray(\n jsonObject(\n jsonProperty(\"Identifier\", \"12345678-1234-1234-1234-123456789012\"),\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"Text\", \"Hello contact flow module\")\n )),\n jsonProperty(\"Transitions\", jsonObject(\n jsonProperty(\"NextAction\", \"abcdef-abcd-abcd-abcd-abcdefghijkl\"),\n jsonProperty(\"Errors\", jsonArray(\n )),\n jsonProperty(\"Conditions\", jsonArray(\n ))\n )),\n jsonProperty(\"Type\", \"MessageParticipant\")\n ), \n jsonObject(\n jsonProperty(\"Identifier\", \"abcdef-abcd-abcd-abcd-abcdefghijkl\"),\n jsonProperty(\"Type\", \"DisconnectParticipant\"),\n jsonProperty(\"Parameters\", jsonObject(\n\n )),\n jsonProperty(\"Transitions\", jsonObject(\n\n ))\n )\n )),\n jsonProperty(\"Settings\", jsonObject(\n jsonProperty(\"InputParameters\", jsonArray(\n )),\n jsonProperty(\"OutputParameters\", jsonArray(\n )),\n jsonProperty(\"Transitions\", jsonArray(\n jsonObject(\n jsonProperty(\"DisplayName\", \"Success\"),\n jsonProperty(\"ReferenceName\", \"Success\"),\n jsonProperty(\"Description\", \"\")\n ), \n jsonObject(\n jsonProperty(\"DisplayName\", \"Error\"),\n jsonProperty(\"ReferenceName\", \"Error\"),\n jsonProperty(\"Description\", \"\")\n )\n ))\n ))\n )))\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"Example Contact Flow Module\"),\n Map.entry(\"Application\", \"Example\"),\n Map.entry(\"Method\", \"Create\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:ContactFlowModule\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n description: Example Contact Flow Module Description\n content:\n fn::toJSON:\n Version: 2019-10-30\n StartAction: 12345678-1234-1234-1234-123456789012\n Actions:\n - Identifier: 12345678-1234-1234-1234-123456789012\n Parameters:\n Text: Hello contact flow module\n Transitions:\n NextAction: abcdef-abcd-abcd-abcd-abcdefghijkl\n Errors: []\n Conditions: []\n Type: MessageParticipant\n - Identifier: abcdef-abcd-abcd-abcd-abcdefghijkl\n Type: DisconnectParticipant\n Parameters: {}\n Transitions: {}\n Settings:\n InputParameters: []\n OutputParameters: []\n Transitions:\n - DisplayName: Success\n ReferenceName: Success\n Description:\n - DisplayName: Error\n ReferenceName: Error\n Description:\n tags:\n Name: Example Contact Flow Module\n Application: Example\n Method: Create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With External Content\n\nUse the AWS CLI to extract Contact Flow Content:\n\n```console\n% aws connect describe-contact-flow-module --instance-id 1b3c5d8-1b3c-1b3c-1b3c-1b3c5d81b3c5 --contact-flow-module-id c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5 --region us-west-2 | jq '.ContactFlowModule.Content | fromjson' \u003e contact_flow_module.json\n```\n\nUse the generated file as input:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.connect.ContactFlowModule(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n description: \"Example Contact Flow Module Description\",\n filename: \"contact_flow_module.json\",\n contentHash: std.filebase64sha256({\n input: \"contact_flow_module.json\",\n }).then(invoke =\u003e invoke.result),\n tags: {\n Name: \"Example Contact Flow Module\",\n Application: \"Example\",\n Method: \"Create\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.connect.ContactFlowModule(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\",\n description=\"Example Contact Flow Module Description\",\n filename=\"contact_flow_module.json\",\n content_hash=std.filebase64sha256(input=\"contact_flow_module.json\").result,\n tags={\n \"Name\": \"Example Contact Flow Module\",\n \"Application\": \"Example\",\n \"Method\": \"Create\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.ContactFlowModule(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n Description = \"Example Contact Flow Module Description\",\n Filename = \"contact_flow_module.json\",\n ContentHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = \"contact_flow_module.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Name\", \"Example Contact Flow Module\" },\n { \"Application\", \"Example\" },\n { \"Method\", \"Create\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: \"contact_flow_module.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = connect.NewContactFlowModule(ctx, \"example\", \u0026connect.ContactFlowModuleArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example Contact Flow Module Description\"),\n\t\t\tFilename: pulumi.String(\"contact_flow_module.json\"),\n\t\t\tContentHash: pulumi.String(invokeFilebase64sha256.Result),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Contact Flow Module\"),\n\t\t\t\t\"Application\": pulumi.String(\"Example\"),\n\t\t\t\t\"Method\": pulumi.String(\"Create\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ContactFlowModule;\nimport com.pulumi.aws.connect.ContactFlowModuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ContactFlowModule(\"example\", ContactFlowModuleArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .description(\"Example Contact Flow Module Description\")\n .filename(\"contact_flow_module.json\")\n .contentHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(\"contact_flow_module.json\")\n .build()).result())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"Example Contact Flow Module\"),\n Map.entry(\"Application\", \"Example\"),\n Map.entry(\"Method\", \"Create\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:ContactFlowModule\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n description: Example Contact Flow Module Description\n filename: contact_flow_module.json\n contentHash:\n fn::invoke:\n Function: std:filebase64sha256\n Arguments:\n input: contact_flow_module.json\n Return: result\n tags:\n Name: Example Contact Flow Module\n Application: Example\n Method: Create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Contact Flow Modules using the `instance_id` and `contact_flow_module_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/contactFlowModule:ContactFlowModule example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", "properties": { "arn": { "type": "string", @@ -215948,7 +215948,7 @@ } }, "aws:costexplorer/anomalySubscription:AnomalySubscription": { - "description": "Provides a CE Anomaly Subscription.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.costexplorer.AnomalyMonitor(\"test\", {\n name: \"AWSServiceMonitor\",\n monitorType: \"DIMENSIONAL\",\n monitorDimension: \"SERVICE\",\n});\nconst testAnomalySubscription = new aws.costexplorer.AnomalySubscription(\"test\", {\n name: \"DAILYSUBSCRIPTION\",\n frequency: \"DAILY\",\n monitorArnLists: [test.arn],\n subscribers: [{\n type: \"EMAIL\",\n address: \"abc@example.com\",\n }],\n thresholdExpression: {\n dimension: {\n key: \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n matchOptions: [\"GREATER_THAN_OR_EQUAL\"],\n values: [\"100\"],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.costexplorer.AnomalyMonitor(\"test\",\n name=\"AWSServiceMonitor\",\n monitor_type=\"DIMENSIONAL\",\n monitor_dimension=\"SERVICE\")\ntest_anomaly_subscription = aws.costexplorer.AnomalySubscription(\"test\",\n name=\"DAILYSUBSCRIPTION\",\n frequency=\"DAILY\",\n monitor_arn_lists=[test.arn],\n subscribers=[{\n \"type\": \"EMAIL\",\n \"address\": \"abc@example.com\",\n }],\n threshold_expression={\n \"dimension\": {\n \"key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n \"match_options\": [\"GREATER_THAN_OR_EQUAL\"],\n \"values\": [\"100\"],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CostExplorer.AnomalyMonitor(\"test\", new()\n {\n Name = \"AWSServiceMonitor\",\n MonitorType = \"DIMENSIONAL\",\n MonitorDimension = \"SERVICE\",\n });\n\n var testAnomalySubscription = new Aws.CostExplorer.AnomalySubscription(\"test\", new()\n {\n Name = \"DAILYSUBSCRIPTION\",\n Frequency = \"DAILY\",\n MonitorArnLists = new[]\n {\n test.Arn,\n },\n Subscribers = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = \"EMAIL\",\n Address = \"abc@example.com\",\n },\n },\n ThresholdExpression = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionDimensionArgs\n {\n Key = \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n MatchOptions = new[]\n {\n \"GREATER_THAN_OR_EQUAL\",\n },\n Values = new[]\n {\n \"100\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := costexplorer.NewAnomalyMonitor(ctx, \"test\", \u0026costexplorer.AnomalyMonitorArgs{\n\t\t\tName: pulumi.String(\"AWSServiceMonitor\"),\n\t\t\tMonitorType: pulumi.String(\"DIMENSIONAL\"),\n\t\t\tMonitorDimension: pulumi.String(\"SERVICE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = costexplorer.NewAnomalySubscription(ctx, \"test\", \u0026costexplorer.AnomalySubscriptionArgs{\n\t\t\tName: pulumi.String(\"DAILYSUBSCRIPTION\"),\n\t\t\tFrequency: pulumi.String(\"DAILY\"),\n\t\t\tMonitorArnLists: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t},\n\t\t\tSubscribers: costexplorer.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026costexplorer.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: pulumi.String(\"EMAIL\"),\n\t\t\t\t\tAddress: pulumi.String(\"abc@example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tThresholdExpression: \u0026costexplorer.AnomalySubscriptionThresholdExpressionArgs{\n\t\t\t\tDimension: \u0026costexplorer.AnomalySubscriptionThresholdExpressionDimensionArgs{\n\t\t\t\t\tKey: pulumi.String(\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\"),\n\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GREATER_THAN_OR_EQUAL\"),\n\t\t\t\t\t},\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"100\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.costexplorer.AnomalyMonitor;\nimport com.pulumi.aws.costexplorer.AnomalyMonitorArgs;\nimport com.pulumi.aws.costexplorer.AnomalySubscription;\nimport com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionDimensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AnomalyMonitor(\"test\", AnomalyMonitorArgs.builder()\n .name(\"AWSServiceMonitor\")\n .monitorType(\"DIMENSIONAL\")\n .monitorDimension(\"SERVICE\")\n .build());\n\n var testAnomalySubscription = new AnomalySubscription(\"testAnomalySubscription\", AnomalySubscriptionArgs.builder()\n .name(\"DAILYSUBSCRIPTION\")\n .frequency(\"DAILY\")\n .monitorArnLists(test.arn())\n .subscribers(AnomalySubscriptionSubscriberArgs.builder()\n .type(\"EMAIL\")\n .address(\"abc@example.com\")\n .build())\n .thresholdExpression(AnomalySubscriptionThresholdExpressionArgs.builder()\n .dimension(AnomalySubscriptionThresholdExpressionDimensionArgs.builder()\n .key(\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\")\n .matchOptions(\"GREATER_THAN_OR_EQUAL\")\n .values(\"100\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:costexplorer:AnomalyMonitor\n properties:\n name: AWSServiceMonitor\n monitorType: DIMENSIONAL\n monitorDimension: SERVICE\n testAnomalySubscription:\n type: aws:costexplorer:AnomalySubscription\n name: test\n properties:\n name: DAILYSUBSCRIPTION\n frequency: DAILY\n monitorArnLists:\n - ${test.arn}\n subscribers:\n - type: EMAIL\n address: abc@example.com\n thresholdExpression:\n dimension:\n key: ANOMALY_TOTAL_IMPACT_ABSOLUTE\n matchOptions:\n - GREATER_THAN_OR_EQUAL\n values:\n - '100'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Threshold Expression Example\n\n### Using a Percentage Threshold\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.costexplorer.AnomalySubscription(\"test\", {\n name: \"AWSServiceMonitor\",\n frequency: \"DAILY\",\n monitorArnLists: [testAwsCeAnomalyMonitor.arn],\n subscribers: [{\n type: \"EMAIL\",\n address: \"abc@example.com\",\n }],\n thresholdExpression: {\n dimension: {\n key: \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n matchOptions: [\"GREATER_THAN_OR_EQUAL\"],\n values: [\"100\"],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.costexplorer.AnomalySubscription(\"test\",\n name=\"AWSServiceMonitor\",\n frequency=\"DAILY\",\n monitor_arn_lists=[test_aws_ce_anomaly_monitor[\"arn\"]],\n subscribers=[{\n \"type\": \"EMAIL\",\n \"address\": \"abc@example.com\",\n }],\n threshold_expression={\n \"dimension\": {\n \"key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n \"match_options\": [\"GREATER_THAN_OR_EQUAL\"],\n \"values\": [\"100\"],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CostExplorer.AnomalySubscription(\"test\", new()\n {\n Name = \"AWSServiceMonitor\",\n Frequency = \"DAILY\",\n MonitorArnLists = new[]\n {\n testAwsCeAnomalyMonitor.Arn,\n },\n Subscribers = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = \"EMAIL\",\n Address = \"abc@example.com\",\n },\n },\n ThresholdExpression = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionDimensionArgs\n {\n Key = \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n MatchOptions = new[]\n {\n \"GREATER_THAN_OR_EQUAL\",\n },\n Values = new[]\n {\n \"100\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\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 := costexplorer.NewAnomalySubscription(ctx, \"test\", \u0026costexplorer.AnomalySubscriptionArgs{\n\t\t\tName: pulumi.String(\"AWSServiceMonitor\"),\n\t\t\tFrequency: pulumi.String(\"DAILY\"),\n\t\t\tMonitorArnLists: pulumi.StringArray{\n\t\t\t\ttestAwsCeAnomalyMonitor.Arn,\n\t\t\t},\n\t\t\tSubscribers: costexplorer.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026costexplorer.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: pulumi.String(\"EMAIL\"),\n\t\t\t\t\tAddress: pulumi.String(\"abc@example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tThresholdExpression: \u0026costexplorer.AnomalySubscriptionThresholdExpressionArgs{\n\t\t\t\tDimension: \u0026costexplorer.AnomalySubscriptionThresholdExpressionDimensionArgs{\n\t\t\t\t\tKey: pulumi.String(\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\"),\n\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GREATER_THAN_OR_EQUAL\"),\n\t\t\t\t\t},\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"100\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.costexplorer.AnomalySubscription;\nimport com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionDimensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AnomalySubscription(\"test\", AnomalySubscriptionArgs.builder()\n .name(\"AWSServiceMonitor\")\n .frequency(\"DAILY\")\n .monitorArnLists(testAwsCeAnomalyMonitor.arn())\n .subscribers(AnomalySubscriptionSubscriberArgs.builder()\n .type(\"EMAIL\")\n .address(\"abc@example.com\")\n .build())\n .thresholdExpression(AnomalySubscriptionThresholdExpressionArgs.builder()\n .dimension(AnomalySubscriptionThresholdExpressionDimensionArgs.builder()\n .key(\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\")\n .matchOptions(\"GREATER_THAN_OR_EQUAL\")\n .values(\"100\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:costexplorer:AnomalySubscription\n properties:\n name: AWSServiceMonitor\n frequency: DAILY\n monitorArnLists:\n - ${testAwsCeAnomalyMonitor.arn}\n subscribers:\n - type: EMAIL\n address: abc@example.com\n thresholdExpression:\n dimension:\n key: ANOMALY_TOTAL_IMPACT_PERCENTAGE\n matchOptions:\n - GREATER_THAN_OR_EQUAL\n values:\n - '100'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using an `and` Expression\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.costexplorer.AnomalySubscription(\"test\", {\n name: \"AWSServiceMonitor\",\n frequency: \"DAILY\",\n monitorArnLists: [testAwsCeAnomalyMonitor.arn],\n subscribers: [{\n type: \"EMAIL\",\n address: \"abc@example.com\",\n }],\n thresholdExpression: {\n ands: [\n {\n dimension: {\n key: \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n matchOptions: [\"GREATER_THAN_OR_EQUAL\"],\n values: [\"100\"],\n },\n },\n {\n dimension: {\n key: \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n matchOptions: [\"GREATER_THAN_OR_EQUAL\"],\n values: [\"50\"],\n },\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.costexplorer.AnomalySubscription(\"test\",\n name=\"AWSServiceMonitor\",\n frequency=\"DAILY\",\n monitor_arn_lists=[test_aws_ce_anomaly_monitor[\"arn\"]],\n subscribers=[{\n \"type\": \"EMAIL\",\n \"address\": \"abc@example.com\",\n }],\n threshold_expression={\n \"ands\": [\n {\n \"dimension\": {\n \"key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n \"match_options\": [\"GREATER_THAN_OR_EQUAL\"],\n \"values\": [\"100\"],\n },\n },\n {\n \"dimension\": {\n \"key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n \"match_options\": [\"GREATER_THAN_OR_EQUAL\"],\n \"values\": [\"50\"],\n },\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CostExplorer.AnomalySubscription(\"test\", new()\n {\n Name = \"AWSServiceMonitor\",\n Frequency = \"DAILY\",\n MonitorArnLists = new[]\n {\n testAwsCeAnomalyMonitor.Arn,\n },\n Subscribers = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = \"EMAIL\",\n Address = \"abc@example.com\",\n },\n },\n ThresholdExpression = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionArgs\n {\n Ands = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndDimensionArgs\n {\n Key = \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n MatchOptions = new[]\n {\n \"GREATER_THAN_OR_EQUAL\",\n },\n Values = new[]\n {\n \"100\",\n },\n },\n },\n new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndDimensionArgs\n {\n Key = \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n MatchOptions = new[]\n {\n \"GREATER_THAN_OR_EQUAL\",\n },\n Values = new[]\n {\n \"50\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\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 := costexplorer.NewAnomalySubscription(ctx, \"test\", \u0026costexplorer.AnomalySubscriptionArgs{\n\t\t\tName: pulumi.String(\"AWSServiceMonitor\"),\n\t\t\tFrequency: pulumi.String(\"DAILY\"),\n\t\t\tMonitorArnLists: pulumi.StringArray{\n\t\t\t\ttestAwsCeAnomalyMonitor.Arn,\n\t\t\t},\n\t\t\tSubscribers: costexplorer.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026costexplorer.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: pulumi.String(\"EMAIL\"),\n\t\t\t\t\tAddress: pulumi.String(\"abc@example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tThresholdExpression: \u0026costexplorer.AnomalySubscriptionThresholdExpressionArgs{\n\t\t\t\tAnds: costexplorer.AnomalySubscriptionThresholdExpressionAndArray{\n\t\t\t\t\t\u0026costexplorer.AnomalySubscriptionThresholdExpressionAndArgs{\n\t\t\t\t\t\tDimension: \u0026costexplorer.AnomalySubscriptionThresholdExpressionAndDimensionArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\"),\n\t\t\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"GREATER_THAN_OR_EQUAL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"100\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026costexplorer.AnomalySubscriptionThresholdExpressionAndArgs{\n\t\t\t\t\t\tDimension: \u0026costexplorer.AnomalySubscriptionThresholdExpressionAndDimensionArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\"),\n\t\t\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"GREATER_THAN_OR_EQUAL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"50\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.costexplorer.AnomalySubscription;\nimport com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AnomalySubscription(\"test\", AnomalySubscriptionArgs.builder()\n .name(\"AWSServiceMonitor\")\n .frequency(\"DAILY\")\n .monitorArnLists(testAwsCeAnomalyMonitor.arn())\n .subscribers(AnomalySubscriptionSubscriberArgs.builder()\n .type(\"EMAIL\")\n .address(\"abc@example.com\")\n .build())\n .thresholdExpression(AnomalySubscriptionThresholdExpressionArgs.builder()\n .ands( \n AnomalySubscriptionThresholdExpressionAndArgs.builder()\n .dimension(AnomalySubscriptionThresholdExpressionAndDimensionArgs.builder()\n .key(\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\")\n .matchOptions(\"GREATER_THAN_OR_EQUAL\")\n .values(\"100\")\n .build())\n .build(),\n AnomalySubscriptionThresholdExpressionAndArgs.builder()\n .dimension(AnomalySubscriptionThresholdExpressionAndDimensionArgs.builder()\n .key(\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\")\n .matchOptions(\"GREATER_THAN_OR_EQUAL\")\n .values(\"50\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:costexplorer:AnomalySubscription\n properties:\n name: AWSServiceMonitor\n frequency: DAILY\n monitorArnLists:\n - ${testAwsCeAnomalyMonitor.arn}\n subscribers:\n - type: EMAIL\n address: abc@example.com\n thresholdExpression:\n ands:\n - dimension:\n key: ANOMALY_TOTAL_IMPACT_ABSOLUTE\n matchOptions:\n - GREATER_THAN_OR_EQUAL\n values:\n - '100'\n - dimension:\n key: ANOMALY_TOTAL_IMPACT_PERCENTAGE\n matchOptions:\n - GREATER_THAN_OR_EQUAL\n values:\n - '50'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SNS Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst costAnomalyUpdates = new aws.sns.Topic(\"cost_anomaly_updates\", {name: \"CostAnomalyUpdates\"});\nconst snsTopicPolicy = pulumi.all([costAnomalyUpdates.arn, costAnomalyUpdates.arn]).apply(([costAnomalyUpdatesArn, costAnomalyUpdatesArn1]) =\u003e aws.iam.getPolicyDocumentOutput({\n policyId: \"__default_policy_ID\",\n statements: [\n {\n sid: \"AWSAnomalyDetectionSNSPublishingPermissions\",\n actions: [\"SNS:Publish\"],\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"costalerts.amazonaws.com\"],\n }],\n resources: [costAnomalyUpdatesArn],\n },\n {\n sid: \"__default_statement_ID\",\n actions: [\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n conditions: [{\n test: \"StringEquals\",\n variable: \"AWS:SourceOwner\",\n values: [accountId],\n }],\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [costAnomalyUpdatesArn1],\n },\n ],\n}));\nconst _default = new aws.sns.TopicPolicy(\"default\", {\n arn: costAnomalyUpdates.arn,\n policy: snsTopicPolicy.apply(snsTopicPolicy =\u003e snsTopicPolicy.json),\n});\nconst anomalyMonitor = new aws.costexplorer.AnomalyMonitor(\"anomaly_monitor\", {\n name: \"AWSServiceMonitor\",\n monitorType: \"DIMENSIONAL\",\n monitorDimension: \"SERVICE\",\n});\nconst realtimeSubscription = new aws.costexplorer.AnomalySubscription(\"realtime_subscription\", {\n name: \"RealtimeAnomalySubscription\",\n frequency: \"IMMEDIATE\",\n monitorArnLists: [anomalyMonitor.arn],\n subscribers: [{\n type: \"SNS\",\n address: costAnomalyUpdates.arn,\n }],\n}, {\n dependsOn: [_default],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncost_anomaly_updates = aws.sns.Topic(\"cost_anomaly_updates\", name=\"CostAnomalyUpdates\")\nsns_topic_policy = pulumi.Output.all(\n costAnomalyUpdatesArn=cost_anomaly_updates.arn,\n costAnomalyUpdatesArn1=cost_anomaly_updates.arn\n).apply(lambda resolved_outputs: aws.iam.get_policy_document_output(policy_id=\"__default_policy_ID\",\n statements=[\n {\n \"sid\": \"AWSAnomalyDetectionSNSPublishingPermissions\",\n \"actions\": [\"SNS:Publish\"],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"costalerts.amazonaws.com\"],\n }],\n \"resources\": [%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)],\n },\n {\n \"sid\": \"__default_statement_ID\",\n \"actions\": [\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"AWS:SourceOwner\",\n \"values\": [account_id],\n }],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"resources\": [%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)],\n },\n ]))\n\ndefault = aws.sns.TopicPolicy(\"default\",\n arn=cost_anomaly_updates.arn,\n policy=sns_topic_policy.json)\nanomaly_monitor = aws.costexplorer.AnomalyMonitor(\"anomaly_monitor\",\n name=\"AWSServiceMonitor\",\n monitor_type=\"DIMENSIONAL\",\n monitor_dimension=\"SERVICE\")\nrealtime_subscription = aws.costexplorer.AnomalySubscription(\"realtime_subscription\",\n name=\"RealtimeAnomalySubscription\",\n frequency=\"IMMEDIATE\",\n monitor_arn_lists=[anomaly_monitor.arn],\n subscribers=[{\n \"type\": \"SNS\",\n \"address\": cost_anomaly_updates.arn,\n }],\n opts = pulumi.ResourceOptions(depends_on=[default]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var costAnomalyUpdates = new Aws.Sns.Topic(\"cost_anomaly_updates\", new()\n {\n Name = \"CostAnomalyUpdates\",\n });\n\n var snsTopicPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = \"__default_policy_ID\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSAnomalyDetectionSNSPublishingPermissions\",\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"costalerts.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n costAnomalyUpdates.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"__default_statement_ID\",\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"AWS:SourceOwner\",\n Values = new[]\n {\n accountId,\n },\n },\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n costAnomalyUpdates.Arn,\n },\n },\n },\n });\n\n var @default = new Aws.Sns.TopicPolicy(\"default\", new()\n {\n Arn = costAnomalyUpdates.Arn,\n Policy = snsTopicPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var anomalyMonitor = new Aws.CostExplorer.AnomalyMonitor(\"anomaly_monitor\", new()\n {\n Name = \"AWSServiceMonitor\",\n MonitorType = \"DIMENSIONAL\",\n MonitorDimension = \"SERVICE\",\n });\n\n var realtimeSubscription = new Aws.CostExplorer.AnomalySubscription(\"realtime_subscription\", new()\n {\n Name = \"RealtimeAnomalySubscription\",\n Frequency = \"IMMEDIATE\",\n MonitorArnLists = new[]\n {\n anomalyMonitor.Arn,\n },\n Subscribers = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = \"SNS\",\n Address = costAnomalyUpdates.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n @default,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncostAnomalyUpdates, err := sns.NewTopic(ctx, \"cost_anomaly_updates\", \u0026sns.TopicArgs{\nName: pulumi.String(\"CostAnomalyUpdates\"),\n})\nif err != nil {\nreturn err\n}\nsnsTopicPolicy := pulumi.All(costAnomalyUpdates.Arn,costAnomalyUpdates.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\ncostAnomalyUpdatesArn := _args[0].(string)\ncostAnomalyUpdatesArn1 := _args[1].(string)\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nPolicyId: \"__default_policy_ID\",\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: \"AWSAnomalyDetectionSNSPublishingPermissions\",\nActions: []string{\n\"SNS:Publish\",\n},\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"costalerts.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\ncostAnomalyUpdatesArn,\n},\n},\n{\nSid: \"__default_statement_ID\",\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:SetTopicAttributes\",\n\"SNS:RemovePermission\",\n\"SNS:Receive\",\n\"SNS:Publish\",\n\"SNS:ListSubscriptionsByTopic\",\n\"SNS:GetTopicAttributes\",\n\"SNS:DeleteTopic\",\n\"SNS:AddPermission\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"AWS:SourceOwner\",\nValues: interface{}{\naccountId,\n},\n},\n},\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: interface{}{\ncostAnomalyUpdatesArn1,\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"default\", \u0026sns.TopicPolicyArgs{\nArn: costAnomalyUpdates.Arn,\nPolicy: pulumi.String(snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026snsTopicPolicy.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nanomalyMonitor, err := costexplorer.NewAnomalyMonitor(ctx, \"anomaly_monitor\", \u0026costexplorer.AnomalyMonitorArgs{\nName: pulumi.String(\"AWSServiceMonitor\"),\nMonitorType: pulumi.String(\"DIMENSIONAL\"),\nMonitorDimension: pulumi.String(\"SERVICE\"),\n})\nif err != nil {\nreturn err\n}\n_, err = costexplorer.NewAnomalySubscription(ctx, \"realtime_subscription\", \u0026costexplorer.AnomalySubscriptionArgs{\nName: pulumi.String(\"RealtimeAnomalySubscription\"),\nFrequency: pulumi.String(\"IMMEDIATE\"),\nMonitorArnLists: pulumi.StringArray{\nanomalyMonitor.Arn,\n},\nSubscribers: costexplorer.AnomalySubscriptionSubscriberArray{\n\u0026costexplorer.AnomalySubscriptionSubscriberArgs{\nType: pulumi.String(\"SNS\"),\nAddress: costAnomalyUpdates.Arn,\n},\n},\n}, pulumi.DependsOn([]pulumi.Resource{\n_default,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport com.pulumi.aws.costexplorer.AnomalyMonitor;\nimport com.pulumi.aws.costexplorer.AnomalyMonitorArgs;\nimport com.pulumi.aws.costexplorer.AnomalySubscription;\nimport com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var costAnomalyUpdates = new Topic(\"costAnomalyUpdates\", TopicArgs.builder()\n .name(\"CostAnomalyUpdates\")\n .build());\n\n final var snsTopicPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(\"__default_policy_ID\")\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSAnomalyDetectionSNSPublishingPermissions\")\n .actions(\"SNS:Publish\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"costalerts.amazonaws.com\")\n .build())\n .resources(costAnomalyUpdates.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"__default_statement_ID\")\n .actions( \n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"AWS:SourceOwner\")\n .values(accountId)\n .build())\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(costAnomalyUpdates.arn())\n .build())\n .build());\n\n var default_ = new TopicPolicy(\"default\", TopicPolicyArgs.builder()\n .arn(costAnomalyUpdates.arn())\n .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(snsTopicPolicy -\u003e snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var anomalyMonitor = new AnomalyMonitor(\"anomalyMonitor\", AnomalyMonitorArgs.builder()\n .name(\"AWSServiceMonitor\")\n .monitorType(\"DIMENSIONAL\")\n .monitorDimension(\"SERVICE\")\n .build());\n\n var realtimeSubscription = new AnomalySubscription(\"realtimeSubscription\", AnomalySubscriptionArgs.builder()\n .name(\"RealtimeAnomalySubscription\")\n .frequency(\"IMMEDIATE\")\n .monitorArnLists(anomalyMonitor.arn())\n .subscribers(AnomalySubscriptionSubscriberArgs.builder()\n .type(\"SNS\")\n .address(costAnomalyUpdates.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(default_)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n costAnomalyUpdates:\n type: aws:sns:Topic\n name: cost_anomaly_updates\n properties:\n name: CostAnomalyUpdates\n default:\n type: aws:sns:TopicPolicy\n properties:\n arn: ${costAnomalyUpdates.arn}\n policy: ${snsTopicPolicy.json}\n anomalyMonitor:\n type: aws:costexplorer:AnomalyMonitor\n name: anomaly_monitor\n properties:\n name: AWSServiceMonitor\n monitorType: DIMENSIONAL\n monitorDimension: SERVICE\n realtimeSubscription:\n type: aws:costexplorer:AnomalySubscription\n name: realtime_subscription\n properties:\n name: RealtimeAnomalySubscription\n frequency: IMMEDIATE\n monitorArnLists:\n - ${anomalyMonitor.arn}\n subscribers:\n - type: SNS\n address: ${costAnomalyUpdates.arn}\n options:\n dependsOn:\n - ${default}\nvariables:\n snsTopicPolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n policyId: __default_policy_ID\n statements:\n - sid: AWSAnomalyDetectionSNSPublishingPermissions\n actions:\n - SNS:Publish\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - costalerts.amazonaws.com\n resources:\n - ${costAnomalyUpdates.arn}\n - sid: __default_statement_ID\n actions:\n - SNS:Subscribe\n - SNS:SetTopicAttributes\n - SNS:RemovePermission\n - SNS:Receive\n - SNS:Publish\n - SNS:ListSubscriptionsByTopic\n - SNS:GetTopicAttributes\n - SNS:DeleteTopic\n - SNS:AddPermission\n conditions:\n - test: StringEquals\n variable: AWS:SourceOwner\n values:\n - ${accountId}\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - ${costAnomalyUpdates.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ce_anomaly_subscription` using the `id`. For example:\n\n```sh\n$ pulumi import aws:costexplorer/anomalySubscription:AnomalySubscription example AnomalySubscriptionARN\n```\n", + "description": "Provides a CE Anomaly Subscription.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.costexplorer.AnomalyMonitor(\"test\", {\n name: \"AWSServiceMonitor\",\n monitorType: \"DIMENSIONAL\",\n monitorDimension: \"SERVICE\",\n});\nconst testAnomalySubscription = new aws.costexplorer.AnomalySubscription(\"test\", {\n name: \"DAILYSUBSCRIPTION\",\n frequency: \"DAILY\",\n monitorArnLists: [test.arn],\n subscribers: [{\n type: \"EMAIL\",\n address: \"abc@example.com\",\n }],\n thresholdExpression: {\n dimension: {\n key: \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n matchOptions: [\"GREATER_THAN_OR_EQUAL\"],\n values: [\"100\"],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.costexplorer.AnomalyMonitor(\"test\",\n name=\"AWSServiceMonitor\",\n monitor_type=\"DIMENSIONAL\",\n monitor_dimension=\"SERVICE\")\ntest_anomaly_subscription = aws.costexplorer.AnomalySubscription(\"test\",\n name=\"DAILYSUBSCRIPTION\",\n frequency=\"DAILY\",\n monitor_arn_lists=[test.arn],\n subscribers=[{\n \"type\": \"EMAIL\",\n \"address\": \"abc@example.com\",\n }],\n threshold_expression={\n \"dimension\": {\n \"key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n \"match_options\": [\"GREATER_THAN_OR_EQUAL\"],\n \"values\": [\"100\"],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CostExplorer.AnomalyMonitor(\"test\", new()\n {\n Name = \"AWSServiceMonitor\",\n MonitorType = \"DIMENSIONAL\",\n MonitorDimension = \"SERVICE\",\n });\n\n var testAnomalySubscription = new Aws.CostExplorer.AnomalySubscription(\"test\", new()\n {\n Name = \"DAILYSUBSCRIPTION\",\n Frequency = \"DAILY\",\n MonitorArnLists = new[]\n {\n test.Arn,\n },\n Subscribers = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = \"EMAIL\",\n Address = \"abc@example.com\",\n },\n },\n ThresholdExpression = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionDimensionArgs\n {\n Key = \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n MatchOptions = new[]\n {\n \"GREATER_THAN_OR_EQUAL\",\n },\n Values = new[]\n {\n \"100\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := costexplorer.NewAnomalyMonitor(ctx, \"test\", \u0026costexplorer.AnomalyMonitorArgs{\n\t\t\tName: pulumi.String(\"AWSServiceMonitor\"),\n\t\t\tMonitorType: pulumi.String(\"DIMENSIONAL\"),\n\t\t\tMonitorDimension: pulumi.String(\"SERVICE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = costexplorer.NewAnomalySubscription(ctx, \"test\", \u0026costexplorer.AnomalySubscriptionArgs{\n\t\t\tName: pulumi.String(\"DAILYSUBSCRIPTION\"),\n\t\t\tFrequency: pulumi.String(\"DAILY\"),\n\t\t\tMonitorArnLists: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t},\n\t\t\tSubscribers: costexplorer.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026costexplorer.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: pulumi.String(\"EMAIL\"),\n\t\t\t\t\tAddress: pulumi.String(\"abc@example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tThresholdExpression: \u0026costexplorer.AnomalySubscriptionThresholdExpressionArgs{\n\t\t\t\tDimension: \u0026costexplorer.AnomalySubscriptionThresholdExpressionDimensionArgs{\n\t\t\t\t\tKey: pulumi.String(\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\"),\n\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GREATER_THAN_OR_EQUAL\"),\n\t\t\t\t\t},\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"100\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.costexplorer.AnomalyMonitor;\nimport com.pulumi.aws.costexplorer.AnomalyMonitorArgs;\nimport com.pulumi.aws.costexplorer.AnomalySubscription;\nimport com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionDimensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AnomalyMonitor(\"test\", AnomalyMonitorArgs.builder()\n .name(\"AWSServiceMonitor\")\n .monitorType(\"DIMENSIONAL\")\n .monitorDimension(\"SERVICE\")\n .build());\n\n var testAnomalySubscription = new AnomalySubscription(\"testAnomalySubscription\", AnomalySubscriptionArgs.builder()\n .name(\"DAILYSUBSCRIPTION\")\n .frequency(\"DAILY\")\n .monitorArnLists(test.arn())\n .subscribers(AnomalySubscriptionSubscriberArgs.builder()\n .type(\"EMAIL\")\n .address(\"abc@example.com\")\n .build())\n .thresholdExpression(AnomalySubscriptionThresholdExpressionArgs.builder()\n .dimension(AnomalySubscriptionThresholdExpressionDimensionArgs.builder()\n .key(\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\")\n .matchOptions(\"GREATER_THAN_OR_EQUAL\")\n .values(\"100\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:costexplorer:AnomalyMonitor\n properties:\n name: AWSServiceMonitor\n monitorType: DIMENSIONAL\n monitorDimension: SERVICE\n testAnomalySubscription:\n type: aws:costexplorer:AnomalySubscription\n name: test\n properties:\n name: DAILYSUBSCRIPTION\n frequency: DAILY\n monitorArnLists:\n - ${test.arn}\n subscribers:\n - type: EMAIL\n address: abc@example.com\n thresholdExpression:\n dimension:\n key: ANOMALY_TOTAL_IMPACT_ABSOLUTE\n matchOptions:\n - GREATER_THAN_OR_EQUAL\n values:\n - '100'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Threshold Expression Example\n\n### Using a Percentage Threshold\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.costexplorer.AnomalySubscription(\"test\", {\n name: \"AWSServiceMonitor\",\n frequency: \"DAILY\",\n monitorArnLists: [testAwsCeAnomalyMonitor.arn],\n subscribers: [{\n type: \"EMAIL\",\n address: \"abc@example.com\",\n }],\n thresholdExpression: {\n dimension: {\n key: \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n matchOptions: [\"GREATER_THAN_OR_EQUAL\"],\n values: [\"100\"],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.costexplorer.AnomalySubscription(\"test\",\n name=\"AWSServiceMonitor\",\n frequency=\"DAILY\",\n monitor_arn_lists=[test_aws_ce_anomaly_monitor[\"arn\"]],\n subscribers=[{\n \"type\": \"EMAIL\",\n \"address\": \"abc@example.com\",\n }],\n threshold_expression={\n \"dimension\": {\n \"key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n \"match_options\": [\"GREATER_THAN_OR_EQUAL\"],\n \"values\": [\"100\"],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CostExplorer.AnomalySubscription(\"test\", new()\n {\n Name = \"AWSServiceMonitor\",\n Frequency = \"DAILY\",\n MonitorArnLists = new[]\n {\n testAwsCeAnomalyMonitor.Arn,\n },\n Subscribers = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = \"EMAIL\",\n Address = \"abc@example.com\",\n },\n },\n ThresholdExpression = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionDimensionArgs\n {\n Key = \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n MatchOptions = new[]\n {\n \"GREATER_THAN_OR_EQUAL\",\n },\n Values = new[]\n {\n \"100\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\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 := costexplorer.NewAnomalySubscription(ctx, \"test\", \u0026costexplorer.AnomalySubscriptionArgs{\n\t\t\tName: pulumi.String(\"AWSServiceMonitor\"),\n\t\t\tFrequency: pulumi.String(\"DAILY\"),\n\t\t\tMonitorArnLists: pulumi.StringArray{\n\t\t\t\ttestAwsCeAnomalyMonitor.Arn,\n\t\t\t},\n\t\t\tSubscribers: costexplorer.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026costexplorer.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: pulumi.String(\"EMAIL\"),\n\t\t\t\t\tAddress: pulumi.String(\"abc@example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tThresholdExpression: \u0026costexplorer.AnomalySubscriptionThresholdExpressionArgs{\n\t\t\t\tDimension: \u0026costexplorer.AnomalySubscriptionThresholdExpressionDimensionArgs{\n\t\t\t\t\tKey: pulumi.String(\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\"),\n\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GREATER_THAN_OR_EQUAL\"),\n\t\t\t\t\t},\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"100\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.costexplorer.AnomalySubscription;\nimport com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionDimensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AnomalySubscription(\"test\", AnomalySubscriptionArgs.builder()\n .name(\"AWSServiceMonitor\")\n .frequency(\"DAILY\")\n .monitorArnLists(testAwsCeAnomalyMonitor.arn())\n .subscribers(AnomalySubscriptionSubscriberArgs.builder()\n .type(\"EMAIL\")\n .address(\"abc@example.com\")\n .build())\n .thresholdExpression(AnomalySubscriptionThresholdExpressionArgs.builder()\n .dimension(AnomalySubscriptionThresholdExpressionDimensionArgs.builder()\n .key(\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\")\n .matchOptions(\"GREATER_THAN_OR_EQUAL\")\n .values(\"100\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:costexplorer:AnomalySubscription\n properties:\n name: AWSServiceMonitor\n frequency: DAILY\n monitorArnLists:\n - ${testAwsCeAnomalyMonitor.arn}\n subscribers:\n - type: EMAIL\n address: abc@example.com\n thresholdExpression:\n dimension:\n key: ANOMALY_TOTAL_IMPACT_PERCENTAGE\n matchOptions:\n - GREATER_THAN_OR_EQUAL\n values:\n - '100'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using an `and` Expression\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.costexplorer.AnomalySubscription(\"test\", {\n name: \"AWSServiceMonitor\",\n frequency: \"DAILY\",\n monitorArnLists: [testAwsCeAnomalyMonitor.arn],\n subscribers: [{\n type: \"EMAIL\",\n address: \"abc@example.com\",\n }],\n thresholdExpression: {\n ands: [\n {\n dimension: {\n key: \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n matchOptions: [\"GREATER_THAN_OR_EQUAL\"],\n values: [\"100\"],\n },\n },\n {\n dimension: {\n key: \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n matchOptions: [\"GREATER_THAN_OR_EQUAL\"],\n values: [\"50\"],\n },\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.costexplorer.AnomalySubscription(\"test\",\n name=\"AWSServiceMonitor\",\n frequency=\"DAILY\",\n monitor_arn_lists=[test_aws_ce_anomaly_monitor[\"arn\"]],\n subscribers=[{\n \"type\": \"EMAIL\",\n \"address\": \"abc@example.com\",\n }],\n threshold_expression={\n \"ands\": [\n {\n \"dimension\": {\n \"key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n \"match_options\": [\"GREATER_THAN_OR_EQUAL\"],\n \"values\": [\"100\"],\n },\n },\n {\n \"dimension\": {\n \"key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n \"match_options\": [\"GREATER_THAN_OR_EQUAL\"],\n \"values\": [\"50\"],\n },\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CostExplorer.AnomalySubscription(\"test\", new()\n {\n Name = \"AWSServiceMonitor\",\n Frequency = \"DAILY\",\n MonitorArnLists = new[]\n {\n testAwsCeAnomalyMonitor.Arn,\n },\n Subscribers = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = \"EMAIL\",\n Address = \"abc@example.com\",\n },\n },\n ThresholdExpression = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionArgs\n {\n Ands = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndDimensionArgs\n {\n Key = \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n MatchOptions = new[]\n {\n \"GREATER_THAN_OR_EQUAL\",\n },\n Values = new[]\n {\n \"100\",\n },\n },\n },\n new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndDimensionArgs\n {\n Key = \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n MatchOptions = new[]\n {\n \"GREATER_THAN_OR_EQUAL\",\n },\n Values = new[]\n {\n \"50\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\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 := costexplorer.NewAnomalySubscription(ctx, \"test\", \u0026costexplorer.AnomalySubscriptionArgs{\n\t\t\tName: pulumi.String(\"AWSServiceMonitor\"),\n\t\t\tFrequency: pulumi.String(\"DAILY\"),\n\t\t\tMonitorArnLists: pulumi.StringArray{\n\t\t\t\ttestAwsCeAnomalyMonitor.Arn,\n\t\t\t},\n\t\t\tSubscribers: costexplorer.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026costexplorer.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: pulumi.String(\"EMAIL\"),\n\t\t\t\t\tAddress: pulumi.String(\"abc@example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tThresholdExpression: \u0026costexplorer.AnomalySubscriptionThresholdExpressionArgs{\n\t\t\t\tAnds: costexplorer.AnomalySubscriptionThresholdExpressionAndArray{\n\t\t\t\t\t\u0026costexplorer.AnomalySubscriptionThresholdExpressionAndArgs{\n\t\t\t\t\t\tDimension: \u0026costexplorer.AnomalySubscriptionThresholdExpressionAndDimensionArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\"),\n\t\t\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"GREATER_THAN_OR_EQUAL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"100\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026costexplorer.AnomalySubscriptionThresholdExpressionAndArgs{\n\t\t\t\t\t\tDimension: \u0026costexplorer.AnomalySubscriptionThresholdExpressionAndDimensionArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\"),\n\t\t\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"GREATER_THAN_OR_EQUAL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"50\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.costexplorer.AnomalySubscription;\nimport com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AnomalySubscription(\"test\", AnomalySubscriptionArgs.builder()\n .name(\"AWSServiceMonitor\")\n .frequency(\"DAILY\")\n .monitorArnLists(testAwsCeAnomalyMonitor.arn())\n .subscribers(AnomalySubscriptionSubscriberArgs.builder()\n .type(\"EMAIL\")\n .address(\"abc@example.com\")\n .build())\n .thresholdExpression(AnomalySubscriptionThresholdExpressionArgs.builder()\n .ands( \n AnomalySubscriptionThresholdExpressionAndArgs.builder()\n .dimension(AnomalySubscriptionThresholdExpressionAndDimensionArgs.builder()\n .key(\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\")\n .matchOptions(\"GREATER_THAN_OR_EQUAL\")\n .values(\"100\")\n .build())\n .build(),\n AnomalySubscriptionThresholdExpressionAndArgs.builder()\n .dimension(AnomalySubscriptionThresholdExpressionAndDimensionArgs.builder()\n .key(\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\")\n .matchOptions(\"GREATER_THAN_OR_EQUAL\")\n .values(\"50\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:costexplorer:AnomalySubscription\n properties:\n name: AWSServiceMonitor\n frequency: DAILY\n monitorArnLists:\n - ${testAwsCeAnomalyMonitor.arn}\n subscribers:\n - type: EMAIL\n address: abc@example.com\n thresholdExpression:\n ands:\n - dimension:\n key: ANOMALY_TOTAL_IMPACT_ABSOLUTE\n matchOptions:\n - GREATER_THAN_OR_EQUAL\n values:\n - '100'\n - dimension:\n key: ANOMALY_TOTAL_IMPACT_PERCENTAGE\n matchOptions:\n - GREATER_THAN_OR_EQUAL\n values:\n - '50'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SNS Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst costAnomalyUpdates = new aws.sns.Topic(\"cost_anomaly_updates\", {name: \"CostAnomalyUpdates\"});\nconst snsTopicPolicy = pulumi.all([costAnomalyUpdates.arn, costAnomalyUpdates.arn]).apply(([costAnomalyUpdatesArn, costAnomalyUpdatesArn1]) =\u003e aws.iam.getPolicyDocumentOutput({\n policyId: \"__default_policy_ID\",\n statements: [\n {\n sid: \"AWSAnomalyDetectionSNSPublishingPermissions\",\n actions: [\"SNS:Publish\"],\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"costalerts.amazonaws.com\"],\n }],\n resources: [costAnomalyUpdatesArn],\n },\n {\n sid: \"__default_statement_ID\",\n actions: [\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n conditions: [{\n test: \"StringEquals\",\n variable: \"AWS:SourceOwner\",\n values: [accountId],\n }],\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [costAnomalyUpdatesArn1],\n },\n ],\n}));\nconst _default = new aws.sns.TopicPolicy(\"default\", {\n arn: costAnomalyUpdates.arn,\n policy: snsTopicPolicy.apply(snsTopicPolicy =\u003e snsTopicPolicy.json),\n});\nconst anomalyMonitor = new aws.costexplorer.AnomalyMonitor(\"anomaly_monitor\", {\n name: \"AWSServiceMonitor\",\n monitorType: \"DIMENSIONAL\",\n monitorDimension: \"SERVICE\",\n});\nconst realtimeSubscription = new aws.costexplorer.AnomalySubscription(\"realtime_subscription\", {\n name: \"RealtimeAnomalySubscription\",\n frequency: \"IMMEDIATE\",\n monitorArnLists: [anomalyMonitor.arn],\n subscribers: [{\n type: \"SNS\",\n address: costAnomalyUpdates.arn,\n }],\n}, {\n dependsOn: [_default],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncost_anomaly_updates = aws.sns.Topic(\"cost_anomaly_updates\", name=\"CostAnomalyUpdates\")\nsns_topic_policy = pulumi.Output.all(\n costAnomalyUpdatesArn=cost_anomaly_updates.arn,\n costAnomalyUpdatesArn1=cost_anomaly_updates.arn\n).apply(lambda resolved_outputs: aws.iam.get_policy_document_output(policy_id=\"__default_policy_ID\",\n statements=[\n {\n \"sid\": \"AWSAnomalyDetectionSNSPublishingPermissions\",\n \"actions\": [\"SNS:Publish\"],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"costalerts.amazonaws.com\"],\n }],\n \"resources\": [%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)],\n },\n {\n \"sid\": \"__default_statement_ID\",\n \"actions\": [\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"AWS:SourceOwner\",\n \"values\": [account_id],\n }],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"resources\": [%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)],\n },\n ]))\n\ndefault = aws.sns.TopicPolicy(\"default\",\n arn=cost_anomaly_updates.arn,\n policy=sns_topic_policy.json)\nanomaly_monitor = aws.costexplorer.AnomalyMonitor(\"anomaly_monitor\",\n name=\"AWSServiceMonitor\",\n monitor_type=\"DIMENSIONAL\",\n monitor_dimension=\"SERVICE\")\nrealtime_subscription = aws.costexplorer.AnomalySubscription(\"realtime_subscription\",\n name=\"RealtimeAnomalySubscription\",\n frequency=\"IMMEDIATE\",\n monitor_arn_lists=[anomaly_monitor.arn],\n subscribers=[{\n \"type\": \"SNS\",\n \"address\": cost_anomaly_updates.arn,\n }],\n opts = pulumi.ResourceOptions(depends_on=[default]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var costAnomalyUpdates = new Aws.Sns.Topic(\"cost_anomaly_updates\", new()\n {\n Name = \"CostAnomalyUpdates\",\n });\n\n var snsTopicPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = \"__default_policy_ID\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSAnomalyDetectionSNSPublishingPermissions\",\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"costalerts.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n costAnomalyUpdates.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"__default_statement_ID\",\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"AWS:SourceOwner\",\n Values = new[]\n {\n accountId,\n },\n },\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n costAnomalyUpdates.Arn,\n },\n },\n },\n });\n\n var @default = new Aws.Sns.TopicPolicy(\"default\", new()\n {\n Arn = costAnomalyUpdates.Arn,\n Policy = snsTopicPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var anomalyMonitor = new Aws.CostExplorer.AnomalyMonitor(\"anomaly_monitor\", new()\n {\n Name = \"AWSServiceMonitor\",\n MonitorType = \"DIMENSIONAL\",\n MonitorDimension = \"SERVICE\",\n });\n\n var realtimeSubscription = new Aws.CostExplorer.AnomalySubscription(\"realtime_subscription\", new()\n {\n Name = \"RealtimeAnomalySubscription\",\n Frequency = \"IMMEDIATE\",\n MonitorArnLists = new[]\n {\n anomalyMonitor.Arn,\n },\n Subscribers = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = \"SNS\",\n Address = costAnomalyUpdates.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n @default,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncostAnomalyUpdates, err := sns.NewTopic(ctx, \"cost_anomaly_updates\", \u0026sns.TopicArgs{\nName: pulumi.String(\"CostAnomalyUpdates\"),\n})\nif err != nil {\nreturn err\n}\nsnsTopicPolicy := pulumi.All(costAnomalyUpdates.Arn,costAnomalyUpdates.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\ncostAnomalyUpdatesArn := _args[0].(string)\ncostAnomalyUpdatesArn1 := _args[1].(string)\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nPolicyId: \"__default_policy_ID\",\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: \"AWSAnomalyDetectionSNSPublishingPermissions\",\nActions: []string{\n\"SNS:Publish\",\n},\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"costalerts.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\ncostAnomalyUpdatesArn,\n},\n},\n{\nSid: \"__default_statement_ID\",\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:SetTopicAttributes\",\n\"SNS:RemovePermission\",\n\"SNS:Receive\",\n\"SNS:Publish\",\n\"SNS:ListSubscriptionsByTopic\",\n\"SNS:GetTopicAttributes\",\n\"SNS:DeleteTopic\",\n\"SNS:AddPermission\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"AWS:SourceOwner\",\nValues: interface{}{\naccountId,\n},\n},\n},\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: interface{}{\ncostAnomalyUpdatesArn1,\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"default\", \u0026sns.TopicPolicyArgs{\nArn: costAnomalyUpdates.Arn,\nPolicy: pulumi.String(snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026snsTopicPolicy.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nanomalyMonitor, err := costexplorer.NewAnomalyMonitor(ctx, \"anomaly_monitor\", \u0026costexplorer.AnomalyMonitorArgs{\nName: pulumi.String(\"AWSServiceMonitor\"),\nMonitorType: pulumi.String(\"DIMENSIONAL\"),\nMonitorDimension: pulumi.String(\"SERVICE\"),\n})\nif err != nil {\nreturn err\n}\n_, err = costexplorer.NewAnomalySubscription(ctx, \"realtime_subscription\", \u0026costexplorer.AnomalySubscriptionArgs{\nName: pulumi.String(\"RealtimeAnomalySubscription\"),\nFrequency: pulumi.String(\"IMMEDIATE\"),\nMonitorArnLists: pulumi.StringArray{\nanomalyMonitor.Arn,\n},\nSubscribers: costexplorer.AnomalySubscriptionSubscriberArray{\n\u0026costexplorer.AnomalySubscriptionSubscriberArgs{\nType: pulumi.String(\"SNS\"),\nAddress: costAnomalyUpdates.Arn,\n},\n},\n}, pulumi.DependsOn([]pulumi.Resource{\n_default,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport com.pulumi.aws.costexplorer.AnomalyMonitor;\nimport com.pulumi.aws.costexplorer.AnomalyMonitorArgs;\nimport com.pulumi.aws.costexplorer.AnomalySubscription;\nimport com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var costAnomalyUpdates = new Topic(\"costAnomalyUpdates\", TopicArgs.builder()\n .name(\"CostAnomalyUpdates\")\n .build());\n\n final var snsTopicPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(\"__default_policy_ID\")\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSAnomalyDetectionSNSPublishingPermissions\")\n .actions(\"SNS:Publish\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"costalerts.amazonaws.com\")\n .build())\n .resources(costAnomalyUpdates.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"__default_statement_ID\")\n .actions( \n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"AWS:SourceOwner\")\n .values(accountId)\n .build())\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(costAnomalyUpdates.arn())\n .build())\n .build());\n\n var default_ = new TopicPolicy(\"default\", TopicPolicyArgs.builder()\n .arn(costAnomalyUpdates.arn())\n .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(snsTopicPolicy -\u003e snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var anomalyMonitor = new AnomalyMonitor(\"anomalyMonitor\", AnomalyMonitorArgs.builder()\n .name(\"AWSServiceMonitor\")\n .monitorType(\"DIMENSIONAL\")\n .monitorDimension(\"SERVICE\")\n .build());\n\n var realtimeSubscription = new AnomalySubscription(\"realtimeSubscription\", AnomalySubscriptionArgs.builder()\n .name(\"RealtimeAnomalySubscription\")\n .frequency(\"IMMEDIATE\")\n .monitorArnLists(anomalyMonitor.arn())\n .subscribers(AnomalySubscriptionSubscriberArgs.builder()\n .type(\"SNS\")\n .address(costAnomalyUpdates.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(default_)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n costAnomalyUpdates:\n type: aws:sns:Topic\n name: cost_anomaly_updates\n properties:\n name: CostAnomalyUpdates\n default:\n type: aws:sns:TopicPolicy\n properties:\n arn: ${costAnomalyUpdates.arn}\n policy: ${snsTopicPolicy.json}\n anomalyMonitor:\n type: aws:costexplorer:AnomalyMonitor\n name: anomaly_monitor\n properties:\n name: AWSServiceMonitor\n monitorType: DIMENSIONAL\n monitorDimension: SERVICE\n realtimeSubscription:\n type: aws:costexplorer:AnomalySubscription\n name: realtime_subscription\n properties:\n name: RealtimeAnomalySubscription\n frequency: IMMEDIATE\n monitorArnLists:\n - ${anomalyMonitor.arn}\n subscribers:\n - type: SNS\n address: ${costAnomalyUpdates.arn}\n options:\n dependson:\n - ${default}\nvariables:\n snsTopicPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n policyId: __default_policy_ID\n statements:\n - sid: AWSAnomalyDetectionSNSPublishingPermissions\n actions:\n - SNS:Publish\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - costalerts.amazonaws.com\n resources:\n - ${costAnomalyUpdates.arn}\n - sid: __default_statement_ID\n actions:\n - SNS:Subscribe\n - SNS:SetTopicAttributes\n - SNS:RemovePermission\n - SNS:Receive\n - SNS:Publish\n - SNS:ListSubscriptionsByTopic\n - SNS:GetTopicAttributes\n - SNS:DeleteTopic\n - SNS:AddPermission\n conditions:\n - test: StringEquals\n variable: AWS:SourceOwner\n values:\n - ${accountId}\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - ${costAnomalyUpdates.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ce_anomaly_subscription` using the `id`. For example:\n\n```sh\n$ pulumi import aws:costexplorer/anomalySubscription:AnomalySubscription example AnomalySubscriptionARN\n```\n", "properties": { "accountId": { "type": "string", @@ -217476,7 +217476,7 @@ } }, "aws:datasync/agent:Agent": { - "description": "Manages an AWS DataSync Agent deployed on premises.\n\n\u003e **NOTE:** One of `activation_key` or `ip_address` must be provided for resource creation (agent activation). Neither is required for resource import. If using `ip_address`, this provider must be able to make an HTTP (port 80) GET request to the specified IP address from where it is running. The agent will turn off that HTTP server after activation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.Agent(\"example\", {\n ipAddress: \"1.2.3.4\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.Agent(\"example\",\n ip_address=\"1.2.3.4\",\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.Agent(\"example\", new()\n {\n IpAddress = \"1.2.3.4\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\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 := datasync.NewAgent(ctx, \"example\", \u0026datasync.AgentArgs{\n\t\t\tIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tName: pulumi.String(\"example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.datasync.Agent;\nimport com.pulumi.aws.datasync.AgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Agent(\"example\", AgentArgs.builder()\n .ipAddress(\"1.2.3.4\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:Agent\n properties:\n ipAddress: 1.2.3.4\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With VPC Endpoints\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleVpcEndpoint = new aws.ec2.VpcEndpoint(\"example\", {\n serviceName: current.then(current =\u003e `com.amazonaws.${current.name}.datasync`),\n vpcId: exampleAwsVpc.id,\n securityGroupIds: [exampleAwsSecurityGroup.id],\n subnetIds: [exampleAwsSubnet.id],\n vpcEndpointType: \"Interface\",\n});\nconst example = aws.ec2.getNetworkInterfaceOutput({\n id: exampleVpcEndpoint.networkInterfaceIds[0],\n});\nconst exampleAgent = new aws.datasync.Agent(\"example\", {\n ipAddress: \"1.2.3.4\",\n securityGroupArns: [exampleAwsSecurityGroup.arn],\n subnetArns: [exampleAwsSubnet.arn],\n vpcEndpointId: exampleVpcEndpoint.id,\n privateLinkEndpoint: example.apply(example =\u003e example.privateIp),\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_vpc_endpoint = aws.ec2.VpcEndpoint(\"example\",\n service_name=f\"com.amazonaws.{current.name}.datasync\",\n vpc_id=example_aws_vpc[\"id\"],\n security_group_ids=[example_aws_security_group[\"id\"]],\n subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_endpoint_type=\"Interface\")\nexample = aws.ec2.get_network_interface_output(id=example_vpc_endpoint.network_interface_ids[0])\nexample_agent = aws.datasync.Agent(\"example\",\n ip_address=\"1.2.3.4\",\n security_group_arns=[example_aws_security_group[\"arn\"]],\n subnet_arns=[example_aws_subnet[\"arn\"]],\n vpc_endpoint_id=example_vpc_endpoint.id,\n private_link_endpoint=example.private_ip,\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint(\"example\", new()\n {\n ServiceName = $\"com.amazonaws.{current.Apply(getRegionResult =\u003e getRegionResult.Name)}.datasync\",\n VpcId = exampleAwsVpc.Id,\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcEndpointType = \"Interface\",\n });\n\n var example = Aws.Ec2.GetNetworkInterface.Invoke(new()\n {\n Id = exampleVpcEndpoint.NetworkInterfaceIds[0],\n });\n\n var exampleAgent = new Aws.DataSync.Agent(\"example\", new()\n {\n IpAddress = \"1.2.3.4\",\n SecurityGroupArns = new[]\n {\n exampleAwsSecurityGroup.Arn,\n },\n SubnetArns = new[]\n {\n exampleAwsSubnet.Arn,\n },\n VpcEndpointId = exampleVpcEndpoint.Id,\n PrivateLinkEndpoint = example.Apply(getNetworkInterfaceResult =\u003e getNetworkInterfaceResult.PrivateIp),\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpoint, err := ec2.NewVpcEndpoint(ctx, \"example\", \u0026ec2.VpcEndpointArgs{\n\t\t\tServiceName: pulumi.Sprintf(\"com.amazonaws.%v.datasync\", current.Name),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := ec2.LookupNetworkInterfaceOutput(ctx, ec2.GetNetworkInterfaceOutputArgs{\n\t\t\tId: exampleVpcEndpoint.NetworkInterfaceIds.ApplyT(func(networkInterfaceIds []string) (string, error) {\n\t\t\t\treturn networkInterfaceIds[0], nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t}, nil)\n\t\t_, err = datasync.NewAgent(ctx, \"example\", \u0026datasync.AgentArgs{\n\t\t\tIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tSecurityGroupArns: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Arn,\n\t\t\t},\n\t\t\tSubnetArns: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Arn,\n\t\t\t},\n\t\t\tVpcEndpointId: exampleVpcEndpoint.ID(),\n\t\t\tPrivateLinkEndpoint: pulumi.String(example.ApplyT(func(example ec2.GetNetworkInterfaceResult) (*string, error) {\n\t\t\t\treturn \u0026example.PrivateIp, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tName: pulumi.String(\"example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkInterfaceArgs;\nimport com.pulumi.aws.datasync.Agent;\nimport com.pulumi.aws.datasync.AgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceName(String.format(\"com.amazonaws.%s.datasync\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .vpcId(exampleAwsVpc.id())\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .subnetIds(exampleAwsSubnet.id())\n .vpcEndpointType(\"Interface\")\n .build());\n\n final var example = Ec2Functions.getNetworkInterface(GetNetworkInterfaceArgs.builder()\n .id(exampleVpcEndpoint.networkInterfaceIds().applyValue(networkInterfaceIds -\u003e networkInterfaceIds[0]))\n .build());\n\n var exampleAgent = new Agent(\"exampleAgent\", AgentArgs.builder()\n .ipAddress(\"1.2.3.4\")\n .securityGroupArns(exampleAwsSecurityGroup.arn())\n .subnetArns(exampleAwsSubnet.arn())\n .vpcEndpointId(exampleVpcEndpoint.id())\n .privateLinkEndpoint(example.applyValue(getNetworkInterfaceResult -\u003e getNetworkInterfaceResult).applyValue(example -\u003e example.applyValue(getNetworkInterfaceResult -\u003e getNetworkInterfaceResult.privateIp())))\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAgent:\n type: aws:datasync:Agent\n name: example\n properties:\n ipAddress: 1.2.3.4\n securityGroupArns:\n - ${exampleAwsSecurityGroup.arn}\n subnetArns:\n - ${exampleAwsSubnet.arn}\n vpcEndpointId: ${exampleVpcEndpoint.id}\n privateLinkEndpoint: ${example.privateIp}\n name: example\n exampleVpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: example\n properties:\n serviceName: com.amazonaws.${current.name}.datasync\n vpcId: ${exampleAwsVpc.id}\n securityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcEndpointType: Interface\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n example:\n fn::invoke:\n function: aws:ec2:getNetworkInterface\n arguments:\n id: ${exampleVpcEndpoint.networkInterfaceIds[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_agent` using the DataSync Agent Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/agent:Agent example arn:aws:datasync:us-east-1:123456789012:agent/agent-12345678901234567\n```\n", + "description": "Manages an AWS DataSync Agent deployed on premises.\n\n\u003e **NOTE:** One of `activation_key` or `ip_address` must be provided for resource creation (agent activation). Neither is required for resource import. If using `ip_address`, this provider must be able to make an HTTP (port 80) GET request to the specified IP address from where it is running. The agent will turn off that HTTP server after activation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.Agent(\"example\", {\n ipAddress: \"1.2.3.4\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.Agent(\"example\",\n ip_address=\"1.2.3.4\",\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.Agent(\"example\", new()\n {\n IpAddress = \"1.2.3.4\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\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 := datasync.NewAgent(ctx, \"example\", \u0026datasync.AgentArgs{\n\t\t\tIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tName: pulumi.String(\"example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.datasync.Agent;\nimport com.pulumi.aws.datasync.AgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Agent(\"example\", AgentArgs.builder()\n .ipAddress(\"1.2.3.4\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:Agent\n properties:\n ipAddress: 1.2.3.4\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With VPC Endpoints\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleVpcEndpoint = new aws.ec2.VpcEndpoint(\"example\", {\n serviceName: current.then(current =\u003e `com.amazonaws.${current.name}.datasync`),\n vpcId: exampleAwsVpc.id,\n securityGroupIds: [exampleAwsSecurityGroup.id],\n subnetIds: [exampleAwsSubnet.id],\n vpcEndpointType: \"Interface\",\n});\nconst example = aws.ec2.getNetworkInterfaceOutput({\n id: exampleVpcEndpoint.networkInterfaceIds[0],\n});\nconst exampleAgent = new aws.datasync.Agent(\"example\", {\n ipAddress: \"1.2.3.4\",\n securityGroupArns: [exampleAwsSecurityGroup.arn],\n subnetArns: [exampleAwsSubnet.arn],\n vpcEndpointId: exampleVpcEndpoint.id,\n privateLinkEndpoint: example.apply(example =\u003e example.privateIp),\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_vpc_endpoint = aws.ec2.VpcEndpoint(\"example\",\n service_name=f\"com.amazonaws.{current.name}.datasync\",\n vpc_id=example_aws_vpc[\"id\"],\n security_group_ids=[example_aws_security_group[\"id\"]],\n subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_endpoint_type=\"Interface\")\nexample = aws.ec2.get_network_interface_output(id=example_vpc_endpoint.network_interface_ids[0])\nexample_agent = aws.datasync.Agent(\"example\",\n ip_address=\"1.2.3.4\",\n security_group_arns=[example_aws_security_group[\"arn\"]],\n subnet_arns=[example_aws_subnet[\"arn\"]],\n vpc_endpoint_id=example_vpc_endpoint.id,\n private_link_endpoint=example.private_ip,\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint(\"example\", new()\n {\n ServiceName = $\"com.amazonaws.{current.Apply(getRegionResult =\u003e getRegionResult.Name)}.datasync\",\n VpcId = exampleAwsVpc.Id,\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcEndpointType = \"Interface\",\n });\n\n var example = Aws.Ec2.GetNetworkInterface.Invoke(new()\n {\n Id = exampleVpcEndpoint.NetworkInterfaceIds[0],\n });\n\n var exampleAgent = new Aws.DataSync.Agent(\"example\", new()\n {\n IpAddress = \"1.2.3.4\",\n SecurityGroupArns = new[]\n {\n exampleAwsSecurityGroup.Arn,\n },\n SubnetArns = new[]\n {\n exampleAwsSubnet.Arn,\n },\n VpcEndpointId = exampleVpcEndpoint.Id,\n PrivateLinkEndpoint = example.Apply(getNetworkInterfaceResult =\u003e getNetworkInterfaceResult.PrivateIp),\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpoint, err := ec2.NewVpcEndpoint(ctx, \"example\", \u0026ec2.VpcEndpointArgs{\n\t\t\tServiceName: pulumi.Sprintf(\"com.amazonaws.%v.datasync\", current.Name),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := ec2.LookupNetworkInterfaceOutput(ctx, ec2.GetNetworkInterfaceOutputArgs{\n\t\t\tId: exampleVpcEndpoint.NetworkInterfaceIds.ApplyT(func(networkInterfaceIds []string) (string, error) {\n\t\t\t\treturn networkInterfaceIds[0], nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t}, nil)\n\t\t_, err = datasync.NewAgent(ctx, \"example\", \u0026datasync.AgentArgs{\n\t\t\tIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tSecurityGroupArns: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Arn,\n\t\t\t},\n\t\t\tSubnetArns: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Arn,\n\t\t\t},\n\t\t\tVpcEndpointId: exampleVpcEndpoint.ID(),\n\t\t\tPrivateLinkEndpoint: pulumi.String(example.ApplyT(func(example ec2.GetNetworkInterfaceResult) (*string, error) {\n\t\t\t\treturn \u0026example.PrivateIp, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tName: pulumi.String(\"example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkInterfaceArgs;\nimport com.pulumi.aws.datasync.Agent;\nimport com.pulumi.aws.datasync.AgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceName(String.format(\"com.amazonaws.%s.datasync\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .vpcId(exampleAwsVpc.id())\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .subnetIds(exampleAwsSubnet.id())\n .vpcEndpointType(\"Interface\")\n .build());\n\n final var example = Ec2Functions.getNetworkInterface(GetNetworkInterfaceArgs.builder()\n .id(exampleVpcEndpoint.networkInterfaceIds().applyValue(networkInterfaceIds -\u003e networkInterfaceIds[0]))\n .build());\n\n var exampleAgent = new Agent(\"exampleAgent\", AgentArgs.builder()\n .ipAddress(\"1.2.3.4\")\n .securityGroupArns(exampleAwsSecurityGroup.arn())\n .subnetArns(exampleAwsSubnet.arn())\n .vpcEndpointId(exampleVpcEndpoint.id())\n .privateLinkEndpoint(example.applyValue(getNetworkInterfaceResult -\u003e getNetworkInterfaceResult).applyValue(example -\u003e example.applyValue(getNetworkInterfaceResult -\u003e getNetworkInterfaceResult.privateIp())))\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAgent:\n type: aws:datasync:Agent\n name: example\n properties:\n ipAddress: 1.2.3.4\n securityGroupArns:\n - ${exampleAwsSecurityGroup.arn}\n subnetArns:\n - ${exampleAwsSubnet.arn}\n vpcEndpointId: ${exampleVpcEndpoint.id}\n privateLinkEndpoint: ${example.privateIp}\n name: example\n exampleVpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: example\n properties:\n serviceName: com.amazonaws.${current.name}.datasync\n vpcId: ${exampleAwsVpc.id}\n securityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcEndpointType: Interface\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:ec2:getNetworkInterface\n Arguments:\n id: ${exampleVpcEndpoint.networkInterfaceIds[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_agent` using the DataSync Agent Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/agent:Agent example arn:aws:datasync:us-east-1:123456789012:agent/agent-12345678901234567\n```\n", "properties": { "activationKey": { "type": "string", @@ -218629,7 +218629,7 @@ } }, "aws:datasync/locationHdfs:LocationHdfs": { - "description": "Manages an HDFS Location within AWS DataSync.\n\n\u003e **NOTE:** The DataSync Agents must be available before creating this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.LocationHdfs(\"example\", {\n agentArns: [exampleAwsDatasyncAgent.arn],\n authenticationType: \"SIMPLE\",\n simpleUser: \"example\",\n nameNodes: [{\n hostname: exampleAwsInstance.privateDns,\n port: 80,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.LocationHdfs(\"example\",\n agent_arns=[example_aws_datasync_agent[\"arn\"]],\n authentication_type=\"SIMPLE\",\n simple_user=\"example\",\n name_nodes=[{\n \"hostname\": example_aws_instance[\"privateDns\"],\n \"port\": 80,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.LocationHdfs(\"example\", new()\n {\n AgentArns = new[]\n {\n exampleAwsDatasyncAgent.Arn,\n },\n AuthenticationType = \"SIMPLE\",\n SimpleUser = \"example\",\n NameNodes = new[]\n {\n new Aws.DataSync.Inputs.LocationHdfsNameNodeArgs\n {\n Hostname = exampleAwsInstance.PrivateDns,\n Port = 80,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\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 := datasync.NewLocationHdfs(ctx, \"example\", \u0026datasync.LocationHdfsArgs{\n\t\t\tAgentArns: pulumi.StringArray{\n\t\t\t\texampleAwsDatasyncAgent.Arn,\n\t\t\t},\n\t\t\tAuthenticationType: pulumi.String(\"SIMPLE\"),\n\t\t\tSimpleUser: pulumi.String(\"example\"),\n\t\t\tNameNodes: datasync.LocationHdfsNameNodeArray{\n\t\t\t\t\u0026datasync.LocationHdfsNameNodeArgs{\n\t\t\t\t\tHostname: pulumi.Any(exampleAwsInstance.PrivateDns),\n\t\t\t\t\tPort: pulumi.Int(80),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.datasync.LocationHdfs;\nimport com.pulumi.aws.datasync.LocationHdfsArgs;\nimport com.pulumi.aws.datasync.inputs.LocationHdfsNameNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LocationHdfs(\"example\", LocationHdfsArgs.builder()\n .agentArns(exampleAwsDatasyncAgent.arn())\n .authenticationType(\"SIMPLE\")\n .simpleUser(\"example\")\n .nameNodes(LocationHdfsNameNodeArgs.builder()\n .hostname(exampleAwsInstance.privateDns())\n .port(80)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:LocationHdfs\n properties:\n agentArns:\n - ${exampleAwsDatasyncAgent.arn}\n authenticationType: SIMPLE\n simpleUser: example\n nameNodes:\n - hostname: ${exampleAwsInstance.privateDns}\n port: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Kerberos Authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.datasync.LocationHdfs(\"example\", {\n agentArns: [exampleAwsDatasyncAgent.arn],\n authenticationType: \"KERBEROS\",\n nameNodes: [{\n hostname: exampleAwsInstance.privateDns,\n port: 80,\n }],\n kerberosPrincipal: \"user@example.com\",\n kerberosKeytabBase64: std.filebase64({\n input: \"user.keytab\",\n }).then(invoke =\u003e invoke.result),\n kerberosKrb5Conf: std.file({\n input: \"krb5.conf\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.datasync.LocationHdfs(\"example\",\n agent_arns=[example_aws_datasync_agent[\"arn\"]],\n authentication_type=\"KERBEROS\",\n name_nodes=[{\n \"hostname\": example_aws_instance[\"privateDns\"],\n \"port\": 80,\n }],\n kerberos_principal=\"user@example.com\",\n kerberos_keytab_base64=std.filebase64(input=\"user.keytab\").result,\n kerberos_krb5_conf=std.file(input=\"krb5.conf\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.LocationHdfs(\"example\", new()\n {\n AgentArns = new[]\n {\n exampleAwsDatasyncAgent.Arn,\n },\n AuthenticationType = \"KERBEROS\",\n NameNodes = new[]\n {\n new Aws.DataSync.Inputs.LocationHdfsNameNodeArgs\n {\n Hostname = exampleAwsInstance.PrivateDns,\n Port = 80,\n },\n },\n KerberosPrincipal = \"user@example.com\",\n KerberosKeytabBase64 = Std.Filebase64.Invoke(new()\n {\n Input = \"user.keytab\",\n }).Apply(invoke =\u003e invoke.Result),\n KerberosKrb5Conf = Std.File.Invoke(new()\n {\n Input = \"krb5.conf\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"user.keytab\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"krb5.conf\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datasync.NewLocationHdfs(ctx, \"example\", \u0026datasync.LocationHdfsArgs{\n\t\t\tAgentArns: pulumi.StringArray{\n\t\t\t\texampleAwsDatasyncAgent.Arn,\n\t\t\t},\n\t\t\tAuthenticationType: pulumi.String(\"KERBEROS\"),\n\t\t\tNameNodes: datasync.LocationHdfsNameNodeArray{\n\t\t\t\t\u0026datasync.LocationHdfsNameNodeArgs{\n\t\t\t\t\tHostname: pulumi.Any(exampleAwsInstance.PrivateDns),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tKerberosPrincipal: pulumi.String(\"user@example.com\"),\n\t\t\tKerberosKeytabBase64: pulumi.String(invokeFilebase64.Result),\n\t\t\tKerberosKrb5Conf: pulumi.String(invokeFile1.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.datasync.LocationHdfs;\nimport com.pulumi.aws.datasync.LocationHdfsArgs;\nimport com.pulumi.aws.datasync.inputs.LocationHdfsNameNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LocationHdfs(\"example\", LocationHdfsArgs.builder()\n .agentArns(exampleAwsDatasyncAgent.arn())\n .authenticationType(\"KERBEROS\")\n .nameNodes(LocationHdfsNameNodeArgs.builder()\n .hostname(exampleAwsInstance.privateDns())\n .port(80)\n .build())\n .kerberosPrincipal(\"user@example.com\")\n .kerberosKeytabBase64(StdFunctions.filebase64(Filebase64Args.builder()\n .input(\"user.keytab\")\n .build()).result())\n .kerberosKrb5Conf(StdFunctions.file(FileArgs.builder()\n .input(\"krb5.conf\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:LocationHdfs\n properties:\n agentArns:\n - ${exampleAwsDatasyncAgent.arn}\n authenticationType: KERBEROS\n nameNodes:\n - hostname: ${exampleAwsInstance.privateDns}\n port: 80\n kerberosPrincipal: user@example.com\n kerberosKeytabBase64:\n fn::invoke:\n function: std:filebase64\n arguments:\n input: user.keytab\n return: result\n kerberosKrb5Conf:\n fn::invoke:\n function: std:file\n arguments:\n input: krb5.conf\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_hdfs` using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/locationHdfs:LocationHdfs example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567\n```\n", + "description": "Manages an HDFS Location within AWS DataSync.\n\n\u003e **NOTE:** The DataSync Agents must be available before creating this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.LocationHdfs(\"example\", {\n agentArns: [exampleAwsDatasyncAgent.arn],\n authenticationType: \"SIMPLE\",\n simpleUser: \"example\",\n nameNodes: [{\n hostname: exampleAwsInstance.privateDns,\n port: 80,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.LocationHdfs(\"example\",\n agent_arns=[example_aws_datasync_agent[\"arn\"]],\n authentication_type=\"SIMPLE\",\n simple_user=\"example\",\n name_nodes=[{\n \"hostname\": example_aws_instance[\"privateDns\"],\n \"port\": 80,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.LocationHdfs(\"example\", new()\n {\n AgentArns = new[]\n {\n exampleAwsDatasyncAgent.Arn,\n },\n AuthenticationType = \"SIMPLE\",\n SimpleUser = \"example\",\n NameNodes = new[]\n {\n new Aws.DataSync.Inputs.LocationHdfsNameNodeArgs\n {\n Hostname = exampleAwsInstance.PrivateDns,\n Port = 80,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\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 := datasync.NewLocationHdfs(ctx, \"example\", \u0026datasync.LocationHdfsArgs{\n\t\t\tAgentArns: pulumi.StringArray{\n\t\t\t\texampleAwsDatasyncAgent.Arn,\n\t\t\t},\n\t\t\tAuthenticationType: pulumi.String(\"SIMPLE\"),\n\t\t\tSimpleUser: pulumi.String(\"example\"),\n\t\t\tNameNodes: datasync.LocationHdfsNameNodeArray{\n\t\t\t\t\u0026datasync.LocationHdfsNameNodeArgs{\n\t\t\t\t\tHostname: pulumi.Any(exampleAwsInstance.PrivateDns),\n\t\t\t\t\tPort: pulumi.Int(80),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.datasync.LocationHdfs;\nimport com.pulumi.aws.datasync.LocationHdfsArgs;\nimport com.pulumi.aws.datasync.inputs.LocationHdfsNameNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LocationHdfs(\"example\", LocationHdfsArgs.builder()\n .agentArns(exampleAwsDatasyncAgent.arn())\n .authenticationType(\"SIMPLE\")\n .simpleUser(\"example\")\n .nameNodes(LocationHdfsNameNodeArgs.builder()\n .hostname(exampleAwsInstance.privateDns())\n .port(80)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:LocationHdfs\n properties:\n agentArns:\n - ${exampleAwsDatasyncAgent.arn}\n authenticationType: SIMPLE\n simpleUser: example\n nameNodes:\n - hostname: ${exampleAwsInstance.privateDns}\n port: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Kerberos Authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.datasync.LocationHdfs(\"example\", {\n agentArns: [exampleAwsDatasyncAgent.arn],\n authenticationType: \"KERBEROS\",\n nameNodes: [{\n hostname: exampleAwsInstance.privateDns,\n port: 80,\n }],\n kerberosPrincipal: \"user@example.com\",\n kerberosKeytabBase64: std.filebase64({\n input: \"user.keytab\",\n }).then(invoke =\u003e invoke.result),\n kerberosKrb5Conf: std.file({\n input: \"krb5.conf\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.datasync.LocationHdfs(\"example\",\n agent_arns=[example_aws_datasync_agent[\"arn\"]],\n authentication_type=\"KERBEROS\",\n name_nodes=[{\n \"hostname\": example_aws_instance[\"privateDns\"],\n \"port\": 80,\n }],\n kerberos_principal=\"user@example.com\",\n kerberos_keytab_base64=std.filebase64(input=\"user.keytab\").result,\n kerberos_krb5_conf=std.file(input=\"krb5.conf\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.LocationHdfs(\"example\", new()\n {\n AgentArns = new[]\n {\n exampleAwsDatasyncAgent.Arn,\n },\n AuthenticationType = \"KERBEROS\",\n NameNodes = new[]\n {\n new Aws.DataSync.Inputs.LocationHdfsNameNodeArgs\n {\n Hostname = exampleAwsInstance.PrivateDns,\n Port = 80,\n },\n },\n KerberosPrincipal = \"user@example.com\",\n KerberosKeytabBase64 = Std.Filebase64.Invoke(new()\n {\n Input = \"user.keytab\",\n }).Apply(invoke =\u003e invoke.Result),\n KerberosKrb5Conf = Std.File.Invoke(new()\n {\n Input = \"krb5.conf\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"user.keytab\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"krb5.conf\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datasync.NewLocationHdfs(ctx, \"example\", \u0026datasync.LocationHdfsArgs{\n\t\t\tAgentArns: pulumi.StringArray{\n\t\t\t\texampleAwsDatasyncAgent.Arn,\n\t\t\t},\n\t\t\tAuthenticationType: pulumi.String(\"KERBEROS\"),\n\t\t\tNameNodes: datasync.LocationHdfsNameNodeArray{\n\t\t\t\t\u0026datasync.LocationHdfsNameNodeArgs{\n\t\t\t\t\tHostname: pulumi.Any(exampleAwsInstance.PrivateDns),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tKerberosPrincipal: pulumi.String(\"user@example.com\"),\n\t\t\tKerberosKeytabBase64: pulumi.String(invokeFilebase64.Result),\n\t\t\tKerberosKrb5Conf: pulumi.String(invokeFile1.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.datasync.LocationHdfs;\nimport com.pulumi.aws.datasync.LocationHdfsArgs;\nimport com.pulumi.aws.datasync.inputs.LocationHdfsNameNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LocationHdfs(\"example\", LocationHdfsArgs.builder()\n .agentArns(exampleAwsDatasyncAgent.arn())\n .authenticationType(\"KERBEROS\")\n .nameNodes(LocationHdfsNameNodeArgs.builder()\n .hostname(exampleAwsInstance.privateDns())\n .port(80)\n .build())\n .kerberosPrincipal(\"user@example.com\")\n .kerberosKeytabBase64(StdFunctions.filebase64(Filebase64Args.builder()\n .input(\"user.keytab\")\n .build()).result())\n .kerberosKrb5Conf(StdFunctions.file(FileArgs.builder()\n .input(\"krb5.conf\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:LocationHdfs\n properties:\n agentArns:\n - ${exampleAwsDatasyncAgent.arn}\n authenticationType: KERBEROS\n nameNodes:\n - hostname: ${exampleAwsInstance.privateDns}\n port: 80\n kerberosPrincipal: user@example.com\n kerberosKeytabBase64:\n fn::invoke:\n Function: std:filebase64\n Arguments:\n input: user.keytab\n Return: result\n kerberosKrb5Conf:\n fn::invoke:\n Function: std:file\n Arguments:\n input: krb5.conf\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_hdfs` using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/locationHdfs:LocationHdfs example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567\n```\n", "properties": { "agentArns": { "type": "array", @@ -220259,7 +220259,7 @@ } }, "aws:datazone/environmentBlueprintConfiguration:EnvironmentBlueprintConfiguration": { - "description": "Resource for managing an AWS DataZone Environment Blueprint Configuration.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datazone.Domain(\"example\", {\n name: \"example_domain\",\n domainExecutionRole: domainExecutionRole.arn,\n});\nconst defaultDataLake = aws.datazone.getEnvironmentBlueprintOutput({\n domainId: example.id,\n name: \"DefaultDataLake\",\n managed: true,\n});\nconst exampleEnvironmentBlueprintConfiguration = new aws.datazone.EnvironmentBlueprintConfiguration(\"example\", {\n domainId: example.id,\n environmentBlueprintId: defaultDataLake.apply(defaultDataLake =\u003e defaultDataLake.id),\n enabledRegions: [\"us-east-1\"],\n regionalParameters: {\n \"us-east-1\": {\n s3Location: \"s3://my-amazon-datazone-bucket\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datazone.Domain(\"example\",\n name=\"example_domain\",\n domain_execution_role=domain_execution_role[\"arn\"])\ndefault_data_lake = aws.datazone.get_environment_blueprint_output(domain_id=example.id,\n name=\"DefaultDataLake\",\n managed=True)\nexample_environment_blueprint_configuration = aws.datazone.EnvironmentBlueprintConfiguration(\"example\",\n domain_id=example.id,\n environment_blueprint_id=default_data_lake.id,\n enabled_regions=[\"us-east-1\"],\n regional_parameters={\n \"us-east-1\": {\n \"s3Location\": \"s3://my-amazon-datazone-bucket\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataZone.Domain(\"example\", new()\n {\n Name = \"example_domain\",\n DomainExecutionRole = domainExecutionRole.Arn,\n });\n\n var defaultDataLake = Aws.DataZone.GetEnvironmentBlueprint.Invoke(new()\n {\n DomainId = example.Id,\n Name = \"DefaultDataLake\",\n Managed = true,\n });\n\n var exampleEnvironmentBlueprintConfiguration = new Aws.DataZone.EnvironmentBlueprintConfiguration(\"example\", new()\n {\n DomainId = example.Id,\n EnvironmentBlueprintId = defaultDataLake.Apply(getEnvironmentBlueprintResult =\u003e getEnvironmentBlueprintResult.Id),\n EnabledRegions = new[]\n {\n \"us-east-1\",\n },\n RegionalParameters = \n {\n { \"us-east-1\", \n {\n { \"s3Location\", \"s3://my-amazon-datazone-bucket\" },\n } },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datazone\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := datazone.NewDomain(ctx, \"example\", \u0026datazone.DomainArgs{\n\t\t\tName: pulumi.String(\"example_domain\"),\n\t\t\tDomainExecutionRole: pulumi.Any(domainExecutionRole.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDataLake := datazone.GetEnvironmentBlueprintOutput(ctx, datazone.GetEnvironmentBlueprintOutputArgs{\n\t\t\tDomainId: example.ID(),\n\t\t\tName: pulumi.String(\"DefaultDataLake\"),\n\t\t\tManaged: pulumi.Bool(true),\n\t\t}, nil)\n\t\t_, err = datazone.NewEnvironmentBlueprintConfiguration(ctx, \"example\", \u0026datazone.EnvironmentBlueprintConfigurationArgs{\n\t\t\tDomainId: example.ID(),\n\t\t\tEnvironmentBlueprintId: pulumi.String(defaultDataLake.ApplyT(func(defaultDataLake datazone.GetEnvironmentBlueprintResult) (*string, error) {\n\t\t\t\treturn \u0026defaultDataLake.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tEnabledRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1\"),\n\t\t\t},\n\t\t\tRegionalParameters: pulumi.StringMapMap{\n\t\t\t\t\"us-east-1\": pulumi.StringMap{\n\t\t\t\t\t\"s3Location\": pulumi.String(\"s3://my-amazon-datazone-bucket\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.datazone.Domain;\nimport com.pulumi.aws.datazone.DomainArgs;\nimport com.pulumi.aws.datazone.DatazoneFunctions;\nimport com.pulumi.aws.datazone.inputs.GetEnvironmentBlueprintArgs;\nimport com.pulumi.aws.datazone.EnvironmentBlueprintConfiguration;\nimport com.pulumi.aws.datazone.EnvironmentBlueprintConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Domain(\"example\", DomainArgs.builder()\n .name(\"example_domain\")\n .domainExecutionRole(domainExecutionRole.arn())\n .build());\n\n final var defaultDataLake = DatazoneFunctions.getEnvironmentBlueprint(GetEnvironmentBlueprintArgs.builder()\n .domainId(example.id())\n .name(\"DefaultDataLake\")\n .managed(true)\n .build());\n\n var exampleEnvironmentBlueprintConfiguration = new EnvironmentBlueprintConfiguration(\"exampleEnvironmentBlueprintConfiguration\", EnvironmentBlueprintConfigurationArgs.builder()\n .domainId(example.id())\n .environmentBlueprintId(defaultDataLake.applyValue(getEnvironmentBlueprintResult -\u003e getEnvironmentBlueprintResult).applyValue(defaultDataLake -\u003e defaultDataLake.applyValue(getEnvironmentBlueprintResult -\u003e getEnvironmentBlueprintResult.id())))\n .enabledRegions(\"us-east-1\")\n .regionalParameters(Map.of(\"us-east-1\", Map.of(\"s3Location\", \"s3://my-amazon-datazone-bucket\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datazone:Domain\n properties:\n name: example_domain\n domainExecutionRole: ${domainExecutionRole.arn}\n exampleEnvironmentBlueprintConfiguration:\n type: aws:datazone:EnvironmentBlueprintConfiguration\n name: example\n properties:\n domainId: ${example.id}\n environmentBlueprintId: ${defaultDataLake.id}\n enabledRegions:\n - us-east-1\n regionalParameters:\n us-east-1:\n s3Location: s3://my-amazon-datazone-bucket\nvariables:\n defaultDataLake:\n fn::invoke:\n function: aws:datazone:getEnvironmentBlueprint\n arguments:\n domainId: ${example.id}\n name: DefaultDataLake\n managed: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DataZone Environment Blueprint Configuration using the `domain_id` and `environment_blueprint_id`, separated by a `/`. For example:\n\n```sh\n$ pulumi import aws:datazone/environmentBlueprintConfiguration:EnvironmentBlueprintConfiguration example domain-id-12345/environment-blueprint-id-54321\n```\n", + "description": "Resource for managing an AWS DataZone Environment Blueprint Configuration.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datazone.Domain(\"example\", {\n name: \"example_domain\",\n domainExecutionRole: domainExecutionRole.arn,\n});\nconst defaultDataLake = aws.datazone.getEnvironmentBlueprintOutput({\n domainId: example.id,\n name: \"DefaultDataLake\",\n managed: true,\n});\nconst exampleEnvironmentBlueprintConfiguration = new aws.datazone.EnvironmentBlueprintConfiguration(\"example\", {\n domainId: example.id,\n environmentBlueprintId: defaultDataLake.apply(defaultDataLake =\u003e defaultDataLake.id),\n enabledRegions: [\"us-east-1\"],\n regionalParameters: {\n \"us-east-1\": {\n s3Location: \"s3://my-amazon-datazone-bucket\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datazone.Domain(\"example\",\n name=\"example_domain\",\n domain_execution_role=domain_execution_role[\"arn\"])\ndefault_data_lake = aws.datazone.get_environment_blueprint_output(domain_id=example.id,\n name=\"DefaultDataLake\",\n managed=True)\nexample_environment_blueprint_configuration = aws.datazone.EnvironmentBlueprintConfiguration(\"example\",\n domain_id=example.id,\n environment_blueprint_id=default_data_lake.id,\n enabled_regions=[\"us-east-1\"],\n regional_parameters={\n \"us-east-1\": {\n \"s3Location\": \"s3://my-amazon-datazone-bucket\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataZone.Domain(\"example\", new()\n {\n Name = \"example_domain\",\n DomainExecutionRole = domainExecutionRole.Arn,\n });\n\n var defaultDataLake = Aws.DataZone.GetEnvironmentBlueprint.Invoke(new()\n {\n DomainId = example.Id,\n Name = \"DefaultDataLake\",\n Managed = true,\n });\n\n var exampleEnvironmentBlueprintConfiguration = new Aws.DataZone.EnvironmentBlueprintConfiguration(\"example\", new()\n {\n DomainId = example.Id,\n EnvironmentBlueprintId = defaultDataLake.Apply(getEnvironmentBlueprintResult =\u003e getEnvironmentBlueprintResult.Id),\n EnabledRegions = new[]\n {\n \"us-east-1\",\n },\n RegionalParameters = \n {\n { \"us-east-1\", \n {\n { \"s3Location\", \"s3://my-amazon-datazone-bucket\" },\n } },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datazone\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := datazone.NewDomain(ctx, \"example\", \u0026datazone.DomainArgs{\n\t\t\tName: pulumi.String(\"example_domain\"),\n\t\t\tDomainExecutionRole: pulumi.Any(domainExecutionRole.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDataLake := datazone.GetEnvironmentBlueprintOutput(ctx, datazone.GetEnvironmentBlueprintOutputArgs{\n\t\t\tDomainId: example.ID(),\n\t\t\tName: pulumi.String(\"DefaultDataLake\"),\n\t\t\tManaged: pulumi.Bool(true),\n\t\t}, nil)\n\t\t_, err = datazone.NewEnvironmentBlueprintConfiguration(ctx, \"example\", \u0026datazone.EnvironmentBlueprintConfigurationArgs{\n\t\t\tDomainId: example.ID(),\n\t\t\tEnvironmentBlueprintId: pulumi.String(defaultDataLake.ApplyT(func(defaultDataLake datazone.GetEnvironmentBlueprintResult) (*string, error) {\n\t\t\t\treturn \u0026defaultDataLake.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tEnabledRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1\"),\n\t\t\t},\n\t\t\tRegionalParameters: pulumi.StringMapMap{\n\t\t\t\t\"us-east-1\": pulumi.StringMap{\n\t\t\t\t\t\"s3Location\": pulumi.String(\"s3://my-amazon-datazone-bucket\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.datazone.Domain;\nimport com.pulumi.aws.datazone.DomainArgs;\nimport com.pulumi.aws.datazone.DatazoneFunctions;\nimport com.pulumi.aws.datazone.inputs.GetEnvironmentBlueprintArgs;\nimport com.pulumi.aws.datazone.EnvironmentBlueprintConfiguration;\nimport com.pulumi.aws.datazone.EnvironmentBlueprintConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Domain(\"example\", DomainArgs.builder()\n .name(\"example_domain\")\n .domainExecutionRole(domainExecutionRole.arn())\n .build());\n\n final var defaultDataLake = DatazoneFunctions.getEnvironmentBlueprint(GetEnvironmentBlueprintArgs.builder()\n .domainId(example.id())\n .name(\"DefaultDataLake\")\n .managed(true)\n .build());\n\n var exampleEnvironmentBlueprintConfiguration = new EnvironmentBlueprintConfiguration(\"exampleEnvironmentBlueprintConfiguration\", EnvironmentBlueprintConfigurationArgs.builder()\n .domainId(example.id())\n .environmentBlueprintId(defaultDataLake.applyValue(getEnvironmentBlueprintResult -\u003e getEnvironmentBlueprintResult).applyValue(defaultDataLake -\u003e defaultDataLake.applyValue(getEnvironmentBlueprintResult -\u003e getEnvironmentBlueprintResult.id())))\n .enabledRegions(\"us-east-1\")\n .regionalParameters(Map.of(\"us-east-1\", Map.of(\"s3Location\", \"s3://my-amazon-datazone-bucket\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datazone:Domain\n properties:\n name: example_domain\n domainExecutionRole: ${domainExecutionRole.arn}\n exampleEnvironmentBlueprintConfiguration:\n type: aws:datazone:EnvironmentBlueprintConfiguration\n name: example\n properties:\n domainId: ${example.id}\n environmentBlueprintId: ${defaultDataLake.id}\n enabledRegions:\n - us-east-1\n regionalParameters:\n us-east-1:\n s3Location: s3://my-amazon-datazone-bucket\nvariables:\n defaultDataLake:\n fn::invoke:\n Function: aws:datazone:getEnvironmentBlueprint\n Arguments:\n domainId: ${example.id}\n name: DefaultDataLake\n managed: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DataZone Environment Blueprint Configuration using the `domain_id` and `environment_blueprint_id`, separated by a `/`. For example:\n\n```sh\n$ pulumi import aws:datazone/environmentBlueprintConfiguration:EnvironmentBlueprintConfiguration example domain-id-12345/environment-blueprint-id-54321\n```\n", "properties": { "domainId": { "type": "string", @@ -220381,7 +220381,7 @@ } }, "aws:datazone/environmentProfile:EnvironmentProfile": { - "description": "Resource for managing an AWS DataZone Environment Profile.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst domainExecutionRole = new aws.iam.Role(\"domain_execution_role\", {\n name: \"example-name\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [\n {\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"datazone.amazonaws.com\",\n },\n },\n {\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"cloudformation.amazonaws.com\",\n },\n },\n ],\n }),\n inlinePolicies: [{\n name: \"example-name\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"datazone:*\",\n \"ram:*\",\n \"sso:*\",\n \"kms:*\",\n ],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n }],\n});\nconst testDomain = new aws.datazone.Domain(\"test\", {\n name: \"example-name\",\n domainExecutionRole: domainExecutionRole.arn,\n});\nconst testSecurityGroup = new aws.ec2.SecurityGroup(\"test\", {name: \"example-name\"});\nconst testProject = new aws.datazone.Project(\"test\", {\n domainIdentifier: testDomain.id,\n glossaryTerms: [\"2N8w6XJCwZf\"],\n name: \"example-name\",\n description: \"desc\",\n skipDeletionCheck: true,\n});\nconst test = aws.getCallerIdentity({});\nconst testGetRegion = aws.getRegion({});\nconst testGetEnvironmentBlueprint = aws.datazone.getEnvironmentBlueprintOutput({\n domainId: testDomain.id,\n name: \"DefaultDataLake\",\n managed: true,\n});\nconst testEnvironmentBlueprintConfiguration = new aws.datazone.EnvironmentBlueprintConfiguration(\"test\", {\n domainId: testDomain.id,\n environmentBlueprintId: testGetEnvironmentBlueprint.apply(testGetEnvironmentBlueprint =\u003e testGetEnvironmentBlueprint.id),\n provisioningRoleArn: domainExecutionRole.arn,\n enabledRegions: [testGetRegion.then(testGetRegion =\u003e testGetRegion.name)],\n});\nconst testEnvironmentProfile = new aws.datazone.EnvironmentProfile(\"test\", {\n awsAccountId: test.then(test =\u003e test.accountId),\n awsAccountRegion: testGetRegion.then(testGetRegion =\u003e testGetRegion.name),\n description: \"description\",\n environmentBlueprintIdentifier: testGetEnvironmentBlueprint.apply(testGetEnvironmentBlueprint =\u003e testGetEnvironmentBlueprint.id),\n name: \"example-name\",\n projectIdentifier: testProject.id,\n domainIdentifier: testDomain.id,\n userParameters: [{\n name: \"consumerGlueDbName\",\n value: \"value\",\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ndomain_execution_role = aws.iam.Role(\"domain_execution_role\",\n name=\"example-name\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"datazone.amazonaws.com\",\n },\n },\n {\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"cloudformation.amazonaws.com\",\n },\n },\n ],\n }),\n inline_policies=[{\n \"name\": \"example-name\",\n \"policy\": json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"datazone:*\",\n \"ram:*\",\n \"sso:*\",\n \"kms:*\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }),\n }])\ntest_domain = aws.datazone.Domain(\"test\",\n name=\"example-name\",\n domain_execution_role=domain_execution_role.arn)\ntest_security_group = aws.ec2.SecurityGroup(\"test\", name=\"example-name\")\ntest_project = aws.datazone.Project(\"test\",\n domain_identifier=test_domain.id,\n glossary_terms=[\"2N8w6XJCwZf\"],\n name=\"example-name\",\n description=\"desc\",\n skip_deletion_check=True)\ntest = aws.get_caller_identity()\ntest_get_region = aws.get_region()\ntest_get_environment_blueprint = aws.datazone.get_environment_blueprint_output(domain_id=test_domain.id,\n name=\"DefaultDataLake\",\n managed=True)\ntest_environment_blueprint_configuration = aws.datazone.EnvironmentBlueprintConfiguration(\"test\",\n domain_id=test_domain.id,\n environment_blueprint_id=test_get_environment_blueprint.id,\n provisioning_role_arn=domain_execution_role.arn,\n enabled_regions=[test_get_region.name])\ntest_environment_profile = aws.datazone.EnvironmentProfile(\"test\",\n aws_account_id=test.account_id,\n aws_account_region=test_get_region.name,\n description=\"description\",\n environment_blueprint_identifier=test_get_environment_blueprint.id,\n name=\"example-name\",\n project_identifier=test_project.id,\n domain_identifier=test_domain.id,\n user_parameters=[{\n \"name\": \"consumerGlueDbName\",\n \"value\": \"value\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var domainExecutionRole = new Aws.Iam.Role(\"domain_execution_role\", new()\n {\n Name = \"example-name\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"datazone.amazonaws.com\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"cloudformation.amazonaws.com\",\n },\n },\n },\n }),\n InlinePolicies = new[]\n {\n new Aws.Iam.Inputs.RoleInlinePolicyArgs\n {\n Name = \"example-name\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"datazone:*\",\n \"ram:*\",\n \"sso:*\",\n \"kms:*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n },\n },\n });\n\n var testDomain = new Aws.DataZone.Domain(\"test\", new()\n {\n Name = \"example-name\",\n DomainExecutionRole = domainExecutionRole.Arn,\n });\n\n var testSecurityGroup = new Aws.Ec2.SecurityGroup(\"test\", new()\n {\n Name = \"example-name\",\n });\n\n var testProject = new Aws.DataZone.Project(\"test\", new()\n {\n DomainIdentifier = testDomain.Id,\n GlossaryTerms = new[]\n {\n \"2N8w6XJCwZf\",\n },\n Name = \"example-name\",\n Description = \"desc\",\n SkipDeletionCheck = true,\n });\n\n var test = Aws.GetCallerIdentity.Invoke();\n\n var testGetRegion = Aws.GetRegion.Invoke();\n\n var testGetEnvironmentBlueprint = Aws.DataZone.GetEnvironmentBlueprint.Invoke(new()\n {\n DomainId = testDomain.Id,\n Name = \"DefaultDataLake\",\n Managed = true,\n });\n\n var testEnvironmentBlueprintConfiguration = new Aws.DataZone.EnvironmentBlueprintConfiguration(\"test\", new()\n {\n DomainId = testDomain.Id,\n EnvironmentBlueprintId = testGetEnvironmentBlueprint.Apply(getEnvironmentBlueprintResult =\u003e getEnvironmentBlueprintResult.Id),\n ProvisioningRoleArn = domainExecutionRole.Arn,\n EnabledRegions = new[]\n {\n testGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n });\n\n var testEnvironmentProfile = new Aws.DataZone.EnvironmentProfile(\"test\", new()\n {\n AwsAccountId = test.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n AwsAccountRegion = testGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n Description = \"description\",\n EnvironmentBlueprintIdentifier = testGetEnvironmentBlueprint.Apply(getEnvironmentBlueprintResult =\u003e getEnvironmentBlueprintResult.Id),\n Name = \"example-name\",\n ProjectIdentifier = testProject.Id,\n DomainIdentifier = testDomain.Id,\n UserParameters = new[]\n {\n new Aws.DataZone.Inputs.EnvironmentProfileUserParameterArgs\n {\n Name = \"consumerGlueDbName\",\n Value = \"value\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datazone\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"datazone.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"cloudformation.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"datazone:*\",\n\t\t\t\t\t\t\"ram:*\",\n\t\t\t\t\t\t\"sso:*\",\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson1 := string(tmpJSON1)\n\t\tdomainExecutionRole, err := iam.NewRole(ctx, \"domain_execution_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\t\t\tPolicy: pulumi.String(json1),\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\ttestDomain, err := datazone.NewDomain(ctx, \"test\", \u0026datazone.DomainArgs{\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tDomainExecutionRole: domainExecutionRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroup(ctx, \"test\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestProject, err := datazone.NewProject(ctx, \"test\", \u0026datazone.ProjectArgs{\n\t\t\tDomainIdentifier: testDomain.ID(),\n\t\t\tGlossaryTerms: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"2N8w6XJCwZf\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tSkipDeletionCheck: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestGetEnvironmentBlueprint := datazone.GetEnvironmentBlueprintOutput(ctx, datazone.GetEnvironmentBlueprintOutputArgs{\n\t\t\tDomainId: testDomain.ID(),\n\t\t\tName: pulumi.String(\"DefaultDataLake\"),\n\t\t\tManaged: pulumi.Bool(true),\n\t\t}, nil)\n\t\t_, err = datazone.NewEnvironmentBlueprintConfiguration(ctx, \"test\", \u0026datazone.EnvironmentBlueprintConfigurationArgs{\n\t\t\tDomainId: testDomain.ID(),\n\t\t\tEnvironmentBlueprintId: pulumi.String(testGetEnvironmentBlueprint.ApplyT(func(testGetEnvironmentBlueprint datazone.GetEnvironmentBlueprintResult) (*string, error) {\n\t\t\t\treturn \u0026testGetEnvironmentBlueprint.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tProvisioningRoleArn: domainExecutionRole.Arn,\n\t\t\tEnabledRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(testGetRegion.Name),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datazone.NewEnvironmentProfile(ctx, \"test\", \u0026datazone.EnvironmentProfileArgs{\n\t\t\tAwsAccountId: pulumi.String(test.AccountId),\n\t\t\tAwsAccountRegion: pulumi.String(testGetRegion.Name),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tEnvironmentBlueprintIdentifier: pulumi.String(testGetEnvironmentBlueprint.ApplyT(func(testGetEnvironmentBlueprint datazone.GetEnvironmentBlueprintResult) (*string, error) {\n\t\t\t\treturn \u0026testGetEnvironmentBlueprint.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tProjectIdentifier: testProject.ID(),\n\t\t\tDomainIdentifier: testDomain.ID(),\n\t\t\tUserParameters: datazone.EnvironmentProfileUserParameterArray{\n\t\t\t\t\u0026datazone.EnvironmentProfileUserParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"consumerGlueDbName\"),\n\t\t\t\t\tValue: pulumi.String(\"value\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport com.pulumi.aws.datazone.Domain;\nimport com.pulumi.aws.datazone.DomainArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.datazone.Project;\nimport com.pulumi.aws.datazone.ProjectArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.datazone.DatazoneFunctions;\nimport com.pulumi.aws.datazone.inputs.GetEnvironmentBlueprintArgs;\nimport com.pulumi.aws.datazone.EnvironmentBlueprintConfiguration;\nimport com.pulumi.aws.datazone.EnvironmentBlueprintConfigurationArgs;\nimport com.pulumi.aws.datazone.EnvironmentProfile;\nimport com.pulumi.aws.datazone.EnvironmentProfileArgs;\nimport com.pulumi.aws.datazone.inputs.EnvironmentProfileUserParameterArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var domainExecutionRole = new Role(\"domainExecutionRole\", RoleArgs.builder()\n .name(\"example-name\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"datazone.amazonaws.com\")\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"cloudformation.amazonaws.com\")\n ))\n )\n ))\n )))\n .inlinePolicies(RoleInlinePolicyArgs.builder()\n .name(\"example-name\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"datazone:*\", \n \"ram:*\", \n \"sso:*\", \n \"kms:*\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build())\n .build());\n\n var testDomain = new Domain(\"testDomain\", DomainArgs.builder()\n .name(\"example-name\")\n .domainExecutionRole(domainExecutionRole.arn())\n .build());\n\n var testSecurityGroup = new SecurityGroup(\"testSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"example-name\")\n .build());\n\n var testProject = new Project(\"testProject\", ProjectArgs.builder()\n .domainIdentifier(testDomain.id())\n .glossaryTerms(\"2N8w6XJCwZf\")\n .name(\"example-name\")\n .description(\"desc\")\n .skipDeletionCheck(true)\n .build());\n\n final var test = AwsFunctions.getCallerIdentity();\n\n final var testGetRegion = AwsFunctions.getRegion();\n\n final var testGetEnvironmentBlueprint = DatazoneFunctions.getEnvironmentBlueprint(GetEnvironmentBlueprintArgs.builder()\n .domainId(testDomain.id())\n .name(\"DefaultDataLake\")\n .managed(true)\n .build());\n\n var testEnvironmentBlueprintConfiguration = new EnvironmentBlueprintConfiguration(\"testEnvironmentBlueprintConfiguration\", EnvironmentBlueprintConfigurationArgs.builder()\n .domainId(testDomain.id())\n .environmentBlueprintId(testGetEnvironmentBlueprint.applyValue(getEnvironmentBlueprintResult -\u003e getEnvironmentBlueprintResult).applyValue(testGetEnvironmentBlueprint -\u003e testGetEnvironmentBlueprint.applyValue(getEnvironmentBlueprintResult -\u003e getEnvironmentBlueprintResult.id())))\n .provisioningRoleArn(domainExecutionRole.arn())\n .enabledRegions(testGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var testEnvironmentProfile = new EnvironmentProfile(\"testEnvironmentProfile\", EnvironmentProfileArgs.builder()\n .awsAccountId(test.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .awsAccountRegion(testGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .description(\"description\")\n .environmentBlueprintIdentifier(testGetEnvironmentBlueprint.applyValue(getEnvironmentBlueprintResult -\u003e getEnvironmentBlueprintResult).applyValue(testGetEnvironmentBlueprint -\u003e testGetEnvironmentBlueprint.applyValue(getEnvironmentBlueprintResult -\u003e getEnvironmentBlueprintResult.id())))\n .name(\"example-name\")\n .projectIdentifier(testProject.id())\n .domainIdentifier(testDomain.id())\n .userParameters(EnvironmentProfileUserParameterArgs.builder()\n .name(\"consumerGlueDbName\")\n .value(\"value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n domainExecutionRole:\n type: aws:iam:Role\n name: domain_execution_role\n properties:\n name: example-name\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service: datazone.amazonaws.com\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service: cloudformation.amazonaws.com\n inlinePolicies:\n - name: example-name\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - datazone:*\n - ram:*\n - sso:*\n - kms:*\n Effect: Allow\n Resource: '*'\n testDomain:\n type: aws:datazone:Domain\n name: test\n properties:\n name: example-name\n domainExecutionRole: ${domainExecutionRole.arn}\n testSecurityGroup:\n type: aws:ec2:SecurityGroup\n name: test\n properties:\n name: example-name\n testProject:\n type: aws:datazone:Project\n name: test\n properties:\n domainIdentifier: ${testDomain.id}\n glossaryTerms:\n - 2N8w6XJCwZf\n name: example-name\n description: desc\n skipDeletionCheck: true\n testEnvironmentBlueprintConfiguration:\n type: aws:datazone:EnvironmentBlueprintConfiguration\n name: test\n properties:\n domainId: ${testDomain.id}\n environmentBlueprintId: ${testGetEnvironmentBlueprint.id}\n provisioningRoleArn: ${domainExecutionRole.arn}\n enabledRegions:\n - ${testGetRegion.name}\n testEnvironmentProfile:\n type: aws:datazone:EnvironmentProfile\n name: test\n properties:\n awsAccountId: ${test.accountId}\n awsAccountRegion: ${testGetRegion.name}\n description: description\n environmentBlueprintIdentifier: ${testGetEnvironmentBlueprint.id}\n name: example-name\n projectIdentifier: ${testProject.id}\n domainIdentifier: ${testDomain.id}\n userParameters:\n - name: consumerGlueDbName\n value: value\nvariables:\n test:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n testGetRegion:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n testGetEnvironmentBlueprint:\n fn::invoke:\n function: aws:datazone:getEnvironmentBlueprint\n arguments:\n domainId: ${testDomain.id}\n name: DefaultDataLake\n managed: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DataZone Environment Profile using a comma-delimited string combining `id` and `domain_identifier`. For example:\n\n```sh\n$ pulumi import aws:datazone/environmentProfile:EnvironmentProfile example environment_profile-id-12345678,domain-id-12345678\n```\n", + "description": "Resource for managing an AWS DataZone Environment Profile.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst domainExecutionRole = new aws.iam.Role(\"domain_execution_role\", {\n name: \"example-name\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [\n {\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"datazone.amazonaws.com\",\n },\n },\n {\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"cloudformation.amazonaws.com\",\n },\n },\n ],\n }),\n inlinePolicies: [{\n name: \"example-name\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"datazone:*\",\n \"ram:*\",\n \"sso:*\",\n \"kms:*\",\n ],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n }],\n});\nconst testDomain = new aws.datazone.Domain(\"test\", {\n name: \"example-name\",\n domainExecutionRole: domainExecutionRole.arn,\n});\nconst testSecurityGroup = new aws.ec2.SecurityGroup(\"test\", {name: \"example-name\"});\nconst testProject = new aws.datazone.Project(\"test\", {\n domainIdentifier: testDomain.id,\n glossaryTerms: [\"2N8w6XJCwZf\"],\n name: \"example-name\",\n description: \"desc\",\n skipDeletionCheck: true,\n});\nconst test = aws.getCallerIdentity({});\nconst testGetRegion = aws.getRegion({});\nconst testGetEnvironmentBlueprint = aws.datazone.getEnvironmentBlueprintOutput({\n domainId: testDomain.id,\n name: \"DefaultDataLake\",\n managed: true,\n});\nconst testEnvironmentBlueprintConfiguration = new aws.datazone.EnvironmentBlueprintConfiguration(\"test\", {\n domainId: testDomain.id,\n environmentBlueprintId: testGetEnvironmentBlueprint.apply(testGetEnvironmentBlueprint =\u003e testGetEnvironmentBlueprint.id),\n provisioningRoleArn: domainExecutionRole.arn,\n enabledRegions: [testGetRegion.then(testGetRegion =\u003e testGetRegion.name)],\n});\nconst testEnvironmentProfile = new aws.datazone.EnvironmentProfile(\"test\", {\n awsAccountId: test.then(test =\u003e test.accountId),\n awsAccountRegion: testGetRegion.then(testGetRegion =\u003e testGetRegion.name),\n description: \"description\",\n environmentBlueprintIdentifier: testGetEnvironmentBlueprint.apply(testGetEnvironmentBlueprint =\u003e testGetEnvironmentBlueprint.id),\n name: \"example-name\",\n projectIdentifier: testProject.id,\n domainIdentifier: testDomain.id,\n userParameters: [{\n name: \"consumerGlueDbName\",\n value: \"value\",\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ndomain_execution_role = aws.iam.Role(\"domain_execution_role\",\n name=\"example-name\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"datazone.amazonaws.com\",\n },\n },\n {\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"cloudformation.amazonaws.com\",\n },\n },\n ],\n }),\n inline_policies=[{\n \"name\": \"example-name\",\n \"policy\": json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"datazone:*\",\n \"ram:*\",\n \"sso:*\",\n \"kms:*\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }),\n }])\ntest_domain = aws.datazone.Domain(\"test\",\n name=\"example-name\",\n domain_execution_role=domain_execution_role.arn)\ntest_security_group = aws.ec2.SecurityGroup(\"test\", name=\"example-name\")\ntest_project = aws.datazone.Project(\"test\",\n domain_identifier=test_domain.id,\n glossary_terms=[\"2N8w6XJCwZf\"],\n name=\"example-name\",\n description=\"desc\",\n skip_deletion_check=True)\ntest = aws.get_caller_identity()\ntest_get_region = aws.get_region()\ntest_get_environment_blueprint = aws.datazone.get_environment_blueprint_output(domain_id=test_domain.id,\n name=\"DefaultDataLake\",\n managed=True)\ntest_environment_blueprint_configuration = aws.datazone.EnvironmentBlueprintConfiguration(\"test\",\n domain_id=test_domain.id,\n environment_blueprint_id=test_get_environment_blueprint.id,\n provisioning_role_arn=domain_execution_role.arn,\n enabled_regions=[test_get_region.name])\ntest_environment_profile = aws.datazone.EnvironmentProfile(\"test\",\n aws_account_id=test.account_id,\n aws_account_region=test_get_region.name,\n description=\"description\",\n environment_blueprint_identifier=test_get_environment_blueprint.id,\n name=\"example-name\",\n project_identifier=test_project.id,\n domain_identifier=test_domain.id,\n user_parameters=[{\n \"name\": \"consumerGlueDbName\",\n \"value\": \"value\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var domainExecutionRole = new Aws.Iam.Role(\"domain_execution_role\", new()\n {\n Name = \"example-name\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"datazone.amazonaws.com\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"cloudformation.amazonaws.com\",\n },\n },\n },\n }),\n InlinePolicies = new[]\n {\n new Aws.Iam.Inputs.RoleInlinePolicyArgs\n {\n Name = \"example-name\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"datazone:*\",\n \"ram:*\",\n \"sso:*\",\n \"kms:*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n },\n },\n });\n\n var testDomain = new Aws.DataZone.Domain(\"test\", new()\n {\n Name = \"example-name\",\n DomainExecutionRole = domainExecutionRole.Arn,\n });\n\n var testSecurityGroup = new Aws.Ec2.SecurityGroup(\"test\", new()\n {\n Name = \"example-name\",\n });\n\n var testProject = new Aws.DataZone.Project(\"test\", new()\n {\n DomainIdentifier = testDomain.Id,\n GlossaryTerms = new[]\n {\n \"2N8w6XJCwZf\",\n },\n Name = \"example-name\",\n Description = \"desc\",\n SkipDeletionCheck = true,\n });\n\n var test = Aws.GetCallerIdentity.Invoke();\n\n var testGetRegion = Aws.GetRegion.Invoke();\n\n var testGetEnvironmentBlueprint = Aws.DataZone.GetEnvironmentBlueprint.Invoke(new()\n {\n DomainId = testDomain.Id,\n Name = \"DefaultDataLake\",\n Managed = true,\n });\n\n var testEnvironmentBlueprintConfiguration = new Aws.DataZone.EnvironmentBlueprintConfiguration(\"test\", new()\n {\n DomainId = testDomain.Id,\n EnvironmentBlueprintId = testGetEnvironmentBlueprint.Apply(getEnvironmentBlueprintResult =\u003e getEnvironmentBlueprintResult.Id),\n ProvisioningRoleArn = domainExecutionRole.Arn,\n EnabledRegions = new[]\n {\n testGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n });\n\n var testEnvironmentProfile = new Aws.DataZone.EnvironmentProfile(\"test\", new()\n {\n AwsAccountId = test.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n AwsAccountRegion = testGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n Description = \"description\",\n EnvironmentBlueprintIdentifier = testGetEnvironmentBlueprint.Apply(getEnvironmentBlueprintResult =\u003e getEnvironmentBlueprintResult.Id),\n Name = \"example-name\",\n ProjectIdentifier = testProject.Id,\n DomainIdentifier = testDomain.Id,\n UserParameters = new[]\n {\n new Aws.DataZone.Inputs.EnvironmentProfileUserParameterArgs\n {\n Name = \"consumerGlueDbName\",\n Value = \"value\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datazone\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"datazone.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"cloudformation.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"datazone:*\",\n\t\t\t\t\t\t\"ram:*\",\n\t\t\t\t\t\t\"sso:*\",\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson1 := string(tmpJSON1)\n\t\tdomainExecutionRole, err := iam.NewRole(ctx, \"domain_execution_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\t\t\tPolicy: pulumi.String(json1),\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\ttestDomain, err := datazone.NewDomain(ctx, \"test\", \u0026datazone.DomainArgs{\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tDomainExecutionRole: domainExecutionRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroup(ctx, \"test\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestProject, err := datazone.NewProject(ctx, \"test\", \u0026datazone.ProjectArgs{\n\t\t\tDomainIdentifier: testDomain.ID(),\n\t\t\tGlossaryTerms: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"2N8w6XJCwZf\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tSkipDeletionCheck: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestGetEnvironmentBlueprint := datazone.GetEnvironmentBlueprintOutput(ctx, datazone.GetEnvironmentBlueprintOutputArgs{\n\t\t\tDomainId: testDomain.ID(),\n\t\t\tName: pulumi.String(\"DefaultDataLake\"),\n\t\t\tManaged: pulumi.Bool(true),\n\t\t}, nil)\n\t\t_, err = datazone.NewEnvironmentBlueprintConfiguration(ctx, \"test\", \u0026datazone.EnvironmentBlueprintConfigurationArgs{\n\t\t\tDomainId: testDomain.ID(),\n\t\t\tEnvironmentBlueprintId: pulumi.String(testGetEnvironmentBlueprint.ApplyT(func(testGetEnvironmentBlueprint datazone.GetEnvironmentBlueprintResult) (*string, error) {\n\t\t\t\treturn \u0026testGetEnvironmentBlueprint.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tProvisioningRoleArn: domainExecutionRole.Arn,\n\t\t\tEnabledRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(testGetRegion.Name),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datazone.NewEnvironmentProfile(ctx, \"test\", \u0026datazone.EnvironmentProfileArgs{\n\t\t\tAwsAccountId: pulumi.String(test.AccountId),\n\t\t\tAwsAccountRegion: pulumi.String(testGetRegion.Name),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tEnvironmentBlueprintIdentifier: pulumi.String(testGetEnvironmentBlueprint.ApplyT(func(testGetEnvironmentBlueprint datazone.GetEnvironmentBlueprintResult) (*string, error) {\n\t\t\t\treturn \u0026testGetEnvironmentBlueprint.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tProjectIdentifier: testProject.ID(),\n\t\t\tDomainIdentifier: testDomain.ID(),\n\t\t\tUserParameters: datazone.EnvironmentProfileUserParameterArray{\n\t\t\t\t\u0026datazone.EnvironmentProfileUserParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"consumerGlueDbName\"),\n\t\t\t\t\tValue: pulumi.String(\"value\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport com.pulumi.aws.datazone.Domain;\nimport com.pulumi.aws.datazone.DomainArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.datazone.Project;\nimport com.pulumi.aws.datazone.ProjectArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.datazone.DatazoneFunctions;\nimport com.pulumi.aws.datazone.inputs.GetEnvironmentBlueprintArgs;\nimport com.pulumi.aws.datazone.EnvironmentBlueprintConfiguration;\nimport com.pulumi.aws.datazone.EnvironmentBlueprintConfigurationArgs;\nimport com.pulumi.aws.datazone.EnvironmentProfile;\nimport com.pulumi.aws.datazone.EnvironmentProfileArgs;\nimport com.pulumi.aws.datazone.inputs.EnvironmentProfileUserParameterArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var domainExecutionRole = new Role(\"domainExecutionRole\", RoleArgs.builder()\n .name(\"example-name\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"datazone.amazonaws.com\")\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"cloudformation.amazonaws.com\")\n ))\n )\n ))\n )))\n .inlinePolicies(RoleInlinePolicyArgs.builder()\n .name(\"example-name\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"datazone:*\", \n \"ram:*\", \n \"sso:*\", \n \"kms:*\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build())\n .build());\n\n var testDomain = new Domain(\"testDomain\", DomainArgs.builder()\n .name(\"example-name\")\n .domainExecutionRole(domainExecutionRole.arn())\n .build());\n\n var testSecurityGroup = new SecurityGroup(\"testSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"example-name\")\n .build());\n\n var testProject = new Project(\"testProject\", ProjectArgs.builder()\n .domainIdentifier(testDomain.id())\n .glossaryTerms(\"2N8w6XJCwZf\")\n .name(\"example-name\")\n .description(\"desc\")\n .skipDeletionCheck(true)\n .build());\n\n final var test = AwsFunctions.getCallerIdentity();\n\n final var testGetRegion = AwsFunctions.getRegion();\n\n final var testGetEnvironmentBlueprint = DatazoneFunctions.getEnvironmentBlueprint(GetEnvironmentBlueprintArgs.builder()\n .domainId(testDomain.id())\n .name(\"DefaultDataLake\")\n .managed(true)\n .build());\n\n var testEnvironmentBlueprintConfiguration = new EnvironmentBlueprintConfiguration(\"testEnvironmentBlueprintConfiguration\", EnvironmentBlueprintConfigurationArgs.builder()\n .domainId(testDomain.id())\n .environmentBlueprintId(testGetEnvironmentBlueprint.applyValue(getEnvironmentBlueprintResult -\u003e getEnvironmentBlueprintResult).applyValue(testGetEnvironmentBlueprint -\u003e testGetEnvironmentBlueprint.applyValue(getEnvironmentBlueprintResult -\u003e getEnvironmentBlueprintResult.id())))\n .provisioningRoleArn(domainExecutionRole.arn())\n .enabledRegions(testGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var testEnvironmentProfile = new EnvironmentProfile(\"testEnvironmentProfile\", EnvironmentProfileArgs.builder()\n .awsAccountId(test.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .awsAccountRegion(testGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .description(\"description\")\n .environmentBlueprintIdentifier(testGetEnvironmentBlueprint.applyValue(getEnvironmentBlueprintResult -\u003e getEnvironmentBlueprintResult).applyValue(testGetEnvironmentBlueprint -\u003e testGetEnvironmentBlueprint.applyValue(getEnvironmentBlueprintResult -\u003e getEnvironmentBlueprintResult.id())))\n .name(\"example-name\")\n .projectIdentifier(testProject.id())\n .domainIdentifier(testDomain.id())\n .userParameters(EnvironmentProfileUserParameterArgs.builder()\n .name(\"consumerGlueDbName\")\n .value(\"value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n domainExecutionRole:\n type: aws:iam:Role\n name: domain_execution_role\n properties:\n name: example-name\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service: datazone.amazonaws.com\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service: cloudformation.amazonaws.com\n inlinePolicies:\n - name: example-name\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - datazone:*\n - ram:*\n - sso:*\n - kms:*\n Effect: Allow\n Resource: '*'\n testDomain:\n type: aws:datazone:Domain\n name: test\n properties:\n name: example-name\n domainExecutionRole: ${domainExecutionRole.arn}\n testSecurityGroup:\n type: aws:ec2:SecurityGroup\n name: test\n properties:\n name: example-name\n testProject:\n type: aws:datazone:Project\n name: test\n properties:\n domainIdentifier: ${testDomain.id}\n glossaryTerms:\n - 2N8w6XJCwZf\n name: example-name\n description: desc\n skipDeletionCheck: true\n testEnvironmentBlueprintConfiguration:\n type: aws:datazone:EnvironmentBlueprintConfiguration\n name: test\n properties:\n domainId: ${testDomain.id}\n environmentBlueprintId: ${testGetEnvironmentBlueprint.id}\n provisioningRoleArn: ${domainExecutionRole.arn}\n enabledRegions:\n - ${testGetRegion.name}\n testEnvironmentProfile:\n type: aws:datazone:EnvironmentProfile\n name: test\n properties:\n awsAccountId: ${test.accountId}\n awsAccountRegion: ${testGetRegion.name}\n description: description\n environmentBlueprintIdentifier: ${testGetEnvironmentBlueprint.id}\n name: example-name\n projectIdentifier: ${testProject.id}\n domainIdentifier: ${testDomain.id}\n userParameters:\n - name: consumerGlueDbName\n value: value\nvariables:\n test:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n testGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n testGetEnvironmentBlueprint:\n fn::invoke:\n Function: aws:datazone:getEnvironmentBlueprint\n Arguments:\n domainId: ${testDomain.id}\n name: DefaultDataLake\n managed: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DataZone Environment Profile using a comma-delimited string combining `id` and `domain_identifier`. For example:\n\n```sh\n$ pulumi import aws:datazone/environmentProfile:EnvironmentProfile example environment_profile-id-12345678,domain-id-12345678\n```\n", "properties": { "awsAccountId": { "type": "string", @@ -221678,7 +221678,7 @@ } }, "aws:detective/invitationAccepter:InvitationAccepter": { - "description": "Provides a resource to manage an [Amazon Detective Invitation Accepter](https://docs.aws.amazon.com/detective/latest/APIReference/API_AcceptInvitation.html). Ensure that the accepter is configured to use the AWS account you wish to _accept_ the invitation from the primary graph owner account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.detective.Graph(\"primary\", {});\nconst primaryMember = new aws.detective.Member(\"primary\", {\n accountId: \"ACCOUNT ID\",\n emailAddress: \"EMAIL\",\n graphArn: primary.id,\n message: \"Message of the invite\",\n});\nconst member = new aws.detective.InvitationAccepter(\"member\", {graphArn: primary.graphArn}, {\n dependsOn: [primaryMember],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.detective.Graph(\"primary\")\nprimary_member = aws.detective.Member(\"primary\",\n account_id=\"ACCOUNT ID\",\n email_address=\"EMAIL\",\n graph_arn=primary.id,\n message=\"Message of the invite\")\nmember = aws.detective.InvitationAccepter(\"member\", graph_arn=primary.graph_arn,\nopts = pulumi.ResourceOptions(depends_on=[primary_member]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.Detective.Graph(\"primary\");\n\n var primaryMember = new Aws.Detective.Member(\"primary\", new()\n {\n AccountId = \"ACCOUNT ID\",\n EmailAddress = \"EMAIL\",\n GraphArn = primary.Id,\n Message = \"Message of the invite\",\n });\n\n var member = new Aws.Detective.InvitationAccepter(\"member\", new()\n {\n GraphArn = primary.GraphArn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryMember,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/detective\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := detective.NewGraph(ctx, \"primary\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryMember, err := detective.NewMember(ctx, \"primary\", \u0026detective.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"ACCOUNT ID\"),\n\t\t\tEmailAddress: pulumi.String(\"EMAIL\"),\n\t\t\tGraphArn: primary.ID(),\n\t\t\tMessage: pulumi.String(\"Message of the invite\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = detective.NewInvitationAccepter(ctx, \"member\", \u0026detective.InvitationAccepterArgs{\n\t\t\tGraphArn: primary.GraphArn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryMember,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.detective.Graph;\nimport com.pulumi.aws.detective.Member;\nimport com.pulumi.aws.detective.MemberArgs;\nimport com.pulumi.aws.detective.InvitationAccepter;\nimport com.pulumi.aws.detective.InvitationAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var primary = new Graph(\"primary\");\n\n var primaryMember = new Member(\"primaryMember\", MemberArgs.builder()\n .accountId(\"ACCOUNT ID\")\n .emailAddress(\"EMAIL\")\n .graphArn(primary.id())\n .message(\"Message of the invite\")\n .build());\n\n var member = new InvitationAccepter(\"member\", InvitationAccepterArgs.builder()\n .graphArn(primary.graphArn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryMember)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:detective:Graph\n primaryMember:\n type: aws:detective:Member\n name: primary\n properties:\n accountId: ACCOUNT ID\n emailAddress: EMAIL\n graphArn: ${primary.id}\n message: Message of the invite\n member:\n type: aws:detective:InvitationAccepter\n properties:\n graphArn: ${primary.graphArn}\n options:\n dependsOn:\n - ${primaryMember}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_detective_invitation_accepter` using the graph ARN. For example:\n\n```sh\n$ pulumi import aws:detective/invitationAccepter:InvitationAccepter example arn:aws:detective:us-east-1:123456789101:graph:231684d34gh74g4bae1dbc7bd807d02d\n```\n", + "description": "Provides a resource to manage an [Amazon Detective Invitation Accepter](https://docs.aws.amazon.com/detective/latest/APIReference/API_AcceptInvitation.html). Ensure that the accepter is configured to use the AWS account you wish to _accept_ the invitation from the primary graph owner account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.detective.Graph(\"primary\", {});\nconst primaryMember = new aws.detective.Member(\"primary\", {\n accountId: \"ACCOUNT ID\",\n emailAddress: \"EMAIL\",\n graphArn: primary.id,\n message: \"Message of the invite\",\n});\nconst member = new aws.detective.InvitationAccepter(\"member\", {graphArn: primary.graphArn}, {\n dependsOn: [primaryMember],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.detective.Graph(\"primary\")\nprimary_member = aws.detective.Member(\"primary\",\n account_id=\"ACCOUNT ID\",\n email_address=\"EMAIL\",\n graph_arn=primary.id,\n message=\"Message of the invite\")\nmember = aws.detective.InvitationAccepter(\"member\", graph_arn=primary.graph_arn,\nopts = pulumi.ResourceOptions(depends_on=[primary_member]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.Detective.Graph(\"primary\");\n\n var primaryMember = new Aws.Detective.Member(\"primary\", new()\n {\n AccountId = \"ACCOUNT ID\",\n EmailAddress = \"EMAIL\",\n GraphArn = primary.Id,\n Message = \"Message of the invite\",\n });\n\n var member = new Aws.Detective.InvitationAccepter(\"member\", new()\n {\n GraphArn = primary.GraphArn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryMember,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/detective\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := detective.NewGraph(ctx, \"primary\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryMember, err := detective.NewMember(ctx, \"primary\", \u0026detective.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"ACCOUNT ID\"),\n\t\t\tEmailAddress: pulumi.String(\"EMAIL\"),\n\t\t\tGraphArn: primary.ID(),\n\t\t\tMessage: pulumi.String(\"Message of the invite\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = detective.NewInvitationAccepter(ctx, \"member\", \u0026detective.InvitationAccepterArgs{\n\t\t\tGraphArn: primary.GraphArn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryMember,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.detective.Graph;\nimport com.pulumi.aws.detective.Member;\nimport com.pulumi.aws.detective.MemberArgs;\nimport com.pulumi.aws.detective.InvitationAccepter;\nimport com.pulumi.aws.detective.InvitationAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var primary = new Graph(\"primary\");\n\n var primaryMember = new Member(\"primaryMember\", MemberArgs.builder()\n .accountId(\"ACCOUNT ID\")\n .emailAddress(\"EMAIL\")\n .graphArn(primary.id())\n .message(\"Message of the invite\")\n .build());\n\n var member = new InvitationAccepter(\"member\", InvitationAccepterArgs.builder()\n .graphArn(primary.graphArn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryMember)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:detective:Graph\n primaryMember:\n type: aws:detective:Member\n name: primary\n properties:\n accountId: ACCOUNT ID\n emailAddress: EMAIL\n graphArn: ${primary.id}\n message: Message of the invite\n member:\n type: aws:detective:InvitationAccepter\n properties:\n graphArn: ${primary.graphArn}\n options:\n dependson:\n - ${primaryMember}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_detective_invitation_accepter` using the graph ARN. For example:\n\n```sh\n$ pulumi import aws:detective/invitationAccepter:InvitationAccepter example arn:aws:detective:us-east-1:123456789101:graph:231684d34gh74g4bae1dbc7bd807d02d\n```\n", "properties": { "graphArn": { "type": "string", @@ -221856,7 +221856,7 @@ } }, "aws:detective/organizationAdminAccount:OrganizationAdminAccount": { - "description": "Manages a Detective Organization Admin Account. The AWS account utilizing this resource must be an Organizations primary account. More information about Organizations support in Detective can be found in the [Detective User Guide](https://docs.aws.amazon.com/detective/latest/adminguide/accounts-orgs-transition.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"detective.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleOrganizationAdminAccount = new aws.detective.OrganizationAdminAccount(\"example\", {accountId: \"123456789012\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"detective.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_organization_admin_account = aws.detective.OrganizationAdminAccount(\"example\", account_id=\"123456789012\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"detective.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleOrganizationAdminAccount = new Aws.Detective.OrganizationAdminAccount(\"example\", new()\n {\n AccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/detective\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"detective.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = detective.NewOrganizationAdminAccount(ctx, \"example\", \u0026detective.OrganizationAdminAccountArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.detective.OrganizationAdminAccount;\nimport com.pulumi.aws.detective.OrganizationAdminAccountArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"detective.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder()\n .accountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - detective.amazonaws.com\n featureSet: ALL\n exampleOrganizationAdminAccount:\n type: aws:detective:OrganizationAdminAccount\n name: example\n properties:\n accountId: '123456789012'\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_detective_organization_admin_account` using `account_id`. For example:\n\n```sh\n$ pulumi import aws:detective/organizationAdminAccount:OrganizationAdminAccount example 123456789012\n```\n", + "description": "Manages a Detective Organization Admin Account. The AWS account utilizing this resource must be an Organizations primary account. More information about Organizations support in Detective can be found in the [Detective User Guide](https://docs.aws.amazon.com/detective/latest/adminguide/accounts-orgs-transition.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"detective.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleOrganizationAdminAccount = new aws.detective.OrganizationAdminAccount(\"example\", {accountId: \"123456789012\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"detective.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_organization_admin_account = aws.detective.OrganizationAdminAccount(\"example\", account_id=\"123456789012\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"detective.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleOrganizationAdminAccount = new Aws.Detective.OrganizationAdminAccount(\"example\", new()\n {\n AccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/detective\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"detective.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = detective.NewOrganizationAdminAccount(ctx, \"example\", \u0026detective.OrganizationAdminAccountArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.detective.OrganizationAdminAccount;\nimport com.pulumi.aws.detective.OrganizationAdminAccountArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"detective.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder()\n .accountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - detective.amazonaws.com\n featureSet: ALL\n exampleOrganizationAdminAccount:\n type: aws:detective:OrganizationAdminAccount\n name: example\n properties:\n accountId: '123456789012'\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_detective_organization_admin_account` using `account_id`. For example:\n\n```sh\n$ pulumi import aws:detective/organizationAdminAccount:OrganizationAdminAccount example 123456789012\n```\n", "properties": { "accountId": { "type": "string", @@ -224040,7 +224040,7 @@ } }, "aws:directconnect/hostedPrivateVirtualInterfaceAccepter:HostedPrivateVirtualInterfaceAccepter": { - "description": "Provides a resource to manage the accepter's side of a Direct Connect hosted private virtual interface.\nThis resource accepts ownership of a private virtual interface created by another AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst accepter = aws.getCallerIdentity({});\n// Accepter's side of the VIF.\nconst vpnGw = new aws.ec2.VpnGateway(\"vpn_gw\", {});\n// Creator's side of the VIF\nconst creator = new aws.directconnect.HostedPrivateVirtualInterface(\"creator\", {\n connectionId: \"dxcon-zzzzzzzz\",\n ownerAccountId: accepter.then(accepter =\u003e accepter.accountId),\n name: \"vif-foo\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n}, {\n dependsOn: [vpnGw],\n});\nconst accepterHostedPrivateVirtualInterfaceAccepter = new aws.directconnect.HostedPrivateVirtualInterfaceAccepter(\"accepter\", {\n virtualInterfaceId: creator.id,\n vpnGatewayId: vpnGw.id,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccepter = aws.get_caller_identity()\n# Accepter's side of the VIF.\nvpn_gw = aws.ec2.VpnGateway(\"vpn_gw\")\n# Creator's side of the VIF\ncreator = aws.directconnect.HostedPrivateVirtualInterface(\"creator\",\n connection_id=\"dxcon-zzzzzzzz\",\n owner_account_id=accepter.account_id,\n name=\"vif-foo\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352,\n opts = pulumi.ResourceOptions(depends_on=[vpn_gw]))\naccepter_hosted_private_virtual_interface_accepter = aws.directconnect.HostedPrivateVirtualInterfaceAccepter(\"accepter\",\n virtual_interface_id=creator.id,\n vpn_gateway_id=vpn_gw.id,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var accepter = Aws.GetCallerIdentity.Invoke();\n\n // Accepter's side of the VIF.\n var vpnGw = new Aws.Ec2.VpnGateway(\"vpn_gw\");\n\n // Creator's side of the VIF\n var creator = new Aws.DirectConnect.HostedPrivateVirtualInterface(\"creator\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n OwnerAccountId = accepter.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Name = \"vif-foo\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n vpnGw,\n },\n });\n\n var accepterHostedPrivateVirtualInterfaceAccepter = new Aws.DirectConnect.HostedPrivateVirtualInterfaceAccepter(\"accepter\", new()\n {\n VirtualInterfaceId = creator.Id,\n VpnGatewayId = vpnGw.Id,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccepter, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the VIF.\n\t\tvpnGw, err := ec2.NewVpnGateway(ctx, \"vpn_gw\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Creator's side of the VIF\n\t\tcreator, err := directconnect.NewHostedPrivateVirtualInterface(ctx, \"creator\", \u0026directconnect.HostedPrivateVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tOwnerAccountId: pulumi.String(accepter.AccountId),\n\t\t\tName: pulumi.String(\"vif-foo\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tvpnGw,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewHostedPrivateVirtualInterfaceAccepter(ctx, \"accepter\", \u0026directconnect.HostedPrivateVirtualInterfaceAccepterArgs{\n\t\t\tVirtualInterfaceId: creator.ID(),\n\t\t\tVpnGatewayId: vpnGw.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.directconnect.HostedPrivateVirtualInterface;\nimport com.pulumi.aws.directconnect.HostedPrivateVirtualInterfaceArgs;\nimport com.pulumi.aws.directconnect.HostedPrivateVirtualInterfaceAccepter;\nimport com.pulumi.aws.directconnect.HostedPrivateVirtualInterfaceAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var accepter = AwsFunctions.getCallerIdentity();\n\n // Accepter's side of the VIF.\n var vpnGw = new VpnGateway(\"vpnGw\");\n\n // Creator's side of the VIF\n var creator = new HostedPrivateVirtualInterface(\"creator\", HostedPrivateVirtualInterfaceArgs.builder()\n .connectionId(\"dxcon-zzzzzzzz\")\n .ownerAccountId(accepter.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .name(\"vif-foo\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .build(), CustomResourceOptions.builder()\n .dependsOn(vpnGw)\n .build());\n\n var accepterHostedPrivateVirtualInterfaceAccepter = new HostedPrivateVirtualInterfaceAccepter(\"accepterHostedPrivateVirtualInterfaceAccepter\", HostedPrivateVirtualInterfaceAccepterArgs.builder()\n .virtualInterfaceId(creator.id())\n .vpnGatewayId(vpnGw.id())\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Creator's side of the VIF\n creator:\n type: aws:directconnect:HostedPrivateVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n ownerAccountId: ${accepter.accountId}\n name: vif-foo\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352 # The aws_dx_hosted_private_virtual_interface\n # # must be destroyed before the aws_vpn_gateway.\n options:\n dependsOn:\n - ${vpnGw}\n # Accepter's side of the VIF.\n vpnGw:\n type: aws:ec2:VpnGateway\n name: vpn_gw\n accepterHostedPrivateVirtualInterfaceAccepter:\n type: aws:directconnect:HostedPrivateVirtualInterfaceAccepter\n name: accepter\n properties:\n virtualInterfaceId: ${creator.id}\n vpnGatewayId: ${vpnGw.id}\n tags:\n Side: Accepter\nvariables:\n accepter:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect hosted private virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/hostedPrivateVirtualInterfaceAccepter:HostedPrivateVirtualInterfaceAccepter test dxvif-33cc44dd\n```\n", + "description": "Provides a resource to manage the accepter's side of a Direct Connect hosted private virtual interface.\nThis resource accepts ownership of a private virtual interface created by another AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst accepter = aws.getCallerIdentity({});\n// Accepter's side of the VIF.\nconst vpnGw = new aws.ec2.VpnGateway(\"vpn_gw\", {});\n// Creator's side of the VIF\nconst creator = new aws.directconnect.HostedPrivateVirtualInterface(\"creator\", {\n connectionId: \"dxcon-zzzzzzzz\",\n ownerAccountId: accepter.then(accepter =\u003e accepter.accountId),\n name: \"vif-foo\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n}, {\n dependsOn: [vpnGw],\n});\nconst accepterHostedPrivateVirtualInterfaceAccepter = new aws.directconnect.HostedPrivateVirtualInterfaceAccepter(\"accepter\", {\n virtualInterfaceId: creator.id,\n vpnGatewayId: vpnGw.id,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccepter = aws.get_caller_identity()\n# Accepter's side of the VIF.\nvpn_gw = aws.ec2.VpnGateway(\"vpn_gw\")\n# Creator's side of the VIF\ncreator = aws.directconnect.HostedPrivateVirtualInterface(\"creator\",\n connection_id=\"dxcon-zzzzzzzz\",\n owner_account_id=accepter.account_id,\n name=\"vif-foo\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352,\n opts = pulumi.ResourceOptions(depends_on=[vpn_gw]))\naccepter_hosted_private_virtual_interface_accepter = aws.directconnect.HostedPrivateVirtualInterfaceAccepter(\"accepter\",\n virtual_interface_id=creator.id,\n vpn_gateway_id=vpn_gw.id,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var accepter = Aws.GetCallerIdentity.Invoke();\n\n // Accepter's side of the VIF.\n var vpnGw = new Aws.Ec2.VpnGateway(\"vpn_gw\");\n\n // Creator's side of the VIF\n var creator = new Aws.DirectConnect.HostedPrivateVirtualInterface(\"creator\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n OwnerAccountId = accepter.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Name = \"vif-foo\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n vpnGw,\n },\n });\n\n var accepterHostedPrivateVirtualInterfaceAccepter = new Aws.DirectConnect.HostedPrivateVirtualInterfaceAccepter(\"accepter\", new()\n {\n VirtualInterfaceId = creator.Id,\n VpnGatewayId = vpnGw.Id,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccepter, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the VIF.\n\t\tvpnGw, err := ec2.NewVpnGateway(ctx, \"vpn_gw\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Creator's side of the VIF\n\t\tcreator, err := directconnect.NewHostedPrivateVirtualInterface(ctx, \"creator\", \u0026directconnect.HostedPrivateVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tOwnerAccountId: pulumi.String(accepter.AccountId),\n\t\t\tName: pulumi.String(\"vif-foo\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tvpnGw,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewHostedPrivateVirtualInterfaceAccepter(ctx, \"accepter\", \u0026directconnect.HostedPrivateVirtualInterfaceAccepterArgs{\n\t\t\tVirtualInterfaceId: creator.ID(),\n\t\t\tVpnGatewayId: vpnGw.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.directconnect.HostedPrivateVirtualInterface;\nimport com.pulumi.aws.directconnect.HostedPrivateVirtualInterfaceArgs;\nimport com.pulumi.aws.directconnect.HostedPrivateVirtualInterfaceAccepter;\nimport com.pulumi.aws.directconnect.HostedPrivateVirtualInterfaceAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var accepter = AwsFunctions.getCallerIdentity();\n\n // Accepter's side of the VIF.\n var vpnGw = new VpnGateway(\"vpnGw\");\n\n // Creator's side of the VIF\n var creator = new HostedPrivateVirtualInterface(\"creator\", HostedPrivateVirtualInterfaceArgs.builder()\n .connectionId(\"dxcon-zzzzzzzz\")\n .ownerAccountId(accepter.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .name(\"vif-foo\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .build(), CustomResourceOptions.builder()\n .dependsOn(vpnGw)\n .build());\n\n var accepterHostedPrivateVirtualInterfaceAccepter = new HostedPrivateVirtualInterfaceAccepter(\"accepterHostedPrivateVirtualInterfaceAccepter\", HostedPrivateVirtualInterfaceAccepterArgs.builder()\n .virtualInterfaceId(creator.id())\n .vpnGatewayId(vpnGw.id())\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Creator's side of the VIF\n creator:\n type: aws:directconnect:HostedPrivateVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n ownerAccountId: ${accepter.accountId}\n name: vif-foo\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352 # The aws_dx_hosted_private_virtual_interface\n # # must be destroyed before the aws_vpn_gateway.\n options:\n dependson:\n - ${vpnGw}\n # Accepter's side of the VIF.\n vpnGw:\n type: aws:ec2:VpnGateway\n name: vpn_gw\n accepterHostedPrivateVirtualInterfaceAccepter:\n type: aws:directconnect:HostedPrivateVirtualInterfaceAccepter\n name: accepter\n properties:\n virtualInterfaceId: ${creator.id}\n vpnGatewayId: ${vpnGw.id}\n tags:\n Side: Accepter\nvariables:\n accepter:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect hosted private virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/hostedPrivateVirtualInterfaceAccepter:HostedPrivateVirtualInterfaceAccepter test dxvif-33cc44dd\n```\n", "properties": { "arn": { "type": "string", @@ -224355,7 +224355,7 @@ } }, "aws:directconnect/hostedPublicVirtualInterfaceAccepter:HostedPublicVirtualInterfaceAccepter": { - "description": "Provides a resource to manage the accepter's side of a Direct Connect hosted public virtual interface.\nThis resource accepts ownership of a public virtual interface created by another AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst accepter = aws.getCallerIdentity({});\n// Creator's side of the VIF\nconst creator = new aws.directconnect.HostedPublicVirtualInterface(\"creator\", {\n connectionId: \"dxcon-zzzzzzzz\",\n ownerAccountId: accepter.then(accepter =\u003e accepter.accountId),\n name: \"vif-foo\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n customerAddress: \"175.45.176.1/30\",\n amazonAddress: \"175.45.176.2/30\",\n routeFilterPrefixes: [\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ],\n});\n// Accepter's side of the VIF.\nconst accepterHostedPublicVirtualInterfaceAccepter = new aws.directconnect.HostedPublicVirtualInterfaceAccepter(\"accepter\", {\n virtualInterfaceId: creator.id,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccepter = aws.get_caller_identity()\n# Creator's side of the VIF\ncreator = aws.directconnect.HostedPublicVirtualInterface(\"creator\",\n connection_id=\"dxcon-zzzzzzzz\",\n owner_account_id=accepter.account_id,\n name=\"vif-foo\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352,\n customer_address=\"175.45.176.1/30\",\n amazon_address=\"175.45.176.2/30\",\n route_filter_prefixes=[\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ])\n# Accepter's side of the VIF.\naccepter_hosted_public_virtual_interface_accepter = aws.directconnect.HostedPublicVirtualInterfaceAccepter(\"accepter\",\n virtual_interface_id=creator.id,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var accepter = Aws.GetCallerIdentity.Invoke();\n\n // Creator's side of the VIF\n var creator = new Aws.DirectConnect.HostedPublicVirtualInterface(\"creator\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n OwnerAccountId = accepter.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Name = \"vif-foo\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n CustomerAddress = \"175.45.176.1/30\",\n AmazonAddress = \"175.45.176.2/30\",\n RouteFilterPrefixes = new[]\n {\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n },\n });\n\n // Accepter's side of the VIF.\n var accepterHostedPublicVirtualInterfaceAccepter = new Aws.DirectConnect.HostedPublicVirtualInterfaceAccepter(\"accepter\", new()\n {\n VirtualInterfaceId = creator.Id,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccepter, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Creator's side of the VIF\n\t\tcreator, err := directconnect.NewHostedPublicVirtualInterface(ctx, \"creator\", \u0026directconnect.HostedPublicVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tOwnerAccountId: pulumi.String(accepter.AccountId),\n\t\t\tName: pulumi.String(\"vif-foo\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\n\t\t\tCustomerAddress: pulumi.String(\"175.45.176.1/30\"),\n\t\t\tAmazonAddress: pulumi.String(\"175.45.176.2/30\"),\n\t\t\tRouteFilterPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"210.52.109.0/24\"),\n\t\t\t\tpulumi.String(\"175.45.176.0/22\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the VIF.\n\t\t_, err = directconnect.NewHostedPublicVirtualInterfaceAccepter(ctx, \"accepter\", \u0026directconnect.HostedPublicVirtualInterfaceAccepterArgs{\n\t\t\tVirtualInterfaceId: creator.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.directconnect.HostedPublicVirtualInterface;\nimport com.pulumi.aws.directconnect.HostedPublicVirtualInterfaceArgs;\nimport com.pulumi.aws.directconnect.HostedPublicVirtualInterfaceAccepter;\nimport com.pulumi.aws.directconnect.HostedPublicVirtualInterfaceAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var accepter = AwsFunctions.getCallerIdentity();\n\n // Creator's side of the VIF\n var creator = new HostedPublicVirtualInterface(\"creator\", HostedPublicVirtualInterfaceArgs.builder()\n .connectionId(\"dxcon-zzzzzzzz\")\n .ownerAccountId(accepter.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .name(\"vif-foo\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .customerAddress(\"175.45.176.1/30\")\n .amazonAddress(\"175.45.176.2/30\")\n .routeFilterPrefixes( \n \"210.52.109.0/24\",\n \"175.45.176.0/22\")\n .build());\n\n // Accepter's side of the VIF.\n var accepterHostedPublicVirtualInterfaceAccepter = new HostedPublicVirtualInterfaceAccepter(\"accepterHostedPublicVirtualInterfaceAccepter\", HostedPublicVirtualInterfaceAccepterArgs.builder()\n .virtualInterfaceId(creator.id())\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Creator's side of the VIF\n creator:\n type: aws:directconnect:HostedPublicVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n ownerAccountId: ${accepter.accountId}\n name: vif-foo\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352\n customerAddress: 175.45.176.1/30\n amazonAddress: 175.45.176.2/30\n routeFilterPrefixes:\n - 210.52.109.0/24\n - 175.45.176.0/22\n # Accepter's side of the VIF.\n accepterHostedPublicVirtualInterfaceAccepter:\n type: aws:directconnect:HostedPublicVirtualInterfaceAccepter\n name: accepter\n properties:\n virtualInterfaceId: ${creator.id}\n tags:\n Side: Accepter\nvariables:\n accepter:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect hosted public virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/hostedPublicVirtualInterfaceAccepter:HostedPublicVirtualInterfaceAccepter test dxvif-33cc44dd\n```\n", + "description": "Provides a resource to manage the accepter's side of a Direct Connect hosted public virtual interface.\nThis resource accepts ownership of a public virtual interface created by another AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst accepter = aws.getCallerIdentity({});\n// Creator's side of the VIF\nconst creator = new aws.directconnect.HostedPublicVirtualInterface(\"creator\", {\n connectionId: \"dxcon-zzzzzzzz\",\n ownerAccountId: accepter.then(accepter =\u003e accepter.accountId),\n name: \"vif-foo\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n customerAddress: \"175.45.176.1/30\",\n amazonAddress: \"175.45.176.2/30\",\n routeFilterPrefixes: [\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ],\n});\n// Accepter's side of the VIF.\nconst accepterHostedPublicVirtualInterfaceAccepter = new aws.directconnect.HostedPublicVirtualInterfaceAccepter(\"accepter\", {\n virtualInterfaceId: creator.id,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccepter = aws.get_caller_identity()\n# Creator's side of the VIF\ncreator = aws.directconnect.HostedPublicVirtualInterface(\"creator\",\n connection_id=\"dxcon-zzzzzzzz\",\n owner_account_id=accepter.account_id,\n name=\"vif-foo\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352,\n customer_address=\"175.45.176.1/30\",\n amazon_address=\"175.45.176.2/30\",\n route_filter_prefixes=[\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ])\n# Accepter's side of the VIF.\naccepter_hosted_public_virtual_interface_accepter = aws.directconnect.HostedPublicVirtualInterfaceAccepter(\"accepter\",\n virtual_interface_id=creator.id,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var accepter = Aws.GetCallerIdentity.Invoke();\n\n // Creator's side of the VIF\n var creator = new Aws.DirectConnect.HostedPublicVirtualInterface(\"creator\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n OwnerAccountId = accepter.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Name = \"vif-foo\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n CustomerAddress = \"175.45.176.1/30\",\n AmazonAddress = \"175.45.176.2/30\",\n RouteFilterPrefixes = new[]\n {\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n },\n });\n\n // Accepter's side of the VIF.\n var accepterHostedPublicVirtualInterfaceAccepter = new Aws.DirectConnect.HostedPublicVirtualInterfaceAccepter(\"accepter\", new()\n {\n VirtualInterfaceId = creator.Id,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccepter, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Creator's side of the VIF\n\t\tcreator, err := directconnect.NewHostedPublicVirtualInterface(ctx, \"creator\", \u0026directconnect.HostedPublicVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tOwnerAccountId: pulumi.String(accepter.AccountId),\n\t\t\tName: pulumi.String(\"vif-foo\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\n\t\t\tCustomerAddress: pulumi.String(\"175.45.176.1/30\"),\n\t\t\tAmazonAddress: pulumi.String(\"175.45.176.2/30\"),\n\t\t\tRouteFilterPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"210.52.109.0/24\"),\n\t\t\t\tpulumi.String(\"175.45.176.0/22\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the VIF.\n\t\t_, err = directconnect.NewHostedPublicVirtualInterfaceAccepter(ctx, \"accepter\", \u0026directconnect.HostedPublicVirtualInterfaceAccepterArgs{\n\t\t\tVirtualInterfaceId: creator.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.directconnect.HostedPublicVirtualInterface;\nimport com.pulumi.aws.directconnect.HostedPublicVirtualInterfaceArgs;\nimport com.pulumi.aws.directconnect.HostedPublicVirtualInterfaceAccepter;\nimport com.pulumi.aws.directconnect.HostedPublicVirtualInterfaceAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var accepter = AwsFunctions.getCallerIdentity();\n\n // Creator's side of the VIF\n var creator = new HostedPublicVirtualInterface(\"creator\", HostedPublicVirtualInterfaceArgs.builder()\n .connectionId(\"dxcon-zzzzzzzz\")\n .ownerAccountId(accepter.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .name(\"vif-foo\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .customerAddress(\"175.45.176.1/30\")\n .amazonAddress(\"175.45.176.2/30\")\n .routeFilterPrefixes( \n \"210.52.109.0/24\",\n \"175.45.176.0/22\")\n .build());\n\n // Accepter's side of the VIF.\n var accepterHostedPublicVirtualInterfaceAccepter = new HostedPublicVirtualInterfaceAccepter(\"accepterHostedPublicVirtualInterfaceAccepter\", HostedPublicVirtualInterfaceAccepterArgs.builder()\n .virtualInterfaceId(creator.id())\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Creator's side of the VIF\n creator:\n type: aws:directconnect:HostedPublicVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n ownerAccountId: ${accepter.accountId}\n name: vif-foo\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352\n customerAddress: 175.45.176.1/30\n amazonAddress: 175.45.176.2/30\n routeFilterPrefixes:\n - 210.52.109.0/24\n - 175.45.176.0/22\n # Accepter's side of the VIF.\n accepterHostedPublicVirtualInterfaceAccepter:\n type: aws:directconnect:HostedPublicVirtualInterfaceAccepter\n name: accepter\n properties:\n virtualInterfaceId: ${creator.id}\n tags:\n Side: Accepter\nvariables:\n accepter:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect hosted public virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/hostedPublicVirtualInterfaceAccepter:HostedPublicVirtualInterfaceAccepter test dxvif-33cc44dd\n```\n", "properties": { "arn": { "type": "string", @@ -224640,7 +224640,7 @@ } }, "aws:directconnect/hostedTransitVirtualInterfaceAcceptor:HostedTransitVirtualInterfaceAcceptor": { - "description": "Provides a resource to manage the accepter's side of a Direct Connect hosted transit virtual interface.\nThis resource accepts ownership of a transit virtual interface created by another AWS account.\n\n\u003e **NOTE:** AWS allows a Direct Connect hosted transit virtual interface to be deleted from either the allocator's or accepter's side. However, this provider only allows the Direct Connect hosted transit virtual interface to be deleted from the allocator's side by removing the corresponding `aws.directconnect.HostedTransitVirtualInterface` resource from your configuration. Removing a `aws.directconnect.HostedTransitVirtualInterfaceAcceptor` resource from your configuration will remove it from your statefile and management, **but will not delete the Direct Connect virtual interface.**\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst accepter = aws.getCallerIdentity({});\n// Accepter's side of the VIF.\nconst example = new aws.directconnect.Gateway(\"example\", {\n name: \"tf-dxg-example\",\n amazonSideAsn: \"64512\",\n});\n// Creator's side of the VIF\nconst creator = new aws.directconnect.HostedTransitVirtualInterface(\"creator\", {\n connectionId: \"dxcon-zzzzzzzz\",\n ownerAccountId: accepter.then(accepter =\u003e accepter.accountId),\n name: \"tf-transit-vif-example\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n}, {\n dependsOn: [example],\n});\nconst accepterHostedTransitVirtualInterfaceAcceptor = new aws.directconnect.HostedTransitVirtualInterfaceAcceptor(\"accepter\", {\n virtualInterfaceId: creator.id,\n dxGatewayId: example.id,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccepter = aws.get_caller_identity()\n# Accepter's side of the VIF.\nexample = aws.directconnect.Gateway(\"example\",\n name=\"tf-dxg-example\",\n amazon_side_asn=\"64512\")\n# Creator's side of the VIF\ncreator = aws.directconnect.HostedTransitVirtualInterface(\"creator\",\n connection_id=\"dxcon-zzzzzzzz\",\n owner_account_id=accepter.account_id,\n name=\"tf-transit-vif-example\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352,\n opts = pulumi.ResourceOptions(depends_on=[example]))\naccepter_hosted_transit_virtual_interface_acceptor = aws.directconnect.HostedTransitVirtualInterfaceAcceptor(\"accepter\",\n virtual_interface_id=creator.id,\n dx_gateway_id=example.id,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var accepter = Aws.GetCallerIdentity.Invoke();\n\n // Accepter's side of the VIF.\n var example = new Aws.DirectConnect.Gateway(\"example\", new()\n {\n Name = \"tf-dxg-example\",\n AmazonSideAsn = \"64512\",\n });\n\n // Creator's side of the VIF\n var creator = new Aws.DirectConnect.HostedTransitVirtualInterface(\"creator\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n OwnerAccountId = accepter.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Name = \"tf-transit-vif-example\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var accepterHostedTransitVirtualInterfaceAcceptor = new Aws.DirectConnect.HostedTransitVirtualInterfaceAcceptor(\"accepter\", new()\n {\n VirtualInterfaceId = creator.Id,\n DxGatewayId = example.Id,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccepter, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the VIF.\n\t\texample, err := directconnect.NewGateway(ctx, \"example\", \u0026directconnect.GatewayArgs{\n\t\t\tName: pulumi.String(\"tf-dxg-example\"),\n\t\t\tAmazonSideAsn: pulumi.String(\"64512\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Creator's side of the VIF\n\t\tcreator, err := directconnect.NewHostedTransitVirtualInterface(ctx, \"creator\", \u0026directconnect.HostedTransitVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tOwnerAccountId: pulumi.String(accepter.AccountId),\n\t\t\tName: pulumi.String(\"tf-transit-vif-example\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewHostedTransitVirtualInterfaceAcceptor(ctx, \"accepter\", \u0026directconnect.HostedTransitVirtualInterfaceAcceptorArgs{\n\t\t\tVirtualInterfaceId: creator.ID(),\n\t\t\tDxGatewayId: example.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.directconnect.Gateway;\nimport com.pulumi.aws.directconnect.GatewayArgs;\nimport com.pulumi.aws.directconnect.HostedTransitVirtualInterface;\nimport com.pulumi.aws.directconnect.HostedTransitVirtualInterfaceArgs;\nimport com.pulumi.aws.directconnect.HostedTransitVirtualInterfaceAcceptor;\nimport com.pulumi.aws.directconnect.HostedTransitVirtualInterfaceAcceptorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var accepter = AwsFunctions.getCallerIdentity();\n\n // Accepter's side of the VIF.\n var example = new Gateway(\"example\", GatewayArgs.builder()\n .name(\"tf-dxg-example\")\n .amazonSideAsn(64512)\n .build());\n\n // Creator's side of the VIF\n var creator = new HostedTransitVirtualInterface(\"creator\", HostedTransitVirtualInterfaceArgs.builder()\n .connectionId(\"dxcon-zzzzzzzz\")\n .ownerAccountId(accepter.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .name(\"tf-transit-vif-example\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var accepterHostedTransitVirtualInterfaceAcceptor = new HostedTransitVirtualInterfaceAcceptor(\"accepterHostedTransitVirtualInterfaceAcceptor\", HostedTransitVirtualInterfaceAcceptorArgs.builder()\n .virtualInterfaceId(creator.id())\n .dxGatewayId(example.id())\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Creator's side of the VIF\n creator:\n type: aws:directconnect:HostedTransitVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n ownerAccountId: ${accepter.accountId}\n name: tf-transit-vif-example\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352 # The aws_dx_hosted_transit_virtual_interface\n # # must be destroyed before the aws_dx_gateway.\n options:\n dependsOn:\n - ${example}\n # Accepter's side of the VIF.\n example:\n type: aws:directconnect:Gateway\n properties:\n name: tf-dxg-example\n amazonSideAsn: 64512\n accepterHostedTransitVirtualInterfaceAcceptor:\n type: aws:directconnect:HostedTransitVirtualInterfaceAcceptor\n name: accepter\n properties:\n virtualInterfaceId: ${creator.id}\n dxGatewayId: ${example.id}\n tags:\n Side: Accepter\nvariables:\n accepter:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect hosted transit virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/hostedTransitVirtualInterfaceAcceptor:HostedTransitVirtualInterfaceAcceptor test dxvif-33cc44dd\n```\n", + "description": "Provides a resource to manage the accepter's side of a Direct Connect hosted transit virtual interface.\nThis resource accepts ownership of a transit virtual interface created by another AWS account.\n\n\u003e **NOTE:** AWS allows a Direct Connect hosted transit virtual interface to be deleted from either the allocator's or accepter's side. However, this provider only allows the Direct Connect hosted transit virtual interface to be deleted from the allocator's side by removing the corresponding `aws.directconnect.HostedTransitVirtualInterface` resource from your configuration. Removing a `aws.directconnect.HostedTransitVirtualInterfaceAcceptor` resource from your configuration will remove it from your statefile and management, **but will not delete the Direct Connect virtual interface.**\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst accepter = aws.getCallerIdentity({});\n// Accepter's side of the VIF.\nconst example = new aws.directconnect.Gateway(\"example\", {\n name: \"tf-dxg-example\",\n amazonSideAsn: \"64512\",\n});\n// Creator's side of the VIF\nconst creator = new aws.directconnect.HostedTransitVirtualInterface(\"creator\", {\n connectionId: \"dxcon-zzzzzzzz\",\n ownerAccountId: accepter.then(accepter =\u003e accepter.accountId),\n name: \"tf-transit-vif-example\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n}, {\n dependsOn: [example],\n});\nconst accepterHostedTransitVirtualInterfaceAcceptor = new aws.directconnect.HostedTransitVirtualInterfaceAcceptor(\"accepter\", {\n virtualInterfaceId: creator.id,\n dxGatewayId: example.id,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccepter = aws.get_caller_identity()\n# Accepter's side of the VIF.\nexample = aws.directconnect.Gateway(\"example\",\n name=\"tf-dxg-example\",\n amazon_side_asn=\"64512\")\n# Creator's side of the VIF\ncreator = aws.directconnect.HostedTransitVirtualInterface(\"creator\",\n connection_id=\"dxcon-zzzzzzzz\",\n owner_account_id=accepter.account_id,\n name=\"tf-transit-vif-example\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352,\n opts = pulumi.ResourceOptions(depends_on=[example]))\naccepter_hosted_transit_virtual_interface_acceptor = aws.directconnect.HostedTransitVirtualInterfaceAcceptor(\"accepter\",\n virtual_interface_id=creator.id,\n dx_gateway_id=example.id,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var accepter = Aws.GetCallerIdentity.Invoke();\n\n // Accepter's side of the VIF.\n var example = new Aws.DirectConnect.Gateway(\"example\", new()\n {\n Name = \"tf-dxg-example\",\n AmazonSideAsn = \"64512\",\n });\n\n // Creator's side of the VIF\n var creator = new Aws.DirectConnect.HostedTransitVirtualInterface(\"creator\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n OwnerAccountId = accepter.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Name = \"tf-transit-vif-example\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var accepterHostedTransitVirtualInterfaceAcceptor = new Aws.DirectConnect.HostedTransitVirtualInterfaceAcceptor(\"accepter\", new()\n {\n VirtualInterfaceId = creator.Id,\n DxGatewayId = example.Id,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccepter, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the VIF.\n\t\texample, err := directconnect.NewGateway(ctx, \"example\", \u0026directconnect.GatewayArgs{\n\t\t\tName: pulumi.String(\"tf-dxg-example\"),\n\t\t\tAmazonSideAsn: pulumi.String(\"64512\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Creator's side of the VIF\n\t\tcreator, err := directconnect.NewHostedTransitVirtualInterface(ctx, \"creator\", \u0026directconnect.HostedTransitVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tOwnerAccountId: pulumi.String(accepter.AccountId),\n\t\t\tName: pulumi.String(\"tf-transit-vif-example\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewHostedTransitVirtualInterfaceAcceptor(ctx, \"accepter\", \u0026directconnect.HostedTransitVirtualInterfaceAcceptorArgs{\n\t\t\tVirtualInterfaceId: creator.ID(),\n\t\t\tDxGatewayId: example.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.directconnect.Gateway;\nimport com.pulumi.aws.directconnect.GatewayArgs;\nimport com.pulumi.aws.directconnect.HostedTransitVirtualInterface;\nimport com.pulumi.aws.directconnect.HostedTransitVirtualInterfaceArgs;\nimport com.pulumi.aws.directconnect.HostedTransitVirtualInterfaceAcceptor;\nimport com.pulumi.aws.directconnect.HostedTransitVirtualInterfaceAcceptorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var accepter = AwsFunctions.getCallerIdentity();\n\n // Accepter's side of the VIF.\n var example = new Gateway(\"example\", GatewayArgs.builder()\n .name(\"tf-dxg-example\")\n .amazonSideAsn(64512)\n .build());\n\n // Creator's side of the VIF\n var creator = new HostedTransitVirtualInterface(\"creator\", HostedTransitVirtualInterfaceArgs.builder()\n .connectionId(\"dxcon-zzzzzzzz\")\n .ownerAccountId(accepter.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .name(\"tf-transit-vif-example\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var accepterHostedTransitVirtualInterfaceAcceptor = new HostedTransitVirtualInterfaceAcceptor(\"accepterHostedTransitVirtualInterfaceAcceptor\", HostedTransitVirtualInterfaceAcceptorArgs.builder()\n .virtualInterfaceId(creator.id())\n .dxGatewayId(example.id())\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Creator's side of the VIF\n creator:\n type: aws:directconnect:HostedTransitVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n ownerAccountId: ${accepter.accountId}\n name: tf-transit-vif-example\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352 # The aws_dx_hosted_transit_virtual_interface\n # # must be destroyed before the aws_dx_gateway.\n options:\n dependson:\n - ${example}\n # Accepter's side of the VIF.\n example:\n type: aws:directconnect:Gateway\n properties:\n name: tf-dxg-example\n amazonSideAsn: 64512\n accepterHostedTransitVirtualInterfaceAcceptor:\n type: aws:directconnect:HostedTransitVirtualInterfaceAcceptor\n name: accepter\n properties:\n virtualInterfaceId: ${creator.id}\n dxGatewayId: ${example.id}\n tags:\n Side: Accepter\nvariables:\n accepter:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect hosted transit virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/hostedTransitVirtualInterfaceAcceptor:HostedTransitVirtualInterfaceAcceptor test dxvif-33cc44dd\n```\n", "properties": { "arn": { "type": "string", @@ -224913,7 +224913,7 @@ } }, "aws:directconnect/macsecKeyAssociation:MacsecKeyAssociation": { - "description": "Provides a MAC Security (MACSec) secret key resource for use with Direct Connect. See [MACsec prerequisites](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites) for information about MAC Security (MACsec) prerequisites.\n\nCreating this resource will also create a resource of type `aws.secretsmanager.Secret` which is managed by Direct Connect. While you can import this resource into your state, because this secret is managed by Direct Connect, you will not be able to make any modifications to it. See [How AWS Direct Connect uses AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/integrating_how-services-use-secrets_directconnect.html) for details.\n\n\u003e **Note:** All arguments including `ckn` and `cak` will be stored in the raw state as plain-text.\n\u003e **Note:** The `secret_arn` argument can only be used to reference a previously created MACSec key. You cannot associate a Secrets Manager secret created outside of the `aws.directconnect.MacsecKeyAssociation` resource.\n\n## Example Usage\n\n### Create MACSec key with CKN and CAK\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.directconnect.getConnection({\n name: \"tf-dx-connection\",\n});\nconst test = new aws.directconnect.MacsecKeyAssociation(\"test\", {\n connectionId: example.then(example =\u003e example.id),\n ckn: \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n cak: \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.get_connection(name=\"tf-dx-connection\")\ntest = aws.directconnect.MacsecKeyAssociation(\"test\",\n connection_id=example.id,\n ckn=\"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n cak=\"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DirectConnect.GetConnection.Invoke(new()\n {\n Name = \"tf-dx-connection\",\n });\n\n var test = new Aws.DirectConnect.MacsecKeyAssociation(\"test\", new()\n {\n ConnectionId = example.Apply(getConnectionResult =\u003e getConnectionResult.Id),\n Ckn = \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n Cak = \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directconnect.LookupConnection(ctx, \u0026directconnect.LookupConnectionArgs{\n\t\t\tName: \"tf-dx-connection\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewMacsecKeyAssociation(ctx, \"test\", \u0026directconnect.MacsecKeyAssociationArgs{\n\t\t\tConnectionId: pulumi.String(example.Id),\n\t\t\tCkn: pulumi.String(\"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"),\n\t\t\tCak: pulumi.String(\"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.DirectconnectFunctions;\nimport com.pulumi.aws.directconnect.inputs.GetConnectionArgs;\nimport com.pulumi.aws.directconnect.MacsecKeyAssociation;\nimport com.pulumi.aws.directconnect.MacsecKeyAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DirectconnectFunctions.getConnection(GetConnectionArgs.builder()\n .name(\"tf-dx-connection\")\n .build());\n\n var test = new MacsecKeyAssociation(\"test\", MacsecKeyAssociationArgs.builder()\n .connectionId(example.applyValue(getConnectionResult -\u003e getConnectionResult.id()))\n .ckn(\"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\")\n .cak(\"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:directconnect:MacsecKeyAssociation\n properties:\n connectionId: ${example.id}\n ckn: 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\n cak: abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\nvariables:\n example:\n fn::invoke:\n function: aws:directconnect:getConnection\n arguments:\n name: tf-dx-connection\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create MACSec key with existing Secrets Manager secret\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.directconnect.getConnection({\n name: \"tf-dx-connection\",\n});\nconst exampleGetSecret = aws.secretsmanager.getSecret({\n name: \"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n});\nconst test = new aws.directconnect.MacsecKeyAssociation(\"test\", {\n connectionId: example.then(example =\u003e example.id),\n secretArn: exampleGetSecret.then(exampleGetSecret =\u003e exampleGetSecret.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.get_connection(name=\"tf-dx-connection\")\nexample_get_secret = aws.secretsmanager.get_secret(name=\"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\")\ntest = aws.directconnect.MacsecKeyAssociation(\"test\",\n connection_id=example.id,\n secret_arn=example_get_secret.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DirectConnect.GetConnection.Invoke(new()\n {\n Name = \"tf-dx-connection\",\n });\n\n var exampleGetSecret = Aws.SecretsManager.GetSecret.Invoke(new()\n {\n Name = \"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n });\n\n var test = new Aws.DirectConnect.MacsecKeyAssociation(\"test\", new()\n {\n ConnectionId = example.Apply(getConnectionResult =\u003e getConnectionResult.Id),\n SecretArn = exampleGetSecret.Apply(getSecretResult =\u003e getSecretResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directconnect.LookupConnection(ctx, \u0026directconnect.LookupConnectionArgs{\n\t\t\tName: \"tf-dx-connection\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetSecret, err := secretsmanager.LookupSecret(ctx, \u0026secretsmanager.LookupSecretArgs{\n\t\t\tName: pulumi.StringRef(\"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewMacsecKeyAssociation(ctx, \"test\", \u0026directconnect.MacsecKeyAssociationArgs{\n\t\t\tConnectionId: pulumi.String(example.Id),\n\t\t\tSecretArn: pulumi.String(exampleGetSecret.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.DirectconnectFunctions;\nimport com.pulumi.aws.directconnect.inputs.GetConnectionArgs;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;\nimport com.pulumi.aws.directconnect.MacsecKeyAssociation;\nimport com.pulumi.aws.directconnect.MacsecKeyAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DirectconnectFunctions.getConnection(GetConnectionArgs.builder()\n .name(\"tf-dx-connection\")\n .build());\n\n final var exampleGetSecret = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()\n .name(\"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\")\n .build());\n\n var test = new MacsecKeyAssociation(\"test\", MacsecKeyAssociationArgs.builder()\n .connectionId(example.applyValue(getConnectionResult -\u003e getConnectionResult.id()))\n .secretArn(exampleGetSecret.applyValue(getSecretResult -\u003e getSecretResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:directconnect:MacsecKeyAssociation\n properties:\n connectionId: ${example.id}\n secretArn: ${exampleGetSecret.arn}\nvariables:\n example:\n fn::invoke:\n function: aws:directconnect:getConnection\n arguments:\n name: tf-dx-connection\n exampleGetSecret:\n fn::invoke:\n function: aws:secretsmanager:getSecret\n arguments:\n name: directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a MAC Security (MACSec) secret key resource for use with Direct Connect. See [MACsec prerequisites](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites) for information about MAC Security (MACsec) prerequisites.\n\nCreating this resource will also create a resource of type `aws.secretsmanager.Secret` which is managed by Direct Connect. While you can import this resource into your state, because this secret is managed by Direct Connect, you will not be able to make any modifications to it. See [How AWS Direct Connect uses AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/integrating_how-services-use-secrets_directconnect.html) for details.\n\n\u003e **Note:** All arguments including `ckn` and `cak` will be stored in the raw state as plain-text.\n\u003e **Note:** The `secret_arn` argument can only be used to reference a previously created MACSec key. You cannot associate a Secrets Manager secret created outside of the `aws.directconnect.MacsecKeyAssociation` resource.\n\n## Example Usage\n\n### Create MACSec key with CKN and CAK\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.directconnect.getConnection({\n name: \"tf-dx-connection\",\n});\nconst test = new aws.directconnect.MacsecKeyAssociation(\"test\", {\n connectionId: example.then(example =\u003e example.id),\n ckn: \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n cak: \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.get_connection(name=\"tf-dx-connection\")\ntest = aws.directconnect.MacsecKeyAssociation(\"test\",\n connection_id=example.id,\n ckn=\"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n cak=\"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DirectConnect.GetConnection.Invoke(new()\n {\n Name = \"tf-dx-connection\",\n });\n\n var test = new Aws.DirectConnect.MacsecKeyAssociation(\"test\", new()\n {\n ConnectionId = example.Apply(getConnectionResult =\u003e getConnectionResult.Id),\n Ckn = \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n Cak = \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directconnect.LookupConnection(ctx, \u0026directconnect.LookupConnectionArgs{\n\t\t\tName: \"tf-dx-connection\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewMacsecKeyAssociation(ctx, \"test\", \u0026directconnect.MacsecKeyAssociationArgs{\n\t\t\tConnectionId: pulumi.String(example.Id),\n\t\t\tCkn: pulumi.String(\"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"),\n\t\t\tCak: pulumi.String(\"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.DirectconnectFunctions;\nimport com.pulumi.aws.directconnect.inputs.GetConnectionArgs;\nimport com.pulumi.aws.directconnect.MacsecKeyAssociation;\nimport com.pulumi.aws.directconnect.MacsecKeyAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DirectconnectFunctions.getConnection(GetConnectionArgs.builder()\n .name(\"tf-dx-connection\")\n .build());\n\n var test = new MacsecKeyAssociation(\"test\", MacsecKeyAssociationArgs.builder()\n .connectionId(example.applyValue(getConnectionResult -\u003e getConnectionResult.id()))\n .ckn(\"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\")\n .cak(\"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:directconnect:MacsecKeyAssociation\n properties:\n connectionId: ${example.id}\n ckn: 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\n cak: abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\nvariables:\n example:\n fn::invoke:\n Function: aws:directconnect:getConnection\n Arguments:\n name: tf-dx-connection\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create MACSec key with existing Secrets Manager secret\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.directconnect.getConnection({\n name: \"tf-dx-connection\",\n});\nconst exampleGetSecret = aws.secretsmanager.getSecret({\n name: \"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n});\nconst test = new aws.directconnect.MacsecKeyAssociation(\"test\", {\n connectionId: example.then(example =\u003e example.id),\n secretArn: exampleGetSecret.then(exampleGetSecret =\u003e exampleGetSecret.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.get_connection(name=\"tf-dx-connection\")\nexample_get_secret = aws.secretsmanager.get_secret(name=\"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\")\ntest = aws.directconnect.MacsecKeyAssociation(\"test\",\n connection_id=example.id,\n secret_arn=example_get_secret.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DirectConnect.GetConnection.Invoke(new()\n {\n Name = \"tf-dx-connection\",\n });\n\n var exampleGetSecret = Aws.SecretsManager.GetSecret.Invoke(new()\n {\n Name = \"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n });\n\n var test = new Aws.DirectConnect.MacsecKeyAssociation(\"test\", new()\n {\n ConnectionId = example.Apply(getConnectionResult =\u003e getConnectionResult.Id),\n SecretArn = exampleGetSecret.Apply(getSecretResult =\u003e getSecretResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directconnect.LookupConnection(ctx, \u0026directconnect.LookupConnectionArgs{\n\t\t\tName: \"tf-dx-connection\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetSecret, err := secretsmanager.LookupSecret(ctx, \u0026secretsmanager.LookupSecretArgs{\n\t\t\tName: pulumi.StringRef(\"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewMacsecKeyAssociation(ctx, \"test\", \u0026directconnect.MacsecKeyAssociationArgs{\n\t\t\tConnectionId: pulumi.String(example.Id),\n\t\t\tSecretArn: pulumi.String(exampleGetSecret.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.DirectconnectFunctions;\nimport com.pulumi.aws.directconnect.inputs.GetConnectionArgs;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;\nimport com.pulumi.aws.directconnect.MacsecKeyAssociation;\nimport com.pulumi.aws.directconnect.MacsecKeyAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DirectconnectFunctions.getConnection(GetConnectionArgs.builder()\n .name(\"tf-dx-connection\")\n .build());\n\n final var exampleGetSecret = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()\n .name(\"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\")\n .build());\n\n var test = new MacsecKeyAssociation(\"test\", MacsecKeyAssociationArgs.builder()\n .connectionId(example.applyValue(getConnectionResult -\u003e getConnectionResult.id()))\n .secretArn(exampleGetSecret.applyValue(getSecretResult -\u003e getSecretResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:directconnect:MacsecKeyAssociation\n properties:\n connectionId: ${example.id}\n secretArn: ${exampleGetSecret.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:directconnect:getConnection\n Arguments:\n name: tf-dx-connection\n exampleGetSecret:\n fn::invoke:\n Function: aws:secretsmanager:getSecret\n Arguments:\n name: directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "cak": { "type": "string", @@ -226091,7 +226091,7 @@ } }, "aws:directoryservice/logService:LogService": { - "description": "Provides a Log subscription for AWS Directory Service that pushes logs to cloudwatch.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {\n name: `/aws/directoryservice/${exampleAwsDirectoryServiceDirectory.id}`,\n retentionInDays: 14,\n});\nconst ad-log-policy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n principals: [{\n identifiers: [\"ds.amazonaws.com\"],\n type: \"Service\",\n }],\n resources: [pulumi.interpolate`${example.arn}:*`],\n effect: \"Allow\",\n }],\n});\nconst ad_log_policyLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"ad-log-policy\", {\n policyDocument: ad_log_policy.apply(ad_log_policy =\u003e ad_log_policy.json),\n policyName: \"ad-log-policy\",\n});\nconst exampleLogService = new aws.directoryservice.LogService(\"example\", {\n directoryId: exampleAwsDirectoryServiceDirectory.id,\n logGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\",\n name=f\"/aws/directoryservice/{example_aws_directory_service_directory['id']}\",\n retention_in_days=14)\nad_log_policy = aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n \"principals\": [{\n \"identifiers\": [\"ds.amazonaws.com\"],\n \"type\": \"Service\",\n }],\n \"resources\": [example.arn.apply(lambda arn: f\"{arn}:*\")],\n \"effect\": \"Allow\",\n}])\nad_log_policy_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"ad-log-policy\",\n policy_document=ad_log_policy.json,\n policy_name=\"ad-log-policy\")\nexample_log_service = aws.directoryservice.LogService(\"example\",\n directory_id=example_aws_directory_service_directory[\"id\"],\n log_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = $\"/aws/directoryservice/{exampleAwsDirectoryServiceDirectory.Id}\",\n RetentionInDays = 14,\n });\n\n var ad_log_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"ds.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n Resources = new[]\n {\n $\"{example.Arn}:*\",\n },\n Effect = \"Allow\",\n },\n },\n });\n\n var ad_log_policyLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"ad-log-policy\", new()\n {\n PolicyDocument = ad_log_policy.Apply(ad_log_policy =\u003e ad_log_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n PolicyName = \"ad-log-policy\",\n });\n\n var exampleLogService = new Aws.DirectoryService.LogService(\"example\", new()\n {\n DirectoryId = exampleAwsDirectoryServiceDirectory.Id,\n LogGroupName = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.Sprintf(\"/aws/directoryservice/%v\", exampleAwsDirectoryServiceDirectory.Id),\n\t\t\tRetentionInDays: pulumi.Int(14),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tad_log_policy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"logs:CreateLogStream\"),\n\t\t\t\t\t\tpulumi.String(\"logs:PutLogEvents\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"ds.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"ad-log-policy\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: pulumi.String(ad_log_policy.ApplyT(func(ad_log_policy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026ad_log_policy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tPolicyName: pulumi.String(\"ad-log-policy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewLogService(ctx, \"example\", \u0026directoryservice.LogServiceArgs{\n\t\t\tDirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),\n\t\t\tLogGroupName: example.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.directoryservice.LogService;\nimport com.pulumi.aws.directoryservice.LogServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(String.format(\"/aws/directoryservice/%s\", exampleAwsDirectoryServiceDirectory.id()))\n .retentionInDays(14)\n .build());\n\n final var ad-log-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"ds.amazonaws.com\")\n .type(\"Service\")\n .build())\n .resources(example.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .effect(\"Allow\")\n .build())\n .build());\n\n var ad_log_policyLogResourcePolicy = new LogResourcePolicy(\"ad-log-policyLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyDocument(ad_log_policy.applyValue(ad_log_policy -\u003e ad_log_policy.json()))\n .policyName(\"ad-log-policy\")\n .build());\n\n var exampleLogService = new LogService(\"exampleLogService\", LogServiceArgs.builder()\n .directoryId(exampleAwsDirectoryServiceDirectory.id())\n .logGroupName(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: /aws/directoryservice/${exampleAwsDirectoryServiceDirectory.id}\n retentionInDays: 14\n ad-log-policyLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: ad-log-policy\n properties:\n policyDocument: ${[\"ad-log-policy\"].json}\n policyName: ad-log-policy\n exampleLogService:\n type: aws:directoryservice:LogService\n name: example\n properties:\n directoryId: ${exampleAwsDirectoryServiceDirectory.id}\n logGroupName: ${example.name}\nvariables:\n ad-log-policy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - logs:CreateLogStream\n - logs:PutLogEvents\n principals:\n - identifiers:\n - ds.amazonaws.com\n type: Service\n resources:\n - ${example.arn}:*\n effect: Allow\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Directory Service Log Subscriptions using the directory id. For example:\n\n```sh\n$ pulumi import aws:directoryservice/logService:LogService msad d-1234567890\n```\n", + "description": "Provides a Log subscription for AWS Directory Service that pushes logs to cloudwatch.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {\n name: `/aws/directoryservice/${exampleAwsDirectoryServiceDirectory.id}`,\n retentionInDays: 14,\n});\nconst ad-log-policy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n principals: [{\n identifiers: [\"ds.amazonaws.com\"],\n type: \"Service\",\n }],\n resources: [pulumi.interpolate`${example.arn}:*`],\n effect: \"Allow\",\n }],\n});\nconst ad_log_policyLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"ad-log-policy\", {\n policyDocument: ad_log_policy.apply(ad_log_policy =\u003e ad_log_policy.json),\n policyName: \"ad-log-policy\",\n});\nconst exampleLogService = new aws.directoryservice.LogService(\"example\", {\n directoryId: exampleAwsDirectoryServiceDirectory.id,\n logGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\",\n name=f\"/aws/directoryservice/{example_aws_directory_service_directory['id']}\",\n retention_in_days=14)\nad_log_policy = aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n \"principals\": [{\n \"identifiers\": [\"ds.amazonaws.com\"],\n \"type\": \"Service\",\n }],\n \"resources\": [example.arn.apply(lambda arn: f\"{arn}:*\")],\n \"effect\": \"Allow\",\n}])\nad_log_policy_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"ad-log-policy\",\n policy_document=ad_log_policy.json,\n policy_name=\"ad-log-policy\")\nexample_log_service = aws.directoryservice.LogService(\"example\",\n directory_id=example_aws_directory_service_directory[\"id\"],\n log_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = $\"/aws/directoryservice/{exampleAwsDirectoryServiceDirectory.Id}\",\n RetentionInDays = 14,\n });\n\n var ad_log_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"ds.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n Resources = new[]\n {\n $\"{example.Arn}:*\",\n },\n Effect = \"Allow\",\n },\n },\n });\n\n var ad_log_policyLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"ad-log-policy\", new()\n {\n PolicyDocument = ad_log_policy.Apply(ad_log_policy =\u003e ad_log_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n PolicyName = \"ad-log-policy\",\n });\n\n var exampleLogService = new Aws.DirectoryService.LogService(\"example\", new()\n {\n DirectoryId = exampleAwsDirectoryServiceDirectory.Id,\n LogGroupName = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.Sprintf(\"/aws/directoryservice/%v\", exampleAwsDirectoryServiceDirectory.Id),\n\t\t\tRetentionInDays: pulumi.Int(14),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tad_log_policy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"logs:CreateLogStream\"),\n\t\t\t\t\t\tpulumi.String(\"logs:PutLogEvents\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"ds.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"ad-log-policy\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: pulumi.String(ad_log_policy.ApplyT(func(ad_log_policy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026ad_log_policy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tPolicyName: pulumi.String(\"ad-log-policy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewLogService(ctx, \"example\", \u0026directoryservice.LogServiceArgs{\n\t\t\tDirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),\n\t\t\tLogGroupName: example.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.directoryservice.LogService;\nimport com.pulumi.aws.directoryservice.LogServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(String.format(\"/aws/directoryservice/%s\", exampleAwsDirectoryServiceDirectory.id()))\n .retentionInDays(14)\n .build());\n\n final var ad-log-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"ds.amazonaws.com\")\n .type(\"Service\")\n .build())\n .resources(example.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .effect(\"Allow\")\n .build())\n .build());\n\n var ad_log_policyLogResourcePolicy = new LogResourcePolicy(\"ad-log-policyLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyDocument(ad_log_policy.applyValue(ad_log_policy -\u003e ad_log_policy.json()))\n .policyName(\"ad-log-policy\")\n .build());\n\n var exampleLogService = new LogService(\"exampleLogService\", LogServiceArgs.builder()\n .directoryId(exampleAwsDirectoryServiceDirectory.id())\n .logGroupName(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: /aws/directoryservice/${exampleAwsDirectoryServiceDirectory.id}\n retentionInDays: 14\n ad-log-policyLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: ad-log-policy\n properties:\n policyDocument: ${[\"ad-log-policy\"].json}\n policyName: ad-log-policy\n exampleLogService:\n type: aws:directoryservice:LogService\n name: example\n properties:\n directoryId: ${exampleAwsDirectoryServiceDirectory.id}\n logGroupName: ${example.name}\nvariables:\n ad-log-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - logs:CreateLogStream\n - logs:PutLogEvents\n principals:\n - identifiers:\n - ds.amazonaws.com\n type: Service\n resources:\n - ${example.arn}:*\n effect: Allow\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Directory Service Log Subscriptions using the directory id. For example:\n\n```sh\n$ pulumi import aws:directoryservice/logService:LogService msad d-1234567890\n```\n", "properties": { "directoryId": { "type": "string", @@ -226757,7 +226757,7 @@ } }, "aws:dlm/lifecyclePolicy:LifecyclePolicy": { - "description": "Provides a [Data Lifecycle Manager (DLM) lifecycle policy](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html) for managing snapshots.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"dlm.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst dlmLifecycleRole = new aws.iam.Role(\"dlm_lifecycle_role\", {\n name: \"dlm-lifecycle-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst dlmLifecycle = aws.iam.getPolicyDocument({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"ec2:CreateSnapshot\",\n \"ec2:CreateSnapshots\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeVolumes\",\n \"ec2:DescribeSnapshots\",\n ],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\"ec2:CreateTags\"],\n resources: [\"arn:aws:ec2:*::snapshot/*\"],\n },\n ],\n});\nconst dlmLifecycleRolePolicy = new aws.iam.RolePolicy(\"dlm_lifecycle\", {\n name: \"dlm-lifecycle-policy\",\n role: dlmLifecycleRole.id,\n policy: dlmLifecycle.then(dlmLifecycle =\u003e dlmLifecycle.json),\n});\nconst example = new aws.dlm.LifecyclePolicy(\"example\", {\n description: \"example DLM lifecycle policy\",\n executionRoleArn: dlmLifecycleRole.arn,\n state: \"ENABLED\",\n policyDetails: {\n resourceTypes: \"VOLUME\",\n schedules: [{\n name: \"2 weeks of daily snapshots\",\n createRule: {\n interval: 24,\n intervalUnit: \"HOURS\",\n times: \"23:45\",\n },\n retainRule: {\n count: 14,\n },\n tagsToAdd: {\n SnapshotCreator: \"DLM\",\n },\n copyTags: false,\n }],\n targetTags: {\n Snapshot: \"true\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"dlm.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\ndlm_lifecycle_role = aws.iam.Role(\"dlm_lifecycle_role\",\n name=\"dlm-lifecycle-role\",\n assume_role_policy=assume_role.json)\ndlm_lifecycle = aws.iam.get_policy_document(statements=[\n {\n \"effect\": \"Allow\",\n \"actions\": [\n \"ec2:CreateSnapshot\",\n \"ec2:CreateSnapshots\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeVolumes\",\n \"ec2:DescribeSnapshots\",\n ],\n \"resources\": [\"*\"],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\"ec2:CreateTags\"],\n \"resources\": [\"arn:aws:ec2:*::snapshot/*\"],\n },\n])\ndlm_lifecycle_role_policy = aws.iam.RolePolicy(\"dlm_lifecycle\",\n name=\"dlm-lifecycle-policy\",\n role=dlm_lifecycle_role.id,\n policy=dlm_lifecycle.json)\nexample = aws.dlm.LifecyclePolicy(\"example\",\n description=\"example DLM lifecycle policy\",\n execution_role_arn=dlm_lifecycle_role.arn,\n state=\"ENABLED\",\n policy_details={\n \"resource_types\": \"VOLUME\",\n \"schedules\": [{\n \"name\": \"2 weeks of daily snapshots\",\n \"create_rule\": {\n \"interval\": 24,\n \"interval_unit\": \"HOURS\",\n \"times\": \"23:45\",\n },\n \"retain_rule\": {\n \"count\": 14,\n },\n \"tags_to_add\": {\n \"SnapshotCreator\": \"DLM\",\n },\n \"copy_tags\": False,\n }],\n \"target_tags\": {\n \"Snapshot\": \"true\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"dlm.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var dlmLifecycleRole = new Aws.Iam.Role(\"dlm_lifecycle_role\", new()\n {\n Name = \"dlm-lifecycle-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var dlmLifecycle = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateSnapshot\",\n \"ec2:CreateSnapshots\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeVolumes\",\n \"ec2:DescribeSnapshots\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateTags\",\n },\n Resources = new[]\n {\n \"arn:aws:ec2:*::snapshot/*\",\n },\n },\n },\n });\n\n var dlmLifecycleRolePolicy = new Aws.Iam.RolePolicy(\"dlm_lifecycle\", new()\n {\n Name = \"dlm-lifecycle-policy\",\n Role = dlmLifecycleRole.Id,\n Policy = dlmLifecycle.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = new Aws.Dlm.LifecyclePolicy(\"example\", new()\n {\n Description = \"example DLM lifecycle policy\",\n ExecutionRoleArn = dlmLifecycleRole.Arn,\n State = \"ENABLED\",\n PolicyDetails = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsArgs\n {\n ResourceTypes = \"VOLUME\",\n Schedules = new[]\n {\n new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleArgs\n {\n Name = \"2 weeks of daily snapshots\",\n CreateRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs\n {\n Interval = 24,\n IntervalUnit = \"HOURS\",\n Times = \"23:45\",\n },\n RetainRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs\n {\n Count = 14,\n },\n TagsToAdd = \n {\n { \"SnapshotCreator\", \"DLM\" },\n },\n CopyTags = false,\n },\n },\n TargetTags = \n {\n { \"Snapshot\", \"true\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dlm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"dlm.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdlmLifecycleRole, err := iam.NewRole(ctx, \"dlm_lifecycle_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"dlm-lifecycle-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdlmLifecycle, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:CreateSnapshot\",\n\t\t\t\t\t\t\"ec2:CreateSnapshots\",\n\t\t\t\t\t\t\"ec2:DeleteSnapshot\",\n\t\t\t\t\t\t\"ec2:DescribeInstances\",\n\t\t\t\t\t\t\"ec2:DescribeVolumes\",\n\t\t\t\t\t\t\"ec2:DescribeSnapshots\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:CreateTags\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:ec2:*::snapshot/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"dlm_lifecycle\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"dlm-lifecycle-policy\"),\n\t\t\tRole: dlmLifecycleRole.ID(),\n\t\t\tPolicy: pulumi.String(dlmLifecycle.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dlm.NewLifecyclePolicy(ctx, \"example\", \u0026dlm.LifecyclePolicyArgs{\n\t\t\tDescription: pulumi.String(\"example DLM lifecycle policy\"),\n\t\t\tExecutionRoleArn: dlmLifecycleRole.Arn,\n\t\t\tState: pulumi.String(\"ENABLED\"),\n\t\t\tPolicyDetails: \u0026dlm.LifecyclePolicyPolicyDetailsArgs{\n\t\t\t\tResourceTypes: pulumi.StringArray(\"VOLUME\"),\n\t\t\t\tSchedules: dlm.LifecyclePolicyPolicyDetailsScheduleArray{\n\t\t\t\t\t\u0026dlm.LifecyclePolicyPolicyDetailsScheduleArgs{\n\t\t\t\t\t\tName: pulumi.String(\"2 weeks of daily snapshots\"),\n\t\t\t\t\t\tCreateRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs{\n\t\t\t\t\t\t\tInterval: pulumi.Int(24),\n\t\t\t\t\t\t\tIntervalUnit: pulumi.String(\"HOURS\"),\n\t\t\t\t\t\t\tTimes: pulumi.String(\"23:45\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRetainRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs{\n\t\t\t\t\t\t\tCount: pulumi.Int(14),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTagsToAdd: pulumi.StringMap{\n\t\t\t\t\t\t\t\"SnapshotCreator\": pulumi.String(\"DLM\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCopyTags: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tTargetTags: pulumi.StringMap{\n\t\t\t\t\t\"Snapshot\": pulumi.String(\"true\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.dlm.LifecyclePolicy;\nimport com.pulumi.aws.dlm.LifecyclePolicyArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"dlm.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var dlmLifecycleRole = new Role(\"dlmLifecycleRole\", RoleArgs.builder()\n .name(\"dlm-lifecycle-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var dlmLifecycle = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"ec2:CreateSnapshot\",\n \"ec2:CreateSnapshots\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeVolumes\",\n \"ec2:DescribeSnapshots\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:CreateTags\")\n .resources(\"arn:aws:ec2:*::snapshot/*\")\n .build())\n .build());\n\n var dlmLifecycleRolePolicy = new RolePolicy(\"dlmLifecycleRolePolicy\", RolePolicyArgs.builder()\n .name(\"dlm-lifecycle-policy\")\n .role(dlmLifecycleRole.id())\n .policy(dlmLifecycle.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new LifecyclePolicy(\"example\", LifecyclePolicyArgs.builder()\n .description(\"example DLM lifecycle policy\")\n .executionRoleArn(dlmLifecycleRole.arn())\n .state(\"ENABLED\")\n .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder()\n .resourceTypes(\"VOLUME\")\n .schedules(LifecyclePolicyPolicyDetailsScheduleArgs.builder()\n .name(\"2 weeks of daily snapshots\")\n .createRule(LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs.builder()\n .interval(24)\n .intervalUnit(\"HOURS\")\n .times(\"23:45\")\n .build())\n .retainRule(LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs.builder()\n .count(14)\n .build())\n .tagsToAdd(Map.of(\"SnapshotCreator\", \"DLM\"))\n .copyTags(false)\n .build())\n .targetTags(Map.of(\"Snapshot\", \"true\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dlmLifecycleRole:\n type: aws:iam:Role\n name: dlm_lifecycle_role\n properties:\n name: dlm-lifecycle-role\n assumeRolePolicy: ${assumeRole.json}\n dlmLifecycleRolePolicy:\n type: aws:iam:RolePolicy\n name: dlm_lifecycle\n properties:\n name: dlm-lifecycle-policy\n role: ${dlmLifecycleRole.id}\n policy: ${dlmLifecycle.json}\n example:\n type: aws:dlm:LifecyclePolicy\n properties:\n description: example DLM lifecycle policy\n executionRoleArn: ${dlmLifecycleRole.arn}\n state: ENABLED\n policyDetails:\n resourceTypes: VOLUME\n schedules:\n - name: 2 weeks of daily snapshots\n createRule:\n interval: 24\n intervalUnit: HOURS\n times: 23:45\n retainRule:\n count: 14\n tagsToAdd:\n SnapshotCreator: DLM\n copyTags: false\n targetTags:\n Snapshot: 'true'\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - dlm.amazonaws.com\n actions:\n - sts:AssumeRole\n dlmLifecycle:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:CreateSnapshot\n - ec2:CreateSnapshots\n - ec2:DeleteSnapshot\n - ec2:DescribeInstances\n - ec2:DescribeVolumes\n - ec2:DescribeSnapshots\n resources:\n - '*'\n - effect: Allow\n actions:\n - ec2:CreateTags\n resources:\n - arn:aws:ec2:*::snapshot/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Cross-Region Snapshot Copy Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ...other configuration...\nconst current = aws.getCallerIdentity({});\nconst key = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n sid: \"Enable IAM User Permissions\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [`arn:aws:iam::${current.accountId}:root`],\n }],\n actions: [\"kms:*\"],\n resources: [\"*\"],\n }],\n}));\nconst dlmCrossRegionCopyCmk = new aws.kms.Key(\"dlm_cross_region_copy_cmk\", {\n description: \"Example Alternate Region KMS Key\",\n policy: key.then(key =\u003e key.json),\n});\nconst example = new aws.dlm.LifecyclePolicy(\"example\", {\n description: \"example DLM lifecycle policy\",\n executionRoleArn: dlmLifecycleRole.arn,\n state: \"ENABLED\",\n policyDetails: {\n resourceTypes: \"VOLUME\",\n schedules: [{\n name: \"2 weeks of daily snapshots\",\n createRule: {\n interval: 24,\n intervalUnit: \"HOURS\",\n times: \"23:45\",\n },\n retainRule: {\n count: 14,\n },\n tagsToAdd: {\n SnapshotCreator: \"DLM\",\n },\n copyTags: false,\n crossRegionCopyRules: [{\n target: \"us-west-2\",\n encrypted: true,\n cmkArn: dlmCrossRegionCopyCmk.arn,\n copyTags: true,\n retainRule: {\n interval: 30,\n intervalUnit: \"DAYS\",\n },\n }],\n }],\n targetTags: {\n Snapshot: \"true\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ...other configuration...\ncurrent = aws.get_caller_identity()\nkey = aws.iam.get_policy_document(statements=[{\n \"sid\": \"Enable IAM User Permissions\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [f\"arn:aws:iam::{current.account_id}:root\"],\n }],\n \"actions\": [\"kms:*\"],\n \"resources\": [\"*\"],\n}])\ndlm_cross_region_copy_cmk = aws.kms.Key(\"dlm_cross_region_copy_cmk\",\n description=\"Example Alternate Region KMS Key\",\n policy=key.json)\nexample = aws.dlm.LifecyclePolicy(\"example\",\n description=\"example DLM lifecycle policy\",\n execution_role_arn=dlm_lifecycle_role[\"arn\"],\n state=\"ENABLED\",\n policy_details={\n \"resource_types\": \"VOLUME\",\n \"schedules\": [{\n \"name\": \"2 weeks of daily snapshots\",\n \"create_rule\": {\n \"interval\": 24,\n \"interval_unit\": \"HOURS\",\n \"times\": \"23:45\",\n },\n \"retain_rule\": {\n \"count\": 14,\n },\n \"tags_to_add\": {\n \"SnapshotCreator\": \"DLM\",\n },\n \"copy_tags\": False,\n \"cross_region_copy_rules\": [{\n \"target\": \"us-west-2\",\n \"encrypted\": True,\n \"cmk_arn\": dlm_cross_region_copy_cmk.arn,\n \"copy_tags\": True,\n \"retain_rule\": {\n \"interval\": 30,\n \"interval_unit\": \"DAYS\",\n },\n }],\n }],\n \"target_tags\": {\n \"Snapshot\": \"true\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ...other configuration...\n var current = Aws.GetCallerIdentity.Invoke();\n\n var key = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Enable IAM User Permissions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n Actions = new[]\n {\n \"kms:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var dlmCrossRegionCopyCmk = new Aws.Kms.Key(\"dlm_cross_region_copy_cmk\", new()\n {\n Description = \"Example Alternate Region KMS Key\",\n Policy = key.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = new Aws.Dlm.LifecyclePolicy(\"example\", new()\n {\n Description = \"example DLM lifecycle policy\",\n ExecutionRoleArn = dlmLifecycleRole.Arn,\n State = \"ENABLED\",\n PolicyDetails = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsArgs\n {\n ResourceTypes = \"VOLUME\",\n Schedules = new[]\n {\n new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleArgs\n {\n Name = \"2 weeks of daily snapshots\",\n CreateRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs\n {\n Interval = 24,\n IntervalUnit = \"HOURS\",\n Times = \"23:45\",\n },\n RetainRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs\n {\n Count = 14,\n },\n TagsToAdd = \n {\n { \"SnapshotCreator\", \"DLM\" },\n },\n CopyTags = false,\n CrossRegionCopyRules = new[]\n {\n new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArgs\n {\n Target = \"us-west-2\",\n Encrypted = true,\n CmkArn = dlmCrossRegionCopyCmk.Arn,\n CopyTags = true,\n RetainRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleArgs\n {\n Interval = 30,\n IntervalUnit = \"DAYS\",\n },\n },\n },\n },\n },\n TargetTags = \n {\n { \"Snapshot\", \"true\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dlm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\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// ...other configuration...\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkey, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Enable IAM User Permissions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdlmCrossRegionCopyCmk, err := kms.NewKey(ctx, \"dlm_cross_region_copy_cmk\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example Alternate Region KMS Key\"),\n\t\t\tPolicy: pulumi.String(key.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dlm.NewLifecyclePolicy(ctx, \"example\", \u0026dlm.LifecyclePolicyArgs{\n\t\t\tDescription: pulumi.String(\"example DLM lifecycle policy\"),\n\t\t\tExecutionRoleArn: pulumi.Any(dlmLifecycleRole.Arn),\n\t\t\tState: pulumi.String(\"ENABLED\"),\n\t\t\tPolicyDetails: \u0026dlm.LifecyclePolicyPolicyDetailsArgs{\n\t\t\t\tResourceTypes: pulumi.StringArray(\"VOLUME\"),\n\t\t\t\tSchedules: dlm.LifecyclePolicyPolicyDetailsScheduleArray{\n\t\t\t\t\t\u0026dlm.LifecyclePolicyPolicyDetailsScheduleArgs{\n\t\t\t\t\t\tName: pulumi.String(\"2 weeks of daily snapshots\"),\n\t\t\t\t\t\tCreateRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs{\n\t\t\t\t\t\t\tInterval: pulumi.Int(24),\n\t\t\t\t\t\t\tIntervalUnit: pulumi.String(\"HOURS\"),\n\t\t\t\t\t\t\tTimes: pulumi.String(\"23:45\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRetainRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs{\n\t\t\t\t\t\t\tCount: pulumi.Int(14),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTagsToAdd: pulumi.StringMap{\n\t\t\t\t\t\t\t\"SnapshotCreator\": pulumi.String(\"DLM\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCopyTags: pulumi.Bool(false),\n\t\t\t\t\t\tCrossRegionCopyRules: dlm.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArray{\n\t\t\t\t\t\t\t\u0026dlm.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArgs{\n\t\t\t\t\t\t\t\tTarget: pulumi.String(\"us-west-2\"),\n\t\t\t\t\t\t\t\tEncrypted: pulumi.Bool(true),\n\t\t\t\t\t\t\t\tCmkArn: dlmCrossRegionCopyCmk.Arn,\n\t\t\t\t\t\t\t\tCopyTags: pulumi.Bool(true),\n\t\t\t\t\t\t\t\tRetainRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleArgs{\n\t\t\t\t\t\t\t\t\tInterval: pulumi.Int(30),\n\t\t\t\t\t\t\t\t\tIntervalUnit: pulumi.String(\"DAYS\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tTargetTags: pulumi.StringMap{\n\t\t\t\t\t\"Snapshot\": pulumi.String(\"true\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.dlm.LifecyclePolicy;\nimport com.pulumi.aws.dlm.LifecyclePolicyArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ...other configuration...\n final var current = AwsFunctions.getCallerIdentity();\n\n final var key = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"Enable IAM User Permissions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .actions(\"kms:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var dlmCrossRegionCopyCmk = new Key(\"dlmCrossRegionCopyCmk\", KeyArgs.builder()\n .description(\"Example Alternate Region KMS Key\")\n .policy(key.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new LifecyclePolicy(\"example\", LifecyclePolicyArgs.builder()\n .description(\"example DLM lifecycle policy\")\n .executionRoleArn(dlmLifecycleRole.arn())\n .state(\"ENABLED\")\n .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder()\n .resourceTypes(\"VOLUME\")\n .schedules(LifecyclePolicyPolicyDetailsScheduleArgs.builder()\n .name(\"2 weeks of daily snapshots\")\n .createRule(LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs.builder()\n .interval(24)\n .intervalUnit(\"HOURS\")\n .times(\"23:45\")\n .build())\n .retainRule(LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs.builder()\n .count(14)\n .build())\n .tagsToAdd(Map.of(\"SnapshotCreator\", \"DLM\"))\n .copyTags(false)\n .crossRegionCopyRules(LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArgs.builder()\n .target(\"us-west-2\")\n .encrypted(true)\n .cmkArn(dlmCrossRegionCopyCmk.arn())\n .copyTags(true)\n .retainRule(LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleArgs.builder()\n .interval(30)\n .intervalUnit(\"DAYS\")\n .build())\n .build())\n .build())\n .targetTags(Map.of(\"Snapshot\", \"true\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dlmCrossRegionCopyCmk:\n type: aws:kms:Key\n name: dlm_cross_region_copy_cmk\n properties:\n description: Example Alternate Region KMS Key\n policy: ${key.json}\n example:\n type: aws:dlm:LifecyclePolicy\n properties:\n description: example DLM lifecycle policy\n executionRoleArn: ${dlmLifecycleRole.arn}\n state: ENABLED\n policyDetails:\n resourceTypes: VOLUME\n schedules:\n - name: 2 weeks of daily snapshots\n createRule:\n interval: 24\n intervalUnit: HOURS\n times: 23:45\n retainRule:\n count: 14\n tagsToAdd:\n SnapshotCreator: DLM\n copyTags: false\n crossRegionCopyRules:\n - target: us-west-2\n encrypted: true\n cmkArn: ${dlmCrossRegionCopyCmk.arn}\n copyTags: true\n retainRule:\n interval: 30\n intervalUnit: DAYS\n targetTags:\n Snapshot: 'true'\nvariables:\n # ...other configuration...\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n key:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: Enable IAM User Permissions\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n actions:\n - kms:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Event Based Policy Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst exampleLifecyclePolicy = new aws.dlm.LifecyclePolicy(\"example\", {\n description: \"tf-acc-basic\",\n executionRoleArn: exampleAwsIamRole.arn,\n policyDetails: {\n policyType: \"EVENT_BASED_POLICY\",\n action: {\n name: \"tf-acc-basic\",\n crossRegionCopies: [{\n encryptionConfiguration: {},\n retainRule: {\n interval: 15,\n intervalUnit: \"MONTHS\",\n },\n target: \"us-east-1\",\n }],\n },\n eventSource: {\n type: \"MANAGED_CWE\",\n parameters: {\n descriptionRegex: \"^.*Created for policy: policy-1234567890abcdef0.*$\",\n eventType: \"shareSnapshot\",\n snapshotOwners: [current.then(current =\u003e current.accountId)],\n },\n },\n },\n});\nconst example = aws.iam.getPolicy({\n name: \"AWSDataLifecycleManagerServiceRole\",\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n role: exampleAwsIamRole.id,\n policyArn: example.then(example =\u003e example.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample_lifecycle_policy = aws.dlm.LifecyclePolicy(\"example\",\n description=\"tf-acc-basic\",\n execution_role_arn=example_aws_iam_role[\"arn\"],\n policy_details={\n \"policy_type\": \"EVENT_BASED_POLICY\",\n \"action\": {\n \"name\": \"tf-acc-basic\",\n \"cross_region_copies\": [{\n \"encryption_configuration\": {},\n \"retain_rule\": {\n \"interval\": 15,\n \"interval_unit\": \"MONTHS\",\n },\n \"target\": \"us-east-1\",\n }],\n },\n \"event_source\": {\n \"type\": \"MANAGED_CWE\",\n \"parameters\": {\n \"description_regex\": \"^.*Created for policy: policy-1234567890abcdef0.*$\",\n \"event_type\": \"shareSnapshot\",\n \"snapshot_owners\": [current.account_id],\n },\n },\n })\nexample = aws.iam.get_policy(name=\"AWSDataLifecycleManagerServiceRole\")\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n role=example_aws_iam_role[\"id\"],\n policy_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var exampleLifecyclePolicy = new Aws.Dlm.LifecyclePolicy(\"example\", new()\n {\n Description = \"tf-acc-basic\",\n ExecutionRoleArn = exampleAwsIamRole.Arn,\n PolicyDetails = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsArgs\n {\n PolicyType = \"EVENT_BASED_POLICY\",\n Action = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsActionArgs\n {\n Name = \"tf-acc-basic\",\n CrossRegionCopies = new[]\n {\n new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs\n {\n EncryptionConfiguration = null,\n RetainRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs\n {\n Interval = 15,\n IntervalUnit = \"MONTHS\",\n },\n Target = \"us-east-1\",\n },\n },\n },\n EventSource = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsEventSourceArgs\n {\n Type = \"MANAGED_CWE\",\n Parameters = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsEventSourceParametersArgs\n {\n DescriptionRegex = \"^.*Created for policy: policy-1234567890abcdef0.*$\",\n EventType = \"shareSnapshot\",\n SnapshotOwners = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n },\n });\n\n var example = Aws.Iam.GetPolicy.Invoke(new()\n {\n Name = \"AWSDataLifecycleManagerServiceRole\",\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = exampleAwsIamRole.Id,\n PolicyArn = example.Apply(getPolicyResult =\u003e getPolicyResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dlm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dlm.NewLifecyclePolicy(ctx, \"example\", \u0026dlm.LifecyclePolicyArgs{\n\t\t\tDescription: pulumi.String(\"tf-acc-basic\"),\n\t\t\tExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tPolicyDetails: \u0026dlm.LifecyclePolicyPolicyDetailsArgs{\n\t\t\t\tPolicyType: pulumi.String(\"EVENT_BASED_POLICY\"),\n\t\t\t\tAction: \u0026dlm.LifecyclePolicyPolicyDetailsActionArgs{\n\t\t\t\t\tName: pulumi.String(\"tf-acc-basic\"),\n\t\t\t\t\tCrossRegionCopies: dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArray{\n\t\t\t\t\t\t\u0026dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs{\n\t\t\t\t\t\t\tEncryptionConfiguration: \u0026dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationArgs{},\n\t\t\t\t\t\t\tRetainRule: \u0026dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs{\n\t\t\t\t\t\t\t\tInterval: pulumi.Int(15),\n\t\t\t\t\t\t\t\tIntervalUnit: pulumi.String(\"MONTHS\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTarget: pulumi.String(\"us-east-1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tEventSource: \u0026dlm.LifecyclePolicyPolicyDetailsEventSourceArgs{\n\t\t\t\t\tType: pulumi.String(\"MANAGED_CWE\"),\n\t\t\t\t\tParameters: \u0026dlm.LifecyclePolicyPolicyDetailsEventSourceParametersArgs{\n\t\t\t\t\t\tDescriptionRegex: pulumi.String(\"^.*Created for policy: policy-1234567890abcdef0.*$\"),\n\t\t\t\t\t\tEventType: pulumi.String(\"shareSnapshot\"),\n\t\t\t\t\t\tSnapshotOwners: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(current.AccountId),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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\texample, err := iam.LookupPolicy(ctx, \u0026iam.LookupPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"AWSDataLifecycleManagerServiceRole\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: pulumi.Any(exampleAwsIamRole.Id),\n\t\t\tPolicyArn: pulumi.String(example.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.dlm.LifecyclePolicy;\nimport com.pulumi.aws.dlm.LifecyclePolicyArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsActionArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsEventSourceArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsEventSourceParametersArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder()\n .description(\"tf-acc-basic\")\n .executionRoleArn(exampleAwsIamRole.arn())\n .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder()\n .policyType(\"EVENT_BASED_POLICY\")\n .action(LifecyclePolicyPolicyDetailsActionArgs.builder()\n .name(\"tf-acc-basic\")\n .crossRegionCopies(LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs.builder()\n .encryptionConfiguration()\n .retainRule(LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs.builder()\n .interval(15)\n .intervalUnit(\"MONTHS\")\n .build())\n .target(\"us-east-1\")\n .build())\n .build())\n .eventSource(LifecyclePolicyPolicyDetailsEventSourceArgs.builder()\n .type(\"MANAGED_CWE\")\n .parameters(LifecyclePolicyPolicyDetailsEventSourceParametersArgs.builder()\n .descriptionRegex(\"^.*Created for policy: policy-1234567890abcdef0.*$\")\n .eventType(\"shareSnapshot\")\n .snapshotOwners(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .build())\n .build())\n .build());\n\n final var example = IamFunctions.getPolicy(GetPolicyArgs.builder()\n .name(\"AWSDataLifecycleManagerServiceRole\")\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(exampleAwsIamRole.id())\n .policyArn(example.applyValue(getPolicyResult -\u003e getPolicyResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLifecyclePolicy:\n type: aws:dlm:LifecyclePolicy\n name: example\n properties:\n description: tf-acc-basic\n executionRoleArn: ${exampleAwsIamRole.arn}\n policyDetails:\n policyType: EVENT_BASED_POLICY\n action:\n name: tf-acc-basic\n crossRegionCopies:\n - encryptionConfiguration: {}\n retainRule:\n interval: 15\n intervalUnit: MONTHS\n target: us-east-1\n eventSource:\n type: MANAGED_CWE\n parameters:\n descriptionRegex: '^.*Created for policy: policy-1234567890abcdef0.*$'\n eventType: shareSnapshot\n snapshotOwners:\n - ${current.accountId}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n role: ${exampleAwsIamRole.id}\n policyArn: ${example.arn}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n example:\n fn::invoke:\n function: aws:iam:getPolicy\n arguments:\n name: AWSDataLifecycleManagerServiceRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DLM lifecycle policies using their policy ID. For example:\n\n```sh\n$ pulumi import aws:dlm/lifecyclePolicy:LifecyclePolicy example policy-abcdef12345678901\n```\n", + "description": "Provides a [Data Lifecycle Manager (DLM) lifecycle policy](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html) for managing snapshots.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"dlm.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst dlmLifecycleRole = new aws.iam.Role(\"dlm_lifecycle_role\", {\n name: \"dlm-lifecycle-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst dlmLifecycle = aws.iam.getPolicyDocument({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"ec2:CreateSnapshot\",\n \"ec2:CreateSnapshots\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeVolumes\",\n \"ec2:DescribeSnapshots\",\n ],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\"ec2:CreateTags\"],\n resources: [\"arn:aws:ec2:*::snapshot/*\"],\n },\n ],\n});\nconst dlmLifecycleRolePolicy = new aws.iam.RolePolicy(\"dlm_lifecycle\", {\n name: \"dlm-lifecycle-policy\",\n role: dlmLifecycleRole.id,\n policy: dlmLifecycle.then(dlmLifecycle =\u003e dlmLifecycle.json),\n});\nconst example = new aws.dlm.LifecyclePolicy(\"example\", {\n description: \"example DLM lifecycle policy\",\n executionRoleArn: dlmLifecycleRole.arn,\n state: \"ENABLED\",\n policyDetails: {\n resourceTypes: \"VOLUME\",\n schedules: [{\n name: \"2 weeks of daily snapshots\",\n createRule: {\n interval: 24,\n intervalUnit: \"HOURS\",\n times: \"23:45\",\n },\n retainRule: {\n count: 14,\n },\n tagsToAdd: {\n SnapshotCreator: \"DLM\",\n },\n copyTags: false,\n }],\n targetTags: {\n Snapshot: \"true\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"dlm.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\ndlm_lifecycle_role = aws.iam.Role(\"dlm_lifecycle_role\",\n name=\"dlm-lifecycle-role\",\n assume_role_policy=assume_role.json)\ndlm_lifecycle = aws.iam.get_policy_document(statements=[\n {\n \"effect\": \"Allow\",\n \"actions\": [\n \"ec2:CreateSnapshot\",\n \"ec2:CreateSnapshots\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeVolumes\",\n \"ec2:DescribeSnapshots\",\n ],\n \"resources\": [\"*\"],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\"ec2:CreateTags\"],\n \"resources\": [\"arn:aws:ec2:*::snapshot/*\"],\n },\n])\ndlm_lifecycle_role_policy = aws.iam.RolePolicy(\"dlm_lifecycle\",\n name=\"dlm-lifecycle-policy\",\n role=dlm_lifecycle_role.id,\n policy=dlm_lifecycle.json)\nexample = aws.dlm.LifecyclePolicy(\"example\",\n description=\"example DLM lifecycle policy\",\n execution_role_arn=dlm_lifecycle_role.arn,\n state=\"ENABLED\",\n policy_details={\n \"resource_types\": \"VOLUME\",\n \"schedules\": [{\n \"name\": \"2 weeks of daily snapshots\",\n \"create_rule\": {\n \"interval\": 24,\n \"interval_unit\": \"HOURS\",\n \"times\": \"23:45\",\n },\n \"retain_rule\": {\n \"count\": 14,\n },\n \"tags_to_add\": {\n \"SnapshotCreator\": \"DLM\",\n },\n \"copy_tags\": False,\n }],\n \"target_tags\": {\n \"Snapshot\": \"true\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"dlm.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var dlmLifecycleRole = new Aws.Iam.Role(\"dlm_lifecycle_role\", new()\n {\n Name = \"dlm-lifecycle-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var dlmLifecycle = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateSnapshot\",\n \"ec2:CreateSnapshots\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeVolumes\",\n \"ec2:DescribeSnapshots\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateTags\",\n },\n Resources = new[]\n {\n \"arn:aws:ec2:*::snapshot/*\",\n },\n },\n },\n });\n\n var dlmLifecycleRolePolicy = new Aws.Iam.RolePolicy(\"dlm_lifecycle\", new()\n {\n Name = \"dlm-lifecycle-policy\",\n Role = dlmLifecycleRole.Id,\n Policy = dlmLifecycle.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = new Aws.Dlm.LifecyclePolicy(\"example\", new()\n {\n Description = \"example DLM lifecycle policy\",\n ExecutionRoleArn = dlmLifecycleRole.Arn,\n State = \"ENABLED\",\n PolicyDetails = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsArgs\n {\n ResourceTypes = \"VOLUME\",\n Schedules = new[]\n {\n new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleArgs\n {\n Name = \"2 weeks of daily snapshots\",\n CreateRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs\n {\n Interval = 24,\n IntervalUnit = \"HOURS\",\n Times = \"23:45\",\n },\n RetainRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs\n {\n Count = 14,\n },\n TagsToAdd = \n {\n { \"SnapshotCreator\", \"DLM\" },\n },\n CopyTags = false,\n },\n },\n TargetTags = \n {\n { \"Snapshot\", \"true\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dlm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"dlm.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdlmLifecycleRole, err := iam.NewRole(ctx, \"dlm_lifecycle_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"dlm-lifecycle-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdlmLifecycle, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:CreateSnapshot\",\n\t\t\t\t\t\t\"ec2:CreateSnapshots\",\n\t\t\t\t\t\t\"ec2:DeleteSnapshot\",\n\t\t\t\t\t\t\"ec2:DescribeInstances\",\n\t\t\t\t\t\t\"ec2:DescribeVolumes\",\n\t\t\t\t\t\t\"ec2:DescribeSnapshots\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:CreateTags\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:ec2:*::snapshot/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"dlm_lifecycle\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"dlm-lifecycle-policy\"),\n\t\t\tRole: dlmLifecycleRole.ID(),\n\t\t\tPolicy: pulumi.String(dlmLifecycle.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dlm.NewLifecyclePolicy(ctx, \"example\", \u0026dlm.LifecyclePolicyArgs{\n\t\t\tDescription: pulumi.String(\"example DLM lifecycle policy\"),\n\t\t\tExecutionRoleArn: dlmLifecycleRole.Arn,\n\t\t\tState: pulumi.String(\"ENABLED\"),\n\t\t\tPolicyDetails: \u0026dlm.LifecyclePolicyPolicyDetailsArgs{\n\t\t\t\tResourceTypes: pulumi.StringArray(\"VOLUME\"),\n\t\t\t\tSchedules: dlm.LifecyclePolicyPolicyDetailsScheduleArray{\n\t\t\t\t\t\u0026dlm.LifecyclePolicyPolicyDetailsScheduleArgs{\n\t\t\t\t\t\tName: pulumi.String(\"2 weeks of daily snapshots\"),\n\t\t\t\t\t\tCreateRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs{\n\t\t\t\t\t\t\tInterval: pulumi.Int(24),\n\t\t\t\t\t\t\tIntervalUnit: pulumi.String(\"HOURS\"),\n\t\t\t\t\t\t\tTimes: pulumi.String(\"23:45\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRetainRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs{\n\t\t\t\t\t\t\tCount: pulumi.Int(14),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTagsToAdd: pulumi.StringMap{\n\t\t\t\t\t\t\t\"SnapshotCreator\": pulumi.String(\"DLM\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCopyTags: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tTargetTags: pulumi.StringMap{\n\t\t\t\t\t\"Snapshot\": pulumi.String(\"true\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.dlm.LifecyclePolicy;\nimport com.pulumi.aws.dlm.LifecyclePolicyArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"dlm.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var dlmLifecycleRole = new Role(\"dlmLifecycleRole\", RoleArgs.builder()\n .name(\"dlm-lifecycle-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var dlmLifecycle = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"ec2:CreateSnapshot\",\n \"ec2:CreateSnapshots\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeVolumes\",\n \"ec2:DescribeSnapshots\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:CreateTags\")\n .resources(\"arn:aws:ec2:*::snapshot/*\")\n .build())\n .build());\n\n var dlmLifecycleRolePolicy = new RolePolicy(\"dlmLifecycleRolePolicy\", RolePolicyArgs.builder()\n .name(\"dlm-lifecycle-policy\")\n .role(dlmLifecycleRole.id())\n .policy(dlmLifecycle.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new LifecyclePolicy(\"example\", LifecyclePolicyArgs.builder()\n .description(\"example DLM lifecycle policy\")\n .executionRoleArn(dlmLifecycleRole.arn())\n .state(\"ENABLED\")\n .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder()\n .resourceTypes(\"VOLUME\")\n .schedules(LifecyclePolicyPolicyDetailsScheduleArgs.builder()\n .name(\"2 weeks of daily snapshots\")\n .createRule(LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs.builder()\n .interval(24)\n .intervalUnit(\"HOURS\")\n .times(\"23:45\")\n .build())\n .retainRule(LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs.builder()\n .count(14)\n .build())\n .tagsToAdd(Map.of(\"SnapshotCreator\", \"DLM\"))\n .copyTags(false)\n .build())\n .targetTags(Map.of(\"Snapshot\", \"true\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dlmLifecycleRole:\n type: aws:iam:Role\n name: dlm_lifecycle_role\n properties:\n name: dlm-lifecycle-role\n assumeRolePolicy: ${assumeRole.json}\n dlmLifecycleRolePolicy:\n type: aws:iam:RolePolicy\n name: dlm_lifecycle\n properties:\n name: dlm-lifecycle-policy\n role: ${dlmLifecycleRole.id}\n policy: ${dlmLifecycle.json}\n example:\n type: aws:dlm:LifecyclePolicy\n properties:\n description: example DLM lifecycle policy\n executionRoleArn: ${dlmLifecycleRole.arn}\n state: ENABLED\n policyDetails:\n resourceTypes: VOLUME\n schedules:\n - name: 2 weeks of daily snapshots\n createRule:\n interval: 24\n intervalUnit: HOURS\n times: 23:45\n retainRule:\n count: 14\n tagsToAdd:\n SnapshotCreator: DLM\n copyTags: false\n targetTags:\n Snapshot: 'true'\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - dlm.amazonaws.com\n actions:\n - sts:AssumeRole\n dlmLifecycle:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:CreateSnapshot\n - ec2:CreateSnapshots\n - ec2:DeleteSnapshot\n - ec2:DescribeInstances\n - ec2:DescribeVolumes\n - ec2:DescribeSnapshots\n resources:\n - '*'\n - effect: Allow\n actions:\n - ec2:CreateTags\n resources:\n - arn:aws:ec2:*::snapshot/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Cross-Region Snapshot Copy Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ...other configuration...\nconst current = aws.getCallerIdentity({});\nconst key = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n sid: \"Enable IAM User Permissions\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [`arn:aws:iam::${current.accountId}:root`],\n }],\n actions: [\"kms:*\"],\n resources: [\"*\"],\n }],\n}));\nconst dlmCrossRegionCopyCmk = new aws.kms.Key(\"dlm_cross_region_copy_cmk\", {\n description: \"Example Alternate Region KMS Key\",\n policy: key.then(key =\u003e key.json),\n});\nconst example = new aws.dlm.LifecyclePolicy(\"example\", {\n description: \"example DLM lifecycle policy\",\n executionRoleArn: dlmLifecycleRole.arn,\n state: \"ENABLED\",\n policyDetails: {\n resourceTypes: \"VOLUME\",\n schedules: [{\n name: \"2 weeks of daily snapshots\",\n createRule: {\n interval: 24,\n intervalUnit: \"HOURS\",\n times: \"23:45\",\n },\n retainRule: {\n count: 14,\n },\n tagsToAdd: {\n SnapshotCreator: \"DLM\",\n },\n copyTags: false,\n crossRegionCopyRules: [{\n target: \"us-west-2\",\n encrypted: true,\n cmkArn: dlmCrossRegionCopyCmk.arn,\n copyTags: true,\n retainRule: {\n interval: 30,\n intervalUnit: \"DAYS\",\n },\n }],\n }],\n targetTags: {\n Snapshot: \"true\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ...other configuration...\ncurrent = aws.get_caller_identity()\nkey = aws.iam.get_policy_document(statements=[{\n \"sid\": \"Enable IAM User Permissions\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [f\"arn:aws:iam::{current.account_id}:root\"],\n }],\n \"actions\": [\"kms:*\"],\n \"resources\": [\"*\"],\n}])\ndlm_cross_region_copy_cmk = aws.kms.Key(\"dlm_cross_region_copy_cmk\",\n description=\"Example Alternate Region KMS Key\",\n policy=key.json)\nexample = aws.dlm.LifecyclePolicy(\"example\",\n description=\"example DLM lifecycle policy\",\n execution_role_arn=dlm_lifecycle_role[\"arn\"],\n state=\"ENABLED\",\n policy_details={\n \"resource_types\": \"VOLUME\",\n \"schedules\": [{\n \"name\": \"2 weeks of daily snapshots\",\n \"create_rule\": {\n \"interval\": 24,\n \"interval_unit\": \"HOURS\",\n \"times\": \"23:45\",\n },\n \"retain_rule\": {\n \"count\": 14,\n },\n \"tags_to_add\": {\n \"SnapshotCreator\": \"DLM\",\n },\n \"copy_tags\": False,\n \"cross_region_copy_rules\": [{\n \"target\": \"us-west-2\",\n \"encrypted\": True,\n \"cmk_arn\": dlm_cross_region_copy_cmk.arn,\n \"copy_tags\": True,\n \"retain_rule\": {\n \"interval\": 30,\n \"interval_unit\": \"DAYS\",\n },\n }],\n }],\n \"target_tags\": {\n \"Snapshot\": \"true\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ...other configuration...\n var current = Aws.GetCallerIdentity.Invoke();\n\n var key = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Enable IAM User Permissions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n Actions = new[]\n {\n \"kms:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var dlmCrossRegionCopyCmk = new Aws.Kms.Key(\"dlm_cross_region_copy_cmk\", new()\n {\n Description = \"Example Alternate Region KMS Key\",\n Policy = key.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = new Aws.Dlm.LifecyclePolicy(\"example\", new()\n {\n Description = \"example DLM lifecycle policy\",\n ExecutionRoleArn = dlmLifecycleRole.Arn,\n State = \"ENABLED\",\n PolicyDetails = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsArgs\n {\n ResourceTypes = \"VOLUME\",\n Schedules = new[]\n {\n new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleArgs\n {\n Name = \"2 weeks of daily snapshots\",\n CreateRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs\n {\n Interval = 24,\n IntervalUnit = \"HOURS\",\n Times = \"23:45\",\n },\n RetainRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs\n {\n Count = 14,\n },\n TagsToAdd = \n {\n { \"SnapshotCreator\", \"DLM\" },\n },\n CopyTags = false,\n CrossRegionCopyRules = new[]\n {\n new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArgs\n {\n Target = \"us-west-2\",\n Encrypted = true,\n CmkArn = dlmCrossRegionCopyCmk.Arn,\n CopyTags = true,\n RetainRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleArgs\n {\n Interval = 30,\n IntervalUnit = \"DAYS\",\n },\n },\n },\n },\n },\n TargetTags = \n {\n { \"Snapshot\", \"true\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dlm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\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// ...other configuration...\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkey, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Enable IAM User Permissions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdlmCrossRegionCopyCmk, err := kms.NewKey(ctx, \"dlm_cross_region_copy_cmk\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example Alternate Region KMS Key\"),\n\t\t\tPolicy: pulumi.String(key.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dlm.NewLifecyclePolicy(ctx, \"example\", \u0026dlm.LifecyclePolicyArgs{\n\t\t\tDescription: pulumi.String(\"example DLM lifecycle policy\"),\n\t\t\tExecutionRoleArn: pulumi.Any(dlmLifecycleRole.Arn),\n\t\t\tState: pulumi.String(\"ENABLED\"),\n\t\t\tPolicyDetails: \u0026dlm.LifecyclePolicyPolicyDetailsArgs{\n\t\t\t\tResourceTypes: pulumi.StringArray(\"VOLUME\"),\n\t\t\t\tSchedules: dlm.LifecyclePolicyPolicyDetailsScheduleArray{\n\t\t\t\t\t\u0026dlm.LifecyclePolicyPolicyDetailsScheduleArgs{\n\t\t\t\t\t\tName: pulumi.String(\"2 weeks of daily snapshots\"),\n\t\t\t\t\t\tCreateRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs{\n\t\t\t\t\t\t\tInterval: pulumi.Int(24),\n\t\t\t\t\t\t\tIntervalUnit: pulumi.String(\"HOURS\"),\n\t\t\t\t\t\t\tTimes: pulumi.String(\"23:45\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRetainRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs{\n\t\t\t\t\t\t\tCount: pulumi.Int(14),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTagsToAdd: pulumi.StringMap{\n\t\t\t\t\t\t\t\"SnapshotCreator\": pulumi.String(\"DLM\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCopyTags: pulumi.Bool(false),\n\t\t\t\t\t\tCrossRegionCopyRules: dlm.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArray{\n\t\t\t\t\t\t\t\u0026dlm.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArgs{\n\t\t\t\t\t\t\t\tTarget: pulumi.String(\"us-west-2\"),\n\t\t\t\t\t\t\t\tEncrypted: pulumi.Bool(true),\n\t\t\t\t\t\t\t\tCmkArn: dlmCrossRegionCopyCmk.Arn,\n\t\t\t\t\t\t\t\tCopyTags: pulumi.Bool(true),\n\t\t\t\t\t\t\t\tRetainRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleArgs{\n\t\t\t\t\t\t\t\t\tInterval: pulumi.Int(30),\n\t\t\t\t\t\t\t\t\tIntervalUnit: pulumi.String(\"DAYS\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tTargetTags: pulumi.StringMap{\n\t\t\t\t\t\"Snapshot\": pulumi.String(\"true\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.dlm.LifecyclePolicy;\nimport com.pulumi.aws.dlm.LifecyclePolicyArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ...other configuration...\n final var current = AwsFunctions.getCallerIdentity();\n\n final var key = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"Enable IAM User Permissions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .actions(\"kms:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var dlmCrossRegionCopyCmk = new Key(\"dlmCrossRegionCopyCmk\", KeyArgs.builder()\n .description(\"Example Alternate Region KMS Key\")\n .policy(key.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new LifecyclePolicy(\"example\", LifecyclePolicyArgs.builder()\n .description(\"example DLM lifecycle policy\")\n .executionRoleArn(dlmLifecycleRole.arn())\n .state(\"ENABLED\")\n .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder()\n .resourceTypes(\"VOLUME\")\n .schedules(LifecyclePolicyPolicyDetailsScheduleArgs.builder()\n .name(\"2 weeks of daily snapshots\")\n .createRule(LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs.builder()\n .interval(24)\n .intervalUnit(\"HOURS\")\n .times(\"23:45\")\n .build())\n .retainRule(LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs.builder()\n .count(14)\n .build())\n .tagsToAdd(Map.of(\"SnapshotCreator\", \"DLM\"))\n .copyTags(false)\n .crossRegionCopyRules(LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArgs.builder()\n .target(\"us-west-2\")\n .encrypted(true)\n .cmkArn(dlmCrossRegionCopyCmk.arn())\n .copyTags(true)\n .retainRule(LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleArgs.builder()\n .interval(30)\n .intervalUnit(\"DAYS\")\n .build())\n .build())\n .build())\n .targetTags(Map.of(\"Snapshot\", \"true\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dlmCrossRegionCopyCmk:\n type: aws:kms:Key\n name: dlm_cross_region_copy_cmk\n properties:\n description: Example Alternate Region KMS Key\n policy: ${key.json}\n example:\n type: aws:dlm:LifecyclePolicy\n properties:\n description: example DLM lifecycle policy\n executionRoleArn: ${dlmLifecycleRole.arn}\n state: ENABLED\n policyDetails:\n resourceTypes: VOLUME\n schedules:\n - name: 2 weeks of daily snapshots\n createRule:\n interval: 24\n intervalUnit: HOURS\n times: 23:45\n retainRule:\n count: 14\n tagsToAdd:\n SnapshotCreator: DLM\n copyTags: false\n crossRegionCopyRules:\n - target: us-west-2\n encrypted: true\n cmkArn: ${dlmCrossRegionCopyCmk.arn}\n copyTags: true\n retainRule:\n interval: 30\n intervalUnit: DAYS\n targetTags:\n Snapshot: 'true'\nvariables:\n # ...other configuration...\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n key:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Enable IAM User Permissions\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n actions:\n - kms:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Event Based Policy Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst exampleLifecyclePolicy = new aws.dlm.LifecyclePolicy(\"example\", {\n description: \"tf-acc-basic\",\n executionRoleArn: exampleAwsIamRole.arn,\n policyDetails: {\n policyType: \"EVENT_BASED_POLICY\",\n action: {\n name: \"tf-acc-basic\",\n crossRegionCopies: [{\n encryptionConfiguration: {},\n retainRule: {\n interval: 15,\n intervalUnit: \"MONTHS\",\n },\n target: \"us-east-1\",\n }],\n },\n eventSource: {\n type: \"MANAGED_CWE\",\n parameters: {\n descriptionRegex: \"^.*Created for policy: policy-1234567890abcdef0.*$\",\n eventType: \"shareSnapshot\",\n snapshotOwners: [current.then(current =\u003e current.accountId)],\n },\n },\n },\n});\nconst example = aws.iam.getPolicy({\n name: \"AWSDataLifecycleManagerServiceRole\",\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n role: exampleAwsIamRole.id,\n policyArn: example.then(example =\u003e example.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample_lifecycle_policy = aws.dlm.LifecyclePolicy(\"example\",\n description=\"tf-acc-basic\",\n execution_role_arn=example_aws_iam_role[\"arn\"],\n policy_details={\n \"policy_type\": \"EVENT_BASED_POLICY\",\n \"action\": {\n \"name\": \"tf-acc-basic\",\n \"cross_region_copies\": [{\n \"encryption_configuration\": {},\n \"retain_rule\": {\n \"interval\": 15,\n \"interval_unit\": \"MONTHS\",\n },\n \"target\": \"us-east-1\",\n }],\n },\n \"event_source\": {\n \"type\": \"MANAGED_CWE\",\n \"parameters\": {\n \"description_regex\": \"^.*Created for policy: policy-1234567890abcdef0.*$\",\n \"event_type\": \"shareSnapshot\",\n \"snapshot_owners\": [current.account_id],\n },\n },\n })\nexample = aws.iam.get_policy(name=\"AWSDataLifecycleManagerServiceRole\")\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n role=example_aws_iam_role[\"id\"],\n policy_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var exampleLifecyclePolicy = new Aws.Dlm.LifecyclePolicy(\"example\", new()\n {\n Description = \"tf-acc-basic\",\n ExecutionRoleArn = exampleAwsIamRole.Arn,\n PolicyDetails = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsArgs\n {\n PolicyType = \"EVENT_BASED_POLICY\",\n Action = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsActionArgs\n {\n Name = \"tf-acc-basic\",\n CrossRegionCopies = new[]\n {\n new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs\n {\n EncryptionConfiguration = null,\n RetainRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs\n {\n Interval = 15,\n IntervalUnit = \"MONTHS\",\n },\n Target = \"us-east-1\",\n },\n },\n },\n EventSource = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsEventSourceArgs\n {\n Type = \"MANAGED_CWE\",\n Parameters = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsEventSourceParametersArgs\n {\n DescriptionRegex = \"^.*Created for policy: policy-1234567890abcdef0.*$\",\n EventType = \"shareSnapshot\",\n SnapshotOwners = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n },\n });\n\n var example = Aws.Iam.GetPolicy.Invoke(new()\n {\n Name = \"AWSDataLifecycleManagerServiceRole\",\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = exampleAwsIamRole.Id,\n PolicyArn = example.Apply(getPolicyResult =\u003e getPolicyResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dlm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dlm.NewLifecyclePolicy(ctx, \"example\", \u0026dlm.LifecyclePolicyArgs{\n\t\t\tDescription: pulumi.String(\"tf-acc-basic\"),\n\t\t\tExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tPolicyDetails: \u0026dlm.LifecyclePolicyPolicyDetailsArgs{\n\t\t\t\tPolicyType: pulumi.String(\"EVENT_BASED_POLICY\"),\n\t\t\t\tAction: \u0026dlm.LifecyclePolicyPolicyDetailsActionArgs{\n\t\t\t\t\tName: pulumi.String(\"tf-acc-basic\"),\n\t\t\t\t\tCrossRegionCopies: dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArray{\n\t\t\t\t\t\t\u0026dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs{\n\t\t\t\t\t\t\tEncryptionConfiguration: \u0026dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationArgs{},\n\t\t\t\t\t\t\tRetainRule: \u0026dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs{\n\t\t\t\t\t\t\t\tInterval: pulumi.Int(15),\n\t\t\t\t\t\t\t\tIntervalUnit: pulumi.String(\"MONTHS\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTarget: pulumi.String(\"us-east-1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tEventSource: \u0026dlm.LifecyclePolicyPolicyDetailsEventSourceArgs{\n\t\t\t\t\tType: pulumi.String(\"MANAGED_CWE\"),\n\t\t\t\t\tParameters: \u0026dlm.LifecyclePolicyPolicyDetailsEventSourceParametersArgs{\n\t\t\t\t\t\tDescriptionRegex: pulumi.String(\"^.*Created for policy: policy-1234567890abcdef0.*$\"),\n\t\t\t\t\t\tEventType: pulumi.String(\"shareSnapshot\"),\n\t\t\t\t\t\tSnapshotOwners: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(current.AccountId),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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\texample, err := iam.LookupPolicy(ctx, \u0026iam.LookupPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"AWSDataLifecycleManagerServiceRole\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: pulumi.Any(exampleAwsIamRole.Id),\n\t\t\tPolicyArn: pulumi.String(example.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.dlm.LifecyclePolicy;\nimport com.pulumi.aws.dlm.LifecyclePolicyArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsActionArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsEventSourceArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsEventSourceParametersArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder()\n .description(\"tf-acc-basic\")\n .executionRoleArn(exampleAwsIamRole.arn())\n .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder()\n .policyType(\"EVENT_BASED_POLICY\")\n .action(LifecyclePolicyPolicyDetailsActionArgs.builder()\n .name(\"tf-acc-basic\")\n .crossRegionCopies(LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs.builder()\n .encryptionConfiguration()\n .retainRule(LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs.builder()\n .interval(15)\n .intervalUnit(\"MONTHS\")\n .build())\n .target(\"us-east-1\")\n .build())\n .build())\n .eventSource(LifecyclePolicyPolicyDetailsEventSourceArgs.builder()\n .type(\"MANAGED_CWE\")\n .parameters(LifecyclePolicyPolicyDetailsEventSourceParametersArgs.builder()\n .descriptionRegex(\"^.*Created for policy: policy-1234567890abcdef0.*$\")\n .eventType(\"shareSnapshot\")\n .snapshotOwners(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .build())\n .build())\n .build());\n\n final var example = IamFunctions.getPolicy(GetPolicyArgs.builder()\n .name(\"AWSDataLifecycleManagerServiceRole\")\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(exampleAwsIamRole.id())\n .policyArn(example.applyValue(getPolicyResult -\u003e getPolicyResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLifecyclePolicy:\n type: aws:dlm:LifecyclePolicy\n name: example\n properties:\n description: tf-acc-basic\n executionRoleArn: ${exampleAwsIamRole.arn}\n policyDetails:\n policyType: EVENT_BASED_POLICY\n action:\n name: tf-acc-basic\n crossRegionCopies:\n - encryptionConfiguration: {}\n retainRule:\n interval: 15\n intervalUnit: MONTHS\n target: us-east-1\n eventSource:\n type: MANAGED_CWE\n parameters:\n descriptionRegex: '^.*Created for policy: policy-1234567890abcdef0.*$'\n eventType: shareSnapshot\n snapshotOwners:\n - ${current.accountId}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n role: ${exampleAwsIamRole.id}\n policyArn: ${example.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getPolicy\n Arguments:\n name: AWSDataLifecycleManagerServiceRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DLM lifecycle policies using their policy ID. For example:\n\n```sh\n$ pulumi import aws:dlm/lifecyclePolicy:LifecyclePolicy example policy-abcdef12345678901\n```\n", "properties": { "arn": { "type": "string", @@ -226989,7 +226989,7 @@ } }, "aws:dms/endpoint:Endpoint": { - "description": "Provides a DMS (Data Migration Service) endpoint resource. DMS endpoints can be created, updated, deleted, and imported.\n\n\u003e **Note:** All arguments including the password will be stored in the raw state as plain-text. \u003e **Note:** The `s3_settings` argument is deprecated, may not be maintained, and will be removed in a future version. Use the `aws.dms.S3Endpoint` resource instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new endpoint\nconst test = new aws.dms.Endpoint(\"test\", {\n certificateArn: \"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\",\n databaseName: \"test\",\n endpointId: \"test-dms-endpoint-tf\",\n endpointType: \"source\",\n engineName: \"aurora\",\n extraConnectionAttributes: \"\",\n kmsKeyArn: \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n password: \"test\",\n port: 3306,\n serverName: \"test\",\n sslMode: \"none\",\n tags: {\n Name: \"test\",\n },\n username: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new endpoint\ntest = aws.dms.Endpoint(\"test\",\n certificate_arn=\"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\",\n database_name=\"test\",\n endpoint_id=\"test-dms-endpoint-tf\",\n endpoint_type=\"source\",\n engine_name=\"aurora\",\n extra_connection_attributes=\"\",\n kms_key_arn=\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n password=\"test\",\n port=3306,\n server_name=\"test\",\n ssl_mode=\"none\",\n tags={\n \"Name\": \"test\",\n },\n username=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new endpoint\n var test = new Aws.Dms.Endpoint(\"test\", new()\n {\n CertificateArn = \"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\",\n DatabaseName = \"test\",\n EndpointId = \"test-dms-endpoint-tf\",\n EndpointType = \"source\",\n EngineName = \"aurora\",\n ExtraConnectionAttributes = \"\",\n KmsKeyArn = \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n Password = \"test\",\n Port = 3306,\n ServerName = \"test\",\n SslMode = \"none\",\n Tags = \n {\n { \"Name\", \"test\" },\n },\n Username = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\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// Create a new endpoint\n\t\t_, err := dms.NewEndpoint(ctx, \"test\", \u0026dms.EndpointArgs{\n\t\t\tCertificateArn: pulumi.String(\"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tEndpointId: pulumi.String(\"test-dms-endpoint-tf\"),\n\t\t\tEndpointType: pulumi.String(\"source\"),\n\t\t\tEngineName: pulumi.String(\"aurora\"),\n\t\t\tExtraConnectionAttributes: pulumi.String(\"\"),\n\t\t\tKmsKeyArn: pulumi.String(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\"),\n\t\t\tPassword: pulumi.String(\"test\"),\n\t\t\tPort: pulumi.Int(3306),\n\t\t\tServerName: pulumi.String(\"test\"),\n\t\t\tSslMode: pulumi.String(\"none\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t\tUsername: pulumi.String(\"test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.Endpoint;\nimport com.pulumi.aws.dms.EndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new endpoint\n var test = new Endpoint(\"test\", EndpointArgs.builder()\n .certificateArn(\"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\")\n .databaseName(\"test\")\n .endpointId(\"test-dms-endpoint-tf\")\n .endpointType(\"source\")\n .engineName(\"aurora\")\n .extraConnectionAttributes(\"\")\n .kmsKeyArn(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\")\n .password(\"test\")\n .port(3306)\n .serverName(\"test\")\n .sslMode(\"none\")\n .tags(Map.of(\"Name\", \"test\"))\n .username(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new endpoint\n test:\n type: aws:dms:Endpoint\n properties:\n certificateArn: arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\n databaseName: test\n endpointId: test-dms-endpoint-tf\n endpointType: source\n engineName: aurora\n extraConnectionAttributes: \"\"\n kmsKeyArn: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\n password: test\n port: 3306\n serverName: test\n sslMode: none\n tags:\n Name: test\n username: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import endpoints using the `endpoint_id`. For example:\n\n```sh\n$ pulumi import aws:dms/endpoint:Endpoint test test-dms-endpoint-tf\n```\n", + "description": "Provides a DMS (Data Migration Service) endpoint resource. DMS endpoints can be created, updated, deleted, and imported.\n\n\u003e **Note:** All arguments including the password will be stored in the raw state as plain-text. \u003e **Note:** The `s3_settings` argument is deprecated, may not be maintained, and will be removed in a future version. Use the `aws.dms.S3Endpoint` resource instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new endpoint\nconst test = new aws.dms.Endpoint(\"test\", {\n certificateArn: \"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\",\n databaseName: \"test\",\n endpointId: \"test-dms-endpoint-tf\",\n endpointType: \"source\",\n engineName: \"aurora\",\n extraConnectionAttributes: \"\",\n kmsKeyArn: \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n password: \"test\",\n port: 3306,\n serverName: \"test\",\n sslMode: \"none\",\n tags: {\n Name: \"test\",\n },\n username: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new endpoint\ntest = aws.dms.Endpoint(\"test\",\n certificate_arn=\"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\",\n database_name=\"test\",\n endpoint_id=\"test-dms-endpoint-tf\",\n endpoint_type=\"source\",\n engine_name=\"aurora\",\n extra_connection_attributes=\"\",\n kms_key_arn=\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n password=\"test\",\n port=3306,\n server_name=\"test\",\n ssl_mode=\"none\",\n tags={\n \"Name\": \"test\",\n },\n username=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new endpoint\n var test = new Aws.Dms.Endpoint(\"test\", new()\n {\n CertificateArn = \"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\",\n DatabaseName = \"test\",\n EndpointId = \"test-dms-endpoint-tf\",\n EndpointType = \"source\",\n EngineName = \"aurora\",\n ExtraConnectionAttributes = \"\",\n KmsKeyArn = \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n Password = \"test\",\n Port = 3306,\n ServerName = \"test\",\n SslMode = \"none\",\n Tags = \n {\n { \"Name\", \"test\" },\n },\n Username = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\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// Create a new endpoint\n\t\t_, err := dms.NewEndpoint(ctx, \"test\", \u0026dms.EndpointArgs{\n\t\t\tCertificateArn: pulumi.String(\"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tEndpointId: pulumi.String(\"test-dms-endpoint-tf\"),\n\t\t\tEndpointType: pulumi.String(\"source\"),\n\t\t\tEngineName: pulumi.String(\"aurora\"),\n\t\t\tExtraConnectionAttributes: pulumi.String(\"\"),\n\t\t\tKmsKeyArn: pulumi.String(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\"),\n\t\t\tPassword: pulumi.String(\"test\"),\n\t\t\tPort: pulumi.Int(3306),\n\t\t\tServerName: pulumi.String(\"test\"),\n\t\t\tSslMode: pulumi.String(\"none\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t\tUsername: pulumi.String(\"test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.Endpoint;\nimport com.pulumi.aws.dms.EndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new endpoint\n var test = new Endpoint(\"test\", EndpointArgs.builder()\n .certificateArn(\"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\")\n .databaseName(\"test\")\n .endpointId(\"test-dms-endpoint-tf\")\n .endpointType(\"source\")\n .engineName(\"aurora\")\n .extraConnectionAttributes(\"\")\n .kmsKeyArn(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\")\n .password(\"test\")\n .port(3306)\n .serverName(\"test\")\n .sslMode(\"none\")\n .tags(Map.of(\"Name\", \"test\"))\n .username(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new endpoint\n test:\n type: aws:dms:Endpoint\n properties:\n certificateArn: arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\n databaseName: test\n endpointId: test-dms-endpoint-tf\n endpointType: source\n engineName: aurora\n extraConnectionAttributes:\n kmsKeyArn: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\n password: test\n port: 3306\n serverName: test\n sslMode: none\n tags:\n Name: test\n username: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import endpoints using the `endpoint_id`. For example:\n\n```sh\n$ pulumi import aws:dms/endpoint:Endpoint test test-dms-endpoint-tf\n```\n", "properties": { "certificateArn": { "type": "string", @@ -227722,7 +227722,7 @@ } }, "aws:dms/replicationInstance:ReplicationInstance": { - "description": "Provides a DMS (Data Migration Service) replication instance resource. DMS replication instances can be created, updated, deleted, and imported.\n\n## Example Usage\n\nCreate required roles and then create a DMS instance, setting the depends_on to the required role policy attachments.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Database Migration Service requires the below IAM Roles to be created before\n// replication instances can be created. See the DMS Documentation for\n// additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n// * dms-vpc-role\n// * dms-cloudwatch-logs-role\n// * dms-access-for-endpoint\nconst dmsAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n identifiers: [\"dms.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst dms_access_for_endpoint = new aws.iam.Role(\"dms-access-for-endpoint\", {\n assumeRolePolicy: dmsAssumeRole.then(dmsAssumeRole =\u003e dmsAssumeRole.json),\n name: \"dms-access-for-endpoint\",\n});\nconst dms_access_for_endpoint_AmazonDMSRedshiftS3Role = new aws.iam.RolePolicyAttachment(\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\",\n role: dms_access_for_endpoint.name,\n});\nconst dms_cloudwatch_logs_role = new aws.iam.Role(\"dms-cloudwatch-logs-role\", {\n assumeRolePolicy: dmsAssumeRole.then(dmsAssumeRole =\u003e dmsAssumeRole.json),\n name: \"dms-cloudwatch-logs-role\",\n});\nconst dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole = new aws.iam.RolePolicyAttachment(\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\",\n role: dms_cloudwatch_logs_role.name,\n});\nconst dms_vpc_role = new aws.iam.Role(\"dms-vpc-role\", {\n assumeRolePolicy: dmsAssumeRole.then(dmsAssumeRole =\u003e dmsAssumeRole.json),\n name: \"dms-vpc-role\",\n});\nconst dms_vpc_role_AmazonDMSVPCManagementRole = new aws.iam.RolePolicyAttachment(\"dms-vpc-role-AmazonDMSVPCManagementRole\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n role: dms_vpc_role.name,\n});\n// Create a new replication instance\nconst test = new aws.dms.ReplicationInstance(\"test\", {\n allocatedStorage: 20,\n applyImmediately: true,\n autoMinorVersionUpgrade: true,\n availabilityZone: \"us-west-2c\",\n engineVersion: \"3.1.4\",\n kmsKeyArn: \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n multiAz: false,\n preferredMaintenanceWindow: \"sun:10:30-sun:14:30\",\n publiclyAccessible: true,\n replicationInstanceClass: \"dms.t2.micro\",\n replicationInstanceId: \"test-dms-replication-instance-tf\",\n replicationSubnetGroupId: test_dms_replication_subnet_group_tf.id,\n tags: {\n Name: \"test\",\n },\n vpcSecurityGroupIds: [\"sg-12345678\"],\n}, {\n dependsOn: [\n dms_access_for_endpoint_AmazonDMSRedshiftS3Role,\n dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole,\n dms_vpc_role_AmazonDMSVPCManagementRole,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Database Migration Service requires the below IAM Roles to be created before\n# replication instances can be created. See the DMS Documentation for\n# additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n# * dms-vpc-role\n# * dms-cloudwatch-logs-role\n# * dms-access-for-endpoint\ndms_assume_role = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"identifiers\": [\"dms.amazonaws.com\"],\n \"type\": \"Service\",\n }],\n}])\ndms_access_for_endpoint = aws.iam.Role(\"dms-access-for-endpoint\",\n assume_role_policy=dms_assume_role.json,\n name=\"dms-access-for-endpoint\")\ndms_access_for_endpoint__amazon_dms_redshift_s3_role = aws.iam.RolePolicyAttachment(\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\",\n role=dms_access_for_endpoint.name)\ndms_cloudwatch_logs_role = aws.iam.Role(\"dms-cloudwatch-logs-role\",\n assume_role_policy=dms_assume_role.json,\n name=\"dms-cloudwatch-logs-role\")\ndms_cloudwatch_logs_role__amazon_dms_cloud_watch_logs_role = aws.iam.RolePolicyAttachment(\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\",\n role=dms_cloudwatch_logs_role.name)\ndms_vpc_role = aws.iam.Role(\"dms-vpc-role\",\n assume_role_policy=dms_assume_role.json,\n name=\"dms-vpc-role\")\ndms_vpc_role__amazon_dmsvpc_management_role = aws.iam.RolePolicyAttachment(\"dms-vpc-role-AmazonDMSVPCManagementRole\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n role=dms_vpc_role.name)\n# Create a new replication instance\ntest = aws.dms.ReplicationInstance(\"test\",\n allocated_storage=20,\n apply_immediately=True,\n auto_minor_version_upgrade=True,\n availability_zone=\"us-west-2c\",\n engine_version=\"3.1.4\",\n kms_key_arn=\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n multi_az=False,\n preferred_maintenance_window=\"sun:10:30-sun:14:30\",\n publicly_accessible=True,\n replication_instance_class=\"dms.t2.micro\",\n replication_instance_id=\"test-dms-replication-instance-tf\",\n replication_subnet_group_id=test_dms_replication_subnet_group_tf[\"id\"],\n tags={\n \"Name\": \"test\",\n },\n vpc_security_group_ids=[\"sg-12345678\"],\n opts = pulumi.ResourceOptions(depends_on=[\n dms_access_for_endpoint__amazon_dms_redshift_s3_role,\n dms_cloudwatch_logs_role__amazon_dms_cloud_watch_logs_role,\n dms_vpc_role__amazon_dmsvpc_management_role,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Database Migration Service requires the below IAM Roles to be created before\n // replication instances can be created. See the DMS Documentation for\n // additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n // * dms-vpc-role\n // * dms-cloudwatch-logs-role\n // * dms-access-for-endpoint\n var dmsAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"dms.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var dms_access_for_endpoint = new Aws.Iam.Role(\"dms-access-for-endpoint\", new()\n {\n AssumeRolePolicy = dmsAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"dms-access-for-endpoint\",\n });\n\n var dms_access_for_endpoint_AmazonDMSRedshiftS3Role = new Aws.Iam.RolePolicyAttachment(\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\",\n Role = dms_access_for_endpoint.Name,\n });\n\n var dms_cloudwatch_logs_role = new Aws.Iam.Role(\"dms-cloudwatch-logs-role\", new()\n {\n AssumeRolePolicy = dmsAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"dms-cloudwatch-logs-role\",\n });\n\n var dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole = new Aws.Iam.RolePolicyAttachment(\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\",\n Role = dms_cloudwatch_logs_role.Name,\n });\n\n var dms_vpc_role = new Aws.Iam.Role(\"dms-vpc-role\", new()\n {\n AssumeRolePolicy = dmsAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"dms-vpc-role\",\n });\n\n var dms_vpc_role_AmazonDMSVPCManagementRole = new Aws.Iam.RolePolicyAttachment(\"dms-vpc-role-AmazonDMSVPCManagementRole\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n Role = dms_vpc_role.Name,\n });\n\n // Create a new replication instance\n var test = new Aws.Dms.ReplicationInstance(\"test\", new()\n {\n AllocatedStorage = 20,\n ApplyImmediately = true,\n AutoMinorVersionUpgrade = true,\n AvailabilityZone = \"us-west-2c\",\n EngineVersion = \"3.1.4\",\n KmsKeyArn = \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n MultiAz = false,\n PreferredMaintenanceWindow = \"sun:10:30-sun:14:30\",\n PubliclyAccessible = true,\n ReplicationInstanceClass = \"dms.t2.micro\",\n ReplicationInstanceId = \"test-dms-replication-instance-tf\",\n ReplicationSubnetGroupId = test_dms_replication_subnet_group_tf.Id,\n Tags = \n {\n { \"Name\", \"test\" },\n },\n VpcSecurityGroupIds = new[]\n {\n \"sg-12345678\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n dms_access_for_endpoint_AmazonDMSRedshiftS3Role,\n dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole,\n dms_vpc_role_AmazonDMSVPCManagementRole,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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// Database Migration Service requires the below IAM Roles to be created before\n\t\t// replication instances can be created. See the DMS Documentation for\n\t\t// additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n\t\t// - dms-vpc-role\n\t\t// - dms-cloudwatch-logs-role\n\t\t// - dms-access-for-endpoint\n\t\tdmsAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"dms.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"dms-access-for-endpoint\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(dmsAssumeRole.Json),\n\t\t\tName: pulumi.String(\"dms-access-for-endpoint\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\"),\n\t\t\tRole: dms_access_for_endpoint.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"dms-cloudwatch-logs-role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(dmsAssumeRole.Json),\n\t\t\tName: pulumi.String(\"dms-cloudwatch-logs-role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\"),\n\t\t\tRole: dms_cloudwatch_logs_role.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"dms-vpc-role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(dmsAssumeRole.Json),\n\t\t\tName: pulumi.String(\"dms-vpc-role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"dms-vpc-role-AmazonDMSVPCManagementRole\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\"),\n\t\t\tRole: dms_vpc_role.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new replication instance\n\t\t_, err = dms.NewReplicationInstance(ctx, \"test\", \u0026dms.ReplicationInstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(20),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tAutoMinorVersionUpgrade: pulumi.Bool(true),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2c\"),\n\t\t\tEngineVersion: pulumi.String(\"3.1.4\"),\n\t\t\tKmsKeyArn: pulumi.String(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\"),\n\t\t\tMultiAz: pulumi.Bool(false),\n\t\t\tPreferredMaintenanceWindow: pulumi.String(\"sun:10:30-sun:14:30\"),\n\t\t\tPubliclyAccessible: pulumi.Bool(true),\n\t\t\tReplicationInstanceClass: pulumi.String(\"dms.t2.micro\"),\n\t\t\tReplicationInstanceId: pulumi.String(\"test-dms-replication-instance-tf\"),\n\t\t\tReplicationSubnetGroupId: pulumi.Any(test_dms_replication_subnet_group_tf.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-12345678\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdms_access_for_endpoint_AmazonDMSRedshiftS3Role,\n\t\t\tdms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole,\n\t\t\tdms_vpc_role_AmazonDMSVPCManagementRole,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.dms.ReplicationInstance;\nimport com.pulumi.aws.dms.ReplicationInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Database Migration Service requires the below IAM Roles to be created before\n // replication instances can be created. See the DMS Documentation for\n // additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n // * dms-vpc-role\n // * dms-cloudwatch-logs-role\n // * dms-access-for-endpoint\n final var dmsAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"dms.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var dms_access_for_endpoint = new Role(\"dms-access-for-endpoint\", RoleArgs.builder()\n .assumeRolePolicy(dmsAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"dms-access-for-endpoint\")\n .build());\n\n var dms_access_for_endpoint_AmazonDMSRedshiftS3Role = new RolePolicyAttachment(\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\")\n .role(dms_access_for_endpoint.name())\n .build());\n\n var dms_cloudwatch_logs_role = new Role(\"dms-cloudwatch-logs-role\", RoleArgs.builder()\n .assumeRolePolicy(dmsAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"dms-cloudwatch-logs-role\")\n .build());\n\n var dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole = new RolePolicyAttachment(\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\")\n .role(dms_cloudwatch_logs_role.name())\n .build());\n\n var dms_vpc_role = new Role(\"dms-vpc-role\", RoleArgs.builder()\n .assumeRolePolicy(dmsAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"dms-vpc-role\")\n .build());\n\n var dms_vpc_role_AmazonDMSVPCManagementRole = new RolePolicyAttachment(\"dms-vpc-role-AmazonDMSVPCManagementRole\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\")\n .role(dms_vpc_role.name())\n .build());\n\n // Create a new replication instance\n var test = new ReplicationInstance(\"test\", ReplicationInstanceArgs.builder()\n .allocatedStorage(20)\n .applyImmediately(true)\n .autoMinorVersionUpgrade(true)\n .availabilityZone(\"us-west-2c\")\n .engineVersion(\"3.1.4\")\n .kmsKeyArn(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\")\n .multiAz(false)\n .preferredMaintenanceWindow(\"sun:10:30-sun:14:30\")\n .publiclyAccessible(true)\n .replicationInstanceClass(\"dms.t2.micro\")\n .replicationInstanceId(\"test-dms-replication-instance-tf\")\n .replicationSubnetGroupId(test_dms_replication_subnet_group_tf.id())\n .tags(Map.of(\"Name\", \"test\"))\n .vpcSecurityGroupIds(\"sg-12345678\")\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n dms_access_for_endpoint_AmazonDMSRedshiftS3Role,\n dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole,\n dms_vpc_role_AmazonDMSVPCManagementRole)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dms-access-for-endpoint:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${dmsAssumeRole.json}\n name: dms-access-for-endpoint\n dms-access-for-endpoint-AmazonDMSRedshiftS3Role:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\n role: ${[\"dms-access-for-endpoint\"].name}\n dms-cloudwatch-logs-role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${dmsAssumeRole.json}\n name: dms-cloudwatch-logs-role\n dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\n role: ${[\"dms-cloudwatch-logs-role\"].name}\n dms-vpc-role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${dmsAssumeRole.json}\n name: dms-vpc-role\n dms-vpc-role-AmazonDMSVPCManagementRole:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\n role: ${[\"dms-vpc-role\"].name}\n # Create a new replication instance\n test:\n type: aws:dms:ReplicationInstance\n properties:\n allocatedStorage: 20\n applyImmediately: true\n autoMinorVersionUpgrade: true\n availabilityZone: us-west-2c\n engineVersion: 3.1.4\n kmsKeyArn: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\n multiAz: false\n preferredMaintenanceWindow: sun:10:30-sun:14:30\n publiclyAccessible: true\n replicationInstanceClass: dms.t2.micro\n replicationInstanceId: test-dms-replication-instance-tf\n replicationSubnetGroupId: ${[\"test-dms-replication-subnet-group-tf\"].id}\n tags:\n Name: test\n vpcSecurityGroupIds:\n - sg-12345678\n options:\n dependsOn:\n - ${[\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\"]}\n - ${[\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\"]}\n - ${[\"dms-vpc-role-AmazonDMSVPCManagementRole\"]}\nvariables:\n # Database Migration Service requires the below IAM Roles to be created before\n # replication instances can be created. See the DMS Documentation for\n # additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n # * dms-vpc-role\n # * dms-cloudwatch-logs-role\n # * dms-access-for-endpoint\n dmsAssumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - identifiers:\n - dms.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import replication instances using the `replication_instance_id`. For example:\n\n```sh\n$ pulumi import aws:dms/replicationInstance:ReplicationInstance test test-dms-replication-instance-tf\n```\n", + "description": "Provides a DMS (Data Migration Service) replication instance resource. DMS replication instances can be created, updated, deleted, and imported.\n\n## Example Usage\n\nCreate required roles and then create a DMS instance, setting the depends_on to the required role policy attachments.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Database Migration Service requires the below IAM Roles to be created before\n// replication instances can be created. See the DMS Documentation for\n// additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n// * dms-vpc-role\n// * dms-cloudwatch-logs-role\n// * dms-access-for-endpoint\nconst dmsAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n identifiers: [\"dms.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst dms_access_for_endpoint = new aws.iam.Role(\"dms-access-for-endpoint\", {\n assumeRolePolicy: dmsAssumeRole.then(dmsAssumeRole =\u003e dmsAssumeRole.json),\n name: \"dms-access-for-endpoint\",\n});\nconst dms_access_for_endpoint_AmazonDMSRedshiftS3Role = new aws.iam.RolePolicyAttachment(\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\",\n role: dms_access_for_endpoint.name,\n});\nconst dms_cloudwatch_logs_role = new aws.iam.Role(\"dms-cloudwatch-logs-role\", {\n assumeRolePolicy: dmsAssumeRole.then(dmsAssumeRole =\u003e dmsAssumeRole.json),\n name: \"dms-cloudwatch-logs-role\",\n});\nconst dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole = new aws.iam.RolePolicyAttachment(\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\",\n role: dms_cloudwatch_logs_role.name,\n});\nconst dms_vpc_role = new aws.iam.Role(\"dms-vpc-role\", {\n assumeRolePolicy: dmsAssumeRole.then(dmsAssumeRole =\u003e dmsAssumeRole.json),\n name: \"dms-vpc-role\",\n});\nconst dms_vpc_role_AmazonDMSVPCManagementRole = new aws.iam.RolePolicyAttachment(\"dms-vpc-role-AmazonDMSVPCManagementRole\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n role: dms_vpc_role.name,\n});\n// Create a new replication instance\nconst test = new aws.dms.ReplicationInstance(\"test\", {\n allocatedStorage: 20,\n applyImmediately: true,\n autoMinorVersionUpgrade: true,\n availabilityZone: \"us-west-2c\",\n engineVersion: \"3.1.4\",\n kmsKeyArn: \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n multiAz: false,\n preferredMaintenanceWindow: \"sun:10:30-sun:14:30\",\n publiclyAccessible: true,\n replicationInstanceClass: \"dms.t2.micro\",\n replicationInstanceId: \"test-dms-replication-instance-tf\",\n replicationSubnetGroupId: test_dms_replication_subnet_group_tf.id,\n tags: {\n Name: \"test\",\n },\n vpcSecurityGroupIds: [\"sg-12345678\"],\n}, {\n dependsOn: [\n dms_access_for_endpoint_AmazonDMSRedshiftS3Role,\n dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole,\n dms_vpc_role_AmazonDMSVPCManagementRole,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Database Migration Service requires the below IAM Roles to be created before\n# replication instances can be created. See the DMS Documentation for\n# additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n# * dms-vpc-role\n# * dms-cloudwatch-logs-role\n# * dms-access-for-endpoint\ndms_assume_role = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"identifiers\": [\"dms.amazonaws.com\"],\n \"type\": \"Service\",\n }],\n}])\ndms_access_for_endpoint = aws.iam.Role(\"dms-access-for-endpoint\",\n assume_role_policy=dms_assume_role.json,\n name=\"dms-access-for-endpoint\")\ndms_access_for_endpoint__amazon_dms_redshift_s3_role = aws.iam.RolePolicyAttachment(\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\",\n role=dms_access_for_endpoint.name)\ndms_cloudwatch_logs_role = aws.iam.Role(\"dms-cloudwatch-logs-role\",\n assume_role_policy=dms_assume_role.json,\n name=\"dms-cloudwatch-logs-role\")\ndms_cloudwatch_logs_role__amazon_dms_cloud_watch_logs_role = aws.iam.RolePolicyAttachment(\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\",\n role=dms_cloudwatch_logs_role.name)\ndms_vpc_role = aws.iam.Role(\"dms-vpc-role\",\n assume_role_policy=dms_assume_role.json,\n name=\"dms-vpc-role\")\ndms_vpc_role__amazon_dmsvpc_management_role = aws.iam.RolePolicyAttachment(\"dms-vpc-role-AmazonDMSVPCManagementRole\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n role=dms_vpc_role.name)\n# Create a new replication instance\ntest = aws.dms.ReplicationInstance(\"test\",\n allocated_storage=20,\n apply_immediately=True,\n auto_minor_version_upgrade=True,\n availability_zone=\"us-west-2c\",\n engine_version=\"3.1.4\",\n kms_key_arn=\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n multi_az=False,\n preferred_maintenance_window=\"sun:10:30-sun:14:30\",\n publicly_accessible=True,\n replication_instance_class=\"dms.t2.micro\",\n replication_instance_id=\"test-dms-replication-instance-tf\",\n replication_subnet_group_id=test_dms_replication_subnet_group_tf[\"id\"],\n tags={\n \"Name\": \"test\",\n },\n vpc_security_group_ids=[\"sg-12345678\"],\n opts = pulumi.ResourceOptions(depends_on=[\n dms_access_for_endpoint__amazon_dms_redshift_s3_role,\n dms_cloudwatch_logs_role__amazon_dms_cloud_watch_logs_role,\n dms_vpc_role__amazon_dmsvpc_management_role,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Database Migration Service requires the below IAM Roles to be created before\n // replication instances can be created. See the DMS Documentation for\n // additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n // * dms-vpc-role\n // * dms-cloudwatch-logs-role\n // * dms-access-for-endpoint\n var dmsAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"dms.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var dms_access_for_endpoint = new Aws.Iam.Role(\"dms-access-for-endpoint\", new()\n {\n AssumeRolePolicy = dmsAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"dms-access-for-endpoint\",\n });\n\n var dms_access_for_endpoint_AmazonDMSRedshiftS3Role = new Aws.Iam.RolePolicyAttachment(\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\",\n Role = dms_access_for_endpoint.Name,\n });\n\n var dms_cloudwatch_logs_role = new Aws.Iam.Role(\"dms-cloudwatch-logs-role\", new()\n {\n AssumeRolePolicy = dmsAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"dms-cloudwatch-logs-role\",\n });\n\n var dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole = new Aws.Iam.RolePolicyAttachment(\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\",\n Role = dms_cloudwatch_logs_role.Name,\n });\n\n var dms_vpc_role = new Aws.Iam.Role(\"dms-vpc-role\", new()\n {\n AssumeRolePolicy = dmsAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"dms-vpc-role\",\n });\n\n var dms_vpc_role_AmazonDMSVPCManagementRole = new Aws.Iam.RolePolicyAttachment(\"dms-vpc-role-AmazonDMSVPCManagementRole\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n Role = dms_vpc_role.Name,\n });\n\n // Create a new replication instance\n var test = new Aws.Dms.ReplicationInstance(\"test\", new()\n {\n AllocatedStorage = 20,\n ApplyImmediately = true,\n AutoMinorVersionUpgrade = true,\n AvailabilityZone = \"us-west-2c\",\n EngineVersion = \"3.1.4\",\n KmsKeyArn = \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n MultiAz = false,\n PreferredMaintenanceWindow = \"sun:10:30-sun:14:30\",\n PubliclyAccessible = true,\n ReplicationInstanceClass = \"dms.t2.micro\",\n ReplicationInstanceId = \"test-dms-replication-instance-tf\",\n ReplicationSubnetGroupId = test_dms_replication_subnet_group_tf.Id,\n Tags = \n {\n { \"Name\", \"test\" },\n },\n VpcSecurityGroupIds = new[]\n {\n \"sg-12345678\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n dms_access_for_endpoint_AmazonDMSRedshiftS3Role,\n dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole,\n dms_vpc_role_AmazonDMSVPCManagementRole,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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// Database Migration Service requires the below IAM Roles to be created before\n\t\t// replication instances can be created. See the DMS Documentation for\n\t\t// additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n\t\t// - dms-vpc-role\n\t\t// - dms-cloudwatch-logs-role\n\t\t// - dms-access-for-endpoint\n\t\tdmsAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"dms.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"dms-access-for-endpoint\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(dmsAssumeRole.Json),\n\t\t\tName: pulumi.String(\"dms-access-for-endpoint\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\"),\n\t\t\tRole: dms_access_for_endpoint.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"dms-cloudwatch-logs-role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(dmsAssumeRole.Json),\n\t\t\tName: pulumi.String(\"dms-cloudwatch-logs-role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\"),\n\t\t\tRole: dms_cloudwatch_logs_role.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"dms-vpc-role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(dmsAssumeRole.Json),\n\t\t\tName: pulumi.String(\"dms-vpc-role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"dms-vpc-role-AmazonDMSVPCManagementRole\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\"),\n\t\t\tRole: dms_vpc_role.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new replication instance\n\t\t_, err = dms.NewReplicationInstance(ctx, \"test\", \u0026dms.ReplicationInstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(20),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tAutoMinorVersionUpgrade: pulumi.Bool(true),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2c\"),\n\t\t\tEngineVersion: pulumi.String(\"3.1.4\"),\n\t\t\tKmsKeyArn: pulumi.String(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\"),\n\t\t\tMultiAz: pulumi.Bool(false),\n\t\t\tPreferredMaintenanceWindow: pulumi.String(\"sun:10:30-sun:14:30\"),\n\t\t\tPubliclyAccessible: pulumi.Bool(true),\n\t\t\tReplicationInstanceClass: pulumi.String(\"dms.t2.micro\"),\n\t\t\tReplicationInstanceId: pulumi.String(\"test-dms-replication-instance-tf\"),\n\t\t\tReplicationSubnetGroupId: pulumi.Any(test_dms_replication_subnet_group_tf.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-12345678\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdms_access_for_endpoint_AmazonDMSRedshiftS3Role,\n\t\t\tdms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole,\n\t\t\tdms_vpc_role_AmazonDMSVPCManagementRole,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.dms.ReplicationInstance;\nimport com.pulumi.aws.dms.ReplicationInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Database Migration Service requires the below IAM Roles to be created before\n // replication instances can be created. See the DMS Documentation for\n // additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n // * dms-vpc-role\n // * dms-cloudwatch-logs-role\n // * dms-access-for-endpoint\n final var dmsAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"dms.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var dms_access_for_endpoint = new Role(\"dms-access-for-endpoint\", RoleArgs.builder()\n .assumeRolePolicy(dmsAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"dms-access-for-endpoint\")\n .build());\n\n var dms_access_for_endpoint_AmazonDMSRedshiftS3Role = new RolePolicyAttachment(\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\")\n .role(dms_access_for_endpoint.name())\n .build());\n\n var dms_cloudwatch_logs_role = new Role(\"dms-cloudwatch-logs-role\", RoleArgs.builder()\n .assumeRolePolicy(dmsAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"dms-cloudwatch-logs-role\")\n .build());\n\n var dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole = new RolePolicyAttachment(\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\")\n .role(dms_cloudwatch_logs_role.name())\n .build());\n\n var dms_vpc_role = new Role(\"dms-vpc-role\", RoleArgs.builder()\n .assumeRolePolicy(dmsAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"dms-vpc-role\")\n .build());\n\n var dms_vpc_role_AmazonDMSVPCManagementRole = new RolePolicyAttachment(\"dms-vpc-role-AmazonDMSVPCManagementRole\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\")\n .role(dms_vpc_role.name())\n .build());\n\n // Create a new replication instance\n var test = new ReplicationInstance(\"test\", ReplicationInstanceArgs.builder()\n .allocatedStorage(20)\n .applyImmediately(true)\n .autoMinorVersionUpgrade(true)\n .availabilityZone(\"us-west-2c\")\n .engineVersion(\"3.1.4\")\n .kmsKeyArn(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\")\n .multiAz(false)\n .preferredMaintenanceWindow(\"sun:10:30-sun:14:30\")\n .publiclyAccessible(true)\n .replicationInstanceClass(\"dms.t2.micro\")\n .replicationInstanceId(\"test-dms-replication-instance-tf\")\n .replicationSubnetGroupId(test_dms_replication_subnet_group_tf.id())\n .tags(Map.of(\"Name\", \"test\"))\n .vpcSecurityGroupIds(\"sg-12345678\")\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n dms_access_for_endpoint_AmazonDMSRedshiftS3Role,\n dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole,\n dms_vpc_role_AmazonDMSVPCManagementRole)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dms-access-for-endpoint:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${dmsAssumeRole.json}\n name: dms-access-for-endpoint\n dms-access-for-endpoint-AmazonDMSRedshiftS3Role:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\n role: ${[\"dms-access-for-endpoint\"].name}\n dms-cloudwatch-logs-role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${dmsAssumeRole.json}\n name: dms-cloudwatch-logs-role\n dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\n role: ${[\"dms-cloudwatch-logs-role\"].name}\n dms-vpc-role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${dmsAssumeRole.json}\n name: dms-vpc-role\n dms-vpc-role-AmazonDMSVPCManagementRole:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\n role: ${[\"dms-vpc-role\"].name}\n # Create a new replication instance\n test:\n type: aws:dms:ReplicationInstance\n properties:\n allocatedStorage: 20\n applyImmediately: true\n autoMinorVersionUpgrade: true\n availabilityZone: us-west-2c\n engineVersion: 3.1.4\n kmsKeyArn: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\n multiAz: false\n preferredMaintenanceWindow: sun:10:30-sun:14:30\n publiclyAccessible: true\n replicationInstanceClass: dms.t2.micro\n replicationInstanceId: test-dms-replication-instance-tf\n replicationSubnetGroupId: ${[\"test-dms-replication-subnet-group-tf\"].id}\n tags:\n Name: test\n vpcSecurityGroupIds:\n - sg-12345678\n options:\n dependson:\n - ${[\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\"]}\n - ${[\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\"]}\n - ${[\"dms-vpc-role-AmazonDMSVPCManagementRole\"]}\nvariables:\n # Database Migration Service requires the below IAM Roles to be created before\n # replication instances can be created. See the DMS Documentation for\n # additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n # * dms-vpc-role\n # * dms-cloudwatch-logs-role\n # * dms-access-for-endpoint\n dmsAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - identifiers:\n - dms.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import replication instances using the `replication_instance_id`. For example:\n\n```sh\n$ pulumi import aws:dms/replicationInstance:ReplicationInstance test test-dms-replication-instance-tf\n```\n", "properties": { "allocatedStorage": { "type": "integer", @@ -228030,7 +228030,7 @@ } }, "aws:dms/replicationSubnetGroup:ReplicationSubnetGroup": { - "description": "Provides a DMS (Data Migration Service) replication subnet group resource. DMS replication subnet groups can be created, updated, deleted, and imported.\n\n\u003e **Note:** AWS requires a special IAM role called `dms-vpc-role` when using this resource. See the example below to create it as part of your configuration.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new replication subnet group\nconst example = new aws.dms.ReplicationSubnetGroup(\"example\", {\n replicationSubnetGroupDescription: \"Example replication subnet group\",\n replicationSubnetGroupId: \"example-dms-replication-subnet-group-tf\",\n subnetIds: [\n \"subnet-12345678\",\n \"subnet-12345679\",\n ],\n tags: {\n Name: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new replication subnet group\nexample = aws.dms.ReplicationSubnetGroup(\"example\",\n replication_subnet_group_description=\"Example replication subnet group\",\n replication_subnet_group_id=\"example-dms-replication-subnet-group-tf\",\n subnet_ids=[\n \"subnet-12345678\",\n \"subnet-12345679\",\n ],\n tags={\n \"Name\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new replication subnet group\n var example = new Aws.Dms.ReplicationSubnetGroup(\"example\", new()\n {\n ReplicationSubnetGroupDescription = \"Example replication subnet group\",\n ReplicationSubnetGroupId = \"example-dms-replication-subnet-group-tf\",\n SubnetIds = new[]\n {\n \"subnet-12345678\",\n \"subnet-12345679\",\n },\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\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// Create a new replication subnet group\n\t\t_, err := dms.NewReplicationSubnetGroup(ctx, \"example\", \u0026dms.ReplicationSubnetGroupArgs{\n\t\t\tReplicationSubnetGroupDescription: pulumi.String(\"Example replication subnet group\"),\n\t\t\tReplicationSubnetGroupId: pulumi.String(\"example-dms-replication-subnet-group-tf\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-12345678\"),\n\t\t\t\tpulumi.String(\"subnet-12345679\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.ReplicationSubnetGroup;\nimport com.pulumi.aws.dms.ReplicationSubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new replication subnet group\n var example = new ReplicationSubnetGroup(\"example\", ReplicationSubnetGroupArgs.builder()\n .replicationSubnetGroupDescription(\"Example replication subnet group\")\n .replicationSubnetGroupId(\"example-dms-replication-subnet-group-tf\")\n .subnetIds( \n \"subnet-12345678\",\n \"subnet-12345679\")\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new replication subnet group\n example:\n type: aws:dms:ReplicationSubnetGroup\n properties:\n replicationSubnetGroupDescription: Example replication subnet group\n replicationSubnetGroupId: example-dms-replication-subnet-group-tf\n subnetIds:\n - subnet-12345678\n - subnet-12345679\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating special IAM role\n\nIf your account does not already include the `dms-vpc-role` IAM role, you will need to create it to allow DMS to manage subnets in the VPC.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dms_vpc_role = new aws.iam.Role(\"dms-vpc-role\", {\n name: \"dms-vpc-role\",\n description: \"Allows DMS to manage VPC\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Principal: {\n Service: \"dms.amazonaws.com\",\n },\n Action: \"sts:AssumeRole\",\n }],\n }),\n});\nconst example = new aws.iam.RolePolicyAttachment(\"example\", {\n role: dms_vpc_role.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n});\nconst exampleReplicationSubnetGroup = new aws.dms.ReplicationSubnetGroup(\"example\", {\n replicationSubnetGroupDescription: \"Example\",\n replicationSubnetGroupId: \"example-id\",\n subnetIds: [\n \"subnet-12345678\",\n \"subnet-12345679\",\n ],\n tags: {\n Name: \"example-id\",\n },\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ndms_vpc_role = aws.iam.Role(\"dms-vpc-role\",\n name=\"dms-vpc-role\",\n description=\"Allows DMS to manage VPC\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dms.amazonaws.com\",\n },\n \"Action\": \"sts:AssumeRole\",\n }],\n }))\nexample = aws.iam.RolePolicyAttachment(\"example\",\n role=dms_vpc_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\")\nexample_replication_subnet_group = aws.dms.ReplicationSubnetGroup(\"example\",\n replication_subnet_group_description=\"Example\",\n replication_subnet_group_id=\"example-id\",\n subnet_ids=[\n \"subnet-12345678\",\n \"subnet-12345679\",\n ],\n tags={\n \"Name\": \"example-id\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dms_vpc_role = new Aws.Iam.Role(\"dms-vpc-role\", new()\n {\n Name = \"dms-vpc-role\",\n Description = \"Allows DMS to manage VPC\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dms.amazonaws.com\",\n },\n [\"Action\"] = \"sts:AssumeRole\",\n },\n },\n }),\n });\n\n var example = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = dms_vpc_role.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n });\n\n var exampleReplicationSubnetGroup = new Aws.Dms.ReplicationSubnetGroup(\"example\", new()\n {\n ReplicationSubnetGroupDescription = \"Example\",\n ReplicationSubnetGroupId = \"example-id\",\n SubnetIds = new[]\n {\n \"subnet-12345678\",\n \"subnet-12345679\",\n },\n Tags = \n {\n { \"Name\", \"example-id\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dms.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = iam.NewRole(ctx, \"dms-vpc-role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"dms-vpc-role\"),\n\t\t\tDescription: pulumi.String(\"Allows DMS to manage VPC\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: dms_vpc_role.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dms.NewReplicationSubnetGroup(ctx, \"example\", \u0026dms.ReplicationSubnetGroupArgs{\n\t\t\tReplicationSubnetGroupDescription: pulumi.String(\"Example\"),\n\t\t\tReplicationSubnetGroupId: pulumi.String(\"example-id\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-12345678\"),\n\t\t\t\tpulumi.String(\"subnet-12345679\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-id\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.dms.ReplicationSubnetGroup;\nimport com.pulumi.aws.dms.ReplicationSubnetGroupArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dms_vpc_role = new Role(\"dms-vpc-role\", RoleArgs.builder()\n .name(\"dms-vpc-role\")\n .description(\"Allows DMS to manage VPC\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dms.amazonaws.com\")\n )),\n jsonProperty(\"Action\", \"sts:AssumeRole\")\n )))\n )))\n .build());\n\n var example = new RolePolicyAttachment(\"example\", RolePolicyAttachmentArgs.builder()\n .role(dms_vpc_role.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\")\n .build());\n\n var exampleReplicationSubnetGroup = new ReplicationSubnetGroup(\"exampleReplicationSubnetGroup\", ReplicationSubnetGroupArgs.builder()\n .replicationSubnetGroupDescription(\"Example\")\n .replicationSubnetGroupId(\"example-id\")\n .subnetIds( \n \"subnet-12345678\",\n \"subnet-12345679\")\n .tags(Map.of(\"Name\", \"example-id\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dms-vpc-role:\n type: aws:iam:Role\n properties:\n name: dms-vpc-role\n description: Allows DMS to manage VPC\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Principal:\n Service: dms.amazonaws.com\n Action: sts:AssumeRole\n example:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${[\"dms-vpc-role\"].name}\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\n exampleReplicationSubnetGroup:\n type: aws:dms:ReplicationSubnetGroup\n name: example\n properties:\n replicationSubnetGroupDescription: Example\n replicationSubnetGroupId: example-id\n subnetIds:\n - subnet-12345678\n - subnet-12345679\n tags:\n Name: example-id\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import replication subnet groups using the `replication_subnet_group_id`. For example:\n\n```sh\n$ pulumi import aws:dms/replicationSubnetGroup:ReplicationSubnetGroup test test-dms-replication-subnet-group-tf\n```\n", + "description": "Provides a DMS (Data Migration Service) replication subnet group resource. DMS replication subnet groups can be created, updated, deleted, and imported.\n\n\u003e **Note:** AWS requires a special IAM role called `dms-vpc-role` when using this resource. See the example below to create it as part of your configuration.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new replication subnet group\nconst example = new aws.dms.ReplicationSubnetGroup(\"example\", {\n replicationSubnetGroupDescription: \"Example replication subnet group\",\n replicationSubnetGroupId: \"example-dms-replication-subnet-group-tf\",\n subnetIds: [\n \"subnet-12345678\",\n \"subnet-12345679\",\n ],\n tags: {\n Name: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new replication subnet group\nexample = aws.dms.ReplicationSubnetGroup(\"example\",\n replication_subnet_group_description=\"Example replication subnet group\",\n replication_subnet_group_id=\"example-dms-replication-subnet-group-tf\",\n subnet_ids=[\n \"subnet-12345678\",\n \"subnet-12345679\",\n ],\n tags={\n \"Name\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new replication subnet group\n var example = new Aws.Dms.ReplicationSubnetGroup(\"example\", new()\n {\n ReplicationSubnetGroupDescription = \"Example replication subnet group\",\n ReplicationSubnetGroupId = \"example-dms-replication-subnet-group-tf\",\n SubnetIds = new[]\n {\n \"subnet-12345678\",\n \"subnet-12345679\",\n },\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\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// Create a new replication subnet group\n\t\t_, err := dms.NewReplicationSubnetGroup(ctx, \"example\", \u0026dms.ReplicationSubnetGroupArgs{\n\t\t\tReplicationSubnetGroupDescription: pulumi.String(\"Example replication subnet group\"),\n\t\t\tReplicationSubnetGroupId: pulumi.String(\"example-dms-replication-subnet-group-tf\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-12345678\"),\n\t\t\t\tpulumi.String(\"subnet-12345679\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.ReplicationSubnetGroup;\nimport com.pulumi.aws.dms.ReplicationSubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new replication subnet group\n var example = new ReplicationSubnetGroup(\"example\", ReplicationSubnetGroupArgs.builder()\n .replicationSubnetGroupDescription(\"Example replication subnet group\")\n .replicationSubnetGroupId(\"example-dms-replication-subnet-group-tf\")\n .subnetIds( \n \"subnet-12345678\",\n \"subnet-12345679\")\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new replication subnet group\n example:\n type: aws:dms:ReplicationSubnetGroup\n properties:\n replicationSubnetGroupDescription: Example replication subnet group\n replicationSubnetGroupId: example-dms-replication-subnet-group-tf\n subnetIds:\n - subnet-12345678\n - subnet-12345679\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating special IAM role\n\nIf your account does not already include the `dms-vpc-role` IAM role, you will need to create it to allow DMS to manage subnets in the VPC.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dms_vpc_role = new aws.iam.Role(\"dms-vpc-role\", {\n name: \"dms-vpc-role\",\n description: \"Allows DMS to manage VPC\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Principal: {\n Service: \"dms.amazonaws.com\",\n },\n Action: \"sts:AssumeRole\",\n }],\n }),\n});\nconst example = new aws.iam.RolePolicyAttachment(\"example\", {\n role: dms_vpc_role.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n});\nconst exampleReplicationSubnetGroup = new aws.dms.ReplicationSubnetGroup(\"example\", {\n replicationSubnetGroupDescription: \"Example\",\n replicationSubnetGroupId: \"example-id\",\n subnetIds: [\n \"subnet-12345678\",\n \"subnet-12345679\",\n ],\n tags: {\n Name: \"example-id\",\n },\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ndms_vpc_role = aws.iam.Role(\"dms-vpc-role\",\n name=\"dms-vpc-role\",\n description=\"Allows DMS to manage VPC\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dms.amazonaws.com\",\n },\n \"Action\": \"sts:AssumeRole\",\n }],\n }))\nexample = aws.iam.RolePolicyAttachment(\"example\",\n role=dms_vpc_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\")\nexample_replication_subnet_group = aws.dms.ReplicationSubnetGroup(\"example\",\n replication_subnet_group_description=\"Example\",\n replication_subnet_group_id=\"example-id\",\n subnet_ids=[\n \"subnet-12345678\",\n \"subnet-12345679\",\n ],\n tags={\n \"Name\": \"example-id\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dms_vpc_role = new Aws.Iam.Role(\"dms-vpc-role\", new()\n {\n Name = \"dms-vpc-role\",\n Description = \"Allows DMS to manage VPC\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dms.amazonaws.com\",\n },\n [\"Action\"] = \"sts:AssumeRole\",\n },\n },\n }),\n });\n\n var example = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = dms_vpc_role.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n });\n\n var exampleReplicationSubnetGroup = new Aws.Dms.ReplicationSubnetGroup(\"example\", new()\n {\n ReplicationSubnetGroupDescription = \"Example\",\n ReplicationSubnetGroupId = \"example-id\",\n SubnetIds = new[]\n {\n \"subnet-12345678\",\n \"subnet-12345679\",\n },\n Tags = \n {\n { \"Name\", \"example-id\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dms.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = iam.NewRole(ctx, \"dms-vpc-role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"dms-vpc-role\"),\n\t\t\tDescription: pulumi.String(\"Allows DMS to manage VPC\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: dms_vpc_role.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dms.NewReplicationSubnetGroup(ctx, \"example\", \u0026dms.ReplicationSubnetGroupArgs{\n\t\t\tReplicationSubnetGroupDescription: pulumi.String(\"Example\"),\n\t\t\tReplicationSubnetGroupId: pulumi.String(\"example-id\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-12345678\"),\n\t\t\t\tpulumi.String(\"subnet-12345679\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-id\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.dms.ReplicationSubnetGroup;\nimport com.pulumi.aws.dms.ReplicationSubnetGroupArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dms_vpc_role = new Role(\"dms-vpc-role\", RoleArgs.builder()\n .name(\"dms-vpc-role\")\n .description(\"Allows DMS to manage VPC\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dms.amazonaws.com\")\n )),\n jsonProperty(\"Action\", \"sts:AssumeRole\")\n )))\n )))\n .build());\n\n var example = new RolePolicyAttachment(\"example\", RolePolicyAttachmentArgs.builder()\n .role(dms_vpc_role.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\")\n .build());\n\n var exampleReplicationSubnetGroup = new ReplicationSubnetGroup(\"exampleReplicationSubnetGroup\", ReplicationSubnetGroupArgs.builder()\n .replicationSubnetGroupDescription(\"Example\")\n .replicationSubnetGroupId(\"example-id\")\n .subnetIds( \n \"subnet-12345678\",\n \"subnet-12345679\")\n .tags(Map.of(\"Name\", \"example-id\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dms-vpc-role:\n type: aws:iam:Role\n properties:\n name: dms-vpc-role\n description: Allows DMS to manage VPC\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Principal:\n Service: dms.amazonaws.com\n Action: sts:AssumeRole\n example:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${[\"dms-vpc-role\"].name}\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\n exampleReplicationSubnetGroup:\n type: aws:dms:ReplicationSubnetGroup\n name: example\n properties:\n replicationSubnetGroupDescription: Example\n replicationSubnetGroupId: example-id\n subnetIds:\n - subnet-12345678\n - subnet-12345679\n tags:\n Name: example-id\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import replication subnet groups using the `replication_subnet_group_id`. For example:\n\n```sh\n$ pulumi import aws:dms/replicationSubnetGroup:ReplicationSubnetGroup test test-dms-replication-subnet-group-tf\n```\n", "properties": { "replicationSubnetGroupArn": { "type": "string" @@ -228381,7 +228381,7 @@ } }, "aws:dms/s3Endpoint:S3Endpoint": { - "description": "Provides a DMS (Data Migration Service) S3 endpoint resource. DMS S3 endpoints can be created, updated, deleted, and imported.\n\n\u003e **Note:** AWS is deprecating `extra_connection_attributes`, such as used with `aws.dms.Endpoint`. This resource is an alternative to `aws.dms.Endpoint` and does not use `extra_connection_attributes`. (AWS currently includes `extra_connection_attributes` in the raw responses to the AWS Provider requests and so they may be visible in the logs.)\n\n\u003e **Note:** Some of this resource's arguments have default values that come from the AWS Provider. Other default values are provided by AWS and subject to change without notice. When relying on AWS defaults, the provider state will often have a zero value. For example, the AWS Provider does not provide a default for `cdc_max_batch_interval` but the AWS default is `60` (seconds). However, the provider state will show `0` since this is the value return by AWS when no value is present. Below, we aim to flag the defaults that come from AWS (_e.g._, \"AWS default...\").\n\n## Example Usage\n\n### Minimal Configuration\n\nThis is the minimal configuration for an `aws.dms.S3Endpoint`. This endpoint will rely on the AWS Provider and AWS defaults.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dms.S3Endpoint(\"example\", {\n endpointId: \"donnedtipi\",\n endpointType: \"target\",\n bucketName: \"beckut_name\",\n serviceAccessRoleArn: exampleAwsIamRole.arn,\n}, {\n dependsOn: [exampleAwsIamRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dms.S3Endpoint(\"example\",\n endpoint_id=\"donnedtipi\",\n endpoint_type=\"target\",\n bucket_name=\"beckut_name\",\n service_access_role_arn=example_aws_iam_role[\"arn\"],\n opts = pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Dms.S3Endpoint(\"example\", new()\n {\n EndpointId = \"donnedtipi\",\n EndpointType = \"target\",\n BucketName = \"beckut_name\",\n ServiceAccessRoleArn = exampleAwsIamRole.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\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 := dms.NewS3Endpoint(ctx, \"example\", \u0026dms.S3EndpointArgs{\n\t\t\tEndpointId: pulumi.String(\"donnedtipi\"),\n\t\t\tEndpointType: pulumi.String(\"target\"),\n\t\t\tBucketName: pulumi.String(\"beckut_name\"),\n\t\t\tServiceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.S3Endpoint;\nimport com.pulumi.aws.dms.S3EndpointArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new S3Endpoint(\"example\", S3EndpointArgs.builder()\n .endpointId(\"donnedtipi\")\n .endpointType(\"target\")\n .bucketName(\"beckut_name\")\n .serviceAccessRoleArn(exampleAwsIamRole.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dms:S3Endpoint\n properties:\n endpointId: donnedtipi\n endpointType: target\n bucketName: beckut_name\n serviceAccessRoleArn: ${exampleAwsIamRole.arn}\n options:\n dependsOn:\n - ${exampleAwsIamRolePolicy}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Complete Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dms.S3Endpoint(\"example\", {\n endpointId: \"donnedtipi\",\n endpointType: \"target\",\n sslMode: \"none\",\n tags: {\n Name: \"donnedtipi\",\n Update: \"to-update\",\n Remove: \"to-remove\",\n },\n addColumnName: true,\n addTrailingPaddingCharacter: false,\n bucketFolder: \"folder\",\n bucketName: \"bucket_name\",\n cannedAclForObjects: \"private\",\n cdcInsertsAndUpdates: true,\n cdcInsertsOnly: false,\n cdcMaxBatchInterval: 100,\n cdcMinFileSize: 16,\n cdcPath: \"cdc/path\",\n compressionType: \"GZIP\",\n csvDelimiter: \";\",\n csvNoSupValue: \"x\",\n csvNullValue: \"?\",\n csvRowDelimiter: \"\\\\r\\\\n\",\n dataFormat: \"parquet\",\n dataPageSize: 1100000,\n datePartitionDelimiter: \"UNDERSCORE\",\n datePartitionEnabled: true,\n datePartitionSequence: \"yyyymmddhh\",\n datePartitionTimezone: \"Asia/Seoul\",\n dictPageSizeLimit: 1000000,\n enableStatistics: false,\n encodingType: \"plain\",\n encryptionMode: \"SSE_S3\",\n expectedBucketOwner: current.accountId,\n externalTableDefinition: \"etd\",\n ignoreHeaderRows: 1,\n includeOpForFullLoad: true,\n maxFileSize: 1000000,\n parquetTimestampInMillisecond: true,\n parquetVersion: \"parquet-2-0\",\n preserveTransactions: false,\n rfc4180: false,\n rowGroupLength: 11000,\n serverSideEncryptionKmsKeyId: exampleAwsKmsKey.arn,\n serviceAccessRoleArn: exampleAwsIamRole.arn,\n timestampColumnName: \"tx_commit_time\",\n useCsvNoSupValue: false,\n useTaskStartTimeForFullLoadTimestamp: true,\n glueCatalogGeneration: true,\n}, {\n dependsOn: [exampleAwsIamRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dms.S3Endpoint(\"example\",\n endpoint_id=\"donnedtipi\",\n endpoint_type=\"target\",\n ssl_mode=\"none\",\n tags={\n \"Name\": \"donnedtipi\",\n \"Update\": \"to-update\",\n \"Remove\": \"to-remove\",\n },\n add_column_name=True,\n add_trailing_padding_character=False,\n bucket_folder=\"folder\",\n bucket_name=\"bucket_name\",\n canned_acl_for_objects=\"private\",\n cdc_inserts_and_updates=True,\n cdc_inserts_only=False,\n cdc_max_batch_interval=100,\n cdc_min_file_size=16,\n cdc_path=\"cdc/path\",\n compression_type=\"GZIP\",\n csv_delimiter=\";\",\n csv_no_sup_value=\"x\",\n csv_null_value=\"?\",\n csv_row_delimiter=\"\\\\r\\\\n\",\n data_format=\"parquet\",\n data_page_size=1100000,\n date_partition_delimiter=\"UNDERSCORE\",\n date_partition_enabled=True,\n date_partition_sequence=\"yyyymmddhh\",\n date_partition_timezone=\"Asia/Seoul\",\n dict_page_size_limit=1000000,\n enable_statistics=False,\n encoding_type=\"plain\",\n encryption_mode=\"SSE_S3\",\n expected_bucket_owner=current[\"accountId\"],\n external_table_definition=\"etd\",\n ignore_header_rows=1,\n include_op_for_full_load=True,\n max_file_size=1000000,\n parquet_timestamp_in_millisecond=True,\n parquet_version=\"parquet-2-0\",\n preserve_transactions=False,\n rfc4180=False,\n row_group_length=11000,\n server_side_encryption_kms_key_id=example_aws_kms_key[\"arn\"],\n service_access_role_arn=example_aws_iam_role[\"arn\"],\n timestamp_column_name=\"tx_commit_time\",\n use_csv_no_sup_value=False,\n use_task_start_time_for_full_load_timestamp=True,\n glue_catalog_generation=True,\n opts = pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Dms.S3Endpoint(\"example\", new()\n {\n EndpointId = \"donnedtipi\",\n EndpointType = \"target\",\n SslMode = \"none\",\n Tags = \n {\n { \"Name\", \"donnedtipi\" },\n { \"Update\", \"to-update\" },\n { \"Remove\", \"to-remove\" },\n },\n AddColumnName = true,\n AddTrailingPaddingCharacter = false,\n BucketFolder = \"folder\",\n BucketName = \"bucket_name\",\n CannedAclForObjects = \"private\",\n CdcInsertsAndUpdates = true,\n CdcInsertsOnly = false,\n CdcMaxBatchInterval = 100,\n CdcMinFileSize = 16,\n CdcPath = \"cdc/path\",\n CompressionType = \"GZIP\",\n CsvDelimiter = \";\",\n CsvNoSupValue = \"x\",\n CsvNullValue = \"?\",\n CsvRowDelimiter = \"\\\\r\\\\n\",\n DataFormat = \"parquet\",\n DataPageSize = 1100000,\n DatePartitionDelimiter = \"UNDERSCORE\",\n DatePartitionEnabled = true,\n DatePartitionSequence = \"yyyymmddhh\",\n DatePartitionTimezone = \"Asia/Seoul\",\n DictPageSizeLimit = 1000000,\n EnableStatistics = false,\n EncodingType = \"plain\",\n EncryptionMode = \"SSE_S3\",\n ExpectedBucketOwner = current.AccountId,\n ExternalTableDefinition = \"etd\",\n IgnoreHeaderRows = 1,\n IncludeOpForFullLoad = true,\n MaxFileSize = 1000000,\n ParquetTimestampInMillisecond = true,\n ParquetVersion = \"parquet-2-0\",\n PreserveTransactions = false,\n Rfc4180 = false,\n RowGroupLength = 11000,\n ServerSideEncryptionKmsKeyId = exampleAwsKmsKey.Arn,\n ServiceAccessRoleArn = exampleAwsIamRole.Arn,\n TimestampColumnName = \"tx_commit_time\",\n UseCsvNoSupValue = false,\n UseTaskStartTimeForFullLoadTimestamp = true,\n GlueCatalogGeneration = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\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 := dms.NewS3Endpoint(ctx, \"example\", \u0026dms.S3EndpointArgs{\n\t\t\tEndpointId: pulumi.String(\"donnedtipi\"),\n\t\t\tEndpointType: pulumi.String(\"target\"),\n\t\t\tSslMode: pulumi.String(\"none\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"donnedtipi\"),\n\t\t\t\t\"Update\": pulumi.String(\"to-update\"),\n\t\t\t\t\"Remove\": pulumi.String(\"to-remove\"),\n\t\t\t},\n\t\t\tAddColumnName: pulumi.Bool(true),\n\t\t\tAddTrailingPaddingCharacter: pulumi.Bool(false),\n\t\t\tBucketFolder: pulumi.String(\"folder\"),\n\t\t\tBucketName: pulumi.String(\"bucket_name\"),\n\t\t\tCannedAclForObjects: pulumi.String(\"private\"),\n\t\t\tCdcInsertsAndUpdates: pulumi.Bool(true),\n\t\t\tCdcInsertsOnly: pulumi.Bool(false),\n\t\t\tCdcMaxBatchInterval: pulumi.Int(100),\n\t\t\tCdcMinFileSize: pulumi.Int(16),\n\t\t\tCdcPath: pulumi.String(\"cdc/path\"),\n\t\t\tCompressionType: pulumi.String(\"GZIP\"),\n\t\t\tCsvDelimiter: pulumi.String(\";\"),\n\t\t\tCsvNoSupValue: pulumi.String(\"x\"),\n\t\t\tCsvNullValue: pulumi.String(\"?\"),\n\t\t\tCsvRowDelimiter: pulumi.String(\"\\\\r\\\\n\"),\n\t\t\tDataFormat: pulumi.String(\"parquet\"),\n\t\t\tDataPageSize: pulumi.Int(1100000),\n\t\t\tDatePartitionDelimiter: pulumi.String(\"UNDERSCORE\"),\n\t\t\tDatePartitionEnabled: pulumi.Bool(true),\n\t\t\tDatePartitionSequence: pulumi.String(\"yyyymmddhh\"),\n\t\t\tDatePartitionTimezone: pulumi.String(\"Asia/Seoul\"),\n\t\t\tDictPageSizeLimit: pulumi.Int(1000000),\n\t\t\tEnableStatistics: pulumi.Bool(false),\n\t\t\tEncodingType: pulumi.String(\"plain\"),\n\t\t\tEncryptionMode: pulumi.String(\"SSE_S3\"),\n\t\t\tExpectedBucketOwner: pulumi.Any(current.AccountId),\n\t\t\tExternalTableDefinition: pulumi.String(\"etd\"),\n\t\t\tIgnoreHeaderRows: pulumi.Int(1),\n\t\t\tIncludeOpForFullLoad: pulumi.Bool(true),\n\t\t\tMaxFileSize: pulumi.Int(1000000),\n\t\t\tParquetTimestampInMillisecond: pulumi.Bool(true),\n\t\t\tParquetVersion: pulumi.String(\"parquet-2-0\"),\n\t\t\tPreserveTransactions: pulumi.Bool(false),\n\t\t\tRfc4180: pulumi.Bool(false),\n\t\t\tRowGroupLength: pulumi.Int(11000),\n\t\t\tServerSideEncryptionKmsKeyId: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\tServiceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tTimestampColumnName: pulumi.String(\"tx_commit_time\"),\n\t\t\tUseCsvNoSupValue: pulumi.Bool(false),\n\t\t\tUseTaskStartTimeForFullLoadTimestamp: pulumi.Bool(true),\n\t\t\tGlueCatalogGeneration: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.S3Endpoint;\nimport com.pulumi.aws.dms.S3EndpointArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new S3Endpoint(\"example\", S3EndpointArgs.builder()\n .endpointId(\"donnedtipi\")\n .endpointType(\"target\")\n .sslMode(\"none\")\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"donnedtipi\"),\n Map.entry(\"Update\", \"to-update\"),\n Map.entry(\"Remove\", \"to-remove\")\n ))\n .addColumnName(true)\n .addTrailingPaddingCharacter(false)\n .bucketFolder(\"folder\")\n .bucketName(\"bucket_name\")\n .cannedAclForObjects(\"private\")\n .cdcInsertsAndUpdates(true)\n .cdcInsertsOnly(false)\n .cdcMaxBatchInterval(100)\n .cdcMinFileSize(16)\n .cdcPath(\"cdc/path\")\n .compressionType(\"GZIP\")\n .csvDelimiter(\";\")\n .csvNoSupValue(\"x\")\n .csvNullValue(\"?\")\n .csvRowDelimiter(\"\\\\r\\\\n\")\n .dataFormat(\"parquet\")\n .dataPageSize(1100000)\n .datePartitionDelimiter(\"UNDERSCORE\")\n .datePartitionEnabled(true)\n .datePartitionSequence(\"yyyymmddhh\")\n .datePartitionTimezone(\"Asia/Seoul\")\n .dictPageSizeLimit(1000000)\n .enableStatistics(false)\n .encodingType(\"plain\")\n .encryptionMode(\"SSE_S3\")\n .expectedBucketOwner(current.accountId())\n .externalTableDefinition(\"etd\")\n .ignoreHeaderRows(1)\n .includeOpForFullLoad(true)\n .maxFileSize(1000000)\n .parquetTimestampInMillisecond(true)\n .parquetVersion(\"parquet-2-0\")\n .preserveTransactions(false)\n .rfc4180(false)\n .rowGroupLength(11000)\n .serverSideEncryptionKmsKeyId(exampleAwsKmsKey.arn())\n .serviceAccessRoleArn(exampleAwsIamRole.arn())\n .timestampColumnName(\"tx_commit_time\")\n .useCsvNoSupValue(false)\n .useTaskStartTimeForFullLoadTimestamp(true)\n .glueCatalogGeneration(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dms:S3Endpoint\n properties:\n endpointId: donnedtipi\n endpointType: target\n sslMode: none\n tags:\n Name: donnedtipi\n Update: to-update\n Remove: to-remove\n addColumnName: true\n addTrailingPaddingCharacter: false\n bucketFolder: folder\n bucketName: bucket_name\n cannedAclForObjects: private\n cdcInsertsAndUpdates: true\n cdcInsertsOnly: false\n cdcMaxBatchInterval: 100\n cdcMinFileSize: 16\n cdcPath: cdc/path\n compressionType: GZIP\n csvDelimiter: ;\n csvNoSupValue: x\n csvNullValue: '?'\n csvRowDelimiter: \\r\\n\n dataFormat: parquet\n dataPageSize: 1.1e+06\n datePartitionDelimiter: UNDERSCORE\n datePartitionEnabled: true\n datePartitionSequence: yyyymmddhh\n datePartitionTimezone: Asia/Seoul\n dictPageSizeLimit: 1e+06\n enableStatistics: false\n encodingType: plain\n encryptionMode: SSE_S3\n expectedBucketOwner: ${current.accountId}\n externalTableDefinition: etd\n ignoreHeaderRows: 1\n includeOpForFullLoad: true\n maxFileSize: 1e+06\n parquetTimestampInMillisecond: true\n parquetVersion: parquet-2-0\n preserveTransactions: false\n rfc4180: false\n rowGroupLength: 11000\n serverSideEncryptionKmsKeyId: ${exampleAwsKmsKey.arn}\n serviceAccessRoleArn: ${exampleAwsIamRole.arn}\n timestampColumnName: tx_commit_time\n useCsvNoSupValue: false\n useTaskStartTimeForFullLoadTimestamp: true\n glueCatalogGeneration: true\n options:\n dependsOn:\n - ${exampleAwsIamRolePolicy}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import endpoints using the `endpoint_id`. For example:\n\n```sh\n$ pulumi import aws:dms/s3Endpoint:S3Endpoint example example-dms-endpoint-tf\n```\n", + "description": "Provides a DMS (Data Migration Service) S3 endpoint resource. DMS S3 endpoints can be created, updated, deleted, and imported.\n\n\u003e **Note:** AWS is deprecating `extra_connection_attributes`, such as used with `aws.dms.Endpoint`. This resource is an alternative to `aws.dms.Endpoint` and does not use `extra_connection_attributes`. (AWS currently includes `extra_connection_attributes` in the raw responses to the AWS Provider requests and so they may be visible in the logs.)\n\n\u003e **Note:** Some of this resource's arguments have default values that come from the AWS Provider. Other default values are provided by AWS and subject to change without notice. When relying on AWS defaults, the provider state will often have a zero value. For example, the AWS Provider does not provide a default for `cdc_max_batch_interval` but the AWS default is `60` (seconds). However, the provider state will show `0` since this is the value return by AWS when no value is present. Below, we aim to flag the defaults that come from AWS (_e.g._, \"AWS default...\").\n\n## Example Usage\n\n### Minimal Configuration\n\nThis is the minimal configuration for an `aws.dms.S3Endpoint`. This endpoint will rely on the AWS Provider and AWS defaults.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dms.S3Endpoint(\"example\", {\n endpointId: \"donnedtipi\",\n endpointType: \"target\",\n bucketName: \"beckut_name\",\n serviceAccessRoleArn: exampleAwsIamRole.arn,\n}, {\n dependsOn: [exampleAwsIamRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dms.S3Endpoint(\"example\",\n endpoint_id=\"donnedtipi\",\n endpoint_type=\"target\",\n bucket_name=\"beckut_name\",\n service_access_role_arn=example_aws_iam_role[\"arn\"],\n opts = pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Dms.S3Endpoint(\"example\", new()\n {\n EndpointId = \"donnedtipi\",\n EndpointType = \"target\",\n BucketName = \"beckut_name\",\n ServiceAccessRoleArn = exampleAwsIamRole.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\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 := dms.NewS3Endpoint(ctx, \"example\", \u0026dms.S3EndpointArgs{\n\t\t\tEndpointId: pulumi.String(\"donnedtipi\"),\n\t\t\tEndpointType: pulumi.String(\"target\"),\n\t\t\tBucketName: pulumi.String(\"beckut_name\"),\n\t\t\tServiceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.S3Endpoint;\nimport com.pulumi.aws.dms.S3EndpointArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new S3Endpoint(\"example\", S3EndpointArgs.builder()\n .endpointId(\"donnedtipi\")\n .endpointType(\"target\")\n .bucketName(\"beckut_name\")\n .serviceAccessRoleArn(exampleAwsIamRole.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dms:S3Endpoint\n properties:\n endpointId: donnedtipi\n endpointType: target\n bucketName: beckut_name\n serviceAccessRoleArn: ${exampleAwsIamRole.arn}\n options:\n dependson:\n - ${exampleAwsIamRolePolicy}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Complete Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dms.S3Endpoint(\"example\", {\n endpointId: \"donnedtipi\",\n endpointType: \"target\",\n sslMode: \"none\",\n tags: {\n Name: \"donnedtipi\",\n Update: \"to-update\",\n Remove: \"to-remove\",\n },\n addColumnName: true,\n addTrailingPaddingCharacter: false,\n bucketFolder: \"folder\",\n bucketName: \"bucket_name\",\n cannedAclForObjects: \"private\",\n cdcInsertsAndUpdates: true,\n cdcInsertsOnly: false,\n cdcMaxBatchInterval: 100,\n cdcMinFileSize: 16,\n cdcPath: \"cdc/path\",\n compressionType: \"GZIP\",\n csvDelimiter: \";\",\n csvNoSupValue: \"x\",\n csvNullValue: \"?\",\n csvRowDelimiter: \"\\\\r\\\\n\",\n dataFormat: \"parquet\",\n dataPageSize: 1100000,\n datePartitionDelimiter: \"UNDERSCORE\",\n datePartitionEnabled: true,\n datePartitionSequence: \"yyyymmddhh\",\n datePartitionTimezone: \"Asia/Seoul\",\n dictPageSizeLimit: 1000000,\n enableStatistics: false,\n encodingType: \"plain\",\n encryptionMode: \"SSE_S3\",\n expectedBucketOwner: current.accountId,\n externalTableDefinition: \"etd\",\n ignoreHeaderRows: 1,\n includeOpForFullLoad: true,\n maxFileSize: 1000000,\n parquetTimestampInMillisecond: true,\n parquetVersion: \"parquet-2-0\",\n preserveTransactions: false,\n rfc4180: false,\n rowGroupLength: 11000,\n serverSideEncryptionKmsKeyId: exampleAwsKmsKey.arn,\n serviceAccessRoleArn: exampleAwsIamRole.arn,\n timestampColumnName: \"tx_commit_time\",\n useCsvNoSupValue: false,\n useTaskStartTimeForFullLoadTimestamp: true,\n glueCatalogGeneration: true,\n}, {\n dependsOn: [exampleAwsIamRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dms.S3Endpoint(\"example\",\n endpoint_id=\"donnedtipi\",\n endpoint_type=\"target\",\n ssl_mode=\"none\",\n tags={\n \"Name\": \"donnedtipi\",\n \"Update\": \"to-update\",\n \"Remove\": \"to-remove\",\n },\n add_column_name=True,\n add_trailing_padding_character=False,\n bucket_folder=\"folder\",\n bucket_name=\"bucket_name\",\n canned_acl_for_objects=\"private\",\n cdc_inserts_and_updates=True,\n cdc_inserts_only=False,\n cdc_max_batch_interval=100,\n cdc_min_file_size=16,\n cdc_path=\"cdc/path\",\n compression_type=\"GZIP\",\n csv_delimiter=\";\",\n csv_no_sup_value=\"x\",\n csv_null_value=\"?\",\n csv_row_delimiter=\"\\\\r\\\\n\",\n data_format=\"parquet\",\n data_page_size=1100000,\n date_partition_delimiter=\"UNDERSCORE\",\n date_partition_enabled=True,\n date_partition_sequence=\"yyyymmddhh\",\n date_partition_timezone=\"Asia/Seoul\",\n dict_page_size_limit=1000000,\n enable_statistics=False,\n encoding_type=\"plain\",\n encryption_mode=\"SSE_S3\",\n expected_bucket_owner=current[\"accountId\"],\n external_table_definition=\"etd\",\n ignore_header_rows=1,\n include_op_for_full_load=True,\n max_file_size=1000000,\n parquet_timestamp_in_millisecond=True,\n parquet_version=\"parquet-2-0\",\n preserve_transactions=False,\n rfc4180=False,\n row_group_length=11000,\n server_side_encryption_kms_key_id=example_aws_kms_key[\"arn\"],\n service_access_role_arn=example_aws_iam_role[\"arn\"],\n timestamp_column_name=\"tx_commit_time\",\n use_csv_no_sup_value=False,\n use_task_start_time_for_full_load_timestamp=True,\n glue_catalog_generation=True,\n opts = pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Dms.S3Endpoint(\"example\", new()\n {\n EndpointId = \"donnedtipi\",\n EndpointType = \"target\",\n SslMode = \"none\",\n Tags = \n {\n { \"Name\", \"donnedtipi\" },\n { \"Update\", \"to-update\" },\n { \"Remove\", \"to-remove\" },\n },\n AddColumnName = true,\n AddTrailingPaddingCharacter = false,\n BucketFolder = \"folder\",\n BucketName = \"bucket_name\",\n CannedAclForObjects = \"private\",\n CdcInsertsAndUpdates = true,\n CdcInsertsOnly = false,\n CdcMaxBatchInterval = 100,\n CdcMinFileSize = 16,\n CdcPath = \"cdc/path\",\n CompressionType = \"GZIP\",\n CsvDelimiter = \";\",\n CsvNoSupValue = \"x\",\n CsvNullValue = \"?\",\n CsvRowDelimiter = \"\\\\r\\\\n\",\n DataFormat = \"parquet\",\n DataPageSize = 1100000,\n DatePartitionDelimiter = \"UNDERSCORE\",\n DatePartitionEnabled = true,\n DatePartitionSequence = \"yyyymmddhh\",\n DatePartitionTimezone = \"Asia/Seoul\",\n DictPageSizeLimit = 1000000,\n EnableStatistics = false,\n EncodingType = \"plain\",\n EncryptionMode = \"SSE_S3\",\n ExpectedBucketOwner = current.AccountId,\n ExternalTableDefinition = \"etd\",\n IgnoreHeaderRows = 1,\n IncludeOpForFullLoad = true,\n MaxFileSize = 1000000,\n ParquetTimestampInMillisecond = true,\n ParquetVersion = \"parquet-2-0\",\n PreserveTransactions = false,\n Rfc4180 = false,\n RowGroupLength = 11000,\n ServerSideEncryptionKmsKeyId = exampleAwsKmsKey.Arn,\n ServiceAccessRoleArn = exampleAwsIamRole.Arn,\n TimestampColumnName = \"tx_commit_time\",\n UseCsvNoSupValue = false,\n UseTaskStartTimeForFullLoadTimestamp = true,\n GlueCatalogGeneration = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\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 := dms.NewS3Endpoint(ctx, \"example\", \u0026dms.S3EndpointArgs{\n\t\t\tEndpointId: pulumi.String(\"donnedtipi\"),\n\t\t\tEndpointType: pulumi.String(\"target\"),\n\t\t\tSslMode: pulumi.String(\"none\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"donnedtipi\"),\n\t\t\t\t\"Update\": pulumi.String(\"to-update\"),\n\t\t\t\t\"Remove\": pulumi.String(\"to-remove\"),\n\t\t\t},\n\t\t\tAddColumnName: pulumi.Bool(true),\n\t\t\tAddTrailingPaddingCharacter: pulumi.Bool(false),\n\t\t\tBucketFolder: pulumi.String(\"folder\"),\n\t\t\tBucketName: pulumi.String(\"bucket_name\"),\n\t\t\tCannedAclForObjects: pulumi.String(\"private\"),\n\t\t\tCdcInsertsAndUpdates: pulumi.Bool(true),\n\t\t\tCdcInsertsOnly: pulumi.Bool(false),\n\t\t\tCdcMaxBatchInterval: pulumi.Int(100),\n\t\t\tCdcMinFileSize: pulumi.Int(16),\n\t\t\tCdcPath: pulumi.String(\"cdc/path\"),\n\t\t\tCompressionType: pulumi.String(\"GZIP\"),\n\t\t\tCsvDelimiter: pulumi.String(\";\"),\n\t\t\tCsvNoSupValue: pulumi.String(\"x\"),\n\t\t\tCsvNullValue: pulumi.String(\"?\"),\n\t\t\tCsvRowDelimiter: pulumi.String(\"\\\\r\\\\n\"),\n\t\t\tDataFormat: pulumi.String(\"parquet\"),\n\t\t\tDataPageSize: pulumi.Int(1100000),\n\t\t\tDatePartitionDelimiter: pulumi.String(\"UNDERSCORE\"),\n\t\t\tDatePartitionEnabled: pulumi.Bool(true),\n\t\t\tDatePartitionSequence: pulumi.String(\"yyyymmddhh\"),\n\t\t\tDatePartitionTimezone: pulumi.String(\"Asia/Seoul\"),\n\t\t\tDictPageSizeLimit: pulumi.Int(1000000),\n\t\t\tEnableStatistics: pulumi.Bool(false),\n\t\t\tEncodingType: pulumi.String(\"plain\"),\n\t\t\tEncryptionMode: pulumi.String(\"SSE_S3\"),\n\t\t\tExpectedBucketOwner: pulumi.Any(current.AccountId),\n\t\t\tExternalTableDefinition: pulumi.String(\"etd\"),\n\t\t\tIgnoreHeaderRows: pulumi.Int(1),\n\t\t\tIncludeOpForFullLoad: pulumi.Bool(true),\n\t\t\tMaxFileSize: pulumi.Int(1000000),\n\t\t\tParquetTimestampInMillisecond: pulumi.Bool(true),\n\t\t\tParquetVersion: pulumi.String(\"parquet-2-0\"),\n\t\t\tPreserveTransactions: pulumi.Bool(false),\n\t\t\tRfc4180: pulumi.Bool(false),\n\t\t\tRowGroupLength: pulumi.Int(11000),\n\t\t\tServerSideEncryptionKmsKeyId: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\tServiceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tTimestampColumnName: pulumi.String(\"tx_commit_time\"),\n\t\t\tUseCsvNoSupValue: pulumi.Bool(false),\n\t\t\tUseTaskStartTimeForFullLoadTimestamp: pulumi.Bool(true),\n\t\t\tGlueCatalogGeneration: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.S3Endpoint;\nimport com.pulumi.aws.dms.S3EndpointArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new S3Endpoint(\"example\", S3EndpointArgs.builder()\n .endpointId(\"donnedtipi\")\n .endpointType(\"target\")\n .sslMode(\"none\")\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"donnedtipi\"),\n Map.entry(\"Update\", \"to-update\"),\n Map.entry(\"Remove\", \"to-remove\")\n ))\n .addColumnName(true)\n .addTrailingPaddingCharacter(false)\n .bucketFolder(\"folder\")\n .bucketName(\"bucket_name\")\n .cannedAclForObjects(\"private\")\n .cdcInsertsAndUpdates(true)\n .cdcInsertsOnly(false)\n .cdcMaxBatchInterval(100)\n .cdcMinFileSize(16)\n .cdcPath(\"cdc/path\")\n .compressionType(\"GZIP\")\n .csvDelimiter(\";\")\n .csvNoSupValue(\"x\")\n .csvNullValue(\"?\")\n .csvRowDelimiter(\"\\\\r\\\\n\")\n .dataFormat(\"parquet\")\n .dataPageSize(1100000)\n .datePartitionDelimiter(\"UNDERSCORE\")\n .datePartitionEnabled(true)\n .datePartitionSequence(\"yyyymmddhh\")\n .datePartitionTimezone(\"Asia/Seoul\")\n .dictPageSizeLimit(1000000)\n .enableStatistics(false)\n .encodingType(\"plain\")\n .encryptionMode(\"SSE_S3\")\n .expectedBucketOwner(current.accountId())\n .externalTableDefinition(\"etd\")\n .ignoreHeaderRows(1)\n .includeOpForFullLoad(true)\n .maxFileSize(1000000)\n .parquetTimestampInMillisecond(true)\n .parquetVersion(\"parquet-2-0\")\n .preserveTransactions(false)\n .rfc4180(false)\n .rowGroupLength(11000)\n .serverSideEncryptionKmsKeyId(exampleAwsKmsKey.arn())\n .serviceAccessRoleArn(exampleAwsIamRole.arn())\n .timestampColumnName(\"tx_commit_time\")\n .useCsvNoSupValue(false)\n .useTaskStartTimeForFullLoadTimestamp(true)\n .glueCatalogGeneration(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dms:S3Endpoint\n properties:\n endpointId: donnedtipi\n endpointType: target\n sslMode: none\n tags:\n Name: donnedtipi\n Update: to-update\n Remove: to-remove\n addColumnName: true\n addTrailingPaddingCharacter: false\n bucketFolder: folder\n bucketName: bucket_name\n cannedAclForObjects: private\n cdcInsertsAndUpdates: true\n cdcInsertsOnly: false\n cdcMaxBatchInterval: 100\n cdcMinFileSize: 16\n cdcPath: cdc/path\n compressionType: GZIP\n csvDelimiter: ;\n csvNoSupValue: x\n csvNullValue: '?'\n csvRowDelimiter: \\r\\n\n dataFormat: parquet\n dataPageSize: 1.1e+06\n datePartitionDelimiter: UNDERSCORE\n datePartitionEnabled: true\n datePartitionSequence: yyyymmddhh\n datePartitionTimezone: Asia/Seoul\n dictPageSizeLimit: 1e+06\n enableStatistics: false\n encodingType: plain\n encryptionMode: SSE_S3\n expectedBucketOwner: ${current.accountId}\n externalTableDefinition: etd\n ignoreHeaderRows: 1\n includeOpForFullLoad: true\n maxFileSize: 1e+06\n parquetTimestampInMillisecond: true\n parquetVersion: parquet-2-0\n preserveTransactions: false\n rfc4180: false\n rowGroupLength: 11000\n serverSideEncryptionKmsKeyId: ${exampleAwsKmsKey.arn}\n serviceAccessRoleArn: ${exampleAwsIamRole.arn}\n timestampColumnName: tx_commit_time\n useCsvNoSupValue: false\n useTaskStartTimeForFullLoadTimestamp: true\n glueCatalogGeneration: true\n options:\n dependson:\n - ${exampleAwsIamRolePolicy}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import endpoints using the `endpoint_id`. For example:\n\n```sh\n$ pulumi import aws:dms/s3Endpoint:S3Endpoint example example-dms-endpoint-tf\n```\n", "properties": { "addColumnName": { "type": "boolean", @@ -230625,7 +230625,7 @@ } }, "aws:docdb/globalCluster:GlobalCluster": { - "description": "Manages an DocumentDB Global Cluster. A global cluster consists of one primary region and up to five read-only secondary regions. You issue write operations directly to the primary cluster in the primary region and Amazon DocumentDB automatically replicates the data to the secondary regions using dedicated infrastructure.\n\nMore information about DocumentDB Global Clusters can be found in the [DocumentDB Developer Guide](https://docs.aws.amazon.com/documentdb/latest/developerguide/global-clusters.html).\n\n## Example Usage\n\n### New DocumentDB Global Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.docdb.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"global-test\",\n engine: \"docdb\",\n engineVersion: \"4.0.0\",\n});\nconst primary = new aws.docdb.Cluster(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-primary-cluster\",\n masterUsername: \"username\",\n masterPassword: \"somepass123\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n});\nconst primaryClusterInstance = new aws.docdb.ClusterInstance(\"primary\", {\n engine: example.engine,\n identifier: \"test-primary-cluster-instance\",\n clusterIdentifier: primary.id,\n instanceClass: \"db.r5.large\",\n});\nconst secondary = new aws.docdb.Cluster(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-secondary-cluster\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n}, {\n dependsOn: [primary],\n});\nconst secondaryClusterInstance = new aws.docdb.ClusterInstance(\"secondary\", {\n engine: example.engine,\n identifier: \"test-secondary-cluster-instance\",\n clusterIdentifier: secondary.id,\n instanceClass: \"db.r5.large\",\n}, {\n dependsOn: [primaryClusterInstance],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.docdb.GlobalCluster(\"example\",\n global_cluster_identifier=\"global-test\",\n engine=\"docdb\",\n engine_version=\"4.0.0\")\nprimary = aws.docdb.Cluster(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-primary-cluster\",\n master_username=\"username\",\n master_password=\"somepass123\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\")\nprimary_cluster_instance = aws.docdb.ClusterInstance(\"primary\",\n engine=example.engine,\n identifier=\"test-primary-cluster-instance\",\n cluster_identifier=primary.id,\n instance_class=\"db.r5.large\")\nsecondary = aws.docdb.Cluster(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-secondary-cluster\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\",\n opts = pulumi.ResourceOptions(depends_on=[primary]))\nsecondary_cluster_instance = aws.docdb.ClusterInstance(\"secondary\",\n engine=example.engine,\n identifier=\"test-secondary-cluster-instance\",\n cluster_identifier=secondary.id,\n instance_class=\"db.r5.large\",\n opts = pulumi.ResourceOptions(depends_on=[primary_cluster_instance]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DocDB.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"global-test\",\n Engine = \"docdb\",\n EngineVersion = \"4.0.0\",\n });\n\n var primary = new Aws.DocDB.Cluster(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-primary-cluster\",\n MasterUsername = \"username\",\n MasterPassword = \"somepass123\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n });\n\n var primaryClusterInstance = new Aws.DocDB.ClusterInstance(\"primary\", new()\n {\n Engine = example.Engine,\n Identifier = \"test-primary-cluster-instance\",\n ClusterIdentifier = primary.Id,\n InstanceClass = \"db.r5.large\",\n });\n\n var secondary = new Aws.DocDB.Cluster(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-secondary-cluster\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primary,\n },\n });\n\n var secondaryClusterInstance = new Aws.DocDB.ClusterInstance(\"secondary\", new()\n {\n Engine = example.Engine,\n Identifier = \"test-secondary-cluster-instance\",\n ClusterIdentifier = secondary.Id,\n InstanceClass = \"db.r5.large\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryClusterInstance,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := docdb.NewGlobalCluster(ctx, \"example\", \u0026docdb.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"global-test\"),\n\t\t\tEngine: pulumi.String(\"docdb\"),\n\t\t\tEngineVersion: pulumi.String(\"4.0.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := docdb.NewCluster(ctx, \"primary\", \u0026docdb.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-primary-cluster\"),\n\t\t\tMasterUsername: pulumi.String(\"username\"),\n\t\t\tMasterPassword: pulumi.String(\"somepass123\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryClusterInstance, err := docdb.NewClusterInstance(ctx, \"primary\", \u0026docdb.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tIdentifier: pulumi.String(\"test-primary-cluster-instance\"),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.r5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := docdb.NewCluster(ctx, \"secondary\", \u0026docdb.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-secondary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimary,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = docdb.NewClusterInstance(ctx, \"secondary\", \u0026docdb.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tIdentifier: pulumi.String(\"test-secondary-cluster-instance\"),\n\t\t\tClusterIdentifier: secondary.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.r5.large\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryClusterInstance,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.docdb.GlobalCluster;\nimport com.pulumi.aws.docdb.GlobalClusterArgs;\nimport com.pulumi.aws.docdb.Cluster;\nimport com.pulumi.aws.docdb.ClusterArgs;\nimport com.pulumi.aws.docdb.ClusterInstance;\nimport com.pulumi.aws.docdb.ClusterInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalCluster(\"example\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"global-test\")\n .engine(\"docdb\")\n .engineVersion(\"4.0.0\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-primary-cluster\")\n .masterUsername(\"username\")\n .masterPassword(\"somepass123\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .identifier(\"test-primary-cluster-instance\")\n .clusterIdentifier(primary.id())\n .instanceClass(\"db.r5.large\")\n .build());\n\n var secondary = new Cluster(\"secondary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-secondary-cluster\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primary)\n .build());\n\n var secondaryClusterInstance = new ClusterInstance(\"secondaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .identifier(\"test-secondary-cluster-instance\")\n .clusterIdentifier(secondary.id())\n .instanceClass(\"db.r5.large\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryClusterInstance)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:docdb:GlobalCluster\n properties:\n globalClusterIdentifier: global-test\n engine: docdb\n engineVersion: 4.0.0\n primary:\n type: aws:docdb:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-primary-cluster\n masterUsername: username\n masterPassword: somepass123\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n primaryClusterInstance:\n type: aws:docdb:ClusterInstance\n name: primary\n properties:\n engine: ${example.engine}\n identifier: test-primary-cluster-instance\n clusterIdentifier: ${primary.id}\n instanceClass: db.r5.large\n secondary:\n type: aws:docdb:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-secondary-cluster\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n options:\n dependsOn:\n - ${primary}\n secondaryClusterInstance:\n type: aws:docdb:ClusterInstance\n name: secondary\n properties:\n engine: ${example.engine}\n identifier: test-secondary-cluster-instance\n clusterIdentifier: ${secondary.id}\n instanceClass: db.r5.large\n options:\n dependsOn:\n - ${primaryClusterInstance}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### New Global Cluster From Existing DB Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.docdb.Cluster(\"example\", {});\nconst exampleGlobalCluster = new aws.docdb.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.docdb.Cluster(\"example\")\nexample_global_cluster = aws.docdb.GlobalCluster(\"example\",\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DocDB.Cluster(\"example\");\n\n var exampleGlobalCluster = new Aws.DocDB.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := docdb.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = docdb.NewGlobalCluster(ctx, \"example\", \u0026docdb.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: example.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.docdb.Cluster;\nimport com.pulumi.aws.docdb.GlobalCluster;\nimport com.pulumi.aws.docdb.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\");\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:docdb:Cluster\n exampleGlobalCluster:\n type: aws:docdb:GlobalCluster\n name: example\n properties:\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_docdb_global_cluster` using the Global Cluster identifier. For example:\n\n```sh\n$ pulumi import aws:docdb/globalCluster:GlobalCluster example example\n```\nCertain resource arguments, like `source_db_cluster_identifier`, do not have an API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", + "description": "Manages an DocumentDB Global Cluster. A global cluster consists of one primary region and up to five read-only secondary regions. You issue write operations directly to the primary cluster in the primary region and Amazon DocumentDB automatically replicates the data to the secondary regions using dedicated infrastructure.\n\nMore information about DocumentDB Global Clusters can be found in the [DocumentDB Developer Guide](https://docs.aws.amazon.com/documentdb/latest/developerguide/global-clusters.html).\n\n## Example Usage\n\n### New DocumentDB Global Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.docdb.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"global-test\",\n engine: \"docdb\",\n engineVersion: \"4.0.0\",\n});\nconst primary = new aws.docdb.Cluster(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-primary-cluster\",\n masterUsername: \"username\",\n masterPassword: \"somepass123\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n});\nconst primaryClusterInstance = new aws.docdb.ClusterInstance(\"primary\", {\n engine: example.engine,\n identifier: \"test-primary-cluster-instance\",\n clusterIdentifier: primary.id,\n instanceClass: \"db.r5.large\",\n});\nconst secondary = new aws.docdb.Cluster(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-secondary-cluster\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n}, {\n dependsOn: [primary],\n});\nconst secondaryClusterInstance = new aws.docdb.ClusterInstance(\"secondary\", {\n engine: example.engine,\n identifier: \"test-secondary-cluster-instance\",\n clusterIdentifier: secondary.id,\n instanceClass: \"db.r5.large\",\n}, {\n dependsOn: [primaryClusterInstance],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.docdb.GlobalCluster(\"example\",\n global_cluster_identifier=\"global-test\",\n engine=\"docdb\",\n engine_version=\"4.0.0\")\nprimary = aws.docdb.Cluster(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-primary-cluster\",\n master_username=\"username\",\n master_password=\"somepass123\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\")\nprimary_cluster_instance = aws.docdb.ClusterInstance(\"primary\",\n engine=example.engine,\n identifier=\"test-primary-cluster-instance\",\n cluster_identifier=primary.id,\n instance_class=\"db.r5.large\")\nsecondary = aws.docdb.Cluster(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-secondary-cluster\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\",\n opts = pulumi.ResourceOptions(depends_on=[primary]))\nsecondary_cluster_instance = aws.docdb.ClusterInstance(\"secondary\",\n engine=example.engine,\n identifier=\"test-secondary-cluster-instance\",\n cluster_identifier=secondary.id,\n instance_class=\"db.r5.large\",\n opts = pulumi.ResourceOptions(depends_on=[primary_cluster_instance]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DocDB.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"global-test\",\n Engine = \"docdb\",\n EngineVersion = \"4.0.0\",\n });\n\n var primary = new Aws.DocDB.Cluster(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-primary-cluster\",\n MasterUsername = \"username\",\n MasterPassword = \"somepass123\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n });\n\n var primaryClusterInstance = new Aws.DocDB.ClusterInstance(\"primary\", new()\n {\n Engine = example.Engine,\n Identifier = \"test-primary-cluster-instance\",\n ClusterIdentifier = primary.Id,\n InstanceClass = \"db.r5.large\",\n });\n\n var secondary = new Aws.DocDB.Cluster(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-secondary-cluster\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primary,\n },\n });\n\n var secondaryClusterInstance = new Aws.DocDB.ClusterInstance(\"secondary\", new()\n {\n Engine = example.Engine,\n Identifier = \"test-secondary-cluster-instance\",\n ClusterIdentifier = secondary.Id,\n InstanceClass = \"db.r5.large\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryClusterInstance,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := docdb.NewGlobalCluster(ctx, \"example\", \u0026docdb.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"global-test\"),\n\t\t\tEngine: pulumi.String(\"docdb\"),\n\t\t\tEngineVersion: pulumi.String(\"4.0.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := docdb.NewCluster(ctx, \"primary\", \u0026docdb.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-primary-cluster\"),\n\t\t\tMasterUsername: pulumi.String(\"username\"),\n\t\t\tMasterPassword: pulumi.String(\"somepass123\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryClusterInstance, err := docdb.NewClusterInstance(ctx, \"primary\", \u0026docdb.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tIdentifier: pulumi.String(\"test-primary-cluster-instance\"),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.r5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := docdb.NewCluster(ctx, \"secondary\", \u0026docdb.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-secondary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimary,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = docdb.NewClusterInstance(ctx, \"secondary\", \u0026docdb.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tIdentifier: pulumi.String(\"test-secondary-cluster-instance\"),\n\t\t\tClusterIdentifier: secondary.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.r5.large\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryClusterInstance,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.docdb.GlobalCluster;\nimport com.pulumi.aws.docdb.GlobalClusterArgs;\nimport com.pulumi.aws.docdb.Cluster;\nimport com.pulumi.aws.docdb.ClusterArgs;\nimport com.pulumi.aws.docdb.ClusterInstance;\nimport com.pulumi.aws.docdb.ClusterInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalCluster(\"example\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"global-test\")\n .engine(\"docdb\")\n .engineVersion(\"4.0.0\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-primary-cluster\")\n .masterUsername(\"username\")\n .masterPassword(\"somepass123\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .identifier(\"test-primary-cluster-instance\")\n .clusterIdentifier(primary.id())\n .instanceClass(\"db.r5.large\")\n .build());\n\n var secondary = new Cluster(\"secondary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-secondary-cluster\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primary)\n .build());\n\n var secondaryClusterInstance = new ClusterInstance(\"secondaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .identifier(\"test-secondary-cluster-instance\")\n .clusterIdentifier(secondary.id())\n .instanceClass(\"db.r5.large\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryClusterInstance)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:docdb:GlobalCluster\n properties:\n globalClusterIdentifier: global-test\n engine: docdb\n engineVersion: 4.0.0\n primary:\n type: aws:docdb:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-primary-cluster\n masterUsername: username\n masterPassword: somepass123\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n primaryClusterInstance:\n type: aws:docdb:ClusterInstance\n name: primary\n properties:\n engine: ${example.engine}\n identifier: test-primary-cluster-instance\n clusterIdentifier: ${primary.id}\n instanceClass: db.r5.large\n secondary:\n type: aws:docdb:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-secondary-cluster\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n options:\n dependson:\n - ${primary}\n secondaryClusterInstance:\n type: aws:docdb:ClusterInstance\n name: secondary\n properties:\n engine: ${example.engine}\n identifier: test-secondary-cluster-instance\n clusterIdentifier: ${secondary.id}\n instanceClass: db.r5.large\n options:\n dependson:\n - ${primaryClusterInstance}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### New Global Cluster From Existing DB Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.docdb.Cluster(\"example\", {});\nconst exampleGlobalCluster = new aws.docdb.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.docdb.Cluster(\"example\")\nexample_global_cluster = aws.docdb.GlobalCluster(\"example\",\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DocDB.Cluster(\"example\");\n\n var exampleGlobalCluster = new Aws.DocDB.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := docdb.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = docdb.NewGlobalCluster(ctx, \"example\", \u0026docdb.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: example.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.docdb.Cluster;\nimport com.pulumi.aws.docdb.GlobalCluster;\nimport com.pulumi.aws.docdb.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\");\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:docdb:Cluster\n exampleGlobalCluster:\n type: aws:docdb:GlobalCluster\n name: example\n properties:\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_docdb_global_cluster` using the Global Cluster identifier. For example:\n\n```sh\n$ pulumi import aws:docdb/globalCluster:GlobalCluster example example\n```\nCertain resource arguments, like `source_db_cluster_identifier`, do not have an API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", "properties": { "arn": { "type": "string", @@ -231253,7 +231253,7 @@ } }, "aws:dynamodb/globalTable:GlobalTable": { - "description": "Manages [DynamoDB Global Tables V1 (version 2017.11.29)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html). These are layered on top of existing DynamoDB Tables.\n\n\u003e **NOTE:** To instead manage [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html), use the `aws.dynamodb.Table` resource `replica` configuration block.\n\n\u003e Note: There are many restrictions before you can properly create DynamoDB Global Tables in multiple regions. See the [AWS DynamoDB Global Table Requirements](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables_reqs_bestpractices.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst us_east_1 = new aws.dynamodb.Table(\"us-east-1\", {\n hashKey: \"myAttribute\",\n name: \"myTable\",\n streamEnabled: true,\n streamViewType: \"NEW_AND_OLD_IMAGES\",\n readCapacity: 1,\n writeCapacity: 1,\n attributes: [{\n name: \"myAttribute\",\n type: \"S\",\n }],\n});\nconst us_west_2 = new aws.dynamodb.Table(\"us-west-2\", {\n hashKey: \"myAttribute\",\n name: \"myTable\",\n streamEnabled: true,\n streamViewType: \"NEW_AND_OLD_IMAGES\",\n readCapacity: 1,\n writeCapacity: 1,\n attributes: [{\n name: \"myAttribute\",\n type: \"S\",\n }],\n});\nconst myTable = new aws.dynamodb.GlobalTable(\"myTable\", {\n name: \"myTable\",\n replicas: [\n {\n regionName: \"us-east-1\",\n },\n {\n regionName: \"us-west-2\",\n },\n ],\n}, {\n dependsOn: [\n us_east_1,\n us_west_2,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nus_east_1 = aws.dynamodb.Table(\"us-east-1\",\n hash_key=\"myAttribute\",\n name=\"myTable\",\n stream_enabled=True,\n stream_view_type=\"NEW_AND_OLD_IMAGES\",\n read_capacity=1,\n write_capacity=1,\n attributes=[{\n \"name\": \"myAttribute\",\n \"type\": \"S\",\n }])\nus_west_2 = aws.dynamodb.Table(\"us-west-2\",\n hash_key=\"myAttribute\",\n name=\"myTable\",\n stream_enabled=True,\n stream_view_type=\"NEW_AND_OLD_IMAGES\",\n read_capacity=1,\n write_capacity=1,\n attributes=[{\n \"name\": \"myAttribute\",\n \"type\": \"S\",\n }])\nmy_table = aws.dynamodb.GlobalTable(\"myTable\",\n name=\"myTable\",\n replicas=[\n {\n \"region_name\": \"us-east-1\",\n },\n {\n \"region_name\": \"us-west-2\",\n },\n ],\n opts = pulumi.ResourceOptions(depends_on=[\n us_east_1,\n us_west_2,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var us_east_1 = new Aws.DynamoDB.Table(\"us-east-1\", new()\n {\n HashKey = \"myAttribute\",\n Name = \"myTable\",\n StreamEnabled = true,\n StreamViewType = \"NEW_AND_OLD_IMAGES\",\n ReadCapacity = 1,\n WriteCapacity = 1,\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"myAttribute\",\n Type = \"S\",\n },\n },\n });\n\n var us_west_2 = new Aws.DynamoDB.Table(\"us-west-2\", new()\n {\n HashKey = \"myAttribute\",\n Name = \"myTable\",\n StreamEnabled = true,\n StreamViewType = \"NEW_AND_OLD_IMAGES\",\n ReadCapacity = 1,\n WriteCapacity = 1,\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"myAttribute\",\n Type = \"S\",\n },\n },\n });\n\n var myTable = new Aws.DynamoDB.GlobalTable(\"myTable\", new()\n {\n Name = \"myTable\",\n Replicas = new[]\n {\n new Aws.DynamoDB.Inputs.GlobalTableReplicaArgs\n {\n RegionName = \"us-east-1\",\n },\n new Aws.DynamoDB.Inputs.GlobalTableReplicaArgs\n {\n RegionName = \"us-west-2\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n us_east_1,\n us_west_2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\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 := dynamodb.NewTable(ctx, \"us-east-1\", \u0026dynamodb.TableArgs{\n\t\t\tHashKey: pulumi.String(\"myAttribute\"),\n\t\t\tName: pulumi.String(\"myTable\"),\n\t\t\tStreamEnabled: pulumi.Bool(true),\n\t\t\tStreamViewType: pulumi.String(\"NEW_AND_OLD_IMAGES\"),\n\t\t\tReadCapacity: pulumi.Int(1),\n\t\t\tWriteCapacity: pulumi.Int(1),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"myAttribute\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\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\t_, err = dynamodb.NewTable(ctx, \"us-west-2\", \u0026dynamodb.TableArgs{\n\t\t\tHashKey: pulumi.String(\"myAttribute\"),\n\t\t\tName: pulumi.String(\"myTable\"),\n\t\t\tStreamEnabled: pulumi.Bool(true),\n\t\t\tStreamViewType: pulumi.String(\"NEW_AND_OLD_IMAGES\"),\n\t\t\tReadCapacity: pulumi.Int(1),\n\t\t\tWriteCapacity: pulumi.Int(1),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"myAttribute\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\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\t_, err = dynamodb.NewGlobalTable(ctx, \"myTable\", \u0026dynamodb.GlobalTableArgs{\n\t\t\tName: pulumi.String(\"myTable\"),\n\t\t\tReplicas: dynamodb.GlobalTableReplicaArray{\n\t\t\t\t\u0026dynamodb.GlobalTableReplicaArgs{\n\t\t\t\t\tRegionName: pulumi.String(\"us-east-1\"),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.GlobalTableReplicaArgs{\n\t\t\t\t\tRegionName: pulumi.String(\"us-west-2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tus_east_1,\n\t\t\tus_west_2,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.GlobalTable;\nimport com.pulumi.aws.dynamodb.GlobalTableArgs;\nimport com.pulumi.aws.dynamodb.inputs.GlobalTableReplicaArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var us_east_1 = new Table(\"us-east-1\", TableArgs.builder()\n .hashKey(\"myAttribute\")\n .name(\"myTable\")\n .streamEnabled(true)\n .streamViewType(\"NEW_AND_OLD_IMAGES\")\n .readCapacity(1)\n .writeCapacity(1)\n .attributes(TableAttributeArgs.builder()\n .name(\"myAttribute\")\n .type(\"S\")\n .build())\n .build());\n\n var us_west_2 = new Table(\"us-west-2\", TableArgs.builder()\n .hashKey(\"myAttribute\")\n .name(\"myTable\")\n .streamEnabled(true)\n .streamViewType(\"NEW_AND_OLD_IMAGES\")\n .readCapacity(1)\n .writeCapacity(1)\n .attributes(TableAttributeArgs.builder()\n .name(\"myAttribute\")\n .type(\"S\")\n .build())\n .build());\n\n var myTable = new GlobalTable(\"myTable\", GlobalTableArgs.builder()\n .name(\"myTable\")\n .replicas( \n GlobalTableReplicaArgs.builder()\n .regionName(\"us-east-1\")\n .build(),\n GlobalTableReplicaArgs.builder()\n .regionName(\"us-west-2\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n us_east_1,\n us_west_2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n us-east-1:\n type: aws:dynamodb:Table\n properties:\n hashKey: myAttribute\n name: myTable\n streamEnabled: true\n streamViewType: NEW_AND_OLD_IMAGES\n readCapacity: 1\n writeCapacity: 1\n attributes:\n - name: myAttribute\n type: S\n us-west-2:\n type: aws:dynamodb:Table\n properties:\n hashKey: myAttribute\n name: myTable\n streamEnabled: true\n streamViewType: NEW_AND_OLD_IMAGES\n readCapacity: 1\n writeCapacity: 1\n attributes:\n - name: myAttribute\n type: S\n myTable:\n type: aws:dynamodb:GlobalTable\n properties:\n name: myTable\n replicas:\n - regionName: us-east-1\n - regionName: us-west-2\n options:\n dependsOn:\n - ${[\"us-east-1\"]}\n - ${[\"us-west-2\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DynamoDB Global Tables using the global table name. For example:\n\n```sh\n$ pulumi import aws:dynamodb/globalTable:GlobalTable MyTable MyTable\n```\n", + "description": "Manages [DynamoDB Global Tables V1 (version 2017.11.29)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html). These are layered on top of existing DynamoDB Tables.\n\n\u003e **NOTE:** To instead manage [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html), use the `aws.dynamodb.Table` resource `replica` configuration block.\n\n\u003e Note: There are many restrictions before you can properly create DynamoDB Global Tables in multiple regions. See the [AWS DynamoDB Global Table Requirements](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables_reqs_bestpractices.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst us_east_1 = new aws.dynamodb.Table(\"us-east-1\", {\n hashKey: \"myAttribute\",\n name: \"myTable\",\n streamEnabled: true,\n streamViewType: \"NEW_AND_OLD_IMAGES\",\n readCapacity: 1,\n writeCapacity: 1,\n attributes: [{\n name: \"myAttribute\",\n type: \"S\",\n }],\n});\nconst us_west_2 = new aws.dynamodb.Table(\"us-west-2\", {\n hashKey: \"myAttribute\",\n name: \"myTable\",\n streamEnabled: true,\n streamViewType: \"NEW_AND_OLD_IMAGES\",\n readCapacity: 1,\n writeCapacity: 1,\n attributes: [{\n name: \"myAttribute\",\n type: \"S\",\n }],\n});\nconst myTable = new aws.dynamodb.GlobalTable(\"myTable\", {\n name: \"myTable\",\n replicas: [\n {\n regionName: \"us-east-1\",\n },\n {\n regionName: \"us-west-2\",\n },\n ],\n}, {\n dependsOn: [\n us_east_1,\n us_west_2,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nus_east_1 = aws.dynamodb.Table(\"us-east-1\",\n hash_key=\"myAttribute\",\n name=\"myTable\",\n stream_enabled=True,\n stream_view_type=\"NEW_AND_OLD_IMAGES\",\n read_capacity=1,\n write_capacity=1,\n attributes=[{\n \"name\": \"myAttribute\",\n \"type\": \"S\",\n }])\nus_west_2 = aws.dynamodb.Table(\"us-west-2\",\n hash_key=\"myAttribute\",\n name=\"myTable\",\n stream_enabled=True,\n stream_view_type=\"NEW_AND_OLD_IMAGES\",\n read_capacity=1,\n write_capacity=1,\n attributes=[{\n \"name\": \"myAttribute\",\n \"type\": \"S\",\n }])\nmy_table = aws.dynamodb.GlobalTable(\"myTable\",\n name=\"myTable\",\n replicas=[\n {\n \"region_name\": \"us-east-1\",\n },\n {\n \"region_name\": \"us-west-2\",\n },\n ],\n opts = pulumi.ResourceOptions(depends_on=[\n us_east_1,\n us_west_2,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var us_east_1 = new Aws.DynamoDB.Table(\"us-east-1\", new()\n {\n HashKey = \"myAttribute\",\n Name = \"myTable\",\n StreamEnabled = true,\n StreamViewType = \"NEW_AND_OLD_IMAGES\",\n ReadCapacity = 1,\n WriteCapacity = 1,\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"myAttribute\",\n Type = \"S\",\n },\n },\n });\n\n var us_west_2 = new Aws.DynamoDB.Table(\"us-west-2\", new()\n {\n HashKey = \"myAttribute\",\n Name = \"myTable\",\n StreamEnabled = true,\n StreamViewType = \"NEW_AND_OLD_IMAGES\",\n ReadCapacity = 1,\n WriteCapacity = 1,\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"myAttribute\",\n Type = \"S\",\n },\n },\n });\n\n var myTable = new Aws.DynamoDB.GlobalTable(\"myTable\", new()\n {\n Name = \"myTable\",\n Replicas = new[]\n {\n new Aws.DynamoDB.Inputs.GlobalTableReplicaArgs\n {\n RegionName = \"us-east-1\",\n },\n new Aws.DynamoDB.Inputs.GlobalTableReplicaArgs\n {\n RegionName = \"us-west-2\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n us_east_1,\n us_west_2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\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 := dynamodb.NewTable(ctx, \"us-east-1\", \u0026dynamodb.TableArgs{\n\t\t\tHashKey: pulumi.String(\"myAttribute\"),\n\t\t\tName: pulumi.String(\"myTable\"),\n\t\t\tStreamEnabled: pulumi.Bool(true),\n\t\t\tStreamViewType: pulumi.String(\"NEW_AND_OLD_IMAGES\"),\n\t\t\tReadCapacity: pulumi.Int(1),\n\t\t\tWriteCapacity: pulumi.Int(1),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"myAttribute\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\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\t_, err = dynamodb.NewTable(ctx, \"us-west-2\", \u0026dynamodb.TableArgs{\n\t\t\tHashKey: pulumi.String(\"myAttribute\"),\n\t\t\tName: pulumi.String(\"myTable\"),\n\t\t\tStreamEnabled: pulumi.Bool(true),\n\t\t\tStreamViewType: pulumi.String(\"NEW_AND_OLD_IMAGES\"),\n\t\t\tReadCapacity: pulumi.Int(1),\n\t\t\tWriteCapacity: pulumi.Int(1),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"myAttribute\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\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\t_, err = dynamodb.NewGlobalTable(ctx, \"myTable\", \u0026dynamodb.GlobalTableArgs{\n\t\t\tName: pulumi.String(\"myTable\"),\n\t\t\tReplicas: dynamodb.GlobalTableReplicaArray{\n\t\t\t\t\u0026dynamodb.GlobalTableReplicaArgs{\n\t\t\t\t\tRegionName: pulumi.String(\"us-east-1\"),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.GlobalTableReplicaArgs{\n\t\t\t\t\tRegionName: pulumi.String(\"us-west-2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tus_east_1,\n\t\t\tus_west_2,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.GlobalTable;\nimport com.pulumi.aws.dynamodb.GlobalTableArgs;\nimport com.pulumi.aws.dynamodb.inputs.GlobalTableReplicaArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var us_east_1 = new Table(\"us-east-1\", TableArgs.builder()\n .hashKey(\"myAttribute\")\n .name(\"myTable\")\n .streamEnabled(true)\n .streamViewType(\"NEW_AND_OLD_IMAGES\")\n .readCapacity(1)\n .writeCapacity(1)\n .attributes(TableAttributeArgs.builder()\n .name(\"myAttribute\")\n .type(\"S\")\n .build())\n .build());\n\n var us_west_2 = new Table(\"us-west-2\", TableArgs.builder()\n .hashKey(\"myAttribute\")\n .name(\"myTable\")\n .streamEnabled(true)\n .streamViewType(\"NEW_AND_OLD_IMAGES\")\n .readCapacity(1)\n .writeCapacity(1)\n .attributes(TableAttributeArgs.builder()\n .name(\"myAttribute\")\n .type(\"S\")\n .build())\n .build());\n\n var myTable = new GlobalTable(\"myTable\", GlobalTableArgs.builder()\n .name(\"myTable\")\n .replicas( \n GlobalTableReplicaArgs.builder()\n .regionName(\"us-east-1\")\n .build(),\n GlobalTableReplicaArgs.builder()\n .regionName(\"us-west-2\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n us_east_1,\n us_west_2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n us-east-1:\n type: aws:dynamodb:Table\n properties:\n hashKey: myAttribute\n name: myTable\n streamEnabled: true\n streamViewType: NEW_AND_OLD_IMAGES\n readCapacity: 1\n writeCapacity: 1\n attributes:\n - name: myAttribute\n type: S\n us-west-2:\n type: aws:dynamodb:Table\n properties:\n hashKey: myAttribute\n name: myTable\n streamEnabled: true\n streamViewType: NEW_AND_OLD_IMAGES\n readCapacity: 1\n writeCapacity: 1\n attributes:\n - name: myAttribute\n type: S\n myTable:\n type: aws:dynamodb:GlobalTable\n properties:\n name: myTable\n replicas:\n - regionName: us-east-1\n - regionName: us-west-2\n options:\n dependson:\n - ${[\"us-east-1\"]}\n - ${[\"us-west-2\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DynamoDB Global Tables using the global table name. For example:\n\n```sh\n$ pulumi import aws:dynamodb/globalTable:GlobalTable MyTable MyTable\n```\n", "properties": { "arn": { "type": "string", @@ -231448,7 +231448,7 @@ } }, "aws:dynamodb/table:Table": { - "description": "Provides a DynamoDB table resource.\n\n\u003e **Note:** It is recommended to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) for `read_capacity` and/or `write_capacity` if there's `autoscaling policy` attached to the table.\n\n\u003e **Note:** When using aws.dynamodb.TableReplica with this resource, use `lifecycle` `ignore_changes` for `replica`, _e.g._, `lifecycle { ignore_changes = [replica] }`.\n\n## DynamoDB Table attributes\n\nOnly define attributes on the table object that are going to be used as:\n\n* Table hash key or range key\n* LSI or GSI hash key or range key\n\nThe DynamoDB API expects attribute structure (name and type) to be passed along when creating or updating GSI/LSIs or creating the initial table. In these cases it expects the Hash / Range keys to be provided. Because these get re-used in numerous places (i.e the table's range key could be a part of one or more GSIs), they are stored on the table object to prevent duplication and increase consistency. If you add attributes here that are not used in these scenarios it can cause an infinite loop in planning.\n\n## Example Usage\n\n### Basic Example\n\nThe following dynamodb table description models the table and GSI shown in the [AWS SDK example documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst basic_dynamodb_table = new aws.dynamodb.Table(\"basic-dynamodb-table\", {\n name: \"GameScores\",\n billingMode: \"PROVISIONED\",\n readCapacity: 20,\n writeCapacity: 20,\n hashKey: \"UserId\",\n rangeKey: \"GameTitle\",\n attributes: [\n {\n name: \"UserId\",\n type: \"S\",\n },\n {\n name: \"GameTitle\",\n type: \"S\",\n },\n {\n name: \"TopScore\",\n type: \"N\",\n },\n ],\n ttl: {\n attributeName: \"TimeToExist\",\n enabled: true,\n },\n globalSecondaryIndexes: [{\n name: \"GameTitleIndex\",\n hashKey: \"GameTitle\",\n rangeKey: \"TopScore\",\n writeCapacity: 10,\n readCapacity: 10,\n projectionType: \"INCLUDE\",\n nonKeyAttributes: [\"UserId\"],\n }],\n tags: {\n Name: \"dynamodb-table-1\",\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbasic_dynamodb_table = aws.dynamodb.Table(\"basic-dynamodb-table\",\n name=\"GameScores\",\n billing_mode=\"PROVISIONED\",\n read_capacity=20,\n write_capacity=20,\n hash_key=\"UserId\",\n range_key=\"GameTitle\",\n attributes=[\n {\n \"name\": \"UserId\",\n \"type\": \"S\",\n },\n {\n \"name\": \"GameTitle\",\n \"type\": \"S\",\n },\n {\n \"name\": \"TopScore\",\n \"type\": \"N\",\n },\n ],\n ttl={\n \"attribute_name\": \"TimeToExist\",\n \"enabled\": True,\n },\n global_secondary_indexes=[{\n \"name\": \"GameTitleIndex\",\n \"hash_key\": \"GameTitle\",\n \"range_key\": \"TopScore\",\n \"write_capacity\": 10,\n \"read_capacity\": 10,\n \"projection_type\": \"INCLUDE\",\n \"non_key_attributes\": [\"UserId\"],\n }],\n tags={\n \"Name\": \"dynamodb-table-1\",\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var basic_dynamodb_table = new Aws.DynamoDB.Table(\"basic-dynamodb-table\", new()\n {\n Name = \"GameScores\",\n BillingMode = \"PROVISIONED\",\n ReadCapacity = 20,\n WriteCapacity = 20,\n HashKey = \"UserId\",\n RangeKey = \"GameTitle\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"UserId\",\n Type = \"S\",\n },\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"GameTitle\",\n Type = \"S\",\n },\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"TopScore\",\n Type = \"N\",\n },\n },\n Ttl = new Aws.DynamoDB.Inputs.TableTtlArgs\n {\n AttributeName = \"TimeToExist\",\n Enabled = true,\n },\n GlobalSecondaryIndexes = new[]\n {\n new Aws.DynamoDB.Inputs.TableGlobalSecondaryIndexArgs\n {\n Name = \"GameTitleIndex\",\n HashKey = \"GameTitle\",\n RangeKey = \"TopScore\",\n WriteCapacity = 10,\n ReadCapacity = 10,\n ProjectionType = \"INCLUDE\",\n NonKeyAttributes = new[]\n {\n \"UserId\",\n },\n },\n },\n Tags = \n {\n { \"Name\", \"dynamodb-table-1\" },\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\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 := dynamodb.NewTable(ctx, \"basic-dynamodb-table\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"GameScores\"),\n\t\t\tBillingMode: pulumi.String(\"PROVISIONED\"),\n\t\t\tReadCapacity: pulumi.Int(20),\n\t\t\tWriteCapacity: pulumi.Int(20),\n\t\t\tHashKey: pulumi.String(\"UserId\"),\n\t\t\tRangeKey: pulumi.String(\"GameTitle\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"UserId\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"GameTitle\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"TopScore\"),\n\t\t\t\t\tType: pulumi.String(\"N\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTtl: \u0026dynamodb.TableTtlArgs{\n\t\t\t\tAttributeName: pulumi.String(\"TimeToExist\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tGlobalSecondaryIndexes: dynamodb.TableGlobalSecondaryIndexArray{\n\t\t\t\t\u0026dynamodb.TableGlobalSecondaryIndexArgs{\n\t\t\t\t\tName: pulumi.String(\"GameTitleIndex\"),\n\t\t\t\t\tHashKey: pulumi.String(\"GameTitle\"),\n\t\t\t\t\tRangeKey: pulumi.String(\"TopScore\"),\n\t\t\t\t\tWriteCapacity: pulumi.Int(10),\n\t\t\t\t\tReadCapacity: pulumi.Int(10),\n\t\t\t\t\tProjectionType: pulumi.String(\"INCLUDE\"),\n\t\t\t\t\tNonKeyAttributes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"UserId\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"dynamodb-table-1\"),\n\t\t\t\t\"Environment\": pulumi.String(\"production\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableTtlArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableGlobalSecondaryIndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var basic_dynamodb_table = new Table(\"basic-dynamodb-table\", TableArgs.builder()\n .name(\"GameScores\")\n .billingMode(\"PROVISIONED\")\n .readCapacity(20)\n .writeCapacity(20)\n .hashKey(\"UserId\")\n .rangeKey(\"GameTitle\")\n .attributes( \n TableAttributeArgs.builder()\n .name(\"UserId\")\n .type(\"S\")\n .build(),\n TableAttributeArgs.builder()\n .name(\"GameTitle\")\n .type(\"S\")\n .build(),\n TableAttributeArgs.builder()\n .name(\"TopScore\")\n .type(\"N\")\n .build())\n .ttl(TableTtlArgs.builder()\n .attributeName(\"TimeToExist\")\n .enabled(true)\n .build())\n .globalSecondaryIndexes(TableGlobalSecondaryIndexArgs.builder()\n .name(\"GameTitleIndex\")\n .hashKey(\"GameTitle\")\n .rangeKey(\"TopScore\")\n .writeCapacity(10)\n .readCapacity(10)\n .projectionType(\"INCLUDE\")\n .nonKeyAttributes(\"UserId\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"dynamodb-table-1\"),\n Map.entry(\"Environment\", \"production\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n basic-dynamodb-table:\n type: aws:dynamodb:Table\n properties:\n name: GameScores\n billingMode: PROVISIONED\n readCapacity: 20\n writeCapacity: 20\n hashKey: UserId\n rangeKey: GameTitle\n attributes:\n - name: UserId\n type: S\n - name: GameTitle\n type: S\n - name: TopScore\n type: N\n ttl:\n attributeName: TimeToExist\n enabled: true\n globalSecondaryIndexes:\n - name: GameTitleIndex\n hashKey: GameTitle\n rangeKey: TopScore\n writeCapacity: 10\n readCapacity: 10\n projectionType: INCLUDE\n nonKeyAttributes:\n - UserId\n tags:\n Name: dynamodb-table-1\n Environment: production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Global Tables\n\nThis resource implements support for [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) via `replica` configuration blocks. For working with [DynamoDB Global Tables V1 (version 2017.11.29)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html), see the `aws.dynamodb.GlobalTable` resource.\n\n\u003e **Note:** aws.dynamodb.TableReplica is an alternate way of configuring Global Tables. Do not use `replica` configuration blocks of `aws.dynamodb.Table` together with aws_dynamodb_table_replica.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dynamodb.Table(\"example\", {\n name: \"example\",\n hashKey: \"TestTableHashKey\",\n billingMode: \"PAY_PER_REQUEST\",\n streamEnabled: true,\n streamViewType: \"NEW_AND_OLD_IMAGES\",\n attributes: [{\n name: \"TestTableHashKey\",\n type: \"S\",\n }],\n replicas: [\n {\n regionName: \"us-east-2\",\n },\n {\n regionName: \"us-west-2\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dynamodb.Table(\"example\",\n name=\"example\",\n hash_key=\"TestTableHashKey\",\n billing_mode=\"PAY_PER_REQUEST\",\n stream_enabled=True,\n stream_view_type=\"NEW_AND_OLD_IMAGES\",\n attributes=[{\n \"name\": \"TestTableHashKey\",\n \"type\": \"S\",\n }],\n replicas=[\n {\n \"region_name\": \"us-east-2\",\n },\n {\n \"region_name\": \"us-west-2\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DynamoDB.Table(\"example\", new()\n {\n Name = \"example\",\n HashKey = \"TestTableHashKey\",\n BillingMode = \"PAY_PER_REQUEST\",\n StreamEnabled = true,\n StreamViewType = \"NEW_AND_OLD_IMAGES\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"TestTableHashKey\",\n Type = \"S\",\n },\n },\n Replicas = new[]\n {\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = \"us-east-2\",\n },\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = \"us-west-2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\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 := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tHashKey: pulumi.String(\"TestTableHashKey\"),\n\t\t\tBillingMode: pulumi.String(\"PAY_PER_REQUEST\"),\n\t\t\tStreamEnabled: pulumi.Bool(true),\n\t\t\tStreamViewType: pulumi.String(\"NEW_AND_OLD_IMAGES\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"TestTableHashKey\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tReplicas: dynamodb.TableReplicaTypeArray{\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(\"us-east-2\"),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(\"us-west-2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableReplicaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Table(\"example\", TableArgs.builder()\n .name(\"example\")\n .hashKey(\"TestTableHashKey\")\n .billingMode(\"PAY_PER_REQUEST\")\n .streamEnabled(true)\n .streamViewType(\"NEW_AND_OLD_IMAGES\")\n .attributes(TableAttributeArgs.builder()\n .name(\"TestTableHashKey\")\n .type(\"S\")\n .build())\n .replicas( \n TableReplicaArgs.builder()\n .regionName(\"us-east-2\")\n .build(),\n TableReplicaArgs.builder()\n .regionName(\"us-west-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:Table\n properties:\n name: example\n hashKey: TestTableHashKey\n billingMode: PAY_PER_REQUEST\n streamEnabled: true\n streamViewType: NEW_AND_OLD_IMAGES\n attributes:\n - name: TestTableHashKey\n type: S\n replicas:\n - regionName: us-east-2\n - regionName: us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Replica Tagging\n\nYou can manage global table replicas' tags in various ways. This example shows using `replica.*.propagate_tags` for the first replica and the `aws.dynamodb.Tag` resource for the other.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst current = aws.getRegion({});\nconst alternate = aws.getRegion({});\nconst third = aws.getRegion({});\nconst example = new aws.dynamodb.Table(\"example\", {\n billingMode: \"PAY_PER_REQUEST\",\n hashKey: \"TestTableHashKey\",\n name: \"example-13281\",\n streamEnabled: true,\n streamViewType: \"NEW_AND_OLD_IMAGES\",\n attributes: [{\n name: \"TestTableHashKey\",\n type: \"S\",\n }],\n replicas: [\n {\n regionName: alternate.then(alternate =\u003e alternate.name),\n },\n {\n regionName: third.then(third =\u003e third.name),\n propagateTags: true,\n },\n ],\n tags: {\n Architect: \"Eleanor\",\n Zone: \"SW\",\n },\n});\nconst exampleTag = new aws.dynamodb.Tag(\"example\", {\n resourceArn: pulumi.all([example.arn, current, alternate]).apply(([arn, current, alternate]) =\u003e std.replaceOutput({\n text: arn,\n search: current.name,\n replace: alternate.name,\n })).apply(invoke =\u003e invoke.result),\n key: \"Architect\",\n value: \"Gigi\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ncurrent = aws.get_region()\nalternate = aws.get_region()\nthird = aws.get_region()\nexample = aws.dynamodb.Table(\"example\",\n billing_mode=\"PAY_PER_REQUEST\",\n hash_key=\"TestTableHashKey\",\n name=\"example-13281\",\n stream_enabled=True,\n stream_view_type=\"NEW_AND_OLD_IMAGES\",\n attributes=[{\n \"name\": \"TestTableHashKey\",\n \"type\": \"S\",\n }],\n replicas=[\n {\n \"region_name\": alternate.name,\n },\n {\n \"region_name\": third.name,\n \"propagate_tags\": True,\n },\n ],\n tags={\n \"Architect\": \"Eleanor\",\n \"Zone\": \"SW\",\n })\nexample_tag = aws.dynamodb.Tag(\"example\",\n resource_arn=example.arn.apply(lambda arn: std.replace_output(text=arn,\n search=current.name,\n replace=alternate.name)).apply(lambda invoke: invoke.result),\n key=\"Architect\",\n value=\"Gigi\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var alternate = Aws.GetRegion.Invoke();\n\n var third = Aws.GetRegion.Invoke();\n\n var example = new Aws.DynamoDB.Table(\"example\", new()\n {\n BillingMode = \"PAY_PER_REQUEST\",\n HashKey = \"TestTableHashKey\",\n Name = \"example-13281\",\n StreamEnabled = true,\n StreamViewType = \"NEW_AND_OLD_IMAGES\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"TestTableHashKey\",\n Type = \"S\",\n },\n },\n Replicas = new[]\n {\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = alternate.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = third.Apply(getRegionResult =\u003e getRegionResult.Name),\n PropagateTags = true,\n },\n },\n Tags = \n {\n { \"Architect\", \"Eleanor\" },\n { \"Zone\", \"SW\" },\n },\n });\n\n var exampleTag = new Aws.DynamoDB.Tag(\"example\", new()\n {\n ResourceArn = Output.Tuple(example.Arn, current, alternate).Apply(values =\u003e\n {\n var arn = values.Item1;\n var current = values.Item2;\n var alternate = values.Item3;\n return Std.Replace.Invoke(new()\n {\n Text = arn,\n Search = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Replace = alternate.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n }).Apply(invoke =\u003e invoke.Result),\n Key = \"Architect\",\n Value = \"Gigi\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talternate, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthird, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tBillingMode: pulumi.String(\"PAY_PER_REQUEST\"),\n\t\t\tHashKey: pulumi.String(\"TestTableHashKey\"),\n\t\t\tName: pulumi.String(\"example-13281\"),\n\t\t\tStreamEnabled: pulumi.Bool(true),\n\t\t\tStreamViewType: pulumi.String(\"NEW_AND_OLD_IMAGES\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"TestTableHashKey\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tReplicas: dynamodb.TableReplicaTypeArray{\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(alternate.Name),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(third.Name),\n\t\t\t\t\tPropagateTags: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Architect\": pulumi.String(\"Eleanor\"),\n\t\t\t\t\"Zone\": pulumi.String(\"SW\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynamodb.NewTag(ctx, \"example\", \u0026dynamodb.TagArgs{\n\t\t\tResourceArn: pulumi.String(example.Arn.ApplyT(func(arn string) (std.ReplaceResult, error) {\n\t\t\t\treturn std.ReplaceResult(interface{}(std.ReplaceOutput(ctx, std.ReplaceOutputArgs{\n\t\t\t\t\tText: arn,\n\t\t\t\t\tSearch: current.Name,\n\t\t\t\t\tReplace: alternate.Name,\n\t\t\t\t}, nil))), nil\n\t\t\t}).(std.ReplaceResultOutput).ApplyT(func(invoke std.ReplaceResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tKey: pulumi.String(\"Architect\"),\n\t\t\tValue: pulumi.String(\"Gigi\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableReplicaArgs;\nimport com.pulumi.aws.dynamodb.Tag;\nimport com.pulumi.aws.dynamodb.TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var alternate = AwsFunctions.getRegion();\n\n final var third = AwsFunctions.getRegion();\n\n var example = new Table(\"example\", TableArgs.builder()\n .billingMode(\"PAY_PER_REQUEST\")\n .hashKey(\"TestTableHashKey\")\n .name(\"example-13281\")\n .streamEnabled(true)\n .streamViewType(\"NEW_AND_OLD_IMAGES\")\n .attributes(TableAttributeArgs.builder()\n .name(\"TestTableHashKey\")\n .type(\"S\")\n .build())\n .replicas( \n TableReplicaArgs.builder()\n .regionName(alternate.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build(),\n TableReplicaArgs.builder()\n .regionName(third.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .propagateTags(true)\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Architect\", \"Eleanor\"),\n Map.entry(\"Zone\", \"SW\")\n ))\n .build());\n\n var exampleTag = new Tag(\"exampleTag\", TagArgs.builder()\n .resourceArn(example.arn().applyValue(arn -\u003e StdFunctions.replace()).applyValue(invoke -\u003e invoke.result()))\n .key(\"Architect\")\n .value(\"Gigi\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:Table\n properties:\n billingMode: PAY_PER_REQUEST\n hashKey: TestTableHashKey\n name: example-13281\n streamEnabled: true\n streamViewType: NEW_AND_OLD_IMAGES\n attributes:\n - name: TestTableHashKey\n type: S\n replicas:\n - regionName: ${alternate.name}\n - regionName: ${third.name}\n propagateTags: true\n tags:\n Architect: Eleanor\n Zone: SW\n exampleTag:\n type: aws:dynamodb:Tag\n name: example\n properties:\n resourceArn:\n fn::invoke:\n function: std:replace\n arguments:\n text: ${example.arn}\n search: ${current.name}\n replace: ${alternate.name}\n return: result\n key: Architect\n value: Gigi\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n alternate:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n third:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DynamoDB tables using the `name`. For example:\n\n```sh\n$ pulumi import aws:dynamodb/table:Table basic-dynamodb-table GameScores\n```\n", + "description": "Provides a DynamoDB table resource.\n\n\u003e **Note:** It is recommended to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) for `read_capacity` and/or `write_capacity` if there's `autoscaling policy` attached to the table.\n\n\u003e **Note:** When using aws.dynamodb.TableReplica with this resource, use `lifecycle` `ignore_changes` for `replica`, _e.g._, `lifecycle { ignore_changes = [replica] }`.\n\n## DynamoDB Table attributes\n\nOnly define attributes on the table object that are going to be used as:\n\n* Table hash key or range key\n* LSI or GSI hash key or range key\n\nThe DynamoDB API expects attribute structure (name and type) to be passed along when creating or updating GSI/LSIs or creating the initial table. In these cases it expects the Hash / Range keys to be provided. Because these get re-used in numerous places (i.e the table's range key could be a part of one or more GSIs), they are stored on the table object to prevent duplication and increase consistency. If you add attributes here that are not used in these scenarios it can cause an infinite loop in planning.\n\n## Example Usage\n\n### Basic Example\n\nThe following dynamodb table description models the table and GSI shown in the [AWS SDK example documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst basic_dynamodb_table = new aws.dynamodb.Table(\"basic-dynamodb-table\", {\n name: \"GameScores\",\n billingMode: \"PROVISIONED\",\n readCapacity: 20,\n writeCapacity: 20,\n hashKey: \"UserId\",\n rangeKey: \"GameTitle\",\n attributes: [\n {\n name: \"UserId\",\n type: \"S\",\n },\n {\n name: \"GameTitle\",\n type: \"S\",\n },\n {\n name: \"TopScore\",\n type: \"N\",\n },\n ],\n ttl: {\n attributeName: \"TimeToExist\",\n enabled: true,\n },\n globalSecondaryIndexes: [{\n name: \"GameTitleIndex\",\n hashKey: \"GameTitle\",\n rangeKey: \"TopScore\",\n writeCapacity: 10,\n readCapacity: 10,\n projectionType: \"INCLUDE\",\n nonKeyAttributes: [\"UserId\"],\n }],\n tags: {\n Name: \"dynamodb-table-1\",\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbasic_dynamodb_table = aws.dynamodb.Table(\"basic-dynamodb-table\",\n name=\"GameScores\",\n billing_mode=\"PROVISIONED\",\n read_capacity=20,\n write_capacity=20,\n hash_key=\"UserId\",\n range_key=\"GameTitle\",\n attributes=[\n {\n \"name\": \"UserId\",\n \"type\": \"S\",\n },\n {\n \"name\": \"GameTitle\",\n \"type\": \"S\",\n },\n {\n \"name\": \"TopScore\",\n \"type\": \"N\",\n },\n ],\n ttl={\n \"attribute_name\": \"TimeToExist\",\n \"enabled\": True,\n },\n global_secondary_indexes=[{\n \"name\": \"GameTitleIndex\",\n \"hash_key\": \"GameTitle\",\n \"range_key\": \"TopScore\",\n \"write_capacity\": 10,\n \"read_capacity\": 10,\n \"projection_type\": \"INCLUDE\",\n \"non_key_attributes\": [\"UserId\"],\n }],\n tags={\n \"Name\": \"dynamodb-table-1\",\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var basic_dynamodb_table = new Aws.DynamoDB.Table(\"basic-dynamodb-table\", new()\n {\n Name = \"GameScores\",\n BillingMode = \"PROVISIONED\",\n ReadCapacity = 20,\n WriteCapacity = 20,\n HashKey = \"UserId\",\n RangeKey = \"GameTitle\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"UserId\",\n Type = \"S\",\n },\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"GameTitle\",\n Type = \"S\",\n },\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"TopScore\",\n Type = \"N\",\n },\n },\n Ttl = new Aws.DynamoDB.Inputs.TableTtlArgs\n {\n AttributeName = \"TimeToExist\",\n Enabled = true,\n },\n GlobalSecondaryIndexes = new[]\n {\n new Aws.DynamoDB.Inputs.TableGlobalSecondaryIndexArgs\n {\n Name = \"GameTitleIndex\",\n HashKey = \"GameTitle\",\n RangeKey = \"TopScore\",\n WriteCapacity = 10,\n ReadCapacity = 10,\n ProjectionType = \"INCLUDE\",\n NonKeyAttributes = new[]\n {\n \"UserId\",\n },\n },\n },\n Tags = \n {\n { \"Name\", \"dynamodb-table-1\" },\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\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 := dynamodb.NewTable(ctx, \"basic-dynamodb-table\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"GameScores\"),\n\t\t\tBillingMode: pulumi.String(\"PROVISIONED\"),\n\t\t\tReadCapacity: pulumi.Int(20),\n\t\t\tWriteCapacity: pulumi.Int(20),\n\t\t\tHashKey: pulumi.String(\"UserId\"),\n\t\t\tRangeKey: pulumi.String(\"GameTitle\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"UserId\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"GameTitle\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"TopScore\"),\n\t\t\t\t\tType: pulumi.String(\"N\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTtl: \u0026dynamodb.TableTtlArgs{\n\t\t\t\tAttributeName: pulumi.String(\"TimeToExist\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tGlobalSecondaryIndexes: dynamodb.TableGlobalSecondaryIndexArray{\n\t\t\t\t\u0026dynamodb.TableGlobalSecondaryIndexArgs{\n\t\t\t\t\tName: pulumi.String(\"GameTitleIndex\"),\n\t\t\t\t\tHashKey: pulumi.String(\"GameTitle\"),\n\t\t\t\t\tRangeKey: pulumi.String(\"TopScore\"),\n\t\t\t\t\tWriteCapacity: pulumi.Int(10),\n\t\t\t\t\tReadCapacity: pulumi.Int(10),\n\t\t\t\t\tProjectionType: pulumi.String(\"INCLUDE\"),\n\t\t\t\t\tNonKeyAttributes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"UserId\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"dynamodb-table-1\"),\n\t\t\t\t\"Environment\": pulumi.String(\"production\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableTtlArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableGlobalSecondaryIndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var basic_dynamodb_table = new Table(\"basic-dynamodb-table\", TableArgs.builder()\n .name(\"GameScores\")\n .billingMode(\"PROVISIONED\")\n .readCapacity(20)\n .writeCapacity(20)\n .hashKey(\"UserId\")\n .rangeKey(\"GameTitle\")\n .attributes( \n TableAttributeArgs.builder()\n .name(\"UserId\")\n .type(\"S\")\n .build(),\n TableAttributeArgs.builder()\n .name(\"GameTitle\")\n .type(\"S\")\n .build(),\n TableAttributeArgs.builder()\n .name(\"TopScore\")\n .type(\"N\")\n .build())\n .ttl(TableTtlArgs.builder()\n .attributeName(\"TimeToExist\")\n .enabled(true)\n .build())\n .globalSecondaryIndexes(TableGlobalSecondaryIndexArgs.builder()\n .name(\"GameTitleIndex\")\n .hashKey(\"GameTitle\")\n .rangeKey(\"TopScore\")\n .writeCapacity(10)\n .readCapacity(10)\n .projectionType(\"INCLUDE\")\n .nonKeyAttributes(\"UserId\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"dynamodb-table-1\"),\n Map.entry(\"Environment\", \"production\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n basic-dynamodb-table:\n type: aws:dynamodb:Table\n properties:\n name: GameScores\n billingMode: PROVISIONED\n readCapacity: 20\n writeCapacity: 20\n hashKey: UserId\n rangeKey: GameTitle\n attributes:\n - name: UserId\n type: S\n - name: GameTitle\n type: S\n - name: TopScore\n type: N\n ttl:\n attributeName: TimeToExist\n enabled: true\n globalSecondaryIndexes:\n - name: GameTitleIndex\n hashKey: GameTitle\n rangeKey: TopScore\n writeCapacity: 10\n readCapacity: 10\n projectionType: INCLUDE\n nonKeyAttributes:\n - UserId\n tags:\n Name: dynamodb-table-1\n Environment: production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Global Tables\n\nThis resource implements support for [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) via `replica` configuration blocks. For working with [DynamoDB Global Tables V1 (version 2017.11.29)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html), see the `aws.dynamodb.GlobalTable` resource.\n\n\u003e **Note:** aws.dynamodb.TableReplica is an alternate way of configuring Global Tables. Do not use `replica` configuration blocks of `aws.dynamodb.Table` together with aws_dynamodb_table_replica.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dynamodb.Table(\"example\", {\n name: \"example\",\n hashKey: \"TestTableHashKey\",\n billingMode: \"PAY_PER_REQUEST\",\n streamEnabled: true,\n streamViewType: \"NEW_AND_OLD_IMAGES\",\n attributes: [{\n name: \"TestTableHashKey\",\n type: \"S\",\n }],\n replicas: [\n {\n regionName: \"us-east-2\",\n },\n {\n regionName: \"us-west-2\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dynamodb.Table(\"example\",\n name=\"example\",\n hash_key=\"TestTableHashKey\",\n billing_mode=\"PAY_PER_REQUEST\",\n stream_enabled=True,\n stream_view_type=\"NEW_AND_OLD_IMAGES\",\n attributes=[{\n \"name\": \"TestTableHashKey\",\n \"type\": \"S\",\n }],\n replicas=[\n {\n \"region_name\": \"us-east-2\",\n },\n {\n \"region_name\": \"us-west-2\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DynamoDB.Table(\"example\", new()\n {\n Name = \"example\",\n HashKey = \"TestTableHashKey\",\n BillingMode = \"PAY_PER_REQUEST\",\n StreamEnabled = true,\n StreamViewType = \"NEW_AND_OLD_IMAGES\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"TestTableHashKey\",\n Type = \"S\",\n },\n },\n Replicas = new[]\n {\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = \"us-east-2\",\n },\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = \"us-west-2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\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 := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tHashKey: pulumi.String(\"TestTableHashKey\"),\n\t\t\tBillingMode: pulumi.String(\"PAY_PER_REQUEST\"),\n\t\t\tStreamEnabled: pulumi.Bool(true),\n\t\t\tStreamViewType: pulumi.String(\"NEW_AND_OLD_IMAGES\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"TestTableHashKey\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tReplicas: dynamodb.TableReplicaTypeArray{\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(\"us-east-2\"),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(\"us-west-2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableReplicaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Table(\"example\", TableArgs.builder()\n .name(\"example\")\n .hashKey(\"TestTableHashKey\")\n .billingMode(\"PAY_PER_REQUEST\")\n .streamEnabled(true)\n .streamViewType(\"NEW_AND_OLD_IMAGES\")\n .attributes(TableAttributeArgs.builder()\n .name(\"TestTableHashKey\")\n .type(\"S\")\n .build())\n .replicas( \n TableReplicaArgs.builder()\n .regionName(\"us-east-2\")\n .build(),\n TableReplicaArgs.builder()\n .regionName(\"us-west-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:Table\n properties:\n name: example\n hashKey: TestTableHashKey\n billingMode: PAY_PER_REQUEST\n streamEnabled: true\n streamViewType: NEW_AND_OLD_IMAGES\n attributes:\n - name: TestTableHashKey\n type: S\n replicas:\n - regionName: us-east-2\n - regionName: us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Replica Tagging\n\nYou can manage global table replicas' tags in various ways. This example shows using `replica.*.propagate_tags` for the first replica and the `aws.dynamodb.Tag` resource for the other.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst current = aws.getRegion({});\nconst alternate = aws.getRegion({});\nconst third = aws.getRegion({});\nconst example = new aws.dynamodb.Table(\"example\", {\n billingMode: \"PAY_PER_REQUEST\",\n hashKey: \"TestTableHashKey\",\n name: \"example-13281\",\n streamEnabled: true,\n streamViewType: \"NEW_AND_OLD_IMAGES\",\n attributes: [{\n name: \"TestTableHashKey\",\n type: \"S\",\n }],\n replicas: [\n {\n regionName: alternate.then(alternate =\u003e alternate.name),\n },\n {\n regionName: third.then(third =\u003e third.name),\n propagateTags: true,\n },\n ],\n tags: {\n Architect: \"Eleanor\",\n Zone: \"SW\",\n },\n});\nconst exampleTag = new aws.dynamodb.Tag(\"example\", {\n resourceArn: pulumi.all([example.arn, current, alternate]).apply(([arn, current, alternate]) =\u003e std.replaceOutput({\n text: arn,\n search: current.name,\n replace: alternate.name,\n })).apply(invoke =\u003e invoke.result),\n key: \"Architect\",\n value: \"Gigi\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ncurrent = aws.get_region()\nalternate = aws.get_region()\nthird = aws.get_region()\nexample = aws.dynamodb.Table(\"example\",\n billing_mode=\"PAY_PER_REQUEST\",\n hash_key=\"TestTableHashKey\",\n name=\"example-13281\",\n stream_enabled=True,\n stream_view_type=\"NEW_AND_OLD_IMAGES\",\n attributes=[{\n \"name\": \"TestTableHashKey\",\n \"type\": \"S\",\n }],\n replicas=[\n {\n \"region_name\": alternate.name,\n },\n {\n \"region_name\": third.name,\n \"propagate_tags\": True,\n },\n ],\n tags={\n \"Architect\": \"Eleanor\",\n \"Zone\": \"SW\",\n })\nexample_tag = aws.dynamodb.Tag(\"example\",\n resource_arn=example.arn.apply(lambda arn: std.replace_output(text=arn,\n search=current.name,\n replace=alternate.name)).apply(lambda invoke: invoke.result),\n key=\"Architect\",\n value=\"Gigi\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var alternate = Aws.GetRegion.Invoke();\n\n var third = Aws.GetRegion.Invoke();\n\n var example = new Aws.DynamoDB.Table(\"example\", new()\n {\n BillingMode = \"PAY_PER_REQUEST\",\n HashKey = \"TestTableHashKey\",\n Name = \"example-13281\",\n StreamEnabled = true,\n StreamViewType = \"NEW_AND_OLD_IMAGES\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"TestTableHashKey\",\n Type = \"S\",\n },\n },\n Replicas = new[]\n {\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = alternate.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = third.Apply(getRegionResult =\u003e getRegionResult.Name),\n PropagateTags = true,\n },\n },\n Tags = \n {\n { \"Architect\", \"Eleanor\" },\n { \"Zone\", \"SW\" },\n },\n });\n\n var exampleTag = new Aws.DynamoDB.Tag(\"example\", new()\n {\n ResourceArn = Output.Tuple(example.Arn, current, alternate).Apply(values =\u003e\n {\n var arn = values.Item1;\n var current = values.Item2;\n var alternate = values.Item3;\n return Std.Replace.Invoke(new()\n {\n Text = arn,\n Search = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Replace = alternate.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n }).Apply(invoke =\u003e invoke.Result),\n Key = \"Architect\",\n Value = \"Gigi\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talternate, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthird, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tBillingMode: pulumi.String(\"PAY_PER_REQUEST\"),\n\t\t\tHashKey: pulumi.String(\"TestTableHashKey\"),\n\t\t\tName: pulumi.String(\"example-13281\"),\n\t\t\tStreamEnabled: pulumi.Bool(true),\n\t\t\tStreamViewType: pulumi.String(\"NEW_AND_OLD_IMAGES\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"TestTableHashKey\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tReplicas: dynamodb.TableReplicaTypeArray{\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(alternate.Name),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(third.Name),\n\t\t\t\t\tPropagateTags: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Architect\": pulumi.String(\"Eleanor\"),\n\t\t\t\t\"Zone\": pulumi.String(\"SW\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynamodb.NewTag(ctx, \"example\", \u0026dynamodb.TagArgs{\n\t\t\tResourceArn: pulumi.String(example.Arn.ApplyT(func(arn string) (std.ReplaceResult, error) {\n\t\t\t\treturn std.ReplaceResult(interface{}(std.ReplaceOutput(ctx, std.ReplaceOutputArgs{\n\t\t\t\t\tText: arn,\n\t\t\t\t\tSearch: current.Name,\n\t\t\t\t\tReplace: alternate.Name,\n\t\t\t\t}, nil))), nil\n\t\t\t}).(std.ReplaceResultOutput).ApplyT(func(invoke std.ReplaceResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tKey: pulumi.String(\"Architect\"),\n\t\t\tValue: pulumi.String(\"Gigi\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableReplicaArgs;\nimport com.pulumi.aws.dynamodb.Tag;\nimport com.pulumi.aws.dynamodb.TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var alternate = AwsFunctions.getRegion();\n\n final var third = AwsFunctions.getRegion();\n\n var example = new Table(\"example\", TableArgs.builder()\n .billingMode(\"PAY_PER_REQUEST\")\n .hashKey(\"TestTableHashKey\")\n .name(\"example-13281\")\n .streamEnabled(true)\n .streamViewType(\"NEW_AND_OLD_IMAGES\")\n .attributes(TableAttributeArgs.builder()\n .name(\"TestTableHashKey\")\n .type(\"S\")\n .build())\n .replicas( \n TableReplicaArgs.builder()\n .regionName(alternate.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build(),\n TableReplicaArgs.builder()\n .regionName(third.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .propagateTags(true)\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Architect\", \"Eleanor\"),\n Map.entry(\"Zone\", \"SW\")\n ))\n .build());\n\n var exampleTag = new Tag(\"exampleTag\", TagArgs.builder()\n .resourceArn(example.arn().applyValue(arn -\u003e StdFunctions.replace()).applyValue(invoke -\u003e invoke.result()))\n .key(\"Architect\")\n .value(\"Gigi\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:Table\n properties:\n billingMode: PAY_PER_REQUEST\n hashKey: TestTableHashKey\n name: example-13281\n streamEnabled: true\n streamViewType: NEW_AND_OLD_IMAGES\n attributes:\n - name: TestTableHashKey\n type: S\n replicas:\n - regionName: ${alternate.name}\n - regionName: ${third.name}\n propagateTags: true\n tags:\n Architect: Eleanor\n Zone: SW\n exampleTag:\n type: aws:dynamodb:Tag\n name: example\n properties:\n resourceArn:\n fn::invoke:\n Function: std:replace\n Arguments:\n text: ${example.arn}\n search: ${current.name}\n replace: ${alternate.name}\n Return: result\n key: Architect\n value: Gigi\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n alternate:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n third:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DynamoDB tables using the `name`. For example:\n\n```sh\n$ pulumi import aws:dynamodb/table:Table basic-dynamodb-table GameScores\n```\n", "properties": { "arn": { "type": "string", @@ -232272,7 +232272,7 @@ } }, "aws:dynamodb/tag:Tag": { - "description": "Manages an individual DynamoDB resource tag. This resource should only be used in cases where DynamoDB resources are created outside the provider (e.g., Table replicas in other regions).\n\n\u003e **NOTE:** This tagging resource should not be combined with the resource for managing the parent resource. For example, using `aws.dynamodb.Table` and `aws.dynamodb.Tag` to manage tags of the same DynamoDB Table in the same region will cause a perpetual difference where the `aws_dynamodb_cluster` resource will try to remove the tag being added by the `aws.dynamodb.Tag` resource.\n\n\u003e **NOTE:** This tagging resource does not use the provider `ignore_tags` configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst replica = aws.getRegion({});\nconst current = aws.getRegion({});\nconst example = new aws.dynamodb.Table(\"example\", {replicas: [{\n regionName: replica.then(replica =\u003e replica.name),\n}]});\nconst test = new aws.dynamodb.Tag(\"test\", {\n resourceArn: pulumi.all([example.arn, current, replica]).apply(([arn, current, replica]) =\u003e std.replaceOutput({\n text: arn,\n search: current.name,\n replace: replica.name,\n })).apply(invoke =\u003e invoke.result),\n key: \"testkey\",\n value: \"testvalue\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nreplica = aws.get_region()\ncurrent = aws.get_region()\nexample = aws.dynamodb.Table(\"example\", replicas=[{\n \"region_name\": replica.name,\n}])\ntest = aws.dynamodb.Tag(\"test\",\n resource_arn=example.arn.apply(lambda arn: std.replace_output(text=arn,\n search=current.name,\n replace=replica.name)).apply(lambda invoke: invoke.result),\n key=\"testkey\",\n value=\"testvalue\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replica = Aws.GetRegion.Invoke();\n\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.DynamoDB.Table(\"example\", new()\n {\n Replicas = new[]\n {\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = replica.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var test = new Aws.DynamoDB.Tag(\"test\", new()\n {\n ResourceArn = Output.Tuple(example.Arn, current, replica).Apply(values =\u003e\n {\n var arn = values.Item1;\n var current = values.Item2;\n var replica = values.Item3;\n return Std.Replace.Invoke(new()\n {\n Text = arn,\n Search = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Replace = replica.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n }).Apply(invoke =\u003e invoke.Result),\n Key = \"testkey\",\n Value = \"testvalue\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treplica, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tReplicas: dynamodb.TableReplicaTypeArray{\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(replica.Name),\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\t_, err = dynamodb.NewTag(ctx, \"test\", \u0026dynamodb.TagArgs{\n\t\t\tResourceArn: pulumi.String(example.Arn.ApplyT(func(arn string) (std.ReplaceResult, error) {\n\t\t\t\treturn std.ReplaceResult(interface{}(std.ReplaceOutput(ctx, std.ReplaceOutputArgs{\n\t\t\t\t\tText: arn,\n\t\t\t\t\tSearch: current.Name,\n\t\t\t\t\tReplace: replica.Name,\n\t\t\t\t}, nil))), nil\n\t\t\t}).(std.ReplaceResultOutput).ApplyT(func(invoke std.ReplaceResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tKey: pulumi.String(\"testkey\"),\n\t\t\tValue: pulumi.String(\"testvalue\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableReplicaArgs;\nimport com.pulumi.aws.dynamodb.Tag;\nimport com.pulumi.aws.dynamodb.TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var replica = AwsFunctions.getRegion();\n\n final var current = AwsFunctions.getRegion();\n\n var example = new Table(\"example\", TableArgs.builder()\n .replicas(TableReplicaArgs.builder()\n .regionName(replica.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var test = new Tag(\"test\", TagArgs.builder()\n .resourceArn(example.arn().applyValue(arn -\u003e StdFunctions.replace()).applyValue(invoke -\u003e invoke.result()))\n .key(\"testkey\")\n .value(\"testvalue\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:Table\n properties:\n replicas:\n - regionName: ${replica.name}\n test:\n type: aws:dynamodb:Tag\n properties:\n resourceArn:\n fn::invoke:\n function: std:replace\n arguments:\n text: ${example.arn}\n search: ${current.name}\n replace: ${replica.name}\n return: result\n key: testkey\n value: testvalue\nvariables:\n replica:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_dynamodb_tag` using the DynamoDB resource identifier and key, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:dynamodb/tag:Tag example arn:aws:dynamodb:us-east-1:123456789012:table/example,Name\n```\n", + "description": "Manages an individual DynamoDB resource tag. This resource should only be used in cases where DynamoDB resources are created outside the provider (e.g., Table replicas in other regions).\n\n\u003e **NOTE:** This tagging resource should not be combined with the resource for managing the parent resource. For example, using `aws.dynamodb.Table` and `aws.dynamodb.Tag` to manage tags of the same DynamoDB Table in the same region will cause a perpetual difference where the `aws_dynamodb_cluster` resource will try to remove the tag being added by the `aws.dynamodb.Tag` resource.\n\n\u003e **NOTE:** This tagging resource does not use the provider `ignore_tags` configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst replica = aws.getRegion({});\nconst current = aws.getRegion({});\nconst example = new aws.dynamodb.Table(\"example\", {replicas: [{\n regionName: replica.then(replica =\u003e replica.name),\n}]});\nconst test = new aws.dynamodb.Tag(\"test\", {\n resourceArn: pulumi.all([example.arn, current, replica]).apply(([arn, current, replica]) =\u003e std.replaceOutput({\n text: arn,\n search: current.name,\n replace: replica.name,\n })).apply(invoke =\u003e invoke.result),\n key: \"testkey\",\n value: \"testvalue\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nreplica = aws.get_region()\ncurrent = aws.get_region()\nexample = aws.dynamodb.Table(\"example\", replicas=[{\n \"region_name\": replica.name,\n}])\ntest = aws.dynamodb.Tag(\"test\",\n resource_arn=example.arn.apply(lambda arn: std.replace_output(text=arn,\n search=current.name,\n replace=replica.name)).apply(lambda invoke: invoke.result),\n key=\"testkey\",\n value=\"testvalue\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replica = Aws.GetRegion.Invoke();\n\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.DynamoDB.Table(\"example\", new()\n {\n Replicas = new[]\n {\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = replica.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var test = new Aws.DynamoDB.Tag(\"test\", new()\n {\n ResourceArn = Output.Tuple(example.Arn, current, replica).Apply(values =\u003e\n {\n var arn = values.Item1;\n var current = values.Item2;\n var replica = values.Item3;\n return Std.Replace.Invoke(new()\n {\n Text = arn,\n Search = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Replace = replica.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n }).Apply(invoke =\u003e invoke.Result),\n Key = \"testkey\",\n Value = \"testvalue\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treplica, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tReplicas: dynamodb.TableReplicaTypeArray{\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(replica.Name),\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\t_, err = dynamodb.NewTag(ctx, \"test\", \u0026dynamodb.TagArgs{\n\t\t\tResourceArn: pulumi.String(example.Arn.ApplyT(func(arn string) (std.ReplaceResult, error) {\n\t\t\t\treturn std.ReplaceResult(interface{}(std.ReplaceOutput(ctx, std.ReplaceOutputArgs{\n\t\t\t\t\tText: arn,\n\t\t\t\t\tSearch: current.Name,\n\t\t\t\t\tReplace: replica.Name,\n\t\t\t\t}, nil))), nil\n\t\t\t}).(std.ReplaceResultOutput).ApplyT(func(invoke std.ReplaceResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tKey: pulumi.String(\"testkey\"),\n\t\t\tValue: pulumi.String(\"testvalue\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableReplicaArgs;\nimport com.pulumi.aws.dynamodb.Tag;\nimport com.pulumi.aws.dynamodb.TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var replica = AwsFunctions.getRegion();\n\n final var current = AwsFunctions.getRegion();\n\n var example = new Table(\"example\", TableArgs.builder()\n .replicas(TableReplicaArgs.builder()\n .regionName(replica.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var test = new Tag(\"test\", TagArgs.builder()\n .resourceArn(example.arn().applyValue(arn -\u003e StdFunctions.replace()).applyValue(invoke -\u003e invoke.result()))\n .key(\"testkey\")\n .value(\"testvalue\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:Table\n properties:\n replicas:\n - regionName: ${replica.name}\n test:\n type: aws:dynamodb:Tag\n properties:\n resourceArn:\n fn::invoke:\n Function: std:replace\n Arguments:\n text: ${example.arn}\n search: ${current.name}\n replace: ${replica.name}\n Return: result\n key: testkey\n value: testvalue\nvariables:\n replica:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_dynamodb_tag` using the DynamoDB resource identifier and key, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:dynamodb/tag:Tag example arn:aws:dynamodb:us-east-1:123456789012:table/example,Name\n```\n", "properties": { "key": { "type": "string", @@ -234479,7 +234479,7 @@ } }, "aws:ec2/amiLaunchPermission:AmiLaunchPermission": { - "description": "Adds a launch permission to an Amazon Machine Image (AMI).\n\n## Example Usage\n\n### AWS Account ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.AmiLaunchPermission(\"example\", {\n imageId: \"ami-12345678\",\n accountId: \"123456789012\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.AmiLaunchPermission(\"example\",\n image_id=\"ami-12345678\",\n account_id=\"123456789012\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.AmiLaunchPermission(\"example\", new()\n {\n ImageId = \"ami-12345678\",\n AccountId = \"123456789012\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewAmiLaunchPermission(ctx, \"example\", \u0026ec2.AmiLaunchPermissionArgs{\n\t\t\tImageId: pulumi.String(\"ami-12345678\"),\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.AmiLaunchPermission;\nimport com.pulumi.aws.ec2.AmiLaunchPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AmiLaunchPermission(\"example\", AmiLaunchPermissionArgs.builder()\n .imageId(\"ami-12345678\")\n .accountId(\"123456789012\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiLaunchPermission\n properties:\n imageId: ami-12345678\n accountId: '123456789012'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Public Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.AmiLaunchPermission(\"example\", {\n imageId: \"ami-12345678\",\n group: \"all\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.AmiLaunchPermission(\"example\",\n image_id=\"ami-12345678\",\n group=\"all\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.AmiLaunchPermission(\"example\", new()\n {\n ImageId = \"ami-12345678\",\n Group = \"all\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewAmiLaunchPermission(ctx, \"example\", \u0026ec2.AmiLaunchPermissionArgs{\n\t\t\tImageId: pulumi.String(\"ami-12345678\"),\n\t\t\tGroup: pulumi.String(\"all\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.AmiLaunchPermission;\nimport com.pulumi.aws.ec2.AmiLaunchPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AmiLaunchPermission(\"example\", AmiLaunchPermissionArgs.builder()\n .imageId(\"ami-12345678\")\n .group(\"all\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiLaunchPermission\n properties:\n imageId: ami-12345678\n group: all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.organizations.getOrganization({});\nconst example = new aws.ec2.AmiLaunchPermission(\"example\", {\n imageId: \"ami-12345678\",\n organizationArn: current.then(current =\u003e current.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.organizations.get_organization()\nexample = aws.ec2.AmiLaunchPermission(\"example\",\n image_id=\"ami-12345678\",\n organization_arn=current.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.Organizations.GetOrganization.Invoke();\n\n var example = new Aws.Ec2.AmiLaunchPermission(\"example\", new()\n {\n ImageId = \"ami-12345678\",\n OrganizationArn = current.Apply(getOrganizationResult =\u003e getOrganizationResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := organizations.LookupOrganization(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewAmiLaunchPermission(ctx, \"example\", \u0026ec2.AmiLaunchPermissionArgs{\n\t\t\tImageId: pulumi.String(\"ami-12345678\"),\n\t\t\tOrganizationArn: pulumi.String(current.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.ec2.AmiLaunchPermission;\nimport com.pulumi.aws.ec2.AmiLaunchPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = OrganizationsFunctions.getOrganization();\n\n var example = new AmiLaunchPermission(\"example\", AmiLaunchPermissionArgs.builder()\n .imageId(\"ami-12345678\")\n .organizationArn(current.applyValue(getOrganizationResult -\u003e getOrganizationResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiLaunchPermission\n properties:\n imageId: ami-12345678\n organizationArn: ${current.arn}\nvariables:\n current:\n fn::invoke:\n function: aws:organizations:getOrganization\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AMI Launch Permissions using `[ACCOUNT-ID|GROUP-NAME|ORGANIZATION-ARN|ORGANIZATIONAL-UNIT-ARN]/IMAGE-ID`. For example:\n\n```sh\n$ pulumi import aws:ec2/amiLaunchPermission:AmiLaunchPermission example 123456789012/ami-12345678\n```\n", + "description": "Adds a launch permission to an Amazon Machine Image (AMI).\n\n## Example Usage\n\n### AWS Account ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.AmiLaunchPermission(\"example\", {\n imageId: \"ami-12345678\",\n accountId: \"123456789012\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.AmiLaunchPermission(\"example\",\n image_id=\"ami-12345678\",\n account_id=\"123456789012\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.AmiLaunchPermission(\"example\", new()\n {\n ImageId = \"ami-12345678\",\n AccountId = \"123456789012\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewAmiLaunchPermission(ctx, \"example\", \u0026ec2.AmiLaunchPermissionArgs{\n\t\t\tImageId: pulumi.String(\"ami-12345678\"),\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.AmiLaunchPermission;\nimport com.pulumi.aws.ec2.AmiLaunchPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AmiLaunchPermission(\"example\", AmiLaunchPermissionArgs.builder()\n .imageId(\"ami-12345678\")\n .accountId(\"123456789012\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiLaunchPermission\n properties:\n imageId: ami-12345678\n accountId: '123456789012'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Public Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.AmiLaunchPermission(\"example\", {\n imageId: \"ami-12345678\",\n group: \"all\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.AmiLaunchPermission(\"example\",\n image_id=\"ami-12345678\",\n group=\"all\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.AmiLaunchPermission(\"example\", new()\n {\n ImageId = \"ami-12345678\",\n Group = \"all\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewAmiLaunchPermission(ctx, \"example\", \u0026ec2.AmiLaunchPermissionArgs{\n\t\t\tImageId: pulumi.String(\"ami-12345678\"),\n\t\t\tGroup: pulumi.String(\"all\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.AmiLaunchPermission;\nimport com.pulumi.aws.ec2.AmiLaunchPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AmiLaunchPermission(\"example\", AmiLaunchPermissionArgs.builder()\n .imageId(\"ami-12345678\")\n .group(\"all\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiLaunchPermission\n properties:\n imageId: ami-12345678\n group: all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.organizations.getOrganization({});\nconst example = new aws.ec2.AmiLaunchPermission(\"example\", {\n imageId: \"ami-12345678\",\n organizationArn: current.then(current =\u003e current.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.organizations.get_organization()\nexample = aws.ec2.AmiLaunchPermission(\"example\",\n image_id=\"ami-12345678\",\n organization_arn=current.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.Organizations.GetOrganization.Invoke();\n\n var example = new Aws.Ec2.AmiLaunchPermission(\"example\", new()\n {\n ImageId = \"ami-12345678\",\n OrganizationArn = current.Apply(getOrganizationResult =\u003e getOrganizationResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := organizations.LookupOrganization(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewAmiLaunchPermission(ctx, \"example\", \u0026ec2.AmiLaunchPermissionArgs{\n\t\t\tImageId: pulumi.String(\"ami-12345678\"),\n\t\t\tOrganizationArn: pulumi.String(current.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.ec2.AmiLaunchPermission;\nimport com.pulumi.aws.ec2.AmiLaunchPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = OrganizationsFunctions.getOrganization();\n\n var example = new AmiLaunchPermission(\"example\", AmiLaunchPermissionArgs.builder()\n .imageId(\"ami-12345678\")\n .organizationArn(current.applyValue(getOrganizationResult -\u003e getOrganizationResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiLaunchPermission\n properties:\n imageId: ami-12345678\n organizationArn: ${current.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:organizations:getOrganization\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AMI Launch Permissions using `[ACCOUNT-ID|GROUP-NAME|ORGANIZATION-ARN|ORGANIZATIONAL-UNIT-ARN]/IMAGE-ID`. For example:\n\n```sh\n$ pulumi import aws:ec2/amiLaunchPermission:AmiLaunchPermission example 123456789012/ami-12345678\n```\n", "properties": { "accountId": { "type": "string", @@ -234615,7 +234615,7 @@ } }, "aws:ec2/capacityBlockReservation:CapacityBlockReservation": { - "description": "Provides an EC2 Capacity Block Reservation. This allows you to purchase capacity block for your Amazon EC2 instances in a specific Availability Zone for machine learning (ML) Workloads.\n\n\u003e **NOTE:** Once created, a reservation is valid for the `duration` of the provided `capacity_block_offering_id` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [EC2 Capacity Block Reservation Documentation](https://aws.amazon.com/ec2/instance-types/p5/) and [PurchaseReservedDBInstancesOffering](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-blocks-pricing-billing.html).\n\n\u003e **NOTE:** Due to the expense of testing this resource, we provide it as best effort. If you find it useful, and have the ability to help test or notice issues, consider reaching out to us on GitHub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getCapacityBlockOffering({\n capacityDurationHours: 24,\n endDateRange: \"2024-05-30T15:04:05Z\",\n instanceCount: 1,\n instanceType: \"p4d.24xlarge\",\n startDateRange: \"2024-04-28T15:04:05Z\",\n});\nconst example = new aws.ec2.CapacityBlockReservation(\"example\", {\n capacityBlockOfferingId: test.then(test =\u003e test.capacityBlockOfferingId),\n instancePlatform: \"Linux/UNIX\",\n tags: {\n Environment: \"dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_capacity_block_offering(capacity_duration_hours=24,\n end_date_range=\"2024-05-30T15:04:05Z\",\n instance_count=1,\n instance_type=\"p4d.24xlarge\",\n start_date_range=\"2024-04-28T15:04:05Z\")\nexample = aws.ec2.CapacityBlockReservation(\"example\",\n capacity_block_offering_id=test.capacity_block_offering_id,\n instance_platform=\"Linux/UNIX\",\n tags={\n \"Environment\": \"dev\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetCapacityBlockOffering.Invoke(new()\n {\n CapacityDurationHours = 24,\n EndDateRange = \"2024-05-30T15:04:05Z\",\n InstanceCount = 1,\n InstanceType = \"p4d.24xlarge\",\n StartDateRange = \"2024-04-28T15:04:05Z\",\n });\n\n var example = new Aws.Ec2.CapacityBlockReservation(\"example\", new()\n {\n CapacityBlockOfferingId = test.Apply(getCapacityBlockOfferingResult =\u003e getCapacityBlockOfferingResult.CapacityBlockOfferingId),\n InstancePlatform = \"Linux/UNIX\",\n Tags = \n {\n { \"Environment\", \"dev\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.GetCapacityBlockOffering(ctx, \u0026ec2.GetCapacityBlockOfferingArgs{\n\t\t\tCapacityDurationHours: 24,\n\t\t\tEndDateRange: pulumi.StringRef(\"2024-05-30T15:04:05Z\"),\n\t\t\tInstanceCount: 1,\n\t\t\tInstanceType: \"p4d.24xlarge\",\n\t\t\tStartDateRange: pulumi.StringRef(\"2024-04-28T15:04:05Z\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewCapacityBlockReservation(ctx, \"example\", \u0026ec2.CapacityBlockReservationArgs{\n\t\t\tCapacityBlockOfferingId: pulumi.String(test.CapacityBlockOfferingId),\n\t\t\tInstancePlatform: pulumi.String(\"Linux/UNIX\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"dev\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetCapacityBlockOfferingArgs;\nimport com.pulumi.aws.ec2.CapacityBlockReservation;\nimport com.pulumi.aws.ec2.CapacityBlockReservationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getCapacityBlockOffering(GetCapacityBlockOfferingArgs.builder()\n .capacityDurationHours(24)\n .endDateRange(\"2024-05-30T15:04:05Z\")\n .instanceCount(1)\n .instanceType(\"p4d.24xlarge\")\n .startDateRange(\"2024-04-28T15:04:05Z\")\n .build());\n\n var example = new CapacityBlockReservation(\"example\", CapacityBlockReservationArgs.builder()\n .capacityBlockOfferingId(test.applyValue(getCapacityBlockOfferingResult -\u003e getCapacityBlockOfferingResult.capacityBlockOfferingId()))\n .instancePlatform(\"Linux/UNIX\")\n .tags(Map.of(\"Environment\", \"dev\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:CapacityBlockReservation\n properties:\n capacityBlockOfferingId: ${test.capacityBlockOfferingId}\n instancePlatform: Linux/UNIX\n tags:\n Environment: dev\nvariables:\n test:\n fn::invoke:\n function: aws:ec2:getCapacityBlockOffering\n arguments:\n capacityDurationHours: 24\n endDateRange: 2024-05-30T15:04:05Z\n instanceCount: 1\n instanceType: p4d.24xlarge\n startDateRange: 2024-04-28T15:04:05Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an EC2 Capacity Block Reservation. This allows you to purchase capacity block for your Amazon EC2 instances in a specific Availability Zone for machine learning (ML) Workloads.\n\n\u003e **NOTE:** Once created, a reservation is valid for the `duration` of the provided `capacity_block_offering_id` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [EC2 Capacity Block Reservation Documentation](https://aws.amazon.com/ec2/instance-types/p5/) and [PurchaseReservedDBInstancesOffering](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-blocks-pricing-billing.html).\n\n\u003e **NOTE:** Due to the expense of testing this resource, we provide it as best effort. If you find it useful, and have the ability to help test or notice issues, consider reaching out to us on GitHub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getCapacityBlockOffering({\n capacityDurationHours: 24,\n endDateRange: \"2024-05-30T15:04:05Z\",\n instanceCount: 1,\n instanceType: \"p4d.24xlarge\",\n startDateRange: \"2024-04-28T15:04:05Z\",\n});\nconst example = new aws.ec2.CapacityBlockReservation(\"example\", {\n capacityBlockOfferingId: test.then(test =\u003e test.capacityBlockOfferingId),\n instancePlatform: \"Linux/UNIX\",\n tags: {\n Environment: \"dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_capacity_block_offering(capacity_duration_hours=24,\n end_date_range=\"2024-05-30T15:04:05Z\",\n instance_count=1,\n instance_type=\"p4d.24xlarge\",\n start_date_range=\"2024-04-28T15:04:05Z\")\nexample = aws.ec2.CapacityBlockReservation(\"example\",\n capacity_block_offering_id=test.capacity_block_offering_id,\n instance_platform=\"Linux/UNIX\",\n tags={\n \"Environment\": \"dev\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetCapacityBlockOffering.Invoke(new()\n {\n CapacityDurationHours = 24,\n EndDateRange = \"2024-05-30T15:04:05Z\",\n InstanceCount = 1,\n InstanceType = \"p4d.24xlarge\",\n StartDateRange = \"2024-04-28T15:04:05Z\",\n });\n\n var example = new Aws.Ec2.CapacityBlockReservation(\"example\", new()\n {\n CapacityBlockOfferingId = test.Apply(getCapacityBlockOfferingResult =\u003e getCapacityBlockOfferingResult.CapacityBlockOfferingId),\n InstancePlatform = \"Linux/UNIX\",\n Tags = \n {\n { \"Environment\", \"dev\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.GetCapacityBlockOffering(ctx, \u0026ec2.GetCapacityBlockOfferingArgs{\n\t\t\tCapacityDurationHours: 24,\n\t\t\tEndDateRange: pulumi.StringRef(\"2024-05-30T15:04:05Z\"),\n\t\t\tInstanceCount: 1,\n\t\t\tInstanceType: \"p4d.24xlarge\",\n\t\t\tStartDateRange: pulumi.StringRef(\"2024-04-28T15:04:05Z\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewCapacityBlockReservation(ctx, \"example\", \u0026ec2.CapacityBlockReservationArgs{\n\t\t\tCapacityBlockOfferingId: pulumi.String(test.CapacityBlockOfferingId),\n\t\t\tInstancePlatform: pulumi.String(\"Linux/UNIX\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"dev\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetCapacityBlockOfferingArgs;\nimport com.pulumi.aws.ec2.CapacityBlockReservation;\nimport com.pulumi.aws.ec2.CapacityBlockReservationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getCapacityBlockOffering(GetCapacityBlockOfferingArgs.builder()\n .capacityDurationHours(24)\n .endDateRange(\"2024-05-30T15:04:05Z\")\n .instanceCount(1)\n .instanceType(\"p4d.24xlarge\")\n .startDateRange(\"2024-04-28T15:04:05Z\")\n .build());\n\n var example = new CapacityBlockReservation(\"example\", CapacityBlockReservationArgs.builder()\n .capacityBlockOfferingId(test.applyValue(getCapacityBlockOfferingResult -\u003e getCapacityBlockOfferingResult.capacityBlockOfferingId()))\n .instancePlatform(\"Linux/UNIX\")\n .tags(Map.of(\"Environment\", \"dev\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:CapacityBlockReservation\n properties:\n capacityBlockOfferingId: ${test.capacityBlockOfferingId}\n instancePlatform: Linux/UNIX\n tags:\n Environment: dev\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getCapacityBlockOffering\n Arguments:\n capacityDurationHours: 24\n endDateRange: 2024-05-30T15:04:05Z\n instanceCount: 1\n instanceType: p4d.24xlarge\n startDateRange: 2024-04-28T15:04:05Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -236635,7 +236635,7 @@ } }, "aws:ec2/eip:Eip": { - "description": "Provides an Elastic IP resource.\n\n\u003e **Note:** EIP may require IGW to exist prior to association. Use `depends_on` to set an explicit dependency on the IGW.\n\n\u003e **Note:** Do not use `network_interface` to associate the EIP to `aws.lb.LoadBalancer` or `aws.ec2.NatGateway` resources. Instead use the `allocation_id` available in those resources to allow AWS to manage the association, otherwise you will see `AuthFailure` errors.\n\n## Example Usage\n\n### Single EIP associated with an instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.ec2.Eip(\"lb\", {\n instance: web.id,\n domain: \"vpc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb = aws.ec2.Eip(\"lb\",\n instance=web[\"id\"],\n domain=\"vpc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.Ec2.Eip(\"lb\", new()\n {\n Instance = web.Id,\n Domain = \"vpc\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewEip(ctx, \"lb\", \u0026ec2.EipArgs{\n\t\t\tInstance: pulumi.Any(web.Id),\n\t\t\tDomain: pulumi.String(\"vpc\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var lb = new Eip(\"lb\", EipArgs.builder()\n .instance(web.id())\n .domain(\"vpc\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:ec2:Eip\n properties:\n instance: ${web.id}\n domain: vpc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multiple EIPs associated with a single network interface\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst multi_ip = new aws.ec2.NetworkInterface(\"multi-ip\", {\n subnetId: main.id,\n privateIps: [\n \"10.0.0.10\",\n \"10.0.0.11\",\n ],\n});\nconst one = new aws.ec2.Eip(\"one\", {\n domain: \"vpc\",\n networkInterface: multi_ip.id,\n associateWithPrivateIp: \"10.0.0.10\",\n});\nconst two = new aws.ec2.Eip(\"two\", {\n domain: \"vpc\",\n networkInterface: multi_ip.id,\n associateWithPrivateIp: \"10.0.0.11\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmulti_ip = aws.ec2.NetworkInterface(\"multi-ip\",\n subnet_id=main[\"id\"],\n private_ips=[\n \"10.0.0.10\",\n \"10.0.0.11\",\n ])\none = aws.ec2.Eip(\"one\",\n domain=\"vpc\",\n network_interface=multi_ip.id,\n associate_with_private_ip=\"10.0.0.10\")\ntwo = aws.ec2.Eip(\"two\",\n domain=\"vpc\",\n network_interface=multi_ip.id,\n associate_with_private_ip=\"10.0.0.11\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var multi_ip = new Aws.Ec2.NetworkInterface(\"multi-ip\", new()\n {\n SubnetId = main.Id,\n PrivateIps = new[]\n {\n \"10.0.0.10\",\n \"10.0.0.11\",\n },\n });\n\n var one = new Aws.Ec2.Eip(\"one\", new()\n {\n Domain = \"vpc\",\n NetworkInterface = multi_ip.Id,\n AssociateWithPrivateIp = \"10.0.0.10\",\n });\n\n var two = new Aws.Ec2.Eip(\"two\", new()\n {\n Domain = \"vpc\",\n NetworkInterface = multi_ip.Id,\n AssociateWithPrivateIp = \"10.0.0.11\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewNetworkInterface(ctx, \"multi-ip\", \u0026ec2.NetworkInterfaceArgs{\n\t\t\tSubnetId: pulumi.Any(main.Id),\n\t\t\tPrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.10\"),\n\t\t\t\tpulumi.String(\"10.0.0.11\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewEip(ctx, \"one\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tNetworkInterface: multi_ip.ID(),\n\t\t\tAssociateWithPrivateIp: pulumi.String(\"10.0.0.10\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewEip(ctx, \"two\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tNetworkInterface: multi_ip.ID(),\n\t\t\tAssociateWithPrivateIp: pulumi.String(\"10.0.0.11\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.NetworkInterface;\nimport com.pulumi.aws.ec2.NetworkInterfaceArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var multi_ip = new NetworkInterface(\"multi-ip\", NetworkInterfaceArgs.builder()\n .subnetId(main.id())\n .privateIps( \n \"10.0.0.10\",\n \"10.0.0.11\")\n .build());\n\n var one = new Eip(\"one\", EipArgs.builder()\n .domain(\"vpc\")\n .networkInterface(multi_ip.id())\n .associateWithPrivateIp(\"10.0.0.10\")\n .build());\n\n var two = new Eip(\"two\", EipArgs.builder()\n .domain(\"vpc\")\n .networkInterface(multi_ip.id())\n .associateWithPrivateIp(\"10.0.0.11\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n multi-ip:\n type: aws:ec2:NetworkInterface\n properties:\n subnetId: ${main.id}\n privateIps:\n - 10.0.0.10\n - 10.0.0.11\n one:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n networkInterface: ${[\"multi-ip\"].id}\n associateWithPrivateIp: 10.0.0.10\n two:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n networkInterface: ${[\"multi-ip\"].id}\n associateWithPrivateIp: 10.0.0.11\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Attaching an EIP to an Instance with a pre-assigned private ip (VPC Only)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.ec2.Vpc(\"default\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsHostnames: true,\n});\nconst gw = new aws.ec2.InternetGateway(\"gw\", {vpcId: _default.id});\nconst myTestSubnet = new aws.ec2.Subnet(\"my_test_subnet\", {\n vpcId: _default.id,\n cidrBlock: \"10.0.0.0/24\",\n mapPublicIpOnLaunch: true,\n}, {\n dependsOn: [gw],\n});\nconst foo = new aws.ec2.Instance(\"foo\", {\n ami: \"ami-5189a661\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n privateIp: \"10.0.0.12\",\n subnetId: myTestSubnet.id,\n});\nconst bar = new aws.ec2.Eip(\"bar\", {\n domain: \"vpc\",\n instance: foo.id,\n associateWithPrivateIp: \"10.0.0.12\",\n}, {\n dependsOn: [gw],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.Vpc(\"default\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_hostnames=True)\ngw = aws.ec2.InternetGateway(\"gw\", vpc_id=default.id)\nmy_test_subnet = aws.ec2.Subnet(\"my_test_subnet\",\n vpc_id=default.id,\n cidr_block=\"10.0.0.0/24\",\n map_public_ip_on_launch=True,\n opts = pulumi.ResourceOptions(depends_on=[gw]))\nfoo = aws.ec2.Instance(\"foo\",\n ami=\"ami-5189a661\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n private_ip=\"10.0.0.12\",\n subnet_id=my_test_subnet.id)\nbar = aws.ec2.Eip(\"bar\",\n domain=\"vpc\",\n instance=foo.id,\n associate_with_private_ip=\"10.0.0.12\",\n opts = pulumi.ResourceOptions(depends_on=[gw]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Ec2.Vpc(\"default\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsHostnames = true,\n });\n\n var gw = new Aws.Ec2.InternetGateway(\"gw\", new()\n {\n VpcId = @default.Id,\n });\n\n var myTestSubnet = new Aws.Ec2.Subnet(\"my_test_subnet\", new()\n {\n VpcId = @default.Id,\n CidrBlock = \"10.0.0.0/24\",\n MapPublicIpOnLaunch = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n var foo = new Aws.Ec2.Instance(\"foo\", new()\n {\n Ami = \"ami-5189a661\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n PrivateIp = \"10.0.0.12\",\n SubnetId = myTestSubnet.Id,\n });\n\n var bar = new Aws.Ec2.Eip(\"bar\", new()\n {\n Domain = \"vpc\",\n Instance = foo.Id,\n AssociateWithPrivateIp = \"10.0.0.12\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewVpc(ctx, \"default\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgw, err := ec2.NewInternetGateway(ctx, \"gw\", \u0026ec2.InternetGatewayArgs{\n\t\t\tVpcId: _default.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyTestSubnet, err := ec2.NewSubnet(ctx, \"my_test_subnet\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: _default.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tMapPublicIpOnLaunch: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewInstance(ctx, \"foo\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-5189a661\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tPrivateIp: pulumi.String(\"10.0.0.12\"),\n\t\t\tSubnetId: myTestSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewEip(ctx, \"bar\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tInstance: foo.ID(),\n\t\t\tAssociateWithPrivateIp: pulumi.String(\"10.0.0.12\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Vpc(\"default\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsHostnames(true)\n .build());\n\n var gw = new InternetGateway(\"gw\", InternetGatewayArgs.builder()\n .vpcId(default_.id())\n .build());\n\n var myTestSubnet = new Subnet(\"myTestSubnet\", SubnetArgs.builder()\n .vpcId(default_.id())\n .cidrBlock(\"10.0.0.0/24\")\n .mapPublicIpOnLaunch(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.builder()\n .ami(\"ami-5189a661\")\n .instanceType(\"t2.micro\")\n .privateIp(\"10.0.0.12\")\n .subnetId(myTestSubnet.id())\n .build());\n\n var bar = new Eip(\"bar\", EipArgs.builder()\n .domain(\"vpc\")\n .instance(foo.id())\n .associateWithPrivateIp(\"10.0.0.12\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsHostnames: true\n gw:\n type: aws:ec2:InternetGateway\n properties:\n vpcId: ${default.id}\n myTestSubnet:\n type: aws:ec2:Subnet\n name: my_test_subnet\n properties:\n vpcId: ${default.id}\n cidrBlock: 10.0.0.0/24\n mapPublicIpOnLaunch: true\n options:\n dependsOn:\n - ${gw}\n foo:\n type: aws:ec2:Instance\n properties:\n ami: ami-5189a661\n instanceType: t2.micro\n privateIp: 10.0.0.12\n subnetId: ${myTestSubnet.id}\n bar:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n instance: ${foo.id}\n associateWithPrivateIp: 10.0.0.12\n options:\n dependsOn:\n - ${gw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Allocating EIP from the BYOIP pool\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byoip_ip = new aws.ec2.Eip(\"byoip-ip\", {\n domain: \"vpc\",\n publicIpv4Pool: \"ipv4pool-ec2-012345\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbyoip_ip = aws.ec2.Eip(\"byoip-ip\",\n domain=\"vpc\",\n public_ipv4_pool=\"ipv4pool-ec2-012345\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byoip_ip = new Aws.Ec2.Eip(\"byoip-ip\", new()\n {\n Domain = \"vpc\",\n PublicIpv4Pool = \"ipv4pool-ec2-012345\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewEip(ctx, \"byoip-ip\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tPublicIpv4Pool: pulumi.String(\"ipv4pool-ec2-012345\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var byoip_ip = new Eip(\"byoip-ip\", EipArgs.builder()\n .domain(\"vpc\")\n .publicIpv4Pool(\"ipv4pool-ec2-012345\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n byoip-ip:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n publicIpv4Pool: ipv4pool-ec2-012345\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Allocating EIP from the IPAM Pool\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipam_ip = new aws.ec2.Eip(\"ipam-ip\", {\n domain: \"vpc\",\n ipamPoolId: \"ipam-pool-07ccc86aa41bef7ce\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipam_ip = aws.ec2.Eip(\"ipam-ip\",\n domain=\"vpc\",\n ipam_pool_id=\"ipam-pool-07ccc86aa41bef7ce\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipam_ip = new Aws.Ec2.Eip(\"ipam-ip\", new()\n {\n Domain = \"vpc\",\n IpamPoolId = \"ipam-pool-07ccc86aa41bef7ce\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewEip(ctx, \"ipam-ip\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tIpamPoolId: pulumi.String(\"ipam-pool-07ccc86aa41bef7ce\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipam_ip = new Eip(\"ipam-ip\", EipArgs.builder()\n .domain(\"vpc\")\n .ipamPoolId(\"ipam-pool-07ccc86aa41bef7ce\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipam-ip:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n ipamPoolId: ipam-pool-07ccc86aa41bef7ce\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EIPs in a VPC using their Allocation ID. For example:\n\n```sh\n$ pulumi import aws:ec2/eip:Eip bar eipalloc-00a10e96\n```\n", + "description": "Provides an Elastic IP resource.\n\n\u003e **Note:** EIP may require IGW to exist prior to association. Use `depends_on` to set an explicit dependency on the IGW.\n\n\u003e **Note:** Do not use `network_interface` to associate the EIP to `aws.lb.LoadBalancer` or `aws.ec2.NatGateway` resources. Instead use the `allocation_id` available in those resources to allow AWS to manage the association, otherwise you will see `AuthFailure` errors.\n\n## Example Usage\n\n### Single EIP associated with an instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.ec2.Eip(\"lb\", {\n instance: web.id,\n domain: \"vpc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb = aws.ec2.Eip(\"lb\",\n instance=web[\"id\"],\n domain=\"vpc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.Ec2.Eip(\"lb\", new()\n {\n Instance = web.Id,\n Domain = \"vpc\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewEip(ctx, \"lb\", \u0026ec2.EipArgs{\n\t\t\tInstance: pulumi.Any(web.Id),\n\t\t\tDomain: pulumi.String(\"vpc\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var lb = new Eip(\"lb\", EipArgs.builder()\n .instance(web.id())\n .domain(\"vpc\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:ec2:Eip\n properties:\n instance: ${web.id}\n domain: vpc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multiple EIPs associated with a single network interface\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst multi_ip = new aws.ec2.NetworkInterface(\"multi-ip\", {\n subnetId: main.id,\n privateIps: [\n \"10.0.0.10\",\n \"10.0.0.11\",\n ],\n});\nconst one = new aws.ec2.Eip(\"one\", {\n domain: \"vpc\",\n networkInterface: multi_ip.id,\n associateWithPrivateIp: \"10.0.0.10\",\n});\nconst two = new aws.ec2.Eip(\"two\", {\n domain: \"vpc\",\n networkInterface: multi_ip.id,\n associateWithPrivateIp: \"10.0.0.11\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmulti_ip = aws.ec2.NetworkInterface(\"multi-ip\",\n subnet_id=main[\"id\"],\n private_ips=[\n \"10.0.0.10\",\n \"10.0.0.11\",\n ])\none = aws.ec2.Eip(\"one\",\n domain=\"vpc\",\n network_interface=multi_ip.id,\n associate_with_private_ip=\"10.0.0.10\")\ntwo = aws.ec2.Eip(\"two\",\n domain=\"vpc\",\n network_interface=multi_ip.id,\n associate_with_private_ip=\"10.0.0.11\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var multi_ip = new Aws.Ec2.NetworkInterface(\"multi-ip\", new()\n {\n SubnetId = main.Id,\n PrivateIps = new[]\n {\n \"10.0.0.10\",\n \"10.0.0.11\",\n },\n });\n\n var one = new Aws.Ec2.Eip(\"one\", new()\n {\n Domain = \"vpc\",\n NetworkInterface = multi_ip.Id,\n AssociateWithPrivateIp = \"10.0.0.10\",\n });\n\n var two = new Aws.Ec2.Eip(\"two\", new()\n {\n Domain = \"vpc\",\n NetworkInterface = multi_ip.Id,\n AssociateWithPrivateIp = \"10.0.0.11\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewNetworkInterface(ctx, \"multi-ip\", \u0026ec2.NetworkInterfaceArgs{\n\t\t\tSubnetId: pulumi.Any(main.Id),\n\t\t\tPrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.10\"),\n\t\t\t\tpulumi.String(\"10.0.0.11\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewEip(ctx, \"one\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tNetworkInterface: multi_ip.ID(),\n\t\t\tAssociateWithPrivateIp: pulumi.String(\"10.0.0.10\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewEip(ctx, \"two\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tNetworkInterface: multi_ip.ID(),\n\t\t\tAssociateWithPrivateIp: pulumi.String(\"10.0.0.11\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.NetworkInterface;\nimport com.pulumi.aws.ec2.NetworkInterfaceArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var multi_ip = new NetworkInterface(\"multi-ip\", NetworkInterfaceArgs.builder()\n .subnetId(main.id())\n .privateIps( \n \"10.0.0.10\",\n \"10.0.0.11\")\n .build());\n\n var one = new Eip(\"one\", EipArgs.builder()\n .domain(\"vpc\")\n .networkInterface(multi_ip.id())\n .associateWithPrivateIp(\"10.0.0.10\")\n .build());\n\n var two = new Eip(\"two\", EipArgs.builder()\n .domain(\"vpc\")\n .networkInterface(multi_ip.id())\n .associateWithPrivateIp(\"10.0.0.11\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n multi-ip:\n type: aws:ec2:NetworkInterface\n properties:\n subnetId: ${main.id}\n privateIps:\n - 10.0.0.10\n - 10.0.0.11\n one:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n networkInterface: ${[\"multi-ip\"].id}\n associateWithPrivateIp: 10.0.0.10\n two:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n networkInterface: ${[\"multi-ip\"].id}\n associateWithPrivateIp: 10.0.0.11\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Attaching an EIP to an Instance with a pre-assigned private ip (VPC Only)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.ec2.Vpc(\"default\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsHostnames: true,\n});\nconst gw = new aws.ec2.InternetGateway(\"gw\", {vpcId: _default.id});\nconst myTestSubnet = new aws.ec2.Subnet(\"my_test_subnet\", {\n vpcId: _default.id,\n cidrBlock: \"10.0.0.0/24\",\n mapPublicIpOnLaunch: true,\n}, {\n dependsOn: [gw],\n});\nconst foo = new aws.ec2.Instance(\"foo\", {\n ami: \"ami-5189a661\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n privateIp: \"10.0.0.12\",\n subnetId: myTestSubnet.id,\n});\nconst bar = new aws.ec2.Eip(\"bar\", {\n domain: \"vpc\",\n instance: foo.id,\n associateWithPrivateIp: \"10.0.0.12\",\n}, {\n dependsOn: [gw],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.Vpc(\"default\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_hostnames=True)\ngw = aws.ec2.InternetGateway(\"gw\", vpc_id=default.id)\nmy_test_subnet = aws.ec2.Subnet(\"my_test_subnet\",\n vpc_id=default.id,\n cidr_block=\"10.0.0.0/24\",\n map_public_ip_on_launch=True,\n opts = pulumi.ResourceOptions(depends_on=[gw]))\nfoo = aws.ec2.Instance(\"foo\",\n ami=\"ami-5189a661\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n private_ip=\"10.0.0.12\",\n subnet_id=my_test_subnet.id)\nbar = aws.ec2.Eip(\"bar\",\n domain=\"vpc\",\n instance=foo.id,\n associate_with_private_ip=\"10.0.0.12\",\n opts = pulumi.ResourceOptions(depends_on=[gw]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Ec2.Vpc(\"default\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsHostnames = true,\n });\n\n var gw = new Aws.Ec2.InternetGateway(\"gw\", new()\n {\n VpcId = @default.Id,\n });\n\n var myTestSubnet = new Aws.Ec2.Subnet(\"my_test_subnet\", new()\n {\n VpcId = @default.Id,\n CidrBlock = \"10.0.0.0/24\",\n MapPublicIpOnLaunch = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n var foo = new Aws.Ec2.Instance(\"foo\", new()\n {\n Ami = \"ami-5189a661\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n PrivateIp = \"10.0.0.12\",\n SubnetId = myTestSubnet.Id,\n });\n\n var bar = new Aws.Ec2.Eip(\"bar\", new()\n {\n Domain = \"vpc\",\n Instance = foo.Id,\n AssociateWithPrivateIp = \"10.0.0.12\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewVpc(ctx, \"default\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgw, err := ec2.NewInternetGateway(ctx, \"gw\", \u0026ec2.InternetGatewayArgs{\n\t\t\tVpcId: _default.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyTestSubnet, err := ec2.NewSubnet(ctx, \"my_test_subnet\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: _default.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tMapPublicIpOnLaunch: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewInstance(ctx, \"foo\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-5189a661\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tPrivateIp: pulumi.String(\"10.0.0.12\"),\n\t\t\tSubnetId: myTestSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewEip(ctx, \"bar\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tInstance: foo.ID(),\n\t\t\tAssociateWithPrivateIp: pulumi.String(\"10.0.0.12\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Vpc(\"default\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsHostnames(true)\n .build());\n\n var gw = new InternetGateway(\"gw\", InternetGatewayArgs.builder()\n .vpcId(default_.id())\n .build());\n\n var myTestSubnet = new Subnet(\"myTestSubnet\", SubnetArgs.builder()\n .vpcId(default_.id())\n .cidrBlock(\"10.0.0.0/24\")\n .mapPublicIpOnLaunch(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.builder()\n .ami(\"ami-5189a661\")\n .instanceType(\"t2.micro\")\n .privateIp(\"10.0.0.12\")\n .subnetId(myTestSubnet.id())\n .build());\n\n var bar = new Eip(\"bar\", EipArgs.builder()\n .domain(\"vpc\")\n .instance(foo.id())\n .associateWithPrivateIp(\"10.0.0.12\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsHostnames: true\n gw:\n type: aws:ec2:InternetGateway\n properties:\n vpcId: ${default.id}\n myTestSubnet:\n type: aws:ec2:Subnet\n name: my_test_subnet\n properties:\n vpcId: ${default.id}\n cidrBlock: 10.0.0.0/24\n mapPublicIpOnLaunch: true\n options:\n dependson:\n - ${gw}\n foo:\n type: aws:ec2:Instance\n properties:\n ami: ami-5189a661\n instanceType: t2.micro\n privateIp: 10.0.0.12\n subnetId: ${myTestSubnet.id}\n bar:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n instance: ${foo.id}\n associateWithPrivateIp: 10.0.0.12\n options:\n dependson:\n - ${gw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Allocating EIP from the BYOIP pool\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byoip_ip = new aws.ec2.Eip(\"byoip-ip\", {\n domain: \"vpc\",\n publicIpv4Pool: \"ipv4pool-ec2-012345\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbyoip_ip = aws.ec2.Eip(\"byoip-ip\",\n domain=\"vpc\",\n public_ipv4_pool=\"ipv4pool-ec2-012345\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byoip_ip = new Aws.Ec2.Eip(\"byoip-ip\", new()\n {\n Domain = \"vpc\",\n PublicIpv4Pool = \"ipv4pool-ec2-012345\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewEip(ctx, \"byoip-ip\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tPublicIpv4Pool: pulumi.String(\"ipv4pool-ec2-012345\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var byoip_ip = new Eip(\"byoip-ip\", EipArgs.builder()\n .domain(\"vpc\")\n .publicIpv4Pool(\"ipv4pool-ec2-012345\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n byoip-ip:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n publicIpv4Pool: ipv4pool-ec2-012345\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Allocating EIP from the IPAM Pool\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipam_ip = new aws.ec2.Eip(\"ipam-ip\", {\n domain: \"vpc\",\n ipamPoolId: \"ipam-pool-07ccc86aa41bef7ce\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipam_ip = aws.ec2.Eip(\"ipam-ip\",\n domain=\"vpc\",\n ipam_pool_id=\"ipam-pool-07ccc86aa41bef7ce\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipam_ip = new Aws.Ec2.Eip(\"ipam-ip\", new()\n {\n Domain = \"vpc\",\n IpamPoolId = \"ipam-pool-07ccc86aa41bef7ce\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewEip(ctx, \"ipam-ip\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tIpamPoolId: pulumi.String(\"ipam-pool-07ccc86aa41bef7ce\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipam_ip = new Eip(\"ipam-ip\", EipArgs.builder()\n .domain(\"vpc\")\n .ipamPoolId(\"ipam-pool-07ccc86aa41bef7ce\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipam-ip:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n ipamPoolId: ipam-pool-07ccc86aa41bef7ce\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EIPs in a VPC using their Allocation ID. For example:\n\n```sh\n$ pulumi import aws:ec2/eip:Eip bar eipalloc-00a10e96\n```\n", "properties": { "address": { "type": "string", @@ -237396,7 +237396,7 @@ } }, "aws:ec2/flowLog:FlowLog": { - "description": "Provides a VPC/Subnet/ENI/Transit Gateway/Transit Gateway Attachment Flow Log to capture IP traffic for a specific network\ninterface, subnet, or VPC. Logs are sent to a CloudWatch Log Group, a S3 Bucket, or Amazon Kinesis Data Firehose\n\n## Example Usage\n\n### CloudWatch Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"vpc-flow-logs.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleFlowLog = new aws.ec2.FlowLog(\"example\", {\n iamRoleArn: exampleRole.arn,\n logDestination: exampleLogGroup.arn,\n trafficType: \"ALL\",\n vpcId: exampleAwsVpc.id,\n});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n ],\n resources: [\"*\"],\n }],\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n name: \"example\",\n role: exampleRole.id,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_log_group = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"vpc-flow-logs.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample_flow_log = aws.ec2.FlowLog(\"example\",\n iam_role_arn=example_role.arn,\n log_destination=example_log_group.arn,\n traffic_type=\"ALL\",\n vpc_id=example_aws_vpc[\"id\"])\nexample = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n ],\n \"resources\": [\"*\"],\n}])\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n name=\"example\",\n role=example_role.id,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"vpc-flow-logs.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleFlowLog = new Aws.Ec2.FlowLog(\"example\", new()\n {\n IamRoleArn = exampleRole.Arn,\n LogDestination = exampleLogGroup.Arn,\n TrafficType = \"ALL\",\n VpcId = exampleAwsVpc.Id,\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Name = \"example\",\n Role = exampleRole.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"vpc-flow-logs.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewFlowLog(ctx, \"example\", \u0026ec2.FlowLogArgs{\n\t\t\tIamRoleArn: exampleRole.Arn,\n\t\t\tLogDestination: exampleLogGroup.Arn,\n\t\t\tTrafficType: pulumi.String(\"ALL\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogGroup\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:DescribeLogGroups\",\n\t\t\t\t\t\t\"logs:DescribeLogStreams\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: exampleRole.ID(),\n\t\t\tPolicy: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.ec2.FlowLog;\nimport com.pulumi.aws.ec2.FlowLogArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder()\n .name(\"example\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"vpc-flow-logs.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleFlowLog = new FlowLog(\"exampleFlowLog\", FlowLogArgs.builder()\n .iamRoleArn(exampleRole.arn())\n .logDestination(exampleLogGroup.arn())\n .trafficType(\"ALL\")\n .vpcId(exampleAwsVpc.id())\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .name(\"example\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleFlowLog:\n type: aws:ec2:FlowLog\n name: example\n properties:\n iamRoleArn: ${exampleRole.arn}\n logDestination: ${exampleLogGroup.arn}\n trafficType: ALL\n vpcId: ${exampleAwsVpc.id}\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: example\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: example\n role: ${exampleRole.id}\n policy: ${example.json}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - vpc-flow-logs.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:PutLogEvents\n - logs:DescribeLogGroups\n - logs:DescribeLogStreams\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Amazon Kinesis Data Firehose logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.ec2.FlowLog;\nimport com.pulumi.aws.ec2.FlowLogArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"firehose_test_role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleFirehoseDeliveryStream = new FirehoseDeliveryStream(\"exampleFirehoseDeliveryStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis_firehose_test\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(exampleRole.arn())\n .bucketArn(exampleBucketV2.arn())\n .build())\n .tags(Map.of(\"LogDeliveryEnabled\", \"true\"))\n .build());\n\n var exampleFlowLog = new FlowLog(\"exampleFlowLog\", FlowLogArgs.builder()\n .logDestination(exampleFirehoseDeliveryStream.arn())\n .logDestinationType(\"kinesis-data-firehose\")\n .trafficType(\"ALL\")\n .vpcId(exampleAwsVpc.id())\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(exampleBucketV2.id())\n .acl(\"private\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogDelivery\",\n \"logs:DeleteLogDelivery\",\n \"logs:ListLogDeliveries\",\n \"logs:GetLogDelivery\",\n \"firehose:TagDeliveryStream\")\n .resources(\"*\")\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .name(\"test\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleFlowLog:\n type: aws:ec2:FlowLog\n name: example\n properties:\n logDestination: ${exampleFirehoseDeliveryStream.arn}\n logDestinationType: kinesis-data-firehose\n trafficType: ALL\n vpcId: ${exampleAwsVpc.id}\n exampleFirehoseDeliveryStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: example\n properties:\n name: kinesis_firehose_test\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${exampleRole.arn}\n bucketArn: ${exampleBucketV2.arn}\n tags:\n LogDeliveryEnabled: 'true'\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n acl: private\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: firehose_test_role\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: test\n role: ${exampleRole.id}\n policy: ${example.json}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n effect: Allow\n actions:\n - logs:CreateLogDelivery\n - logs:DeleteLogDelivery\n - logs:ListLogDeliveries\n - logs:GetLogDelivery\n - firehose:TagDeliveryStream\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example = new aws.ec2.FlowLog(\"example\", {\n logDestination: exampleBucketV2.arn,\n logDestinationType: \"s3\",\n trafficType: \"ALL\",\n vpcId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample = aws.ec2.FlowLog(\"example\",\n log_destination=example_bucket_v2.arn,\n log_destination_type=\"s3\",\n traffic_type=\"ALL\",\n vpc_id=example_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example = new Aws.Ec2.FlowLog(\"example\", new()\n {\n LogDestination = exampleBucketV2.Arn,\n LogDestinationType = \"s3\",\n TrafficType = \"ALL\",\n VpcId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewFlowLog(ctx, \"example\", \u0026ec2.FlowLogArgs{\n\t\t\tLogDestination: exampleBucketV2.Arn,\n\t\t\tLogDestinationType: pulumi.String(\"s3\"),\n\t\t\tTrafficType: pulumi.String(\"ALL\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.ec2.FlowLog;\nimport com.pulumi.aws.ec2.FlowLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var example = new FlowLog(\"example\", FlowLogArgs.builder()\n .logDestination(exampleBucketV2.arn())\n .logDestinationType(\"s3\")\n .trafficType(\"ALL\")\n .vpcId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:FlowLog\n properties:\n logDestination: ${exampleBucketV2.arn}\n logDestinationType: s3\n trafficType: ALL\n vpcId: ${exampleAwsVpc.id}\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Logging in Apache Parquet format with per-hour partitions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example = new aws.ec2.FlowLog(\"example\", {\n logDestination: exampleBucketV2.arn,\n logDestinationType: \"s3\",\n trafficType: \"ALL\",\n vpcId: exampleAwsVpc.id,\n destinationOptions: {\n fileFormat: \"parquet\",\n perHourPartition: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample = aws.ec2.FlowLog(\"example\",\n log_destination=example_bucket_v2.arn,\n log_destination_type=\"s3\",\n traffic_type=\"ALL\",\n vpc_id=example_aws_vpc[\"id\"],\n destination_options={\n \"file_format\": \"parquet\",\n \"per_hour_partition\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example = new Aws.Ec2.FlowLog(\"example\", new()\n {\n LogDestination = exampleBucketV2.Arn,\n LogDestinationType = \"s3\",\n TrafficType = \"ALL\",\n VpcId = exampleAwsVpc.Id,\n DestinationOptions = new Aws.Ec2.Inputs.FlowLogDestinationOptionsArgs\n {\n FileFormat = \"parquet\",\n PerHourPartition = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewFlowLog(ctx, \"example\", \u0026ec2.FlowLogArgs{\n\t\t\tLogDestination: exampleBucketV2.Arn,\n\t\t\tLogDestinationType: pulumi.String(\"s3\"),\n\t\t\tTrafficType: pulumi.String(\"ALL\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tDestinationOptions: \u0026ec2.FlowLogDestinationOptionsArgs{\n\t\t\t\tFileFormat: pulumi.String(\"parquet\"),\n\t\t\t\tPerHourPartition: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.ec2.FlowLog;\nimport com.pulumi.aws.ec2.FlowLogArgs;\nimport com.pulumi.aws.ec2.inputs.FlowLogDestinationOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var example = new FlowLog(\"example\", FlowLogArgs.builder()\n .logDestination(exampleBucketV2.arn())\n .logDestinationType(\"s3\")\n .trafficType(\"ALL\")\n .vpcId(exampleAwsVpc.id())\n .destinationOptions(FlowLogDestinationOptionsArgs.builder()\n .fileFormat(\"parquet\")\n .perHourPartition(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:FlowLog\n properties:\n logDestination: ${exampleBucketV2.arn}\n logDestinationType: s3\n trafficType: ALL\n vpcId: ${exampleAwsVpc.id}\n destinationOptions:\n fileFormat: parquet\n perHourPartition: true\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Flow Logs using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/flowLog:FlowLog test_flow_log fl-1a2b3c4d\n```\n", + "description": "Provides a VPC/Subnet/ENI/Transit Gateway/Transit Gateway Attachment Flow Log to capture IP traffic for a specific network\ninterface, subnet, or VPC. Logs are sent to a CloudWatch Log Group, a S3 Bucket, or Amazon Kinesis Data Firehose\n\n## Example Usage\n\n### CloudWatch Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"vpc-flow-logs.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleFlowLog = new aws.ec2.FlowLog(\"example\", {\n iamRoleArn: exampleRole.arn,\n logDestination: exampleLogGroup.arn,\n trafficType: \"ALL\",\n vpcId: exampleAwsVpc.id,\n});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n ],\n resources: [\"*\"],\n }],\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n name: \"example\",\n role: exampleRole.id,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_log_group = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"vpc-flow-logs.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample_flow_log = aws.ec2.FlowLog(\"example\",\n iam_role_arn=example_role.arn,\n log_destination=example_log_group.arn,\n traffic_type=\"ALL\",\n vpc_id=example_aws_vpc[\"id\"])\nexample = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n ],\n \"resources\": [\"*\"],\n}])\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n name=\"example\",\n role=example_role.id,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"vpc-flow-logs.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleFlowLog = new Aws.Ec2.FlowLog(\"example\", new()\n {\n IamRoleArn = exampleRole.Arn,\n LogDestination = exampleLogGroup.Arn,\n TrafficType = \"ALL\",\n VpcId = exampleAwsVpc.Id,\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Name = \"example\",\n Role = exampleRole.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"vpc-flow-logs.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewFlowLog(ctx, \"example\", \u0026ec2.FlowLogArgs{\n\t\t\tIamRoleArn: exampleRole.Arn,\n\t\t\tLogDestination: exampleLogGroup.Arn,\n\t\t\tTrafficType: pulumi.String(\"ALL\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogGroup\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:DescribeLogGroups\",\n\t\t\t\t\t\t\"logs:DescribeLogStreams\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: exampleRole.ID(),\n\t\t\tPolicy: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.ec2.FlowLog;\nimport com.pulumi.aws.ec2.FlowLogArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder()\n .name(\"example\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"vpc-flow-logs.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleFlowLog = new FlowLog(\"exampleFlowLog\", FlowLogArgs.builder()\n .iamRoleArn(exampleRole.arn())\n .logDestination(exampleLogGroup.arn())\n .trafficType(\"ALL\")\n .vpcId(exampleAwsVpc.id())\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .name(\"example\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleFlowLog:\n type: aws:ec2:FlowLog\n name: example\n properties:\n iamRoleArn: ${exampleRole.arn}\n logDestination: ${exampleLogGroup.arn}\n trafficType: ALL\n vpcId: ${exampleAwsVpc.id}\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: example\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: example\n role: ${exampleRole.id}\n policy: ${example.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - vpc-flow-logs.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:PutLogEvents\n - logs:DescribeLogGroups\n - logs:DescribeLogStreams\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Amazon Kinesis Data Firehose logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.ec2.FlowLog;\nimport com.pulumi.aws.ec2.FlowLogArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"firehose_test_role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleFirehoseDeliveryStream = new FirehoseDeliveryStream(\"exampleFirehoseDeliveryStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis_firehose_test\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(exampleRole.arn())\n .bucketArn(exampleBucketV2.arn())\n .build())\n .tags(Map.of(\"LogDeliveryEnabled\", \"true\"))\n .build());\n\n var exampleFlowLog = new FlowLog(\"exampleFlowLog\", FlowLogArgs.builder()\n .logDestination(exampleFirehoseDeliveryStream.arn())\n .logDestinationType(\"kinesis-data-firehose\")\n .trafficType(\"ALL\")\n .vpcId(exampleAwsVpc.id())\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(exampleBucketV2.id())\n .acl(\"private\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogDelivery\",\n \"logs:DeleteLogDelivery\",\n \"logs:ListLogDeliveries\",\n \"logs:GetLogDelivery\",\n \"firehose:TagDeliveryStream\")\n .resources(\"*\")\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .name(\"test\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleFlowLog:\n type: aws:ec2:FlowLog\n name: example\n properties:\n logDestination: ${exampleFirehoseDeliveryStream.arn}\n logDestinationType: kinesis-data-firehose\n trafficType: ALL\n vpcId: ${exampleAwsVpc.id}\n exampleFirehoseDeliveryStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: example\n properties:\n name: kinesis_firehose_test\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${exampleRole.arn}\n bucketArn: ${exampleBucketV2.arn}\n tags:\n LogDeliveryEnabled: 'true'\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n acl: private\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: firehose_test_role\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: test\n role: ${exampleRole.id}\n policy: ${example.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n effect: Allow\n actions:\n - logs:CreateLogDelivery\n - logs:DeleteLogDelivery\n - logs:ListLogDeliveries\n - logs:GetLogDelivery\n - firehose:TagDeliveryStream\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example = new aws.ec2.FlowLog(\"example\", {\n logDestination: exampleBucketV2.arn,\n logDestinationType: \"s3\",\n trafficType: \"ALL\",\n vpcId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample = aws.ec2.FlowLog(\"example\",\n log_destination=example_bucket_v2.arn,\n log_destination_type=\"s3\",\n traffic_type=\"ALL\",\n vpc_id=example_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example = new Aws.Ec2.FlowLog(\"example\", new()\n {\n LogDestination = exampleBucketV2.Arn,\n LogDestinationType = \"s3\",\n TrafficType = \"ALL\",\n VpcId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewFlowLog(ctx, \"example\", \u0026ec2.FlowLogArgs{\n\t\t\tLogDestination: exampleBucketV2.Arn,\n\t\t\tLogDestinationType: pulumi.String(\"s3\"),\n\t\t\tTrafficType: pulumi.String(\"ALL\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.ec2.FlowLog;\nimport com.pulumi.aws.ec2.FlowLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var example = new FlowLog(\"example\", FlowLogArgs.builder()\n .logDestination(exampleBucketV2.arn())\n .logDestinationType(\"s3\")\n .trafficType(\"ALL\")\n .vpcId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:FlowLog\n properties:\n logDestination: ${exampleBucketV2.arn}\n logDestinationType: s3\n trafficType: ALL\n vpcId: ${exampleAwsVpc.id}\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Logging in Apache Parquet format with per-hour partitions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example = new aws.ec2.FlowLog(\"example\", {\n logDestination: exampleBucketV2.arn,\n logDestinationType: \"s3\",\n trafficType: \"ALL\",\n vpcId: exampleAwsVpc.id,\n destinationOptions: {\n fileFormat: \"parquet\",\n perHourPartition: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample = aws.ec2.FlowLog(\"example\",\n log_destination=example_bucket_v2.arn,\n log_destination_type=\"s3\",\n traffic_type=\"ALL\",\n vpc_id=example_aws_vpc[\"id\"],\n destination_options={\n \"file_format\": \"parquet\",\n \"per_hour_partition\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example = new Aws.Ec2.FlowLog(\"example\", new()\n {\n LogDestination = exampleBucketV2.Arn,\n LogDestinationType = \"s3\",\n TrafficType = \"ALL\",\n VpcId = exampleAwsVpc.Id,\n DestinationOptions = new Aws.Ec2.Inputs.FlowLogDestinationOptionsArgs\n {\n FileFormat = \"parquet\",\n PerHourPartition = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewFlowLog(ctx, \"example\", \u0026ec2.FlowLogArgs{\n\t\t\tLogDestination: exampleBucketV2.Arn,\n\t\t\tLogDestinationType: pulumi.String(\"s3\"),\n\t\t\tTrafficType: pulumi.String(\"ALL\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tDestinationOptions: \u0026ec2.FlowLogDestinationOptionsArgs{\n\t\t\t\tFileFormat: pulumi.String(\"parquet\"),\n\t\t\t\tPerHourPartition: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.ec2.FlowLog;\nimport com.pulumi.aws.ec2.FlowLogArgs;\nimport com.pulumi.aws.ec2.inputs.FlowLogDestinationOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var example = new FlowLog(\"example\", FlowLogArgs.builder()\n .logDestination(exampleBucketV2.arn())\n .logDestinationType(\"s3\")\n .trafficType(\"ALL\")\n .vpcId(exampleAwsVpc.id())\n .destinationOptions(FlowLogDestinationOptionsArgs.builder()\n .fileFormat(\"parquet\")\n .perHourPartition(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:FlowLog\n properties:\n logDestination: ${exampleBucketV2.arn}\n logDestinationType: s3\n trafficType: ALL\n vpcId: ${exampleAwsVpc.id}\n destinationOptions:\n fileFormat: parquet\n perHourPartition: true\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Flow Logs using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/flowLog:FlowLog test_flow_log fl-1a2b3c4d\n```\n", "properties": { "arn": { "type": "string", @@ -237691,7 +237691,7 @@ } }, "aws:ec2/instance:Instance": { - "description": "Provides an EC2 instance resource. This allows instances to be created, updated, and deleted.\n\n## Example Usage\n\n### Basic example using AMI lookup\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ubuntu = aws.ec2.getAmi({\n mostRecent: true,\n filters: [\n {\n name: \"name\",\n values: [\"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\"],\n },\n {\n name: \"virtualization-type\",\n values: [\"hvm\"],\n },\n ],\n owners: [\"099720109477\"],\n});\nconst web = new aws.ec2.Instance(\"web\", {\n ami: ubuntu.then(ubuntu =\u003e ubuntu.id),\n instanceType: aws.ec2.InstanceType.T3_Micro,\n tags: {\n Name: \"HelloWorld\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nubuntu = aws.ec2.get_ami(most_recent=True,\n filters=[\n {\n \"name\": \"name\",\n \"values\": [\"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\"],\n },\n {\n \"name\": \"virtualization-type\",\n \"values\": [\"hvm\"],\n },\n ],\n owners=[\"099720109477\"])\nweb = aws.ec2.Instance(\"web\",\n ami=ubuntu.id,\n instance_type=aws.ec2.InstanceType.T3_MICRO,\n tags={\n \"Name\": \"HelloWorld\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ubuntu = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"virtualization-type\",\n Values = new[]\n {\n \"hvm\",\n },\n },\n },\n Owners = new[]\n {\n \"099720109477\",\n },\n });\n\n var web = new Aws.Ec2.Instance(\"web\", new()\n {\n Ami = ubuntu.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T3_Micro,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tubuntu, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"virtualization-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"hvm\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOwners: []string{\n\t\t\t\t\"099720109477\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"web\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(ubuntu.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T3_Micro),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ubuntu = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"virtualization-type\")\n .values(\"hvm\")\n .build())\n .owners(\"099720109477\")\n .build());\n\n var web = new Instance(\"web\", InstanceArgs.builder()\n .ami(ubuntu.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t3.micro\")\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: aws:ec2:Instance\n properties:\n ami: ${ubuntu.id}\n instanceType: t3.micro\n tags:\n Name: HelloWorld\nvariables:\n ubuntu:\n fn::invoke:\n function: aws:ec2:getAmi\n arguments:\n mostRecent: true\n filters:\n - name: name\n values:\n - ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\n - name: virtualization-type\n values:\n - hvm\n owners:\n - '099720109477'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Spot instance example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst this = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [\n {\n name: \"architecture\",\n values: [\"arm64\"],\n },\n {\n name: \"name\",\n values: [\"al2023-ami-2023*\"],\n },\n ],\n});\nconst thisInstance = new aws.ec2.Instance(\"this\", {\n ami: _this.then(_this =\u003e _this.id),\n instanceMarketOptions: {\n marketType: \"spot\",\n spotOptions: {\n maxPrice: \"0.0031\",\n },\n },\n instanceType: aws.ec2.InstanceType.T4g_Nano,\n tags: {\n Name: \"test-spot\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nthis = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[\n {\n \"name\": \"architecture\",\n \"values\": [\"arm64\"],\n },\n {\n \"name\": \"name\",\n \"values\": [\"al2023-ami-2023*\"],\n },\n ])\nthis_instance = aws.ec2.Instance(\"this\",\n ami=this.id,\n instance_market_options={\n \"market_type\": \"spot\",\n \"spot_options\": {\n \"max_price\": \"0.0031\",\n },\n },\n instance_type=aws.ec2.InstanceType.T4G_NANO,\n tags={\n \"Name\": \"test-spot\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"architecture\",\n Values = new[]\n {\n \"arm64\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"al2023-ami-2023*\",\n },\n },\n },\n });\n\n var thisInstance = new Aws.Ec2.Instance(\"this\", new()\n {\n Ami = @this.Apply(@this =\u003e @this.Apply(getAmiResult =\u003e getAmiResult.Id)),\n InstanceMarketOptions = new Aws.Ec2.Inputs.InstanceInstanceMarketOptionsArgs\n {\n MarketType = \"spot\",\n SpotOptions = new Aws.Ec2.Inputs.InstanceInstanceMarketOptionsSpotOptionsArgs\n {\n MaxPrice = \"0.0031\",\n },\n },\n InstanceType = Aws.Ec2.InstanceType.T4g_Nano,\n Tags = \n {\n { \"Name\", \"test-spot\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"architecture\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"arm64\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"al2023-ami-2023*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"this\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(this.Id),\n\t\t\tInstanceMarketOptions: \u0026ec2.InstanceInstanceMarketOptionsArgs{\n\t\t\t\tMarketType: pulumi.String(\"spot\"),\n\t\t\t\tSpotOptions: \u0026ec2.InstanceInstanceMarketOptionsSpotOptionsArgs{\n\t\t\t\t\tMaxPrice: pulumi.String(\"0.0031\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T4g_Nano),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"test-spot\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceInstanceMarketOptionsArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceInstanceMarketOptionsSpotOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var this = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"architecture\")\n .values(\"arm64\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"al2023-ami-2023*\")\n .build())\n .build());\n\n var thisInstance = new Instance(\"thisInstance\", InstanceArgs.builder()\n .ami(this_.id())\n .instanceMarketOptions(InstanceInstanceMarketOptionsArgs.builder()\n .marketType(\"spot\")\n .spotOptions(InstanceInstanceMarketOptionsSpotOptionsArgs.builder()\n .maxPrice(0.0031)\n .build())\n .build())\n .instanceType(\"t4g.nano\")\n .tags(Map.of(\"Name\", \"test-spot\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n thisInstance:\n type: aws:ec2:Instance\n name: this\n properties:\n ami: ${this.id}\n instanceMarketOptions:\n marketType: spot\n spotOptions:\n maxPrice: 0.0031\n instanceType: t4g.nano\n tags:\n Name: test-spot\nvariables:\n this:\n fn::invoke:\n function: aws:ec2:getAmi\n arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: architecture\n values:\n - arm64\n - name: name\n values:\n - al2023-ami-2023*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Network and credit specification example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myVpc = new aws.ec2.Vpc(\"my_vpc\", {\n cidrBlock: \"172.16.0.0/16\",\n tags: {\n Name: \"tf-example\",\n },\n});\nconst mySubnet = new aws.ec2.Subnet(\"my_subnet\", {\n vpcId: myVpc.id,\n cidrBlock: \"172.16.10.0/24\",\n availabilityZone: \"us-west-2a\",\n tags: {\n Name: \"tf-example\",\n },\n});\nconst foo = new aws.ec2.NetworkInterface(\"foo\", {\n subnetId: mySubnet.id,\n privateIps: [\"172.16.10.100\"],\n tags: {\n Name: \"primary_network_interface\",\n },\n});\nconst fooInstance = new aws.ec2.Instance(\"foo\", {\n ami: \"ami-005e54dee72cc1d00\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n networkInterfaces: [{\n networkInterfaceId: foo.id,\n deviceIndex: 0,\n }],\n creditSpecification: {\n cpuCredits: \"unlimited\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_vpc = aws.ec2.Vpc(\"my_vpc\",\n cidr_block=\"172.16.0.0/16\",\n tags={\n \"Name\": \"tf-example\",\n })\nmy_subnet = aws.ec2.Subnet(\"my_subnet\",\n vpc_id=my_vpc.id,\n cidr_block=\"172.16.10.0/24\",\n availability_zone=\"us-west-2a\",\n tags={\n \"Name\": \"tf-example\",\n })\nfoo = aws.ec2.NetworkInterface(\"foo\",\n subnet_id=my_subnet.id,\n private_ips=[\"172.16.10.100\"],\n tags={\n \"Name\": \"primary_network_interface\",\n })\nfoo_instance = aws.ec2.Instance(\"foo\",\n ami=\"ami-005e54dee72cc1d00\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n network_interfaces=[{\n \"network_interface_id\": foo.id,\n \"device_index\": 0,\n }],\n credit_specification={\n \"cpu_credits\": \"unlimited\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myVpc = new Aws.Ec2.Vpc(\"my_vpc\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n var mySubnet = new Aws.Ec2.Subnet(\"my_subnet\", new()\n {\n VpcId = myVpc.Id,\n CidrBlock = \"172.16.10.0/24\",\n AvailabilityZone = \"us-west-2a\",\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n var foo = new Aws.Ec2.NetworkInterface(\"foo\", new()\n {\n SubnetId = mySubnet.Id,\n PrivateIps = new[]\n {\n \"172.16.10.100\",\n },\n Tags = \n {\n { \"Name\", \"primary_network_interface\" },\n },\n });\n\n var fooInstance = new Aws.Ec2.Instance(\"foo\", new()\n {\n Ami = \"ami-005e54dee72cc1d00\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n NetworkInterfaces = new[]\n {\n new Aws.Ec2.Inputs.InstanceNetworkInterfaceArgs\n {\n NetworkInterfaceId = foo.Id,\n DeviceIndex = 0,\n },\n },\n CreditSpecification = new Aws.Ec2.Inputs.InstanceCreditSpecificationArgs\n {\n CpuCredits = \"unlimited\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyVpc, err := ec2.NewVpc(ctx, \"my_vpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmySubnet, err := ec2.NewSubnet(ctx, \"my_subnet\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: myVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.10.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewNetworkInterface(ctx, \"foo\", \u0026ec2.NetworkInterfaceArgs{\n\t\t\tSubnetId: mySubnet.ID(),\n\t\t\tPrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"172.16.10.100\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"primary_network_interface\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"foo\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-005e54dee72cc1d00\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tNetworkInterfaces: ec2.InstanceNetworkInterfaceArray{\n\t\t\t\t\u0026ec2.InstanceNetworkInterfaceArgs{\n\t\t\t\t\tNetworkInterfaceId: foo.ID(),\n\t\t\t\t\tDeviceIndex: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCreditSpecification: \u0026ec2.InstanceCreditSpecificationArgs{\n\t\t\t\tCpuCredits: pulumi.String(\"unlimited\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.NetworkInterface;\nimport com.pulumi.aws.ec2.NetworkInterfaceArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceNetworkInterfaceArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceCreditSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myVpc = new Vpc(\"myVpc\", VpcArgs.builder()\n .cidrBlock(\"172.16.0.0/16\")\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n var mySubnet = new Subnet(\"mySubnet\", SubnetArgs.builder()\n .vpcId(myVpc.id())\n .cidrBlock(\"172.16.10.0/24\")\n .availabilityZone(\"us-west-2a\")\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n var foo = new NetworkInterface(\"foo\", NetworkInterfaceArgs.builder()\n .subnetId(mySubnet.id())\n .privateIps(\"172.16.10.100\")\n .tags(Map.of(\"Name\", \"primary_network_interface\"))\n .build());\n\n var fooInstance = new Instance(\"fooInstance\", InstanceArgs.builder()\n .ami(\"ami-005e54dee72cc1d00\")\n .instanceType(\"t2.micro\")\n .networkInterfaces(InstanceNetworkInterfaceArgs.builder()\n .networkInterfaceId(foo.id())\n .deviceIndex(0)\n .build())\n .creditSpecification(InstanceCreditSpecificationArgs.builder()\n .cpuCredits(\"unlimited\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myVpc:\n type: aws:ec2:Vpc\n name: my_vpc\n properties:\n cidrBlock: 172.16.0.0/16\n tags:\n Name: tf-example\n mySubnet:\n type: aws:ec2:Subnet\n name: my_subnet\n properties:\n vpcId: ${myVpc.id}\n cidrBlock: 172.16.10.0/24\n availabilityZone: us-west-2a\n tags:\n Name: tf-example\n foo:\n type: aws:ec2:NetworkInterface\n properties:\n subnetId: ${mySubnet.id}\n privateIps:\n - 172.16.10.100\n tags:\n Name: primary_network_interface\n fooInstance:\n type: aws:ec2:Instance\n name: foo\n properties:\n ami: ami-005e54dee72cc1d00\n instanceType: t2.micro\n networkInterfaces:\n - networkInterfaceId: ${foo.id}\n deviceIndex: 0\n creditSpecification:\n cpuCredits: unlimited\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CPU options example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"172.16.0.0/16\",\n tags: {\n Name: \"tf-example\",\n },\n});\nconst exampleSubnet = new aws.ec2.Subnet(\"example\", {\n vpcId: example.id,\n cidrBlock: \"172.16.10.0/24\",\n availabilityZone: \"us-east-2a\",\n tags: {\n Name: \"tf-example\",\n },\n});\nconst amzn-linux-2023-ami = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [{\n name: \"name\",\n values: [\"al2023-ami-2023.*-x86_64\"],\n }],\n});\nconst exampleInstance = new aws.ec2.Instance(\"example\", {\n ami: amzn_linux_2023_ami.then(amzn_linux_2023_ami =\u003e amzn_linux_2023_ami.id),\n instanceType: aws.ec2.InstanceType.C6a_2XLarge,\n subnetId: exampleSubnet.id,\n cpuOptions: {\n coreCount: 2,\n threadsPerCore: 2,\n },\n tags: {\n Name: \"tf-example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\",\n cidr_block=\"172.16.0.0/16\",\n tags={\n \"Name\": \"tf-example\",\n })\nexample_subnet = aws.ec2.Subnet(\"example\",\n vpc_id=example.id,\n cidr_block=\"172.16.10.0/24\",\n availability_zone=\"us-east-2a\",\n tags={\n \"Name\": \"tf-example\",\n })\namzn_linux_2023_ami = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[{\n \"name\": \"name\",\n \"values\": [\"al2023-ami-2023.*-x86_64\"],\n }])\nexample_instance = aws.ec2.Instance(\"example\",\n ami=amzn_linux_2023_ami.id,\n instance_type=aws.ec2.InstanceType.C6A_2_X_LARGE,\n subnet_id=example_subnet.id,\n cpu_options={\n \"core_count\": 2,\n \"threads_per_core\": 2,\n },\n tags={\n \"Name\": \"tf-example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n var exampleSubnet = new Aws.Ec2.Subnet(\"example\", new()\n {\n VpcId = example.Id,\n CidrBlock = \"172.16.10.0/24\",\n AvailabilityZone = \"us-east-2a\",\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n var amzn_linux_2023_ami = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"al2023-ami-2023.*-x86_64\",\n },\n },\n },\n });\n\n var exampleInstance = new Aws.Ec2.Instance(\"example\", new()\n {\n Ami = amzn_linux_2023_ami.Apply(amzn_linux_2023_ami =\u003e amzn_linux_2023_ami.Apply(getAmiResult =\u003e getAmiResult.Id)),\n InstanceType = Aws.Ec2.InstanceType.C6a_2XLarge,\n SubnetId = exampleSubnet.Id,\n CpuOptions = new Aws.Ec2.Inputs.InstanceCpuOptionsArgs\n {\n CoreCount = 2,\n ThreadsPerCore = 2,\n },\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.10.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-2a\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tamzn_linux_2023_ami, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"al2023-ami-2023.*-x86_64\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"example\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(amzn_linux_2023_ami.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_C6a_2XLarge),\n\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\tCpuOptions: \u0026ec2.InstanceCpuOptionsArgs{\n\t\t\t\tCoreCount: pulumi.Int(2),\n\t\t\t\tThreadsPerCore: pulumi.Int(2),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceCpuOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Vpc(\"example\", VpcArgs.builder()\n .cidrBlock(\"172.16.0.0/16\")\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n .vpcId(example.id())\n .cidrBlock(\"172.16.10.0/24\")\n .availabilityZone(\"us-east-2a\")\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n final var amzn-linux-2023-ami = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters(GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"al2023-ami-2023.*-x86_64\")\n .build())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .ami(amzn_linux_2023_ami.id())\n .instanceType(\"c6a.2xlarge\")\n .subnetId(exampleSubnet.id())\n .cpuOptions(InstanceCpuOptionsArgs.builder()\n .coreCount(2)\n .threadsPerCore(2)\n .build())\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 172.16.0.0/16\n tags:\n Name: tf-example\n exampleSubnet:\n type: aws:ec2:Subnet\n name: example\n properties:\n vpcId: ${example.id}\n cidrBlock: 172.16.10.0/24\n availabilityZone: us-east-2a\n tags:\n Name: tf-example\n exampleInstance:\n type: aws:ec2:Instance\n name: example\n properties:\n ami: ${[\"amzn-linux-2023-ami\"].id}\n instanceType: c6a.2xlarge\n subnetId: ${exampleSubnet.id}\n cpuOptions:\n coreCount: 2\n threadsPerCore: 2\n tags:\n Name: tf-example\nvariables:\n amzn-linux-2023-ami:\n fn::invoke:\n function: aws:ec2:getAmi\n arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: name\n values:\n - al2023-ami-2023.*-x86_64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Host resource group or License Manager registered AMI example\n\nA host resource group is a collection of Dedicated Hosts that you can manage as a single entity. As you launch instances, License Manager allocates the hosts and launches instances on them based on the settings that you configured. You can add existing Dedicated Hosts to a host resource group and take advantage of automated host management through License Manager.\n\n\u003e **NOTE:** A dedicated host is automatically associated with a License Manager host resource group if **Allocate hosts automatically** is enabled. Otherwise, use the `host_resource_group_arn` argument to explicitly associate the instance with the host resource group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _this = new aws.ec2.Instance(\"this\", {\n ami: \"ami-0dcc1e21636832c5d\",\n instanceType: aws.ec2.InstanceType.M5_Large,\n hostResourceGroupArn: \"arn:aws:resource-groups:us-west-2:123456789012:group/win-testhost\",\n tenancy: \"host\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nthis = aws.ec2.Instance(\"this\",\n ami=\"ami-0dcc1e21636832c5d\",\n instance_type=aws.ec2.InstanceType.M5_LARGE,\n host_resource_group_arn=\"arn:aws:resource-groups:us-west-2:123456789012:group/win-testhost\",\n tenancy=\"host\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new Aws.Ec2.Instance(\"this\", new()\n {\n Ami = \"ami-0dcc1e21636832c5d\",\n InstanceType = Aws.Ec2.InstanceType.M5_Large,\n HostResourceGroupArn = \"arn:aws:resource-groups:us-west-2:123456789012:group/win-testhost\",\n Tenancy = \"host\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewInstance(ctx, \"this\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-0dcc1e21636832c5d\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_M5_Large),\n\t\t\tHostResourceGroupArn: pulumi.String(\"arn:aws:resource-groups:us-west-2:123456789012:group/win-testhost\"),\n\t\t\tTenancy: pulumi.String(\"host\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var this_ = new Instance(\"this\", InstanceArgs.builder()\n .ami(\"ami-0dcc1e21636832c5d\")\n .instanceType(\"m5.large\")\n .hostResourceGroupArn(\"arn:aws:resource-groups:us-west-2:123456789012:group/win-testhost\")\n .tenancy(\"host\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: aws:ec2:Instance\n properties:\n ami: ami-0dcc1e21636832c5d\n instanceType: m5.large\n hostResourceGroupArn: arn:aws:resource-groups:us-west-2:123456789012:group/win-testhost\n tenancy: host\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Tag Guide\n\nThese are the five types of tags you might encounter relative to an `aws.ec2.Instance`:\n\n1. **Instance tags**: Applied to instances but not to `ebs_block_device` and `root_block_device` volumes.\n2. **Default tags**: Applied to the instance and to `ebs_block_device` and `root_block_device` volumes.\n3. **Volume tags**: Applied during creation to `ebs_block_device` and `root_block_device` volumes.\n4. **Root block device tags**: Applied only to the `root_block_device` volume. These conflict with `volume_tags`.\n5. **EBS block device tags**: Applied only to the specific `ebs_block_device` volume you configure them for and cannot be updated. These conflict with `volume_tags`.\n\nDo not use `volume_tags` if you plan to manage block device tags outside the `aws.ec2.Instance` configuration, such as using `tags` in an `aws.ebs.Volume` resource attached via `aws.ec2.VolumeAttachment`. Doing so will result in resource cycling and inconsistent behavior.\n\n## Import\n\nUsing `pulumi import`, import instances using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/instance:Instance web i-12345678\n```\n", + "description": "Provides an EC2 instance resource. This allows instances to be created, updated, and deleted.\n\n## Example Usage\n\n### Basic example using AMI lookup\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ubuntu = aws.ec2.getAmi({\n mostRecent: true,\n filters: [\n {\n name: \"name\",\n values: [\"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\"],\n },\n {\n name: \"virtualization-type\",\n values: [\"hvm\"],\n },\n ],\n owners: [\"099720109477\"],\n});\nconst web = new aws.ec2.Instance(\"web\", {\n ami: ubuntu.then(ubuntu =\u003e ubuntu.id),\n instanceType: aws.ec2.InstanceType.T3_Micro,\n tags: {\n Name: \"HelloWorld\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nubuntu = aws.ec2.get_ami(most_recent=True,\n filters=[\n {\n \"name\": \"name\",\n \"values\": [\"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\"],\n },\n {\n \"name\": \"virtualization-type\",\n \"values\": [\"hvm\"],\n },\n ],\n owners=[\"099720109477\"])\nweb = aws.ec2.Instance(\"web\",\n ami=ubuntu.id,\n instance_type=aws.ec2.InstanceType.T3_MICRO,\n tags={\n \"Name\": \"HelloWorld\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ubuntu = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"virtualization-type\",\n Values = new[]\n {\n \"hvm\",\n },\n },\n },\n Owners = new[]\n {\n \"099720109477\",\n },\n });\n\n var web = new Aws.Ec2.Instance(\"web\", new()\n {\n Ami = ubuntu.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T3_Micro,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tubuntu, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"virtualization-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"hvm\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOwners: []string{\n\t\t\t\t\"099720109477\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"web\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(ubuntu.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T3_Micro),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ubuntu = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"virtualization-type\")\n .values(\"hvm\")\n .build())\n .owners(\"099720109477\")\n .build());\n\n var web = new Instance(\"web\", InstanceArgs.builder()\n .ami(ubuntu.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t3.micro\")\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: aws:ec2:Instance\n properties:\n ami: ${ubuntu.id}\n instanceType: t3.micro\n tags:\n Name: HelloWorld\nvariables:\n ubuntu:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n filters:\n - name: name\n values:\n - ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\n - name: virtualization-type\n values:\n - hvm\n owners:\n - '099720109477'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Spot instance example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst this = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [\n {\n name: \"architecture\",\n values: [\"arm64\"],\n },\n {\n name: \"name\",\n values: [\"al2023-ami-2023*\"],\n },\n ],\n});\nconst thisInstance = new aws.ec2.Instance(\"this\", {\n ami: _this.then(_this =\u003e _this.id),\n instanceMarketOptions: {\n marketType: \"spot\",\n spotOptions: {\n maxPrice: \"0.0031\",\n },\n },\n instanceType: aws.ec2.InstanceType.T4g_Nano,\n tags: {\n Name: \"test-spot\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nthis = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[\n {\n \"name\": \"architecture\",\n \"values\": [\"arm64\"],\n },\n {\n \"name\": \"name\",\n \"values\": [\"al2023-ami-2023*\"],\n },\n ])\nthis_instance = aws.ec2.Instance(\"this\",\n ami=this.id,\n instance_market_options={\n \"market_type\": \"spot\",\n \"spot_options\": {\n \"max_price\": \"0.0031\",\n },\n },\n instance_type=aws.ec2.InstanceType.T4G_NANO,\n tags={\n \"Name\": \"test-spot\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"architecture\",\n Values = new[]\n {\n \"arm64\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"al2023-ami-2023*\",\n },\n },\n },\n });\n\n var thisInstance = new Aws.Ec2.Instance(\"this\", new()\n {\n Ami = @this.Apply(@this =\u003e @this.Apply(getAmiResult =\u003e getAmiResult.Id)),\n InstanceMarketOptions = new Aws.Ec2.Inputs.InstanceInstanceMarketOptionsArgs\n {\n MarketType = \"spot\",\n SpotOptions = new Aws.Ec2.Inputs.InstanceInstanceMarketOptionsSpotOptionsArgs\n {\n MaxPrice = \"0.0031\",\n },\n },\n InstanceType = Aws.Ec2.InstanceType.T4g_Nano,\n Tags = \n {\n { \"Name\", \"test-spot\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"architecture\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"arm64\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"al2023-ami-2023*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"this\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(this.Id),\n\t\t\tInstanceMarketOptions: \u0026ec2.InstanceInstanceMarketOptionsArgs{\n\t\t\t\tMarketType: pulumi.String(\"spot\"),\n\t\t\t\tSpotOptions: \u0026ec2.InstanceInstanceMarketOptionsSpotOptionsArgs{\n\t\t\t\t\tMaxPrice: pulumi.String(\"0.0031\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T4g_Nano),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"test-spot\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceInstanceMarketOptionsArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceInstanceMarketOptionsSpotOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var this = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"architecture\")\n .values(\"arm64\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"al2023-ami-2023*\")\n .build())\n .build());\n\n var thisInstance = new Instance(\"thisInstance\", InstanceArgs.builder()\n .ami(this_.id())\n .instanceMarketOptions(InstanceInstanceMarketOptionsArgs.builder()\n .marketType(\"spot\")\n .spotOptions(InstanceInstanceMarketOptionsSpotOptionsArgs.builder()\n .maxPrice(0.0031)\n .build())\n .build())\n .instanceType(\"t4g.nano\")\n .tags(Map.of(\"Name\", \"test-spot\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n thisInstance:\n type: aws:ec2:Instance\n name: this\n properties:\n ami: ${this.id}\n instanceMarketOptions:\n marketType: spot\n spotOptions:\n maxPrice: 0.0031\n instanceType: t4g.nano\n tags:\n Name: test-spot\nvariables:\n this:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: architecture\n values:\n - arm64\n - name: name\n values:\n - al2023-ami-2023*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Network and credit specification example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myVpc = new aws.ec2.Vpc(\"my_vpc\", {\n cidrBlock: \"172.16.0.0/16\",\n tags: {\n Name: \"tf-example\",\n },\n});\nconst mySubnet = new aws.ec2.Subnet(\"my_subnet\", {\n vpcId: myVpc.id,\n cidrBlock: \"172.16.10.0/24\",\n availabilityZone: \"us-west-2a\",\n tags: {\n Name: \"tf-example\",\n },\n});\nconst foo = new aws.ec2.NetworkInterface(\"foo\", {\n subnetId: mySubnet.id,\n privateIps: [\"172.16.10.100\"],\n tags: {\n Name: \"primary_network_interface\",\n },\n});\nconst fooInstance = new aws.ec2.Instance(\"foo\", {\n ami: \"ami-005e54dee72cc1d00\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n networkInterfaces: [{\n networkInterfaceId: foo.id,\n deviceIndex: 0,\n }],\n creditSpecification: {\n cpuCredits: \"unlimited\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_vpc = aws.ec2.Vpc(\"my_vpc\",\n cidr_block=\"172.16.0.0/16\",\n tags={\n \"Name\": \"tf-example\",\n })\nmy_subnet = aws.ec2.Subnet(\"my_subnet\",\n vpc_id=my_vpc.id,\n cidr_block=\"172.16.10.0/24\",\n availability_zone=\"us-west-2a\",\n tags={\n \"Name\": \"tf-example\",\n })\nfoo = aws.ec2.NetworkInterface(\"foo\",\n subnet_id=my_subnet.id,\n private_ips=[\"172.16.10.100\"],\n tags={\n \"Name\": \"primary_network_interface\",\n })\nfoo_instance = aws.ec2.Instance(\"foo\",\n ami=\"ami-005e54dee72cc1d00\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n network_interfaces=[{\n \"network_interface_id\": foo.id,\n \"device_index\": 0,\n }],\n credit_specification={\n \"cpu_credits\": \"unlimited\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myVpc = new Aws.Ec2.Vpc(\"my_vpc\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n var mySubnet = new Aws.Ec2.Subnet(\"my_subnet\", new()\n {\n VpcId = myVpc.Id,\n CidrBlock = \"172.16.10.0/24\",\n AvailabilityZone = \"us-west-2a\",\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n var foo = new Aws.Ec2.NetworkInterface(\"foo\", new()\n {\n SubnetId = mySubnet.Id,\n PrivateIps = new[]\n {\n \"172.16.10.100\",\n },\n Tags = \n {\n { \"Name\", \"primary_network_interface\" },\n },\n });\n\n var fooInstance = new Aws.Ec2.Instance(\"foo\", new()\n {\n Ami = \"ami-005e54dee72cc1d00\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n NetworkInterfaces = new[]\n {\n new Aws.Ec2.Inputs.InstanceNetworkInterfaceArgs\n {\n NetworkInterfaceId = foo.Id,\n DeviceIndex = 0,\n },\n },\n CreditSpecification = new Aws.Ec2.Inputs.InstanceCreditSpecificationArgs\n {\n CpuCredits = \"unlimited\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyVpc, err := ec2.NewVpc(ctx, \"my_vpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmySubnet, err := ec2.NewSubnet(ctx, \"my_subnet\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: myVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.10.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewNetworkInterface(ctx, \"foo\", \u0026ec2.NetworkInterfaceArgs{\n\t\t\tSubnetId: mySubnet.ID(),\n\t\t\tPrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"172.16.10.100\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"primary_network_interface\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"foo\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-005e54dee72cc1d00\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tNetworkInterfaces: ec2.InstanceNetworkInterfaceArray{\n\t\t\t\t\u0026ec2.InstanceNetworkInterfaceArgs{\n\t\t\t\t\tNetworkInterfaceId: foo.ID(),\n\t\t\t\t\tDeviceIndex: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCreditSpecification: \u0026ec2.InstanceCreditSpecificationArgs{\n\t\t\t\tCpuCredits: pulumi.String(\"unlimited\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.NetworkInterface;\nimport com.pulumi.aws.ec2.NetworkInterfaceArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceNetworkInterfaceArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceCreditSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myVpc = new Vpc(\"myVpc\", VpcArgs.builder()\n .cidrBlock(\"172.16.0.0/16\")\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n var mySubnet = new Subnet(\"mySubnet\", SubnetArgs.builder()\n .vpcId(myVpc.id())\n .cidrBlock(\"172.16.10.0/24\")\n .availabilityZone(\"us-west-2a\")\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n var foo = new NetworkInterface(\"foo\", NetworkInterfaceArgs.builder()\n .subnetId(mySubnet.id())\n .privateIps(\"172.16.10.100\")\n .tags(Map.of(\"Name\", \"primary_network_interface\"))\n .build());\n\n var fooInstance = new Instance(\"fooInstance\", InstanceArgs.builder()\n .ami(\"ami-005e54dee72cc1d00\")\n .instanceType(\"t2.micro\")\n .networkInterfaces(InstanceNetworkInterfaceArgs.builder()\n .networkInterfaceId(foo.id())\n .deviceIndex(0)\n .build())\n .creditSpecification(InstanceCreditSpecificationArgs.builder()\n .cpuCredits(\"unlimited\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myVpc:\n type: aws:ec2:Vpc\n name: my_vpc\n properties:\n cidrBlock: 172.16.0.0/16\n tags:\n Name: tf-example\n mySubnet:\n type: aws:ec2:Subnet\n name: my_subnet\n properties:\n vpcId: ${myVpc.id}\n cidrBlock: 172.16.10.0/24\n availabilityZone: us-west-2a\n tags:\n Name: tf-example\n foo:\n type: aws:ec2:NetworkInterface\n properties:\n subnetId: ${mySubnet.id}\n privateIps:\n - 172.16.10.100\n tags:\n Name: primary_network_interface\n fooInstance:\n type: aws:ec2:Instance\n name: foo\n properties:\n ami: ami-005e54dee72cc1d00\n instanceType: t2.micro\n networkInterfaces:\n - networkInterfaceId: ${foo.id}\n deviceIndex: 0\n creditSpecification:\n cpuCredits: unlimited\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CPU options example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"172.16.0.0/16\",\n tags: {\n Name: \"tf-example\",\n },\n});\nconst exampleSubnet = new aws.ec2.Subnet(\"example\", {\n vpcId: example.id,\n cidrBlock: \"172.16.10.0/24\",\n availabilityZone: \"us-east-2a\",\n tags: {\n Name: \"tf-example\",\n },\n});\nconst amzn-linux-2023-ami = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [{\n name: \"name\",\n values: [\"al2023-ami-2023.*-x86_64\"],\n }],\n});\nconst exampleInstance = new aws.ec2.Instance(\"example\", {\n ami: amzn_linux_2023_ami.then(amzn_linux_2023_ami =\u003e amzn_linux_2023_ami.id),\n instanceType: aws.ec2.InstanceType.C6a_2XLarge,\n subnetId: exampleSubnet.id,\n cpuOptions: {\n coreCount: 2,\n threadsPerCore: 2,\n },\n tags: {\n Name: \"tf-example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\",\n cidr_block=\"172.16.0.0/16\",\n tags={\n \"Name\": \"tf-example\",\n })\nexample_subnet = aws.ec2.Subnet(\"example\",\n vpc_id=example.id,\n cidr_block=\"172.16.10.0/24\",\n availability_zone=\"us-east-2a\",\n tags={\n \"Name\": \"tf-example\",\n })\namzn_linux_2023_ami = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[{\n \"name\": \"name\",\n \"values\": [\"al2023-ami-2023.*-x86_64\"],\n }])\nexample_instance = aws.ec2.Instance(\"example\",\n ami=amzn_linux_2023_ami.id,\n instance_type=aws.ec2.InstanceType.C6A_2_X_LARGE,\n subnet_id=example_subnet.id,\n cpu_options={\n \"core_count\": 2,\n \"threads_per_core\": 2,\n },\n tags={\n \"Name\": \"tf-example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n var exampleSubnet = new Aws.Ec2.Subnet(\"example\", new()\n {\n VpcId = example.Id,\n CidrBlock = \"172.16.10.0/24\",\n AvailabilityZone = \"us-east-2a\",\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n var amzn_linux_2023_ami = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"al2023-ami-2023.*-x86_64\",\n },\n },\n },\n });\n\n var exampleInstance = new Aws.Ec2.Instance(\"example\", new()\n {\n Ami = amzn_linux_2023_ami.Apply(amzn_linux_2023_ami =\u003e amzn_linux_2023_ami.Apply(getAmiResult =\u003e getAmiResult.Id)),\n InstanceType = Aws.Ec2.InstanceType.C6a_2XLarge,\n SubnetId = exampleSubnet.Id,\n CpuOptions = new Aws.Ec2.Inputs.InstanceCpuOptionsArgs\n {\n CoreCount = 2,\n ThreadsPerCore = 2,\n },\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.10.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-2a\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tamzn_linux_2023_ami, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"al2023-ami-2023.*-x86_64\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"example\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(amzn_linux_2023_ami.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_C6a_2XLarge),\n\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\tCpuOptions: \u0026ec2.InstanceCpuOptionsArgs{\n\t\t\t\tCoreCount: pulumi.Int(2),\n\t\t\t\tThreadsPerCore: pulumi.Int(2),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceCpuOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Vpc(\"example\", VpcArgs.builder()\n .cidrBlock(\"172.16.0.0/16\")\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n .vpcId(example.id())\n .cidrBlock(\"172.16.10.0/24\")\n .availabilityZone(\"us-east-2a\")\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n final var amzn-linux-2023-ami = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters(GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"al2023-ami-2023.*-x86_64\")\n .build())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .ami(amzn_linux_2023_ami.id())\n .instanceType(\"c6a.2xlarge\")\n .subnetId(exampleSubnet.id())\n .cpuOptions(InstanceCpuOptionsArgs.builder()\n .coreCount(2)\n .threadsPerCore(2)\n .build())\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 172.16.0.0/16\n tags:\n Name: tf-example\n exampleSubnet:\n type: aws:ec2:Subnet\n name: example\n properties:\n vpcId: ${example.id}\n cidrBlock: 172.16.10.0/24\n availabilityZone: us-east-2a\n tags:\n Name: tf-example\n exampleInstance:\n type: aws:ec2:Instance\n name: example\n properties:\n ami: ${[\"amzn-linux-2023-ami\"].id}\n instanceType: c6a.2xlarge\n subnetId: ${exampleSubnet.id}\n cpuOptions:\n coreCount: 2\n threadsPerCore: 2\n tags:\n Name: tf-example\nvariables:\n amzn-linux-2023-ami:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: name\n values:\n - al2023-ami-2023.*-x86_64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Host resource group or License Manager registered AMI example\n\nA host resource group is a collection of Dedicated Hosts that you can manage as a single entity. As you launch instances, License Manager allocates the hosts and launches instances on them based on the settings that you configured. You can add existing Dedicated Hosts to a host resource group and take advantage of automated host management through License Manager.\n\n\u003e **NOTE:** A dedicated host is automatically associated with a License Manager host resource group if **Allocate hosts automatically** is enabled. Otherwise, use the `host_resource_group_arn` argument to explicitly associate the instance with the host resource group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _this = new aws.ec2.Instance(\"this\", {\n ami: \"ami-0dcc1e21636832c5d\",\n instanceType: aws.ec2.InstanceType.M5_Large,\n hostResourceGroupArn: \"arn:aws:resource-groups:us-west-2:123456789012:group/win-testhost\",\n tenancy: \"host\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nthis = aws.ec2.Instance(\"this\",\n ami=\"ami-0dcc1e21636832c5d\",\n instance_type=aws.ec2.InstanceType.M5_LARGE,\n host_resource_group_arn=\"arn:aws:resource-groups:us-west-2:123456789012:group/win-testhost\",\n tenancy=\"host\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new Aws.Ec2.Instance(\"this\", new()\n {\n Ami = \"ami-0dcc1e21636832c5d\",\n InstanceType = Aws.Ec2.InstanceType.M5_Large,\n HostResourceGroupArn = \"arn:aws:resource-groups:us-west-2:123456789012:group/win-testhost\",\n Tenancy = \"host\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewInstance(ctx, \"this\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-0dcc1e21636832c5d\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_M5_Large),\n\t\t\tHostResourceGroupArn: pulumi.String(\"arn:aws:resource-groups:us-west-2:123456789012:group/win-testhost\"),\n\t\t\tTenancy: pulumi.String(\"host\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var this_ = new Instance(\"this\", InstanceArgs.builder()\n .ami(\"ami-0dcc1e21636832c5d\")\n .instanceType(\"m5.large\")\n .hostResourceGroupArn(\"arn:aws:resource-groups:us-west-2:123456789012:group/win-testhost\")\n .tenancy(\"host\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: aws:ec2:Instance\n properties:\n ami: ami-0dcc1e21636832c5d\n instanceType: m5.large\n hostResourceGroupArn: arn:aws:resource-groups:us-west-2:123456789012:group/win-testhost\n tenancy: host\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Tag Guide\n\nThese are the five types of tags you might encounter relative to an `aws.ec2.Instance`:\n\n1. **Instance tags**: Applied to instances but not to `ebs_block_device` and `root_block_device` volumes.\n2. **Default tags**: Applied to the instance and to `ebs_block_device` and `root_block_device` volumes.\n3. **Volume tags**: Applied during creation to `ebs_block_device` and `root_block_device` volumes.\n4. **Root block device tags**: Applied only to the `root_block_device` volume. These conflict with `volume_tags`.\n5. **EBS block device tags**: Applied only to the specific `ebs_block_device` volume you configure them for and cannot be updated. These conflict with `volume_tags`.\n\nDo not use `volume_tags` if you plan to manage block device tags outside the `aws.ec2.Instance` configuration, such as using `tags` in an `aws.ebs.Volume` resource attached via `aws.ec2.VolumeAttachment`. Doing so will result in resource cycling and inconsistent behavior.\n\n## Import\n\nUsing `pulumi import`, import instances using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/instance:Instance web i-12345678\n```\n", "properties": { "ami": { "type": "string", @@ -238679,7 +238679,7 @@ "additionalProperties": { "type": "string" }, - "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n\n\u003e **Note:** It's recommended to denote that the AWS Instance or Elastic IP depends on the Internet Gateway. For example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst gw = new aws.ec2.InternetGateway(\"gw\", {vpcId: main.id});\nconst foo = new aws.ec2.Instance(\"foo\", {}, {\n dependsOn: [gw],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngw = aws.ec2.InternetGateway(\"gw\", vpc_id=main[\"id\"])\nfoo = aws.ec2.Instance(\"foo\", opts = pulumi.ResourceOptions(depends_on=[gw]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gw = new Aws.Ec2.InternetGateway(\"gw\", new()\n {\n VpcId = main.Id,\n });\n\n var foo = new Aws.Ec2.Instance(\"foo\", new()\n {\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgw, err := ec2.NewInternetGateway(ctx, \"gw\", \u0026ec2.InternetGatewayArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"foo\", nil, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var gw = new InternetGateway(\"gw\", InternetGatewayArgs.builder()\n .vpcId(main.id())\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.Empty, CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gw:\n type: aws:ec2:InternetGateway\n properties:\n vpcId: ${main.id}\n foo:\n type: aws:ec2:Instance\n options:\n dependsOn:\n - ${gw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" + "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n\n\u003e **Note:** It's recommended to denote that the AWS Instance or Elastic IP depends on the Internet Gateway. For example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst gw = new aws.ec2.InternetGateway(\"gw\", {vpcId: main.id});\nconst foo = new aws.ec2.Instance(\"foo\", {}, {\n dependsOn: [gw],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngw = aws.ec2.InternetGateway(\"gw\", vpc_id=main[\"id\"])\nfoo = aws.ec2.Instance(\"foo\", opts = pulumi.ResourceOptions(depends_on=[gw]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gw = new Aws.Ec2.InternetGateway(\"gw\", new()\n {\n VpcId = main.Id,\n });\n\n var foo = new Aws.Ec2.Instance(\"foo\", new()\n {\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgw, err := ec2.NewInternetGateway(ctx, \"gw\", \u0026ec2.InternetGatewayArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"foo\", nil, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var gw = new InternetGateway(\"gw\", InternetGatewayArgs.builder()\n .vpcId(main.id())\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.Empty, CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gw:\n type: aws:ec2:InternetGateway\n properties:\n vpcId: ${main.id}\n foo:\n type: aws:ec2:Instance\n options:\n dependson:\n - ${gw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" }, "tagsAll": { "type": "object", @@ -238706,7 +238706,7 @@ "additionalProperties": { "type": "string" }, - "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n\n\u003e **Note:** It's recommended to denote that the AWS Instance or Elastic IP depends on the Internet Gateway. For example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst gw = new aws.ec2.InternetGateway(\"gw\", {vpcId: main.id});\nconst foo = new aws.ec2.Instance(\"foo\", {}, {\n dependsOn: [gw],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngw = aws.ec2.InternetGateway(\"gw\", vpc_id=main[\"id\"])\nfoo = aws.ec2.Instance(\"foo\", opts = pulumi.ResourceOptions(depends_on=[gw]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gw = new Aws.Ec2.InternetGateway(\"gw\", new()\n {\n VpcId = main.Id,\n });\n\n var foo = new Aws.Ec2.Instance(\"foo\", new()\n {\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgw, err := ec2.NewInternetGateway(ctx, \"gw\", \u0026ec2.InternetGatewayArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"foo\", nil, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var gw = new InternetGateway(\"gw\", InternetGatewayArgs.builder()\n .vpcId(main.id())\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.Empty, CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gw:\n type: aws:ec2:InternetGateway\n properties:\n vpcId: ${main.id}\n foo:\n type: aws:ec2:Instance\n options:\n dependsOn:\n - ${gw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" + "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n\n\u003e **Note:** It's recommended to denote that the AWS Instance or Elastic IP depends on the Internet Gateway. For example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst gw = new aws.ec2.InternetGateway(\"gw\", {vpcId: main.id});\nconst foo = new aws.ec2.Instance(\"foo\", {}, {\n dependsOn: [gw],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngw = aws.ec2.InternetGateway(\"gw\", vpc_id=main[\"id\"])\nfoo = aws.ec2.Instance(\"foo\", opts = pulumi.ResourceOptions(depends_on=[gw]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gw = new Aws.Ec2.InternetGateway(\"gw\", new()\n {\n VpcId = main.Id,\n });\n\n var foo = new Aws.Ec2.Instance(\"foo\", new()\n {\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgw, err := ec2.NewInternetGateway(ctx, \"gw\", \u0026ec2.InternetGatewayArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"foo\", nil, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var gw = new InternetGateway(\"gw\", InternetGatewayArgs.builder()\n .vpcId(main.id())\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.Empty, CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gw:\n type: aws:ec2:InternetGateway\n properties:\n vpcId: ${main.id}\n foo:\n type: aws:ec2:Instance\n options:\n dependson:\n - ${gw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" }, "vpcId": { "type": "string", @@ -238729,7 +238729,7 @@ "additionalProperties": { "type": "string" }, - "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n\n\u003e **Note:** It's recommended to denote that the AWS Instance or Elastic IP depends on the Internet Gateway. For example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst gw = new aws.ec2.InternetGateway(\"gw\", {vpcId: main.id});\nconst foo = new aws.ec2.Instance(\"foo\", {}, {\n dependsOn: [gw],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngw = aws.ec2.InternetGateway(\"gw\", vpc_id=main[\"id\"])\nfoo = aws.ec2.Instance(\"foo\", opts = pulumi.ResourceOptions(depends_on=[gw]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gw = new Aws.Ec2.InternetGateway(\"gw\", new()\n {\n VpcId = main.Id,\n });\n\n var foo = new Aws.Ec2.Instance(\"foo\", new()\n {\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgw, err := ec2.NewInternetGateway(ctx, \"gw\", \u0026ec2.InternetGatewayArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"foo\", nil, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var gw = new InternetGateway(\"gw\", InternetGatewayArgs.builder()\n .vpcId(main.id())\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.Empty, CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gw:\n type: aws:ec2:InternetGateway\n properties:\n vpcId: ${main.id}\n foo:\n type: aws:ec2:Instance\n options:\n dependsOn:\n - ${gw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" + "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n\n\u003e **Note:** It's recommended to denote that the AWS Instance or Elastic IP depends on the Internet Gateway. For example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst gw = new aws.ec2.InternetGateway(\"gw\", {vpcId: main.id});\nconst foo = new aws.ec2.Instance(\"foo\", {}, {\n dependsOn: [gw],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngw = aws.ec2.InternetGateway(\"gw\", vpc_id=main[\"id\"])\nfoo = aws.ec2.Instance(\"foo\", opts = pulumi.ResourceOptions(depends_on=[gw]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gw = new Aws.Ec2.InternetGateway(\"gw\", new()\n {\n VpcId = main.Id,\n });\n\n var foo = new Aws.Ec2.Instance(\"foo\", new()\n {\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgw, err := ec2.NewInternetGateway(ctx, \"gw\", \u0026ec2.InternetGatewayArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"foo\", nil, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var gw = new InternetGateway(\"gw\", InternetGatewayArgs.builder()\n .vpcId(main.id())\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.Empty, CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gw:\n type: aws:ec2:InternetGateway\n properties:\n vpcId: ${main.id}\n foo:\n type: aws:ec2:Instance\n options:\n dependson:\n - ${gw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" }, "tagsAll": { "type": "object", @@ -238934,7 +238934,7 @@ } }, "aws:ec2/launchConfiguration:LaunchConfiguration": { - "description": "Provides a resource to create a new launch configuration, used for autoscaling groups.\n\n!\u003e **WARNING:** The use of launch configurations is discouraged in favor of launch templates. Read more in the [AWS EC2 Documentation](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html).\n\n\u003e **Note** When using `aws.ec2.LaunchConfiguration` with `aws.autoscaling.Group`, it is recommended to use the `name_prefix` (Optional) instead of the `name` (Optional) attribute.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ubuntu = aws.ec2.getAmi({\n mostRecent: true,\n filters: [\n {\n name: \"name\",\n values: [\"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\"],\n },\n {\n name: \"virtualization-type\",\n values: [\"hvm\"],\n },\n ],\n owners: [\"099720109477\"],\n});\nconst asConf = new aws.ec2.LaunchConfiguration(\"as_conf\", {\n name: \"web_config\",\n imageId: ubuntu.then(ubuntu =\u003e ubuntu.id),\n instanceType: \"t2.micro\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nubuntu = aws.ec2.get_ami(most_recent=True,\n filters=[\n {\n \"name\": \"name\",\n \"values\": [\"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\"],\n },\n {\n \"name\": \"virtualization-type\",\n \"values\": [\"hvm\"],\n },\n ],\n owners=[\"099720109477\"])\nas_conf = aws.ec2.LaunchConfiguration(\"as_conf\",\n name=\"web_config\",\n image_id=ubuntu.id,\n instance_type=\"t2.micro\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ubuntu = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"virtualization-type\",\n Values = new[]\n {\n \"hvm\",\n },\n },\n },\n Owners = new[]\n {\n \"099720109477\",\n },\n });\n\n var asConf = new Aws.Ec2.LaunchConfiguration(\"as_conf\", new()\n {\n Name = \"web_config\",\n ImageId = ubuntu.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = \"t2.micro\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tubuntu, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"virtualization-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"hvm\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOwners: []string{\n\t\t\t\t\"099720109477\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewLaunchConfiguration(ctx, \"as_conf\", \u0026ec2.LaunchConfigurationArgs{\n\t\t\tName: pulumi.String(\"web_config\"),\n\t\t\tImageId: pulumi.String(ubuntu.Id),\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.LaunchConfiguration;\nimport com.pulumi.aws.ec2.LaunchConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ubuntu = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"virtualization-type\")\n .values(\"hvm\")\n .build())\n .owners(\"099720109477\")\n .build());\n\n var asConf = new LaunchConfiguration(\"asConf\", LaunchConfigurationArgs.builder()\n .name(\"web_config\")\n .imageId(ubuntu.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n asConf:\n type: aws:ec2:LaunchConfiguration\n name: as_conf\n properties:\n name: web_config\n imageId: ${ubuntu.id}\n instanceType: t2.micro\nvariables:\n ubuntu:\n fn::invoke:\n function: aws:ec2:getAmi\n arguments:\n mostRecent: true\n filters:\n - name: name\n values:\n - ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\n - name: virtualization-type\n values:\n - hvm\n owners:\n - '099720109477'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import launch configurations using the `name`. For example:\n\n```sh\n$ pulumi import aws:ec2/launchConfiguration:LaunchConfiguration as_conf pulumi-lg-123456\n```\n", + "description": "Provides a resource to create a new launch configuration, used for autoscaling groups.\n\n!\u003e **WARNING:** The use of launch configurations is discouraged in favor of launch templates. Read more in the [AWS EC2 Documentation](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html).\n\n\u003e **Note** When using `aws.ec2.LaunchConfiguration` with `aws.autoscaling.Group`, it is recommended to use the `name_prefix` (Optional) instead of the `name` (Optional) attribute.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ubuntu = aws.ec2.getAmi({\n mostRecent: true,\n filters: [\n {\n name: \"name\",\n values: [\"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\"],\n },\n {\n name: \"virtualization-type\",\n values: [\"hvm\"],\n },\n ],\n owners: [\"099720109477\"],\n});\nconst asConf = new aws.ec2.LaunchConfiguration(\"as_conf\", {\n name: \"web_config\",\n imageId: ubuntu.then(ubuntu =\u003e ubuntu.id),\n instanceType: \"t2.micro\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nubuntu = aws.ec2.get_ami(most_recent=True,\n filters=[\n {\n \"name\": \"name\",\n \"values\": [\"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\"],\n },\n {\n \"name\": \"virtualization-type\",\n \"values\": [\"hvm\"],\n },\n ],\n owners=[\"099720109477\"])\nas_conf = aws.ec2.LaunchConfiguration(\"as_conf\",\n name=\"web_config\",\n image_id=ubuntu.id,\n instance_type=\"t2.micro\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ubuntu = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"virtualization-type\",\n Values = new[]\n {\n \"hvm\",\n },\n },\n },\n Owners = new[]\n {\n \"099720109477\",\n },\n });\n\n var asConf = new Aws.Ec2.LaunchConfiguration(\"as_conf\", new()\n {\n Name = \"web_config\",\n ImageId = ubuntu.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = \"t2.micro\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tubuntu, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"virtualization-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"hvm\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOwners: []string{\n\t\t\t\t\"099720109477\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewLaunchConfiguration(ctx, \"as_conf\", \u0026ec2.LaunchConfigurationArgs{\n\t\t\tName: pulumi.String(\"web_config\"),\n\t\t\tImageId: pulumi.String(ubuntu.Id),\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.LaunchConfiguration;\nimport com.pulumi.aws.ec2.LaunchConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ubuntu = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"virtualization-type\")\n .values(\"hvm\")\n .build())\n .owners(\"099720109477\")\n .build());\n\n var asConf = new LaunchConfiguration(\"asConf\", LaunchConfigurationArgs.builder()\n .name(\"web_config\")\n .imageId(ubuntu.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n asConf:\n type: aws:ec2:LaunchConfiguration\n name: as_conf\n properties:\n name: web_config\n imageId: ${ubuntu.id}\n instanceType: t2.micro\nvariables:\n ubuntu:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n filters:\n - name: name\n values:\n - ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\n - name: virtualization-type\n values:\n - hvm\n owners:\n - '099720109477'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import launch configurations using the `name`. For example:\n\n```sh\n$ pulumi import aws:ec2/launchConfiguration:LaunchConfiguration as_conf pulumi-lg-123456\n```\n", "properties": { "arn": { "type": "string", @@ -239903,7 +239903,7 @@ } }, "aws:ec2/localGatewayRouteTableVpcAssociation:LocalGatewayRouteTableVpcAssociation": { - "description": "Manages an EC2 Local Gateway Route Table VPC Association. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-local-gateways.html#vpc-associations).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getLocalGatewayRouteTable({\n outpostArn: \"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\",\n});\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleLocalGatewayRouteTableVpcAssociation = new aws.ec2.LocalGatewayRouteTableVpcAssociation(\"example\", {\n localGatewayRouteTableId: example.then(example =\u003e example.id),\n vpcId: exampleVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_local_gateway_route_table(outpost_arn=\"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\")\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_local_gateway_route_table_vpc_association = aws.ec2.LocalGatewayRouteTableVpcAssociation(\"example\",\n local_gateway_route_table_id=example.id,\n vpc_id=example_vpc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetLocalGatewayRouteTable.Invoke(new()\n {\n OutpostArn = \"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\",\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleLocalGatewayRouteTableVpcAssociation = new Aws.Ec2.LocalGatewayRouteTableVpcAssociation(\"example\", new()\n {\n LocalGatewayRouteTableId = example.Apply(getLocalGatewayRouteTableResult =\u003e getLocalGatewayRouteTableResult.Id),\n VpcId = exampleVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.GetLocalGatewayRouteTable(ctx, \u0026ec2.GetLocalGatewayRouteTableArgs{\n\t\t\tOutpostArn: pulumi.StringRef(\"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewLocalGatewayRouteTableVpcAssociation(ctx, \"example\", \u0026ec2.LocalGatewayRouteTableVpcAssociationArgs{\n\t\t\tLocalGatewayRouteTableId: pulumi.String(example.Id),\n\t\t\tVpcId: exampleVpc.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLocalGatewayRouteTableArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.LocalGatewayRouteTableVpcAssociation;\nimport com.pulumi.aws.ec2.LocalGatewayRouteTableVpcAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getLocalGatewayRouteTable(GetLocalGatewayRouteTableArgs.builder()\n .outpostArn(\"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\")\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleLocalGatewayRouteTableVpcAssociation = new LocalGatewayRouteTableVpcAssociation(\"exampleLocalGatewayRouteTableVpcAssociation\", LocalGatewayRouteTableVpcAssociationArgs.builder()\n .localGatewayRouteTableId(example.applyValue(getLocalGatewayRouteTableResult -\u003e getLocalGatewayRouteTableResult.id()))\n .vpcId(exampleVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.0.0.0/16\n exampleLocalGatewayRouteTableVpcAssociation:\n type: aws:ec2:LocalGatewayRouteTableVpcAssociation\n name: example\n properties:\n localGatewayRouteTableId: ${example.id}\n vpcId: ${exampleVpc.id}\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getLocalGatewayRouteTable\n arguments:\n outpostArn: arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_local_gateway_route_table_vpc_association` using the Local Gateway Route Table VPC Association identifier. For example:\n\n```sh\n$ pulumi import aws:ec2/localGatewayRouteTableVpcAssociation:LocalGatewayRouteTableVpcAssociation example lgw-vpc-assoc-1234567890abcdef\n```\n", + "description": "Manages an EC2 Local Gateway Route Table VPC Association. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-local-gateways.html#vpc-associations).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getLocalGatewayRouteTable({\n outpostArn: \"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\",\n});\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleLocalGatewayRouteTableVpcAssociation = new aws.ec2.LocalGatewayRouteTableVpcAssociation(\"example\", {\n localGatewayRouteTableId: example.then(example =\u003e example.id),\n vpcId: exampleVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_local_gateway_route_table(outpost_arn=\"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\")\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_local_gateway_route_table_vpc_association = aws.ec2.LocalGatewayRouteTableVpcAssociation(\"example\",\n local_gateway_route_table_id=example.id,\n vpc_id=example_vpc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetLocalGatewayRouteTable.Invoke(new()\n {\n OutpostArn = \"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\",\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleLocalGatewayRouteTableVpcAssociation = new Aws.Ec2.LocalGatewayRouteTableVpcAssociation(\"example\", new()\n {\n LocalGatewayRouteTableId = example.Apply(getLocalGatewayRouteTableResult =\u003e getLocalGatewayRouteTableResult.Id),\n VpcId = exampleVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.GetLocalGatewayRouteTable(ctx, \u0026ec2.GetLocalGatewayRouteTableArgs{\n\t\t\tOutpostArn: pulumi.StringRef(\"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewLocalGatewayRouteTableVpcAssociation(ctx, \"example\", \u0026ec2.LocalGatewayRouteTableVpcAssociationArgs{\n\t\t\tLocalGatewayRouteTableId: pulumi.String(example.Id),\n\t\t\tVpcId: exampleVpc.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLocalGatewayRouteTableArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.LocalGatewayRouteTableVpcAssociation;\nimport com.pulumi.aws.ec2.LocalGatewayRouteTableVpcAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getLocalGatewayRouteTable(GetLocalGatewayRouteTableArgs.builder()\n .outpostArn(\"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\")\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleLocalGatewayRouteTableVpcAssociation = new LocalGatewayRouteTableVpcAssociation(\"exampleLocalGatewayRouteTableVpcAssociation\", LocalGatewayRouteTableVpcAssociationArgs.builder()\n .localGatewayRouteTableId(example.applyValue(getLocalGatewayRouteTableResult -\u003e getLocalGatewayRouteTableResult.id()))\n .vpcId(exampleVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.0.0.0/16\n exampleLocalGatewayRouteTableVpcAssociation:\n type: aws:ec2:LocalGatewayRouteTableVpcAssociation\n name: example\n properties:\n localGatewayRouteTableId: ${example.id}\n vpcId: ${exampleVpc.id}\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getLocalGatewayRouteTable\n Arguments:\n outpostArn: arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_local_gateway_route_table_vpc_association` using the Local Gateway Route Table VPC Association identifier. For example:\n\n```sh\n$ pulumi import aws:ec2/localGatewayRouteTableVpcAssociation:LocalGatewayRouteTableVpcAssociation example lgw-vpc-assoc-1234567890abcdef\n```\n", "properties": { "localGatewayId": { "type": "string" @@ -240261,7 +240261,7 @@ } }, "aws:ec2/natGateway:NatGateway": { - "description": "Provides a resource to create a VPC NAT Gateway.\n\n## Example Usage\n\n### Public NAT\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.NatGateway(\"example\", {\n allocationId: exampleAwsEip.id,\n subnetId: exampleAwsSubnet.id,\n tags: {\n Name: \"gw NAT\",\n },\n}, {\n dependsOn: [exampleAwsInternetGateway],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.NatGateway(\"example\",\n allocation_id=example_aws_eip[\"id\"],\n subnet_id=example_aws_subnet[\"id\"],\n tags={\n \"Name\": \"gw NAT\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_internet_gateway]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.NatGateway(\"example\", new()\n {\n AllocationId = exampleAwsEip.Id,\n SubnetId = exampleAwsSubnet.Id,\n Tags = \n {\n { \"Name\", \"gw NAT\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsInternetGateway,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewNatGateway(ctx, \"example\", \u0026ec2.NatGatewayArgs{\n\t\t\tAllocationId: pulumi.Any(exampleAwsEip.Id),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"gw NAT\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsInternetGateway,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.NatGateway;\nimport com.pulumi.aws.ec2.NatGatewayArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new NatGateway(\"example\", NatGatewayArgs.builder()\n .allocationId(exampleAwsEip.id())\n .subnetId(exampleAwsSubnet.id())\n .tags(Map.of(\"Name\", \"gw NAT\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsInternetGateway)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:NatGateway\n properties:\n allocationId: ${exampleAwsEip.id}\n subnetId: ${exampleAwsSubnet.id}\n tags:\n Name: gw NAT\n options:\n dependsOn:\n - ${exampleAwsInternetGateway}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Public NAT with Secondary Private IP Addresses\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.NatGateway(\"example\", {\n allocationId: exampleAwsEip.id,\n subnetId: exampleAwsSubnet.id,\n secondaryAllocationIds: [secondary.id],\n secondaryPrivateIpAddresses: [\"10.0.1.5\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.NatGateway(\"example\",\n allocation_id=example_aws_eip[\"id\"],\n subnet_id=example_aws_subnet[\"id\"],\n secondary_allocation_ids=[secondary[\"id\"]],\n secondary_private_ip_addresses=[\"10.0.1.5\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.NatGateway(\"example\", new()\n {\n AllocationId = exampleAwsEip.Id,\n SubnetId = exampleAwsSubnet.Id,\n SecondaryAllocationIds = new[]\n {\n secondary.Id,\n },\n SecondaryPrivateIpAddresses = new[]\n {\n \"10.0.1.5\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewNatGateway(ctx, \"example\", \u0026ec2.NatGatewayArgs{\n\t\t\tAllocationId: pulumi.Any(exampleAwsEip.Id),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tSecondaryAllocationIds: pulumi.StringArray{\n\t\t\t\tsecondary.Id,\n\t\t\t},\n\t\t\tSecondaryPrivateIpAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.5\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.NatGateway;\nimport com.pulumi.aws.ec2.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new NatGateway(\"example\", NatGatewayArgs.builder()\n .allocationId(exampleAwsEip.id())\n .subnetId(exampleAwsSubnet.id())\n .secondaryAllocationIds(secondary.id())\n .secondaryPrivateIpAddresses(\"10.0.1.5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:NatGateway\n properties:\n allocationId: ${exampleAwsEip.id}\n subnetId: ${exampleAwsSubnet.id}\n secondaryAllocationIds:\n - ${secondary.id}\n secondaryPrivateIpAddresses:\n - 10.0.1.5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private NAT\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.NatGateway(\"example\", {\n connectivityType: \"private\",\n subnetId: exampleAwsSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.NatGateway(\"example\",\n connectivity_type=\"private\",\n subnet_id=example_aws_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.NatGateway(\"example\", new()\n {\n ConnectivityType = \"private\",\n SubnetId = exampleAwsSubnet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewNatGateway(ctx, \"example\", \u0026ec2.NatGatewayArgs{\n\t\t\tConnectivityType: pulumi.String(\"private\"),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.NatGateway;\nimport com.pulumi.aws.ec2.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new NatGateway(\"example\", NatGatewayArgs.builder()\n .connectivityType(\"private\")\n .subnetId(exampleAwsSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:NatGateway\n properties:\n connectivityType: private\n subnetId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private NAT with Secondary Private IP Addresses\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.NatGateway(\"example\", {\n connectivityType: \"private\",\n subnetId: exampleAwsSubnet.id,\n secondaryPrivateIpAddressCount: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.NatGateway(\"example\",\n connectivity_type=\"private\",\n subnet_id=example_aws_subnet[\"id\"],\n secondary_private_ip_address_count=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.NatGateway(\"example\", new()\n {\n ConnectivityType = \"private\",\n SubnetId = exampleAwsSubnet.Id,\n SecondaryPrivateIpAddressCount = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewNatGateway(ctx, \"example\", \u0026ec2.NatGatewayArgs{\n\t\t\tConnectivityType: pulumi.String(\"private\"),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tSecondaryPrivateIpAddressCount: pulumi.Int(7),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.NatGateway;\nimport com.pulumi.aws.ec2.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new NatGateway(\"example\", NatGatewayArgs.builder()\n .connectivityType(\"private\")\n .subnetId(exampleAwsSubnet.id())\n .secondaryPrivateIpAddressCount(7)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:NatGateway\n properties:\n connectivityType: private\n subnetId: ${exampleAwsSubnet.id}\n secondaryPrivateIpAddressCount: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import NAT Gateways using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/natGateway:NatGateway private_gw nat-05dba92075d71c408\n```\n", + "description": "Provides a resource to create a VPC NAT Gateway.\n\n## Example Usage\n\n### Public NAT\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.NatGateway(\"example\", {\n allocationId: exampleAwsEip.id,\n subnetId: exampleAwsSubnet.id,\n tags: {\n Name: \"gw NAT\",\n },\n}, {\n dependsOn: [exampleAwsInternetGateway],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.NatGateway(\"example\",\n allocation_id=example_aws_eip[\"id\"],\n subnet_id=example_aws_subnet[\"id\"],\n tags={\n \"Name\": \"gw NAT\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_internet_gateway]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.NatGateway(\"example\", new()\n {\n AllocationId = exampleAwsEip.Id,\n SubnetId = exampleAwsSubnet.Id,\n Tags = \n {\n { \"Name\", \"gw NAT\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsInternetGateway,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewNatGateway(ctx, \"example\", \u0026ec2.NatGatewayArgs{\n\t\t\tAllocationId: pulumi.Any(exampleAwsEip.Id),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"gw NAT\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsInternetGateway,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.NatGateway;\nimport com.pulumi.aws.ec2.NatGatewayArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new NatGateway(\"example\", NatGatewayArgs.builder()\n .allocationId(exampleAwsEip.id())\n .subnetId(exampleAwsSubnet.id())\n .tags(Map.of(\"Name\", \"gw NAT\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsInternetGateway)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:NatGateway\n properties:\n allocationId: ${exampleAwsEip.id}\n subnetId: ${exampleAwsSubnet.id}\n tags:\n Name: gw NAT\n options:\n dependson:\n - ${exampleAwsInternetGateway}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Public NAT with Secondary Private IP Addresses\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.NatGateway(\"example\", {\n allocationId: exampleAwsEip.id,\n subnetId: exampleAwsSubnet.id,\n secondaryAllocationIds: [secondary.id],\n secondaryPrivateIpAddresses: [\"10.0.1.5\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.NatGateway(\"example\",\n allocation_id=example_aws_eip[\"id\"],\n subnet_id=example_aws_subnet[\"id\"],\n secondary_allocation_ids=[secondary[\"id\"]],\n secondary_private_ip_addresses=[\"10.0.1.5\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.NatGateway(\"example\", new()\n {\n AllocationId = exampleAwsEip.Id,\n SubnetId = exampleAwsSubnet.Id,\n SecondaryAllocationIds = new[]\n {\n secondary.Id,\n },\n SecondaryPrivateIpAddresses = new[]\n {\n \"10.0.1.5\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewNatGateway(ctx, \"example\", \u0026ec2.NatGatewayArgs{\n\t\t\tAllocationId: pulumi.Any(exampleAwsEip.Id),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tSecondaryAllocationIds: pulumi.StringArray{\n\t\t\t\tsecondary.Id,\n\t\t\t},\n\t\t\tSecondaryPrivateIpAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.5\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.NatGateway;\nimport com.pulumi.aws.ec2.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new NatGateway(\"example\", NatGatewayArgs.builder()\n .allocationId(exampleAwsEip.id())\n .subnetId(exampleAwsSubnet.id())\n .secondaryAllocationIds(secondary.id())\n .secondaryPrivateIpAddresses(\"10.0.1.5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:NatGateway\n properties:\n allocationId: ${exampleAwsEip.id}\n subnetId: ${exampleAwsSubnet.id}\n secondaryAllocationIds:\n - ${secondary.id}\n secondaryPrivateIpAddresses:\n - 10.0.1.5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private NAT\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.NatGateway(\"example\", {\n connectivityType: \"private\",\n subnetId: exampleAwsSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.NatGateway(\"example\",\n connectivity_type=\"private\",\n subnet_id=example_aws_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.NatGateway(\"example\", new()\n {\n ConnectivityType = \"private\",\n SubnetId = exampleAwsSubnet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewNatGateway(ctx, \"example\", \u0026ec2.NatGatewayArgs{\n\t\t\tConnectivityType: pulumi.String(\"private\"),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.NatGateway;\nimport com.pulumi.aws.ec2.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new NatGateway(\"example\", NatGatewayArgs.builder()\n .connectivityType(\"private\")\n .subnetId(exampleAwsSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:NatGateway\n properties:\n connectivityType: private\n subnetId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private NAT with Secondary Private IP Addresses\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.NatGateway(\"example\", {\n connectivityType: \"private\",\n subnetId: exampleAwsSubnet.id,\n secondaryPrivateIpAddressCount: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.NatGateway(\"example\",\n connectivity_type=\"private\",\n subnet_id=example_aws_subnet[\"id\"],\n secondary_private_ip_address_count=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.NatGateway(\"example\", new()\n {\n ConnectivityType = \"private\",\n SubnetId = exampleAwsSubnet.Id,\n SecondaryPrivateIpAddressCount = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewNatGateway(ctx, \"example\", \u0026ec2.NatGatewayArgs{\n\t\t\tConnectivityType: pulumi.String(\"private\"),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tSecondaryPrivateIpAddressCount: pulumi.Int(7),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.NatGateway;\nimport com.pulumi.aws.ec2.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new NatGateway(\"example\", NatGatewayArgs.builder()\n .connectivityType(\"private\")\n .subnetId(exampleAwsSubnet.id())\n .secondaryPrivateIpAddressCount(7)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:NatGateway\n properties:\n connectivityType: private\n subnetId: ${exampleAwsSubnet.id}\n secondaryPrivateIpAddressCount: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import NAT Gateways using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/natGateway:NatGateway private_gw nat-05dba92075d71c408\n```\n", "properties": { "allocationId": { "type": "string", @@ -241731,7 +241731,7 @@ } }, "aws:ec2/networkInterfaceSecurityGroupAttachment:NetworkInterfaceSecurityGroupAttachment": { - "description": "This resource attaches a security group to an Elastic Network Interface (ENI).\nIt can be used to attach a security group to any existing ENI, be it a\nsecondary ENI or one attached as the primary interface on an instance.\n\n\u003e **NOTE on instances, interfaces, and security groups:** This provider currently\nprovides the capability to assign security groups via the [`aws.ec2.Instance`][1]\nand the [`aws.ec2.NetworkInterface`][2] resources. Using this resource in\nconjunction with security groups provided in-line in those resources will cause\nconflicts, and will lead to spurious diffs and undefined behavior - please use\none or the other.\n\n## Example Usage\n\nThe following provides a very basic example of setting up an instance (provided\nby `instance`) in the default security group, creating a security group\n(provided by `sg`) and then attaching the security group to the instance's\nprimary network interface via the `aws.ec2.NetworkInterfaceSecurityGroupAttachment` resource,\nnamed `sg_attachment`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ami = aws.ec2.getAmi({\n mostRecent: true,\n filters: [{\n name: \"name\",\n values: [\"amzn-ami-hvm-*\"],\n }],\n owners: [\"amazon\"],\n});\nconst instance = new aws.ec2.Instance(\"instance\", {\n instanceType: aws.ec2.InstanceType.T2_Micro,\n ami: ami.then(ami =\u003e ami.id),\n tags: {\n type: \"test-instance\",\n },\n});\nconst sg = new aws.ec2.SecurityGroup(\"sg\", {tags: {\n type: \"test-security-group\",\n}});\nconst sgAttachment = new aws.ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\", {\n securityGroupId: sg.id,\n networkInterfaceId: instance.primaryNetworkInterfaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nami = aws.ec2.get_ami(most_recent=True,\n filters=[{\n \"name\": \"name\",\n \"values\": [\"amzn-ami-hvm-*\"],\n }],\n owners=[\"amazon\"])\ninstance = aws.ec2.Instance(\"instance\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n ami=ami.id,\n tags={\n \"type\": \"test-instance\",\n })\nsg = aws.ec2.SecurityGroup(\"sg\", tags={\n \"type\": \"test-security-group\",\n})\nsg_attachment = aws.ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\",\n security_group_id=sg.id,\n network_interface_id=instance.primary_network_interface_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ami = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"amzn-ami-hvm-*\",\n },\n },\n },\n Owners = new[]\n {\n \"amazon\",\n },\n });\n\n var instance = new Aws.Ec2.Instance(\"instance\", new()\n {\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n Ami = ami.Apply(getAmiResult =\u003e getAmiResult.Id),\n Tags = \n {\n { \"type\", \"test-instance\" },\n },\n });\n\n var sg = new Aws.Ec2.SecurityGroup(\"sg\", new()\n {\n Tags = \n {\n { \"type\", \"test-security-group\" },\n },\n });\n\n var sgAttachment = new Aws.Ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\", new()\n {\n SecurityGroupId = sg.Id,\n NetworkInterfaceId = instance.PrimaryNetworkInterfaceId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tami, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amzn-ami-hvm-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := ec2.NewInstance(ctx, \"instance\", \u0026ec2.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tAmi: pulumi.String(ami.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"type\": pulumi.String(\"test-instance\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsg, err := ec2.NewSecurityGroup(ctx, \"sg\", \u0026ec2.SecurityGroupArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"type\": pulumi.String(\"test-security-group\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewNetworkInterfaceSecurityGroupAttachment(ctx, \"sg_attachment\", \u0026ec2.NetworkInterfaceSecurityGroupAttachmentArgs{\n\t\t\tSecurityGroupId: sg.ID(),\n\t\t\tNetworkInterfaceId: instance.PrimaryNetworkInterfaceId,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.NetworkInterfaceSecurityGroupAttachment;\nimport com.pulumi.aws.ec2.NetworkInterfaceSecurityGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ami = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .filters(GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"amzn-ami-hvm-*\")\n .build())\n .owners(\"amazon\")\n .build());\n\n var instance = new Instance(\"instance\", InstanceArgs.builder()\n .instanceType(\"t2.micro\")\n .ami(ami.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .tags(Map.of(\"type\", \"test-instance\"))\n .build());\n\n var sg = new SecurityGroup(\"sg\", SecurityGroupArgs.builder()\n .tags(Map.of(\"type\", \"test-security-group\"))\n .build());\n\n var sgAttachment = new NetworkInterfaceSecurityGroupAttachment(\"sgAttachment\", NetworkInterfaceSecurityGroupAttachmentArgs.builder()\n .securityGroupId(sg.id())\n .networkInterfaceId(instance.primaryNetworkInterfaceId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n instance:\n type: aws:ec2:Instance\n properties:\n instanceType: t2.micro\n ami: ${ami.id}\n tags:\n type: test-instance\n sg:\n type: aws:ec2:SecurityGroup\n properties:\n tags:\n type: test-security-group\n sgAttachment:\n type: aws:ec2:NetworkInterfaceSecurityGroupAttachment\n name: sg_attachment\n properties:\n securityGroupId: ${sg.id}\n networkInterfaceId: ${instance.primaryNetworkInterfaceId}\nvariables:\n ami:\n fn::invoke:\n function: aws:ec2:getAmi\n arguments:\n mostRecent: true\n filters:\n - name: name\n values:\n - amzn-ami-hvm-*\n owners:\n - amazon\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIn this example, `instance` is provided by the `aws.ec2.Instance` data source,\nfetching an external instance, possibly not managed by this provider.\n`sg_attachment` then attaches to the output instance's `network_interface_id`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst instance = aws.ec2.getInstance({\n instanceId: \"i-1234567890abcdef0\",\n});\nconst sg = new aws.ec2.SecurityGroup(\"sg\", {tags: {\n type: \"test-security-group\",\n}});\nconst sgAttachment = new aws.ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\", {\n securityGroupId: sg.id,\n networkInterfaceId: instance.then(instance =\u003e instance.networkInterfaceId),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ninstance = aws.ec2.get_instance(instance_id=\"i-1234567890abcdef0\")\nsg = aws.ec2.SecurityGroup(\"sg\", tags={\n \"type\": \"test-security-group\",\n})\nsg_attachment = aws.ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\",\n security_group_id=sg.id,\n network_interface_id=instance.network_interface_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instance = Aws.Ec2.GetInstance.Invoke(new()\n {\n InstanceId = \"i-1234567890abcdef0\",\n });\n\n var sg = new Aws.Ec2.SecurityGroup(\"sg\", new()\n {\n Tags = \n {\n { \"type\", \"test-security-group\" },\n },\n });\n\n var sgAttachment = new Aws.Ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\", new()\n {\n SecurityGroupId = sg.Id,\n NetworkInterfaceId = instance.Apply(getInstanceResult =\u003e getInstanceResult.NetworkInterfaceId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := ec2.LookupInstance(ctx, \u0026ec2.LookupInstanceArgs{\n\t\t\tInstanceId: pulumi.StringRef(\"i-1234567890abcdef0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsg, err := ec2.NewSecurityGroup(ctx, \"sg\", \u0026ec2.SecurityGroupArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"type\": pulumi.String(\"test-security-group\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewNetworkInterfaceSecurityGroupAttachment(ctx, \"sg_attachment\", \u0026ec2.NetworkInterfaceSecurityGroupAttachmentArgs{\n\t\t\tSecurityGroupId: sg.ID(),\n\t\t\tNetworkInterfaceId: pulumi.String(instance.NetworkInterfaceId),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.NetworkInterfaceSecurityGroupAttachment;\nimport com.pulumi.aws.ec2.NetworkInterfaceSecurityGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var instance = Ec2Functions.getInstance(GetInstanceArgs.builder()\n .instanceId(\"i-1234567890abcdef0\")\n .build());\n\n var sg = new SecurityGroup(\"sg\", SecurityGroupArgs.builder()\n .tags(Map.of(\"type\", \"test-security-group\"))\n .build());\n\n var sgAttachment = new NetworkInterfaceSecurityGroupAttachment(\"sgAttachment\", NetworkInterfaceSecurityGroupAttachmentArgs.builder()\n .securityGroupId(sg.id())\n .networkInterfaceId(instance.applyValue(getInstanceResult -\u003e getInstanceResult.networkInterfaceId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sg:\n type: aws:ec2:SecurityGroup\n properties:\n tags:\n type: test-security-group\n sgAttachment:\n type: aws:ec2:NetworkInterfaceSecurityGroupAttachment\n name: sg_attachment\n properties:\n securityGroupId: ${sg.id}\n networkInterfaceId: ${instance.networkInterfaceId}\nvariables:\n instance:\n fn::invoke:\n function: aws:ec2:getInstance\n arguments:\n instanceId: i-1234567890abcdef0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Interface Security Group attachments using the associated network interface ID and security group ID, separated by an underscore (`_`). For example:\n\n```sh\n$ pulumi import aws:ec2/networkInterfaceSecurityGroupAttachment:NetworkInterfaceSecurityGroupAttachment sg_attachment eni-1234567890abcdef0_sg-1234567890abcdef0\n```\n", + "description": "This resource attaches a security group to an Elastic Network Interface (ENI).\nIt can be used to attach a security group to any existing ENI, be it a\nsecondary ENI or one attached as the primary interface on an instance.\n\n\u003e **NOTE on instances, interfaces, and security groups:** This provider currently\nprovides the capability to assign security groups via the [`aws.ec2.Instance`][1]\nand the [`aws.ec2.NetworkInterface`][2] resources. Using this resource in\nconjunction with security groups provided in-line in those resources will cause\nconflicts, and will lead to spurious diffs and undefined behavior - please use\none or the other.\n\n## Example Usage\n\nThe following provides a very basic example of setting up an instance (provided\nby `instance`) in the default security group, creating a security group\n(provided by `sg`) and then attaching the security group to the instance's\nprimary network interface via the `aws.ec2.NetworkInterfaceSecurityGroupAttachment` resource,\nnamed `sg_attachment`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ami = aws.ec2.getAmi({\n mostRecent: true,\n filters: [{\n name: \"name\",\n values: [\"amzn-ami-hvm-*\"],\n }],\n owners: [\"amazon\"],\n});\nconst instance = new aws.ec2.Instance(\"instance\", {\n instanceType: aws.ec2.InstanceType.T2_Micro,\n ami: ami.then(ami =\u003e ami.id),\n tags: {\n type: \"test-instance\",\n },\n});\nconst sg = new aws.ec2.SecurityGroup(\"sg\", {tags: {\n type: \"test-security-group\",\n}});\nconst sgAttachment = new aws.ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\", {\n securityGroupId: sg.id,\n networkInterfaceId: instance.primaryNetworkInterfaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nami = aws.ec2.get_ami(most_recent=True,\n filters=[{\n \"name\": \"name\",\n \"values\": [\"amzn-ami-hvm-*\"],\n }],\n owners=[\"amazon\"])\ninstance = aws.ec2.Instance(\"instance\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n ami=ami.id,\n tags={\n \"type\": \"test-instance\",\n })\nsg = aws.ec2.SecurityGroup(\"sg\", tags={\n \"type\": \"test-security-group\",\n})\nsg_attachment = aws.ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\",\n security_group_id=sg.id,\n network_interface_id=instance.primary_network_interface_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ami = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"amzn-ami-hvm-*\",\n },\n },\n },\n Owners = new[]\n {\n \"amazon\",\n },\n });\n\n var instance = new Aws.Ec2.Instance(\"instance\", new()\n {\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n Ami = ami.Apply(getAmiResult =\u003e getAmiResult.Id),\n Tags = \n {\n { \"type\", \"test-instance\" },\n },\n });\n\n var sg = new Aws.Ec2.SecurityGroup(\"sg\", new()\n {\n Tags = \n {\n { \"type\", \"test-security-group\" },\n },\n });\n\n var sgAttachment = new Aws.Ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\", new()\n {\n SecurityGroupId = sg.Id,\n NetworkInterfaceId = instance.PrimaryNetworkInterfaceId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tami, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amzn-ami-hvm-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := ec2.NewInstance(ctx, \"instance\", \u0026ec2.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tAmi: pulumi.String(ami.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"type\": pulumi.String(\"test-instance\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsg, err := ec2.NewSecurityGroup(ctx, \"sg\", \u0026ec2.SecurityGroupArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"type\": pulumi.String(\"test-security-group\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewNetworkInterfaceSecurityGroupAttachment(ctx, \"sg_attachment\", \u0026ec2.NetworkInterfaceSecurityGroupAttachmentArgs{\n\t\t\tSecurityGroupId: sg.ID(),\n\t\t\tNetworkInterfaceId: instance.PrimaryNetworkInterfaceId,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.NetworkInterfaceSecurityGroupAttachment;\nimport com.pulumi.aws.ec2.NetworkInterfaceSecurityGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ami = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .filters(GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"amzn-ami-hvm-*\")\n .build())\n .owners(\"amazon\")\n .build());\n\n var instance = new Instance(\"instance\", InstanceArgs.builder()\n .instanceType(\"t2.micro\")\n .ami(ami.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .tags(Map.of(\"type\", \"test-instance\"))\n .build());\n\n var sg = new SecurityGroup(\"sg\", SecurityGroupArgs.builder()\n .tags(Map.of(\"type\", \"test-security-group\"))\n .build());\n\n var sgAttachment = new NetworkInterfaceSecurityGroupAttachment(\"sgAttachment\", NetworkInterfaceSecurityGroupAttachmentArgs.builder()\n .securityGroupId(sg.id())\n .networkInterfaceId(instance.primaryNetworkInterfaceId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n instance:\n type: aws:ec2:Instance\n properties:\n instanceType: t2.micro\n ami: ${ami.id}\n tags:\n type: test-instance\n sg:\n type: aws:ec2:SecurityGroup\n properties:\n tags:\n type: test-security-group\n sgAttachment:\n type: aws:ec2:NetworkInterfaceSecurityGroupAttachment\n name: sg_attachment\n properties:\n securityGroupId: ${sg.id}\n networkInterfaceId: ${instance.primaryNetworkInterfaceId}\nvariables:\n ami:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n filters:\n - name: name\n values:\n - amzn-ami-hvm-*\n owners:\n - amazon\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIn this example, `instance` is provided by the `aws.ec2.Instance` data source,\nfetching an external instance, possibly not managed by this provider.\n`sg_attachment` then attaches to the output instance's `network_interface_id`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst instance = aws.ec2.getInstance({\n instanceId: \"i-1234567890abcdef0\",\n});\nconst sg = new aws.ec2.SecurityGroup(\"sg\", {tags: {\n type: \"test-security-group\",\n}});\nconst sgAttachment = new aws.ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\", {\n securityGroupId: sg.id,\n networkInterfaceId: instance.then(instance =\u003e instance.networkInterfaceId),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ninstance = aws.ec2.get_instance(instance_id=\"i-1234567890abcdef0\")\nsg = aws.ec2.SecurityGroup(\"sg\", tags={\n \"type\": \"test-security-group\",\n})\nsg_attachment = aws.ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\",\n security_group_id=sg.id,\n network_interface_id=instance.network_interface_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instance = Aws.Ec2.GetInstance.Invoke(new()\n {\n InstanceId = \"i-1234567890abcdef0\",\n });\n\n var sg = new Aws.Ec2.SecurityGroup(\"sg\", new()\n {\n Tags = \n {\n { \"type\", \"test-security-group\" },\n },\n });\n\n var sgAttachment = new Aws.Ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\", new()\n {\n SecurityGroupId = sg.Id,\n NetworkInterfaceId = instance.Apply(getInstanceResult =\u003e getInstanceResult.NetworkInterfaceId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := ec2.LookupInstance(ctx, \u0026ec2.LookupInstanceArgs{\n\t\t\tInstanceId: pulumi.StringRef(\"i-1234567890abcdef0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsg, err := ec2.NewSecurityGroup(ctx, \"sg\", \u0026ec2.SecurityGroupArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"type\": pulumi.String(\"test-security-group\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewNetworkInterfaceSecurityGroupAttachment(ctx, \"sg_attachment\", \u0026ec2.NetworkInterfaceSecurityGroupAttachmentArgs{\n\t\t\tSecurityGroupId: sg.ID(),\n\t\t\tNetworkInterfaceId: pulumi.String(instance.NetworkInterfaceId),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.NetworkInterfaceSecurityGroupAttachment;\nimport com.pulumi.aws.ec2.NetworkInterfaceSecurityGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var instance = Ec2Functions.getInstance(GetInstanceArgs.builder()\n .instanceId(\"i-1234567890abcdef0\")\n .build());\n\n var sg = new SecurityGroup(\"sg\", SecurityGroupArgs.builder()\n .tags(Map.of(\"type\", \"test-security-group\"))\n .build());\n\n var sgAttachment = new NetworkInterfaceSecurityGroupAttachment(\"sgAttachment\", NetworkInterfaceSecurityGroupAttachmentArgs.builder()\n .securityGroupId(sg.id())\n .networkInterfaceId(instance.applyValue(getInstanceResult -\u003e getInstanceResult.networkInterfaceId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sg:\n type: aws:ec2:SecurityGroup\n properties:\n tags:\n type: test-security-group\n sgAttachment:\n type: aws:ec2:NetworkInterfaceSecurityGroupAttachment\n name: sg_attachment\n properties:\n securityGroupId: ${sg.id}\n networkInterfaceId: ${instance.networkInterfaceId}\nvariables:\n instance:\n fn::invoke:\n Function: aws:ec2:getInstance\n Arguments:\n instanceId: i-1234567890abcdef0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Interface Security Group attachments using the associated network interface ID and security group ID, separated by an underscore (`_`). For example:\n\n```sh\n$ pulumi import aws:ec2/networkInterfaceSecurityGroupAttachment:NetworkInterfaceSecurityGroupAttachment sg_attachment eni-1234567890abcdef0_sg-1234567890abcdef0\n```\n", "properties": { "networkInterfaceId": { "type": "string", @@ -241780,7 +241780,7 @@ } }, "aws:ec2/peeringConnectionOptions:PeeringConnectionOptions": { - "description": "Provides a resource to manage VPC peering connection options.\n\n\u003e **NOTE on VPC Peering Connections and VPC Peering Connection Options:** This provider provides\nboth a standalone VPC Peering Connection Options and a VPC Peering Connection\nresource with `accepter` and `requester` attributes. Do not manage options for the same VPC peering\nconnection in both a VPC Peering Connection resource and a VPC Peering Connection Options resource.\nDoing so will cause a conflict of options and will overwrite the options.\nUsing a VPC Peering Connection Options resource decouples management of the connection options from\nmanagement of the VPC Peering Connection and allows options to be set correctly in cross-region and\ncross-account scenarios.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.0.0.0/16\"});\nconst bar = new aws.ec2.Vpc(\"bar\", {cidrBlock: \"10.1.0.0/16\"});\nconst fooVpcPeeringConnection = new aws.ec2.VpcPeeringConnection(\"foo\", {\n vpcId: foo.id,\n peerVpcId: bar.id,\n autoAccept: true,\n});\nconst fooPeeringConnectionOptions = new aws.ec2.PeeringConnectionOptions(\"foo\", {\n vpcPeeringConnectionId: fooVpcPeeringConnection.id,\n accepter: {\n allowRemoteVpcDnsResolution: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.Vpc(\"foo\", cidr_block=\"10.0.0.0/16\")\nbar = aws.ec2.Vpc(\"bar\", cidr_block=\"10.1.0.0/16\")\nfoo_vpc_peering_connection = aws.ec2.VpcPeeringConnection(\"foo\",\n vpc_id=foo.id,\n peer_vpc_id=bar.id,\n auto_accept=True)\nfoo_peering_connection_options = aws.ec2.PeeringConnectionOptions(\"foo\",\n vpc_peering_connection_id=foo_vpc_peering_connection.id,\n accepter={\n \"allow_remote_vpc_dns_resolution\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var bar = new Aws.Ec2.Vpc(\"bar\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var fooVpcPeeringConnection = new Aws.Ec2.VpcPeeringConnection(\"foo\", new()\n {\n VpcId = foo.Id,\n PeerVpcId = bar.Id,\n AutoAccept = true,\n });\n\n var fooPeeringConnectionOptions = new Aws.Ec2.PeeringConnectionOptions(\"foo\", new()\n {\n VpcPeeringConnectionId = fooVpcPeeringConnection.Id,\n Accepter = new Aws.Ec2.Inputs.PeeringConnectionOptionsAccepterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewVpc(ctx, \"bar\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooVpcPeeringConnection, err := ec2.NewVpcPeeringConnection(ctx, \"foo\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tVpcId: foo.ID(),\n\t\t\tPeerVpcId: bar.ID(),\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewPeeringConnectionOptions(ctx, \"foo\", \u0026ec2.PeeringConnectionOptionsArgs{\n\t\t\tVpcPeeringConnectionId: fooVpcPeeringConnection.ID(),\n\t\t\tAccepter: \u0026ec2.PeeringConnectionOptionsAccepterArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.PeeringConnectionOptions;\nimport com.pulumi.aws.ec2.PeeringConnectionOptionsArgs;\nimport com.pulumi.aws.ec2.inputs.PeeringConnectionOptionsAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Vpc(\"foo\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var bar = new Vpc(\"bar\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var fooVpcPeeringConnection = new VpcPeeringConnection(\"fooVpcPeeringConnection\", VpcPeeringConnectionArgs.builder()\n .vpcId(foo.id())\n .peerVpcId(bar.id())\n .autoAccept(true)\n .build());\n\n var fooPeeringConnectionOptions = new PeeringConnectionOptions(\"fooPeeringConnectionOptions\", PeeringConnectionOptionsArgs.builder()\n .vpcPeeringConnectionId(fooVpcPeeringConnection.id())\n .accepter(PeeringConnectionOptionsAccepterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n bar:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n fooVpcPeeringConnection:\n type: aws:ec2:VpcPeeringConnection\n name: foo\n properties:\n vpcId: ${foo.id}\n peerVpcId: ${bar.id}\n autoAccept: true\n fooPeeringConnectionOptions:\n type: aws:ec2:PeeringConnectionOptions\n name: foo\n properties:\n vpcPeeringConnectionId: ${fooVpcPeeringConnection.id}\n accepter:\n allowRemoteVpcDnsResolution: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Cross-Account Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst peerVpc = new aws.ec2.Vpc(\"peer\", {\n cidrBlock: \"10.1.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst peer = aws.getCallerIdentity({});\n// Requester's side of the connection.\nconst peerVpcPeeringConnection = new aws.ec2.VpcPeeringConnection(\"peer\", {\n vpcId: main.id,\n peerVpcId: peerVpc.id,\n peerOwnerId: peer.then(peer =\u003e peer.accountId),\n autoAccept: false,\n tags: {\n Side: \"Requester\",\n },\n});\n// Accepter's side of the connection.\nconst peerVpcPeeringConnectionAccepter = new aws.ec2.VpcPeeringConnectionAccepter(\"peer\", {\n vpcPeeringConnectionId: peerVpcPeeringConnection.id,\n autoAccept: true,\n tags: {\n Side: \"Accepter\",\n },\n});\nconst requester = new aws.ec2.PeeringConnectionOptions(\"requester\", {\n vpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.id,\n requester: {\n allowRemoteVpcDnsResolution: true,\n },\n});\nconst accepter = new aws.ec2.PeeringConnectionOptions(\"accepter\", {\n vpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.id,\n accepter: {\n allowRemoteVpcDnsResolution: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\npeer_vpc = aws.ec2.Vpc(\"peer\",\n cidr_block=\"10.1.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\npeer = aws.get_caller_identity()\n# Requester's side of the connection.\npeer_vpc_peering_connection = aws.ec2.VpcPeeringConnection(\"peer\",\n vpc_id=main.id,\n peer_vpc_id=peer_vpc.id,\n peer_owner_id=peer.account_id,\n auto_accept=False,\n tags={\n \"Side\": \"Requester\",\n })\n# Accepter's side of the connection.\npeer_vpc_peering_connection_accepter = aws.ec2.VpcPeeringConnectionAccepter(\"peer\",\n vpc_peering_connection_id=peer_vpc_peering_connection.id,\n auto_accept=True,\n tags={\n \"Side\": \"Accepter\",\n })\nrequester = aws.ec2.PeeringConnectionOptions(\"requester\",\n vpc_peering_connection_id=peer_vpc_peering_connection_accepter.id,\n requester={\n \"allow_remote_vpc_dns_resolution\": True,\n })\naccepter = aws.ec2.PeeringConnectionOptions(\"accepter\",\n vpc_peering_connection_id=peer_vpc_peering_connection_accepter.id,\n accepter={\n \"allow_remote_vpc_dns_resolution\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var peerVpc = new Aws.Ec2.Vpc(\"peer\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var peer = Aws.GetCallerIdentity.Invoke();\n\n // Requester's side of the connection.\n var peerVpcPeeringConnection = new Aws.Ec2.VpcPeeringConnection(\"peer\", new()\n {\n VpcId = main.Id,\n PeerVpcId = peerVpc.Id,\n PeerOwnerId = peer.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n AutoAccept = false,\n Tags = \n {\n { \"Side\", \"Requester\" },\n },\n });\n\n // Accepter's side of the connection.\n var peerVpcPeeringConnectionAccepter = new Aws.Ec2.VpcPeeringConnectionAccepter(\"peer\", new()\n {\n VpcPeeringConnectionId = peerVpcPeeringConnection.Id,\n AutoAccept = true,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n var requester = new Aws.Ec2.PeeringConnectionOptions(\"requester\", new()\n {\n VpcPeeringConnectionId = peerVpcPeeringConnectionAccepter.Id,\n Requester = new Aws.Ec2.Inputs.PeeringConnectionOptionsRequesterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n });\n\n var accepter = new Aws.Ec2.PeeringConnectionOptions(\"accepter\", new()\n {\n VpcPeeringConnectionId = peerVpcPeeringConnectionAccepter.Id,\n Accepter = new Aws.Ec2.Inputs.PeeringConnectionOptionsAccepterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeerVpc, err := ec2.NewVpc(ctx, \"peer\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeer, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Requester's side of the connection.\n\t\tpeerVpcPeeringConnection, err := ec2.NewVpcPeeringConnection(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tPeerVpcId: peerVpc.ID(),\n\t\t\tPeerOwnerId: pulumi.String(peer.AccountId),\n\t\t\tAutoAccept: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Requester\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the connection.\n\t\tpeerVpcPeeringConnectionAccepter, err := ec2.NewVpcPeeringConnectionAccepter(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionAccepterArgs{\n\t\t\tVpcPeeringConnectionId: peerVpcPeeringConnection.ID(),\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewPeeringConnectionOptions(ctx, \"requester\", \u0026ec2.PeeringConnectionOptionsArgs{\n\t\t\tVpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.ID(),\n\t\t\tRequester: \u0026ec2.PeeringConnectionOptionsRequesterArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewPeeringConnectionOptions(ctx, \"accepter\", \u0026ec2.PeeringConnectionOptionsArgs{\n\t\t\tVpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.ID(),\n\t\t\tAccepter: \u0026ec2.PeeringConnectionOptionsAccepterArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs;\nimport com.pulumi.aws.ec2.PeeringConnectionOptions;\nimport com.pulumi.aws.ec2.PeeringConnectionOptionsArgs;\nimport com.pulumi.aws.ec2.inputs.PeeringConnectionOptionsRequesterArgs;\nimport com.pulumi.aws.ec2.inputs.PeeringConnectionOptionsAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n var peerVpc = new Vpc(\"peerVpc\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n final var peer = AwsFunctions.getCallerIdentity();\n\n // Requester's side of the connection.\n var peerVpcPeeringConnection = new VpcPeeringConnection(\"peerVpcPeeringConnection\", VpcPeeringConnectionArgs.builder()\n .vpcId(main.id())\n .peerVpcId(peerVpc.id())\n .peerOwnerId(peer.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .autoAccept(false)\n .tags(Map.of(\"Side\", \"Requester\"))\n .build());\n\n // Accepter's side of the connection.\n var peerVpcPeeringConnectionAccepter = new VpcPeeringConnectionAccepter(\"peerVpcPeeringConnectionAccepter\", VpcPeeringConnectionAccepterArgs.builder()\n .vpcPeeringConnectionId(peerVpcPeeringConnection.id())\n .autoAccept(true)\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n var requester = new PeeringConnectionOptions(\"requester\", PeeringConnectionOptionsArgs.builder()\n .vpcPeeringConnectionId(peerVpcPeeringConnectionAccepter.id())\n .requester(PeeringConnectionOptionsRequesterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .build());\n\n var accepter = new PeeringConnectionOptions(\"accepter\", PeeringConnectionOptionsArgs.builder()\n .vpcPeeringConnectionId(peerVpcPeeringConnectionAccepter.id())\n .accepter(PeeringConnectionOptionsAccepterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n peerVpc:\n type: aws:ec2:Vpc\n name: peer\n properties:\n cidrBlock: 10.1.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n # Requester's side of the connection.\n peerVpcPeeringConnection:\n type: aws:ec2:VpcPeeringConnection\n name: peer\n properties:\n vpcId: ${main.id}\n peerVpcId: ${peerVpc.id}\n peerOwnerId: ${peer.accountId}\n autoAccept: false\n tags:\n Side: Requester\n # Accepter's side of the connection.\n peerVpcPeeringConnectionAccepter:\n type: aws:ec2:VpcPeeringConnectionAccepter\n name: peer\n properties:\n vpcPeeringConnectionId: ${peerVpcPeeringConnection.id}\n autoAccept: true\n tags:\n Side: Accepter\n requester:\n type: aws:ec2:PeeringConnectionOptions\n properties:\n vpcPeeringConnectionId: ${peerVpcPeeringConnectionAccepter.id}\n requester:\n allowRemoteVpcDnsResolution: true\n accepter:\n type: aws:ec2:PeeringConnectionOptions\n properties:\n vpcPeeringConnectionId: ${peerVpcPeeringConnectionAccepter.id}\n accepter:\n allowRemoteVpcDnsResolution: true\nvariables:\n peer:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Peering Connection Options using the VPC peering `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/peeringConnectionOptions:PeeringConnectionOptions foo pcx-111aaa111\n```\n", + "description": "Provides a resource to manage VPC peering connection options.\n\n\u003e **NOTE on VPC Peering Connections and VPC Peering Connection Options:** This provider provides\nboth a standalone VPC Peering Connection Options and a VPC Peering Connection\nresource with `accepter` and `requester` attributes. Do not manage options for the same VPC peering\nconnection in both a VPC Peering Connection resource and a VPC Peering Connection Options resource.\nDoing so will cause a conflict of options and will overwrite the options.\nUsing a VPC Peering Connection Options resource decouples management of the connection options from\nmanagement of the VPC Peering Connection and allows options to be set correctly in cross-region and\ncross-account scenarios.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.0.0.0/16\"});\nconst bar = new aws.ec2.Vpc(\"bar\", {cidrBlock: \"10.1.0.0/16\"});\nconst fooVpcPeeringConnection = new aws.ec2.VpcPeeringConnection(\"foo\", {\n vpcId: foo.id,\n peerVpcId: bar.id,\n autoAccept: true,\n});\nconst fooPeeringConnectionOptions = new aws.ec2.PeeringConnectionOptions(\"foo\", {\n vpcPeeringConnectionId: fooVpcPeeringConnection.id,\n accepter: {\n allowRemoteVpcDnsResolution: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.Vpc(\"foo\", cidr_block=\"10.0.0.0/16\")\nbar = aws.ec2.Vpc(\"bar\", cidr_block=\"10.1.0.0/16\")\nfoo_vpc_peering_connection = aws.ec2.VpcPeeringConnection(\"foo\",\n vpc_id=foo.id,\n peer_vpc_id=bar.id,\n auto_accept=True)\nfoo_peering_connection_options = aws.ec2.PeeringConnectionOptions(\"foo\",\n vpc_peering_connection_id=foo_vpc_peering_connection.id,\n accepter={\n \"allow_remote_vpc_dns_resolution\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var bar = new Aws.Ec2.Vpc(\"bar\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var fooVpcPeeringConnection = new Aws.Ec2.VpcPeeringConnection(\"foo\", new()\n {\n VpcId = foo.Id,\n PeerVpcId = bar.Id,\n AutoAccept = true,\n });\n\n var fooPeeringConnectionOptions = new Aws.Ec2.PeeringConnectionOptions(\"foo\", new()\n {\n VpcPeeringConnectionId = fooVpcPeeringConnection.Id,\n Accepter = new Aws.Ec2.Inputs.PeeringConnectionOptionsAccepterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewVpc(ctx, \"bar\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooVpcPeeringConnection, err := ec2.NewVpcPeeringConnection(ctx, \"foo\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tVpcId: foo.ID(),\n\t\t\tPeerVpcId: bar.ID(),\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewPeeringConnectionOptions(ctx, \"foo\", \u0026ec2.PeeringConnectionOptionsArgs{\n\t\t\tVpcPeeringConnectionId: fooVpcPeeringConnection.ID(),\n\t\t\tAccepter: \u0026ec2.PeeringConnectionOptionsAccepterArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.PeeringConnectionOptions;\nimport com.pulumi.aws.ec2.PeeringConnectionOptionsArgs;\nimport com.pulumi.aws.ec2.inputs.PeeringConnectionOptionsAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Vpc(\"foo\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var bar = new Vpc(\"bar\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var fooVpcPeeringConnection = new VpcPeeringConnection(\"fooVpcPeeringConnection\", VpcPeeringConnectionArgs.builder()\n .vpcId(foo.id())\n .peerVpcId(bar.id())\n .autoAccept(true)\n .build());\n\n var fooPeeringConnectionOptions = new PeeringConnectionOptions(\"fooPeeringConnectionOptions\", PeeringConnectionOptionsArgs.builder()\n .vpcPeeringConnectionId(fooVpcPeeringConnection.id())\n .accepter(PeeringConnectionOptionsAccepterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n bar:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n fooVpcPeeringConnection:\n type: aws:ec2:VpcPeeringConnection\n name: foo\n properties:\n vpcId: ${foo.id}\n peerVpcId: ${bar.id}\n autoAccept: true\n fooPeeringConnectionOptions:\n type: aws:ec2:PeeringConnectionOptions\n name: foo\n properties:\n vpcPeeringConnectionId: ${fooVpcPeeringConnection.id}\n accepter:\n allowRemoteVpcDnsResolution: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Cross-Account Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst peerVpc = new aws.ec2.Vpc(\"peer\", {\n cidrBlock: \"10.1.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst peer = aws.getCallerIdentity({});\n// Requester's side of the connection.\nconst peerVpcPeeringConnection = new aws.ec2.VpcPeeringConnection(\"peer\", {\n vpcId: main.id,\n peerVpcId: peerVpc.id,\n peerOwnerId: peer.then(peer =\u003e peer.accountId),\n autoAccept: false,\n tags: {\n Side: \"Requester\",\n },\n});\n// Accepter's side of the connection.\nconst peerVpcPeeringConnectionAccepter = new aws.ec2.VpcPeeringConnectionAccepter(\"peer\", {\n vpcPeeringConnectionId: peerVpcPeeringConnection.id,\n autoAccept: true,\n tags: {\n Side: \"Accepter\",\n },\n});\nconst requester = new aws.ec2.PeeringConnectionOptions(\"requester\", {\n vpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.id,\n requester: {\n allowRemoteVpcDnsResolution: true,\n },\n});\nconst accepter = new aws.ec2.PeeringConnectionOptions(\"accepter\", {\n vpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.id,\n accepter: {\n allowRemoteVpcDnsResolution: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\npeer_vpc = aws.ec2.Vpc(\"peer\",\n cidr_block=\"10.1.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\npeer = aws.get_caller_identity()\n# Requester's side of the connection.\npeer_vpc_peering_connection = aws.ec2.VpcPeeringConnection(\"peer\",\n vpc_id=main.id,\n peer_vpc_id=peer_vpc.id,\n peer_owner_id=peer.account_id,\n auto_accept=False,\n tags={\n \"Side\": \"Requester\",\n })\n# Accepter's side of the connection.\npeer_vpc_peering_connection_accepter = aws.ec2.VpcPeeringConnectionAccepter(\"peer\",\n vpc_peering_connection_id=peer_vpc_peering_connection.id,\n auto_accept=True,\n tags={\n \"Side\": \"Accepter\",\n })\nrequester = aws.ec2.PeeringConnectionOptions(\"requester\",\n vpc_peering_connection_id=peer_vpc_peering_connection_accepter.id,\n requester={\n \"allow_remote_vpc_dns_resolution\": True,\n })\naccepter = aws.ec2.PeeringConnectionOptions(\"accepter\",\n vpc_peering_connection_id=peer_vpc_peering_connection_accepter.id,\n accepter={\n \"allow_remote_vpc_dns_resolution\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var peerVpc = new Aws.Ec2.Vpc(\"peer\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var peer = Aws.GetCallerIdentity.Invoke();\n\n // Requester's side of the connection.\n var peerVpcPeeringConnection = new Aws.Ec2.VpcPeeringConnection(\"peer\", new()\n {\n VpcId = main.Id,\n PeerVpcId = peerVpc.Id,\n PeerOwnerId = peer.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n AutoAccept = false,\n Tags = \n {\n { \"Side\", \"Requester\" },\n },\n });\n\n // Accepter's side of the connection.\n var peerVpcPeeringConnectionAccepter = new Aws.Ec2.VpcPeeringConnectionAccepter(\"peer\", new()\n {\n VpcPeeringConnectionId = peerVpcPeeringConnection.Id,\n AutoAccept = true,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n var requester = new Aws.Ec2.PeeringConnectionOptions(\"requester\", new()\n {\n VpcPeeringConnectionId = peerVpcPeeringConnectionAccepter.Id,\n Requester = new Aws.Ec2.Inputs.PeeringConnectionOptionsRequesterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n });\n\n var accepter = new Aws.Ec2.PeeringConnectionOptions(\"accepter\", new()\n {\n VpcPeeringConnectionId = peerVpcPeeringConnectionAccepter.Id,\n Accepter = new Aws.Ec2.Inputs.PeeringConnectionOptionsAccepterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeerVpc, err := ec2.NewVpc(ctx, \"peer\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeer, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Requester's side of the connection.\n\t\tpeerVpcPeeringConnection, err := ec2.NewVpcPeeringConnection(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tPeerVpcId: peerVpc.ID(),\n\t\t\tPeerOwnerId: pulumi.String(peer.AccountId),\n\t\t\tAutoAccept: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Requester\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the connection.\n\t\tpeerVpcPeeringConnectionAccepter, err := ec2.NewVpcPeeringConnectionAccepter(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionAccepterArgs{\n\t\t\tVpcPeeringConnectionId: peerVpcPeeringConnection.ID(),\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewPeeringConnectionOptions(ctx, \"requester\", \u0026ec2.PeeringConnectionOptionsArgs{\n\t\t\tVpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.ID(),\n\t\t\tRequester: \u0026ec2.PeeringConnectionOptionsRequesterArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewPeeringConnectionOptions(ctx, \"accepter\", \u0026ec2.PeeringConnectionOptionsArgs{\n\t\t\tVpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.ID(),\n\t\t\tAccepter: \u0026ec2.PeeringConnectionOptionsAccepterArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs;\nimport com.pulumi.aws.ec2.PeeringConnectionOptions;\nimport com.pulumi.aws.ec2.PeeringConnectionOptionsArgs;\nimport com.pulumi.aws.ec2.inputs.PeeringConnectionOptionsRequesterArgs;\nimport com.pulumi.aws.ec2.inputs.PeeringConnectionOptionsAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n var peerVpc = new Vpc(\"peerVpc\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n final var peer = AwsFunctions.getCallerIdentity();\n\n // Requester's side of the connection.\n var peerVpcPeeringConnection = new VpcPeeringConnection(\"peerVpcPeeringConnection\", VpcPeeringConnectionArgs.builder()\n .vpcId(main.id())\n .peerVpcId(peerVpc.id())\n .peerOwnerId(peer.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .autoAccept(false)\n .tags(Map.of(\"Side\", \"Requester\"))\n .build());\n\n // Accepter's side of the connection.\n var peerVpcPeeringConnectionAccepter = new VpcPeeringConnectionAccepter(\"peerVpcPeeringConnectionAccepter\", VpcPeeringConnectionAccepterArgs.builder()\n .vpcPeeringConnectionId(peerVpcPeeringConnection.id())\n .autoAccept(true)\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n var requester = new PeeringConnectionOptions(\"requester\", PeeringConnectionOptionsArgs.builder()\n .vpcPeeringConnectionId(peerVpcPeeringConnectionAccepter.id())\n .requester(PeeringConnectionOptionsRequesterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .build());\n\n var accepter = new PeeringConnectionOptions(\"accepter\", PeeringConnectionOptionsArgs.builder()\n .vpcPeeringConnectionId(peerVpcPeeringConnectionAccepter.id())\n .accepter(PeeringConnectionOptionsAccepterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n peerVpc:\n type: aws:ec2:Vpc\n name: peer\n properties:\n cidrBlock: 10.1.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n # Requester's side of the connection.\n peerVpcPeeringConnection:\n type: aws:ec2:VpcPeeringConnection\n name: peer\n properties:\n vpcId: ${main.id}\n peerVpcId: ${peerVpc.id}\n peerOwnerId: ${peer.accountId}\n autoAccept: false\n tags:\n Side: Requester\n # Accepter's side of the connection.\n peerVpcPeeringConnectionAccepter:\n type: aws:ec2:VpcPeeringConnectionAccepter\n name: peer\n properties:\n vpcPeeringConnectionId: ${peerVpcPeeringConnection.id}\n autoAccept: true\n tags:\n Side: Accepter\n requester:\n type: aws:ec2:PeeringConnectionOptions\n properties:\n vpcPeeringConnectionId: ${peerVpcPeeringConnectionAccepter.id}\n requester:\n allowRemoteVpcDnsResolution: true\n accepter:\n type: aws:ec2:PeeringConnectionOptions\n properties:\n vpcPeeringConnectionId: ${peerVpcPeeringConnectionAccepter.id}\n accepter:\n allowRemoteVpcDnsResolution: true\nvariables:\n peer:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Peering Connection Options using the VPC peering `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/peeringConnectionOptions:PeeringConnectionOptions foo pcx-111aaa111\n```\n", "properties": { "accepter": { "$ref": "#/types/aws:ec2/PeeringConnectionOptionsAccepter:PeeringConnectionOptionsAccepter", @@ -242469,7 +242469,7 @@ } }, "aws:ec2/securityGroup:SecurityGroup": { - "description": "Provides a security group resource.\n\n\u003e **NOTE:** Avoid using the `ingress` and `egress` arguments of the `aws.ec2.SecurityGroup` resource to configure in-line rules, as they struggle with managing multiple CIDR blocks, and, due to the historical lack of unique IDs, tags and descriptions. To avoid these problems, use the current best practice of the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources with one CIDR block per rule.\n\n!\u003e **WARNING:** You should not use the `aws.ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `aws.ec2.SecurityGroup`) in conjunction with the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources or the `aws.ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten.\n\n\u003e **NOTE:** Referencing Security Groups across VPC peering has certain restrictions. More information is available in the [VPC Peering User Guide](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-security-groups.html).\n\n\u003e **NOTE:** Due to [AWS Lambda improved VPC networking changes that began deploying in September 2019](https://aws.amazon.com/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/), security groups associated with Lambda Functions can take up to 45 minutes to successfully delete. To allow for successful deletion, the provider will wait for at least 45 minutes even if a shorter delete timeout is specified.\n\n\u003e **NOTE:** The `cidr_blocks` and `ipv6_cidr_blocks` parameters are optional in the `ingress` and `egress` blocks. If nothing is specified, traffic will be blocked as described in _NOTE on Egress rules_ later.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst allowTls = new aws.ec2.SecurityGroup(\"allow_tls\", {\n name: \"allow_tls\",\n description: \"Allow TLS inbound traffic and all outbound traffic\",\n vpcId: main.id,\n tags: {\n Name: \"allow_tls\",\n },\n});\nconst allowTlsIpv4 = new aws.vpc.SecurityGroupIngressRule(\"allow_tls_ipv4\", {\n securityGroupId: allowTls.id,\n cidrIpv4: main.cidrBlock,\n fromPort: 443,\n ipProtocol: \"tcp\",\n toPort: 443,\n});\nconst allowTlsIpv6 = new aws.vpc.SecurityGroupIngressRule(\"allow_tls_ipv6\", {\n securityGroupId: allowTls.id,\n cidrIpv6: main.ipv6CidrBlock,\n fromPort: 443,\n ipProtocol: \"tcp\",\n toPort: 443,\n});\nconst allowAllTrafficIpv4 = new aws.vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv4\", {\n securityGroupId: allowTls.id,\n cidrIpv4: \"0.0.0.0/0\",\n ipProtocol: \"-1\",\n});\nconst allowAllTrafficIpv6 = new aws.vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv6\", {\n securityGroupId: allowTls.id,\n cidrIpv6: \"::/0\",\n ipProtocol: \"-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nallow_tls = aws.ec2.SecurityGroup(\"allow_tls\",\n name=\"allow_tls\",\n description=\"Allow TLS inbound traffic and all outbound traffic\",\n vpc_id=main[\"id\"],\n tags={\n \"Name\": \"allow_tls\",\n })\nallow_tls_ipv4 = aws.vpc.SecurityGroupIngressRule(\"allow_tls_ipv4\",\n security_group_id=allow_tls.id,\n cidr_ipv4=main[\"cidrBlock\"],\n from_port=443,\n ip_protocol=\"tcp\",\n to_port=443)\nallow_tls_ipv6 = aws.vpc.SecurityGroupIngressRule(\"allow_tls_ipv6\",\n security_group_id=allow_tls.id,\n cidr_ipv6=main[\"ipv6CidrBlock\"],\n from_port=443,\n ip_protocol=\"tcp\",\n to_port=443)\nallow_all_traffic_ipv4 = aws.vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv4\",\n security_group_id=allow_tls.id,\n cidr_ipv4=\"0.0.0.0/0\",\n ip_protocol=\"-1\")\nallow_all_traffic_ipv6 = aws.vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv6\",\n security_group_id=allow_tls.id,\n cidr_ipv6=\"::/0\",\n ip_protocol=\"-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var allowTls = new Aws.Ec2.SecurityGroup(\"allow_tls\", new()\n {\n Name = \"allow_tls\",\n Description = \"Allow TLS inbound traffic and all outbound traffic\",\n VpcId = main.Id,\n Tags = \n {\n { \"Name\", \"allow_tls\" },\n },\n });\n\n var allowTlsIpv4 = new Aws.Vpc.SecurityGroupIngressRule(\"allow_tls_ipv4\", new()\n {\n SecurityGroupId = allowTls.Id,\n CidrIpv4 = main.CidrBlock,\n FromPort = 443,\n IpProtocol = \"tcp\",\n ToPort = 443,\n });\n\n var allowTlsIpv6 = new Aws.Vpc.SecurityGroupIngressRule(\"allow_tls_ipv6\", new()\n {\n SecurityGroupId = allowTls.Id,\n CidrIpv6 = main.Ipv6CidrBlock,\n FromPort = 443,\n IpProtocol = \"tcp\",\n ToPort = 443,\n });\n\n var allowAllTrafficIpv4 = new Aws.Vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv4\", new()\n {\n SecurityGroupId = allowTls.Id,\n CidrIpv4 = \"0.0.0.0/0\",\n IpProtocol = \"-1\",\n });\n\n var allowAllTrafficIpv6 = new Aws.Vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv6\", new()\n {\n SecurityGroupId = allowTls.Id,\n CidrIpv6 = \"::/0\",\n IpProtocol = \"-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tallowTls, err := ec2.NewSecurityGroup(ctx, \"allow_tls\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"allow_tls\"),\n\t\t\tDescription: pulumi.String(\"Allow TLS inbound traffic and all outbound traffic\"),\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"allow_tls\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSecurityGroupIngressRule(ctx, \"allow_tls_ipv4\", \u0026vpc.SecurityGroupIngressRuleArgs{\n\t\t\tSecurityGroupId: allowTls.ID(),\n\t\t\tCidrIpv4: pulumi.Any(main.CidrBlock),\n\t\t\tFromPort: pulumi.Int(443),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tToPort: pulumi.Int(443),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSecurityGroupIngressRule(ctx, \"allow_tls_ipv6\", \u0026vpc.SecurityGroupIngressRuleArgs{\n\t\t\tSecurityGroupId: allowTls.ID(),\n\t\t\tCidrIpv6: pulumi.Any(main.Ipv6CidrBlock),\n\t\t\tFromPort: pulumi.Int(443),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tToPort: pulumi.Int(443),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSecurityGroupEgressRule(ctx, \"allow_all_traffic_ipv4\", \u0026vpc.SecurityGroupEgressRuleArgs{\n\t\t\tSecurityGroupId: allowTls.ID(),\n\t\t\tCidrIpv4: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tIpProtocol: pulumi.String(\"-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSecurityGroupEgressRule(ctx, \"allow_all_traffic_ipv6\", \u0026vpc.SecurityGroupEgressRuleArgs{\n\t\t\tSecurityGroupId: allowTls.ID(),\n\t\t\tCidrIpv6: pulumi.String(\"::/0\"),\n\t\t\tIpProtocol: pulumi.String(\"-1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.vpc.SecurityGroupIngressRule;\nimport com.pulumi.aws.vpc.SecurityGroupIngressRuleArgs;\nimport com.pulumi.aws.vpc.SecurityGroupEgressRule;\nimport com.pulumi.aws.vpc.SecurityGroupEgressRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var allowTls = new SecurityGroup(\"allowTls\", SecurityGroupArgs.builder()\n .name(\"allow_tls\")\n .description(\"Allow TLS inbound traffic and all outbound traffic\")\n .vpcId(main.id())\n .tags(Map.of(\"Name\", \"allow_tls\"))\n .build());\n\n var allowTlsIpv4 = new SecurityGroupIngressRule(\"allowTlsIpv4\", SecurityGroupIngressRuleArgs.builder()\n .securityGroupId(allowTls.id())\n .cidrIpv4(main.cidrBlock())\n .fromPort(443)\n .ipProtocol(\"tcp\")\n .toPort(443)\n .build());\n\n var allowTlsIpv6 = new SecurityGroupIngressRule(\"allowTlsIpv6\", SecurityGroupIngressRuleArgs.builder()\n .securityGroupId(allowTls.id())\n .cidrIpv6(main.ipv6CidrBlock())\n .fromPort(443)\n .ipProtocol(\"tcp\")\n .toPort(443)\n .build());\n\n var allowAllTrafficIpv4 = new SecurityGroupEgressRule(\"allowAllTrafficIpv4\", SecurityGroupEgressRuleArgs.builder()\n .securityGroupId(allowTls.id())\n .cidrIpv4(\"0.0.0.0/0\")\n .ipProtocol(\"-1\")\n .build());\n\n var allowAllTrafficIpv6 = new SecurityGroupEgressRule(\"allowAllTrafficIpv6\", SecurityGroupEgressRuleArgs.builder()\n .securityGroupId(allowTls.id())\n .cidrIpv6(\"::/0\")\n .ipProtocol(\"-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n allowTls:\n type: aws:ec2:SecurityGroup\n name: allow_tls\n properties:\n name: allow_tls\n description: Allow TLS inbound traffic and all outbound traffic\n vpcId: ${main.id}\n tags:\n Name: allow_tls\n allowTlsIpv4:\n type: aws:vpc:SecurityGroupIngressRule\n name: allow_tls_ipv4\n properties:\n securityGroupId: ${allowTls.id}\n cidrIpv4: ${main.cidrBlock}\n fromPort: 443\n ipProtocol: tcp\n toPort: 443\n allowTlsIpv6:\n type: aws:vpc:SecurityGroupIngressRule\n name: allow_tls_ipv6\n properties:\n securityGroupId: ${allowTls.id}\n cidrIpv6: ${main.ipv6CidrBlock}\n fromPort: 443\n ipProtocol: tcp\n toPort: 443\n allowAllTrafficIpv4:\n type: aws:vpc:SecurityGroupEgressRule\n name: allow_all_traffic_ipv4\n properties:\n securityGroupId: ${allowTls.id}\n cidrIpv4: 0.0.0.0/0\n ipProtocol: '-1'\n allowAllTrafficIpv6:\n type: aws:vpc:SecurityGroupEgressRule\n name: allow_all_traffic_ipv6\n properties:\n securityGroupId: ${allowTls.id}\n cidrIpv6: ::/0\n ipProtocol: '-1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE on Egress rules:** By default, AWS creates an `ALLOW ALL` egress rule when creating a new Security Group inside of a VPC. When creating a new Security Group inside a VPC, **this provider will remove this default rule**, and require you specifically re-create it if you desire that rule. We feel this leads to fewer surprises in terms of controlling your egress rules. If you desire this rule to be in place, you can use this `egress` block:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroup(\"example\", {egress: [{\n fromPort: 0,\n toPort: 0,\n protocol: \"-1\",\n cidrBlocks: [\"0.0.0.0/0\"],\n ipv6CidrBlocks: [\"::/0\"],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroup(\"example\", egress=[{\n \"from_port\": 0,\n \"to_port\": 0,\n \"protocol\": \"-1\",\n \"cidr_blocks\": [\"0.0.0.0/0\"],\n \"ipv6_cidr_blocks\": [\"::/0\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Egress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupEgressArgs\n {\n FromPort = 0,\n ToPort = 0,\n Protocol = \"-1\",\n CidrBlocks = new[]\n {\n \"0.0.0.0/0\",\n },\n Ipv6CidrBlocks = new[]\n {\n \"::/0\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tEgress: ec2.SecurityGroupEgressArray{\n\t\t\t\t\u0026ec2.SecurityGroupEgressArgs{\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t},\n\t\t\t\t\tIpv6CidrBlocks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"::/0\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupEgressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new SecurityGroup(\"example\", SecurityGroupArgs.builder()\n .egress(SecurityGroupEgressArgs.builder()\n .fromPort(0)\n .toPort(0)\n .protocol(\"-1\")\n .cidrBlocks(\"0.0.0.0/0\")\n .ipv6CidrBlocks(\"::/0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n egress:\n - fromPort: 0\n toPort: 0\n protocol: '-1'\n cidrBlocks:\n - 0.0.0.0/0\n ipv6CidrBlocks:\n - ::/0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage With Prefix List IDs\n\nPrefix Lists are either managed by AWS internally, or created by the customer using a\nPrefix List resource. Prefix Lists provided by\nAWS are associated with a prefix list name, or service name, that is linked to a specific region.\nPrefix list IDs are exported on VPC Endpoints, so you can use this format:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myEndpoint = new aws.ec2.VpcEndpoint(\"my_endpoint\", {});\nconst example = new aws.ec2.SecurityGroup(\"example\", {egress: [{\n fromPort: 0,\n toPort: 0,\n protocol: \"-1\",\n prefixListIds: [myEndpoint.prefixListId],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_endpoint = aws.ec2.VpcEndpoint(\"my_endpoint\")\nexample = aws.ec2.SecurityGroup(\"example\", egress=[{\n \"from_port\": 0,\n \"to_port\": 0,\n \"protocol\": \"-1\",\n \"prefix_list_ids\": [my_endpoint.prefix_list_id],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myEndpoint = new Aws.Ec2.VpcEndpoint(\"my_endpoint\");\n\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Egress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupEgressArgs\n {\n FromPort = 0,\n ToPort = 0,\n Protocol = \"-1\",\n PrefixListIds = new[]\n {\n myEndpoint.PrefixListId,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyEndpoint, err := ec2.NewVpcEndpoint(ctx, \"my_endpoint\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tEgress: ec2.SecurityGroupEgressArray{\n\t\t\t\t\u0026ec2.SecurityGroupEgressArgs{\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tPrefixListIds: pulumi.StringArray{\n\t\t\t\t\t\tmyEndpoint.PrefixListId,\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupEgressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myEndpoint = new VpcEndpoint(\"myEndpoint\");\n\n var example = new SecurityGroup(\"example\", SecurityGroupArgs.builder()\n .egress(SecurityGroupEgressArgs.builder()\n .fromPort(0)\n .toPort(0)\n .protocol(\"-1\")\n .prefixListIds(myEndpoint.prefixListId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n egress:\n - fromPort: 0\n toPort: 0\n protocol: '-1'\n prefixListIds:\n - ${myEndpoint.prefixListId}\n myEndpoint:\n type: aws:ec2:VpcEndpoint\n name: my_endpoint\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can also find a specific Prefix List using the `aws.ec2.getPrefixList` data source.\n\n### Removing All Ingress and Egress Rules\n\nThe `ingress` and `egress` arguments are processed in attributes-as-blocks mode. Due to this, removing these arguments from the configuration will **not** cause the provider to destroy the managed rules. To subsequently remove all managed ingress and egress rules:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroup(\"example\", {\n name: \"sg\",\n vpcId: exampleAwsVpc.id,\n ingress: [],\n egress: [],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroup(\"example\",\n name=\"sg\",\n vpc_id=example_aws_vpc[\"id\"],\n ingress=[],\n egress=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = \"sg\",\n VpcId = exampleAwsVpc.Id,\n Ingress = new[] {},\n Egress = new[] {},\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"sg\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tIngress: ec2.SecurityGroupIngressArray{},\n\t\t\tEgress: ec2.SecurityGroupEgressArray{},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new SecurityGroup(\"example\", SecurityGroupArgs.builder()\n .name(\"sg\")\n .vpcId(exampleAwsVpc.id())\n .ingress()\n .egress()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n name: sg\n vpcId: ${exampleAwsVpc.id}\n ingress: []\n egress: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Recreating a Security Group\n\nA simple security group `name` change \"forces new\" the security group--the provider destroys the security group and creates a new one. (Likewise, `description`, `name_prefix`, or `vpc_id` [cannot be changed](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#creating-security-group).) Attempting to recreate the security group leads to a variety of complications depending on how it is used.\n\nSecurity groups are generally associated with other resources--**more than 100** AWS Provider resources reference security groups. Referencing a resource from another resource creates a one-way dependency. For example, if you create an EC2 `aws.ec2.Instance` that has a `vpc_security_group_ids` argument that refers to an `aws.ec2.SecurityGroup` resource, the `aws.ec2.SecurityGroup` is a dependent of the `aws.ec2.Instance`. Because of this, the provider will create the security group first so that it can then be associated with the EC2 instance.\n\nHowever, the dependency relationship actually goes both directions causing the _Security Group Deletion Problem_. AWS does not allow you to delete the security group associated with another resource (_e.g._, the `aws.ec2.Instance`).\n\nThe provider does not model bi-directional dependencies like this, but, even if it did, simply knowing the dependency situation would not be enough to solve it. For example, some resources must always have an associated security group while others don't need to. In addition, when the `aws.ec2.SecurityGroup` resource attempts to recreate, it receives a dependent object error, which does not provide information on whether the dependent object is a security group rule or, for example, an associated EC2 instance. Within the provider, the associated resource (_e.g._, `aws.ec2.Instance`) does not receive an error when the `aws.ec2.SecurityGroup` is trying to recreate even though that is where changes to the associated resource would need to take place (_e.g._, removing the security group association).\n\nDespite these sticky problems, below are some ways to improve your experience when you find it necessary to recreate a security group.\n\n### Shorter timeout\n\n(This example is one approach to recreating security groups. For more information on the challenges and the _Security Group Deletion Problem_, see the section above.)\n\nIf destroying a security group takes a long time, it may be because the provider cannot distinguish between a dependent object (_e.g._, a security group rule or EC2 instance) that is _in the process of being deleted_ and one that is not. In other words, it may be waiting for a train that isn't scheduled to arrive. To fail faster, shorten the `delete` timeout from the default timeout:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroup(\"example\", {name: \"izizavle\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroup(\"example\", name=\"izizavle\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = \"izizavle\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"izizavle\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new SecurityGroup(\"example\", SecurityGroupArgs.builder()\n .name(\"izizavle\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n name: izizavle\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Provisioners\n\n(This example is one approach to recreating security groups. For more information on the challenges and the _Security Group Deletion Problem_, see the section above.)\n\n**DISCLAIMER:** We **_HIGHLY_** recommend using one of the above approaches and _NOT_ using local provisioners. Provisioners, like the one shown below, should be considered a **last resort** since they are _not readable_, _require skills outside standard configuration_, are _error prone_ and _difficult to maintain_, are not compatible with cloud environments and upgrade tools, require AWS CLI installation, and are subject to changes outside the AWS Provider.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as _null from \"@pulumi/null\";\nimport * as aws from \"@pulumi/aws\";\nimport * as command from \"@pulumi/command\";\nimport * as std from \"@pulumi/std\";\n\nconst default = aws.ec2.getSecurityGroup({\n name: \"default\",\n});\nconst example = new aws.ec2.SecurityGroup(\"example\", {\n name: \"sg\",\n tags: {\n workaround1: \"tagged-name\",\n workaround2: _default.then(_default =\u003e _default.id),\n },\n});\nconst exampleProvisioner0 = new command.local.Command(\"exampleProvisioner0\", {\n create: \"true\",\n update: \"true\",\n \"delete\": ` ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"Name=tag:Name,Values=${tags.workaround1}\" --query \"VpcEndpoints[0].VpcEndpointId\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${ENDPOINT_ID} --add-security-group-ids ${tags.workaround2} --remove-security-group-ids ${id}\n`,\n}, {\n dependsOn: [example],\n});\nconst exampleResource = new _null.Resource(\"example\", {triggers: {\n rerun_upon_change_of: std.join({\n separator: \",\",\n input: exampleAwsVpcEndpoint.securityGroupIds,\n }).then(invoke =\u003e invoke.result),\n}});\nconst exampleResourceProvisioner0 = new command.local.Command(\"exampleResourceProvisioner0\", {create: ` aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${exampleAwsVpcEndpoint.id} --remove-security-group-ids ${_default.id}\n`}, {\n dependsOn: [exampleResource],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_command as command\nimport pulumi_null as null\nimport pulumi_std as std\n\ndefault = aws.ec2.get_security_group(name=\"default\")\nexample = aws.ec2.SecurityGroup(\"example\",\n name=\"sg\",\n tags={\n \"workaround1\": \"tagged-name\",\n \"workaround2\": default.id,\n })\nexample_provisioner0 = command.local.Command(\"exampleProvisioner0\",\n create=true,\n update=true,\n delete=f ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"Name=tag:Name,Values={tags.workaround1}\" --query \"VpcEndpoints[0].VpcEndpointId\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${{ENDPOINT_ID}} --add-security-group-ids {tags.workaround2} --remove-security-group-ids {id}\n,\n opts = pulumi.ResourceOptions(depends_on=[example]))\nexample_resource = null.Resource(\"example\", triggers={\n \"rerun_upon_change_of\": std.join(separator=\",\",\n input=example_aws_vpc_endpoint[\"securityGroupIds\"]).result,\n})\nexample_resource_provisioner0 = command.local.Command(\"exampleResourceProvisioner0\", create=f aws ec2 modify-vpc-endpoint --vpc-endpoint-id {example_aws_vpc_endpoint.id} --remove-security-group-ids {default.id}\n,\nopts = pulumi.ResourceOptions(depends_on=[example_resource]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Command = Pulumi.Command;\nusing Null = Pulumi.Null;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Ec2.GetSecurityGroup.Invoke(new()\n {\n Name = \"default\",\n });\n\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = \"sg\",\n Tags = \n {\n { \"workaround1\", \"tagged-name\" },\n { \"workaround2\", @default.Apply(@default =\u003e @default.Apply(getSecurityGroupResult =\u003e getSecurityGroupResult.Id)) },\n },\n });\n\n var exampleProvisioner0 = new Command.Local.Command(\"exampleProvisioner0\", new()\n {\n Create = \"true\",\n Update = \"true\",\n Delete = @$\" ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"\"Name=tag:Name,Values={tags.Workaround1}\"\" --query \"\"VpcEndpoints[0].VpcEndpointId\"\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${{ENDPOINT_ID}} --add-security-group-ids {tags.Workaround2} --remove-security-group-ids {id}\n\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleResource = new Null.Resource(\"example\", new()\n {\n Triggers = \n {\n { \"rerun_upon_change_of\", Std.Join.Invoke(new()\n {\n Separator = \",\",\n Input = exampleAwsVpcEndpoint.SecurityGroupIds,\n }).Apply(invoke =\u003e invoke.Result) },\n },\n });\n\n var exampleResourceProvisioner0 = new Command.Local.Command(\"exampleResourceProvisioner0\", new()\n {\n Create = @$\" aws ec2 modify-vpc-endpoint --vpc-endpoint-id {exampleAwsVpcEndpoint.Id} --remove-security-group-ids {@default.Apply(getSecurityGroupResult =\u003e getSecurityGroupResult.Id)}\n\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleResource,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-command/sdk/go/command/local\"\n\t\"github.com/pulumi/pulumi-null/sdk/go/null\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\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_default, err := ec2.LookupSecurityGroup(ctx, \u0026ec2.LookupSecurityGroupArgs{\n\t\t\tName: pulumi.StringRef(\"default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"sg\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"workaround1\": pulumi.String(\"tagged-name\"),\n\t\t\t\t\"workaround2\": pulumi.String(_default.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = local.NewCommand(ctx, \"exampleProvisioner0\", \u0026local.CommandArgs{\n\t\t\tCreate: \"true\",\n\t\t\tUpdate: \"true\",\n\t\t\tDelete: fmt.Sprintf(\" ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \\\"Name=tag:Name,Values=%v\\\" --query \\\"VpcEndpoints[0].VpcEndpointId\\\" --output text` \u0026\u0026\\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${ENDPOINT_ID} --add-security-group-ids %v --remove-security-group-ids %v\\n\", tags.Workaround1, tags.Workaround2, id),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJoin, err := std.Join(ctx, \u0026std.JoinArgs{\n\t\t\tSeparator: \",\",\n\t\t\tInput: exampleAwsVpcEndpoint.SecurityGroupIds,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResource, err := null.NewResource(ctx, \"example\", \u0026null.ResourceArgs{\n\t\t\tTriggers: pulumi.StringMap{\n\t\t\t\t\"rerun_upon_change_of\": pulumi.String(invokeJoin.Result),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = local.NewCommand(ctx, \"exampleResourceProvisioner0\", \u0026local.CommandArgs{\n\t\t\tCreate: fmt.Sprintf(\" aws ec2 modify-vpc-endpoint --vpc-endpoint-id %v --remove-security-group-ids %v\\n\", exampleAwsVpcEndpoint.Id, _default.Id),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleResource,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSecurityGroupArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.command.local.Command;\nimport com.pulumi.command.local.CommandArgs;\nimport com.pulumi.null.Resource;\nimport com.pulumi.null.ResourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = Ec2Functions.getSecurityGroup(GetSecurityGroupArgs.builder()\n .name(\"default\")\n .build());\n\n var example = new SecurityGroup(\"example\", SecurityGroupArgs.builder()\n .name(\"sg\")\n .tags(Map.ofEntries(\n Map.entry(\"workaround1\", \"tagged-name\"),\n Map.entry(\"workaround2\", default_.id())\n ))\n .build());\n\n var exampleProvisioner0 = new Command(\"exampleProvisioner0\", CommandArgs.builder()\n .create(\"true\")\n .update(\"true\")\n .delete(\"\"\"\n ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"Name=tag:Name,Values=%s\" --query \"VpcEndpoints[0].VpcEndpointId\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${ENDPOINT_ID} --add-security-group-ids %s --remove-security-group-ids %s\n\", tags.workaround1(),tags.workaround2(),id))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleResource = new Resource(\"exampleResource\", ResourceArgs.builder()\n .triggers(Map.of(\"rerun_upon_change_of\", StdFunctions.join(JoinArgs.builder()\n .separator(\",\")\n .input(exampleAwsVpcEndpoint.securityGroupIds())\n .build()).result()))\n .build());\n\n var exampleResourceProvisioner0 = new Command(\"exampleResourceProvisioner0\", CommandArgs.builder()\n .create(\"\"\"\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id %s --remove-security-group-ids %s\n\", exampleAwsVpcEndpoint.id(),default_.id()))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleResource)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n name: sg\n tags:\n workaround1: tagged-name\n workaround2: ${default.id}\n exampleProvisioner0:\n type: command:local:Command\n properties:\n create: 'true'\n update: 'true'\n delete: |2\n ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"Name=tag:Name,Values=${tags.workaround1}\" --query \"VpcEndpoints[0].VpcEndpointId\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id $${ENDPOINT_ID} --add-security-group-ids ${tags.workaround2} --remove-security-group-ids ${id}\n options:\n dependsOn:\n - ${example}\n exampleResource:\n type: null:Resource\n name: example\n properties:\n triggers:\n rerun_upon_change_of:\n fn::invoke:\n function: std:join\n arguments:\n separator: ','\n input: ${exampleAwsVpcEndpoint.securityGroupIds}\n return: result\n exampleResourceProvisioner0:\n type: command:local:Command\n properties:\n create: |2\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${exampleAwsVpcEndpoint.id} --remove-security-group-ids ${default.id}\n options:\n dependsOn:\n - ${exampleResource}\nvariables:\n default:\n fn::invoke:\n function: aws:ec2:getSecurityGroup\n arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Groups using the security group `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/securityGroup:SecurityGroup elb_sg sg-903004f8\n```\n", + "description": "Provides a security group resource.\n\n\u003e **NOTE:** Avoid using the `ingress` and `egress` arguments of the `aws.ec2.SecurityGroup` resource to configure in-line rules, as they struggle with managing multiple CIDR blocks, and, due to the historical lack of unique IDs, tags and descriptions. To avoid these problems, use the current best practice of the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources with one CIDR block per rule.\n\n!\u003e **WARNING:** You should not use the `aws.ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `aws.ec2.SecurityGroup`) in conjunction with the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources or the `aws.ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten.\n\n\u003e **NOTE:** Referencing Security Groups across VPC peering has certain restrictions. More information is available in the [VPC Peering User Guide](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-security-groups.html).\n\n\u003e **NOTE:** Due to [AWS Lambda improved VPC networking changes that began deploying in September 2019](https://aws.amazon.com/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/), security groups associated with Lambda Functions can take up to 45 minutes to successfully delete. To allow for successful deletion, the provider will wait for at least 45 minutes even if a shorter delete timeout is specified.\n\n\u003e **NOTE:** The `cidr_blocks` and `ipv6_cidr_blocks` parameters are optional in the `ingress` and `egress` blocks. If nothing is specified, traffic will be blocked as described in _NOTE on Egress rules_ later.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst allowTls = new aws.ec2.SecurityGroup(\"allow_tls\", {\n name: \"allow_tls\",\n description: \"Allow TLS inbound traffic and all outbound traffic\",\n vpcId: main.id,\n tags: {\n Name: \"allow_tls\",\n },\n});\nconst allowTlsIpv4 = new aws.vpc.SecurityGroupIngressRule(\"allow_tls_ipv4\", {\n securityGroupId: allowTls.id,\n cidrIpv4: main.cidrBlock,\n fromPort: 443,\n ipProtocol: \"tcp\",\n toPort: 443,\n});\nconst allowTlsIpv6 = new aws.vpc.SecurityGroupIngressRule(\"allow_tls_ipv6\", {\n securityGroupId: allowTls.id,\n cidrIpv6: main.ipv6CidrBlock,\n fromPort: 443,\n ipProtocol: \"tcp\",\n toPort: 443,\n});\nconst allowAllTrafficIpv4 = new aws.vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv4\", {\n securityGroupId: allowTls.id,\n cidrIpv4: \"0.0.0.0/0\",\n ipProtocol: \"-1\",\n});\nconst allowAllTrafficIpv6 = new aws.vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv6\", {\n securityGroupId: allowTls.id,\n cidrIpv6: \"::/0\",\n ipProtocol: \"-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nallow_tls = aws.ec2.SecurityGroup(\"allow_tls\",\n name=\"allow_tls\",\n description=\"Allow TLS inbound traffic and all outbound traffic\",\n vpc_id=main[\"id\"],\n tags={\n \"Name\": \"allow_tls\",\n })\nallow_tls_ipv4 = aws.vpc.SecurityGroupIngressRule(\"allow_tls_ipv4\",\n security_group_id=allow_tls.id,\n cidr_ipv4=main[\"cidrBlock\"],\n from_port=443,\n ip_protocol=\"tcp\",\n to_port=443)\nallow_tls_ipv6 = aws.vpc.SecurityGroupIngressRule(\"allow_tls_ipv6\",\n security_group_id=allow_tls.id,\n cidr_ipv6=main[\"ipv6CidrBlock\"],\n from_port=443,\n ip_protocol=\"tcp\",\n to_port=443)\nallow_all_traffic_ipv4 = aws.vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv4\",\n security_group_id=allow_tls.id,\n cidr_ipv4=\"0.0.0.0/0\",\n ip_protocol=\"-1\")\nallow_all_traffic_ipv6 = aws.vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv6\",\n security_group_id=allow_tls.id,\n cidr_ipv6=\"::/0\",\n ip_protocol=\"-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var allowTls = new Aws.Ec2.SecurityGroup(\"allow_tls\", new()\n {\n Name = \"allow_tls\",\n Description = \"Allow TLS inbound traffic and all outbound traffic\",\n VpcId = main.Id,\n Tags = \n {\n { \"Name\", \"allow_tls\" },\n },\n });\n\n var allowTlsIpv4 = new Aws.Vpc.SecurityGroupIngressRule(\"allow_tls_ipv4\", new()\n {\n SecurityGroupId = allowTls.Id,\n CidrIpv4 = main.CidrBlock,\n FromPort = 443,\n IpProtocol = \"tcp\",\n ToPort = 443,\n });\n\n var allowTlsIpv6 = new Aws.Vpc.SecurityGroupIngressRule(\"allow_tls_ipv6\", new()\n {\n SecurityGroupId = allowTls.Id,\n CidrIpv6 = main.Ipv6CidrBlock,\n FromPort = 443,\n IpProtocol = \"tcp\",\n ToPort = 443,\n });\n\n var allowAllTrafficIpv4 = new Aws.Vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv4\", new()\n {\n SecurityGroupId = allowTls.Id,\n CidrIpv4 = \"0.0.0.0/0\",\n IpProtocol = \"-1\",\n });\n\n var allowAllTrafficIpv6 = new Aws.Vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv6\", new()\n {\n SecurityGroupId = allowTls.Id,\n CidrIpv6 = \"::/0\",\n IpProtocol = \"-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tallowTls, err := ec2.NewSecurityGroup(ctx, \"allow_tls\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"allow_tls\"),\n\t\t\tDescription: pulumi.String(\"Allow TLS inbound traffic and all outbound traffic\"),\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"allow_tls\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSecurityGroupIngressRule(ctx, \"allow_tls_ipv4\", \u0026vpc.SecurityGroupIngressRuleArgs{\n\t\t\tSecurityGroupId: allowTls.ID(),\n\t\t\tCidrIpv4: pulumi.Any(main.CidrBlock),\n\t\t\tFromPort: pulumi.Int(443),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tToPort: pulumi.Int(443),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSecurityGroupIngressRule(ctx, \"allow_tls_ipv6\", \u0026vpc.SecurityGroupIngressRuleArgs{\n\t\t\tSecurityGroupId: allowTls.ID(),\n\t\t\tCidrIpv6: pulumi.Any(main.Ipv6CidrBlock),\n\t\t\tFromPort: pulumi.Int(443),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tToPort: pulumi.Int(443),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSecurityGroupEgressRule(ctx, \"allow_all_traffic_ipv4\", \u0026vpc.SecurityGroupEgressRuleArgs{\n\t\t\tSecurityGroupId: allowTls.ID(),\n\t\t\tCidrIpv4: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tIpProtocol: pulumi.String(\"-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSecurityGroupEgressRule(ctx, \"allow_all_traffic_ipv6\", \u0026vpc.SecurityGroupEgressRuleArgs{\n\t\t\tSecurityGroupId: allowTls.ID(),\n\t\t\tCidrIpv6: pulumi.String(\"::/0\"),\n\t\t\tIpProtocol: pulumi.String(\"-1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.vpc.SecurityGroupIngressRule;\nimport com.pulumi.aws.vpc.SecurityGroupIngressRuleArgs;\nimport com.pulumi.aws.vpc.SecurityGroupEgressRule;\nimport com.pulumi.aws.vpc.SecurityGroupEgressRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var allowTls = new SecurityGroup(\"allowTls\", SecurityGroupArgs.builder()\n .name(\"allow_tls\")\n .description(\"Allow TLS inbound traffic and all outbound traffic\")\n .vpcId(main.id())\n .tags(Map.of(\"Name\", \"allow_tls\"))\n .build());\n\n var allowTlsIpv4 = new SecurityGroupIngressRule(\"allowTlsIpv4\", SecurityGroupIngressRuleArgs.builder()\n .securityGroupId(allowTls.id())\n .cidrIpv4(main.cidrBlock())\n .fromPort(443)\n .ipProtocol(\"tcp\")\n .toPort(443)\n .build());\n\n var allowTlsIpv6 = new SecurityGroupIngressRule(\"allowTlsIpv6\", SecurityGroupIngressRuleArgs.builder()\n .securityGroupId(allowTls.id())\n .cidrIpv6(main.ipv6CidrBlock())\n .fromPort(443)\n .ipProtocol(\"tcp\")\n .toPort(443)\n .build());\n\n var allowAllTrafficIpv4 = new SecurityGroupEgressRule(\"allowAllTrafficIpv4\", SecurityGroupEgressRuleArgs.builder()\n .securityGroupId(allowTls.id())\n .cidrIpv4(\"0.0.0.0/0\")\n .ipProtocol(\"-1\")\n .build());\n\n var allowAllTrafficIpv6 = new SecurityGroupEgressRule(\"allowAllTrafficIpv6\", SecurityGroupEgressRuleArgs.builder()\n .securityGroupId(allowTls.id())\n .cidrIpv6(\"::/0\")\n .ipProtocol(\"-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n allowTls:\n type: aws:ec2:SecurityGroup\n name: allow_tls\n properties:\n name: allow_tls\n description: Allow TLS inbound traffic and all outbound traffic\n vpcId: ${main.id}\n tags:\n Name: allow_tls\n allowTlsIpv4:\n type: aws:vpc:SecurityGroupIngressRule\n name: allow_tls_ipv4\n properties:\n securityGroupId: ${allowTls.id}\n cidrIpv4: ${main.cidrBlock}\n fromPort: 443\n ipProtocol: tcp\n toPort: 443\n allowTlsIpv6:\n type: aws:vpc:SecurityGroupIngressRule\n name: allow_tls_ipv6\n properties:\n securityGroupId: ${allowTls.id}\n cidrIpv6: ${main.ipv6CidrBlock}\n fromPort: 443\n ipProtocol: tcp\n toPort: 443\n allowAllTrafficIpv4:\n type: aws:vpc:SecurityGroupEgressRule\n name: allow_all_traffic_ipv4\n properties:\n securityGroupId: ${allowTls.id}\n cidrIpv4: 0.0.0.0/0\n ipProtocol: '-1'\n allowAllTrafficIpv6:\n type: aws:vpc:SecurityGroupEgressRule\n name: allow_all_traffic_ipv6\n properties:\n securityGroupId: ${allowTls.id}\n cidrIpv6: ::/0\n ipProtocol: '-1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE on Egress rules:** By default, AWS creates an `ALLOW ALL` egress rule when creating a new Security Group inside of a VPC. When creating a new Security Group inside a VPC, **this provider will remove this default rule**, and require you specifically re-create it if you desire that rule. We feel this leads to fewer surprises in terms of controlling your egress rules. If you desire this rule to be in place, you can use this `egress` block:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroup(\"example\", {egress: [{\n fromPort: 0,\n toPort: 0,\n protocol: \"-1\",\n cidrBlocks: [\"0.0.0.0/0\"],\n ipv6CidrBlocks: [\"::/0\"],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroup(\"example\", egress=[{\n \"from_port\": 0,\n \"to_port\": 0,\n \"protocol\": \"-1\",\n \"cidr_blocks\": [\"0.0.0.0/0\"],\n \"ipv6_cidr_blocks\": [\"::/0\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Egress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupEgressArgs\n {\n FromPort = 0,\n ToPort = 0,\n Protocol = \"-1\",\n CidrBlocks = new[]\n {\n \"0.0.0.0/0\",\n },\n Ipv6CidrBlocks = new[]\n {\n \"::/0\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tEgress: ec2.SecurityGroupEgressArray{\n\t\t\t\t\u0026ec2.SecurityGroupEgressArgs{\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t},\n\t\t\t\t\tIpv6CidrBlocks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"::/0\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupEgressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new SecurityGroup(\"example\", SecurityGroupArgs.builder()\n .egress(SecurityGroupEgressArgs.builder()\n .fromPort(0)\n .toPort(0)\n .protocol(\"-1\")\n .cidrBlocks(\"0.0.0.0/0\")\n .ipv6CidrBlocks(\"::/0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n egress:\n - fromPort: 0\n toPort: 0\n protocol: '-1'\n cidrBlocks:\n - 0.0.0.0/0\n ipv6CidrBlocks:\n - ::/0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage With Prefix List IDs\n\nPrefix Lists are either managed by AWS internally, or created by the customer using a\nPrefix List resource. Prefix Lists provided by\nAWS are associated with a prefix list name, or service name, that is linked to a specific region.\nPrefix list IDs are exported on VPC Endpoints, so you can use this format:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myEndpoint = new aws.ec2.VpcEndpoint(\"my_endpoint\", {});\nconst example = new aws.ec2.SecurityGroup(\"example\", {egress: [{\n fromPort: 0,\n toPort: 0,\n protocol: \"-1\",\n prefixListIds: [myEndpoint.prefixListId],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_endpoint = aws.ec2.VpcEndpoint(\"my_endpoint\")\nexample = aws.ec2.SecurityGroup(\"example\", egress=[{\n \"from_port\": 0,\n \"to_port\": 0,\n \"protocol\": \"-1\",\n \"prefix_list_ids\": [my_endpoint.prefix_list_id],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myEndpoint = new Aws.Ec2.VpcEndpoint(\"my_endpoint\");\n\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Egress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupEgressArgs\n {\n FromPort = 0,\n ToPort = 0,\n Protocol = \"-1\",\n PrefixListIds = new[]\n {\n myEndpoint.PrefixListId,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyEndpoint, err := ec2.NewVpcEndpoint(ctx, \"my_endpoint\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tEgress: ec2.SecurityGroupEgressArray{\n\t\t\t\t\u0026ec2.SecurityGroupEgressArgs{\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tPrefixListIds: pulumi.StringArray{\n\t\t\t\t\t\tmyEndpoint.PrefixListId,\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupEgressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myEndpoint = new VpcEndpoint(\"myEndpoint\");\n\n var example = new SecurityGroup(\"example\", SecurityGroupArgs.builder()\n .egress(SecurityGroupEgressArgs.builder()\n .fromPort(0)\n .toPort(0)\n .protocol(\"-1\")\n .prefixListIds(myEndpoint.prefixListId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n egress:\n - fromPort: 0\n toPort: 0\n protocol: '-1'\n prefixListIds:\n - ${myEndpoint.prefixListId}\n myEndpoint:\n type: aws:ec2:VpcEndpoint\n name: my_endpoint\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can also find a specific Prefix List using the `aws.ec2.getPrefixList` data source.\n\n### Removing All Ingress and Egress Rules\n\nThe `ingress` and `egress` arguments are processed in attributes-as-blocks mode. Due to this, removing these arguments from the configuration will **not** cause the provider to destroy the managed rules. To subsequently remove all managed ingress and egress rules:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroup(\"example\", {\n name: \"sg\",\n vpcId: exampleAwsVpc.id,\n ingress: [],\n egress: [],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroup(\"example\",\n name=\"sg\",\n vpc_id=example_aws_vpc[\"id\"],\n ingress=[],\n egress=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = \"sg\",\n VpcId = exampleAwsVpc.Id,\n Ingress = new[] {},\n Egress = new[] {},\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"sg\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tIngress: ec2.SecurityGroupIngressArray{},\n\t\t\tEgress: ec2.SecurityGroupEgressArray{},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new SecurityGroup(\"example\", SecurityGroupArgs.builder()\n .name(\"sg\")\n .vpcId(exampleAwsVpc.id())\n .ingress()\n .egress()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n name: sg\n vpcId: ${exampleAwsVpc.id}\n ingress: []\n egress: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Recreating a Security Group\n\nA simple security group `name` change \"forces new\" the security group--the provider destroys the security group and creates a new one. (Likewise, `description`, `name_prefix`, or `vpc_id` [cannot be changed](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#creating-security-group).) Attempting to recreate the security group leads to a variety of complications depending on how it is used.\n\nSecurity groups are generally associated with other resources--**more than 100** AWS Provider resources reference security groups. Referencing a resource from another resource creates a one-way dependency. For example, if you create an EC2 `aws.ec2.Instance` that has a `vpc_security_group_ids` argument that refers to an `aws.ec2.SecurityGroup` resource, the `aws.ec2.SecurityGroup` is a dependent of the `aws.ec2.Instance`. Because of this, the provider will create the security group first so that it can then be associated with the EC2 instance.\n\nHowever, the dependency relationship actually goes both directions causing the _Security Group Deletion Problem_. AWS does not allow you to delete the security group associated with another resource (_e.g._, the `aws.ec2.Instance`).\n\nThe provider does not model bi-directional dependencies like this, but, even if it did, simply knowing the dependency situation would not be enough to solve it. For example, some resources must always have an associated security group while others don't need to. In addition, when the `aws.ec2.SecurityGroup` resource attempts to recreate, it receives a dependent object error, which does not provide information on whether the dependent object is a security group rule or, for example, an associated EC2 instance. Within the provider, the associated resource (_e.g._, `aws.ec2.Instance`) does not receive an error when the `aws.ec2.SecurityGroup` is trying to recreate even though that is where changes to the associated resource would need to take place (_e.g._, removing the security group association).\n\nDespite these sticky problems, below are some ways to improve your experience when you find it necessary to recreate a security group.\n\n### Shorter timeout\n\n(This example is one approach to recreating security groups. For more information on the challenges and the _Security Group Deletion Problem_, see the section above.)\n\nIf destroying a security group takes a long time, it may be because the provider cannot distinguish between a dependent object (_e.g._, a security group rule or EC2 instance) that is _in the process of being deleted_ and one that is not. In other words, it may be waiting for a train that isn't scheduled to arrive. To fail faster, shorten the `delete` timeout from the default timeout:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroup(\"example\", {name: \"izizavle\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroup(\"example\", name=\"izizavle\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = \"izizavle\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"izizavle\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new SecurityGroup(\"example\", SecurityGroupArgs.builder()\n .name(\"izizavle\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n name: izizavle\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Provisioners\n\n(This example is one approach to recreating security groups. For more information on the challenges and the _Security Group Deletion Problem_, see the section above.)\n\n**DISCLAIMER:** We **_HIGHLY_** recommend using one of the above approaches and _NOT_ using local provisioners. Provisioners, like the one shown below, should be considered a **last resort** since they are _not readable_, _require skills outside standard configuration_, are _error prone_ and _difficult to maintain_, are not compatible with cloud environments and upgrade tools, require AWS CLI installation, and are subject to changes outside the AWS Provider.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as _null from \"@pulumi/null\";\nimport * as aws from \"@pulumi/aws\";\nimport * as command from \"@pulumi/command\";\nimport * as std from \"@pulumi/std\";\n\nconst default = aws.ec2.getSecurityGroup({\n name: \"default\",\n});\nconst example = new aws.ec2.SecurityGroup(\"example\", {\n name: \"sg\",\n tags: {\n workaround1: \"tagged-name\",\n workaround2: _default.then(_default =\u003e _default.id),\n },\n});\nconst exampleProvisioner0 = new command.local.Command(\"exampleProvisioner0\", {\n create: \"true\",\n update: \"true\",\n \"delete\": ` ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"Name=tag:Name,Values=${tags.workaround1}\" --query \"VpcEndpoints[0].VpcEndpointId\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${ENDPOINT_ID} --add-security-group-ids ${tags.workaround2} --remove-security-group-ids ${id}\n`,\n}, {\n dependsOn: [example],\n});\nconst exampleResource = new _null.Resource(\"example\", {triggers: {\n rerun_upon_change_of: std.join({\n separator: \",\",\n input: exampleAwsVpcEndpoint.securityGroupIds,\n }).then(invoke =\u003e invoke.result),\n}});\nconst exampleResourceProvisioner0 = new command.local.Command(\"exampleResourceProvisioner0\", {create: ` aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${exampleAwsVpcEndpoint.id} --remove-security-group-ids ${_default.id}\n`}, {\n dependsOn: [exampleResource],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_command as command\nimport pulumi_null as null\nimport pulumi_std as std\n\ndefault = aws.ec2.get_security_group(name=\"default\")\nexample = aws.ec2.SecurityGroup(\"example\",\n name=\"sg\",\n tags={\n \"workaround1\": \"tagged-name\",\n \"workaround2\": default.id,\n })\nexample_provisioner0 = command.local.Command(\"exampleProvisioner0\",\n create=true,\n update=true,\n delete=f ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"Name=tag:Name,Values={tags.workaround1}\" --query \"VpcEndpoints[0].VpcEndpointId\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${{ENDPOINT_ID}} --add-security-group-ids {tags.workaround2} --remove-security-group-ids {id}\n,\n opts = pulumi.ResourceOptions(depends_on=[example]))\nexample_resource = null.Resource(\"example\", triggers={\n \"rerun_upon_change_of\": std.join(separator=\",\",\n input=example_aws_vpc_endpoint[\"securityGroupIds\"]).result,\n})\nexample_resource_provisioner0 = command.local.Command(\"exampleResourceProvisioner0\", create=f aws ec2 modify-vpc-endpoint --vpc-endpoint-id {example_aws_vpc_endpoint.id} --remove-security-group-ids {default.id}\n,\nopts = pulumi.ResourceOptions(depends_on=[example_resource]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Command = Pulumi.Command;\nusing Null = Pulumi.Null;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Ec2.GetSecurityGroup.Invoke(new()\n {\n Name = \"default\",\n });\n\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = \"sg\",\n Tags = \n {\n { \"workaround1\", \"tagged-name\" },\n { \"workaround2\", @default.Apply(@default =\u003e @default.Apply(getSecurityGroupResult =\u003e getSecurityGroupResult.Id)) },\n },\n });\n\n var exampleProvisioner0 = new Command.Local.Command(\"exampleProvisioner0\", new()\n {\n Create = \"true\",\n Update = \"true\",\n Delete = @$\" ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"\"Name=tag:Name,Values={tags.Workaround1}\"\" --query \"\"VpcEndpoints[0].VpcEndpointId\"\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${{ENDPOINT_ID}} --add-security-group-ids {tags.Workaround2} --remove-security-group-ids {id}\n\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleResource = new Null.Resource(\"example\", new()\n {\n Triggers = \n {\n { \"rerun_upon_change_of\", Std.Join.Invoke(new()\n {\n Separator = \",\",\n Input = exampleAwsVpcEndpoint.SecurityGroupIds,\n }).Apply(invoke =\u003e invoke.Result) },\n },\n });\n\n var exampleResourceProvisioner0 = new Command.Local.Command(\"exampleResourceProvisioner0\", new()\n {\n Create = @$\" aws ec2 modify-vpc-endpoint --vpc-endpoint-id {exampleAwsVpcEndpoint.Id} --remove-security-group-ids {@default.Apply(getSecurityGroupResult =\u003e getSecurityGroupResult.Id)}\n\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleResource,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-command/sdk/go/command/local\"\n\t\"github.com/pulumi/pulumi-null/sdk/go/null\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\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_default, err := ec2.LookupSecurityGroup(ctx, \u0026ec2.LookupSecurityGroupArgs{\n\t\t\tName: pulumi.StringRef(\"default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"sg\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"workaround1\": pulumi.String(\"tagged-name\"),\n\t\t\t\t\"workaround2\": pulumi.String(_default.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = local.NewCommand(ctx, \"exampleProvisioner0\", \u0026local.CommandArgs{\n\t\t\tCreate: \"true\",\n\t\t\tUpdate: \"true\",\n\t\t\tDelete: fmt.Sprintf(\" ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \\\"Name=tag:Name,Values=%v\\\" --query \\\"VpcEndpoints[0].VpcEndpointId\\\" --output text` \u0026\u0026\\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${ENDPOINT_ID} --add-security-group-ids %v --remove-security-group-ids %v\\n\", tags.Workaround1, tags.Workaround2, id),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJoin, err := std.Join(ctx, \u0026std.JoinArgs{\n\t\t\tSeparator: \",\",\n\t\t\tInput: exampleAwsVpcEndpoint.SecurityGroupIds,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResource, err := null.NewResource(ctx, \"example\", \u0026null.ResourceArgs{\n\t\t\tTriggers: pulumi.StringMap{\n\t\t\t\t\"rerun_upon_change_of\": pulumi.String(invokeJoin.Result),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = local.NewCommand(ctx, \"exampleResourceProvisioner0\", \u0026local.CommandArgs{\n\t\t\tCreate: fmt.Sprintf(\" aws ec2 modify-vpc-endpoint --vpc-endpoint-id %v --remove-security-group-ids %v\\n\", exampleAwsVpcEndpoint.Id, _default.Id),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleResource,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSecurityGroupArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.command.local.Command;\nimport com.pulumi.command.local.CommandArgs;\nimport com.pulumi.null.Resource;\nimport com.pulumi.null.ResourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = Ec2Functions.getSecurityGroup(GetSecurityGroupArgs.builder()\n .name(\"default\")\n .build());\n\n var example = new SecurityGroup(\"example\", SecurityGroupArgs.builder()\n .name(\"sg\")\n .tags(Map.ofEntries(\n Map.entry(\"workaround1\", \"tagged-name\"),\n Map.entry(\"workaround2\", default_.id())\n ))\n .build());\n\n var exampleProvisioner0 = new Command(\"exampleProvisioner0\", CommandArgs.builder()\n .create(\"true\")\n .update(\"true\")\n .delete(\"\"\"\n ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"Name=tag:Name,Values=%s\" --query \"VpcEndpoints[0].VpcEndpointId\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${ENDPOINT_ID} --add-security-group-ids %s --remove-security-group-ids %s\n\", tags.workaround1(),tags.workaround2(),id))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleResource = new Resource(\"exampleResource\", ResourceArgs.builder()\n .triggers(Map.of(\"rerun_upon_change_of\", StdFunctions.join(JoinArgs.builder()\n .separator(\",\")\n .input(exampleAwsVpcEndpoint.securityGroupIds())\n .build()).result()))\n .build());\n\n var exampleResourceProvisioner0 = new Command(\"exampleResourceProvisioner0\", CommandArgs.builder()\n .create(\"\"\"\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id %s --remove-security-group-ids %s\n\", exampleAwsVpcEndpoint.id(),default_.id()))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleResource)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n name: sg\n tags:\n workaround1: tagged-name\n workaround2: ${default.id}\n exampleProvisioner0:\n type: command:local:Command\n properties:\n create: 'true'\n update: 'true'\n delete: |2\n ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"Name=tag:Name,Values=${tags.workaround1}\" --query \"VpcEndpoints[0].VpcEndpointId\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${ENDPOINT_ID} --add-security-group-ids ${tags.workaround2} --remove-security-group-ids ${id}\n options:\n dependson:\n - ${example}\n exampleResource:\n type: null:Resource\n name: example\n properties:\n triggers:\n rerun_upon_change_of:\n fn::invoke:\n Function: std:join\n Arguments:\n separator: ','\n input: ${exampleAwsVpcEndpoint.securityGroupIds}\n Return: result\n exampleResourceProvisioner0:\n type: command:local:Command\n properties:\n create: |2\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${exampleAwsVpcEndpoint.id} --remove-security-group-ids ${default.id}\n options:\n dependson:\n - ${exampleResource}\nvariables:\n default:\n fn::invoke:\n Function: aws:ec2:getSecurityGroup\n Arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Groups using the security group `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/securityGroup:SecurityGroup elb_sg sg-903004f8\n```\n", "properties": { "arn": { "type": "string", @@ -242722,7 +242722,7 @@ } }, "aws:ec2/securityGroupRule:SecurityGroupRule": { - "description": "Provides a security group rule resource. Represents a single `ingress` or `egress` group rule, which can be added to external Security Groups.\n\n\u003e **NOTE:** Avoid using the `aws.ec2.SecurityGroupRule` resource, as it struggles with managing multiple CIDR blocks, and, due to the historical lack of unique IDs, tags and descriptions. To avoid these problems, use the current best practice of the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources with one CIDR block per rule.\n\n!\u003e **WARNING:** You should not use the `aws.ec2.SecurityGroupRule` resource in conjunction with `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources or with an `aws.ec2.SecurityGroup` resource that has in-line rules. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten.\n\n\u003e **NOTE:** Setting `protocol = \"all\"` or `protocol = -1` with `from_port` and `to_port` will result in the EC2 API creating a security group rule with all ports open. This API behavior cannot be controlled by this provider and may generate warnings in the future.\n\n\u003e **NOTE:** Referencing Security Groups across VPC peering has certain restrictions. More information is available in the [VPC Peering User Guide](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-security-groups.html).\n\n## Example Usage\n\nBasic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroupRule(\"example\", {\n type: \"ingress\",\n fromPort: 0,\n toPort: 65535,\n protocol: aws.ec2.ProtocolType.TCP,\n cidrBlocks: [exampleAwsVpc.cidrBlock],\n ipv6CidrBlocks: [exampleAwsVpc.ipv6CidrBlock],\n securityGroupId: \"sg-123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroupRule(\"example\",\n type=\"ingress\",\n from_port=0,\n to_port=65535,\n protocol=aws.ec2.ProtocolType.TCP,\n cidr_blocks=[example_aws_vpc[\"cidrBlock\"]],\n ipv6_cidr_blocks=[example_aws_vpc[\"ipv6CidrBlock\"]],\n security_group_id=\"sg-123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroupRule(\"example\", new()\n {\n Type = \"ingress\",\n FromPort = 0,\n ToPort = 65535,\n Protocol = Aws.Ec2.ProtocolType.TCP,\n CidrBlocks = new[]\n {\n exampleAwsVpc.CidrBlock,\n },\n Ipv6CidrBlocks = new[]\n {\n exampleAwsVpc.Ipv6CidrBlock,\n },\n SecurityGroupId = \"sg-123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewSecurityGroupRule(ctx, \"example\", \u0026ec2.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tFromPort: pulumi.Int(0),\n\t\t\tToPort: pulumi.Int(65535),\n\t\t\tProtocol: pulumi.String(ec2.ProtocolTypeTCP),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\texampleAwsVpc.CidrBlock,\n\t\t\t},\n\t\t\tIpv6CidrBlocks: pulumi.StringArray{\n\t\t\t\texampleAwsVpc.Ipv6CidrBlock,\n\t\t\t},\n\t\t\tSecurityGroupId: pulumi.String(\"sg-123456\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SecurityGroupRule;\nimport com.pulumi.aws.ec2.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new SecurityGroupRule(\"example\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .fromPort(0)\n .toPort(65535)\n .protocol(\"tcp\")\n .cidrBlocks(exampleAwsVpc.cidrBlock())\n .ipv6CidrBlocks(exampleAwsVpc.ipv6CidrBlock())\n .securityGroupId(\"sg-123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroupRule\n properties:\n type: ingress\n fromPort: 0\n toPort: 65535\n protocol: tcp\n cidrBlocks:\n - ${exampleAwsVpc.cidrBlock}\n ipv6CidrBlocks:\n - ${exampleAwsVpc.ipv6CidrBlock}\n securityGroupId: sg-123456\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage With Prefix List IDs\n\nPrefix Lists are either managed by AWS internally, or created by the customer using a\nManaged Prefix List resource. Prefix Lists provided by\nAWS are associated with a prefix list name, or service name, that is linked to a specific region.\n\nPrefix list IDs are exported on VPC Endpoints, so you can use this format:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ...\nconst myEndpoint = new aws.ec2.VpcEndpoint(\"my_endpoint\", {});\nconst allowAll = new aws.ec2.SecurityGroupRule(\"allow_all\", {\n type: \"egress\",\n toPort: 0,\n protocol: \"-1\",\n prefixListIds: [myEndpoint.prefixListId],\n fromPort: 0,\n securityGroupId: \"sg-123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ...\nmy_endpoint = aws.ec2.VpcEndpoint(\"my_endpoint\")\nallow_all = aws.ec2.SecurityGroupRule(\"allow_all\",\n type=\"egress\",\n to_port=0,\n protocol=\"-1\",\n prefix_list_ids=[my_endpoint.prefix_list_id],\n from_port=0,\n security_group_id=\"sg-123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ...\n var myEndpoint = new Aws.Ec2.VpcEndpoint(\"my_endpoint\");\n\n var allowAll = new Aws.Ec2.SecurityGroupRule(\"allow_all\", new()\n {\n Type = \"egress\",\n ToPort = 0,\n Protocol = \"-1\",\n PrefixListIds = new[]\n {\n myEndpoint.PrefixListId,\n },\n FromPort = 0,\n SecurityGroupId = \"sg-123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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// ...\n\t\tmyEndpoint, err := ec2.NewVpcEndpoint(ctx, \"my_endpoint\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroupRule(ctx, \"allow_all\", \u0026ec2.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"egress\"),\n\t\t\tToPort: pulumi.Int(0),\n\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\tPrefixListIds: pulumi.StringArray{\n\t\t\t\tmyEndpoint.PrefixListId,\n\t\t\t},\n\t\t\tFromPort: pulumi.Int(0),\n\t\t\tSecurityGroupId: pulumi.String(\"sg-123456\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.SecurityGroupRule;\nimport com.pulumi.aws.ec2.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ...\n var myEndpoint = new VpcEndpoint(\"myEndpoint\");\n\n var allowAll = new SecurityGroupRule(\"allowAll\", SecurityGroupRuleArgs.builder()\n .type(\"egress\")\n .toPort(0)\n .protocol(\"-1\")\n .prefixListIds(myEndpoint.prefixListId())\n .fromPort(0)\n .securityGroupId(\"sg-123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n allowAll:\n type: aws:ec2:SecurityGroupRule\n name: allow_all\n properties:\n type: egress\n toPort: 0\n protocol: '-1'\n prefixListIds:\n - ${myEndpoint.prefixListId}\n fromPort: 0\n securityGroupId: sg-123456\n # ...\n myEndpoint:\n type: aws:ec2:VpcEndpoint\n name: my_endpoint\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can also find a specific Prefix List using the `aws.ec2.getPrefixList`\nor `ec2_managed_prefix_list` data sources:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst s3 = current.then(current =\u003e aws.ec2.getPrefixList({\n name: `com.amazonaws.${current.name}.s3`,\n}));\nconst s3GatewayEgress = new aws.ec2.SecurityGroupRule(\"s3_gateway_egress\", {\n description: \"S3 Gateway Egress\",\n type: \"egress\",\n securityGroupId: \"sg-123456\",\n fromPort: 443,\n toPort: 443,\n protocol: aws.ec2.ProtocolType.TCP,\n prefixListIds: [s3.then(s3 =\u003e s3.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ns3 = aws.ec2.get_prefix_list(name=f\"com.amazonaws.{current.name}.s3\")\ns3_gateway_egress = aws.ec2.SecurityGroupRule(\"s3_gateway_egress\",\n description=\"S3 Gateway Egress\",\n type=\"egress\",\n security_group_id=\"sg-123456\",\n from_port=443,\n to_port=443,\n protocol=aws.ec2.ProtocolType.TCP,\n prefix_list_ids=[s3.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var s3 = Aws.Ec2.GetPrefixList.Invoke(new()\n {\n Name = $\"com.amazonaws.{current.Apply(getRegionResult =\u003e getRegionResult.Name)}.s3\",\n });\n\n var s3GatewayEgress = new Aws.Ec2.SecurityGroupRule(\"s3_gateway_egress\", new()\n {\n Description = \"S3 Gateway Egress\",\n Type = \"egress\",\n SecurityGroupId = \"sg-123456\",\n FromPort = 443,\n ToPort = 443,\n Protocol = Aws.Ec2.ProtocolType.TCP,\n PrefixListIds = new[]\n {\n s3.Apply(getPrefixListResult =\u003e getPrefixListResult.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3, err := ec2.GetPrefixList(ctx, \u0026ec2.GetPrefixListArgs{\n\t\t\tName: pulumi.StringRef(fmt.Sprintf(\"com.amazonaws.%v.s3\", current.Name)),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroupRule(ctx, \"s3_gateway_egress\", \u0026ec2.SecurityGroupRuleArgs{\n\t\t\tDescription: pulumi.String(\"S3 Gateway Egress\"),\n\t\t\tType: pulumi.String(\"egress\"),\n\t\t\tSecurityGroupId: pulumi.String(\"sg-123456\"),\n\t\t\tFromPort: pulumi.Int(443),\n\t\t\tToPort: pulumi.Int(443),\n\t\t\tProtocol: pulumi.String(ec2.ProtocolTypeTCP),\n\t\t\tPrefixListIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(s3.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPrefixListArgs;\nimport com.pulumi.aws.ec2.SecurityGroupRule;\nimport com.pulumi.aws.ec2.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var s3 = Ec2Functions.getPrefixList(GetPrefixListArgs.builder()\n .name(String.format(\"com.amazonaws.%s.s3\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build());\n\n var s3GatewayEgress = new SecurityGroupRule(\"s3GatewayEgress\", SecurityGroupRuleArgs.builder()\n .description(\"S3 Gateway Egress\")\n .type(\"egress\")\n .securityGroupId(\"sg-123456\")\n .fromPort(443)\n .toPort(443)\n .protocol(\"tcp\")\n .prefixListIds(s3.applyValue(getPrefixListResult -\u003e getPrefixListResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3GatewayEgress:\n type: aws:ec2:SecurityGroupRule\n name: s3_gateway_egress\n properties:\n description: S3 Gateway Egress\n type: egress\n securityGroupId: sg-123456\n fromPort: 443\n toPort: 443\n protocol: tcp\n prefixListIds:\n - ${s3.id}\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n s3:\n fn::invoke:\n function: aws:ec2:getPrefixList\n arguments:\n name: com.amazonaws.${current.name}.s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport a rule with various IPv4 and IPv6 source CIDR blocks:\n\nImport a rule, applicable to all ports, with a protocol other than TCP/UDP/ICMP/ICMPV6/ALL, e.g., Multicast Transport Protocol (MTP), using the IANA protocol number. For example: 92.\n\nImport a default any/any egress rule to 0.0.0.0/0:\n\nImport an egress rule with a prefix list ID destination:\n\nImport a rule applicable to all protocols and ports with a security group source:\n\nImport a rule that has itself and an IPv6 CIDR block as sources:\n\n__Using `pulumi import` to import__ Security Group Rules using the `security_group_id`, `type`, `protocol`, `from_port`, `to_port`, and source(s)/destination(s) (such as a `cidr_block`) separated by underscores (`_`). All parts are required. For example:\n\n__NOTE:__ Not all rule permissions (e.g., not all of a rule's CIDR blocks) need to be imported for this provider to manage rule permissions. However, importing some of a rule's permissions but not others, and then making changes to the rule will result in the creation of an additional rule to capture the updated permissions. Rule permissions that were not imported are left intact in the original rule.\n\nImport an ingress rule in security group `sg-6e616f6d69` for TCP port 8000 with an IPv4 destination CIDR of `10.0.3.0/24`:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress sg-6e616f6d69_ingress_tcp_8000_8000_10.0.3.0/24\n```\nImport a rule with various IPv4 and IPv6 source CIDR blocks:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress sg-4973616163_ingress_tcp_100_121_10.1.0.0/16_2001:db8::/48_10.2.0.0/16_2002:db8::/48\n```\nImport a rule, applicable to all ports, with a protocol other than TCP/UDP/ICMP/ICMPV6/ALL, e.g., Multicast Transport Protocol (MTP), using the IANA protocol number. For example: 92.\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress sg-6777656e646f6c796e_ingress_92_0_65536_10.0.3.0/24_10.0.4.0/24\n```\nImport a default any/any egress rule to 0.0.0.0/0:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule default_egress sg-6777656e646f6c796e_egress_all_0_0_0.0.0.0/0\n```\nImport an egress rule with a prefix list ID destination:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule egress sg-62726f6479_egress_tcp_8000_8000_pl-6469726b\n```\nImport a rule applicable to all protocols and ports with a security group source:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress_rule sg-7472697374616e_ingress_all_0_65536_sg-6176657279\n```\nImport a rule that has itself and an IPv6 CIDR block as sources:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule rule_name sg-656c65616e6f72_ingress_tcp_80_80_self_2001:db8::/48\n```\n", + "description": "Provides a security group rule resource. Represents a single `ingress` or `egress` group rule, which can be added to external Security Groups.\n\n\u003e **NOTE:** Avoid using the `aws.ec2.SecurityGroupRule` resource, as it struggles with managing multiple CIDR blocks, and, due to the historical lack of unique IDs, tags and descriptions. To avoid these problems, use the current best practice of the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources with one CIDR block per rule.\n\n!\u003e **WARNING:** You should not use the `aws.ec2.SecurityGroupRule` resource in conjunction with `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources or with an `aws.ec2.SecurityGroup` resource that has in-line rules. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten.\n\n\u003e **NOTE:** Setting `protocol = \"all\"` or `protocol = -1` with `from_port` and `to_port` will result in the EC2 API creating a security group rule with all ports open. This API behavior cannot be controlled by this provider and may generate warnings in the future.\n\n\u003e **NOTE:** Referencing Security Groups across VPC peering has certain restrictions. More information is available in the [VPC Peering User Guide](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-security-groups.html).\n\n## Example Usage\n\nBasic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroupRule(\"example\", {\n type: \"ingress\",\n fromPort: 0,\n toPort: 65535,\n protocol: aws.ec2.ProtocolType.TCP,\n cidrBlocks: [exampleAwsVpc.cidrBlock],\n ipv6CidrBlocks: [exampleAwsVpc.ipv6CidrBlock],\n securityGroupId: \"sg-123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroupRule(\"example\",\n type=\"ingress\",\n from_port=0,\n to_port=65535,\n protocol=aws.ec2.ProtocolType.TCP,\n cidr_blocks=[example_aws_vpc[\"cidrBlock\"]],\n ipv6_cidr_blocks=[example_aws_vpc[\"ipv6CidrBlock\"]],\n security_group_id=\"sg-123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroupRule(\"example\", new()\n {\n Type = \"ingress\",\n FromPort = 0,\n ToPort = 65535,\n Protocol = Aws.Ec2.ProtocolType.TCP,\n CidrBlocks = new[]\n {\n exampleAwsVpc.CidrBlock,\n },\n Ipv6CidrBlocks = new[]\n {\n exampleAwsVpc.Ipv6CidrBlock,\n },\n SecurityGroupId = \"sg-123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewSecurityGroupRule(ctx, \"example\", \u0026ec2.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tFromPort: pulumi.Int(0),\n\t\t\tToPort: pulumi.Int(65535),\n\t\t\tProtocol: pulumi.String(ec2.ProtocolTypeTCP),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\texampleAwsVpc.CidrBlock,\n\t\t\t},\n\t\t\tIpv6CidrBlocks: pulumi.StringArray{\n\t\t\t\texampleAwsVpc.Ipv6CidrBlock,\n\t\t\t},\n\t\t\tSecurityGroupId: pulumi.String(\"sg-123456\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SecurityGroupRule;\nimport com.pulumi.aws.ec2.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new SecurityGroupRule(\"example\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .fromPort(0)\n .toPort(65535)\n .protocol(\"tcp\")\n .cidrBlocks(exampleAwsVpc.cidrBlock())\n .ipv6CidrBlocks(exampleAwsVpc.ipv6CidrBlock())\n .securityGroupId(\"sg-123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroupRule\n properties:\n type: ingress\n fromPort: 0\n toPort: 65535\n protocol: tcp\n cidrBlocks:\n - ${exampleAwsVpc.cidrBlock}\n ipv6CidrBlocks:\n - ${exampleAwsVpc.ipv6CidrBlock}\n securityGroupId: sg-123456\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage With Prefix List IDs\n\nPrefix Lists are either managed by AWS internally, or created by the customer using a\nManaged Prefix List resource. Prefix Lists provided by\nAWS are associated with a prefix list name, or service name, that is linked to a specific region.\n\nPrefix list IDs are exported on VPC Endpoints, so you can use this format:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ...\nconst myEndpoint = new aws.ec2.VpcEndpoint(\"my_endpoint\", {});\nconst allowAll = new aws.ec2.SecurityGroupRule(\"allow_all\", {\n type: \"egress\",\n toPort: 0,\n protocol: \"-1\",\n prefixListIds: [myEndpoint.prefixListId],\n fromPort: 0,\n securityGroupId: \"sg-123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ...\nmy_endpoint = aws.ec2.VpcEndpoint(\"my_endpoint\")\nallow_all = aws.ec2.SecurityGroupRule(\"allow_all\",\n type=\"egress\",\n to_port=0,\n protocol=\"-1\",\n prefix_list_ids=[my_endpoint.prefix_list_id],\n from_port=0,\n security_group_id=\"sg-123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ...\n var myEndpoint = new Aws.Ec2.VpcEndpoint(\"my_endpoint\");\n\n var allowAll = new Aws.Ec2.SecurityGroupRule(\"allow_all\", new()\n {\n Type = \"egress\",\n ToPort = 0,\n Protocol = \"-1\",\n PrefixListIds = new[]\n {\n myEndpoint.PrefixListId,\n },\n FromPort = 0,\n SecurityGroupId = \"sg-123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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// ...\n\t\tmyEndpoint, err := ec2.NewVpcEndpoint(ctx, \"my_endpoint\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroupRule(ctx, \"allow_all\", \u0026ec2.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"egress\"),\n\t\t\tToPort: pulumi.Int(0),\n\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\tPrefixListIds: pulumi.StringArray{\n\t\t\t\tmyEndpoint.PrefixListId,\n\t\t\t},\n\t\t\tFromPort: pulumi.Int(0),\n\t\t\tSecurityGroupId: pulumi.String(\"sg-123456\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.SecurityGroupRule;\nimport com.pulumi.aws.ec2.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ...\n var myEndpoint = new VpcEndpoint(\"myEndpoint\");\n\n var allowAll = new SecurityGroupRule(\"allowAll\", SecurityGroupRuleArgs.builder()\n .type(\"egress\")\n .toPort(0)\n .protocol(\"-1\")\n .prefixListIds(myEndpoint.prefixListId())\n .fromPort(0)\n .securityGroupId(\"sg-123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n allowAll:\n type: aws:ec2:SecurityGroupRule\n name: allow_all\n properties:\n type: egress\n toPort: 0\n protocol: '-1'\n prefixListIds:\n - ${myEndpoint.prefixListId}\n fromPort: 0\n securityGroupId: sg-123456\n # ...\n myEndpoint:\n type: aws:ec2:VpcEndpoint\n name: my_endpoint\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can also find a specific Prefix List using the `aws.ec2.getPrefixList`\nor `ec2_managed_prefix_list` data sources:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst s3 = current.then(current =\u003e aws.ec2.getPrefixList({\n name: `com.amazonaws.${current.name}.s3`,\n}));\nconst s3GatewayEgress = new aws.ec2.SecurityGroupRule(\"s3_gateway_egress\", {\n description: \"S3 Gateway Egress\",\n type: \"egress\",\n securityGroupId: \"sg-123456\",\n fromPort: 443,\n toPort: 443,\n protocol: aws.ec2.ProtocolType.TCP,\n prefixListIds: [s3.then(s3 =\u003e s3.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ns3 = aws.ec2.get_prefix_list(name=f\"com.amazonaws.{current.name}.s3\")\ns3_gateway_egress = aws.ec2.SecurityGroupRule(\"s3_gateway_egress\",\n description=\"S3 Gateway Egress\",\n type=\"egress\",\n security_group_id=\"sg-123456\",\n from_port=443,\n to_port=443,\n protocol=aws.ec2.ProtocolType.TCP,\n prefix_list_ids=[s3.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var s3 = Aws.Ec2.GetPrefixList.Invoke(new()\n {\n Name = $\"com.amazonaws.{current.Apply(getRegionResult =\u003e getRegionResult.Name)}.s3\",\n });\n\n var s3GatewayEgress = new Aws.Ec2.SecurityGroupRule(\"s3_gateway_egress\", new()\n {\n Description = \"S3 Gateway Egress\",\n Type = \"egress\",\n SecurityGroupId = \"sg-123456\",\n FromPort = 443,\n ToPort = 443,\n Protocol = Aws.Ec2.ProtocolType.TCP,\n PrefixListIds = new[]\n {\n s3.Apply(getPrefixListResult =\u003e getPrefixListResult.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3, err := ec2.GetPrefixList(ctx, \u0026ec2.GetPrefixListArgs{\n\t\t\tName: pulumi.StringRef(fmt.Sprintf(\"com.amazonaws.%v.s3\", current.Name)),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroupRule(ctx, \"s3_gateway_egress\", \u0026ec2.SecurityGroupRuleArgs{\n\t\t\tDescription: pulumi.String(\"S3 Gateway Egress\"),\n\t\t\tType: pulumi.String(\"egress\"),\n\t\t\tSecurityGroupId: pulumi.String(\"sg-123456\"),\n\t\t\tFromPort: pulumi.Int(443),\n\t\t\tToPort: pulumi.Int(443),\n\t\t\tProtocol: pulumi.String(ec2.ProtocolTypeTCP),\n\t\t\tPrefixListIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(s3.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPrefixListArgs;\nimport com.pulumi.aws.ec2.SecurityGroupRule;\nimport com.pulumi.aws.ec2.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var s3 = Ec2Functions.getPrefixList(GetPrefixListArgs.builder()\n .name(String.format(\"com.amazonaws.%s.s3\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build());\n\n var s3GatewayEgress = new SecurityGroupRule(\"s3GatewayEgress\", SecurityGroupRuleArgs.builder()\n .description(\"S3 Gateway Egress\")\n .type(\"egress\")\n .securityGroupId(\"sg-123456\")\n .fromPort(443)\n .toPort(443)\n .protocol(\"tcp\")\n .prefixListIds(s3.applyValue(getPrefixListResult -\u003e getPrefixListResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3GatewayEgress:\n type: aws:ec2:SecurityGroupRule\n name: s3_gateway_egress\n properties:\n description: S3 Gateway Egress\n type: egress\n securityGroupId: sg-123456\n fromPort: 443\n toPort: 443\n protocol: tcp\n prefixListIds:\n - ${s3.id}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n s3:\n fn::invoke:\n Function: aws:ec2:getPrefixList\n Arguments:\n name: com.amazonaws.${current.name}.s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport a rule with various IPv4 and IPv6 source CIDR blocks:\n\nImport a rule, applicable to all ports, with a protocol other than TCP/UDP/ICMP/ICMPV6/ALL, e.g., Multicast Transport Protocol (MTP), using the IANA protocol number. For example: 92.\n\nImport a default any/any egress rule to 0.0.0.0/0:\n\nImport an egress rule with a prefix list ID destination:\n\nImport a rule applicable to all protocols and ports with a security group source:\n\nImport a rule that has itself and an IPv6 CIDR block as sources:\n\n__Using `pulumi import` to import__ Security Group Rules using the `security_group_id`, `type`, `protocol`, `from_port`, `to_port`, and source(s)/destination(s) (such as a `cidr_block`) separated by underscores (`_`). All parts are required. For example:\n\n__NOTE:__ Not all rule permissions (e.g., not all of a rule's CIDR blocks) need to be imported for this provider to manage rule permissions. However, importing some of a rule's permissions but not others, and then making changes to the rule will result in the creation of an additional rule to capture the updated permissions. Rule permissions that were not imported are left intact in the original rule.\n\nImport an ingress rule in security group `sg-6e616f6d69` for TCP port 8000 with an IPv4 destination CIDR of `10.0.3.0/24`:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress sg-6e616f6d69_ingress_tcp_8000_8000_10.0.3.0/24\n```\nImport a rule with various IPv4 and IPv6 source CIDR blocks:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress sg-4973616163_ingress_tcp_100_121_10.1.0.0/16_2001:db8::/48_10.2.0.0/16_2002:db8::/48\n```\nImport a rule, applicable to all ports, with a protocol other than TCP/UDP/ICMP/ICMPV6/ALL, e.g., Multicast Transport Protocol (MTP), using the IANA protocol number. For example: 92.\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress sg-6777656e646f6c796e_ingress_92_0_65536_10.0.3.0/24_10.0.4.0/24\n```\nImport a default any/any egress rule to 0.0.0.0/0:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule default_egress sg-6777656e646f6c796e_egress_all_0_0_0.0.0.0/0\n```\nImport an egress rule with a prefix list ID destination:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule egress sg-62726f6479_egress_tcp_8000_8000_pl-6469726b\n```\nImport a rule applicable to all protocols and ports with a security group source:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress_rule sg-7472697374616e_ingress_all_0_65536_sg-6176657279\n```\nImport a rule that has itself and an IPv6 CIDR block as sources:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule rule_name sg-656c65616e6f72_ingress_tcp_80_80_self_2001:db8::/48\n```\n", "properties": { "cidrBlocks": { "type": "array", @@ -243077,7 +243077,7 @@ } }, "aws:ec2/spotFleetRequest:SpotFleetRequest": { - "description": "Provides an EC2 Spot Fleet Request resource. This allows a fleet of Spot\ninstances to be requested on the Spot market.\n\n\u003e **NOTE [AWS strongly discourages](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html#which-spot-request-method-to-use) the use of the legacy APIs called by this resource.\nWe recommend using the EC2 Fleet or Auto Scaling Group resources instead.\n\n## Example Usage\n\n### Using launch specifications\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Request a Spot fleet\nconst cheapCompute = new aws.ec2.SpotFleetRequest(\"cheap_compute\", {\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n spotPrice: \"0.03\",\n allocationStrategy: \"diversified\",\n targetCapacity: 6,\n validUntil: \"2019-11-04T20:44:20Z\",\n launchSpecifications: [\n {\n instanceType: \"m4.10xlarge\",\n ami: \"ami-1234\",\n spotPrice: \"2.793\",\n placementTenancy: \"dedicated\",\n iamInstanceProfileArn: example.arn,\n },\n {\n instanceType: \"m4.4xlarge\",\n ami: \"ami-5678\",\n keyName: \"my-key\",\n spotPrice: \"1.117\",\n iamInstanceProfileArn: example.arn,\n availabilityZone: \"us-west-1a\",\n subnetId: \"subnet-1234\",\n weightedCapacity: \"35\",\n rootBlockDevices: [{\n volumeSize: 300,\n volumeType: \"gp2\",\n }],\n tags: {\n Name: \"spot-fleet-example\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Request a Spot fleet\ncheap_compute = aws.ec2.SpotFleetRequest(\"cheap_compute\",\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n spot_price=\"0.03\",\n allocation_strategy=\"diversified\",\n target_capacity=6,\n valid_until=\"2019-11-04T20:44:20Z\",\n launch_specifications=[\n {\n \"instance_type\": \"m4.10xlarge\",\n \"ami\": \"ami-1234\",\n \"spot_price\": \"2.793\",\n \"placement_tenancy\": \"dedicated\",\n \"iam_instance_profile_arn\": example[\"arn\"],\n },\n {\n \"instance_type\": \"m4.4xlarge\",\n \"ami\": \"ami-5678\",\n \"key_name\": \"my-key\",\n \"spot_price\": \"1.117\",\n \"iam_instance_profile_arn\": example[\"arn\"],\n \"availability_zone\": \"us-west-1a\",\n \"subnet_id\": \"subnet-1234\",\n \"weighted_capacity\": \"35\",\n \"root_block_devices\": [{\n \"volume_size\": 300,\n \"volume_type\": \"gp2\",\n }],\n \"tags\": {\n \"Name\": \"spot-fleet-example\",\n },\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Request a Spot fleet\n var cheapCompute = new Aws.Ec2.SpotFleetRequest(\"cheap_compute\", new()\n {\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n SpotPrice = \"0.03\",\n AllocationStrategy = \"diversified\",\n TargetCapacity = 6,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n LaunchSpecifications = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n InstanceType = \"m4.10xlarge\",\n Ami = \"ami-1234\",\n SpotPrice = \"2.793\",\n PlacementTenancy = \"dedicated\",\n IamInstanceProfileArn = example.Arn,\n },\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n InstanceType = \"m4.4xlarge\",\n Ami = \"ami-5678\",\n KeyName = \"my-key\",\n SpotPrice = \"1.117\",\n IamInstanceProfileArn = example.Arn,\n AvailabilityZone = \"us-west-1a\",\n SubnetId = \"subnet-1234\",\n WeightedCapacity = \"35\",\n RootBlockDevices = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs\n {\n VolumeSize = 300,\n VolumeType = \"gp2\",\n },\n },\n Tags = \n {\n { \"Name\", \"spot-fleet-example\" },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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// Request a Spot fleet\n\t\t_, err := ec2.NewSpotFleetRequest(ctx, \"cheap_compute\", \u0026ec2.SpotFleetRequestArgs{\n\t\t\tIamFleetRole: pulumi.String(\"arn:aws:iam::12345678:role/spot-fleet\"),\n\t\t\tSpotPrice: pulumi.String(\"0.03\"),\n\t\t\tAllocationStrategy: pulumi.String(\"diversified\"),\n\t\t\tTargetCapacity: pulumi.Int(6),\n\t\t\tValidUntil: pulumi.String(\"2019-11-04T20:44:20Z\"),\n\t\t\tLaunchSpecifications: ec2.SpotFleetRequestLaunchSpecificationArray{\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"m4.10xlarge\"),\n\t\t\t\t\tAmi: pulumi.String(\"ami-1234\"),\n\t\t\t\t\tSpotPrice: pulumi.String(\"2.793\"),\n\t\t\t\t\tPlacementTenancy: pulumi.String(\"dedicated\"),\n\t\t\t\t\tIamInstanceProfileArn: pulumi.Any(example.Arn),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"m4.4xlarge\"),\n\t\t\t\t\tAmi: pulumi.String(\"ami-5678\"),\n\t\t\t\t\tKeyName: pulumi.String(\"my-key\"),\n\t\t\t\t\tSpotPrice: pulumi.String(\"1.117\"),\n\t\t\t\t\tIamInstanceProfileArn: pulumi.Any(example.Arn),\n\t\t\t\t\tAvailabilityZone: pulumi.String(\"us-west-1a\"),\n\t\t\t\t\tSubnetId: pulumi.String(\"subnet-1234\"),\n\t\t\t\t\tWeightedCapacity: pulumi.String(\"35\"),\n\t\t\t\t\tRootBlockDevices: ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArray{\n\t\t\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs{\n\t\t\t\t\t\t\tVolumeSize: pulumi.Int(300),\n\t\t\t\t\t\t\tVolumeType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\"Name\": pulumi.String(\"spot-fleet-example\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SpotFleetRequest;\nimport com.pulumi.aws.ec2.SpotFleetRequestArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Request a Spot fleet\n var cheapCompute = new SpotFleetRequest(\"cheapCompute\", SpotFleetRequestArgs.builder()\n .iamFleetRole(\"arn:aws:iam::12345678:role/spot-fleet\")\n .spotPrice(\"0.03\")\n .allocationStrategy(\"diversified\")\n .targetCapacity(6)\n .validUntil(\"2019-11-04T20:44:20Z\")\n .launchSpecifications( \n SpotFleetRequestLaunchSpecificationArgs.builder()\n .instanceType(\"m4.10xlarge\")\n .ami(\"ami-1234\")\n .spotPrice(\"2.793\")\n .placementTenancy(\"dedicated\")\n .iamInstanceProfileArn(example.arn())\n .build(),\n SpotFleetRequestLaunchSpecificationArgs.builder()\n .instanceType(\"m4.4xlarge\")\n .ami(\"ami-5678\")\n .keyName(\"my-key\")\n .spotPrice(\"1.117\")\n .iamInstanceProfileArn(example.arn())\n .availabilityZone(\"us-west-1a\")\n .subnetId(\"subnet-1234\")\n .weightedCapacity(35)\n .rootBlockDevices(SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs.builder()\n .volumeSize(\"300\")\n .volumeType(\"gp2\")\n .build())\n .tags(Map.of(\"Name\", \"spot-fleet-example\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Request a Spot fleet\n cheapCompute:\n type: aws:ec2:SpotFleetRequest\n name: cheap_compute\n properties:\n iamFleetRole: arn:aws:iam::12345678:role/spot-fleet\n spotPrice: '0.03'\n allocationStrategy: diversified\n targetCapacity: 6\n validUntil: 2019-11-04T20:44:20Z\n launchSpecifications:\n - instanceType: m4.10xlarge\n ami: ami-1234\n spotPrice: '2.793'\n placementTenancy: dedicated\n iamInstanceProfileArn: ${example.arn}\n - instanceType: m4.4xlarge\n ami: ami-5678\n keyName: my-key\n spotPrice: '1.117'\n iamInstanceProfileArn: ${example.arn}\n availabilityZone: us-west-1a\n subnetId: subnet-1234\n weightedCapacity: 35\n rootBlockDevices:\n - volumeSize: '300'\n volumeType: gp2\n tags:\n Name: spot-fleet-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using launch templates\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.LaunchTemplate(\"foo\", {\n name: \"launch-template\",\n imageId: \"ami-516b9131\",\n instanceType: \"m1.small\",\n keyName: \"some-key\",\n});\nconst fooSpotFleetRequest = new aws.ec2.SpotFleetRequest(\"foo\", {\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n spotPrice: \"0.005\",\n targetCapacity: 2,\n validUntil: \"2019-11-04T20:44:20Z\",\n launchTemplateConfigs: [{\n launchTemplateSpecification: {\n id: foo.id,\n version: foo.latestVersion,\n },\n }],\n}, {\n dependsOn: [test_attach],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.LaunchTemplate(\"foo\",\n name=\"launch-template\",\n image_id=\"ami-516b9131\",\n instance_type=\"m1.small\",\n key_name=\"some-key\")\nfoo_spot_fleet_request = aws.ec2.SpotFleetRequest(\"foo\",\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n spot_price=\"0.005\",\n target_capacity=2,\n valid_until=\"2019-11-04T20:44:20Z\",\n launch_template_configs=[{\n \"launch_template_specification\": {\n \"id\": foo.id,\n \"version\": foo.latest_version,\n },\n }],\n opts = pulumi.ResourceOptions(depends_on=[test_attach]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.LaunchTemplate(\"foo\", new()\n {\n Name = \"launch-template\",\n ImageId = \"ami-516b9131\",\n InstanceType = \"m1.small\",\n KeyName = \"some-key\",\n });\n\n var fooSpotFleetRequest = new Aws.Ec2.SpotFleetRequest(\"foo\", new()\n {\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n SpotPrice = \"0.005\",\n TargetCapacity = 2,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n LaunchTemplateConfigs = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigArgs\n {\n LaunchTemplateSpecification = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs\n {\n Id = foo.Id,\n Version = foo.LatestVersion,\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test_attach,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.NewLaunchTemplate(ctx, \"foo\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tName: pulumi.String(\"launch-template\"),\n\t\t\tImageId: pulumi.String(\"ami-516b9131\"),\n\t\t\tInstanceType: pulumi.String(\"m1.small\"),\n\t\t\tKeyName: pulumi.String(\"some-key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSpotFleetRequest(ctx, \"foo\", \u0026ec2.SpotFleetRequestArgs{\n\t\t\tIamFleetRole: pulumi.String(\"arn:aws:iam::12345678:role/spot-fleet\"),\n\t\t\tSpotPrice: pulumi.String(\"0.005\"),\n\t\t\tTargetCapacity: pulumi.Int(2),\n\t\t\tValidUntil: pulumi.String(\"2019-11-04T20:44:20Z\"),\n\t\t\tLaunchTemplateConfigs: ec2.SpotFleetRequestLaunchTemplateConfigArray{\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchTemplateConfigArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tId: foo.ID(),\n\t\t\t\t\t\tVersion: foo.LatestVersion,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttest_attach,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.ec2.SpotFleetRequest;\nimport com.pulumi.aws.ec2.SpotFleetRequestArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new LaunchTemplate(\"foo\", LaunchTemplateArgs.builder()\n .name(\"launch-template\")\n .imageId(\"ami-516b9131\")\n .instanceType(\"m1.small\")\n .keyName(\"some-key\")\n .build());\n\n var fooSpotFleetRequest = new SpotFleetRequest(\"fooSpotFleetRequest\", SpotFleetRequestArgs.builder()\n .iamFleetRole(\"arn:aws:iam::12345678:role/spot-fleet\")\n .spotPrice(\"0.005\")\n .targetCapacity(2)\n .validUntil(\"2019-11-04T20:44:20Z\")\n .launchTemplateConfigs(SpotFleetRequestLaunchTemplateConfigArgs.builder()\n .launchTemplateSpecification(SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs.builder()\n .id(foo.id())\n .version(foo.latestVersion())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test_attach)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:LaunchTemplate\n properties:\n name: launch-template\n imageId: ami-516b9131\n instanceType: m1.small\n keyName: some-key\n fooSpotFleetRequest:\n type: aws:ec2:SpotFleetRequest\n name: foo\n properties:\n iamFleetRole: arn:aws:iam::12345678:role/spot-fleet\n spotPrice: '0.005'\n targetCapacity: 2\n validUntil: 2019-11-04T20:44:20Z\n launchTemplateConfigs:\n - launchTemplateSpecification:\n id: ${foo.id}\n version: ${foo.latestVersion}\n options:\n dependsOn:\n - ${[\"test-attach\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** This provider does not support the functionality where multiple `subnet_id` or `availability_zone` parameters can be specified in the same\nlaunch configuration block. If you want to specify multiple values, then separate launch configuration blocks should be used or launch template overrides should be configured, one per subnet:\n\n### Using multiple launch specifications\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.SpotFleetRequest(\"foo\", {\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n spotPrice: \"0.005\",\n targetCapacity: 2,\n validUntil: \"2019-11-04T20:44:20Z\",\n launchSpecifications: [\n {\n instanceType: \"m1.small\",\n ami: \"ami-d06a90b0\",\n keyName: \"my-key\",\n availabilityZone: \"us-west-2a\",\n },\n {\n instanceType: \"m5.large\",\n ami: \"ami-d06a90b0\",\n keyName: \"my-key\",\n availabilityZone: \"us-west-2a\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.SpotFleetRequest(\"foo\",\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n spot_price=\"0.005\",\n target_capacity=2,\n valid_until=\"2019-11-04T20:44:20Z\",\n launch_specifications=[\n {\n \"instance_type\": \"m1.small\",\n \"ami\": \"ami-d06a90b0\",\n \"key_name\": \"my-key\",\n \"availability_zone\": \"us-west-2a\",\n },\n {\n \"instance_type\": \"m5.large\",\n \"ami\": \"ami-d06a90b0\",\n \"key_name\": \"my-key\",\n \"availability_zone\": \"us-west-2a\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.SpotFleetRequest(\"foo\", new()\n {\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n SpotPrice = \"0.005\",\n TargetCapacity = 2,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n LaunchSpecifications = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n InstanceType = \"m1.small\",\n Ami = \"ami-d06a90b0\",\n KeyName = \"my-key\",\n AvailabilityZone = \"us-west-2a\",\n },\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n InstanceType = \"m5.large\",\n Ami = \"ami-d06a90b0\",\n KeyName = \"my-key\",\n AvailabilityZone = \"us-west-2a\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewSpotFleetRequest(ctx, \"foo\", \u0026ec2.SpotFleetRequestArgs{\n\t\t\tIamFleetRole: pulumi.String(\"arn:aws:iam::12345678:role/spot-fleet\"),\n\t\t\tSpotPrice: pulumi.String(\"0.005\"),\n\t\t\tTargetCapacity: pulumi.Int(2),\n\t\t\tValidUntil: pulumi.String(\"2019-11-04T20:44:20Z\"),\n\t\t\tLaunchSpecifications: ec2.SpotFleetRequestLaunchSpecificationArray{\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"m1.small\"),\n\t\t\t\t\tAmi: pulumi.String(\"ami-d06a90b0\"),\n\t\t\t\t\tKeyName: pulumi.String(\"my-key\"),\n\t\t\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"m5.large\"),\n\t\t\t\t\tAmi: pulumi.String(\"ami-d06a90b0\"),\n\t\t\t\t\tKeyName: pulumi.String(\"my-key\"),\n\t\t\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SpotFleetRequest;\nimport com.pulumi.aws.ec2.SpotFleetRequestArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new SpotFleetRequest(\"foo\", SpotFleetRequestArgs.builder()\n .iamFleetRole(\"arn:aws:iam::12345678:role/spot-fleet\")\n .spotPrice(\"0.005\")\n .targetCapacity(2)\n .validUntil(\"2019-11-04T20:44:20Z\")\n .launchSpecifications( \n SpotFleetRequestLaunchSpecificationArgs.builder()\n .instanceType(\"m1.small\")\n .ami(\"ami-d06a90b0\")\n .keyName(\"my-key\")\n .availabilityZone(\"us-west-2a\")\n .build(),\n SpotFleetRequestLaunchSpecificationArgs.builder()\n .instanceType(\"m5.large\")\n .ami(\"ami-d06a90b0\")\n .keyName(\"my-key\")\n .availabilityZone(\"us-west-2a\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:SpotFleetRequest\n properties:\n iamFleetRole: arn:aws:iam::12345678:role/spot-fleet\n spotPrice: '0.005'\n targetCapacity: 2\n validUntil: 2019-11-04T20:44:20Z\n launchSpecifications:\n - instanceType: m1.small\n ami: ami-d06a90b0\n keyName: my-key\n availabilityZone: us-west-2a\n - instanceType: m5.large\n ami: ami-d06a90b0\n keyName: my-key\n availabilityZone: us-west-2a\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e In this example, we use a `dynamic` block to define zero or more `launch_specification` blocks, producing one for each element in the list of subnet ids.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst subnets = config.requireObject(\"subnets\");\nconst example = new aws.ec2.SpotFleetRequest(\"example\", {\n launchSpecifications: .map(s =\u003e ({\n subnetId: s[1],\n })).map((v, k) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n ami: \"ami-1234\",\n instanceType: \"m4.4xlarge\",\n subnetId: entry.value.subnetId,\n vpcSecurityGroupIds: \"sg-123456\",\n rootBlockDevices: [{\n volumeSize: 8,\n volumeType: \"gp2\",\n deleteOnTermination: true,\n }],\n tags: {\n Name: \"Spot Node\",\n tag_builder: \"builder\",\n },\n })),\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n targetCapacity: 3,\n validUntil: \"2019-11-04T20:44:20Z\",\n allocationStrategy: \"lowestPrice\",\n fleetType: \"request\",\n waitForFulfillment: true,\n terminateInstancesWithExpiration: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsubnets = config.require_object(\"subnets\")\nexample = aws.ec2.SpotFleetRequest(\"example\",\n launch_specifications=[{\n \"ami\": \"ami-1234\",\n \"instance_type\": \"m4.4xlarge\",\n \"subnet_id\": entry[\"value\"][\"subnetId\"],\n \"vpc_security_group_ids\": \"sg-123456\",\n \"root_block_devices\": [{\n \"volume_size\": 8,\n \"volume_type\": \"gp2\",\n \"delete_on_termination\": True,\n }],\n \"tags\": {\n \"Name\": \"Spot Node\",\n \"tag_builder\": \"builder\",\n },\n } for entry in [{\"key\": k, \"value\": v} for k, v in [{\n \"subnetId\": s[1],\n } for s in subnets]]],\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n target_capacity=3,\n valid_until=\"2019-11-04T20:44:20Z\",\n allocation_strategy=\"lowestPrice\",\n fleet_type=\"request\",\n wait_for_fulfillment=True,\n terminate_instances_with_expiration=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var subnets = config.RequireObject\u003cdynamic\u003e(\"subnets\");\n var example = new Aws.Ec2.SpotFleetRequest(\"example\", new()\n {\n LaunchSpecifications = .Select(s =\u003e \n {\n return \n {\n { \"subnetId\", s[1] },\n };\n }).ToList().Select((v, k) =\u003e new { Key = k, Value = v }).Select(entry =\u003e \n {\n return new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n Ami = \"ami-1234\",\n InstanceType = \"m4.4xlarge\",\n SubnetId = entry.Value.SubnetId,\n VpcSecurityGroupIds = \"sg-123456\",\n RootBlockDevices = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs\n {\n VolumeSize = 8,\n VolumeType = \"gp2\",\n DeleteOnTermination = true,\n },\n },\n Tags = \n {\n { \"Name\", \"Spot Node\" },\n { \"tag_builder\", \"builder\" },\n },\n };\n }).ToList(),\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n TargetCapacity = 3,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n AllocationStrategy = \"lowestPrice\",\n FleetType = \"request\",\n WaitForFulfillment = true,\n TerminateInstancesWithExpiration = true,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using multiple launch configurations\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getSubnets({\n filters: [{\n name: \"vpc-id\",\n values: [vpcId],\n }],\n});\nconst foo = new aws.ec2.LaunchTemplate(\"foo\", {\n name: \"launch-template\",\n imageId: \"ami-516b9131\",\n instanceType: \"m1.small\",\n keyName: \"some-key\",\n});\nconst fooSpotFleetRequest = new aws.ec2.SpotFleetRequest(\"foo\", {\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n spotPrice: \"0.005\",\n targetCapacity: 2,\n validUntil: \"2019-11-04T20:44:20Z\",\n launchTemplateConfigs: [{\n launchTemplateSpecification: {\n id: foo.id,\n version: foo.latestVersion,\n },\n overrides: [\n {\n subnetId: example.then(example =\u003e example.ids?.[0]),\n },\n {\n subnetId: example.then(example =\u003e example.ids?.[1]),\n },\n {\n subnetId: example.then(example =\u003e example.ids?.[2]),\n },\n ],\n }],\n}, {\n dependsOn: [test_attach],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_subnets(filters=[{\n \"name\": \"vpc-id\",\n \"values\": [vpc_id],\n}])\nfoo = aws.ec2.LaunchTemplate(\"foo\",\n name=\"launch-template\",\n image_id=\"ami-516b9131\",\n instance_type=\"m1.small\",\n key_name=\"some-key\")\nfoo_spot_fleet_request = aws.ec2.SpotFleetRequest(\"foo\",\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n spot_price=\"0.005\",\n target_capacity=2,\n valid_until=\"2019-11-04T20:44:20Z\",\n launch_template_configs=[{\n \"launch_template_specification\": {\n \"id\": foo.id,\n \"version\": foo.latest_version,\n },\n \"overrides\": [\n {\n \"subnet_id\": example.ids[0],\n },\n {\n \"subnet_id\": example.ids[1],\n },\n {\n \"subnet_id\": example.ids[2],\n },\n ],\n }],\n opts = pulumi.ResourceOptions(depends_on=[test_attach]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetSubnets.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSubnetsFilterInputArgs\n {\n Name = \"vpc-id\",\n Values = new[]\n {\n vpcId,\n },\n },\n },\n });\n\n var foo = new Aws.Ec2.LaunchTemplate(\"foo\", new()\n {\n Name = \"launch-template\",\n ImageId = \"ami-516b9131\",\n InstanceType = \"m1.small\",\n KeyName = \"some-key\",\n });\n\n var fooSpotFleetRequest = new Aws.Ec2.SpotFleetRequest(\"foo\", new()\n {\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n SpotPrice = \"0.005\",\n TargetCapacity = 2,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n LaunchTemplateConfigs = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigArgs\n {\n LaunchTemplateSpecification = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs\n {\n Id = foo.Id,\n Version = foo.LatestVersion,\n },\n Overrides = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs\n {\n SubnetId = example.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[0]),\n },\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs\n {\n SubnetId = example.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[1]),\n },\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs\n {\n SubnetId = example.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[2]),\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test_attach,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := ec2.GetSubnets(ctx, \u0026ec2.GetSubnetsArgs{\nFilters: []ec2.GetSubnetsFilter{\n{\nName: \"vpc-id\",\nValues: interface{}{\nvpcId,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nfoo, err := ec2.NewLaunchTemplate(ctx, \"foo\", \u0026ec2.LaunchTemplateArgs{\nName: pulumi.String(\"launch-template\"),\nImageId: pulumi.String(\"ami-516b9131\"),\nInstanceType: pulumi.String(\"m1.small\"),\nKeyName: pulumi.String(\"some-key\"),\n})\nif err != nil {\nreturn err\n}\n_, err = ec2.NewSpotFleetRequest(ctx, \"foo\", \u0026ec2.SpotFleetRequestArgs{\nIamFleetRole: pulumi.String(\"arn:aws:iam::12345678:role/spot-fleet\"),\nSpotPrice: pulumi.String(\"0.005\"),\nTargetCapacity: pulumi.Int(2),\nValidUntil: pulumi.String(\"2019-11-04T20:44:20Z\"),\nLaunchTemplateConfigs: ec2.SpotFleetRequestLaunchTemplateConfigArray{\n\u0026ec2.SpotFleetRequestLaunchTemplateConfigArgs{\nLaunchTemplateSpecification: \u0026ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs{\nId: foo.ID(),\nVersion: foo.LatestVersion,\n},\nOverrides: ec2.SpotFleetRequestLaunchTemplateConfigOverrideArray{\n\u0026ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{\nSubnetId: pulumi.String(example.Ids[0]),\n},\n\u0026ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{\nSubnetId: pulumi.String(example.Ids[1]),\n},\n\u0026ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{\nSubnetId: pulumi.String(example.Ids[2]),\n},\n},\n},\n},\n}, pulumi.DependsOn([]pulumi.Resource{\ntest_attach,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSubnetsArgs;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.ec2.SpotFleetRequest;\nimport com.pulumi.aws.ec2.SpotFleetRequestArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getSubnets(GetSubnetsArgs.builder()\n .filters(GetSubnetsFilterArgs.builder()\n .name(\"vpc-id\")\n .values(vpcId)\n .build())\n .build());\n\n var foo = new LaunchTemplate(\"foo\", LaunchTemplateArgs.builder()\n .name(\"launch-template\")\n .imageId(\"ami-516b9131\")\n .instanceType(\"m1.small\")\n .keyName(\"some-key\")\n .build());\n\n var fooSpotFleetRequest = new SpotFleetRequest(\"fooSpotFleetRequest\", SpotFleetRequestArgs.builder()\n .iamFleetRole(\"arn:aws:iam::12345678:role/spot-fleet\")\n .spotPrice(\"0.005\")\n .targetCapacity(2)\n .validUntil(\"2019-11-04T20:44:20Z\")\n .launchTemplateConfigs(SpotFleetRequestLaunchTemplateConfigArgs.builder()\n .launchTemplateSpecification(SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs.builder()\n .id(foo.id())\n .version(foo.latestVersion())\n .build())\n .overrides( \n SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()\n .subnetId(example.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[0]))\n .build(),\n SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()\n .subnetId(example.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[1]))\n .build(),\n SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()\n .subnetId(example.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[2]))\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test_attach)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:LaunchTemplate\n properties:\n name: launch-template\n imageId: ami-516b9131\n instanceType: m1.small\n keyName: some-key\n fooSpotFleetRequest:\n type: aws:ec2:SpotFleetRequest\n name: foo\n properties:\n iamFleetRole: arn:aws:iam::12345678:role/spot-fleet\n spotPrice: '0.005'\n targetCapacity: 2\n validUntil: 2019-11-04T20:44:20Z\n launchTemplateConfigs:\n - launchTemplateSpecification:\n id: ${foo.id}\n version: ${foo.latestVersion}\n overrides:\n - subnetId: ${example.ids[0]}\n - subnetId: ${example.ids[1]}\n - subnetId: ${example.ids[2]}\n options:\n dependsOn:\n - ${[\"test-attach\"]}\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getSubnets\n arguments:\n filters:\n - name: vpc-id\n values:\n - ${vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Spot Fleet Requests using `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/spotFleetRequest:SpotFleetRequest fleet sfr-005e9ec8-5546-4c31-b317-31a62325411e\n```\n", + "description": "Provides an EC2 Spot Fleet Request resource. This allows a fleet of Spot\ninstances to be requested on the Spot market.\n\n\u003e **NOTE [AWS strongly discourages](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html#which-spot-request-method-to-use) the use of the legacy APIs called by this resource.\nWe recommend using the EC2 Fleet or Auto Scaling Group resources instead.\n\n## Example Usage\n\n### Using launch specifications\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Request a Spot fleet\nconst cheapCompute = new aws.ec2.SpotFleetRequest(\"cheap_compute\", {\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n spotPrice: \"0.03\",\n allocationStrategy: \"diversified\",\n targetCapacity: 6,\n validUntil: \"2019-11-04T20:44:20Z\",\n launchSpecifications: [\n {\n instanceType: \"m4.10xlarge\",\n ami: \"ami-1234\",\n spotPrice: \"2.793\",\n placementTenancy: \"dedicated\",\n iamInstanceProfileArn: example.arn,\n },\n {\n instanceType: \"m4.4xlarge\",\n ami: \"ami-5678\",\n keyName: \"my-key\",\n spotPrice: \"1.117\",\n iamInstanceProfileArn: example.arn,\n availabilityZone: \"us-west-1a\",\n subnetId: \"subnet-1234\",\n weightedCapacity: \"35\",\n rootBlockDevices: [{\n volumeSize: 300,\n volumeType: \"gp2\",\n }],\n tags: {\n Name: \"spot-fleet-example\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Request a Spot fleet\ncheap_compute = aws.ec2.SpotFleetRequest(\"cheap_compute\",\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n spot_price=\"0.03\",\n allocation_strategy=\"diversified\",\n target_capacity=6,\n valid_until=\"2019-11-04T20:44:20Z\",\n launch_specifications=[\n {\n \"instance_type\": \"m4.10xlarge\",\n \"ami\": \"ami-1234\",\n \"spot_price\": \"2.793\",\n \"placement_tenancy\": \"dedicated\",\n \"iam_instance_profile_arn\": example[\"arn\"],\n },\n {\n \"instance_type\": \"m4.4xlarge\",\n \"ami\": \"ami-5678\",\n \"key_name\": \"my-key\",\n \"spot_price\": \"1.117\",\n \"iam_instance_profile_arn\": example[\"arn\"],\n \"availability_zone\": \"us-west-1a\",\n \"subnet_id\": \"subnet-1234\",\n \"weighted_capacity\": \"35\",\n \"root_block_devices\": [{\n \"volume_size\": 300,\n \"volume_type\": \"gp2\",\n }],\n \"tags\": {\n \"Name\": \"spot-fleet-example\",\n },\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Request a Spot fleet\n var cheapCompute = new Aws.Ec2.SpotFleetRequest(\"cheap_compute\", new()\n {\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n SpotPrice = \"0.03\",\n AllocationStrategy = \"diversified\",\n TargetCapacity = 6,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n LaunchSpecifications = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n InstanceType = \"m4.10xlarge\",\n Ami = \"ami-1234\",\n SpotPrice = \"2.793\",\n PlacementTenancy = \"dedicated\",\n IamInstanceProfileArn = example.Arn,\n },\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n InstanceType = \"m4.4xlarge\",\n Ami = \"ami-5678\",\n KeyName = \"my-key\",\n SpotPrice = \"1.117\",\n IamInstanceProfileArn = example.Arn,\n AvailabilityZone = \"us-west-1a\",\n SubnetId = \"subnet-1234\",\n WeightedCapacity = \"35\",\n RootBlockDevices = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs\n {\n VolumeSize = 300,\n VolumeType = \"gp2\",\n },\n },\n Tags = \n {\n { \"Name\", \"spot-fleet-example\" },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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// Request a Spot fleet\n\t\t_, err := ec2.NewSpotFleetRequest(ctx, \"cheap_compute\", \u0026ec2.SpotFleetRequestArgs{\n\t\t\tIamFleetRole: pulumi.String(\"arn:aws:iam::12345678:role/spot-fleet\"),\n\t\t\tSpotPrice: pulumi.String(\"0.03\"),\n\t\t\tAllocationStrategy: pulumi.String(\"diversified\"),\n\t\t\tTargetCapacity: pulumi.Int(6),\n\t\t\tValidUntil: pulumi.String(\"2019-11-04T20:44:20Z\"),\n\t\t\tLaunchSpecifications: ec2.SpotFleetRequestLaunchSpecificationArray{\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"m4.10xlarge\"),\n\t\t\t\t\tAmi: pulumi.String(\"ami-1234\"),\n\t\t\t\t\tSpotPrice: pulumi.String(\"2.793\"),\n\t\t\t\t\tPlacementTenancy: pulumi.String(\"dedicated\"),\n\t\t\t\t\tIamInstanceProfileArn: pulumi.Any(example.Arn),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"m4.4xlarge\"),\n\t\t\t\t\tAmi: pulumi.String(\"ami-5678\"),\n\t\t\t\t\tKeyName: pulumi.String(\"my-key\"),\n\t\t\t\t\tSpotPrice: pulumi.String(\"1.117\"),\n\t\t\t\t\tIamInstanceProfileArn: pulumi.Any(example.Arn),\n\t\t\t\t\tAvailabilityZone: pulumi.String(\"us-west-1a\"),\n\t\t\t\t\tSubnetId: pulumi.String(\"subnet-1234\"),\n\t\t\t\t\tWeightedCapacity: pulumi.String(\"35\"),\n\t\t\t\t\tRootBlockDevices: ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArray{\n\t\t\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs{\n\t\t\t\t\t\t\tVolumeSize: pulumi.Int(300),\n\t\t\t\t\t\t\tVolumeType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\"Name\": pulumi.String(\"spot-fleet-example\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SpotFleetRequest;\nimport com.pulumi.aws.ec2.SpotFleetRequestArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Request a Spot fleet\n var cheapCompute = new SpotFleetRequest(\"cheapCompute\", SpotFleetRequestArgs.builder()\n .iamFleetRole(\"arn:aws:iam::12345678:role/spot-fleet\")\n .spotPrice(\"0.03\")\n .allocationStrategy(\"diversified\")\n .targetCapacity(6)\n .validUntil(\"2019-11-04T20:44:20Z\")\n .launchSpecifications( \n SpotFleetRequestLaunchSpecificationArgs.builder()\n .instanceType(\"m4.10xlarge\")\n .ami(\"ami-1234\")\n .spotPrice(\"2.793\")\n .placementTenancy(\"dedicated\")\n .iamInstanceProfileArn(example.arn())\n .build(),\n SpotFleetRequestLaunchSpecificationArgs.builder()\n .instanceType(\"m4.4xlarge\")\n .ami(\"ami-5678\")\n .keyName(\"my-key\")\n .spotPrice(\"1.117\")\n .iamInstanceProfileArn(example.arn())\n .availabilityZone(\"us-west-1a\")\n .subnetId(\"subnet-1234\")\n .weightedCapacity(35)\n .rootBlockDevices(SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs.builder()\n .volumeSize(\"300\")\n .volumeType(\"gp2\")\n .build())\n .tags(Map.of(\"Name\", \"spot-fleet-example\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Request a Spot fleet\n cheapCompute:\n type: aws:ec2:SpotFleetRequest\n name: cheap_compute\n properties:\n iamFleetRole: arn:aws:iam::12345678:role/spot-fleet\n spotPrice: '0.03'\n allocationStrategy: diversified\n targetCapacity: 6\n validUntil: 2019-11-04T20:44:20Z\n launchSpecifications:\n - instanceType: m4.10xlarge\n ami: ami-1234\n spotPrice: '2.793'\n placementTenancy: dedicated\n iamInstanceProfileArn: ${example.arn}\n - instanceType: m4.4xlarge\n ami: ami-5678\n keyName: my-key\n spotPrice: '1.117'\n iamInstanceProfileArn: ${example.arn}\n availabilityZone: us-west-1a\n subnetId: subnet-1234\n weightedCapacity: 35\n rootBlockDevices:\n - volumeSize: '300'\n volumeType: gp2\n tags:\n Name: spot-fleet-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using launch templates\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.LaunchTemplate(\"foo\", {\n name: \"launch-template\",\n imageId: \"ami-516b9131\",\n instanceType: \"m1.small\",\n keyName: \"some-key\",\n});\nconst fooSpotFleetRequest = new aws.ec2.SpotFleetRequest(\"foo\", {\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n spotPrice: \"0.005\",\n targetCapacity: 2,\n validUntil: \"2019-11-04T20:44:20Z\",\n launchTemplateConfigs: [{\n launchTemplateSpecification: {\n id: foo.id,\n version: foo.latestVersion,\n },\n }],\n}, {\n dependsOn: [test_attach],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.LaunchTemplate(\"foo\",\n name=\"launch-template\",\n image_id=\"ami-516b9131\",\n instance_type=\"m1.small\",\n key_name=\"some-key\")\nfoo_spot_fleet_request = aws.ec2.SpotFleetRequest(\"foo\",\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n spot_price=\"0.005\",\n target_capacity=2,\n valid_until=\"2019-11-04T20:44:20Z\",\n launch_template_configs=[{\n \"launch_template_specification\": {\n \"id\": foo.id,\n \"version\": foo.latest_version,\n },\n }],\n opts = pulumi.ResourceOptions(depends_on=[test_attach]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.LaunchTemplate(\"foo\", new()\n {\n Name = \"launch-template\",\n ImageId = \"ami-516b9131\",\n InstanceType = \"m1.small\",\n KeyName = \"some-key\",\n });\n\n var fooSpotFleetRequest = new Aws.Ec2.SpotFleetRequest(\"foo\", new()\n {\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n SpotPrice = \"0.005\",\n TargetCapacity = 2,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n LaunchTemplateConfigs = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigArgs\n {\n LaunchTemplateSpecification = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs\n {\n Id = foo.Id,\n Version = foo.LatestVersion,\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test_attach,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.NewLaunchTemplate(ctx, \"foo\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tName: pulumi.String(\"launch-template\"),\n\t\t\tImageId: pulumi.String(\"ami-516b9131\"),\n\t\t\tInstanceType: pulumi.String(\"m1.small\"),\n\t\t\tKeyName: pulumi.String(\"some-key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSpotFleetRequest(ctx, \"foo\", \u0026ec2.SpotFleetRequestArgs{\n\t\t\tIamFleetRole: pulumi.String(\"arn:aws:iam::12345678:role/spot-fleet\"),\n\t\t\tSpotPrice: pulumi.String(\"0.005\"),\n\t\t\tTargetCapacity: pulumi.Int(2),\n\t\t\tValidUntil: pulumi.String(\"2019-11-04T20:44:20Z\"),\n\t\t\tLaunchTemplateConfigs: ec2.SpotFleetRequestLaunchTemplateConfigArray{\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchTemplateConfigArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tId: foo.ID(),\n\t\t\t\t\t\tVersion: foo.LatestVersion,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttest_attach,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.ec2.SpotFleetRequest;\nimport com.pulumi.aws.ec2.SpotFleetRequestArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new LaunchTemplate(\"foo\", LaunchTemplateArgs.builder()\n .name(\"launch-template\")\n .imageId(\"ami-516b9131\")\n .instanceType(\"m1.small\")\n .keyName(\"some-key\")\n .build());\n\n var fooSpotFleetRequest = new SpotFleetRequest(\"fooSpotFleetRequest\", SpotFleetRequestArgs.builder()\n .iamFleetRole(\"arn:aws:iam::12345678:role/spot-fleet\")\n .spotPrice(\"0.005\")\n .targetCapacity(2)\n .validUntil(\"2019-11-04T20:44:20Z\")\n .launchTemplateConfigs(SpotFleetRequestLaunchTemplateConfigArgs.builder()\n .launchTemplateSpecification(SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs.builder()\n .id(foo.id())\n .version(foo.latestVersion())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test_attach)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:LaunchTemplate\n properties:\n name: launch-template\n imageId: ami-516b9131\n instanceType: m1.small\n keyName: some-key\n fooSpotFleetRequest:\n type: aws:ec2:SpotFleetRequest\n name: foo\n properties:\n iamFleetRole: arn:aws:iam::12345678:role/spot-fleet\n spotPrice: '0.005'\n targetCapacity: 2\n validUntil: 2019-11-04T20:44:20Z\n launchTemplateConfigs:\n - launchTemplateSpecification:\n id: ${foo.id}\n version: ${foo.latestVersion}\n options:\n dependson:\n - ${[\"test-attach\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** This provider does not support the functionality where multiple `subnet_id` or `availability_zone` parameters can be specified in the same\nlaunch configuration block. If you want to specify multiple values, then separate launch configuration blocks should be used or launch template overrides should be configured, one per subnet:\n\n### Using multiple launch specifications\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.SpotFleetRequest(\"foo\", {\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n spotPrice: \"0.005\",\n targetCapacity: 2,\n validUntil: \"2019-11-04T20:44:20Z\",\n launchSpecifications: [\n {\n instanceType: \"m1.small\",\n ami: \"ami-d06a90b0\",\n keyName: \"my-key\",\n availabilityZone: \"us-west-2a\",\n },\n {\n instanceType: \"m5.large\",\n ami: \"ami-d06a90b0\",\n keyName: \"my-key\",\n availabilityZone: \"us-west-2a\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.SpotFleetRequest(\"foo\",\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n spot_price=\"0.005\",\n target_capacity=2,\n valid_until=\"2019-11-04T20:44:20Z\",\n launch_specifications=[\n {\n \"instance_type\": \"m1.small\",\n \"ami\": \"ami-d06a90b0\",\n \"key_name\": \"my-key\",\n \"availability_zone\": \"us-west-2a\",\n },\n {\n \"instance_type\": \"m5.large\",\n \"ami\": \"ami-d06a90b0\",\n \"key_name\": \"my-key\",\n \"availability_zone\": \"us-west-2a\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.SpotFleetRequest(\"foo\", new()\n {\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n SpotPrice = \"0.005\",\n TargetCapacity = 2,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n LaunchSpecifications = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n InstanceType = \"m1.small\",\n Ami = \"ami-d06a90b0\",\n KeyName = \"my-key\",\n AvailabilityZone = \"us-west-2a\",\n },\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n InstanceType = \"m5.large\",\n Ami = \"ami-d06a90b0\",\n KeyName = \"my-key\",\n AvailabilityZone = \"us-west-2a\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewSpotFleetRequest(ctx, \"foo\", \u0026ec2.SpotFleetRequestArgs{\n\t\t\tIamFleetRole: pulumi.String(\"arn:aws:iam::12345678:role/spot-fleet\"),\n\t\t\tSpotPrice: pulumi.String(\"0.005\"),\n\t\t\tTargetCapacity: pulumi.Int(2),\n\t\t\tValidUntil: pulumi.String(\"2019-11-04T20:44:20Z\"),\n\t\t\tLaunchSpecifications: ec2.SpotFleetRequestLaunchSpecificationArray{\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"m1.small\"),\n\t\t\t\t\tAmi: pulumi.String(\"ami-d06a90b0\"),\n\t\t\t\t\tKeyName: pulumi.String(\"my-key\"),\n\t\t\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"m5.large\"),\n\t\t\t\t\tAmi: pulumi.String(\"ami-d06a90b0\"),\n\t\t\t\t\tKeyName: pulumi.String(\"my-key\"),\n\t\t\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SpotFleetRequest;\nimport com.pulumi.aws.ec2.SpotFleetRequestArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new SpotFleetRequest(\"foo\", SpotFleetRequestArgs.builder()\n .iamFleetRole(\"arn:aws:iam::12345678:role/spot-fleet\")\n .spotPrice(\"0.005\")\n .targetCapacity(2)\n .validUntil(\"2019-11-04T20:44:20Z\")\n .launchSpecifications( \n SpotFleetRequestLaunchSpecificationArgs.builder()\n .instanceType(\"m1.small\")\n .ami(\"ami-d06a90b0\")\n .keyName(\"my-key\")\n .availabilityZone(\"us-west-2a\")\n .build(),\n SpotFleetRequestLaunchSpecificationArgs.builder()\n .instanceType(\"m5.large\")\n .ami(\"ami-d06a90b0\")\n .keyName(\"my-key\")\n .availabilityZone(\"us-west-2a\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:SpotFleetRequest\n properties:\n iamFleetRole: arn:aws:iam::12345678:role/spot-fleet\n spotPrice: '0.005'\n targetCapacity: 2\n validUntil: 2019-11-04T20:44:20Z\n launchSpecifications:\n - instanceType: m1.small\n ami: ami-d06a90b0\n keyName: my-key\n availabilityZone: us-west-2a\n - instanceType: m5.large\n ami: ami-d06a90b0\n keyName: my-key\n availabilityZone: us-west-2a\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e In this example, we use a `dynamic` block to define zero or more `launch_specification` blocks, producing one for each element in the list of subnet ids.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst subnets = config.requireObject(\"subnets\");\nconst example = new aws.ec2.SpotFleetRequest(\"example\", {\n launchSpecifications: .map(s =\u003e ({\n subnetId: s[1],\n })).map((v, k) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n ami: \"ami-1234\",\n instanceType: \"m4.4xlarge\",\n subnetId: entry.value.subnetId,\n vpcSecurityGroupIds: \"sg-123456\",\n rootBlockDevices: [{\n volumeSize: 8,\n volumeType: \"gp2\",\n deleteOnTermination: true,\n }],\n tags: {\n Name: \"Spot Node\",\n tag_builder: \"builder\",\n },\n })),\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n targetCapacity: 3,\n validUntil: \"2019-11-04T20:44:20Z\",\n allocationStrategy: \"lowestPrice\",\n fleetType: \"request\",\n waitForFulfillment: true,\n terminateInstancesWithExpiration: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsubnets = config.require_object(\"subnets\")\nexample = aws.ec2.SpotFleetRequest(\"example\",\n launch_specifications=[{\n \"ami\": \"ami-1234\",\n \"instance_type\": \"m4.4xlarge\",\n \"subnet_id\": entry[\"value\"][\"subnetId\"],\n \"vpc_security_group_ids\": \"sg-123456\",\n \"root_block_devices\": [{\n \"volume_size\": 8,\n \"volume_type\": \"gp2\",\n \"delete_on_termination\": True,\n }],\n \"tags\": {\n \"Name\": \"Spot Node\",\n \"tag_builder\": \"builder\",\n },\n } for entry in [{\"key\": k, \"value\": v} for k, v in [{\n \"subnetId\": s[1],\n } for s in subnets]]],\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n target_capacity=3,\n valid_until=\"2019-11-04T20:44:20Z\",\n allocation_strategy=\"lowestPrice\",\n fleet_type=\"request\",\n wait_for_fulfillment=True,\n terminate_instances_with_expiration=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var subnets = config.RequireObject\u003cdynamic\u003e(\"subnets\");\n var example = new Aws.Ec2.SpotFleetRequest(\"example\", new()\n {\n LaunchSpecifications = .Select(s =\u003e \n {\n return \n {\n { \"subnetId\", s[1] },\n };\n }).ToList().Select((v, k) =\u003e new { Key = k, Value = v }).Select(entry =\u003e \n {\n return new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n Ami = \"ami-1234\",\n InstanceType = \"m4.4xlarge\",\n SubnetId = entry.Value.SubnetId,\n VpcSecurityGroupIds = \"sg-123456\",\n RootBlockDevices = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs\n {\n VolumeSize = 8,\n VolumeType = \"gp2\",\n DeleteOnTermination = true,\n },\n },\n Tags = \n {\n { \"Name\", \"Spot Node\" },\n { \"tag_builder\", \"builder\" },\n },\n };\n }).ToList(),\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n TargetCapacity = 3,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n AllocationStrategy = \"lowestPrice\",\n FleetType = \"request\",\n WaitForFulfillment = true,\n TerminateInstancesWithExpiration = true,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using multiple launch configurations\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getSubnets({\n filters: [{\n name: \"vpc-id\",\n values: [vpcId],\n }],\n});\nconst foo = new aws.ec2.LaunchTemplate(\"foo\", {\n name: \"launch-template\",\n imageId: \"ami-516b9131\",\n instanceType: \"m1.small\",\n keyName: \"some-key\",\n});\nconst fooSpotFleetRequest = new aws.ec2.SpotFleetRequest(\"foo\", {\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n spotPrice: \"0.005\",\n targetCapacity: 2,\n validUntil: \"2019-11-04T20:44:20Z\",\n launchTemplateConfigs: [{\n launchTemplateSpecification: {\n id: foo.id,\n version: foo.latestVersion,\n },\n overrides: [\n {\n subnetId: example.then(example =\u003e example.ids?.[0]),\n },\n {\n subnetId: example.then(example =\u003e example.ids?.[1]),\n },\n {\n subnetId: example.then(example =\u003e example.ids?.[2]),\n },\n ],\n }],\n}, {\n dependsOn: [test_attach],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_subnets(filters=[{\n \"name\": \"vpc-id\",\n \"values\": [vpc_id],\n}])\nfoo = aws.ec2.LaunchTemplate(\"foo\",\n name=\"launch-template\",\n image_id=\"ami-516b9131\",\n instance_type=\"m1.small\",\n key_name=\"some-key\")\nfoo_spot_fleet_request = aws.ec2.SpotFleetRequest(\"foo\",\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n spot_price=\"0.005\",\n target_capacity=2,\n valid_until=\"2019-11-04T20:44:20Z\",\n launch_template_configs=[{\n \"launch_template_specification\": {\n \"id\": foo.id,\n \"version\": foo.latest_version,\n },\n \"overrides\": [\n {\n \"subnet_id\": example.ids[0],\n },\n {\n \"subnet_id\": example.ids[1],\n },\n {\n \"subnet_id\": example.ids[2],\n },\n ],\n }],\n opts = pulumi.ResourceOptions(depends_on=[test_attach]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetSubnets.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSubnetsFilterInputArgs\n {\n Name = \"vpc-id\",\n Values = new[]\n {\n vpcId,\n },\n },\n },\n });\n\n var foo = new Aws.Ec2.LaunchTemplate(\"foo\", new()\n {\n Name = \"launch-template\",\n ImageId = \"ami-516b9131\",\n InstanceType = \"m1.small\",\n KeyName = \"some-key\",\n });\n\n var fooSpotFleetRequest = new Aws.Ec2.SpotFleetRequest(\"foo\", new()\n {\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n SpotPrice = \"0.005\",\n TargetCapacity = 2,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n LaunchTemplateConfigs = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigArgs\n {\n LaunchTemplateSpecification = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs\n {\n Id = foo.Id,\n Version = foo.LatestVersion,\n },\n Overrides = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs\n {\n SubnetId = example.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[0]),\n },\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs\n {\n SubnetId = example.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[1]),\n },\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs\n {\n SubnetId = example.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[2]),\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test_attach,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := ec2.GetSubnets(ctx, \u0026ec2.GetSubnetsArgs{\nFilters: []ec2.GetSubnetsFilter{\n{\nName: \"vpc-id\",\nValues: interface{}{\nvpcId,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nfoo, err := ec2.NewLaunchTemplate(ctx, \"foo\", \u0026ec2.LaunchTemplateArgs{\nName: pulumi.String(\"launch-template\"),\nImageId: pulumi.String(\"ami-516b9131\"),\nInstanceType: pulumi.String(\"m1.small\"),\nKeyName: pulumi.String(\"some-key\"),\n})\nif err != nil {\nreturn err\n}\n_, err = ec2.NewSpotFleetRequest(ctx, \"foo\", \u0026ec2.SpotFleetRequestArgs{\nIamFleetRole: pulumi.String(\"arn:aws:iam::12345678:role/spot-fleet\"),\nSpotPrice: pulumi.String(\"0.005\"),\nTargetCapacity: pulumi.Int(2),\nValidUntil: pulumi.String(\"2019-11-04T20:44:20Z\"),\nLaunchTemplateConfigs: ec2.SpotFleetRequestLaunchTemplateConfigArray{\n\u0026ec2.SpotFleetRequestLaunchTemplateConfigArgs{\nLaunchTemplateSpecification: \u0026ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs{\nId: foo.ID(),\nVersion: foo.LatestVersion,\n},\nOverrides: ec2.SpotFleetRequestLaunchTemplateConfigOverrideArray{\n\u0026ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{\nSubnetId: pulumi.String(example.Ids[0]),\n},\n\u0026ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{\nSubnetId: pulumi.String(example.Ids[1]),\n},\n\u0026ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{\nSubnetId: pulumi.String(example.Ids[2]),\n},\n},\n},\n},\n}, pulumi.DependsOn([]pulumi.Resource{\ntest_attach,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSubnetsArgs;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.ec2.SpotFleetRequest;\nimport com.pulumi.aws.ec2.SpotFleetRequestArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getSubnets(GetSubnetsArgs.builder()\n .filters(GetSubnetsFilterArgs.builder()\n .name(\"vpc-id\")\n .values(vpcId)\n .build())\n .build());\n\n var foo = new LaunchTemplate(\"foo\", LaunchTemplateArgs.builder()\n .name(\"launch-template\")\n .imageId(\"ami-516b9131\")\n .instanceType(\"m1.small\")\n .keyName(\"some-key\")\n .build());\n\n var fooSpotFleetRequest = new SpotFleetRequest(\"fooSpotFleetRequest\", SpotFleetRequestArgs.builder()\n .iamFleetRole(\"arn:aws:iam::12345678:role/spot-fleet\")\n .spotPrice(\"0.005\")\n .targetCapacity(2)\n .validUntil(\"2019-11-04T20:44:20Z\")\n .launchTemplateConfigs(SpotFleetRequestLaunchTemplateConfigArgs.builder()\n .launchTemplateSpecification(SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs.builder()\n .id(foo.id())\n .version(foo.latestVersion())\n .build())\n .overrides( \n SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()\n .subnetId(example.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[0]))\n .build(),\n SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()\n .subnetId(example.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[1]))\n .build(),\n SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()\n .subnetId(example.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[2]))\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test_attach)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:LaunchTemplate\n properties:\n name: launch-template\n imageId: ami-516b9131\n instanceType: m1.small\n keyName: some-key\n fooSpotFleetRequest:\n type: aws:ec2:SpotFleetRequest\n name: foo\n properties:\n iamFleetRole: arn:aws:iam::12345678:role/spot-fleet\n spotPrice: '0.005'\n targetCapacity: 2\n validUntil: 2019-11-04T20:44:20Z\n launchTemplateConfigs:\n - launchTemplateSpecification:\n id: ${foo.id}\n version: ${foo.latestVersion}\n overrides:\n - subnetId: ${example.ids[0]}\n - subnetId: ${example.ids[1]}\n - subnetId: ${example.ids[2]}\n options:\n dependson:\n - ${[\"test-attach\"]}\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getSubnets\n Arguments:\n filters:\n - name: vpc-id\n values:\n - ${vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Spot Fleet Requests using `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/spotFleetRequest:SpotFleetRequest fleet sfr-005e9ec8-5546-4c31-b317-31a62325411e\n```\n", "properties": { "allocationStrategy": { "type": "string", @@ -245592,7 +245592,7 @@ } }, "aws:ec2/vpc:Vpc": { - "description": "Provides a VPC resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBasic usage with tags:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {\n cidrBlock: \"10.0.0.0/16\",\n instanceTenancy: \"default\",\n tags: {\n Name: \"main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\",\n cidr_block=\"10.0.0.0/16\",\n instance_tenancy=\"default\",\n tags={\n \"Name\": \"main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n InstanceTenancy = \"default\",\n Tags = \n {\n { \"Name\", \"main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tInstanceTenancy: pulumi.String(\"default\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"main\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .instanceTenancy(\"default\")\n .tags(Map.of(\"Name\", \"main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n instanceTenancy: default\n tags:\n Name: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nVPC with CIDR from AWS IPAM:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst test = new aws.ec2.VpcIpam(\"test\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst testVpcIpamPool = new aws.ec2.VpcIpamPool(\"test\", {\n addressFamily: \"ipv4\",\n ipamScopeId: test.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst testVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"test\", {\n ipamPoolId: testVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\nconst testVpc = new aws.ec2.Vpc(\"test\", {\n ipv4IpamPoolId: testVpcIpamPool.id,\n ipv4NetmaskLength: 28,\n}, {\n dependsOn: [testVpcIpamPoolCidr],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ntest = aws.ec2.VpcIpam(\"test\", operating_regions=[{\n \"region_name\": current.name,\n}])\ntest_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"test\",\n address_family=\"ipv4\",\n ipam_scope_id=test.private_default_scope_id,\n locale=current.name)\ntest_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"test\",\n ipam_pool_id=test_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\ntest_vpc = aws.ec2.Vpc(\"test\",\n ipv4_ipam_pool_id=test_vpc_ipam_pool.id,\n ipv4_netmask_length=28,\n opts = pulumi.ResourceOptions(depends_on=[test_vpc_ipam_pool_cidr]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var test = new Aws.Ec2.VpcIpam(\"test\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var testVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"test\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = test.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var testVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"test\", new()\n {\n IpamPoolId = testVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var testVpc = new Aws.Ec2.Vpc(\"test\", new()\n {\n Ipv4IpamPoolId = testVpcIpamPool.Id,\n Ipv4NetmaskLength = 28,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testVpcIpamPoolCidr,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := ec2.NewVpcIpam(ctx, \"test\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\ttestVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"test\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: test.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, \"test\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: testVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tIpv4IpamPoolId: testVpcIpamPool.ID(),\n\t\t\tIpv4NetmaskLength: pulumi.Int(28),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestVpcIpamPoolCidr,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var test = new VpcIpam(\"test\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var testVpcIpamPool = new VpcIpamPool(\"testVpcIpamPool\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(test.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var testVpcIpamPoolCidr = new VpcIpamPoolCidr(\"testVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(testVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var testVpc = new Vpc(\"testVpc\", VpcArgs.builder()\n .ipv4IpamPoolId(testVpcIpamPool.id())\n .ipv4NetmaskLength(28)\n .build(), CustomResourceOptions.builder()\n .dependsOn(testVpcIpamPoolCidr)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n testVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: test\n properties:\n addressFamily: ipv4\n ipamScopeId: ${test.privateDefaultScopeId}\n locale: ${current.name}\n testVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: test\n properties:\n ipamPoolId: ${testVpcIpamPool.id}\n cidr: 172.20.0.0/16\n testVpc:\n type: aws:ec2:Vpc\n name: test\n properties:\n ipv4IpamPoolId: ${testVpcIpamPool.id}\n ipv4NetmaskLength: 28\n options:\n dependsOn:\n - ${testVpcIpamPoolCidr}\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPCs using the VPC `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpc:Vpc test_vpc vpc-a01106c2\n```\n", + "description": "Provides a VPC resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBasic usage with tags:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {\n cidrBlock: \"10.0.0.0/16\",\n instanceTenancy: \"default\",\n tags: {\n Name: \"main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\",\n cidr_block=\"10.0.0.0/16\",\n instance_tenancy=\"default\",\n tags={\n \"Name\": \"main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n InstanceTenancy = \"default\",\n Tags = \n {\n { \"Name\", \"main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tInstanceTenancy: pulumi.String(\"default\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"main\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .instanceTenancy(\"default\")\n .tags(Map.of(\"Name\", \"main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n instanceTenancy: default\n tags:\n Name: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nVPC with CIDR from AWS IPAM:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst test = new aws.ec2.VpcIpam(\"test\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst testVpcIpamPool = new aws.ec2.VpcIpamPool(\"test\", {\n addressFamily: \"ipv4\",\n ipamScopeId: test.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst testVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"test\", {\n ipamPoolId: testVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\nconst testVpc = new aws.ec2.Vpc(\"test\", {\n ipv4IpamPoolId: testVpcIpamPool.id,\n ipv4NetmaskLength: 28,\n}, {\n dependsOn: [testVpcIpamPoolCidr],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ntest = aws.ec2.VpcIpam(\"test\", operating_regions=[{\n \"region_name\": current.name,\n}])\ntest_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"test\",\n address_family=\"ipv4\",\n ipam_scope_id=test.private_default_scope_id,\n locale=current.name)\ntest_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"test\",\n ipam_pool_id=test_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\ntest_vpc = aws.ec2.Vpc(\"test\",\n ipv4_ipam_pool_id=test_vpc_ipam_pool.id,\n ipv4_netmask_length=28,\n opts = pulumi.ResourceOptions(depends_on=[test_vpc_ipam_pool_cidr]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var test = new Aws.Ec2.VpcIpam(\"test\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var testVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"test\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = test.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var testVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"test\", new()\n {\n IpamPoolId = testVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var testVpc = new Aws.Ec2.Vpc(\"test\", new()\n {\n Ipv4IpamPoolId = testVpcIpamPool.Id,\n Ipv4NetmaskLength = 28,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testVpcIpamPoolCidr,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := ec2.NewVpcIpam(ctx, \"test\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\ttestVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"test\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: test.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, \"test\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: testVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tIpv4IpamPoolId: testVpcIpamPool.ID(),\n\t\t\tIpv4NetmaskLength: pulumi.Int(28),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestVpcIpamPoolCidr,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var test = new VpcIpam(\"test\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var testVpcIpamPool = new VpcIpamPool(\"testVpcIpamPool\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(test.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var testVpcIpamPoolCidr = new VpcIpamPoolCidr(\"testVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(testVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var testVpc = new Vpc(\"testVpc\", VpcArgs.builder()\n .ipv4IpamPoolId(testVpcIpamPool.id())\n .ipv4NetmaskLength(28)\n .build(), CustomResourceOptions.builder()\n .dependsOn(testVpcIpamPoolCidr)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n testVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: test\n properties:\n addressFamily: ipv4\n ipamScopeId: ${test.privateDefaultScopeId}\n locale: ${current.name}\n testVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: test\n properties:\n ipamPoolId: ${testVpcIpamPool.id}\n cidr: 172.20.0.0/16\n testVpc:\n type: aws:ec2:Vpc\n name: test\n properties:\n ipv4IpamPoolId: ${testVpcIpamPool.id}\n ipv4NetmaskLength: 28\n options:\n dependson:\n - ${testVpcIpamPoolCidr}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPCs using the VPC `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpc:Vpc test_vpc vpc-a01106c2\n```\n", "properties": { "arn": { "type": "string", @@ -246270,7 +246270,7 @@ } }, "aws:ec2/vpcEndpoint:VpcEndpoint": { - "description": "Provides a VPC Endpoint resource.\n\n\u003e **NOTE on VPC Endpoints and VPC Endpoint Associations:** The provider provides both standalone VPC Endpoint Associations for\nRoute Tables - (an association between a VPC endpoint and a single `route_table_id`),\nSecurity Groups - (an association between a VPC endpoint and a single `security_group_id`),\nand Subnets - (an association between a VPC endpoint and a single `subnet_id`) and\na VPC Endpoint resource with `route_table_ids` and `subnet_ids` attributes.\nDo not use the same resource ID in both a VPC Endpoint resource and a VPC Endpoint Association resource.\nDoing so will cause a conflict of associations and will overwrite the association.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = new aws.ec2.VpcEndpoint(\"s3\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.ec2.VpcEndpoint(\"s3\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = new Aws.Ec2.VpcEndpoint(\"s3\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewVpcEndpoint(ctx, \"s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var s3 = new VpcEndpoint(\"s3\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic w/ Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = new aws.ec2.VpcEndpoint(\"s3\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.ec2.VpcEndpoint(\"s3\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\",\n tags={\n \"Environment\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = new Aws.Ec2.VpcEndpoint(\"s3\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n Tags = \n {\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewVpcEndpoint(ctx, \"s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var s3 = new VpcEndpoint(\"s3\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.s3\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Interface Endpoint Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2 = new aws.ec2.VpcEndpoint(\"ec2\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.ec2\",\n vpcEndpointType: \"Interface\",\n securityGroupIds: [sg1.id],\n privateDnsEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2 = aws.ec2.VpcEndpoint(\"ec2\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.ec2\",\n vpc_endpoint_type=\"Interface\",\n security_group_ids=[sg1[\"id\"]],\n private_dns_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ec2 = new Aws.Ec2.VpcEndpoint(\"ec2\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.ec2\",\n VpcEndpointType = \"Interface\",\n SecurityGroupIds = new[]\n {\n sg1.Id,\n },\n PrivateDnsEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewVpcEndpoint(ctx, \"ec2\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.ec2\"),\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tsg1.Id,\n\t\t\t},\n\t\t\tPrivateDnsEnabled: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ec2 = new VpcEndpoint(\"ec2\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.ec2\")\n .vpcEndpointType(\"Interface\")\n .securityGroupIds(sg1.id())\n .privateDnsEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ec2:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.ec2\n vpcEndpointType: Interface\n securityGroupIds:\n - ${sg1.id}\n privateDnsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Interface Endpoint Type with User-Defined IP Address\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2 = new aws.ec2.VpcEndpoint(\"ec2\", {\n vpcId: example.id,\n serviceName: \"com.amazonaws.us-west-2.ec2\",\n vpcEndpointType: \"Interface\",\n subnetConfigurations: [\n {\n ipv4: \"10.0.1.10\",\n subnetId: example1.id,\n },\n {\n ipv4: \"10.0.2.10\",\n subnetId: example2.id,\n },\n ],\n subnetIds: [\n example1.id,\n example2.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2 = aws.ec2.VpcEndpoint(\"ec2\",\n vpc_id=example[\"id\"],\n service_name=\"com.amazonaws.us-west-2.ec2\",\n vpc_endpoint_type=\"Interface\",\n subnet_configurations=[\n {\n \"ipv4\": \"10.0.1.10\",\n \"subnet_id\": example1[\"id\"],\n },\n {\n \"ipv4\": \"10.0.2.10\",\n \"subnet_id\": example2[\"id\"],\n },\n ],\n subnet_ids=[\n example1[\"id\"],\n example2[\"id\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ec2 = new Aws.Ec2.VpcEndpoint(\"ec2\", new()\n {\n VpcId = example.Id,\n ServiceName = \"com.amazonaws.us-west-2.ec2\",\n VpcEndpointType = \"Interface\",\n SubnetConfigurations = new[]\n {\n new Aws.Ec2.Inputs.VpcEndpointSubnetConfigurationArgs\n {\n Ipv4 = \"10.0.1.10\",\n SubnetId = example1.Id,\n },\n new Aws.Ec2.Inputs.VpcEndpointSubnetConfigurationArgs\n {\n Ipv4 = \"10.0.2.10\",\n SubnetId = example2.Id,\n },\n },\n SubnetIds = new[]\n {\n example1.Id,\n example2.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewVpcEndpoint(ctx, \"ec2\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(example.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.ec2\"),\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t\tSubnetConfigurations: ec2.VpcEndpointSubnetConfigurationArray{\n\t\t\t\t\u0026ec2.VpcEndpointSubnetConfigurationArgs{\n\t\t\t\t\tIpv4: pulumi.String(\"10.0.1.10\"),\n\t\t\t\t\tSubnetId: pulumi.Any(example1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.VpcEndpointSubnetConfigurationArgs{\n\t\t\t\t\tIpv4: pulumi.String(\"10.0.2.10\"),\n\t\t\t\t\tSubnetId: pulumi.Any(example2.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.Id,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.inputs.VpcEndpointSubnetConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ec2 = new VpcEndpoint(\"ec2\", VpcEndpointArgs.builder()\n .vpcId(example.id())\n .serviceName(\"com.amazonaws.us-west-2.ec2\")\n .vpcEndpointType(\"Interface\")\n .subnetConfigurations( \n VpcEndpointSubnetConfigurationArgs.builder()\n .ipv4(\"10.0.1.10\")\n .subnetId(example1.id())\n .build(),\n VpcEndpointSubnetConfigurationArgs.builder()\n .ipv4(\"10.0.2.10\")\n .subnetId(example2.id())\n .build())\n .subnetIds( \n example1.id(),\n example2.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ec2:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${example.id}\n serviceName: com.amazonaws.us-west-2.ec2\n vpcEndpointType: Interface\n subnetConfigurations:\n - ipv4: 10.0.1.10\n subnetId: ${example1.id}\n - ipv4: 10.0.2.10\n subnetId: ${example2.id}\n subnetIds:\n - ${example1.id}\n - ${example2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Gateway Load Balancer Endpoint Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.ec2.VpcEndpointService(\"example\", {\n acceptanceRequired: false,\n allowedPrincipals: [current.then(current =\u003e current.arn)],\n gatewayLoadBalancerArns: [exampleAwsLb.arn],\n});\nconst exampleVpcEndpoint = new aws.ec2.VpcEndpoint(\"example\", {\n serviceName: example.serviceName,\n subnetIds: [exampleAwsSubnet.id],\n vpcEndpointType: example.serviceType,\n vpcId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.ec2.VpcEndpointService(\"example\",\n acceptance_required=False,\n allowed_principals=[current.arn],\n gateway_load_balancer_arns=[example_aws_lb[\"arn\"]])\nexample_vpc_endpoint = aws.ec2.VpcEndpoint(\"example\",\n service_name=example.service_name,\n subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_endpoint_type=example.service_type,\n vpc_id=example_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.VpcEndpointService(\"example\", new()\n {\n AcceptanceRequired = false,\n AllowedPrincipals = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n },\n GatewayLoadBalancerArns = new[]\n {\n exampleAwsLb.Arn,\n },\n });\n\n var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint(\"example\", new()\n {\n ServiceName = example.ServiceName,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcEndpointType = example.ServiceType,\n VpcId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcEndpointService(ctx, \"example\", \u0026ec2.VpcEndpointServiceArgs{\n\t\t\tAcceptanceRequired: pulumi.Bool(false),\n\t\t\tAllowedPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.Arn),\n\t\t\t},\n\t\t\tGatewayLoadBalancerArns: pulumi.StringArray{\n\t\t\t\texampleAwsLb.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpoint(ctx, \"example\", \u0026ec2.VpcEndpointArgs{\n\t\t\tServiceName: example.ServiceName,\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tVpcEndpointType: example.ServiceType,\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcEndpointService;\nimport com.pulumi.aws.ec2.VpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new VpcEndpointService(\"example\", VpcEndpointServiceArgs.builder()\n .acceptanceRequired(false)\n .allowedPrincipals(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .gatewayLoadBalancerArns(exampleAwsLb.arn())\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceName(example.serviceName())\n .subnetIds(exampleAwsSubnet.id())\n .vpcEndpointType(example.serviceType())\n .vpcId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcEndpointService\n properties:\n acceptanceRequired: false\n allowedPrincipals:\n - ${current.arn}\n gatewayLoadBalancerArns:\n - ${exampleAwsLb.arn}\n exampleVpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: example\n properties:\n serviceName: ${example.serviceName}\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcEndpointType: ${example.serviceType}\n vpcId: ${exampleAwsVpc.id}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoints using the VPC endpoint `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpoint:VpcEndpoint endpoint1 vpce-3ecf2a57\n```\n", + "description": "Provides a VPC Endpoint resource.\n\n\u003e **NOTE on VPC Endpoints and VPC Endpoint Associations:** The provider provides both standalone VPC Endpoint Associations for\nRoute Tables - (an association between a VPC endpoint and a single `route_table_id`),\nSecurity Groups - (an association between a VPC endpoint and a single `security_group_id`),\nand Subnets - (an association between a VPC endpoint and a single `subnet_id`) and\na VPC Endpoint resource with `route_table_ids` and `subnet_ids` attributes.\nDo not use the same resource ID in both a VPC Endpoint resource and a VPC Endpoint Association resource.\nDoing so will cause a conflict of associations and will overwrite the association.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = new aws.ec2.VpcEndpoint(\"s3\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.ec2.VpcEndpoint(\"s3\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = new Aws.Ec2.VpcEndpoint(\"s3\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewVpcEndpoint(ctx, \"s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var s3 = new VpcEndpoint(\"s3\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic w/ Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = new aws.ec2.VpcEndpoint(\"s3\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.ec2.VpcEndpoint(\"s3\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\",\n tags={\n \"Environment\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = new Aws.Ec2.VpcEndpoint(\"s3\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n Tags = \n {\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewVpcEndpoint(ctx, \"s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var s3 = new VpcEndpoint(\"s3\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.s3\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Interface Endpoint Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2 = new aws.ec2.VpcEndpoint(\"ec2\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.ec2\",\n vpcEndpointType: \"Interface\",\n securityGroupIds: [sg1.id],\n privateDnsEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2 = aws.ec2.VpcEndpoint(\"ec2\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.ec2\",\n vpc_endpoint_type=\"Interface\",\n security_group_ids=[sg1[\"id\"]],\n private_dns_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ec2 = new Aws.Ec2.VpcEndpoint(\"ec2\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.ec2\",\n VpcEndpointType = \"Interface\",\n SecurityGroupIds = new[]\n {\n sg1.Id,\n },\n PrivateDnsEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewVpcEndpoint(ctx, \"ec2\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.ec2\"),\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tsg1.Id,\n\t\t\t},\n\t\t\tPrivateDnsEnabled: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ec2 = new VpcEndpoint(\"ec2\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.ec2\")\n .vpcEndpointType(\"Interface\")\n .securityGroupIds(sg1.id())\n .privateDnsEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ec2:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.ec2\n vpcEndpointType: Interface\n securityGroupIds:\n - ${sg1.id}\n privateDnsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Interface Endpoint Type with User-Defined IP Address\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2 = new aws.ec2.VpcEndpoint(\"ec2\", {\n vpcId: example.id,\n serviceName: \"com.amazonaws.us-west-2.ec2\",\n vpcEndpointType: \"Interface\",\n subnetConfigurations: [\n {\n ipv4: \"10.0.1.10\",\n subnetId: example1.id,\n },\n {\n ipv4: \"10.0.2.10\",\n subnetId: example2.id,\n },\n ],\n subnetIds: [\n example1.id,\n example2.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2 = aws.ec2.VpcEndpoint(\"ec2\",\n vpc_id=example[\"id\"],\n service_name=\"com.amazonaws.us-west-2.ec2\",\n vpc_endpoint_type=\"Interface\",\n subnet_configurations=[\n {\n \"ipv4\": \"10.0.1.10\",\n \"subnet_id\": example1[\"id\"],\n },\n {\n \"ipv4\": \"10.0.2.10\",\n \"subnet_id\": example2[\"id\"],\n },\n ],\n subnet_ids=[\n example1[\"id\"],\n example2[\"id\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ec2 = new Aws.Ec2.VpcEndpoint(\"ec2\", new()\n {\n VpcId = example.Id,\n ServiceName = \"com.amazonaws.us-west-2.ec2\",\n VpcEndpointType = \"Interface\",\n SubnetConfigurations = new[]\n {\n new Aws.Ec2.Inputs.VpcEndpointSubnetConfigurationArgs\n {\n Ipv4 = \"10.0.1.10\",\n SubnetId = example1.Id,\n },\n new Aws.Ec2.Inputs.VpcEndpointSubnetConfigurationArgs\n {\n Ipv4 = \"10.0.2.10\",\n SubnetId = example2.Id,\n },\n },\n SubnetIds = new[]\n {\n example1.Id,\n example2.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.NewVpcEndpoint(ctx, \"ec2\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(example.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.ec2\"),\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t\tSubnetConfigurations: ec2.VpcEndpointSubnetConfigurationArray{\n\t\t\t\t\u0026ec2.VpcEndpointSubnetConfigurationArgs{\n\t\t\t\t\tIpv4: pulumi.String(\"10.0.1.10\"),\n\t\t\t\t\tSubnetId: pulumi.Any(example1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.VpcEndpointSubnetConfigurationArgs{\n\t\t\t\t\tIpv4: pulumi.String(\"10.0.2.10\"),\n\t\t\t\t\tSubnetId: pulumi.Any(example2.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.Id,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.inputs.VpcEndpointSubnetConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ec2 = new VpcEndpoint(\"ec2\", VpcEndpointArgs.builder()\n .vpcId(example.id())\n .serviceName(\"com.amazonaws.us-west-2.ec2\")\n .vpcEndpointType(\"Interface\")\n .subnetConfigurations( \n VpcEndpointSubnetConfigurationArgs.builder()\n .ipv4(\"10.0.1.10\")\n .subnetId(example1.id())\n .build(),\n VpcEndpointSubnetConfigurationArgs.builder()\n .ipv4(\"10.0.2.10\")\n .subnetId(example2.id())\n .build())\n .subnetIds( \n example1.id(),\n example2.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ec2:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${example.id}\n serviceName: com.amazonaws.us-west-2.ec2\n vpcEndpointType: Interface\n subnetConfigurations:\n - ipv4: 10.0.1.10\n subnetId: ${example1.id}\n - ipv4: 10.0.2.10\n subnetId: ${example2.id}\n subnetIds:\n - ${example1.id}\n - ${example2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Gateway Load Balancer Endpoint Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.ec2.VpcEndpointService(\"example\", {\n acceptanceRequired: false,\n allowedPrincipals: [current.then(current =\u003e current.arn)],\n gatewayLoadBalancerArns: [exampleAwsLb.arn],\n});\nconst exampleVpcEndpoint = new aws.ec2.VpcEndpoint(\"example\", {\n serviceName: example.serviceName,\n subnetIds: [exampleAwsSubnet.id],\n vpcEndpointType: example.serviceType,\n vpcId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.ec2.VpcEndpointService(\"example\",\n acceptance_required=False,\n allowed_principals=[current.arn],\n gateway_load_balancer_arns=[example_aws_lb[\"arn\"]])\nexample_vpc_endpoint = aws.ec2.VpcEndpoint(\"example\",\n service_name=example.service_name,\n subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_endpoint_type=example.service_type,\n vpc_id=example_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.VpcEndpointService(\"example\", new()\n {\n AcceptanceRequired = false,\n AllowedPrincipals = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n },\n GatewayLoadBalancerArns = new[]\n {\n exampleAwsLb.Arn,\n },\n });\n\n var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint(\"example\", new()\n {\n ServiceName = example.ServiceName,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcEndpointType = example.ServiceType,\n VpcId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcEndpointService(ctx, \"example\", \u0026ec2.VpcEndpointServiceArgs{\n\t\t\tAcceptanceRequired: pulumi.Bool(false),\n\t\t\tAllowedPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.Arn),\n\t\t\t},\n\t\t\tGatewayLoadBalancerArns: pulumi.StringArray{\n\t\t\t\texampleAwsLb.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpoint(ctx, \"example\", \u0026ec2.VpcEndpointArgs{\n\t\t\tServiceName: example.ServiceName,\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tVpcEndpointType: example.ServiceType,\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcEndpointService;\nimport com.pulumi.aws.ec2.VpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new VpcEndpointService(\"example\", VpcEndpointServiceArgs.builder()\n .acceptanceRequired(false)\n .allowedPrincipals(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .gatewayLoadBalancerArns(exampleAwsLb.arn())\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceName(example.serviceName())\n .subnetIds(exampleAwsSubnet.id())\n .vpcEndpointType(example.serviceType())\n .vpcId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcEndpointService\n properties:\n acceptanceRequired: false\n allowedPrincipals:\n - ${current.arn}\n gatewayLoadBalancerArns:\n - ${exampleAwsLb.arn}\n exampleVpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: example\n properties:\n serviceName: ${example.serviceName}\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcEndpointType: ${example.serviceType}\n vpcId: ${exampleAwsVpc.id}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoints using the VPC endpoint `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpoint:VpcEndpoint endpoint1 vpce-3ecf2a57\n```\n", "properties": { "arn": { "type": "string", @@ -246671,7 +246671,7 @@ } }, "aws:ec2/vpcEndpointConnectionNotification:VpcEndpointConnectionNotification": { - "description": "Provides a VPC Endpoint connection notification resource.\nConnection notifications notify subscribers of VPC Endpoint events.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst topic = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"vpce.amazonaws.com\"],\n }],\n actions: [\"SNS:Publish\"],\n resources: [\"arn:aws:sns:*:*:vpce-notification-topic\"],\n }],\n});\nconst topicTopic = new aws.sns.Topic(\"topic\", {\n name: \"vpce-notification-topic\",\n policy: topic.then(topic =\u003e topic.json),\n});\nconst foo = new aws.ec2.VpcEndpointService(\"foo\", {\n acceptanceRequired: false,\n networkLoadBalancerArns: [test.arn],\n});\nconst fooVpcEndpointConnectionNotification = new aws.ec2.VpcEndpointConnectionNotification(\"foo\", {\n vpcEndpointServiceId: foo.id,\n connectionNotificationArn: topicTopic.arn,\n connectionEvents: [\n \"Accept\",\n \"Reject\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntopic = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"vpce.amazonaws.com\"],\n }],\n \"actions\": [\"SNS:Publish\"],\n \"resources\": [\"arn:aws:sns:*:*:vpce-notification-topic\"],\n}])\ntopic_topic = aws.sns.Topic(\"topic\",\n name=\"vpce-notification-topic\",\n policy=topic.json)\nfoo = aws.ec2.VpcEndpointService(\"foo\",\n acceptance_required=False,\n network_load_balancer_arns=[test[\"arn\"]])\nfoo_vpc_endpoint_connection_notification = aws.ec2.VpcEndpointConnectionNotification(\"foo\",\n vpc_endpoint_service_id=foo.id,\n connection_notification_arn=topic_topic.arn,\n connection_events=[\n \"Accept\",\n \"Reject\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var topic = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"vpce.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Resources = new[]\n {\n \"arn:aws:sns:*:*:vpce-notification-topic\",\n },\n },\n },\n });\n\n var topicTopic = new Aws.Sns.Topic(\"topic\", new()\n {\n Name = \"vpce-notification-topic\",\n Policy = topic.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = new Aws.Ec2.VpcEndpointService(\"foo\", new()\n {\n AcceptanceRequired = false,\n NetworkLoadBalancerArns = new[]\n {\n test.Arn,\n },\n });\n\n var fooVpcEndpointConnectionNotification = new Aws.Ec2.VpcEndpointConnectionNotification(\"foo\", new()\n {\n VpcEndpointServiceId = foo.Id,\n ConnectionNotificationArn = topicTopic.Arn,\n ConnectionEvents = new[]\n {\n \"Accept\",\n \"Reject\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttopic, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"vpce.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"SNS:Publish\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:sns:*:*:vpce-notification-topic\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttopicTopic, err := sns.NewTopic(ctx, \"topic\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"vpce-notification-topic\"),\n\t\t\tPolicy: pulumi.String(topic.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewVpcEndpointService(ctx, \"foo\", \u0026ec2.VpcEndpointServiceArgs{\n\t\t\tAcceptanceRequired: pulumi.Bool(false),\n\t\t\tNetworkLoadBalancerArns: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpointConnectionNotification(ctx, \"foo\", \u0026ec2.VpcEndpointConnectionNotificationArgs{\n\t\t\tVpcEndpointServiceId: foo.ID(),\n\t\t\tConnectionNotificationArn: topicTopic.Arn,\n\t\t\tConnectionEvents: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Accept\"),\n\t\t\t\tpulumi.String(\"Reject\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.ec2.VpcEndpointService;\nimport com.pulumi.aws.ec2.VpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.VpcEndpointConnectionNotification;\nimport com.pulumi.aws.ec2.VpcEndpointConnectionNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var topic = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"vpce.amazonaws.com\")\n .build())\n .actions(\"SNS:Publish\")\n .resources(\"arn:aws:sns:*:*:vpce-notification-topic\")\n .build())\n .build());\n\n var topicTopic = new Topic(\"topicTopic\", TopicArgs.builder()\n .name(\"vpce-notification-topic\")\n .policy(topic.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var foo = new VpcEndpointService(\"foo\", VpcEndpointServiceArgs.builder()\n .acceptanceRequired(false)\n .networkLoadBalancerArns(test.arn())\n .build());\n\n var fooVpcEndpointConnectionNotification = new VpcEndpointConnectionNotification(\"fooVpcEndpointConnectionNotification\", VpcEndpointConnectionNotificationArgs.builder()\n .vpcEndpointServiceId(foo.id())\n .connectionNotificationArn(topicTopic.arn())\n .connectionEvents( \n \"Accept\",\n \"Reject\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n topicTopic:\n type: aws:sns:Topic\n name: topic\n properties:\n name: vpce-notification-topic\n policy: ${topic.json}\n foo:\n type: aws:ec2:VpcEndpointService\n properties:\n acceptanceRequired: false\n networkLoadBalancerArns:\n - ${test.arn}\n fooVpcEndpointConnectionNotification:\n type: aws:ec2:VpcEndpointConnectionNotification\n name: foo\n properties:\n vpcEndpointServiceId: ${foo.id}\n connectionNotificationArn: ${topicTopic.arn}\n connectionEvents:\n - Accept\n - Reject\nvariables:\n topic:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - vpce.amazonaws.com\n actions:\n - SNS:Publish\n resources:\n - arn:aws:sns:*:*:vpce-notification-topic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoint connection notifications using the VPC endpoint connection notification `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpointConnectionNotification:VpcEndpointConnectionNotification foo vpce-nfn-09e6ed3b4efba2263\n```\n", + "description": "Provides a VPC Endpoint connection notification resource.\nConnection notifications notify subscribers of VPC Endpoint events.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst topic = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"vpce.amazonaws.com\"],\n }],\n actions: [\"SNS:Publish\"],\n resources: [\"arn:aws:sns:*:*:vpce-notification-topic\"],\n }],\n});\nconst topicTopic = new aws.sns.Topic(\"topic\", {\n name: \"vpce-notification-topic\",\n policy: topic.then(topic =\u003e topic.json),\n});\nconst foo = new aws.ec2.VpcEndpointService(\"foo\", {\n acceptanceRequired: false,\n networkLoadBalancerArns: [test.arn],\n});\nconst fooVpcEndpointConnectionNotification = new aws.ec2.VpcEndpointConnectionNotification(\"foo\", {\n vpcEndpointServiceId: foo.id,\n connectionNotificationArn: topicTopic.arn,\n connectionEvents: [\n \"Accept\",\n \"Reject\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntopic = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"vpce.amazonaws.com\"],\n }],\n \"actions\": [\"SNS:Publish\"],\n \"resources\": [\"arn:aws:sns:*:*:vpce-notification-topic\"],\n}])\ntopic_topic = aws.sns.Topic(\"topic\",\n name=\"vpce-notification-topic\",\n policy=topic.json)\nfoo = aws.ec2.VpcEndpointService(\"foo\",\n acceptance_required=False,\n network_load_balancer_arns=[test[\"arn\"]])\nfoo_vpc_endpoint_connection_notification = aws.ec2.VpcEndpointConnectionNotification(\"foo\",\n vpc_endpoint_service_id=foo.id,\n connection_notification_arn=topic_topic.arn,\n connection_events=[\n \"Accept\",\n \"Reject\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var topic = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"vpce.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Resources = new[]\n {\n \"arn:aws:sns:*:*:vpce-notification-topic\",\n },\n },\n },\n });\n\n var topicTopic = new Aws.Sns.Topic(\"topic\", new()\n {\n Name = \"vpce-notification-topic\",\n Policy = topic.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = new Aws.Ec2.VpcEndpointService(\"foo\", new()\n {\n AcceptanceRequired = false,\n NetworkLoadBalancerArns = new[]\n {\n test.Arn,\n },\n });\n\n var fooVpcEndpointConnectionNotification = new Aws.Ec2.VpcEndpointConnectionNotification(\"foo\", new()\n {\n VpcEndpointServiceId = foo.Id,\n ConnectionNotificationArn = topicTopic.Arn,\n ConnectionEvents = new[]\n {\n \"Accept\",\n \"Reject\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttopic, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"vpce.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"SNS:Publish\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:sns:*:*:vpce-notification-topic\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttopicTopic, err := sns.NewTopic(ctx, \"topic\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"vpce-notification-topic\"),\n\t\t\tPolicy: pulumi.String(topic.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewVpcEndpointService(ctx, \"foo\", \u0026ec2.VpcEndpointServiceArgs{\n\t\t\tAcceptanceRequired: pulumi.Bool(false),\n\t\t\tNetworkLoadBalancerArns: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpointConnectionNotification(ctx, \"foo\", \u0026ec2.VpcEndpointConnectionNotificationArgs{\n\t\t\tVpcEndpointServiceId: foo.ID(),\n\t\t\tConnectionNotificationArn: topicTopic.Arn,\n\t\t\tConnectionEvents: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Accept\"),\n\t\t\t\tpulumi.String(\"Reject\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.ec2.VpcEndpointService;\nimport com.pulumi.aws.ec2.VpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.VpcEndpointConnectionNotification;\nimport com.pulumi.aws.ec2.VpcEndpointConnectionNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var topic = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"vpce.amazonaws.com\")\n .build())\n .actions(\"SNS:Publish\")\n .resources(\"arn:aws:sns:*:*:vpce-notification-topic\")\n .build())\n .build());\n\n var topicTopic = new Topic(\"topicTopic\", TopicArgs.builder()\n .name(\"vpce-notification-topic\")\n .policy(topic.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var foo = new VpcEndpointService(\"foo\", VpcEndpointServiceArgs.builder()\n .acceptanceRequired(false)\n .networkLoadBalancerArns(test.arn())\n .build());\n\n var fooVpcEndpointConnectionNotification = new VpcEndpointConnectionNotification(\"fooVpcEndpointConnectionNotification\", VpcEndpointConnectionNotificationArgs.builder()\n .vpcEndpointServiceId(foo.id())\n .connectionNotificationArn(topicTopic.arn())\n .connectionEvents( \n \"Accept\",\n \"Reject\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n topicTopic:\n type: aws:sns:Topic\n name: topic\n properties:\n name: vpce-notification-topic\n policy: ${topic.json}\n foo:\n type: aws:ec2:VpcEndpointService\n properties:\n acceptanceRequired: false\n networkLoadBalancerArns:\n - ${test.arn}\n fooVpcEndpointConnectionNotification:\n type: aws:ec2:VpcEndpointConnectionNotification\n name: foo\n properties:\n vpcEndpointServiceId: ${foo.id}\n connectionNotificationArn: ${topicTopic.arn}\n connectionEvents:\n - Accept\n - Reject\nvariables:\n topic:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - vpce.amazonaws.com\n actions:\n - SNS:Publish\n resources:\n - arn:aws:sns:*:*:vpce-notification-topic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoint connection notifications using the VPC endpoint connection notification `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpointConnectionNotification:VpcEndpointConnectionNotification foo vpce-nfn-09e6ed3b4efba2263\n```\n", "properties": { "connectionEvents": { "type": "array", @@ -246771,7 +246771,7 @@ } }, "aws:ec2/vpcEndpointPolicy:VpcEndpointPolicy": { - "description": "Provides a VPC Endpoint Policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getVpcEndpointService({\n service: \"dynamodb\",\n});\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleVpcEndpoint = new aws.ec2.VpcEndpoint(\"example\", {\n serviceName: example.then(example =\u003e example.serviceName),\n vpcId: exampleVpc.id,\n});\nconst exampleVpcEndpointPolicy = new aws.ec2.VpcEndpointPolicy(\"example\", {\n vpcEndpointId: exampleVpcEndpoint.id,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"AllowAll\",\n Effect: \"Allow\",\n Principal: {\n AWS: \"*\",\n },\n Action: [\"dynamodb:*\"],\n Resource: \"*\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_vpc_endpoint_service(service=\"dynamodb\")\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_vpc_endpoint = aws.ec2.VpcEndpoint(\"example\",\n service_name=example.service_name,\n vpc_id=example_vpc.id)\nexample_vpc_endpoint_policy = aws.ec2.VpcEndpointPolicy(\"example\",\n vpc_endpoint_id=example_vpc_endpoint.id,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"AllowAll\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"*\",\n },\n \"Action\": [\"dynamodb:*\"],\n \"Resource\": \"*\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetVpcEndpointService.Invoke(new()\n {\n Service = \"dynamodb\",\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint(\"example\", new()\n {\n ServiceName = example.Apply(getVpcEndpointServiceResult =\u003e getVpcEndpointServiceResult.ServiceName),\n VpcId = exampleVpc.Id,\n });\n\n var exampleVpcEndpointPolicy = new Aws.Ec2.VpcEndpointPolicy(\"example\", new()\n {\n VpcEndpointId = exampleVpcEndpoint.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"AllowAll\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"*\",\n },\n [\"Action\"] = new[]\n {\n \"dynamodb:*\",\n },\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tService: pulumi.StringRef(\"dynamodb\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpoint, err := ec2.NewVpcEndpoint(ctx, \"example\", \u0026ec2.VpcEndpointArgs{\n\t\t\tServiceName: pulumi.String(example.ServiceName),\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"AllowAll\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"dynamodb:*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = ec2.NewVpcEndpointPolicy(ctx, \"example\", \u0026ec2.VpcEndpointPolicyArgs{\n\t\t\tVpcEndpointId: exampleVpcEndpoint.ID(),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.VpcEndpointPolicy;\nimport com.pulumi.aws.ec2.VpcEndpointPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()\n .service(\"dynamodb\")\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceName(example.applyValue(getVpcEndpointServiceResult -\u003e getVpcEndpointServiceResult.serviceName()))\n .vpcId(exampleVpc.id())\n .build());\n\n var exampleVpcEndpointPolicy = new VpcEndpointPolicy(\"exampleVpcEndpointPolicy\", VpcEndpointPolicyArgs.builder()\n .vpcEndpointId(exampleVpcEndpoint.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"AllowAll\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"*\")\n )),\n jsonProperty(\"Action\", jsonArray(\"dynamodb:*\")),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.0.0.0/16\n exampleVpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: example\n properties:\n serviceName: ${example.serviceName}\n vpcId: ${exampleVpc.id}\n exampleVpcEndpointPolicy:\n type: aws:ec2:VpcEndpointPolicy\n name: example\n properties:\n vpcEndpointId: ${exampleVpcEndpoint.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: AllowAll\n Effect: Allow\n Principal:\n AWS: '*'\n Action:\n - dynamodb:*\n Resource: '*'\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getVpcEndpointService\n arguments:\n service: dynamodb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoint Policies using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpointPolicy:VpcEndpointPolicy example vpce-3ecf2a57\n```\n", + "description": "Provides a VPC Endpoint Policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getVpcEndpointService({\n service: \"dynamodb\",\n});\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleVpcEndpoint = new aws.ec2.VpcEndpoint(\"example\", {\n serviceName: example.then(example =\u003e example.serviceName),\n vpcId: exampleVpc.id,\n});\nconst exampleVpcEndpointPolicy = new aws.ec2.VpcEndpointPolicy(\"example\", {\n vpcEndpointId: exampleVpcEndpoint.id,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"AllowAll\",\n Effect: \"Allow\",\n Principal: {\n AWS: \"*\",\n },\n Action: [\"dynamodb:*\"],\n Resource: \"*\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_vpc_endpoint_service(service=\"dynamodb\")\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_vpc_endpoint = aws.ec2.VpcEndpoint(\"example\",\n service_name=example.service_name,\n vpc_id=example_vpc.id)\nexample_vpc_endpoint_policy = aws.ec2.VpcEndpointPolicy(\"example\",\n vpc_endpoint_id=example_vpc_endpoint.id,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"AllowAll\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"*\",\n },\n \"Action\": [\"dynamodb:*\"],\n \"Resource\": \"*\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetVpcEndpointService.Invoke(new()\n {\n Service = \"dynamodb\",\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint(\"example\", new()\n {\n ServiceName = example.Apply(getVpcEndpointServiceResult =\u003e getVpcEndpointServiceResult.ServiceName),\n VpcId = exampleVpc.Id,\n });\n\n var exampleVpcEndpointPolicy = new Aws.Ec2.VpcEndpointPolicy(\"example\", new()\n {\n VpcEndpointId = exampleVpcEndpoint.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"AllowAll\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"*\",\n },\n [\"Action\"] = new[]\n {\n \"dynamodb:*\",\n },\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tService: pulumi.StringRef(\"dynamodb\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpoint, err := ec2.NewVpcEndpoint(ctx, \"example\", \u0026ec2.VpcEndpointArgs{\n\t\t\tServiceName: pulumi.String(example.ServiceName),\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"AllowAll\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"dynamodb:*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = ec2.NewVpcEndpointPolicy(ctx, \"example\", \u0026ec2.VpcEndpointPolicyArgs{\n\t\t\tVpcEndpointId: exampleVpcEndpoint.ID(),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.VpcEndpointPolicy;\nimport com.pulumi.aws.ec2.VpcEndpointPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()\n .service(\"dynamodb\")\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceName(example.applyValue(getVpcEndpointServiceResult -\u003e getVpcEndpointServiceResult.serviceName()))\n .vpcId(exampleVpc.id())\n .build());\n\n var exampleVpcEndpointPolicy = new VpcEndpointPolicy(\"exampleVpcEndpointPolicy\", VpcEndpointPolicyArgs.builder()\n .vpcEndpointId(exampleVpcEndpoint.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"AllowAll\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"*\")\n )),\n jsonProperty(\"Action\", jsonArray(\"dynamodb:*\")),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.0.0.0/16\n exampleVpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: example\n properties:\n serviceName: ${example.serviceName}\n vpcId: ${exampleVpc.id}\n exampleVpcEndpointPolicy:\n type: aws:ec2:VpcEndpointPolicy\n name: example\n properties:\n vpcEndpointId: ${exampleVpcEndpoint.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: AllowAll\n Effect: Allow\n Principal:\n AWS: '*'\n Action:\n - dynamodb:*\n Resource: '*'\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getVpcEndpointService\n Arguments:\n service: dynamodb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoint Policies using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpointPolicy:VpcEndpointPolicy example vpce-3ecf2a57\n```\n", "properties": { "policy": { "type": "string", @@ -247146,7 +247146,7 @@ } }, "aws:ec2/vpcEndpointServiceAllowedPrinciple:VpcEndpointServiceAllowedPrinciple": { - "description": "Provides a resource to allow a principal to discover a VPC endpoint service.\n\n\u003e **NOTE on VPC Endpoint Services and VPC Endpoint Service Allowed Principals:** This provider provides\nboth a standalone VPC Endpoint Service Allowed Principal resource\nand a VPC Endpoint Service resource with an `allowed_principals` attribute. Do not use the same principal ARN in both\na VPC Endpoint Service resource and a VPC Endpoint Service Allowed Principal resource. Doing so will cause a conflict\nand will overwrite the association.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst allowMeToFoo = new aws.ec2.VpcEndpointServiceAllowedPrinciple(\"allow_me_to_foo\", {\n vpcEndpointServiceId: foo.id,\n principalArn: current.then(current =\u003e current.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nallow_me_to_foo = aws.ec2.VpcEndpointServiceAllowedPrinciple(\"allow_me_to_foo\",\n vpc_endpoint_service_id=foo[\"id\"],\n principal_arn=current.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var allowMeToFoo = new Aws.Ec2.VpcEndpointServiceAllowedPrinciple(\"allow_me_to_foo\", new()\n {\n VpcEndpointServiceId = foo.Id,\n PrincipalArn = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpointServiceAllowedPrinciple(ctx, \"allow_me_to_foo\", \u0026ec2.VpcEndpointServiceAllowedPrincipleArgs{\n\t\t\tVpcEndpointServiceId: pulumi.Any(foo.Id),\n\t\t\tPrincipalArn: pulumi.String(current.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcEndpointServiceAllowedPrinciple;\nimport com.pulumi.aws.ec2.VpcEndpointServiceAllowedPrincipleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var allowMeToFoo = new VpcEndpointServiceAllowedPrinciple(\"allowMeToFoo\", VpcEndpointServiceAllowedPrincipleArgs.builder()\n .vpcEndpointServiceId(foo.id())\n .principalArn(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n allowMeToFoo:\n type: aws:ec2:VpcEndpointServiceAllowedPrinciple\n name: allow_me_to_foo\n properties:\n vpcEndpointServiceId: ${foo.id}\n principalArn: ${current.arn}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource to allow a principal to discover a VPC endpoint service.\n\n\u003e **NOTE on VPC Endpoint Services and VPC Endpoint Service Allowed Principals:** This provider provides\nboth a standalone VPC Endpoint Service Allowed Principal resource\nand a VPC Endpoint Service resource with an `allowed_principals` attribute. Do not use the same principal ARN in both\na VPC Endpoint Service resource and a VPC Endpoint Service Allowed Principal resource. Doing so will cause a conflict\nand will overwrite the association.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst allowMeToFoo = new aws.ec2.VpcEndpointServiceAllowedPrinciple(\"allow_me_to_foo\", {\n vpcEndpointServiceId: foo.id,\n principalArn: current.then(current =\u003e current.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nallow_me_to_foo = aws.ec2.VpcEndpointServiceAllowedPrinciple(\"allow_me_to_foo\",\n vpc_endpoint_service_id=foo[\"id\"],\n principal_arn=current.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var allowMeToFoo = new Aws.Ec2.VpcEndpointServiceAllowedPrinciple(\"allow_me_to_foo\", new()\n {\n VpcEndpointServiceId = foo.Id,\n PrincipalArn = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpointServiceAllowedPrinciple(ctx, \"allow_me_to_foo\", \u0026ec2.VpcEndpointServiceAllowedPrincipleArgs{\n\t\t\tVpcEndpointServiceId: pulumi.Any(foo.Id),\n\t\t\tPrincipalArn: pulumi.String(current.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcEndpointServiceAllowedPrinciple;\nimport com.pulumi.aws.ec2.VpcEndpointServiceAllowedPrincipleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var allowMeToFoo = new VpcEndpointServiceAllowedPrinciple(\"allowMeToFoo\", VpcEndpointServiceAllowedPrincipleArgs.builder()\n .vpcEndpointServiceId(foo.id())\n .principalArn(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n allowMeToFoo:\n type: aws:ec2:VpcEndpointServiceAllowedPrinciple\n name: allow_me_to_foo\n properties:\n vpcEndpointServiceId: ${foo.id}\n principalArn: ${current.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "principalArn": { "type": "string", @@ -247244,7 +247244,7 @@ } }, "aws:ec2/vpcIpam:VpcIpam": { - "description": "Provides an IPAM resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst main = new aws.ec2.VpcIpam(\"main\", {\n description: \"My IPAM\",\n operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n }],\n tags: {\n Test: \"Main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nmain = aws.ec2.VpcIpam(\"main\",\n description=\"My IPAM\",\n operating_regions=[{\n \"region_name\": current.name,\n }],\n tags={\n \"Test\": \"Main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var main = new Aws.Ec2.VpcIpam(\"main\", new()\n {\n Description = \"My IPAM\",\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n Tags = \n {\n { \"Test\", \"Main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpam(ctx, \"main\", \u0026ec2.VpcIpamArgs{\n\t\t\tDescription: pulumi.String(\"My IPAM\"),\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Test\": pulumi.String(\"Main\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var main = new VpcIpam(\"main\", VpcIpamArgs.builder()\n .description(\"My IPAM\")\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .tags(Map.of(\"Test\", \"Main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:VpcIpam\n properties:\n description: My IPAM\n operatingRegions:\n - regionName: ${current.name}\n tags:\n Test: Main\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nShared with multiple operating_regions:\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the IPAM `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpam:VpcIpam example ipam-0178368ad2146a492\n```\n", + "description": "Provides an IPAM resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst main = new aws.ec2.VpcIpam(\"main\", {\n description: \"My IPAM\",\n operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n }],\n tags: {\n Test: \"Main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nmain = aws.ec2.VpcIpam(\"main\",\n description=\"My IPAM\",\n operating_regions=[{\n \"region_name\": current.name,\n }],\n tags={\n \"Test\": \"Main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var main = new Aws.Ec2.VpcIpam(\"main\", new()\n {\n Description = \"My IPAM\",\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n Tags = \n {\n { \"Test\", \"Main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpam(ctx, \"main\", \u0026ec2.VpcIpamArgs{\n\t\t\tDescription: pulumi.String(\"My IPAM\"),\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Test\": pulumi.String(\"Main\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var main = new VpcIpam(\"main\", VpcIpamArgs.builder()\n .description(\"My IPAM\")\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .tags(Map.of(\"Test\", \"Main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:VpcIpam\n properties:\n description: My IPAM\n operatingRegions:\n - regionName: ${current.name}\n tags:\n Test: Main\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nShared with multiple operating_regions:\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the IPAM `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpam:VpcIpam example ipam-0178368ad2146a492\n```\n", "properties": { "arn": { "type": "string", @@ -247424,7 +247424,7 @@ } }, "aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount": { - "description": "Enables the IPAM Service and promotes a delegated administrator.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst delegated = aws.getCallerIdentity({});\nconst example = new aws.ec2.VpcIpamOrganizationAdminAccount(\"example\", {delegatedAdminAccountId: delegated.then(delegated =\u003e delegated.accountId)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndelegated = aws.get_caller_identity()\nexample = aws.ec2.VpcIpamOrganizationAdminAccount(\"example\", delegated_admin_account_id=delegated.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var delegated = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.VpcIpamOrganizationAdminAccount(\"example\", new()\n {\n DelegatedAdminAccountId = delegated.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdelegated, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamOrganizationAdminAccount(ctx, \"example\", \u0026ec2.VpcIpamOrganizationAdminAccountArgs{\n\t\t\tDelegatedAdminAccountId: pulumi.String(delegated.AccountId),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcIpamOrganizationAdminAccount;\nimport com.pulumi.aws.ec2.VpcIpamOrganizationAdminAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var delegated = AwsFunctions.getCallerIdentity();\n\n var example = new VpcIpamOrganizationAdminAccount(\"example\", VpcIpamOrganizationAdminAccountArgs.builder()\n .delegatedAdminAccountId(delegated.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpamOrganizationAdminAccount\n properties:\n delegatedAdminAccountId: ${delegated.accountId}\nvariables:\n delegated:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the delegate account `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount example 12345678901\n```\n", + "description": "Enables the IPAM Service and promotes a delegated administrator.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst delegated = aws.getCallerIdentity({});\nconst example = new aws.ec2.VpcIpamOrganizationAdminAccount(\"example\", {delegatedAdminAccountId: delegated.then(delegated =\u003e delegated.accountId)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndelegated = aws.get_caller_identity()\nexample = aws.ec2.VpcIpamOrganizationAdminAccount(\"example\", delegated_admin_account_id=delegated.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var delegated = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.VpcIpamOrganizationAdminAccount(\"example\", new()\n {\n DelegatedAdminAccountId = delegated.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdelegated, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamOrganizationAdminAccount(ctx, \"example\", \u0026ec2.VpcIpamOrganizationAdminAccountArgs{\n\t\t\tDelegatedAdminAccountId: pulumi.String(delegated.AccountId),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcIpamOrganizationAdminAccount;\nimport com.pulumi.aws.ec2.VpcIpamOrganizationAdminAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var delegated = AwsFunctions.getCallerIdentity();\n\n var example = new VpcIpamOrganizationAdminAccount(\"example\", VpcIpamOrganizationAdminAccountArgs.builder()\n .delegatedAdminAccountId(delegated.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpamOrganizationAdminAccount\n properties:\n delegatedAdminAccountId: ${delegated.accountId}\nvariables:\n delegated:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the delegate account `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount example 12345678901\n```\n", "properties": { "arn": { "type": "string", @@ -247490,7 +247490,7 @@ } }, "aws:ec2/vpcIpamPool:VpcIpamPool": { - "description": "Provides an IP address pool resource for IPAM.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: example.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[{\n \"region_name\": current.name,\n}])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example.private_default_scope_id,\n locale=current.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = example.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\t_, err = ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: example.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(example.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${example.privateDefaultScopeId}\n locale: ${current.name}\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nNested Pools:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst parent = new aws.ec2.VpcIpamPool(\"parent\", {\n addressFamily: \"ipv4\",\n ipamScopeId: example.privateDefaultScopeId,\n});\nconst parentTest = new aws.ec2.VpcIpamPoolCidr(\"parent_test\", {\n ipamPoolId: parent.id,\n cidr: \"172.20.0.0/16\",\n});\nconst child = new aws.ec2.VpcIpamPool(\"child\", {\n addressFamily: \"ipv4\",\n ipamScopeId: example.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n sourceIpamPoolId: parent.id,\n});\nconst childTest = new aws.ec2.VpcIpamPoolCidr(\"child_test\", {\n ipamPoolId: child.id,\n cidr: \"172.20.0.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[{\n \"region_name\": current.name,\n}])\nparent = aws.ec2.VpcIpamPool(\"parent\",\n address_family=\"ipv4\",\n ipam_scope_id=example.private_default_scope_id)\nparent_test = aws.ec2.VpcIpamPoolCidr(\"parent_test\",\n ipam_pool_id=parent.id,\n cidr=\"172.20.0.0/16\")\nchild = aws.ec2.VpcIpamPool(\"child\",\n address_family=\"ipv4\",\n ipam_scope_id=example.private_default_scope_id,\n locale=current.name,\n source_ipam_pool_id=parent.id)\nchild_test = aws.ec2.VpcIpamPoolCidr(\"child_test\",\n ipam_pool_id=child.id,\n cidr=\"172.20.0.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var parent = new Aws.Ec2.VpcIpamPool(\"parent\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = example.PrivateDefaultScopeId,\n });\n\n var parentTest = new Aws.Ec2.VpcIpamPoolCidr(\"parent_test\", new()\n {\n IpamPoolId = parent.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var child = new Aws.Ec2.VpcIpamPool(\"child\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = example.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n SourceIpamPoolId = parent.Id,\n });\n\n var childTest = new Aws.Ec2.VpcIpamPoolCidr(\"child_test\", new()\n {\n IpamPoolId = child.Id,\n Cidr = \"172.20.0.0/24\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\tparent, err := ec2.NewVpcIpamPool(ctx, \"parent\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: example.PrivateDefaultScopeId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"parent_test\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: parent.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tchild, err := ec2.NewVpcIpamPool(ctx, \"child\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: example.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t\tSourceIpamPoolId: parent.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"child_test\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: child.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/24\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var parent = new VpcIpamPool(\"parent\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(example.privateDefaultScopeId())\n .build());\n\n var parentTest = new VpcIpamPoolCidr(\"parentTest\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(parent.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var child = new VpcIpamPool(\"child\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(example.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .sourceIpamPoolId(parent.id())\n .build());\n\n var childTest = new VpcIpamPoolCidr(\"childTest\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(child.id())\n .cidr(\"172.20.0.0/24\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n parent:\n type: aws:ec2:VpcIpamPool\n properties:\n addressFamily: ipv4\n ipamScopeId: ${example.privateDefaultScopeId}\n parentTest:\n type: aws:ec2:VpcIpamPoolCidr\n name: parent_test\n properties:\n ipamPoolId: ${parent.id}\n cidr: 172.20.0.0/16\n child:\n type: aws:ec2:VpcIpamPool\n properties:\n addressFamily: ipv4\n ipamScopeId: ${example.privateDefaultScopeId}\n locale: ${current.name}\n sourceIpamPoolId: ${parent.id}\n childTest:\n type: aws:ec2:VpcIpamPoolCidr\n name: child_test\n properties:\n ipamPoolId: ${child.id}\n cidr: 172.20.0.0/24\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the IPAM pool `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamPool:VpcIpamPool example ipam-pool-0958f95207d978e1e\n```\n", + "description": "Provides an IP address pool resource for IPAM.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: example.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[{\n \"region_name\": current.name,\n}])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example.private_default_scope_id,\n locale=current.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = example.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\t_, err = ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: example.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(example.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${example.privateDefaultScopeId}\n locale: ${current.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nNested Pools:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst parent = new aws.ec2.VpcIpamPool(\"parent\", {\n addressFamily: \"ipv4\",\n ipamScopeId: example.privateDefaultScopeId,\n});\nconst parentTest = new aws.ec2.VpcIpamPoolCidr(\"parent_test\", {\n ipamPoolId: parent.id,\n cidr: \"172.20.0.0/16\",\n});\nconst child = new aws.ec2.VpcIpamPool(\"child\", {\n addressFamily: \"ipv4\",\n ipamScopeId: example.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n sourceIpamPoolId: parent.id,\n});\nconst childTest = new aws.ec2.VpcIpamPoolCidr(\"child_test\", {\n ipamPoolId: child.id,\n cidr: \"172.20.0.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[{\n \"region_name\": current.name,\n}])\nparent = aws.ec2.VpcIpamPool(\"parent\",\n address_family=\"ipv4\",\n ipam_scope_id=example.private_default_scope_id)\nparent_test = aws.ec2.VpcIpamPoolCidr(\"parent_test\",\n ipam_pool_id=parent.id,\n cidr=\"172.20.0.0/16\")\nchild = aws.ec2.VpcIpamPool(\"child\",\n address_family=\"ipv4\",\n ipam_scope_id=example.private_default_scope_id,\n locale=current.name,\n source_ipam_pool_id=parent.id)\nchild_test = aws.ec2.VpcIpamPoolCidr(\"child_test\",\n ipam_pool_id=child.id,\n cidr=\"172.20.0.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var parent = new Aws.Ec2.VpcIpamPool(\"parent\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = example.PrivateDefaultScopeId,\n });\n\n var parentTest = new Aws.Ec2.VpcIpamPoolCidr(\"parent_test\", new()\n {\n IpamPoolId = parent.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var child = new Aws.Ec2.VpcIpamPool(\"child\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = example.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n SourceIpamPoolId = parent.Id,\n });\n\n var childTest = new Aws.Ec2.VpcIpamPoolCidr(\"child_test\", new()\n {\n IpamPoolId = child.Id,\n Cidr = \"172.20.0.0/24\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\tparent, err := ec2.NewVpcIpamPool(ctx, \"parent\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: example.PrivateDefaultScopeId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"parent_test\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: parent.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tchild, err := ec2.NewVpcIpamPool(ctx, \"child\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: example.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t\tSourceIpamPoolId: parent.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"child_test\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: child.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/24\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var parent = new VpcIpamPool(\"parent\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(example.privateDefaultScopeId())\n .build());\n\n var parentTest = new VpcIpamPoolCidr(\"parentTest\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(parent.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var child = new VpcIpamPool(\"child\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(example.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .sourceIpamPoolId(parent.id())\n .build());\n\n var childTest = new VpcIpamPoolCidr(\"childTest\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(child.id())\n .cidr(\"172.20.0.0/24\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n parent:\n type: aws:ec2:VpcIpamPool\n properties:\n addressFamily: ipv4\n ipamScopeId: ${example.privateDefaultScopeId}\n parentTest:\n type: aws:ec2:VpcIpamPoolCidr\n name: parent_test\n properties:\n ipamPoolId: ${parent.id}\n cidr: 172.20.0.0/16\n child:\n type: aws:ec2:VpcIpamPool\n properties:\n addressFamily: ipv4\n ipamScopeId: ${example.privateDefaultScopeId}\n locale: ${current.name}\n sourceIpamPoolId: ${parent.id}\n childTest:\n type: aws:ec2:VpcIpamPoolCidr\n name: child_test\n properties:\n ipamPoolId: ${child.id}\n cidr: 172.20.0.0/24\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the IPAM pool `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamPool:VpcIpamPool example ipam-pool-0958f95207d978e1e\n```\n", "properties": { "addressFamily": { "type": "string", @@ -247772,7 +247772,7 @@ } }, "aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr": { - "description": "Provisions a CIDR from an IPAM address pool.\n\n\u003e **NOTE:** Provisioning Public IPv4 or Public IPv6 require [steps outside the scope of this resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#prepare-for-byoip). The resource accepts `message` and `signature` as part of the `cidr_authorization_context` attribute but those must be generated ahead of time. Public IPv6 CIDRs that are provisioned into a Pool with `publicly_advertisable = true` and all public IPv4 CIDRs also require creating a Route Origin Authorization (ROA) object in your Regional Internet Registry (RIR).\n\n\u003e **NOTE:** In order to deprovision CIDRs all Allocations must be released. Allocations created by a VPC take up to 30 minutes to be released. However, for IPAM to properly manage the removal of allocation records created by VPCs and other resources, you must [grant it permissions](https://docs.aws.amazon.com/vpc/latest/ipam/choose-single-user-or-orgs-ipam.html) in\neither a single account or organizationally. If you are unable to deprovision a cidr after waiting over 30 minutes, you may be missing the Service Linked Role.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: example.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[{\n \"region_name\": current.name,\n}])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example.private_default_scope_id,\n locale=current.name)\nexample_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = example.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\texampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: example.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(example.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${example.privateDefaultScopeId}\n locale: ${current.name}\n exampleVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: example\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/16\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nProvision Public IPv6 Pool CIDRs:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst ipv6TestPublic = new aws.ec2.VpcIpamPool(\"ipv6_test_public\", {\n addressFamily: \"ipv6\",\n ipamScopeId: example.publicDefaultScopeId,\n locale: \"us-east-1\",\n description: \"public ipv6\",\n publiclyAdvertisable: false,\n publicIpSource: \"amazon\",\n awsService: \"ec2\",\n});\nconst ipv6TestPublicVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"ipv6_test_public\", {\n ipamPoolId: ipv6TestPublic.id,\n netmaskLength: 52,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[{\n \"region_name\": current.name,\n}])\nipv6_test_public = aws.ec2.VpcIpamPool(\"ipv6_test_public\",\n address_family=\"ipv6\",\n ipam_scope_id=example.public_default_scope_id,\n locale=\"us-east-1\",\n description=\"public ipv6\",\n publicly_advertisable=False,\n public_ip_source=\"amazon\",\n aws_service=\"ec2\")\nipv6_test_public_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"ipv6_test_public\",\n ipam_pool_id=ipv6_test_public.id,\n netmask_length=52)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var ipv6TestPublic = new Aws.Ec2.VpcIpamPool(\"ipv6_test_public\", new()\n {\n AddressFamily = \"ipv6\",\n IpamScopeId = example.PublicDefaultScopeId,\n Locale = \"us-east-1\",\n Description = \"public ipv6\",\n PubliclyAdvertisable = false,\n PublicIpSource = \"amazon\",\n AwsService = \"ec2\",\n });\n\n var ipv6TestPublicVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"ipv6_test_public\", new()\n {\n IpamPoolId = ipv6TestPublic.Id,\n NetmaskLength = 52,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\tipv6TestPublic, err := ec2.NewVpcIpamPool(ctx, \"ipv6_test_public\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv6\"),\n\t\t\tIpamScopeId: example.PublicDefaultScopeId,\n\t\t\tLocale: pulumi.String(\"us-east-1\"),\n\t\t\tDescription: pulumi.String(\"public ipv6\"),\n\t\t\tPubliclyAdvertisable: pulumi.Bool(false),\n\t\t\tPublicIpSource: pulumi.String(\"amazon\"),\n\t\t\tAwsService: pulumi.String(\"ec2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"ipv6_test_public\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: ipv6TestPublic.ID(),\n\t\t\tNetmaskLength: pulumi.Int(52),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var ipv6TestPublic = new VpcIpamPool(\"ipv6TestPublic\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv6\")\n .ipamScopeId(example.publicDefaultScopeId())\n .locale(\"us-east-1\")\n .description(\"public ipv6\")\n .publiclyAdvertisable(false)\n .publicIpSource(\"amazon\")\n .awsService(\"ec2\")\n .build());\n\n var ipv6TestPublicVpcIpamPoolCidr = new VpcIpamPoolCidr(\"ipv6TestPublicVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(ipv6TestPublic.id())\n .netmaskLength(52)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n ipv6TestPublic:\n type: aws:ec2:VpcIpamPool\n name: ipv6_test_public\n properties:\n addressFamily: ipv6\n ipamScopeId: ${example.publicDefaultScopeId}\n locale: us-east-1\n description: public ipv6\n publiclyAdvertisable: false\n publicIpSource: amazon\n awsService: ec2\n ipv6TestPublicVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: ipv6_test_public\n properties:\n ipamPoolId: ${ipv6TestPublic.id}\n netmaskLength: 52\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the `\u003ccidr\u003e_\u003cipam-pool-id\u003e`. For example:\n\n__NOTE:__ Do not use the IPAM Pool Cidr ID as this was introduced after the resource already existed.\n\n```sh\n$ pulumi import aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr example 172.20.0.0/24_ipam-pool-0e634f5a1517cccdc\n```\n", + "description": "Provisions a CIDR from an IPAM address pool.\n\n\u003e **NOTE:** Provisioning Public IPv4 or Public IPv6 require [steps outside the scope of this resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#prepare-for-byoip). The resource accepts `message` and `signature` as part of the `cidr_authorization_context` attribute but those must be generated ahead of time. Public IPv6 CIDRs that are provisioned into a Pool with `publicly_advertisable = true` and all public IPv4 CIDRs also require creating a Route Origin Authorization (ROA) object in your Regional Internet Registry (RIR).\n\n\u003e **NOTE:** In order to deprovision CIDRs all Allocations must be released. Allocations created by a VPC take up to 30 minutes to be released. However, for IPAM to properly manage the removal of allocation records created by VPCs and other resources, you must [grant it permissions](https://docs.aws.amazon.com/vpc/latest/ipam/choose-single-user-or-orgs-ipam.html) in\neither a single account or organizationally. If you are unable to deprovision a cidr after waiting over 30 minutes, you may be missing the Service Linked Role.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: example.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[{\n \"region_name\": current.name,\n}])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example.private_default_scope_id,\n locale=current.name)\nexample_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = example.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\texampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: example.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(example.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${example.privateDefaultScopeId}\n locale: ${current.name}\n exampleVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: example\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/16\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nProvision Public IPv6 Pool CIDRs:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst ipv6TestPublic = new aws.ec2.VpcIpamPool(\"ipv6_test_public\", {\n addressFamily: \"ipv6\",\n ipamScopeId: example.publicDefaultScopeId,\n locale: \"us-east-1\",\n description: \"public ipv6\",\n publiclyAdvertisable: false,\n publicIpSource: \"amazon\",\n awsService: \"ec2\",\n});\nconst ipv6TestPublicVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"ipv6_test_public\", {\n ipamPoolId: ipv6TestPublic.id,\n netmaskLength: 52,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[{\n \"region_name\": current.name,\n}])\nipv6_test_public = aws.ec2.VpcIpamPool(\"ipv6_test_public\",\n address_family=\"ipv6\",\n ipam_scope_id=example.public_default_scope_id,\n locale=\"us-east-1\",\n description=\"public ipv6\",\n publicly_advertisable=False,\n public_ip_source=\"amazon\",\n aws_service=\"ec2\")\nipv6_test_public_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"ipv6_test_public\",\n ipam_pool_id=ipv6_test_public.id,\n netmask_length=52)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var ipv6TestPublic = new Aws.Ec2.VpcIpamPool(\"ipv6_test_public\", new()\n {\n AddressFamily = \"ipv6\",\n IpamScopeId = example.PublicDefaultScopeId,\n Locale = \"us-east-1\",\n Description = \"public ipv6\",\n PubliclyAdvertisable = false,\n PublicIpSource = \"amazon\",\n AwsService = \"ec2\",\n });\n\n var ipv6TestPublicVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"ipv6_test_public\", new()\n {\n IpamPoolId = ipv6TestPublic.Id,\n NetmaskLength = 52,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\tipv6TestPublic, err := ec2.NewVpcIpamPool(ctx, \"ipv6_test_public\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv6\"),\n\t\t\tIpamScopeId: example.PublicDefaultScopeId,\n\t\t\tLocale: pulumi.String(\"us-east-1\"),\n\t\t\tDescription: pulumi.String(\"public ipv6\"),\n\t\t\tPubliclyAdvertisable: pulumi.Bool(false),\n\t\t\tPublicIpSource: pulumi.String(\"amazon\"),\n\t\t\tAwsService: pulumi.String(\"ec2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"ipv6_test_public\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: ipv6TestPublic.ID(),\n\t\t\tNetmaskLength: pulumi.Int(52),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var ipv6TestPublic = new VpcIpamPool(\"ipv6TestPublic\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv6\")\n .ipamScopeId(example.publicDefaultScopeId())\n .locale(\"us-east-1\")\n .description(\"public ipv6\")\n .publiclyAdvertisable(false)\n .publicIpSource(\"amazon\")\n .awsService(\"ec2\")\n .build());\n\n var ipv6TestPublicVpcIpamPoolCidr = new VpcIpamPoolCidr(\"ipv6TestPublicVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(ipv6TestPublic.id())\n .netmaskLength(52)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n ipv6TestPublic:\n type: aws:ec2:VpcIpamPool\n name: ipv6_test_public\n properties:\n addressFamily: ipv6\n ipamScopeId: ${example.publicDefaultScopeId}\n locale: us-east-1\n description: public ipv6\n publiclyAdvertisable: false\n publicIpSource: amazon\n awsService: ec2\n ipv6TestPublicVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: ipv6_test_public\n properties:\n ipamPoolId: ${ipv6TestPublic.id}\n netmaskLength: 52\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the `\u003ccidr\u003e_\u003cipam-pool-id\u003e`. For example:\n\n__NOTE:__ Do not use the IPAM Pool Cidr ID as this was introduced after the resource already existed.\n\n```sh\n$ pulumi import aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr example 172.20.0.0/24_ipam-pool-0e634f5a1517cccdc\n```\n", "properties": { "cidr": { "type": "string", @@ -247857,7 +247857,7 @@ } }, "aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation": { - "description": "Allocates (reserves) a CIDR from an IPAM address pool, preventing usage by IPAM. Only works for private IPv4.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleVpcIpam = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: exampleVpcIpam.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\nconst example = new aws.ec2.VpcIpamPoolCidrAllocation(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/24\",\n}, {\n dependsOn: [exampleVpcIpamPoolCidr],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_vpc_ipam = aws.ec2.VpcIpam(\"example\", operating_regions=[{\n \"region_name\": current.name,\n}])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example_vpc_ipam.private_default_scope_id,\n locale=current.name)\nexample_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\nexample = aws.ec2.VpcIpamPoolCidrAllocation(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/24\",\n opts = pulumi.ResourceOptions(depends_on=[example_vpc_ipam_pool_cidr]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleVpcIpam = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = exampleVpcIpam.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var example = new Aws.Ec2.VpcIpamPoolCidrAllocation(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/24\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleVpcIpamPoolCidr,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpam, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\texampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: exampleVpcIpam.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidrAllocation(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrAllocationArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/24\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVpcIpamPoolCidr,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocation;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var exampleVpcIpam = new VpcIpam(\"exampleVpcIpam\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(exampleVpcIpam.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var example = new VpcIpamPoolCidrAllocation(\"example\", VpcIpamPoolCidrAllocationArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/24\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleVpcIpamPoolCidr)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpamPoolCidrAllocation\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/24\n options:\n dependsOn:\n - ${exampleVpcIpamPoolCidr}\n exampleVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: example\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/16\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${exampleVpcIpam.privateDefaultScopeId}\n locale: ${current.name}\n exampleVpcIpam:\n type: aws:ec2:VpcIpam\n name: example\n properties:\n operatingRegions:\n - regionName: ${current.name}\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nWith the `disallowed_cidrs` attribute:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleVpcIpam = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: exampleVpcIpam.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\nconst example = new aws.ec2.VpcIpamPoolCidrAllocation(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n netmaskLength: 28,\n disallowedCidrs: [\"172.20.0.0/28\"],\n}, {\n dependsOn: [exampleVpcIpamPoolCidr],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_vpc_ipam = aws.ec2.VpcIpam(\"example\", operating_regions=[{\n \"region_name\": current.name,\n}])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example_vpc_ipam.private_default_scope_id,\n locale=current.name)\nexample_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\nexample = aws.ec2.VpcIpamPoolCidrAllocation(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n netmask_length=28,\n disallowed_cidrs=[\"172.20.0.0/28\"],\n opts = pulumi.ResourceOptions(depends_on=[example_vpc_ipam_pool_cidr]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleVpcIpam = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = exampleVpcIpam.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var example = new Aws.Ec2.VpcIpamPoolCidrAllocation(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n NetmaskLength = 28,\n DisallowedCidrs = new[]\n {\n \"172.20.0.0/28\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleVpcIpamPoolCidr,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpam, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\texampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: exampleVpcIpam.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidrAllocation(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrAllocationArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tNetmaskLength: pulumi.Int(28),\n\t\t\tDisallowedCidrs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"172.20.0.0/28\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVpcIpamPoolCidr,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocation;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var exampleVpcIpam = new VpcIpam(\"exampleVpcIpam\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(exampleVpcIpam.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var example = new VpcIpamPoolCidrAllocation(\"example\", VpcIpamPoolCidrAllocationArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .netmaskLength(28)\n .disallowedCidrs(\"172.20.0.0/28\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleVpcIpamPoolCidr)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpamPoolCidrAllocation\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n netmaskLength: 28\n disallowedCidrs:\n - 172.20.0.0/28\n options:\n dependsOn:\n - ${exampleVpcIpamPoolCidr}\n exampleVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: example\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/16\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${exampleVpcIpam.privateDefaultScopeId}\n locale: ${current.name}\n exampleVpcIpam:\n type: aws:ec2:VpcIpam\n name: example\n properties:\n operatingRegions:\n - regionName: ${current.name}\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAM allocations using the allocation `id` and `pool id`, separated by `_`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation example ipam-pool-alloc-0dc6d196509c049ba8b549ff99f639736_ipam-pool-07cfb559e0921fcbe\n```\n", + "description": "Allocates (reserves) a CIDR from an IPAM address pool, preventing usage by IPAM. Only works for private IPv4.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleVpcIpam = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: exampleVpcIpam.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\nconst example = new aws.ec2.VpcIpamPoolCidrAllocation(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/24\",\n}, {\n dependsOn: [exampleVpcIpamPoolCidr],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_vpc_ipam = aws.ec2.VpcIpam(\"example\", operating_regions=[{\n \"region_name\": current.name,\n}])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example_vpc_ipam.private_default_scope_id,\n locale=current.name)\nexample_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\nexample = aws.ec2.VpcIpamPoolCidrAllocation(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/24\",\n opts = pulumi.ResourceOptions(depends_on=[example_vpc_ipam_pool_cidr]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleVpcIpam = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = exampleVpcIpam.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var example = new Aws.Ec2.VpcIpamPoolCidrAllocation(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/24\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleVpcIpamPoolCidr,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpam, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\texampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: exampleVpcIpam.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidrAllocation(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrAllocationArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/24\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVpcIpamPoolCidr,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocation;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var exampleVpcIpam = new VpcIpam(\"exampleVpcIpam\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(exampleVpcIpam.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var example = new VpcIpamPoolCidrAllocation(\"example\", VpcIpamPoolCidrAllocationArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/24\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleVpcIpamPoolCidr)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpamPoolCidrAllocation\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/24\n options:\n dependson:\n - ${exampleVpcIpamPoolCidr}\n exampleVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: example\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/16\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${exampleVpcIpam.privateDefaultScopeId}\n locale: ${current.name}\n exampleVpcIpam:\n type: aws:ec2:VpcIpam\n name: example\n properties:\n operatingRegions:\n - regionName: ${current.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nWith the `disallowed_cidrs` attribute:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleVpcIpam = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: exampleVpcIpam.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\nconst example = new aws.ec2.VpcIpamPoolCidrAllocation(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n netmaskLength: 28,\n disallowedCidrs: [\"172.20.0.0/28\"],\n}, {\n dependsOn: [exampleVpcIpamPoolCidr],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_vpc_ipam = aws.ec2.VpcIpam(\"example\", operating_regions=[{\n \"region_name\": current.name,\n}])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example_vpc_ipam.private_default_scope_id,\n locale=current.name)\nexample_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\nexample = aws.ec2.VpcIpamPoolCidrAllocation(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n netmask_length=28,\n disallowed_cidrs=[\"172.20.0.0/28\"],\n opts = pulumi.ResourceOptions(depends_on=[example_vpc_ipam_pool_cidr]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleVpcIpam = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = exampleVpcIpam.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var example = new Aws.Ec2.VpcIpamPoolCidrAllocation(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n NetmaskLength = 28,\n DisallowedCidrs = new[]\n {\n \"172.20.0.0/28\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleVpcIpamPoolCidr,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpam, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\texampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: exampleVpcIpam.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidrAllocation(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrAllocationArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tNetmaskLength: pulumi.Int(28),\n\t\t\tDisallowedCidrs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"172.20.0.0/28\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVpcIpamPoolCidr,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocation;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var exampleVpcIpam = new VpcIpam(\"exampleVpcIpam\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(exampleVpcIpam.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var example = new VpcIpamPoolCidrAllocation(\"example\", VpcIpamPoolCidrAllocationArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .netmaskLength(28)\n .disallowedCidrs(\"172.20.0.0/28\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleVpcIpamPoolCidr)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpamPoolCidrAllocation\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n netmaskLength: 28\n disallowedCidrs:\n - 172.20.0.0/28\n options:\n dependson:\n - ${exampleVpcIpamPoolCidr}\n exampleVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: example\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/16\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${exampleVpcIpam.privateDefaultScopeId}\n locale: ${current.name}\n exampleVpcIpam:\n type: aws:ec2:VpcIpam\n name: example\n properties:\n operatingRegions:\n - regionName: ${current.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAM allocations using the allocation `id` and `pool id`, separated by `_`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation example ipam-pool-alloc-0dc6d196509c049ba8b549ff99f639736_ipam-pool-07cfb559e0921fcbe\n```\n", "properties": { "cidr": { "type": "string", @@ -247991,7 +247991,7 @@ } }, "aws:ec2/vpcIpamPreviewNextCidr:VpcIpamPreviewNextCidr": { - "description": "Previews a CIDR from an IPAM address pool. Only works for private IPv4.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleVpcIpam = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: exampleVpcIpam.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\nconst example = new aws.ec2.VpcIpamPreviewNextCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n netmaskLength: 28,\n disallowedCidrs: [\"172.2.0.0/32\"],\n}, {\n dependsOn: [exampleVpcIpamPoolCidr],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_vpc_ipam = aws.ec2.VpcIpam(\"example\", operating_regions=[{\n \"region_name\": current.name,\n}])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example_vpc_ipam.private_default_scope_id,\n locale=current.name)\nexample_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\nexample = aws.ec2.VpcIpamPreviewNextCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n netmask_length=28,\n disallowed_cidrs=[\"172.2.0.0/32\"],\n opts = pulumi.ResourceOptions(depends_on=[example_vpc_ipam_pool_cidr]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleVpcIpam = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = exampleVpcIpam.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var example = new Aws.Ec2.VpcIpamPreviewNextCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n NetmaskLength = 28,\n DisallowedCidrs = new[]\n {\n \"172.2.0.0/32\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleVpcIpamPoolCidr,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpam, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\texampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: exampleVpcIpam.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPreviewNextCidr(ctx, \"example\", \u0026ec2.VpcIpamPreviewNextCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tNetmaskLength: pulumi.Int(28),\n\t\t\tDisallowedCidrs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"172.2.0.0/32\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVpcIpamPoolCidr,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport com.pulumi.aws.ec2.VpcIpamPreviewNextCidr;\nimport com.pulumi.aws.ec2.VpcIpamPreviewNextCidrArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var exampleVpcIpam = new VpcIpam(\"exampleVpcIpam\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(exampleVpcIpam.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var example = new VpcIpamPreviewNextCidr(\"example\", VpcIpamPreviewNextCidrArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .netmaskLength(28)\n .disallowedCidrs(\"172.2.0.0/32\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleVpcIpamPoolCidr)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpamPreviewNextCidr\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n netmaskLength: 28\n disallowedCidrs:\n - 172.2.0.0/32\n options:\n dependsOn:\n - ${exampleVpcIpamPoolCidr}\n exampleVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: example\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/16\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${exampleVpcIpam.privateDefaultScopeId}\n locale: ${current.name}\n exampleVpcIpam:\n type: aws:ec2:VpcIpam\n name: example\n properties:\n operatingRegions:\n - regionName: ${current.name}\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Previews a CIDR from an IPAM address pool. Only works for private IPv4.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleVpcIpam = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: exampleVpcIpam.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\nconst example = new aws.ec2.VpcIpamPreviewNextCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n netmaskLength: 28,\n disallowedCidrs: [\"172.2.0.0/32\"],\n}, {\n dependsOn: [exampleVpcIpamPoolCidr],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_vpc_ipam = aws.ec2.VpcIpam(\"example\", operating_regions=[{\n \"region_name\": current.name,\n}])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example_vpc_ipam.private_default_scope_id,\n locale=current.name)\nexample_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\nexample = aws.ec2.VpcIpamPreviewNextCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n netmask_length=28,\n disallowed_cidrs=[\"172.2.0.0/32\"],\n opts = pulumi.ResourceOptions(depends_on=[example_vpc_ipam_pool_cidr]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleVpcIpam = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = exampleVpcIpam.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var example = new Aws.Ec2.VpcIpamPreviewNextCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n NetmaskLength = 28,\n DisallowedCidrs = new[]\n {\n \"172.2.0.0/32\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleVpcIpamPoolCidr,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpam, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\texampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: exampleVpcIpam.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPreviewNextCidr(ctx, \"example\", \u0026ec2.VpcIpamPreviewNextCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tNetmaskLength: pulumi.Int(28),\n\t\t\tDisallowedCidrs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"172.2.0.0/32\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVpcIpamPoolCidr,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport com.pulumi.aws.ec2.VpcIpamPreviewNextCidr;\nimport com.pulumi.aws.ec2.VpcIpamPreviewNextCidrArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var exampleVpcIpam = new VpcIpam(\"exampleVpcIpam\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(exampleVpcIpam.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var example = new VpcIpamPreviewNextCidr(\"example\", VpcIpamPreviewNextCidrArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .netmaskLength(28)\n .disallowedCidrs(\"172.2.0.0/32\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleVpcIpamPoolCidr)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpamPreviewNextCidr\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n netmaskLength: 28\n disallowedCidrs:\n - 172.2.0.0/32\n options:\n dependson:\n - ${exampleVpcIpamPoolCidr}\n exampleVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: example\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/16\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${exampleVpcIpam.privateDefaultScopeId}\n locale: ${current.name}\n exampleVpcIpam:\n type: aws:ec2:VpcIpam\n name: example\n properties:\n operatingRegions:\n - regionName: ${current.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "cidr": { "type": "string", @@ -248070,7 +248070,7 @@ } }, "aws:ec2/vpcIpamResourceDiscovery:VpcIpamResourceDiscovery": { - "description": "Provides an IPAM Resource Discovery resource. IPAM Resource Discoveries are resources meant for multi-organization customers. If you wish to use a single IPAM across multiple orgs, a resource discovery can be created and shared from a subordinate organization to the management organizations IPAM delegated admin account. For a full deployment example, see `aws.ec2.VpcIpamResourceDiscoveryAssociation` resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst main = new aws.ec2.VpcIpamResourceDiscovery(\"main\", {\n description: \"My IPAM Resource Discovery\",\n operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n }],\n tags: {\n Test: \"Main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nmain = aws.ec2.VpcIpamResourceDiscovery(\"main\",\n description=\"My IPAM Resource Discovery\",\n operating_regions=[{\n \"region_name\": current.name,\n }],\n tags={\n \"Test\": \"Main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var main = new Aws.Ec2.VpcIpamResourceDiscovery(\"main\", new()\n {\n Description = \"My IPAM Resource Discovery\",\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamResourceDiscoveryOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n Tags = \n {\n { \"Test\", \"Main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamResourceDiscovery(ctx, \"main\", \u0026ec2.VpcIpamResourceDiscoveryArgs{\n\t\t\tDescription: pulumi.String(\"My IPAM Resource Discovery\"),\n\t\t\tOperatingRegions: ec2.VpcIpamResourceDiscoveryOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamResourceDiscoveryOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Test\": pulumi.String(\"Main\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamResourceDiscovery;\nimport com.pulumi.aws.ec2.VpcIpamResourceDiscoveryArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamResourceDiscoveryOperatingRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var main = new VpcIpamResourceDiscovery(\"main\", VpcIpamResourceDiscoveryArgs.builder()\n .description(\"My IPAM Resource Discovery\")\n .operatingRegions(VpcIpamResourceDiscoveryOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .tags(Map.of(\"Test\", \"Main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:VpcIpamResourceDiscovery\n properties:\n description: My IPAM Resource Discovery\n operatingRegions:\n - regionName: ${current.name}\n tags:\n Test: Main\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the IPAM resource discovery `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamResourceDiscovery:VpcIpamResourceDiscovery example ipam-res-disco-0178368ad2146a492\n```\n", + "description": "Provides an IPAM Resource Discovery resource. IPAM Resource Discoveries are resources meant for multi-organization customers. If you wish to use a single IPAM across multiple orgs, a resource discovery can be created and shared from a subordinate organization to the management organizations IPAM delegated admin account. For a full deployment example, see `aws.ec2.VpcIpamResourceDiscoveryAssociation` resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst main = new aws.ec2.VpcIpamResourceDiscovery(\"main\", {\n description: \"My IPAM Resource Discovery\",\n operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n }],\n tags: {\n Test: \"Main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nmain = aws.ec2.VpcIpamResourceDiscovery(\"main\",\n description=\"My IPAM Resource Discovery\",\n operating_regions=[{\n \"region_name\": current.name,\n }],\n tags={\n \"Test\": \"Main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var main = new Aws.Ec2.VpcIpamResourceDiscovery(\"main\", new()\n {\n Description = \"My IPAM Resource Discovery\",\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamResourceDiscoveryOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n Tags = \n {\n { \"Test\", \"Main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamResourceDiscovery(ctx, \"main\", \u0026ec2.VpcIpamResourceDiscoveryArgs{\n\t\t\tDescription: pulumi.String(\"My IPAM Resource Discovery\"),\n\t\t\tOperatingRegions: ec2.VpcIpamResourceDiscoveryOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamResourceDiscoveryOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Test\": pulumi.String(\"Main\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamResourceDiscovery;\nimport com.pulumi.aws.ec2.VpcIpamResourceDiscoveryArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamResourceDiscoveryOperatingRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var main = new VpcIpamResourceDiscovery(\"main\", VpcIpamResourceDiscoveryArgs.builder()\n .description(\"My IPAM Resource Discovery\")\n .operatingRegions(VpcIpamResourceDiscoveryOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .tags(Map.of(\"Test\", \"Main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:VpcIpamResourceDiscovery\n properties:\n description: My IPAM Resource Discovery\n operatingRegions:\n - regionName: ${current.name}\n tags:\n Test: Main\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the IPAM resource discovery `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamResourceDiscovery:VpcIpamResourceDiscovery example ipam-res-disco-0178368ad2146a492\n```\n", "properties": { "arn": { "type": "string", @@ -248333,7 +248333,7 @@ } }, "aws:ec2/vpcIpamScope:VpcIpamScope": { - "description": "Creates a scope for AWS IPAM.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamScope = new aws.ec2.VpcIpamScope(\"example\", {\n ipamId: example.id,\n description: \"Another Scope\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[{\n \"region_name\": current.name,\n}])\nexample_vpc_ipam_scope = aws.ec2.VpcIpamScope(\"example\",\n ipam_id=example.id,\n description=\"Another Scope\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamScope = new Aws.Ec2.VpcIpamScope(\"example\", new()\n {\n IpamId = example.Id,\n Description = \"Another Scope\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\t_, err = ec2.NewVpcIpamScope(ctx, \"example\", \u0026ec2.VpcIpamScopeArgs{\n\t\t\tIpamId: example.ID(),\n\t\t\tDescription: pulumi.String(\"Another Scope\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamScope;\nimport com.pulumi.aws.ec2.VpcIpamScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamScope = new VpcIpamScope(\"exampleVpcIpamScope\", VpcIpamScopeArgs.builder()\n .ipamId(example.id())\n .description(\"Another Scope\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n exampleVpcIpamScope:\n type: aws:ec2:VpcIpamScope\n name: example\n properties:\n ipamId: ${example.id}\n description: Another Scope\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the `scope_id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamScope:VpcIpamScope example ipam-scope-0513c69f283d11dfb\n```\n", + "description": "Creates a scope for AWS IPAM.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamScope = new aws.ec2.VpcIpamScope(\"example\", {\n ipamId: example.id,\n description: \"Another Scope\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[{\n \"region_name\": current.name,\n}])\nexample_vpc_ipam_scope = aws.ec2.VpcIpamScope(\"example\",\n ipam_id=example.id,\n description=\"Another Scope\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamScope = new Aws.Ec2.VpcIpamScope(\"example\", new()\n {\n IpamId = example.Id,\n Description = \"Another Scope\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\t_, err = ec2.NewVpcIpamScope(ctx, \"example\", \u0026ec2.VpcIpamScopeArgs{\n\t\t\tIpamId: example.ID(),\n\t\t\tDescription: pulumi.String(\"Another Scope\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamScope;\nimport com.pulumi.aws.ec2.VpcIpamScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamScope = new VpcIpamScope(\"exampleVpcIpamScope\", VpcIpamScopeArgs.builder()\n .ipamId(example.id())\n .description(\"Another Scope\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n exampleVpcIpamScope:\n type: aws:ec2:VpcIpamScope\n name: example\n properties:\n ipamId: ${example.id}\n description: Another Scope\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the `scope_id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamScope:VpcIpamScope example ipam-scope-0513c69f283d11dfb\n```\n", "properties": { "arn": { "type": "string", @@ -248905,7 +248905,7 @@ } }, "aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter": { - "description": "Provides a resource to manage the accepter's side of a VPC Peering Connection.\n\nWhen a cross-account (requester's AWS account differs from the accepter's AWS account) or an inter-region\nVPC Peering Connection is created, a VPC Peering Connection resource is automatically created in the\naccepter's account.\nThe requester can use the `aws.ec2.VpcPeeringConnection` resource to manage its side of the connection\nand the accepter can use the `aws.ec2.VpcPeeringConnectionAccepter` resource to \"adopt\" its side of the\nconnection into management.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst peerVpc = new aws.ec2.Vpc(\"peer\", {cidrBlock: \"10.1.0.0/16\"});\nconst peer = aws.getCallerIdentity({});\n// Requester's side of the connection.\nconst peerVpcPeeringConnection = new aws.ec2.VpcPeeringConnection(\"peer\", {\n vpcId: main.id,\n peerVpcId: peerVpc.id,\n peerOwnerId: peer.then(peer =\u003e peer.accountId),\n peerRegion: \"us-west-2\",\n autoAccept: false,\n tags: {\n Side: \"Requester\",\n },\n});\n// Accepter's side of the connection.\nconst peerVpcPeeringConnectionAccepter = new aws.ec2.VpcPeeringConnectionAccepter(\"peer\", {\n vpcPeeringConnectionId: peerVpcPeeringConnection.id,\n autoAccept: true,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\npeer_vpc = aws.ec2.Vpc(\"peer\", cidr_block=\"10.1.0.0/16\")\npeer = aws.get_caller_identity()\n# Requester's side of the connection.\npeer_vpc_peering_connection = aws.ec2.VpcPeeringConnection(\"peer\",\n vpc_id=main.id,\n peer_vpc_id=peer_vpc.id,\n peer_owner_id=peer.account_id,\n peer_region=\"us-west-2\",\n auto_accept=False,\n tags={\n \"Side\": \"Requester\",\n })\n# Accepter's side of the connection.\npeer_vpc_peering_connection_accepter = aws.ec2.VpcPeeringConnectionAccepter(\"peer\",\n vpc_peering_connection_id=peer_vpc_peering_connection.id,\n auto_accept=True,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var peerVpc = new Aws.Ec2.Vpc(\"peer\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var peer = Aws.GetCallerIdentity.Invoke();\n\n // Requester's side of the connection.\n var peerVpcPeeringConnection = new Aws.Ec2.VpcPeeringConnection(\"peer\", new()\n {\n VpcId = main.Id,\n PeerVpcId = peerVpc.Id,\n PeerOwnerId = peer.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n PeerRegion = \"us-west-2\",\n AutoAccept = false,\n Tags = \n {\n { \"Side\", \"Requester\" },\n },\n });\n\n // Accepter's side of the connection.\n var peerVpcPeeringConnectionAccepter = new Aws.Ec2.VpcPeeringConnectionAccepter(\"peer\", new()\n {\n VpcPeeringConnectionId = peerVpcPeeringConnection.Id,\n AutoAccept = true,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeerVpc, err := ec2.NewVpc(ctx, \"peer\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeer, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Requester's side of the connection.\n\t\tpeerVpcPeeringConnection, err := ec2.NewVpcPeeringConnection(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tPeerVpcId: peerVpc.ID(),\n\t\t\tPeerOwnerId: pulumi.String(peer.AccountId),\n\t\t\tPeerRegion: pulumi.String(\"us-west-2\"),\n\t\t\tAutoAccept: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Requester\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the connection.\n\t\t_, err = ec2.NewVpcPeeringConnectionAccepter(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionAccepterArgs{\n\t\t\tVpcPeeringConnectionId: peerVpcPeeringConnection.ID(),\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var peerVpc = new Vpc(\"peerVpc\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n final var peer = AwsFunctions.getCallerIdentity();\n\n // Requester's side of the connection.\n var peerVpcPeeringConnection = new VpcPeeringConnection(\"peerVpcPeeringConnection\", VpcPeeringConnectionArgs.builder()\n .vpcId(main.id())\n .peerVpcId(peerVpc.id())\n .peerOwnerId(peer.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .peerRegion(\"us-west-2\")\n .autoAccept(false)\n .tags(Map.of(\"Side\", \"Requester\"))\n .build());\n\n // Accepter's side of the connection.\n var peerVpcPeeringConnectionAccepter = new VpcPeeringConnectionAccepter(\"peerVpcPeeringConnectionAccepter\", VpcPeeringConnectionAccepterArgs.builder()\n .vpcPeeringConnectionId(peerVpcPeeringConnection.id())\n .autoAccept(true)\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n peerVpc:\n type: aws:ec2:Vpc\n name: peer\n properties:\n cidrBlock: 10.1.0.0/16\n # Requester's side of the connection.\n peerVpcPeeringConnection:\n type: aws:ec2:VpcPeeringConnection\n name: peer\n properties:\n vpcId: ${main.id}\n peerVpcId: ${peerVpc.id}\n peerOwnerId: ${peer.accountId}\n peerRegion: us-west-2\n autoAccept: false\n tags:\n Side: Requester\n # Accepter's side of the connection.\n peerVpcPeeringConnectionAccepter:\n type: aws:ec2:VpcPeeringConnectionAccepter\n name: peer\n properties:\n vpcPeeringConnectionId: ${peerVpcPeeringConnection.id}\n autoAccept: true\n tags:\n Side: Accepter\nvariables:\n peer:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Peering Connection Accepters using the Peering Connection ID. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter example pcx-12345678\n```\nCertain resource arguments, like `auto_accept`, do not have an EC2 API method for reading the information after peering connection creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", + "description": "Provides a resource to manage the accepter's side of a VPC Peering Connection.\n\nWhen a cross-account (requester's AWS account differs from the accepter's AWS account) or an inter-region\nVPC Peering Connection is created, a VPC Peering Connection resource is automatically created in the\naccepter's account.\nThe requester can use the `aws.ec2.VpcPeeringConnection` resource to manage its side of the connection\nand the accepter can use the `aws.ec2.VpcPeeringConnectionAccepter` resource to \"adopt\" its side of the\nconnection into management.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst peerVpc = new aws.ec2.Vpc(\"peer\", {cidrBlock: \"10.1.0.0/16\"});\nconst peer = aws.getCallerIdentity({});\n// Requester's side of the connection.\nconst peerVpcPeeringConnection = new aws.ec2.VpcPeeringConnection(\"peer\", {\n vpcId: main.id,\n peerVpcId: peerVpc.id,\n peerOwnerId: peer.then(peer =\u003e peer.accountId),\n peerRegion: \"us-west-2\",\n autoAccept: false,\n tags: {\n Side: \"Requester\",\n },\n});\n// Accepter's side of the connection.\nconst peerVpcPeeringConnectionAccepter = new aws.ec2.VpcPeeringConnectionAccepter(\"peer\", {\n vpcPeeringConnectionId: peerVpcPeeringConnection.id,\n autoAccept: true,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\npeer_vpc = aws.ec2.Vpc(\"peer\", cidr_block=\"10.1.0.0/16\")\npeer = aws.get_caller_identity()\n# Requester's side of the connection.\npeer_vpc_peering_connection = aws.ec2.VpcPeeringConnection(\"peer\",\n vpc_id=main.id,\n peer_vpc_id=peer_vpc.id,\n peer_owner_id=peer.account_id,\n peer_region=\"us-west-2\",\n auto_accept=False,\n tags={\n \"Side\": \"Requester\",\n })\n# Accepter's side of the connection.\npeer_vpc_peering_connection_accepter = aws.ec2.VpcPeeringConnectionAccepter(\"peer\",\n vpc_peering_connection_id=peer_vpc_peering_connection.id,\n auto_accept=True,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var peerVpc = new Aws.Ec2.Vpc(\"peer\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var peer = Aws.GetCallerIdentity.Invoke();\n\n // Requester's side of the connection.\n var peerVpcPeeringConnection = new Aws.Ec2.VpcPeeringConnection(\"peer\", new()\n {\n VpcId = main.Id,\n PeerVpcId = peerVpc.Id,\n PeerOwnerId = peer.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n PeerRegion = \"us-west-2\",\n AutoAccept = false,\n Tags = \n {\n { \"Side\", \"Requester\" },\n },\n });\n\n // Accepter's side of the connection.\n var peerVpcPeeringConnectionAccepter = new Aws.Ec2.VpcPeeringConnectionAccepter(\"peer\", new()\n {\n VpcPeeringConnectionId = peerVpcPeeringConnection.Id,\n AutoAccept = true,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeerVpc, err := ec2.NewVpc(ctx, \"peer\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeer, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Requester's side of the connection.\n\t\tpeerVpcPeeringConnection, err := ec2.NewVpcPeeringConnection(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tPeerVpcId: peerVpc.ID(),\n\t\t\tPeerOwnerId: pulumi.String(peer.AccountId),\n\t\t\tPeerRegion: pulumi.String(\"us-west-2\"),\n\t\t\tAutoAccept: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Requester\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the connection.\n\t\t_, err = ec2.NewVpcPeeringConnectionAccepter(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionAccepterArgs{\n\t\t\tVpcPeeringConnectionId: peerVpcPeeringConnection.ID(),\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var peerVpc = new Vpc(\"peerVpc\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n final var peer = AwsFunctions.getCallerIdentity();\n\n // Requester's side of the connection.\n var peerVpcPeeringConnection = new VpcPeeringConnection(\"peerVpcPeeringConnection\", VpcPeeringConnectionArgs.builder()\n .vpcId(main.id())\n .peerVpcId(peerVpc.id())\n .peerOwnerId(peer.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .peerRegion(\"us-west-2\")\n .autoAccept(false)\n .tags(Map.of(\"Side\", \"Requester\"))\n .build());\n\n // Accepter's side of the connection.\n var peerVpcPeeringConnectionAccepter = new VpcPeeringConnectionAccepter(\"peerVpcPeeringConnectionAccepter\", VpcPeeringConnectionAccepterArgs.builder()\n .vpcPeeringConnectionId(peerVpcPeeringConnection.id())\n .autoAccept(true)\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n peerVpc:\n type: aws:ec2:Vpc\n name: peer\n properties:\n cidrBlock: 10.1.0.0/16\n # Requester's side of the connection.\n peerVpcPeeringConnection:\n type: aws:ec2:VpcPeeringConnection\n name: peer\n properties:\n vpcId: ${main.id}\n peerVpcId: ${peerVpc.id}\n peerOwnerId: ${peer.accountId}\n peerRegion: us-west-2\n autoAccept: false\n tags:\n Side: Requester\n # Accepter's side of the connection.\n peerVpcPeeringConnectionAccepter:\n type: aws:ec2:VpcPeeringConnectionAccepter\n name: peer\n properties:\n vpcPeeringConnectionId: ${peerVpcPeeringConnection.id}\n autoAccept: true\n tags:\n Side: Accepter\nvariables:\n peer:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Peering Connection Accepters using the Peering Connection ID. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter example pcx-12345678\n```\nCertain resource arguments, like `auto_accept`, do not have an EC2 API method for reading the information after peering connection creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", "properties": { "acceptStatus": { "type": "string", @@ -249059,7 +249059,7 @@ } }, "aws:ec2/vpnConnection:VpnConnection": { - "description": "Manages a Site-to-Site VPN connection. A Site-to-Site VPN connection is an Internet Protocol security (IPsec) VPN connection between a VPC and an on-premises network.\nAny new Site-to-Site VPN connection that you create is an [AWS VPN connection](https://docs.aws.amazon.com/vpn/latest/s2svpn/vpn-categories.html).\n\n\u003e **Note:** The CIDR blocks in the arguments `tunnel1_inside_cidr` and `tunnel2_inside_cidr` must have a prefix of /30 and be a part of a specific range.\n[Read more about this in the AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpnTunnelOptionsSpecification.html).\n\n## Example Usage\n\n### EC2 Transit Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.TransitGateway(\"example\", {});\nconst exampleCustomerGateway = new aws.ec2.CustomerGateway(\"example\", {\n bgpAsn: \"65000\",\n ipAddress: \"172.0.0.1\",\n type: \"ipsec.1\",\n});\nconst exampleVpnConnection = new aws.ec2.VpnConnection(\"example\", {\n customerGatewayId: exampleCustomerGateway.id,\n transitGatewayId: example.id,\n type: exampleCustomerGateway.type,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.TransitGateway(\"example\")\nexample_customer_gateway = aws.ec2.CustomerGateway(\"example\",\n bgp_asn=\"65000\",\n ip_address=\"172.0.0.1\",\n type=\"ipsec.1\")\nexample_vpn_connection = aws.ec2.VpnConnection(\"example\",\n customer_gateway_id=example_customer_gateway.id,\n transit_gateway_id=example.id,\n type=example_customer_gateway.type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.TransitGateway(\"example\");\n\n var exampleCustomerGateway = new Aws.Ec2.CustomerGateway(\"example\", new()\n {\n BgpAsn = \"65000\",\n IpAddress = \"172.0.0.1\",\n Type = \"ipsec.1\",\n });\n\n var exampleVpnConnection = new Aws.Ec2.VpnConnection(\"example\", new()\n {\n CustomerGatewayId = exampleCustomerGateway.Id,\n TransitGatewayId = example.Id,\n Type = exampleCustomerGateway.Type,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCustomerGateway, err := ec2.NewCustomerGateway(ctx, \"example\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"65000\"),\n\t\t\tIpAddress: pulumi.String(\"172.0.0.1\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpnConnection(ctx, \"example\", \u0026ec2.VpnConnectionArgs{\n\t\t\tCustomerGatewayId: exampleCustomerGateway.ID(),\n\t\t\tTransitGatewayId: example.ID(),\n\t\t\tType: exampleCustomerGateway.Type,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new TransitGateway(\"example\");\n\n var exampleCustomerGateway = new CustomerGateway(\"exampleCustomerGateway\", CustomerGatewayArgs.builder()\n .bgpAsn(65000)\n .ipAddress(\"172.0.0.1\")\n .type(\"ipsec.1\")\n .build());\n\n var exampleVpnConnection = new VpnConnection(\"exampleVpnConnection\", VpnConnectionArgs.builder()\n .customerGatewayId(exampleCustomerGateway.id())\n .transitGatewayId(example.id())\n .type(exampleCustomerGateway.type())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:TransitGateway\n exampleCustomerGateway:\n type: aws:ec2:CustomerGateway\n name: example\n properties:\n bgpAsn: 65000\n ipAddress: 172.0.0.1\n type: ipsec.1\n exampleVpnConnection:\n type: aws:ec2:VpnConnection\n name: example\n properties:\n customerGatewayId: ${exampleCustomerGateway.id}\n transitGatewayId: ${example.id}\n type: ${exampleCustomerGateway.type}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Virtual Private Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst vpc = new aws.ec2.Vpc(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst vpnGateway = new aws.ec2.VpnGateway(\"vpn_gateway\", {vpcId: vpc.id});\nconst customerGateway = new aws.ec2.CustomerGateway(\"customer_gateway\", {\n bgpAsn: \"65000\",\n ipAddress: \"172.0.0.1\",\n type: \"ipsec.1\",\n});\nconst main = new aws.ec2.VpnConnection(\"main\", {\n vpnGatewayId: vpnGateway.id,\n customerGatewayId: customerGateway.id,\n type: \"ipsec.1\",\n staticRoutesOnly: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvpc = aws.ec2.Vpc(\"vpc\", cidr_block=\"10.0.0.0/16\")\nvpn_gateway = aws.ec2.VpnGateway(\"vpn_gateway\", vpc_id=vpc.id)\ncustomer_gateway = aws.ec2.CustomerGateway(\"customer_gateway\",\n bgp_asn=\"65000\",\n ip_address=\"172.0.0.1\",\n type=\"ipsec.1\")\nmain = aws.ec2.VpnConnection(\"main\",\n vpn_gateway_id=vpn_gateway.id,\n customer_gateway_id=customer_gateway.id,\n type=\"ipsec.1\",\n static_routes_only=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpc = new Aws.Ec2.Vpc(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var vpnGateway = new Aws.Ec2.VpnGateway(\"vpn_gateway\", new()\n {\n VpcId = vpc.Id,\n });\n\n var customerGateway = new Aws.Ec2.CustomerGateway(\"customer_gateway\", new()\n {\n BgpAsn = \"65000\",\n IpAddress = \"172.0.0.1\",\n Type = \"ipsec.1\",\n });\n\n var main = new Aws.Ec2.VpnConnection(\"main\", new()\n {\n VpnGatewayId = vpnGateway.Id,\n CustomerGatewayId = customerGateway.Id,\n Type = \"ipsec.1\",\n StaticRoutesOnly = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := ec2.NewVpc(ctx, \"vpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpnGateway, err := ec2.NewVpnGateway(ctx, \"vpn_gateway\", \u0026ec2.VpnGatewayArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcustomerGateway, err := ec2.NewCustomerGateway(ctx, \"customer_gateway\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"65000\"),\n\t\t\tIpAddress: pulumi.String(\"172.0.0.1\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpnConnection(ctx, \"main\", \u0026ec2.VpnConnectionArgs{\n\t\t\tVpnGatewayId: vpnGateway.ID(),\n\t\t\tCustomerGatewayId: customerGateway.ID(),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t\tStaticRoutesOnly: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.ec2.VpnGatewayArgs;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vpc = new Vpc(\"vpc\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var vpnGateway = new VpnGateway(\"vpnGateway\", VpnGatewayArgs.builder()\n .vpcId(vpc.id())\n .build());\n\n var customerGateway = new CustomerGateway(\"customerGateway\", CustomerGatewayArgs.builder()\n .bgpAsn(65000)\n .ipAddress(\"172.0.0.1\")\n .type(\"ipsec.1\")\n .build());\n\n var main = new VpnConnection(\"main\", VpnConnectionArgs.builder()\n .vpnGatewayId(vpnGateway.id())\n .customerGatewayId(customerGateway.id())\n .type(\"ipsec.1\")\n .staticRoutesOnly(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n vpnGateway:\n type: aws:ec2:VpnGateway\n name: vpn_gateway\n properties:\n vpcId: ${vpc.id}\n customerGateway:\n type: aws:ec2:CustomerGateway\n name: customer_gateway\n properties:\n bgpAsn: 65000\n ipAddress: 172.0.0.1\n type: ipsec.1\n main:\n type: aws:ec2:VpnConnection\n properties:\n vpnGatewayId: ${vpnGateway.id}\n customerGatewayId: ${customerGateway.id}\n type: ipsec.1\n staticRoutesOnly: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS Site to Site Private VPN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGateway = new aws.directconnect.Gateway(\"example\", {\n name: \"example_ipsec_vpn_example\",\n amazonSideAsn: \"64512\",\n});\nconst exampleTransitGateway = new aws.ec2transitgateway.TransitGateway(\"example\", {\n amazonSideAsn: 64513,\n description: \"example_ipsec_vpn_example\",\n transitGatewayCidrBlocks: [\"10.0.0.0/24\"],\n});\nconst exampleCustomerGateway = new aws.ec2.CustomerGateway(\"example\", {\n bgpAsn: \"64514\",\n ipAddress: \"10.0.0.1\",\n type: \"ipsec.1\",\n tags: {\n Name: \"example_ipsec_vpn_example\",\n },\n});\nconst exampleGatewayAssociation = new aws.directconnect.GatewayAssociation(\"example\", {\n dxGatewayId: exampleGateway.id,\n associatedGatewayId: exampleTransitGateway.id,\n allowedPrefixes: [\"10.0.0.0/8\"],\n});\nconst example = aws.ec2transitgateway.getDirectConnectGatewayAttachmentOutput({\n transitGatewayId: exampleTransitGateway.id,\n dxGatewayId: exampleGateway.id,\n});\nconst exampleVpnConnection = new aws.ec2.VpnConnection(\"example\", {\n customerGatewayId: exampleCustomerGateway.id,\n outsideIpAddressType: \"PrivateIpv4\",\n transitGatewayId: exampleTransitGateway.id,\n transportTransitGatewayAttachmentId: example.apply(example =\u003e example.id),\n type: \"ipsec.1\",\n tags: {\n Name: \"example_ipsec_vpn_example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_gateway = aws.directconnect.Gateway(\"example\",\n name=\"example_ipsec_vpn_example\",\n amazon_side_asn=\"64512\")\nexample_transit_gateway = aws.ec2transitgateway.TransitGateway(\"example\",\n amazon_side_asn=64513,\n description=\"example_ipsec_vpn_example\",\n transit_gateway_cidr_blocks=[\"10.0.0.0/24\"])\nexample_customer_gateway = aws.ec2.CustomerGateway(\"example\",\n bgp_asn=\"64514\",\n ip_address=\"10.0.0.1\",\n type=\"ipsec.1\",\n tags={\n \"Name\": \"example_ipsec_vpn_example\",\n })\nexample_gateway_association = aws.directconnect.GatewayAssociation(\"example\",\n dx_gateway_id=example_gateway.id,\n associated_gateway_id=example_transit_gateway.id,\n allowed_prefixes=[\"10.0.0.0/8\"])\nexample = aws.ec2transitgateway.get_direct_connect_gateway_attachment_output(transit_gateway_id=example_transit_gateway.id,\n dx_gateway_id=example_gateway.id)\nexample_vpn_connection = aws.ec2.VpnConnection(\"example\",\n customer_gateway_id=example_customer_gateway.id,\n outside_ip_address_type=\"PrivateIpv4\",\n transit_gateway_id=example_transit_gateway.id,\n transport_transit_gateway_attachment_id=example.id,\n type=\"ipsec.1\",\n tags={\n \"Name\": \"example_ipsec_vpn_example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGateway = new Aws.DirectConnect.Gateway(\"example\", new()\n {\n Name = \"example_ipsec_vpn_example\",\n AmazonSideAsn = \"64512\",\n });\n\n var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"example\", new()\n {\n AmazonSideAsn = 64513,\n Description = \"example_ipsec_vpn_example\",\n TransitGatewayCidrBlocks = new[]\n {\n \"10.0.0.0/24\",\n },\n });\n\n var exampleCustomerGateway = new Aws.Ec2.CustomerGateway(\"example\", new()\n {\n BgpAsn = \"64514\",\n IpAddress = \"10.0.0.1\",\n Type = \"ipsec.1\",\n Tags = \n {\n { \"Name\", \"example_ipsec_vpn_example\" },\n },\n });\n\n var exampleGatewayAssociation = new Aws.DirectConnect.GatewayAssociation(\"example\", new()\n {\n DxGatewayId = exampleGateway.Id,\n AssociatedGatewayId = exampleTransitGateway.Id,\n AllowedPrefixes = new[]\n {\n \"10.0.0.0/8\",\n },\n });\n\n var example = Aws.Ec2TransitGateway.GetDirectConnectGatewayAttachment.Invoke(new()\n {\n TransitGatewayId = exampleTransitGateway.Id,\n DxGatewayId = exampleGateway.Id,\n });\n\n var exampleVpnConnection = new Aws.Ec2.VpnConnection(\"example\", new()\n {\n CustomerGatewayId = exampleCustomerGateway.Id,\n OutsideIpAddressType = \"PrivateIpv4\",\n TransitGatewayId = exampleTransitGateway.Id,\n TransportTransitGatewayAttachmentId = example.Apply(getDirectConnectGatewayAttachmentResult =\u003e getDirectConnectGatewayAttachmentResult.Id),\n Type = \"ipsec.1\",\n Tags = \n {\n { \"Name\", \"example_ipsec_vpn_example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleGateway, err := directconnect.NewGateway(ctx, \"example\", \u0026directconnect.GatewayArgs{\n\t\t\tName: pulumi.String(\"example_ipsec_vpn_example\"),\n\t\t\tAmazonSideAsn: pulumi.String(\"64512\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tAmazonSideAsn: pulumi.Int(64513),\n\t\t\tDescription: pulumi.String(\"example_ipsec_vpn_example\"),\n\t\t\tTransitGatewayCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCustomerGateway, err := ec2.NewCustomerGateway(ctx, \"example\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"64514\"),\n\t\t\tIpAddress: pulumi.String(\"10.0.0.1\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example_ipsec_vpn_example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewGatewayAssociation(ctx, \"example\", \u0026directconnect.GatewayAssociationArgs{\n\t\t\tDxGatewayId: exampleGateway.ID(),\n\t\t\tAssociatedGatewayId: exampleTransitGateway.ID(),\n\t\t\tAllowedPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/8\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := ec2transitgateway.GetDirectConnectGatewayAttachmentOutput(ctx, ec2transitgateway.GetDirectConnectGatewayAttachmentOutputArgs{\n\t\t\tTransitGatewayId: exampleTransitGateway.ID(),\n\t\t\tDxGatewayId: exampleGateway.ID(),\n\t\t}, nil)\n\t\t_, err = ec2.NewVpnConnection(ctx, \"example\", \u0026ec2.VpnConnectionArgs{\n\t\t\tCustomerGatewayId: exampleCustomerGateway.ID(),\n\t\t\tOutsideIpAddressType: pulumi.String(\"PrivateIpv4\"),\n\t\t\tTransitGatewayId: exampleTransitGateway.ID(),\n\t\t\tTransportTransitGatewayAttachmentId: pulumi.String(example.ApplyT(func(example ec2transitgateway.GetDirectConnectGatewayAttachmentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example_ipsec_vpn_example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.Gateway;\nimport com.pulumi.aws.directconnect.GatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.directconnect.GatewayAssociation;\nimport com.pulumi.aws.directconnect.GatewayAssociationArgs;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetDirectConnectGatewayAttachmentArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleGateway = new Gateway(\"exampleGateway\", GatewayArgs.builder()\n .name(\"example_ipsec_vpn_example\")\n .amazonSideAsn(\"64512\")\n .build());\n\n var exampleTransitGateway = new TransitGateway(\"exampleTransitGateway\", TransitGatewayArgs.builder()\n .amazonSideAsn(\"64513\")\n .description(\"example_ipsec_vpn_example\")\n .transitGatewayCidrBlocks(\"10.0.0.0/24\")\n .build());\n\n var exampleCustomerGateway = new CustomerGateway(\"exampleCustomerGateway\", CustomerGatewayArgs.builder()\n .bgpAsn(64514)\n .ipAddress(\"10.0.0.1\")\n .type(\"ipsec.1\")\n .tags(Map.of(\"Name\", \"example_ipsec_vpn_example\"))\n .build());\n\n var exampleGatewayAssociation = new GatewayAssociation(\"exampleGatewayAssociation\", GatewayAssociationArgs.builder()\n .dxGatewayId(exampleGateway.id())\n .associatedGatewayId(exampleTransitGateway.id())\n .allowedPrefixes(\"10.0.0.0/8\")\n .build());\n\n final var example = Ec2transitgatewayFunctions.getDirectConnectGatewayAttachment(GetDirectConnectGatewayAttachmentArgs.builder()\n .transitGatewayId(exampleTransitGateway.id())\n .dxGatewayId(exampleGateway.id())\n .build());\n\n var exampleVpnConnection = new VpnConnection(\"exampleVpnConnection\", VpnConnectionArgs.builder()\n .customerGatewayId(exampleCustomerGateway.id())\n .outsideIpAddressType(\"PrivateIpv4\")\n .transitGatewayId(exampleTransitGateway.id())\n .transportTransitGatewayAttachmentId(example.applyValue(getDirectConnectGatewayAttachmentResult -\u003e getDirectConnectGatewayAttachmentResult).applyValue(example -\u003e example.applyValue(getDirectConnectGatewayAttachmentResult -\u003e getDirectConnectGatewayAttachmentResult.id())))\n .type(\"ipsec.1\")\n .tags(Map.of(\"Name\", \"example_ipsec_vpn_example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleGateway:\n type: aws:directconnect:Gateway\n name: example\n properties:\n name: example_ipsec_vpn_example\n amazonSideAsn: '64512'\n exampleTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: example\n properties:\n amazonSideAsn: '64513'\n description: example_ipsec_vpn_example\n transitGatewayCidrBlocks:\n - 10.0.0.0/24\n exampleCustomerGateway:\n type: aws:ec2:CustomerGateway\n name: example\n properties:\n bgpAsn: 64514\n ipAddress: 10.0.0.1\n type: ipsec.1\n tags:\n Name: example_ipsec_vpn_example\n exampleGatewayAssociation:\n type: aws:directconnect:GatewayAssociation\n name: example\n properties:\n dxGatewayId: ${exampleGateway.id}\n associatedGatewayId: ${exampleTransitGateway.id}\n allowedPrefixes:\n - 10.0.0.0/8\n exampleVpnConnection:\n type: aws:ec2:VpnConnection\n name: example\n properties:\n customerGatewayId: ${exampleCustomerGateway.id}\n outsideIpAddressType: PrivateIpv4\n transitGatewayId: ${exampleTransitGateway.id}\n transportTransitGatewayAttachmentId: ${example.id}\n type: ipsec.1\n tags:\n Name: example_ipsec_vpn_example\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getDirectConnectGatewayAttachment\n arguments:\n transitGatewayId: ${exampleTransitGateway.id}\n dxGatewayId: ${exampleGateway.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPN Connections using the VPN connection `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpnConnection:VpnConnection testvpnconnection vpn-40f41529\n```\n", + "description": "Manages a Site-to-Site VPN connection. A Site-to-Site VPN connection is an Internet Protocol security (IPsec) VPN connection between a VPC and an on-premises network.\nAny new Site-to-Site VPN connection that you create is an [AWS VPN connection](https://docs.aws.amazon.com/vpn/latest/s2svpn/vpn-categories.html).\n\n\u003e **Note:** The CIDR blocks in the arguments `tunnel1_inside_cidr` and `tunnel2_inside_cidr` must have a prefix of /30 and be a part of a specific range.\n[Read more about this in the AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpnTunnelOptionsSpecification.html).\n\n## Example Usage\n\n### EC2 Transit Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.TransitGateway(\"example\", {});\nconst exampleCustomerGateway = new aws.ec2.CustomerGateway(\"example\", {\n bgpAsn: \"65000\",\n ipAddress: \"172.0.0.1\",\n type: \"ipsec.1\",\n});\nconst exampleVpnConnection = new aws.ec2.VpnConnection(\"example\", {\n customerGatewayId: exampleCustomerGateway.id,\n transitGatewayId: example.id,\n type: exampleCustomerGateway.type,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.TransitGateway(\"example\")\nexample_customer_gateway = aws.ec2.CustomerGateway(\"example\",\n bgp_asn=\"65000\",\n ip_address=\"172.0.0.1\",\n type=\"ipsec.1\")\nexample_vpn_connection = aws.ec2.VpnConnection(\"example\",\n customer_gateway_id=example_customer_gateway.id,\n transit_gateway_id=example.id,\n type=example_customer_gateway.type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.TransitGateway(\"example\");\n\n var exampleCustomerGateway = new Aws.Ec2.CustomerGateway(\"example\", new()\n {\n BgpAsn = \"65000\",\n IpAddress = \"172.0.0.1\",\n Type = \"ipsec.1\",\n });\n\n var exampleVpnConnection = new Aws.Ec2.VpnConnection(\"example\", new()\n {\n CustomerGatewayId = exampleCustomerGateway.Id,\n TransitGatewayId = example.Id,\n Type = exampleCustomerGateway.Type,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCustomerGateway, err := ec2.NewCustomerGateway(ctx, \"example\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"65000\"),\n\t\t\tIpAddress: pulumi.String(\"172.0.0.1\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpnConnection(ctx, \"example\", \u0026ec2.VpnConnectionArgs{\n\t\t\tCustomerGatewayId: exampleCustomerGateway.ID(),\n\t\t\tTransitGatewayId: example.ID(),\n\t\t\tType: exampleCustomerGateway.Type,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new TransitGateway(\"example\");\n\n var exampleCustomerGateway = new CustomerGateway(\"exampleCustomerGateway\", CustomerGatewayArgs.builder()\n .bgpAsn(65000)\n .ipAddress(\"172.0.0.1\")\n .type(\"ipsec.1\")\n .build());\n\n var exampleVpnConnection = new VpnConnection(\"exampleVpnConnection\", VpnConnectionArgs.builder()\n .customerGatewayId(exampleCustomerGateway.id())\n .transitGatewayId(example.id())\n .type(exampleCustomerGateway.type())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:TransitGateway\n exampleCustomerGateway:\n type: aws:ec2:CustomerGateway\n name: example\n properties:\n bgpAsn: 65000\n ipAddress: 172.0.0.1\n type: ipsec.1\n exampleVpnConnection:\n type: aws:ec2:VpnConnection\n name: example\n properties:\n customerGatewayId: ${exampleCustomerGateway.id}\n transitGatewayId: ${example.id}\n type: ${exampleCustomerGateway.type}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Virtual Private Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst vpc = new aws.ec2.Vpc(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst vpnGateway = new aws.ec2.VpnGateway(\"vpn_gateway\", {vpcId: vpc.id});\nconst customerGateway = new aws.ec2.CustomerGateway(\"customer_gateway\", {\n bgpAsn: \"65000\",\n ipAddress: \"172.0.0.1\",\n type: \"ipsec.1\",\n});\nconst main = new aws.ec2.VpnConnection(\"main\", {\n vpnGatewayId: vpnGateway.id,\n customerGatewayId: customerGateway.id,\n type: \"ipsec.1\",\n staticRoutesOnly: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvpc = aws.ec2.Vpc(\"vpc\", cidr_block=\"10.0.0.0/16\")\nvpn_gateway = aws.ec2.VpnGateway(\"vpn_gateway\", vpc_id=vpc.id)\ncustomer_gateway = aws.ec2.CustomerGateway(\"customer_gateway\",\n bgp_asn=\"65000\",\n ip_address=\"172.0.0.1\",\n type=\"ipsec.1\")\nmain = aws.ec2.VpnConnection(\"main\",\n vpn_gateway_id=vpn_gateway.id,\n customer_gateway_id=customer_gateway.id,\n type=\"ipsec.1\",\n static_routes_only=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpc = new Aws.Ec2.Vpc(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var vpnGateway = new Aws.Ec2.VpnGateway(\"vpn_gateway\", new()\n {\n VpcId = vpc.Id,\n });\n\n var customerGateway = new Aws.Ec2.CustomerGateway(\"customer_gateway\", new()\n {\n BgpAsn = \"65000\",\n IpAddress = \"172.0.0.1\",\n Type = \"ipsec.1\",\n });\n\n var main = new Aws.Ec2.VpnConnection(\"main\", new()\n {\n VpnGatewayId = vpnGateway.Id,\n CustomerGatewayId = customerGateway.Id,\n Type = \"ipsec.1\",\n StaticRoutesOnly = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := ec2.NewVpc(ctx, \"vpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpnGateway, err := ec2.NewVpnGateway(ctx, \"vpn_gateway\", \u0026ec2.VpnGatewayArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcustomerGateway, err := ec2.NewCustomerGateway(ctx, \"customer_gateway\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"65000\"),\n\t\t\tIpAddress: pulumi.String(\"172.0.0.1\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpnConnection(ctx, \"main\", \u0026ec2.VpnConnectionArgs{\n\t\t\tVpnGatewayId: vpnGateway.ID(),\n\t\t\tCustomerGatewayId: customerGateway.ID(),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t\tStaticRoutesOnly: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.ec2.VpnGatewayArgs;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vpc = new Vpc(\"vpc\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var vpnGateway = new VpnGateway(\"vpnGateway\", VpnGatewayArgs.builder()\n .vpcId(vpc.id())\n .build());\n\n var customerGateway = new CustomerGateway(\"customerGateway\", CustomerGatewayArgs.builder()\n .bgpAsn(65000)\n .ipAddress(\"172.0.0.1\")\n .type(\"ipsec.1\")\n .build());\n\n var main = new VpnConnection(\"main\", VpnConnectionArgs.builder()\n .vpnGatewayId(vpnGateway.id())\n .customerGatewayId(customerGateway.id())\n .type(\"ipsec.1\")\n .staticRoutesOnly(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n vpnGateway:\n type: aws:ec2:VpnGateway\n name: vpn_gateway\n properties:\n vpcId: ${vpc.id}\n customerGateway:\n type: aws:ec2:CustomerGateway\n name: customer_gateway\n properties:\n bgpAsn: 65000\n ipAddress: 172.0.0.1\n type: ipsec.1\n main:\n type: aws:ec2:VpnConnection\n properties:\n vpnGatewayId: ${vpnGateway.id}\n customerGatewayId: ${customerGateway.id}\n type: ipsec.1\n staticRoutesOnly: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS Site to Site Private VPN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGateway = new aws.directconnect.Gateway(\"example\", {\n name: \"example_ipsec_vpn_example\",\n amazonSideAsn: \"64512\",\n});\nconst exampleTransitGateway = new aws.ec2transitgateway.TransitGateway(\"example\", {\n amazonSideAsn: 64513,\n description: \"example_ipsec_vpn_example\",\n transitGatewayCidrBlocks: [\"10.0.0.0/24\"],\n});\nconst exampleCustomerGateway = new aws.ec2.CustomerGateway(\"example\", {\n bgpAsn: \"64514\",\n ipAddress: \"10.0.0.1\",\n type: \"ipsec.1\",\n tags: {\n Name: \"example_ipsec_vpn_example\",\n },\n});\nconst exampleGatewayAssociation = new aws.directconnect.GatewayAssociation(\"example\", {\n dxGatewayId: exampleGateway.id,\n associatedGatewayId: exampleTransitGateway.id,\n allowedPrefixes: [\"10.0.0.0/8\"],\n});\nconst example = aws.ec2transitgateway.getDirectConnectGatewayAttachmentOutput({\n transitGatewayId: exampleTransitGateway.id,\n dxGatewayId: exampleGateway.id,\n});\nconst exampleVpnConnection = new aws.ec2.VpnConnection(\"example\", {\n customerGatewayId: exampleCustomerGateway.id,\n outsideIpAddressType: \"PrivateIpv4\",\n transitGatewayId: exampleTransitGateway.id,\n transportTransitGatewayAttachmentId: example.apply(example =\u003e example.id),\n type: \"ipsec.1\",\n tags: {\n Name: \"example_ipsec_vpn_example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_gateway = aws.directconnect.Gateway(\"example\",\n name=\"example_ipsec_vpn_example\",\n amazon_side_asn=\"64512\")\nexample_transit_gateway = aws.ec2transitgateway.TransitGateway(\"example\",\n amazon_side_asn=64513,\n description=\"example_ipsec_vpn_example\",\n transit_gateway_cidr_blocks=[\"10.0.0.0/24\"])\nexample_customer_gateway = aws.ec2.CustomerGateway(\"example\",\n bgp_asn=\"64514\",\n ip_address=\"10.0.0.1\",\n type=\"ipsec.1\",\n tags={\n \"Name\": \"example_ipsec_vpn_example\",\n })\nexample_gateway_association = aws.directconnect.GatewayAssociation(\"example\",\n dx_gateway_id=example_gateway.id,\n associated_gateway_id=example_transit_gateway.id,\n allowed_prefixes=[\"10.0.0.0/8\"])\nexample = aws.ec2transitgateway.get_direct_connect_gateway_attachment_output(transit_gateway_id=example_transit_gateway.id,\n dx_gateway_id=example_gateway.id)\nexample_vpn_connection = aws.ec2.VpnConnection(\"example\",\n customer_gateway_id=example_customer_gateway.id,\n outside_ip_address_type=\"PrivateIpv4\",\n transit_gateway_id=example_transit_gateway.id,\n transport_transit_gateway_attachment_id=example.id,\n type=\"ipsec.1\",\n tags={\n \"Name\": \"example_ipsec_vpn_example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGateway = new Aws.DirectConnect.Gateway(\"example\", new()\n {\n Name = \"example_ipsec_vpn_example\",\n AmazonSideAsn = \"64512\",\n });\n\n var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"example\", new()\n {\n AmazonSideAsn = 64513,\n Description = \"example_ipsec_vpn_example\",\n TransitGatewayCidrBlocks = new[]\n {\n \"10.0.0.0/24\",\n },\n });\n\n var exampleCustomerGateway = new Aws.Ec2.CustomerGateway(\"example\", new()\n {\n BgpAsn = \"64514\",\n IpAddress = \"10.0.0.1\",\n Type = \"ipsec.1\",\n Tags = \n {\n { \"Name\", \"example_ipsec_vpn_example\" },\n },\n });\n\n var exampleGatewayAssociation = new Aws.DirectConnect.GatewayAssociation(\"example\", new()\n {\n DxGatewayId = exampleGateway.Id,\n AssociatedGatewayId = exampleTransitGateway.Id,\n AllowedPrefixes = new[]\n {\n \"10.0.0.0/8\",\n },\n });\n\n var example = Aws.Ec2TransitGateway.GetDirectConnectGatewayAttachment.Invoke(new()\n {\n TransitGatewayId = exampleTransitGateway.Id,\n DxGatewayId = exampleGateway.Id,\n });\n\n var exampleVpnConnection = new Aws.Ec2.VpnConnection(\"example\", new()\n {\n CustomerGatewayId = exampleCustomerGateway.Id,\n OutsideIpAddressType = \"PrivateIpv4\",\n TransitGatewayId = exampleTransitGateway.Id,\n TransportTransitGatewayAttachmentId = example.Apply(getDirectConnectGatewayAttachmentResult =\u003e getDirectConnectGatewayAttachmentResult.Id),\n Type = \"ipsec.1\",\n Tags = \n {\n { \"Name\", \"example_ipsec_vpn_example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleGateway, err := directconnect.NewGateway(ctx, \"example\", \u0026directconnect.GatewayArgs{\n\t\t\tName: pulumi.String(\"example_ipsec_vpn_example\"),\n\t\t\tAmazonSideAsn: pulumi.String(\"64512\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tAmazonSideAsn: pulumi.Int(64513),\n\t\t\tDescription: pulumi.String(\"example_ipsec_vpn_example\"),\n\t\t\tTransitGatewayCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCustomerGateway, err := ec2.NewCustomerGateway(ctx, \"example\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"64514\"),\n\t\t\tIpAddress: pulumi.String(\"10.0.0.1\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example_ipsec_vpn_example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewGatewayAssociation(ctx, \"example\", \u0026directconnect.GatewayAssociationArgs{\n\t\t\tDxGatewayId: exampleGateway.ID(),\n\t\t\tAssociatedGatewayId: exampleTransitGateway.ID(),\n\t\t\tAllowedPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/8\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := ec2transitgateway.GetDirectConnectGatewayAttachmentOutput(ctx, ec2transitgateway.GetDirectConnectGatewayAttachmentOutputArgs{\n\t\t\tTransitGatewayId: exampleTransitGateway.ID(),\n\t\t\tDxGatewayId: exampleGateway.ID(),\n\t\t}, nil)\n\t\t_, err = ec2.NewVpnConnection(ctx, \"example\", \u0026ec2.VpnConnectionArgs{\n\t\t\tCustomerGatewayId: exampleCustomerGateway.ID(),\n\t\t\tOutsideIpAddressType: pulumi.String(\"PrivateIpv4\"),\n\t\t\tTransitGatewayId: exampleTransitGateway.ID(),\n\t\t\tTransportTransitGatewayAttachmentId: pulumi.String(example.ApplyT(func(example ec2transitgateway.GetDirectConnectGatewayAttachmentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example_ipsec_vpn_example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.Gateway;\nimport com.pulumi.aws.directconnect.GatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.directconnect.GatewayAssociation;\nimport com.pulumi.aws.directconnect.GatewayAssociationArgs;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetDirectConnectGatewayAttachmentArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleGateway = new Gateway(\"exampleGateway\", GatewayArgs.builder()\n .name(\"example_ipsec_vpn_example\")\n .amazonSideAsn(\"64512\")\n .build());\n\n var exampleTransitGateway = new TransitGateway(\"exampleTransitGateway\", TransitGatewayArgs.builder()\n .amazonSideAsn(\"64513\")\n .description(\"example_ipsec_vpn_example\")\n .transitGatewayCidrBlocks(\"10.0.0.0/24\")\n .build());\n\n var exampleCustomerGateway = new CustomerGateway(\"exampleCustomerGateway\", CustomerGatewayArgs.builder()\n .bgpAsn(64514)\n .ipAddress(\"10.0.0.1\")\n .type(\"ipsec.1\")\n .tags(Map.of(\"Name\", \"example_ipsec_vpn_example\"))\n .build());\n\n var exampleGatewayAssociation = new GatewayAssociation(\"exampleGatewayAssociation\", GatewayAssociationArgs.builder()\n .dxGatewayId(exampleGateway.id())\n .associatedGatewayId(exampleTransitGateway.id())\n .allowedPrefixes(\"10.0.0.0/8\")\n .build());\n\n final var example = Ec2transitgatewayFunctions.getDirectConnectGatewayAttachment(GetDirectConnectGatewayAttachmentArgs.builder()\n .transitGatewayId(exampleTransitGateway.id())\n .dxGatewayId(exampleGateway.id())\n .build());\n\n var exampleVpnConnection = new VpnConnection(\"exampleVpnConnection\", VpnConnectionArgs.builder()\n .customerGatewayId(exampleCustomerGateway.id())\n .outsideIpAddressType(\"PrivateIpv4\")\n .transitGatewayId(exampleTransitGateway.id())\n .transportTransitGatewayAttachmentId(example.applyValue(getDirectConnectGatewayAttachmentResult -\u003e getDirectConnectGatewayAttachmentResult).applyValue(example -\u003e example.applyValue(getDirectConnectGatewayAttachmentResult -\u003e getDirectConnectGatewayAttachmentResult.id())))\n .type(\"ipsec.1\")\n .tags(Map.of(\"Name\", \"example_ipsec_vpn_example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleGateway:\n type: aws:directconnect:Gateway\n name: example\n properties:\n name: example_ipsec_vpn_example\n amazonSideAsn: '64512'\n exampleTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: example\n properties:\n amazonSideAsn: '64513'\n description: example_ipsec_vpn_example\n transitGatewayCidrBlocks:\n - 10.0.0.0/24\n exampleCustomerGateway:\n type: aws:ec2:CustomerGateway\n name: example\n properties:\n bgpAsn: 64514\n ipAddress: 10.0.0.1\n type: ipsec.1\n tags:\n Name: example_ipsec_vpn_example\n exampleGatewayAssociation:\n type: aws:directconnect:GatewayAssociation\n name: example\n properties:\n dxGatewayId: ${exampleGateway.id}\n associatedGatewayId: ${exampleTransitGateway.id}\n allowedPrefixes:\n - 10.0.0.0/8\n exampleVpnConnection:\n type: aws:ec2:VpnConnection\n name: example\n properties:\n customerGatewayId: ${exampleCustomerGateway.id}\n outsideIpAddressType: PrivateIpv4\n transitGatewayId: ${exampleTransitGateway.id}\n transportTransitGatewayAttachmentId: ${example.id}\n type: ipsec.1\n tags:\n Name: example_ipsec_vpn_example\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getDirectConnectGatewayAttachment\n Arguments:\n transitGatewayId: ${exampleTransitGateway.id}\n dxGatewayId: ${exampleGateway.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPN Connections using the VPN connection `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpnConnection:VpnConnection testvpnconnection vpn-40f41529\n```\n", "properties": { "arn": { "type": "string", @@ -251502,7 +251502,7 @@ } }, "aws:ec2transitgateway/instanceState:InstanceState": { - "description": "Provides an EC2 instance state resource. This allows managing an instance power state.\n\n\u003e **NOTE on Instance State Management:** AWS does not currently have an EC2 API operation to determine an instance has finished processing user data. As a result, this resource can interfere with user data processing. For example, this resource may stop an instance while the user data script is in mid run.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ubuntu = aws.ec2.getAmi({\n mostRecent: true,\n filters: [\n {\n name: \"name\",\n values: [\"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\"],\n },\n {\n name: \"virtualization-type\",\n values: [\"hvm\"],\n },\n ],\n owners: [\"099720109477\"],\n});\nconst test = new aws.ec2.Instance(\"test\", {\n ami: ubuntu.then(ubuntu =\u003e ubuntu.id),\n instanceType: aws.ec2.InstanceType.T3_Micro,\n tags: {\n Name: \"HelloWorld\",\n },\n});\nconst testInstanceState = new aws.ec2transitgateway.InstanceState(\"test\", {\n instanceId: test.id,\n state: \"stopped\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nubuntu = aws.ec2.get_ami(most_recent=True,\n filters=[\n {\n \"name\": \"name\",\n \"values\": [\"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\"],\n },\n {\n \"name\": \"virtualization-type\",\n \"values\": [\"hvm\"],\n },\n ],\n owners=[\"099720109477\"])\ntest = aws.ec2.Instance(\"test\",\n ami=ubuntu.id,\n instance_type=aws.ec2.InstanceType.T3_MICRO,\n tags={\n \"Name\": \"HelloWorld\",\n })\ntest_instance_state = aws.ec2transitgateway.InstanceState(\"test\",\n instance_id=test.id,\n state=\"stopped\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ubuntu = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"virtualization-type\",\n Values = new[]\n {\n \"hvm\",\n },\n },\n },\n Owners = new[]\n {\n \"099720109477\",\n },\n });\n\n var test = new Aws.Ec2.Instance(\"test\", new()\n {\n Ami = ubuntu.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T3_Micro,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n var testInstanceState = new Aws.Ec2TransitGateway.InstanceState(\"test\", new()\n {\n InstanceId = test.Id,\n State = \"stopped\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tubuntu, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"virtualization-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"hvm\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOwners: []string{\n\t\t\t\t\"099720109477\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := ec2.NewInstance(ctx, \"test\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(ubuntu.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T3_Micro),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewInstanceState(ctx, \"test\", \u0026ec2transitgateway.InstanceStateArgs{\n\t\t\tInstanceId: test.ID(),\n\t\t\tState: pulumi.String(\"stopped\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2transitgateway.InstanceState;\nimport com.pulumi.aws.ec2transitgateway.InstanceStateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ubuntu = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"virtualization-type\")\n .values(\"hvm\")\n .build())\n .owners(\"099720109477\")\n .build());\n\n var test = new Instance(\"test\", InstanceArgs.builder()\n .ami(ubuntu.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t3.micro\")\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n var testInstanceState = new InstanceState(\"testInstanceState\", InstanceStateArgs.builder()\n .instanceId(test.id())\n .state(\"stopped\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:Instance\n properties:\n ami: ${ubuntu.id}\n instanceType: t3.micro\n tags:\n Name: HelloWorld\n testInstanceState:\n type: aws:ec2transitgateway:InstanceState\n name: test\n properties:\n instanceId: ${test.id}\n state: stopped\nvariables:\n ubuntu:\n fn::invoke:\n function: aws:ec2:getAmi\n arguments:\n mostRecent: true\n filters:\n - name: name\n values:\n - ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\n - name: virtualization-type\n values:\n - hvm\n owners:\n - '099720109477'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_instance_state` using the `instance_id` attribute. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/instanceState:InstanceState test i-02cae6557dfcf2f96\n```\n", + "description": "Provides an EC2 instance state resource. This allows managing an instance power state.\n\n\u003e **NOTE on Instance State Management:** AWS does not currently have an EC2 API operation to determine an instance has finished processing user data. As a result, this resource can interfere with user data processing. For example, this resource may stop an instance while the user data script is in mid run.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ubuntu = aws.ec2.getAmi({\n mostRecent: true,\n filters: [\n {\n name: \"name\",\n values: [\"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\"],\n },\n {\n name: \"virtualization-type\",\n values: [\"hvm\"],\n },\n ],\n owners: [\"099720109477\"],\n});\nconst test = new aws.ec2.Instance(\"test\", {\n ami: ubuntu.then(ubuntu =\u003e ubuntu.id),\n instanceType: aws.ec2.InstanceType.T3_Micro,\n tags: {\n Name: \"HelloWorld\",\n },\n});\nconst testInstanceState = new aws.ec2transitgateway.InstanceState(\"test\", {\n instanceId: test.id,\n state: \"stopped\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nubuntu = aws.ec2.get_ami(most_recent=True,\n filters=[\n {\n \"name\": \"name\",\n \"values\": [\"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\"],\n },\n {\n \"name\": \"virtualization-type\",\n \"values\": [\"hvm\"],\n },\n ],\n owners=[\"099720109477\"])\ntest = aws.ec2.Instance(\"test\",\n ami=ubuntu.id,\n instance_type=aws.ec2.InstanceType.T3_MICRO,\n tags={\n \"Name\": \"HelloWorld\",\n })\ntest_instance_state = aws.ec2transitgateway.InstanceState(\"test\",\n instance_id=test.id,\n state=\"stopped\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ubuntu = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"virtualization-type\",\n Values = new[]\n {\n \"hvm\",\n },\n },\n },\n Owners = new[]\n {\n \"099720109477\",\n },\n });\n\n var test = new Aws.Ec2.Instance(\"test\", new()\n {\n Ami = ubuntu.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T3_Micro,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n var testInstanceState = new Aws.Ec2TransitGateway.InstanceState(\"test\", new()\n {\n InstanceId = test.Id,\n State = \"stopped\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tubuntu, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"virtualization-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"hvm\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOwners: []string{\n\t\t\t\t\"099720109477\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := ec2.NewInstance(ctx, \"test\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(ubuntu.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T3_Micro),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewInstanceState(ctx, \"test\", \u0026ec2transitgateway.InstanceStateArgs{\n\t\t\tInstanceId: test.ID(),\n\t\t\tState: pulumi.String(\"stopped\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2transitgateway.InstanceState;\nimport com.pulumi.aws.ec2transitgateway.InstanceStateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ubuntu = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"virtualization-type\")\n .values(\"hvm\")\n .build())\n .owners(\"099720109477\")\n .build());\n\n var test = new Instance(\"test\", InstanceArgs.builder()\n .ami(ubuntu.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t3.micro\")\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n var testInstanceState = new InstanceState(\"testInstanceState\", InstanceStateArgs.builder()\n .instanceId(test.id())\n .state(\"stopped\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:Instance\n properties:\n ami: ${ubuntu.id}\n instanceType: t3.micro\n tags:\n Name: HelloWorld\n testInstanceState:\n type: aws:ec2transitgateway:InstanceState\n name: test\n properties:\n instanceId: ${test.id}\n state: stopped\nvariables:\n ubuntu:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n filters:\n - name: name\n values:\n - ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\n - name: virtualization-type\n values:\n - hvm\n owners:\n - '099720109477'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_instance_state` using the `instance_id` attribute. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/instanceState:InstanceState test i-02cae6557dfcf2f96\n```\n", "properties": { "force": { "type": "boolean", @@ -251561,7 +251561,7 @@ } }, "aws:ec2transitgateway/multicastDomain:MulticastDomain": { - "description": "Manages an EC2 Transit Gateway Multicast Domain.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n});\nconst amazonLinux = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [\n {\n name: \"name\",\n values: [\"amzn-ami-hvm-*-x86_64-gp2\"],\n },\n {\n name: \"owner-alias\",\n values: [\"amazon\"],\n },\n ],\n});\nconst vpc1 = new aws.ec2.Vpc(\"vpc1\", {cidrBlock: \"10.0.0.0/16\"});\nconst vpc2 = new aws.ec2.Vpc(\"vpc2\", {cidrBlock: \"10.1.0.0/16\"});\nconst subnet1 = new aws.ec2.Subnet(\"subnet1\", {\n vpcId: vpc1.id,\n cidrBlock: \"10.0.1.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\nconst subnet2 = new aws.ec2.Subnet(\"subnet2\", {\n vpcId: vpc1.id,\n cidrBlock: \"10.0.2.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[1]),\n});\nconst subnet3 = new aws.ec2.Subnet(\"subnet3\", {\n vpcId: vpc2.id,\n cidrBlock: \"10.1.1.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\nconst instance1 = new aws.ec2.Instance(\"instance1\", {\n ami: amazonLinux.then(amazonLinux =\u003e amazonLinux.id),\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: subnet1.id,\n});\nconst instance2 = new aws.ec2.Instance(\"instance2\", {\n ami: amazonLinux.then(amazonLinux =\u003e amazonLinux.id),\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: subnet2.id,\n});\nconst instance3 = new aws.ec2.Instance(\"instance3\", {\n ami: amazonLinux.then(amazonLinux =\u003e amazonLinux.id),\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: subnet3.id,\n});\nconst tgw = new aws.ec2transitgateway.TransitGateway(\"tgw\", {multicastSupport: \"enable\"});\nconst attachment1 = new aws.ec2transitgateway.VpcAttachment(\"attachment1\", {\n subnetIds: [\n subnet1.id,\n subnet2.id,\n ],\n transitGatewayId: tgw.id,\n vpcId: vpc1.id,\n});\nconst attachment2 = new aws.ec2transitgateway.VpcAttachment(\"attachment2\", {\n subnetIds: [subnet3.id],\n transitGatewayId: tgw.id,\n vpcId: vpc2.id,\n});\nconst domain = new aws.ec2transitgateway.MulticastDomain(\"domain\", {\n transitGatewayId: tgw.id,\n staticSourcesSupport: \"enable\",\n tags: {\n Name: \"Transit_Gateway_Multicast_Domain_Example\",\n },\n});\nconst association3 = new aws.ec2transitgateway.MulticastDomainAssociation(\"association3\", {\n subnetId: subnet3.id,\n transitGatewayAttachmentId: attachment2.id,\n transitGatewayMulticastDomainId: domain.id,\n});\nconst source = new aws.ec2transitgateway.MulticastGroupSource(\"source\", {\n groupIpAddress: \"224.0.0.1\",\n networkInterfaceId: instance3.primaryNetworkInterfaceId,\n transitGatewayMulticastDomainId: association3.transitGatewayMulticastDomainId,\n});\nconst association1 = new aws.ec2transitgateway.MulticastDomainAssociation(\"association1\", {\n subnetId: subnet1.id,\n transitGatewayAttachmentId: attachment1.id,\n transitGatewayMulticastDomainId: domain.id,\n});\nconst association2 = new aws.ec2transitgateway.MulticastDomainAssociation(\"association2\", {\n subnetId: subnet2.id,\n transitGatewayAttachmentId: attachment2.id,\n transitGatewayMulticastDomainId: domain.id,\n});\nconst member1 = new aws.ec2transitgateway.MulticastGroupMember(\"member1\", {\n groupIpAddress: \"224.0.0.1\",\n networkInterfaceId: instance1.primaryNetworkInterfaceId,\n transitGatewayMulticastDomainId: association1.transitGatewayMulticastDomainId,\n});\nconst member2 = new aws.ec2transitgateway.MulticastGroupMember(\"member2\", {\n groupIpAddress: \"224.0.0.1\",\n networkInterfaceId: instance2.primaryNetworkInterfaceId,\n transitGatewayMulticastDomainId: association1.transitGatewayMulticastDomainId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\")\namazon_linux = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[\n {\n \"name\": \"name\",\n \"values\": [\"amzn-ami-hvm-*-x86_64-gp2\"],\n },\n {\n \"name\": \"owner-alias\",\n \"values\": [\"amazon\"],\n },\n ])\nvpc1 = aws.ec2.Vpc(\"vpc1\", cidr_block=\"10.0.0.0/16\")\nvpc2 = aws.ec2.Vpc(\"vpc2\", cidr_block=\"10.1.0.0/16\")\nsubnet1 = aws.ec2.Subnet(\"subnet1\",\n vpc_id=vpc1.id,\n cidr_block=\"10.0.1.0/24\",\n availability_zone=available.names[0])\nsubnet2 = aws.ec2.Subnet(\"subnet2\",\n vpc_id=vpc1.id,\n cidr_block=\"10.0.2.0/24\",\n availability_zone=available.names[1])\nsubnet3 = aws.ec2.Subnet(\"subnet3\",\n vpc_id=vpc2.id,\n cidr_block=\"10.1.1.0/24\",\n availability_zone=available.names[0])\ninstance1 = aws.ec2.Instance(\"instance1\",\n ami=amazon_linux.id,\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=subnet1.id)\ninstance2 = aws.ec2.Instance(\"instance2\",\n ami=amazon_linux.id,\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=subnet2.id)\ninstance3 = aws.ec2.Instance(\"instance3\",\n ami=amazon_linux.id,\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=subnet3.id)\ntgw = aws.ec2transitgateway.TransitGateway(\"tgw\", multicast_support=\"enable\")\nattachment1 = aws.ec2transitgateway.VpcAttachment(\"attachment1\",\n subnet_ids=[\n subnet1.id,\n subnet2.id,\n ],\n transit_gateway_id=tgw.id,\n vpc_id=vpc1.id)\nattachment2 = aws.ec2transitgateway.VpcAttachment(\"attachment2\",\n subnet_ids=[subnet3.id],\n transit_gateway_id=tgw.id,\n vpc_id=vpc2.id)\ndomain = aws.ec2transitgateway.MulticastDomain(\"domain\",\n transit_gateway_id=tgw.id,\n static_sources_support=\"enable\",\n tags={\n \"Name\": \"Transit_Gateway_Multicast_Domain_Example\",\n })\nassociation3 = aws.ec2transitgateway.MulticastDomainAssociation(\"association3\",\n subnet_id=subnet3.id,\n transit_gateway_attachment_id=attachment2.id,\n transit_gateway_multicast_domain_id=domain.id)\nsource = aws.ec2transitgateway.MulticastGroupSource(\"source\",\n group_ip_address=\"224.0.0.1\",\n network_interface_id=instance3.primary_network_interface_id,\n transit_gateway_multicast_domain_id=association3.transit_gateway_multicast_domain_id)\nassociation1 = aws.ec2transitgateway.MulticastDomainAssociation(\"association1\",\n subnet_id=subnet1.id,\n transit_gateway_attachment_id=attachment1.id,\n transit_gateway_multicast_domain_id=domain.id)\nassociation2 = aws.ec2transitgateway.MulticastDomainAssociation(\"association2\",\n subnet_id=subnet2.id,\n transit_gateway_attachment_id=attachment2.id,\n transit_gateway_multicast_domain_id=domain.id)\nmember1 = aws.ec2transitgateway.MulticastGroupMember(\"member1\",\n group_ip_address=\"224.0.0.1\",\n network_interface_id=instance1.primary_network_interface_id,\n transit_gateway_multicast_domain_id=association1.transit_gateway_multicast_domain_id)\nmember2 = aws.ec2transitgateway.MulticastGroupMember(\"member2\",\n group_ip_address=\"224.0.0.1\",\n network_interface_id=instance2.primary_network_interface_id,\n transit_gateway_multicast_domain_id=association1.transit_gateway_multicast_domain_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n var amazonLinux = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"amzn-ami-hvm-*-x86_64-gp2\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"owner-alias\",\n Values = new[]\n {\n \"amazon\",\n },\n },\n },\n });\n\n var vpc1 = new Aws.Ec2.Vpc(\"vpc1\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var vpc2 = new Aws.Ec2.Vpc(\"vpc2\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var subnet1 = new Aws.Ec2.Subnet(\"subnet1\", new()\n {\n VpcId = vpc1.Id,\n CidrBlock = \"10.0.1.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var subnet2 = new Aws.Ec2.Subnet(\"subnet2\", new()\n {\n VpcId = vpc1.Id,\n CidrBlock = \"10.0.2.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n });\n\n var subnet3 = new Aws.Ec2.Subnet(\"subnet3\", new()\n {\n VpcId = vpc2.Id,\n CidrBlock = \"10.1.1.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var instance1 = new Aws.Ec2.Instance(\"instance1\", new()\n {\n Ami = amazonLinux.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = subnet1.Id,\n });\n\n var instance2 = new Aws.Ec2.Instance(\"instance2\", new()\n {\n Ami = amazonLinux.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = subnet2.Id,\n });\n\n var instance3 = new Aws.Ec2.Instance(\"instance3\", new()\n {\n Ami = amazonLinux.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = subnet3.Id,\n });\n\n var tgw = new Aws.Ec2TransitGateway.TransitGateway(\"tgw\", new()\n {\n MulticastSupport = \"enable\",\n });\n\n var attachment1 = new Aws.Ec2TransitGateway.VpcAttachment(\"attachment1\", new()\n {\n SubnetIds = new[]\n {\n subnet1.Id,\n subnet2.Id,\n },\n TransitGatewayId = tgw.Id,\n VpcId = vpc1.Id,\n });\n\n var attachment2 = new Aws.Ec2TransitGateway.VpcAttachment(\"attachment2\", new()\n {\n SubnetIds = new[]\n {\n subnet3.Id,\n },\n TransitGatewayId = tgw.Id,\n VpcId = vpc2.Id,\n });\n\n var domain = new Aws.Ec2TransitGateway.MulticastDomain(\"domain\", new()\n {\n TransitGatewayId = tgw.Id,\n StaticSourcesSupport = \"enable\",\n Tags = \n {\n { \"Name\", \"Transit_Gateway_Multicast_Domain_Example\" },\n },\n });\n\n var association3 = new Aws.Ec2TransitGateway.MulticastDomainAssociation(\"association3\", new()\n {\n SubnetId = subnet3.Id,\n TransitGatewayAttachmentId = attachment2.Id,\n TransitGatewayMulticastDomainId = domain.Id,\n });\n\n var source = new Aws.Ec2TransitGateway.MulticastGroupSource(\"source\", new()\n {\n GroupIpAddress = \"224.0.0.1\",\n NetworkInterfaceId = instance3.PrimaryNetworkInterfaceId,\n TransitGatewayMulticastDomainId = association3.TransitGatewayMulticastDomainId,\n });\n\n var association1 = new Aws.Ec2TransitGateway.MulticastDomainAssociation(\"association1\", new()\n {\n SubnetId = subnet1.Id,\n TransitGatewayAttachmentId = attachment1.Id,\n TransitGatewayMulticastDomainId = domain.Id,\n });\n\n var association2 = new Aws.Ec2TransitGateway.MulticastDomainAssociation(\"association2\", new()\n {\n SubnetId = subnet2.Id,\n TransitGatewayAttachmentId = attachment2.Id,\n TransitGatewayMulticastDomainId = domain.Id,\n });\n\n var member1 = new Aws.Ec2TransitGateway.MulticastGroupMember(\"member1\", new()\n {\n GroupIpAddress = \"224.0.0.1\",\n NetworkInterfaceId = instance1.PrimaryNetworkInterfaceId,\n TransitGatewayMulticastDomainId = association1.TransitGatewayMulticastDomainId,\n });\n\n var member2 = new Aws.Ec2TransitGateway.MulticastGroupMember(\"member2\", new()\n {\n GroupIpAddress = \"224.0.0.1\",\n NetworkInterfaceId = instance2.PrimaryNetworkInterfaceId,\n TransitGatewayMulticastDomainId = association1.TransitGatewayMulticastDomainId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tamazonLinux, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amzn-ami-hvm-*-x86_64-gp2\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"owner-alias\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amazon\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc1, err := ec2.NewVpc(ctx, \"vpc1\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc2, err := ec2.NewVpc(ctx, \"vpc2\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet1, err := ec2.NewSubnet(ctx, \"subnet1\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: vpc1.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet2, err := ec2.NewSubnet(ctx, \"subnet2\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: vpc1.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[1]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet3, err := ec2.NewSubnet(ctx, \"subnet3\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: vpc2.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.1.1.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance1, err := ec2.NewInstance(ctx, \"instance1\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(amazonLinux.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: subnet1.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance2, err := ec2.NewInstance(ctx, \"instance2\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(amazonLinux.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: subnet2.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance3, err := ec2.NewInstance(ctx, \"instance3\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(amazonLinux.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: subnet3.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttgw, err := ec2transitgateway.NewTransitGateway(ctx, \"tgw\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tMulticastSupport: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tattachment1, err := ec2transitgateway.NewVpcAttachment(ctx, \"attachment1\", \u0026ec2transitgateway.VpcAttachmentArgs{\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tsubnet1.ID(),\n\t\t\t\tsubnet2.ID(),\n\t\t\t},\n\t\t\tTransitGatewayId: tgw.ID(),\n\t\t\tVpcId: vpc1.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tattachment2, err := ec2transitgateway.NewVpcAttachment(ctx, \"attachment2\", \u0026ec2transitgateway.VpcAttachmentArgs{\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tsubnet3.ID(),\n\t\t\t},\n\t\t\tTransitGatewayId: tgw.ID(),\n\t\t\tVpcId: vpc2.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdomain, err := ec2transitgateway.NewMulticastDomain(ctx, \"domain\", \u0026ec2transitgateway.MulticastDomainArgs{\n\t\t\tTransitGatewayId: tgw.ID(),\n\t\t\tStaticSourcesSupport: pulumi.String(\"enable\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Transit_Gateway_Multicast_Domain_Example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassociation3, err := ec2transitgateway.NewMulticastDomainAssociation(ctx, \"association3\", \u0026ec2transitgateway.MulticastDomainAssociationArgs{\n\t\t\tSubnetId: subnet3.ID(),\n\t\t\tTransitGatewayAttachmentId: attachment2.ID(),\n\t\t\tTransitGatewayMulticastDomainId: domain.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewMulticastGroupSource(ctx, \"source\", \u0026ec2transitgateway.MulticastGroupSourceArgs{\n\t\t\tGroupIpAddress: pulumi.String(\"224.0.0.1\"),\n\t\t\tNetworkInterfaceId: instance3.PrimaryNetworkInterfaceId,\n\t\t\tTransitGatewayMulticastDomainId: association3.TransitGatewayMulticastDomainId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassociation1, err := ec2transitgateway.NewMulticastDomainAssociation(ctx, \"association1\", \u0026ec2transitgateway.MulticastDomainAssociationArgs{\n\t\t\tSubnetId: subnet1.ID(),\n\t\t\tTransitGatewayAttachmentId: attachment1.ID(),\n\t\t\tTransitGatewayMulticastDomainId: domain.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewMulticastDomainAssociation(ctx, \"association2\", \u0026ec2transitgateway.MulticastDomainAssociationArgs{\n\t\t\tSubnetId: subnet2.ID(),\n\t\t\tTransitGatewayAttachmentId: attachment2.ID(),\n\t\t\tTransitGatewayMulticastDomainId: domain.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewMulticastGroupMember(ctx, \"member1\", \u0026ec2transitgateway.MulticastGroupMemberArgs{\n\t\t\tGroupIpAddress: pulumi.String(\"224.0.0.1\"),\n\t\t\tNetworkInterfaceId: instance1.PrimaryNetworkInterfaceId,\n\t\t\tTransitGatewayMulticastDomainId: association1.TransitGatewayMulticastDomainId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewMulticastGroupMember(ctx, \"member2\", \u0026ec2transitgateway.MulticastGroupMemberArgs{\n\t\t\tGroupIpAddress: pulumi.String(\"224.0.0.1\"),\n\t\t\tNetworkInterfaceId: instance2.PrimaryNetworkInterfaceId,\n\t\t\tTransitGatewayMulticastDomainId: association1.TransitGatewayMulticastDomainId,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachment;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachmentArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomain;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomainArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomainAssociation;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomainAssociationArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupSource;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupSourceArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupMember;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n final var amazonLinux = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"amzn-ami-hvm-*-x86_64-gp2\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"owner-alias\")\n .values(\"amazon\")\n .build())\n .build());\n\n var vpc1 = new Vpc(\"vpc1\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var vpc2 = new Vpc(\"vpc2\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var subnet1 = new Subnet(\"subnet1\", SubnetArgs.builder()\n .vpcId(vpc1.id())\n .cidrBlock(\"10.0.1.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var subnet2 = new Subnet(\"subnet2\", SubnetArgs.builder()\n .vpcId(vpc1.id())\n .cidrBlock(\"10.0.2.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .build());\n\n var subnet3 = new Subnet(\"subnet3\", SubnetArgs.builder()\n .vpcId(vpc2.id())\n .cidrBlock(\"10.1.1.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var instance1 = new Instance(\"instance1\", InstanceArgs.builder()\n .ami(amazonLinux.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .subnetId(subnet1.id())\n .build());\n\n var instance2 = new Instance(\"instance2\", InstanceArgs.builder()\n .ami(amazonLinux.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .subnetId(subnet2.id())\n .build());\n\n var instance3 = new Instance(\"instance3\", InstanceArgs.builder()\n .ami(amazonLinux.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .subnetId(subnet3.id())\n .build());\n\n var tgw = new TransitGateway(\"tgw\", TransitGatewayArgs.builder()\n .multicastSupport(\"enable\")\n .build());\n\n var attachment1 = new VpcAttachment(\"attachment1\", VpcAttachmentArgs.builder()\n .subnetIds( \n subnet1.id(),\n subnet2.id())\n .transitGatewayId(tgw.id())\n .vpcId(vpc1.id())\n .build());\n\n var attachment2 = new VpcAttachment(\"attachment2\", VpcAttachmentArgs.builder()\n .subnetIds(subnet3.id())\n .transitGatewayId(tgw.id())\n .vpcId(vpc2.id())\n .build());\n\n var domain = new MulticastDomain(\"domain\", MulticastDomainArgs.builder()\n .transitGatewayId(tgw.id())\n .staticSourcesSupport(\"enable\")\n .tags(Map.of(\"Name\", \"Transit_Gateway_Multicast_Domain_Example\"))\n .build());\n\n var association3 = new MulticastDomainAssociation(\"association3\", MulticastDomainAssociationArgs.builder()\n .subnetId(subnet3.id())\n .transitGatewayAttachmentId(attachment2.id())\n .transitGatewayMulticastDomainId(domain.id())\n .build());\n\n var source = new MulticastGroupSource(\"source\", MulticastGroupSourceArgs.builder()\n .groupIpAddress(\"224.0.0.1\")\n .networkInterfaceId(instance3.primaryNetworkInterfaceId())\n .transitGatewayMulticastDomainId(association3.transitGatewayMulticastDomainId())\n .build());\n\n var association1 = new MulticastDomainAssociation(\"association1\", MulticastDomainAssociationArgs.builder()\n .subnetId(subnet1.id())\n .transitGatewayAttachmentId(attachment1.id())\n .transitGatewayMulticastDomainId(domain.id())\n .build());\n\n var association2 = new MulticastDomainAssociation(\"association2\", MulticastDomainAssociationArgs.builder()\n .subnetId(subnet2.id())\n .transitGatewayAttachmentId(attachment2.id())\n .transitGatewayMulticastDomainId(domain.id())\n .build());\n\n var member1 = new MulticastGroupMember(\"member1\", MulticastGroupMemberArgs.builder()\n .groupIpAddress(\"224.0.0.1\")\n .networkInterfaceId(instance1.primaryNetworkInterfaceId())\n .transitGatewayMulticastDomainId(association1.transitGatewayMulticastDomainId())\n .build());\n\n var member2 = new MulticastGroupMember(\"member2\", MulticastGroupMemberArgs.builder()\n .groupIpAddress(\"224.0.0.1\")\n .networkInterfaceId(instance2.primaryNetworkInterfaceId())\n .transitGatewayMulticastDomainId(association1.transitGatewayMulticastDomainId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc1:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n vpc2:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n subnet1:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${vpc1.id}\n cidrBlock: 10.0.1.0/24\n availabilityZone: ${available.names[0]}\n subnet2:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${vpc1.id}\n cidrBlock: 10.0.2.0/24\n availabilityZone: ${available.names[1]}\n subnet3:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${vpc2.id}\n cidrBlock: 10.1.1.0/24\n availabilityZone: ${available.names[0]}\n instance1:\n type: aws:ec2:Instance\n properties:\n ami: ${amazonLinux.id}\n instanceType: t2.micro\n subnetId: ${subnet1.id}\n instance2:\n type: aws:ec2:Instance\n properties:\n ami: ${amazonLinux.id}\n instanceType: t2.micro\n subnetId: ${subnet2.id}\n instance3:\n type: aws:ec2:Instance\n properties:\n ami: ${amazonLinux.id}\n instanceType: t2.micro\n subnetId: ${subnet3.id}\n tgw:\n type: aws:ec2transitgateway:TransitGateway\n properties:\n multicastSupport: enable\n attachment1:\n type: aws:ec2transitgateway:VpcAttachment\n properties:\n subnetIds:\n - ${subnet1.id}\n - ${subnet2.id}\n transitGatewayId: ${tgw.id}\n vpcId: ${vpc1.id}\n attachment2:\n type: aws:ec2transitgateway:VpcAttachment\n properties:\n subnetIds:\n - ${subnet3.id}\n transitGatewayId: ${tgw.id}\n vpcId: ${vpc2.id}\n domain:\n type: aws:ec2transitgateway:MulticastDomain\n properties:\n transitGatewayId: ${tgw.id}\n staticSourcesSupport: enable\n tags:\n Name: Transit_Gateway_Multicast_Domain_Example\n association3:\n type: aws:ec2transitgateway:MulticastDomainAssociation\n properties:\n subnetId: ${subnet3.id}\n transitGatewayAttachmentId: ${attachment2.id}\n transitGatewayMulticastDomainId: ${domain.id}\n source:\n type: aws:ec2transitgateway:MulticastGroupSource\n properties:\n groupIpAddress: 224.0.0.1\n networkInterfaceId: ${instance3.primaryNetworkInterfaceId}\n transitGatewayMulticastDomainId: ${association3.transitGatewayMulticastDomainId}\n association1:\n type: aws:ec2transitgateway:MulticastDomainAssociation\n properties:\n subnetId: ${subnet1.id}\n transitGatewayAttachmentId: ${attachment1.id}\n transitGatewayMulticastDomainId: ${domain.id}\n association2:\n type: aws:ec2transitgateway:MulticastDomainAssociation\n properties:\n subnetId: ${subnet2.id}\n transitGatewayAttachmentId: ${attachment2.id}\n transitGatewayMulticastDomainId: ${domain.id}\n member1:\n type: aws:ec2transitgateway:MulticastGroupMember\n properties:\n groupIpAddress: 224.0.0.1\n networkInterfaceId: ${instance1.primaryNetworkInterfaceId}\n transitGatewayMulticastDomainId: ${association1.transitGatewayMulticastDomainId}\n member2:\n type: aws:ec2transitgateway:MulticastGroupMember\n properties:\n groupIpAddress: 224.0.0.1\n networkInterfaceId: ${instance2.primaryNetworkInterfaceId}\n transitGatewayMulticastDomainId: ${association1.transitGatewayMulticastDomainId}\nvariables:\n available:\n fn::invoke:\n function: aws:getAvailabilityZones\n arguments:\n state: available\n amazonLinux:\n fn::invoke:\n function: aws:ec2:getAmi\n arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: name\n values:\n - amzn-ami-hvm-*-x86_64-gp2\n - name: owner-alias\n values:\n - amazon\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_multicast_domain` using the EC2 Transit Gateway Multicast Domain identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/multicastDomain:MulticastDomain example tgw-mcast-domain-12345\n```\n", + "description": "Manages an EC2 Transit Gateway Multicast Domain.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n});\nconst amazonLinux = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [\n {\n name: \"name\",\n values: [\"amzn-ami-hvm-*-x86_64-gp2\"],\n },\n {\n name: \"owner-alias\",\n values: [\"amazon\"],\n },\n ],\n});\nconst vpc1 = new aws.ec2.Vpc(\"vpc1\", {cidrBlock: \"10.0.0.0/16\"});\nconst vpc2 = new aws.ec2.Vpc(\"vpc2\", {cidrBlock: \"10.1.0.0/16\"});\nconst subnet1 = new aws.ec2.Subnet(\"subnet1\", {\n vpcId: vpc1.id,\n cidrBlock: \"10.0.1.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\nconst subnet2 = new aws.ec2.Subnet(\"subnet2\", {\n vpcId: vpc1.id,\n cidrBlock: \"10.0.2.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[1]),\n});\nconst subnet3 = new aws.ec2.Subnet(\"subnet3\", {\n vpcId: vpc2.id,\n cidrBlock: \"10.1.1.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\nconst instance1 = new aws.ec2.Instance(\"instance1\", {\n ami: amazonLinux.then(amazonLinux =\u003e amazonLinux.id),\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: subnet1.id,\n});\nconst instance2 = new aws.ec2.Instance(\"instance2\", {\n ami: amazonLinux.then(amazonLinux =\u003e amazonLinux.id),\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: subnet2.id,\n});\nconst instance3 = new aws.ec2.Instance(\"instance3\", {\n ami: amazonLinux.then(amazonLinux =\u003e amazonLinux.id),\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: subnet3.id,\n});\nconst tgw = new aws.ec2transitgateway.TransitGateway(\"tgw\", {multicastSupport: \"enable\"});\nconst attachment1 = new aws.ec2transitgateway.VpcAttachment(\"attachment1\", {\n subnetIds: [\n subnet1.id,\n subnet2.id,\n ],\n transitGatewayId: tgw.id,\n vpcId: vpc1.id,\n});\nconst attachment2 = new aws.ec2transitgateway.VpcAttachment(\"attachment2\", {\n subnetIds: [subnet3.id],\n transitGatewayId: tgw.id,\n vpcId: vpc2.id,\n});\nconst domain = new aws.ec2transitgateway.MulticastDomain(\"domain\", {\n transitGatewayId: tgw.id,\n staticSourcesSupport: \"enable\",\n tags: {\n Name: \"Transit_Gateway_Multicast_Domain_Example\",\n },\n});\nconst association3 = new aws.ec2transitgateway.MulticastDomainAssociation(\"association3\", {\n subnetId: subnet3.id,\n transitGatewayAttachmentId: attachment2.id,\n transitGatewayMulticastDomainId: domain.id,\n});\nconst source = new aws.ec2transitgateway.MulticastGroupSource(\"source\", {\n groupIpAddress: \"224.0.0.1\",\n networkInterfaceId: instance3.primaryNetworkInterfaceId,\n transitGatewayMulticastDomainId: association3.transitGatewayMulticastDomainId,\n});\nconst association1 = new aws.ec2transitgateway.MulticastDomainAssociation(\"association1\", {\n subnetId: subnet1.id,\n transitGatewayAttachmentId: attachment1.id,\n transitGatewayMulticastDomainId: domain.id,\n});\nconst association2 = new aws.ec2transitgateway.MulticastDomainAssociation(\"association2\", {\n subnetId: subnet2.id,\n transitGatewayAttachmentId: attachment2.id,\n transitGatewayMulticastDomainId: domain.id,\n});\nconst member1 = new aws.ec2transitgateway.MulticastGroupMember(\"member1\", {\n groupIpAddress: \"224.0.0.1\",\n networkInterfaceId: instance1.primaryNetworkInterfaceId,\n transitGatewayMulticastDomainId: association1.transitGatewayMulticastDomainId,\n});\nconst member2 = new aws.ec2transitgateway.MulticastGroupMember(\"member2\", {\n groupIpAddress: \"224.0.0.1\",\n networkInterfaceId: instance2.primaryNetworkInterfaceId,\n transitGatewayMulticastDomainId: association1.transitGatewayMulticastDomainId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\")\namazon_linux = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[\n {\n \"name\": \"name\",\n \"values\": [\"amzn-ami-hvm-*-x86_64-gp2\"],\n },\n {\n \"name\": \"owner-alias\",\n \"values\": [\"amazon\"],\n },\n ])\nvpc1 = aws.ec2.Vpc(\"vpc1\", cidr_block=\"10.0.0.0/16\")\nvpc2 = aws.ec2.Vpc(\"vpc2\", cidr_block=\"10.1.0.0/16\")\nsubnet1 = aws.ec2.Subnet(\"subnet1\",\n vpc_id=vpc1.id,\n cidr_block=\"10.0.1.0/24\",\n availability_zone=available.names[0])\nsubnet2 = aws.ec2.Subnet(\"subnet2\",\n vpc_id=vpc1.id,\n cidr_block=\"10.0.2.0/24\",\n availability_zone=available.names[1])\nsubnet3 = aws.ec2.Subnet(\"subnet3\",\n vpc_id=vpc2.id,\n cidr_block=\"10.1.1.0/24\",\n availability_zone=available.names[0])\ninstance1 = aws.ec2.Instance(\"instance1\",\n ami=amazon_linux.id,\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=subnet1.id)\ninstance2 = aws.ec2.Instance(\"instance2\",\n ami=amazon_linux.id,\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=subnet2.id)\ninstance3 = aws.ec2.Instance(\"instance3\",\n ami=amazon_linux.id,\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=subnet3.id)\ntgw = aws.ec2transitgateway.TransitGateway(\"tgw\", multicast_support=\"enable\")\nattachment1 = aws.ec2transitgateway.VpcAttachment(\"attachment1\",\n subnet_ids=[\n subnet1.id,\n subnet2.id,\n ],\n transit_gateway_id=tgw.id,\n vpc_id=vpc1.id)\nattachment2 = aws.ec2transitgateway.VpcAttachment(\"attachment2\",\n subnet_ids=[subnet3.id],\n transit_gateway_id=tgw.id,\n vpc_id=vpc2.id)\ndomain = aws.ec2transitgateway.MulticastDomain(\"domain\",\n transit_gateway_id=tgw.id,\n static_sources_support=\"enable\",\n tags={\n \"Name\": \"Transit_Gateway_Multicast_Domain_Example\",\n })\nassociation3 = aws.ec2transitgateway.MulticastDomainAssociation(\"association3\",\n subnet_id=subnet3.id,\n transit_gateway_attachment_id=attachment2.id,\n transit_gateway_multicast_domain_id=domain.id)\nsource = aws.ec2transitgateway.MulticastGroupSource(\"source\",\n group_ip_address=\"224.0.0.1\",\n network_interface_id=instance3.primary_network_interface_id,\n transit_gateway_multicast_domain_id=association3.transit_gateway_multicast_domain_id)\nassociation1 = aws.ec2transitgateway.MulticastDomainAssociation(\"association1\",\n subnet_id=subnet1.id,\n transit_gateway_attachment_id=attachment1.id,\n transit_gateway_multicast_domain_id=domain.id)\nassociation2 = aws.ec2transitgateway.MulticastDomainAssociation(\"association2\",\n subnet_id=subnet2.id,\n transit_gateway_attachment_id=attachment2.id,\n transit_gateway_multicast_domain_id=domain.id)\nmember1 = aws.ec2transitgateway.MulticastGroupMember(\"member1\",\n group_ip_address=\"224.0.0.1\",\n network_interface_id=instance1.primary_network_interface_id,\n transit_gateway_multicast_domain_id=association1.transit_gateway_multicast_domain_id)\nmember2 = aws.ec2transitgateway.MulticastGroupMember(\"member2\",\n group_ip_address=\"224.0.0.1\",\n network_interface_id=instance2.primary_network_interface_id,\n transit_gateway_multicast_domain_id=association1.transit_gateway_multicast_domain_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n var amazonLinux = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"amzn-ami-hvm-*-x86_64-gp2\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"owner-alias\",\n Values = new[]\n {\n \"amazon\",\n },\n },\n },\n });\n\n var vpc1 = new Aws.Ec2.Vpc(\"vpc1\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var vpc2 = new Aws.Ec2.Vpc(\"vpc2\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var subnet1 = new Aws.Ec2.Subnet(\"subnet1\", new()\n {\n VpcId = vpc1.Id,\n CidrBlock = \"10.0.1.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var subnet2 = new Aws.Ec2.Subnet(\"subnet2\", new()\n {\n VpcId = vpc1.Id,\n CidrBlock = \"10.0.2.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n });\n\n var subnet3 = new Aws.Ec2.Subnet(\"subnet3\", new()\n {\n VpcId = vpc2.Id,\n CidrBlock = \"10.1.1.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var instance1 = new Aws.Ec2.Instance(\"instance1\", new()\n {\n Ami = amazonLinux.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = subnet1.Id,\n });\n\n var instance2 = new Aws.Ec2.Instance(\"instance2\", new()\n {\n Ami = amazonLinux.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = subnet2.Id,\n });\n\n var instance3 = new Aws.Ec2.Instance(\"instance3\", new()\n {\n Ami = amazonLinux.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = subnet3.Id,\n });\n\n var tgw = new Aws.Ec2TransitGateway.TransitGateway(\"tgw\", new()\n {\n MulticastSupport = \"enable\",\n });\n\n var attachment1 = new Aws.Ec2TransitGateway.VpcAttachment(\"attachment1\", new()\n {\n SubnetIds = new[]\n {\n subnet1.Id,\n subnet2.Id,\n },\n TransitGatewayId = tgw.Id,\n VpcId = vpc1.Id,\n });\n\n var attachment2 = new Aws.Ec2TransitGateway.VpcAttachment(\"attachment2\", new()\n {\n SubnetIds = new[]\n {\n subnet3.Id,\n },\n TransitGatewayId = tgw.Id,\n VpcId = vpc2.Id,\n });\n\n var domain = new Aws.Ec2TransitGateway.MulticastDomain(\"domain\", new()\n {\n TransitGatewayId = tgw.Id,\n StaticSourcesSupport = \"enable\",\n Tags = \n {\n { \"Name\", \"Transit_Gateway_Multicast_Domain_Example\" },\n },\n });\n\n var association3 = new Aws.Ec2TransitGateway.MulticastDomainAssociation(\"association3\", new()\n {\n SubnetId = subnet3.Id,\n TransitGatewayAttachmentId = attachment2.Id,\n TransitGatewayMulticastDomainId = domain.Id,\n });\n\n var source = new Aws.Ec2TransitGateway.MulticastGroupSource(\"source\", new()\n {\n GroupIpAddress = \"224.0.0.1\",\n NetworkInterfaceId = instance3.PrimaryNetworkInterfaceId,\n TransitGatewayMulticastDomainId = association3.TransitGatewayMulticastDomainId,\n });\n\n var association1 = new Aws.Ec2TransitGateway.MulticastDomainAssociation(\"association1\", new()\n {\n SubnetId = subnet1.Id,\n TransitGatewayAttachmentId = attachment1.Id,\n TransitGatewayMulticastDomainId = domain.Id,\n });\n\n var association2 = new Aws.Ec2TransitGateway.MulticastDomainAssociation(\"association2\", new()\n {\n SubnetId = subnet2.Id,\n TransitGatewayAttachmentId = attachment2.Id,\n TransitGatewayMulticastDomainId = domain.Id,\n });\n\n var member1 = new Aws.Ec2TransitGateway.MulticastGroupMember(\"member1\", new()\n {\n GroupIpAddress = \"224.0.0.1\",\n NetworkInterfaceId = instance1.PrimaryNetworkInterfaceId,\n TransitGatewayMulticastDomainId = association1.TransitGatewayMulticastDomainId,\n });\n\n var member2 = new Aws.Ec2TransitGateway.MulticastGroupMember(\"member2\", new()\n {\n GroupIpAddress = \"224.0.0.1\",\n NetworkInterfaceId = instance2.PrimaryNetworkInterfaceId,\n TransitGatewayMulticastDomainId = association1.TransitGatewayMulticastDomainId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tamazonLinux, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amzn-ami-hvm-*-x86_64-gp2\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"owner-alias\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amazon\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc1, err := ec2.NewVpc(ctx, \"vpc1\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc2, err := ec2.NewVpc(ctx, \"vpc2\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet1, err := ec2.NewSubnet(ctx, \"subnet1\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: vpc1.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet2, err := ec2.NewSubnet(ctx, \"subnet2\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: vpc1.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[1]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet3, err := ec2.NewSubnet(ctx, \"subnet3\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: vpc2.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.1.1.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance1, err := ec2.NewInstance(ctx, \"instance1\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(amazonLinux.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: subnet1.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance2, err := ec2.NewInstance(ctx, \"instance2\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(amazonLinux.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: subnet2.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance3, err := ec2.NewInstance(ctx, \"instance3\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(amazonLinux.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: subnet3.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttgw, err := ec2transitgateway.NewTransitGateway(ctx, \"tgw\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tMulticastSupport: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tattachment1, err := ec2transitgateway.NewVpcAttachment(ctx, \"attachment1\", \u0026ec2transitgateway.VpcAttachmentArgs{\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tsubnet1.ID(),\n\t\t\t\tsubnet2.ID(),\n\t\t\t},\n\t\t\tTransitGatewayId: tgw.ID(),\n\t\t\tVpcId: vpc1.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tattachment2, err := ec2transitgateway.NewVpcAttachment(ctx, \"attachment2\", \u0026ec2transitgateway.VpcAttachmentArgs{\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tsubnet3.ID(),\n\t\t\t},\n\t\t\tTransitGatewayId: tgw.ID(),\n\t\t\tVpcId: vpc2.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdomain, err := ec2transitgateway.NewMulticastDomain(ctx, \"domain\", \u0026ec2transitgateway.MulticastDomainArgs{\n\t\t\tTransitGatewayId: tgw.ID(),\n\t\t\tStaticSourcesSupport: pulumi.String(\"enable\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Transit_Gateway_Multicast_Domain_Example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassociation3, err := ec2transitgateway.NewMulticastDomainAssociation(ctx, \"association3\", \u0026ec2transitgateway.MulticastDomainAssociationArgs{\n\t\t\tSubnetId: subnet3.ID(),\n\t\t\tTransitGatewayAttachmentId: attachment2.ID(),\n\t\t\tTransitGatewayMulticastDomainId: domain.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewMulticastGroupSource(ctx, \"source\", \u0026ec2transitgateway.MulticastGroupSourceArgs{\n\t\t\tGroupIpAddress: pulumi.String(\"224.0.0.1\"),\n\t\t\tNetworkInterfaceId: instance3.PrimaryNetworkInterfaceId,\n\t\t\tTransitGatewayMulticastDomainId: association3.TransitGatewayMulticastDomainId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassociation1, err := ec2transitgateway.NewMulticastDomainAssociation(ctx, \"association1\", \u0026ec2transitgateway.MulticastDomainAssociationArgs{\n\t\t\tSubnetId: subnet1.ID(),\n\t\t\tTransitGatewayAttachmentId: attachment1.ID(),\n\t\t\tTransitGatewayMulticastDomainId: domain.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewMulticastDomainAssociation(ctx, \"association2\", \u0026ec2transitgateway.MulticastDomainAssociationArgs{\n\t\t\tSubnetId: subnet2.ID(),\n\t\t\tTransitGatewayAttachmentId: attachment2.ID(),\n\t\t\tTransitGatewayMulticastDomainId: domain.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewMulticastGroupMember(ctx, \"member1\", \u0026ec2transitgateway.MulticastGroupMemberArgs{\n\t\t\tGroupIpAddress: pulumi.String(\"224.0.0.1\"),\n\t\t\tNetworkInterfaceId: instance1.PrimaryNetworkInterfaceId,\n\t\t\tTransitGatewayMulticastDomainId: association1.TransitGatewayMulticastDomainId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewMulticastGroupMember(ctx, \"member2\", \u0026ec2transitgateway.MulticastGroupMemberArgs{\n\t\t\tGroupIpAddress: pulumi.String(\"224.0.0.1\"),\n\t\t\tNetworkInterfaceId: instance2.PrimaryNetworkInterfaceId,\n\t\t\tTransitGatewayMulticastDomainId: association1.TransitGatewayMulticastDomainId,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachment;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachmentArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomain;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomainArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomainAssociation;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomainAssociationArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupSource;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupSourceArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupMember;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n final var amazonLinux = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"amzn-ami-hvm-*-x86_64-gp2\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"owner-alias\")\n .values(\"amazon\")\n .build())\n .build());\n\n var vpc1 = new Vpc(\"vpc1\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var vpc2 = new Vpc(\"vpc2\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var subnet1 = new Subnet(\"subnet1\", SubnetArgs.builder()\n .vpcId(vpc1.id())\n .cidrBlock(\"10.0.1.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var subnet2 = new Subnet(\"subnet2\", SubnetArgs.builder()\n .vpcId(vpc1.id())\n .cidrBlock(\"10.0.2.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .build());\n\n var subnet3 = new Subnet(\"subnet3\", SubnetArgs.builder()\n .vpcId(vpc2.id())\n .cidrBlock(\"10.1.1.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var instance1 = new Instance(\"instance1\", InstanceArgs.builder()\n .ami(amazonLinux.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .subnetId(subnet1.id())\n .build());\n\n var instance2 = new Instance(\"instance2\", InstanceArgs.builder()\n .ami(amazonLinux.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .subnetId(subnet2.id())\n .build());\n\n var instance3 = new Instance(\"instance3\", InstanceArgs.builder()\n .ami(amazonLinux.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .subnetId(subnet3.id())\n .build());\n\n var tgw = new TransitGateway(\"tgw\", TransitGatewayArgs.builder()\n .multicastSupport(\"enable\")\n .build());\n\n var attachment1 = new VpcAttachment(\"attachment1\", VpcAttachmentArgs.builder()\n .subnetIds( \n subnet1.id(),\n subnet2.id())\n .transitGatewayId(tgw.id())\n .vpcId(vpc1.id())\n .build());\n\n var attachment2 = new VpcAttachment(\"attachment2\", VpcAttachmentArgs.builder()\n .subnetIds(subnet3.id())\n .transitGatewayId(tgw.id())\n .vpcId(vpc2.id())\n .build());\n\n var domain = new MulticastDomain(\"domain\", MulticastDomainArgs.builder()\n .transitGatewayId(tgw.id())\n .staticSourcesSupport(\"enable\")\n .tags(Map.of(\"Name\", \"Transit_Gateway_Multicast_Domain_Example\"))\n .build());\n\n var association3 = new MulticastDomainAssociation(\"association3\", MulticastDomainAssociationArgs.builder()\n .subnetId(subnet3.id())\n .transitGatewayAttachmentId(attachment2.id())\n .transitGatewayMulticastDomainId(domain.id())\n .build());\n\n var source = new MulticastGroupSource(\"source\", MulticastGroupSourceArgs.builder()\n .groupIpAddress(\"224.0.0.1\")\n .networkInterfaceId(instance3.primaryNetworkInterfaceId())\n .transitGatewayMulticastDomainId(association3.transitGatewayMulticastDomainId())\n .build());\n\n var association1 = new MulticastDomainAssociation(\"association1\", MulticastDomainAssociationArgs.builder()\n .subnetId(subnet1.id())\n .transitGatewayAttachmentId(attachment1.id())\n .transitGatewayMulticastDomainId(domain.id())\n .build());\n\n var association2 = new MulticastDomainAssociation(\"association2\", MulticastDomainAssociationArgs.builder()\n .subnetId(subnet2.id())\n .transitGatewayAttachmentId(attachment2.id())\n .transitGatewayMulticastDomainId(domain.id())\n .build());\n\n var member1 = new MulticastGroupMember(\"member1\", MulticastGroupMemberArgs.builder()\n .groupIpAddress(\"224.0.0.1\")\n .networkInterfaceId(instance1.primaryNetworkInterfaceId())\n .transitGatewayMulticastDomainId(association1.transitGatewayMulticastDomainId())\n .build());\n\n var member2 = new MulticastGroupMember(\"member2\", MulticastGroupMemberArgs.builder()\n .groupIpAddress(\"224.0.0.1\")\n .networkInterfaceId(instance2.primaryNetworkInterfaceId())\n .transitGatewayMulticastDomainId(association1.transitGatewayMulticastDomainId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc1:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n vpc2:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n subnet1:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${vpc1.id}\n cidrBlock: 10.0.1.0/24\n availabilityZone: ${available.names[0]}\n subnet2:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${vpc1.id}\n cidrBlock: 10.0.2.0/24\n availabilityZone: ${available.names[1]}\n subnet3:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${vpc2.id}\n cidrBlock: 10.1.1.0/24\n availabilityZone: ${available.names[0]}\n instance1:\n type: aws:ec2:Instance\n properties:\n ami: ${amazonLinux.id}\n instanceType: t2.micro\n subnetId: ${subnet1.id}\n instance2:\n type: aws:ec2:Instance\n properties:\n ami: ${amazonLinux.id}\n instanceType: t2.micro\n subnetId: ${subnet2.id}\n instance3:\n type: aws:ec2:Instance\n properties:\n ami: ${amazonLinux.id}\n instanceType: t2.micro\n subnetId: ${subnet3.id}\n tgw:\n type: aws:ec2transitgateway:TransitGateway\n properties:\n multicastSupport: enable\n attachment1:\n type: aws:ec2transitgateway:VpcAttachment\n properties:\n subnetIds:\n - ${subnet1.id}\n - ${subnet2.id}\n transitGatewayId: ${tgw.id}\n vpcId: ${vpc1.id}\n attachment2:\n type: aws:ec2transitgateway:VpcAttachment\n properties:\n subnetIds:\n - ${subnet3.id}\n transitGatewayId: ${tgw.id}\n vpcId: ${vpc2.id}\n domain:\n type: aws:ec2transitgateway:MulticastDomain\n properties:\n transitGatewayId: ${tgw.id}\n staticSourcesSupport: enable\n tags:\n Name: Transit_Gateway_Multicast_Domain_Example\n association3:\n type: aws:ec2transitgateway:MulticastDomainAssociation\n properties:\n subnetId: ${subnet3.id}\n transitGatewayAttachmentId: ${attachment2.id}\n transitGatewayMulticastDomainId: ${domain.id}\n source:\n type: aws:ec2transitgateway:MulticastGroupSource\n properties:\n groupIpAddress: 224.0.0.1\n networkInterfaceId: ${instance3.primaryNetworkInterfaceId}\n transitGatewayMulticastDomainId: ${association3.transitGatewayMulticastDomainId}\n association1:\n type: aws:ec2transitgateway:MulticastDomainAssociation\n properties:\n subnetId: ${subnet1.id}\n transitGatewayAttachmentId: ${attachment1.id}\n transitGatewayMulticastDomainId: ${domain.id}\n association2:\n type: aws:ec2transitgateway:MulticastDomainAssociation\n properties:\n subnetId: ${subnet2.id}\n transitGatewayAttachmentId: ${attachment2.id}\n transitGatewayMulticastDomainId: ${domain.id}\n member1:\n type: aws:ec2transitgateway:MulticastGroupMember\n properties:\n groupIpAddress: 224.0.0.1\n networkInterfaceId: ${instance1.primaryNetworkInterfaceId}\n transitGatewayMulticastDomainId: ${association1.transitGatewayMulticastDomainId}\n member2:\n type: aws:ec2transitgateway:MulticastGroupMember\n properties:\n groupIpAddress: 224.0.0.1\n networkInterfaceId: ${instance2.primaryNetworkInterfaceId}\n transitGatewayMulticastDomainId: ${association1.transitGatewayMulticastDomainId}\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n amazonLinux:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: name\n values:\n - amzn-ami-hvm-*-x86_64-gp2\n - name: owner-alias\n values:\n - amazon\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_multicast_domain` using the EC2 Transit Gateway Multicast Domain identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/multicastDomain:MulticastDomain example tgw-mcast-domain-12345\n```\n", "properties": { "arn": { "type": "string", @@ -251887,7 +251887,7 @@ } }, "aws:ec2transitgateway/peeringAttachment:PeeringAttachment": { - "description": "Manages an EC2 Transit Gateway Peering Attachment.\nFor examples of custom route table association and propagation, see the [EC2 Transit Gateway Networking Examples Guide](https://docs.aws.amazon.com/vpc/latest/tgw/TGW_Scenarios.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst peer = aws.getRegion({});\nconst local = new aws.ec2transitgateway.TransitGateway(\"local\", {tags: {\n Name: \"Local TGW\",\n}});\nconst peerTransitGateway = new aws.ec2transitgateway.TransitGateway(\"peer\", {tags: {\n Name: \"Peer TGW\",\n}});\nconst example = new aws.ec2transitgateway.PeeringAttachment(\"example\", {\n peerAccountId: peerTransitGateway.ownerId,\n peerRegion: peer.then(peer =\u003e peer.name),\n peerTransitGatewayId: peerTransitGateway.id,\n transitGatewayId: local.id,\n tags: {\n Name: \"TGW Peering Requestor\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npeer = aws.get_region()\nlocal = aws.ec2transitgateway.TransitGateway(\"local\", tags={\n \"Name\": \"Local TGW\",\n})\npeer_transit_gateway = aws.ec2transitgateway.TransitGateway(\"peer\", tags={\n \"Name\": \"Peer TGW\",\n})\nexample = aws.ec2transitgateway.PeeringAttachment(\"example\",\n peer_account_id=peer_transit_gateway.owner_id,\n peer_region=peer.name,\n peer_transit_gateway_id=peer_transit_gateway.id,\n transit_gateway_id=local.id,\n tags={\n \"Name\": \"TGW Peering Requestor\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var peer = Aws.GetRegion.Invoke();\n\n var local = new Aws.Ec2TransitGateway.TransitGateway(\"local\", new()\n {\n Tags = \n {\n { \"Name\", \"Local TGW\" },\n },\n });\n\n var peerTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"peer\", new()\n {\n Tags = \n {\n { \"Name\", \"Peer TGW\" },\n },\n });\n\n var example = new Aws.Ec2TransitGateway.PeeringAttachment(\"example\", new()\n {\n PeerAccountId = peerTransitGateway.OwnerId,\n PeerRegion = peer.Apply(getRegionResult =\u003e getRegionResult.Name),\n PeerTransitGatewayId = peerTransitGateway.Id,\n TransitGatewayId = local.Id,\n Tags = \n {\n { \"Name\", \"TGW Peering Requestor\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpeer, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlocal, err := ec2transitgateway.NewTransitGateway(ctx, \"local\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Local TGW\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeerTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"peer\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Peer TGW\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewPeeringAttachment(ctx, \"example\", \u0026ec2transitgateway.PeeringAttachmentArgs{\n\t\t\tPeerAccountId: peerTransitGateway.OwnerId,\n\t\t\tPeerRegion: pulumi.String(peer.Name),\n\t\t\tPeerTransitGatewayId: peerTransitGateway.ID(),\n\t\t\tTransitGatewayId: local.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"TGW Peering Requestor\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.PeeringAttachment;\nimport com.pulumi.aws.ec2transitgateway.PeeringAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var peer = AwsFunctions.getRegion();\n\n var local = new TransitGateway(\"local\", TransitGatewayArgs.builder()\n .tags(Map.of(\"Name\", \"Local TGW\"))\n .build());\n\n var peerTransitGateway = new TransitGateway(\"peerTransitGateway\", TransitGatewayArgs.builder()\n .tags(Map.of(\"Name\", \"Peer TGW\"))\n .build());\n\n var example = new PeeringAttachment(\"example\", PeeringAttachmentArgs.builder()\n .peerAccountId(peerTransitGateway.ownerId())\n .peerRegion(peer.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .peerTransitGatewayId(peerTransitGateway.id())\n .transitGatewayId(local.id())\n .tags(Map.of(\"Name\", \"TGW Peering Requestor\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n local:\n type: aws:ec2transitgateway:TransitGateway\n properties:\n tags:\n Name: Local TGW\n peerTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: peer\n properties:\n tags:\n Name: Peer TGW\n example:\n type: aws:ec2transitgateway:PeeringAttachment\n properties:\n peerAccountId: ${peerTransitGateway.ownerId}\n peerRegion: ${peer.name}\n peerTransitGatewayId: ${peerTransitGateway.id}\n transitGatewayId: ${local.id}\n tags:\n Name: TGW Peering Requestor\nvariables:\n peer:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_peering_attachment` using the EC2 Transit Gateway Attachment identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/peeringAttachment:PeeringAttachment example tgw-attach-12345678\n```\n", + "description": "Manages an EC2 Transit Gateway Peering Attachment.\nFor examples of custom route table association and propagation, see the [EC2 Transit Gateway Networking Examples Guide](https://docs.aws.amazon.com/vpc/latest/tgw/TGW_Scenarios.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst peer = aws.getRegion({});\nconst local = new aws.ec2transitgateway.TransitGateway(\"local\", {tags: {\n Name: \"Local TGW\",\n}});\nconst peerTransitGateway = new aws.ec2transitgateway.TransitGateway(\"peer\", {tags: {\n Name: \"Peer TGW\",\n}});\nconst example = new aws.ec2transitgateway.PeeringAttachment(\"example\", {\n peerAccountId: peerTransitGateway.ownerId,\n peerRegion: peer.then(peer =\u003e peer.name),\n peerTransitGatewayId: peerTransitGateway.id,\n transitGatewayId: local.id,\n tags: {\n Name: \"TGW Peering Requestor\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npeer = aws.get_region()\nlocal = aws.ec2transitgateway.TransitGateway(\"local\", tags={\n \"Name\": \"Local TGW\",\n})\npeer_transit_gateway = aws.ec2transitgateway.TransitGateway(\"peer\", tags={\n \"Name\": \"Peer TGW\",\n})\nexample = aws.ec2transitgateway.PeeringAttachment(\"example\",\n peer_account_id=peer_transit_gateway.owner_id,\n peer_region=peer.name,\n peer_transit_gateway_id=peer_transit_gateway.id,\n transit_gateway_id=local.id,\n tags={\n \"Name\": \"TGW Peering Requestor\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var peer = Aws.GetRegion.Invoke();\n\n var local = new Aws.Ec2TransitGateway.TransitGateway(\"local\", new()\n {\n Tags = \n {\n { \"Name\", \"Local TGW\" },\n },\n });\n\n var peerTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"peer\", new()\n {\n Tags = \n {\n { \"Name\", \"Peer TGW\" },\n },\n });\n\n var example = new Aws.Ec2TransitGateway.PeeringAttachment(\"example\", new()\n {\n PeerAccountId = peerTransitGateway.OwnerId,\n PeerRegion = peer.Apply(getRegionResult =\u003e getRegionResult.Name),\n PeerTransitGatewayId = peerTransitGateway.Id,\n TransitGatewayId = local.Id,\n Tags = \n {\n { \"Name\", \"TGW Peering Requestor\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpeer, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlocal, err := ec2transitgateway.NewTransitGateway(ctx, \"local\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Local TGW\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeerTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"peer\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Peer TGW\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewPeeringAttachment(ctx, \"example\", \u0026ec2transitgateway.PeeringAttachmentArgs{\n\t\t\tPeerAccountId: peerTransitGateway.OwnerId,\n\t\t\tPeerRegion: pulumi.String(peer.Name),\n\t\t\tPeerTransitGatewayId: peerTransitGateway.ID(),\n\t\t\tTransitGatewayId: local.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"TGW Peering Requestor\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.PeeringAttachment;\nimport com.pulumi.aws.ec2transitgateway.PeeringAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var peer = AwsFunctions.getRegion();\n\n var local = new TransitGateway(\"local\", TransitGatewayArgs.builder()\n .tags(Map.of(\"Name\", \"Local TGW\"))\n .build());\n\n var peerTransitGateway = new TransitGateway(\"peerTransitGateway\", TransitGatewayArgs.builder()\n .tags(Map.of(\"Name\", \"Peer TGW\"))\n .build());\n\n var example = new PeeringAttachment(\"example\", PeeringAttachmentArgs.builder()\n .peerAccountId(peerTransitGateway.ownerId())\n .peerRegion(peer.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .peerTransitGatewayId(peerTransitGateway.id())\n .transitGatewayId(local.id())\n .tags(Map.of(\"Name\", \"TGW Peering Requestor\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n local:\n type: aws:ec2transitgateway:TransitGateway\n properties:\n tags:\n Name: Local TGW\n peerTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: peer\n properties:\n tags:\n Name: Peer TGW\n example:\n type: aws:ec2transitgateway:PeeringAttachment\n properties:\n peerAccountId: ${peerTransitGateway.ownerId}\n peerRegion: ${peer.name}\n peerTransitGatewayId: ${peerTransitGateway.id}\n transitGatewayId: ${local.id}\n tags:\n Name: TGW Peering Requestor\nvariables:\n peer:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_peering_attachment` using the EC2 Transit Gateway Attachment identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/peeringAttachment:PeeringAttachment example tgw-attach-12345678\n```\n", "properties": { "options": { "$ref": "#/types/aws:ec2transitgateway/PeeringAttachmentOptions:PeeringAttachmentOptions", @@ -253428,7 +253428,7 @@ } }, "aws:ecr/registryPolicy:RegistryPolicy": { - "description": "Provides an Elastic Container Registry Policy.\n\n\u003e **NOTE on ECR Registry Policies:** While the AWS Management Console interface may suggest the ability to define multiple policies by creating multiple statements, ECR registry policies are effectively managed as singular entities at the regional level by the AWS APIs. Therefore, the `aws.ecr.RegistryPolicy` resource should be configured only once per region with all necessary statements defined in the same policy. Attempting to define multiple `aws.ecr.RegistryPolicy` resources may result in perpetual differences, with one policy overriding another.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetRegion = aws.getRegion({});\nconst currentGetPartition = aws.getPartition({});\nconst example = new aws.ecr.RegistryPolicy(\"example\", {policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"testpolicy\",\n Effect: \"Allow\",\n Principal: {\n AWS: Promise.all([currentGetPartition, current]).then(([currentGetPartition, current]) =\u003e `arn:${currentGetPartition.partition}:iam::${current.accountId}:root`),\n },\n Action: [\"ecr:ReplicateImage\"],\n Resource: [Promise.all([currentGetPartition, currentGetRegion, current]).then(([currentGetPartition, currentGetRegion, current]) =\u003e `arn:${currentGetPartition.partition}:ecr:${currentGetRegion.name}:${current.accountId}:repository/*`)],\n }],\n})});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_region = aws.get_region()\ncurrent_get_partition = aws.get_partition()\nexample = aws.ecr.RegistryPolicy(\"example\", policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"testpolicy\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:{current_get_partition.partition}:iam::{current.account_id}:root\",\n },\n \"Action\": [\"ecr:ReplicateImage\"],\n \"Resource\": [f\"arn:{current_get_partition.partition}:ecr:{current_get_region.name}:{current.account_id}:repository/*\"],\n }],\n}))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var example = new Aws.Ecr.RegistryPolicy(\"example\", new()\n {\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"testpolicy\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = Output.Tuple(currentGetPartition, current).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var current = values.Item2;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\";\n }),\n },\n [\"Action\"] = new[]\n {\n \"ecr:ReplicateImage\",\n },\n [\"Resource\"] = new[]\n {\n Output.Tuple(currentGetPartition, currentGetRegion, current).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var currentGetRegion = values.Item2;\n var current = values.Item3;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:ecr:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:repository/*\";\n }),\n },\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"testpolicy\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:%v:iam::%v:root\", currentGetPartition.Partition, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ecr:ReplicateImage\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:%v:ecr:%v:%v:repository/*\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\t_, err = ecr.NewRegistryPolicy(ctx, \"example\", \u0026ecr.RegistryPolicyArgs{\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.ecr.RegistryPolicy;\nimport com.pulumi.aws.ecr.RegistryPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n var example = new RegistryPolicy(\"example\", RegistryPolicyArgs.builder()\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"testpolicy\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:%s:iam::%s:root\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\"ecr:ReplicateImage\")),\n jsonProperty(\"Resource\", jsonArray(String.format(\"arn:%s:ecr:%s:%s:repository/*\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))))\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecr:RegistryPolicy\n properties:\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: testpolicy\n Effect: Allow\n Principal:\n AWS: arn:${currentGetPartition.partition}:iam::${current.accountId}:root\n Action:\n - ecr:ReplicateImage\n Resource:\n - arn:${currentGetPartition.partition}:ecr:${currentGetRegion.name}:${current.accountId}:repository/*\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n currentGetRegion:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n currentGetPartition:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Registry Policy using the registry id. For example:\n\n```sh\n$ pulumi import aws:ecr/registryPolicy:RegistryPolicy example 123456789012\n```\n", + "description": "Provides an Elastic Container Registry Policy.\n\n\u003e **NOTE on ECR Registry Policies:** While the AWS Management Console interface may suggest the ability to define multiple policies by creating multiple statements, ECR registry policies are effectively managed as singular entities at the regional level by the AWS APIs. Therefore, the `aws.ecr.RegistryPolicy` resource should be configured only once per region with all necessary statements defined in the same policy. Attempting to define multiple `aws.ecr.RegistryPolicy` resources may result in perpetual differences, with one policy overriding another.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetRegion = aws.getRegion({});\nconst currentGetPartition = aws.getPartition({});\nconst example = new aws.ecr.RegistryPolicy(\"example\", {policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"testpolicy\",\n Effect: \"Allow\",\n Principal: {\n AWS: Promise.all([currentGetPartition, current]).then(([currentGetPartition, current]) =\u003e `arn:${currentGetPartition.partition}:iam::${current.accountId}:root`),\n },\n Action: [\"ecr:ReplicateImage\"],\n Resource: [Promise.all([currentGetPartition, currentGetRegion, current]).then(([currentGetPartition, currentGetRegion, current]) =\u003e `arn:${currentGetPartition.partition}:ecr:${currentGetRegion.name}:${current.accountId}:repository/*`)],\n }],\n})});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_region = aws.get_region()\ncurrent_get_partition = aws.get_partition()\nexample = aws.ecr.RegistryPolicy(\"example\", policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"testpolicy\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:{current_get_partition.partition}:iam::{current.account_id}:root\",\n },\n \"Action\": [\"ecr:ReplicateImage\"],\n \"Resource\": [f\"arn:{current_get_partition.partition}:ecr:{current_get_region.name}:{current.account_id}:repository/*\"],\n }],\n}))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var example = new Aws.Ecr.RegistryPolicy(\"example\", new()\n {\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"testpolicy\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = Output.Tuple(currentGetPartition, current).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var current = values.Item2;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\";\n }),\n },\n [\"Action\"] = new[]\n {\n \"ecr:ReplicateImage\",\n },\n [\"Resource\"] = new[]\n {\n Output.Tuple(currentGetPartition, currentGetRegion, current).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var currentGetRegion = values.Item2;\n var current = values.Item3;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:ecr:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:repository/*\";\n }),\n },\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"testpolicy\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:%v:iam::%v:root\", currentGetPartition.Partition, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ecr:ReplicateImage\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:%v:ecr:%v:%v:repository/*\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\t_, err = ecr.NewRegistryPolicy(ctx, \"example\", \u0026ecr.RegistryPolicyArgs{\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.ecr.RegistryPolicy;\nimport com.pulumi.aws.ecr.RegistryPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n var example = new RegistryPolicy(\"example\", RegistryPolicyArgs.builder()\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"testpolicy\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:%s:iam::%s:root\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\"ecr:ReplicateImage\")),\n jsonProperty(\"Resource\", jsonArray(String.format(\"arn:%s:ecr:%s:%s:repository/*\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))))\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecr:RegistryPolicy\n properties:\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: testpolicy\n Effect: Allow\n Principal:\n AWS: arn:${currentGetPartition.partition}:iam::${current.accountId}:root\n Action:\n - ecr:ReplicateImage\n Resource:\n - arn:${currentGetPartition.partition}:ecr:${currentGetRegion.name}:${current.accountId}:repository/*\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Registry Policy using the registry id. For example:\n\n```sh\n$ pulumi import aws:ecr/registryPolicy:RegistryPolicy example 123456789012\n```\n", "properties": { "policy": { "type": "string", @@ -253547,7 +253547,7 @@ } }, "aws:ecr/replicationConfiguration:ReplicationConfiguration": { - "description": "Provides an Elastic Container Registry Replication Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = aws.getRegions({});\nconst exampleReplicationConfiguration = new aws.ecr.ReplicationConfiguration(\"example\", {replicationConfiguration: {\n rules: [{\n destinations: [{\n region: example.then(example =\u003e example.names?.[0]),\n registryId: current.then(current =\u003e current.accountId),\n }],\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.get_regions()\nexample_replication_configuration = aws.ecr.ReplicationConfiguration(\"example\", replication_configuration={\n \"rules\": [{\n \"destinations\": [{\n \"region\": example.names[0],\n \"registry_id\": current.account_id,\n }],\n }],\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.GetRegions.Invoke();\n\n var exampleReplicationConfiguration = new Aws.Ecr.ReplicationConfiguration(\"example\", new()\n {\n ReplicationConfigurationDetails = new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationArgs\n {\n Rules = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleArgs\n {\n Destinations = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs\n {\n Region = example.Apply(getRegionsResult =\u003e getRegionsResult.Names[0]),\n RegistryId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := aws.GetRegions(ctx, \u0026aws.GetRegionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewReplicationConfiguration(ctx, \"example\", \u0026ecr.ReplicationConfigurationArgs{\n\t\t\tReplicationConfiguration: \u0026ecr.ReplicationConfigurationReplicationConfigurationArgs{\n\t\t\t\tRules: ecr.ReplicationConfigurationReplicationConfigurationRuleArray{\n\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleArgs{\n\t\t\t\t\t\tDestinations: ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArray{\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\t\tRegion: pulumi.String(example.Names[0]),\n\t\t\t\t\t\t\t\tRegistryId: pulumi.String(current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionsArgs;\nimport com.pulumi.aws.ecr.ReplicationConfiguration;\nimport com.pulumi.aws.ecr.ReplicationConfigurationArgs;\nimport com.pulumi.aws.ecr.inputs.ReplicationConfigurationReplicationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var example = AwsFunctions.getRegions();\n\n var exampleReplicationConfiguration = new ReplicationConfiguration(\"exampleReplicationConfiguration\", ReplicationConfigurationArgs.builder()\n .replicationConfiguration(ReplicationConfigurationReplicationConfigurationArgs.builder()\n .rules(ReplicationConfigurationReplicationConfigurationRuleArgs.builder()\n .destinations(ReplicationConfigurationReplicationConfigurationRuleDestinationArgs.builder()\n .region(example.applyValue(getRegionsResult -\u003e getRegionsResult.names()[0]))\n .registryId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleReplicationConfiguration:\n type: aws:ecr:ReplicationConfiguration\n name: example\n properties:\n replicationConfiguration:\n rules:\n - destinations:\n - region: ${example.names[0]}\n registryId: ${current.accountId}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n example:\n fn::invoke:\n function: aws:getRegions\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Multiple Region Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = aws.getRegions({});\nconst exampleReplicationConfiguration = new aws.ecr.ReplicationConfiguration(\"example\", {replicationConfiguration: {\n rules: [{\n destinations: [\n {\n region: example.then(example =\u003e example.names?.[0]),\n registryId: current.then(current =\u003e current.accountId),\n },\n {\n region: example.then(example =\u003e example.names?.[1]),\n registryId: current.then(current =\u003e current.accountId),\n },\n ],\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.get_regions()\nexample_replication_configuration = aws.ecr.ReplicationConfiguration(\"example\", replication_configuration={\n \"rules\": [{\n \"destinations\": [\n {\n \"region\": example.names[0],\n \"registry_id\": current.account_id,\n },\n {\n \"region\": example.names[1],\n \"registry_id\": current.account_id,\n },\n ],\n }],\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.GetRegions.Invoke();\n\n var exampleReplicationConfiguration = new Aws.Ecr.ReplicationConfiguration(\"example\", new()\n {\n ReplicationConfigurationDetails = new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationArgs\n {\n Rules = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleArgs\n {\n Destinations = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs\n {\n Region = example.Apply(getRegionsResult =\u003e getRegionsResult.Names[0]),\n RegistryId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs\n {\n Region = example.Apply(getRegionsResult =\u003e getRegionsResult.Names[1]),\n RegistryId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := aws.GetRegions(ctx, \u0026aws.GetRegionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewReplicationConfiguration(ctx, \"example\", \u0026ecr.ReplicationConfigurationArgs{\n\t\t\tReplicationConfiguration: \u0026ecr.ReplicationConfigurationReplicationConfigurationArgs{\n\t\t\t\tRules: ecr.ReplicationConfigurationReplicationConfigurationRuleArray{\n\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleArgs{\n\t\t\t\t\t\tDestinations: ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArray{\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\t\tRegion: pulumi.String(example.Names[0]),\n\t\t\t\t\t\t\t\tRegistryId: pulumi.String(current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\t\tRegion: pulumi.String(example.Names[1]),\n\t\t\t\t\t\t\t\tRegistryId: pulumi.String(current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionsArgs;\nimport com.pulumi.aws.ecr.ReplicationConfiguration;\nimport com.pulumi.aws.ecr.ReplicationConfigurationArgs;\nimport com.pulumi.aws.ecr.inputs.ReplicationConfigurationReplicationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var example = AwsFunctions.getRegions();\n\n var exampleReplicationConfiguration = new ReplicationConfiguration(\"exampleReplicationConfiguration\", ReplicationConfigurationArgs.builder()\n .replicationConfiguration(ReplicationConfigurationReplicationConfigurationArgs.builder()\n .rules(ReplicationConfigurationReplicationConfigurationRuleArgs.builder()\n .destinations( \n ReplicationConfigurationReplicationConfigurationRuleDestinationArgs.builder()\n .region(example.applyValue(getRegionsResult -\u003e getRegionsResult.names()[0]))\n .registryId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build(),\n ReplicationConfigurationReplicationConfigurationRuleDestinationArgs.builder()\n .region(example.applyValue(getRegionsResult -\u003e getRegionsResult.names()[1]))\n .registryId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleReplicationConfiguration:\n type: aws:ecr:ReplicationConfiguration\n name: example\n properties:\n replicationConfiguration:\n rules:\n - destinations:\n - region: ${example.names[0]}\n registryId: ${current.accountId}\n - region: ${example.names[1]}\n registryId: ${current.accountId}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n example:\n fn::invoke:\n function: aws:getRegions\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Repository Filter Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = aws.getRegions({});\nconst exampleReplicationConfiguration = new aws.ecr.ReplicationConfiguration(\"example\", {replicationConfiguration: {\n rules: [{\n destinations: [{\n region: example.then(example =\u003e example.names?.[0]),\n registryId: current.then(current =\u003e current.accountId),\n }],\n repositoryFilters: [{\n filter: \"prod-microservice\",\n filterType: \"PREFIX_MATCH\",\n }],\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.get_regions()\nexample_replication_configuration = aws.ecr.ReplicationConfiguration(\"example\", replication_configuration={\n \"rules\": [{\n \"destinations\": [{\n \"region\": example.names[0],\n \"registry_id\": current.account_id,\n }],\n \"repository_filters\": [{\n \"filter\": \"prod-microservice\",\n \"filter_type\": \"PREFIX_MATCH\",\n }],\n }],\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.GetRegions.Invoke();\n\n var exampleReplicationConfiguration = new Aws.Ecr.ReplicationConfiguration(\"example\", new()\n {\n ReplicationConfigurationDetails = new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationArgs\n {\n Rules = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleArgs\n {\n Destinations = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs\n {\n Region = example.Apply(getRegionsResult =\u003e getRegionsResult.Names[0]),\n RegistryId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n RepositoryFilters = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs\n {\n Filter = \"prod-microservice\",\n FilterType = \"PREFIX_MATCH\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := aws.GetRegions(ctx, \u0026aws.GetRegionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewReplicationConfiguration(ctx, \"example\", \u0026ecr.ReplicationConfigurationArgs{\n\t\t\tReplicationConfiguration: \u0026ecr.ReplicationConfigurationReplicationConfigurationArgs{\n\t\t\t\tRules: ecr.ReplicationConfigurationReplicationConfigurationRuleArray{\n\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleArgs{\n\t\t\t\t\t\tDestinations: ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArray{\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\t\tRegion: pulumi.String(example.Names[0]),\n\t\t\t\t\t\t\t\tRegistryId: pulumi.String(current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRepositoryFilters: ecr.ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArray{\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs{\n\t\t\t\t\t\t\t\tFilter: pulumi.String(\"prod-microservice\"),\n\t\t\t\t\t\t\t\tFilterType: pulumi.String(\"PREFIX_MATCH\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionsArgs;\nimport com.pulumi.aws.ecr.ReplicationConfiguration;\nimport com.pulumi.aws.ecr.ReplicationConfigurationArgs;\nimport com.pulumi.aws.ecr.inputs.ReplicationConfigurationReplicationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var example = AwsFunctions.getRegions();\n\n var exampleReplicationConfiguration = new ReplicationConfiguration(\"exampleReplicationConfiguration\", ReplicationConfigurationArgs.builder()\n .replicationConfiguration(ReplicationConfigurationReplicationConfigurationArgs.builder()\n .rules(ReplicationConfigurationReplicationConfigurationRuleArgs.builder()\n .destinations(ReplicationConfigurationReplicationConfigurationRuleDestinationArgs.builder()\n .region(example.applyValue(getRegionsResult -\u003e getRegionsResult.names()[0]))\n .registryId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .repositoryFilters(ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs.builder()\n .filter(\"prod-microservice\")\n .filterType(\"PREFIX_MATCH\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleReplicationConfiguration:\n type: aws:ecr:ReplicationConfiguration\n name: example\n properties:\n replicationConfiguration:\n rules:\n - destinations:\n - region: ${example.names[0]}\n registryId: ${current.accountId}\n repositoryFilters:\n - filter: prod-microservice\n filterType: PREFIX_MATCH\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n example:\n fn::invoke:\n function: aws:getRegions\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Replication Configuration using the `registry_id`. For example:\n\n```sh\n$ pulumi import aws:ecr/replicationConfiguration:ReplicationConfiguration service 012345678912\n```\n", + "description": "Provides an Elastic Container Registry Replication Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = aws.getRegions({});\nconst exampleReplicationConfiguration = new aws.ecr.ReplicationConfiguration(\"example\", {replicationConfiguration: {\n rules: [{\n destinations: [{\n region: example.then(example =\u003e example.names?.[0]),\n registryId: current.then(current =\u003e current.accountId),\n }],\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.get_regions()\nexample_replication_configuration = aws.ecr.ReplicationConfiguration(\"example\", replication_configuration={\n \"rules\": [{\n \"destinations\": [{\n \"region\": example.names[0],\n \"registry_id\": current.account_id,\n }],\n }],\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.GetRegions.Invoke();\n\n var exampleReplicationConfiguration = new Aws.Ecr.ReplicationConfiguration(\"example\", new()\n {\n ReplicationConfigurationDetails = new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationArgs\n {\n Rules = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleArgs\n {\n Destinations = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs\n {\n Region = example.Apply(getRegionsResult =\u003e getRegionsResult.Names[0]),\n RegistryId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := aws.GetRegions(ctx, \u0026aws.GetRegionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewReplicationConfiguration(ctx, \"example\", \u0026ecr.ReplicationConfigurationArgs{\n\t\t\tReplicationConfiguration: \u0026ecr.ReplicationConfigurationReplicationConfigurationArgs{\n\t\t\t\tRules: ecr.ReplicationConfigurationReplicationConfigurationRuleArray{\n\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleArgs{\n\t\t\t\t\t\tDestinations: ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArray{\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\t\tRegion: pulumi.String(example.Names[0]),\n\t\t\t\t\t\t\t\tRegistryId: pulumi.String(current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionsArgs;\nimport com.pulumi.aws.ecr.ReplicationConfiguration;\nimport com.pulumi.aws.ecr.ReplicationConfigurationArgs;\nimport com.pulumi.aws.ecr.inputs.ReplicationConfigurationReplicationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var example = AwsFunctions.getRegions();\n\n var exampleReplicationConfiguration = new ReplicationConfiguration(\"exampleReplicationConfiguration\", ReplicationConfigurationArgs.builder()\n .replicationConfiguration(ReplicationConfigurationReplicationConfigurationArgs.builder()\n .rules(ReplicationConfigurationReplicationConfigurationRuleArgs.builder()\n .destinations(ReplicationConfigurationReplicationConfigurationRuleDestinationArgs.builder()\n .region(example.applyValue(getRegionsResult -\u003e getRegionsResult.names()[0]))\n .registryId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleReplicationConfiguration:\n type: aws:ecr:ReplicationConfiguration\n name: example\n properties:\n replicationConfiguration:\n rules:\n - destinations:\n - region: ${example.names[0]}\n registryId: ${current.accountId}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:getRegions\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Multiple Region Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = aws.getRegions({});\nconst exampleReplicationConfiguration = new aws.ecr.ReplicationConfiguration(\"example\", {replicationConfiguration: {\n rules: [{\n destinations: [\n {\n region: example.then(example =\u003e example.names?.[0]),\n registryId: current.then(current =\u003e current.accountId),\n },\n {\n region: example.then(example =\u003e example.names?.[1]),\n registryId: current.then(current =\u003e current.accountId),\n },\n ],\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.get_regions()\nexample_replication_configuration = aws.ecr.ReplicationConfiguration(\"example\", replication_configuration={\n \"rules\": [{\n \"destinations\": [\n {\n \"region\": example.names[0],\n \"registry_id\": current.account_id,\n },\n {\n \"region\": example.names[1],\n \"registry_id\": current.account_id,\n },\n ],\n }],\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.GetRegions.Invoke();\n\n var exampleReplicationConfiguration = new Aws.Ecr.ReplicationConfiguration(\"example\", new()\n {\n ReplicationConfigurationDetails = new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationArgs\n {\n Rules = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleArgs\n {\n Destinations = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs\n {\n Region = example.Apply(getRegionsResult =\u003e getRegionsResult.Names[0]),\n RegistryId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs\n {\n Region = example.Apply(getRegionsResult =\u003e getRegionsResult.Names[1]),\n RegistryId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := aws.GetRegions(ctx, \u0026aws.GetRegionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewReplicationConfiguration(ctx, \"example\", \u0026ecr.ReplicationConfigurationArgs{\n\t\t\tReplicationConfiguration: \u0026ecr.ReplicationConfigurationReplicationConfigurationArgs{\n\t\t\t\tRules: ecr.ReplicationConfigurationReplicationConfigurationRuleArray{\n\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleArgs{\n\t\t\t\t\t\tDestinations: ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArray{\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\t\tRegion: pulumi.String(example.Names[0]),\n\t\t\t\t\t\t\t\tRegistryId: pulumi.String(current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\t\tRegion: pulumi.String(example.Names[1]),\n\t\t\t\t\t\t\t\tRegistryId: pulumi.String(current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionsArgs;\nimport com.pulumi.aws.ecr.ReplicationConfiguration;\nimport com.pulumi.aws.ecr.ReplicationConfigurationArgs;\nimport com.pulumi.aws.ecr.inputs.ReplicationConfigurationReplicationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var example = AwsFunctions.getRegions();\n\n var exampleReplicationConfiguration = new ReplicationConfiguration(\"exampleReplicationConfiguration\", ReplicationConfigurationArgs.builder()\n .replicationConfiguration(ReplicationConfigurationReplicationConfigurationArgs.builder()\n .rules(ReplicationConfigurationReplicationConfigurationRuleArgs.builder()\n .destinations( \n ReplicationConfigurationReplicationConfigurationRuleDestinationArgs.builder()\n .region(example.applyValue(getRegionsResult -\u003e getRegionsResult.names()[0]))\n .registryId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build(),\n ReplicationConfigurationReplicationConfigurationRuleDestinationArgs.builder()\n .region(example.applyValue(getRegionsResult -\u003e getRegionsResult.names()[1]))\n .registryId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleReplicationConfiguration:\n type: aws:ecr:ReplicationConfiguration\n name: example\n properties:\n replicationConfiguration:\n rules:\n - destinations:\n - region: ${example.names[0]}\n registryId: ${current.accountId}\n - region: ${example.names[1]}\n registryId: ${current.accountId}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:getRegions\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Repository Filter Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = aws.getRegions({});\nconst exampleReplicationConfiguration = new aws.ecr.ReplicationConfiguration(\"example\", {replicationConfiguration: {\n rules: [{\n destinations: [{\n region: example.then(example =\u003e example.names?.[0]),\n registryId: current.then(current =\u003e current.accountId),\n }],\n repositoryFilters: [{\n filter: \"prod-microservice\",\n filterType: \"PREFIX_MATCH\",\n }],\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.get_regions()\nexample_replication_configuration = aws.ecr.ReplicationConfiguration(\"example\", replication_configuration={\n \"rules\": [{\n \"destinations\": [{\n \"region\": example.names[0],\n \"registry_id\": current.account_id,\n }],\n \"repository_filters\": [{\n \"filter\": \"prod-microservice\",\n \"filter_type\": \"PREFIX_MATCH\",\n }],\n }],\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.GetRegions.Invoke();\n\n var exampleReplicationConfiguration = new Aws.Ecr.ReplicationConfiguration(\"example\", new()\n {\n ReplicationConfigurationDetails = new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationArgs\n {\n Rules = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleArgs\n {\n Destinations = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs\n {\n Region = example.Apply(getRegionsResult =\u003e getRegionsResult.Names[0]),\n RegistryId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n RepositoryFilters = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs\n {\n Filter = \"prod-microservice\",\n FilterType = \"PREFIX_MATCH\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := aws.GetRegions(ctx, \u0026aws.GetRegionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewReplicationConfiguration(ctx, \"example\", \u0026ecr.ReplicationConfigurationArgs{\n\t\t\tReplicationConfiguration: \u0026ecr.ReplicationConfigurationReplicationConfigurationArgs{\n\t\t\t\tRules: ecr.ReplicationConfigurationReplicationConfigurationRuleArray{\n\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleArgs{\n\t\t\t\t\t\tDestinations: ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArray{\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\t\tRegion: pulumi.String(example.Names[0]),\n\t\t\t\t\t\t\t\tRegistryId: pulumi.String(current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRepositoryFilters: ecr.ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArray{\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs{\n\t\t\t\t\t\t\t\tFilter: pulumi.String(\"prod-microservice\"),\n\t\t\t\t\t\t\t\tFilterType: pulumi.String(\"PREFIX_MATCH\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionsArgs;\nimport com.pulumi.aws.ecr.ReplicationConfiguration;\nimport com.pulumi.aws.ecr.ReplicationConfigurationArgs;\nimport com.pulumi.aws.ecr.inputs.ReplicationConfigurationReplicationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var example = AwsFunctions.getRegions();\n\n var exampleReplicationConfiguration = new ReplicationConfiguration(\"exampleReplicationConfiguration\", ReplicationConfigurationArgs.builder()\n .replicationConfiguration(ReplicationConfigurationReplicationConfigurationArgs.builder()\n .rules(ReplicationConfigurationReplicationConfigurationRuleArgs.builder()\n .destinations(ReplicationConfigurationReplicationConfigurationRuleDestinationArgs.builder()\n .region(example.applyValue(getRegionsResult -\u003e getRegionsResult.names()[0]))\n .registryId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .repositoryFilters(ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs.builder()\n .filter(\"prod-microservice\")\n .filterType(\"PREFIX_MATCH\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleReplicationConfiguration:\n type: aws:ecr:ReplicationConfiguration\n name: example\n properties:\n replicationConfiguration:\n rules:\n - destinations:\n - region: ${example.names[0]}\n registryId: ${current.accountId}\n repositoryFilters:\n - filter: prod-microservice\n filterType: PREFIX_MATCH\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:getRegions\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Replication Configuration using the `registry_id`. For example:\n\n```sh\n$ pulumi import aws:ecr/replicationConfiguration:ReplicationConfiguration service 012345678912\n```\n", "properties": { "registryId": { "type": "string", @@ -253752,7 +253752,7 @@ } }, "aws:ecr/repositoryCreationTemplate:RepositoryCreationTemplate": { - "description": "Provides an Elastic Container Registry Repository Creation Template.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"new policy\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n actions: [\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n }],\n});\nconst exampleRepositoryCreationTemplate = new aws.ecr.RepositoryCreationTemplate(\"example\", {\n prefix: \"example\",\n description: \"An example template\",\n imageTagMutability: \"IMMUTABLE\",\n customRoleArn: \"arn:aws:iam::123456789012:role/example\",\n appliedFors: [\"PULL_THROUGH_CACHE\"],\n encryptionConfigurations: [{\n encryptionType: \"AES256\",\n }],\n repositoryPolicy: example.then(example =\u003e example.json),\n lifecyclePolicy: `{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n`,\n resourceTags: {\n Foo: \"Bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"new policy\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"123456789012\"],\n }],\n \"actions\": [\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n}])\nexample_repository_creation_template = aws.ecr.RepositoryCreationTemplate(\"example\",\n prefix=\"example\",\n description=\"An example template\",\n image_tag_mutability=\"IMMUTABLE\",\n custom_role_arn=\"arn:aws:iam::123456789012:role/example\",\n applied_fors=[\"PULL_THROUGH_CACHE\"],\n encryption_configurations=[{\n \"encryption_type\": \"AES256\",\n }],\n repository_policy=example.json,\n lifecycle_policy=\"\"\"{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n\"\"\",\n resource_tags={\n \"Foo\": \"Bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"new policy\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n Actions = new[]\n {\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n },\n },\n },\n });\n\n var exampleRepositoryCreationTemplate = new Aws.Ecr.RepositoryCreationTemplate(\"example\", new()\n {\n Prefix = \"example\",\n Description = \"An example template\",\n ImageTagMutability = \"IMMUTABLE\",\n CustomRoleArn = \"arn:aws:iam::123456789012:role/example\",\n AppliedFors = new[]\n {\n \"PULL_THROUGH_CACHE\",\n },\n EncryptionConfigurations = new[]\n {\n new Aws.Ecr.Inputs.RepositoryCreationTemplateEncryptionConfigurationArgs\n {\n EncryptionType = \"AES256\",\n },\n },\n RepositoryPolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n LifecyclePolicy = @\"{\n \"\"rules\"\": [\n {\n \"\"rulePriority\"\": 1,\n \"\"description\"\": \"\"Expire images older than 14 days\"\",\n \"\"selection\"\": {\n \"\"tagStatus\"\": \"\"untagged\"\",\n \"\"countType\"\": \"\"sinceImagePushed\"\",\n \"\"countUnit\"\": \"\"days\"\",\n \"\"countNumber\"\": 14\n },\n \"\"action\"\": {\n \"\"type\"\": \"\"expire\"\"\n }\n }\n ]\n}\n\",\n ResourceTags = \n {\n { \"Foo\", \"Bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"new policy\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"123456789012\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ecr:GetDownloadUrlForLayer\",\n\t\t\t\t\t\t\"ecr:BatchGetImage\",\n\t\t\t\t\t\t\"ecr:BatchCheckLayerAvailability\",\n\t\t\t\t\t\t\"ecr:PutImage\",\n\t\t\t\t\t\t\"ecr:InitiateLayerUpload\",\n\t\t\t\t\t\t\"ecr:UploadLayerPart\",\n\t\t\t\t\t\t\"ecr:CompleteLayerUpload\",\n\t\t\t\t\t\t\"ecr:DescribeRepositories\",\n\t\t\t\t\t\t\"ecr:GetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:ListImages\",\n\t\t\t\t\t\t\"ecr:DeleteRepository\",\n\t\t\t\t\t\t\"ecr:BatchDeleteImage\",\n\t\t\t\t\t\t\"ecr:SetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:DeleteRepositoryPolicy\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewRepositoryCreationTemplate(ctx, \"example\", \u0026ecr.RepositoryCreationTemplateArgs{\n\t\t\tPrefix: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"An example template\"),\n\t\t\tImageTagMutability: pulumi.String(\"IMMUTABLE\"),\n\t\t\tCustomRoleArn: pulumi.String(\"arn:aws:iam::123456789012:role/example\"),\n\t\t\tAppliedFors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"PULL_THROUGH_CACHE\"),\n\t\t\t},\n\t\t\tEncryptionConfigurations: ecr.RepositoryCreationTemplateEncryptionConfigurationArray{\n\t\t\t\t\u0026ecr.RepositoryCreationTemplateEncryptionConfigurationArgs{\n\t\t\t\t\tEncryptionType: pulumi.String(\"AES256\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRepositoryPolicy: pulumi.String(example.Json),\n\t\t\tLifecyclePolicy: pulumi.String(`{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n`),\n\t\t\tResourceTags: pulumi.StringMap{\n\t\t\t\t\"Foo\": pulumi.String(\"Bar\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ecr.RepositoryCreationTemplate;\nimport com.pulumi.aws.ecr.RepositoryCreationTemplateArgs;\nimport com.pulumi.aws.ecr.inputs.RepositoryCreationTemplateEncryptionConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"new policy\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .actions( \n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\")\n .build())\n .build());\n\n var exampleRepositoryCreationTemplate = new RepositoryCreationTemplate(\"exampleRepositoryCreationTemplate\", RepositoryCreationTemplateArgs.builder()\n .prefix(\"example\")\n .description(\"An example template\")\n .imageTagMutability(\"IMMUTABLE\")\n .customRoleArn(\"arn:aws:iam::123456789012:role/example\")\n .appliedFors(\"PULL_THROUGH_CACHE\")\n .encryptionConfigurations(RepositoryCreationTemplateEncryptionConfigurationArgs.builder()\n .encryptionType(\"AES256\")\n .build())\n .repositoryPolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .lifecyclePolicy(\"\"\"\n{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n \"\"\")\n .resourceTags(Map.of(\"Foo\", \"Bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRepositoryCreationTemplate:\n type: aws:ecr:RepositoryCreationTemplate\n name: example\n properties:\n prefix: example\n description: An example template\n imageTagMutability: IMMUTABLE\n customRoleArn: arn:aws:iam::123456789012:role/example\n appliedFors:\n - PULL_THROUGH_CACHE\n encryptionConfigurations:\n - encryptionType: AES256\n repositoryPolicy: ${example.json}\n lifecyclePolicy: |\n {\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n }\n resourceTags:\n Foo: Bar\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: new policy\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n actions:\n - ecr:GetDownloadUrlForLayer\n - ecr:BatchGetImage\n - ecr:BatchCheckLayerAvailability\n - ecr:PutImage\n - ecr:InitiateLayerUpload\n - ecr:UploadLayerPart\n - ecr:CompleteLayerUpload\n - ecr:DescribeRepositories\n - ecr:GetRepositoryPolicy\n - ecr:ListImages\n - ecr:DeleteRepository\n - ecr:BatchDeleteImage\n - ecr:SetRepositoryPolicy\n - ecr:DeleteRepositoryPolicy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the ECR Repository Creating Templates using the `prefix`. For example:\n\n```sh\n$ pulumi import aws:ecr/repositoryCreationTemplate:RepositoryCreationTemplate example example\n```\n", + "description": "Provides an Elastic Container Registry Repository Creation Template.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"new policy\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n actions: [\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n }],\n});\nconst exampleRepositoryCreationTemplate = new aws.ecr.RepositoryCreationTemplate(\"example\", {\n prefix: \"example\",\n description: \"An example template\",\n imageTagMutability: \"IMMUTABLE\",\n customRoleArn: \"arn:aws:iam::123456789012:role/example\",\n appliedFors: [\"PULL_THROUGH_CACHE\"],\n encryptionConfigurations: [{\n encryptionType: \"AES256\",\n }],\n repositoryPolicy: example.then(example =\u003e example.json),\n lifecyclePolicy: `{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n`,\n resourceTags: {\n Foo: \"Bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"new policy\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"123456789012\"],\n }],\n \"actions\": [\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n}])\nexample_repository_creation_template = aws.ecr.RepositoryCreationTemplate(\"example\",\n prefix=\"example\",\n description=\"An example template\",\n image_tag_mutability=\"IMMUTABLE\",\n custom_role_arn=\"arn:aws:iam::123456789012:role/example\",\n applied_fors=[\"PULL_THROUGH_CACHE\"],\n encryption_configurations=[{\n \"encryption_type\": \"AES256\",\n }],\n repository_policy=example.json,\n lifecycle_policy=\"\"\"{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n\"\"\",\n resource_tags={\n \"Foo\": \"Bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"new policy\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n Actions = new[]\n {\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n },\n },\n },\n });\n\n var exampleRepositoryCreationTemplate = new Aws.Ecr.RepositoryCreationTemplate(\"example\", new()\n {\n Prefix = \"example\",\n Description = \"An example template\",\n ImageTagMutability = \"IMMUTABLE\",\n CustomRoleArn = \"arn:aws:iam::123456789012:role/example\",\n AppliedFors = new[]\n {\n \"PULL_THROUGH_CACHE\",\n },\n EncryptionConfigurations = new[]\n {\n new Aws.Ecr.Inputs.RepositoryCreationTemplateEncryptionConfigurationArgs\n {\n EncryptionType = \"AES256\",\n },\n },\n RepositoryPolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n LifecyclePolicy = @\"{\n \"\"rules\"\": [\n {\n \"\"rulePriority\"\": 1,\n \"\"description\"\": \"\"Expire images older than 14 days\"\",\n \"\"selection\"\": {\n \"\"tagStatus\"\": \"\"untagged\"\",\n \"\"countType\"\": \"\"sinceImagePushed\"\",\n \"\"countUnit\"\": \"\"days\"\",\n \"\"countNumber\"\": 14\n },\n \"\"action\"\": {\n \"\"type\"\": \"\"expire\"\"\n }\n }\n ]\n}\n\",\n ResourceTags = \n {\n { \"Foo\", \"Bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"new policy\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"123456789012\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ecr:GetDownloadUrlForLayer\",\n\t\t\t\t\t\t\"ecr:BatchGetImage\",\n\t\t\t\t\t\t\"ecr:BatchCheckLayerAvailability\",\n\t\t\t\t\t\t\"ecr:PutImage\",\n\t\t\t\t\t\t\"ecr:InitiateLayerUpload\",\n\t\t\t\t\t\t\"ecr:UploadLayerPart\",\n\t\t\t\t\t\t\"ecr:CompleteLayerUpload\",\n\t\t\t\t\t\t\"ecr:DescribeRepositories\",\n\t\t\t\t\t\t\"ecr:GetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:ListImages\",\n\t\t\t\t\t\t\"ecr:DeleteRepository\",\n\t\t\t\t\t\t\"ecr:BatchDeleteImage\",\n\t\t\t\t\t\t\"ecr:SetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:DeleteRepositoryPolicy\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewRepositoryCreationTemplate(ctx, \"example\", \u0026ecr.RepositoryCreationTemplateArgs{\n\t\t\tPrefix: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"An example template\"),\n\t\t\tImageTagMutability: pulumi.String(\"IMMUTABLE\"),\n\t\t\tCustomRoleArn: pulumi.String(\"arn:aws:iam::123456789012:role/example\"),\n\t\t\tAppliedFors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"PULL_THROUGH_CACHE\"),\n\t\t\t},\n\t\t\tEncryptionConfigurations: ecr.RepositoryCreationTemplateEncryptionConfigurationArray{\n\t\t\t\t\u0026ecr.RepositoryCreationTemplateEncryptionConfigurationArgs{\n\t\t\t\t\tEncryptionType: pulumi.String(\"AES256\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRepositoryPolicy: pulumi.String(example.Json),\n\t\t\tLifecyclePolicy: pulumi.String(`{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n`),\n\t\t\tResourceTags: pulumi.StringMap{\n\t\t\t\t\"Foo\": pulumi.String(\"Bar\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ecr.RepositoryCreationTemplate;\nimport com.pulumi.aws.ecr.RepositoryCreationTemplateArgs;\nimport com.pulumi.aws.ecr.inputs.RepositoryCreationTemplateEncryptionConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"new policy\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .actions( \n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\")\n .build())\n .build());\n\n var exampleRepositoryCreationTemplate = new RepositoryCreationTemplate(\"exampleRepositoryCreationTemplate\", RepositoryCreationTemplateArgs.builder()\n .prefix(\"example\")\n .description(\"An example template\")\n .imageTagMutability(\"IMMUTABLE\")\n .customRoleArn(\"arn:aws:iam::123456789012:role/example\")\n .appliedFors(\"PULL_THROUGH_CACHE\")\n .encryptionConfigurations(RepositoryCreationTemplateEncryptionConfigurationArgs.builder()\n .encryptionType(\"AES256\")\n .build())\n .repositoryPolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .lifecyclePolicy(\"\"\"\n{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n \"\"\")\n .resourceTags(Map.of(\"Foo\", \"Bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRepositoryCreationTemplate:\n type: aws:ecr:RepositoryCreationTemplate\n name: example\n properties:\n prefix: example\n description: An example template\n imageTagMutability: IMMUTABLE\n customRoleArn: arn:aws:iam::123456789012:role/example\n appliedFors:\n - PULL_THROUGH_CACHE\n encryptionConfigurations:\n - encryptionType: AES256\n repositoryPolicy: ${example.json}\n lifecyclePolicy: |\n {\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n }\n resourceTags:\n Foo: Bar\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: new policy\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n actions:\n - ecr:GetDownloadUrlForLayer\n - ecr:BatchGetImage\n - ecr:BatchCheckLayerAvailability\n - ecr:PutImage\n - ecr:InitiateLayerUpload\n - ecr:UploadLayerPart\n - ecr:CompleteLayerUpload\n - ecr:DescribeRepositories\n - ecr:GetRepositoryPolicy\n - ecr:ListImages\n - ecr:DeleteRepository\n - ecr:BatchDeleteImage\n - ecr:SetRepositoryPolicy\n - ecr:DeleteRepositoryPolicy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the ECR Repository Creating Templates using the `prefix`. For example:\n\n```sh\n$ pulumi import aws:ecr/repositoryCreationTemplate:RepositoryCreationTemplate example example\n```\n", "properties": { "appliedFors": { "type": "array", @@ -253916,7 +253916,7 @@ } }, "aws:ecr/repositoryPolicy:RepositoryPolicy": { - "description": "Provides an Elastic Container Registry Repository Policy.\n\nNote that currently only one policy may be applied to a repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRepository = new aws.ecr.Repository(\"example\", {name: \"example-repo\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"new policy\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n actions: [\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n }],\n});\nconst exampleRepositoryPolicy = new aws.ecr.RepositoryPolicy(\"example\", {\n repository: exampleRepository.name,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_repository = aws.ecr.Repository(\"example\", name=\"example-repo\")\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"new policy\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"123456789012\"],\n }],\n \"actions\": [\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n}])\nexample_repository_policy = aws.ecr.RepositoryPolicy(\"example\",\n repository=example_repository.name,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRepository = new Aws.Ecr.Repository(\"example\", new()\n {\n Name = \"example-repo\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"new policy\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n Actions = new[]\n {\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n },\n },\n },\n });\n\n var exampleRepositoryPolicy = new Aws.Ecr.RepositoryPolicy(\"example\", new()\n {\n Repository = exampleRepository.Name,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRepository, err := ecr.NewRepository(ctx, \"example\", \u0026ecr.RepositoryArgs{\n\t\t\tName: pulumi.String(\"example-repo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"new policy\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"123456789012\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ecr:GetDownloadUrlForLayer\",\n\t\t\t\t\t\t\"ecr:BatchGetImage\",\n\t\t\t\t\t\t\"ecr:BatchCheckLayerAvailability\",\n\t\t\t\t\t\t\"ecr:PutImage\",\n\t\t\t\t\t\t\"ecr:InitiateLayerUpload\",\n\t\t\t\t\t\t\"ecr:UploadLayerPart\",\n\t\t\t\t\t\t\"ecr:CompleteLayerUpload\",\n\t\t\t\t\t\t\"ecr:DescribeRepositories\",\n\t\t\t\t\t\t\"ecr:GetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:ListImages\",\n\t\t\t\t\t\t\"ecr:DeleteRepository\",\n\t\t\t\t\t\t\"ecr:BatchDeleteImage\",\n\t\t\t\t\t\t\"ecr:SetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:DeleteRepositoryPolicy\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewRepositoryPolicy(ctx, \"example\", \u0026ecr.RepositoryPolicyArgs{\n\t\t\tRepository: exampleRepository.Name,\n\t\t\tPolicy: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.Repository;\nimport com.pulumi.aws.ecr.RepositoryArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ecr.RepositoryPolicy;\nimport com.pulumi.aws.ecr.RepositoryPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleRepository = new Repository(\"exampleRepository\", RepositoryArgs.builder()\n .name(\"example-repo\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"new policy\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .actions( \n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\")\n .build())\n .build());\n\n var exampleRepositoryPolicy = new RepositoryPolicy(\"exampleRepositoryPolicy\", RepositoryPolicyArgs.builder()\n .repository(exampleRepository.name())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRepository:\n type: aws:ecr:Repository\n name: example\n properties:\n name: example-repo\n exampleRepositoryPolicy:\n type: aws:ecr:RepositoryPolicy\n name: example\n properties:\n repository: ${exampleRepository.name}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: new policy\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n actions:\n - ecr:GetDownloadUrlForLayer\n - ecr:BatchGetImage\n - ecr:BatchCheckLayerAvailability\n - ecr:PutImage\n - ecr:InitiateLayerUpload\n - ecr:UploadLayerPart\n - ecr:CompleteLayerUpload\n - ecr:DescribeRepositories\n - ecr:GetRepositoryPolicy\n - ecr:ListImages\n - ecr:DeleteRepository\n - ecr:BatchDeleteImage\n - ecr:SetRepositoryPolicy\n - ecr:DeleteRepositoryPolicy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Repository Policy using the repository name. For example:\n\n```sh\n$ pulumi import aws:ecr/repositoryPolicy:RepositoryPolicy example example\n```\n", + "description": "Provides an Elastic Container Registry Repository Policy.\n\nNote that currently only one policy may be applied to a repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRepository = new aws.ecr.Repository(\"example\", {name: \"example-repo\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"new policy\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n actions: [\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n }],\n});\nconst exampleRepositoryPolicy = new aws.ecr.RepositoryPolicy(\"example\", {\n repository: exampleRepository.name,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_repository = aws.ecr.Repository(\"example\", name=\"example-repo\")\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"new policy\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"123456789012\"],\n }],\n \"actions\": [\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n}])\nexample_repository_policy = aws.ecr.RepositoryPolicy(\"example\",\n repository=example_repository.name,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRepository = new Aws.Ecr.Repository(\"example\", new()\n {\n Name = \"example-repo\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"new policy\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n Actions = new[]\n {\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n },\n },\n },\n });\n\n var exampleRepositoryPolicy = new Aws.Ecr.RepositoryPolicy(\"example\", new()\n {\n Repository = exampleRepository.Name,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRepository, err := ecr.NewRepository(ctx, \"example\", \u0026ecr.RepositoryArgs{\n\t\t\tName: pulumi.String(\"example-repo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"new policy\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"123456789012\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ecr:GetDownloadUrlForLayer\",\n\t\t\t\t\t\t\"ecr:BatchGetImage\",\n\t\t\t\t\t\t\"ecr:BatchCheckLayerAvailability\",\n\t\t\t\t\t\t\"ecr:PutImage\",\n\t\t\t\t\t\t\"ecr:InitiateLayerUpload\",\n\t\t\t\t\t\t\"ecr:UploadLayerPart\",\n\t\t\t\t\t\t\"ecr:CompleteLayerUpload\",\n\t\t\t\t\t\t\"ecr:DescribeRepositories\",\n\t\t\t\t\t\t\"ecr:GetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:ListImages\",\n\t\t\t\t\t\t\"ecr:DeleteRepository\",\n\t\t\t\t\t\t\"ecr:BatchDeleteImage\",\n\t\t\t\t\t\t\"ecr:SetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:DeleteRepositoryPolicy\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewRepositoryPolicy(ctx, \"example\", \u0026ecr.RepositoryPolicyArgs{\n\t\t\tRepository: exampleRepository.Name,\n\t\t\tPolicy: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.Repository;\nimport com.pulumi.aws.ecr.RepositoryArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ecr.RepositoryPolicy;\nimport com.pulumi.aws.ecr.RepositoryPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleRepository = new Repository(\"exampleRepository\", RepositoryArgs.builder()\n .name(\"example-repo\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"new policy\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .actions( \n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\")\n .build())\n .build());\n\n var exampleRepositoryPolicy = new RepositoryPolicy(\"exampleRepositoryPolicy\", RepositoryPolicyArgs.builder()\n .repository(exampleRepository.name())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRepository:\n type: aws:ecr:Repository\n name: example\n properties:\n name: example-repo\n exampleRepositoryPolicy:\n type: aws:ecr:RepositoryPolicy\n name: example\n properties:\n repository: ${exampleRepository.name}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: new policy\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n actions:\n - ecr:GetDownloadUrlForLayer\n - ecr:BatchGetImage\n - ecr:BatchCheckLayerAvailability\n - ecr:PutImage\n - ecr:InitiateLayerUpload\n - ecr:UploadLayerPart\n - ecr:CompleteLayerUpload\n - ecr:DescribeRepositories\n - ecr:GetRepositoryPolicy\n - ecr:ListImages\n - ecr:DeleteRepository\n - ecr:BatchDeleteImage\n - ecr:SetRepositoryPolicy\n - ecr:DeleteRepositoryPolicy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Repository Policy using the repository name. For example:\n\n```sh\n$ pulumi import aws:ecr/repositoryPolicy:RepositoryPolicy example example\n```\n", "properties": { "policy": { "type": "string", @@ -253990,7 +253990,7 @@ } }, "aws:ecrpublic/repository:Repository": { - "description": "Provides a Public Elastic Container Registry Repository.\n\n\u003e **NOTE:** This resource can only be used in the `us-east-1` region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst foo = new aws.ecrpublic.Repository(\"foo\", {\n repositoryName: \"bar\",\n catalogData: {\n aboutText: \"About Text\",\n architectures: [\"ARM\"],\n description: \"Description\",\n logoImageBlob: std.filebase64({\n input: png,\n }).then(invoke =\u003e invoke.result),\n operatingSystems: [\"Linux\"],\n usageText: \"Usage Text\",\n },\n tags: {\n env: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nfoo = aws.ecrpublic.Repository(\"foo\",\n repository_name=\"bar\",\n catalog_data={\n \"about_text\": \"About Text\",\n \"architectures\": [\"ARM\"],\n \"description\": \"Description\",\n \"logo_image_blob\": std.filebase64(input=png).result,\n \"operating_systems\": [\"Linux\"],\n \"usage_text\": \"Usage Text\",\n },\n tags={\n \"env\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.EcrPublic.Repository(\"foo\", new()\n {\n RepositoryName = \"bar\",\n CatalogData = new Aws.EcrPublic.Inputs.RepositoryCatalogDataArgs\n {\n AboutText = \"About Text\",\n Architectures = new[]\n {\n \"ARM\",\n },\n Description = \"Description\",\n LogoImageBlob = Std.Filebase64.Invoke(new()\n {\n Input = png,\n }).Apply(invoke =\u003e invoke.Result),\n OperatingSystems = new[]\n {\n \"Linux\",\n },\n UsageText = \"Usage Text\",\n },\n Tags = \n {\n { \"env\", \"production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecrpublic\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: png,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecrpublic.NewRepository(ctx, \"foo\", \u0026ecrpublic.RepositoryArgs{\n\t\t\tRepositoryName: pulumi.String(\"bar\"),\n\t\t\tCatalogData: \u0026ecrpublic.RepositoryCatalogDataArgs{\n\t\t\t\tAboutText: pulumi.String(\"About Text\"),\n\t\t\t\tArchitectures: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ARM\"),\n\t\t\t\t},\n\t\t\t\tDescription: pulumi.String(\"Description\"),\n\t\t\t\tLogoImageBlob: pulumi.String(invokeFilebase64.Result),\n\t\t\t\tOperatingSystems: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Linux\"),\n\t\t\t\t},\n\t\t\t\tUsageText: pulumi.String(\"Usage Text\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"env\": pulumi.String(\"production\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecrpublic.Repository;\nimport com.pulumi.aws.ecrpublic.RepositoryArgs;\nimport com.pulumi.aws.ecrpublic.inputs.RepositoryCatalogDataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Repository(\"foo\", RepositoryArgs.builder()\n .repositoryName(\"bar\")\n .catalogData(RepositoryCatalogDataArgs.builder()\n .aboutText(\"About Text\")\n .architectures(\"ARM\")\n .description(\"Description\")\n .logoImageBlob(StdFunctions.filebase64(Filebase64Args.builder()\n .input(png)\n .build()).result())\n .operatingSystems(\"Linux\")\n .usageText(\"Usage Text\")\n .build())\n .tags(Map.of(\"env\", \"production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ecrpublic:Repository\n properties:\n repositoryName: bar\n catalogData:\n aboutText: About Text\n architectures:\n - ARM\n description: Description\n logoImageBlob:\n fn::invoke:\n function: std:filebase64\n arguments:\n input: ${png}\n return: result\n operatingSystems:\n - Linux\n usageText: Usage Text\n tags:\n env: production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Public Repositories using the `repository_name`. For example:\n\n```sh\n$ pulumi import aws:ecrpublic/repository:Repository example example\n```\n", + "description": "Provides a Public Elastic Container Registry Repository.\n\n\u003e **NOTE:** This resource can only be used in the `us-east-1` region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst foo = new aws.ecrpublic.Repository(\"foo\", {\n repositoryName: \"bar\",\n catalogData: {\n aboutText: \"About Text\",\n architectures: [\"ARM\"],\n description: \"Description\",\n logoImageBlob: std.filebase64({\n input: png,\n }).then(invoke =\u003e invoke.result),\n operatingSystems: [\"Linux\"],\n usageText: \"Usage Text\",\n },\n tags: {\n env: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nfoo = aws.ecrpublic.Repository(\"foo\",\n repository_name=\"bar\",\n catalog_data={\n \"about_text\": \"About Text\",\n \"architectures\": [\"ARM\"],\n \"description\": \"Description\",\n \"logo_image_blob\": std.filebase64(input=png).result,\n \"operating_systems\": [\"Linux\"],\n \"usage_text\": \"Usage Text\",\n },\n tags={\n \"env\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.EcrPublic.Repository(\"foo\", new()\n {\n RepositoryName = \"bar\",\n CatalogData = new Aws.EcrPublic.Inputs.RepositoryCatalogDataArgs\n {\n AboutText = \"About Text\",\n Architectures = new[]\n {\n \"ARM\",\n },\n Description = \"Description\",\n LogoImageBlob = Std.Filebase64.Invoke(new()\n {\n Input = png,\n }).Apply(invoke =\u003e invoke.Result),\n OperatingSystems = new[]\n {\n \"Linux\",\n },\n UsageText = \"Usage Text\",\n },\n Tags = \n {\n { \"env\", \"production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecrpublic\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: png,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecrpublic.NewRepository(ctx, \"foo\", \u0026ecrpublic.RepositoryArgs{\n\t\t\tRepositoryName: pulumi.String(\"bar\"),\n\t\t\tCatalogData: \u0026ecrpublic.RepositoryCatalogDataArgs{\n\t\t\t\tAboutText: pulumi.String(\"About Text\"),\n\t\t\t\tArchitectures: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ARM\"),\n\t\t\t\t},\n\t\t\t\tDescription: pulumi.String(\"Description\"),\n\t\t\t\tLogoImageBlob: pulumi.String(invokeFilebase64.Result),\n\t\t\t\tOperatingSystems: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Linux\"),\n\t\t\t\t},\n\t\t\t\tUsageText: pulumi.String(\"Usage Text\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"env\": pulumi.String(\"production\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecrpublic.Repository;\nimport com.pulumi.aws.ecrpublic.RepositoryArgs;\nimport com.pulumi.aws.ecrpublic.inputs.RepositoryCatalogDataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Repository(\"foo\", RepositoryArgs.builder()\n .repositoryName(\"bar\")\n .catalogData(RepositoryCatalogDataArgs.builder()\n .aboutText(\"About Text\")\n .architectures(\"ARM\")\n .description(\"Description\")\n .logoImageBlob(StdFunctions.filebase64(Filebase64Args.builder()\n .input(png)\n .build()).result())\n .operatingSystems(\"Linux\")\n .usageText(\"Usage Text\")\n .build())\n .tags(Map.of(\"env\", \"production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ecrpublic:Repository\n properties:\n repositoryName: bar\n catalogData:\n aboutText: About Text\n architectures:\n - ARM\n description: Description\n logoImageBlob:\n fn::invoke:\n Function: std:filebase64\n Arguments:\n input: ${png}\n Return: result\n operatingSystems:\n - Linux\n usageText: Usage Text\n tags:\n env: production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Public Repositories using the `repository_name`. For example:\n\n```sh\n$ pulumi import aws:ecrpublic/repository:Repository example example\n```\n", "properties": { "arn": { "type": "string", @@ -254109,7 +254109,7 @@ } }, "aws:ecrpublic/repositoryPolicy:RepositoryPolicy": { - "description": "Provides an Elastic Container Registry Public Repository Policy.\n\nNote that currently only one policy may be applied to a repository.\n\n\u003e **NOTE:** This resource can only be used in the `us-east-1` region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRepository = new aws.ecrpublic.Repository(\"example\", {repositoryName: \"example\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"new policy\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n actions: [\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n }],\n});\nconst exampleRepositoryPolicy = new aws.ecrpublic.RepositoryPolicy(\"example\", {\n repositoryName: exampleRepository.repositoryName,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_repository = aws.ecrpublic.Repository(\"example\", repository_name=\"example\")\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"new policy\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"123456789012\"],\n }],\n \"actions\": [\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n}])\nexample_repository_policy = aws.ecrpublic.RepositoryPolicy(\"example\",\n repository_name=example_repository.repository_name,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRepository = new Aws.EcrPublic.Repository(\"example\", new()\n {\n RepositoryName = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"new policy\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n Actions = new[]\n {\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n },\n },\n },\n });\n\n var exampleRepositoryPolicy = new Aws.EcrPublic.RepositoryPolicy(\"example\", new()\n {\n RepositoryName = exampleRepository.RepositoryName,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecrpublic\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRepository, err := ecrpublic.NewRepository(ctx, \"example\", \u0026ecrpublic.RepositoryArgs{\n\t\t\tRepositoryName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"new policy\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"123456789012\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ecr:GetDownloadUrlForLayer\",\n\t\t\t\t\t\t\"ecr:BatchGetImage\",\n\t\t\t\t\t\t\"ecr:BatchCheckLayerAvailability\",\n\t\t\t\t\t\t\"ecr:PutImage\",\n\t\t\t\t\t\t\"ecr:InitiateLayerUpload\",\n\t\t\t\t\t\t\"ecr:UploadLayerPart\",\n\t\t\t\t\t\t\"ecr:CompleteLayerUpload\",\n\t\t\t\t\t\t\"ecr:DescribeRepositories\",\n\t\t\t\t\t\t\"ecr:GetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:ListImages\",\n\t\t\t\t\t\t\"ecr:DeleteRepository\",\n\t\t\t\t\t\t\"ecr:BatchDeleteImage\",\n\t\t\t\t\t\t\"ecr:SetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:DeleteRepositoryPolicy\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecrpublic.NewRepositoryPolicy(ctx, \"example\", \u0026ecrpublic.RepositoryPolicyArgs{\n\t\t\tRepositoryName: exampleRepository.RepositoryName,\n\t\t\tPolicy: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecrpublic.Repository;\nimport com.pulumi.aws.ecrpublic.RepositoryArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ecrpublic.RepositoryPolicy;\nimport com.pulumi.aws.ecrpublic.RepositoryPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleRepository = new Repository(\"exampleRepository\", RepositoryArgs.builder()\n .repositoryName(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"new policy\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .actions( \n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\")\n .build())\n .build());\n\n var exampleRepositoryPolicy = new RepositoryPolicy(\"exampleRepositoryPolicy\", RepositoryPolicyArgs.builder()\n .repositoryName(exampleRepository.repositoryName())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRepository:\n type: aws:ecrpublic:Repository\n name: example\n properties:\n repositoryName: example\n exampleRepositoryPolicy:\n type: aws:ecrpublic:RepositoryPolicy\n name: example\n properties:\n repositoryName: ${exampleRepository.repositoryName}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: new policy\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n actions:\n - ecr:GetDownloadUrlForLayer\n - ecr:BatchGetImage\n - ecr:BatchCheckLayerAvailability\n - ecr:PutImage\n - ecr:InitiateLayerUpload\n - ecr:UploadLayerPart\n - ecr:CompleteLayerUpload\n - ecr:DescribeRepositories\n - ecr:GetRepositoryPolicy\n - ecr:ListImages\n - ecr:DeleteRepository\n - ecr:BatchDeleteImage\n - ecr:SetRepositoryPolicy\n - ecr:DeleteRepositoryPolicy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Public Repository Policy using the repository name. For example:\n\n```sh\n$ pulumi import aws:ecrpublic/repositoryPolicy:RepositoryPolicy example example\n```\n", + "description": "Provides an Elastic Container Registry Public Repository Policy.\n\nNote that currently only one policy may be applied to a repository.\n\n\u003e **NOTE:** This resource can only be used in the `us-east-1` region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRepository = new aws.ecrpublic.Repository(\"example\", {repositoryName: \"example\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"new policy\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n actions: [\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n }],\n});\nconst exampleRepositoryPolicy = new aws.ecrpublic.RepositoryPolicy(\"example\", {\n repositoryName: exampleRepository.repositoryName,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_repository = aws.ecrpublic.Repository(\"example\", repository_name=\"example\")\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"new policy\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"123456789012\"],\n }],\n \"actions\": [\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n}])\nexample_repository_policy = aws.ecrpublic.RepositoryPolicy(\"example\",\n repository_name=example_repository.repository_name,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRepository = new Aws.EcrPublic.Repository(\"example\", new()\n {\n RepositoryName = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"new policy\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n Actions = new[]\n {\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n },\n },\n },\n });\n\n var exampleRepositoryPolicy = new Aws.EcrPublic.RepositoryPolicy(\"example\", new()\n {\n RepositoryName = exampleRepository.RepositoryName,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecrpublic\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRepository, err := ecrpublic.NewRepository(ctx, \"example\", \u0026ecrpublic.RepositoryArgs{\n\t\t\tRepositoryName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"new policy\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"123456789012\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ecr:GetDownloadUrlForLayer\",\n\t\t\t\t\t\t\"ecr:BatchGetImage\",\n\t\t\t\t\t\t\"ecr:BatchCheckLayerAvailability\",\n\t\t\t\t\t\t\"ecr:PutImage\",\n\t\t\t\t\t\t\"ecr:InitiateLayerUpload\",\n\t\t\t\t\t\t\"ecr:UploadLayerPart\",\n\t\t\t\t\t\t\"ecr:CompleteLayerUpload\",\n\t\t\t\t\t\t\"ecr:DescribeRepositories\",\n\t\t\t\t\t\t\"ecr:GetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:ListImages\",\n\t\t\t\t\t\t\"ecr:DeleteRepository\",\n\t\t\t\t\t\t\"ecr:BatchDeleteImage\",\n\t\t\t\t\t\t\"ecr:SetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:DeleteRepositoryPolicy\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecrpublic.NewRepositoryPolicy(ctx, \"example\", \u0026ecrpublic.RepositoryPolicyArgs{\n\t\t\tRepositoryName: exampleRepository.RepositoryName,\n\t\t\tPolicy: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecrpublic.Repository;\nimport com.pulumi.aws.ecrpublic.RepositoryArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ecrpublic.RepositoryPolicy;\nimport com.pulumi.aws.ecrpublic.RepositoryPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleRepository = new Repository(\"exampleRepository\", RepositoryArgs.builder()\n .repositoryName(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"new policy\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .actions( \n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\")\n .build())\n .build());\n\n var exampleRepositoryPolicy = new RepositoryPolicy(\"exampleRepositoryPolicy\", RepositoryPolicyArgs.builder()\n .repositoryName(exampleRepository.repositoryName())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRepository:\n type: aws:ecrpublic:Repository\n name: example\n properties:\n repositoryName: example\n exampleRepositoryPolicy:\n type: aws:ecrpublic:RepositoryPolicy\n name: example\n properties:\n repositoryName: ${exampleRepository.repositoryName}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: new policy\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n actions:\n - ecr:GetDownloadUrlForLayer\n - ecr:BatchGetImage\n - ecr:BatchCheckLayerAvailability\n - ecr:PutImage\n - ecr:InitiateLayerUpload\n - ecr:UploadLayerPart\n - ecr:CompleteLayerUpload\n - ecr:DescribeRepositories\n - ecr:GetRepositoryPolicy\n - ecr:ListImages\n - ecr:DeleteRepository\n - ecr:BatchDeleteImage\n - ecr:SetRepositoryPolicy\n - ecr:DeleteRepositoryPolicy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Public Repository Policy using the repository name. For example:\n\n```sh\n$ pulumi import aws:ecrpublic/repositoryPolicy:RepositoryPolicy example example\n```\n", "properties": { "policy": { "type": "string", @@ -254313,7 +254313,7 @@ } }, "aws:ecs/cluster:Cluster": { - "description": "Provides an ECS cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ecs.Cluster(\"foo\", {\n name: \"white-hart\",\n settings: [{\n name: \"containerInsights\",\n value: \"enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ecs.Cluster(\"foo\",\n name=\"white-hart\",\n settings=[{\n \"name\": \"containerInsights\",\n \"value\": \"enabled\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ecs.Cluster(\"foo\", new()\n {\n Name = \"white-hart\",\n Settings = new[]\n {\n new Aws.Ecs.Inputs.ClusterSettingArgs\n {\n Name = \"containerInsights\",\n Value = \"enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.NewCluster(ctx, \"foo\", \u0026ecs.ClusterArgs{\n\t\t\tName: pulumi.String(\"white-hart\"),\n\t\t\tSettings: ecs.ClusterSettingArray{\n\t\t\t\t\u0026ecs.ClusterSettingArgs{\n\t\t\t\t\tName: pulumi.String(\"containerInsights\"),\n\t\t\t\t\tValue: pulumi.String(\"enabled\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.Cluster;\nimport com.pulumi.aws.ecs.ClusterArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Cluster(\"foo\", ClusterArgs.builder()\n .name(\"white-hart\")\n .settings(ClusterSettingArgs.builder()\n .name(\"containerInsights\")\n .value(\"enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ecs:Cluster\n properties:\n name: white-hart\n settings:\n - name: containerInsights\n value: enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Execute Command Configuration with Override Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {\n description: \"example\",\n deletionWindowInDays: 7,\n});\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst test = new aws.ecs.Cluster(\"test\", {\n name: \"example\",\n configuration: {\n executeCommandConfiguration: {\n kmsKeyId: example.arn,\n logging: \"OVERRIDE\",\n logConfiguration: {\n cloudWatchEncryptionEnabled: true,\n cloudWatchLogGroupName: exampleLogGroup.name,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\",\n description=\"example\",\n deletion_window_in_days=7)\nexample_log_group = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\ntest = aws.ecs.Cluster(\"test\",\n name=\"example\",\n configuration={\n \"execute_command_configuration\": {\n \"kms_key_id\": example.arn,\n \"logging\": \"OVERRIDE\",\n \"log_configuration\": {\n \"cloud_watch_encryption_enabled\": True,\n \"cloud_watch_log_group_name\": example_log_group.name,\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"example\",\n DeletionWindowInDays = 7,\n });\n\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var test = new Aws.Ecs.Cluster(\"test\", new()\n {\n Name = \"example\",\n Configuration = new Aws.Ecs.Inputs.ClusterConfigurationArgs\n {\n ExecuteCommandConfiguration = new Aws.Ecs.Inputs.ClusterConfigurationExecuteCommandConfigurationArgs\n {\n KmsKeyId = example.Arn,\n Logging = \"OVERRIDE\",\n LogConfiguration = new Aws.Ecs.Inputs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs\n {\n CloudWatchEncryptionEnabled = true,\n CloudWatchLogGroupName = exampleLogGroup.Name,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewCluster(ctx, \"test\", \u0026ecs.ClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConfiguration: \u0026ecs.ClusterConfigurationArgs{\n\t\t\t\tExecuteCommandConfiguration: \u0026ecs.ClusterConfigurationExecuteCommandConfigurationArgs{\n\t\t\t\t\tKmsKeyId: example.Arn,\n\t\t\t\t\tLogging: pulumi.String(\"OVERRIDE\"),\n\t\t\t\t\tLogConfiguration: \u0026ecs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs{\n\t\t\t\t\t\tCloudWatchEncryptionEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tCloudWatchLogGroupName: exampleLogGroup.Name,\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.ecs.Cluster;\nimport com.pulumi.aws.ecs.ClusterArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterConfigurationArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterConfigurationExecuteCommandConfigurationArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"example\")\n .deletionWindowInDays(7)\n .build());\n\n var exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder()\n .name(\"example\")\n .build());\n\n var test = new Cluster(\"test\", ClusterArgs.builder()\n .name(\"example\")\n .configuration(ClusterConfigurationArgs.builder()\n .executeCommandConfiguration(ClusterConfigurationExecuteCommandConfigurationArgs.builder()\n .kmsKeyId(example.arn())\n .logging(\"OVERRIDE\")\n .logConfiguration(ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs.builder()\n .cloudWatchEncryptionEnabled(true)\n .cloudWatchLogGroupName(exampleLogGroup.name())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: example\n deletionWindowInDays: 7\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: example\n test:\n type: aws:ecs:Cluster\n properties:\n name: example\n configuration:\n executeCommandConfiguration:\n kmsKeyId: ${example.arn}\n logging: OVERRIDE\n logConfiguration:\n cloudWatchEncryptionEnabled: true\n cloudWatchLogGroupName: ${exampleLogGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Fargate Ephemeral Storage Encryption with Customer-Managed KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n description: \"example\",\n deletionWindowInDays: 7,\n});\nconst exampleKeyPolicy = new aws.kms.KeyPolicy(\"example\", {\n keyId: example.id,\n policy: JSON.stringify({\n Id: \"ECSClusterFargatePolicy\",\n Statement: [\n {\n Sid: \"Enable IAM User Permissions\",\n Effect: \"Allow\",\n Principal: {\n AWS: \"*\",\n },\n Action: \"kms:*\",\n Resource: \"*\",\n },\n {\n Sid: \"Allow generate data key access for Fargate tasks.\",\n Effect: \"Allow\",\n Principal: {\n Service: \"fargate.amazonaws.com\",\n },\n Action: [\"kms:GenerateDataKeyWithoutPlaintext\"],\n Condition: {\n StringEquals: {\n \"kms:EncryptionContext:aws:ecs:clusterAccount\": [current.then(current =\u003e current.accountId)],\n \"kms:EncryptionContext:aws:ecs:clusterName\": [\"example\"],\n },\n },\n Resource: \"*\",\n },\n {\n Sid: \"Allow grant creation permission for Fargate tasks.\",\n Effect: \"Allow\",\n Principal: {\n Service: \"fargate.amazonaws.com\",\n },\n Action: [\"kms:CreateGrant\"],\n Condition: {\n StringEquals: {\n \"kms:EncryptionContext:aws:ecs:clusterAccount\": [current.then(current =\u003e current.accountId)],\n \"kms:EncryptionContext:aws:ecs:clusterName\": [\"example\"],\n },\n \"ForAllValues:StringEquals\": {\n \"kms:GrantOperations\": [\"Decrypt\"],\n },\n },\n Resource: \"*\",\n },\n ],\n Version: \"2012-10-17\",\n }),\n});\nconst test = new aws.ecs.Cluster(\"test\", {\n name: \"example\",\n configuration: {\n managedStorageConfiguration: {\n fargateEphemeralStorageKmsKeyId: example.id,\n },\n },\n}, {\n dependsOn: [exampleKeyPolicy],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n description=\"example\",\n deletion_window_in_days=7)\nexample_key_policy = aws.kms.KeyPolicy(\"example\",\n key_id=example.id,\n policy=json.dumps({\n \"Id\": \"ECSClusterFargatePolicy\",\n \"Statement\": [\n {\n \"Sid\": \"Enable IAM User Permissions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"*\",\n },\n \"Action\": \"kms:*\",\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow generate data key access for Fargate tasks.\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"fargate.amazonaws.com\",\n },\n \"Action\": [\"kms:GenerateDataKeyWithoutPlaintext\"],\n \"Condition\": {\n \"StringEquals\": {\n \"kms:EncryptionContext:aws:ecs:clusterAccount\": [current.account_id],\n \"kms:EncryptionContext:aws:ecs:clusterName\": [\"example\"],\n },\n },\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow grant creation permission for Fargate tasks.\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"fargate.amazonaws.com\",\n },\n \"Action\": [\"kms:CreateGrant\"],\n \"Condition\": {\n \"StringEquals\": {\n \"kms:EncryptionContext:aws:ecs:clusterAccount\": [current.account_id],\n \"kms:EncryptionContext:aws:ecs:clusterName\": [\"example\"],\n },\n \"ForAllValues:StringEquals\": {\n \"kms:GrantOperations\": [\"Decrypt\"],\n },\n },\n \"Resource\": \"*\",\n },\n ],\n \"Version\": \"2012-10-17\",\n }))\ntest = aws.ecs.Cluster(\"test\",\n name=\"example\",\n configuration={\n \"managed_storage_configuration\": {\n \"fargate_ephemeral_storage_kms_key_id\": example.id,\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_key_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"example\",\n DeletionWindowInDays = 7,\n });\n\n var exampleKeyPolicy = new Aws.Kms.KeyPolicy(\"example\", new()\n {\n KeyId = example.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Id\"] = \"ECSClusterFargatePolicy\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Enable IAM User Permissions\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"*\",\n },\n [\"Action\"] = \"kms:*\",\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow generate data key access for Fargate tasks.\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"fargate.amazonaws.com\",\n },\n [\"Action\"] = new[]\n {\n \"kms:GenerateDataKeyWithoutPlaintext\",\n },\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"kms:EncryptionContext:aws:ecs:clusterAccount\"] = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n [\"kms:EncryptionContext:aws:ecs:clusterName\"] = new[]\n {\n \"example\",\n },\n },\n },\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow grant creation permission for Fargate tasks.\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"fargate.amazonaws.com\",\n },\n [\"Action\"] = new[]\n {\n \"kms:CreateGrant\",\n },\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"kms:EncryptionContext:aws:ecs:clusterAccount\"] = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n [\"kms:EncryptionContext:aws:ecs:clusterName\"] = new[]\n {\n \"example\",\n },\n },\n [\"ForAllValues:StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"kms:GrantOperations\"] = new[]\n {\n \"Decrypt\",\n },\n },\n },\n [\"Resource\"] = \"*\",\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n var test = new Aws.Ecs.Cluster(\"test\", new()\n {\n Name = \"example\",\n Configuration = new Aws.Ecs.Inputs.ClusterConfigurationArgs\n {\n ManagedStorageConfiguration = new Aws.Ecs.Inputs.ClusterConfigurationManagedStorageConfigurationArgs\n {\n FargateEphemeralStorageKmsKeyId = example.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleKeyPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Id\": \"ECSClusterFargatePolicy\",\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow generate data key access for Fargate tasks.\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"fargate.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:GenerateDataKeyWithoutPlaintext\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"kms:EncryptionContext:aws:ecs:clusterAccount\": []*string{\n\t\t\t\t\t\t\t\tcurrent.AccountId,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"kms:EncryptionContext:aws:ecs:clusterName\": []string{\n\t\t\t\t\t\t\t\t\"example\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow grant creation permission for Fargate tasks.\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"fargate.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:CreateGrant\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"kms:EncryptionContext:aws:ecs:clusterAccount\": []*string{\n\t\t\t\t\t\t\t\tcurrent.AccountId,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"kms:EncryptionContext:aws:ecs:clusterName\": []string{\n\t\t\t\t\t\t\t\t\"example\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"ForAllValues:StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"kms:GrantOperations\": []string{\n\t\t\t\t\t\t\t\t\"Decrypt\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleKeyPolicy, err := kms.NewKeyPolicy(ctx, \"example\", \u0026kms.KeyPolicyArgs{\n\t\t\tKeyId: example.ID(),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewCluster(ctx, \"test\", \u0026ecs.ClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConfiguration: \u0026ecs.ClusterConfigurationArgs{\n\t\t\t\tManagedStorageConfiguration: \u0026ecs.ClusterConfigurationManagedStorageConfigurationArgs{\n\t\t\t\t\tFargateEphemeralStorageKmsKeyId: example.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeyPolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.kms.KeyPolicy;\nimport com.pulumi.aws.kms.KeyPolicyArgs;\nimport com.pulumi.aws.ecs.Cluster;\nimport com.pulumi.aws.ecs.ClusterArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterConfigurationArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterConfigurationManagedStorageConfigurationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"example\")\n .deletionWindowInDays(7)\n .build());\n\n var exampleKeyPolicy = new KeyPolicy(\"exampleKeyPolicy\", KeyPolicyArgs.builder()\n .keyId(example.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Id\", \"ECSClusterFargatePolicy\"),\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"*\")\n )),\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow generate data key access for Fargate tasks.\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"fargate.amazonaws.com\")\n )),\n jsonProperty(\"Action\", jsonArray(\"kms:GenerateDataKeyWithoutPlaintext\")),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringEquals\", jsonObject(\n jsonProperty(\"kms:EncryptionContext:aws:ecs:clusterAccount\", jsonArray(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))),\n jsonProperty(\"kms:EncryptionContext:aws:ecs:clusterName\", jsonArray(\"example\"))\n ))\n )),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow grant creation permission for Fargate tasks.\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"fargate.amazonaws.com\")\n )),\n jsonProperty(\"Action\", jsonArray(\"kms:CreateGrant\")),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringEquals\", jsonObject(\n jsonProperty(\"kms:EncryptionContext:aws:ecs:clusterAccount\", jsonArray(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))),\n jsonProperty(\"kms:EncryptionContext:aws:ecs:clusterName\", jsonArray(\"example\"))\n )),\n jsonProperty(\"ForAllValues:StringEquals\", jsonObject(\n jsonProperty(\"kms:GrantOperations\", jsonArray(\"Decrypt\"))\n ))\n )),\n jsonProperty(\"Resource\", \"*\")\n )\n )),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n var test = new Cluster(\"test\", ClusterArgs.builder()\n .name(\"example\")\n .configuration(ClusterConfigurationArgs.builder()\n .managedStorageConfiguration(ClusterConfigurationManagedStorageConfigurationArgs.builder()\n .fargateEphemeralStorageKmsKeyId(example.id())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleKeyPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: example\n deletionWindowInDays: 7\n exampleKeyPolicy:\n type: aws:kms:KeyPolicy\n name: example\n properties:\n keyId: ${example.id}\n policy:\n fn::toJSON:\n Id: ECSClusterFargatePolicy\n Statement:\n - Sid: Enable IAM User Permissions\n Effect: Allow\n Principal:\n AWS: '*'\n Action: kms:*\n Resource: '*'\n - Sid: Allow generate data key access for Fargate tasks.\n Effect: Allow\n Principal:\n Service: fargate.amazonaws.com\n Action:\n - kms:GenerateDataKeyWithoutPlaintext\n Condition:\n StringEquals:\n kms:EncryptionContext:aws:ecs:clusterAccount:\n - ${current.accountId}\n kms:EncryptionContext:aws:ecs:clusterName:\n - example\n Resource: '*'\n - Sid: Allow grant creation permission for Fargate tasks.\n Effect: Allow\n Principal:\n Service: fargate.amazonaws.com\n Action:\n - kms:CreateGrant\n Condition:\n StringEquals:\n kms:EncryptionContext:aws:ecs:clusterAccount:\n - ${current.accountId}\n kms:EncryptionContext:aws:ecs:clusterName:\n - example\n ForAllValues:StringEquals:\n kms:GrantOperations:\n - Decrypt\n Resource: '*'\n Version: 2012-10-17\n test:\n type: aws:ecs:Cluster\n properties:\n name: example\n configuration:\n managedStorageConfiguration:\n fargateEphemeralStorageKmsKeyId: ${example.id}\n options:\n dependsOn:\n - ${exampleKeyPolicy}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS clusters using the cluster name. For example:\n\n```sh\n$ pulumi import aws:ecs/cluster:Cluster stateless stateless-app\n```\n", + "description": "Provides an ECS cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ecs.Cluster(\"foo\", {\n name: \"white-hart\",\n settings: [{\n name: \"containerInsights\",\n value: \"enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ecs.Cluster(\"foo\",\n name=\"white-hart\",\n settings=[{\n \"name\": \"containerInsights\",\n \"value\": \"enabled\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ecs.Cluster(\"foo\", new()\n {\n Name = \"white-hart\",\n Settings = new[]\n {\n new Aws.Ecs.Inputs.ClusterSettingArgs\n {\n Name = \"containerInsights\",\n Value = \"enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.NewCluster(ctx, \"foo\", \u0026ecs.ClusterArgs{\n\t\t\tName: pulumi.String(\"white-hart\"),\n\t\t\tSettings: ecs.ClusterSettingArray{\n\t\t\t\t\u0026ecs.ClusterSettingArgs{\n\t\t\t\t\tName: pulumi.String(\"containerInsights\"),\n\t\t\t\t\tValue: pulumi.String(\"enabled\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.Cluster;\nimport com.pulumi.aws.ecs.ClusterArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Cluster(\"foo\", ClusterArgs.builder()\n .name(\"white-hart\")\n .settings(ClusterSettingArgs.builder()\n .name(\"containerInsights\")\n .value(\"enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ecs:Cluster\n properties:\n name: white-hart\n settings:\n - name: containerInsights\n value: enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Execute Command Configuration with Override Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {\n description: \"example\",\n deletionWindowInDays: 7,\n});\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst test = new aws.ecs.Cluster(\"test\", {\n name: \"example\",\n configuration: {\n executeCommandConfiguration: {\n kmsKeyId: example.arn,\n logging: \"OVERRIDE\",\n logConfiguration: {\n cloudWatchEncryptionEnabled: true,\n cloudWatchLogGroupName: exampleLogGroup.name,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\",\n description=\"example\",\n deletion_window_in_days=7)\nexample_log_group = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\ntest = aws.ecs.Cluster(\"test\",\n name=\"example\",\n configuration={\n \"execute_command_configuration\": {\n \"kms_key_id\": example.arn,\n \"logging\": \"OVERRIDE\",\n \"log_configuration\": {\n \"cloud_watch_encryption_enabled\": True,\n \"cloud_watch_log_group_name\": example_log_group.name,\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"example\",\n DeletionWindowInDays = 7,\n });\n\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var test = new Aws.Ecs.Cluster(\"test\", new()\n {\n Name = \"example\",\n Configuration = new Aws.Ecs.Inputs.ClusterConfigurationArgs\n {\n ExecuteCommandConfiguration = new Aws.Ecs.Inputs.ClusterConfigurationExecuteCommandConfigurationArgs\n {\n KmsKeyId = example.Arn,\n Logging = \"OVERRIDE\",\n LogConfiguration = new Aws.Ecs.Inputs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs\n {\n CloudWatchEncryptionEnabled = true,\n CloudWatchLogGroupName = exampleLogGroup.Name,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewCluster(ctx, \"test\", \u0026ecs.ClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConfiguration: \u0026ecs.ClusterConfigurationArgs{\n\t\t\t\tExecuteCommandConfiguration: \u0026ecs.ClusterConfigurationExecuteCommandConfigurationArgs{\n\t\t\t\t\tKmsKeyId: example.Arn,\n\t\t\t\t\tLogging: pulumi.String(\"OVERRIDE\"),\n\t\t\t\t\tLogConfiguration: \u0026ecs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs{\n\t\t\t\t\t\tCloudWatchEncryptionEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tCloudWatchLogGroupName: exampleLogGroup.Name,\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.ecs.Cluster;\nimport com.pulumi.aws.ecs.ClusterArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterConfigurationArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterConfigurationExecuteCommandConfigurationArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"example\")\n .deletionWindowInDays(7)\n .build());\n\n var exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder()\n .name(\"example\")\n .build());\n\n var test = new Cluster(\"test\", ClusterArgs.builder()\n .name(\"example\")\n .configuration(ClusterConfigurationArgs.builder()\n .executeCommandConfiguration(ClusterConfigurationExecuteCommandConfigurationArgs.builder()\n .kmsKeyId(example.arn())\n .logging(\"OVERRIDE\")\n .logConfiguration(ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs.builder()\n .cloudWatchEncryptionEnabled(true)\n .cloudWatchLogGroupName(exampleLogGroup.name())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: example\n deletionWindowInDays: 7\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: example\n test:\n type: aws:ecs:Cluster\n properties:\n name: example\n configuration:\n executeCommandConfiguration:\n kmsKeyId: ${example.arn}\n logging: OVERRIDE\n logConfiguration:\n cloudWatchEncryptionEnabled: true\n cloudWatchLogGroupName: ${exampleLogGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Fargate Ephemeral Storage Encryption with Customer-Managed KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n description: \"example\",\n deletionWindowInDays: 7,\n});\nconst exampleKeyPolicy = new aws.kms.KeyPolicy(\"example\", {\n keyId: example.id,\n policy: JSON.stringify({\n Id: \"ECSClusterFargatePolicy\",\n Statement: [\n {\n Sid: \"Enable IAM User Permissions\",\n Effect: \"Allow\",\n Principal: {\n AWS: \"*\",\n },\n Action: \"kms:*\",\n Resource: \"*\",\n },\n {\n Sid: \"Allow generate data key access for Fargate tasks.\",\n Effect: \"Allow\",\n Principal: {\n Service: \"fargate.amazonaws.com\",\n },\n Action: [\"kms:GenerateDataKeyWithoutPlaintext\"],\n Condition: {\n StringEquals: {\n \"kms:EncryptionContext:aws:ecs:clusterAccount\": [current.then(current =\u003e current.accountId)],\n \"kms:EncryptionContext:aws:ecs:clusterName\": [\"example\"],\n },\n },\n Resource: \"*\",\n },\n {\n Sid: \"Allow grant creation permission for Fargate tasks.\",\n Effect: \"Allow\",\n Principal: {\n Service: \"fargate.amazonaws.com\",\n },\n Action: [\"kms:CreateGrant\"],\n Condition: {\n StringEquals: {\n \"kms:EncryptionContext:aws:ecs:clusterAccount\": [current.then(current =\u003e current.accountId)],\n \"kms:EncryptionContext:aws:ecs:clusterName\": [\"example\"],\n },\n \"ForAllValues:StringEquals\": {\n \"kms:GrantOperations\": [\"Decrypt\"],\n },\n },\n Resource: \"*\",\n },\n ],\n Version: \"2012-10-17\",\n }),\n});\nconst test = new aws.ecs.Cluster(\"test\", {\n name: \"example\",\n configuration: {\n managedStorageConfiguration: {\n fargateEphemeralStorageKmsKeyId: example.id,\n },\n },\n}, {\n dependsOn: [exampleKeyPolicy],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n description=\"example\",\n deletion_window_in_days=7)\nexample_key_policy = aws.kms.KeyPolicy(\"example\",\n key_id=example.id,\n policy=json.dumps({\n \"Id\": \"ECSClusterFargatePolicy\",\n \"Statement\": [\n {\n \"Sid\": \"Enable IAM User Permissions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"*\",\n },\n \"Action\": \"kms:*\",\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow generate data key access for Fargate tasks.\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"fargate.amazonaws.com\",\n },\n \"Action\": [\"kms:GenerateDataKeyWithoutPlaintext\"],\n \"Condition\": {\n \"StringEquals\": {\n \"kms:EncryptionContext:aws:ecs:clusterAccount\": [current.account_id],\n \"kms:EncryptionContext:aws:ecs:clusterName\": [\"example\"],\n },\n },\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow grant creation permission for Fargate tasks.\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"fargate.amazonaws.com\",\n },\n \"Action\": [\"kms:CreateGrant\"],\n \"Condition\": {\n \"StringEquals\": {\n \"kms:EncryptionContext:aws:ecs:clusterAccount\": [current.account_id],\n \"kms:EncryptionContext:aws:ecs:clusterName\": [\"example\"],\n },\n \"ForAllValues:StringEquals\": {\n \"kms:GrantOperations\": [\"Decrypt\"],\n },\n },\n \"Resource\": \"*\",\n },\n ],\n \"Version\": \"2012-10-17\",\n }))\ntest = aws.ecs.Cluster(\"test\",\n name=\"example\",\n configuration={\n \"managed_storage_configuration\": {\n \"fargate_ephemeral_storage_kms_key_id\": example.id,\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_key_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"example\",\n DeletionWindowInDays = 7,\n });\n\n var exampleKeyPolicy = new Aws.Kms.KeyPolicy(\"example\", new()\n {\n KeyId = example.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Id\"] = \"ECSClusterFargatePolicy\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Enable IAM User Permissions\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"*\",\n },\n [\"Action\"] = \"kms:*\",\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow generate data key access for Fargate tasks.\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"fargate.amazonaws.com\",\n },\n [\"Action\"] = new[]\n {\n \"kms:GenerateDataKeyWithoutPlaintext\",\n },\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"kms:EncryptionContext:aws:ecs:clusterAccount\"] = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n [\"kms:EncryptionContext:aws:ecs:clusterName\"] = new[]\n {\n \"example\",\n },\n },\n },\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow grant creation permission for Fargate tasks.\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"fargate.amazonaws.com\",\n },\n [\"Action\"] = new[]\n {\n \"kms:CreateGrant\",\n },\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"kms:EncryptionContext:aws:ecs:clusterAccount\"] = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n [\"kms:EncryptionContext:aws:ecs:clusterName\"] = new[]\n {\n \"example\",\n },\n },\n [\"ForAllValues:StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"kms:GrantOperations\"] = new[]\n {\n \"Decrypt\",\n },\n },\n },\n [\"Resource\"] = \"*\",\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n var test = new Aws.Ecs.Cluster(\"test\", new()\n {\n Name = \"example\",\n Configuration = new Aws.Ecs.Inputs.ClusterConfigurationArgs\n {\n ManagedStorageConfiguration = new Aws.Ecs.Inputs.ClusterConfigurationManagedStorageConfigurationArgs\n {\n FargateEphemeralStorageKmsKeyId = example.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleKeyPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Id\": \"ECSClusterFargatePolicy\",\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow generate data key access for Fargate tasks.\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"fargate.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:GenerateDataKeyWithoutPlaintext\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"kms:EncryptionContext:aws:ecs:clusterAccount\": []*string{\n\t\t\t\t\t\t\t\tcurrent.AccountId,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"kms:EncryptionContext:aws:ecs:clusterName\": []string{\n\t\t\t\t\t\t\t\t\"example\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow grant creation permission for Fargate tasks.\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"fargate.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:CreateGrant\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"kms:EncryptionContext:aws:ecs:clusterAccount\": []*string{\n\t\t\t\t\t\t\t\tcurrent.AccountId,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"kms:EncryptionContext:aws:ecs:clusterName\": []string{\n\t\t\t\t\t\t\t\t\"example\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"ForAllValues:StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"kms:GrantOperations\": []string{\n\t\t\t\t\t\t\t\t\"Decrypt\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleKeyPolicy, err := kms.NewKeyPolicy(ctx, \"example\", \u0026kms.KeyPolicyArgs{\n\t\t\tKeyId: example.ID(),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewCluster(ctx, \"test\", \u0026ecs.ClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConfiguration: \u0026ecs.ClusterConfigurationArgs{\n\t\t\t\tManagedStorageConfiguration: \u0026ecs.ClusterConfigurationManagedStorageConfigurationArgs{\n\t\t\t\t\tFargateEphemeralStorageKmsKeyId: example.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeyPolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.kms.KeyPolicy;\nimport com.pulumi.aws.kms.KeyPolicyArgs;\nimport com.pulumi.aws.ecs.Cluster;\nimport com.pulumi.aws.ecs.ClusterArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterConfigurationArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterConfigurationManagedStorageConfigurationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"example\")\n .deletionWindowInDays(7)\n .build());\n\n var exampleKeyPolicy = new KeyPolicy(\"exampleKeyPolicy\", KeyPolicyArgs.builder()\n .keyId(example.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Id\", \"ECSClusterFargatePolicy\"),\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"*\")\n )),\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow generate data key access for Fargate tasks.\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"fargate.amazonaws.com\")\n )),\n jsonProperty(\"Action\", jsonArray(\"kms:GenerateDataKeyWithoutPlaintext\")),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringEquals\", jsonObject(\n jsonProperty(\"kms:EncryptionContext:aws:ecs:clusterAccount\", jsonArray(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))),\n jsonProperty(\"kms:EncryptionContext:aws:ecs:clusterName\", jsonArray(\"example\"))\n ))\n )),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow grant creation permission for Fargate tasks.\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"fargate.amazonaws.com\")\n )),\n jsonProperty(\"Action\", jsonArray(\"kms:CreateGrant\")),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringEquals\", jsonObject(\n jsonProperty(\"kms:EncryptionContext:aws:ecs:clusterAccount\", jsonArray(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))),\n jsonProperty(\"kms:EncryptionContext:aws:ecs:clusterName\", jsonArray(\"example\"))\n )),\n jsonProperty(\"ForAllValues:StringEquals\", jsonObject(\n jsonProperty(\"kms:GrantOperations\", jsonArray(\"Decrypt\"))\n ))\n )),\n jsonProperty(\"Resource\", \"*\")\n )\n )),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n var test = new Cluster(\"test\", ClusterArgs.builder()\n .name(\"example\")\n .configuration(ClusterConfigurationArgs.builder()\n .managedStorageConfiguration(ClusterConfigurationManagedStorageConfigurationArgs.builder()\n .fargateEphemeralStorageKmsKeyId(example.id())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleKeyPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: example\n deletionWindowInDays: 7\n exampleKeyPolicy:\n type: aws:kms:KeyPolicy\n name: example\n properties:\n keyId: ${example.id}\n policy:\n fn::toJSON:\n Id: ECSClusterFargatePolicy\n Statement:\n - Sid: Enable IAM User Permissions\n Effect: Allow\n Principal:\n AWS: '*'\n Action: kms:*\n Resource: '*'\n - Sid: Allow generate data key access for Fargate tasks.\n Effect: Allow\n Principal:\n Service: fargate.amazonaws.com\n Action:\n - kms:GenerateDataKeyWithoutPlaintext\n Condition:\n StringEquals:\n kms:EncryptionContext:aws:ecs:clusterAccount:\n - ${current.accountId}\n kms:EncryptionContext:aws:ecs:clusterName:\n - example\n Resource: '*'\n - Sid: Allow grant creation permission for Fargate tasks.\n Effect: Allow\n Principal:\n Service: fargate.amazonaws.com\n Action:\n - kms:CreateGrant\n Condition:\n StringEquals:\n kms:EncryptionContext:aws:ecs:clusterAccount:\n - ${current.accountId}\n kms:EncryptionContext:aws:ecs:clusterName:\n - example\n ForAllValues:StringEquals:\n kms:GrantOperations:\n - Decrypt\n Resource: '*'\n Version: 2012-10-17\n test:\n type: aws:ecs:Cluster\n properties:\n name: example\n configuration:\n managedStorageConfiguration:\n fargateEphemeralStorageKmsKeyId: ${example.id}\n options:\n dependson:\n - ${exampleKeyPolicy}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS clusters using the cluster name. For example:\n\n```sh\n$ pulumi import aws:ecs/cluster:Cluster stateless stateless-app\n```\n", "properties": { "arn": { "type": "string", @@ -254511,7 +254511,7 @@ } }, "aws:ecs/service:Service": { - "description": "\u003e **Note:** To prevent a race condition during service deletion, make sure to set `depends_on` to the related `aws.iam.RolePolicy`; otherwise, the policy may be destroyed too soon and the ECS service will then get stuck in the `DRAINING` state.\n\nProvides an ECS service - effectively a task that is expected to run until an error occurs or a user terminates it (typically a webserver or a database).\n\nSee [ECS Services section in AWS developer guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mongo = new aws.ecs.Service(\"mongo\", {\n name: \"mongodb\",\n cluster: fooAwsEcsCluster.id,\n taskDefinition: mongoAwsEcsTaskDefinition.arn,\n desiredCount: 3,\n iamRole: fooAwsIamRole.arn,\n orderedPlacementStrategies: [{\n type: \"binpack\",\n field: \"cpu\",\n }],\n loadBalancers: [{\n targetGroupArn: fooAwsLbTargetGroup.arn,\n containerName: \"mongo\",\n containerPort: 8080,\n }],\n placementConstraints: [{\n type: \"memberOf\",\n expression: \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n }],\n}, {\n dependsOn: [foo],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmongo = aws.ecs.Service(\"mongo\",\n name=\"mongodb\",\n cluster=foo_aws_ecs_cluster[\"id\"],\n task_definition=mongo_aws_ecs_task_definition[\"arn\"],\n desired_count=3,\n iam_role=foo_aws_iam_role[\"arn\"],\n ordered_placement_strategies=[{\n \"type\": \"binpack\",\n \"field\": \"cpu\",\n }],\n load_balancers=[{\n \"target_group_arn\": foo_aws_lb_target_group[\"arn\"],\n \"container_name\": \"mongo\",\n \"container_port\": 8080,\n }],\n placement_constraints=[{\n \"type\": \"memberOf\",\n \"expression\": \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[foo]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mongo = new Aws.Ecs.Service(\"mongo\", new()\n {\n Name = \"mongodb\",\n Cluster = fooAwsEcsCluster.Id,\n TaskDefinition = mongoAwsEcsTaskDefinition.Arn,\n DesiredCount = 3,\n IamRole = fooAwsIamRole.Arn,\n OrderedPlacementStrategies = new[]\n {\n new Aws.Ecs.Inputs.ServiceOrderedPlacementStrategyArgs\n {\n Type = \"binpack\",\n Field = \"cpu\",\n },\n },\n LoadBalancers = new[]\n {\n new Aws.Ecs.Inputs.ServiceLoadBalancerArgs\n {\n TargetGroupArn = fooAwsLbTargetGroup.Arn,\n ContainerName = \"mongo\",\n ContainerPort = 8080,\n },\n },\n PlacementConstraints = new[]\n {\n new Aws.Ecs.Inputs.ServicePlacementConstraintArgs\n {\n Type = \"memberOf\",\n Expression = \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n foo,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.NewService(ctx, \"mongo\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"mongodb\"),\n\t\t\tCluster: pulumi.Any(fooAwsEcsCluster.Id),\n\t\t\tTaskDefinition: pulumi.Any(mongoAwsEcsTaskDefinition.Arn),\n\t\t\tDesiredCount: pulumi.Int(3),\n\t\t\tIamRole: pulumi.Any(fooAwsIamRole.Arn),\n\t\t\tOrderedPlacementStrategies: ecs.ServiceOrderedPlacementStrategyArray{\n\t\t\t\t\u0026ecs.ServiceOrderedPlacementStrategyArgs{\n\t\t\t\t\tType: pulumi.String(\"binpack\"),\n\t\t\t\t\tField: pulumi.String(\"cpu\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancers: ecs.ServiceLoadBalancerArray{\n\t\t\t\t\u0026ecs.ServiceLoadBalancerArgs{\n\t\t\t\t\tTargetGroupArn: pulumi.Any(fooAwsLbTargetGroup.Arn),\n\t\t\t\t\tContainerName: pulumi.String(\"mongo\"),\n\t\t\t\t\tContainerPort: pulumi.Int(8080),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPlacementConstraints: ecs.ServicePlacementConstraintArray{\n\t\t\t\t\u0026ecs.ServicePlacementConstraintArgs{\n\t\t\t\t\tType: pulumi.String(\"memberOf\"),\n\t\t\t\t\tExpression: pulumi.String(\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfoo,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport com.pulumi.aws.ecs.inputs.ServiceOrderedPlacementStrategyArgs;\nimport com.pulumi.aws.ecs.inputs.ServiceLoadBalancerArgs;\nimport com.pulumi.aws.ecs.inputs.ServicePlacementConstraintArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mongo = new Service(\"mongo\", ServiceArgs.builder()\n .name(\"mongodb\")\n .cluster(fooAwsEcsCluster.id())\n .taskDefinition(mongoAwsEcsTaskDefinition.arn())\n .desiredCount(3)\n .iamRole(fooAwsIamRole.arn())\n .orderedPlacementStrategies(ServiceOrderedPlacementStrategyArgs.builder()\n .type(\"binpack\")\n .field(\"cpu\")\n .build())\n .loadBalancers(ServiceLoadBalancerArgs.builder()\n .targetGroupArn(fooAwsLbTargetGroup.arn())\n .containerName(\"mongo\")\n .containerPort(8080)\n .build())\n .placementConstraints(ServicePlacementConstraintArgs.builder()\n .type(\"memberOf\")\n .expression(\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(foo)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mongo:\n type: aws:ecs:Service\n properties:\n name: mongodb\n cluster: ${fooAwsEcsCluster.id}\n taskDefinition: ${mongoAwsEcsTaskDefinition.arn}\n desiredCount: 3\n iamRole: ${fooAwsIamRole.arn}\n orderedPlacementStrategies:\n - type: binpack\n field: cpu\n loadBalancers:\n - targetGroupArn: ${fooAwsLbTargetGroup.arn}\n containerName: mongo\n containerPort: 8080\n placementConstraints:\n - type: memberOf\n expression: attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\n options:\n dependsOn:\n - ${foo}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ignoring Changes to Desired Count\n\nYou can use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to create an ECS service with an initial count of running instances, then ignore any changes to that count caused externally (e.g. Application Autoscaling).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.Service(\"example\", {desiredCount: 2});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.Service(\"example\", desired_count=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.Service(\"example\", new()\n {\n DesiredCount = 2,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.NewService(ctx, \"example\", \u0026ecs.ServiceArgs{\n\t\t\tDesiredCount: pulumi.Int(2),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Service(\"example\", ServiceArgs.builder()\n .desiredCount(2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:Service\n properties:\n desiredCount: 2 # Optional: Allow external changes without this provider plan difference\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Daemon Scheduling Strategy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.ecs.Service(\"bar\", {\n name: \"bar\",\n cluster: foo.id,\n taskDefinition: barAwsEcsTaskDefinition.arn,\n schedulingStrategy: \"DAEMON\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.ecs.Service(\"bar\",\n name=\"bar\",\n cluster=foo[\"id\"],\n task_definition=bar_aws_ecs_task_definition[\"arn\"],\n scheduling_strategy=\"DAEMON\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.Ecs.Service(\"bar\", new()\n {\n Name = \"bar\",\n Cluster = foo.Id,\n TaskDefinition = barAwsEcsTaskDefinition.Arn,\n SchedulingStrategy = \"DAEMON\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.NewService(ctx, \"bar\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"bar\"),\n\t\t\tCluster: pulumi.Any(foo.Id),\n\t\t\tTaskDefinition: pulumi.Any(barAwsEcsTaskDefinition.Arn),\n\t\t\tSchedulingStrategy: pulumi.String(\"DAEMON\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bar = new Service(\"bar\", ServiceArgs.builder()\n .name(\"bar\")\n .cluster(foo.id())\n .taskDefinition(barAwsEcsTaskDefinition.arn())\n .schedulingStrategy(\"DAEMON\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:ecs:Service\n properties:\n name: bar\n cluster: ${foo.id}\n taskDefinition: ${barAwsEcsTaskDefinition.arn}\n schedulingStrategy: DAEMON\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CloudWatch Deployment Alarms\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.Service(\"example\", {\n name: \"example\",\n cluster: exampleAwsEcsCluster.id,\n alarms: {\n enable: true,\n rollback: true,\n alarmNames: [exampleAwsCloudwatchMetricAlarm.alarmName],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.Service(\"example\",\n name=\"example\",\n cluster=example_aws_ecs_cluster[\"id\"],\n alarms={\n \"enable\": True,\n \"rollback\": True,\n \"alarm_names\": [example_aws_cloudwatch_metric_alarm[\"alarmName\"]],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.Service(\"example\", new()\n {\n Name = \"example\",\n Cluster = exampleAwsEcsCluster.Id,\n Alarms = new Aws.Ecs.Inputs.ServiceAlarmsArgs\n {\n Enable = true,\n Rollback = true,\n AlarmNames = new[]\n {\n exampleAwsCloudwatchMetricAlarm.AlarmName,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.NewService(ctx, \"example\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCluster: pulumi.Any(exampleAwsEcsCluster.Id),\n\t\t\tAlarms: \u0026ecs.ServiceAlarmsArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tRollback: pulumi.Bool(true),\n\t\t\t\tAlarmNames: pulumi.StringArray{\n\t\t\t\t\texampleAwsCloudwatchMetricAlarm.AlarmName,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport com.pulumi.aws.ecs.inputs.ServiceAlarmsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Service(\"example\", ServiceArgs.builder()\n .name(\"example\")\n .cluster(exampleAwsEcsCluster.id())\n .alarms(ServiceAlarmsArgs.builder()\n .enable(true)\n .rollback(true)\n .alarmNames(exampleAwsCloudwatchMetricAlarm.alarmName())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:Service\n properties:\n name: example\n cluster: ${exampleAwsEcsCluster.id}\n alarms:\n enable: true\n rollback: true\n alarmNames:\n - ${exampleAwsCloudwatchMetricAlarm.alarmName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### External Deployment Controller\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.Service(\"example\", {\n name: \"example\",\n cluster: exampleAwsEcsCluster.id,\n deploymentController: {\n type: \"EXTERNAL\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.Service(\"example\",\n name=\"example\",\n cluster=example_aws_ecs_cluster[\"id\"],\n deployment_controller={\n \"type\": \"EXTERNAL\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.Service(\"example\", new()\n {\n Name = \"example\",\n Cluster = exampleAwsEcsCluster.Id,\n DeploymentController = new Aws.Ecs.Inputs.ServiceDeploymentControllerArgs\n {\n Type = \"EXTERNAL\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.NewService(ctx, \"example\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCluster: pulumi.Any(exampleAwsEcsCluster.Id),\n\t\t\tDeploymentController: \u0026ecs.ServiceDeploymentControllerArgs{\n\t\t\t\tType: pulumi.String(\"EXTERNAL\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport com.pulumi.aws.ecs.inputs.ServiceDeploymentControllerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Service(\"example\", ServiceArgs.builder()\n .name(\"example\")\n .cluster(exampleAwsEcsCluster.id())\n .deploymentController(ServiceDeploymentControllerArgs.builder()\n .type(\"EXTERNAL\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:Service\n properties:\n name: example\n cluster: ${exampleAwsEcsCluster.id}\n deploymentController:\n type: EXTERNAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redeploy Service On Every Apply\n\nThe key used with `triggers` is arbitrary.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.Service(\"example\", {\n forceNewDeployment: true,\n triggers: {\n redeployment: \"plantimestamp()\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.Service(\"example\",\n force_new_deployment=True,\n triggers={\n \"redeployment\": \"plantimestamp()\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.Service(\"example\", new()\n {\n ForceNewDeployment = true,\n Triggers = \n {\n { \"redeployment\", \"plantimestamp()\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.NewService(ctx, \"example\", \u0026ecs.ServiceArgs{\n\t\t\tForceNewDeployment: pulumi.Bool(true),\n\t\t\tTriggers: pulumi.StringMap{\n\t\t\t\t\"redeployment\": pulumi.String(\"plantimestamp()\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Service(\"example\", ServiceArgs.builder()\n .forceNewDeployment(true)\n .triggers(Map.of(\"redeployment\", \"plantimestamp()\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:Service\n properties:\n forceNewDeployment: true\n triggers:\n redeployment: plantimestamp()\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS services using the `name` together with ecs cluster `name`. For example:\n\n```sh\n$ pulumi import aws:ecs/service:Service imported cluster-name/service-name\n```\n", + "description": "\u003e **Note:** To prevent a race condition during service deletion, make sure to set `depends_on` to the related `aws.iam.RolePolicy`; otherwise, the policy may be destroyed too soon and the ECS service will then get stuck in the `DRAINING` state.\n\nProvides an ECS service - effectively a task that is expected to run until an error occurs or a user terminates it (typically a webserver or a database).\n\nSee [ECS Services section in AWS developer guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mongo = new aws.ecs.Service(\"mongo\", {\n name: \"mongodb\",\n cluster: fooAwsEcsCluster.id,\n taskDefinition: mongoAwsEcsTaskDefinition.arn,\n desiredCount: 3,\n iamRole: fooAwsIamRole.arn,\n orderedPlacementStrategies: [{\n type: \"binpack\",\n field: \"cpu\",\n }],\n loadBalancers: [{\n targetGroupArn: fooAwsLbTargetGroup.arn,\n containerName: \"mongo\",\n containerPort: 8080,\n }],\n placementConstraints: [{\n type: \"memberOf\",\n expression: \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n }],\n}, {\n dependsOn: [foo],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmongo = aws.ecs.Service(\"mongo\",\n name=\"mongodb\",\n cluster=foo_aws_ecs_cluster[\"id\"],\n task_definition=mongo_aws_ecs_task_definition[\"arn\"],\n desired_count=3,\n iam_role=foo_aws_iam_role[\"arn\"],\n ordered_placement_strategies=[{\n \"type\": \"binpack\",\n \"field\": \"cpu\",\n }],\n load_balancers=[{\n \"target_group_arn\": foo_aws_lb_target_group[\"arn\"],\n \"container_name\": \"mongo\",\n \"container_port\": 8080,\n }],\n placement_constraints=[{\n \"type\": \"memberOf\",\n \"expression\": \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[foo]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mongo = new Aws.Ecs.Service(\"mongo\", new()\n {\n Name = \"mongodb\",\n Cluster = fooAwsEcsCluster.Id,\n TaskDefinition = mongoAwsEcsTaskDefinition.Arn,\n DesiredCount = 3,\n IamRole = fooAwsIamRole.Arn,\n OrderedPlacementStrategies = new[]\n {\n new Aws.Ecs.Inputs.ServiceOrderedPlacementStrategyArgs\n {\n Type = \"binpack\",\n Field = \"cpu\",\n },\n },\n LoadBalancers = new[]\n {\n new Aws.Ecs.Inputs.ServiceLoadBalancerArgs\n {\n TargetGroupArn = fooAwsLbTargetGroup.Arn,\n ContainerName = \"mongo\",\n ContainerPort = 8080,\n },\n },\n PlacementConstraints = new[]\n {\n new Aws.Ecs.Inputs.ServicePlacementConstraintArgs\n {\n Type = \"memberOf\",\n Expression = \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n foo,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.NewService(ctx, \"mongo\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"mongodb\"),\n\t\t\tCluster: pulumi.Any(fooAwsEcsCluster.Id),\n\t\t\tTaskDefinition: pulumi.Any(mongoAwsEcsTaskDefinition.Arn),\n\t\t\tDesiredCount: pulumi.Int(3),\n\t\t\tIamRole: pulumi.Any(fooAwsIamRole.Arn),\n\t\t\tOrderedPlacementStrategies: ecs.ServiceOrderedPlacementStrategyArray{\n\t\t\t\t\u0026ecs.ServiceOrderedPlacementStrategyArgs{\n\t\t\t\t\tType: pulumi.String(\"binpack\"),\n\t\t\t\t\tField: pulumi.String(\"cpu\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancers: ecs.ServiceLoadBalancerArray{\n\t\t\t\t\u0026ecs.ServiceLoadBalancerArgs{\n\t\t\t\t\tTargetGroupArn: pulumi.Any(fooAwsLbTargetGroup.Arn),\n\t\t\t\t\tContainerName: pulumi.String(\"mongo\"),\n\t\t\t\t\tContainerPort: pulumi.Int(8080),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPlacementConstraints: ecs.ServicePlacementConstraintArray{\n\t\t\t\t\u0026ecs.ServicePlacementConstraintArgs{\n\t\t\t\t\tType: pulumi.String(\"memberOf\"),\n\t\t\t\t\tExpression: pulumi.String(\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfoo,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport com.pulumi.aws.ecs.inputs.ServiceOrderedPlacementStrategyArgs;\nimport com.pulumi.aws.ecs.inputs.ServiceLoadBalancerArgs;\nimport com.pulumi.aws.ecs.inputs.ServicePlacementConstraintArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mongo = new Service(\"mongo\", ServiceArgs.builder()\n .name(\"mongodb\")\n .cluster(fooAwsEcsCluster.id())\n .taskDefinition(mongoAwsEcsTaskDefinition.arn())\n .desiredCount(3)\n .iamRole(fooAwsIamRole.arn())\n .orderedPlacementStrategies(ServiceOrderedPlacementStrategyArgs.builder()\n .type(\"binpack\")\n .field(\"cpu\")\n .build())\n .loadBalancers(ServiceLoadBalancerArgs.builder()\n .targetGroupArn(fooAwsLbTargetGroup.arn())\n .containerName(\"mongo\")\n .containerPort(8080)\n .build())\n .placementConstraints(ServicePlacementConstraintArgs.builder()\n .type(\"memberOf\")\n .expression(\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(foo)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mongo:\n type: aws:ecs:Service\n properties:\n name: mongodb\n cluster: ${fooAwsEcsCluster.id}\n taskDefinition: ${mongoAwsEcsTaskDefinition.arn}\n desiredCount: 3\n iamRole: ${fooAwsIamRole.arn}\n orderedPlacementStrategies:\n - type: binpack\n field: cpu\n loadBalancers:\n - targetGroupArn: ${fooAwsLbTargetGroup.arn}\n containerName: mongo\n containerPort: 8080\n placementConstraints:\n - type: memberOf\n expression: attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\n options:\n dependson:\n - ${foo}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ignoring Changes to Desired Count\n\nYou can use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to create an ECS service with an initial count of running instances, then ignore any changes to that count caused externally (e.g. Application Autoscaling).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.Service(\"example\", {desiredCount: 2});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.Service(\"example\", desired_count=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.Service(\"example\", new()\n {\n DesiredCount = 2,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.NewService(ctx, \"example\", \u0026ecs.ServiceArgs{\n\t\t\tDesiredCount: pulumi.Int(2),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Service(\"example\", ServiceArgs.builder()\n .desiredCount(2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:Service\n properties:\n desiredCount: 2 # Optional: Allow external changes without this provider plan difference\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Daemon Scheduling Strategy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.ecs.Service(\"bar\", {\n name: \"bar\",\n cluster: foo.id,\n taskDefinition: barAwsEcsTaskDefinition.arn,\n schedulingStrategy: \"DAEMON\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.ecs.Service(\"bar\",\n name=\"bar\",\n cluster=foo[\"id\"],\n task_definition=bar_aws_ecs_task_definition[\"arn\"],\n scheduling_strategy=\"DAEMON\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.Ecs.Service(\"bar\", new()\n {\n Name = \"bar\",\n Cluster = foo.Id,\n TaskDefinition = barAwsEcsTaskDefinition.Arn,\n SchedulingStrategy = \"DAEMON\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.NewService(ctx, \"bar\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"bar\"),\n\t\t\tCluster: pulumi.Any(foo.Id),\n\t\t\tTaskDefinition: pulumi.Any(barAwsEcsTaskDefinition.Arn),\n\t\t\tSchedulingStrategy: pulumi.String(\"DAEMON\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bar = new Service(\"bar\", ServiceArgs.builder()\n .name(\"bar\")\n .cluster(foo.id())\n .taskDefinition(barAwsEcsTaskDefinition.arn())\n .schedulingStrategy(\"DAEMON\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:ecs:Service\n properties:\n name: bar\n cluster: ${foo.id}\n taskDefinition: ${barAwsEcsTaskDefinition.arn}\n schedulingStrategy: DAEMON\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CloudWatch Deployment Alarms\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.Service(\"example\", {\n name: \"example\",\n cluster: exampleAwsEcsCluster.id,\n alarms: {\n enable: true,\n rollback: true,\n alarmNames: [exampleAwsCloudwatchMetricAlarm.alarmName],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.Service(\"example\",\n name=\"example\",\n cluster=example_aws_ecs_cluster[\"id\"],\n alarms={\n \"enable\": True,\n \"rollback\": True,\n \"alarm_names\": [example_aws_cloudwatch_metric_alarm[\"alarmName\"]],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.Service(\"example\", new()\n {\n Name = \"example\",\n Cluster = exampleAwsEcsCluster.Id,\n Alarms = new Aws.Ecs.Inputs.ServiceAlarmsArgs\n {\n Enable = true,\n Rollback = true,\n AlarmNames = new[]\n {\n exampleAwsCloudwatchMetricAlarm.AlarmName,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.NewService(ctx, \"example\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCluster: pulumi.Any(exampleAwsEcsCluster.Id),\n\t\t\tAlarms: \u0026ecs.ServiceAlarmsArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tRollback: pulumi.Bool(true),\n\t\t\t\tAlarmNames: pulumi.StringArray{\n\t\t\t\t\texampleAwsCloudwatchMetricAlarm.AlarmName,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport com.pulumi.aws.ecs.inputs.ServiceAlarmsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Service(\"example\", ServiceArgs.builder()\n .name(\"example\")\n .cluster(exampleAwsEcsCluster.id())\n .alarms(ServiceAlarmsArgs.builder()\n .enable(true)\n .rollback(true)\n .alarmNames(exampleAwsCloudwatchMetricAlarm.alarmName())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:Service\n properties:\n name: example\n cluster: ${exampleAwsEcsCluster.id}\n alarms:\n enable: true\n rollback: true\n alarmNames:\n - ${exampleAwsCloudwatchMetricAlarm.alarmName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### External Deployment Controller\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.Service(\"example\", {\n name: \"example\",\n cluster: exampleAwsEcsCluster.id,\n deploymentController: {\n type: \"EXTERNAL\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.Service(\"example\",\n name=\"example\",\n cluster=example_aws_ecs_cluster[\"id\"],\n deployment_controller={\n \"type\": \"EXTERNAL\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.Service(\"example\", new()\n {\n Name = \"example\",\n Cluster = exampleAwsEcsCluster.Id,\n DeploymentController = new Aws.Ecs.Inputs.ServiceDeploymentControllerArgs\n {\n Type = \"EXTERNAL\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.NewService(ctx, \"example\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCluster: pulumi.Any(exampleAwsEcsCluster.Id),\n\t\t\tDeploymentController: \u0026ecs.ServiceDeploymentControllerArgs{\n\t\t\t\tType: pulumi.String(\"EXTERNAL\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport com.pulumi.aws.ecs.inputs.ServiceDeploymentControllerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Service(\"example\", ServiceArgs.builder()\n .name(\"example\")\n .cluster(exampleAwsEcsCluster.id())\n .deploymentController(ServiceDeploymentControllerArgs.builder()\n .type(\"EXTERNAL\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:Service\n properties:\n name: example\n cluster: ${exampleAwsEcsCluster.id}\n deploymentController:\n type: EXTERNAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redeploy Service On Every Apply\n\nThe key used with `triggers` is arbitrary.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.Service(\"example\", {\n forceNewDeployment: true,\n triggers: {\n redeployment: \"plantimestamp()\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.Service(\"example\",\n force_new_deployment=True,\n triggers={\n \"redeployment\": \"plantimestamp()\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.Service(\"example\", new()\n {\n ForceNewDeployment = true,\n Triggers = \n {\n { \"redeployment\", \"plantimestamp()\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.NewService(ctx, \"example\", \u0026ecs.ServiceArgs{\n\t\t\tForceNewDeployment: pulumi.Bool(true),\n\t\t\tTriggers: pulumi.StringMap{\n\t\t\t\t\"redeployment\": pulumi.String(\"plantimestamp()\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Service(\"example\", ServiceArgs.builder()\n .forceNewDeployment(true)\n .triggers(Map.of(\"redeployment\", \"plantimestamp()\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:Service\n properties:\n forceNewDeployment: true\n triggers:\n redeployment: plantimestamp()\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS services using the `name` together with ecs cluster `name`. For example:\n\n```sh\n$ pulumi import aws:ecs/service:Service imported cluster-name/service-name\n```\n", "properties": { "alarms": { "$ref": "#/types/aws:ecs/ServiceAlarms:ServiceAlarms", @@ -255069,7 +255069,7 @@ } }, "aws:ecs/taskDefinition:TaskDefinition": { - "description": "Manages a revision of an ECS task definition to be used in `aws.ecs.Service`.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: JSON.stringify([\n {\n name: \"first\",\n image: \"service-first\",\n cpu: 10,\n memory: 512,\n essential: true,\n portMappings: [{\n containerPort: 80,\n hostPort: 80,\n }],\n },\n {\n name: \"second\",\n image: \"service-second\",\n cpu: 10,\n memory: 256,\n essential: true,\n portMappings: [{\n containerPort: 443,\n hostPort: 443,\n }],\n },\n ]),\n volumes: [{\n name: \"service-storage\",\n hostPath: \"/ecs/service-storage\",\n }],\n placementConstraints: [{\n type: \"memberOf\",\n expression: \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=json.dumps([\n {\n \"name\": \"first\",\n \"image\": \"service-first\",\n \"cpu\": 10,\n \"memory\": 512,\n \"essential\": True,\n \"portMappings\": [{\n \"containerPort\": 80,\n \"hostPort\": 80,\n }],\n },\n {\n \"name\": \"second\",\n \"image\": \"service-second\",\n \"cpu\": 10,\n \"memory\": 256,\n \"essential\": True,\n \"portMappings\": [{\n \"containerPort\": 443,\n \"hostPort\": 443,\n }],\n },\n ]),\n volumes=[{\n \"name\": \"service-storage\",\n \"host_path\": \"/ecs/service-storage\",\n }],\n placement_constraints=[{\n \"type\": \"memberOf\",\n \"expression\": \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"first\",\n [\"image\"] = \"service-first\",\n [\"cpu\"] = 10,\n [\"memory\"] = 512,\n [\"essential\"] = true,\n [\"portMappings\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"containerPort\"] = 80,\n [\"hostPort\"] = 80,\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"second\",\n [\"image\"] = \"service-second\",\n [\"cpu\"] = 10,\n [\"memory\"] = 256,\n [\"essential\"] = true,\n [\"portMappings\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"containerPort\"] = 443,\n [\"hostPort\"] = 443,\n },\n },\n },\n }),\n Volumes = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs\n {\n Name = \"service-storage\",\n HostPath = \"/ecs/service-storage\",\n },\n },\n PlacementConstraints = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionPlacementConstraintArgs\n {\n Type = \"memberOf\",\n Expression = \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"name\": \"first\",\n\t\t\t\t\"image\": \"service-first\",\n\t\t\t\t\"cpu\": 10,\n\t\t\t\t\"memory\": 512,\n\t\t\t\t\"essential\": true,\n\t\t\t\t\"portMappings\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"containerPort\": 80,\n\t\t\t\t\t\t\"hostPort\": 80,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"name\": \"second\",\n\t\t\t\t\"image\": \"service-second\",\n\t\t\t\t\"cpu\": 10,\n\t\t\t\t\"memory\": 256,\n\t\t\t\t\"essential\": true,\n\t\t\t\t\"portMappings\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"containerPort\": 443,\n\t\t\t\t\t\t\"hostPort\": 443,\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: pulumi.String(json0),\n\t\t\tVolumes: ecs.TaskDefinitionVolumeArray{\n\t\t\t\t\u0026ecs.TaskDefinitionVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"service-storage\"),\n\t\t\t\t\tHostPath: pulumi.String(\"/ecs/service-storage\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPlacementConstraints: ecs.TaskDefinitionPlacementConstraintArray{\n\t\t\t\t\u0026ecs.TaskDefinitionPlacementConstraintArgs{\n\t\t\t\t\tType: pulumi.String(\"memberOf\"),\n\t\t\t\t\tExpression: pulumi.String(\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionPlacementConstraintArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder()\n .family(\"service\")\n .containerDefinitions(serializeJson(\n jsonArray(\n jsonObject(\n jsonProperty(\"name\", \"first\"),\n jsonProperty(\"image\", \"service-first\"),\n jsonProperty(\"cpu\", 10),\n jsonProperty(\"memory\", 512),\n jsonProperty(\"essential\", true),\n jsonProperty(\"portMappings\", jsonArray(jsonObject(\n jsonProperty(\"containerPort\", 80),\n jsonProperty(\"hostPort\", 80)\n )))\n ), \n jsonObject(\n jsonProperty(\"name\", \"second\"),\n jsonProperty(\"image\", \"service-second\"),\n jsonProperty(\"cpu\", 10),\n jsonProperty(\"memory\", 256),\n jsonProperty(\"essential\", true),\n jsonProperty(\"portMappings\", jsonArray(jsonObject(\n jsonProperty(\"containerPort\", 443),\n jsonProperty(\"hostPort\", 443)\n )))\n )\n )))\n .volumes(TaskDefinitionVolumeArgs.builder()\n .name(\"service-storage\")\n .hostPath(\"/ecs/service-storage\")\n .build())\n .placementConstraints(TaskDefinitionPlacementConstraintArgs.builder()\n .type(\"memberOf\")\n .expression(\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::toJSON:\n - name: first\n image: service-first\n cpu: 10\n memory: 512\n essential: true\n portMappings:\n - containerPort: 80\n hostPort: 80\n - name: second\n image: service-second\n cpu: 10\n memory: 256\n essential: true\n portMappings:\n - containerPort: 443\n hostPort: 443\n volumes:\n - name: service-storage\n hostPath: /ecs/service-storage\n placementConstraints:\n - type: memberOf\n expression: attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With AppMesh Proxy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: std.file({\n input: \"task-definitions/service.json\",\n }).then(invoke =\u003e invoke.result),\n proxyConfiguration: {\n type: \"APPMESH\",\n containerName: \"applicationContainerName\",\n properties: {\n AppPorts: \"8080\",\n EgressIgnoredIPs: \"169.254.170.2,169.254.169.254\",\n IgnoredUID: \"1337\",\n ProxyEgressPort: \"15001\",\n ProxyIngressPort: \"15000\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=std.file(input=\"task-definitions/service.json\").result,\n proxy_configuration={\n \"type\": \"APPMESH\",\n \"container_name\": \"applicationContainerName\",\n \"properties\": {\n \"AppPorts\": \"8080\",\n \"EgressIgnoredIPs\": \"169.254.170.2,169.254.169.254\",\n \"IgnoredUID\": \"1337\",\n \"ProxyEgressPort\": \"15001\",\n \"ProxyIngressPort\": \"15000\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = Std.File.Invoke(new()\n {\n Input = \"task-definitions/service.json\",\n }).Apply(invoke =\u003e invoke.Result),\n ProxyConfiguration = new Aws.Ecs.Inputs.TaskDefinitionProxyConfigurationArgs\n {\n Type = \"APPMESH\",\n ContainerName = \"applicationContainerName\",\n Properties = \n {\n { \"AppPorts\", \"8080\" },\n { \"EgressIgnoredIPs\", \"169.254.170.2,169.254.169.254\" },\n { \"IgnoredUID\", \"1337\" },\n { \"ProxyEgressPort\", \"15001\" },\n { \"ProxyIngressPort\", \"15000\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"task-definitions/service.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: pulumi.String(invokeFile.Result),\n\t\t\tProxyConfiguration: \u0026ecs.TaskDefinitionProxyConfigurationArgs{\n\t\t\t\tType: pulumi.String(\"APPMESH\"),\n\t\t\t\tContainerName: pulumi.String(\"applicationContainerName\"),\n\t\t\t\tProperties: pulumi.StringMap{\n\t\t\t\t\t\"AppPorts\": pulumi.String(\"8080\"),\n\t\t\t\t\t\"EgressIgnoredIPs\": pulumi.String(\"169.254.170.2,169.254.169.254\"),\n\t\t\t\t\t\"IgnoredUID\": pulumi.String(\"1337\"),\n\t\t\t\t\t\"ProxyEgressPort\": pulumi.String(\"15001\"),\n\t\t\t\t\t\"ProxyIngressPort\": pulumi.String(\"15000\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionProxyConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder()\n .family(\"service\")\n .containerDefinitions(StdFunctions.file(FileArgs.builder()\n .input(\"task-definitions/service.json\")\n .build()).result())\n .proxyConfiguration(TaskDefinitionProxyConfigurationArgs.builder()\n .type(\"APPMESH\")\n .containerName(\"applicationContainerName\")\n .properties(Map.ofEntries(\n Map.entry(\"AppPorts\", \"8080\"),\n Map.entry(\"EgressIgnoredIPs\", \"169.254.170.2,169.254.169.254\"),\n Map.entry(\"IgnoredUID\", \"1337\"),\n Map.entry(\"ProxyEgressPort\", 15001),\n Map.entry(\"ProxyIngressPort\", 15000)\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::invoke:\n function: std:file\n arguments:\n input: task-definitions/service.json\n return: result\n proxyConfiguration:\n type: APPMESH\n containerName: applicationContainerName\n properties:\n AppPorts: '8080'\n EgressIgnoredIPs: 169.254.170.2,169.254.169.254\n IgnoredUID: '1337'\n ProxyEgressPort: 15001\n ProxyIngressPort: 15000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `docker_volume_configuration`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: std.file({\n input: \"task-definitions/service.json\",\n }).then(invoke =\u003e invoke.result),\n volumes: [{\n name: \"service-storage\",\n dockerVolumeConfiguration: {\n scope: \"shared\",\n autoprovision: true,\n driver: \"local\",\n driverOpts: {\n type: \"nfs\",\n device: `${fs.dnsName}:/`,\n o: `addr=${fs.dnsName},rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport`,\n },\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=std.file(input=\"task-definitions/service.json\").result,\n volumes=[{\n \"name\": \"service-storage\",\n \"docker_volume_configuration\": {\n \"scope\": \"shared\",\n \"autoprovision\": True,\n \"driver\": \"local\",\n \"driver_opts\": {\n \"type\": \"nfs\",\n \"device\": f\"{fs['dnsName']}:/\",\n \"o\": f\"addr={fs['dnsName']},rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\",\n },\n },\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = Std.File.Invoke(new()\n {\n Input = \"task-definitions/service.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Volumes = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs\n {\n Name = \"service-storage\",\n DockerVolumeConfiguration = new Aws.Ecs.Inputs.TaskDefinitionVolumeDockerVolumeConfigurationArgs\n {\n Scope = \"shared\",\n Autoprovision = true,\n Driver = \"local\",\n DriverOpts = \n {\n { \"type\", \"nfs\" },\n { \"device\", $\"{fs.DnsName}:/\" },\n { \"o\", $\"addr={fs.DnsName},rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\" },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"task-definitions/service.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: pulumi.String(invokeFile.Result),\n\t\t\tVolumes: ecs.TaskDefinitionVolumeArray{\n\t\t\t\t\u0026ecs.TaskDefinitionVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"service-storage\"),\n\t\t\t\t\tDockerVolumeConfiguration: \u0026ecs.TaskDefinitionVolumeDockerVolumeConfigurationArgs{\n\t\t\t\t\t\tScope: pulumi.String(\"shared\"),\n\t\t\t\t\t\tAutoprovision: pulumi.Bool(true),\n\t\t\t\t\t\tDriver: pulumi.String(\"local\"),\n\t\t\t\t\t\tDriverOpts: pulumi.StringMap{\n\t\t\t\t\t\t\t\"type\": pulumi.String(\"nfs\"),\n\t\t\t\t\t\t\t\"device\": pulumi.Sprintf(\"%v:/\", fs.DnsName),\n\t\t\t\t\t\t\t\"o\": pulumi.Sprintf(\"addr=%v,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\", fs.DnsName),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeDockerVolumeConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder()\n .family(\"service\")\n .containerDefinitions(StdFunctions.file(FileArgs.builder()\n .input(\"task-definitions/service.json\")\n .build()).result())\n .volumes(TaskDefinitionVolumeArgs.builder()\n .name(\"service-storage\")\n .dockerVolumeConfiguration(TaskDefinitionVolumeDockerVolumeConfigurationArgs.builder()\n .scope(\"shared\")\n .autoprovision(true)\n .driver(\"local\")\n .driverOpts(Map.ofEntries(\n Map.entry(\"type\", \"nfs\"),\n Map.entry(\"device\", String.format(\"%s:/\", fs.dnsName())),\n Map.entry(\"o\", String.format(\"addr=%s,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\", fs.dnsName()))\n ))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::invoke:\n function: std:file\n arguments:\n input: task-definitions/service.json\n return: result\n volumes:\n - name: service-storage\n dockerVolumeConfiguration:\n scope: shared\n autoprovision: true\n driver: local\n driverOpts:\n type: nfs\n device: ${fs.dnsName}:/\n o: addr=${fs.dnsName},rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `efs_volume_configuration`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: std.file({\n input: \"task-definitions/service.json\",\n }).then(invoke =\u003e invoke.result),\n volumes: [{\n name: \"service-storage\",\n efsVolumeConfiguration: {\n fileSystemId: fs.id,\n rootDirectory: \"/opt/data\",\n transitEncryption: \"ENABLED\",\n transitEncryptionPort: 2999,\n authorizationConfig: {\n accessPointId: test.id,\n iam: \"ENABLED\",\n },\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=std.file(input=\"task-definitions/service.json\").result,\n volumes=[{\n \"name\": \"service-storage\",\n \"efs_volume_configuration\": {\n \"file_system_id\": fs[\"id\"],\n \"root_directory\": \"/opt/data\",\n \"transit_encryption\": \"ENABLED\",\n \"transit_encryption_port\": 2999,\n \"authorization_config\": {\n \"access_point_id\": test[\"id\"],\n \"iam\": \"ENABLED\",\n },\n },\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = Std.File.Invoke(new()\n {\n Input = \"task-definitions/service.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Volumes = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs\n {\n Name = \"service-storage\",\n EfsVolumeConfiguration = new Aws.Ecs.Inputs.TaskDefinitionVolumeEfsVolumeConfigurationArgs\n {\n FileSystemId = fs.Id,\n RootDirectory = \"/opt/data\",\n TransitEncryption = \"ENABLED\",\n TransitEncryptionPort = 2999,\n AuthorizationConfig = new Aws.Ecs.Inputs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs\n {\n AccessPointId = test.Id,\n Iam = \"ENABLED\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"task-definitions/service.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: pulumi.String(invokeFile.Result),\n\t\t\tVolumes: ecs.TaskDefinitionVolumeArray{\n\t\t\t\t\u0026ecs.TaskDefinitionVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"service-storage\"),\n\t\t\t\t\tEfsVolumeConfiguration: \u0026ecs.TaskDefinitionVolumeEfsVolumeConfigurationArgs{\n\t\t\t\t\t\tFileSystemId: pulumi.Any(fs.Id),\n\t\t\t\t\t\tRootDirectory: pulumi.String(\"/opt/data\"),\n\t\t\t\t\t\tTransitEncryption: pulumi.String(\"ENABLED\"),\n\t\t\t\t\t\tTransitEncryptionPort: pulumi.Int(2999),\n\t\t\t\t\t\tAuthorizationConfig: \u0026ecs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs{\n\t\t\t\t\t\t\tAccessPointId: pulumi.Any(test.Id),\n\t\t\t\t\t\t\tIam: pulumi.String(\"ENABLED\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeEfsVolumeConfigurationArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder()\n .family(\"service\")\n .containerDefinitions(StdFunctions.file(FileArgs.builder()\n .input(\"task-definitions/service.json\")\n .build()).result())\n .volumes(TaskDefinitionVolumeArgs.builder()\n .name(\"service-storage\")\n .efsVolumeConfiguration(TaskDefinitionVolumeEfsVolumeConfigurationArgs.builder()\n .fileSystemId(fs.id())\n .rootDirectory(\"/opt/data\")\n .transitEncryption(\"ENABLED\")\n .transitEncryptionPort(2999)\n .authorizationConfig(TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs.builder()\n .accessPointId(test.id())\n .iam(\"ENABLED\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::invoke:\n function: std:file\n arguments:\n input: task-definitions/service.json\n return: result\n volumes:\n - name: service-storage\n efsVolumeConfiguration:\n fileSystemId: ${fs.id}\n rootDirectory: /opt/data\n transitEncryption: ENABLED\n transitEncryptionPort: 2999\n authorizationConfig:\n accessPointId: ${test.id}\n iam: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `fsx_windows_file_server_volume_configuration`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst test = new aws.secretsmanager.SecretVersion(\"test\", {\n secretId: testAwsSecretsmanagerSecret.id,\n secretString: JSON.stringify({\n username: \"admin\",\n password: testAwsDirectoryServiceDirectory.password,\n }),\n});\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: std.file({\n input: \"task-definitions/service.json\",\n }).then(invoke =\u003e invoke.result),\n volumes: [{\n name: \"service-storage\",\n fsxWindowsFileServerVolumeConfiguration: {\n fileSystemId: testAwsFsxWindowsFileSystem.id,\n rootDirectory: \"\\\\data\",\n authorizationConfig: {\n credentialsParameter: test.arn,\n domain: testAwsDirectoryServiceDirectory.name,\n },\n },\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest = aws.secretsmanager.SecretVersion(\"test\",\n secret_id=test_aws_secretsmanager_secret[\"id\"],\n secret_string=json.dumps({\n \"username\": \"admin\",\n \"password\": test_aws_directory_service_directory[\"password\"],\n }))\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=std.file(input=\"task-definitions/service.json\").result,\n volumes=[{\n \"name\": \"service-storage\",\n \"fsx_windows_file_server_volume_configuration\": {\n \"file_system_id\": test_aws_fsx_windows_file_system[\"id\"],\n \"root_directory\": \"\\\\data\",\n \"authorization_config\": {\n \"credentials_parameter\": test.arn,\n \"domain\": test_aws_directory_service_directory[\"name\"],\n },\n },\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.SecretsManager.SecretVersion(\"test\", new()\n {\n SecretId = testAwsSecretsmanagerSecret.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"admin\",\n [\"password\"] = testAwsDirectoryServiceDirectory.Password,\n }),\n });\n\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = Std.File.Invoke(new()\n {\n Input = \"task-definitions/service.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Volumes = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs\n {\n Name = \"service-storage\",\n FsxWindowsFileServerVolumeConfiguration = new Aws.Ecs.Inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs\n {\n FileSystemId = testAwsFsxWindowsFileSystem.Id,\n RootDirectory = \"\\\\data\",\n AuthorizationConfig = new Aws.Ecs.Inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs\n {\n CredentialsParameter = test.Arn,\n Domain = testAwsDirectoryServiceDirectory.Name,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"username\": \"admin\",\n\t\t\t\"password\": testAwsDirectoryServiceDirectory.Password,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttest, err := secretsmanager.NewSecretVersion(ctx, \"test\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: pulumi.Any(testAwsSecretsmanagerSecret.Id),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"task-definitions/service.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: pulumi.String(invokeFile.Result),\n\t\t\tVolumes: ecs.TaskDefinitionVolumeArray{\n\t\t\t\t\u0026ecs.TaskDefinitionVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"service-storage\"),\n\t\t\t\t\tFsxWindowsFileServerVolumeConfiguration: \u0026ecs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs{\n\t\t\t\t\t\tFileSystemId: pulumi.Any(testAwsFsxWindowsFileSystem.Id),\n\t\t\t\t\t\tRootDirectory: pulumi.String(\"\\\\data\"),\n\t\t\t\t\t\tAuthorizationConfig: \u0026ecs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs{\n\t\t\t\t\t\t\tCredentialsParameter: test.Arn,\n\t\t\t\t\t\t\tDomain: pulumi.Any(testAwsDirectoryServiceDirectory.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new SecretVersion(\"test\", SecretVersionArgs.builder()\n .secretId(testAwsSecretsmanagerSecret.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"admin\"),\n jsonProperty(\"password\", testAwsDirectoryServiceDirectory.password())\n )))\n .build());\n\n var service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder()\n .family(\"service\")\n .containerDefinitions(StdFunctions.file(FileArgs.builder()\n .input(\"task-definitions/service.json\")\n .build()).result())\n .volumes(TaskDefinitionVolumeArgs.builder()\n .name(\"service-storage\")\n .fsxWindowsFileServerVolumeConfiguration(TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs.builder()\n .fileSystemId(testAwsFsxWindowsFileSystem.id())\n .rootDirectory(\"\\\\data\")\n .authorizationConfig(TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs.builder()\n .credentialsParameter(test.arn())\n .domain(testAwsDirectoryServiceDirectory.name())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::invoke:\n function: std:file\n arguments:\n input: task-definitions/service.json\n return: result\n volumes:\n - name: service-storage\n fsxWindowsFileServerVolumeConfiguration:\n fileSystemId: ${testAwsFsxWindowsFileSystem.id}\n rootDirectory: \\data\n authorizationConfig:\n credentialsParameter: ${test.arn}\n domain: ${testAwsDirectoryServiceDirectory.name}\n test:\n type: aws:secretsmanager:SecretVersion\n properties:\n secretId: ${testAwsSecretsmanagerSecret.id}\n secretString:\n fn::toJSON:\n username: admin\n password: ${testAwsDirectoryServiceDirectory.password}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `container_definitions` and `inference_accelerator`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ecs.TaskDefinition(\"test\", {\n family: \"test\",\n containerDefinitions: `[\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n]\n`,\n inferenceAccelerators: [{\n deviceName: \"device_1\",\n deviceType: \"eia1.medium\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ecs.TaskDefinition(\"test\",\n family=\"test\",\n container_definitions=\"\"\"[\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n]\n\"\"\",\n inference_accelerators=[{\n \"device_name\": \"device_1\",\n \"device_type\": \"eia1.medium\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ecs.TaskDefinition(\"test\", new()\n {\n Family = \"test\",\n ContainerDefinitions = @\"[\n {\n \"\"cpu\"\": 10,\n \"\"command\"\": [\"\"sleep\"\", \"\"10\"\"],\n \"\"entryPoint\"\": [\"\"/\"\"],\n \"\"environment\"\": [\n {\"\"name\"\": \"\"VARNAME\"\", \"\"value\"\": \"\"VARVAL\"\"}\n ],\n \"\"essential\"\": true,\n \"\"image\"\": \"\"jenkins\"\",\n \"\"memory\"\": 128,\n \"\"name\"\": \"\"jenkins\"\",\n \"\"portMappings\"\": [\n {\n \"\"containerPort\"\": 80,\n \"\"hostPort\"\": 8080\n }\n ],\n \"\"resourceRequirements\"\":[\n {\n \"\"type\"\":\"\"InferenceAccelerator\"\",\n \"\"value\"\":\"\"device_1\"\"\n }\n ]\n }\n]\n\",\n InferenceAccelerators = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionInferenceAcceleratorArgs\n {\n DeviceName = \"device_1\",\n DeviceType = \"eia1.medium\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.NewTaskDefinition(ctx, \"test\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"test\"),\n\t\t\tContainerDefinitions: pulumi.String(`[\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n]\n`),\n\t\t\tInferenceAccelerators: ecs.TaskDefinitionInferenceAcceleratorArray{\n\t\t\t\t\u0026ecs.TaskDefinitionInferenceAcceleratorArgs{\n\t\t\t\t\tDeviceName: pulumi.String(\"device_1\"),\n\t\t\t\t\tDeviceType: pulumi.String(\"eia1.medium\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionInferenceAcceleratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TaskDefinition(\"test\", TaskDefinitionArgs.builder()\n .family(\"test\")\n .containerDefinitions(\"\"\"\n[\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n]\n \"\"\")\n .inferenceAccelerators(TaskDefinitionInferenceAcceleratorArgs.builder()\n .deviceName(\"device_1\")\n .deviceType(\"eia1.medium\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ecs:TaskDefinition\n properties:\n family: test\n containerDefinitions: |\n [\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n ]\n inferenceAccelerators:\n - deviceName: device_1\n deviceType: eia1.medium\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `runtime_platform` and `fargate`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ecs.TaskDefinition(\"test\", {\n family: \"test\",\n requiresCompatibilities: [\"FARGATE\"],\n networkMode: \"awsvpc\",\n cpu: \"1024\",\n memory: \"2048\",\n containerDefinitions: `[\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n]\n`,\n runtimePlatform: {\n operatingSystemFamily: \"WINDOWS_SERVER_2019_CORE\",\n cpuArchitecture: \"X86_64\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ecs.TaskDefinition(\"test\",\n family=\"test\",\n requires_compatibilities=[\"FARGATE\"],\n network_mode=\"awsvpc\",\n cpu=\"1024\",\n memory=\"2048\",\n container_definitions=\"\"\"[\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n]\n\"\"\",\n runtime_platform={\n \"operating_system_family\": \"WINDOWS_SERVER_2019_CORE\",\n \"cpu_architecture\": \"X86_64\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ecs.TaskDefinition(\"test\", new()\n {\n Family = \"test\",\n RequiresCompatibilities = new[]\n {\n \"FARGATE\",\n },\n NetworkMode = \"awsvpc\",\n Cpu = \"1024\",\n Memory = \"2048\",\n ContainerDefinitions = @\"[\n {\n \"\"name\"\": \"\"iis\"\",\n \"\"image\"\": \"\"mcr.microsoft.com/windows/servercore/iis\"\",\n \"\"cpu\"\": 1024,\n \"\"memory\"\": 2048,\n \"\"essential\"\": true\n }\n]\n\",\n RuntimePlatform = new Aws.Ecs.Inputs.TaskDefinitionRuntimePlatformArgs\n {\n OperatingSystemFamily = \"WINDOWS_SERVER_2019_CORE\",\n CpuArchitecture = \"X86_64\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.NewTaskDefinition(ctx, \"test\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"test\"),\n\t\t\tRequiresCompatibilities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FARGATE\"),\n\t\t\t},\n\t\t\tNetworkMode: pulumi.String(\"awsvpc\"),\n\t\t\tCpu: pulumi.String(\"1024\"),\n\t\t\tMemory: pulumi.String(\"2048\"),\n\t\t\tContainerDefinitions: pulumi.String(`[\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n]\n`),\n\t\t\tRuntimePlatform: \u0026ecs.TaskDefinitionRuntimePlatformArgs{\n\t\t\t\tOperatingSystemFamily: pulumi.String(\"WINDOWS_SERVER_2019_CORE\"),\n\t\t\t\tCpuArchitecture: pulumi.String(\"X86_64\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionRuntimePlatformArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TaskDefinition(\"test\", TaskDefinitionArgs.builder()\n .family(\"test\")\n .requiresCompatibilities(\"FARGATE\")\n .networkMode(\"awsvpc\")\n .cpu(1024)\n .memory(2048)\n .containerDefinitions(\"\"\"\n[\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n]\n \"\"\")\n .runtimePlatform(TaskDefinitionRuntimePlatformArgs.builder()\n .operatingSystemFamily(\"WINDOWS_SERVER_2019_CORE\")\n .cpuArchitecture(\"X86_64\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ecs:TaskDefinition\n properties:\n family: test\n requiresCompatibilities:\n - FARGATE\n networkMode: awsvpc\n cpu: 1024\n memory: 2048\n containerDefinitions: |\n [\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n ]\n runtimePlatform:\n operatingSystemFamily: WINDOWS_SERVER_2019_CORE\n cpuArchitecture: X86_64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS Task Definitions using their ARNs. For example:\n\n```sh\n$ pulumi import aws:ecs/taskDefinition:TaskDefinition example arn:aws:ecs:us-east-1:012345678910:task-definition/mytaskfamily:123\n```\n", + "description": "Manages a revision of an ECS task definition to be used in `aws.ecs.Service`.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: JSON.stringify([\n {\n name: \"first\",\n image: \"service-first\",\n cpu: 10,\n memory: 512,\n essential: true,\n portMappings: [{\n containerPort: 80,\n hostPort: 80,\n }],\n },\n {\n name: \"second\",\n image: \"service-second\",\n cpu: 10,\n memory: 256,\n essential: true,\n portMappings: [{\n containerPort: 443,\n hostPort: 443,\n }],\n },\n ]),\n volumes: [{\n name: \"service-storage\",\n hostPath: \"/ecs/service-storage\",\n }],\n placementConstraints: [{\n type: \"memberOf\",\n expression: \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=json.dumps([\n {\n \"name\": \"first\",\n \"image\": \"service-first\",\n \"cpu\": 10,\n \"memory\": 512,\n \"essential\": True,\n \"portMappings\": [{\n \"containerPort\": 80,\n \"hostPort\": 80,\n }],\n },\n {\n \"name\": \"second\",\n \"image\": \"service-second\",\n \"cpu\": 10,\n \"memory\": 256,\n \"essential\": True,\n \"portMappings\": [{\n \"containerPort\": 443,\n \"hostPort\": 443,\n }],\n },\n ]),\n volumes=[{\n \"name\": \"service-storage\",\n \"host_path\": \"/ecs/service-storage\",\n }],\n placement_constraints=[{\n \"type\": \"memberOf\",\n \"expression\": \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"first\",\n [\"image\"] = \"service-first\",\n [\"cpu\"] = 10,\n [\"memory\"] = 512,\n [\"essential\"] = true,\n [\"portMappings\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"containerPort\"] = 80,\n [\"hostPort\"] = 80,\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"second\",\n [\"image\"] = \"service-second\",\n [\"cpu\"] = 10,\n [\"memory\"] = 256,\n [\"essential\"] = true,\n [\"portMappings\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"containerPort\"] = 443,\n [\"hostPort\"] = 443,\n },\n },\n },\n }),\n Volumes = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs\n {\n Name = \"service-storage\",\n HostPath = \"/ecs/service-storage\",\n },\n },\n PlacementConstraints = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionPlacementConstraintArgs\n {\n Type = \"memberOf\",\n Expression = \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"name\": \"first\",\n\t\t\t\t\"image\": \"service-first\",\n\t\t\t\t\"cpu\": 10,\n\t\t\t\t\"memory\": 512,\n\t\t\t\t\"essential\": true,\n\t\t\t\t\"portMappings\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"containerPort\": 80,\n\t\t\t\t\t\t\"hostPort\": 80,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"name\": \"second\",\n\t\t\t\t\"image\": \"service-second\",\n\t\t\t\t\"cpu\": 10,\n\t\t\t\t\"memory\": 256,\n\t\t\t\t\"essential\": true,\n\t\t\t\t\"portMappings\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"containerPort\": 443,\n\t\t\t\t\t\t\"hostPort\": 443,\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: pulumi.String(json0),\n\t\t\tVolumes: ecs.TaskDefinitionVolumeArray{\n\t\t\t\t\u0026ecs.TaskDefinitionVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"service-storage\"),\n\t\t\t\t\tHostPath: pulumi.String(\"/ecs/service-storage\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPlacementConstraints: ecs.TaskDefinitionPlacementConstraintArray{\n\t\t\t\t\u0026ecs.TaskDefinitionPlacementConstraintArgs{\n\t\t\t\t\tType: pulumi.String(\"memberOf\"),\n\t\t\t\t\tExpression: pulumi.String(\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionPlacementConstraintArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder()\n .family(\"service\")\n .containerDefinitions(serializeJson(\n jsonArray(\n jsonObject(\n jsonProperty(\"name\", \"first\"),\n jsonProperty(\"image\", \"service-first\"),\n jsonProperty(\"cpu\", 10),\n jsonProperty(\"memory\", 512),\n jsonProperty(\"essential\", true),\n jsonProperty(\"portMappings\", jsonArray(jsonObject(\n jsonProperty(\"containerPort\", 80),\n jsonProperty(\"hostPort\", 80)\n )))\n ), \n jsonObject(\n jsonProperty(\"name\", \"second\"),\n jsonProperty(\"image\", \"service-second\"),\n jsonProperty(\"cpu\", 10),\n jsonProperty(\"memory\", 256),\n jsonProperty(\"essential\", true),\n jsonProperty(\"portMappings\", jsonArray(jsonObject(\n jsonProperty(\"containerPort\", 443),\n jsonProperty(\"hostPort\", 443)\n )))\n )\n )))\n .volumes(TaskDefinitionVolumeArgs.builder()\n .name(\"service-storage\")\n .hostPath(\"/ecs/service-storage\")\n .build())\n .placementConstraints(TaskDefinitionPlacementConstraintArgs.builder()\n .type(\"memberOf\")\n .expression(\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::toJSON:\n - name: first\n image: service-first\n cpu: 10\n memory: 512\n essential: true\n portMappings:\n - containerPort: 80\n hostPort: 80\n - name: second\n image: service-second\n cpu: 10\n memory: 256\n essential: true\n portMappings:\n - containerPort: 443\n hostPort: 443\n volumes:\n - name: service-storage\n hostPath: /ecs/service-storage\n placementConstraints:\n - type: memberOf\n expression: attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With AppMesh Proxy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: std.file({\n input: \"task-definitions/service.json\",\n }).then(invoke =\u003e invoke.result),\n proxyConfiguration: {\n type: \"APPMESH\",\n containerName: \"applicationContainerName\",\n properties: {\n AppPorts: \"8080\",\n EgressIgnoredIPs: \"169.254.170.2,169.254.169.254\",\n IgnoredUID: \"1337\",\n ProxyEgressPort: \"15001\",\n ProxyIngressPort: \"15000\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=std.file(input=\"task-definitions/service.json\").result,\n proxy_configuration={\n \"type\": \"APPMESH\",\n \"container_name\": \"applicationContainerName\",\n \"properties\": {\n \"AppPorts\": \"8080\",\n \"EgressIgnoredIPs\": \"169.254.170.2,169.254.169.254\",\n \"IgnoredUID\": \"1337\",\n \"ProxyEgressPort\": \"15001\",\n \"ProxyIngressPort\": \"15000\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = Std.File.Invoke(new()\n {\n Input = \"task-definitions/service.json\",\n }).Apply(invoke =\u003e invoke.Result),\n ProxyConfiguration = new Aws.Ecs.Inputs.TaskDefinitionProxyConfigurationArgs\n {\n Type = \"APPMESH\",\n ContainerName = \"applicationContainerName\",\n Properties = \n {\n { \"AppPorts\", \"8080\" },\n { \"EgressIgnoredIPs\", \"169.254.170.2,169.254.169.254\" },\n { \"IgnoredUID\", \"1337\" },\n { \"ProxyEgressPort\", \"15001\" },\n { \"ProxyIngressPort\", \"15000\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"task-definitions/service.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: pulumi.String(invokeFile.Result),\n\t\t\tProxyConfiguration: \u0026ecs.TaskDefinitionProxyConfigurationArgs{\n\t\t\t\tType: pulumi.String(\"APPMESH\"),\n\t\t\t\tContainerName: pulumi.String(\"applicationContainerName\"),\n\t\t\t\tProperties: pulumi.StringMap{\n\t\t\t\t\t\"AppPorts\": pulumi.String(\"8080\"),\n\t\t\t\t\t\"EgressIgnoredIPs\": pulumi.String(\"169.254.170.2,169.254.169.254\"),\n\t\t\t\t\t\"IgnoredUID\": pulumi.String(\"1337\"),\n\t\t\t\t\t\"ProxyEgressPort\": pulumi.String(\"15001\"),\n\t\t\t\t\t\"ProxyIngressPort\": pulumi.String(\"15000\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionProxyConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder()\n .family(\"service\")\n .containerDefinitions(StdFunctions.file(FileArgs.builder()\n .input(\"task-definitions/service.json\")\n .build()).result())\n .proxyConfiguration(TaskDefinitionProxyConfigurationArgs.builder()\n .type(\"APPMESH\")\n .containerName(\"applicationContainerName\")\n .properties(Map.ofEntries(\n Map.entry(\"AppPorts\", \"8080\"),\n Map.entry(\"EgressIgnoredIPs\", \"169.254.170.2,169.254.169.254\"),\n Map.entry(\"IgnoredUID\", \"1337\"),\n Map.entry(\"ProxyEgressPort\", 15001),\n Map.entry(\"ProxyIngressPort\", 15000)\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::invoke:\n Function: std:file\n Arguments:\n input: task-definitions/service.json\n Return: result\n proxyConfiguration:\n type: APPMESH\n containerName: applicationContainerName\n properties:\n AppPorts: '8080'\n EgressIgnoredIPs: 169.254.170.2,169.254.169.254\n IgnoredUID: '1337'\n ProxyEgressPort: 15001\n ProxyIngressPort: 15000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `docker_volume_configuration`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: std.file({\n input: \"task-definitions/service.json\",\n }).then(invoke =\u003e invoke.result),\n volumes: [{\n name: \"service-storage\",\n dockerVolumeConfiguration: {\n scope: \"shared\",\n autoprovision: true,\n driver: \"local\",\n driverOpts: {\n type: \"nfs\",\n device: `${fs.dnsName}:/`,\n o: `addr=${fs.dnsName},rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport`,\n },\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=std.file(input=\"task-definitions/service.json\").result,\n volumes=[{\n \"name\": \"service-storage\",\n \"docker_volume_configuration\": {\n \"scope\": \"shared\",\n \"autoprovision\": True,\n \"driver\": \"local\",\n \"driver_opts\": {\n \"type\": \"nfs\",\n \"device\": f\"{fs['dnsName']}:/\",\n \"o\": f\"addr={fs['dnsName']},rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\",\n },\n },\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = Std.File.Invoke(new()\n {\n Input = \"task-definitions/service.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Volumes = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs\n {\n Name = \"service-storage\",\n DockerVolumeConfiguration = new Aws.Ecs.Inputs.TaskDefinitionVolumeDockerVolumeConfigurationArgs\n {\n Scope = \"shared\",\n Autoprovision = true,\n Driver = \"local\",\n DriverOpts = \n {\n { \"type\", \"nfs\" },\n { \"device\", $\"{fs.DnsName}:/\" },\n { \"o\", $\"addr={fs.DnsName},rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\" },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"task-definitions/service.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: pulumi.String(invokeFile.Result),\n\t\t\tVolumes: ecs.TaskDefinitionVolumeArray{\n\t\t\t\t\u0026ecs.TaskDefinitionVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"service-storage\"),\n\t\t\t\t\tDockerVolumeConfiguration: \u0026ecs.TaskDefinitionVolumeDockerVolumeConfigurationArgs{\n\t\t\t\t\t\tScope: pulumi.String(\"shared\"),\n\t\t\t\t\t\tAutoprovision: pulumi.Bool(true),\n\t\t\t\t\t\tDriver: pulumi.String(\"local\"),\n\t\t\t\t\t\tDriverOpts: pulumi.StringMap{\n\t\t\t\t\t\t\t\"type\": pulumi.String(\"nfs\"),\n\t\t\t\t\t\t\t\"device\": pulumi.Sprintf(\"%v:/\", fs.DnsName),\n\t\t\t\t\t\t\t\"o\": pulumi.Sprintf(\"addr=%v,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\", fs.DnsName),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeDockerVolumeConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder()\n .family(\"service\")\n .containerDefinitions(StdFunctions.file(FileArgs.builder()\n .input(\"task-definitions/service.json\")\n .build()).result())\n .volumes(TaskDefinitionVolumeArgs.builder()\n .name(\"service-storage\")\n .dockerVolumeConfiguration(TaskDefinitionVolumeDockerVolumeConfigurationArgs.builder()\n .scope(\"shared\")\n .autoprovision(true)\n .driver(\"local\")\n .driverOpts(Map.ofEntries(\n Map.entry(\"type\", \"nfs\"),\n Map.entry(\"device\", String.format(\"%s:/\", fs.dnsName())),\n Map.entry(\"o\", String.format(\"addr=%s,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\", fs.dnsName()))\n ))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::invoke:\n Function: std:file\n Arguments:\n input: task-definitions/service.json\n Return: result\n volumes:\n - name: service-storage\n dockerVolumeConfiguration:\n scope: shared\n autoprovision: true\n driver: local\n driverOpts:\n type: nfs\n device: ${fs.dnsName}:/\n o: addr=${fs.dnsName},rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `efs_volume_configuration`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: std.file({\n input: \"task-definitions/service.json\",\n }).then(invoke =\u003e invoke.result),\n volumes: [{\n name: \"service-storage\",\n efsVolumeConfiguration: {\n fileSystemId: fs.id,\n rootDirectory: \"/opt/data\",\n transitEncryption: \"ENABLED\",\n transitEncryptionPort: 2999,\n authorizationConfig: {\n accessPointId: test.id,\n iam: \"ENABLED\",\n },\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=std.file(input=\"task-definitions/service.json\").result,\n volumes=[{\n \"name\": \"service-storage\",\n \"efs_volume_configuration\": {\n \"file_system_id\": fs[\"id\"],\n \"root_directory\": \"/opt/data\",\n \"transit_encryption\": \"ENABLED\",\n \"transit_encryption_port\": 2999,\n \"authorization_config\": {\n \"access_point_id\": test[\"id\"],\n \"iam\": \"ENABLED\",\n },\n },\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = Std.File.Invoke(new()\n {\n Input = \"task-definitions/service.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Volumes = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs\n {\n Name = \"service-storage\",\n EfsVolumeConfiguration = new Aws.Ecs.Inputs.TaskDefinitionVolumeEfsVolumeConfigurationArgs\n {\n FileSystemId = fs.Id,\n RootDirectory = \"/opt/data\",\n TransitEncryption = \"ENABLED\",\n TransitEncryptionPort = 2999,\n AuthorizationConfig = new Aws.Ecs.Inputs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs\n {\n AccessPointId = test.Id,\n Iam = \"ENABLED\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"task-definitions/service.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: pulumi.String(invokeFile.Result),\n\t\t\tVolumes: ecs.TaskDefinitionVolumeArray{\n\t\t\t\t\u0026ecs.TaskDefinitionVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"service-storage\"),\n\t\t\t\t\tEfsVolumeConfiguration: \u0026ecs.TaskDefinitionVolumeEfsVolumeConfigurationArgs{\n\t\t\t\t\t\tFileSystemId: pulumi.Any(fs.Id),\n\t\t\t\t\t\tRootDirectory: pulumi.String(\"/opt/data\"),\n\t\t\t\t\t\tTransitEncryption: pulumi.String(\"ENABLED\"),\n\t\t\t\t\t\tTransitEncryptionPort: pulumi.Int(2999),\n\t\t\t\t\t\tAuthorizationConfig: \u0026ecs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs{\n\t\t\t\t\t\t\tAccessPointId: pulumi.Any(test.Id),\n\t\t\t\t\t\t\tIam: pulumi.String(\"ENABLED\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeEfsVolumeConfigurationArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder()\n .family(\"service\")\n .containerDefinitions(StdFunctions.file(FileArgs.builder()\n .input(\"task-definitions/service.json\")\n .build()).result())\n .volumes(TaskDefinitionVolumeArgs.builder()\n .name(\"service-storage\")\n .efsVolumeConfiguration(TaskDefinitionVolumeEfsVolumeConfigurationArgs.builder()\n .fileSystemId(fs.id())\n .rootDirectory(\"/opt/data\")\n .transitEncryption(\"ENABLED\")\n .transitEncryptionPort(2999)\n .authorizationConfig(TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs.builder()\n .accessPointId(test.id())\n .iam(\"ENABLED\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::invoke:\n Function: std:file\n Arguments:\n input: task-definitions/service.json\n Return: result\n volumes:\n - name: service-storage\n efsVolumeConfiguration:\n fileSystemId: ${fs.id}\n rootDirectory: /opt/data\n transitEncryption: ENABLED\n transitEncryptionPort: 2999\n authorizationConfig:\n accessPointId: ${test.id}\n iam: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `fsx_windows_file_server_volume_configuration`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst test = new aws.secretsmanager.SecretVersion(\"test\", {\n secretId: testAwsSecretsmanagerSecret.id,\n secretString: JSON.stringify({\n username: \"admin\",\n password: testAwsDirectoryServiceDirectory.password,\n }),\n});\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: std.file({\n input: \"task-definitions/service.json\",\n }).then(invoke =\u003e invoke.result),\n volumes: [{\n name: \"service-storage\",\n fsxWindowsFileServerVolumeConfiguration: {\n fileSystemId: testAwsFsxWindowsFileSystem.id,\n rootDirectory: \"\\\\data\",\n authorizationConfig: {\n credentialsParameter: test.arn,\n domain: testAwsDirectoryServiceDirectory.name,\n },\n },\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest = aws.secretsmanager.SecretVersion(\"test\",\n secret_id=test_aws_secretsmanager_secret[\"id\"],\n secret_string=json.dumps({\n \"username\": \"admin\",\n \"password\": test_aws_directory_service_directory[\"password\"],\n }))\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=std.file(input=\"task-definitions/service.json\").result,\n volumes=[{\n \"name\": \"service-storage\",\n \"fsx_windows_file_server_volume_configuration\": {\n \"file_system_id\": test_aws_fsx_windows_file_system[\"id\"],\n \"root_directory\": \"\\\\data\",\n \"authorization_config\": {\n \"credentials_parameter\": test.arn,\n \"domain\": test_aws_directory_service_directory[\"name\"],\n },\n },\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.SecretsManager.SecretVersion(\"test\", new()\n {\n SecretId = testAwsSecretsmanagerSecret.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"admin\",\n [\"password\"] = testAwsDirectoryServiceDirectory.Password,\n }),\n });\n\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = Std.File.Invoke(new()\n {\n Input = \"task-definitions/service.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Volumes = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs\n {\n Name = \"service-storage\",\n FsxWindowsFileServerVolumeConfiguration = new Aws.Ecs.Inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs\n {\n FileSystemId = testAwsFsxWindowsFileSystem.Id,\n RootDirectory = \"\\\\data\",\n AuthorizationConfig = new Aws.Ecs.Inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs\n {\n CredentialsParameter = test.Arn,\n Domain = testAwsDirectoryServiceDirectory.Name,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"username\": \"admin\",\n\t\t\t\"password\": testAwsDirectoryServiceDirectory.Password,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttest, err := secretsmanager.NewSecretVersion(ctx, \"test\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: pulumi.Any(testAwsSecretsmanagerSecret.Id),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"task-definitions/service.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: pulumi.String(invokeFile.Result),\n\t\t\tVolumes: ecs.TaskDefinitionVolumeArray{\n\t\t\t\t\u0026ecs.TaskDefinitionVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"service-storage\"),\n\t\t\t\t\tFsxWindowsFileServerVolumeConfiguration: \u0026ecs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs{\n\t\t\t\t\t\tFileSystemId: pulumi.Any(testAwsFsxWindowsFileSystem.Id),\n\t\t\t\t\t\tRootDirectory: pulumi.String(\"\\\\data\"),\n\t\t\t\t\t\tAuthorizationConfig: \u0026ecs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs{\n\t\t\t\t\t\t\tCredentialsParameter: test.Arn,\n\t\t\t\t\t\t\tDomain: pulumi.Any(testAwsDirectoryServiceDirectory.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new SecretVersion(\"test\", SecretVersionArgs.builder()\n .secretId(testAwsSecretsmanagerSecret.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"admin\"),\n jsonProperty(\"password\", testAwsDirectoryServiceDirectory.password())\n )))\n .build());\n\n var service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder()\n .family(\"service\")\n .containerDefinitions(StdFunctions.file(FileArgs.builder()\n .input(\"task-definitions/service.json\")\n .build()).result())\n .volumes(TaskDefinitionVolumeArgs.builder()\n .name(\"service-storage\")\n .fsxWindowsFileServerVolumeConfiguration(TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs.builder()\n .fileSystemId(testAwsFsxWindowsFileSystem.id())\n .rootDirectory(\"\\\\data\")\n .authorizationConfig(TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs.builder()\n .credentialsParameter(test.arn())\n .domain(testAwsDirectoryServiceDirectory.name())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::invoke:\n Function: std:file\n Arguments:\n input: task-definitions/service.json\n Return: result\n volumes:\n - name: service-storage\n fsxWindowsFileServerVolumeConfiguration:\n fileSystemId: ${testAwsFsxWindowsFileSystem.id}\n rootDirectory: \\data\n authorizationConfig:\n credentialsParameter: ${test.arn}\n domain: ${testAwsDirectoryServiceDirectory.name}\n test:\n type: aws:secretsmanager:SecretVersion\n properties:\n secretId: ${testAwsSecretsmanagerSecret.id}\n secretString:\n fn::toJSON:\n username: admin\n password: ${testAwsDirectoryServiceDirectory.password}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `container_definitions` and `inference_accelerator`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ecs.TaskDefinition(\"test\", {\n family: \"test\",\n containerDefinitions: `[\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n]\n`,\n inferenceAccelerators: [{\n deviceName: \"device_1\",\n deviceType: \"eia1.medium\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ecs.TaskDefinition(\"test\",\n family=\"test\",\n container_definitions=\"\"\"[\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n]\n\"\"\",\n inference_accelerators=[{\n \"device_name\": \"device_1\",\n \"device_type\": \"eia1.medium\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ecs.TaskDefinition(\"test\", new()\n {\n Family = \"test\",\n ContainerDefinitions = @\"[\n {\n \"\"cpu\"\": 10,\n \"\"command\"\": [\"\"sleep\"\", \"\"10\"\"],\n \"\"entryPoint\"\": [\"\"/\"\"],\n \"\"environment\"\": [\n {\"\"name\"\": \"\"VARNAME\"\", \"\"value\"\": \"\"VARVAL\"\"}\n ],\n \"\"essential\"\": true,\n \"\"image\"\": \"\"jenkins\"\",\n \"\"memory\"\": 128,\n \"\"name\"\": \"\"jenkins\"\",\n \"\"portMappings\"\": [\n {\n \"\"containerPort\"\": 80,\n \"\"hostPort\"\": 8080\n }\n ],\n \"\"resourceRequirements\"\":[\n {\n \"\"type\"\":\"\"InferenceAccelerator\"\",\n \"\"value\"\":\"\"device_1\"\"\n }\n ]\n }\n]\n\",\n InferenceAccelerators = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionInferenceAcceleratorArgs\n {\n DeviceName = \"device_1\",\n DeviceType = \"eia1.medium\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.NewTaskDefinition(ctx, \"test\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"test\"),\n\t\t\tContainerDefinitions: pulumi.String(`[\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n]\n`),\n\t\t\tInferenceAccelerators: ecs.TaskDefinitionInferenceAcceleratorArray{\n\t\t\t\t\u0026ecs.TaskDefinitionInferenceAcceleratorArgs{\n\t\t\t\t\tDeviceName: pulumi.String(\"device_1\"),\n\t\t\t\t\tDeviceType: pulumi.String(\"eia1.medium\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionInferenceAcceleratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TaskDefinition(\"test\", TaskDefinitionArgs.builder()\n .family(\"test\")\n .containerDefinitions(\"\"\"\n[\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n]\n \"\"\")\n .inferenceAccelerators(TaskDefinitionInferenceAcceleratorArgs.builder()\n .deviceName(\"device_1\")\n .deviceType(\"eia1.medium\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ecs:TaskDefinition\n properties:\n family: test\n containerDefinitions: |\n [\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n ]\n inferenceAccelerators:\n - deviceName: device_1\n deviceType: eia1.medium\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `runtime_platform` and `fargate`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ecs.TaskDefinition(\"test\", {\n family: \"test\",\n requiresCompatibilities: [\"FARGATE\"],\n networkMode: \"awsvpc\",\n cpu: \"1024\",\n memory: \"2048\",\n containerDefinitions: `[\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n]\n`,\n runtimePlatform: {\n operatingSystemFamily: \"WINDOWS_SERVER_2019_CORE\",\n cpuArchitecture: \"X86_64\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ecs.TaskDefinition(\"test\",\n family=\"test\",\n requires_compatibilities=[\"FARGATE\"],\n network_mode=\"awsvpc\",\n cpu=\"1024\",\n memory=\"2048\",\n container_definitions=\"\"\"[\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n]\n\"\"\",\n runtime_platform={\n \"operating_system_family\": \"WINDOWS_SERVER_2019_CORE\",\n \"cpu_architecture\": \"X86_64\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ecs.TaskDefinition(\"test\", new()\n {\n Family = \"test\",\n RequiresCompatibilities = new[]\n {\n \"FARGATE\",\n },\n NetworkMode = \"awsvpc\",\n Cpu = \"1024\",\n Memory = \"2048\",\n ContainerDefinitions = @\"[\n {\n \"\"name\"\": \"\"iis\"\",\n \"\"image\"\": \"\"mcr.microsoft.com/windows/servercore/iis\"\",\n \"\"cpu\"\": 1024,\n \"\"memory\"\": 2048,\n \"\"essential\"\": true\n }\n]\n\",\n RuntimePlatform = new Aws.Ecs.Inputs.TaskDefinitionRuntimePlatformArgs\n {\n OperatingSystemFamily = \"WINDOWS_SERVER_2019_CORE\",\n CpuArchitecture = \"X86_64\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.NewTaskDefinition(ctx, \"test\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"test\"),\n\t\t\tRequiresCompatibilities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FARGATE\"),\n\t\t\t},\n\t\t\tNetworkMode: pulumi.String(\"awsvpc\"),\n\t\t\tCpu: pulumi.String(\"1024\"),\n\t\t\tMemory: pulumi.String(\"2048\"),\n\t\t\tContainerDefinitions: pulumi.String(`[\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n]\n`),\n\t\t\tRuntimePlatform: \u0026ecs.TaskDefinitionRuntimePlatformArgs{\n\t\t\t\tOperatingSystemFamily: pulumi.String(\"WINDOWS_SERVER_2019_CORE\"),\n\t\t\t\tCpuArchitecture: pulumi.String(\"X86_64\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionRuntimePlatformArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TaskDefinition(\"test\", TaskDefinitionArgs.builder()\n .family(\"test\")\n .requiresCompatibilities(\"FARGATE\")\n .networkMode(\"awsvpc\")\n .cpu(1024)\n .memory(2048)\n .containerDefinitions(\"\"\"\n[\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n]\n \"\"\")\n .runtimePlatform(TaskDefinitionRuntimePlatformArgs.builder()\n .operatingSystemFamily(\"WINDOWS_SERVER_2019_CORE\")\n .cpuArchitecture(\"X86_64\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ecs:TaskDefinition\n properties:\n family: test\n requiresCompatibilities:\n - FARGATE\n networkMode: awsvpc\n cpu: 1024\n memory: 2048\n containerDefinitions: |\n [\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n ]\n runtimePlatform:\n operatingSystemFamily: WINDOWS_SERVER_2019_CORE\n cpuArchitecture: X86_64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS Task Definitions using their ARNs. For example:\n\n```sh\n$ pulumi import aws:ecs/taskDefinition:TaskDefinition example arn:aws:ecs:us-east-1:012345678910:task-definition/mytaskfamily:123\n```\n", "properties": { "arn": { "type": "string", @@ -256189,7 +256189,7 @@ } }, "aws:efs/fileSystemPolicy:FileSystemPolicy": { - "description": "Provides an Elastic File System (EFS) File System Policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fs = new aws.efs.FileSystem(\"fs\", {creationToken: \"my-product\"});\nconst policy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"ExampleStatement01\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n actions: [\n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\",\n ],\n resources: [fs.arn],\n conditions: [{\n test: \"Bool\",\n variable: \"aws:SecureTransport\",\n values: [\"true\"],\n }],\n }],\n});\nconst policyFileSystemPolicy = new aws.efs.FileSystemPolicy(\"policy\", {\n fileSystemId: fs.id,\n policy: policy.apply(policy =\u003e policy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfs = aws.efs.FileSystem(\"fs\", creation_token=\"my-product\")\npolicy = aws.iam.get_policy_document_output(statements=[{\n \"sid\": \"ExampleStatement01\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\",\n ],\n \"resources\": [fs.arn],\n \"conditions\": [{\n \"test\": \"Bool\",\n \"variable\": \"aws:SecureTransport\",\n \"values\": [\"true\"],\n }],\n}])\npolicy_file_system_policy = aws.efs.FileSystemPolicy(\"policy\",\n file_system_id=fs.id,\n policy=policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fs = new Aws.Efs.FileSystem(\"fs\", new()\n {\n CreationToken = \"my-product\",\n });\n\n var policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"ExampleStatement01\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\",\n },\n Resources = new[]\n {\n fs.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"Bool\",\n Variable = \"aws:SecureTransport\",\n Values = new[]\n {\n \"true\",\n },\n },\n },\n },\n },\n });\n\n var policyFileSystemPolicy = new Aws.Efs.FileSystemPolicy(\"policy\", new()\n {\n FileSystemId = fs.Id,\n Policy = policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfs, err := efs.NewFileSystem(ctx, \"fs\", \u0026efs.FileSystemArgs{\n\t\t\tCreationToken: pulumi.String(\"my-product\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"ExampleStatement01\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"elasticfilesystem:ClientMount\"),\n\t\t\t\t\t\tpulumi.String(\"elasticfilesystem:ClientWrite\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tfs.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"Bool\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SecureTransport\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"true\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = efs.NewFileSystemPolicy(ctx, \"policy\", \u0026efs.FileSystemPolicyArgs{\n\t\t\tFileSystemId: fs.ID(),\n\t\t\tPolicy: pulumi.String(policy.ApplyT(func(policy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026policy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.FileSystemArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.efs.FileSystemPolicy;\nimport com.pulumi.aws.efs.FileSystemPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fs = new FileSystem(\"fs\", FileSystemArgs.builder()\n .creationToken(\"my-product\")\n .build());\n\n final var policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"ExampleStatement01\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .actions( \n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\")\n .resources(fs.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"Bool\")\n .variable(\"aws:SecureTransport\")\n .values(\"true\")\n .build())\n .build())\n .build());\n\n var policyFileSystemPolicy = new FileSystemPolicy(\"policyFileSystemPolicy\", FileSystemPolicyArgs.builder()\n .fileSystemId(fs.id())\n .policy(policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(policy -\u003e policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fs:\n type: aws:efs:FileSystem\n properties:\n creationToken: my-product\n policyFileSystemPolicy:\n type: aws:efs:FileSystemPolicy\n name: policy\n properties:\n fileSystemId: ${fs.id}\n policy: ${policy.json}\nvariables:\n policy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: ExampleStatement01\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n actions:\n - elasticfilesystem:ClientMount\n - elasticfilesystem:ClientWrite\n resources:\n - ${fs.arn}\n conditions:\n - test: Bool\n variable: aws:SecureTransport\n values:\n - 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the EFS file system policies using the `id`. For example:\n\n```sh\n$ pulumi import aws:efs/fileSystemPolicy:FileSystemPolicy foo fs-6fa144c6\n```\n", + "description": "Provides an Elastic File System (EFS) File System Policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fs = new aws.efs.FileSystem(\"fs\", {creationToken: \"my-product\"});\nconst policy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"ExampleStatement01\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n actions: [\n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\",\n ],\n resources: [fs.arn],\n conditions: [{\n test: \"Bool\",\n variable: \"aws:SecureTransport\",\n values: [\"true\"],\n }],\n }],\n});\nconst policyFileSystemPolicy = new aws.efs.FileSystemPolicy(\"policy\", {\n fileSystemId: fs.id,\n policy: policy.apply(policy =\u003e policy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfs = aws.efs.FileSystem(\"fs\", creation_token=\"my-product\")\npolicy = aws.iam.get_policy_document_output(statements=[{\n \"sid\": \"ExampleStatement01\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\",\n ],\n \"resources\": [fs.arn],\n \"conditions\": [{\n \"test\": \"Bool\",\n \"variable\": \"aws:SecureTransport\",\n \"values\": [\"true\"],\n }],\n}])\npolicy_file_system_policy = aws.efs.FileSystemPolicy(\"policy\",\n file_system_id=fs.id,\n policy=policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fs = new Aws.Efs.FileSystem(\"fs\", new()\n {\n CreationToken = \"my-product\",\n });\n\n var policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"ExampleStatement01\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\",\n },\n Resources = new[]\n {\n fs.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"Bool\",\n Variable = \"aws:SecureTransport\",\n Values = new[]\n {\n \"true\",\n },\n },\n },\n },\n },\n });\n\n var policyFileSystemPolicy = new Aws.Efs.FileSystemPolicy(\"policy\", new()\n {\n FileSystemId = fs.Id,\n Policy = policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfs, err := efs.NewFileSystem(ctx, \"fs\", \u0026efs.FileSystemArgs{\n\t\t\tCreationToken: pulumi.String(\"my-product\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"ExampleStatement01\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"elasticfilesystem:ClientMount\"),\n\t\t\t\t\t\tpulumi.String(\"elasticfilesystem:ClientWrite\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tfs.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"Bool\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SecureTransport\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"true\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = efs.NewFileSystemPolicy(ctx, \"policy\", \u0026efs.FileSystemPolicyArgs{\n\t\t\tFileSystemId: fs.ID(),\n\t\t\tPolicy: pulumi.String(policy.ApplyT(func(policy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026policy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.FileSystemArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.efs.FileSystemPolicy;\nimport com.pulumi.aws.efs.FileSystemPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fs = new FileSystem(\"fs\", FileSystemArgs.builder()\n .creationToken(\"my-product\")\n .build());\n\n final var policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"ExampleStatement01\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .actions( \n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\")\n .resources(fs.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"Bool\")\n .variable(\"aws:SecureTransport\")\n .values(\"true\")\n .build())\n .build())\n .build());\n\n var policyFileSystemPolicy = new FileSystemPolicy(\"policyFileSystemPolicy\", FileSystemPolicyArgs.builder()\n .fileSystemId(fs.id())\n .policy(policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(policy -\u003e policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fs:\n type: aws:efs:FileSystem\n properties:\n creationToken: my-product\n policyFileSystemPolicy:\n type: aws:efs:FileSystemPolicy\n name: policy\n properties:\n fileSystemId: ${fs.id}\n policy: ${policy.json}\nvariables:\n policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: ExampleStatement01\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n actions:\n - elasticfilesystem:ClientMount\n - elasticfilesystem:ClientWrite\n resources:\n - ${fs.arn}\n conditions:\n - test: Bool\n variable: aws:SecureTransport\n values:\n - 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the EFS file system policies using the `id`. For example:\n\n```sh\n$ pulumi import aws:efs/fileSystemPolicy:FileSystemPolicy foo fs-6fa144c6\n```\n", "properties": { "bypassPolicyLockoutSafetyCheck": { "type": "boolean", @@ -256744,7 +256744,7 @@ } }, "aws:eks/addon:Addon": { - "description": "Manages an EKS add-on.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.Addon(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n addonName: \"vpc-cni\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.Addon(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n addon_name=\"vpc-cni\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.Addon(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n AddonName = \"vpc-cni\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\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 := eks.NewAddon(ctx, \"example\", \u0026eks.AddonArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tAddonName: pulumi.String(\"vpc-cni\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.Addon;\nimport com.pulumi.aws.eks.AddonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Addon(\"example\", AddonArgs.builder()\n .clusterName(exampleAwsEksCluster.name())\n .addonName(\"vpc-cni\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Addon\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n addonName: vpc-cni\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example Update add-on usage with resolve_conflicts_on_update and PRESERVE\n\n`resolve_conflicts_on_update` with `PRESERVE` can be used to retain the config changes applied to the add-on with kubectl while upgrading to a newer version of the add-on.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.Addon(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n addonName: \"coredns\",\n addonVersion: \"v1.10.1-eksbuild.1\",\n resolveConflictsOnUpdate: \"PRESERVE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.Addon(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n addon_name=\"coredns\",\n addon_version=\"v1.10.1-eksbuild.1\",\n resolve_conflicts_on_update=\"PRESERVE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.Addon(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n AddonName = \"coredns\",\n AddonVersion = \"v1.10.1-eksbuild.1\",\n ResolveConflictsOnUpdate = \"PRESERVE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\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 := eks.NewAddon(ctx, \"example\", \u0026eks.AddonArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tAddonName: pulumi.String(\"coredns\"),\n\t\t\tAddonVersion: pulumi.String(\"v1.10.1-eksbuild.1\"),\n\t\t\tResolveConflictsOnUpdate: pulumi.String(\"PRESERVE\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.Addon;\nimport com.pulumi.aws.eks.AddonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Addon(\"example\", AddonArgs.builder()\n .clusterName(exampleAwsEksCluster.name())\n .addonName(\"coredns\")\n .addonVersion(\"v1.10.1-eksbuild.1\")\n .resolveConflictsOnUpdate(\"PRESERVE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Addon\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n addonName: coredns\n addonVersion: v1.10.1-eksbuild.1\n resolveConflictsOnUpdate: PRESERVE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example add-on usage with custom configuration_values\n\nCustom add-on configuration can be passed using `configuration_values` as a single JSON string while creating or updating the add-on.\n\n\u003e **Note:** `configuration_values` is a single JSON string should match the valid JSON schema for each add-on with specific version.\n\nTo find the correct JSON schema for each add-on can be extracted using [describe-addon-configuration](https://docs.aws.amazon.com/cli/latest/reference/eks/describe-addon-configuration.html) call.\nThis below is an example for extracting the `configuration_values` schema for `coredns`.\n\n```bash\n aws eks describe-addon-configuration \\\n --addon-name coredns \\\n --addon-version v1.10.1-eksbuild.1\n```\n\nExample to create a `coredns` managed addon with custom `configuration_values`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.Addon(\"example\", {\n clusterName: \"mycluster\",\n addonName: \"coredns\",\n addonVersion: \"v1.10.1-eksbuild.1\",\n resolveConflictsOnCreate: \"OVERWRITE\",\n configurationValues: JSON.stringify({\n replicaCount: 4,\n resources: {\n limits: {\n cpu: \"100m\",\n memory: \"150Mi\",\n },\n requests: {\n cpu: \"100m\",\n memory: \"150Mi\",\n },\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.eks.Addon(\"example\",\n cluster_name=\"mycluster\",\n addon_name=\"coredns\",\n addon_version=\"v1.10.1-eksbuild.1\",\n resolve_conflicts_on_create=\"OVERWRITE\",\n configuration_values=json.dumps({\n \"replicaCount\": 4,\n \"resources\": {\n \"limits\": {\n \"cpu\": \"100m\",\n \"memory\": \"150Mi\",\n },\n \"requests\": {\n \"cpu\": \"100m\",\n \"memory\": \"150Mi\",\n },\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.Addon(\"example\", new()\n {\n ClusterName = \"mycluster\",\n AddonName = \"coredns\",\n AddonVersion = \"v1.10.1-eksbuild.1\",\n ResolveConflictsOnCreate = \"OVERWRITE\",\n ConfigurationValues = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"replicaCount\"] = 4,\n [\"resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"limits\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"cpu\"] = \"100m\",\n [\"memory\"] = \"150Mi\",\n },\n [\"requests\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"cpu\"] = \"100m\",\n [\"memory\"] = \"150Mi\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"replicaCount\": 4,\n\t\t\t\"resources\": map[string]interface{}{\n\t\t\t\t\"limits\": map[string]interface{}{\n\t\t\t\t\t\"cpu\": \"100m\",\n\t\t\t\t\t\"memory\": \"150Mi\",\n\t\t\t\t},\n\t\t\t\t\"requests\": map[string]interface{}{\n\t\t\t\t\t\"cpu\": \"100m\",\n\t\t\t\t\t\"memory\": \"150Mi\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = eks.NewAddon(ctx, \"example\", \u0026eks.AddonArgs{\n\t\t\tClusterName: pulumi.String(\"mycluster\"),\n\t\t\tAddonName: pulumi.String(\"coredns\"),\n\t\t\tAddonVersion: pulumi.String(\"v1.10.1-eksbuild.1\"),\n\t\t\tResolveConflictsOnCreate: pulumi.String(\"OVERWRITE\"),\n\t\t\tConfigurationValues: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.Addon;\nimport com.pulumi.aws.eks.AddonArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Addon(\"example\", AddonArgs.builder()\n .clusterName(\"mycluster\")\n .addonName(\"coredns\")\n .addonVersion(\"v1.10.1-eksbuild.1\")\n .resolveConflictsOnCreate(\"OVERWRITE\")\n .configurationValues(serializeJson(\n jsonObject(\n jsonProperty(\"replicaCount\", 4),\n jsonProperty(\"resources\", jsonObject(\n jsonProperty(\"limits\", jsonObject(\n jsonProperty(\"cpu\", \"100m\"),\n jsonProperty(\"memory\", \"150Mi\")\n )),\n jsonProperty(\"requests\", jsonObject(\n jsonProperty(\"cpu\", \"100m\"),\n jsonProperty(\"memory\", \"150Mi\")\n ))\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Addon\n properties:\n clusterName: mycluster\n addonName: coredns\n addonVersion: v1.10.1-eksbuild.1\n resolveConflictsOnCreate: OVERWRITE\n configurationValues:\n fn::toJSON:\n replicaCount: 4\n resources:\n limits:\n cpu: 100m\n memory: 150Mi\n requests:\n cpu: 100m\n memory: 150Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Role for EKS Addon \"vpc-cni\" with AWS managed policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\nimport * as tls from \"@pulumi/tls\";\n\nconst exampleCluster = new aws.eks.Cluster(\"example\", {});\nconst example = exampleCluster.identities.apply(identities =\u003e tls.getCertificateOutput({\n url: identities[0].oidcs?.[0]?.issuer,\n}));\nconst exampleOpenIdConnectProvider = new aws.iam.OpenIdConnectProvider(\"example\", {\n clientIdLists: [\"sts.amazonaws.com\"],\n thumbprintLists: [example.apply(example =\u003e example.certificates?.[0]?.sha1Fingerprint)],\n url: exampleCluster.identities.apply(identities =\u003e identities[0].oidcs?.[0]?.issuer),\n});\nconst exampleAssumeRolePolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sts:AssumeRoleWithWebIdentity\"],\n effect: \"Allow\",\n conditions: [{\n test: \"StringEquals\",\n variable: std.replaceOutput({\n text: exampleOpenIdConnectProvider.url,\n search: \"https://\",\n replace: \"\",\n }).apply(invoke =\u003e `${invoke.result}:sub`),\n values: [\"system:serviceaccount:kube-system:aws-node\"],\n }],\n principals: [{\n identifiers: [exampleOpenIdConnectProvider.arn],\n type: \"Federated\",\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n assumeRolePolicy: exampleAssumeRolePolicy.apply(exampleAssumeRolePolicy =\u003e exampleAssumeRolePolicy.json),\n name: \"example-vpc-cni-role\",\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\",\n role: exampleRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\nimport pulumi_tls as tls\n\nexample_cluster = aws.eks.Cluster(\"example\")\nexample = example_cluster.identities.apply(lambda identities: tls.get_certificate_output(url=identities[0].oidcs[0].issuer))\nexample_open_id_connect_provider = aws.iam.OpenIdConnectProvider(\"example\",\n client_id_lists=[\"sts.amazonaws.com\"],\n thumbprint_lists=[example.certificates[0].sha1_fingerprint],\n url=example_cluster.identities[0].oidcs[0].issuer)\nexample_assume_role_policy = aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\"sts:AssumeRoleWithWebIdentity\"],\n \"effect\": \"Allow\",\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": std.replace_output(text=example_open_id_connect_provider.url,\n search=\"https://\",\n replace=\"\").apply(lambda invoke: f\"{invoke.result}:sub\"),\n \"values\": [\"system:serviceaccount:kube-system:aws-node\"],\n }],\n \"principals\": [{\n \"identifiers\": [example_open_id_connect_provider.arn],\n \"type\": \"Federated\",\n }],\n}])\nexample_role = aws.iam.Role(\"example\",\n assume_role_policy=example_assume_role_policy.json,\n name=\"example-vpc-cni-role\")\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\",\n role=example_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCluster = new Aws.Eks.Cluster(\"example\");\n\n var example = Tls.GetCertificate.Invoke(new()\n {\n Url = exampleCluster.Identities[0].Oidcs[0]?.Issuer,\n });\n\n var exampleOpenIdConnectProvider = new Aws.Iam.OpenIdConnectProvider(\"example\", new()\n {\n ClientIdLists = new[]\n {\n \"sts.amazonaws.com\",\n },\n ThumbprintLists = new[]\n {\n example.Apply(getCertificateResult =\u003e getCertificateResult.Certificates[0]?.Sha1Fingerprint),\n },\n Url = exampleCluster.Identities.Apply(identities =\u003e identities[0].Oidcs[0]?.Issuer),\n });\n\n var exampleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRoleWithWebIdentity\",\n },\n Effect = \"Allow\",\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = $\"{Std.Replace.Invoke(new()\n {\n Text = exampleOpenIdConnectProvider.Url,\n Search = \"https://\",\n Replace = \"\",\n }).Result}:sub\",\n Values = new[]\n {\n \"system:serviceaccount:kube-system:aws-node\",\n },\n },\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n exampleOpenIdConnectProvider.Arn,\n },\n Type = \"Federated\",\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = exampleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"example-vpc-cni-role\",\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\",\n Role = exampleRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCluster, err := eks.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := exampleCluster.Identities.ApplyT(func(identities []eks.ClusterIdentity) (tls.GetCertificateResult, error) {\n\t\t\treturn tls.GetCertificateResult(interface{}(tls.GetCertificateOutput(ctx, tls.GetCertificateOutputArgs{\n\t\t\t\tUrl: identities[0].Oidcs[0].Issuer,\n\t\t\t}, nil))), nil\n\t\t}).(tls.GetCertificateResultOutput)\n\t\texampleOpenIdConnectProvider, err := iam.NewOpenIdConnectProvider(ctx, \"example\", \u0026iam.OpenIdConnectProviderArgs{\n\t\t\tClientIdLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sts.amazonaws.com\"),\n\t\t\t},\n\t\t\tThumbprintLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(example.ApplyT(func(example tls.GetCertificateResult) (*string, error) {\n\t\t\t\t\treturn \u0026example.Certificates[0].Sha1Fingerprint, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t},\n\t\t\tUrl: pulumi.String(exampleCluster.Identities.ApplyT(func(identities []eks.ClusterIdentity) (*string, error) {\n\t\t\t\treturn \u0026identities[0].Oidcs[0].Issuer, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssumeRolePolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sts:AssumeRoleWithWebIdentity\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: std.ReplaceOutput(ctx, std.ReplaceOutputArgs{\n\t\t\t\t\t\t\t\tText: exampleOpenIdConnectProvider.Url,\n\t\t\t\t\t\t\t\tSearch: pulumi.String(\"https://\"),\n\t\t\t\t\t\t\t\tReplace: pulumi.String(\"\"),\n\t\t\t\t\t\t\t}, nil).ApplyT(func(invoke std.ReplaceResult) (string, error) {\n\t\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:sub\", invoke.Result), nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"system:serviceaccount:kube-system:aws-node\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\texampleOpenIdConnectProvider.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"Federated\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(exampleAssumeRolePolicy.ApplyT(func(exampleAssumeRolePolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026exampleAssumeRolePolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tName: pulumi.String(\"example-vpc-cni-role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\"),\n\t\t\tRole: exampleRole.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.tls.TlsFunctions;\nimport com.pulumi.tls.inputs.GetCertificateArgs;\nimport com.pulumi.aws.iam.OpenIdConnectProvider;\nimport com.pulumi.aws.iam.OpenIdConnectProviderArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleCluster = new Cluster(\"exampleCluster\");\n\n final var example = TlsFunctions.getCertificate(GetCertificateArgs.builder()\n .url(exampleCluster.identities().applyValue(identities -\u003e identities[0].oidcs()[0].issuer()))\n .build());\n\n var exampleOpenIdConnectProvider = new OpenIdConnectProvider(\"exampleOpenIdConnectProvider\", OpenIdConnectProviderArgs.builder()\n .clientIdLists(\"sts.amazonaws.com\")\n .thumbprintLists(example.applyValue(getCertificateResult -\u003e getCertificateResult).applyValue(example -\u003e example.applyValue(getCertificateResult -\u003e getCertificateResult.certificates()[0].sha1Fingerprint())))\n .url(exampleCluster.identities().applyValue(identities -\u003e identities[0].oidcs()[0].issuer()))\n .build());\n\n final var exampleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRoleWithWebIdentity\")\n .effect(\"Allow\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(StdFunctions.replace().applyValue(invoke -\u003e String.format(\"%s:sub\", invoke.result())))\n .values(\"system:serviceaccount:kube-system:aws-node\")\n .build())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(exampleOpenIdConnectProvider.arn())\n .type(\"Federated\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .assumeRolePolicy(exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(exampleAssumeRolePolicy -\u003e exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .name(\"example-vpc-cni-role\")\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\")\n .role(exampleRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:eks:Cluster\n name: example\n exampleOpenIdConnectProvider:\n type: aws:iam:OpenIdConnectProvider\n name: example\n properties:\n clientIdLists:\n - sts.amazonaws.com\n thumbprintLists:\n - ${example.certificates[0].sha1Fingerprint}\n url: ${exampleCluster.identities[0].oidcs[0].issuer}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n assumeRolePolicy: ${exampleAssumeRolePolicy.json}\n name: example-vpc-cni-role\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\n role: ${exampleRole.name}\nvariables:\n example:\n fn::invoke:\n function: tls:getCertificate\n arguments:\n url: ${exampleCluster.identities[0].oidcs[0].issuer}\n exampleAssumeRolePolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRoleWithWebIdentity\n effect: Allow\n conditions:\n - test: StringEquals\n variable:\n fn::join:\n - \"\"\n - - fn::invoke:\n function: std:replace\n arguments:\n text: ${exampleOpenIdConnectProvider.url}\n search: https://\n replace: \"\"\n return: result\n - :sub\n values:\n - system:serviceaccount:kube-system:aws-node\n principals:\n - identifiers:\n - ${exampleOpenIdConnectProvider.arn}\n type: Federated\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS add-on using the `cluster_name` and `addon_name` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:eks/addon:Addon my_eks_addon my_cluster_name:my_addon_name\n```\n", + "description": "Manages an EKS add-on.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.Addon(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n addonName: \"vpc-cni\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.Addon(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n addon_name=\"vpc-cni\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.Addon(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n AddonName = \"vpc-cni\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\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 := eks.NewAddon(ctx, \"example\", \u0026eks.AddonArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tAddonName: pulumi.String(\"vpc-cni\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.Addon;\nimport com.pulumi.aws.eks.AddonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Addon(\"example\", AddonArgs.builder()\n .clusterName(exampleAwsEksCluster.name())\n .addonName(\"vpc-cni\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Addon\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n addonName: vpc-cni\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example Update add-on usage with resolve_conflicts_on_update and PRESERVE\n\n`resolve_conflicts_on_update` with `PRESERVE` can be used to retain the config changes applied to the add-on with kubectl while upgrading to a newer version of the add-on.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.Addon(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n addonName: \"coredns\",\n addonVersion: \"v1.10.1-eksbuild.1\",\n resolveConflictsOnUpdate: \"PRESERVE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.Addon(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n addon_name=\"coredns\",\n addon_version=\"v1.10.1-eksbuild.1\",\n resolve_conflicts_on_update=\"PRESERVE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.Addon(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n AddonName = \"coredns\",\n AddonVersion = \"v1.10.1-eksbuild.1\",\n ResolveConflictsOnUpdate = \"PRESERVE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\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 := eks.NewAddon(ctx, \"example\", \u0026eks.AddonArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tAddonName: pulumi.String(\"coredns\"),\n\t\t\tAddonVersion: pulumi.String(\"v1.10.1-eksbuild.1\"),\n\t\t\tResolveConflictsOnUpdate: pulumi.String(\"PRESERVE\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.Addon;\nimport com.pulumi.aws.eks.AddonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Addon(\"example\", AddonArgs.builder()\n .clusterName(exampleAwsEksCluster.name())\n .addonName(\"coredns\")\n .addonVersion(\"v1.10.1-eksbuild.1\")\n .resolveConflictsOnUpdate(\"PRESERVE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Addon\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n addonName: coredns\n addonVersion: v1.10.1-eksbuild.1\n resolveConflictsOnUpdate: PRESERVE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example add-on usage with custom configuration_values\n\nCustom add-on configuration can be passed using `configuration_values` as a single JSON string while creating or updating the add-on.\n\n\u003e **Note:** `configuration_values` is a single JSON string should match the valid JSON schema for each add-on with specific version.\n\nTo find the correct JSON schema for each add-on can be extracted using [describe-addon-configuration](https://docs.aws.amazon.com/cli/latest/reference/eks/describe-addon-configuration.html) call.\nThis below is an example for extracting the `configuration_values` schema for `coredns`.\n\n```bash\n aws eks describe-addon-configuration \\\n --addon-name coredns \\\n --addon-version v1.10.1-eksbuild.1\n```\n\nExample to create a `coredns` managed addon with custom `configuration_values`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.Addon(\"example\", {\n clusterName: \"mycluster\",\n addonName: \"coredns\",\n addonVersion: \"v1.10.1-eksbuild.1\",\n resolveConflictsOnCreate: \"OVERWRITE\",\n configurationValues: JSON.stringify({\n replicaCount: 4,\n resources: {\n limits: {\n cpu: \"100m\",\n memory: \"150Mi\",\n },\n requests: {\n cpu: \"100m\",\n memory: \"150Mi\",\n },\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.eks.Addon(\"example\",\n cluster_name=\"mycluster\",\n addon_name=\"coredns\",\n addon_version=\"v1.10.1-eksbuild.1\",\n resolve_conflicts_on_create=\"OVERWRITE\",\n configuration_values=json.dumps({\n \"replicaCount\": 4,\n \"resources\": {\n \"limits\": {\n \"cpu\": \"100m\",\n \"memory\": \"150Mi\",\n },\n \"requests\": {\n \"cpu\": \"100m\",\n \"memory\": \"150Mi\",\n },\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.Addon(\"example\", new()\n {\n ClusterName = \"mycluster\",\n AddonName = \"coredns\",\n AddonVersion = \"v1.10.1-eksbuild.1\",\n ResolveConflictsOnCreate = \"OVERWRITE\",\n ConfigurationValues = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"replicaCount\"] = 4,\n [\"resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"limits\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"cpu\"] = \"100m\",\n [\"memory\"] = \"150Mi\",\n },\n [\"requests\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"cpu\"] = \"100m\",\n [\"memory\"] = \"150Mi\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"replicaCount\": 4,\n\t\t\t\"resources\": map[string]interface{}{\n\t\t\t\t\"limits\": map[string]interface{}{\n\t\t\t\t\t\"cpu\": \"100m\",\n\t\t\t\t\t\"memory\": \"150Mi\",\n\t\t\t\t},\n\t\t\t\t\"requests\": map[string]interface{}{\n\t\t\t\t\t\"cpu\": \"100m\",\n\t\t\t\t\t\"memory\": \"150Mi\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = eks.NewAddon(ctx, \"example\", \u0026eks.AddonArgs{\n\t\t\tClusterName: pulumi.String(\"mycluster\"),\n\t\t\tAddonName: pulumi.String(\"coredns\"),\n\t\t\tAddonVersion: pulumi.String(\"v1.10.1-eksbuild.1\"),\n\t\t\tResolveConflictsOnCreate: pulumi.String(\"OVERWRITE\"),\n\t\t\tConfigurationValues: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.Addon;\nimport com.pulumi.aws.eks.AddonArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Addon(\"example\", AddonArgs.builder()\n .clusterName(\"mycluster\")\n .addonName(\"coredns\")\n .addonVersion(\"v1.10.1-eksbuild.1\")\n .resolveConflictsOnCreate(\"OVERWRITE\")\n .configurationValues(serializeJson(\n jsonObject(\n jsonProperty(\"replicaCount\", 4),\n jsonProperty(\"resources\", jsonObject(\n jsonProperty(\"limits\", jsonObject(\n jsonProperty(\"cpu\", \"100m\"),\n jsonProperty(\"memory\", \"150Mi\")\n )),\n jsonProperty(\"requests\", jsonObject(\n jsonProperty(\"cpu\", \"100m\"),\n jsonProperty(\"memory\", \"150Mi\")\n ))\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Addon\n properties:\n clusterName: mycluster\n addonName: coredns\n addonVersion: v1.10.1-eksbuild.1\n resolveConflictsOnCreate: OVERWRITE\n configurationValues:\n fn::toJSON:\n replicaCount: 4\n resources:\n limits:\n cpu: 100m\n memory: 150Mi\n requests:\n cpu: 100m\n memory: 150Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Role for EKS Addon \"vpc-cni\" with AWS managed policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\nimport * as tls from \"@pulumi/tls\";\n\nconst exampleCluster = new aws.eks.Cluster(\"example\", {});\nconst example = exampleCluster.identities.apply(identities =\u003e tls.getCertificateOutput({\n url: identities[0].oidcs?.[0]?.issuer,\n}));\nconst exampleOpenIdConnectProvider = new aws.iam.OpenIdConnectProvider(\"example\", {\n clientIdLists: [\"sts.amazonaws.com\"],\n thumbprintLists: [example.apply(example =\u003e example.certificates?.[0]?.sha1Fingerprint)],\n url: exampleCluster.identities.apply(identities =\u003e identities[0].oidcs?.[0]?.issuer),\n});\nconst exampleAssumeRolePolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sts:AssumeRoleWithWebIdentity\"],\n effect: \"Allow\",\n conditions: [{\n test: \"StringEquals\",\n variable: std.replaceOutput({\n text: exampleOpenIdConnectProvider.url,\n search: \"https://\",\n replace: \"\",\n }).apply(invoke =\u003e `${invoke.result}:sub`),\n values: [\"system:serviceaccount:kube-system:aws-node\"],\n }],\n principals: [{\n identifiers: [exampleOpenIdConnectProvider.arn],\n type: \"Federated\",\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n assumeRolePolicy: exampleAssumeRolePolicy.apply(exampleAssumeRolePolicy =\u003e exampleAssumeRolePolicy.json),\n name: \"example-vpc-cni-role\",\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\",\n role: exampleRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\nimport pulumi_tls as tls\n\nexample_cluster = aws.eks.Cluster(\"example\")\nexample = example_cluster.identities.apply(lambda identities: tls.get_certificate_output(url=identities[0].oidcs[0].issuer))\nexample_open_id_connect_provider = aws.iam.OpenIdConnectProvider(\"example\",\n client_id_lists=[\"sts.amazonaws.com\"],\n thumbprint_lists=[example.certificates[0].sha1_fingerprint],\n url=example_cluster.identities[0].oidcs[0].issuer)\nexample_assume_role_policy = aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\"sts:AssumeRoleWithWebIdentity\"],\n \"effect\": \"Allow\",\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": std.replace_output(text=example_open_id_connect_provider.url,\n search=\"https://\",\n replace=\"\").apply(lambda invoke: f\"{invoke.result}:sub\"),\n \"values\": [\"system:serviceaccount:kube-system:aws-node\"],\n }],\n \"principals\": [{\n \"identifiers\": [example_open_id_connect_provider.arn],\n \"type\": \"Federated\",\n }],\n}])\nexample_role = aws.iam.Role(\"example\",\n assume_role_policy=example_assume_role_policy.json,\n name=\"example-vpc-cni-role\")\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\",\n role=example_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCluster = new Aws.Eks.Cluster(\"example\");\n\n var example = Tls.GetCertificate.Invoke(new()\n {\n Url = exampleCluster.Identities[0].Oidcs[0]?.Issuer,\n });\n\n var exampleOpenIdConnectProvider = new Aws.Iam.OpenIdConnectProvider(\"example\", new()\n {\n ClientIdLists = new[]\n {\n \"sts.amazonaws.com\",\n },\n ThumbprintLists = new[]\n {\n example.Apply(getCertificateResult =\u003e getCertificateResult.Certificates[0]?.Sha1Fingerprint),\n },\n Url = exampleCluster.Identities.Apply(identities =\u003e identities[0].Oidcs[0]?.Issuer),\n });\n\n var exampleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRoleWithWebIdentity\",\n },\n Effect = \"Allow\",\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = $\"{Std.Replace.Invoke(new()\n {\n Text = exampleOpenIdConnectProvider.Url,\n Search = \"https://\",\n Replace = \"\",\n }).Result}:sub\",\n Values = new[]\n {\n \"system:serviceaccount:kube-system:aws-node\",\n },\n },\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n exampleOpenIdConnectProvider.Arn,\n },\n Type = \"Federated\",\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = exampleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"example-vpc-cni-role\",\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\",\n Role = exampleRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCluster, err := eks.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := exampleCluster.Identities.ApplyT(func(identities []eks.ClusterIdentity) (tls.GetCertificateResult, error) {\n\t\t\treturn tls.GetCertificateResult(interface{}(tls.GetCertificateOutput(ctx, tls.GetCertificateOutputArgs{\n\t\t\t\tUrl: identities[0].Oidcs[0].Issuer,\n\t\t\t}, nil))), nil\n\t\t}).(tls.GetCertificateResultOutput)\n\t\texampleOpenIdConnectProvider, err := iam.NewOpenIdConnectProvider(ctx, \"example\", \u0026iam.OpenIdConnectProviderArgs{\n\t\t\tClientIdLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sts.amazonaws.com\"),\n\t\t\t},\n\t\t\tThumbprintLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(example.ApplyT(func(example tls.GetCertificateResult) (*string, error) {\n\t\t\t\t\treturn \u0026example.Certificates[0].Sha1Fingerprint, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t},\n\t\t\tUrl: pulumi.String(exampleCluster.Identities.ApplyT(func(identities []eks.ClusterIdentity) (*string, error) {\n\t\t\t\treturn \u0026identities[0].Oidcs[0].Issuer, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssumeRolePolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sts:AssumeRoleWithWebIdentity\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: std.ReplaceOutput(ctx, std.ReplaceOutputArgs{\n\t\t\t\t\t\t\t\tText: exampleOpenIdConnectProvider.Url,\n\t\t\t\t\t\t\t\tSearch: pulumi.String(\"https://\"),\n\t\t\t\t\t\t\t\tReplace: pulumi.String(\"\"),\n\t\t\t\t\t\t\t}, nil).ApplyT(func(invoke std.ReplaceResult) (string, error) {\n\t\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:sub\", invoke.Result), nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"system:serviceaccount:kube-system:aws-node\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\texampleOpenIdConnectProvider.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"Federated\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(exampleAssumeRolePolicy.ApplyT(func(exampleAssumeRolePolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026exampleAssumeRolePolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tName: pulumi.String(\"example-vpc-cni-role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\"),\n\t\t\tRole: exampleRole.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.tls.TlsFunctions;\nimport com.pulumi.tls.inputs.GetCertificateArgs;\nimport com.pulumi.aws.iam.OpenIdConnectProvider;\nimport com.pulumi.aws.iam.OpenIdConnectProviderArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleCluster = new Cluster(\"exampleCluster\");\n\n final var example = TlsFunctions.getCertificate(GetCertificateArgs.builder()\n .url(exampleCluster.identities().applyValue(identities -\u003e identities[0].oidcs()[0].issuer()))\n .build());\n\n var exampleOpenIdConnectProvider = new OpenIdConnectProvider(\"exampleOpenIdConnectProvider\", OpenIdConnectProviderArgs.builder()\n .clientIdLists(\"sts.amazonaws.com\")\n .thumbprintLists(example.applyValue(getCertificateResult -\u003e getCertificateResult).applyValue(example -\u003e example.applyValue(getCertificateResult -\u003e getCertificateResult.certificates()[0].sha1Fingerprint())))\n .url(exampleCluster.identities().applyValue(identities -\u003e identities[0].oidcs()[0].issuer()))\n .build());\n\n final var exampleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRoleWithWebIdentity\")\n .effect(\"Allow\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(StdFunctions.replace().applyValue(invoke -\u003e String.format(\"%s:sub\", invoke.result())))\n .values(\"system:serviceaccount:kube-system:aws-node\")\n .build())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(exampleOpenIdConnectProvider.arn())\n .type(\"Federated\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .assumeRolePolicy(exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(exampleAssumeRolePolicy -\u003e exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .name(\"example-vpc-cni-role\")\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\")\n .role(exampleRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:eks:Cluster\n name: example\n exampleOpenIdConnectProvider:\n type: aws:iam:OpenIdConnectProvider\n name: example\n properties:\n clientIdLists:\n - sts.amazonaws.com\n thumbprintLists:\n - ${example.certificates[0].sha1Fingerprint}\n url: ${exampleCluster.identities[0].oidcs[0].issuer}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n assumeRolePolicy: ${exampleAssumeRolePolicy.json}\n name: example-vpc-cni-role\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\n role: ${exampleRole.name}\nvariables:\n example:\n fn::invoke:\n Function: tls:getCertificate\n Arguments:\n url: ${exampleCluster.identities[0].oidcs[0].issuer}\n exampleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRoleWithWebIdentity\n effect: Allow\n conditions:\n - test: StringEquals\n variable:\n fn::join:\n -\n - - fn::invoke:\n Function: std:replace\n Arguments:\n text: ${exampleOpenIdConnectProvider.url}\n search: https://\n replace:\n Return: result\n - :sub\n values:\n - system:serviceaccount:kube-system:aws-node\n principals:\n - identifiers:\n - ${exampleOpenIdConnectProvider.arn}\n type: Federated\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS add-on using the `cluster_name` and `addon_name` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:eks/addon:Addon my_eks_addon my_cluster_name:my_addon_name\n```\n", "properties": { "addonName": { "type": "string", @@ -256968,7 +256968,7 @@ } }, "aws:eks/cluster:Cluster": { - "description": "Manages an EKS Cluster.\n\n## Example Usage\n\n### EKS Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cluster = new aws.iam.Role(\"cluster\", {\n name: \"eks-cluster-example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"eks.amazonaws.com\",\n },\n }],\n }),\n});\nconst clusterAmazonEKSClusterPolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSClusterPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n role: cluster.name,\n});\nconst example = new aws.eks.Cluster(\"example\", {\n name: \"example\",\n accessConfig: {\n authenticationMode: \"API\",\n },\n roleArn: exampleAwsIamRole.arn,\n version: \"1.31\",\n vpcConfig: {\n subnetIds: [\n az1.id,\n az2.id,\n az3.id,\n ],\n },\n}, {\n dependsOn: [clusterAmazonEKSClusterPolicy],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncluster = aws.iam.Role(\"cluster\",\n name=\"eks-cluster-example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"eks.amazonaws.com\",\n },\n }],\n }))\ncluster_amazon_eks_cluster_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSClusterPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n role=cluster.name)\nexample = aws.eks.Cluster(\"example\",\n name=\"example\",\n access_config={\n \"authentication_mode\": \"API\",\n },\n role_arn=example_aws_iam_role[\"arn\"],\n version=\"1.31\",\n vpc_config={\n \"subnet_ids\": [\n az1[\"id\"],\n az2[\"id\"],\n az3[\"id\"],\n ],\n },\n opts = pulumi.ResourceOptions(depends_on=[cluster_amazon_eks_cluster_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = new Aws.Iam.Role(\"cluster\", new()\n {\n Name = \"eks-cluster-example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"eks.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var clusterAmazonEKSClusterPolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSClusterPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n Role = cluster.Name,\n });\n\n var example = new Aws.Eks.Cluster(\"example\", new()\n {\n Name = \"example\",\n AccessConfig = new Aws.Eks.Inputs.ClusterAccessConfigArgs\n {\n AuthenticationMode = \"API\",\n },\n RoleArn = exampleAwsIamRole.Arn,\n Version = \"1.31\",\n VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs\n {\n SubnetIds = new[]\n {\n az1.Id,\n az2.Id,\n az3.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n clusterAmazonEKSClusterPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"eks.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tcluster, err := iam.NewRole(ctx, \"cluster\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-cluster-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSClusterPolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSClusterPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAccessConfig: \u0026eks.ClusterAccessConfigArgs{\n\t\t\t\tAuthenticationMode: pulumi.String(\"API\"),\n\t\t\t},\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tVersion: pulumi.String(\"1.31\"),\n\t\t\tVpcConfig: \u0026eks.ClusterVpcConfigArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\taz1.Id,\n\t\t\t\t\taz2.Id,\n\t\t\t\t\taz3.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tclusterAmazonEKSClusterPolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var cluster = new Role(\"cluster\", RoleArgs.builder()\n .name(\"eks-cluster-example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"eks.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var clusterAmazonEKSClusterPolicy = new RolePolicyAttachment(\"clusterAmazonEKSClusterPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\")\n .role(cluster.name())\n .build());\n\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .name(\"example\")\n .accessConfig(ClusterAccessConfigArgs.builder()\n .authenticationMode(\"API\")\n .build())\n .roleArn(exampleAwsIamRole.arn())\n .version(\"1.31\")\n .vpcConfig(ClusterVpcConfigArgs.builder()\n .subnetIds( \n az1.id(),\n az2.id(),\n az3.id())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(clusterAmazonEKSClusterPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Cluster\n properties:\n name: example\n accessConfig:\n authenticationMode: API\n roleArn: ${exampleAwsIamRole.arn}\n version: '1.31'\n vpcConfig:\n subnetIds:\n - ${az1.id}\n - ${az2.id}\n - ${az3.id}\n options:\n dependsOn:\n - ${clusterAmazonEKSClusterPolicy}\n cluster:\n type: aws:iam:Role\n properties:\n name: eks-cluster-example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service: eks.amazonaws.com\n clusterAmazonEKSClusterPolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSClusterPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\n role: ${cluster.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### EKS Cluster with EKS Auto Mode\n\n\u003e **NOTE:** When using EKS Auto Mode `compute_config.enabled`, `kubernetes_network_config.elastic_load_balancing.enabled`, and `storage_config.block_storage.enabled` must *ALL be set to `true`. Likewise for disabling EKS Auto Mode, all three arguments must be set to `false`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst node = new aws.iam.Role(\"node\", {\n name: \"eks-auto-node-example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"sts:AssumeRole\"],\n Effect: \"Allow\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n});\nconst cluster = new aws.iam.Role(\"cluster\", {\n name: \"eks-cluster-example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"eks.amazonaws.com\",\n },\n }],\n }),\n});\nconst clusterAmazonEKSClusterPolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSClusterPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n role: cluster.name,\n});\nconst clusterAmazonEKSComputePolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSComputePolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSComputePolicy\",\n role: cluster.name,\n});\nconst clusterAmazonEKSBlockStoragePolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSBlockStoragePolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy\",\n role: cluster.name,\n});\nconst clusterAmazonEKSLoadBalancingPolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSLoadBalancingPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy\",\n role: cluster.name,\n});\nconst clusterAmazonEKSNetworkingPolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSNetworkingPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy\",\n role: cluster.name,\n});\nconst example = new aws.eks.Cluster(\"example\", {\n name: \"example\",\n accessConfig: {\n authenticationMode: \"API\",\n },\n roleArn: cluster.arn,\n version: \"1.31\",\n computeConfig: {\n enabled: true,\n nodePools: [\"general-purpose\"],\n nodeRoleArn: node.arn,\n },\n kubernetesNetworkConfig: {\n elasticLoadBalancing: {\n enabled: true,\n },\n },\n storageConfig: {\n blockStorage: {\n enabled: true,\n },\n },\n vpcConfig: {\n endpointPrivateAccess: true,\n endpointPublicAccess: true,\n subnetIds: [\n az1.id,\n az2.id,\n az3.id,\n ],\n },\n}, {\n dependsOn: [\n clusterAmazonEKSClusterPolicy,\n clusterAmazonEKSComputePolicy,\n clusterAmazonEKSBlockStoragePolicy,\n clusterAmazonEKSLoadBalancingPolicy,\n clusterAmazonEKSNetworkingPolicy,\n ],\n});\nconst nodeAmazonEKSWorkerNodeMinimalPolicy = new aws.iam.RolePolicyAttachment(\"node_AmazonEKSWorkerNodeMinimalPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy\",\n role: node.name,\n});\nconst nodeAmazonEC2ContainerRegistryPullOnly = new aws.iam.RolePolicyAttachment(\"node_AmazonEC2ContainerRegistryPullOnly\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly\",\n role: node.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nnode = aws.iam.Role(\"node\",\n name=\"eks-auto-node-example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"sts:AssumeRole\"],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }))\ncluster = aws.iam.Role(\"cluster\",\n name=\"eks-cluster-example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"eks.amazonaws.com\",\n },\n }],\n }))\ncluster_amazon_eks_cluster_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSClusterPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n role=cluster.name)\ncluster_amazon_eks_compute_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSComputePolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSComputePolicy\",\n role=cluster.name)\ncluster_amazon_eks_block_storage_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSBlockStoragePolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy\",\n role=cluster.name)\ncluster_amazon_eks_load_balancing_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSLoadBalancingPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy\",\n role=cluster.name)\ncluster_amazon_eks_networking_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSNetworkingPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy\",\n role=cluster.name)\nexample = aws.eks.Cluster(\"example\",\n name=\"example\",\n access_config={\n \"authentication_mode\": \"API\",\n },\n role_arn=cluster.arn,\n version=\"1.31\",\n compute_config={\n \"enabled\": True,\n \"node_pools\": [\"general-purpose\"],\n \"node_role_arn\": node.arn,\n },\n kubernetes_network_config={\n \"elastic_load_balancing\": {\n \"enabled\": True,\n },\n },\n storage_config={\n \"block_storage\": {\n \"enabled\": True,\n },\n },\n vpc_config={\n \"endpoint_private_access\": True,\n \"endpoint_public_access\": True,\n \"subnet_ids\": [\n az1[\"id\"],\n az2[\"id\"],\n az3[\"id\"],\n ],\n },\n opts = pulumi.ResourceOptions(depends_on=[\n cluster_amazon_eks_cluster_policy,\n cluster_amazon_eks_compute_policy,\n cluster_amazon_eks_block_storage_policy,\n cluster_amazon_eks_load_balancing_policy,\n cluster_amazon_eks_networking_policy,\n ]))\nnode_amazon_eks_worker_node_minimal_policy = aws.iam.RolePolicyAttachment(\"node_AmazonEKSWorkerNodeMinimalPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy\",\n role=node.name)\nnode_amazon_ec2_container_registry_pull_only = aws.iam.RolePolicyAttachment(\"node_AmazonEC2ContainerRegistryPullOnly\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly\",\n role=node.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var node = new Aws.Iam.Role(\"node\", new()\n {\n Name = \"eks-auto-node-example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var cluster = new Aws.Iam.Role(\"cluster\", new()\n {\n Name = \"eks-cluster-example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"eks.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var clusterAmazonEKSClusterPolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSClusterPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n Role = cluster.Name,\n });\n\n var clusterAmazonEKSComputePolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSComputePolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSComputePolicy\",\n Role = cluster.Name,\n });\n\n var clusterAmazonEKSBlockStoragePolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSBlockStoragePolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy\",\n Role = cluster.Name,\n });\n\n var clusterAmazonEKSLoadBalancingPolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSLoadBalancingPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy\",\n Role = cluster.Name,\n });\n\n var clusterAmazonEKSNetworkingPolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSNetworkingPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy\",\n Role = cluster.Name,\n });\n\n var example = new Aws.Eks.Cluster(\"example\", new()\n {\n Name = \"example\",\n AccessConfig = new Aws.Eks.Inputs.ClusterAccessConfigArgs\n {\n AuthenticationMode = \"API\",\n },\n RoleArn = cluster.Arn,\n Version = \"1.31\",\n ComputeConfig = new Aws.Eks.Inputs.ClusterComputeConfigArgs\n {\n Enabled = true,\n NodePools = new[]\n {\n \"general-purpose\",\n },\n NodeRoleArn = node.Arn,\n },\n KubernetesNetworkConfig = new Aws.Eks.Inputs.ClusterKubernetesNetworkConfigArgs\n {\n ElasticLoadBalancing = new Aws.Eks.Inputs.ClusterKubernetesNetworkConfigElasticLoadBalancingArgs\n {\n Enabled = true,\n },\n },\n StorageConfig = new Aws.Eks.Inputs.ClusterStorageConfigArgs\n {\n BlockStorage = new Aws.Eks.Inputs.ClusterStorageConfigBlockStorageArgs\n {\n Enabled = true,\n },\n },\n VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs\n {\n EndpointPrivateAccess = true,\n EndpointPublicAccess = true,\n SubnetIds = new[]\n {\n az1.Id,\n az2.Id,\n az3.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n clusterAmazonEKSClusterPolicy,\n clusterAmazonEKSComputePolicy,\n clusterAmazonEKSBlockStoragePolicy,\n clusterAmazonEKSLoadBalancingPolicy,\n clusterAmazonEKSNetworkingPolicy,\n },\n });\n\n var nodeAmazonEKSWorkerNodeMinimalPolicy = new Aws.Iam.RolePolicyAttachment(\"node_AmazonEKSWorkerNodeMinimalPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy\",\n Role = node.Name,\n });\n\n var nodeAmazonEC2ContainerRegistryPullOnly = new Aws.Iam.RolePolicyAttachment(\"node_AmazonEC2ContainerRegistryPullOnly\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly\",\n Role = node.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tnode, err := iam.NewRole(ctx, \"node\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-auto-node-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"eks.amazonaws.com\",\n\t\t\t\t\t},\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\tjson1 := string(tmpJSON1)\n\t\tcluster, err := iam.NewRole(ctx, \"cluster\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-cluster-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSClusterPolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSClusterPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSComputePolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSComputePolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSComputePolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSBlockStoragePolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSBlockStoragePolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSLoadBalancingPolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSLoadBalancingPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSNetworkingPolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSNetworkingPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAccessConfig: \u0026eks.ClusterAccessConfigArgs{\n\t\t\t\tAuthenticationMode: pulumi.String(\"API\"),\n\t\t\t},\n\t\t\tRoleArn: cluster.Arn,\n\t\t\tVersion: pulumi.String(\"1.31\"),\n\t\t\tComputeConfig: \u0026eks.ClusterComputeConfigArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tNodePools: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"general-purpose\"),\n\t\t\t\t},\n\t\t\t\tNodeRoleArn: node.Arn,\n\t\t\t},\n\t\t\tKubernetesNetworkConfig: \u0026eks.ClusterKubernetesNetworkConfigArgs{\n\t\t\t\tElasticLoadBalancing: \u0026eks.ClusterKubernetesNetworkConfigElasticLoadBalancingArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStorageConfig: \u0026eks.ClusterStorageConfigArgs{\n\t\t\t\tBlockStorage: \u0026eks.ClusterStorageConfigBlockStorageArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVpcConfig: \u0026eks.ClusterVpcConfigArgs{\n\t\t\t\tEndpointPrivateAccess: pulumi.Bool(true),\n\t\t\t\tEndpointPublicAccess: pulumi.Bool(true),\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\taz1.Id,\n\t\t\t\t\taz2.Id,\n\t\t\t\t\taz3.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tclusterAmazonEKSClusterPolicy,\n\t\t\tclusterAmazonEKSComputePolicy,\n\t\t\tclusterAmazonEKSBlockStoragePolicy,\n\t\t\tclusterAmazonEKSLoadBalancingPolicy,\n\t\t\tclusterAmazonEKSNetworkingPolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"node_AmazonEKSWorkerNodeMinimalPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy\"),\n\t\t\tRole: node.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"node_AmazonEC2ContainerRegistryPullOnly\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly\"),\n\t\t\tRole: node.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterComputeConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterKubernetesNetworkConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterKubernetesNetworkConfigElasticLoadBalancingArgs;\nimport com.pulumi.aws.eks.inputs.ClusterStorageConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterStorageConfigBlockStorageArgs;\nimport com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var node = new Role(\"node\", RoleArgs.builder()\n .name(\"eks-auto-node-example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"sts:AssumeRole\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var cluster = new Role(\"cluster\", RoleArgs.builder()\n .name(\"eks-cluster-example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"eks.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var clusterAmazonEKSClusterPolicy = new RolePolicyAttachment(\"clusterAmazonEKSClusterPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\")\n .role(cluster.name())\n .build());\n\n var clusterAmazonEKSComputePolicy = new RolePolicyAttachment(\"clusterAmazonEKSComputePolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSComputePolicy\")\n .role(cluster.name())\n .build());\n\n var clusterAmazonEKSBlockStoragePolicy = new RolePolicyAttachment(\"clusterAmazonEKSBlockStoragePolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy\")\n .role(cluster.name())\n .build());\n\n var clusterAmazonEKSLoadBalancingPolicy = new RolePolicyAttachment(\"clusterAmazonEKSLoadBalancingPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy\")\n .role(cluster.name())\n .build());\n\n var clusterAmazonEKSNetworkingPolicy = new RolePolicyAttachment(\"clusterAmazonEKSNetworkingPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy\")\n .role(cluster.name())\n .build());\n\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .name(\"example\")\n .accessConfig(ClusterAccessConfigArgs.builder()\n .authenticationMode(\"API\")\n .build())\n .roleArn(cluster.arn())\n .version(\"1.31\")\n .computeConfig(ClusterComputeConfigArgs.builder()\n .enabled(true)\n .nodePools(\"general-purpose\")\n .nodeRoleArn(node.arn())\n .build())\n .kubernetesNetworkConfig(ClusterKubernetesNetworkConfigArgs.builder()\n .elasticLoadBalancing(ClusterKubernetesNetworkConfigElasticLoadBalancingArgs.builder()\n .enabled(true)\n .build())\n .build())\n .storageConfig(ClusterStorageConfigArgs.builder()\n .blockStorage(ClusterStorageConfigBlockStorageArgs.builder()\n .enabled(true)\n .build())\n .build())\n .vpcConfig(ClusterVpcConfigArgs.builder()\n .endpointPrivateAccess(true)\n .endpointPublicAccess(true)\n .subnetIds( \n az1.id(),\n az2.id(),\n az3.id())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n clusterAmazonEKSClusterPolicy,\n clusterAmazonEKSComputePolicy,\n clusterAmazonEKSBlockStoragePolicy,\n clusterAmazonEKSLoadBalancingPolicy,\n clusterAmazonEKSNetworkingPolicy)\n .build());\n\n var nodeAmazonEKSWorkerNodeMinimalPolicy = new RolePolicyAttachment(\"nodeAmazonEKSWorkerNodeMinimalPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy\")\n .role(node.name())\n .build());\n\n var nodeAmazonEC2ContainerRegistryPullOnly = new RolePolicyAttachment(\"nodeAmazonEC2ContainerRegistryPullOnly\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly\")\n .role(node.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Cluster\n properties:\n name: example\n accessConfig:\n authenticationMode: API\n roleArn: ${cluster.arn}\n version: '1.31'\n computeConfig:\n enabled: true\n nodePools:\n - general-purpose\n nodeRoleArn: ${node.arn}\n kubernetesNetworkConfig:\n elasticLoadBalancing:\n enabled: true\n storageConfig:\n blockStorage:\n enabled: true\n vpcConfig:\n endpointPrivateAccess: true\n endpointPublicAccess: true\n subnetIds:\n - ${az1.id}\n - ${az2.id}\n - ${az3.id}\n options:\n dependsOn:\n - ${clusterAmazonEKSClusterPolicy}\n - ${clusterAmazonEKSComputePolicy}\n - ${clusterAmazonEKSBlockStoragePolicy}\n - ${clusterAmazonEKSLoadBalancingPolicy}\n - ${clusterAmazonEKSNetworkingPolicy}\n node:\n type: aws:iam:Role\n properties:\n name: eks-auto-node-example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n Effect: Allow\n Principal:\n Service: ec2.amazonaws.com\n nodeAmazonEKSWorkerNodeMinimalPolicy:\n type: aws:iam:RolePolicyAttachment\n name: node_AmazonEKSWorkerNodeMinimalPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy\n role: ${node.name}\n nodeAmazonEC2ContainerRegistryPullOnly:\n type: aws:iam:RolePolicyAttachment\n name: node_AmazonEC2ContainerRegistryPullOnly\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly\n role: ${node.name}\n cluster:\n type: aws:iam:Role\n properties:\n name: eks-cluster-example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service: eks.amazonaws.com\n clusterAmazonEKSClusterPolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSClusterPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\n role: ${cluster.name}\n clusterAmazonEKSComputePolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSComputePolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSComputePolicy\n role: ${cluster.name}\n clusterAmazonEKSBlockStoragePolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSBlockStoragePolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy\n role: ${cluster.name}\n clusterAmazonEKSLoadBalancingPolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSLoadBalancingPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy\n role: ${cluster.name}\n clusterAmazonEKSNetworkingPolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSNetworkingPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy\n role: ${cluster.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### EKS Cluster with EKS Hybrid Nodes\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:eks:Cluster\n properties:\n name: example\n accessConfig:\n authenticationMode: API\n roleArn: ${cluster.arn}\n version: '1.31'\n clusterRemoteNetworkConfig:\n remoteNodeNetworks:\n cidrs:\n - 172.16.0.0/18\n remotePodNetworks:\n cidrs:\n - 172.16.64.0/18\n vpcConfig:\n endpointPrivateAccess: true\n endpointPublicAccess: true\n subnetIds:\n - ${az1.id}\n - ${az2.id}\n - ${az3.id}\n options:\n dependsOn:\n - ${clusterAmazonEKSClusterPolicy}\n cluster:\n type: aws:iam:Role\n properties:\n name: eks-cluster-example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service: eks.amazonaws.com\n clusterAmazonEKSClusterPolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSClusterPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\n role: ${cluster.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Local EKS Cluster on AWS Outpost\n\n[Creating a local Amazon EKS cluster on an AWS Outpost](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getOutpost({\n name: \"example\",\n});\nconst cluster = new aws.iam.Role(\"cluster\", {\n name: \"eks-cluster-example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: [\n \"eks.amazonaws.com\",\n \"ec2.amazonaws.com\",\n ],\n },\n }],\n }),\n});\nconst clusterAmazonEKSLocalOutpostClusterPolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSLocalOutpostClusterPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy\",\n role: cluster.name,\n});\nconst exampleCluster = new aws.eks.Cluster(\"example\", {\n name: \"example\",\n accessConfig: {\n authenticationMode: \"CONFIG_MAP\",\n },\n roleArn: exampleAwsIamRole.arn,\n version: \"1.31\",\n vpcConfig: {\n endpointPrivateAccess: true,\n endpointPublicAccess: false,\n subnetIds: [\n az1.id,\n az2.id,\n az3.id,\n ],\n },\n outpostConfig: {\n controlPlaneInstanceType: \"m5.large\",\n outpostArns: [example.then(example =\u003e example.arn)],\n },\n}, {\n dependsOn: [clusterAmazonEKSLocalOutpostClusterPolicy],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_outpost(name=\"example\")\ncluster = aws.iam.Role(\"cluster\",\n name=\"eks-cluster-example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": [\n \"eks.amazonaws.com\",\n \"ec2.amazonaws.com\",\n ],\n },\n }],\n }))\ncluster_amazon_eks_local_outpost_cluster_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSLocalOutpostClusterPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy\",\n role=cluster.name)\nexample_cluster = aws.eks.Cluster(\"example\",\n name=\"example\",\n access_config={\n \"authentication_mode\": \"CONFIG_MAP\",\n },\n role_arn=example_aws_iam_role[\"arn\"],\n version=\"1.31\",\n vpc_config={\n \"endpoint_private_access\": True,\n \"endpoint_public_access\": False,\n \"subnet_ids\": [\n az1[\"id\"],\n az2[\"id\"],\n az3[\"id\"],\n ],\n },\n outpost_config={\n \"control_plane_instance_type\": \"m5.large\",\n \"outpost_arns\": [example.arn],\n },\n opts = pulumi.ResourceOptions(depends_on=[cluster_amazon_eks_local_outpost_cluster_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetOutpost.Invoke(new()\n {\n Name = \"example\",\n });\n\n var cluster = new Aws.Iam.Role(\"cluster\", new()\n {\n Name = \"eks-cluster-example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = new[]\n {\n \"eks.amazonaws.com\",\n \"ec2.amazonaws.com\",\n },\n },\n },\n },\n }),\n });\n\n var clusterAmazonEKSLocalOutpostClusterPolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSLocalOutpostClusterPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy\",\n Role = cluster.Name,\n });\n\n var exampleCluster = new Aws.Eks.Cluster(\"example\", new()\n {\n Name = \"example\",\n AccessConfig = new Aws.Eks.Inputs.ClusterAccessConfigArgs\n {\n AuthenticationMode = \"CONFIG_MAP\",\n },\n RoleArn = exampleAwsIamRole.Arn,\n Version = \"1.31\",\n VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs\n {\n EndpointPrivateAccess = true,\n EndpointPublicAccess = false,\n SubnetIds = new[]\n {\n az1.Id,\n az2.Id,\n az3.Id,\n },\n },\n OutpostConfig = new Aws.Eks.Inputs.ClusterOutpostConfigArgs\n {\n ControlPlaneInstanceType = \"m5.large\",\n OutpostArns = new[]\n {\n example.Apply(getOutpostResult =\u003e getOutpostResult.Arn),\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n clusterAmazonEKSLocalOutpostClusterPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := outposts.GetOutpost(ctx, \u0026outposts.GetOutpostArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": []string{\n\t\t\t\t\t\t\t\"eks.amazonaws.com\",\n\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tcluster, err := iam.NewRole(ctx, \"cluster\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-cluster-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSLocalOutpostClusterPolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSLocalOutpostClusterPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAccessConfig: \u0026eks.ClusterAccessConfigArgs{\n\t\t\t\tAuthenticationMode: pulumi.String(\"CONFIG_MAP\"),\n\t\t\t},\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tVersion: pulumi.String(\"1.31\"),\n\t\t\tVpcConfig: \u0026eks.ClusterVpcConfigArgs{\n\t\t\t\tEndpointPrivateAccess: pulumi.Bool(true),\n\t\t\t\tEndpointPublicAccess: pulumi.Bool(false),\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\taz1.Id,\n\t\t\t\t\taz2.Id,\n\t\t\t\t\taz3.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t\tOutpostConfig: \u0026eks.ClusterOutpostConfigArgs{\n\t\t\t\tControlPlaneInstanceType: pulumi.String(\"m5.large\"),\n\t\t\t\tOutpostArns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(example.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tclusterAmazonEKSLocalOutpostClusterPolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetOutpostArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterOutpostConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getOutpost(GetOutpostArgs.builder()\n .name(\"example\")\n .build());\n\n var cluster = new Role(\"cluster\", RoleArgs.builder()\n .name(\"eks-cluster-example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", jsonArray(\n \"eks.amazonaws.com\", \n \"ec2.amazonaws.com\"\n ))\n ))\n )))\n )))\n .build());\n\n var clusterAmazonEKSLocalOutpostClusterPolicy = new RolePolicyAttachment(\"clusterAmazonEKSLocalOutpostClusterPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy\")\n .role(cluster.name())\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .name(\"example\")\n .accessConfig(ClusterAccessConfigArgs.builder()\n .authenticationMode(\"CONFIG_MAP\")\n .build())\n .roleArn(exampleAwsIamRole.arn())\n .version(\"1.31\")\n .vpcConfig(ClusterVpcConfigArgs.builder()\n .endpointPrivateAccess(true)\n .endpointPublicAccess(false)\n .subnetIds( \n az1.id(),\n az2.id(),\n az3.id())\n .build())\n .outpostConfig(ClusterOutpostConfigArgs.builder()\n .controlPlaneInstanceType(\"m5.large\")\n .outpostArns(example.applyValue(getOutpostResult -\u003e getOutpostResult.arn()))\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(clusterAmazonEKSLocalOutpostClusterPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:eks:Cluster\n name: example\n properties:\n name: example\n accessConfig:\n authenticationMode: CONFIG_MAP\n roleArn: ${exampleAwsIamRole.arn}\n version: '1.31'\n vpcConfig:\n endpointPrivateAccess: true\n endpointPublicAccess: false\n subnetIds:\n - ${az1.id}\n - ${az2.id}\n - ${az3.id}\n outpostConfig:\n controlPlaneInstanceType: m5.large\n outpostArns:\n - ${example.arn}\n options:\n dependsOn:\n - ${clusterAmazonEKSLocalOutpostClusterPolicy}\n cluster:\n type: aws:iam:Role\n properties:\n name: eks-cluster-example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service:\n - eks.amazonaws.com\n - ec2.amazonaws.com\n clusterAmazonEKSLocalOutpostClusterPolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSLocalOutpostClusterPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy\n role: ${cluster.name}\nvariables:\n example:\n fn::invoke:\n function: aws:outposts:getOutpost\n arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS Clusters using the `name`. For example:\n\n```sh\n$ pulumi import aws:eks/cluster:Cluster my_cluster my_cluster\n```\n", + "description": "Manages an EKS Cluster.\n\n## Example Usage\n\n### EKS Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cluster = new aws.iam.Role(\"cluster\", {\n name: \"eks-cluster-example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"eks.amazonaws.com\",\n },\n }],\n }),\n});\nconst clusterAmazonEKSClusterPolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSClusterPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n role: cluster.name,\n});\nconst example = new aws.eks.Cluster(\"example\", {\n name: \"example\",\n accessConfig: {\n authenticationMode: \"API\",\n },\n roleArn: exampleAwsIamRole.arn,\n version: \"1.31\",\n vpcConfig: {\n subnetIds: [\n az1.id,\n az2.id,\n az3.id,\n ],\n },\n}, {\n dependsOn: [clusterAmazonEKSClusterPolicy],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncluster = aws.iam.Role(\"cluster\",\n name=\"eks-cluster-example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"eks.amazonaws.com\",\n },\n }],\n }))\ncluster_amazon_eks_cluster_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSClusterPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n role=cluster.name)\nexample = aws.eks.Cluster(\"example\",\n name=\"example\",\n access_config={\n \"authentication_mode\": \"API\",\n },\n role_arn=example_aws_iam_role[\"arn\"],\n version=\"1.31\",\n vpc_config={\n \"subnet_ids\": [\n az1[\"id\"],\n az2[\"id\"],\n az3[\"id\"],\n ],\n },\n opts = pulumi.ResourceOptions(depends_on=[cluster_amazon_eks_cluster_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = new Aws.Iam.Role(\"cluster\", new()\n {\n Name = \"eks-cluster-example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"eks.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var clusterAmazonEKSClusterPolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSClusterPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n Role = cluster.Name,\n });\n\n var example = new Aws.Eks.Cluster(\"example\", new()\n {\n Name = \"example\",\n AccessConfig = new Aws.Eks.Inputs.ClusterAccessConfigArgs\n {\n AuthenticationMode = \"API\",\n },\n RoleArn = exampleAwsIamRole.Arn,\n Version = \"1.31\",\n VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs\n {\n SubnetIds = new[]\n {\n az1.Id,\n az2.Id,\n az3.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n clusterAmazonEKSClusterPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"eks.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tcluster, err := iam.NewRole(ctx, \"cluster\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-cluster-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSClusterPolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSClusterPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAccessConfig: \u0026eks.ClusterAccessConfigArgs{\n\t\t\t\tAuthenticationMode: pulumi.String(\"API\"),\n\t\t\t},\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tVersion: pulumi.String(\"1.31\"),\n\t\t\tVpcConfig: \u0026eks.ClusterVpcConfigArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\taz1.Id,\n\t\t\t\t\taz2.Id,\n\t\t\t\t\taz3.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tclusterAmazonEKSClusterPolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var cluster = new Role(\"cluster\", RoleArgs.builder()\n .name(\"eks-cluster-example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"eks.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var clusterAmazonEKSClusterPolicy = new RolePolicyAttachment(\"clusterAmazonEKSClusterPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\")\n .role(cluster.name())\n .build());\n\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .name(\"example\")\n .accessConfig(ClusterAccessConfigArgs.builder()\n .authenticationMode(\"API\")\n .build())\n .roleArn(exampleAwsIamRole.arn())\n .version(\"1.31\")\n .vpcConfig(ClusterVpcConfigArgs.builder()\n .subnetIds( \n az1.id(),\n az2.id(),\n az3.id())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(clusterAmazonEKSClusterPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Cluster\n properties:\n name: example\n accessConfig:\n authenticationMode: API\n roleArn: ${exampleAwsIamRole.arn}\n version: '1.31'\n vpcConfig:\n subnetIds:\n - ${az1.id}\n - ${az2.id}\n - ${az3.id}\n options:\n dependson:\n - ${clusterAmazonEKSClusterPolicy}\n cluster:\n type: aws:iam:Role\n properties:\n name: eks-cluster-example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service: eks.amazonaws.com\n clusterAmazonEKSClusterPolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSClusterPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\n role: ${cluster.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### EKS Cluster with EKS Auto Mode\n\n\u003e **NOTE:** When using EKS Auto Mode `compute_config.enabled`, `kubernetes_network_config.elastic_load_balancing.enabled`, and `storage_config.block_storage.enabled` must *ALL be set to `true`. Likewise for disabling EKS Auto Mode, all three arguments must be set to `false`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst node = new aws.iam.Role(\"node\", {\n name: \"eks-auto-node-example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"sts:AssumeRole\"],\n Effect: \"Allow\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n});\nconst cluster = new aws.iam.Role(\"cluster\", {\n name: \"eks-cluster-example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"eks.amazonaws.com\",\n },\n }],\n }),\n});\nconst clusterAmazonEKSClusterPolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSClusterPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n role: cluster.name,\n});\nconst clusterAmazonEKSComputePolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSComputePolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSComputePolicy\",\n role: cluster.name,\n});\nconst clusterAmazonEKSBlockStoragePolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSBlockStoragePolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy\",\n role: cluster.name,\n});\nconst clusterAmazonEKSLoadBalancingPolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSLoadBalancingPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy\",\n role: cluster.name,\n});\nconst clusterAmazonEKSNetworkingPolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSNetworkingPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy\",\n role: cluster.name,\n});\nconst example = new aws.eks.Cluster(\"example\", {\n name: \"example\",\n accessConfig: {\n authenticationMode: \"API\",\n },\n roleArn: cluster.arn,\n version: \"1.31\",\n computeConfig: {\n enabled: true,\n nodePools: [\"general-purpose\"],\n nodeRoleArn: node.arn,\n },\n kubernetesNetworkConfig: {\n elasticLoadBalancing: {\n enabled: true,\n },\n },\n storageConfig: {\n blockStorage: {\n enabled: true,\n },\n },\n vpcConfig: {\n endpointPrivateAccess: true,\n endpointPublicAccess: true,\n subnetIds: [\n az1.id,\n az2.id,\n az3.id,\n ],\n },\n}, {\n dependsOn: [\n clusterAmazonEKSClusterPolicy,\n clusterAmazonEKSComputePolicy,\n clusterAmazonEKSBlockStoragePolicy,\n clusterAmazonEKSLoadBalancingPolicy,\n clusterAmazonEKSNetworkingPolicy,\n ],\n});\nconst nodeAmazonEKSWorkerNodeMinimalPolicy = new aws.iam.RolePolicyAttachment(\"node_AmazonEKSWorkerNodeMinimalPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy\",\n role: node.name,\n});\nconst nodeAmazonEC2ContainerRegistryPullOnly = new aws.iam.RolePolicyAttachment(\"node_AmazonEC2ContainerRegistryPullOnly\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly\",\n role: node.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nnode = aws.iam.Role(\"node\",\n name=\"eks-auto-node-example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"sts:AssumeRole\"],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }))\ncluster = aws.iam.Role(\"cluster\",\n name=\"eks-cluster-example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"eks.amazonaws.com\",\n },\n }],\n }))\ncluster_amazon_eks_cluster_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSClusterPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n role=cluster.name)\ncluster_amazon_eks_compute_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSComputePolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSComputePolicy\",\n role=cluster.name)\ncluster_amazon_eks_block_storage_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSBlockStoragePolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy\",\n role=cluster.name)\ncluster_amazon_eks_load_balancing_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSLoadBalancingPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy\",\n role=cluster.name)\ncluster_amazon_eks_networking_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSNetworkingPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy\",\n role=cluster.name)\nexample = aws.eks.Cluster(\"example\",\n name=\"example\",\n access_config={\n \"authentication_mode\": \"API\",\n },\n role_arn=cluster.arn,\n version=\"1.31\",\n compute_config={\n \"enabled\": True,\n \"node_pools\": [\"general-purpose\"],\n \"node_role_arn\": node.arn,\n },\n kubernetes_network_config={\n \"elastic_load_balancing\": {\n \"enabled\": True,\n },\n },\n storage_config={\n \"block_storage\": {\n \"enabled\": True,\n },\n },\n vpc_config={\n \"endpoint_private_access\": True,\n \"endpoint_public_access\": True,\n \"subnet_ids\": [\n az1[\"id\"],\n az2[\"id\"],\n az3[\"id\"],\n ],\n },\n opts = pulumi.ResourceOptions(depends_on=[\n cluster_amazon_eks_cluster_policy,\n cluster_amazon_eks_compute_policy,\n cluster_amazon_eks_block_storage_policy,\n cluster_amazon_eks_load_balancing_policy,\n cluster_amazon_eks_networking_policy,\n ]))\nnode_amazon_eks_worker_node_minimal_policy = aws.iam.RolePolicyAttachment(\"node_AmazonEKSWorkerNodeMinimalPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy\",\n role=node.name)\nnode_amazon_ec2_container_registry_pull_only = aws.iam.RolePolicyAttachment(\"node_AmazonEC2ContainerRegistryPullOnly\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly\",\n role=node.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var node = new Aws.Iam.Role(\"node\", new()\n {\n Name = \"eks-auto-node-example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var cluster = new Aws.Iam.Role(\"cluster\", new()\n {\n Name = \"eks-cluster-example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"eks.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var clusterAmazonEKSClusterPolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSClusterPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n Role = cluster.Name,\n });\n\n var clusterAmazonEKSComputePolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSComputePolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSComputePolicy\",\n Role = cluster.Name,\n });\n\n var clusterAmazonEKSBlockStoragePolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSBlockStoragePolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy\",\n Role = cluster.Name,\n });\n\n var clusterAmazonEKSLoadBalancingPolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSLoadBalancingPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy\",\n Role = cluster.Name,\n });\n\n var clusterAmazonEKSNetworkingPolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSNetworkingPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy\",\n Role = cluster.Name,\n });\n\n var example = new Aws.Eks.Cluster(\"example\", new()\n {\n Name = \"example\",\n AccessConfig = new Aws.Eks.Inputs.ClusterAccessConfigArgs\n {\n AuthenticationMode = \"API\",\n },\n RoleArn = cluster.Arn,\n Version = \"1.31\",\n ComputeConfig = new Aws.Eks.Inputs.ClusterComputeConfigArgs\n {\n Enabled = true,\n NodePools = new[]\n {\n \"general-purpose\",\n },\n NodeRoleArn = node.Arn,\n },\n KubernetesNetworkConfig = new Aws.Eks.Inputs.ClusterKubernetesNetworkConfigArgs\n {\n ElasticLoadBalancing = new Aws.Eks.Inputs.ClusterKubernetesNetworkConfigElasticLoadBalancingArgs\n {\n Enabled = true,\n },\n },\n StorageConfig = new Aws.Eks.Inputs.ClusterStorageConfigArgs\n {\n BlockStorage = new Aws.Eks.Inputs.ClusterStorageConfigBlockStorageArgs\n {\n Enabled = true,\n },\n },\n VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs\n {\n EndpointPrivateAccess = true,\n EndpointPublicAccess = true,\n SubnetIds = new[]\n {\n az1.Id,\n az2.Id,\n az3.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n clusterAmazonEKSClusterPolicy,\n clusterAmazonEKSComputePolicy,\n clusterAmazonEKSBlockStoragePolicy,\n clusterAmazonEKSLoadBalancingPolicy,\n clusterAmazonEKSNetworkingPolicy,\n },\n });\n\n var nodeAmazonEKSWorkerNodeMinimalPolicy = new Aws.Iam.RolePolicyAttachment(\"node_AmazonEKSWorkerNodeMinimalPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy\",\n Role = node.Name,\n });\n\n var nodeAmazonEC2ContainerRegistryPullOnly = new Aws.Iam.RolePolicyAttachment(\"node_AmazonEC2ContainerRegistryPullOnly\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly\",\n Role = node.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tnode, err := iam.NewRole(ctx, \"node\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-auto-node-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"eks.amazonaws.com\",\n\t\t\t\t\t},\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\tjson1 := string(tmpJSON1)\n\t\tcluster, err := iam.NewRole(ctx, \"cluster\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-cluster-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSClusterPolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSClusterPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSComputePolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSComputePolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSComputePolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSBlockStoragePolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSBlockStoragePolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSLoadBalancingPolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSLoadBalancingPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSNetworkingPolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSNetworkingPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAccessConfig: \u0026eks.ClusterAccessConfigArgs{\n\t\t\t\tAuthenticationMode: pulumi.String(\"API\"),\n\t\t\t},\n\t\t\tRoleArn: cluster.Arn,\n\t\t\tVersion: pulumi.String(\"1.31\"),\n\t\t\tComputeConfig: \u0026eks.ClusterComputeConfigArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tNodePools: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"general-purpose\"),\n\t\t\t\t},\n\t\t\t\tNodeRoleArn: node.Arn,\n\t\t\t},\n\t\t\tKubernetesNetworkConfig: \u0026eks.ClusterKubernetesNetworkConfigArgs{\n\t\t\t\tElasticLoadBalancing: \u0026eks.ClusterKubernetesNetworkConfigElasticLoadBalancingArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStorageConfig: \u0026eks.ClusterStorageConfigArgs{\n\t\t\t\tBlockStorage: \u0026eks.ClusterStorageConfigBlockStorageArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVpcConfig: \u0026eks.ClusterVpcConfigArgs{\n\t\t\t\tEndpointPrivateAccess: pulumi.Bool(true),\n\t\t\t\tEndpointPublicAccess: pulumi.Bool(true),\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\taz1.Id,\n\t\t\t\t\taz2.Id,\n\t\t\t\t\taz3.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tclusterAmazonEKSClusterPolicy,\n\t\t\tclusterAmazonEKSComputePolicy,\n\t\t\tclusterAmazonEKSBlockStoragePolicy,\n\t\t\tclusterAmazonEKSLoadBalancingPolicy,\n\t\t\tclusterAmazonEKSNetworkingPolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"node_AmazonEKSWorkerNodeMinimalPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy\"),\n\t\t\tRole: node.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"node_AmazonEC2ContainerRegistryPullOnly\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly\"),\n\t\t\tRole: node.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterComputeConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterKubernetesNetworkConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterKubernetesNetworkConfigElasticLoadBalancingArgs;\nimport com.pulumi.aws.eks.inputs.ClusterStorageConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterStorageConfigBlockStorageArgs;\nimport com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var node = new Role(\"node\", RoleArgs.builder()\n .name(\"eks-auto-node-example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"sts:AssumeRole\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var cluster = new Role(\"cluster\", RoleArgs.builder()\n .name(\"eks-cluster-example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"eks.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var clusterAmazonEKSClusterPolicy = new RolePolicyAttachment(\"clusterAmazonEKSClusterPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\")\n .role(cluster.name())\n .build());\n\n var clusterAmazonEKSComputePolicy = new RolePolicyAttachment(\"clusterAmazonEKSComputePolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSComputePolicy\")\n .role(cluster.name())\n .build());\n\n var clusterAmazonEKSBlockStoragePolicy = new RolePolicyAttachment(\"clusterAmazonEKSBlockStoragePolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy\")\n .role(cluster.name())\n .build());\n\n var clusterAmazonEKSLoadBalancingPolicy = new RolePolicyAttachment(\"clusterAmazonEKSLoadBalancingPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy\")\n .role(cluster.name())\n .build());\n\n var clusterAmazonEKSNetworkingPolicy = new RolePolicyAttachment(\"clusterAmazonEKSNetworkingPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy\")\n .role(cluster.name())\n .build());\n\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .name(\"example\")\n .accessConfig(ClusterAccessConfigArgs.builder()\n .authenticationMode(\"API\")\n .build())\n .roleArn(cluster.arn())\n .version(\"1.31\")\n .computeConfig(ClusterComputeConfigArgs.builder()\n .enabled(true)\n .nodePools(\"general-purpose\")\n .nodeRoleArn(node.arn())\n .build())\n .kubernetesNetworkConfig(ClusterKubernetesNetworkConfigArgs.builder()\n .elasticLoadBalancing(ClusterKubernetesNetworkConfigElasticLoadBalancingArgs.builder()\n .enabled(true)\n .build())\n .build())\n .storageConfig(ClusterStorageConfigArgs.builder()\n .blockStorage(ClusterStorageConfigBlockStorageArgs.builder()\n .enabled(true)\n .build())\n .build())\n .vpcConfig(ClusterVpcConfigArgs.builder()\n .endpointPrivateAccess(true)\n .endpointPublicAccess(true)\n .subnetIds( \n az1.id(),\n az2.id(),\n az3.id())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n clusterAmazonEKSClusterPolicy,\n clusterAmazonEKSComputePolicy,\n clusterAmazonEKSBlockStoragePolicy,\n clusterAmazonEKSLoadBalancingPolicy,\n clusterAmazonEKSNetworkingPolicy)\n .build());\n\n var nodeAmazonEKSWorkerNodeMinimalPolicy = new RolePolicyAttachment(\"nodeAmazonEKSWorkerNodeMinimalPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy\")\n .role(node.name())\n .build());\n\n var nodeAmazonEC2ContainerRegistryPullOnly = new RolePolicyAttachment(\"nodeAmazonEC2ContainerRegistryPullOnly\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly\")\n .role(node.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Cluster\n properties:\n name: example\n accessConfig:\n authenticationMode: API\n roleArn: ${cluster.arn}\n version: '1.31'\n computeConfig:\n enabled: true\n nodePools:\n - general-purpose\n nodeRoleArn: ${node.arn}\n kubernetesNetworkConfig:\n elasticLoadBalancing:\n enabled: true\n storageConfig:\n blockStorage:\n enabled: true\n vpcConfig:\n endpointPrivateAccess: true\n endpointPublicAccess: true\n subnetIds:\n - ${az1.id}\n - ${az2.id}\n - ${az3.id}\n options:\n dependson:\n - ${clusterAmazonEKSClusterPolicy}\n - ${clusterAmazonEKSComputePolicy}\n - ${clusterAmazonEKSBlockStoragePolicy}\n - ${clusterAmazonEKSLoadBalancingPolicy}\n - ${clusterAmazonEKSNetworkingPolicy}\n node:\n type: aws:iam:Role\n properties:\n name: eks-auto-node-example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n Effect: Allow\n Principal:\n Service: ec2.amazonaws.com\n nodeAmazonEKSWorkerNodeMinimalPolicy:\n type: aws:iam:RolePolicyAttachment\n name: node_AmazonEKSWorkerNodeMinimalPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy\n role: ${node.name}\n nodeAmazonEC2ContainerRegistryPullOnly:\n type: aws:iam:RolePolicyAttachment\n name: node_AmazonEC2ContainerRegistryPullOnly\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly\n role: ${node.name}\n cluster:\n type: aws:iam:Role\n properties:\n name: eks-cluster-example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service: eks.amazonaws.com\n clusterAmazonEKSClusterPolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSClusterPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\n role: ${cluster.name}\n clusterAmazonEKSComputePolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSComputePolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSComputePolicy\n role: ${cluster.name}\n clusterAmazonEKSBlockStoragePolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSBlockStoragePolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy\n role: ${cluster.name}\n clusterAmazonEKSLoadBalancingPolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSLoadBalancingPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy\n role: ${cluster.name}\n clusterAmazonEKSNetworkingPolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSNetworkingPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy\n role: ${cluster.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### EKS Cluster with EKS Hybrid Nodes\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:eks:Cluster\n properties:\n name: example\n accessConfig:\n authenticationMode: API\n roleArn: ${cluster.arn}\n version: '1.31'\n clusterRemoteNetworkConfig:\n remoteNodeNetworks:\n cidrs:\n - 172.16.0.0/18\n remotePodNetworks:\n cidrs:\n - 172.16.64.0/18\n vpcConfig:\n endpointPrivateAccess: true\n endpointPublicAccess: true\n subnetIds:\n - ${az1.id}\n - ${az2.id}\n - ${az3.id}\n options:\n dependson:\n - ${clusterAmazonEKSClusterPolicy}\n cluster:\n type: aws:iam:Role\n properties:\n name: eks-cluster-example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service: eks.amazonaws.com\n clusterAmazonEKSClusterPolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSClusterPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\n role: ${cluster.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Local EKS Cluster on AWS Outpost\n\n[Creating a local Amazon EKS cluster on an AWS Outpost](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getOutpost({\n name: \"example\",\n});\nconst cluster = new aws.iam.Role(\"cluster\", {\n name: \"eks-cluster-example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: [\n \"eks.amazonaws.com\",\n \"ec2.amazonaws.com\",\n ],\n },\n }],\n }),\n});\nconst clusterAmazonEKSLocalOutpostClusterPolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSLocalOutpostClusterPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy\",\n role: cluster.name,\n});\nconst exampleCluster = new aws.eks.Cluster(\"example\", {\n name: \"example\",\n accessConfig: {\n authenticationMode: \"CONFIG_MAP\",\n },\n roleArn: exampleAwsIamRole.arn,\n version: \"1.31\",\n vpcConfig: {\n endpointPrivateAccess: true,\n endpointPublicAccess: false,\n subnetIds: [\n az1.id,\n az2.id,\n az3.id,\n ],\n },\n outpostConfig: {\n controlPlaneInstanceType: \"m5.large\",\n outpostArns: [example.then(example =\u003e example.arn)],\n },\n}, {\n dependsOn: [clusterAmazonEKSLocalOutpostClusterPolicy],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_outpost(name=\"example\")\ncluster = aws.iam.Role(\"cluster\",\n name=\"eks-cluster-example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": [\n \"eks.amazonaws.com\",\n \"ec2.amazonaws.com\",\n ],\n },\n }],\n }))\ncluster_amazon_eks_local_outpost_cluster_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSLocalOutpostClusterPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy\",\n role=cluster.name)\nexample_cluster = aws.eks.Cluster(\"example\",\n name=\"example\",\n access_config={\n \"authentication_mode\": \"CONFIG_MAP\",\n },\n role_arn=example_aws_iam_role[\"arn\"],\n version=\"1.31\",\n vpc_config={\n \"endpoint_private_access\": True,\n \"endpoint_public_access\": False,\n \"subnet_ids\": [\n az1[\"id\"],\n az2[\"id\"],\n az3[\"id\"],\n ],\n },\n outpost_config={\n \"control_plane_instance_type\": \"m5.large\",\n \"outpost_arns\": [example.arn],\n },\n opts = pulumi.ResourceOptions(depends_on=[cluster_amazon_eks_local_outpost_cluster_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetOutpost.Invoke(new()\n {\n Name = \"example\",\n });\n\n var cluster = new Aws.Iam.Role(\"cluster\", new()\n {\n Name = \"eks-cluster-example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = new[]\n {\n \"eks.amazonaws.com\",\n \"ec2.amazonaws.com\",\n },\n },\n },\n },\n }),\n });\n\n var clusterAmazonEKSLocalOutpostClusterPolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSLocalOutpostClusterPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy\",\n Role = cluster.Name,\n });\n\n var exampleCluster = new Aws.Eks.Cluster(\"example\", new()\n {\n Name = \"example\",\n AccessConfig = new Aws.Eks.Inputs.ClusterAccessConfigArgs\n {\n AuthenticationMode = \"CONFIG_MAP\",\n },\n RoleArn = exampleAwsIamRole.Arn,\n Version = \"1.31\",\n VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs\n {\n EndpointPrivateAccess = true,\n EndpointPublicAccess = false,\n SubnetIds = new[]\n {\n az1.Id,\n az2.Id,\n az3.Id,\n },\n },\n OutpostConfig = new Aws.Eks.Inputs.ClusterOutpostConfigArgs\n {\n ControlPlaneInstanceType = \"m5.large\",\n OutpostArns = new[]\n {\n example.Apply(getOutpostResult =\u003e getOutpostResult.Arn),\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n clusterAmazonEKSLocalOutpostClusterPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := outposts.GetOutpost(ctx, \u0026outposts.GetOutpostArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": []string{\n\t\t\t\t\t\t\t\"eks.amazonaws.com\",\n\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tcluster, err := iam.NewRole(ctx, \"cluster\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-cluster-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSLocalOutpostClusterPolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSLocalOutpostClusterPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAccessConfig: \u0026eks.ClusterAccessConfigArgs{\n\t\t\t\tAuthenticationMode: pulumi.String(\"CONFIG_MAP\"),\n\t\t\t},\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tVersion: pulumi.String(\"1.31\"),\n\t\t\tVpcConfig: \u0026eks.ClusterVpcConfigArgs{\n\t\t\t\tEndpointPrivateAccess: pulumi.Bool(true),\n\t\t\t\tEndpointPublicAccess: pulumi.Bool(false),\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\taz1.Id,\n\t\t\t\t\taz2.Id,\n\t\t\t\t\taz3.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t\tOutpostConfig: \u0026eks.ClusterOutpostConfigArgs{\n\t\t\t\tControlPlaneInstanceType: pulumi.String(\"m5.large\"),\n\t\t\t\tOutpostArns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(example.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tclusterAmazonEKSLocalOutpostClusterPolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetOutpostArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterOutpostConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getOutpost(GetOutpostArgs.builder()\n .name(\"example\")\n .build());\n\n var cluster = new Role(\"cluster\", RoleArgs.builder()\n .name(\"eks-cluster-example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", jsonArray(\n \"eks.amazonaws.com\", \n \"ec2.amazonaws.com\"\n ))\n ))\n )))\n )))\n .build());\n\n var clusterAmazonEKSLocalOutpostClusterPolicy = new RolePolicyAttachment(\"clusterAmazonEKSLocalOutpostClusterPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy\")\n .role(cluster.name())\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .name(\"example\")\n .accessConfig(ClusterAccessConfigArgs.builder()\n .authenticationMode(\"CONFIG_MAP\")\n .build())\n .roleArn(exampleAwsIamRole.arn())\n .version(\"1.31\")\n .vpcConfig(ClusterVpcConfigArgs.builder()\n .endpointPrivateAccess(true)\n .endpointPublicAccess(false)\n .subnetIds( \n az1.id(),\n az2.id(),\n az3.id())\n .build())\n .outpostConfig(ClusterOutpostConfigArgs.builder()\n .controlPlaneInstanceType(\"m5.large\")\n .outpostArns(example.applyValue(getOutpostResult -\u003e getOutpostResult.arn()))\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(clusterAmazonEKSLocalOutpostClusterPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:eks:Cluster\n name: example\n properties:\n name: example\n accessConfig:\n authenticationMode: CONFIG_MAP\n roleArn: ${exampleAwsIamRole.arn}\n version: '1.31'\n vpcConfig:\n endpointPrivateAccess: true\n endpointPublicAccess: false\n subnetIds:\n - ${az1.id}\n - ${az2.id}\n - ${az3.id}\n outpostConfig:\n controlPlaneInstanceType: m5.large\n outpostArns:\n - ${example.arn}\n options:\n dependson:\n - ${clusterAmazonEKSLocalOutpostClusterPolicy}\n cluster:\n type: aws:iam:Role\n properties:\n name: eks-cluster-example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service:\n - eks.amazonaws.com\n - ec2.amazonaws.com\n clusterAmazonEKSLocalOutpostClusterPolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSLocalOutpostClusterPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy\n role: ${cluster.name}\nvariables:\n example:\n fn::invoke:\n Function: aws:outposts:getOutpost\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS Clusters using the `name`. For example:\n\n```sh\n$ pulumi import aws:eks/cluster:Cluster my_cluster my_cluster\n```\n", "properties": { "accessConfig": { "$ref": "#/types/aws:eks/ClusterAccessConfig:ClusterAccessConfig", @@ -257988,7 +257988,7 @@ } }, "aws:eks/podIdentityAssociation:PodIdentityAssociation": { - "description": "Resource for managing an AWS EKS (Elastic Kubernetes) Pod Identity Association.\n\nCreates an EKS Pod Identity association between a service account in an Amazon EKS cluster and an IAM role with EKS Pod Identity. Use EKS Pod Identity to give temporary IAM credentials to pods and the credentials are rotated automatically.\n\nAmazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that EC2 instance profiles provide credentials to Amazon EC2 instances.\n\nIf a pod uses a service account that has an association, Amazon EKS sets environment variables in the containers of the pod. The environment variables configure the Amazon Web Services SDKs, including the Command Line Interface, to use the EKS Pod Identity credentials.\n\nPod Identity is a simpler method than IAM roles for service accounts, as this method doesn’t use OIDC identity providers. Additionally, you can configure a role for Pod Identity once, and reuse it across clusters.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"pods.eks.amazonaws.com\"],\n }],\n actions: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"eks-pod-identity-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleS3 = new aws.iam.RolePolicyAttachment(\"example_s3\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\",\n role: example.name,\n});\nconst examplePodIdentityAssociation = new aws.eks.PodIdentityAssociation(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n namespace: \"example\",\n serviceAccount: \"example-sa\",\n roleArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"pods.eks.amazonaws.com\"],\n }],\n \"actions\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n}])\nexample = aws.iam.Role(\"example\",\n name=\"eks-pod-identity-example\",\n assume_role_policy=assume_role.json)\nexample_s3 = aws.iam.RolePolicyAttachment(\"example_s3\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\",\n role=example.name)\nexample_pod_identity_association = aws.eks.PodIdentityAssociation(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n namespace=\"example\",\n service_account=\"example-sa\",\n role_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"pods.eks.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"eks-pod-identity-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleS3 = new Aws.Iam.RolePolicyAttachment(\"example_s3\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\",\n Role = example.Name,\n });\n\n var examplePodIdentityAssociation = new Aws.Eks.PodIdentityAssociation(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n Namespace = \"example\",\n ServiceAccount = \"example-sa\",\n RoleArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"pods.eks.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-pod-identity-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example_s3\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewPodIdentityAssociation(ctx, \"example\", \u0026eks.PodIdentityAssociationArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tNamespace: pulumi.String(\"example\"),\n\t\t\tServiceAccount: pulumi.String(\"example-sa\"),\n\t\t\tRoleArn: example.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.eks.PodIdentityAssociation;\nimport com.pulumi.aws.eks.PodIdentityAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"pods.eks.amazonaws.com\")\n .build())\n .actions( \n \"sts:AssumeRole\",\n \"sts:TagSession\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"eks-pod-identity-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleS3 = new RolePolicyAttachment(\"exampleS3\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\")\n .role(example.name())\n .build());\n\n var examplePodIdentityAssociation = new PodIdentityAssociation(\"examplePodIdentityAssociation\", PodIdentityAssociationArgs.builder()\n .clusterName(exampleAwsEksCluster.name())\n .namespace(\"example\")\n .serviceAccount(\"example-sa\")\n .roleArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: eks-pod-identity-example\n assumeRolePolicy: ${assumeRole.json}\n exampleS3:\n type: aws:iam:RolePolicyAttachment\n name: example_s3\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\n role: ${example.name}\n examplePodIdentityAssociation:\n type: aws:eks:PodIdentityAssociation\n name: example\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n namespace: example\n serviceAccount: example-sa\n roleArn: ${example.arn}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - pods.eks.amazonaws.com\n actions:\n - sts:AssumeRole\n - sts:TagSession\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS (Elastic Kubernetes) Pod Identity Association using the `cluster_name` and `association_id` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:eks/podIdentityAssociation:PodIdentityAssociation example example,a-12345678\n```\n", + "description": "Resource for managing an AWS EKS (Elastic Kubernetes) Pod Identity Association.\n\nCreates an EKS Pod Identity association between a service account in an Amazon EKS cluster and an IAM role with EKS Pod Identity. Use EKS Pod Identity to give temporary IAM credentials to pods and the credentials are rotated automatically.\n\nAmazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that EC2 instance profiles provide credentials to Amazon EC2 instances.\n\nIf a pod uses a service account that has an association, Amazon EKS sets environment variables in the containers of the pod. The environment variables configure the Amazon Web Services SDKs, including the Command Line Interface, to use the EKS Pod Identity credentials.\n\nPod Identity is a simpler method than IAM roles for service accounts, as this method doesn’t use OIDC identity providers. Additionally, you can configure a role for Pod Identity once, and reuse it across clusters.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"pods.eks.amazonaws.com\"],\n }],\n actions: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"eks-pod-identity-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleS3 = new aws.iam.RolePolicyAttachment(\"example_s3\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\",\n role: example.name,\n});\nconst examplePodIdentityAssociation = new aws.eks.PodIdentityAssociation(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n namespace: \"example\",\n serviceAccount: \"example-sa\",\n roleArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"pods.eks.amazonaws.com\"],\n }],\n \"actions\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n}])\nexample = aws.iam.Role(\"example\",\n name=\"eks-pod-identity-example\",\n assume_role_policy=assume_role.json)\nexample_s3 = aws.iam.RolePolicyAttachment(\"example_s3\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\",\n role=example.name)\nexample_pod_identity_association = aws.eks.PodIdentityAssociation(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n namespace=\"example\",\n service_account=\"example-sa\",\n role_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"pods.eks.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"eks-pod-identity-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleS3 = new Aws.Iam.RolePolicyAttachment(\"example_s3\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\",\n Role = example.Name,\n });\n\n var examplePodIdentityAssociation = new Aws.Eks.PodIdentityAssociation(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n Namespace = \"example\",\n ServiceAccount = \"example-sa\",\n RoleArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"pods.eks.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-pod-identity-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example_s3\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewPodIdentityAssociation(ctx, \"example\", \u0026eks.PodIdentityAssociationArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tNamespace: pulumi.String(\"example\"),\n\t\t\tServiceAccount: pulumi.String(\"example-sa\"),\n\t\t\tRoleArn: example.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.eks.PodIdentityAssociation;\nimport com.pulumi.aws.eks.PodIdentityAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"pods.eks.amazonaws.com\")\n .build())\n .actions( \n \"sts:AssumeRole\",\n \"sts:TagSession\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"eks-pod-identity-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleS3 = new RolePolicyAttachment(\"exampleS3\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\")\n .role(example.name())\n .build());\n\n var examplePodIdentityAssociation = new PodIdentityAssociation(\"examplePodIdentityAssociation\", PodIdentityAssociationArgs.builder()\n .clusterName(exampleAwsEksCluster.name())\n .namespace(\"example\")\n .serviceAccount(\"example-sa\")\n .roleArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: eks-pod-identity-example\n assumeRolePolicy: ${assumeRole.json}\n exampleS3:\n type: aws:iam:RolePolicyAttachment\n name: example_s3\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\n role: ${example.name}\n examplePodIdentityAssociation:\n type: aws:eks:PodIdentityAssociation\n name: example\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n namespace: example\n serviceAccount: example-sa\n roleArn: ${example.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - pods.eks.amazonaws.com\n actions:\n - sts:AssumeRole\n - sts:TagSession\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS (Elastic Kubernetes) Pod Identity Association using the `cluster_name` and `association_id` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:eks/podIdentityAssociation:PodIdentityAssociation example example,a-12345678\n```\n", "properties": { "associationArn": { "type": "string", @@ -258117,7 +258117,7 @@ } }, "aws:elasticache/cluster:Cluster": { - "description": "Provides an ElastiCache Cluster resource, which manages either a\n[Memcached cluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html), a\n[single-node Redis instance](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html), or a\n[read replica in a Redis (Cluster Mode Enabled) replication group].\n\nFor working with Redis (Cluster Mode Enabled) replication groups, see the\n`aws.elasticache.ReplicationGroup` resource.\n\n\u003e **Note:** When you change an attribute, such as `num_cache_nodes`, by default\nit is applied in the next maintenance window. Because of this, this provider may report\na difference in its planning phase because the actual modification has not yet taken\nplace. You can use the `apply_immediately` flag to instruct the service to apply the\nchange immediately. Using `apply_immediately` can result in a brief downtime as the server reboots.\nSee the AWS Documentation on Modifying an ElastiCache Cache Cluster for\n[ElastiCache for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/Clusters.Modify.html) or\n[ElastiCache for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Modify.html)\nfor more information.\n\n\u003e **Note:** Any attribute changes that re-create the resource will be applied immediately, regardless of the value of `apply_immediately`.\n\n## Example Usage\n\n### Memcached Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticache.Cluster(\"example\", {\n clusterId: \"cluster-example\",\n engine: \"memcached\",\n nodeType: \"cache.m4.large\",\n numCacheNodes: 2,\n parameterGroupName: \"default.memcached1.4\",\n port: 11211,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.Cluster(\"example\",\n cluster_id=\"cluster-example\",\n engine=\"memcached\",\n node_type=\"cache.m4.large\",\n num_cache_nodes=2,\n parameter_group_name=\"default.memcached1.4\",\n port=11211)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElastiCache.Cluster(\"example\", new()\n {\n ClusterId = \"cluster-example\",\n Engine = \"memcached\",\n NodeType = \"cache.m4.large\",\n NumCacheNodes = 2,\n ParameterGroupName = \"default.memcached1.4\",\n Port = 11211,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.NewCluster(ctx, \"example\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"cluster-example\"),\n\t\t\tEngine: pulumi.String(\"memcached\"),\n\t\t\tNodeType: pulumi.String(\"cache.m4.large\"),\n\t\t\tNumCacheNodes: pulumi.Int(2),\n\t\t\tParameterGroupName: pulumi.String(\"default.memcached1.4\"),\n\t\t\tPort: pulumi.Int(11211),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterId(\"cluster-example\")\n .engine(\"memcached\")\n .nodeType(\"cache.m4.large\")\n .numCacheNodes(2)\n .parameterGroupName(\"default.memcached1.4\")\n .port(11211)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticache:Cluster\n properties:\n clusterId: cluster-example\n engine: memcached\n nodeType: cache.m4.large\n numCacheNodes: 2\n parameterGroupName: default.memcached1.4\n port: 11211\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticache.Cluster(\"example\", {\n clusterId: \"cluster-example\",\n engine: \"redis\",\n nodeType: \"cache.m4.large\",\n numCacheNodes: 1,\n parameterGroupName: \"default.redis3.2\",\n engineVersion: \"3.2.10\",\n port: 6379,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.Cluster(\"example\",\n cluster_id=\"cluster-example\",\n engine=\"redis\",\n node_type=\"cache.m4.large\",\n num_cache_nodes=1,\n parameter_group_name=\"default.redis3.2\",\n engine_version=\"3.2.10\",\n port=6379)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElastiCache.Cluster(\"example\", new()\n {\n ClusterId = \"cluster-example\",\n Engine = \"redis\",\n NodeType = \"cache.m4.large\",\n NumCacheNodes = 1,\n ParameterGroupName = \"default.redis3.2\",\n EngineVersion = \"3.2.10\",\n Port = 6379,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.NewCluster(ctx, \"example\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"cluster-example\"),\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tNodeType: pulumi.String(\"cache.m4.large\"),\n\t\t\tNumCacheNodes: pulumi.Int(1),\n\t\t\tParameterGroupName: pulumi.String(\"default.redis3.2\"),\n\t\t\tEngineVersion: pulumi.String(\"3.2.10\"),\n\t\t\tPort: pulumi.Int(6379),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterId(\"cluster-example\")\n .engine(\"redis\")\n .nodeType(\"cache.m4.large\")\n .numCacheNodes(1)\n .parameterGroupName(\"default.redis3.2\")\n .engineVersion(\"3.2.10\")\n .port(6379)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticache:Cluster\n properties:\n clusterId: cluster-example\n engine: redis\n nodeType: cache.m4.large\n numCacheNodes: 1\n parameterGroupName: default.redis3.2\n engineVersion: 3.2.10\n port: 6379\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Cluster Mode Disabled Read Replica Instance\n\nThese inherit their settings from the replication group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replica = new aws.elasticache.Cluster(\"replica\", {\n clusterId: \"cluster-example\",\n replicationGroupId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplica = aws.elasticache.Cluster(\"replica\",\n cluster_id=\"cluster-example\",\n replication_group_id=example[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replica = new Aws.ElastiCache.Cluster(\"replica\", new()\n {\n ClusterId = \"cluster-example\",\n ReplicationGroupId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.NewCluster(ctx, \"replica\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"cluster-example\"),\n\t\t\tReplicationGroupId: pulumi.Any(example.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var replica = new Cluster(\"replica\", ClusterArgs.builder()\n .clusterId(\"cluster-example\")\n .replicationGroupId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replica:\n type: aws:elasticache:Cluster\n properties:\n clusterId: cluster-example\n replicationGroupId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Log Delivery configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.elasticache.Cluster(\"test\", {\n clusterId: \"mycluster\",\n engine: \"redis\",\n nodeType: \"cache.t3.micro\",\n numCacheNodes: 1,\n port: 6379,\n applyImmediately: true,\n logDeliveryConfigurations: [\n {\n destination: example.name,\n destinationType: \"cloudwatch-logs\",\n logFormat: \"text\",\n logType: \"slow-log\",\n },\n {\n destination: exampleAwsKinesisFirehoseDeliveryStream.name,\n destinationType: \"kinesis-firehose\",\n logFormat: \"json\",\n logType: \"engine-log\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.elasticache.Cluster(\"test\",\n cluster_id=\"mycluster\",\n engine=\"redis\",\n node_type=\"cache.t3.micro\",\n num_cache_nodes=1,\n port=6379,\n apply_immediately=True,\n log_delivery_configurations=[\n {\n \"destination\": example[\"name\"],\n \"destination_type\": \"cloudwatch-logs\",\n \"log_format\": \"text\",\n \"log_type\": \"slow-log\",\n },\n {\n \"destination\": example_aws_kinesis_firehose_delivery_stream[\"name\"],\n \"destination_type\": \"kinesis-firehose\",\n \"log_format\": \"json\",\n \"log_type\": \"engine-log\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.ElastiCache.Cluster(\"test\", new()\n {\n ClusterId = \"mycluster\",\n Engine = \"redis\",\n NodeType = \"cache.t3.micro\",\n NumCacheNodes = 1,\n Port = 6379,\n ApplyImmediately = true,\n LogDeliveryConfigurations = new[]\n {\n new Aws.ElastiCache.Inputs.ClusterLogDeliveryConfigurationArgs\n {\n Destination = example.Name,\n DestinationType = \"cloudwatch-logs\",\n LogFormat = \"text\",\n LogType = \"slow-log\",\n },\n new Aws.ElastiCache.Inputs.ClusterLogDeliveryConfigurationArgs\n {\n Destination = exampleAwsKinesisFirehoseDeliveryStream.Name,\n DestinationType = \"kinesis-firehose\",\n LogFormat = \"json\",\n LogType = \"engine-log\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.NewCluster(ctx, \"test\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"mycluster\"),\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tNodeType: pulumi.String(\"cache.t3.micro\"),\n\t\t\tNumCacheNodes: pulumi.Int(1),\n\t\t\tPort: pulumi.Int(6379),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tLogDeliveryConfigurations: elasticache.ClusterLogDeliveryConfigurationArray{\n\t\t\t\t\u0026elasticache.ClusterLogDeliveryConfigurationArgs{\n\t\t\t\t\tDestination: pulumi.Any(example.Name),\n\t\t\t\t\tDestinationType: pulumi.String(\"cloudwatch-logs\"),\n\t\t\t\t\tLogFormat: pulumi.String(\"text\"),\n\t\t\t\t\tLogType: pulumi.String(\"slow-log\"),\n\t\t\t\t},\n\t\t\t\t\u0026elasticache.ClusterLogDeliveryConfigurationArgs{\n\t\t\t\t\tDestination: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Name),\n\t\t\t\t\tDestinationType: pulumi.String(\"kinesis-firehose\"),\n\t\t\t\t\tLogFormat: pulumi.String(\"json\"),\n\t\t\t\t\tLogType: pulumi.String(\"engine-log\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport com.pulumi.aws.elasticache.inputs.ClusterLogDeliveryConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Cluster(\"test\", ClusterArgs.builder()\n .clusterId(\"mycluster\")\n .engine(\"redis\")\n .nodeType(\"cache.t3.micro\")\n .numCacheNodes(1)\n .port(6379)\n .applyImmediately(true)\n .logDeliveryConfigurations( \n ClusterLogDeliveryConfigurationArgs.builder()\n .destination(example.name())\n .destinationType(\"cloudwatch-logs\")\n .logFormat(\"text\")\n .logType(\"slow-log\")\n .build(),\n ClusterLogDeliveryConfigurationArgs.builder()\n .destination(exampleAwsKinesisFirehoseDeliveryStream.name())\n .destinationType(\"kinesis-firehose\")\n .logFormat(\"json\")\n .logType(\"engine-log\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:elasticache:Cluster\n properties:\n clusterId: mycluster\n engine: redis\n nodeType: cache.t3.micro\n numCacheNodes: 1\n port: 6379\n applyImmediately: true\n logDeliveryConfigurations:\n - destination: ${example.name}\n destinationType: cloudwatch-logs\n logFormat: text\n logType: slow-log\n - destination: ${exampleAwsKinesisFirehoseDeliveryStream.name}\n destinationType: kinesis-firehose\n logFormat: json\n logType: engine-log\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Elasticache Cluster in Outpost\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getOutposts({});\nconst exampleGetOutpost = example.then(example =\u003e aws.outposts.getOutpost({\n id: example.ids?.[0],\n}));\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleSubnet = new aws.ec2.Subnet(\"example\", {\n vpcId: exampleVpc.id,\n cidrBlock: \"10.0.1.0/24\",\n tags: {\n Name: \"my-subnet\",\n },\n});\nconst exampleSubnetGroup = new aws.elasticache.SubnetGroup(\"example\", {\n name: \"my-cache-subnet\",\n subnetIds: [exampleSubnet.id],\n});\nconst exampleCluster = new aws.elasticache.Cluster(\"example\", {\n clusterId: \"cluster-example\",\n outpostMode: \"single-outpost\",\n preferredOutpostArn: exampleGetOutpost.then(exampleGetOutpost =\u003e exampleGetOutpost.arn),\n engine: \"memcached\",\n nodeType: \"cache.r5.large\",\n numCacheNodes: 2,\n parameterGroupName: \"default.memcached1.4\",\n port: 11211,\n subnetGroupName: exampleSubnetGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_outposts()\nexample_get_outpost = aws.outposts.get_outpost(id=example.ids[0])\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_subnet = aws.ec2.Subnet(\"example\",\n vpc_id=example_vpc.id,\n cidr_block=\"10.0.1.0/24\",\n tags={\n \"Name\": \"my-subnet\",\n })\nexample_subnet_group = aws.elasticache.SubnetGroup(\"example\",\n name=\"my-cache-subnet\",\n subnet_ids=[example_subnet.id])\nexample_cluster = aws.elasticache.Cluster(\"example\",\n cluster_id=\"cluster-example\",\n outpost_mode=\"single-outpost\",\n preferred_outpost_arn=example_get_outpost.arn,\n engine=\"memcached\",\n node_type=\"cache.r5.large\",\n num_cache_nodes=2,\n parameter_group_name=\"default.memcached1.4\",\n port=11211,\n subnet_group_name=example_subnet_group.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetOutposts.Invoke();\n\n var exampleGetOutpost = Aws.Outposts.GetOutpost.Invoke(new()\n {\n Id = example.Apply(getOutpostsResult =\u003e getOutpostsResult.Ids[0]),\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleSubnet = new Aws.Ec2.Subnet(\"example\", new()\n {\n VpcId = exampleVpc.Id,\n CidrBlock = \"10.0.1.0/24\",\n Tags = \n {\n { \"Name\", \"my-subnet\" },\n },\n });\n\n var exampleSubnetGroup = new Aws.ElastiCache.SubnetGroup(\"example\", new()\n {\n Name = \"my-cache-subnet\",\n SubnetIds = new[]\n {\n exampleSubnet.Id,\n },\n });\n\n var exampleCluster = new Aws.ElastiCache.Cluster(\"example\", new()\n {\n ClusterId = \"cluster-example\",\n OutpostMode = \"single-outpost\",\n PreferredOutpostArn = exampleGetOutpost.Apply(getOutpostResult =\u003e getOutpostResult.Arn),\n Engine = \"memcached\",\n NodeType = \"cache.r5.large\",\n NumCacheNodes = 2,\n ParameterGroupName = \"default.memcached1.4\",\n Port = 11211,\n SubnetGroupName = exampleSubnetGroup.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := outposts.GetOutposts(ctx, \u0026outposts.GetOutpostsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetOutpost, err := outposts.GetOutpost(ctx, \u0026outposts.GetOutpostArgs{\n\t\t\tId: pulumi.StringRef(example.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"my-subnet\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnetGroup, err := elasticache.NewSubnetGroup(ctx, \"example\", \u0026elasticache.SubnetGroupArgs{\n\t\t\tName: pulumi.String(\"my-cache-subnet\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleSubnet.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticache.NewCluster(ctx, \"example\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"cluster-example\"),\n\t\t\tOutpostMode: pulumi.String(\"single-outpost\"),\n\t\t\tPreferredOutpostArn: pulumi.String(exampleGetOutpost.Arn),\n\t\t\tEngine: pulumi.String(\"memcached\"),\n\t\t\tNodeType: pulumi.String(\"cache.r5.large\"),\n\t\t\tNumCacheNodes: pulumi.Int(2),\n\t\t\tParameterGroupName: pulumi.String(\"default.memcached1.4\"),\n\t\t\tPort: pulumi.Int(11211),\n\t\t\tSubnetGroupName: exampleSubnetGroup.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetOutpostsArgs;\nimport com.pulumi.aws.outposts.inputs.GetOutpostArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.elasticache.SubnetGroup;\nimport com.pulumi.aws.elasticache.SubnetGroupArgs;\nimport com.pulumi.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getOutposts();\n\n final var exampleGetOutpost = OutpostsFunctions.getOutpost(GetOutpostArgs.builder()\n .id(example.applyValue(getOutpostsResult -\u003e getOutpostsResult.ids()[0]))\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n .vpcId(exampleVpc.id())\n .cidrBlock(\"10.0.1.0/24\")\n .tags(Map.of(\"Name\", \"my-subnet\"))\n .build());\n\n var exampleSubnetGroup = new SubnetGroup(\"exampleSubnetGroup\", SubnetGroupArgs.builder()\n .name(\"my-cache-subnet\")\n .subnetIds(exampleSubnet.id())\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .clusterId(\"cluster-example\")\n .outpostMode(\"single-outpost\")\n .preferredOutpostArn(exampleGetOutpost.applyValue(getOutpostResult -\u003e getOutpostResult.arn()))\n .engine(\"memcached\")\n .nodeType(\"cache.r5.large\")\n .numCacheNodes(2)\n .parameterGroupName(\"default.memcached1.4\")\n .port(11211)\n .subnetGroupName(exampleSubnetGroup.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.0.0.0/16\n exampleSubnet:\n type: aws:ec2:Subnet\n name: example\n properties:\n vpcId: ${exampleVpc.id}\n cidrBlock: 10.0.1.0/24\n tags:\n Name: my-subnet\n exampleSubnetGroup:\n type: aws:elasticache:SubnetGroup\n name: example\n properties:\n name: my-cache-subnet\n subnetIds:\n - ${exampleSubnet.id}\n exampleCluster:\n type: aws:elasticache:Cluster\n name: example\n properties:\n clusterId: cluster-example\n outpostMode: single-outpost\n preferredOutpostArn: ${exampleGetOutpost.arn}\n engine: memcached\n nodeType: cache.r5.large\n numCacheNodes: 2\n parameterGroupName: default.memcached1.4\n port: 11211\n subnetGroupName: ${exampleSubnetGroup.name}\nvariables:\n example:\n fn::invoke:\n function: aws:outposts:getOutposts\n arguments: {}\n exampleGetOutpost:\n fn::invoke:\n function: aws:outposts:getOutpost\n arguments:\n id: ${example.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache Clusters using the `cluster_id`. For example:\n\n```sh\n$ pulumi import aws:elasticache/cluster:Cluster my_cluster my_cluster\n```\n", + "description": "Provides an ElastiCache Cluster resource, which manages either a\n[Memcached cluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html), a\n[single-node Redis instance](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html), or a\n[read replica in a Redis (Cluster Mode Enabled) replication group].\n\nFor working with Redis (Cluster Mode Enabled) replication groups, see the\n`aws.elasticache.ReplicationGroup` resource.\n\n\u003e **Note:** When you change an attribute, such as `num_cache_nodes`, by default\nit is applied in the next maintenance window. Because of this, this provider may report\na difference in its planning phase because the actual modification has not yet taken\nplace. You can use the `apply_immediately` flag to instruct the service to apply the\nchange immediately. Using `apply_immediately` can result in a brief downtime as the server reboots.\nSee the AWS Documentation on Modifying an ElastiCache Cache Cluster for\n[ElastiCache for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/Clusters.Modify.html) or\n[ElastiCache for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Modify.html)\nfor more information.\n\n\u003e **Note:** Any attribute changes that re-create the resource will be applied immediately, regardless of the value of `apply_immediately`.\n\n## Example Usage\n\n### Memcached Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticache.Cluster(\"example\", {\n clusterId: \"cluster-example\",\n engine: \"memcached\",\n nodeType: \"cache.m4.large\",\n numCacheNodes: 2,\n parameterGroupName: \"default.memcached1.4\",\n port: 11211,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.Cluster(\"example\",\n cluster_id=\"cluster-example\",\n engine=\"memcached\",\n node_type=\"cache.m4.large\",\n num_cache_nodes=2,\n parameter_group_name=\"default.memcached1.4\",\n port=11211)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElastiCache.Cluster(\"example\", new()\n {\n ClusterId = \"cluster-example\",\n Engine = \"memcached\",\n NodeType = \"cache.m4.large\",\n NumCacheNodes = 2,\n ParameterGroupName = \"default.memcached1.4\",\n Port = 11211,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.NewCluster(ctx, \"example\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"cluster-example\"),\n\t\t\tEngine: pulumi.String(\"memcached\"),\n\t\t\tNodeType: pulumi.String(\"cache.m4.large\"),\n\t\t\tNumCacheNodes: pulumi.Int(2),\n\t\t\tParameterGroupName: pulumi.String(\"default.memcached1.4\"),\n\t\t\tPort: pulumi.Int(11211),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterId(\"cluster-example\")\n .engine(\"memcached\")\n .nodeType(\"cache.m4.large\")\n .numCacheNodes(2)\n .parameterGroupName(\"default.memcached1.4\")\n .port(11211)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticache:Cluster\n properties:\n clusterId: cluster-example\n engine: memcached\n nodeType: cache.m4.large\n numCacheNodes: 2\n parameterGroupName: default.memcached1.4\n port: 11211\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticache.Cluster(\"example\", {\n clusterId: \"cluster-example\",\n engine: \"redis\",\n nodeType: \"cache.m4.large\",\n numCacheNodes: 1,\n parameterGroupName: \"default.redis3.2\",\n engineVersion: \"3.2.10\",\n port: 6379,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.Cluster(\"example\",\n cluster_id=\"cluster-example\",\n engine=\"redis\",\n node_type=\"cache.m4.large\",\n num_cache_nodes=1,\n parameter_group_name=\"default.redis3.2\",\n engine_version=\"3.2.10\",\n port=6379)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElastiCache.Cluster(\"example\", new()\n {\n ClusterId = \"cluster-example\",\n Engine = \"redis\",\n NodeType = \"cache.m4.large\",\n NumCacheNodes = 1,\n ParameterGroupName = \"default.redis3.2\",\n EngineVersion = \"3.2.10\",\n Port = 6379,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.NewCluster(ctx, \"example\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"cluster-example\"),\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tNodeType: pulumi.String(\"cache.m4.large\"),\n\t\t\tNumCacheNodes: pulumi.Int(1),\n\t\t\tParameterGroupName: pulumi.String(\"default.redis3.2\"),\n\t\t\tEngineVersion: pulumi.String(\"3.2.10\"),\n\t\t\tPort: pulumi.Int(6379),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterId(\"cluster-example\")\n .engine(\"redis\")\n .nodeType(\"cache.m4.large\")\n .numCacheNodes(1)\n .parameterGroupName(\"default.redis3.2\")\n .engineVersion(\"3.2.10\")\n .port(6379)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticache:Cluster\n properties:\n clusterId: cluster-example\n engine: redis\n nodeType: cache.m4.large\n numCacheNodes: 1\n parameterGroupName: default.redis3.2\n engineVersion: 3.2.10\n port: 6379\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Cluster Mode Disabled Read Replica Instance\n\nThese inherit their settings from the replication group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replica = new aws.elasticache.Cluster(\"replica\", {\n clusterId: \"cluster-example\",\n replicationGroupId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplica = aws.elasticache.Cluster(\"replica\",\n cluster_id=\"cluster-example\",\n replication_group_id=example[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replica = new Aws.ElastiCache.Cluster(\"replica\", new()\n {\n ClusterId = \"cluster-example\",\n ReplicationGroupId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.NewCluster(ctx, \"replica\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"cluster-example\"),\n\t\t\tReplicationGroupId: pulumi.Any(example.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var replica = new Cluster(\"replica\", ClusterArgs.builder()\n .clusterId(\"cluster-example\")\n .replicationGroupId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replica:\n type: aws:elasticache:Cluster\n properties:\n clusterId: cluster-example\n replicationGroupId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Log Delivery configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.elasticache.Cluster(\"test\", {\n clusterId: \"mycluster\",\n engine: \"redis\",\n nodeType: \"cache.t3.micro\",\n numCacheNodes: 1,\n port: 6379,\n applyImmediately: true,\n logDeliveryConfigurations: [\n {\n destination: example.name,\n destinationType: \"cloudwatch-logs\",\n logFormat: \"text\",\n logType: \"slow-log\",\n },\n {\n destination: exampleAwsKinesisFirehoseDeliveryStream.name,\n destinationType: \"kinesis-firehose\",\n logFormat: \"json\",\n logType: \"engine-log\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.elasticache.Cluster(\"test\",\n cluster_id=\"mycluster\",\n engine=\"redis\",\n node_type=\"cache.t3.micro\",\n num_cache_nodes=1,\n port=6379,\n apply_immediately=True,\n log_delivery_configurations=[\n {\n \"destination\": example[\"name\"],\n \"destination_type\": \"cloudwatch-logs\",\n \"log_format\": \"text\",\n \"log_type\": \"slow-log\",\n },\n {\n \"destination\": example_aws_kinesis_firehose_delivery_stream[\"name\"],\n \"destination_type\": \"kinesis-firehose\",\n \"log_format\": \"json\",\n \"log_type\": \"engine-log\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.ElastiCache.Cluster(\"test\", new()\n {\n ClusterId = \"mycluster\",\n Engine = \"redis\",\n NodeType = \"cache.t3.micro\",\n NumCacheNodes = 1,\n Port = 6379,\n ApplyImmediately = true,\n LogDeliveryConfigurations = new[]\n {\n new Aws.ElastiCache.Inputs.ClusterLogDeliveryConfigurationArgs\n {\n Destination = example.Name,\n DestinationType = \"cloudwatch-logs\",\n LogFormat = \"text\",\n LogType = \"slow-log\",\n },\n new Aws.ElastiCache.Inputs.ClusterLogDeliveryConfigurationArgs\n {\n Destination = exampleAwsKinesisFirehoseDeliveryStream.Name,\n DestinationType = \"kinesis-firehose\",\n LogFormat = \"json\",\n LogType = \"engine-log\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.NewCluster(ctx, \"test\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"mycluster\"),\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tNodeType: pulumi.String(\"cache.t3.micro\"),\n\t\t\tNumCacheNodes: pulumi.Int(1),\n\t\t\tPort: pulumi.Int(6379),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tLogDeliveryConfigurations: elasticache.ClusterLogDeliveryConfigurationArray{\n\t\t\t\t\u0026elasticache.ClusterLogDeliveryConfigurationArgs{\n\t\t\t\t\tDestination: pulumi.Any(example.Name),\n\t\t\t\t\tDestinationType: pulumi.String(\"cloudwatch-logs\"),\n\t\t\t\t\tLogFormat: pulumi.String(\"text\"),\n\t\t\t\t\tLogType: pulumi.String(\"slow-log\"),\n\t\t\t\t},\n\t\t\t\t\u0026elasticache.ClusterLogDeliveryConfigurationArgs{\n\t\t\t\t\tDestination: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Name),\n\t\t\t\t\tDestinationType: pulumi.String(\"kinesis-firehose\"),\n\t\t\t\t\tLogFormat: pulumi.String(\"json\"),\n\t\t\t\t\tLogType: pulumi.String(\"engine-log\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport com.pulumi.aws.elasticache.inputs.ClusterLogDeliveryConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Cluster(\"test\", ClusterArgs.builder()\n .clusterId(\"mycluster\")\n .engine(\"redis\")\n .nodeType(\"cache.t3.micro\")\n .numCacheNodes(1)\n .port(6379)\n .applyImmediately(true)\n .logDeliveryConfigurations( \n ClusterLogDeliveryConfigurationArgs.builder()\n .destination(example.name())\n .destinationType(\"cloudwatch-logs\")\n .logFormat(\"text\")\n .logType(\"slow-log\")\n .build(),\n ClusterLogDeliveryConfigurationArgs.builder()\n .destination(exampleAwsKinesisFirehoseDeliveryStream.name())\n .destinationType(\"kinesis-firehose\")\n .logFormat(\"json\")\n .logType(\"engine-log\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:elasticache:Cluster\n properties:\n clusterId: mycluster\n engine: redis\n nodeType: cache.t3.micro\n numCacheNodes: 1\n port: 6379\n applyImmediately: true\n logDeliveryConfigurations:\n - destination: ${example.name}\n destinationType: cloudwatch-logs\n logFormat: text\n logType: slow-log\n - destination: ${exampleAwsKinesisFirehoseDeliveryStream.name}\n destinationType: kinesis-firehose\n logFormat: json\n logType: engine-log\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Elasticache Cluster in Outpost\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getOutposts({});\nconst exampleGetOutpost = example.then(example =\u003e aws.outposts.getOutpost({\n id: example.ids?.[0],\n}));\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleSubnet = new aws.ec2.Subnet(\"example\", {\n vpcId: exampleVpc.id,\n cidrBlock: \"10.0.1.0/24\",\n tags: {\n Name: \"my-subnet\",\n },\n});\nconst exampleSubnetGroup = new aws.elasticache.SubnetGroup(\"example\", {\n name: \"my-cache-subnet\",\n subnetIds: [exampleSubnet.id],\n});\nconst exampleCluster = new aws.elasticache.Cluster(\"example\", {\n clusterId: \"cluster-example\",\n outpostMode: \"single-outpost\",\n preferredOutpostArn: exampleGetOutpost.then(exampleGetOutpost =\u003e exampleGetOutpost.arn),\n engine: \"memcached\",\n nodeType: \"cache.r5.large\",\n numCacheNodes: 2,\n parameterGroupName: \"default.memcached1.4\",\n port: 11211,\n subnetGroupName: exampleSubnetGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_outposts()\nexample_get_outpost = aws.outposts.get_outpost(id=example.ids[0])\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_subnet = aws.ec2.Subnet(\"example\",\n vpc_id=example_vpc.id,\n cidr_block=\"10.0.1.0/24\",\n tags={\n \"Name\": \"my-subnet\",\n })\nexample_subnet_group = aws.elasticache.SubnetGroup(\"example\",\n name=\"my-cache-subnet\",\n subnet_ids=[example_subnet.id])\nexample_cluster = aws.elasticache.Cluster(\"example\",\n cluster_id=\"cluster-example\",\n outpost_mode=\"single-outpost\",\n preferred_outpost_arn=example_get_outpost.arn,\n engine=\"memcached\",\n node_type=\"cache.r5.large\",\n num_cache_nodes=2,\n parameter_group_name=\"default.memcached1.4\",\n port=11211,\n subnet_group_name=example_subnet_group.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetOutposts.Invoke();\n\n var exampleGetOutpost = Aws.Outposts.GetOutpost.Invoke(new()\n {\n Id = example.Apply(getOutpostsResult =\u003e getOutpostsResult.Ids[0]),\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleSubnet = new Aws.Ec2.Subnet(\"example\", new()\n {\n VpcId = exampleVpc.Id,\n CidrBlock = \"10.0.1.0/24\",\n Tags = \n {\n { \"Name\", \"my-subnet\" },\n },\n });\n\n var exampleSubnetGroup = new Aws.ElastiCache.SubnetGroup(\"example\", new()\n {\n Name = \"my-cache-subnet\",\n SubnetIds = new[]\n {\n exampleSubnet.Id,\n },\n });\n\n var exampleCluster = new Aws.ElastiCache.Cluster(\"example\", new()\n {\n ClusterId = \"cluster-example\",\n OutpostMode = \"single-outpost\",\n PreferredOutpostArn = exampleGetOutpost.Apply(getOutpostResult =\u003e getOutpostResult.Arn),\n Engine = \"memcached\",\n NodeType = \"cache.r5.large\",\n NumCacheNodes = 2,\n ParameterGroupName = \"default.memcached1.4\",\n Port = 11211,\n SubnetGroupName = exampleSubnetGroup.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := outposts.GetOutposts(ctx, \u0026outposts.GetOutpostsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetOutpost, err := outposts.GetOutpost(ctx, \u0026outposts.GetOutpostArgs{\n\t\t\tId: pulumi.StringRef(example.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"my-subnet\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnetGroup, err := elasticache.NewSubnetGroup(ctx, \"example\", \u0026elasticache.SubnetGroupArgs{\n\t\t\tName: pulumi.String(\"my-cache-subnet\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleSubnet.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticache.NewCluster(ctx, \"example\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"cluster-example\"),\n\t\t\tOutpostMode: pulumi.String(\"single-outpost\"),\n\t\t\tPreferredOutpostArn: pulumi.String(exampleGetOutpost.Arn),\n\t\t\tEngine: pulumi.String(\"memcached\"),\n\t\t\tNodeType: pulumi.String(\"cache.r5.large\"),\n\t\t\tNumCacheNodes: pulumi.Int(2),\n\t\t\tParameterGroupName: pulumi.String(\"default.memcached1.4\"),\n\t\t\tPort: pulumi.Int(11211),\n\t\t\tSubnetGroupName: exampleSubnetGroup.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetOutpostsArgs;\nimport com.pulumi.aws.outposts.inputs.GetOutpostArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.elasticache.SubnetGroup;\nimport com.pulumi.aws.elasticache.SubnetGroupArgs;\nimport com.pulumi.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getOutposts();\n\n final var exampleGetOutpost = OutpostsFunctions.getOutpost(GetOutpostArgs.builder()\n .id(example.applyValue(getOutpostsResult -\u003e getOutpostsResult.ids()[0]))\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n .vpcId(exampleVpc.id())\n .cidrBlock(\"10.0.1.0/24\")\n .tags(Map.of(\"Name\", \"my-subnet\"))\n .build());\n\n var exampleSubnetGroup = new SubnetGroup(\"exampleSubnetGroup\", SubnetGroupArgs.builder()\n .name(\"my-cache-subnet\")\n .subnetIds(exampleSubnet.id())\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .clusterId(\"cluster-example\")\n .outpostMode(\"single-outpost\")\n .preferredOutpostArn(exampleGetOutpost.applyValue(getOutpostResult -\u003e getOutpostResult.arn()))\n .engine(\"memcached\")\n .nodeType(\"cache.r5.large\")\n .numCacheNodes(2)\n .parameterGroupName(\"default.memcached1.4\")\n .port(11211)\n .subnetGroupName(exampleSubnetGroup.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.0.0.0/16\n exampleSubnet:\n type: aws:ec2:Subnet\n name: example\n properties:\n vpcId: ${exampleVpc.id}\n cidrBlock: 10.0.1.0/24\n tags:\n Name: my-subnet\n exampleSubnetGroup:\n type: aws:elasticache:SubnetGroup\n name: example\n properties:\n name: my-cache-subnet\n subnetIds:\n - ${exampleSubnet.id}\n exampleCluster:\n type: aws:elasticache:Cluster\n name: example\n properties:\n clusterId: cluster-example\n outpostMode: single-outpost\n preferredOutpostArn: ${exampleGetOutpost.arn}\n engine: memcached\n nodeType: cache.r5.large\n numCacheNodes: 2\n parameterGroupName: default.memcached1.4\n port: 11211\n subnetGroupName: ${exampleSubnetGroup.name}\nvariables:\n example:\n fn::invoke:\n Function: aws:outposts:getOutposts\n Arguments: {}\n exampleGetOutpost:\n fn::invoke:\n Function: aws:outposts:getOutpost\n Arguments:\n id: ${example.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache Clusters using the `cluster_id`. For example:\n\n```sh\n$ pulumi import aws:elasticache/cluster:Cluster my_cluster my_cluster\n```\n", "properties": { "applyImmediately": { "type": "boolean", @@ -259656,7 +259656,7 @@ } }, "aws:elasticache/reservedCacheNode:ReservedCacheNode": { - "description": "Manages an ElastiCache Reserved Cache Node.\n\n\u003e **NOTE:** Once created, a reservation is valid for the `duration` of the provided `offering_id` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [ElastiCache Reserved Nodes Documentation](https://aws.amazon.com/elasticache/reserved-cache-nodes/) and [PurchaseReservedCacheNodesOffering](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_PurchaseReservedCacheNodesOffering.html).\n\n\u003e **NOTE:** Due to the expense of testing this resource, we provide it as best effort. If you find it useful, and have the ability to help test or notice issues, consider reaching out to us on GitHub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n exampleReservedCacheNode:\n type: aws:elasticache:ReservedCacheNode\n name: example\n properties:\n reservedCacheNodesOfferingId: ${example.offeringId}\n id: optionalCustomReservationID\n cacheNodeCount: 3\nvariables:\n example:\n fn::invoke:\n function: aws:elasticache:getReservedCacheNodeOffering\n arguments:\n cacheNodeType: cache.t4g.small\n duration: P1Y\n offeringType: No Upfront\n productDescription: redis\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache Reserved Cache Node using the `id`. For example:\n\n```sh\n$ pulumi import aws:elasticache/reservedCacheNode:ReservedCacheNode example CustomReservationID\n```\n", + "description": "Manages an ElastiCache Reserved Cache Node.\n\n\u003e **NOTE:** Once created, a reservation is valid for the `duration` of the provided `offering_id` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [ElastiCache Reserved Nodes Documentation](https://aws.amazon.com/elasticache/reserved-cache-nodes/) and [PurchaseReservedCacheNodesOffering](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_PurchaseReservedCacheNodesOffering.html).\n\n\u003e **NOTE:** Due to the expense of testing this resource, we provide it as best effort. If you find it useful, and have the ability to help test or notice issues, consider reaching out to us on GitHub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n exampleReservedCacheNode:\n type: aws:elasticache:ReservedCacheNode\n name: example\n properties:\n reservedCacheNodesOfferingId: ${example.offeringId}\n id: optionalCustomReservationID\n cacheNodeCount: 3\nvariables:\n example:\n fn::invoke:\n Function: aws:elasticache:getReservedCacheNodeOffering\n Arguments:\n cacheNodeType: cache.t4g.small\n duration: P1Y\n offeringType: No Upfront\n productDescription: redis\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache Reserved Cache Node using the `id`. For example:\n\n```sh\n$ pulumi import aws:elasticache/reservedCacheNode:ReservedCacheNode example CustomReservationID\n```\n", "properties": { "arn": { "type": "string", @@ -261394,7 +261394,7 @@ } }, "aws:elasticsearch/domain:Domain": { - "description": "Manages an AWS Elasticsearch Domain.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticsearch.Domain(\"example\", {\n domainName: \"example\",\n elasticsearchVersion: \"7.10\",\n clusterConfig: {\n instanceType: \"r4.large.elasticsearch\",\n },\n tags: {\n Domain: \"TestDomain\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticsearch.Domain(\"example\",\n domain_name=\"example\",\n elasticsearch_version=\"7.10\",\n cluster_config={\n \"instance_type\": \"r4.large.elasticsearch\",\n },\n tags={\n \"Domain\": \"TestDomain\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElasticSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n ElasticsearchVersion = \"7.10\",\n ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r4.large.elasticsearch\",\n },\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\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 := elasticsearch.NewDomain(ctx, \"example\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tElasticsearchVersion: pulumi.String(\"7.10\"),\n\t\t\tClusterConfig: \u0026elasticsearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r4.large.elasticsearch\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Domain\": pulumi.String(\"TestDomain\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"example\")\n .elasticsearchVersion(\"7.10\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r4.large.elasticsearch\")\n .build())\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticsearch:Domain\n properties:\n domainName: example\n elasticsearchVersion: '7.10'\n clusterConfig:\n instanceType: r4.large.elasticsearch\n tags:\n Domain: TestDomain\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Access Policy\n\n\u003e See also: `aws.elasticsearch.DomainPolicy` resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst domain = config.get(\"domain\") || \"tf-test\";\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst example = new aws.elasticsearch.Domain(\"example\", {\n domainName: domain,\n accessPolicies: Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e `{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": [\"66.193.100.22/32\"]}\n }\n }\n ]\n}\n`),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"tf-test\"\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample = aws.elasticsearch.Domain(\"example\",\n domain_name=domain,\n access_policies=f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {{\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:{current.name}:{current_get_caller_identity.account_id}:domain/{domain}/*\",\n \"Condition\": {{\n \"IpAddress\": {{\"aws:SourceIp\": [\"66.193.100.22/32\"]}}\n }}\n }}\n ]\n}}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var domain = config.Get(\"domain\") ?? \"tf-test\";\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.ElasticSearch.Domain(\"example\", new()\n {\n DomainName = domain,\n AccessPolicies = Output.Tuple(current, currentGetCallerIdentity).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n return @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {{\n \"\"Action\"\": \"\"es:*\"\",\n \"\"Principal\"\": \"\"*\"\",\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Resource\"\": \"\"arn:aws:es:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:domain/{domain}/*\"\",\n \"\"Condition\"\": {{\n \"\"IpAddress\"\": {{\"\"aws:SourceIp\"\": [\"\"66.193.100.22/32\"\"]}}\n }}\n }}\n ]\n}}\n\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdomain := \"tf-test\"\n\t\tif param := cfg.Get(\"domain\"); param != \"\" {\n\t\t\tdomain = param\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticsearch.NewDomain(ctx, \"example\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(domain),\n\t\t\tAccessPolicies: pulumi.Any(fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:%v:%v:domain/%v/*\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": [\"66.193.100.22/32\"]}\n }\n }\n ]\n}\n`, current.Name, currentGetCallerIdentity.AccountId, domain)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var domain = config.get(\"domain\").orElse(\"tf-test\");\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(domain)\n .accessPolicies(\"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:%s:%s:domain/%s/*\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": [\"66.193.100.22/32\"]}\n }\n }\n ]\n}\n\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),domain))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domain:\n type: string\n default: tf-test\nresources:\n example:\n type: aws:elasticsearch:Domain\n properties:\n domainName: ${domain}\n accessPolicies: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": [\"66.193.100.22/32\"]}\n }\n }\n ]\n }\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Log Publishing to CloudWatch Logs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"es.amazonaws.com\"],\n }],\n actions: [\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n ],\n resources: [\"arn:aws:logs:*\"],\n }],\n});\nconst exampleLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"example\", {\n policyName: \"example\",\n policyDocument: example.then(example =\u003e example.json),\n});\nconst exampleDomain = new aws.elasticsearch.Domain(\"example\", {logPublishingOptions: [{\n cloudwatchLogGroupArn: exampleLogGroup.arn,\n logType: \"INDEX_SLOW_LOGS\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_log_group = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"es.amazonaws.com\"],\n }],\n \"actions\": [\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n ],\n \"resources\": [\"arn:aws:logs:*\"],\n}])\nexample_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"example\",\n policy_name=\"example\",\n policy_document=example.json)\nexample_domain = aws.elasticsearch.Domain(\"example\", log_publishing_options=[{\n \"cloudwatch_log_group_arn\": example_log_group.arn,\n \"log_type\": \"INDEX_SLOW_LOGS\",\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"es.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*\",\n },\n },\n },\n });\n\n var exampleLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"example\", new()\n {\n PolicyName = \"example\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDomain = new Aws.ElasticSearch.Domain(\"example\", new()\n {\n LogPublishingOptions = new[]\n {\n new Aws.ElasticSearch.Inputs.DomainLogPublishingOptionArgs\n {\n CloudwatchLogGroupArn = exampleLogGroup.Arn,\n LogType = \"INDEX_SLOW_LOGS\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"es.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:PutLogEventsBatch\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"example\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyName: pulumi.String(\"example\"),\n\t\t\tPolicyDocument: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticsearch.NewDomain(ctx, \"example\", \u0026elasticsearch.DomainArgs{\n\t\t\tLogPublishingOptions: elasticsearch.DomainLogPublishingOptionArray{\n\t\t\t\t\u0026elasticsearch.DomainLogPublishingOptionArgs{\n\t\t\t\t\tCloudwatchLogGroupArn: exampleLogGroup.Arn,\n\t\t\t\t\tLogType: pulumi.String(\"INDEX_SLOW_LOGS\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainLogPublishingOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder()\n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"es.amazonaws.com\")\n .build())\n .actions( \n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\")\n .resources(\"arn:aws:logs:*\")\n .build())\n .build());\n\n var exampleLogResourcePolicy = new LogResourcePolicy(\"exampleLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyName(\"example\")\n .policyDocument(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .logPublishingOptions(DomainLogPublishingOptionArgs.builder()\n .cloudwatchLogGroupArn(exampleLogGroup.arn())\n .logType(\"INDEX_SLOW_LOGS\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: example\n exampleLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: example\n properties:\n policyName: example\n policyDocument: ${example.json}\n exampleDomain:\n type: aws:elasticsearch:Domain\n name: example\n properties:\n logPublishingOptions:\n - cloudwatchLogGroupArn: ${exampleLogGroup.arn}\n logType: INDEX_SLOW_LOGS\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - es.amazonaws.com\n actions:\n - logs:PutLogEvents\n - logs:PutLogEventsBatch\n - logs:CreateLogStream\n resources:\n - arn:aws:logs:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC based ES\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst vpc = config.requireObject(\"vpc\");\nconst domain = config.get(\"domain\") || \"tf-test\";\nconst selected = aws.ec2.getVpc({\n tags: {\n Name: vpc,\n },\n});\nconst selectedGetSubnets = selected.then(selected =\u003e aws.ec2.getSubnets({\n filters: [{\n name: \"vpc-id\",\n values: [selected.id],\n }],\n tags: {\n Tier: \"private\",\n },\n}));\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst es = new aws.ec2.SecurityGroup(\"es\", {\n name: `${vpc}-elasticsearch-${domain}`,\n description: \"Managed by Pulumi\",\n vpcId: selected.then(selected =\u003e selected.id),\n ingress: [{\n fromPort: 443,\n toPort: 443,\n protocol: \"tcp\",\n cidrBlocks: [selected.then(selected =\u003e selected.cidrBlock)],\n }],\n});\nconst esServiceLinkedRole = new aws.iam.ServiceLinkedRole(\"es\", {awsServiceName: \"opensearchservice.amazonaws.com\"});\nconst esDomain = new aws.elasticsearch.Domain(\"es\", {\n domainName: domain,\n elasticsearchVersion: \"6.3\",\n clusterConfig: {\n instanceType: \"m4.large.elasticsearch\",\n zoneAwarenessEnabled: true,\n },\n vpcOptions: {\n subnetIds: [\n selectedGetSubnets.then(selectedGetSubnets =\u003e selectedGetSubnets.ids?.[0]),\n selectedGetSubnets.then(selectedGetSubnets =\u003e selectedGetSubnets.ids?.[1]),\n ],\n securityGroupIds: [es.id],\n },\n advancedOptions: {\n \"rest.action.multi.allow_explicit_index\": \"true\",\n },\n accessPolicies: Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e `{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\t\"Action\": \"es:*\",\n\t\t\t\"Principal\": \"*\",\n\t\t\t\"Effect\": \"Allow\",\n\t\t\t\"Resource\": \"arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\"\n\t\t}\n\t]\n}\n`),\n tags: {\n Domain: \"TestDomain\",\n },\n}, {\n dependsOn: [esServiceLinkedRole],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nvpc = config.require_object(\"vpc\")\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"tf-test\"\nselected = aws.ec2.get_vpc(tags={\n \"Name\": vpc,\n})\nselected_get_subnets = aws.ec2.get_subnets(filters=[{\n \"name\": \"vpc-id\",\n \"values\": [selected.id],\n }],\n tags={\n \"Tier\": \"private\",\n })\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nes = aws.ec2.SecurityGroup(\"es\",\n name=f\"{vpc}-elasticsearch-{domain}\",\n description=\"Managed by Pulumi\",\n vpc_id=selected.id,\n ingress=[{\n \"from_port\": 443,\n \"to_port\": 443,\n \"protocol\": \"tcp\",\n \"cidr_blocks\": [selected.cidr_block],\n }])\nes_service_linked_role = aws.iam.ServiceLinkedRole(\"es\", aws_service_name=\"opensearchservice.amazonaws.com\")\nes_domain = aws.elasticsearch.Domain(\"es\",\n domain_name=domain,\n elasticsearch_version=\"6.3\",\n cluster_config={\n \"instance_type\": \"m4.large.elasticsearch\",\n \"zone_awareness_enabled\": True,\n },\n vpc_options={\n \"subnet_ids\": [\n selected_get_subnets.ids[0],\n selected_get_subnets.ids[1],\n ],\n \"security_group_ids\": [es.id],\n },\n advanced_options={\n \"rest.action.multi.allow_explicit_index\": \"true\",\n },\n access_policies=f\"\"\"{{\n\\x09\"Version\": \"2012-10-17\",\n\\x09\"Statement\": [\n\\x09\\x09{{\n\\x09\\x09\\x09\"Action\": \"es:*\",\n\\x09\\x09\\x09\"Principal\": \"*\",\n\\x09\\x09\\x09\"Effect\": \"Allow\",\n\\x09\\x09\\x09\"Resource\": \"arn:aws:es:{current.name}:{current_get_caller_identity.account_id}:domain/{domain}/*\"\n\\x09\\x09}}\n\\x09]\n}}\n\"\"\",\n tags={\n \"Domain\": \"TestDomain\",\n },\n opts = pulumi.ResourceOptions(depends_on=[es_service_linked_role]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var vpc = config.RequireObject\u003cdynamic\u003e(\"vpc\");\n var domain = config.Get(\"domain\") ?? \"tf-test\";\n var selected = Aws.Ec2.GetVpc.Invoke(new()\n {\n Tags = \n {\n { \"Name\", vpc },\n },\n });\n\n var selectedGetSubnets = Aws.Ec2.GetSubnets.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSubnetsFilterInputArgs\n {\n Name = \"vpc-id\",\n Values = new[]\n {\n selected.Apply(getVpcResult =\u003e getVpcResult.Id),\n },\n },\n },\n Tags = \n {\n { \"Tier\", \"private\" },\n },\n });\n\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var es = new Aws.Ec2.SecurityGroup(\"es\", new()\n {\n Name = $\"{vpc}-elasticsearch-{domain}\",\n Description = \"Managed by Pulumi\",\n VpcId = selected.Apply(getVpcResult =\u003e getVpcResult.Id),\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n {\n FromPort = 443,\n ToPort = 443,\n Protocol = \"tcp\",\n CidrBlocks = new[]\n {\n selected.Apply(getVpcResult =\u003e getVpcResult.CidrBlock),\n },\n },\n },\n });\n\n var esServiceLinkedRole = new Aws.Iam.ServiceLinkedRole(\"es\", new()\n {\n AwsServiceName = \"opensearchservice.amazonaws.com\",\n });\n\n var esDomain = new Aws.ElasticSearch.Domain(\"es\", new()\n {\n DomainName = domain,\n ElasticsearchVersion = \"6.3\",\n ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"m4.large.elasticsearch\",\n ZoneAwarenessEnabled = true,\n },\n VpcOptions = new Aws.ElasticSearch.Inputs.DomainVpcOptionsArgs\n {\n SubnetIds = new[]\n {\n selectedGetSubnets.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[0]),\n selectedGetSubnets.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[1]),\n },\n SecurityGroupIds = new[]\n {\n es.Id,\n },\n },\n AdvancedOptions = \n {\n { \"rest.action.multi.allow_explicit_index\", \"true\" },\n },\n AccessPolicies = Output.Tuple(current, currentGetCallerIdentity).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n return @$\"{{\n\t\"\"Version\"\": \"\"2012-10-17\"\",\n\t\"\"Statement\"\": [\n\t\t{{\n\t\t\t\"\"Action\"\": \"\"es:*\"\",\n\t\t\t\"\"Principal\"\": \"\"*\"\",\n\t\t\t\"\"Effect\"\": \"\"Allow\"\",\n\t\t\t\"\"Resource\"\": \"\"arn:aws:es:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:domain/{domain}/*\"\"\n\t\t}}\n\t]\n}}\n\";\n }),\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n esServiceLinkedRole,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nvpc := cfg.RequireObject(\"vpc\")\ndomain := \"tf-test\";\nif param := cfg.Get(\"domain\"); param != \"\"{\ndomain = param\n}\nselected, err := ec2.LookupVpc(ctx, \u0026ec2.LookupVpcArgs{\nTags: pulumi.StringMap{\n\"Name\": vpc,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nselectedGetSubnets, err := ec2.GetSubnets(ctx, \u0026ec2.GetSubnetsArgs{\nFilters: []ec2.GetSubnetsFilter{\n{\nName: \"vpc-id\",\nValues: interface{}{\nselected.Id,\n},\n},\n},\nTags: map[string]interface{}{\n\"Tier\": \"private\",\n},\n}, nil);\nif err != nil {\nreturn err\n}\ncurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ncurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nes, err := ec2.NewSecurityGroup(ctx, \"es\", \u0026ec2.SecurityGroupArgs{\nName: pulumi.Sprintf(\"%v-elasticsearch-%v\", vpc, domain),\nDescription: pulumi.String(\"Managed by Pulumi\"),\nVpcId: pulumi.String(selected.Id),\nIngress: ec2.SecurityGroupIngressArray{\n\u0026ec2.SecurityGroupIngressArgs{\nFromPort: pulumi.Int(443),\nToPort: pulumi.Int(443),\nProtocol: pulumi.String(\"tcp\"),\nCidrBlocks: pulumi.StringArray{\npulumi.String(selected.CidrBlock),\n},\n},\n},\n})\nif err != nil {\nreturn err\n}\nesServiceLinkedRole, err := iam.NewServiceLinkedRole(ctx, \"es\", \u0026iam.ServiceLinkedRoleArgs{\nAwsServiceName: pulumi.String(\"opensearchservice.amazonaws.com\"),\n})\nif err != nil {\nreturn err\n}\n_, err = elasticsearch.NewDomain(ctx, \"es\", \u0026elasticsearch.DomainArgs{\nDomainName: pulumi.String(domain),\nElasticsearchVersion: pulumi.String(\"6.3\"),\nClusterConfig: \u0026elasticsearch.DomainClusterConfigArgs{\nInstanceType: pulumi.String(\"m4.large.elasticsearch\"),\nZoneAwarenessEnabled: pulumi.Bool(true),\n},\nVpcOptions: \u0026elasticsearch.DomainVpcOptionsArgs{\nSubnetIds: pulumi.StringArray{\npulumi.String(selectedGetSubnets.Ids[0]),\npulumi.String(selectedGetSubnets.Ids[1]),\n},\nSecurityGroupIds: pulumi.StringArray{\nes.ID(),\n},\n},\nAdvancedOptions: pulumi.StringMap{\n\"rest.action.multi.allow_explicit_index\": pulumi.String(\"true\"),\n},\nAccessPolicies: pulumi.Any(fmt.Sprintf(`{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\t\"Action\": \"es:*\",\n\t\t\t\"Principal\": \"*\",\n\t\t\t\"Effect\": \"Allow\",\n\t\t\t\"Resource\": \"arn:aws:es:%v:%v:domain/%v/*\"\n\t\t}\n\t]\n}\n`, current.Name, currentGetCallerIdentity.AccountId, domain)),\nTags: pulumi.StringMap{\n\"Domain\": pulumi.String(\"TestDomain\"),\n},\n}, pulumi.DependsOn([]pulumi.Resource{\nesServiceLinkedRole,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcArgs;\nimport com.pulumi.aws.ec2.inputs.GetSubnetsArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;\nimport com.pulumi.aws.iam.ServiceLinkedRole;\nimport com.pulumi.aws.iam.ServiceLinkedRoleArgs;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var vpc = config.get(\"vpc\");\n final var domain = config.get(\"domain\").orElse(\"tf-test\");\n final var selected = Ec2Functions.getVpc(GetVpcArgs.builder()\n .tags(Map.of(\"Name\", vpc))\n .build());\n\n final var selectedGetSubnets = Ec2Functions.getSubnets(GetSubnetsArgs.builder()\n .filters(GetSubnetsFilterArgs.builder()\n .name(\"vpc-id\")\n .values(selected.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .build())\n .tags(Map.of(\"Tier\", \"private\"))\n .build());\n\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var es = new SecurityGroup(\"es\", SecurityGroupArgs.builder()\n .name(String.format(\"%s-elasticsearch-%s\", vpc,domain))\n .description(\"Managed by Pulumi\")\n .vpcId(selected.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .ingress(SecurityGroupIngressArgs.builder()\n .fromPort(443)\n .toPort(443)\n .protocol(\"tcp\")\n .cidrBlocks(selected.applyValue(getVpcResult -\u003e getVpcResult.cidrBlock()))\n .build())\n .build());\n\n var esServiceLinkedRole = new ServiceLinkedRole(\"esServiceLinkedRole\", ServiceLinkedRoleArgs.builder()\n .awsServiceName(\"opensearchservice.amazonaws.com\")\n .build());\n\n var esDomain = new Domain(\"esDomain\", DomainArgs.builder()\n .domainName(domain)\n .elasticsearchVersion(\"6.3\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"m4.large.elasticsearch\")\n .zoneAwarenessEnabled(true)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .subnetIds( \n selectedGetSubnets.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[0]),\n selectedGetSubnets.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[1]))\n .securityGroupIds(es.id())\n .build())\n .advancedOptions(Map.of(\"rest.action.multi.allow_explicit_index\", \"true\"))\n .accessPolicies(\"\"\"\n{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\t\"Action\": \"es:*\",\n\t\t\t\"Principal\": \"*\",\n\t\t\t\"Effect\": \"Allow\",\n\t\t\t\"Resource\": \"arn:aws:es:%s:%s:domain/%s/*\"\n\t\t}\n\t]\n}\n\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),domain))\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(esServiceLinkedRole)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n vpc:\n type: dynamic\n domain:\n type: string\n default: tf-test\nresources:\n es:\n type: aws:ec2:SecurityGroup\n properties:\n name: ${vpc}-elasticsearch-${domain}\n description: Managed by Pulumi\n vpcId: ${selected.id}\n ingress:\n - fromPort: 443\n toPort: 443\n protocol: tcp\n cidrBlocks:\n - ${selected.cidrBlock}\n esServiceLinkedRole:\n type: aws:iam:ServiceLinkedRole\n name: es\n properties:\n awsServiceName: opensearchservice.amazonaws.com\n esDomain:\n type: aws:elasticsearch:Domain\n name: es\n properties:\n domainName: ${domain}\n elasticsearchVersion: '6.3'\n clusterConfig:\n instanceType: m4.large.elasticsearch\n zoneAwarenessEnabled: true\n vpcOptions:\n subnetIds:\n - ${selectedGetSubnets.ids[0]}\n - ${selectedGetSubnets.ids[1]}\n securityGroupIds:\n - ${es.id}\n advancedOptions:\n rest.action.multi.allow_explicit_index: 'true'\n accessPolicies: |\n {\n \t\"Version\": \"2012-10-17\",\n \t\"Statement\": [\n \t\t{\n \t\t\t\"Action\": \"es:*\",\n \t\t\t\"Principal\": \"*\",\n \t\t\t\"Effect\": \"Allow\",\n \t\t\t\"Resource\": \"arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\"\n \t\t}\n \t]\n }\n tags:\n Domain: TestDomain\n options:\n dependsOn:\n - ${esServiceLinkedRole}\nvariables:\n selected:\n fn::invoke:\n function: aws:ec2:getVpc\n arguments:\n tags:\n Name: ${vpc}\n selectedGetSubnets:\n fn::invoke:\n function: aws:ec2:getSubnets\n arguments:\n filters:\n - name: vpc-id\n values:\n - ${selected.id}\n tags:\n Tier: private\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Elasticsearch domains using the `domain_name`. For example:\n\n```sh\n$ pulumi import aws:elasticsearch/domain:Domain example domain_name\n```\n", + "description": "Manages an AWS Elasticsearch Domain.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticsearch.Domain(\"example\", {\n domainName: \"example\",\n elasticsearchVersion: \"7.10\",\n clusterConfig: {\n instanceType: \"r4.large.elasticsearch\",\n },\n tags: {\n Domain: \"TestDomain\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticsearch.Domain(\"example\",\n domain_name=\"example\",\n elasticsearch_version=\"7.10\",\n cluster_config={\n \"instance_type\": \"r4.large.elasticsearch\",\n },\n tags={\n \"Domain\": \"TestDomain\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElasticSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n ElasticsearchVersion = \"7.10\",\n ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r4.large.elasticsearch\",\n },\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\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 := elasticsearch.NewDomain(ctx, \"example\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tElasticsearchVersion: pulumi.String(\"7.10\"),\n\t\t\tClusterConfig: \u0026elasticsearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r4.large.elasticsearch\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Domain\": pulumi.String(\"TestDomain\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"example\")\n .elasticsearchVersion(\"7.10\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r4.large.elasticsearch\")\n .build())\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticsearch:Domain\n properties:\n domainName: example\n elasticsearchVersion: '7.10'\n clusterConfig:\n instanceType: r4.large.elasticsearch\n tags:\n Domain: TestDomain\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Access Policy\n\n\u003e See also: `aws.elasticsearch.DomainPolicy` resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst domain = config.get(\"domain\") || \"tf-test\";\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst example = new aws.elasticsearch.Domain(\"example\", {\n domainName: domain,\n accessPolicies: Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e `{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": [\"66.193.100.22/32\"]}\n }\n }\n ]\n}\n`),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"tf-test\"\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample = aws.elasticsearch.Domain(\"example\",\n domain_name=domain,\n access_policies=f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {{\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:{current.name}:{current_get_caller_identity.account_id}:domain/{domain}/*\",\n \"Condition\": {{\n \"IpAddress\": {{\"aws:SourceIp\": [\"66.193.100.22/32\"]}}\n }}\n }}\n ]\n}}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var domain = config.Get(\"domain\") ?? \"tf-test\";\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.ElasticSearch.Domain(\"example\", new()\n {\n DomainName = domain,\n AccessPolicies = Output.Tuple(current, currentGetCallerIdentity).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n return @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {{\n \"\"Action\"\": \"\"es:*\"\",\n \"\"Principal\"\": \"\"*\"\",\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Resource\"\": \"\"arn:aws:es:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:domain/{domain}/*\"\",\n \"\"Condition\"\": {{\n \"\"IpAddress\"\": {{\"\"aws:SourceIp\"\": [\"\"66.193.100.22/32\"\"]}}\n }}\n }}\n ]\n}}\n\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdomain := \"tf-test\"\n\t\tif param := cfg.Get(\"domain\"); param != \"\" {\n\t\t\tdomain = param\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticsearch.NewDomain(ctx, \"example\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(domain),\n\t\t\tAccessPolicies: pulumi.Any(fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:%v:%v:domain/%v/*\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": [\"66.193.100.22/32\"]}\n }\n }\n ]\n}\n`, current.Name, currentGetCallerIdentity.AccountId, domain)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var domain = config.get(\"domain\").orElse(\"tf-test\");\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(domain)\n .accessPolicies(\"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:%s:%s:domain/%s/*\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": [\"66.193.100.22/32\"]}\n }\n }\n ]\n}\n\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),domain))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domain:\n type: string\n default: tf-test\nresources:\n example:\n type: aws:elasticsearch:Domain\n properties:\n domainName: ${domain}\n accessPolicies: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": [\"66.193.100.22/32\"]}\n }\n }\n ]\n }\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Log Publishing to CloudWatch Logs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"es.amazonaws.com\"],\n }],\n actions: [\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n ],\n resources: [\"arn:aws:logs:*\"],\n }],\n});\nconst exampleLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"example\", {\n policyName: \"example\",\n policyDocument: example.then(example =\u003e example.json),\n});\nconst exampleDomain = new aws.elasticsearch.Domain(\"example\", {logPublishingOptions: [{\n cloudwatchLogGroupArn: exampleLogGroup.arn,\n logType: \"INDEX_SLOW_LOGS\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_log_group = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"es.amazonaws.com\"],\n }],\n \"actions\": [\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n ],\n \"resources\": [\"arn:aws:logs:*\"],\n}])\nexample_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"example\",\n policy_name=\"example\",\n policy_document=example.json)\nexample_domain = aws.elasticsearch.Domain(\"example\", log_publishing_options=[{\n \"cloudwatch_log_group_arn\": example_log_group.arn,\n \"log_type\": \"INDEX_SLOW_LOGS\",\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"es.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*\",\n },\n },\n },\n });\n\n var exampleLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"example\", new()\n {\n PolicyName = \"example\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDomain = new Aws.ElasticSearch.Domain(\"example\", new()\n {\n LogPublishingOptions = new[]\n {\n new Aws.ElasticSearch.Inputs.DomainLogPublishingOptionArgs\n {\n CloudwatchLogGroupArn = exampleLogGroup.Arn,\n LogType = \"INDEX_SLOW_LOGS\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"es.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:PutLogEventsBatch\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"example\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyName: pulumi.String(\"example\"),\n\t\t\tPolicyDocument: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticsearch.NewDomain(ctx, \"example\", \u0026elasticsearch.DomainArgs{\n\t\t\tLogPublishingOptions: elasticsearch.DomainLogPublishingOptionArray{\n\t\t\t\t\u0026elasticsearch.DomainLogPublishingOptionArgs{\n\t\t\t\t\tCloudwatchLogGroupArn: exampleLogGroup.Arn,\n\t\t\t\t\tLogType: pulumi.String(\"INDEX_SLOW_LOGS\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainLogPublishingOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder()\n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"es.amazonaws.com\")\n .build())\n .actions( \n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\")\n .resources(\"arn:aws:logs:*\")\n .build())\n .build());\n\n var exampleLogResourcePolicy = new LogResourcePolicy(\"exampleLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyName(\"example\")\n .policyDocument(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .logPublishingOptions(DomainLogPublishingOptionArgs.builder()\n .cloudwatchLogGroupArn(exampleLogGroup.arn())\n .logType(\"INDEX_SLOW_LOGS\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: example\n exampleLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: example\n properties:\n policyName: example\n policyDocument: ${example.json}\n exampleDomain:\n type: aws:elasticsearch:Domain\n name: example\n properties:\n logPublishingOptions:\n - cloudwatchLogGroupArn: ${exampleLogGroup.arn}\n logType: INDEX_SLOW_LOGS\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - es.amazonaws.com\n actions:\n - logs:PutLogEvents\n - logs:PutLogEventsBatch\n - logs:CreateLogStream\n resources:\n - arn:aws:logs:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC based ES\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst vpc = config.requireObject(\"vpc\");\nconst domain = config.get(\"domain\") || \"tf-test\";\nconst selected = aws.ec2.getVpc({\n tags: {\n Name: vpc,\n },\n});\nconst selectedGetSubnets = selected.then(selected =\u003e aws.ec2.getSubnets({\n filters: [{\n name: \"vpc-id\",\n values: [selected.id],\n }],\n tags: {\n Tier: \"private\",\n },\n}));\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst es = new aws.ec2.SecurityGroup(\"es\", {\n name: `${vpc}-elasticsearch-${domain}`,\n description: \"Managed by Pulumi\",\n vpcId: selected.then(selected =\u003e selected.id),\n ingress: [{\n fromPort: 443,\n toPort: 443,\n protocol: \"tcp\",\n cidrBlocks: [selected.then(selected =\u003e selected.cidrBlock)],\n }],\n});\nconst esServiceLinkedRole = new aws.iam.ServiceLinkedRole(\"es\", {awsServiceName: \"opensearchservice.amazonaws.com\"});\nconst esDomain = new aws.elasticsearch.Domain(\"es\", {\n domainName: domain,\n elasticsearchVersion: \"6.3\",\n clusterConfig: {\n instanceType: \"m4.large.elasticsearch\",\n zoneAwarenessEnabled: true,\n },\n vpcOptions: {\n subnetIds: [\n selectedGetSubnets.then(selectedGetSubnets =\u003e selectedGetSubnets.ids?.[0]),\n selectedGetSubnets.then(selectedGetSubnets =\u003e selectedGetSubnets.ids?.[1]),\n ],\n securityGroupIds: [es.id],\n },\n advancedOptions: {\n \"rest.action.multi.allow_explicit_index\": \"true\",\n },\n accessPolicies: Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e `{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\t\"Action\": \"es:*\",\n\t\t\t\"Principal\": \"*\",\n\t\t\t\"Effect\": \"Allow\",\n\t\t\t\"Resource\": \"arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\"\n\t\t}\n\t]\n}\n`),\n tags: {\n Domain: \"TestDomain\",\n },\n}, {\n dependsOn: [esServiceLinkedRole],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nvpc = config.require_object(\"vpc\")\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"tf-test\"\nselected = aws.ec2.get_vpc(tags={\n \"Name\": vpc,\n})\nselected_get_subnets = aws.ec2.get_subnets(filters=[{\n \"name\": \"vpc-id\",\n \"values\": [selected.id],\n }],\n tags={\n \"Tier\": \"private\",\n })\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nes = aws.ec2.SecurityGroup(\"es\",\n name=f\"{vpc}-elasticsearch-{domain}\",\n description=\"Managed by Pulumi\",\n vpc_id=selected.id,\n ingress=[{\n \"from_port\": 443,\n \"to_port\": 443,\n \"protocol\": \"tcp\",\n \"cidr_blocks\": [selected.cidr_block],\n }])\nes_service_linked_role = aws.iam.ServiceLinkedRole(\"es\", aws_service_name=\"opensearchservice.amazonaws.com\")\nes_domain = aws.elasticsearch.Domain(\"es\",\n domain_name=domain,\n elasticsearch_version=\"6.3\",\n cluster_config={\n \"instance_type\": \"m4.large.elasticsearch\",\n \"zone_awareness_enabled\": True,\n },\n vpc_options={\n \"subnet_ids\": [\n selected_get_subnets.ids[0],\n selected_get_subnets.ids[1],\n ],\n \"security_group_ids\": [es.id],\n },\n advanced_options={\n \"rest.action.multi.allow_explicit_index\": \"true\",\n },\n access_policies=f\"\"\"{{\n\\x09\"Version\": \"2012-10-17\",\n\\x09\"Statement\": [\n\\x09\\x09{{\n\\x09\\x09\\x09\"Action\": \"es:*\",\n\\x09\\x09\\x09\"Principal\": \"*\",\n\\x09\\x09\\x09\"Effect\": \"Allow\",\n\\x09\\x09\\x09\"Resource\": \"arn:aws:es:{current.name}:{current_get_caller_identity.account_id}:domain/{domain}/*\"\n\\x09\\x09}}\n\\x09]\n}}\n\"\"\",\n tags={\n \"Domain\": \"TestDomain\",\n },\n opts = pulumi.ResourceOptions(depends_on=[es_service_linked_role]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var vpc = config.RequireObject\u003cdynamic\u003e(\"vpc\");\n var domain = config.Get(\"domain\") ?? \"tf-test\";\n var selected = Aws.Ec2.GetVpc.Invoke(new()\n {\n Tags = \n {\n { \"Name\", vpc },\n },\n });\n\n var selectedGetSubnets = Aws.Ec2.GetSubnets.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSubnetsFilterInputArgs\n {\n Name = \"vpc-id\",\n Values = new[]\n {\n selected.Apply(getVpcResult =\u003e getVpcResult.Id),\n },\n },\n },\n Tags = \n {\n { \"Tier\", \"private\" },\n },\n });\n\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var es = new Aws.Ec2.SecurityGroup(\"es\", new()\n {\n Name = $\"{vpc}-elasticsearch-{domain}\",\n Description = \"Managed by Pulumi\",\n VpcId = selected.Apply(getVpcResult =\u003e getVpcResult.Id),\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n {\n FromPort = 443,\n ToPort = 443,\n Protocol = \"tcp\",\n CidrBlocks = new[]\n {\n selected.Apply(getVpcResult =\u003e getVpcResult.CidrBlock),\n },\n },\n },\n });\n\n var esServiceLinkedRole = new Aws.Iam.ServiceLinkedRole(\"es\", new()\n {\n AwsServiceName = \"opensearchservice.amazonaws.com\",\n });\n\n var esDomain = new Aws.ElasticSearch.Domain(\"es\", new()\n {\n DomainName = domain,\n ElasticsearchVersion = \"6.3\",\n ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"m4.large.elasticsearch\",\n ZoneAwarenessEnabled = true,\n },\n VpcOptions = new Aws.ElasticSearch.Inputs.DomainVpcOptionsArgs\n {\n SubnetIds = new[]\n {\n selectedGetSubnets.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[0]),\n selectedGetSubnets.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[1]),\n },\n SecurityGroupIds = new[]\n {\n es.Id,\n },\n },\n AdvancedOptions = \n {\n { \"rest.action.multi.allow_explicit_index\", \"true\" },\n },\n AccessPolicies = Output.Tuple(current, currentGetCallerIdentity).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n return @$\"{{\n\t\"\"Version\"\": \"\"2012-10-17\"\",\n\t\"\"Statement\"\": [\n\t\t{{\n\t\t\t\"\"Action\"\": \"\"es:*\"\",\n\t\t\t\"\"Principal\"\": \"\"*\"\",\n\t\t\t\"\"Effect\"\": \"\"Allow\"\",\n\t\t\t\"\"Resource\"\": \"\"arn:aws:es:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:domain/{domain}/*\"\"\n\t\t}}\n\t]\n}}\n\";\n }),\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n esServiceLinkedRole,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nvpc := cfg.RequireObject(\"vpc\")\ndomain := \"tf-test\";\nif param := cfg.Get(\"domain\"); param != \"\"{\ndomain = param\n}\nselected, err := ec2.LookupVpc(ctx, \u0026ec2.LookupVpcArgs{\nTags: pulumi.StringMap{\n\"Name\": vpc,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nselectedGetSubnets, err := ec2.GetSubnets(ctx, \u0026ec2.GetSubnetsArgs{\nFilters: []ec2.GetSubnetsFilter{\n{\nName: \"vpc-id\",\nValues: interface{}{\nselected.Id,\n},\n},\n},\nTags: map[string]interface{}{\n\"Tier\": \"private\",\n},\n}, nil);\nif err != nil {\nreturn err\n}\ncurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ncurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nes, err := ec2.NewSecurityGroup(ctx, \"es\", \u0026ec2.SecurityGroupArgs{\nName: pulumi.Sprintf(\"%v-elasticsearch-%v\", vpc, domain),\nDescription: pulumi.String(\"Managed by Pulumi\"),\nVpcId: pulumi.String(selected.Id),\nIngress: ec2.SecurityGroupIngressArray{\n\u0026ec2.SecurityGroupIngressArgs{\nFromPort: pulumi.Int(443),\nToPort: pulumi.Int(443),\nProtocol: pulumi.String(\"tcp\"),\nCidrBlocks: pulumi.StringArray{\npulumi.String(selected.CidrBlock),\n},\n},\n},\n})\nif err != nil {\nreturn err\n}\nesServiceLinkedRole, err := iam.NewServiceLinkedRole(ctx, \"es\", \u0026iam.ServiceLinkedRoleArgs{\nAwsServiceName: pulumi.String(\"opensearchservice.amazonaws.com\"),\n})\nif err != nil {\nreturn err\n}\n_, err = elasticsearch.NewDomain(ctx, \"es\", \u0026elasticsearch.DomainArgs{\nDomainName: pulumi.String(domain),\nElasticsearchVersion: pulumi.String(\"6.3\"),\nClusterConfig: \u0026elasticsearch.DomainClusterConfigArgs{\nInstanceType: pulumi.String(\"m4.large.elasticsearch\"),\nZoneAwarenessEnabled: pulumi.Bool(true),\n},\nVpcOptions: \u0026elasticsearch.DomainVpcOptionsArgs{\nSubnetIds: pulumi.StringArray{\npulumi.String(selectedGetSubnets.Ids[0]),\npulumi.String(selectedGetSubnets.Ids[1]),\n},\nSecurityGroupIds: pulumi.StringArray{\nes.ID(),\n},\n},\nAdvancedOptions: pulumi.StringMap{\n\"rest.action.multi.allow_explicit_index\": pulumi.String(\"true\"),\n},\nAccessPolicies: pulumi.Any(fmt.Sprintf(`{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\t\"Action\": \"es:*\",\n\t\t\t\"Principal\": \"*\",\n\t\t\t\"Effect\": \"Allow\",\n\t\t\t\"Resource\": \"arn:aws:es:%v:%v:domain/%v/*\"\n\t\t}\n\t]\n}\n`, current.Name, currentGetCallerIdentity.AccountId, domain)),\nTags: pulumi.StringMap{\n\"Domain\": pulumi.String(\"TestDomain\"),\n},\n}, pulumi.DependsOn([]pulumi.Resource{\nesServiceLinkedRole,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcArgs;\nimport com.pulumi.aws.ec2.inputs.GetSubnetsArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;\nimport com.pulumi.aws.iam.ServiceLinkedRole;\nimport com.pulumi.aws.iam.ServiceLinkedRoleArgs;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var vpc = config.get(\"vpc\");\n final var domain = config.get(\"domain\").orElse(\"tf-test\");\n final var selected = Ec2Functions.getVpc(GetVpcArgs.builder()\n .tags(Map.of(\"Name\", vpc))\n .build());\n\n final var selectedGetSubnets = Ec2Functions.getSubnets(GetSubnetsArgs.builder()\n .filters(GetSubnetsFilterArgs.builder()\n .name(\"vpc-id\")\n .values(selected.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .build())\n .tags(Map.of(\"Tier\", \"private\"))\n .build());\n\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var es = new SecurityGroup(\"es\", SecurityGroupArgs.builder()\n .name(String.format(\"%s-elasticsearch-%s\", vpc,domain))\n .description(\"Managed by Pulumi\")\n .vpcId(selected.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .ingress(SecurityGroupIngressArgs.builder()\n .fromPort(443)\n .toPort(443)\n .protocol(\"tcp\")\n .cidrBlocks(selected.applyValue(getVpcResult -\u003e getVpcResult.cidrBlock()))\n .build())\n .build());\n\n var esServiceLinkedRole = new ServiceLinkedRole(\"esServiceLinkedRole\", ServiceLinkedRoleArgs.builder()\n .awsServiceName(\"opensearchservice.amazonaws.com\")\n .build());\n\n var esDomain = new Domain(\"esDomain\", DomainArgs.builder()\n .domainName(domain)\n .elasticsearchVersion(\"6.3\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"m4.large.elasticsearch\")\n .zoneAwarenessEnabled(true)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .subnetIds( \n selectedGetSubnets.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[0]),\n selectedGetSubnets.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[1]))\n .securityGroupIds(es.id())\n .build())\n .advancedOptions(Map.of(\"rest.action.multi.allow_explicit_index\", \"true\"))\n .accessPolicies(\"\"\"\n{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\t\"Action\": \"es:*\",\n\t\t\t\"Principal\": \"*\",\n\t\t\t\"Effect\": \"Allow\",\n\t\t\t\"Resource\": \"arn:aws:es:%s:%s:domain/%s/*\"\n\t\t}\n\t]\n}\n\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),domain))\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(esServiceLinkedRole)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n vpc:\n type: dynamic\n domain:\n type: string\n default: tf-test\nresources:\n es:\n type: aws:ec2:SecurityGroup\n properties:\n name: ${vpc}-elasticsearch-${domain}\n description: Managed by Pulumi\n vpcId: ${selected.id}\n ingress:\n - fromPort: 443\n toPort: 443\n protocol: tcp\n cidrBlocks:\n - ${selected.cidrBlock}\n esServiceLinkedRole:\n type: aws:iam:ServiceLinkedRole\n name: es\n properties:\n awsServiceName: opensearchservice.amazonaws.com\n esDomain:\n type: aws:elasticsearch:Domain\n name: es\n properties:\n domainName: ${domain}\n elasticsearchVersion: '6.3'\n clusterConfig:\n instanceType: m4.large.elasticsearch\n zoneAwarenessEnabled: true\n vpcOptions:\n subnetIds:\n - ${selectedGetSubnets.ids[0]}\n - ${selectedGetSubnets.ids[1]}\n securityGroupIds:\n - ${es.id}\n advancedOptions:\n rest.action.multi.allow_explicit_index: 'true'\n accessPolicies: |\n {\n \t\"Version\": \"2012-10-17\",\n \t\"Statement\": [\n \t\t{\n \t\t\t\"Action\": \"es:*\",\n \t\t\t\"Principal\": \"*\",\n \t\t\t\"Effect\": \"Allow\",\n \t\t\t\"Resource\": \"arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\"\n \t\t}\n \t]\n }\n tags:\n Domain: TestDomain\n options:\n dependson:\n - ${esServiceLinkedRole}\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getVpc\n Arguments:\n tags:\n Name: ${vpc}\n selectedGetSubnets:\n fn::invoke:\n Function: aws:ec2:getSubnets\n Arguments:\n filters:\n - name: vpc-id\n values:\n - ${selected.id}\n tags:\n Tier: private\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Elasticsearch domains using the `domain_name`. For example:\n\n```sh\n$ pulumi import aws:elasticsearch/domain:Domain example domain_name\n```\n", "properties": { "accessPolicies": { "type": "string", @@ -261778,7 +261778,7 @@ } }, "aws:elasticsearch/domainSamlOptions:DomainSamlOptions": { - "description": "Manages SAML authentication options for an AWS Elasticsearch Domain.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.elasticsearch.Domain(\"example\", {\n domainName: \"example\",\n elasticsearchVersion: \"1.5\",\n clusterConfig: {\n instanceType: \"r4.large.elasticsearch\",\n },\n snapshotOptions: {\n automatedSnapshotStartHour: 23,\n },\n tags: {\n Domain: \"TestDomain\",\n },\n});\nconst exampleDomainSamlOptions = new aws.elasticsearch.DomainSamlOptions(\"example\", {\n domainName: example.domainName,\n samlOptions: {\n enabled: true,\n idp: {\n entityId: \"https://example.com\",\n metadataContent: std.file({\n input: \"./saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.elasticsearch.Domain(\"example\",\n domain_name=\"example\",\n elasticsearch_version=\"1.5\",\n cluster_config={\n \"instance_type\": \"r4.large.elasticsearch\",\n },\n snapshot_options={\n \"automated_snapshot_start_hour\": 23,\n },\n tags={\n \"Domain\": \"TestDomain\",\n })\nexample_domain_saml_options = aws.elasticsearch.DomainSamlOptions(\"example\",\n domain_name=example.domain_name,\n saml_options={\n \"enabled\": True,\n \"idp\": {\n \"entity_id\": \"https://example.com\",\n \"metadata_content\": std.file(input=\"./saml-metadata.xml\").result,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElasticSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n ElasticsearchVersion = \"1.5\",\n ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r4.large.elasticsearch\",\n },\n SnapshotOptions = new Aws.ElasticSearch.Inputs.DomainSnapshotOptionsArgs\n {\n AutomatedSnapshotStartHour = 23,\n },\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n });\n\n var exampleDomainSamlOptions = new Aws.ElasticSearch.DomainSamlOptions(\"example\", new()\n {\n DomainName = example.DomainName,\n SamlOptions = new Aws.ElasticSearch.Inputs.DomainSamlOptionsSamlOptionsArgs\n {\n Enabled = true,\n Idp = new Aws.ElasticSearch.Inputs.DomainSamlOptionsSamlOptionsIdpArgs\n {\n EntityId = \"https://example.com\",\n MetadataContent = Std.File.Invoke(new()\n {\n Input = \"./saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := elasticsearch.NewDomain(ctx, \"example\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tElasticsearchVersion: pulumi.String(\"1.5\"),\n\t\t\tClusterConfig: \u0026elasticsearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r4.large.elasticsearch\"),\n\t\t\t},\n\t\t\tSnapshotOptions: \u0026elasticsearch.DomainSnapshotOptionsArgs{\n\t\t\t\tAutomatedSnapshotStartHour: pulumi.Int(23),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Domain\": pulumi.String(\"TestDomain\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticsearch.NewDomainSamlOptions(ctx, \"example\", \u0026elasticsearch.DomainSamlOptionsArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tSamlOptions: \u0026elasticsearch.DomainSamlOptionsSamlOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tIdp: \u0026elasticsearch.DomainSamlOptionsSamlOptionsIdpArgs{\n\t\t\t\t\tEntityId: pulumi.String(\"https://example.com\"),\n\t\t\t\t\tMetadataContent: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainSnapshotOptionsArgs;\nimport com.pulumi.aws.elasticsearch.DomainSamlOptions;\nimport com.pulumi.aws.elasticsearch.DomainSamlOptionsArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainSamlOptionsSamlOptionsArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainSamlOptionsSamlOptionsIdpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"example\")\n .elasticsearchVersion(\"1.5\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r4.large.elasticsearch\")\n .build())\n .snapshotOptions(DomainSnapshotOptionsArgs.builder()\n .automatedSnapshotStartHour(23)\n .build())\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build());\n\n var exampleDomainSamlOptions = new DomainSamlOptions(\"exampleDomainSamlOptions\", DomainSamlOptionsArgs.builder()\n .domainName(example.domainName())\n .samlOptions(DomainSamlOptionsSamlOptionsArgs.builder()\n .enabled(true)\n .idp(DomainSamlOptionsSamlOptionsIdpArgs.builder()\n .entityId(\"https://example.com\")\n .metadataContent(StdFunctions.file(FileArgs.builder()\n .input(\"./saml-metadata.xml\")\n .build()).result())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticsearch:Domain\n properties:\n domainName: example\n elasticsearchVersion: '1.5'\n clusterConfig:\n instanceType: r4.large.elasticsearch\n snapshotOptions:\n automatedSnapshotStartHour: 23\n tags:\n Domain: TestDomain\n exampleDomainSamlOptions:\n type: aws:elasticsearch:DomainSamlOptions\n name: example\n properties:\n domainName: ${example.domainName}\n samlOptions:\n enabled: true\n idp:\n entityId: https://example.com\n metadataContent:\n fn::invoke:\n function: std:file\n arguments:\n input: ./saml-metadata.xml\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Elasticsearch domains using the `domain_name`. For example:\n\n```sh\n$ pulumi import aws:elasticsearch/domainSamlOptions:DomainSamlOptions example domain_name\n```\n", + "description": "Manages SAML authentication options for an AWS Elasticsearch Domain.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.elasticsearch.Domain(\"example\", {\n domainName: \"example\",\n elasticsearchVersion: \"1.5\",\n clusterConfig: {\n instanceType: \"r4.large.elasticsearch\",\n },\n snapshotOptions: {\n automatedSnapshotStartHour: 23,\n },\n tags: {\n Domain: \"TestDomain\",\n },\n});\nconst exampleDomainSamlOptions = new aws.elasticsearch.DomainSamlOptions(\"example\", {\n domainName: example.domainName,\n samlOptions: {\n enabled: true,\n idp: {\n entityId: \"https://example.com\",\n metadataContent: std.file({\n input: \"./saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.elasticsearch.Domain(\"example\",\n domain_name=\"example\",\n elasticsearch_version=\"1.5\",\n cluster_config={\n \"instance_type\": \"r4.large.elasticsearch\",\n },\n snapshot_options={\n \"automated_snapshot_start_hour\": 23,\n },\n tags={\n \"Domain\": \"TestDomain\",\n })\nexample_domain_saml_options = aws.elasticsearch.DomainSamlOptions(\"example\",\n domain_name=example.domain_name,\n saml_options={\n \"enabled\": True,\n \"idp\": {\n \"entity_id\": \"https://example.com\",\n \"metadata_content\": std.file(input=\"./saml-metadata.xml\").result,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElasticSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n ElasticsearchVersion = \"1.5\",\n ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r4.large.elasticsearch\",\n },\n SnapshotOptions = new Aws.ElasticSearch.Inputs.DomainSnapshotOptionsArgs\n {\n AutomatedSnapshotStartHour = 23,\n },\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n });\n\n var exampleDomainSamlOptions = new Aws.ElasticSearch.DomainSamlOptions(\"example\", new()\n {\n DomainName = example.DomainName,\n SamlOptions = new Aws.ElasticSearch.Inputs.DomainSamlOptionsSamlOptionsArgs\n {\n Enabled = true,\n Idp = new Aws.ElasticSearch.Inputs.DomainSamlOptionsSamlOptionsIdpArgs\n {\n EntityId = \"https://example.com\",\n MetadataContent = Std.File.Invoke(new()\n {\n Input = \"./saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := elasticsearch.NewDomain(ctx, \"example\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tElasticsearchVersion: pulumi.String(\"1.5\"),\n\t\t\tClusterConfig: \u0026elasticsearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r4.large.elasticsearch\"),\n\t\t\t},\n\t\t\tSnapshotOptions: \u0026elasticsearch.DomainSnapshotOptionsArgs{\n\t\t\t\tAutomatedSnapshotStartHour: pulumi.Int(23),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Domain\": pulumi.String(\"TestDomain\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticsearch.NewDomainSamlOptions(ctx, \"example\", \u0026elasticsearch.DomainSamlOptionsArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tSamlOptions: \u0026elasticsearch.DomainSamlOptionsSamlOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tIdp: \u0026elasticsearch.DomainSamlOptionsSamlOptionsIdpArgs{\n\t\t\t\t\tEntityId: pulumi.String(\"https://example.com\"),\n\t\t\t\t\tMetadataContent: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainSnapshotOptionsArgs;\nimport com.pulumi.aws.elasticsearch.DomainSamlOptions;\nimport com.pulumi.aws.elasticsearch.DomainSamlOptionsArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainSamlOptionsSamlOptionsArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainSamlOptionsSamlOptionsIdpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"example\")\n .elasticsearchVersion(\"1.5\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r4.large.elasticsearch\")\n .build())\n .snapshotOptions(DomainSnapshotOptionsArgs.builder()\n .automatedSnapshotStartHour(23)\n .build())\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build());\n\n var exampleDomainSamlOptions = new DomainSamlOptions(\"exampleDomainSamlOptions\", DomainSamlOptionsArgs.builder()\n .domainName(example.domainName())\n .samlOptions(DomainSamlOptionsSamlOptionsArgs.builder()\n .enabled(true)\n .idp(DomainSamlOptionsSamlOptionsIdpArgs.builder()\n .entityId(\"https://example.com\")\n .metadataContent(StdFunctions.file(FileArgs.builder()\n .input(\"./saml-metadata.xml\")\n .build()).result())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticsearch:Domain\n properties:\n domainName: example\n elasticsearchVersion: '1.5'\n clusterConfig:\n instanceType: r4.large.elasticsearch\n snapshotOptions:\n automatedSnapshotStartHour: 23\n tags:\n Domain: TestDomain\n exampleDomainSamlOptions:\n type: aws:elasticsearch:DomainSamlOptions\n name: example\n properties:\n domainName: ${example.domainName}\n samlOptions:\n enabled: true\n idp:\n entityId: https://example.com\n metadataContent:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./saml-metadata.xml\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Elasticsearch domains using the `domain_name`. For example:\n\n```sh\n$ pulumi import aws:elasticsearch/domainSamlOptions:DomainSamlOptions example domain_name\n```\n", "properties": { "domainName": { "type": "string", @@ -262818,7 +262818,7 @@ ] }, "aws:elb/loadBalancerBackendServerPolicy:LoadBalancerBackendServerPolicy": { - "description": "Attaches a load balancer policy to an ELB backend server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n name: \"wu-tang\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ca_pubkey_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ca-pubkey-policy\",\n policyTypeName: \"PublicKeyPolicyType\",\n policyAttributes: [{\n name: \"PublicKey\",\n value: std.file({\n input: \"wu-tang-pubkey\",\n }).then(invoke =\u003e invoke.result),\n }],\n});\nconst wu_tang_root_ca_backend_auth_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-root-ca-backend-auth-policy\",\n policyTypeName: \"BackendServerAuthenticationPolicyType\",\n policyAttributes: [{\n name: \"PublicKeyPolicyName\",\n value: wu_tang_root_ca_pubkey_policy.policyName,\n }],\n});\nconst wu_tang_backend_auth_policies_443 = new aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", {\n loadBalancerName: wu_tang.name,\n instancePort: 443,\n policyNames: [wu_tang_root_ca_backend_auth_policy.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n name=\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[{\n \"instance_port\": 443,\n \"instance_protocol\": \"http\",\n \"lb_port\": 443,\n \"lb_protocol\": \"https\",\n \"ssl_certificate_id\": \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ca_pubkey_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ca-pubkey-policy\",\n policy_type_name=\"PublicKeyPolicyType\",\n policy_attributes=[{\n \"name\": \"PublicKey\",\n \"value\": std.file(input=\"wu-tang-pubkey\").result,\n }])\nwu_tang_root_ca_backend_auth_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-root-ca-backend-auth-policy\",\n policy_type_name=\"BackendServerAuthenticationPolicyType\",\n policy_attributes=[{\n \"name\": \"PublicKeyPolicyName\",\n \"value\": wu_tang_root_ca_pubkey_policy[\"policyName\"],\n }])\nwu_tang_backend_auth_policies_443 = aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\",\n load_balancer_name=wu_tang.name,\n instance_port=443,\n policy_names=[wu_tang_root_ca_backend_auth_policy.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n Name = \"wu-tang\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ca_pubkey_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ca-pubkey-policy\",\n PolicyTypeName = \"PublicKeyPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKey\",\n Value = Std.File.Invoke(new()\n {\n Input = \"wu-tang-pubkey\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n });\n\n var wu_tang_root_ca_backend_auth_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-root-ca-backend-auth-policy\",\n PolicyTypeName = \"BackendServerAuthenticationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKeyPolicyName\",\n Value = wu_tang_root_ca_pubkey_policy.PolicyName,\n },\n },\n });\n\n var wu_tang_backend_auth_policies_443 = new Aws.Elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n InstancePort = 443,\n PolicyNames = new[]\n {\n wu_tang_root_ca_backend_auth_policy.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\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 := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"wu-tang\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"wu-tang-pubkey\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ca-pubkey-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ca-pubkey-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"PublicKeyPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKey\"),\n\t\t\t\t\tValue: pulumi.String(invokeFile.Result),\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\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-root-ca-backend-auth-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-root-ca-backend-auth-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"BackendServerAuthenticationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKeyPolicyName\"),\n\t\t\t\t\tValue: pulumi.Any(wu_tang_root_ca_pubkey_policy.PolicyName),\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\t_, err = elb.NewLoadBalancerBackendServerPolicy(ctx, \"wu-tang-backend-auth-policies-443\", \u0026elb.LoadBalancerBackendServerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tInstancePort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_root_ca_backend_auth_policy.PolicyName,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder()\n .name(\"wu-tang\")\n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ca_pubkey_policy = new LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ca-pubkey-policy\")\n .policyTypeName(\"PublicKeyPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKey\")\n .value(StdFunctions.file(FileArgs.builder()\n .input(\"wu-tang-pubkey\")\n .build()).result())\n .build())\n .build());\n\n var wu_tang_root_ca_backend_auth_policy = new LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-root-ca-backend-auth-policy\")\n .policyTypeName(\"BackendServerAuthenticationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKeyPolicyName\")\n .value(wu_tang_root_ca_pubkey_policy.policyName())\n .build())\n .build());\n\n var wu_tang_backend_auth_policies_443 = new LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", LoadBalancerBackendServerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .instancePort(443)\n .policyNames(wu_tang_root_ca_backend_auth_policy.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n name: wu-tang\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ca-pubkey-policy:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ca-pubkey-policy\n policyTypeName: PublicKeyPolicyType\n policyAttributes:\n - name: PublicKey\n value:\n fn::invoke:\n function: std:file\n arguments:\n input: wu-tang-pubkey\n return: result\n wu-tang-root-ca-backend-auth-policy:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-root-ca-backend-auth-policy\n policyTypeName: BackendServerAuthenticationPolicyType\n policyAttributes:\n - name: PublicKeyPolicyName\n value: ${[\"wu-tang-root-ca-pubkey-policy\"].policyName}\n wu-tang-backend-auth-policies-443:\n type: aws:elb:LoadBalancerBackendServerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n instancePort: 443\n policyNames:\n - ${[\"wu-tang-root-ca-backend-auth-policy\"].policyName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Attaches a load balancer policy to an ELB backend server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n name: \"wu-tang\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ca_pubkey_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ca-pubkey-policy\",\n policyTypeName: \"PublicKeyPolicyType\",\n policyAttributes: [{\n name: \"PublicKey\",\n value: std.file({\n input: \"wu-tang-pubkey\",\n }).then(invoke =\u003e invoke.result),\n }],\n});\nconst wu_tang_root_ca_backend_auth_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-root-ca-backend-auth-policy\",\n policyTypeName: \"BackendServerAuthenticationPolicyType\",\n policyAttributes: [{\n name: \"PublicKeyPolicyName\",\n value: wu_tang_root_ca_pubkey_policy.policyName,\n }],\n});\nconst wu_tang_backend_auth_policies_443 = new aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", {\n loadBalancerName: wu_tang.name,\n instancePort: 443,\n policyNames: [wu_tang_root_ca_backend_auth_policy.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n name=\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[{\n \"instance_port\": 443,\n \"instance_protocol\": \"http\",\n \"lb_port\": 443,\n \"lb_protocol\": \"https\",\n \"ssl_certificate_id\": \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ca_pubkey_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ca-pubkey-policy\",\n policy_type_name=\"PublicKeyPolicyType\",\n policy_attributes=[{\n \"name\": \"PublicKey\",\n \"value\": std.file(input=\"wu-tang-pubkey\").result,\n }])\nwu_tang_root_ca_backend_auth_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-root-ca-backend-auth-policy\",\n policy_type_name=\"BackendServerAuthenticationPolicyType\",\n policy_attributes=[{\n \"name\": \"PublicKeyPolicyName\",\n \"value\": wu_tang_root_ca_pubkey_policy[\"policyName\"],\n }])\nwu_tang_backend_auth_policies_443 = aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\",\n load_balancer_name=wu_tang.name,\n instance_port=443,\n policy_names=[wu_tang_root_ca_backend_auth_policy.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n Name = \"wu-tang\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ca_pubkey_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ca-pubkey-policy\",\n PolicyTypeName = \"PublicKeyPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKey\",\n Value = Std.File.Invoke(new()\n {\n Input = \"wu-tang-pubkey\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n });\n\n var wu_tang_root_ca_backend_auth_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-root-ca-backend-auth-policy\",\n PolicyTypeName = \"BackendServerAuthenticationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKeyPolicyName\",\n Value = wu_tang_root_ca_pubkey_policy.PolicyName,\n },\n },\n });\n\n var wu_tang_backend_auth_policies_443 = new Aws.Elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n InstancePort = 443,\n PolicyNames = new[]\n {\n wu_tang_root_ca_backend_auth_policy.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\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 := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"wu-tang\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"wu-tang-pubkey\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ca-pubkey-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ca-pubkey-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"PublicKeyPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKey\"),\n\t\t\t\t\tValue: pulumi.String(invokeFile.Result),\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\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-root-ca-backend-auth-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-root-ca-backend-auth-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"BackendServerAuthenticationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKeyPolicyName\"),\n\t\t\t\t\tValue: pulumi.Any(wu_tang_root_ca_pubkey_policy.PolicyName),\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\t_, err = elb.NewLoadBalancerBackendServerPolicy(ctx, \"wu-tang-backend-auth-policies-443\", \u0026elb.LoadBalancerBackendServerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tInstancePort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_root_ca_backend_auth_policy.PolicyName,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder()\n .name(\"wu-tang\")\n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ca_pubkey_policy = new LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ca-pubkey-policy\")\n .policyTypeName(\"PublicKeyPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKey\")\n .value(StdFunctions.file(FileArgs.builder()\n .input(\"wu-tang-pubkey\")\n .build()).result())\n .build())\n .build());\n\n var wu_tang_root_ca_backend_auth_policy = new LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-root-ca-backend-auth-policy\")\n .policyTypeName(\"BackendServerAuthenticationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKeyPolicyName\")\n .value(wu_tang_root_ca_pubkey_policy.policyName())\n .build())\n .build());\n\n var wu_tang_backend_auth_policies_443 = new LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", LoadBalancerBackendServerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .instancePort(443)\n .policyNames(wu_tang_root_ca_backend_auth_policy.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n name: wu-tang\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ca-pubkey-policy:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ca-pubkey-policy\n policyTypeName: PublicKeyPolicyType\n policyAttributes:\n - name: PublicKey\n value:\n fn::invoke:\n Function: std:file\n Arguments:\n input: wu-tang-pubkey\n Return: result\n wu-tang-root-ca-backend-auth-policy:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-root-ca-backend-auth-policy\n policyTypeName: BackendServerAuthenticationPolicyType\n policyAttributes:\n - name: PublicKeyPolicyName\n value: ${[\"wu-tang-root-ca-pubkey-policy\"].policyName}\n wu-tang-backend-auth-policies-443:\n type: aws:elb:LoadBalancerBackendServerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n instancePort: 443\n policyNames:\n - ${[\"wu-tang-root-ca-backend-auth-policy\"].policyName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "instancePort": { "type": "integer", @@ -262972,7 +262972,7 @@ ] }, "aws:elb/loadBalancerPolicy:LoadBalancerPolicy": { - "description": "Provides a load balancer policy, which can be attached to an ELB listener or backend server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n name: \"wu-tang\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ca_pubkey_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ca-pubkey-policy\",\n policyTypeName: \"PublicKeyPolicyType\",\n policyAttributes: [{\n name: \"PublicKey\",\n value: std.file({\n input: \"wu-tang-pubkey\",\n }).then(invoke =\u003e invoke.result),\n }],\n});\nconst wu_tang_root_ca_backend_auth_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-root-ca-backend-auth-policy\",\n policyTypeName: \"BackendServerAuthenticationPolicyType\",\n policyAttributes: [{\n name: \"PublicKeyPolicyName\",\n value: wu_tang_root_ca_pubkey_policy.policyName,\n }],\n});\nconst wu_tang_ssl = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [\n {\n name: \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n value: \"true\",\n },\n {\n name: \"Protocol-TLSv1.2\",\n value: \"true\",\n },\n ],\n});\nconst wu_tang_ssl_tls_1_1 = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [{\n name: \"Reference-Security-Policy\",\n value: \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n }],\n});\nconst wu_tang_backend_auth_policies_443 = new aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", {\n loadBalancerName: wu_tang.name,\n instancePort: 443,\n policyNames: [wu_tang_root_ca_backend_auth_policy.policyName],\n});\nconst wu_tang_listener_policies_443 = new aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\", {\n loadBalancerName: wu_tang.name,\n loadBalancerPort: 443,\n policyNames: [wu_tang_ssl.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n name=\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[{\n \"instance_port\": 443,\n \"instance_protocol\": \"http\",\n \"lb_port\": 443,\n \"lb_protocol\": \"https\",\n \"ssl_certificate_id\": \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ca_pubkey_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ca-pubkey-policy\",\n policy_type_name=\"PublicKeyPolicyType\",\n policy_attributes=[{\n \"name\": \"PublicKey\",\n \"value\": std.file(input=\"wu-tang-pubkey\").result,\n }])\nwu_tang_root_ca_backend_auth_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-root-ca-backend-auth-policy\",\n policy_type_name=\"BackendServerAuthenticationPolicyType\",\n policy_attributes=[{\n \"name\": \"PublicKeyPolicyName\",\n \"value\": wu_tang_root_ca_pubkey_policy[\"policyName\"],\n }])\nwu_tang_ssl = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[\n {\n \"name\": \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n \"value\": \"true\",\n },\n {\n \"name\": \"Protocol-TLSv1.2\",\n \"value\": \"true\",\n },\n ])\nwu_tang_ssl_tls_1_1 = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[{\n \"name\": \"Reference-Security-Policy\",\n \"value\": \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n }])\nwu_tang_backend_auth_policies_443 = aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\",\n load_balancer_name=wu_tang.name,\n instance_port=443,\n policy_names=[wu_tang_root_ca_backend_auth_policy.policy_name])\nwu_tang_listener_policies_443 = aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\",\n load_balancer_name=wu_tang.name,\n load_balancer_port=443,\n policy_names=[wu_tang_ssl.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n Name = \"wu-tang\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ca_pubkey_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ca-pubkey-policy\",\n PolicyTypeName = \"PublicKeyPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKey\",\n Value = Std.File.Invoke(new()\n {\n Input = \"wu-tang-pubkey\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n });\n\n var wu_tang_root_ca_backend_auth_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-root-ca-backend-auth-policy\",\n PolicyTypeName = \"BackendServerAuthenticationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKeyPolicyName\",\n Value = wu_tang_root_ca_pubkey_policy.PolicyName,\n },\n },\n });\n\n var wu_tang_ssl = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n Value = \"true\",\n },\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Protocol-TLSv1.2\",\n Value = \"true\",\n },\n },\n });\n\n var wu_tang_ssl_tls_1_1 = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Reference-Security-Policy\",\n Value = \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n },\n },\n });\n\n var wu_tang_backend_auth_policies_443 = new Aws.Elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n InstancePort = 443,\n PolicyNames = new[]\n {\n wu_tang_root_ca_backend_auth_policy.PolicyName,\n },\n });\n\n var wu_tang_listener_policies_443 = new Aws.Elb.ListenerPolicy(\"wu-tang-listener-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n LoadBalancerPort = 443,\n PolicyNames = new[]\n {\n wu_tang_ssl.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\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 := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"wu-tang\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"wu-tang-pubkey\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ca-pubkey-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ca-pubkey-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"PublicKeyPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKey\"),\n\t\t\t\t\tValue: pulumi.String(invokeFile.Result),\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\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-root-ca-backend-auth-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-root-ca-backend-auth-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"BackendServerAuthenticationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKeyPolicyName\"),\n\t\t\t\t\tValue: pulumi.Any(wu_tang_root_ca_pubkey_policy.PolicyName),\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\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"ECDHE-ECDSA-AES128-GCM-SHA256\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Protocol-TLSv1.2\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\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\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl-tls-1-1\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Reference-Security-Policy\"),\n\t\t\t\t\tValue: pulumi.String(\"ELBSecurityPolicy-TLS-1-1-2017-01\"),\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\t_, err = elb.NewLoadBalancerBackendServerPolicy(ctx, \"wu-tang-backend-auth-policies-443\", \u0026elb.LoadBalancerBackendServerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tInstancePort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_root_ca_backend_auth_policy.PolicyName,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewListenerPolicy(ctx, \"wu-tang-listener-policies-443\", \u0026elb.ListenerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tLoadBalancerPort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_ssl.PolicyName,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicyArgs;\nimport com.pulumi.aws.elb.ListenerPolicy;\nimport com.pulumi.aws.elb.ListenerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder()\n .name(\"wu-tang\")\n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ca_pubkey_policy = new LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ca-pubkey-policy\")\n .policyTypeName(\"PublicKeyPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKey\")\n .value(StdFunctions.file(FileArgs.builder()\n .input(\"wu-tang-pubkey\")\n .build()).result())\n .build())\n .build());\n\n var wu_tang_root_ca_backend_auth_policy = new LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-root-ca-backend-auth-policy\")\n .policyTypeName(\"BackendServerAuthenticationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKeyPolicyName\")\n .value(wu_tang_root_ca_pubkey_policy.policyName())\n .build())\n .build());\n\n var wu_tang_ssl = new LoadBalancerPolicy(\"wu-tang-ssl\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes( \n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"ECDHE-ECDSA-AES128-GCM-SHA256\")\n .value(\"true\")\n .build(),\n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Protocol-TLSv1.2\")\n .value(\"true\")\n .build())\n .build());\n\n var wu_tang_ssl_tls_1_1 = new LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Reference-Security-Policy\")\n .value(\"ELBSecurityPolicy-TLS-1-1-2017-01\")\n .build())\n .build());\n\n var wu_tang_backend_auth_policies_443 = new LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", LoadBalancerBackendServerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .instancePort(443)\n .policyNames(wu_tang_root_ca_backend_auth_policy.policyName())\n .build());\n\n var wu_tang_listener_policies_443 = new ListenerPolicy(\"wu-tang-listener-policies-443\", ListenerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .loadBalancerPort(443)\n .policyNames(wu_tang_ssl.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n name: wu-tang\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ca-pubkey-policy:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ca-pubkey-policy\n policyTypeName: PublicKeyPolicyType\n policyAttributes:\n - name: PublicKey\n value:\n fn::invoke:\n function: std:file\n arguments:\n input: wu-tang-pubkey\n return: result\n wu-tang-root-ca-backend-auth-policy:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-root-ca-backend-auth-policy\n policyTypeName: BackendServerAuthenticationPolicyType\n policyAttributes:\n - name: PublicKeyPolicyName\n value: ${[\"wu-tang-root-ca-pubkey-policy\"].policyName}\n wu-tang-ssl:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: ECDHE-ECDSA-AES128-GCM-SHA256\n value: 'true'\n - name: Protocol-TLSv1.2\n value: 'true'\n wu-tang-ssl-tls-1-1:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: Reference-Security-Policy\n value: ELBSecurityPolicy-TLS-1-1-2017-01\n wu-tang-backend-auth-policies-443:\n type: aws:elb:LoadBalancerBackendServerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n instancePort: 443\n policyNames:\n - ${[\"wu-tang-root-ca-backend-auth-policy\"].policyName}\n wu-tang-listener-policies-443:\n type: aws:elb:ListenerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n loadBalancerPort: 443\n policyNames:\n - ${[\"wu-tang-ssl\"].policyName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a load balancer policy, which can be attached to an ELB listener or backend server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n name: \"wu-tang\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ca_pubkey_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ca-pubkey-policy\",\n policyTypeName: \"PublicKeyPolicyType\",\n policyAttributes: [{\n name: \"PublicKey\",\n value: std.file({\n input: \"wu-tang-pubkey\",\n }).then(invoke =\u003e invoke.result),\n }],\n});\nconst wu_tang_root_ca_backend_auth_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-root-ca-backend-auth-policy\",\n policyTypeName: \"BackendServerAuthenticationPolicyType\",\n policyAttributes: [{\n name: \"PublicKeyPolicyName\",\n value: wu_tang_root_ca_pubkey_policy.policyName,\n }],\n});\nconst wu_tang_ssl = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [\n {\n name: \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n value: \"true\",\n },\n {\n name: \"Protocol-TLSv1.2\",\n value: \"true\",\n },\n ],\n});\nconst wu_tang_ssl_tls_1_1 = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [{\n name: \"Reference-Security-Policy\",\n value: \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n }],\n});\nconst wu_tang_backend_auth_policies_443 = new aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", {\n loadBalancerName: wu_tang.name,\n instancePort: 443,\n policyNames: [wu_tang_root_ca_backend_auth_policy.policyName],\n});\nconst wu_tang_listener_policies_443 = new aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\", {\n loadBalancerName: wu_tang.name,\n loadBalancerPort: 443,\n policyNames: [wu_tang_ssl.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n name=\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[{\n \"instance_port\": 443,\n \"instance_protocol\": \"http\",\n \"lb_port\": 443,\n \"lb_protocol\": \"https\",\n \"ssl_certificate_id\": \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ca_pubkey_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ca-pubkey-policy\",\n policy_type_name=\"PublicKeyPolicyType\",\n policy_attributes=[{\n \"name\": \"PublicKey\",\n \"value\": std.file(input=\"wu-tang-pubkey\").result,\n }])\nwu_tang_root_ca_backend_auth_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-root-ca-backend-auth-policy\",\n policy_type_name=\"BackendServerAuthenticationPolicyType\",\n policy_attributes=[{\n \"name\": \"PublicKeyPolicyName\",\n \"value\": wu_tang_root_ca_pubkey_policy[\"policyName\"],\n }])\nwu_tang_ssl = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[\n {\n \"name\": \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n \"value\": \"true\",\n },\n {\n \"name\": \"Protocol-TLSv1.2\",\n \"value\": \"true\",\n },\n ])\nwu_tang_ssl_tls_1_1 = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[{\n \"name\": \"Reference-Security-Policy\",\n \"value\": \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n }])\nwu_tang_backend_auth_policies_443 = aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\",\n load_balancer_name=wu_tang.name,\n instance_port=443,\n policy_names=[wu_tang_root_ca_backend_auth_policy.policy_name])\nwu_tang_listener_policies_443 = aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\",\n load_balancer_name=wu_tang.name,\n load_balancer_port=443,\n policy_names=[wu_tang_ssl.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n Name = \"wu-tang\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ca_pubkey_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ca-pubkey-policy\",\n PolicyTypeName = \"PublicKeyPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKey\",\n Value = Std.File.Invoke(new()\n {\n Input = \"wu-tang-pubkey\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n });\n\n var wu_tang_root_ca_backend_auth_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-root-ca-backend-auth-policy\",\n PolicyTypeName = \"BackendServerAuthenticationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKeyPolicyName\",\n Value = wu_tang_root_ca_pubkey_policy.PolicyName,\n },\n },\n });\n\n var wu_tang_ssl = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n Value = \"true\",\n },\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Protocol-TLSv1.2\",\n Value = \"true\",\n },\n },\n });\n\n var wu_tang_ssl_tls_1_1 = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Reference-Security-Policy\",\n Value = \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n },\n },\n });\n\n var wu_tang_backend_auth_policies_443 = new Aws.Elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n InstancePort = 443,\n PolicyNames = new[]\n {\n wu_tang_root_ca_backend_auth_policy.PolicyName,\n },\n });\n\n var wu_tang_listener_policies_443 = new Aws.Elb.ListenerPolicy(\"wu-tang-listener-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n LoadBalancerPort = 443,\n PolicyNames = new[]\n {\n wu_tang_ssl.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\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 := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"wu-tang\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"wu-tang-pubkey\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ca-pubkey-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ca-pubkey-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"PublicKeyPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKey\"),\n\t\t\t\t\tValue: pulumi.String(invokeFile.Result),\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\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-root-ca-backend-auth-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-root-ca-backend-auth-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"BackendServerAuthenticationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKeyPolicyName\"),\n\t\t\t\t\tValue: pulumi.Any(wu_tang_root_ca_pubkey_policy.PolicyName),\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\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"ECDHE-ECDSA-AES128-GCM-SHA256\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Protocol-TLSv1.2\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\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\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl-tls-1-1\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Reference-Security-Policy\"),\n\t\t\t\t\tValue: pulumi.String(\"ELBSecurityPolicy-TLS-1-1-2017-01\"),\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\t_, err = elb.NewLoadBalancerBackendServerPolicy(ctx, \"wu-tang-backend-auth-policies-443\", \u0026elb.LoadBalancerBackendServerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tInstancePort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_root_ca_backend_auth_policy.PolicyName,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewListenerPolicy(ctx, \"wu-tang-listener-policies-443\", \u0026elb.ListenerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tLoadBalancerPort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_ssl.PolicyName,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicyArgs;\nimport com.pulumi.aws.elb.ListenerPolicy;\nimport com.pulumi.aws.elb.ListenerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder()\n .name(\"wu-tang\")\n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ca_pubkey_policy = new LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ca-pubkey-policy\")\n .policyTypeName(\"PublicKeyPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKey\")\n .value(StdFunctions.file(FileArgs.builder()\n .input(\"wu-tang-pubkey\")\n .build()).result())\n .build())\n .build());\n\n var wu_tang_root_ca_backend_auth_policy = new LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-root-ca-backend-auth-policy\")\n .policyTypeName(\"BackendServerAuthenticationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKeyPolicyName\")\n .value(wu_tang_root_ca_pubkey_policy.policyName())\n .build())\n .build());\n\n var wu_tang_ssl = new LoadBalancerPolicy(\"wu-tang-ssl\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes( \n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"ECDHE-ECDSA-AES128-GCM-SHA256\")\n .value(\"true\")\n .build(),\n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Protocol-TLSv1.2\")\n .value(\"true\")\n .build())\n .build());\n\n var wu_tang_ssl_tls_1_1 = new LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Reference-Security-Policy\")\n .value(\"ELBSecurityPolicy-TLS-1-1-2017-01\")\n .build())\n .build());\n\n var wu_tang_backend_auth_policies_443 = new LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", LoadBalancerBackendServerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .instancePort(443)\n .policyNames(wu_tang_root_ca_backend_auth_policy.policyName())\n .build());\n\n var wu_tang_listener_policies_443 = new ListenerPolicy(\"wu-tang-listener-policies-443\", ListenerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .loadBalancerPort(443)\n .policyNames(wu_tang_ssl.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n name: wu-tang\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ca-pubkey-policy:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ca-pubkey-policy\n policyTypeName: PublicKeyPolicyType\n policyAttributes:\n - name: PublicKey\n value:\n fn::invoke:\n Function: std:file\n Arguments:\n input: wu-tang-pubkey\n Return: result\n wu-tang-root-ca-backend-auth-policy:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-root-ca-backend-auth-policy\n policyTypeName: BackendServerAuthenticationPolicyType\n policyAttributes:\n - name: PublicKeyPolicyName\n value: ${[\"wu-tang-root-ca-pubkey-policy\"].policyName}\n wu-tang-ssl:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: ECDHE-ECDSA-AES128-GCM-SHA256\n value: 'true'\n - name: Protocol-TLSv1.2\n value: 'true'\n wu-tang-ssl-tls-1-1:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: Reference-Security-Policy\n value: ELBSecurityPolicy-TLS-1-1-2017-01\n wu-tang-backend-auth-policies-443:\n type: aws:elb:LoadBalancerBackendServerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n instancePort: 443\n policyNames:\n - ${[\"wu-tang-root-ca-backend-auth-policy\"].policyName}\n wu-tang-listener-policies-443:\n type: aws:elb:ListenerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n loadBalancerPort: 443\n policyNames:\n - ${[\"wu-tang-ssl\"].policyName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "loadBalancerName": { "type": "string", @@ -266906,7 +266906,7 @@ } }, "aws:finspace/kxUser:KxUser": { - "description": "Resource for managing an AWS FinSpace Kx User.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {\n description: \"Example KMS Key\",\n deletionWindowInDays: 7,\n});\nconst exampleKxEnvironment = new aws.finspace.KxEnvironment(\"example\", {\n name: \"my-tf-kx-environment\",\n kmsKeyId: example.arn,\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example-role\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleKxUser = new aws.finspace.KxUser(\"example\", {\n name: \"my-tf-kx-user\",\n environmentId: exampleKxEnvironment.id,\n iamRole: exampleRole.arn,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\",\n description=\"Example KMS Key\",\n deletion_window_in_days=7)\nexample_kx_environment = aws.finspace.KxEnvironment(\"example\",\n name=\"my-tf-kx-environment\",\n kms_key_id=example.arn)\nexample_role = aws.iam.Role(\"example\",\n name=\"example-role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }))\nexample_kx_user = aws.finspace.KxUser(\"example\",\n name=\"my-tf-kx-user\",\n environment_id=example_kx_environment.id,\n iam_role=example_role.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n DeletionWindowInDays = 7,\n });\n\n var exampleKxEnvironment = new Aws.FinSpace.KxEnvironment(\"example\", new()\n {\n Name = \"my-tf-kx-environment\",\n KmsKeyId = example.Arn,\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example-role\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleKxUser = new Aws.FinSpace.KxUser(\"example\", new()\n {\n Name = \"my-tf-kx-user\",\n EnvironmentId = exampleKxEnvironment.Id,\n IamRole = exampleRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example KMS Key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKxEnvironment, err := finspace.NewKxEnvironment(ctx, \"example\", \u0026finspace.KxEnvironmentArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-environment\"),\n\t\t\tKmsKeyId: example.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = finspace.NewKxUser(ctx, \"example\", \u0026finspace.KxUserArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-user\"),\n\t\t\tEnvironmentId: exampleKxEnvironment.ID(),\n\t\t\tIamRole: exampleRole.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.finspace.KxEnvironment;\nimport com.pulumi.aws.finspace.KxEnvironmentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.finspace.KxUser;\nimport com.pulumi.aws.finspace.KxUserArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"Example KMS Key\")\n .deletionWindowInDays(7)\n .build());\n\n var exampleKxEnvironment = new KxEnvironment(\"exampleKxEnvironment\", KxEnvironmentArgs.builder()\n .name(\"my-tf-kx-environment\")\n .kmsKeyId(example.arn())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example-role\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleKxUser = new KxUser(\"exampleKxUser\", KxUserArgs.builder()\n .name(\"my-tf-kx-user\")\n .environmentId(exampleKxEnvironment.id())\n .iamRole(exampleRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n deletionWindowInDays: 7\n exampleKxEnvironment:\n type: aws:finspace:KxEnvironment\n name: example\n properties:\n name: my-tf-kx-environment\n kmsKeyId: ${example.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example-role\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid: \"\"\n Principal:\n Service: ec2.amazonaws.com\n exampleKxUser:\n type: aws:finspace:KxUser\n name: example\n properties:\n name: my-tf-kx-user\n environmentId: ${exampleKxEnvironment.id}\n iamRole: ${exampleRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an AWS FinSpace Kx User using the `id` (environment ID and user name, comma-delimited). For example:\n\n```sh\n$ pulumi import aws:finspace/kxUser:KxUser example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-user\n```\n", + "description": "Resource for managing an AWS FinSpace Kx User.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {\n description: \"Example KMS Key\",\n deletionWindowInDays: 7,\n});\nconst exampleKxEnvironment = new aws.finspace.KxEnvironment(\"example\", {\n name: \"my-tf-kx-environment\",\n kmsKeyId: example.arn,\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example-role\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleKxUser = new aws.finspace.KxUser(\"example\", {\n name: \"my-tf-kx-user\",\n environmentId: exampleKxEnvironment.id,\n iamRole: exampleRole.arn,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\",\n description=\"Example KMS Key\",\n deletion_window_in_days=7)\nexample_kx_environment = aws.finspace.KxEnvironment(\"example\",\n name=\"my-tf-kx-environment\",\n kms_key_id=example.arn)\nexample_role = aws.iam.Role(\"example\",\n name=\"example-role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }))\nexample_kx_user = aws.finspace.KxUser(\"example\",\n name=\"my-tf-kx-user\",\n environment_id=example_kx_environment.id,\n iam_role=example_role.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n DeletionWindowInDays = 7,\n });\n\n var exampleKxEnvironment = new Aws.FinSpace.KxEnvironment(\"example\", new()\n {\n Name = \"my-tf-kx-environment\",\n KmsKeyId = example.Arn,\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example-role\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleKxUser = new Aws.FinSpace.KxUser(\"example\", new()\n {\n Name = \"my-tf-kx-user\",\n EnvironmentId = exampleKxEnvironment.Id,\n IamRole = exampleRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example KMS Key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKxEnvironment, err := finspace.NewKxEnvironment(ctx, \"example\", \u0026finspace.KxEnvironmentArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-environment\"),\n\t\t\tKmsKeyId: example.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = finspace.NewKxUser(ctx, \"example\", \u0026finspace.KxUserArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-user\"),\n\t\t\tEnvironmentId: exampleKxEnvironment.ID(),\n\t\t\tIamRole: exampleRole.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.finspace.KxEnvironment;\nimport com.pulumi.aws.finspace.KxEnvironmentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.finspace.KxUser;\nimport com.pulumi.aws.finspace.KxUserArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"Example KMS Key\")\n .deletionWindowInDays(7)\n .build());\n\n var exampleKxEnvironment = new KxEnvironment(\"exampleKxEnvironment\", KxEnvironmentArgs.builder()\n .name(\"my-tf-kx-environment\")\n .kmsKeyId(example.arn())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example-role\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleKxUser = new KxUser(\"exampleKxUser\", KxUserArgs.builder()\n .name(\"my-tf-kx-user\")\n .environmentId(exampleKxEnvironment.id())\n .iamRole(exampleRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n deletionWindowInDays: 7\n exampleKxEnvironment:\n type: aws:finspace:KxEnvironment\n name: example\n properties:\n name: my-tf-kx-environment\n kmsKeyId: ${example.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example-role\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: ec2.amazonaws.com\n exampleKxUser:\n type: aws:finspace:KxUser\n name: example\n properties:\n name: my-tf-kx-user\n environmentId: ${exampleKxEnvironment.id}\n iamRole: ${exampleRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an AWS FinSpace Kx User using the `id` (environment ID and user name, comma-delimited). For example:\n\n```sh\n$ pulumi import aws:finspace/kxUser:KxUser example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-user\n```\n", "properties": { "arn": { "type": "string", @@ -271465,7 +271465,7 @@ } }, "aws:gamelift/gameServerGroup:GameServerGroup": { - "description": "Provides an GameLift Game Server Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.gamelift.GameServerGroup(\"example\", {\n gameServerGroupName: \"example\",\n instanceDefinitions: [\n {\n instanceType: \"c5.large\",\n },\n {\n instanceType: \"c5a.large\",\n },\n ],\n launchTemplate: {\n id: exampleAwsLaunchTemplate.id,\n },\n maxSize: 1,\n minSize: 1,\n roleArn: exampleAwsIamRole.arn,\n}, {\n dependsOn: [exampleAwsIamRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.gamelift.GameServerGroup(\"example\",\n game_server_group_name=\"example\",\n instance_definitions=[\n {\n \"instance_type\": \"c5.large\",\n },\n {\n \"instance_type\": \"c5a.large\",\n },\n ],\n launch_template={\n \"id\": example_aws_launch_template[\"id\"],\n },\n max_size=1,\n min_size=1,\n role_arn=example_aws_iam_role[\"arn\"],\n opts = pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GameLift.GameServerGroup(\"example\", new()\n {\n GameServerGroupName = \"example\",\n InstanceDefinitions = new[]\n {\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5.large\",\n },\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5a.large\",\n },\n },\n LaunchTemplate = new Aws.GameLift.Inputs.GameServerGroupLaunchTemplateArgs\n {\n Id = exampleAwsLaunchTemplate.Id,\n },\n MaxSize = 1,\n MinSize = 1,\n RoleArn = exampleAwsIamRole.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\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 := gamelift.NewGameServerGroup(ctx, \"example\", \u0026gamelift.GameServerGroupArgs{\n\t\t\tGameServerGroupName: pulumi.String(\"example\"),\n\t\t\tInstanceDefinitions: gamelift.GameServerGroupInstanceDefinitionArray{\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t\t\t},\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5a.large\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLaunchTemplate: \u0026gamelift.GameServerGroupLaunchTemplateArgs{\n\t\t\t\tId: pulumi.Any(exampleAwsLaunchTemplate.Id),\n\t\t\t},\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicyAttachment,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.gamelift.GameServerGroup;\nimport com.pulumi.aws.gamelift.GameServerGroupArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupInstanceDefinitionArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupLaunchTemplateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GameServerGroup(\"example\", GameServerGroupArgs.builder()\n .gameServerGroupName(\"example\")\n .instanceDefinitions( \n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5.large\")\n .build(),\n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5a.large\")\n .build())\n .launchTemplate(GameServerGroupLaunchTemplateArgs.builder()\n .id(exampleAwsLaunchTemplate.id())\n .build())\n .maxSize(1)\n .minSize(1)\n .roleArn(exampleAwsIamRole.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:gamelift:GameServerGroup\n properties:\n gameServerGroupName: example\n instanceDefinitions:\n - instanceType: c5.large\n - instanceType: c5a.large\n launchTemplate:\n id: ${exampleAwsLaunchTemplate.id}\n maxSize: 1\n minSize: 1\n roleArn: ${exampleAwsIamRole.arn}\n options:\n dependsOn:\n - ${exampleAwsIamRolePolicyAttachment}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFull usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.gamelift.GameServerGroup(\"example\", {\n autoScalingPolicy: {\n estimatedInstanceWarmup: 60,\n targetTrackingConfiguration: {\n targetValue: 75,\n },\n },\n balancingStrategy: \"SPOT_ONLY\",\n gameServerGroupName: \"example\",\n gameServerProtectionPolicy: \"FULL_PROTECTION\",\n instanceDefinitions: [\n {\n instanceType: \"c5.large\",\n weightedCapacity: \"1\",\n },\n {\n instanceType: \"c5.2xlarge\",\n weightedCapacity: \"2\",\n },\n ],\n launchTemplate: {\n id: exampleAwsLaunchTemplate.id,\n version: \"1\",\n },\n maxSize: 1,\n minSize: 1,\n roleArn: exampleAwsIamRole.arn,\n tags: {\n Name: \"example\",\n },\n vpcSubnets: [\n \"subnet-12345678\",\n \"subnet-23456789\",\n ],\n}, {\n dependsOn: [exampleAwsIamRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.gamelift.GameServerGroup(\"example\",\n auto_scaling_policy={\n \"estimated_instance_warmup\": 60,\n \"target_tracking_configuration\": {\n \"target_value\": 75,\n },\n },\n balancing_strategy=\"SPOT_ONLY\",\n game_server_group_name=\"example\",\n game_server_protection_policy=\"FULL_PROTECTION\",\n instance_definitions=[\n {\n \"instance_type\": \"c5.large\",\n \"weighted_capacity\": \"1\",\n },\n {\n \"instance_type\": \"c5.2xlarge\",\n \"weighted_capacity\": \"2\",\n },\n ],\n launch_template={\n \"id\": example_aws_launch_template[\"id\"],\n \"version\": \"1\",\n },\n max_size=1,\n min_size=1,\n role_arn=example_aws_iam_role[\"arn\"],\n tags={\n \"Name\": \"example\",\n },\n vpc_subnets=[\n \"subnet-12345678\",\n \"subnet-23456789\",\n ],\n opts = pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GameLift.GameServerGroup(\"example\", new()\n {\n AutoScalingPolicy = new Aws.GameLift.Inputs.GameServerGroupAutoScalingPolicyArgs\n {\n EstimatedInstanceWarmup = 60,\n TargetTrackingConfiguration = new Aws.GameLift.Inputs.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs\n {\n TargetValue = 75,\n },\n },\n BalancingStrategy = \"SPOT_ONLY\",\n GameServerGroupName = \"example\",\n GameServerProtectionPolicy = \"FULL_PROTECTION\",\n InstanceDefinitions = new[]\n {\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5.large\",\n WeightedCapacity = \"1\",\n },\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5.2xlarge\",\n WeightedCapacity = \"2\",\n },\n },\n LaunchTemplate = new Aws.GameLift.Inputs.GameServerGroupLaunchTemplateArgs\n {\n Id = exampleAwsLaunchTemplate.Id,\n Version = \"1\",\n },\n MaxSize = 1,\n MinSize = 1,\n RoleArn = exampleAwsIamRole.Arn,\n Tags = \n {\n { \"Name\", \"example\" },\n },\n VpcSubnets = new[]\n {\n \"subnet-12345678\",\n \"subnet-23456789\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\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 := gamelift.NewGameServerGroup(ctx, \"example\", \u0026gamelift.GameServerGroupArgs{\n\t\t\tAutoScalingPolicy: \u0026gamelift.GameServerGroupAutoScalingPolicyArgs{\n\t\t\t\tEstimatedInstanceWarmup: pulumi.Int(60),\n\t\t\t\tTargetTrackingConfiguration: \u0026gamelift.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs{\n\t\t\t\t\tTargetValue: pulumi.Float64(75),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBalancingStrategy: pulumi.String(\"SPOT_ONLY\"),\n\t\t\tGameServerGroupName: pulumi.String(\"example\"),\n\t\t\tGameServerProtectionPolicy: pulumi.String(\"FULL_PROTECTION\"),\n\t\t\tInstanceDefinitions: gamelift.GameServerGroupInstanceDefinitionArray{\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t\t\t\tWeightedCapacity: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5.2xlarge\"),\n\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLaunchTemplate: \u0026gamelift.GameServerGroupLaunchTemplateArgs{\n\t\t\t\tId: pulumi.Any(exampleAwsLaunchTemplate.Id),\n\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t},\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tVpcSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-12345678\"),\n\t\t\t\tpulumi.String(\"subnet-23456789\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicyAttachment,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.gamelift.GameServerGroup;\nimport com.pulumi.aws.gamelift.GameServerGroupArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupAutoScalingPolicyArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupInstanceDefinitionArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupLaunchTemplateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GameServerGroup(\"example\", GameServerGroupArgs.builder()\n .autoScalingPolicy(GameServerGroupAutoScalingPolicyArgs.builder()\n .estimatedInstanceWarmup(60)\n .targetTrackingConfiguration(GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs.builder()\n .targetValue(75)\n .build())\n .build())\n .balancingStrategy(\"SPOT_ONLY\")\n .gameServerGroupName(\"example\")\n .gameServerProtectionPolicy(\"FULL_PROTECTION\")\n .instanceDefinitions( \n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5.large\")\n .weightedCapacity(\"1\")\n .build(),\n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5.2xlarge\")\n .weightedCapacity(\"2\")\n .build())\n .launchTemplate(GameServerGroupLaunchTemplateArgs.builder()\n .id(exampleAwsLaunchTemplate.id())\n .version(\"1\")\n .build())\n .maxSize(1)\n .minSize(1)\n .roleArn(exampleAwsIamRole.arn())\n .tags(Map.of(\"Name\", \"example\"))\n .vpcSubnets( \n \"subnet-12345678\",\n \"subnet-23456789\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:gamelift:GameServerGroup\n properties:\n autoScalingPolicy:\n estimatedInstanceWarmup: 60\n targetTrackingConfiguration:\n targetValue: 75\n balancingStrategy: SPOT_ONLY\n gameServerGroupName: example\n gameServerProtectionPolicy: FULL_PROTECTION\n instanceDefinitions:\n - instanceType: c5.large\n weightedCapacity: '1'\n - instanceType: c5.2xlarge\n weightedCapacity: '2'\n launchTemplate:\n id: ${exampleAwsLaunchTemplate.id}\n version: '1'\n maxSize: 1\n minSize: 1\n roleArn: ${exampleAwsIamRole.arn}\n tags:\n Name: example\n vpcSubnets:\n - subnet-12345678\n - subnet-23456789\n options:\n dependsOn:\n - ${exampleAwsIamRolePolicyAttachment}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Role for GameLift Game Server Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getPartition({});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\",\n ],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n name: \"gamelift-game-server-group-example\",\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n policyArn: current.then(current =\u003e `arn:${current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy`),\n role: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_partition()\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\",\n ],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample = aws.iam.Role(\"example\",\n assume_role_policy=assume_role.json,\n name=\"gamelift-game-server-group-example\")\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n policy_arn=f\"arn:{current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy\",\n role=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetPartition.Invoke();\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"gamelift-game-server-group-example\",\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n PolicyArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::aws:policy/GameLiftGameServerGroupPolicy\",\n Role = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"autoscaling.amazonaws.com\",\n\t\t\t\t\t\t\t\t\"gamelift.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t\tName: pulumi.String(\"gamelift-game-server-group-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.Sprintf(\"arn:%v:iam::aws:policy/GameLiftGameServerGroupPolicy\", current.Partition),\n\t\t\tRole: example.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getPartition();\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers( \n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"gamelift-game-server-group-example\")\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(String.format(\"arn:%s:iam::aws:policy/GameLiftGameServerGroupPolicy\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .role(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n name: gamelift-game-server-group-example\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n policyArn: arn:${current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy\n role: ${example.name}\nvariables:\n current:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - autoscaling.amazonaws.com\n - gamelift.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GameLift Game Server Group using the `name`. For example:\n\n```sh\n$ pulumi import aws:gamelift/gameServerGroup:GameServerGroup example example\n```\n", + "description": "Provides an GameLift Game Server Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.gamelift.GameServerGroup(\"example\", {\n gameServerGroupName: \"example\",\n instanceDefinitions: [\n {\n instanceType: \"c5.large\",\n },\n {\n instanceType: \"c5a.large\",\n },\n ],\n launchTemplate: {\n id: exampleAwsLaunchTemplate.id,\n },\n maxSize: 1,\n minSize: 1,\n roleArn: exampleAwsIamRole.arn,\n}, {\n dependsOn: [exampleAwsIamRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.gamelift.GameServerGroup(\"example\",\n game_server_group_name=\"example\",\n instance_definitions=[\n {\n \"instance_type\": \"c5.large\",\n },\n {\n \"instance_type\": \"c5a.large\",\n },\n ],\n launch_template={\n \"id\": example_aws_launch_template[\"id\"],\n },\n max_size=1,\n min_size=1,\n role_arn=example_aws_iam_role[\"arn\"],\n opts = pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GameLift.GameServerGroup(\"example\", new()\n {\n GameServerGroupName = \"example\",\n InstanceDefinitions = new[]\n {\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5.large\",\n },\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5a.large\",\n },\n },\n LaunchTemplate = new Aws.GameLift.Inputs.GameServerGroupLaunchTemplateArgs\n {\n Id = exampleAwsLaunchTemplate.Id,\n },\n MaxSize = 1,\n MinSize = 1,\n RoleArn = exampleAwsIamRole.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\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 := gamelift.NewGameServerGroup(ctx, \"example\", \u0026gamelift.GameServerGroupArgs{\n\t\t\tGameServerGroupName: pulumi.String(\"example\"),\n\t\t\tInstanceDefinitions: gamelift.GameServerGroupInstanceDefinitionArray{\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t\t\t},\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5a.large\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLaunchTemplate: \u0026gamelift.GameServerGroupLaunchTemplateArgs{\n\t\t\t\tId: pulumi.Any(exampleAwsLaunchTemplate.Id),\n\t\t\t},\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicyAttachment,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.gamelift.GameServerGroup;\nimport com.pulumi.aws.gamelift.GameServerGroupArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupInstanceDefinitionArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupLaunchTemplateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GameServerGroup(\"example\", GameServerGroupArgs.builder()\n .gameServerGroupName(\"example\")\n .instanceDefinitions( \n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5.large\")\n .build(),\n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5a.large\")\n .build())\n .launchTemplate(GameServerGroupLaunchTemplateArgs.builder()\n .id(exampleAwsLaunchTemplate.id())\n .build())\n .maxSize(1)\n .minSize(1)\n .roleArn(exampleAwsIamRole.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:gamelift:GameServerGroup\n properties:\n gameServerGroupName: example\n instanceDefinitions:\n - instanceType: c5.large\n - instanceType: c5a.large\n launchTemplate:\n id: ${exampleAwsLaunchTemplate.id}\n maxSize: 1\n minSize: 1\n roleArn: ${exampleAwsIamRole.arn}\n options:\n dependson:\n - ${exampleAwsIamRolePolicyAttachment}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFull usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.gamelift.GameServerGroup(\"example\", {\n autoScalingPolicy: {\n estimatedInstanceWarmup: 60,\n targetTrackingConfiguration: {\n targetValue: 75,\n },\n },\n balancingStrategy: \"SPOT_ONLY\",\n gameServerGroupName: \"example\",\n gameServerProtectionPolicy: \"FULL_PROTECTION\",\n instanceDefinitions: [\n {\n instanceType: \"c5.large\",\n weightedCapacity: \"1\",\n },\n {\n instanceType: \"c5.2xlarge\",\n weightedCapacity: \"2\",\n },\n ],\n launchTemplate: {\n id: exampleAwsLaunchTemplate.id,\n version: \"1\",\n },\n maxSize: 1,\n minSize: 1,\n roleArn: exampleAwsIamRole.arn,\n tags: {\n Name: \"example\",\n },\n vpcSubnets: [\n \"subnet-12345678\",\n \"subnet-23456789\",\n ],\n}, {\n dependsOn: [exampleAwsIamRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.gamelift.GameServerGroup(\"example\",\n auto_scaling_policy={\n \"estimated_instance_warmup\": 60,\n \"target_tracking_configuration\": {\n \"target_value\": 75,\n },\n },\n balancing_strategy=\"SPOT_ONLY\",\n game_server_group_name=\"example\",\n game_server_protection_policy=\"FULL_PROTECTION\",\n instance_definitions=[\n {\n \"instance_type\": \"c5.large\",\n \"weighted_capacity\": \"1\",\n },\n {\n \"instance_type\": \"c5.2xlarge\",\n \"weighted_capacity\": \"2\",\n },\n ],\n launch_template={\n \"id\": example_aws_launch_template[\"id\"],\n \"version\": \"1\",\n },\n max_size=1,\n min_size=1,\n role_arn=example_aws_iam_role[\"arn\"],\n tags={\n \"Name\": \"example\",\n },\n vpc_subnets=[\n \"subnet-12345678\",\n \"subnet-23456789\",\n ],\n opts = pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GameLift.GameServerGroup(\"example\", new()\n {\n AutoScalingPolicy = new Aws.GameLift.Inputs.GameServerGroupAutoScalingPolicyArgs\n {\n EstimatedInstanceWarmup = 60,\n TargetTrackingConfiguration = new Aws.GameLift.Inputs.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs\n {\n TargetValue = 75,\n },\n },\n BalancingStrategy = \"SPOT_ONLY\",\n GameServerGroupName = \"example\",\n GameServerProtectionPolicy = \"FULL_PROTECTION\",\n InstanceDefinitions = new[]\n {\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5.large\",\n WeightedCapacity = \"1\",\n },\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5.2xlarge\",\n WeightedCapacity = \"2\",\n },\n },\n LaunchTemplate = new Aws.GameLift.Inputs.GameServerGroupLaunchTemplateArgs\n {\n Id = exampleAwsLaunchTemplate.Id,\n Version = \"1\",\n },\n MaxSize = 1,\n MinSize = 1,\n RoleArn = exampleAwsIamRole.Arn,\n Tags = \n {\n { \"Name\", \"example\" },\n },\n VpcSubnets = new[]\n {\n \"subnet-12345678\",\n \"subnet-23456789\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\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 := gamelift.NewGameServerGroup(ctx, \"example\", \u0026gamelift.GameServerGroupArgs{\n\t\t\tAutoScalingPolicy: \u0026gamelift.GameServerGroupAutoScalingPolicyArgs{\n\t\t\t\tEstimatedInstanceWarmup: pulumi.Int(60),\n\t\t\t\tTargetTrackingConfiguration: \u0026gamelift.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs{\n\t\t\t\t\tTargetValue: pulumi.Float64(75),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBalancingStrategy: pulumi.String(\"SPOT_ONLY\"),\n\t\t\tGameServerGroupName: pulumi.String(\"example\"),\n\t\t\tGameServerProtectionPolicy: pulumi.String(\"FULL_PROTECTION\"),\n\t\t\tInstanceDefinitions: gamelift.GameServerGroupInstanceDefinitionArray{\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t\t\t\tWeightedCapacity: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5.2xlarge\"),\n\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLaunchTemplate: \u0026gamelift.GameServerGroupLaunchTemplateArgs{\n\t\t\t\tId: pulumi.Any(exampleAwsLaunchTemplate.Id),\n\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t},\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tVpcSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-12345678\"),\n\t\t\t\tpulumi.String(\"subnet-23456789\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicyAttachment,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.gamelift.GameServerGroup;\nimport com.pulumi.aws.gamelift.GameServerGroupArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupAutoScalingPolicyArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupInstanceDefinitionArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupLaunchTemplateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GameServerGroup(\"example\", GameServerGroupArgs.builder()\n .autoScalingPolicy(GameServerGroupAutoScalingPolicyArgs.builder()\n .estimatedInstanceWarmup(60)\n .targetTrackingConfiguration(GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs.builder()\n .targetValue(75)\n .build())\n .build())\n .balancingStrategy(\"SPOT_ONLY\")\n .gameServerGroupName(\"example\")\n .gameServerProtectionPolicy(\"FULL_PROTECTION\")\n .instanceDefinitions( \n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5.large\")\n .weightedCapacity(\"1\")\n .build(),\n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5.2xlarge\")\n .weightedCapacity(\"2\")\n .build())\n .launchTemplate(GameServerGroupLaunchTemplateArgs.builder()\n .id(exampleAwsLaunchTemplate.id())\n .version(\"1\")\n .build())\n .maxSize(1)\n .minSize(1)\n .roleArn(exampleAwsIamRole.arn())\n .tags(Map.of(\"Name\", \"example\"))\n .vpcSubnets( \n \"subnet-12345678\",\n \"subnet-23456789\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:gamelift:GameServerGroup\n properties:\n autoScalingPolicy:\n estimatedInstanceWarmup: 60\n targetTrackingConfiguration:\n targetValue: 75\n balancingStrategy: SPOT_ONLY\n gameServerGroupName: example\n gameServerProtectionPolicy: FULL_PROTECTION\n instanceDefinitions:\n - instanceType: c5.large\n weightedCapacity: '1'\n - instanceType: c5.2xlarge\n weightedCapacity: '2'\n launchTemplate:\n id: ${exampleAwsLaunchTemplate.id}\n version: '1'\n maxSize: 1\n minSize: 1\n roleArn: ${exampleAwsIamRole.arn}\n tags:\n Name: example\n vpcSubnets:\n - subnet-12345678\n - subnet-23456789\n options:\n dependson:\n - ${exampleAwsIamRolePolicyAttachment}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Role for GameLift Game Server Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getPartition({});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\",\n ],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n name: \"gamelift-game-server-group-example\",\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n policyArn: current.then(current =\u003e `arn:${current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy`),\n role: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_partition()\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\",\n ],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample = aws.iam.Role(\"example\",\n assume_role_policy=assume_role.json,\n name=\"gamelift-game-server-group-example\")\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n policy_arn=f\"arn:{current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy\",\n role=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetPartition.Invoke();\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"gamelift-game-server-group-example\",\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n PolicyArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::aws:policy/GameLiftGameServerGroupPolicy\",\n Role = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"autoscaling.amazonaws.com\",\n\t\t\t\t\t\t\t\t\"gamelift.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t\tName: pulumi.String(\"gamelift-game-server-group-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.Sprintf(\"arn:%v:iam::aws:policy/GameLiftGameServerGroupPolicy\", current.Partition),\n\t\t\tRole: example.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getPartition();\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers( \n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"gamelift-game-server-group-example\")\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(String.format(\"arn:%s:iam::aws:policy/GameLiftGameServerGroupPolicy\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .role(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n name: gamelift-game-server-group-example\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n policyArn: arn:${current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy\n role: ${example.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - autoscaling.amazonaws.com\n - gamelift.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GameLift Game Server Group using the `name`. For example:\n\n```sh\n$ pulumi import aws:gamelift/gameServerGroup:GameServerGroup example example\n```\n", "properties": { "arn": { "type": "string", @@ -272326,7 +272326,7 @@ } }, "aws:glacier/vault:Vault": { - "description": "Provides a Glacier Vault Resource. You can refer to the [Glacier Developer Guide](https://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-vaults.html) for a full explanation of the Glacier Vault functionality\n\n\u003e **NOTE:** When removing a Glacier Vault, the Vault must be empty.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst awsSnsTopic = new aws.sns.Topic(\"aws_sns_topic\", {name: \"glacier-sns-topic\"});\nconst myArchive = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"add-read-only-perm\",\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\n \"glacier:InitiateJob\",\n \"glacier:GetJobOutput\",\n ],\n resources: [\"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\"],\n }],\n});\nconst myArchiveVault = new aws.glacier.Vault(\"my_archive\", {\n name: \"MyArchive\",\n notification: {\n snsTopic: awsSnsTopic.arn,\n events: [\n \"ArchiveRetrievalCompleted\",\n \"InventoryRetrievalCompleted\",\n ],\n },\n accessPolicy: myArchive.then(myArchive =\u003e myArchive.json),\n tags: {\n Test: \"MyArchive\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naws_sns_topic = aws.sns.Topic(\"aws_sns_topic\", name=\"glacier-sns-topic\")\nmy_archive = aws.iam.get_policy_document(statements=[{\n \"sid\": \"add-read-only-perm\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\n \"glacier:InitiateJob\",\n \"glacier:GetJobOutput\",\n ],\n \"resources\": [\"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\"],\n}])\nmy_archive_vault = aws.glacier.Vault(\"my_archive\",\n name=\"MyArchive\",\n notification={\n \"sns_topic\": aws_sns_topic.arn,\n \"events\": [\n \"ArchiveRetrievalCompleted\",\n \"InventoryRetrievalCompleted\",\n ],\n },\n access_policy=my_archive.json,\n tags={\n \"Test\": \"MyArchive\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awsSnsTopic = new Aws.Sns.Topic(\"aws_sns_topic\", new()\n {\n Name = \"glacier-sns-topic\",\n });\n\n var myArchive = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"add-read-only-perm\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"glacier:InitiateJob\",\n \"glacier:GetJobOutput\",\n },\n Resources = new[]\n {\n \"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\",\n },\n },\n },\n });\n\n var myArchiveVault = new Aws.Glacier.Vault(\"my_archive\", new()\n {\n Name = \"MyArchive\",\n Notification = new Aws.Glacier.Inputs.VaultNotificationArgs\n {\n SnsTopic = awsSnsTopic.Arn,\n Events = new[]\n {\n \"ArchiveRetrievalCompleted\",\n \"InventoryRetrievalCompleted\",\n },\n },\n AccessPolicy = myArchive.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Tags = \n {\n { \"Test\", \"MyArchive\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glacier\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawsSnsTopic, err := sns.NewTopic(ctx, \"aws_sns_topic\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"glacier-sns-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyArchive, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"add-read-only-perm\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"*\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"*\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"glacier:InitiateJob\",\n\t\t\t\t\t\t\"glacier:GetJobOutput\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glacier.NewVault(ctx, \"my_archive\", \u0026glacier.VaultArgs{\n\t\t\tName: pulumi.String(\"MyArchive\"),\n\t\t\tNotification: \u0026glacier.VaultNotificationArgs{\n\t\t\t\tSnsTopic: awsSnsTopic.Arn,\n\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ArchiveRetrievalCompleted\"),\n\t\t\t\t\tpulumi.String(\"InventoryRetrievalCompleted\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccessPolicy: pulumi.String(myArchive.Json),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Test\": pulumi.String(\"MyArchive\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.glacier.Vault;\nimport com.pulumi.aws.glacier.VaultArgs;\nimport com.pulumi.aws.glacier.inputs.VaultNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awsSnsTopic = new Topic(\"awsSnsTopic\", TopicArgs.builder()\n .name(\"glacier-sns-topic\")\n .build());\n\n final var myArchive = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"add-read-only-perm\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions( \n \"glacier:InitiateJob\",\n \"glacier:GetJobOutput\")\n .resources(\"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\")\n .build())\n .build());\n\n var myArchiveVault = new Vault(\"myArchiveVault\", VaultArgs.builder()\n .name(\"MyArchive\")\n .notification(VaultNotificationArgs.builder()\n .snsTopic(awsSnsTopic.arn())\n .events( \n \"ArchiveRetrievalCompleted\",\n \"InventoryRetrievalCompleted\")\n .build())\n .accessPolicy(myArchive.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .tags(Map.of(\"Test\", \"MyArchive\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awsSnsTopic:\n type: aws:sns:Topic\n name: aws_sns_topic\n properties:\n name: glacier-sns-topic\n myArchiveVault:\n type: aws:glacier:Vault\n name: my_archive\n properties:\n name: MyArchive\n notification:\n snsTopic: ${awsSnsTopic.arn}\n events:\n - ArchiveRetrievalCompleted\n - InventoryRetrievalCompleted\n accessPolicy: ${myArchive.json}\n tags:\n Test: MyArchive\nvariables:\n myArchive:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: add-read-only-perm\n effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - glacier:InitiateJob\n - glacier:GetJobOutput\n resources:\n - arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glacier Vaults using the `name`. For example:\n\n```sh\n$ pulumi import aws:glacier/vault:Vault archive my_archive\n```\n", + "description": "Provides a Glacier Vault Resource. You can refer to the [Glacier Developer Guide](https://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-vaults.html) for a full explanation of the Glacier Vault functionality\n\n\u003e **NOTE:** When removing a Glacier Vault, the Vault must be empty.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst awsSnsTopic = new aws.sns.Topic(\"aws_sns_topic\", {name: \"glacier-sns-topic\"});\nconst myArchive = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"add-read-only-perm\",\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\n \"glacier:InitiateJob\",\n \"glacier:GetJobOutput\",\n ],\n resources: [\"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\"],\n }],\n});\nconst myArchiveVault = new aws.glacier.Vault(\"my_archive\", {\n name: \"MyArchive\",\n notification: {\n snsTopic: awsSnsTopic.arn,\n events: [\n \"ArchiveRetrievalCompleted\",\n \"InventoryRetrievalCompleted\",\n ],\n },\n accessPolicy: myArchive.then(myArchive =\u003e myArchive.json),\n tags: {\n Test: \"MyArchive\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naws_sns_topic = aws.sns.Topic(\"aws_sns_topic\", name=\"glacier-sns-topic\")\nmy_archive = aws.iam.get_policy_document(statements=[{\n \"sid\": \"add-read-only-perm\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\n \"glacier:InitiateJob\",\n \"glacier:GetJobOutput\",\n ],\n \"resources\": [\"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\"],\n}])\nmy_archive_vault = aws.glacier.Vault(\"my_archive\",\n name=\"MyArchive\",\n notification={\n \"sns_topic\": aws_sns_topic.arn,\n \"events\": [\n \"ArchiveRetrievalCompleted\",\n \"InventoryRetrievalCompleted\",\n ],\n },\n access_policy=my_archive.json,\n tags={\n \"Test\": \"MyArchive\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awsSnsTopic = new Aws.Sns.Topic(\"aws_sns_topic\", new()\n {\n Name = \"glacier-sns-topic\",\n });\n\n var myArchive = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"add-read-only-perm\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"glacier:InitiateJob\",\n \"glacier:GetJobOutput\",\n },\n Resources = new[]\n {\n \"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\",\n },\n },\n },\n });\n\n var myArchiveVault = new Aws.Glacier.Vault(\"my_archive\", new()\n {\n Name = \"MyArchive\",\n Notification = new Aws.Glacier.Inputs.VaultNotificationArgs\n {\n SnsTopic = awsSnsTopic.Arn,\n Events = new[]\n {\n \"ArchiveRetrievalCompleted\",\n \"InventoryRetrievalCompleted\",\n },\n },\n AccessPolicy = myArchive.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Tags = \n {\n { \"Test\", \"MyArchive\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glacier\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawsSnsTopic, err := sns.NewTopic(ctx, \"aws_sns_topic\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"glacier-sns-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyArchive, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"add-read-only-perm\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"*\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"*\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"glacier:InitiateJob\",\n\t\t\t\t\t\t\"glacier:GetJobOutput\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glacier.NewVault(ctx, \"my_archive\", \u0026glacier.VaultArgs{\n\t\t\tName: pulumi.String(\"MyArchive\"),\n\t\t\tNotification: \u0026glacier.VaultNotificationArgs{\n\t\t\t\tSnsTopic: awsSnsTopic.Arn,\n\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ArchiveRetrievalCompleted\"),\n\t\t\t\t\tpulumi.String(\"InventoryRetrievalCompleted\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccessPolicy: pulumi.String(myArchive.Json),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Test\": pulumi.String(\"MyArchive\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.glacier.Vault;\nimport com.pulumi.aws.glacier.VaultArgs;\nimport com.pulumi.aws.glacier.inputs.VaultNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awsSnsTopic = new Topic(\"awsSnsTopic\", TopicArgs.builder()\n .name(\"glacier-sns-topic\")\n .build());\n\n final var myArchive = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"add-read-only-perm\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions( \n \"glacier:InitiateJob\",\n \"glacier:GetJobOutput\")\n .resources(\"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\")\n .build())\n .build());\n\n var myArchiveVault = new Vault(\"myArchiveVault\", VaultArgs.builder()\n .name(\"MyArchive\")\n .notification(VaultNotificationArgs.builder()\n .snsTopic(awsSnsTopic.arn())\n .events( \n \"ArchiveRetrievalCompleted\",\n \"InventoryRetrievalCompleted\")\n .build())\n .accessPolicy(myArchive.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .tags(Map.of(\"Test\", \"MyArchive\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awsSnsTopic:\n type: aws:sns:Topic\n name: aws_sns_topic\n properties:\n name: glacier-sns-topic\n myArchiveVault:\n type: aws:glacier:Vault\n name: my_archive\n properties:\n name: MyArchive\n notification:\n snsTopic: ${awsSnsTopic.arn}\n events:\n - ArchiveRetrievalCompleted\n - InventoryRetrievalCompleted\n accessPolicy: ${myArchive.json}\n tags:\n Test: MyArchive\nvariables:\n myArchive:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: add-read-only-perm\n effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - glacier:InitiateJob\n - glacier:GetJobOutput\n resources:\n - arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glacier Vaults using the `name`. For example:\n\n```sh\n$ pulumi import aws:glacier/vault:Vault archive my_archive\n```\n", "properties": { "accessPolicy": { "type": "string", @@ -272436,7 +272436,7 @@ } }, "aws:glacier/vaultLock:VaultLock": { - "description": "## Example Usage\n\n### Testing Glacier Vault Lock Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleVault = new aws.glacier.Vault(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"glacier:DeleteArchive\"],\n effect: \"Deny\",\n resources: [exampleVault.arn],\n conditions: [{\n test: \"NumericLessThanEquals\",\n variable: \"glacier:ArchiveAgeinDays\",\n values: [\"365\"],\n }],\n }],\n});\nconst exampleVaultLock = new aws.glacier.VaultLock(\"example\", {\n completeLock: false,\n policy: example.apply(example =\u003e example.json),\n vaultName: exampleVault.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_vault = aws.glacier.Vault(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\"glacier:DeleteArchive\"],\n \"effect\": \"Deny\",\n \"resources\": [example_vault.arn],\n \"conditions\": [{\n \"test\": \"NumericLessThanEquals\",\n \"variable\": \"glacier:ArchiveAgeinDays\",\n \"values\": [\"365\"],\n }],\n}])\nexample_vault_lock = aws.glacier.VaultLock(\"example\",\n complete_lock=False,\n policy=example.json,\n vault_name=example_vault.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVault = new Aws.Glacier.Vault(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"glacier:DeleteArchive\",\n },\n Effect = \"Deny\",\n Resources = new[]\n {\n exampleVault.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"NumericLessThanEquals\",\n Variable = \"glacier:ArchiveAgeinDays\",\n Values = new[]\n {\n \"365\",\n },\n },\n },\n },\n },\n });\n\n var exampleVaultLock = new Aws.Glacier.VaultLock(\"example\", new()\n {\n CompleteLock = false,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n VaultName = exampleVault.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glacier\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVault, err := glacier.NewVault(ctx, \"example\", \u0026glacier.VaultArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"glacier:DeleteArchive\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Deny\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleVault.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"NumericLessThanEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"glacier:ArchiveAgeinDays\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"365\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = glacier.NewVaultLock(ctx, \"example\", \u0026glacier.VaultLockArgs{\n\t\t\tCompleteLock: pulumi.Bool(false),\n\t\t\tPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVaultName: exampleVault.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glacier.Vault;\nimport com.pulumi.aws.glacier.VaultArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.glacier.VaultLock;\nimport com.pulumi.aws.glacier.VaultLockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"glacier:DeleteArchive\")\n .effect(\"Deny\")\n .resources(exampleVault.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"NumericLessThanEquals\")\n .variable(\"glacier:ArchiveAgeinDays\")\n .values(\"365\")\n .build())\n .build())\n .build());\n\n var exampleVaultLock = new VaultLock(\"exampleVaultLock\", VaultLockArgs.builder()\n .completeLock(false)\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .vaultName(exampleVault.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVault:\n type: aws:glacier:Vault\n name: example\n properties:\n name: example\n exampleVaultLock:\n type: aws:glacier:VaultLock\n name: example\n properties:\n completeLock: false\n policy: ${example.json}\n vaultName: ${exampleVault.name}\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - glacier:DeleteArchive\n effect: Deny\n resources:\n - ${exampleVault.arn}\n conditions:\n - test: NumericLessThanEquals\n variable: glacier:ArchiveAgeinDays\n values:\n - '365'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Permanently Applying Glacier Vault Lock Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glacier.VaultLock(\"example\", {\n completeLock: true,\n policy: exampleAwsIamPolicyDocument.json,\n vaultName: exampleAwsGlacierVault.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glacier.VaultLock(\"example\",\n complete_lock=True,\n policy=example_aws_iam_policy_document[\"json\"],\n vault_name=example_aws_glacier_vault[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glacier.VaultLock(\"example\", new()\n {\n CompleteLock = true,\n Policy = exampleAwsIamPolicyDocument.Json,\n VaultName = exampleAwsGlacierVault.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glacier\"\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 := glacier.NewVaultLock(ctx, \"example\", \u0026glacier.VaultLockArgs{\n\t\t\tCompleteLock: pulumi.Bool(true),\n\t\t\tPolicy: pulumi.Any(exampleAwsIamPolicyDocument.Json),\n\t\t\tVaultName: pulumi.Any(exampleAwsGlacierVault.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glacier.VaultLock;\nimport com.pulumi.aws.glacier.VaultLockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new VaultLock(\"example\", VaultLockArgs.builder()\n .completeLock(true)\n .policy(exampleAwsIamPolicyDocument.json())\n .vaultName(exampleAwsGlacierVault.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glacier:VaultLock\n properties:\n completeLock: true\n policy: ${exampleAwsIamPolicyDocument.json}\n vaultName: ${exampleAwsGlacierVault.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glacier Vault Locks using the Glacier Vault name. For example:\n\n```sh\n$ pulumi import aws:glacier/vaultLock:VaultLock example example-vault\n```\n", + "description": "## Example Usage\n\n### Testing Glacier Vault Lock Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleVault = new aws.glacier.Vault(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"glacier:DeleteArchive\"],\n effect: \"Deny\",\n resources: [exampleVault.arn],\n conditions: [{\n test: \"NumericLessThanEquals\",\n variable: \"glacier:ArchiveAgeinDays\",\n values: [\"365\"],\n }],\n }],\n});\nconst exampleVaultLock = new aws.glacier.VaultLock(\"example\", {\n completeLock: false,\n policy: example.apply(example =\u003e example.json),\n vaultName: exampleVault.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_vault = aws.glacier.Vault(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\"glacier:DeleteArchive\"],\n \"effect\": \"Deny\",\n \"resources\": [example_vault.arn],\n \"conditions\": [{\n \"test\": \"NumericLessThanEquals\",\n \"variable\": \"glacier:ArchiveAgeinDays\",\n \"values\": [\"365\"],\n }],\n}])\nexample_vault_lock = aws.glacier.VaultLock(\"example\",\n complete_lock=False,\n policy=example.json,\n vault_name=example_vault.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVault = new Aws.Glacier.Vault(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"glacier:DeleteArchive\",\n },\n Effect = \"Deny\",\n Resources = new[]\n {\n exampleVault.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"NumericLessThanEquals\",\n Variable = \"glacier:ArchiveAgeinDays\",\n Values = new[]\n {\n \"365\",\n },\n },\n },\n },\n },\n });\n\n var exampleVaultLock = new Aws.Glacier.VaultLock(\"example\", new()\n {\n CompleteLock = false,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n VaultName = exampleVault.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glacier\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVault, err := glacier.NewVault(ctx, \"example\", \u0026glacier.VaultArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"glacier:DeleteArchive\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Deny\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleVault.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"NumericLessThanEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"glacier:ArchiveAgeinDays\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"365\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = glacier.NewVaultLock(ctx, \"example\", \u0026glacier.VaultLockArgs{\n\t\t\tCompleteLock: pulumi.Bool(false),\n\t\t\tPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVaultName: exampleVault.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glacier.Vault;\nimport com.pulumi.aws.glacier.VaultArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.glacier.VaultLock;\nimport com.pulumi.aws.glacier.VaultLockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"glacier:DeleteArchive\")\n .effect(\"Deny\")\n .resources(exampleVault.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"NumericLessThanEquals\")\n .variable(\"glacier:ArchiveAgeinDays\")\n .values(\"365\")\n .build())\n .build())\n .build());\n\n var exampleVaultLock = new VaultLock(\"exampleVaultLock\", VaultLockArgs.builder()\n .completeLock(false)\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .vaultName(exampleVault.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVault:\n type: aws:glacier:Vault\n name: example\n properties:\n name: example\n exampleVaultLock:\n type: aws:glacier:VaultLock\n name: example\n properties:\n completeLock: false\n policy: ${example.json}\n vaultName: ${exampleVault.name}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - glacier:DeleteArchive\n effect: Deny\n resources:\n - ${exampleVault.arn}\n conditions:\n - test: NumericLessThanEquals\n variable: glacier:ArchiveAgeinDays\n values:\n - '365'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Permanently Applying Glacier Vault Lock Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glacier.VaultLock(\"example\", {\n completeLock: true,\n policy: exampleAwsIamPolicyDocument.json,\n vaultName: exampleAwsGlacierVault.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glacier.VaultLock(\"example\",\n complete_lock=True,\n policy=example_aws_iam_policy_document[\"json\"],\n vault_name=example_aws_glacier_vault[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glacier.VaultLock(\"example\", new()\n {\n CompleteLock = true,\n Policy = exampleAwsIamPolicyDocument.Json,\n VaultName = exampleAwsGlacierVault.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glacier\"\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 := glacier.NewVaultLock(ctx, \"example\", \u0026glacier.VaultLockArgs{\n\t\t\tCompleteLock: pulumi.Bool(true),\n\t\t\tPolicy: pulumi.Any(exampleAwsIamPolicyDocument.Json),\n\t\t\tVaultName: pulumi.Any(exampleAwsGlacierVault.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glacier.VaultLock;\nimport com.pulumi.aws.glacier.VaultLockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new VaultLock(\"example\", VaultLockArgs.builder()\n .completeLock(true)\n .policy(exampleAwsIamPolicyDocument.json())\n .vaultName(exampleAwsGlacierVault.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glacier:VaultLock\n properties:\n completeLock: true\n policy: ${exampleAwsIamPolicyDocument.json}\n vaultName: ${exampleAwsGlacierVault.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glacier Vault Locks using the Glacier Vault name. For example:\n\n```sh\n$ pulumi import aws:glacier/vaultLock:VaultLock example example-vault\n```\n", "properties": { "completeLock": { "type": "boolean", @@ -273575,7 +273575,7 @@ } }, "aws:glue/catalogTable:CatalogTable": { - "description": "Provides a Glue Catalog Table Resource. You can refer to the [Glue Developer Guide](http://docs.aws.amazon.com/glue/latest/dg/populate-data-catalog.html) for a full explanation of the Glue Data Catalog functionality.\n\n## Example Usage\n\n### Basic Table\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst awsGlueCatalogTable = new aws.glue.CatalogTable(\"aws_glue_catalog_table\", {\n name: \"MyCatalogTable\",\n databaseName: \"MyCatalogDatabase\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naws_glue_catalog_table = aws.glue.CatalogTable(\"aws_glue_catalog_table\",\n name=\"MyCatalogTable\",\n database_name=\"MyCatalogDatabase\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awsGlueCatalogTable = new Aws.Glue.CatalogTable(\"aws_glue_catalog_table\", new()\n {\n Name = \"MyCatalogTable\",\n DatabaseName = \"MyCatalogDatabase\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.NewCatalogTable(ctx, \"aws_glue_catalog_table\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"MyCatalogTable\"),\n\t\t\tDatabaseName: pulumi.String(\"MyCatalogDatabase\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awsGlueCatalogTable = new CatalogTable(\"awsGlueCatalogTable\", CatalogTableArgs.builder()\n .name(\"MyCatalogTable\")\n .databaseName(\"MyCatalogDatabase\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awsGlueCatalogTable:\n type: aws:glue:CatalogTable\n name: aws_glue_catalog_table\n properties:\n name: MyCatalogTable\n databaseName: MyCatalogDatabase\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Parquet Table for Athena\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst awsGlueCatalogTable = new aws.glue.CatalogTable(\"aws_glue_catalog_table\", {\n name: \"MyCatalogTable\",\n databaseName: \"MyCatalogDatabase\",\n tableType: \"EXTERNAL_TABLE\",\n parameters: {\n EXTERNAL: \"TRUE\",\n \"parquet.compression\": \"SNAPPY\",\n },\n storageDescriptor: {\n location: \"s3://my-bucket/event-streams/my-stream\",\n inputFormat: \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\",\n outputFormat: \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\",\n serDeInfo: {\n name: \"my-stream\",\n serializationLibrary: \"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\",\n parameters: {\n \"serialization.format\": \"1\",\n },\n },\n columns: [\n {\n name: \"my_string\",\n type: \"string\",\n },\n {\n name: \"my_double\",\n type: \"double\",\n },\n {\n name: \"my_date\",\n type: \"date\",\n comment: \"\",\n },\n {\n name: \"my_bigint\",\n type: \"bigint\",\n comment: \"\",\n },\n {\n name: \"my_struct\",\n type: \"struct\u003cmy_nested_string:string\u003e\",\n comment: \"\",\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naws_glue_catalog_table = aws.glue.CatalogTable(\"aws_glue_catalog_table\",\n name=\"MyCatalogTable\",\n database_name=\"MyCatalogDatabase\",\n table_type=\"EXTERNAL_TABLE\",\n parameters={\n \"EXTERNAL\": \"TRUE\",\n \"parquet.compression\": \"SNAPPY\",\n },\n storage_descriptor={\n \"location\": \"s3://my-bucket/event-streams/my-stream\",\n \"input_format\": \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\",\n \"output_format\": \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\",\n \"ser_de_info\": {\n \"name\": \"my-stream\",\n \"serialization_library\": \"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\",\n \"parameters\": {\n \"serialization.format\": \"1\",\n },\n },\n \"columns\": [\n {\n \"name\": \"my_string\",\n \"type\": \"string\",\n },\n {\n \"name\": \"my_double\",\n \"type\": \"double\",\n },\n {\n \"name\": \"my_date\",\n \"type\": \"date\",\n \"comment\": \"\",\n },\n {\n \"name\": \"my_bigint\",\n \"type\": \"bigint\",\n \"comment\": \"\",\n },\n {\n \"name\": \"my_struct\",\n \"type\": \"struct\u003cmy_nested_string:string\u003e\",\n \"comment\": \"\",\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awsGlueCatalogTable = new Aws.Glue.CatalogTable(\"aws_glue_catalog_table\", new()\n {\n Name = \"MyCatalogTable\",\n DatabaseName = \"MyCatalogDatabase\",\n TableType = \"EXTERNAL_TABLE\",\n Parameters = \n {\n { \"EXTERNAL\", \"TRUE\" },\n { \"parquet.compression\", \"SNAPPY\" },\n },\n StorageDescriptor = new Aws.Glue.Inputs.CatalogTableStorageDescriptorArgs\n {\n Location = \"s3://my-bucket/event-streams/my-stream\",\n InputFormat = \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\",\n OutputFormat = \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\",\n SerDeInfo = new Aws.Glue.Inputs.CatalogTableStorageDescriptorSerDeInfoArgs\n {\n Name = \"my-stream\",\n SerializationLibrary = \"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\",\n Parameters = \n {\n { \"serialization.format\", \"1\" },\n },\n },\n Columns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_string\",\n Type = \"string\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_double\",\n Type = \"double\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_date\",\n Type = \"date\",\n Comment = \"\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_bigint\",\n Type = \"bigint\",\n Comment = \"\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_struct\",\n Type = \"struct\u003cmy_nested_string:string\u003e\",\n Comment = \"\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.NewCatalogTable(ctx, \"aws_glue_catalog_table\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"MyCatalogTable\"),\n\t\t\tDatabaseName: pulumi.String(\"MyCatalogDatabase\"),\n\t\t\tTableType: pulumi.String(\"EXTERNAL_TABLE\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"EXTERNAL\": pulumi.String(\"TRUE\"),\n\t\t\t\t\"parquet.compression\": pulumi.String(\"SNAPPY\"),\n\t\t\t},\n\t\t\tStorageDescriptor: \u0026glue.CatalogTableStorageDescriptorArgs{\n\t\t\t\tLocation: pulumi.String(\"s3://my-bucket/event-streams/my-stream\"),\n\t\t\t\tInputFormat: pulumi.String(\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\"),\n\t\t\t\tOutputFormat: pulumi.String(\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\"),\n\t\t\t\tSerDeInfo: \u0026glue.CatalogTableStorageDescriptorSerDeInfoArgs{\n\t\t\t\t\tName: pulumi.String(\"my-stream\"),\n\t\t\t\t\tSerializationLibrary: pulumi.String(\"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\"),\n\t\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"serialization.format\": pulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tColumns: glue.CatalogTableStorageDescriptorColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_string\"),\n\t\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_double\"),\n\t\t\t\t\t\tType: pulumi.String(\"double\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_date\"),\n\t\t\t\t\t\tType: pulumi.String(\"date\"),\n\t\t\t\t\t\tComment: pulumi.String(\"\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_bigint\"),\n\t\t\t\t\t\tType: pulumi.String(\"bigint\"),\n\t\t\t\t\t\tComment: pulumi.String(\"\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_struct\"),\n\t\t\t\t\t\tType: pulumi.String(\"struct\u003cmy_nested_string:string\u003e\"),\n\t\t\t\t\t\tComment: pulumi.String(\"\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorSerDeInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awsGlueCatalogTable = new CatalogTable(\"awsGlueCatalogTable\", CatalogTableArgs.builder()\n .name(\"MyCatalogTable\")\n .databaseName(\"MyCatalogDatabase\")\n .tableType(\"EXTERNAL_TABLE\")\n .parameters(Map.ofEntries(\n Map.entry(\"EXTERNAL\", \"TRUE\"),\n Map.entry(\"parquet.compression\", \"SNAPPY\")\n ))\n .storageDescriptor(CatalogTableStorageDescriptorArgs.builder()\n .location(\"s3://my-bucket/event-streams/my-stream\")\n .inputFormat(\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\")\n .outputFormat(\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\")\n .serDeInfo(CatalogTableStorageDescriptorSerDeInfoArgs.builder()\n .name(\"my-stream\")\n .serializationLibrary(\"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\")\n .parameters(Map.of(\"serialization.format\", 1))\n .build())\n .columns( \n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_string\")\n .type(\"string\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_double\")\n .type(\"double\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_date\")\n .type(\"date\")\n .comment(\"\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_bigint\")\n .type(\"bigint\")\n .comment(\"\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_struct\")\n .type(\"struct\u003cmy_nested_string:string\u003e\")\n .comment(\"\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awsGlueCatalogTable:\n type: aws:glue:CatalogTable\n name: aws_glue_catalog_table\n properties:\n name: MyCatalogTable\n databaseName: MyCatalogDatabase\n tableType: EXTERNAL_TABLE\n parameters:\n EXTERNAL: TRUE\n parquet.compression: SNAPPY\n storageDescriptor:\n location: s3://my-bucket/event-streams/my-stream\n inputFormat: org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\n outputFormat: org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\n serDeInfo:\n name: my-stream\n serializationLibrary: org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\n parameters:\n serialization.format: 1\n columns:\n - name: my_string\n type: string\n - name: my_double\n type: double\n - name: my_date\n type: date\n comment: \"\"\n - name: my_bigint\n type: bigint\n comment: \"\"\n - name: my_struct\n type: struct\u003cmy_nested_string:string\u003e\n comment: \"\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Tables using the catalog ID (usually AWS account ID), database name, and table name. For example:\n\n```sh\n$ pulumi import aws:glue/catalogTable:CatalogTable MyTable 123456789012:MyDatabase:MyTable\n```\n", + "description": "Provides a Glue Catalog Table Resource. You can refer to the [Glue Developer Guide](http://docs.aws.amazon.com/glue/latest/dg/populate-data-catalog.html) for a full explanation of the Glue Data Catalog functionality.\n\n## Example Usage\n\n### Basic Table\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst awsGlueCatalogTable = new aws.glue.CatalogTable(\"aws_glue_catalog_table\", {\n name: \"MyCatalogTable\",\n databaseName: \"MyCatalogDatabase\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naws_glue_catalog_table = aws.glue.CatalogTable(\"aws_glue_catalog_table\",\n name=\"MyCatalogTable\",\n database_name=\"MyCatalogDatabase\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awsGlueCatalogTable = new Aws.Glue.CatalogTable(\"aws_glue_catalog_table\", new()\n {\n Name = \"MyCatalogTable\",\n DatabaseName = \"MyCatalogDatabase\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.NewCatalogTable(ctx, \"aws_glue_catalog_table\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"MyCatalogTable\"),\n\t\t\tDatabaseName: pulumi.String(\"MyCatalogDatabase\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awsGlueCatalogTable = new CatalogTable(\"awsGlueCatalogTable\", CatalogTableArgs.builder()\n .name(\"MyCatalogTable\")\n .databaseName(\"MyCatalogDatabase\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awsGlueCatalogTable:\n type: aws:glue:CatalogTable\n name: aws_glue_catalog_table\n properties:\n name: MyCatalogTable\n databaseName: MyCatalogDatabase\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Parquet Table for Athena\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst awsGlueCatalogTable = new aws.glue.CatalogTable(\"aws_glue_catalog_table\", {\n name: \"MyCatalogTable\",\n databaseName: \"MyCatalogDatabase\",\n tableType: \"EXTERNAL_TABLE\",\n parameters: {\n EXTERNAL: \"TRUE\",\n \"parquet.compression\": \"SNAPPY\",\n },\n storageDescriptor: {\n location: \"s3://my-bucket/event-streams/my-stream\",\n inputFormat: \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\",\n outputFormat: \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\",\n serDeInfo: {\n name: \"my-stream\",\n serializationLibrary: \"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\",\n parameters: {\n \"serialization.format\": \"1\",\n },\n },\n columns: [\n {\n name: \"my_string\",\n type: \"string\",\n },\n {\n name: \"my_double\",\n type: \"double\",\n },\n {\n name: \"my_date\",\n type: \"date\",\n comment: \"\",\n },\n {\n name: \"my_bigint\",\n type: \"bigint\",\n comment: \"\",\n },\n {\n name: \"my_struct\",\n type: \"struct\u003cmy_nested_string:string\u003e\",\n comment: \"\",\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naws_glue_catalog_table = aws.glue.CatalogTable(\"aws_glue_catalog_table\",\n name=\"MyCatalogTable\",\n database_name=\"MyCatalogDatabase\",\n table_type=\"EXTERNAL_TABLE\",\n parameters={\n \"EXTERNAL\": \"TRUE\",\n \"parquet.compression\": \"SNAPPY\",\n },\n storage_descriptor={\n \"location\": \"s3://my-bucket/event-streams/my-stream\",\n \"input_format\": \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\",\n \"output_format\": \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\",\n \"ser_de_info\": {\n \"name\": \"my-stream\",\n \"serialization_library\": \"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\",\n \"parameters\": {\n \"serialization.format\": \"1\",\n },\n },\n \"columns\": [\n {\n \"name\": \"my_string\",\n \"type\": \"string\",\n },\n {\n \"name\": \"my_double\",\n \"type\": \"double\",\n },\n {\n \"name\": \"my_date\",\n \"type\": \"date\",\n \"comment\": \"\",\n },\n {\n \"name\": \"my_bigint\",\n \"type\": \"bigint\",\n \"comment\": \"\",\n },\n {\n \"name\": \"my_struct\",\n \"type\": \"struct\u003cmy_nested_string:string\u003e\",\n \"comment\": \"\",\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awsGlueCatalogTable = new Aws.Glue.CatalogTable(\"aws_glue_catalog_table\", new()\n {\n Name = \"MyCatalogTable\",\n DatabaseName = \"MyCatalogDatabase\",\n TableType = \"EXTERNAL_TABLE\",\n Parameters = \n {\n { \"EXTERNAL\", \"TRUE\" },\n { \"parquet.compression\", \"SNAPPY\" },\n },\n StorageDescriptor = new Aws.Glue.Inputs.CatalogTableStorageDescriptorArgs\n {\n Location = \"s3://my-bucket/event-streams/my-stream\",\n InputFormat = \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\",\n OutputFormat = \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\",\n SerDeInfo = new Aws.Glue.Inputs.CatalogTableStorageDescriptorSerDeInfoArgs\n {\n Name = \"my-stream\",\n SerializationLibrary = \"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\",\n Parameters = \n {\n { \"serialization.format\", \"1\" },\n },\n },\n Columns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_string\",\n Type = \"string\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_double\",\n Type = \"double\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_date\",\n Type = \"date\",\n Comment = \"\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_bigint\",\n Type = \"bigint\",\n Comment = \"\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_struct\",\n Type = \"struct\u003cmy_nested_string:string\u003e\",\n Comment = \"\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.NewCatalogTable(ctx, \"aws_glue_catalog_table\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"MyCatalogTable\"),\n\t\t\tDatabaseName: pulumi.String(\"MyCatalogDatabase\"),\n\t\t\tTableType: pulumi.String(\"EXTERNAL_TABLE\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"EXTERNAL\": pulumi.String(\"TRUE\"),\n\t\t\t\t\"parquet.compression\": pulumi.String(\"SNAPPY\"),\n\t\t\t},\n\t\t\tStorageDescriptor: \u0026glue.CatalogTableStorageDescriptorArgs{\n\t\t\t\tLocation: pulumi.String(\"s3://my-bucket/event-streams/my-stream\"),\n\t\t\t\tInputFormat: pulumi.String(\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\"),\n\t\t\t\tOutputFormat: pulumi.String(\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\"),\n\t\t\t\tSerDeInfo: \u0026glue.CatalogTableStorageDescriptorSerDeInfoArgs{\n\t\t\t\t\tName: pulumi.String(\"my-stream\"),\n\t\t\t\t\tSerializationLibrary: pulumi.String(\"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\"),\n\t\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"serialization.format\": pulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tColumns: glue.CatalogTableStorageDescriptorColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_string\"),\n\t\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_double\"),\n\t\t\t\t\t\tType: pulumi.String(\"double\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_date\"),\n\t\t\t\t\t\tType: pulumi.String(\"date\"),\n\t\t\t\t\t\tComment: pulumi.String(\"\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_bigint\"),\n\t\t\t\t\t\tType: pulumi.String(\"bigint\"),\n\t\t\t\t\t\tComment: pulumi.String(\"\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_struct\"),\n\t\t\t\t\t\tType: pulumi.String(\"struct\u003cmy_nested_string:string\u003e\"),\n\t\t\t\t\t\tComment: pulumi.String(\"\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorSerDeInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awsGlueCatalogTable = new CatalogTable(\"awsGlueCatalogTable\", CatalogTableArgs.builder()\n .name(\"MyCatalogTable\")\n .databaseName(\"MyCatalogDatabase\")\n .tableType(\"EXTERNAL_TABLE\")\n .parameters(Map.ofEntries(\n Map.entry(\"EXTERNAL\", \"TRUE\"),\n Map.entry(\"parquet.compression\", \"SNAPPY\")\n ))\n .storageDescriptor(CatalogTableStorageDescriptorArgs.builder()\n .location(\"s3://my-bucket/event-streams/my-stream\")\n .inputFormat(\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\")\n .outputFormat(\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\")\n .serDeInfo(CatalogTableStorageDescriptorSerDeInfoArgs.builder()\n .name(\"my-stream\")\n .serializationLibrary(\"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\")\n .parameters(Map.of(\"serialization.format\", 1))\n .build())\n .columns( \n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_string\")\n .type(\"string\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_double\")\n .type(\"double\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_date\")\n .type(\"date\")\n .comment(\"\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_bigint\")\n .type(\"bigint\")\n .comment(\"\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_struct\")\n .type(\"struct\u003cmy_nested_string:string\u003e\")\n .comment(\"\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awsGlueCatalogTable:\n type: aws:glue:CatalogTable\n name: aws_glue_catalog_table\n properties:\n name: MyCatalogTable\n databaseName: MyCatalogDatabase\n tableType: EXTERNAL_TABLE\n parameters:\n EXTERNAL: TRUE\n parquet.compression: SNAPPY\n storageDescriptor:\n location: s3://my-bucket/event-streams/my-stream\n inputFormat: org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\n outputFormat: org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\n serDeInfo:\n name: my-stream\n serializationLibrary: org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\n parameters:\n serialization.format: 1\n columns:\n - name: my_string\n type: string\n - name: my_double\n type: double\n - name: my_date\n type: date\n comment:\n - name: my_bigint\n type: bigint\n comment:\n - name: my_struct\n type: struct\u003cmy_nested_string:string\u003e\n comment:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Tables using the catalog ID (usually AWS account ID), database name, and table name. For example:\n\n```sh\n$ pulumi import aws:glue/catalogTable:CatalogTable MyTable 123456789012:MyDatabase:MyTable\n```\n", "properties": { "arn": { "type": "string", @@ -273986,7 +273986,7 @@ } }, "aws:glue/connection:Connection": { - "description": "Provides a Glue Connection resource.\n\n## Example Usage\n\n### Non-VPC Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionProperties: {\n JDBC_CONNECTION_URL: \"jdbc:mysql://example.com/exampledatabase\",\n PASSWORD: \"examplepassword\",\n USERNAME: \"exampleusername\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_properties={\n \"JDBC_CONNECTION_URL\": \"jdbc:mysql://example.com/exampledatabase\",\n \"PASSWORD\": \"examplepassword\",\n \"USERNAME\": \"exampleusername\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionProperties = \n {\n { \"JDBC_CONNECTION_URL\", \"jdbc:mysql://example.com/exampledatabase\" },\n { \"PASSWORD\", \"examplepassword\" },\n { \"USERNAME\", \"exampleusername\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"JDBC_CONNECTION_URL\": pulumi.String(\"jdbc:mysql://example.com/exampledatabase\"),\n\t\t\t\t\"PASSWORD\": pulumi.String(\"examplepassword\"),\n\t\t\t\t\"USERNAME\": pulumi.String(\"exampleusername\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Connection(\"example\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionProperties(Map.ofEntries(\n Map.entry(\"JDBC_CONNECTION_URL\", \"jdbc:mysql://example.com/exampledatabase\"),\n Map.entry(\"PASSWORD\", \"examplepassword\"),\n Map.entry(\"USERNAME\", \"exampleusername\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Connection\n properties:\n name: example\n connectionProperties:\n JDBC_CONNECTION_URL: jdbc:mysql://example.com/exampledatabase\n PASSWORD: examplepassword\n USERNAME: exampleusername\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Non-VPC Connection with secret manager reference\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.secretsmanager.getSecret({\n name: \"example-secret\",\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionProperties: {\n JDBC_CONNECTION_URL: \"jdbc:mysql://example.com/exampledatabase\",\n SECRET_ID: example.then(example =\u003e example.name),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.get_secret(name=\"example-secret\")\nexample_connection = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_properties={\n \"JDBC_CONNECTION_URL\": \"jdbc:mysql://example.com/exampledatabase\",\n \"SECRET_ID\": example.name,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SecretsManager.GetSecret.Invoke(new()\n {\n Name = \"example-secret\",\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionProperties = \n {\n { \"JDBC_CONNECTION_URL\", \"jdbc:mysql://example.com/exampledatabase\" },\n { \"SECRET_ID\", example.Apply(getSecretResult =\u003e getSecretResult.Name) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := secretsmanager.LookupSecret(ctx, \u0026secretsmanager.LookupSecretArgs{\n\t\t\tName: pulumi.StringRef(\"example-secret\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"JDBC_CONNECTION_URL\": pulumi.String(\"jdbc:mysql://example.com/exampledatabase\"),\n\t\t\t\t\"SECRET_ID\": pulumi.String(example.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionProperties(Map.ofEntries(\n Map.entry(\"JDBC_CONNECTION_URL\", \"jdbc:mysql://example.com/exampledatabase\"),\n Map.entry(\"SECRET_ID\", example.applyValue(getSecretResult -\u003e getSecretResult.name()))\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n name: example\n connectionProperties:\n JDBC_CONNECTION_URL: jdbc:mysql://example.com/exampledatabase\n SECRET_ID: ${example.name}\nvariables:\n example:\n fn::invoke:\n function: aws:secretsmanager:getSecret\n arguments:\n name: example-secret\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/populate-add-connection.html#connection-JDBC-VPC).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionProperties: {\n JDBC_CONNECTION_URL: `jdbc:mysql://${exampleAwsRdsCluster.endpoint}/exampledatabase`,\n PASSWORD: \"examplepassword\",\n USERNAME: \"exampleusername\",\n },\n physicalConnectionRequirements: {\n availabilityZone: exampleAwsSubnet.availabilityZone,\n securityGroupIdLists: [exampleAwsSecurityGroup.id],\n subnetId: exampleAwsSubnet.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_properties={\n \"JDBC_CONNECTION_URL\": f\"jdbc:mysql://{example_aws_rds_cluster['endpoint']}/exampledatabase\",\n \"PASSWORD\": \"examplepassword\",\n \"USERNAME\": \"exampleusername\",\n },\n physical_connection_requirements={\n \"availability_zone\": example_aws_subnet[\"availabilityZone\"],\n \"security_group_id_lists\": [example_aws_security_group[\"id\"]],\n \"subnet_id\": example_aws_subnet[\"id\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionProperties = \n {\n { \"JDBC_CONNECTION_URL\", $\"jdbc:mysql://{exampleAwsRdsCluster.Endpoint}/exampledatabase\" },\n { \"PASSWORD\", \"examplepassword\" },\n { \"USERNAME\", \"exampleusername\" },\n },\n PhysicalConnectionRequirements = new Aws.Glue.Inputs.ConnectionPhysicalConnectionRequirementsArgs\n {\n AvailabilityZone = exampleAwsSubnet.AvailabilityZone,\n SecurityGroupIdLists = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetId = exampleAwsSubnet.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"JDBC_CONNECTION_URL\": pulumi.Sprintf(\"jdbc:mysql://%v/exampledatabase\", exampleAwsRdsCluster.Endpoint),\n\t\t\t\t\"PASSWORD\": pulumi.String(\"examplepassword\"),\n\t\t\t\t\"USERNAME\": pulumi.String(\"exampleusername\"),\n\t\t\t},\n\t\t\tPhysicalConnectionRequirements: \u0026glue.ConnectionPhysicalConnectionRequirementsArgs{\n\t\t\t\tAvailabilityZone: pulumi.Any(exampleAwsSubnet.AvailabilityZone),\n\t\t\t\tSecurityGroupIdLists: pulumi.StringArray{\n\t\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport com.pulumi.aws.glue.inputs.ConnectionPhysicalConnectionRequirementsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Connection(\"example\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionProperties(Map.ofEntries(\n Map.entry(\"JDBC_CONNECTION_URL\", String.format(\"jdbc:mysql://%s/exampledatabase\", exampleAwsRdsCluster.endpoint())),\n Map.entry(\"PASSWORD\", \"examplepassword\"),\n Map.entry(\"USERNAME\", \"exampleusername\")\n ))\n .physicalConnectionRequirements(ConnectionPhysicalConnectionRequirementsArgs.builder()\n .availabilityZone(exampleAwsSubnet.availabilityZone())\n .securityGroupIdLists(exampleAwsSecurityGroup.id())\n .subnetId(exampleAwsSubnet.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Connection\n properties:\n name: example\n connectionProperties:\n JDBC_CONNECTION_URL: jdbc:mysql://${exampleAwsRdsCluster.endpoint}/exampledatabase\n PASSWORD: examplepassword\n USERNAME: exampleusername\n physicalConnectionRequirements:\n availabilityZone: ${exampleAwsSubnet.availabilityZone}\n securityGroupIdLists:\n - ${exampleAwsSecurityGroup.id}\n subnetId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Connection using a custom connector\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n// Example here being a snowflake jdbc connector with a secret having user and password as keys\nconst example = aws.secretsmanager.getSecret({\n name: \"example-secret\",\n});\nconst example1 = new aws.glue.Connection(\"example1\", {\n name: \"example1\",\n connectionType: \"CUSTOM\",\n connectionProperties: {\n CONNECTOR_CLASS_NAME: \"net.snowflake.client.jdbc.SnowflakeDriver\",\n CONNECTION_TYPE: \"Jdbc\",\n CONNECTOR_URL: \"s3://example/snowflake-jdbc.jar\",\n JDBC_CONNECTION_URL: \"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\",\n },\n matchCriterias: [\"template-connection\"],\n});\n// Reference the connector using match_criteria with the connector created above.\nconst example2 = new aws.glue.Connection(\"example2\", {\n name: \"example2\",\n connectionType: \"CUSTOM\",\n connectionProperties: {\n CONNECTOR_CLASS_NAME: \"net.snowflake.client.jdbc.SnowflakeDriver\",\n CONNECTION_TYPE: \"Jdbc\",\n CONNECTOR_URL: \"s3://example/snowflake-jdbc.jar\",\n JDBC_CONNECTION_URL: \"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\",\n SECRET_ID: example.then(example =\u003e example.name),\n },\n matchCriterias: [\n \"Connection\",\n example1.name,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n# Example here being a snowflake jdbc connector with a secret having user and password as keys\nexample = aws.secretsmanager.get_secret(name=\"example-secret\")\nexample1 = aws.glue.Connection(\"example1\",\n name=\"example1\",\n connection_type=\"CUSTOM\",\n connection_properties={\n \"CONNECTOR_CLASS_NAME\": \"net.snowflake.client.jdbc.SnowflakeDriver\",\n \"CONNECTION_TYPE\": \"Jdbc\",\n \"CONNECTOR_URL\": \"s3://example/snowflake-jdbc.jar\",\n \"JDBC_CONNECTION_URL\": \"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\",\n },\n match_criterias=[\"template-connection\"])\n# Reference the connector using match_criteria with the connector created above.\nexample2 = aws.glue.Connection(\"example2\",\n name=\"example2\",\n connection_type=\"CUSTOM\",\n connection_properties={\n \"CONNECTOR_CLASS_NAME\": \"net.snowflake.client.jdbc.SnowflakeDriver\",\n \"CONNECTION_TYPE\": \"Jdbc\",\n \"CONNECTOR_URL\": \"s3://example/snowflake-jdbc.jar\",\n \"JDBC_CONNECTION_URL\": \"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\",\n \"SECRET_ID\": example.name,\n },\n match_criterias=[\n \"Connection\",\n example1.name,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n // Example here being a snowflake jdbc connector with a secret having user and password as keys\n var example = Aws.SecretsManager.GetSecret.Invoke(new()\n {\n Name = \"example-secret\",\n });\n\n var example1 = new Aws.Glue.Connection(\"example1\", new()\n {\n Name = \"example1\",\n ConnectionType = \"CUSTOM\",\n ConnectionProperties = \n {\n { \"CONNECTOR_CLASS_NAME\", \"net.snowflake.client.jdbc.SnowflakeDriver\" },\n { \"CONNECTION_TYPE\", \"Jdbc\" },\n { \"CONNECTOR_URL\", \"s3://example/snowflake-jdbc.jar\" },\n { \"JDBC_CONNECTION_URL\", \"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\" },\n },\n MatchCriterias = new[]\n {\n \"template-connection\",\n },\n });\n\n // Reference the connector using match_criteria with the connector created above.\n var example2 = new Aws.Glue.Connection(\"example2\", new()\n {\n Name = \"example2\",\n ConnectionType = \"CUSTOM\",\n ConnectionProperties = \n {\n { \"CONNECTOR_CLASS_NAME\", \"net.snowflake.client.jdbc.SnowflakeDriver\" },\n { \"CONNECTION_TYPE\", \"Jdbc\" },\n { \"CONNECTOR_URL\", \"s3://example/snowflake-jdbc.jar\" },\n { \"JDBC_CONNECTION_URL\", \"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\" },\n { \"SECRET_ID\", example.Apply(getSecretResult =\u003e getSecretResult.Name) },\n },\n MatchCriterias = new[]\n {\n \"Connection\",\n example1.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\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// Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n\t\t// Example here being a snowflake jdbc connector with a secret having user and password as keys\n\t\texample, err := secretsmanager.LookupSecret(ctx, \u0026secretsmanager.LookupSecretArgs{\n\t\t\tName: pulumi.StringRef(\"example-secret\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample1, err := glue.NewConnection(ctx, \"example1\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example1\"),\n\t\t\tConnectionType: pulumi.String(\"CUSTOM\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"CONNECTOR_CLASS_NAME\": pulumi.String(\"net.snowflake.client.jdbc.SnowflakeDriver\"),\n\t\t\t\t\"CONNECTION_TYPE\": pulumi.String(\"Jdbc\"),\n\t\t\t\t\"CONNECTOR_URL\": pulumi.String(\"s3://example/snowflake-jdbc.jar\"),\n\t\t\t\t\"JDBC_CONNECTION_URL\": pulumi.String(\"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\"),\n\t\t\t},\n\t\t\tMatchCriterias: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"template-connection\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Reference the connector using match_criteria with the connector created above.\n\t\t_, err = glue.NewConnection(ctx, \"example2\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example2\"),\n\t\t\tConnectionType: pulumi.String(\"CUSTOM\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"CONNECTOR_CLASS_NAME\": pulumi.String(\"net.snowflake.client.jdbc.SnowflakeDriver\"),\n\t\t\t\t\"CONNECTION_TYPE\": pulumi.String(\"Jdbc\"),\n\t\t\t\t\"CONNECTOR_URL\": pulumi.String(\"s3://example/snowflake-jdbc.jar\"),\n\t\t\t\t\"JDBC_CONNECTION_URL\": pulumi.String(\"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\"),\n\t\t\t\t\"SECRET_ID\": pulumi.String(example.Name),\n\t\t\t},\n\t\t\tMatchCriterias: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Connection\"),\n\t\t\t\texample1.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n // Example here being a snowflake jdbc connector with a secret having user and password as keys\n final var example = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var example1 = new Connection(\"example1\", ConnectionArgs.builder()\n .name(\"example1\")\n .connectionType(\"CUSTOM\")\n .connectionProperties(Map.ofEntries(\n Map.entry(\"CONNECTOR_CLASS_NAME\", \"net.snowflake.client.jdbc.SnowflakeDriver\"),\n Map.entry(\"CONNECTION_TYPE\", \"Jdbc\"),\n Map.entry(\"CONNECTOR_URL\", \"s3://example/snowflake-jdbc.jar\"),\n Map.entry(\"JDBC_CONNECTION_URL\", \"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\")\n ))\n .matchCriterias(\"template-connection\")\n .build());\n\n // Reference the connector using match_criteria with the connector created above.\n var example2 = new Connection(\"example2\", ConnectionArgs.builder()\n .name(\"example2\")\n .connectionType(\"CUSTOM\")\n .connectionProperties(Map.ofEntries(\n Map.entry(\"CONNECTOR_CLASS_NAME\", \"net.snowflake.client.jdbc.SnowflakeDriver\"),\n Map.entry(\"CONNECTION_TYPE\", \"Jdbc\"),\n Map.entry(\"CONNECTOR_URL\", \"s3://example/snowflake-jdbc.jar\"),\n Map.entry(\"JDBC_CONNECTION_URL\", \"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\"),\n Map.entry(\"SECRET_ID\", example.applyValue(getSecretResult -\u003e getSecretResult.name()))\n ))\n .matchCriterias( \n \"Connection\",\n example1.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example1:\n type: aws:glue:Connection\n properties:\n name: example1\n connectionType: CUSTOM\n connectionProperties:\n CONNECTOR_CLASS_NAME: net.snowflake.client.jdbc.SnowflakeDriver\n CONNECTION_TYPE: Jdbc\n CONNECTOR_URL: s3://example/snowflake-jdbc.jar\n JDBC_CONNECTION_URL: '[[\"default=jdbc:snowflake://example.com/?user=$${user}\u0026password=$${password}\"],\",\"]'\n matchCriterias:\n - template-connection\n # Reference the connector using match_criteria with the connector created above.\n example2:\n type: aws:glue:Connection\n properties:\n name: example2\n connectionType: CUSTOM\n connectionProperties:\n CONNECTOR_CLASS_NAME: net.snowflake.client.jdbc.SnowflakeDriver\n CONNECTION_TYPE: Jdbc\n CONNECTOR_URL: s3://example/snowflake-jdbc.jar\n JDBC_CONNECTION_URL: jdbc:snowflake://example.com/?user=$${user}\u0026password=$${password}\n SECRET_ID: ${example.name}\n matchCriterias:\n - Connection\n - ${example1.name}\nvariables:\n # Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n # Example here being a snowflake jdbc connector with a secret having user and password as keys\n example:\n fn::invoke:\n function: aws:secretsmanager:getSecret\n arguments:\n name: example-secret\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Azure Cosmos Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azurecosmos).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.secretsmanager.Secret(\"example\", {name: \"example-secret\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n username: \"exampleusername\",\n password: \"examplepassword\",\n }),\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionType: \"AZURECOSMOS\",\n connectionProperties: {\n SparkProperties: pulumi.jsonStringify({\n secretId: example.name,\n \"spark.cosmos.accountEndpoint\": \"https://exampledbaccount.documents.azure.com:443/\",\n }),\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example-secret\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"username\": \"exampleusername\",\n \"password\": \"examplepassword\",\n }))\nexample_connection = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_type=\"AZURECOSMOS\",\n connection_properties={\n \"SparkProperties\": pulumi.Output.json_dumps({\n \"secretId\": example.name,\n \"spark.cosmos.accountEndpoint\": \"https://exampledbaccount.documents.azure.com:443/\",\n }),\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example-secret\",\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = example.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"exampleusername\",\n [\"password\"] = \"examplepassword\",\n }),\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionType = \"AZURECOSMOS\",\n ConnectionProperties = \n {\n { \"SparkProperties\", Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"secretId\"] = example.Name,\n [\"spark.cosmos.accountEndpoint\"] = \"https://exampledbaccount.documents.azure.com:443/\",\n })) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example-secret\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"username\": \"exampleusername\",\n\t\t\t\"password\": \"examplepassword\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: example.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionType: pulumi.String(\"AZURECOSMOS\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"SparkProperties\": example.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"secretId\": name,\n\t\t\t\t\t\t\"spark.cosmos.accountEndpoint\": \"https://exampledbaccount.documents.azure.com:443/\",\n\t\t\t\t\t})\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn _zero, err\n\t\t\t\t\t}\n\t\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Secret(\"example\", SecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"exampleusername\"),\n jsonProperty(\"password\", \"examplepassword\")\n )))\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionType(\"AZURECOSMOS\")\n .connectionProperties(Map.of(\"SparkProperties\", example.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"secretId\", name),\n jsonProperty(\"spark.cosmos.accountEndpoint\", \"https://exampledbaccount.documents.azure.com:443/\")\n )))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example-secret\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n username: exampleusername\n password: examplepassword\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n name: example\n connectionType: AZURECOSMOS\n connectionProperties:\n SparkProperties:\n fn::toJSON:\n secretId: ${example.name}\n spark.cosmos.accountEndpoint: https://exampledbaccount.documents.azure.com:443/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Azure SQL Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azuresql).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.secretsmanager.Secret(\"example\", {name: \"example-secret\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n username: \"exampleusername\",\n password: \"examplepassword\",\n }),\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionType: \"AZURECOSMOS\",\n connectionProperties: {\n SparkProperties: pulumi.jsonStringify({\n secretId: example.name,\n url: \"jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase\",\n }),\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example-secret\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"username\": \"exampleusername\",\n \"password\": \"examplepassword\",\n }))\nexample_connection = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_type=\"AZURECOSMOS\",\n connection_properties={\n \"SparkProperties\": pulumi.Output.json_dumps({\n \"secretId\": example.name,\n \"url\": \"jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase\",\n }),\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example-secret\",\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = example.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"exampleusername\",\n [\"password\"] = \"examplepassword\",\n }),\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionType = \"AZURECOSMOS\",\n ConnectionProperties = \n {\n { \"SparkProperties\", Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"secretId\"] = example.Name,\n [\"url\"] = \"jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase\",\n })) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example-secret\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"username\": \"exampleusername\",\n\t\t\t\"password\": \"examplepassword\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: example.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionType: pulumi.String(\"AZURECOSMOS\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"SparkProperties\": example.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"secretId\": name,\n\t\t\t\t\t\t\"url\": \"jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase\",\n\t\t\t\t\t})\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn _zero, err\n\t\t\t\t\t}\n\t\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Secret(\"example\", SecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"exampleusername\"),\n jsonProperty(\"password\", \"examplepassword\")\n )))\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionType(\"AZURECOSMOS\")\n .connectionProperties(Map.of(\"SparkProperties\", example.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"secretId\", name),\n jsonProperty(\"url\", \"jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase\")\n )))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example-secret\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n username: exampleusername\n password: examplepassword\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n name: example\n connectionType: AZURECOSMOS\n connectionProperties:\n SparkProperties:\n fn::toJSON:\n secretId: ${example.name}\n url: jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Google BigQuery Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-bigquery).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.secretsmanager.Secret(\"example\", {name: \"example-secret\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n credentials: std.base64encode({\n input: `{\n \"type\": \"service_account\",\n \"project_id\": \"example-project\",\n \"private_key_id\": \"example-key\",\n \"private_key\": \"-----BEGIN RSA PRIVATE KEY-----\\\\nREDACTED\\\\n-----END RSA PRIVATE KEY-----\",\n \"client_email\": \"example-project@appspot.gserviceaccount.com\",\n \"client_id\": example-client\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\",\n \"universe_domain\": \"googleapis.com\"\n}\n`,\n }).then(invoke =\u003e invoke.result),\n }),\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionType: \"BIGQUERY\",\n connectionProperties: {\n SparkProperties: pulumi.jsonStringify({\n secretId: example.name,\n }),\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example-secret\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"credentials\": std.base64encode(input=\"\"\"{\n \"type\": \"service_account\",\n \"project_id\": \"example-project\",\n \"private_key_id\": \"example-key\",\n \"private_key\": \"-----BEGIN RSA PRIVATE KEY-----\\nREDACTED\\n-----END RSA PRIVATE KEY-----\",\n \"client_email\": \"example-project@appspot.gserviceaccount.com\",\n \"client_id\": example-client\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\",\n \"universe_domain\": \"googleapis.com\"\n}\n\"\"\").result,\n }))\nexample_connection = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_type=\"BIGQUERY\",\n connection_properties={\n \"SparkProperties\": pulumi.Output.json_dumps({\n \"secretId\": example.name,\n }),\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example-secret\",\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = example.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"credentials\"] = Std.Base64encode.Invoke(new()\n {\n Input = @\"{\n \"\"type\"\": \"\"service_account\"\",\n \"\"project_id\"\": \"\"example-project\"\",\n \"\"private_key_id\"\": \"\"example-key\"\",\n \"\"private_key\"\": \"\"-----BEGIN RSA PRIVATE KEY-----\\nREDACTED\\n-----END RSA PRIVATE KEY-----\"\",\n \"\"client_email\"\": \"\"example-project@appspot.gserviceaccount.com\"\",\n \"\"client_id\"\": example-client\"\",\n \"\"auth_uri\"\": \"\"https://accounts.google.com/o/oauth2/auth\"\",\n \"\"token_uri\"\": \"\"https://oauth2.googleapis.com/token\"\",\n \"\"auth_provider_x509_cert_url\"\": \"\"https://www.googleapis.com/oauth2/v1/certs\"\",\n \"\"client_x509_cert_url\"\": \"\"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\"\",\n \"\"universe_domain\"\": \"\"googleapis.com\"\"\n}\n\",\n }).Apply(invoke =\u003e invoke.Result),\n }),\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionType = \"BIGQUERY\",\n ConnectionProperties = \n {\n { \"SparkProperties\", Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"secretId\"] = example.Name,\n })) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example-secret\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"credentials\": std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\t\tInput: `{\n \"type\": \"service_account\",\n \"project_id\": \"example-project\",\n \"private_key_id\": \"example-key\",\n \"private_key\": \"-----BEGIN RSA PRIVATE KEY-----\\nREDACTED\\n-----END RSA PRIVATE KEY-----\",\n \"client_email\": \"example-project@appspot.gserviceaccount.com\",\n \"client_id\": example-client\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\",\n \"universe_domain\": \"googleapis.com\"\n}\n`,\n\t\t\t}, nil).Result,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: example.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionType: pulumi.String(\"BIGQUERY\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"SparkProperties\": example.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"secretId\": name,\n\t\t\t\t\t})\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn _zero, err\n\t\t\t\t\t}\n\t\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Secret(\"example\", SecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"credentials\", StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"\"\"\n{\n \"type\": \"service_account\",\n \"project_id\": \"example-project\",\n \"private_key_id\": \"example-key\",\n \"private_key\": \"-----BEGIN RSA PRIVATE KEY-----\\nREDACTED\\n-----END RSA PRIVATE KEY-----\",\n \"client_email\": \"example-project@appspot.gserviceaccount.com\",\n \"client_id\": example-client\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\",\n \"universe_domain\": \"googleapis.com\"\n}\n \"\"\")\n .build()).result())\n )))\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionType(\"BIGQUERY\")\n .connectionProperties(Map.of(\"SparkProperties\", example.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"secretId\", name)\n )))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example-secret\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n credentials:\n fn::invoke:\n function: std:base64encode\n arguments:\n input: |\n {\n \"type\": \"service_account\",\n \"project_id\": \"example-project\",\n \"private_key_id\": \"example-key\",\n \"private_key\": \"-----BEGIN RSA PRIVATE KEY-----\\nREDACTED\\n-----END RSA PRIVATE KEY-----\",\n \"client_email\": \"example-project@appspot.gserviceaccount.com\",\n \"client_id\": example-client\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\",\n \"universe_domain\": \"googleapis.com\"\n }\n return: result\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n name: example\n connectionType: BIGQUERY\n connectionProperties:\n SparkProperties:\n fn::toJSON:\n secretId: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Service Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-opensearch).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.secretsmanager.Secret(\"example\", {name: \"example-secret\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n \"opensearch.net.http.auth.user\": \"exampleusername\",\n \"opensearch.net.http.auth.pass\": \"examplepassword\",\n }),\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionType: \"OPENSEARCH\",\n connectionProperties: {\n SparkProperties: pulumi.jsonStringify({\n secretId: example.name,\n \"opensearch.nodes\": \"https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com\",\n \"opensearch.port\": \"443\",\n \"opensearch.aws.sigv4.region\": \"us-east-1\",\n \"opensearch.nodes.wan.only\": \"true\",\n \"opensearch.aws.sigv4.enabled\": \"true\",\n }),\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example-secret\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"opensearch.net.http.auth.user\": \"exampleusername\",\n \"opensearch.net.http.auth.pass\": \"examplepassword\",\n }))\nexample_connection = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_type=\"OPENSEARCH\",\n connection_properties={\n \"SparkProperties\": pulumi.Output.json_dumps({\n \"secretId\": example.name,\n \"opensearch.nodes\": \"https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com\",\n \"opensearch.port\": \"443\",\n \"opensearch.aws.sigv4.region\": \"us-east-1\",\n \"opensearch.nodes.wan.only\": \"true\",\n \"opensearch.aws.sigv4.enabled\": \"true\",\n }),\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example-secret\",\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = example.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"opensearch.net.http.auth.user\"] = \"exampleusername\",\n [\"opensearch.net.http.auth.pass\"] = \"examplepassword\",\n }),\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionType = \"OPENSEARCH\",\n ConnectionProperties = \n {\n { \"SparkProperties\", Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"secretId\"] = example.Name,\n [\"opensearch.nodes\"] = \"https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com\",\n [\"opensearch.port\"] = \"443\",\n [\"opensearch.aws.sigv4.region\"] = \"us-east-1\",\n [\"opensearch.nodes.wan.only\"] = \"true\",\n [\"opensearch.aws.sigv4.enabled\"] = \"true\",\n })) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example-secret\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"opensearch.net.http.auth.user\": \"exampleusername\",\n\t\t\t\"opensearch.net.http.auth.pass\": \"examplepassword\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: example.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionType: pulumi.String(\"OPENSEARCH\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"SparkProperties\": example.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"secretId\": name,\n\t\t\t\t\t\t\"opensearch.nodes\": \"https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com\",\n\t\t\t\t\t\t\"opensearch.port\": \"443\",\n\t\t\t\t\t\t\"opensearch.aws.sigv4.region\": \"us-east-1\",\n\t\t\t\t\t\t\"opensearch.nodes.wan.only\": \"true\",\n\t\t\t\t\t\t\"opensearch.aws.sigv4.enabled\": \"true\",\n\t\t\t\t\t})\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn _zero, err\n\t\t\t\t\t}\n\t\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Secret(\"example\", SecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"opensearch.net.http.auth.user\", \"exampleusername\"),\n jsonProperty(\"opensearch.net.http.auth.pass\", \"examplepassword\")\n )))\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionType(\"OPENSEARCH\")\n .connectionProperties(Map.of(\"SparkProperties\", example.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"secretId\", name),\n jsonProperty(\"opensearch.nodes\", \"https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com\"),\n jsonProperty(\"opensearch.port\", \"443\"),\n jsonProperty(\"opensearch.aws.sigv4.region\", \"us-east-1\"),\n jsonProperty(\"opensearch.nodes.wan.only\", \"true\"),\n jsonProperty(\"opensearch.aws.sigv4.enabled\", \"true\")\n )))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example-secret\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n opensearch.net.http.auth.user: exampleusername\n opensearch.net.http.auth.pass: examplepassword\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n name: example\n connectionType: OPENSEARCH\n connectionProperties:\n SparkProperties:\n fn::toJSON:\n secretId: ${example.name}\n opensearch.nodes: https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com\n opensearch.port: '443'\n opensearch.aws.sigv4.region: us-east-1\n opensearch.nodes.wan.only: 'true'\n opensearch.aws.sigv4.enabled: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Snowflake Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-snowflake).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.secretsmanager.Secret(\"example\", {name: \"example-secret\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n sfUser: \"exampleusername\",\n sfPassword: \"examplepassword\",\n }),\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionType: \"SNOWFLAKE\",\n connectionProperties: {\n SparkProperties: pulumi.jsonStringify({\n secretId: example.name,\n sfRole: \"EXAMPLEETLROLE\",\n sfUrl: \"exampleorg-exampleconnection.snowflakecomputing.com\",\n }),\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example-secret\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"sfUser\": \"exampleusername\",\n \"sfPassword\": \"examplepassword\",\n }))\nexample_connection = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_type=\"SNOWFLAKE\",\n connection_properties={\n \"SparkProperties\": pulumi.Output.json_dumps({\n \"secretId\": example.name,\n \"sfRole\": \"EXAMPLEETLROLE\",\n \"sfUrl\": \"exampleorg-exampleconnection.snowflakecomputing.com\",\n }),\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example-secret\",\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = example.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"sfUser\"] = \"exampleusername\",\n [\"sfPassword\"] = \"examplepassword\",\n }),\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionType = \"SNOWFLAKE\",\n ConnectionProperties = \n {\n { \"SparkProperties\", Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"secretId\"] = example.Name,\n [\"sfRole\"] = \"EXAMPLEETLROLE\",\n [\"sfUrl\"] = \"exampleorg-exampleconnection.snowflakecomputing.com\",\n })) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example-secret\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"sfUser\": \"exampleusername\",\n\t\t\t\"sfPassword\": \"examplepassword\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: example.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionType: pulumi.String(\"SNOWFLAKE\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"SparkProperties\": example.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"secretId\": name,\n\t\t\t\t\t\t\"sfRole\": \"EXAMPLEETLROLE\",\n\t\t\t\t\t\t\"sfUrl\": \"exampleorg-exampleconnection.snowflakecomputing.com\",\n\t\t\t\t\t})\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn _zero, err\n\t\t\t\t\t}\n\t\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Secret(\"example\", SecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"sfUser\", \"exampleusername\"),\n jsonProperty(\"sfPassword\", \"examplepassword\")\n )))\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionType(\"SNOWFLAKE\")\n .connectionProperties(Map.of(\"SparkProperties\", example.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"secretId\", name),\n jsonProperty(\"sfRole\", \"EXAMPLEETLROLE\"),\n jsonProperty(\"sfUrl\", \"exampleorg-exampleconnection.snowflakecomputing.com\")\n )))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example-secret\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n sfUser: exampleusername\n sfPassword: examplepassword\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n name: example\n connectionType: SNOWFLAKE\n connectionProperties:\n SparkProperties:\n fn::toJSON:\n secretId: ${example.name}\n sfRole: EXAMPLEETLROLE\n sfUrl: exampleorg-exampleconnection.snowflakecomputing.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Connections using the `CATALOG-ID` (AWS account ID if not custom) and `NAME`. For example:\n\n```sh\n$ pulumi import aws:glue/connection:Connection MyConnection 123456789012:MyConnection\n```\n", + "description": "Provides a Glue Connection resource.\n\n## Example Usage\n\n### Non-VPC Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionProperties: {\n JDBC_CONNECTION_URL: \"jdbc:mysql://example.com/exampledatabase\",\n PASSWORD: \"examplepassword\",\n USERNAME: \"exampleusername\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_properties={\n \"JDBC_CONNECTION_URL\": \"jdbc:mysql://example.com/exampledatabase\",\n \"PASSWORD\": \"examplepassword\",\n \"USERNAME\": \"exampleusername\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionProperties = \n {\n { \"JDBC_CONNECTION_URL\", \"jdbc:mysql://example.com/exampledatabase\" },\n { \"PASSWORD\", \"examplepassword\" },\n { \"USERNAME\", \"exampleusername\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"JDBC_CONNECTION_URL\": pulumi.String(\"jdbc:mysql://example.com/exampledatabase\"),\n\t\t\t\t\"PASSWORD\": pulumi.String(\"examplepassword\"),\n\t\t\t\t\"USERNAME\": pulumi.String(\"exampleusername\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Connection(\"example\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionProperties(Map.ofEntries(\n Map.entry(\"JDBC_CONNECTION_URL\", \"jdbc:mysql://example.com/exampledatabase\"),\n Map.entry(\"PASSWORD\", \"examplepassword\"),\n Map.entry(\"USERNAME\", \"exampleusername\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Connection\n properties:\n name: example\n connectionProperties:\n JDBC_CONNECTION_URL: jdbc:mysql://example.com/exampledatabase\n PASSWORD: examplepassword\n USERNAME: exampleusername\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Non-VPC Connection with secret manager reference\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.secretsmanager.getSecret({\n name: \"example-secret\",\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionProperties: {\n JDBC_CONNECTION_URL: \"jdbc:mysql://example.com/exampledatabase\",\n SECRET_ID: example.then(example =\u003e example.name),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.get_secret(name=\"example-secret\")\nexample_connection = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_properties={\n \"JDBC_CONNECTION_URL\": \"jdbc:mysql://example.com/exampledatabase\",\n \"SECRET_ID\": example.name,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SecretsManager.GetSecret.Invoke(new()\n {\n Name = \"example-secret\",\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionProperties = \n {\n { \"JDBC_CONNECTION_URL\", \"jdbc:mysql://example.com/exampledatabase\" },\n { \"SECRET_ID\", example.Apply(getSecretResult =\u003e getSecretResult.Name) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := secretsmanager.LookupSecret(ctx, \u0026secretsmanager.LookupSecretArgs{\n\t\t\tName: pulumi.StringRef(\"example-secret\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"JDBC_CONNECTION_URL\": pulumi.String(\"jdbc:mysql://example.com/exampledatabase\"),\n\t\t\t\t\"SECRET_ID\": pulumi.String(example.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionProperties(Map.ofEntries(\n Map.entry(\"JDBC_CONNECTION_URL\", \"jdbc:mysql://example.com/exampledatabase\"),\n Map.entry(\"SECRET_ID\", example.applyValue(getSecretResult -\u003e getSecretResult.name()))\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n name: example\n connectionProperties:\n JDBC_CONNECTION_URL: jdbc:mysql://example.com/exampledatabase\n SECRET_ID: ${example.name}\nvariables:\n example:\n fn::invoke:\n Function: aws:secretsmanager:getSecret\n Arguments:\n name: example-secret\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/populate-add-connection.html#connection-JDBC-VPC).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionProperties: {\n JDBC_CONNECTION_URL: `jdbc:mysql://${exampleAwsRdsCluster.endpoint}/exampledatabase`,\n PASSWORD: \"examplepassword\",\n USERNAME: \"exampleusername\",\n },\n physicalConnectionRequirements: {\n availabilityZone: exampleAwsSubnet.availabilityZone,\n securityGroupIdLists: [exampleAwsSecurityGroup.id],\n subnetId: exampleAwsSubnet.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_properties={\n \"JDBC_CONNECTION_URL\": f\"jdbc:mysql://{example_aws_rds_cluster['endpoint']}/exampledatabase\",\n \"PASSWORD\": \"examplepassword\",\n \"USERNAME\": \"exampleusername\",\n },\n physical_connection_requirements={\n \"availability_zone\": example_aws_subnet[\"availabilityZone\"],\n \"security_group_id_lists\": [example_aws_security_group[\"id\"]],\n \"subnet_id\": example_aws_subnet[\"id\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionProperties = \n {\n { \"JDBC_CONNECTION_URL\", $\"jdbc:mysql://{exampleAwsRdsCluster.Endpoint}/exampledatabase\" },\n { \"PASSWORD\", \"examplepassword\" },\n { \"USERNAME\", \"exampleusername\" },\n },\n PhysicalConnectionRequirements = new Aws.Glue.Inputs.ConnectionPhysicalConnectionRequirementsArgs\n {\n AvailabilityZone = exampleAwsSubnet.AvailabilityZone,\n SecurityGroupIdLists = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetId = exampleAwsSubnet.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"JDBC_CONNECTION_URL\": pulumi.Sprintf(\"jdbc:mysql://%v/exampledatabase\", exampleAwsRdsCluster.Endpoint),\n\t\t\t\t\"PASSWORD\": pulumi.String(\"examplepassword\"),\n\t\t\t\t\"USERNAME\": pulumi.String(\"exampleusername\"),\n\t\t\t},\n\t\t\tPhysicalConnectionRequirements: \u0026glue.ConnectionPhysicalConnectionRequirementsArgs{\n\t\t\t\tAvailabilityZone: pulumi.Any(exampleAwsSubnet.AvailabilityZone),\n\t\t\t\tSecurityGroupIdLists: pulumi.StringArray{\n\t\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport com.pulumi.aws.glue.inputs.ConnectionPhysicalConnectionRequirementsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Connection(\"example\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionProperties(Map.ofEntries(\n Map.entry(\"JDBC_CONNECTION_URL\", String.format(\"jdbc:mysql://%s/exampledatabase\", exampleAwsRdsCluster.endpoint())),\n Map.entry(\"PASSWORD\", \"examplepassword\"),\n Map.entry(\"USERNAME\", \"exampleusername\")\n ))\n .physicalConnectionRequirements(ConnectionPhysicalConnectionRequirementsArgs.builder()\n .availabilityZone(exampleAwsSubnet.availabilityZone())\n .securityGroupIdLists(exampleAwsSecurityGroup.id())\n .subnetId(exampleAwsSubnet.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Connection\n properties:\n name: example\n connectionProperties:\n JDBC_CONNECTION_URL: jdbc:mysql://${exampleAwsRdsCluster.endpoint}/exampledatabase\n PASSWORD: examplepassword\n USERNAME: exampleusername\n physicalConnectionRequirements:\n availabilityZone: ${exampleAwsSubnet.availabilityZone}\n securityGroupIdLists:\n - ${exampleAwsSecurityGroup.id}\n subnetId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Connection using a custom connector\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n// Example here being a snowflake jdbc connector with a secret having user and password as keys\nconst example = aws.secretsmanager.getSecret({\n name: \"example-secret\",\n});\nconst example1 = new aws.glue.Connection(\"example1\", {\n name: \"example1\",\n connectionType: \"CUSTOM\",\n connectionProperties: {\n CONNECTOR_CLASS_NAME: \"net.snowflake.client.jdbc.SnowflakeDriver\",\n CONNECTION_TYPE: \"Jdbc\",\n CONNECTOR_URL: \"s3://example/snowflake-jdbc.jar\",\n JDBC_CONNECTION_URL: \"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\",\n },\n matchCriterias: [\"template-connection\"],\n});\n// Reference the connector using match_criteria with the connector created above.\nconst example2 = new aws.glue.Connection(\"example2\", {\n name: \"example2\",\n connectionType: \"CUSTOM\",\n connectionProperties: {\n CONNECTOR_CLASS_NAME: \"net.snowflake.client.jdbc.SnowflakeDriver\",\n CONNECTION_TYPE: \"Jdbc\",\n CONNECTOR_URL: \"s3://example/snowflake-jdbc.jar\",\n JDBC_CONNECTION_URL: \"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\",\n SECRET_ID: example.then(example =\u003e example.name),\n },\n matchCriterias: [\n \"Connection\",\n example1.name,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n# Example here being a snowflake jdbc connector with a secret having user and password as keys\nexample = aws.secretsmanager.get_secret(name=\"example-secret\")\nexample1 = aws.glue.Connection(\"example1\",\n name=\"example1\",\n connection_type=\"CUSTOM\",\n connection_properties={\n \"CONNECTOR_CLASS_NAME\": \"net.snowflake.client.jdbc.SnowflakeDriver\",\n \"CONNECTION_TYPE\": \"Jdbc\",\n \"CONNECTOR_URL\": \"s3://example/snowflake-jdbc.jar\",\n \"JDBC_CONNECTION_URL\": \"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\",\n },\n match_criterias=[\"template-connection\"])\n# Reference the connector using match_criteria with the connector created above.\nexample2 = aws.glue.Connection(\"example2\",\n name=\"example2\",\n connection_type=\"CUSTOM\",\n connection_properties={\n \"CONNECTOR_CLASS_NAME\": \"net.snowflake.client.jdbc.SnowflakeDriver\",\n \"CONNECTION_TYPE\": \"Jdbc\",\n \"CONNECTOR_URL\": \"s3://example/snowflake-jdbc.jar\",\n \"JDBC_CONNECTION_URL\": \"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\",\n \"SECRET_ID\": example.name,\n },\n match_criterias=[\n \"Connection\",\n example1.name,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n // Example here being a snowflake jdbc connector with a secret having user and password as keys\n var example = Aws.SecretsManager.GetSecret.Invoke(new()\n {\n Name = \"example-secret\",\n });\n\n var example1 = new Aws.Glue.Connection(\"example1\", new()\n {\n Name = \"example1\",\n ConnectionType = \"CUSTOM\",\n ConnectionProperties = \n {\n { \"CONNECTOR_CLASS_NAME\", \"net.snowflake.client.jdbc.SnowflakeDriver\" },\n { \"CONNECTION_TYPE\", \"Jdbc\" },\n { \"CONNECTOR_URL\", \"s3://example/snowflake-jdbc.jar\" },\n { \"JDBC_CONNECTION_URL\", \"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\" },\n },\n MatchCriterias = new[]\n {\n \"template-connection\",\n },\n });\n\n // Reference the connector using match_criteria with the connector created above.\n var example2 = new Aws.Glue.Connection(\"example2\", new()\n {\n Name = \"example2\",\n ConnectionType = \"CUSTOM\",\n ConnectionProperties = \n {\n { \"CONNECTOR_CLASS_NAME\", \"net.snowflake.client.jdbc.SnowflakeDriver\" },\n { \"CONNECTION_TYPE\", \"Jdbc\" },\n { \"CONNECTOR_URL\", \"s3://example/snowflake-jdbc.jar\" },\n { \"JDBC_CONNECTION_URL\", \"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\" },\n { \"SECRET_ID\", example.Apply(getSecretResult =\u003e getSecretResult.Name) },\n },\n MatchCriterias = new[]\n {\n \"Connection\",\n example1.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\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// Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n\t\t// Example here being a snowflake jdbc connector with a secret having user and password as keys\n\t\texample, err := secretsmanager.LookupSecret(ctx, \u0026secretsmanager.LookupSecretArgs{\n\t\t\tName: pulumi.StringRef(\"example-secret\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample1, err := glue.NewConnection(ctx, \"example1\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example1\"),\n\t\t\tConnectionType: pulumi.String(\"CUSTOM\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"CONNECTOR_CLASS_NAME\": pulumi.String(\"net.snowflake.client.jdbc.SnowflakeDriver\"),\n\t\t\t\t\"CONNECTION_TYPE\": pulumi.String(\"Jdbc\"),\n\t\t\t\t\"CONNECTOR_URL\": pulumi.String(\"s3://example/snowflake-jdbc.jar\"),\n\t\t\t\t\"JDBC_CONNECTION_URL\": pulumi.String(\"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\"),\n\t\t\t},\n\t\t\tMatchCriterias: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"template-connection\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Reference the connector using match_criteria with the connector created above.\n\t\t_, err = glue.NewConnection(ctx, \"example2\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example2\"),\n\t\t\tConnectionType: pulumi.String(\"CUSTOM\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"CONNECTOR_CLASS_NAME\": pulumi.String(\"net.snowflake.client.jdbc.SnowflakeDriver\"),\n\t\t\t\t\"CONNECTION_TYPE\": pulumi.String(\"Jdbc\"),\n\t\t\t\t\"CONNECTOR_URL\": pulumi.String(\"s3://example/snowflake-jdbc.jar\"),\n\t\t\t\t\"JDBC_CONNECTION_URL\": pulumi.String(\"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\"),\n\t\t\t\t\"SECRET_ID\": pulumi.String(example.Name),\n\t\t\t},\n\t\t\tMatchCriterias: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Connection\"),\n\t\t\t\texample1.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n // Example here being a snowflake jdbc connector with a secret having user and password as keys\n final var example = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var example1 = new Connection(\"example1\", ConnectionArgs.builder()\n .name(\"example1\")\n .connectionType(\"CUSTOM\")\n .connectionProperties(Map.ofEntries(\n Map.entry(\"CONNECTOR_CLASS_NAME\", \"net.snowflake.client.jdbc.SnowflakeDriver\"),\n Map.entry(\"CONNECTION_TYPE\", \"Jdbc\"),\n Map.entry(\"CONNECTOR_URL\", \"s3://example/snowflake-jdbc.jar\"),\n Map.entry(\"JDBC_CONNECTION_URL\", \"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\")\n ))\n .matchCriterias(\"template-connection\")\n .build());\n\n // Reference the connector using match_criteria with the connector created above.\n var example2 = new Connection(\"example2\", ConnectionArgs.builder()\n .name(\"example2\")\n .connectionType(\"CUSTOM\")\n .connectionProperties(Map.ofEntries(\n Map.entry(\"CONNECTOR_CLASS_NAME\", \"net.snowflake.client.jdbc.SnowflakeDriver\"),\n Map.entry(\"CONNECTION_TYPE\", \"Jdbc\"),\n Map.entry(\"CONNECTOR_URL\", \"s3://example/snowflake-jdbc.jar\"),\n Map.entry(\"JDBC_CONNECTION_URL\", \"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\"),\n Map.entry(\"SECRET_ID\", example.applyValue(getSecretResult -\u003e getSecretResult.name()))\n ))\n .matchCriterias( \n \"Connection\",\n example1.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example1:\n type: aws:glue:Connection\n properties:\n name: example1\n connectionType: CUSTOM\n connectionProperties:\n CONNECTOR_CLASS_NAME: net.snowflake.client.jdbc.SnowflakeDriver\n CONNECTION_TYPE: Jdbc\n CONNECTOR_URL: s3://example/snowflake-jdbc.jar\n JDBC_CONNECTION_URL: '[[\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\"],\",\"]'\n matchCriterias:\n - template-connection\n # Reference the connector using match_criteria with the connector created above.\n example2:\n type: aws:glue:Connection\n properties:\n name: example2\n connectionType: CUSTOM\n connectionProperties:\n CONNECTOR_CLASS_NAME: net.snowflake.client.jdbc.SnowflakeDriver\n CONNECTION_TYPE: Jdbc\n CONNECTOR_URL: s3://example/snowflake-jdbc.jar\n JDBC_CONNECTION_URL: jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\n SECRET_ID: ${example.name}\n matchCriterias:\n - Connection\n - ${example1.name}\nvariables:\n # Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n # Example here being a snowflake jdbc connector with a secret having user and password as keys\n example:\n fn::invoke:\n Function: aws:secretsmanager:getSecret\n Arguments:\n name: example-secret\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Azure Cosmos Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azurecosmos).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.secretsmanager.Secret(\"example\", {name: \"example-secret\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n username: \"exampleusername\",\n password: \"examplepassword\",\n }),\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionType: \"AZURECOSMOS\",\n connectionProperties: {\n SparkProperties: pulumi.jsonStringify({\n secretId: example.name,\n \"spark.cosmos.accountEndpoint\": \"https://exampledbaccount.documents.azure.com:443/\",\n }),\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example-secret\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"username\": \"exampleusername\",\n \"password\": \"examplepassword\",\n }))\nexample_connection = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_type=\"AZURECOSMOS\",\n connection_properties={\n \"SparkProperties\": pulumi.Output.json_dumps({\n \"secretId\": example.name,\n \"spark.cosmos.accountEndpoint\": \"https://exampledbaccount.documents.azure.com:443/\",\n }),\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example-secret\",\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = example.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"exampleusername\",\n [\"password\"] = \"examplepassword\",\n }),\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionType = \"AZURECOSMOS\",\n ConnectionProperties = \n {\n { \"SparkProperties\", Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"secretId\"] = example.Name,\n [\"spark.cosmos.accountEndpoint\"] = \"https://exampledbaccount.documents.azure.com:443/\",\n })) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example-secret\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"username\": \"exampleusername\",\n\t\t\t\"password\": \"examplepassword\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: example.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionType: pulumi.String(\"AZURECOSMOS\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"SparkProperties\": example.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"secretId\": name,\n\t\t\t\t\t\t\"spark.cosmos.accountEndpoint\": \"https://exampledbaccount.documents.azure.com:443/\",\n\t\t\t\t\t})\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn _zero, err\n\t\t\t\t\t}\n\t\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Secret(\"example\", SecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"exampleusername\"),\n jsonProperty(\"password\", \"examplepassword\")\n )))\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionType(\"AZURECOSMOS\")\n .connectionProperties(Map.of(\"SparkProperties\", example.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"secretId\", name),\n jsonProperty(\"spark.cosmos.accountEndpoint\", \"https://exampledbaccount.documents.azure.com:443/\")\n )))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example-secret\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n username: exampleusername\n password: examplepassword\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n name: example\n connectionType: AZURECOSMOS\n connectionProperties:\n SparkProperties:\n fn::toJSON:\n secretId: ${example.name}\n spark.cosmos.accountEndpoint: https://exampledbaccount.documents.azure.com:443/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Azure SQL Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azuresql).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.secretsmanager.Secret(\"example\", {name: \"example-secret\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n username: \"exampleusername\",\n password: \"examplepassword\",\n }),\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionType: \"AZURECOSMOS\",\n connectionProperties: {\n SparkProperties: pulumi.jsonStringify({\n secretId: example.name,\n url: \"jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase\",\n }),\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example-secret\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"username\": \"exampleusername\",\n \"password\": \"examplepassword\",\n }))\nexample_connection = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_type=\"AZURECOSMOS\",\n connection_properties={\n \"SparkProperties\": pulumi.Output.json_dumps({\n \"secretId\": example.name,\n \"url\": \"jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase\",\n }),\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example-secret\",\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = example.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"exampleusername\",\n [\"password\"] = \"examplepassword\",\n }),\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionType = \"AZURECOSMOS\",\n ConnectionProperties = \n {\n { \"SparkProperties\", Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"secretId\"] = example.Name,\n [\"url\"] = \"jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase\",\n })) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example-secret\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"username\": \"exampleusername\",\n\t\t\t\"password\": \"examplepassword\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: example.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionType: pulumi.String(\"AZURECOSMOS\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"SparkProperties\": example.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"secretId\": name,\n\t\t\t\t\t\t\"url\": \"jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase\",\n\t\t\t\t\t})\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn _zero, err\n\t\t\t\t\t}\n\t\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Secret(\"example\", SecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"exampleusername\"),\n jsonProperty(\"password\", \"examplepassword\")\n )))\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionType(\"AZURECOSMOS\")\n .connectionProperties(Map.of(\"SparkProperties\", example.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"secretId\", name),\n jsonProperty(\"url\", \"jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase\")\n )))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example-secret\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n username: exampleusername\n password: examplepassword\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n name: example\n connectionType: AZURECOSMOS\n connectionProperties:\n SparkProperties:\n fn::toJSON:\n secretId: ${example.name}\n url: jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Google BigQuery Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-bigquery).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.secretsmanager.Secret(\"example\", {name: \"example-secret\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n credentials: std.base64encode({\n input: `{\n \"type\": \"service_account\",\n \"project_id\": \"example-project\",\n \"private_key_id\": \"example-key\",\n \"private_key\": \"-----BEGIN RSA PRIVATE KEY-----\\\\nREDACTED\\\\n-----END RSA PRIVATE KEY-----\",\n \"client_email\": \"example-project@appspot.gserviceaccount.com\",\n \"client_id\": example-client\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\",\n \"universe_domain\": \"googleapis.com\"\n}\n`,\n }).then(invoke =\u003e invoke.result),\n }),\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionType: \"BIGQUERY\",\n connectionProperties: {\n SparkProperties: pulumi.jsonStringify({\n secretId: example.name,\n }),\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example-secret\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"credentials\": std.base64encode(input=\"\"\"{\n \"type\": \"service_account\",\n \"project_id\": \"example-project\",\n \"private_key_id\": \"example-key\",\n \"private_key\": \"-----BEGIN RSA PRIVATE KEY-----\\nREDACTED\\n-----END RSA PRIVATE KEY-----\",\n \"client_email\": \"example-project@appspot.gserviceaccount.com\",\n \"client_id\": example-client\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\",\n \"universe_domain\": \"googleapis.com\"\n}\n\"\"\").result,\n }))\nexample_connection = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_type=\"BIGQUERY\",\n connection_properties={\n \"SparkProperties\": pulumi.Output.json_dumps({\n \"secretId\": example.name,\n }),\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example-secret\",\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = example.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"credentials\"] = Std.Base64encode.Invoke(new()\n {\n Input = @\"{\n \"\"type\"\": \"\"service_account\"\",\n \"\"project_id\"\": \"\"example-project\"\",\n \"\"private_key_id\"\": \"\"example-key\"\",\n \"\"private_key\"\": \"\"-----BEGIN RSA PRIVATE KEY-----\\nREDACTED\\n-----END RSA PRIVATE KEY-----\"\",\n \"\"client_email\"\": \"\"example-project@appspot.gserviceaccount.com\"\",\n \"\"client_id\"\": example-client\"\",\n \"\"auth_uri\"\": \"\"https://accounts.google.com/o/oauth2/auth\"\",\n \"\"token_uri\"\": \"\"https://oauth2.googleapis.com/token\"\",\n \"\"auth_provider_x509_cert_url\"\": \"\"https://www.googleapis.com/oauth2/v1/certs\"\",\n \"\"client_x509_cert_url\"\": \"\"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\"\",\n \"\"universe_domain\"\": \"\"googleapis.com\"\"\n}\n\",\n }).Apply(invoke =\u003e invoke.Result),\n }),\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionType = \"BIGQUERY\",\n ConnectionProperties = \n {\n { \"SparkProperties\", Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"secretId\"] = example.Name,\n })) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example-secret\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"credentials\": std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\t\tInput: `{\n \"type\": \"service_account\",\n \"project_id\": \"example-project\",\n \"private_key_id\": \"example-key\",\n \"private_key\": \"-----BEGIN RSA PRIVATE KEY-----\\nREDACTED\\n-----END RSA PRIVATE KEY-----\",\n \"client_email\": \"example-project@appspot.gserviceaccount.com\",\n \"client_id\": example-client\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\",\n \"universe_domain\": \"googleapis.com\"\n}\n`,\n\t\t\t}, nil).Result,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: example.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionType: pulumi.String(\"BIGQUERY\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"SparkProperties\": example.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"secretId\": name,\n\t\t\t\t\t})\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn _zero, err\n\t\t\t\t\t}\n\t\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Secret(\"example\", SecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"credentials\", StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"\"\"\n{\n \"type\": \"service_account\",\n \"project_id\": \"example-project\",\n \"private_key_id\": \"example-key\",\n \"private_key\": \"-----BEGIN RSA PRIVATE KEY-----\\nREDACTED\\n-----END RSA PRIVATE KEY-----\",\n \"client_email\": \"example-project@appspot.gserviceaccount.com\",\n \"client_id\": example-client\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\",\n \"universe_domain\": \"googleapis.com\"\n}\n \"\"\")\n .build()).result())\n )))\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionType(\"BIGQUERY\")\n .connectionProperties(Map.of(\"SparkProperties\", example.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"secretId\", name)\n )))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example-secret\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n credentials:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: |\n {\n \"type\": \"service_account\",\n \"project_id\": \"example-project\",\n \"private_key_id\": \"example-key\",\n \"private_key\": \"-----BEGIN RSA PRIVATE KEY-----\\nREDACTED\\n-----END RSA PRIVATE KEY-----\",\n \"client_email\": \"example-project@appspot.gserviceaccount.com\",\n \"client_id\": example-client\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\",\n \"universe_domain\": \"googleapis.com\"\n }\n Return: result\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n name: example\n connectionType: BIGQUERY\n connectionProperties:\n SparkProperties:\n fn::toJSON:\n secretId: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Service Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-opensearch).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.secretsmanager.Secret(\"example\", {name: \"example-secret\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n \"opensearch.net.http.auth.user\": \"exampleusername\",\n \"opensearch.net.http.auth.pass\": \"examplepassword\",\n }),\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionType: \"OPENSEARCH\",\n connectionProperties: {\n SparkProperties: pulumi.jsonStringify({\n secretId: example.name,\n \"opensearch.nodes\": \"https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com\",\n \"opensearch.port\": \"443\",\n \"opensearch.aws.sigv4.region\": \"us-east-1\",\n \"opensearch.nodes.wan.only\": \"true\",\n \"opensearch.aws.sigv4.enabled\": \"true\",\n }),\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example-secret\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"opensearch.net.http.auth.user\": \"exampleusername\",\n \"opensearch.net.http.auth.pass\": \"examplepassword\",\n }))\nexample_connection = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_type=\"OPENSEARCH\",\n connection_properties={\n \"SparkProperties\": pulumi.Output.json_dumps({\n \"secretId\": example.name,\n \"opensearch.nodes\": \"https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com\",\n \"opensearch.port\": \"443\",\n \"opensearch.aws.sigv4.region\": \"us-east-1\",\n \"opensearch.nodes.wan.only\": \"true\",\n \"opensearch.aws.sigv4.enabled\": \"true\",\n }),\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example-secret\",\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = example.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"opensearch.net.http.auth.user\"] = \"exampleusername\",\n [\"opensearch.net.http.auth.pass\"] = \"examplepassword\",\n }),\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionType = \"OPENSEARCH\",\n ConnectionProperties = \n {\n { \"SparkProperties\", Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"secretId\"] = example.Name,\n [\"opensearch.nodes\"] = \"https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com\",\n [\"opensearch.port\"] = \"443\",\n [\"opensearch.aws.sigv4.region\"] = \"us-east-1\",\n [\"opensearch.nodes.wan.only\"] = \"true\",\n [\"opensearch.aws.sigv4.enabled\"] = \"true\",\n })) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example-secret\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"opensearch.net.http.auth.user\": \"exampleusername\",\n\t\t\t\"opensearch.net.http.auth.pass\": \"examplepassword\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: example.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionType: pulumi.String(\"OPENSEARCH\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"SparkProperties\": example.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"secretId\": name,\n\t\t\t\t\t\t\"opensearch.nodes\": \"https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com\",\n\t\t\t\t\t\t\"opensearch.port\": \"443\",\n\t\t\t\t\t\t\"opensearch.aws.sigv4.region\": \"us-east-1\",\n\t\t\t\t\t\t\"opensearch.nodes.wan.only\": \"true\",\n\t\t\t\t\t\t\"opensearch.aws.sigv4.enabled\": \"true\",\n\t\t\t\t\t})\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn _zero, err\n\t\t\t\t\t}\n\t\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Secret(\"example\", SecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"opensearch.net.http.auth.user\", \"exampleusername\"),\n jsonProperty(\"opensearch.net.http.auth.pass\", \"examplepassword\")\n )))\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionType(\"OPENSEARCH\")\n .connectionProperties(Map.of(\"SparkProperties\", example.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"secretId\", name),\n jsonProperty(\"opensearch.nodes\", \"https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com\"),\n jsonProperty(\"opensearch.port\", \"443\"),\n jsonProperty(\"opensearch.aws.sigv4.region\", \"us-east-1\"),\n jsonProperty(\"opensearch.nodes.wan.only\", \"true\"),\n jsonProperty(\"opensearch.aws.sigv4.enabled\", \"true\")\n )))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example-secret\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n opensearch.net.http.auth.user: exampleusername\n opensearch.net.http.auth.pass: examplepassword\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n name: example\n connectionType: OPENSEARCH\n connectionProperties:\n SparkProperties:\n fn::toJSON:\n secretId: ${example.name}\n opensearch.nodes: https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com\n opensearch.port: '443'\n opensearch.aws.sigv4.region: us-east-1\n opensearch.nodes.wan.only: 'true'\n opensearch.aws.sigv4.enabled: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Snowflake Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-snowflake).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.secretsmanager.Secret(\"example\", {name: \"example-secret\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n sfUser: \"exampleusername\",\n sfPassword: \"examplepassword\",\n }),\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionType: \"SNOWFLAKE\",\n connectionProperties: {\n SparkProperties: pulumi.jsonStringify({\n secretId: example.name,\n sfRole: \"EXAMPLEETLROLE\",\n sfUrl: \"exampleorg-exampleconnection.snowflakecomputing.com\",\n }),\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example-secret\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"sfUser\": \"exampleusername\",\n \"sfPassword\": \"examplepassword\",\n }))\nexample_connection = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_type=\"SNOWFLAKE\",\n connection_properties={\n \"SparkProperties\": pulumi.Output.json_dumps({\n \"secretId\": example.name,\n \"sfRole\": \"EXAMPLEETLROLE\",\n \"sfUrl\": \"exampleorg-exampleconnection.snowflakecomputing.com\",\n }),\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example-secret\",\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = example.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"sfUser\"] = \"exampleusername\",\n [\"sfPassword\"] = \"examplepassword\",\n }),\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionType = \"SNOWFLAKE\",\n ConnectionProperties = \n {\n { \"SparkProperties\", Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"secretId\"] = example.Name,\n [\"sfRole\"] = \"EXAMPLEETLROLE\",\n [\"sfUrl\"] = \"exampleorg-exampleconnection.snowflakecomputing.com\",\n })) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example-secret\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"sfUser\": \"exampleusername\",\n\t\t\t\"sfPassword\": \"examplepassword\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: example.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionType: pulumi.String(\"SNOWFLAKE\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"SparkProperties\": example.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"secretId\": name,\n\t\t\t\t\t\t\"sfRole\": \"EXAMPLEETLROLE\",\n\t\t\t\t\t\t\"sfUrl\": \"exampleorg-exampleconnection.snowflakecomputing.com\",\n\t\t\t\t\t})\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn _zero, err\n\t\t\t\t\t}\n\t\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Secret(\"example\", SecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"sfUser\", \"exampleusername\"),\n jsonProperty(\"sfPassword\", \"examplepassword\")\n )))\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionType(\"SNOWFLAKE\")\n .connectionProperties(Map.of(\"SparkProperties\", example.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"secretId\", name),\n jsonProperty(\"sfRole\", \"EXAMPLEETLROLE\"),\n jsonProperty(\"sfUrl\", \"exampleorg-exampleconnection.snowflakecomputing.com\")\n )))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example-secret\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n sfUser: exampleusername\n sfPassword: examplepassword\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n name: example\n connectionType: SNOWFLAKE\n connectionProperties:\n SparkProperties:\n fn::toJSON:\n secretId: ${example.name}\n sfRole: EXAMPLEETLROLE\n sfUrl: exampleorg-exampleconnection.snowflakecomputing.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Connections using the `CATALOG-ID` (AWS account ID if not custom) and `NAME`. For example:\n\n```sh\n$ pulumi import aws:glue/connection:Connection MyConnection 123456789012:MyConnection\n```\n", "properties": { "arn": { "type": "string", @@ -274772,7 +274772,7 @@ } }, "aws:glue/devEndpoint:DevEndpoint": { - "description": "Provides a Glue Development Endpoint resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"glue.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"AWSGlueServiceRole-foo\",\n assumeRolePolicy: example.then(example =\u003e example.json),\n});\nconst exampleDevEndpoint = new aws.glue.DevEndpoint(\"example\", {\n name: \"foo\",\n roleArn: exampleRole.arn,\n});\nconst example_AWSGlueServiceRole = new aws.iam.RolePolicyAttachment(\"example-AWSGlueServiceRole\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\",\n role: exampleRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"glue.amazonaws.com\"],\n }],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"AWSGlueServiceRole-foo\",\n assume_role_policy=example.json)\nexample_dev_endpoint = aws.glue.DevEndpoint(\"example\",\n name=\"foo\",\n role_arn=example_role.arn)\nexample__aws_glue_service_role = aws.iam.RolePolicyAttachment(\"example-AWSGlueServiceRole\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\",\n role=example_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"glue.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"AWSGlueServiceRole-foo\",\n AssumeRolePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDevEndpoint = new Aws.Glue.DevEndpoint(\"example\", new()\n {\n Name = \"foo\",\n RoleArn = exampleRole.Arn,\n });\n\n var example_AWSGlueServiceRole = new Aws.Iam.RolePolicyAttachment(\"example-AWSGlueServiceRole\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\",\n Role = exampleRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"glue.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"AWSGlueServiceRole-foo\"),\n\t\t\tAssumeRolePolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewDevEndpoint(ctx, \"example\", \u0026glue.DevEndpointArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRoleArn: exampleRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AWSGlueServiceRole\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\"),\n\t\t\tRole: exampleRole.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.glue.DevEndpoint;\nimport com.pulumi.aws.glue.DevEndpointArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"glue.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"AWSGlueServiceRole-foo\")\n .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDevEndpoint = new DevEndpoint(\"exampleDevEndpoint\", DevEndpointArgs.builder()\n .name(\"foo\")\n .roleArn(exampleRole.arn())\n .build());\n\n var example_AWSGlueServiceRole = new RolePolicyAttachment(\"example-AWSGlueServiceRole\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\")\n .role(exampleRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDevEndpoint:\n type: aws:glue:DevEndpoint\n name: example\n properties:\n name: foo\n roleArn: ${exampleRole.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: AWSGlueServiceRole-foo\n assumeRolePolicy: ${example.json}\n example-AWSGlueServiceRole:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\n role: ${exampleRole.name}\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - glue.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a Glue Development Endpoint using the `name`. For example:\n\n```sh\n$ pulumi import aws:glue/devEndpoint:DevEndpoint example foo\n```\n", + "description": "Provides a Glue Development Endpoint resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"glue.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"AWSGlueServiceRole-foo\",\n assumeRolePolicy: example.then(example =\u003e example.json),\n});\nconst exampleDevEndpoint = new aws.glue.DevEndpoint(\"example\", {\n name: \"foo\",\n roleArn: exampleRole.arn,\n});\nconst example_AWSGlueServiceRole = new aws.iam.RolePolicyAttachment(\"example-AWSGlueServiceRole\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\",\n role: exampleRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"glue.amazonaws.com\"],\n }],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"AWSGlueServiceRole-foo\",\n assume_role_policy=example.json)\nexample_dev_endpoint = aws.glue.DevEndpoint(\"example\",\n name=\"foo\",\n role_arn=example_role.arn)\nexample__aws_glue_service_role = aws.iam.RolePolicyAttachment(\"example-AWSGlueServiceRole\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\",\n role=example_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"glue.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"AWSGlueServiceRole-foo\",\n AssumeRolePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDevEndpoint = new Aws.Glue.DevEndpoint(\"example\", new()\n {\n Name = \"foo\",\n RoleArn = exampleRole.Arn,\n });\n\n var example_AWSGlueServiceRole = new Aws.Iam.RolePolicyAttachment(\"example-AWSGlueServiceRole\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\",\n Role = exampleRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"glue.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"AWSGlueServiceRole-foo\"),\n\t\t\tAssumeRolePolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewDevEndpoint(ctx, \"example\", \u0026glue.DevEndpointArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRoleArn: exampleRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AWSGlueServiceRole\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\"),\n\t\t\tRole: exampleRole.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.glue.DevEndpoint;\nimport com.pulumi.aws.glue.DevEndpointArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"glue.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"AWSGlueServiceRole-foo\")\n .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDevEndpoint = new DevEndpoint(\"exampleDevEndpoint\", DevEndpointArgs.builder()\n .name(\"foo\")\n .roleArn(exampleRole.arn())\n .build());\n\n var example_AWSGlueServiceRole = new RolePolicyAttachment(\"example-AWSGlueServiceRole\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\")\n .role(exampleRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDevEndpoint:\n type: aws:glue:DevEndpoint\n name: example\n properties:\n name: foo\n roleArn: ${exampleRole.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: AWSGlueServiceRole-foo\n assumeRolePolicy: ${example.json}\n example-AWSGlueServiceRole:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\n role: ${exampleRole.name}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - glue.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a Glue Development Endpoint using the `name`. For example:\n\n```sh\n$ pulumi import aws:glue/devEndpoint:DevEndpoint example foo\n```\n", "properties": { "arguments": { "type": "object", @@ -275124,7 +275124,7 @@ } }, "aws:glue/job:Job": { - "description": "Provides a Glue Job resource.\n\n\u003e Glue functionality, such as monitoring and logging of jobs, is typically managed with the `default_arguments` argument. See the [Special Parameters Used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) topic in the Glue developer guide for additional information.\n\n## Example Usage\n\n### Python Job\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Job(\"example\", {\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n command: {\n scriptLocation: `s3://${exampleAwsS3Bucket.bucket}/example.py`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Job(\"example\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n command={\n \"script_location\": f\"s3://{example_aws_s3_bucket['bucket']}/example.py\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Job(\"example\", new()\n {\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n Command = new Aws.Glue.Inputs.JobCommandArgs\n {\n ScriptLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/example.py\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tCommand: \u0026glue.JobCommandArgs{\n\t\t\t\tScriptLocation: pulumi.Sprintf(\"s3://%v/example.py\", exampleAwsS3Bucket.Bucket),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport com.pulumi.aws.glue.inputs.JobCommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Job(\"example\", JobArgs.builder()\n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .command(JobCommandArgs.builder()\n .scriptLocation(String.format(\"s3://%s/example.py\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Job\n properties:\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n command:\n scriptLocation: s3://${exampleAwsS3Bucket.bucket}/example.py\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ray Job\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Job(\"example\", {\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n glueVersion: \"4.0\",\n workerType: \"Z.2X\",\n command: {\n name: \"glueray\",\n pythonVersion: \"3.9\",\n runtime: \"Ray2.4\",\n scriptLocation: `s3://${exampleAwsS3Bucket.bucket}/example.py`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Job(\"example\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n glue_version=\"4.0\",\n worker_type=\"Z.2X\",\n command={\n \"name\": \"glueray\",\n \"python_version\": \"3.9\",\n \"runtime\": \"Ray2.4\",\n \"script_location\": f\"s3://{example_aws_s3_bucket['bucket']}/example.py\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Job(\"example\", new()\n {\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n GlueVersion = \"4.0\",\n WorkerType = \"Z.2X\",\n Command = new Aws.Glue.Inputs.JobCommandArgs\n {\n Name = \"glueray\",\n PythonVersion = \"3.9\",\n Runtime = \"Ray2.4\",\n ScriptLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/example.py\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tGlueVersion: pulumi.String(\"4.0\"),\n\t\t\tWorkerType: pulumi.String(\"Z.2X\"),\n\t\t\tCommand: \u0026glue.JobCommandArgs{\n\t\t\t\tName: pulumi.String(\"glueray\"),\n\t\t\t\tPythonVersion: pulumi.String(\"3.9\"),\n\t\t\t\tRuntime: pulumi.String(\"Ray2.4\"),\n\t\t\t\tScriptLocation: pulumi.Sprintf(\"s3://%v/example.py\", exampleAwsS3Bucket.Bucket),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport com.pulumi.aws.glue.inputs.JobCommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Job(\"example\", JobArgs.builder()\n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .glueVersion(\"4.0\")\n .workerType(\"Z.2X\")\n .command(JobCommandArgs.builder()\n .name(\"glueray\")\n .pythonVersion(\"3.9\")\n .runtime(\"Ray2.4\")\n .scriptLocation(String.format(\"s3://%s/example.py\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Job\n properties:\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n glueVersion: '4.0'\n workerType: Z.2X\n command:\n name: glueray\n pythonVersion: '3.9'\n runtime: Ray2.4\n scriptLocation: s3://${exampleAwsS3Bucket.bucket}/example.py\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Scala Job\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Job(\"example\", {\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n command: {\n scriptLocation: `s3://${exampleAwsS3Bucket.bucket}/example.scala`,\n },\n defaultArguments: {\n \"--job-language\": \"scala\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Job(\"example\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n command={\n \"script_location\": f\"s3://{example_aws_s3_bucket['bucket']}/example.scala\",\n },\n default_arguments={\n \"--job-language\": \"scala\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Job(\"example\", new()\n {\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n Command = new Aws.Glue.Inputs.JobCommandArgs\n {\n ScriptLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/example.scala\",\n },\n DefaultArguments = \n {\n { \"--job-language\", \"scala\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tCommand: \u0026glue.JobCommandArgs{\n\t\t\t\tScriptLocation: pulumi.Sprintf(\"s3://%v/example.scala\", exampleAwsS3Bucket.Bucket),\n\t\t\t},\n\t\t\tDefaultArguments: pulumi.StringMap{\n\t\t\t\t\"--job-language\": pulumi.String(\"scala\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport com.pulumi.aws.glue.inputs.JobCommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Job(\"example\", JobArgs.builder()\n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .command(JobCommandArgs.builder()\n .scriptLocation(String.format(\"s3://%s/example.scala\", exampleAwsS3Bucket.bucket()))\n .build())\n .defaultArguments(Map.of(\"--job-language\", \"scala\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Job\n properties:\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n command:\n scriptLocation: s3://${exampleAwsS3Bucket.bucket}/example.scala\n defaultArguments:\n --job-language: scala\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Streaming Job\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Job(\"example\", {\n name: \"example streaming job\",\n roleArn: exampleAwsIamRole.arn,\n command: {\n name: \"gluestreaming\",\n scriptLocation: `s3://${exampleAwsS3Bucket.bucket}/example.script`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Job(\"example\",\n name=\"example streaming job\",\n role_arn=example_aws_iam_role[\"arn\"],\n command={\n \"name\": \"gluestreaming\",\n \"script_location\": f\"s3://{example_aws_s3_bucket['bucket']}/example.script\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Job(\"example\", new()\n {\n Name = \"example streaming job\",\n RoleArn = exampleAwsIamRole.Arn,\n Command = new Aws.Glue.Inputs.JobCommandArgs\n {\n Name = \"gluestreaming\",\n ScriptLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/example.script\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tName: pulumi.String(\"example streaming job\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tCommand: \u0026glue.JobCommandArgs{\n\t\t\t\tName: pulumi.String(\"gluestreaming\"),\n\t\t\t\tScriptLocation: pulumi.Sprintf(\"s3://%v/example.script\", exampleAwsS3Bucket.Bucket),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport com.pulumi.aws.glue.inputs.JobCommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Job(\"example\", JobArgs.builder()\n .name(\"example streaming job\")\n .roleArn(exampleAwsIamRole.arn())\n .command(JobCommandArgs.builder()\n .name(\"gluestreaming\")\n .scriptLocation(String.format(\"s3://%s/example.script\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Job\n properties:\n name: example streaming job\n roleArn: ${exampleAwsIamRole.arn}\n command:\n name: gluestreaming\n scriptLocation: s3://${exampleAwsS3Bucket.bucket}/example.script\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enabling CloudWatch Logs and Metrics\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {\n name: \"example\",\n retentionInDays: 14,\n});\nconst exampleJob = new aws.glue.Job(\"example\", {defaultArguments: {\n \"--continuous-log-logGroup\": example.name,\n \"--enable-continuous-cloudwatch-log\": \"true\",\n \"--enable-continuous-log-filter\": \"true\",\n \"--enable-metrics\": \"\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\",\n name=\"example\",\n retention_in_days=14)\nexample_job = aws.glue.Job(\"example\", default_arguments={\n \"--continuous-log-logGroup\": example.name,\n \"--enable-continuous-cloudwatch-log\": \"true\",\n \"--enable-continuous-log-filter\": \"true\",\n \"--enable-metrics\": \"\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n RetentionInDays = 14,\n });\n\n var exampleJob = new Aws.Glue.Job(\"example\", new()\n {\n DefaultArguments = \n {\n { \"--continuous-log-logGroup\", example.Name },\n { \"--enable-continuous-cloudwatch-log\", \"true\" },\n { \"--enable-continuous-log-filter\", \"true\" },\n { \"--enable-metrics\", \"\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRetentionInDays: pulumi.Int(14),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tDefaultArguments: pulumi.StringMap{\n\t\t\t\t\"--continuous-log-logGroup\": example.Name,\n\t\t\t\t\"--enable-continuous-cloudwatch-log\": pulumi.String(\"true\"),\n\t\t\t\t\"--enable-continuous-log-filter\": pulumi.String(\"true\"),\n\t\t\t\t\"--enable-metrics\": pulumi.String(\"\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(\"example\")\n .retentionInDays(14)\n .build());\n\n var exampleJob = new Job(\"exampleJob\", JobArgs.builder()\n .defaultArguments(Map.ofEntries(\n Map.entry(\"--continuous-log-logGroup\", example.name()),\n Map.entry(\"--enable-continuous-cloudwatch-log\", \"true\"),\n Map.entry(\"--enable-continuous-log-filter\", \"true\"),\n Map.entry(\"--enable-metrics\", \"\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: example\n retentionInDays: 14\n exampleJob:\n type: aws:glue:Job\n name: example\n properties:\n defaultArguments:\n --continuous-log-logGroup: ${example.name}\n --enable-continuous-cloudwatch-log: 'true'\n --enable-continuous-log-filter: 'true'\n --enable-metrics: \"\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Jobs using `name`. For example:\n\n```sh\n$ pulumi import aws:glue/job:Job MyJob MyJob\n```\n", + "description": "Provides a Glue Job resource.\n\n\u003e Glue functionality, such as monitoring and logging of jobs, is typically managed with the `default_arguments` argument. See the [Special Parameters Used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) topic in the Glue developer guide for additional information.\n\n## Example Usage\n\n### Python Job\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Job(\"example\", {\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n command: {\n scriptLocation: `s3://${exampleAwsS3Bucket.bucket}/example.py`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Job(\"example\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n command={\n \"script_location\": f\"s3://{example_aws_s3_bucket['bucket']}/example.py\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Job(\"example\", new()\n {\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n Command = new Aws.Glue.Inputs.JobCommandArgs\n {\n ScriptLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/example.py\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tCommand: \u0026glue.JobCommandArgs{\n\t\t\t\tScriptLocation: pulumi.Sprintf(\"s3://%v/example.py\", exampleAwsS3Bucket.Bucket),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport com.pulumi.aws.glue.inputs.JobCommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Job(\"example\", JobArgs.builder()\n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .command(JobCommandArgs.builder()\n .scriptLocation(String.format(\"s3://%s/example.py\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Job\n properties:\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n command:\n scriptLocation: s3://${exampleAwsS3Bucket.bucket}/example.py\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ray Job\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Job(\"example\", {\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n glueVersion: \"4.0\",\n workerType: \"Z.2X\",\n command: {\n name: \"glueray\",\n pythonVersion: \"3.9\",\n runtime: \"Ray2.4\",\n scriptLocation: `s3://${exampleAwsS3Bucket.bucket}/example.py`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Job(\"example\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n glue_version=\"4.0\",\n worker_type=\"Z.2X\",\n command={\n \"name\": \"glueray\",\n \"python_version\": \"3.9\",\n \"runtime\": \"Ray2.4\",\n \"script_location\": f\"s3://{example_aws_s3_bucket['bucket']}/example.py\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Job(\"example\", new()\n {\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n GlueVersion = \"4.0\",\n WorkerType = \"Z.2X\",\n Command = new Aws.Glue.Inputs.JobCommandArgs\n {\n Name = \"glueray\",\n PythonVersion = \"3.9\",\n Runtime = \"Ray2.4\",\n ScriptLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/example.py\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tGlueVersion: pulumi.String(\"4.0\"),\n\t\t\tWorkerType: pulumi.String(\"Z.2X\"),\n\t\t\tCommand: \u0026glue.JobCommandArgs{\n\t\t\t\tName: pulumi.String(\"glueray\"),\n\t\t\t\tPythonVersion: pulumi.String(\"3.9\"),\n\t\t\t\tRuntime: pulumi.String(\"Ray2.4\"),\n\t\t\t\tScriptLocation: pulumi.Sprintf(\"s3://%v/example.py\", exampleAwsS3Bucket.Bucket),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport com.pulumi.aws.glue.inputs.JobCommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Job(\"example\", JobArgs.builder()\n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .glueVersion(\"4.0\")\n .workerType(\"Z.2X\")\n .command(JobCommandArgs.builder()\n .name(\"glueray\")\n .pythonVersion(\"3.9\")\n .runtime(\"Ray2.4\")\n .scriptLocation(String.format(\"s3://%s/example.py\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Job\n properties:\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n glueVersion: '4.0'\n workerType: Z.2X\n command:\n name: glueray\n pythonVersion: '3.9'\n runtime: Ray2.4\n scriptLocation: s3://${exampleAwsS3Bucket.bucket}/example.py\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Scala Job\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Job(\"example\", {\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n command: {\n scriptLocation: `s3://${exampleAwsS3Bucket.bucket}/example.scala`,\n },\n defaultArguments: {\n \"--job-language\": \"scala\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Job(\"example\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n command={\n \"script_location\": f\"s3://{example_aws_s3_bucket['bucket']}/example.scala\",\n },\n default_arguments={\n \"--job-language\": \"scala\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Job(\"example\", new()\n {\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n Command = new Aws.Glue.Inputs.JobCommandArgs\n {\n ScriptLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/example.scala\",\n },\n DefaultArguments = \n {\n { \"--job-language\", \"scala\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tCommand: \u0026glue.JobCommandArgs{\n\t\t\t\tScriptLocation: pulumi.Sprintf(\"s3://%v/example.scala\", exampleAwsS3Bucket.Bucket),\n\t\t\t},\n\t\t\tDefaultArguments: pulumi.StringMap{\n\t\t\t\t\"--job-language\": pulumi.String(\"scala\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport com.pulumi.aws.glue.inputs.JobCommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Job(\"example\", JobArgs.builder()\n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .command(JobCommandArgs.builder()\n .scriptLocation(String.format(\"s3://%s/example.scala\", exampleAwsS3Bucket.bucket()))\n .build())\n .defaultArguments(Map.of(\"--job-language\", \"scala\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Job\n properties:\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n command:\n scriptLocation: s3://${exampleAwsS3Bucket.bucket}/example.scala\n defaultArguments:\n --job-language: scala\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Streaming Job\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Job(\"example\", {\n name: \"example streaming job\",\n roleArn: exampleAwsIamRole.arn,\n command: {\n name: \"gluestreaming\",\n scriptLocation: `s3://${exampleAwsS3Bucket.bucket}/example.script`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Job(\"example\",\n name=\"example streaming job\",\n role_arn=example_aws_iam_role[\"arn\"],\n command={\n \"name\": \"gluestreaming\",\n \"script_location\": f\"s3://{example_aws_s3_bucket['bucket']}/example.script\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Job(\"example\", new()\n {\n Name = \"example streaming job\",\n RoleArn = exampleAwsIamRole.Arn,\n Command = new Aws.Glue.Inputs.JobCommandArgs\n {\n Name = \"gluestreaming\",\n ScriptLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/example.script\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tName: pulumi.String(\"example streaming job\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tCommand: \u0026glue.JobCommandArgs{\n\t\t\t\tName: pulumi.String(\"gluestreaming\"),\n\t\t\t\tScriptLocation: pulumi.Sprintf(\"s3://%v/example.script\", exampleAwsS3Bucket.Bucket),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport com.pulumi.aws.glue.inputs.JobCommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Job(\"example\", JobArgs.builder()\n .name(\"example streaming job\")\n .roleArn(exampleAwsIamRole.arn())\n .command(JobCommandArgs.builder()\n .name(\"gluestreaming\")\n .scriptLocation(String.format(\"s3://%s/example.script\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Job\n properties:\n name: example streaming job\n roleArn: ${exampleAwsIamRole.arn}\n command:\n name: gluestreaming\n scriptLocation: s3://${exampleAwsS3Bucket.bucket}/example.script\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enabling CloudWatch Logs and Metrics\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {\n name: \"example\",\n retentionInDays: 14,\n});\nconst exampleJob = new aws.glue.Job(\"example\", {defaultArguments: {\n \"--continuous-log-logGroup\": example.name,\n \"--enable-continuous-cloudwatch-log\": \"true\",\n \"--enable-continuous-log-filter\": \"true\",\n \"--enable-metrics\": \"\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\",\n name=\"example\",\n retention_in_days=14)\nexample_job = aws.glue.Job(\"example\", default_arguments={\n \"--continuous-log-logGroup\": example.name,\n \"--enable-continuous-cloudwatch-log\": \"true\",\n \"--enable-continuous-log-filter\": \"true\",\n \"--enable-metrics\": \"\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n RetentionInDays = 14,\n });\n\n var exampleJob = new Aws.Glue.Job(\"example\", new()\n {\n DefaultArguments = \n {\n { \"--continuous-log-logGroup\", example.Name },\n { \"--enable-continuous-cloudwatch-log\", \"true\" },\n { \"--enable-continuous-log-filter\", \"true\" },\n { \"--enable-metrics\", \"\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRetentionInDays: pulumi.Int(14),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tDefaultArguments: pulumi.StringMap{\n\t\t\t\t\"--continuous-log-logGroup\": example.Name,\n\t\t\t\t\"--enable-continuous-cloudwatch-log\": pulumi.String(\"true\"),\n\t\t\t\t\"--enable-continuous-log-filter\": pulumi.String(\"true\"),\n\t\t\t\t\"--enable-metrics\": pulumi.String(\"\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(\"example\")\n .retentionInDays(14)\n .build());\n\n var exampleJob = new Job(\"exampleJob\", JobArgs.builder()\n .defaultArguments(Map.ofEntries(\n Map.entry(\"--continuous-log-logGroup\", example.name()),\n Map.entry(\"--enable-continuous-cloudwatch-log\", \"true\"),\n Map.entry(\"--enable-continuous-log-filter\", \"true\"),\n Map.entry(\"--enable-metrics\", \"\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: example\n retentionInDays: 14\n exampleJob:\n type: aws:glue:Job\n name: example\n properties:\n defaultArguments:\n --continuous-log-logGroup: ${example.name}\n --enable-continuous-cloudwatch-log: 'true'\n --enable-continuous-log-filter: 'true'\n --enable-metrics:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Jobs using `name`. For example:\n\n```sh\n$ pulumi import aws:glue/job:Job MyJob MyJob\n```\n", "properties": { "arn": { "type": "string", @@ -275457,7 +275457,7 @@ } }, "aws:glue/mLTransform:MLTransform": { - "description": "Provides a Glue ML Transform resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCatalogDatabase = new aws.glue.CatalogDatabase(\"test\", {name: \"example\"});\nconst testCatalogTable = new aws.glue.CatalogTable(\"test\", {\n name: \"example\",\n databaseName: testCatalogDatabase.name,\n owner: \"my_owner\",\n retention: 1,\n tableType: \"VIRTUAL_VIEW\",\n viewExpandedText: \"view_expanded_text_1\",\n viewOriginalText: \"view_original_text_1\",\n storageDescriptor: {\n bucketColumns: [\"bucket_column_1\"],\n compressed: false,\n inputFormat: \"SequenceFileInputFormat\",\n location: \"my_location\",\n numberOfBuckets: 1,\n outputFormat: \"SequenceFileInputFormat\",\n storedAsSubDirectories: false,\n parameters: {\n param1: \"param1_val\",\n },\n columns: [\n {\n name: \"my_column_1\",\n type: \"int\",\n comment: \"my_column1_comment\",\n },\n {\n name: \"my_column_2\",\n type: \"string\",\n comment: \"my_column2_comment\",\n },\n ],\n serDeInfo: {\n name: \"ser_de_name\",\n parameters: {\n param1: \"param_val_1\",\n },\n serializationLibrary: \"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\",\n },\n sortColumns: [{\n column: \"my_column_1\",\n sortOrder: 1,\n }],\n skewedInfo: {\n skewedColumnNames: [\"my_column_1\"],\n skewedColumnValueLocationMaps: {\n my_column_1: \"my_column_1_val_loc_map\",\n },\n skewedColumnValues: [\"skewed_val_1\"],\n },\n },\n partitionKeys: [\n {\n name: \"my_column_1\",\n type: \"int\",\n comment: \"my_column_1_comment\",\n },\n {\n name: \"my_column_2\",\n type: \"string\",\n comment: \"my_column_2_comment\",\n },\n ],\n parameters: {\n param1: \"param1_val\",\n },\n});\nconst test = new aws.glue.MLTransform(\"test\", {\n name: \"example\",\n roleArn: testAwsIamRole.arn,\n inputRecordTables: [{\n databaseName: testCatalogTable.databaseName,\n tableName: testCatalogTable.name,\n }],\n parameters: {\n transformType: \"FIND_MATCHES\",\n findMatchesParameters: {\n primaryKeyColumnName: \"my_column_1\",\n },\n },\n}, {\n dependsOn: [testAwsIamRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_catalog_database = aws.glue.CatalogDatabase(\"test\", name=\"example\")\ntest_catalog_table = aws.glue.CatalogTable(\"test\",\n name=\"example\",\n database_name=test_catalog_database.name,\n owner=\"my_owner\",\n retention=1,\n table_type=\"VIRTUAL_VIEW\",\n view_expanded_text=\"view_expanded_text_1\",\n view_original_text=\"view_original_text_1\",\n storage_descriptor={\n \"bucket_columns\": [\"bucket_column_1\"],\n \"compressed\": False,\n \"input_format\": \"SequenceFileInputFormat\",\n \"location\": \"my_location\",\n \"number_of_buckets\": 1,\n \"output_format\": \"SequenceFileInputFormat\",\n \"stored_as_sub_directories\": False,\n \"parameters\": {\n \"param1\": \"param1_val\",\n },\n \"columns\": [\n {\n \"name\": \"my_column_1\",\n \"type\": \"int\",\n \"comment\": \"my_column1_comment\",\n },\n {\n \"name\": \"my_column_2\",\n \"type\": \"string\",\n \"comment\": \"my_column2_comment\",\n },\n ],\n \"ser_de_info\": {\n \"name\": \"ser_de_name\",\n \"parameters\": {\n \"param1\": \"param_val_1\",\n },\n \"serialization_library\": \"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\",\n },\n \"sort_columns\": [{\n \"column\": \"my_column_1\",\n \"sort_order\": 1,\n }],\n \"skewed_info\": {\n \"skewed_column_names\": [\"my_column_1\"],\n \"skewed_column_value_location_maps\": {\n \"my_column_1\": \"my_column_1_val_loc_map\",\n },\n \"skewed_column_values\": [\"skewed_val_1\"],\n },\n },\n partition_keys=[\n {\n \"name\": \"my_column_1\",\n \"type\": \"int\",\n \"comment\": \"my_column_1_comment\",\n },\n {\n \"name\": \"my_column_2\",\n \"type\": \"string\",\n \"comment\": \"my_column_2_comment\",\n },\n ],\n parameters={\n \"param1\": \"param1_val\",\n })\ntest = aws.glue.MLTransform(\"test\",\n name=\"example\",\n role_arn=test_aws_iam_role[\"arn\"],\n input_record_tables=[{\n \"database_name\": test_catalog_table.database_name,\n \"table_name\": test_catalog_table.name,\n }],\n parameters={\n \"transform_type\": \"FIND_MATCHES\",\n \"find_matches_parameters\": {\n \"primary_key_column_name\": \"my_column_1\",\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[test_aws_iam_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCatalogDatabase = new Aws.Glue.CatalogDatabase(\"test\", new()\n {\n Name = \"example\",\n });\n\n var testCatalogTable = new Aws.Glue.CatalogTable(\"test\", new()\n {\n Name = \"example\",\n DatabaseName = testCatalogDatabase.Name,\n Owner = \"my_owner\",\n Retention = 1,\n TableType = \"VIRTUAL_VIEW\",\n ViewExpandedText = \"view_expanded_text_1\",\n ViewOriginalText = \"view_original_text_1\",\n StorageDescriptor = new Aws.Glue.Inputs.CatalogTableStorageDescriptorArgs\n {\n BucketColumns = new[]\n {\n \"bucket_column_1\",\n },\n Compressed = false,\n InputFormat = \"SequenceFileInputFormat\",\n Location = \"my_location\",\n NumberOfBuckets = 1,\n OutputFormat = \"SequenceFileInputFormat\",\n StoredAsSubDirectories = false,\n Parameters = \n {\n { \"param1\", \"param1_val\" },\n },\n Columns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_column_1\",\n Type = \"int\",\n Comment = \"my_column1_comment\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_column_2\",\n Type = \"string\",\n Comment = \"my_column2_comment\",\n },\n },\n SerDeInfo = new Aws.Glue.Inputs.CatalogTableStorageDescriptorSerDeInfoArgs\n {\n Name = \"ser_de_name\",\n Parameters = \n {\n { \"param1\", \"param_val_1\" },\n },\n SerializationLibrary = \"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\",\n },\n SortColumns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorSortColumnArgs\n {\n Column = \"my_column_1\",\n SortOrder = 1,\n },\n },\n SkewedInfo = new Aws.Glue.Inputs.CatalogTableStorageDescriptorSkewedInfoArgs\n {\n SkewedColumnNames = new[]\n {\n \"my_column_1\",\n },\n SkewedColumnValueLocationMaps = \n {\n { \"my_column_1\", \"my_column_1_val_loc_map\" },\n },\n SkewedColumnValues = new[]\n {\n \"skewed_val_1\",\n },\n },\n },\n PartitionKeys = new[]\n {\n new Aws.Glue.Inputs.CatalogTablePartitionKeyArgs\n {\n Name = \"my_column_1\",\n Type = \"int\",\n Comment = \"my_column_1_comment\",\n },\n new Aws.Glue.Inputs.CatalogTablePartitionKeyArgs\n {\n Name = \"my_column_2\",\n Type = \"string\",\n Comment = \"my_column_2_comment\",\n },\n },\n Parameters = \n {\n { \"param1\", \"param1_val\" },\n },\n });\n\n var test = new Aws.Glue.MLTransform(\"test\", new()\n {\n Name = \"example\",\n RoleArn = testAwsIamRole.Arn,\n InputRecordTables = new[]\n {\n new Aws.Glue.Inputs.MLTransformInputRecordTableArgs\n {\n DatabaseName = testCatalogTable.DatabaseName,\n TableName = testCatalogTable.Name,\n },\n },\n Parameters = new Aws.Glue.Inputs.MLTransformParametersArgs\n {\n TransformType = \"FIND_MATCHES\",\n FindMatchesParameters = new Aws.Glue.Inputs.MLTransformParametersFindMatchesParametersArgs\n {\n PrimaryKeyColumnName = \"my_column_1\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testAwsIamRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCatalogDatabase, err := glue.NewCatalogDatabase(ctx, \"test\", \u0026glue.CatalogDatabaseArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestCatalogTable, err := glue.NewCatalogTable(ctx, \"test\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDatabaseName: testCatalogDatabase.Name,\n\t\t\tOwner: pulumi.String(\"my_owner\"),\n\t\t\tRetention: pulumi.Int(1),\n\t\t\tTableType: pulumi.String(\"VIRTUAL_VIEW\"),\n\t\t\tViewExpandedText: pulumi.String(\"view_expanded_text_1\"),\n\t\t\tViewOriginalText: pulumi.String(\"view_original_text_1\"),\n\t\t\tStorageDescriptor: \u0026glue.CatalogTableStorageDescriptorArgs{\n\t\t\t\tBucketColumns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bucket_column_1\"),\n\t\t\t\t},\n\t\t\t\tCompressed: pulumi.Bool(false),\n\t\t\t\tInputFormat: pulumi.String(\"SequenceFileInputFormat\"),\n\t\t\t\tLocation: pulumi.String(\"my_location\"),\n\t\t\t\tNumberOfBuckets: pulumi.Int(1),\n\t\t\t\tOutputFormat: pulumi.String(\"SequenceFileInputFormat\"),\n\t\t\t\tStoredAsSubDirectories: pulumi.Bool(false),\n\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\"param1\": pulumi.String(\"param1_val\"),\n\t\t\t\t},\n\t\t\t\tColumns: glue.CatalogTableStorageDescriptorColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_column_1\"),\n\t\t\t\t\t\tType: pulumi.String(\"int\"),\n\t\t\t\t\t\tComment: pulumi.String(\"my_column1_comment\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_column_2\"),\n\t\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\t\tComment: pulumi.String(\"my_column2_comment\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSerDeInfo: \u0026glue.CatalogTableStorageDescriptorSerDeInfoArgs{\n\t\t\t\t\tName: pulumi.String(\"ser_de_name\"),\n\t\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"param1\": pulumi.String(\"param_val_1\"),\n\t\t\t\t\t},\n\t\t\t\t\tSerializationLibrary: pulumi.String(\"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\"),\n\t\t\t\t},\n\t\t\t\tSortColumns: glue.CatalogTableStorageDescriptorSortColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorSortColumnArgs{\n\t\t\t\t\t\tColumn: pulumi.String(\"my_column_1\"),\n\t\t\t\t\t\tSortOrder: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSkewedInfo: \u0026glue.CatalogTableStorageDescriptorSkewedInfoArgs{\n\t\t\t\t\tSkewedColumnNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"my_column_1\"),\n\t\t\t\t\t},\n\t\t\t\t\tSkewedColumnValueLocationMaps: pulumi.StringMap{\n\t\t\t\t\t\t\"my_column_1\": pulumi.String(\"my_column_1_val_loc_map\"),\n\t\t\t\t\t},\n\t\t\t\t\tSkewedColumnValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"skewed_val_1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPartitionKeys: glue.CatalogTablePartitionKeyArray{\n\t\t\t\t\u0026glue.CatalogTablePartitionKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"my_column_1\"),\n\t\t\t\t\tType: pulumi.String(\"int\"),\n\t\t\t\t\tComment: pulumi.String(\"my_column_1_comment\"),\n\t\t\t\t},\n\t\t\t\t\u0026glue.CatalogTablePartitionKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"my_column_2\"),\n\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\tComment: pulumi.String(\"my_column_2_comment\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"param1\": pulumi.String(\"param1_val\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewMLTransform(ctx, \"test\", \u0026glue.MLTransformArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(testAwsIamRole.Arn),\n\t\t\tInputRecordTables: glue.MLTransformInputRecordTableArray{\n\t\t\t\t\u0026glue.MLTransformInputRecordTableArgs{\n\t\t\t\t\tDatabaseName: testCatalogTable.DatabaseName,\n\t\t\t\t\tTableName: testCatalogTable.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t\tParameters: \u0026glue.MLTransformParametersArgs{\n\t\t\t\tTransformType: pulumi.String(\"FIND_MATCHES\"),\n\t\t\t\tFindMatchesParameters: \u0026glue.MLTransformParametersFindMatchesParametersArgs{\n\t\t\t\t\tPrimaryKeyColumnName: pulumi.String(\"my_column_1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAwsIamRolePolicyAttachment,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.CatalogDatabase;\nimport com.pulumi.aws.glue.CatalogDatabaseArgs;\nimport com.pulumi.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorSerDeInfoArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorSkewedInfoArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTablePartitionKeyArgs;\nimport com.pulumi.aws.glue.MLTransform;\nimport com.pulumi.aws.glue.MLTransformArgs;\nimport com.pulumi.aws.glue.inputs.MLTransformInputRecordTableArgs;\nimport com.pulumi.aws.glue.inputs.MLTransformParametersArgs;\nimport com.pulumi.aws.glue.inputs.MLTransformParametersFindMatchesParametersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCatalogDatabase = new CatalogDatabase(\"testCatalogDatabase\", CatalogDatabaseArgs.builder()\n .name(\"example\")\n .build());\n\n var testCatalogTable = new CatalogTable(\"testCatalogTable\", CatalogTableArgs.builder()\n .name(\"example\")\n .databaseName(testCatalogDatabase.name())\n .owner(\"my_owner\")\n .retention(1)\n .tableType(\"VIRTUAL_VIEW\")\n .viewExpandedText(\"view_expanded_text_1\")\n .viewOriginalText(\"view_original_text_1\")\n .storageDescriptor(CatalogTableStorageDescriptorArgs.builder()\n .bucketColumns(\"bucket_column_1\")\n .compressed(false)\n .inputFormat(\"SequenceFileInputFormat\")\n .location(\"my_location\")\n .numberOfBuckets(1)\n .outputFormat(\"SequenceFileInputFormat\")\n .storedAsSubDirectories(false)\n .parameters(Map.of(\"param1\", \"param1_val\"))\n .columns( \n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_column_1\")\n .type(\"int\")\n .comment(\"my_column1_comment\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_column_2\")\n .type(\"string\")\n .comment(\"my_column2_comment\")\n .build())\n .serDeInfo(CatalogTableStorageDescriptorSerDeInfoArgs.builder()\n .name(\"ser_de_name\")\n .parameters(Map.of(\"param1\", \"param_val_1\"))\n .serializationLibrary(\"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\")\n .build())\n .sortColumns(CatalogTableStorageDescriptorSortColumnArgs.builder()\n .column(\"my_column_1\")\n .sortOrder(1)\n .build())\n .skewedInfo(CatalogTableStorageDescriptorSkewedInfoArgs.builder()\n .skewedColumnNames(\"my_column_1\")\n .skewedColumnValueLocationMaps(Map.of(\"my_column_1\", \"my_column_1_val_loc_map\"))\n .skewedColumnValues(\"skewed_val_1\")\n .build())\n .build())\n .partitionKeys( \n CatalogTablePartitionKeyArgs.builder()\n .name(\"my_column_1\")\n .type(\"int\")\n .comment(\"my_column_1_comment\")\n .build(),\n CatalogTablePartitionKeyArgs.builder()\n .name(\"my_column_2\")\n .type(\"string\")\n .comment(\"my_column_2_comment\")\n .build())\n .parameters(Map.of(\"param1\", \"param1_val\"))\n .build());\n\n var test = new MLTransform(\"test\", MLTransformArgs.builder()\n .name(\"example\")\n .roleArn(testAwsIamRole.arn())\n .inputRecordTables(MLTransformInputRecordTableArgs.builder()\n .databaseName(testCatalogTable.databaseName())\n .tableName(testCatalogTable.name())\n .build())\n .parameters(MLTransformParametersArgs.builder()\n .transformType(\"FIND_MATCHES\")\n .findMatchesParameters(MLTransformParametersFindMatchesParametersArgs.builder()\n .primaryKeyColumnName(\"my_column_1\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(testAwsIamRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:glue:MLTransform\n properties:\n name: example\n roleArn: ${testAwsIamRole.arn}\n inputRecordTables:\n - databaseName: ${testCatalogTable.databaseName}\n tableName: ${testCatalogTable.name}\n parameters:\n transformType: FIND_MATCHES\n findMatchesParameters:\n primaryKeyColumnName: my_column_1\n options:\n dependsOn:\n - ${testAwsIamRolePolicyAttachment}\n testCatalogDatabase:\n type: aws:glue:CatalogDatabase\n name: test\n properties:\n name: example\n testCatalogTable:\n type: aws:glue:CatalogTable\n name: test\n properties:\n name: example\n databaseName: ${testCatalogDatabase.name}\n owner: my_owner\n retention: 1\n tableType: VIRTUAL_VIEW\n viewExpandedText: view_expanded_text_1\n viewOriginalText: view_original_text_1\n storageDescriptor:\n bucketColumns:\n - bucket_column_1\n compressed: false\n inputFormat: SequenceFileInputFormat\n location: my_location\n numberOfBuckets: 1\n outputFormat: SequenceFileInputFormat\n storedAsSubDirectories: false\n parameters:\n param1: param1_val\n columns:\n - name: my_column_1\n type: int\n comment: my_column1_comment\n - name: my_column_2\n type: string\n comment: my_column2_comment\n serDeInfo:\n name: ser_de_name\n parameters:\n param1: param_val_1\n serializationLibrary: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\n sortColumns:\n - column: my_column_1\n sortOrder: 1\n skewedInfo:\n skewedColumnNames:\n - my_column_1\n skewedColumnValueLocationMaps:\n my_column_1: my_column_1_val_loc_map\n skewedColumnValues:\n - skewed_val_1\n partitionKeys:\n - name: my_column_1\n type: int\n comment: my_column_1_comment\n - name: my_column_2\n type: string\n comment: my_column_2_comment\n parameters:\n param1: param1_val\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue ML Transforms using `id`. For example:\n\n```sh\n$ pulumi import aws:glue/mLTransform:MLTransform example tfm-c2cafbe83b1c575f49eaca9939220e2fcd58e2d5\n```\n", + "description": "Provides a Glue ML Transform resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCatalogDatabase = new aws.glue.CatalogDatabase(\"test\", {name: \"example\"});\nconst testCatalogTable = new aws.glue.CatalogTable(\"test\", {\n name: \"example\",\n databaseName: testCatalogDatabase.name,\n owner: \"my_owner\",\n retention: 1,\n tableType: \"VIRTUAL_VIEW\",\n viewExpandedText: \"view_expanded_text_1\",\n viewOriginalText: \"view_original_text_1\",\n storageDescriptor: {\n bucketColumns: [\"bucket_column_1\"],\n compressed: false,\n inputFormat: \"SequenceFileInputFormat\",\n location: \"my_location\",\n numberOfBuckets: 1,\n outputFormat: \"SequenceFileInputFormat\",\n storedAsSubDirectories: false,\n parameters: {\n param1: \"param1_val\",\n },\n columns: [\n {\n name: \"my_column_1\",\n type: \"int\",\n comment: \"my_column1_comment\",\n },\n {\n name: \"my_column_2\",\n type: \"string\",\n comment: \"my_column2_comment\",\n },\n ],\n serDeInfo: {\n name: \"ser_de_name\",\n parameters: {\n param1: \"param_val_1\",\n },\n serializationLibrary: \"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\",\n },\n sortColumns: [{\n column: \"my_column_1\",\n sortOrder: 1,\n }],\n skewedInfo: {\n skewedColumnNames: [\"my_column_1\"],\n skewedColumnValueLocationMaps: {\n my_column_1: \"my_column_1_val_loc_map\",\n },\n skewedColumnValues: [\"skewed_val_1\"],\n },\n },\n partitionKeys: [\n {\n name: \"my_column_1\",\n type: \"int\",\n comment: \"my_column_1_comment\",\n },\n {\n name: \"my_column_2\",\n type: \"string\",\n comment: \"my_column_2_comment\",\n },\n ],\n parameters: {\n param1: \"param1_val\",\n },\n});\nconst test = new aws.glue.MLTransform(\"test\", {\n name: \"example\",\n roleArn: testAwsIamRole.arn,\n inputRecordTables: [{\n databaseName: testCatalogTable.databaseName,\n tableName: testCatalogTable.name,\n }],\n parameters: {\n transformType: \"FIND_MATCHES\",\n findMatchesParameters: {\n primaryKeyColumnName: \"my_column_1\",\n },\n },\n}, {\n dependsOn: [testAwsIamRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_catalog_database = aws.glue.CatalogDatabase(\"test\", name=\"example\")\ntest_catalog_table = aws.glue.CatalogTable(\"test\",\n name=\"example\",\n database_name=test_catalog_database.name,\n owner=\"my_owner\",\n retention=1,\n table_type=\"VIRTUAL_VIEW\",\n view_expanded_text=\"view_expanded_text_1\",\n view_original_text=\"view_original_text_1\",\n storage_descriptor={\n \"bucket_columns\": [\"bucket_column_1\"],\n \"compressed\": False,\n \"input_format\": \"SequenceFileInputFormat\",\n \"location\": \"my_location\",\n \"number_of_buckets\": 1,\n \"output_format\": \"SequenceFileInputFormat\",\n \"stored_as_sub_directories\": False,\n \"parameters\": {\n \"param1\": \"param1_val\",\n },\n \"columns\": [\n {\n \"name\": \"my_column_1\",\n \"type\": \"int\",\n \"comment\": \"my_column1_comment\",\n },\n {\n \"name\": \"my_column_2\",\n \"type\": \"string\",\n \"comment\": \"my_column2_comment\",\n },\n ],\n \"ser_de_info\": {\n \"name\": \"ser_de_name\",\n \"parameters\": {\n \"param1\": \"param_val_1\",\n },\n \"serialization_library\": \"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\",\n },\n \"sort_columns\": [{\n \"column\": \"my_column_1\",\n \"sort_order\": 1,\n }],\n \"skewed_info\": {\n \"skewed_column_names\": [\"my_column_1\"],\n \"skewed_column_value_location_maps\": {\n \"my_column_1\": \"my_column_1_val_loc_map\",\n },\n \"skewed_column_values\": [\"skewed_val_1\"],\n },\n },\n partition_keys=[\n {\n \"name\": \"my_column_1\",\n \"type\": \"int\",\n \"comment\": \"my_column_1_comment\",\n },\n {\n \"name\": \"my_column_2\",\n \"type\": \"string\",\n \"comment\": \"my_column_2_comment\",\n },\n ],\n parameters={\n \"param1\": \"param1_val\",\n })\ntest = aws.glue.MLTransform(\"test\",\n name=\"example\",\n role_arn=test_aws_iam_role[\"arn\"],\n input_record_tables=[{\n \"database_name\": test_catalog_table.database_name,\n \"table_name\": test_catalog_table.name,\n }],\n parameters={\n \"transform_type\": \"FIND_MATCHES\",\n \"find_matches_parameters\": {\n \"primary_key_column_name\": \"my_column_1\",\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[test_aws_iam_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCatalogDatabase = new Aws.Glue.CatalogDatabase(\"test\", new()\n {\n Name = \"example\",\n });\n\n var testCatalogTable = new Aws.Glue.CatalogTable(\"test\", new()\n {\n Name = \"example\",\n DatabaseName = testCatalogDatabase.Name,\n Owner = \"my_owner\",\n Retention = 1,\n TableType = \"VIRTUAL_VIEW\",\n ViewExpandedText = \"view_expanded_text_1\",\n ViewOriginalText = \"view_original_text_1\",\n StorageDescriptor = new Aws.Glue.Inputs.CatalogTableStorageDescriptorArgs\n {\n BucketColumns = new[]\n {\n \"bucket_column_1\",\n },\n Compressed = false,\n InputFormat = \"SequenceFileInputFormat\",\n Location = \"my_location\",\n NumberOfBuckets = 1,\n OutputFormat = \"SequenceFileInputFormat\",\n StoredAsSubDirectories = false,\n Parameters = \n {\n { \"param1\", \"param1_val\" },\n },\n Columns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_column_1\",\n Type = \"int\",\n Comment = \"my_column1_comment\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_column_2\",\n Type = \"string\",\n Comment = \"my_column2_comment\",\n },\n },\n SerDeInfo = new Aws.Glue.Inputs.CatalogTableStorageDescriptorSerDeInfoArgs\n {\n Name = \"ser_de_name\",\n Parameters = \n {\n { \"param1\", \"param_val_1\" },\n },\n SerializationLibrary = \"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\",\n },\n SortColumns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorSortColumnArgs\n {\n Column = \"my_column_1\",\n SortOrder = 1,\n },\n },\n SkewedInfo = new Aws.Glue.Inputs.CatalogTableStorageDescriptorSkewedInfoArgs\n {\n SkewedColumnNames = new[]\n {\n \"my_column_1\",\n },\n SkewedColumnValueLocationMaps = \n {\n { \"my_column_1\", \"my_column_1_val_loc_map\" },\n },\n SkewedColumnValues = new[]\n {\n \"skewed_val_1\",\n },\n },\n },\n PartitionKeys = new[]\n {\n new Aws.Glue.Inputs.CatalogTablePartitionKeyArgs\n {\n Name = \"my_column_1\",\n Type = \"int\",\n Comment = \"my_column_1_comment\",\n },\n new Aws.Glue.Inputs.CatalogTablePartitionKeyArgs\n {\n Name = \"my_column_2\",\n Type = \"string\",\n Comment = \"my_column_2_comment\",\n },\n },\n Parameters = \n {\n { \"param1\", \"param1_val\" },\n },\n });\n\n var test = new Aws.Glue.MLTransform(\"test\", new()\n {\n Name = \"example\",\n RoleArn = testAwsIamRole.Arn,\n InputRecordTables = new[]\n {\n new Aws.Glue.Inputs.MLTransformInputRecordTableArgs\n {\n DatabaseName = testCatalogTable.DatabaseName,\n TableName = testCatalogTable.Name,\n },\n },\n Parameters = new Aws.Glue.Inputs.MLTransformParametersArgs\n {\n TransformType = \"FIND_MATCHES\",\n FindMatchesParameters = new Aws.Glue.Inputs.MLTransformParametersFindMatchesParametersArgs\n {\n PrimaryKeyColumnName = \"my_column_1\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testAwsIamRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCatalogDatabase, err := glue.NewCatalogDatabase(ctx, \"test\", \u0026glue.CatalogDatabaseArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestCatalogTable, err := glue.NewCatalogTable(ctx, \"test\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDatabaseName: testCatalogDatabase.Name,\n\t\t\tOwner: pulumi.String(\"my_owner\"),\n\t\t\tRetention: pulumi.Int(1),\n\t\t\tTableType: pulumi.String(\"VIRTUAL_VIEW\"),\n\t\t\tViewExpandedText: pulumi.String(\"view_expanded_text_1\"),\n\t\t\tViewOriginalText: pulumi.String(\"view_original_text_1\"),\n\t\t\tStorageDescriptor: \u0026glue.CatalogTableStorageDescriptorArgs{\n\t\t\t\tBucketColumns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bucket_column_1\"),\n\t\t\t\t},\n\t\t\t\tCompressed: pulumi.Bool(false),\n\t\t\t\tInputFormat: pulumi.String(\"SequenceFileInputFormat\"),\n\t\t\t\tLocation: pulumi.String(\"my_location\"),\n\t\t\t\tNumberOfBuckets: pulumi.Int(1),\n\t\t\t\tOutputFormat: pulumi.String(\"SequenceFileInputFormat\"),\n\t\t\t\tStoredAsSubDirectories: pulumi.Bool(false),\n\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\"param1\": pulumi.String(\"param1_val\"),\n\t\t\t\t},\n\t\t\t\tColumns: glue.CatalogTableStorageDescriptorColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_column_1\"),\n\t\t\t\t\t\tType: pulumi.String(\"int\"),\n\t\t\t\t\t\tComment: pulumi.String(\"my_column1_comment\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_column_2\"),\n\t\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\t\tComment: pulumi.String(\"my_column2_comment\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSerDeInfo: \u0026glue.CatalogTableStorageDescriptorSerDeInfoArgs{\n\t\t\t\t\tName: pulumi.String(\"ser_de_name\"),\n\t\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"param1\": pulumi.String(\"param_val_1\"),\n\t\t\t\t\t},\n\t\t\t\t\tSerializationLibrary: pulumi.String(\"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\"),\n\t\t\t\t},\n\t\t\t\tSortColumns: glue.CatalogTableStorageDescriptorSortColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorSortColumnArgs{\n\t\t\t\t\t\tColumn: pulumi.String(\"my_column_1\"),\n\t\t\t\t\t\tSortOrder: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSkewedInfo: \u0026glue.CatalogTableStorageDescriptorSkewedInfoArgs{\n\t\t\t\t\tSkewedColumnNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"my_column_1\"),\n\t\t\t\t\t},\n\t\t\t\t\tSkewedColumnValueLocationMaps: pulumi.StringMap{\n\t\t\t\t\t\t\"my_column_1\": pulumi.String(\"my_column_1_val_loc_map\"),\n\t\t\t\t\t},\n\t\t\t\t\tSkewedColumnValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"skewed_val_1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPartitionKeys: glue.CatalogTablePartitionKeyArray{\n\t\t\t\t\u0026glue.CatalogTablePartitionKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"my_column_1\"),\n\t\t\t\t\tType: pulumi.String(\"int\"),\n\t\t\t\t\tComment: pulumi.String(\"my_column_1_comment\"),\n\t\t\t\t},\n\t\t\t\t\u0026glue.CatalogTablePartitionKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"my_column_2\"),\n\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\tComment: pulumi.String(\"my_column_2_comment\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"param1\": pulumi.String(\"param1_val\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewMLTransform(ctx, \"test\", \u0026glue.MLTransformArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(testAwsIamRole.Arn),\n\t\t\tInputRecordTables: glue.MLTransformInputRecordTableArray{\n\t\t\t\t\u0026glue.MLTransformInputRecordTableArgs{\n\t\t\t\t\tDatabaseName: testCatalogTable.DatabaseName,\n\t\t\t\t\tTableName: testCatalogTable.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t\tParameters: \u0026glue.MLTransformParametersArgs{\n\t\t\t\tTransformType: pulumi.String(\"FIND_MATCHES\"),\n\t\t\t\tFindMatchesParameters: \u0026glue.MLTransformParametersFindMatchesParametersArgs{\n\t\t\t\t\tPrimaryKeyColumnName: pulumi.String(\"my_column_1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAwsIamRolePolicyAttachment,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.CatalogDatabase;\nimport com.pulumi.aws.glue.CatalogDatabaseArgs;\nimport com.pulumi.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorSerDeInfoArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorSkewedInfoArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTablePartitionKeyArgs;\nimport com.pulumi.aws.glue.MLTransform;\nimport com.pulumi.aws.glue.MLTransformArgs;\nimport com.pulumi.aws.glue.inputs.MLTransformInputRecordTableArgs;\nimport com.pulumi.aws.glue.inputs.MLTransformParametersArgs;\nimport com.pulumi.aws.glue.inputs.MLTransformParametersFindMatchesParametersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCatalogDatabase = new CatalogDatabase(\"testCatalogDatabase\", CatalogDatabaseArgs.builder()\n .name(\"example\")\n .build());\n\n var testCatalogTable = new CatalogTable(\"testCatalogTable\", CatalogTableArgs.builder()\n .name(\"example\")\n .databaseName(testCatalogDatabase.name())\n .owner(\"my_owner\")\n .retention(1)\n .tableType(\"VIRTUAL_VIEW\")\n .viewExpandedText(\"view_expanded_text_1\")\n .viewOriginalText(\"view_original_text_1\")\n .storageDescriptor(CatalogTableStorageDescriptorArgs.builder()\n .bucketColumns(\"bucket_column_1\")\n .compressed(false)\n .inputFormat(\"SequenceFileInputFormat\")\n .location(\"my_location\")\n .numberOfBuckets(1)\n .outputFormat(\"SequenceFileInputFormat\")\n .storedAsSubDirectories(false)\n .parameters(Map.of(\"param1\", \"param1_val\"))\n .columns( \n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_column_1\")\n .type(\"int\")\n .comment(\"my_column1_comment\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_column_2\")\n .type(\"string\")\n .comment(\"my_column2_comment\")\n .build())\n .serDeInfo(CatalogTableStorageDescriptorSerDeInfoArgs.builder()\n .name(\"ser_de_name\")\n .parameters(Map.of(\"param1\", \"param_val_1\"))\n .serializationLibrary(\"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\")\n .build())\n .sortColumns(CatalogTableStorageDescriptorSortColumnArgs.builder()\n .column(\"my_column_1\")\n .sortOrder(1)\n .build())\n .skewedInfo(CatalogTableStorageDescriptorSkewedInfoArgs.builder()\n .skewedColumnNames(\"my_column_1\")\n .skewedColumnValueLocationMaps(Map.of(\"my_column_1\", \"my_column_1_val_loc_map\"))\n .skewedColumnValues(\"skewed_val_1\")\n .build())\n .build())\n .partitionKeys( \n CatalogTablePartitionKeyArgs.builder()\n .name(\"my_column_1\")\n .type(\"int\")\n .comment(\"my_column_1_comment\")\n .build(),\n CatalogTablePartitionKeyArgs.builder()\n .name(\"my_column_2\")\n .type(\"string\")\n .comment(\"my_column_2_comment\")\n .build())\n .parameters(Map.of(\"param1\", \"param1_val\"))\n .build());\n\n var test = new MLTransform(\"test\", MLTransformArgs.builder()\n .name(\"example\")\n .roleArn(testAwsIamRole.arn())\n .inputRecordTables(MLTransformInputRecordTableArgs.builder()\n .databaseName(testCatalogTable.databaseName())\n .tableName(testCatalogTable.name())\n .build())\n .parameters(MLTransformParametersArgs.builder()\n .transformType(\"FIND_MATCHES\")\n .findMatchesParameters(MLTransformParametersFindMatchesParametersArgs.builder()\n .primaryKeyColumnName(\"my_column_1\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(testAwsIamRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:glue:MLTransform\n properties:\n name: example\n roleArn: ${testAwsIamRole.arn}\n inputRecordTables:\n - databaseName: ${testCatalogTable.databaseName}\n tableName: ${testCatalogTable.name}\n parameters:\n transformType: FIND_MATCHES\n findMatchesParameters:\n primaryKeyColumnName: my_column_1\n options:\n dependson:\n - ${testAwsIamRolePolicyAttachment}\n testCatalogDatabase:\n type: aws:glue:CatalogDatabase\n name: test\n properties:\n name: example\n testCatalogTable:\n type: aws:glue:CatalogTable\n name: test\n properties:\n name: example\n databaseName: ${testCatalogDatabase.name}\n owner: my_owner\n retention: 1\n tableType: VIRTUAL_VIEW\n viewExpandedText: view_expanded_text_1\n viewOriginalText: view_original_text_1\n storageDescriptor:\n bucketColumns:\n - bucket_column_1\n compressed: false\n inputFormat: SequenceFileInputFormat\n location: my_location\n numberOfBuckets: 1\n outputFormat: SequenceFileInputFormat\n storedAsSubDirectories: false\n parameters:\n param1: param1_val\n columns:\n - name: my_column_1\n type: int\n comment: my_column1_comment\n - name: my_column_2\n type: string\n comment: my_column2_comment\n serDeInfo:\n name: ser_de_name\n parameters:\n param1: param_val_1\n serializationLibrary: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\n sortColumns:\n - column: my_column_1\n sortOrder: 1\n skewedInfo:\n skewedColumnNames:\n - my_column_1\n skewedColumnValueLocationMaps:\n my_column_1: my_column_1_val_loc_map\n skewedColumnValues:\n - skewed_val_1\n partitionKeys:\n - name: my_column_1\n type: int\n comment: my_column_1_comment\n - name: my_column_2\n type: string\n comment: my_column_2_comment\n parameters:\n param1: param1_val\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue ML Transforms using `id`. For example:\n\n```sh\n$ pulumi import aws:glue/mLTransform:MLTransform example tfm-c2cafbe83b1c575f49eaca9939220e2fcd58e2d5\n```\n", "properties": { "arn": { "type": "string", @@ -276032,7 +276032,7 @@ } }, "aws:glue/resourcePolicy:ResourcePolicy": { - "description": "Provides a Glue resource policy. Only one can exist per region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst currentGetRegion = aws.getRegion({});\nconst glue-example-policy = Promise.all([currentGetPartition, currentGetRegion, current]).then(([currentGetPartition, currentGetRegion, current]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"glue:CreateTable\"],\n resources: [`arn:${currentGetPartition.partition}:glue:${currentGetRegion.name}:${current.accountId}:*`],\n principals: [{\n identifiers: [\"*\"],\n type: \"AWS\",\n }],\n }],\n}));\nconst example = new aws.glue.ResourcePolicy(\"example\", {policy: glue_example_policy.then(glue_example_policy =\u003e glue_example_policy.json)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\ncurrent_get_region = aws.get_region()\nglue_example_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"glue:CreateTable\"],\n \"resources\": [f\"arn:{current_get_partition.partition}:glue:{current_get_region.name}:{current.account_id}:*\"],\n \"principals\": [{\n \"identifiers\": [\"*\"],\n \"type\": \"AWS\",\n }],\n}])\nexample = aws.glue.ResourcePolicy(\"example\", policy=glue_example_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var glue_example_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"glue:CreateTable\",\n },\n Resources = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:glue:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"*\",\n },\n Type = \"AWS\",\n },\n },\n },\n },\n });\n\n var example = new Aws.Glue.ResourcePolicy(\"example\", new()\n {\n Policy = glue_example_policy.Apply(glue_example_policy =\u003e glue_example_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tglue_example_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"glue:CreateTable\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:%v:glue:%v:%v:*\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"*\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewResourcePolicy(ctx, \"example\", \u0026glue.ResourcePolicyArgs{\n\t\t\tPolicy: pulumi.String(glue_example_policy.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.glue.ResourcePolicy;\nimport com.pulumi.aws.glue.ResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var glue-example-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"glue:CreateTable\")\n .resources(String.format(\"arn:%s:glue:%s:%s:*\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"*\")\n .type(\"AWS\")\n .build())\n .build())\n .build());\n\n var example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder()\n .policy(glue_example_policy.json())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:ResourcePolicy\n properties:\n policy: ${[\"glue-example-policy\"].json}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n currentGetPartition:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n currentGetRegion:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n glue-example-policy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - glue:CreateTable\n resources:\n - arn:${currentGetPartition.partition}:glue:${currentGetRegion.name}:${current.accountId}:*\n principals:\n - identifiers:\n - '*'\n type: AWS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Resource Policy using the account ID. For example:\n\n```sh\n$ pulumi import aws:glue/resourcePolicy:ResourcePolicy Test 12356789012\n```\n", + "description": "Provides a Glue resource policy. Only one can exist per region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst currentGetRegion = aws.getRegion({});\nconst glue-example-policy = Promise.all([currentGetPartition, currentGetRegion, current]).then(([currentGetPartition, currentGetRegion, current]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"glue:CreateTable\"],\n resources: [`arn:${currentGetPartition.partition}:glue:${currentGetRegion.name}:${current.accountId}:*`],\n principals: [{\n identifiers: [\"*\"],\n type: \"AWS\",\n }],\n }],\n}));\nconst example = new aws.glue.ResourcePolicy(\"example\", {policy: glue_example_policy.then(glue_example_policy =\u003e glue_example_policy.json)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\ncurrent_get_region = aws.get_region()\nglue_example_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"glue:CreateTable\"],\n \"resources\": [f\"arn:{current_get_partition.partition}:glue:{current_get_region.name}:{current.account_id}:*\"],\n \"principals\": [{\n \"identifiers\": [\"*\"],\n \"type\": \"AWS\",\n }],\n}])\nexample = aws.glue.ResourcePolicy(\"example\", policy=glue_example_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var glue_example_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"glue:CreateTable\",\n },\n Resources = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:glue:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"*\",\n },\n Type = \"AWS\",\n },\n },\n },\n },\n });\n\n var example = new Aws.Glue.ResourcePolicy(\"example\", new()\n {\n Policy = glue_example_policy.Apply(glue_example_policy =\u003e glue_example_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tglue_example_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"glue:CreateTable\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:%v:glue:%v:%v:*\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"*\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewResourcePolicy(ctx, \"example\", \u0026glue.ResourcePolicyArgs{\n\t\t\tPolicy: pulumi.String(glue_example_policy.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.glue.ResourcePolicy;\nimport com.pulumi.aws.glue.ResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var glue-example-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"glue:CreateTable\")\n .resources(String.format(\"arn:%s:glue:%s:%s:*\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"*\")\n .type(\"AWS\")\n .build())\n .build())\n .build());\n\n var example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder()\n .policy(glue_example_policy.json())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:ResourcePolicy\n properties:\n policy: ${[\"glue-example-policy\"].json}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n glue-example-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - glue:CreateTable\n resources:\n - arn:${currentGetPartition.partition}:glue:${currentGetRegion.name}:${current.accountId}:*\n principals:\n - identifiers:\n - '*'\n type: AWS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Resource Policy using the account ID. For example:\n\n```sh\n$ pulumi import aws:glue/resourcePolicy:ResourcePolicy Test 12356789012\n```\n", "properties": { "enableHybrid": { "type": "string", @@ -276793,7 +276793,7 @@ } }, "aws:grafana/licenseAssociation:LicenseAssociation": { - "description": "Provides an Amazon Managed Grafana workspace license association resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assume = new aws.iam.Role(\"assume\", {\n name: \"grafana-assume\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"grafana.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleWorkspace = new aws.grafana.Workspace(\"example\", {\n accountAccessType: \"CURRENT_ACCOUNT\",\n authenticationProviders: [\"SAML\"],\n permissionType: \"SERVICE_MANAGED\",\n roleArn: assume.arn,\n});\nconst example = new aws.grafana.LicenseAssociation(\"example\", {\n licenseType: \"ENTERPRISE_FREE_TRIAL\",\n workspaceId: exampleWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume = aws.iam.Role(\"assume\",\n name=\"grafana-assume\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"grafana.amazonaws.com\",\n },\n }],\n }))\nexample_workspace = aws.grafana.Workspace(\"example\",\n account_access_type=\"CURRENT_ACCOUNT\",\n authentication_providers=[\"SAML\"],\n permission_type=\"SERVICE_MANAGED\",\n role_arn=assume.arn)\nexample = aws.grafana.LicenseAssociation(\"example\",\n license_type=\"ENTERPRISE_FREE_TRIAL\",\n workspace_id=example_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assume = new Aws.Iam.Role(\"assume\", new()\n {\n Name = \"grafana-assume\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"grafana.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleWorkspace = new Aws.Grafana.Workspace(\"example\", new()\n {\n AccountAccessType = \"CURRENT_ACCOUNT\",\n AuthenticationProviders = new[]\n {\n \"SAML\",\n },\n PermissionType = \"SERVICE_MANAGED\",\n RoleArn = assume.Arn,\n });\n\n var example = new Aws.Grafana.LicenseAssociation(\"example\", new()\n {\n LicenseType = \"ENTERPRISE_FREE_TRIAL\",\n WorkspaceId = exampleWorkspace.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"grafana.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tassume, err := iam.NewRole(ctx, \"assume\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"grafana-assume\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := grafana.NewWorkspace(ctx, \"example\", \u0026grafana.WorkspaceArgs{\n\t\t\tAccountAccessType: pulumi.String(\"CURRENT_ACCOUNT\"),\n\t\t\tAuthenticationProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SAML\"),\n\t\t\t},\n\t\t\tPermissionType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tRoleArn: assume.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = grafana.NewLicenseAssociation(ctx, \"example\", \u0026grafana.LicenseAssociationArgs{\n\t\t\tLicenseType: pulumi.String(\"ENTERPRISE_FREE_TRIAL\"),\n\t\t\tWorkspaceId: exampleWorkspace.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.grafana.Workspace;\nimport com.pulumi.aws.grafana.WorkspaceArgs;\nimport com.pulumi.aws.grafana.LicenseAssociation;\nimport com.pulumi.aws.grafana.LicenseAssociationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var assume = new Role(\"assume\", RoleArgs.builder()\n .name(\"grafana-assume\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"grafana.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n .accountAccessType(\"CURRENT_ACCOUNT\")\n .authenticationProviders(\"SAML\")\n .permissionType(\"SERVICE_MANAGED\")\n .roleArn(assume.arn())\n .build());\n\n var example = new LicenseAssociation(\"example\", LicenseAssociationArgs.builder()\n .licenseType(\"ENTERPRISE_FREE_TRIAL\")\n .workspaceId(exampleWorkspace.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:grafana:LicenseAssociation\n properties:\n licenseType: ENTERPRISE_FREE_TRIAL\n workspaceId: ${exampleWorkspace.id}\n exampleWorkspace:\n type: aws:grafana:Workspace\n name: example\n properties:\n accountAccessType: CURRENT_ACCOUNT\n authenticationProviders:\n - SAML\n permissionType: SERVICE_MANAGED\n roleArn: ${assume.arn}\n assume:\n type: aws:iam:Role\n properties:\n name: grafana-assume\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid: \"\"\n Principal:\n Service: grafana.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Grafana workspace license association using the workspace's `id`. For example:\n\n```sh\n$ pulumi import aws:grafana/licenseAssociation:LicenseAssociation example g-2054c75a02\n```\n", + "description": "Provides an Amazon Managed Grafana workspace license association resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assume = new aws.iam.Role(\"assume\", {\n name: \"grafana-assume\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"grafana.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleWorkspace = new aws.grafana.Workspace(\"example\", {\n accountAccessType: \"CURRENT_ACCOUNT\",\n authenticationProviders: [\"SAML\"],\n permissionType: \"SERVICE_MANAGED\",\n roleArn: assume.arn,\n});\nconst example = new aws.grafana.LicenseAssociation(\"example\", {\n licenseType: \"ENTERPRISE_FREE_TRIAL\",\n workspaceId: exampleWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume = aws.iam.Role(\"assume\",\n name=\"grafana-assume\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"grafana.amazonaws.com\",\n },\n }],\n }))\nexample_workspace = aws.grafana.Workspace(\"example\",\n account_access_type=\"CURRENT_ACCOUNT\",\n authentication_providers=[\"SAML\"],\n permission_type=\"SERVICE_MANAGED\",\n role_arn=assume.arn)\nexample = aws.grafana.LicenseAssociation(\"example\",\n license_type=\"ENTERPRISE_FREE_TRIAL\",\n workspace_id=example_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assume = new Aws.Iam.Role(\"assume\", new()\n {\n Name = \"grafana-assume\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"grafana.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleWorkspace = new Aws.Grafana.Workspace(\"example\", new()\n {\n AccountAccessType = \"CURRENT_ACCOUNT\",\n AuthenticationProviders = new[]\n {\n \"SAML\",\n },\n PermissionType = \"SERVICE_MANAGED\",\n RoleArn = assume.Arn,\n });\n\n var example = new Aws.Grafana.LicenseAssociation(\"example\", new()\n {\n LicenseType = \"ENTERPRISE_FREE_TRIAL\",\n WorkspaceId = exampleWorkspace.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"grafana.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tassume, err := iam.NewRole(ctx, \"assume\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"grafana-assume\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := grafana.NewWorkspace(ctx, \"example\", \u0026grafana.WorkspaceArgs{\n\t\t\tAccountAccessType: pulumi.String(\"CURRENT_ACCOUNT\"),\n\t\t\tAuthenticationProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SAML\"),\n\t\t\t},\n\t\t\tPermissionType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tRoleArn: assume.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = grafana.NewLicenseAssociation(ctx, \"example\", \u0026grafana.LicenseAssociationArgs{\n\t\t\tLicenseType: pulumi.String(\"ENTERPRISE_FREE_TRIAL\"),\n\t\t\tWorkspaceId: exampleWorkspace.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.grafana.Workspace;\nimport com.pulumi.aws.grafana.WorkspaceArgs;\nimport com.pulumi.aws.grafana.LicenseAssociation;\nimport com.pulumi.aws.grafana.LicenseAssociationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var assume = new Role(\"assume\", RoleArgs.builder()\n .name(\"grafana-assume\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"grafana.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n .accountAccessType(\"CURRENT_ACCOUNT\")\n .authenticationProviders(\"SAML\")\n .permissionType(\"SERVICE_MANAGED\")\n .roleArn(assume.arn())\n .build());\n\n var example = new LicenseAssociation(\"example\", LicenseAssociationArgs.builder()\n .licenseType(\"ENTERPRISE_FREE_TRIAL\")\n .workspaceId(exampleWorkspace.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:grafana:LicenseAssociation\n properties:\n licenseType: ENTERPRISE_FREE_TRIAL\n workspaceId: ${exampleWorkspace.id}\n exampleWorkspace:\n type: aws:grafana:Workspace\n name: example\n properties:\n accountAccessType: CURRENT_ACCOUNT\n authenticationProviders:\n - SAML\n permissionType: SERVICE_MANAGED\n roleArn: ${assume.arn}\n assume:\n type: aws:iam:Role\n properties:\n name: grafana-assume\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: grafana.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Grafana workspace license association using the workspace's `id`. For example:\n\n```sh\n$ pulumi import aws:grafana/licenseAssociation:LicenseAssociation example g-2054c75a02\n```\n", "properties": { "freeTrialExpiration": { "type": "string", @@ -276874,7 +276874,7 @@ } }, "aws:grafana/roleAssociation:RoleAssociation": { - "description": "Provides an Amazon Managed Grafana workspace role association resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assume = new aws.iam.Role(\"assume\", {\n name: \"grafana-assume\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"grafana.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleWorkspace = new aws.grafana.Workspace(\"example\", {\n accountAccessType: \"CURRENT_ACCOUNT\",\n authenticationProviders: [\"SAML\"],\n permissionType: \"SERVICE_MANAGED\",\n roleArn: assume.arn,\n});\nconst example = new aws.grafana.RoleAssociation(\"example\", {\n role: \"ADMIN\",\n userIds: [\n \"USER_ID_1\",\n \"USER_ID_2\",\n ],\n workspaceId: exampleWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume = aws.iam.Role(\"assume\",\n name=\"grafana-assume\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"grafana.amazonaws.com\",\n },\n }],\n }))\nexample_workspace = aws.grafana.Workspace(\"example\",\n account_access_type=\"CURRENT_ACCOUNT\",\n authentication_providers=[\"SAML\"],\n permission_type=\"SERVICE_MANAGED\",\n role_arn=assume.arn)\nexample = aws.grafana.RoleAssociation(\"example\",\n role=\"ADMIN\",\n user_ids=[\n \"USER_ID_1\",\n \"USER_ID_2\",\n ],\n workspace_id=example_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assume = new Aws.Iam.Role(\"assume\", new()\n {\n Name = \"grafana-assume\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"grafana.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleWorkspace = new Aws.Grafana.Workspace(\"example\", new()\n {\n AccountAccessType = \"CURRENT_ACCOUNT\",\n AuthenticationProviders = new[]\n {\n \"SAML\",\n },\n PermissionType = \"SERVICE_MANAGED\",\n RoleArn = assume.Arn,\n });\n\n var example = new Aws.Grafana.RoleAssociation(\"example\", new()\n {\n Role = \"ADMIN\",\n UserIds = new[]\n {\n \"USER_ID_1\",\n \"USER_ID_2\",\n },\n WorkspaceId = exampleWorkspace.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"grafana.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tassume, err := iam.NewRole(ctx, \"assume\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"grafana-assume\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := grafana.NewWorkspace(ctx, \"example\", \u0026grafana.WorkspaceArgs{\n\t\t\tAccountAccessType: pulumi.String(\"CURRENT_ACCOUNT\"),\n\t\t\tAuthenticationProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SAML\"),\n\t\t\t},\n\t\t\tPermissionType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tRoleArn: assume.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = grafana.NewRoleAssociation(ctx, \"example\", \u0026grafana.RoleAssociationArgs{\n\t\t\tRole: pulumi.String(\"ADMIN\"),\n\t\t\tUserIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"USER_ID_1\"),\n\t\t\t\tpulumi.String(\"USER_ID_2\"),\n\t\t\t},\n\t\t\tWorkspaceId: exampleWorkspace.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.grafana.Workspace;\nimport com.pulumi.aws.grafana.WorkspaceArgs;\nimport com.pulumi.aws.grafana.RoleAssociation;\nimport com.pulumi.aws.grafana.RoleAssociationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var assume = new Role(\"assume\", RoleArgs.builder()\n .name(\"grafana-assume\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"grafana.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n .accountAccessType(\"CURRENT_ACCOUNT\")\n .authenticationProviders(\"SAML\")\n .permissionType(\"SERVICE_MANAGED\")\n .roleArn(assume.arn())\n .build());\n\n var example = new RoleAssociation(\"example\", RoleAssociationArgs.builder()\n .role(\"ADMIN\")\n .userIds( \n \"USER_ID_1\",\n \"USER_ID_2\")\n .workspaceId(exampleWorkspace.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:grafana:RoleAssociation\n properties:\n role: ADMIN\n userIds:\n - USER_ID_1\n - USER_ID_2\n workspaceId: ${exampleWorkspace.id}\n exampleWorkspace:\n type: aws:grafana:Workspace\n name: example\n properties:\n accountAccessType: CURRENT_ACCOUNT\n authenticationProviders:\n - SAML\n permissionType: SERVICE_MANAGED\n roleArn: ${assume.arn}\n assume:\n type: aws:iam:Role\n properties:\n name: grafana-assume\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid: \"\"\n Principal:\n Service: grafana.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an Amazon Managed Grafana workspace role association resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assume = new aws.iam.Role(\"assume\", {\n name: \"grafana-assume\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"grafana.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleWorkspace = new aws.grafana.Workspace(\"example\", {\n accountAccessType: \"CURRENT_ACCOUNT\",\n authenticationProviders: [\"SAML\"],\n permissionType: \"SERVICE_MANAGED\",\n roleArn: assume.arn,\n});\nconst example = new aws.grafana.RoleAssociation(\"example\", {\n role: \"ADMIN\",\n userIds: [\n \"USER_ID_1\",\n \"USER_ID_2\",\n ],\n workspaceId: exampleWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume = aws.iam.Role(\"assume\",\n name=\"grafana-assume\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"grafana.amazonaws.com\",\n },\n }],\n }))\nexample_workspace = aws.grafana.Workspace(\"example\",\n account_access_type=\"CURRENT_ACCOUNT\",\n authentication_providers=[\"SAML\"],\n permission_type=\"SERVICE_MANAGED\",\n role_arn=assume.arn)\nexample = aws.grafana.RoleAssociation(\"example\",\n role=\"ADMIN\",\n user_ids=[\n \"USER_ID_1\",\n \"USER_ID_2\",\n ],\n workspace_id=example_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assume = new Aws.Iam.Role(\"assume\", new()\n {\n Name = \"grafana-assume\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"grafana.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleWorkspace = new Aws.Grafana.Workspace(\"example\", new()\n {\n AccountAccessType = \"CURRENT_ACCOUNT\",\n AuthenticationProviders = new[]\n {\n \"SAML\",\n },\n PermissionType = \"SERVICE_MANAGED\",\n RoleArn = assume.Arn,\n });\n\n var example = new Aws.Grafana.RoleAssociation(\"example\", new()\n {\n Role = \"ADMIN\",\n UserIds = new[]\n {\n \"USER_ID_1\",\n \"USER_ID_2\",\n },\n WorkspaceId = exampleWorkspace.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"grafana.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tassume, err := iam.NewRole(ctx, \"assume\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"grafana-assume\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := grafana.NewWorkspace(ctx, \"example\", \u0026grafana.WorkspaceArgs{\n\t\t\tAccountAccessType: pulumi.String(\"CURRENT_ACCOUNT\"),\n\t\t\tAuthenticationProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SAML\"),\n\t\t\t},\n\t\t\tPermissionType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tRoleArn: assume.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = grafana.NewRoleAssociation(ctx, \"example\", \u0026grafana.RoleAssociationArgs{\n\t\t\tRole: pulumi.String(\"ADMIN\"),\n\t\t\tUserIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"USER_ID_1\"),\n\t\t\t\tpulumi.String(\"USER_ID_2\"),\n\t\t\t},\n\t\t\tWorkspaceId: exampleWorkspace.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.grafana.Workspace;\nimport com.pulumi.aws.grafana.WorkspaceArgs;\nimport com.pulumi.aws.grafana.RoleAssociation;\nimport com.pulumi.aws.grafana.RoleAssociationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var assume = new Role(\"assume\", RoleArgs.builder()\n .name(\"grafana-assume\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"grafana.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n .accountAccessType(\"CURRENT_ACCOUNT\")\n .authenticationProviders(\"SAML\")\n .permissionType(\"SERVICE_MANAGED\")\n .roleArn(assume.arn())\n .build());\n\n var example = new RoleAssociation(\"example\", RoleAssociationArgs.builder()\n .role(\"ADMIN\")\n .userIds( \n \"USER_ID_1\",\n \"USER_ID_2\")\n .workspaceId(exampleWorkspace.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:grafana:RoleAssociation\n properties:\n role: ADMIN\n userIds:\n - USER_ID_1\n - USER_ID_2\n workspaceId: ${exampleWorkspace.id}\n exampleWorkspace:\n type: aws:grafana:Workspace\n name: example\n properties:\n accountAccessType: CURRENT_ACCOUNT\n authenticationProviders:\n - SAML\n permissionType: SERVICE_MANAGED\n roleArn: ${assume.arn}\n assume:\n type: aws:iam:Role\n properties:\n name: grafana-assume\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: grafana.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "groupIds": { "type": "array", @@ -276963,7 +276963,7 @@ } }, "aws:grafana/workspace:Workspace": { - "description": "Provides an Amazon Managed Grafana workspace resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assume = new aws.iam.Role(\"assume\", {\n name: \"grafana-assume\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"grafana.amazonaws.com\",\n },\n }],\n }),\n});\nconst example = new aws.grafana.Workspace(\"example\", {\n accountAccessType: \"CURRENT_ACCOUNT\",\n authenticationProviders: [\"SAML\"],\n permissionType: \"SERVICE_MANAGED\",\n roleArn: assume.arn,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume = aws.iam.Role(\"assume\",\n name=\"grafana-assume\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"grafana.amazonaws.com\",\n },\n }],\n }))\nexample = aws.grafana.Workspace(\"example\",\n account_access_type=\"CURRENT_ACCOUNT\",\n authentication_providers=[\"SAML\"],\n permission_type=\"SERVICE_MANAGED\",\n role_arn=assume.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assume = new Aws.Iam.Role(\"assume\", new()\n {\n Name = \"grafana-assume\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"grafana.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var example = new Aws.Grafana.Workspace(\"example\", new()\n {\n AccountAccessType = \"CURRENT_ACCOUNT\",\n AuthenticationProviders = new[]\n {\n \"SAML\",\n },\n PermissionType = \"SERVICE_MANAGED\",\n RoleArn = assume.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"grafana.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tassume, err := iam.NewRole(ctx, \"assume\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"grafana-assume\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = grafana.NewWorkspace(ctx, \"example\", \u0026grafana.WorkspaceArgs{\n\t\t\tAccountAccessType: pulumi.String(\"CURRENT_ACCOUNT\"),\n\t\t\tAuthenticationProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SAML\"),\n\t\t\t},\n\t\t\tPermissionType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tRoleArn: assume.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.grafana.Workspace;\nimport com.pulumi.aws.grafana.WorkspaceArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var assume = new Role(\"assume\", RoleArgs.builder()\n .name(\"grafana-assume\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"grafana.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var example = new Workspace(\"example\", WorkspaceArgs.builder()\n .accountAccessType(\"CURRENT_ACCOUNT\")\n .authenticationProviders(\"SAML\")\n .permissionType(\"SERVICE_MANAGED\")\n .roleArn(assume.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:grafana:Workspace\n properties:\n accountAccessType: CURRENT_ACCOUNT\n authenticationProviders:\n - SAML\n permissionType: SERVICE_MANAGED\n roleArn: ${assume.arn}\n assume:\n type: aws:iam:Role\n properties:\n name: grafana-assume\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid: \"\"\n Principal:\n Service: grafana.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Workspace configuration options\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.grafana.Workspace(\"example\", {\n accountAccessType: \"CURRENT_ACCOUNT\",\n authenticationProviders: [\"SAML\"],\n permissionType: \"SERVICE_MANAGED\",\n roleArn: assume.arn,\n configuration: JSON.stringify({\n plugins: {\n pluginAdminEnabled: true,\n },\n unifiedAlerting: {\n enabled: false,\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.grafana.Workspace(\"example\",\n account_access_type=\"CURRENT_ACCOUNT\",\n authentication_providers=[\"SAML\"],\n permission_type=\"SERVICE_MANAGED\",\n role_arn=assume[\"arn\"],\n configuration=json.dumps({\n \"plugins\": {\n \"pluginAdminEnabled\": True,\n },\n \"unifiedAlerting\": {\n \"enabled\": False,\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Grafana.Workspace(\"example\", new()\n {\n AccountAccessType = \"CURRENT_ACCOUNT\",\n AuthenticationProviders = new[]\n {\n \"SAML\",\n },\n PermissionType = \"SERVICE_MANAGED\",\n RoleArn = assume.Arn,\n Configuration = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"plugins\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"pluginAdminEnabled\"] = true,\n },\n [\"unifiedAlerting\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"enabled\"] = false,\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"plugins\": map[string]interface{}{\n\t\t\t\t\"pluginAdminEnabled\": true,\n\t\t\t},\n\t\t\t\"unifiedAlerting\": map[string]interface{}{\n\t\t\t\t\"enabled\": false,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = grafana.NewWorkspace(ctx, \"example\", \u0026grafana.WorkspaceArgs{\n\t\t\tAccountAccessType: pulumi.String(\"CURRENT_ACCOUNT\"),\n\t\t\tAuthenticationProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SAML\"),\n\t\t\t},\n\t\t\tPermissionType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tRoleArn: pulumi.Any(assume.Arn),\n\t\t\tConfiguration: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.grafana.Workspace;\nimport com.pulumi.aws.grafana.WorkspaceArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Workspace(\"example\", WorkspaceArgs.builder()\n .accountAccessType(\"CURRENT_ACCOUNT\")\n .authenticationProviders(\"SAML\")\n .permissionType(\"SERVICE_MANAGED\")\n .roleArn(assume.arn())\n .configuration(serializeJson(\n jsonObject(\n jsonProperty(\"plugins\", jsonObject(\n jsonProperty(\"pluginAdminEnabled\", true)\n )),\n jsonProperty(\"unifiedAlerting\", jsonObject(\n jsonProperty(\"enabled\", false)\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:grafana:Workspace\n properties:\n accountAccessType: CURRENT_ACCOUNT\n authenticationProviders:\n - SAML\n permissionType: SERVICE_MANAGED\n roleArn: ${assume.arn}\n configuration:\n fn::toJSON:\n plugins:\n pluginAdminEnabled: true\n unifiedAlerting:\n enabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe optional argument `configuration` is a JSON string that enables the unified `Grafana Alerting` (Grafana version 10 or newer) and `Plugins Management` (Grafana version 9 or newer) on the Grafana Workspaces.\n\nFor more information about using Grafana alerting, and the effects of turning it on or off, see [Alerts in Grafana version 10](https://docs.aws.amazon.com/grafana/latest/userguide/v10-alerts.html).\n\n## Import\n\nUsing `pulumi import`, import Grafana Workspace using the workspace's `id`. For example:\n\n```sh\n$ pulumi import aws:grafana/workspace:Workspace example g-2054c75a02\n```\n", + "description": "Provides an Amazon Managed Grafana workspace resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assume = new aws.iam.Role(\"assume\", {\n name: \"grafana-assume\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"grafana.amazonaws.com\",\n },\n }],\n }),\n});\nconst example = new aws.grafana.Workspace(\"example\", {\n accountAccessType: \"CURRENT_ACCOUNT\",\n authenticationProviders: [\"SAML\"],\n permissionType: \"SERVICE_MANAGED\",\n roleArn: assume.arn,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume = aws.iam.Role(\"assume\",\n name=\"grafana-assume\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"grafana.amazonaws.com\",\n },\n }],\n }))\nexample = aws.grafana.Workspace(\"example\",\n account_access_type=\"CURRENT_ACCOUNT\",\n authentication_providers=[\"SAML\"],\n permission_type=\"SERVICE_MANAGED\",\n role_arn=assume.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assume = new Aws.Iam.Role(\"assume\", new()\n {\n Name = \"grafana-assume\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"grafana.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var example = new Aws.Grafana.Workspace(\"example\", new()\n {\n AccountAccessType = \"CURRENT_ACCOUNT\",\n AuthenticationProviders = new[]\n {\n \"SAML\",\n },\n PermissionType = \"SERVICE_MANAGED\",\n RoleArn = assume.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"grafana.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tassume, err := iam.NewRole(ctx, \"assume\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"grafana-assume\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = grafana.NewWorkspace(ctx, \"example\", \u0026grafana.WorkspaceArgs{\n\t\t\tAccountAccessType: pulumi.String(\"CURRENT_ACCOUNT\"),\n\t\t\tAuthenticationProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SAML\"),\n\t\t\t},\n\t\t\tPermissionType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tRoleArn: assume.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.grafana.Workspace;\nimport com.pulumi.aws.grafana.WorkspaceArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var assume = new Role(\"assume\", RoleArgs.builder()\n .name(\"grafana-assume\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"grafana.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var example = new Workspace(\"example\", WorkspaceArgs.builder()\n .accountAccessType(\"CURRENT_ACCOUNT\")\n .authenticationProviders(\"SAML\")\n .permissionType(\"SERVICE_MANAGED\")\n .roleArn(assume.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:grafana:Workspace\n properties:\n accountAccessType: CURRENT_ACCOUNT\n authenticationProviders:\n - SAML\n permissionType: SERVICE_MANAGED\n roleArn: ${assume.arn}\n assume:\n type: aws:iam:Role\n properties:\n name: grafana-assume\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: grafana.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Workspace configuration options\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.grafana.Workspace(\"example\", {\n accountAccessType: \"CURRENT_ACCOUNT\",\n authenticationProviders: [\"SAML\"],\n permissionType: \"SERVICE_MANAGED\",\n roleArn: assume.arn,\n configuration: JSON.stringify({\n plugins: {\n pluginAdminEnabled: true,\n },\n unifiedAlerting: {\n enabled: false,\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.grafana.Workspace(\"example\",\n account_access_type=\"CURRENT_ACCOUNT\",\n authentication_providers=[\"SAML\"],\n permission_type=\"SERVICE_MANAGED\",\n role_arn=assume[\"arn\"],\n configuration=json.dumps({\n \"plugins\": {\n \"pluginAdminEnabled\": True,\n },\n \"unifiedAlerting\": {\n \"enabled\": False,\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Grafana.Workspace(\"example\", new()\n {\n AccountAccessType = \"CURRENT_ACCOUNT\",\n AuthenticationProviders = new[]\n {\n \"SAML\",\n },\n PermissionType = \"SERVICE_MANAGED\",\n RoleArn = assume.Arn,\n Configuration = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"plugins\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"pluginAdminEnabled\"] = true,\n },\n [\"unifiedAlerting\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"enabled\"] = false,\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"plugins\": map[string]interface{}{\n\t\t\t\t\"pluginAdminEnabled\": true,\n\t\t\t},\n\t\t\t\"unifiedAlerting\": map[string]interface{}{\n\t\t\t\t\"enabled\": false,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = grafana.NewWorkspace(ctx, \"example\", \u0026grafana.WorkspaceArgs{\n\t\t\tAccountAccessType: pulumi.String(\"CURRENT_ACCOUNT\"),\n\t\t\tAuthenticationProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SAML\"),\n\t\t\t},\n\t\t\tPermissionType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tRoleArn: pulumi.Any(assume.Arn),\n\t\t\tConfiguration: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.grafana.Workspace;\nimport com.pulumi.aws.grafana.WorkspaceArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Workspace(\"example\", WorkspaceArgs.builder()\n .accountAccessType(\"CURRENT_ACCOUNT\")\n .authenticationProviders(\"SAML\")\n .permissionType(\"SERVICE_MANAGED\")\n .roleArn(assume.arn())\n .configuration(serializeJson(\n jsonObject(\n jsonProperty(\"plugins\", jsonObject(\n jsonProperty(\"pluginAdminEnabled\", true)\n )),\n jsonProperty(\"unifiedAlerting\", jsonObject(\n jsonProperty(\"enabled\", false)\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:grafana:Workspace\n properties:\n accountAccessType: CURRENT_ACCOUNT\n authenticationProviders:\n - SAML\n permissionType: SERVICE_MANAGED\n roleArn: ${assume.arn}\n configuration:\n fn::toJSON:\n plugins:\n pluginAdminEnabled: true\n unifiedAlerting:\n enabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe optional argument `configuration` is a JSON string that enables the unified `Grafana Alerting` (Grafana version 10 or newer) and `Plugins Management` (Grafana version 9 or newer) on the Grafana Workspaces.\n\nFor more information about using Grafana alerting, and the effects of turning it on or off, see [Alerts in Grafana version 10](https://docs.aws.amazon.com/grafana/latest/userguide/v10-alerts.html).\n\n## Import\n\nUsing `pulumi import`, import Grafana Workspace using the workspace's `id`. For example:\n\n```sh\n$ pulumi import aws:grafana/workspace:Workspace example g-2054c75a02\n```\n", "properties": { "accountAccessType": { "type": "string", @@ -277360,7 +277360,7 @@ } }, "aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration": { - "description": "Provides an Amazon Managed Grafana workspace SAML configuration resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assume = new aws.iam.Role(\"assume\", {\n name: \"grafana-assume\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"grafana.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleWorkspace = new aws.grafana.Workspace(\"example\", {\n accountAccessType: \"CURRENT_ACCOUNT\",\n authenticationProviders: [\"SAML\"],\n permissionType: \"SERVICE_MANAGED\",\n roleArn: assume.arn,\n});\nconst example = new aws.grafana.WorkspaceSamlConfiguration(\"example\", {\n editorRoleValues: [\"editor\"],\n idpMetadataUrl: \"https://my_idp_metadata.url\",\n workspaceId: exampleWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume = aws.iam.Role(\"assume\",\n name=\"grafana-assume\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"grafana.amazonaws.com\",\n },\n }],\n }))\nexample_workspace = aws.grafana.Workspace(\"example\",\n account_access_type=\"CURRENT_ACCOUNT\",\n authentication_providers=[\"SAML\"],\n permission_type=\"SERVICE_MANAGED\",\n role_arn=assume.arn)\nexample = aws.grafana.WorkspaceSamlConfiguration(\"example\",\n editor_role_values=[\"editor\"],\n idp_metadata_url=\"https://my_idp_metadata.url\",\n workspace_id=example_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assume = new Aws.Iam.Role(\"assume\", new()\n {\n Name = \"grafana-assume\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"grafana.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleWorkspace = new Aws.Grafana.Workspace(\"example\", new()\n {\n AccountAccessType = \"CURRENT_ACCOUNT\",\n AuthenticationProviders = new[]\n {\n \"SAML\",\n },\n PermissionType = \"SERVICE_MANAGED\",\n RoleArn = assume.Arn,\n });\n\n var example = new Aws.Grafana.WorkspaceSamlConfiguration(\"example\", new()\n {\n EditorRoleValues = new[]\n {\n \"editor\",\n },\n IdpMetadataUrl = \"https://my_idp_metadata.url\",\n WorkspaceId = exampleWorkspace.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"grafana.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tassume, err := iam.NewRole(ctx, \"assume\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"grafana-assume\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := grafana.NewWorkspace(ctx, \"example\", \u0026grafana.WorkspaceArgs{\n\t\t\tAccountAccessType: pulumi.String(\"CURRENT_ACCOUNT\"),\n\t\t\tAuthenticationProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SAML\"),\n\t\t\t},\n\t\t\tPermissionType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tRoleArn: assume.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = grafana.NewWorkspaceSamlConfiguration(ctx, \"example\", \u0026grafana.WorkspaceSamlConfigurationArgs{\n\t\t\tEditorRoleValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"editor\"),\n\t\t\t},\n\t\t\tIdpMetadataUrl: pulumi.String(\"https://my_idp_metadata.url\"),\n\t\t\tWorkspaceId: exampleWorkspace.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.grafana.Workspace;\nimport com.pulumi.aws.grafana.WorkspaceArgs;\nimport com.pulumi.aws.grafana.WorkspaceSamlConfiguration;\nimport com.pulumi.aws.grafana.WorkspaceSamlConfigurationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var assume = new Role(\"assume\", RoleArgs.builder()\n .name(\"grafana-assume\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"grafana.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n .accountAccessType(\"CURRENT_ACCOUNT\")\n .authenticationProviders(\"SAML\")\n .permissionType(\"SERVICE_MANAGED\")\n .roleArn(assume.arn())\n .build());\n\n var example = new WorkspaceSamlConfiguration(\"example\", WorkspaceSamlConfigurationArgs.builder()\n .editorRoleValues(\"editor\")\n .idpMetadataUrl(\"https://my_idp_metadata.url\")\n .workspaceId(exampleWorkspace.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:grafana:WorkspaceSamlConfiguration\n properties:\n editorRoleValues:\n - editor\n idpMetadataUrl: https://my_idp_metadata.url\n workspaceId: ${exampleWorkspace.id}\n exampleWorkspace:\n type: aws:grafana:Workspace\n name: example\n properties:\n accountAccessType: CURRENT_ACCOUNT\n authenticationProviders:\n - SAML\n permissionType: SERVICE_MANAGED\n roleArn: ${assume.arn}\n assume:\n type: aws:iam:Role\n properties:\n name: grafana-assume\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid: \"\"\n Principal:\n Service: grafana.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Grafana Workspace SAML configuration using the workspace's `id`. For example:\n\n```sh\n$ pulumi import aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration example g-2054c75a02\n```\n", + "description": "Provides an Amazon Managed Grafana workspace SAML configuration resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assume = new aws.iam.Role(\"assume\", {\n name: \"grafana-assume\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"grafana.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleWorkspace = new aws.grafana.Workspace(\"example\", {\n accountAccessType: \"CURRENT_ACCOUNT\",\n authenticationProviders: [\"SAML\"],\n permissionType: \"SERVICE_MANAGED\",\n roleArn: assume.arn,\n});\nconst example = new aws.grafana.WorkspaceSamlConfiguration(\"example\", {\n editorRoleValues: [\"editor\"],\n idpMetadataUrl: \"https://my_idp_metadata.url\",\n workspaceId: exampleWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume = aws.iam.Role(\"assume\",\n name=\"grafana-assume\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"grafana.amazonaws.com\",\n },\n }],\n }))\nexample_workspace = aws.grafana.Workspace(\"example\",\n account_access_type=\"CURRENT_ACCOUNT\",\n authentication_providers=[\"SAML\"],\n permission_type=\"SERVICE_MANAGED\",\n role_arn=assume.arn)\nexample = aws.grafana.WorkspaceSamlConfiguration(\"example\",\n editor_role_values=[\"editor\"],\n idp_metadata_url=\"https://my_idp_metadata.url\",\n workspace_id=example_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assume = new Aws.Iam.Role(\"assume\", new()\n {\n Name = \"grafana-assume\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"grafana.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleWorkspace = new Aws.Grafana.Workspace(\"example\", new()\n {\n AccountAccessType = \"CURRENT_ACCOUNT\",\n AuthenticationProviders = new[]\n {\n \"SAML\",\n },\n PermissionType = \"SERVICE_MANAGED\",\n RoleArn = assume.Arn,\n });\n\n var example = new Aws.Grafana.WorkspaceSamlConfiguration(\"example\", new()\n {\n EditorRoleValues = new[]\n {\n \"editor\",\n },\n IdpMetadataUrl = \"https://my_idp_metadata.url\",\n WorkspaceId = exampleWorkspace.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"grafana.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tassume, err := iam.NewRole(ctx, \"assume\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"grafana-assume\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := grafana.NewWorkspace(ctx, \"example\", \u0026grafana.WorkspaceArgs{\n\t\t\tAccountAccessType: pulumi.String(\"CURRENT_ACCOUNT\"),\n\t\t\tAuthenticationProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SAML\"),\n\t\t\t},\n\t\t\tPermissionType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tRoleArn: assume.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = grafana.NewWorkspaceSamlConfiguration(ctx, \"example\", \u0026grafana.WorkspaceSamlConfigurationArgs{\n\t\t\tEditorRoleValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"editor\"),\n\t\t\t},\n\t\t\tIdpMetadataUrl: pulumi.String(\"https://my_idp_metadata.url\"),\n\t\t\tWorkspaceId: exampleWorkspace.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.grafana.Workspace;\nimport com.pulumi.aws.grafana.WorkspaceArgs;\nimport com.pulumi.aws.grafana.WorkspaceSamlConfiguration;\nimport com.pulumi.aws.grafana.WorkspaceSamlConfigurationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var assume = new Role(\"assume\", RoleArgs.builder()\n .name(\"grafana-assume\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"grafana.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n .accountAccessType(\"CURRENT_ACCOUNT\")\n .authenticationProviders(\"SAML\")\n .permissionType(\"SERVICE_MANAGED\")\n .roleArn(assume.arn())\n .build());\n\n var example = new WorkspaceSamlConfiguration(\"example\", WorkspaceSamlConfigurationArgs.builder()\n .editorRoleValues(\"editor\")\n .idpMetadataUrl(\"https://my_idp_metadata.url\")\n .workspaceId(exampleWorkspace.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:grafana:WorkspaceSamlConfiguration\n properties:\n editorRoleValues:\n - editor\n idpMetadataUrl: https://my_idp_metadata.url\n workspaceId: ${exampleWorkspace.id}\n exampleWorkspace:\n type: aws:grafana:Workspace\n name: example\n properties:\n accountAccessType: CURRENT_ACCOUNT\n authenticationProviders:\n - SAML\n permissionType: SERVICE_MANAGED\n roleArn: ${assume.arn}\n assume:\n type: aws:iam:Role\n properties:\n name: grafana-assume\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: grafana.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Grafana Workspace SAML configuration using the workspace's `id`. For example:\n\n```sh\n$ pulumi import aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration example g-2054c75a02\n```\n", "properties": { "adminRoleValues": { "type": "array", @@ -278236,7 +278236,7 @@ } }, "aws:guardduty/inviteAccepter:InviteAccepter": { - "description": "Provides a resource to accept a pending GuardDuty invite on creation, ensure the detector has the correct primary account on read, and disassociate with the primary account upon removal.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.guardduty.Detector(\"primary\", {});\nconst memberDetector = new aws.guardduty.Detector(\"member\", {});\nconst memberMember = new aws.guardduty.Member(\"member\", {\n accountId: memberDetector.accountId,\n detectorId: primary.id,\n email: \"required@example.com\",\n invite: true,\n});\nconst member = new aws.guardduty.InviteAccepter(\"member\", {\n detectorId: memberDetector.id,\n masterAccountId: primary.accountId,\n}, {\n dependsOn: [memberMember],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.guardduty.Detector(\"primary\")\nmember_detector = aws.guardduty.Detector(\"member\")\nmember_member = aws.guardduty.Member(\"member\",\n account_id=member_detector.account_id,\n detector_id=primary.id,\n email=\"required@example.com\",\n invite=True)\nmember = aws.guardduty.InviteAccepter(\"member\",\n detector_id=member_detector.id,\n master_account_id=primary.account_id,\n opts = pulumi.ResourceOptions(depends_on=[member_member]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.GuardDuty.Detector(\"primary\");\n\n var memberDetector = new Aws.GuardDuty.Detector(\"member\");\n\n var memberMember = new Aws.GuardDuty.Member(\"member\", new()\n {\n AccountId = memberDetector.AccountId,\n DetectorId = primary.Id,\n Email = \"required@example.com\",\n Invite = true,\n });\n\n var member = new Aws.GuardDuty.InviteAccepter(\"member\", new()\n {\n DetectorId = memberDetector.Id,\n MasterAccountId = primary.AccountId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n memberMember,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := guardduty.NewDetector(ctx, \"primary\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmemberDetector, err := guardduty.NewDetector(ctx, \"member\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmemberMember, err := guardduty.NewMember(ctx, \"member\", \u0026guardduty.MemberArgs{\n\t\t\tAccountId: memberDetector.AccountId,\n\t\t\tDetectorId: primary.ID(),\n\t\t\tEmail: pulumi.String(\"required@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewInviteAccepter(ctx, \"member\", \u0026guardduty.InviteAccepterArgs{\n\t\t\tDetectorId: memberDetector.ID(),\n\t\t\tMasterAccountId: primary.AccountId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tmemberMember,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.Member;\nimport com.pulumi.aws.guardduty.MemberArgs;\nimport com.pulumi.aws.guardduty.InviteAccepter;\nimport com.pulumi.aws.guardduty.InviteAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var primary = new Detector(\"primary\");\n\n var memberDetector = new Detector(\"memberDetector\");\n\n var memberMember = new Member(\"memberMember\", MemberArgs.builder()\n .accountId(memberDetector.accountId())\n .detectorId(primary.id())\n .email(\"required@example.com\")\n .invite(true)\n .build());\n\n var member = new InviteAccepter(\"member\", InviteAccepterArgs.builder()\n .detectorId(memberDetector.id())\n .masterAccountId(primary.accountId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(memberMember)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n member:\n type: aws:guardduty:InviteAccepter\n properties:\n detectorId: ${memberDetector.id}\n masterAccountId: ${primary.accountId}\n options:\n dependsOn:\n - ${memberMember}\n memberMember:\n type: aws:guardduty:Member\n name: member\n properties:\n accountId: ${memberDetector.accountId}\n detectorId: ${primary.id}\n email: required@example.com\n invite: true\n primary:\n type: aws:guardduty:Detector\n memberDetector:\n type: aws:guardduty:Detector\n name: member\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_guardduty_invite_accepter` using the member GuardDuty detector ID. For example:\n\n```sh\n$ pulumi import aws:guardduty/inviteAccepter:InviteAccepter member 00b00fd5aecc0ab60a708659477e9617\n```\n", + "description": "Provides a resource to accept a pending GuardDuty invite on creation, ensure the detector has the correct primary account on read, and disassociate with the primary account upon removal.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.guardduty.Detector(\"primary\", {});\nconst memberDetector = new aws.guardduty.Detector(\"member\", {});\nconst memberMember = new aws.guardduty.Member(\"member\", {\n accountId: memberDetector.accountId,\n detectorId: primary.id,\n email: \"required@example.com\",\n invite: true,\n});\nconst member = new aws.guardduty.InviteAccepter(\"member\", {\n detectorId: memberDetector.id,\n masterAccountId: primary.accountId,\n}, {\n dependsOn: [memberMember],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.guardduty.Detector(\"primary\")\nmember_detector = aws.guardduty.Detector(\"member\")\nmember_member = aws.guardduty.Member(\"member\",\n account_id=member_detector.account_id,\n detector_id=primary.id,\n email=\"required@example.com\",\n invite=True)\nmember = aws.guardduty.InviteAccepter(\"member\",\n detector_id=member_detector.id,\n master_account_id=primary.account_id,\n opts = pulumi.ResourceOptions(depends_on=[member_member]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.GuardDuty.Detector(\"primary\");\n\n var memberDetector = new Aws.GuardDuty.Detector(\"member\");\n\n var memberMember = new Aws.GuardDuty.Member(\"member\", new()\n {\n AccountId = memberDetector.AccountId,\n DetectorId = primary.Id,\n Email = \"required@example.com\",\n Invite = true,\n });\n\n var member = new Aws.GuardDuty.InviteAccepter(\"member\", new()\n {\n DetectorId = memberDetector.Id,\n MasterAccountId = primary.AccountId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n memberMember,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := guardduty.NewDetector(ctx, \"primary\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmemberDetector, err := guardduty.NewDetector(ctx, \"member\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmemberMember, err := guardduty.NewMember(ctx, \"member\", \u0026guardduty.MemberArgs{\n\t\t\tAccountId: memberDetector.AccountId,\n\t\t\tDetectorId: primary.ID(),\n\t\t\tEmail: pulumi.String(\"required@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewInviteAccepter(ctx, \"member\", \u0026guardduty.InviteAccepterArgs{\n\t\t\tDetectorId: memberDetector.ID(),\n\t\t\tMasterAccountId: primary.AccountId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tmemberMember,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.Member;\nimport com.pulumi.aws.guardduty.MemberArgs;\nimport com.pulumi.aws.guardduty.InviteAccepter;\nimport com.pulumi.aws.guardduty.InviteAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var primary = new Detector(\"primary\");\n\n var memberDetector = new Detector(\"memberDetector\");\n\n var memberMember = new Member(\"memberMember\", MemberArgs.builder()\n .accountId(memberDetector.accountId())\n .detectorId(primary.id())\n .email(\"required@example.com\")\n .invite(true)\n .build());\n\n var member = new InviteAccepter(\"member\", InviteAccepterArgs.builder()\n .detectorId(memberDetector.id())\n .masterAccountId(primary.accountId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(memberMember)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n member:\n type: aws:guardduty:InviteAccepter\n properties:\n detectorId: ${memberDetector.id}\n masterAccountId: ${primary.accountId}\n options:\n dependson:\n - ${memberMember}\n memberMember:\n type: aws:guardduty:Member\n name: member\n properties:\n accountId: ${memberDetector.accountId}\n detectorId: ${primary.id}\n email: required@example.com\n invite: true\n primary:\n type: aws:guardduty:Detector\n memberDetector:\n type: aws:guardduty:Detector\n name: member\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_guardduty_invite_accepter` using the member GuardDuty detector ID. For example:\n\n```sh\n$ pulumi import aws:guardduty/inviteAccepter:InviteAccepter member 00b00fd5aecc0ab60a708659477e9617\n```\n", "properties": { "detectorId": { "type": "string", @@ -278527,7 +278527,7 @@ } }, "aws:guardduty/organizationAdminAccount:OrganizationAdminAccount": { - "description": "Manages a GuardDuty Organization Admin Account. The AWS account utilizing this resource must be an Organizations primary account. More information about Organizations support in GuardDuty can be found in the [GuardDuty User Guide](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_organizations.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"guardduty.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleDetector = new aws.guardduty.Detector(\"example\", {});\nconst exampleOrganizationAdminAccount = new aws.guardduty.OrganizationAdminAccount(\"example\", {adminAccountId: \"123456789012\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"guardduty.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_detector = aws.guardduty.Detector(\"example\")\nexample_organization_admin_account = aws.guardduty.OrganizationAdminAccount(\"example\", admin_account_id=\"123456789012\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"guardduty.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleDetector = new Aws.GuardDuty.Detector(\"example\");\n\n var exampleOrganizationAdminAccount = new Aws.GuardDuty.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"guardduty.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewDetector(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewOrganizationAdminAccount(ctx, \"example\", \u0026guardduty.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.OrganizationAdminAccount;\nimport com.pulumi.aws.guardduty.OrganizationAdminAccountArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"guardduty.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleDetector = new Detector(\"exampleDetector\");\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder()\n .adminAccountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - guardduty.amazonaws.com\n featureSet: ALL\n exampleDetector:\n type: aws:guardduty:Detector\n name: example\n exampleOrganizationAdminAccount:\n type: aws:guardduty:OrganizationAdminAccount\n name: example\n properties:\n adminAccountId: '123456789012'\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GuardDuty Organization Admin Account using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:guardduty/organizationAdminAccount:OrganizationAdminAccount example 123456789012\n```\n", + "description": "Manages a GuardDuty Organization Admin Account. The AWS account utilizing this resource must be an Organizations primary account. More information about Organizations support in GuardDuty can be found in the [GuardDuty User Guide](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_organizations.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"guardduty.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleDetector = new aws.guardduty.Detector(\"example\", {});\nconst exampleOrganizationAdminAccount = new aws.guardduty.OrganizationAdminAccount(\"example\", {adminAccountId: \"123456789012\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"guardduty.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_detector = aws.guardduty.Detector(\"example\")\nexample_organization_admin_account = aws.guardduty.OrganizationAdminAccount(\"example\", admin_account_id=\"123456789012\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"guardduty.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleDetector = new Aws.GuardDuty.Detector(\"example\");\n\n var exampleOrganizationAdminAccount = new Aws.GuardDuty.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"guardduty.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewDetector(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewOrganizationAdminAccount(ctx, \"example\", \u0026guardduty.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.OrganizationAdminAccount;\nimport com.pulumi.aws.guardduty.OrganizationAdminAccountArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"guardduty.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleDetector = new Detector(\"exampleDetector\");\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder()\n .adminAccountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - guardduty.amazonaws.com\n featureSet: ALL\n exampleDetector:\n type: aws:guardduty:Detector\n name: example\n exampleOrganizationAdminAccount:\n type: aws:guardduty:OrganizationAdminAccount\n name: example\n properties:\n adminAccountId: '123456789012'\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GuardDuty Organization Admin Account using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:guardduty/organizationAdminAccount:OrganizationAdminAccount example 123456789012\n```\n", "properties": { "adminAccountId": { "type": "string", @@ -278720,7 +278720,7 @@ } }, "aws:guardduty/publishingDestination:PublishingDestination": { - "description": "Provides a resource to manage a GuardDuty PublishingDestination. Requires an existing GuardDuty Detector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetRegion = aws.getRegion({});\nconst gdBucket = new aws.s3.BucketV2(\"gd_bucket\", {\n bucket: \"example\",\n forceDestroy: true,\n});\nconst bucketPol = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n sid: \"Allow PutObject\",\n actions: [\"s3:PutObject\"],\n resources: [pulumi.interpolate`${gdBucket.arn}/*`],\n principals: [{\n type: \"Service\",\n identifiers: [\"guardduty.amazonaws.com\"],\n }],\n },\n {\n sid: \"Allow GetBucketLocation\",\n actions: [\"s3:GetBucketLocation\"],\n resources: [gdBucket.arn],\n principals: [{\n type: \"Service\",\n identifiers: [\"guardduty.amazonaws.com\"],\n }],\n },\n ],\n});\nconst kmsPol = Promise.all([currentGetRegion, current, currentGetRegion, current, current]).then(([currentGetRegion, current, currentGetRegion1, current1, current2]) =\u003e aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"Allow GuardDuty to encrypt findings\",\n actions: [\"kms:GenerateDataKey\"],\n resources: [`arn:aws:kms:${currentGetRegion.name}:${current.accountId}:key/*`],\n principals: [{\n type: \"Service\",\n identifiers: [\"guardduty.amazonaws.com\"],\n }],\n },\n {\n sid: \"Allow all users to modify/delete key (test only)\",\n actions: [\"kms:*\"],\n resources: [`arn:aws:kms:${currentGetRegion1.name}:${current1.accountId}:key/*`],\n principals: [{\n type: \"AWS\",\n identifiers: [`arn:aws:iam::${current2.accountId}:root`],\n }],\n },\n ],\n}));\nconst testGd = new aws.guardduty.Detector(\"test_gd\", {enable: true});\nconst gdBucketAcl = new aws.s3.BucketAclV2(\"gd_bucket_acl\", {\n bucket: gdBucket.id,\n acl: \"private\",\n});\nconst gdBucketPolicy = new aws.s3.BucketPolicy(\"gd_bucket_policy\", {\n bucket: gdBucket.id,\n policy: bucketPol.apply(bucketPol =\u003e bucketPol.json),\n});\nconst gdKey = new aws.kms.Key(\"gd_key\", {\n description: \"Temporary key for AccTest of TF\",\n deletionWindowInDays: 7,\n policy: kmsPol.then(kmsPol =\u003e kmsPol.json),\n});\nconst test = new aws.guardduty.PublishingDestination(\"test\", {\n detectorId: testGd.id,\n destinationArn: gdBucket.arn,\n kmsKeyArn: gdKey.arn,\n}, {\n dependsOn: [gdBucketPolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_region = aws.get_region()\ngd_bucket = aws.s3.BucketV2(\"gd_bucket\",\n bucket=\"example\",\n force_destroy=True)\nbucket_pol = aws.iam.get_policy_document_output(statements=[\n {\n \"sid\": \"Allow PutObject\",\n \"actions\": [\"s3:PutObject\"],\n \"resources\": [gd_bucket.arn.apply(lambda arn: f\"{arn}/*\")],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"guardduty.amazonaws.com\"],\n }],\n },\n {\n \"sid\": \"Allow GetBucketLocation\",\n \"actions\": [\"s3:GetBucketLocation\"],\n \"resources\": [gd_bucket.arn],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"guardduty.amazonaws.com\"],\n }],\n },\n])\nkms_pol = aws.iam.get_policy_document(statements=[\n {\n \"sid\": \"Allow GuardDuty to encrypt findings\",\n \"actions\": [\"kms:GenerateDataKey\"],\n \"resources\": [f\"arn:aws:kms:{current_get_region.name}:{current.account_id}:key/*\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"guardduty.amazonaws.com\"],\n }],\n },\n {\n \"sid\": \"Allow all users to modify/delete key (test only)\",\n \"actions\": [\"kms:*\"],\n \"resources\": [f\"arn:aws:kms:{current_get_region.name}:{current.account_id}:key/*\"],\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [f\"arn:aws:iam::{current.account_id}:root\"],\n }],\n },\n])\ntest_gd = aws.guardduty.Detector(\"test_gd\", enable=True)\ngd_bucket_acl = aws.s3.BucketAclV2(\"gd_bucket_acl\",\n bucket=gd_bucket.id,\n acl=\"private\")\ngd_bucket_policy = aws.s3.BucketPolicy(\"gd_bucket_policy\",\n bucket=gd_bucket.id,\n policy=bucket_pol.json)\ngd_key = aws.kms.Key(\"gd_key\",\n description=\"Temporary key for AccTest of TF\",\n deletion_window_in_days=7,\n policy=kms_pol.json)\ntest = aws.guardduty.PublishingDestination(\"test\",\n detector_id=test_gd.id,\n destination_arn=gd_bucket.arn,\n kms_key_arn=gd_key.arn,\n opts = pulumi.ResourceOptions(depends_on=[gd_bucket_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var gdBucket = new Aws.S3.BucketV2(\"gd_bucket\", new()\n {\n Bucket = \"example\",\n ForceDestroy = true,\n });\n\n var bucketPol = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Allow PutObject\",\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{gdBucket.Arn}/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"guardduty.amazonaws.com\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Allow GetBucketLocation\",\n Actions = new[]\n {\n \"s3:GetBucketLocation\",\n },\n Resources = new[]\n {\n gdBucket.Arn,\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"guardduty.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var kmsPol = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Allow GuardDuty to encrypt findings\",\n Actions = new[]\n {\n \"kms:GenerateDataKey\",\n },\n Resources = new[]\n {\n $\"arn:aws:kms:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:key/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"guardduty.amazonaws.com\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Allow all users to modify/delete key (test only)\",\n Actions = new[]\n {\n \"kms:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:kms:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:key/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n },\n },\n });\n\n var testGd = new Aws.GuardDuty.Detector(\"test_gd\", new()\n {\n Enable = true,\n });\n\n var gdBucketAcl = new Aws.S3.BucketAclV2(\"gd_bucket_acl\", new()\n {\n Bucket = gdBucket.Id,\n Acl = \"private\",\n });\n\n var gdBucketPolicy = new Aws.S3.BucketPolicy(\"gd_bucket_policy\", new()\n {\n Bucket = gdBucket.Id,\n Policy = bucketPol.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var gdKey = new Aws.Kms.Key(\"gd_key\", new()\n {\n Description = \"Temporary key for AccTest of TF\",\n DeletionWindowInDays = 7,\n Policy = kmsPol.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var test = new Aws.GuardDuty.PublishingDestination(\"test\", new()\n {\n DetectorId = testGd.Id,\n DestinationArn = gdBucket.Arn,\n KmsKeyArn = gdKey.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gdBucketPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgdBucket, err := s3.NewBucketV2(ctx, \"gd_bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucketPol := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"Allow PutObject\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tgdBucket.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"guardduty.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"Allow GetBucketLocation\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketLocation\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tgdBucket.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"guardduty.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tkmsPol, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Allow GuardDuty to encrypt findings\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:GenerateDataKey\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:kms:%v:%v:key/*\", currentGetRegion.Name, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"guardduty.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Allow all users to modify/delete key (test only)\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:kms:%v:%v:key/*\", currentGetRegion.Name, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestGd, err := guardduty.NewDetector(ctx, \"test_gd\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"gd_bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: gdBucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgdBucketPolicy, err := s3.NewBucketPolicy(ctx, \"gd_bucket_policy\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: gdBucket.ID(),\n\t\t\tPolicy: pulumi.String(bucketPol.ApplyT(func(bucketPol iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026bucketPol.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgdKey, err := kms.NewKey(ctx, \"gd_key\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Temporary key for AccTest of TF\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tPolicy: pulumi.String(kmsPol.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewPublishingDestination(ctx, \"test\", \u0026guardduty.PublishingDestinationArgs{\n\t\t\tDetectorId: testGd.ID(),\n\t\t\tDestinationArn: gdBucket.Arn,\n\t\t\tKmsKeyArn: gdKey.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgdBucketPolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.guardduty.PublishingDestination;\nimport com.pulumi.aws.guardduty.PublishingDestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n var gdBucket = new BucketV2(\"gdBucket\", BucketV2Args.builder()\n .bucket(\"example\")\n .forceDestroy(true)\n .build());\n\n final var bucketPol = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Allow PutObject\")\n .actions(\"s3:PutObject\")\n .resources(gdBucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"guardduty.amazonaws.com\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Allow GetBucketLocation\")\n .actions(\"s3:GetBucketLocation\")\n .resources(gdBucket.arn())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"guardduty.amazonaws.com\")\n .build())\n .build())\n .build());\n\n final var kmsPol = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Allow GuardDuty to encrypt findings\")\n .actions(\"kms:GenerateDataKey\")\n .resources(String.format(\"arn:aws:kms:%s:%s:key/*\", currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"guardduty.amazonaws.com\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Allow all users to modify/delete key (test only)\")\n .actions(\"kms:*\")\n .resources(String.format(\"arn:aws:kms:%s:%s:key/*\", currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .build())\n .build());\n\n var testGd = new Detector(\"testGd\", DetectorArgs.builder()\n .enable(true)\n .build());\n\n var gdBucketAcl = new BucketAclV2(\"gdBucketAcl\", BucketAclV2Args.builder()\n .bucket(gdBucket.id())\n .acl(\"private\")\n .build());\n\n var gdBucketPolicy = new BucketPolicy(\"gdBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(gdBucket.id())\n .policy(bucketPol.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(bucketPol -\u003e bucketPol.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var gdKey = new Key(\"gdKey\", KeyArgs.builder()\n .description(\"Temporary key for AccTest of TF\")\n .deletionWindowInDays(7)\n .policy(kmsPol.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var test = new PublishingDestination(\"test\", PublishingDestinationArgs.builder()\n .detectorId(testGd.id())\n .destinationArn(gdBucket.arn())\n .kmsKeyArn(gdKey.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(gdBucketPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testGd:\n type: aws:guardduty:Detector\n name: test_gd\n properties:\n enable: true\n gdBucket:\n type: aws:s3:BucketV2\n name: gd_bucket\n properties:\n bucket: example\n forceDestroy: true\n gdBucketAcl:\n type: aws:s3:BucketAclV2\n name: gd_bucket_acl\n properties:\n bucket: ${gdBucket.id}\n acl: private\n gdBucketPolicy:\n type: aws:s3:BucketPolicy\n name: gd_bucket_policy\n properties:\n bucket: ${gdBucket.id}\n policy: ${bucketPol.json}\n gdKey:\n type: aws:kms:Key\n name: gd_key\n properties:\n description: Temporary key for AccTest of TF\n deletionWindowInDays: 7\n policy: ${kmsPol.json}\n test:\n type: aws:guardduty:PublishingDestination\n properties:\n detectorId: ${testGd.id}\n destinationArn: ${gdBucket.arn}\n kmsKeyArn: ${gdKey.arn}\n options:\n dependsOn:\n - ${gdBucketPolicy}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n currentGetRegion:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n bucketPol:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: Allow PutObject\n actions:\n - s3:PutObject\n resources:\n - ${gdBucket.arn}/*\n principals:\n - type: Service\n identifiers:\n - guardduty.amazonaws.com\n - sid: Allow GetBucketLocation\n actions:\n - s3:GetBucketLocation\n resources:\n - ${gdBucket.arn}\n principals:\n - type: Service\n identifiers:\n - guardduty.amazonaws.com\n kmsPol:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: Allow GuardDuty to encrypt findings\n actions:\n - kms:GenerateDataKey\n resources:\n - arn:aws:kms:${currentGetRegion.name}:${current.accountId}:key/*\n principals:\n - type: Service\n identifiers:\n - guardduty.amazonaws.com\n - sid: Allow all users to modify/delete key (test only)\n actions:\n - kms:*\n resources:\n - arn:aws:kms:${currentGetRegion.name}:${current.accountId}:key/*\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** Please do not use this simple example for Bucket-Policy and KMS Key Policy in a production environment. It is much too open for such a use-case. Refer to the AWS documentation here: https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_exportfindings.html\n\n## Import\n\nUsing `pulumi import`, import GuardDuty PublishingDestination using the master GuardDuty detector ID and PublishingDestinationID. For example:\n\n```sh\n$ pulumi import aws:guardduty/publishingDestination:PublishingDestination test a4b86f26fa42e7e7cf0d1c333ea77777:a4b86f27a0e464e4a7e0516d242f1234\n```\n", + "description": "Provides a resource to manage a GuardDuty PublishingDestination. Requires an existing GuardDuty Detector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetRegion = aws.getRegion({});\nconst gdBucket = new aws.s3.BucketV2(\"gd_bucket\", {\n bucket: \"example\",\n forceDestroy: true,\n});\nconst bucketPol = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n sid: \"Allow PutObject\",\n actions: [\"s3:PutObject\"],\n resources: [pulumi.interpolate`${gdBucket.arn}/*`],\n principals: [{\n type: \"Service\",\n identifiers: [\"guardduty.amazonaws.com\"],\n }],\n },\n {\n sid: \"Allow GetBucketLocation\",\n actions: [\"s3:GetBucketLocation\"],\n resources: [gdBucket.arn],\n principals: [{\n type: \"Service\",\n identifiers: [\"guardduty.amazonaws.com\"],\n }],\n },\n ],\n});\nconst kmsPol = Promise.all([currentGetRegion, current, currentGetRegion, current, current]).then(([currentGetRegion, current, currentGetRegion1, current1, current2]) =\u003e aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"Allow GuardDuty to encrypt findings\",\n actions: [\"kms:GenerateDataKey\"],\n resources: [`arn:aws:kms:${currentGetRegion.name}:${current.accountId}:key/*`],\n principals: [{\n type: \"Service\",\n identifiers: [\"guardduty.amazonaws.com\"],\n }],\n },\n {\n sid: \"Allow all users to modify/delete key (test only)\",\n actions: [\"kms:*\"],\n resources: [`arn:aws:kms:${currentGetRegion1.name}:${current1.accountId}:key/*`],\n principals: [{\n type: \"AWS\",\n identifiers: [`arn:aws:iam::${current2.accountId}:root`],\n }],\n },\n ],\n}));\nconst testGd = new aws.guardduty.Detector(\"test_gd\", {enable: true});\nconst gdBucketAcl = new aws.s3.BucketAclV2(\"gd_bucket_acl\", {\n bucket: gdBucket.id,\n acl: \"private\",\n});\nconst gdBucketPolicy = new aws.s3.BucketPolicy(\"gd_bucket_policy\", {\n bucket: gdBucket.id,\n policy: bucketPol.apply(bucketPol =\u003e bucketPol.json),\n});\nconst gdKey = new aws.kms.Key(\"gd_key\", {\n description: \"Temporary key for AccTest of TF\",\n deletionWindowInDays: 7,\n policy: kmsPol.then(kmsPol =\u003e kmsPol.json),\n});\nconst test = new aws.guardduty.PublishingDestination(\"test\", {\n detectorId: testGd.id,\n destinationArn: gdBucket.arn,\n kmsKeyArn: gdKey.arn,\n}, {\n dependsOn: [gdBucketPolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_region = aws.get_region()\ngd_bucket = aws.s3.BucketV2(\"gd_bucket\",\n bucket=\"example\",\n force_destroy=True)\nbucket_pol = aws.iam.get_policy_document_output(statements=[\n {\n \"sid\": \"Allow PutObject\",\n \"actions\": [\"s3:PutObject\"],\n \"resources\": [gd_bucket.arn.apply(lambda arn: f\"{arn}/*\")],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"guardduty.amazonaws.com\"],\n }],\n },\n {\n \"sid\": \"Allow GetBucketLocation\",\n \"actions\": [\"s3:GetBucketLocation\"],\n \"resources\": [gd_bucket.arn],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"guardduty.amazonaws.com\"],\n }],\n },\n])\nkms_pol = aws.iam.get_policy_document(statements=[\n {\n \"sid\": \"Allow GuardDuty to encrypt findings\",\n \"actions\": [\"kms:GenerateDataKey\"],\n \"resources\": [f\"arn:aws:kms:{current_get_region.name}:{current.account_id}:key/*\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"guardduty.amazonaws.com\"],\n }],\n },\n {\n \"sid\": \"Allow all users to modify/delete key (test only)\",\n \"actions\": [\"kms:*\"],\n \"resources\": [f\"arn:aws:kms:{current_get_region.name}:{current.account_id}:key/*\"],\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [f\"arn:aws:iam::{current.account_id}:root\"],\n }],\n },\n])\ntest_gd = aws.guardduty.Detector(\"test_gd\", enable=True)\ngd_bucket_acl = aws.s3.BucketAclV2(\"gd_bucket_acl\",\n bucket=gd_bucket.id,\n acl=\"private\")\ngd_bucket_policy = aws.s3.BucketPolicy(\"gd_bucket_policy\",\n bucket=gd_bucket.id,\n policy=bucket_pol.json)\ngd_key = aws.kms.Key(\"gd_key\",\n description=\"Temporary key for AccTest of TF\",\n deletion_window_in_days=7,\n policy=kms_pol.json)\ntest = aws.guardduty.PublishingDestination(\"test\",\n detector_id=test_gd.id,\n destination_arn=gd_bucket.arn,\n kms_key_arn=gd_key.arn,\n opts = pulumi.ResourceOptions(depends_on=[gd_bucket_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var gdBucket = new Aws.S3.BucketV2(\"gd_bucket\", new()\n {\n Bucket = \"example\",\n ForceDestroy = true,\n });\n\n var bucketPol = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Allow PutObject\",\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{gdBucket.Arn}/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"guardduty.amazonaws.com\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Allow GetBucketLocation\",\n Actions = new[]\n {\n \"s3:GetBucketLocation\",\n },\n Resources = new[]\n {\n gdBucket.Arn,\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"guardduty.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var kmsPol = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Allow GuardDuty to encrypt findings\",\n Actions = new[]\n {\n \"kms:GenerateDataKey\",\n },\n Resources = new[]\n {\n $\"arn:aws:kms:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:key/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"guardduty.amazonaws.com\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Allow all users to modify/delete key (test only)\",\n Actions = new[]\n {\n \"kms:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:kms:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:key/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n },\n },\n });\n\n var testGd = new Aws.GuardDuty.Detector(\"test_gd\", new()\n {\n Enable = true,\n });\n\n var gdBucketAcl = new Aws.S3.BucketAclV2(\"gd_bucket_acl\", new()\n {\n Bucket = gdBucket.Id,\n Acl = \"private\",\n });\n\n var gdBucketPolicy = new Aws.S3.BucketPolicy(\"gd_bucket_policy\", new()\n {\n Bucket = gdBucket.Id,\n Policy = bucketPol.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var gdKey = new Aws.Kms.Key(\"gd_key\", new()\n {\n Description = \"Temporary key for AccTest of TF\",\n DeletionWindowInDays = 7,\n Policy = kmsPol.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var test = new Aws.GuardDuty.PublishingDestination(\"test\", new()\n {\n DetectorId = testGd.Id,\n DestinationArn = gdBucket.Arn,\n KmsKeyArn = gdKey.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gdBucketPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgdBucket, err := s3.NewBucketV2(ctx, \"gd_bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucketPol := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"Allow PutObject\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tgdBucket.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"guardduty.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"Allow GetBucketLocation\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketLocation\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tgdBucket.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"guardduty.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tkmsPol, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Allow GuardDuty to encrypt findings\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:GenerateDataKey\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:kms:%v:%v:key/*\", currentGetRegion.Name, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"guardduty.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Allow all users to modify/delete key (test only)\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:kms:%v:%v:key/*\", currentGetRegion.Name, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestGd, err := guardduty.NewDetector(ctx, \"test_gd\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"gd_bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: gdBucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgdBucketPolicy, err := s3.NewBucketPolicy(ctx, \"gd_bucket_policy\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: gdBucket.ID(),\n\t\t\tPolicy: pulumi.String(bucketPol.ApplyT(func(bucketPol iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026bucketPol.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgdKey, err := kms.NewKey(ctx, \"gd_key\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Temporary key for AccTest of TF\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tPolicy: pulumi.String(kmsPol.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewPublishingDestination(ctx, \"test\", \u0026guardduty.PublishingDestinationArgs{\n\t\t\tDetectorId: testGd.ID(),\n\t\t\tDestinationArn: gdBucket.Arn,\n\t\t\tKmsKeyArn: gdKey.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgdBucketPolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.guardduty.PublishingDestination;\nimport com.pulumi.aws.guardduty.PublishingDestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n var gdBucket = new BucketV2(\"gdBucket\", BucketV2Args.builder()\n .bucket(\"example\")\n .forceDestroy(true)\n .build());\n\n final var bucketPol = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Allow PutObject\")\n .actions(\"s3:PutObject\")\n .resources(gdBucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"guardduty.amazonaws.com\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Allow GetBucketLocation\")\n .actions(\"s3:GetBucketLocation\")\n .resources(gdBucket.arn())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"guardduty.amazonaws.com\")\n .build())\n .build())\n .build());\n\n final var kmsPol = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Allow GuardDuty to encrypt findings\")\n .actions(\"kms:GenerateDataKey\")\n .resources(String.format(\"arn:aws:kms:%s:%s:key/*\", currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"guardduty.amazonaws.com\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Allow all users to modify/delete key (test only)\")\n .actions(\"kms:*\")\n .resources(String.format(\"arn:aws:kms:%s:%s:key/*\", currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .build())\n .build());\n\n var testGd = new Detector(\"testGd\", DetectorArgs.builder()\n .enable(true)\n .build());\n\n var gdBucketAcl = new BucketAclV2(\"gdBucketAcl\", BucketAclV2Args.builder()\n .bucket(gdBucket.id())\n .acl(\"private\")\n .build());\n\n var gdBucketPolicy = new BucketPolicy(\"gdBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(gdBucket.id())\n .policy(bucketPol.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(bucketPol -\u003e bucketPol.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var gdKey = new Key(\"gdKey\", KeyArgs.builder()\n .description(\"Temporary key for AccTest of TF\")\n .deletionWindowInDays(7)\n .policy(kmsPol.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var test = new PublishingDestination(\"test\", PublishingDestinationArgs.builder()\n .detectorId(testGd.id())\n .destinationArn(gdBucket.arn())\n .kmsKeyArn(gdKey.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(gdBucketPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testGd:\n type: aws:guardduty:Detector\n name: test_gd\n properties:\n enable: true\n gdBucket:\n type: aws:s3:BucketV2\n name: gd_bucket\n properties:\n bucket: example\n forceDestroy: true\n gdBucketAcl:\n type: aws:s3:BucketAclV2\n name: gd_bucket_acl\n properties:\n bucket: ${gdBucket.id}\n acl: private\n gdBucketPolicy:\n type: aws:s3:BucketPolicy\n name: gd_bucket_policy\n properties:\n bucket: ${gdBucket.id}\n policy: ${bucketPol.json}\n gdKey:\n type: aws:kms:Key\n name: gd_key\n properties:\n description: Temporary key for AccTest of TF\n deletionWindowInDays: 7\n policy: ${kmsPol.json}\n test:\n type: aws:guardduty:PublishingDestination\n properties:\n detectorId: ${testGd.id}\n destinationArn: ${gdBucket.arn}\n kmsKeyArn: ${gdKey.arn}\n options:\n dependson:\n - ${gdBucketPolicy}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n bucketPol:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Allow PutObject\n actions:\n - s3:PutObject\n resources:\n - ${gdBucket.arn}/*\n principals:\n - type: Service\n identifiers:\n - guardduty.amazonaws.com\n - sid: Allow GetBucketLocation\n actions:\n - s3:GetBucketLocation\n resources:\n - ${gdBucket.arn}\n principals:\n - type: Service\n identifiers:\n - guardduty.amazonaws.com\n kmsPol:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Allow GuardDuty to encrypt findings\n actions:\n - kms:GenerateDataKey\n resources:\n - arn:aws:kms:${currentGetRegion.name}:${current.accountId}:key/*\n principals:\n - type: Service\n identifiers:\n - guardduty.amazonaws.com\n - sid: Allow all users to modify/delete key (test only)\n actions:\n - kms:*\n resources:\n - arn:aws:kms:${currentGetRegion.name}:${current.accountId}:key/*\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** Please do not use this simple example for Bucket-Policy and KMS Key Policy in a production environment. It is much too open for such a use-case. Refer to the AWS documentation here: https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_exportfindings.html\n\n## Import\n\nUsing `pulumi import`, import GuardDuty PublishingDestination using the master GuardDuty detector ID and PublishingDestinationID. For example:\n\n```sh\n$ pulumi import aws:guardduty/publishingDestination:PublishingDestination test a4b86f26fa42e7e7cf0d1c333ea77777:a4b86f27a0e464e4a7e0516d242f1234\n```\n", "properties": { "destinationArn": { "type": "string", @@ -278930,7 +278930,7 @@ } }, "aws:iam/accessKey:AccessKey": { - "description": "Provides an IAM access key. This is a set of credentials that allow API requests to be made as an IAM user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lbUser = new aws.iam.User(\"lb\", {\n name: \"loadbalancer\",\n path: \"/system/\",\n});\nconst lb = new aws.iam.AccessKey(\"lb\", {\n user: lbUser.name,\n pgpKey: \"keybase:some_person_that_exists\",\n});\nconst lbRo = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst lbRoUserPolicy = new aws.iam.UserPolicy(\"lb_ro\", {\n name: \"test\",\n user: lbUser.name,\n policy: lbRo.then(lbRo =\u003e lbRo.json),\n});\nexport const secret = lb.encryptedSecret;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb_user = aws.iam.User(\"lb\",\n name=\"loadbalancer\",\n path=\"/system/\")\nlb = aws.iam.AccessKey(\"lb\",\n user=lb_user.name,\n pgp_key=\"keybase:some_person_that_exists\")\nlb_ro = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"ec2:Describe*\"],\n \"resources\": [\"*\"],\n}])\nlb_ro_user_policy = aws.iam.UserPolicy(\"lb_ro\",\n name=\"test\",\n user=lb_user.name,\n policy=lb_ro.json)\npulumi.export(\"secret\", lb.encrypted_secret)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lbUser = new Aws.Iam.User(\"lb\", new()\n {\n Name = \"loadbalancer\",\n Path = \"/system/\",\n });\n\n var lb = new Aws.Iam.AccessKey(\"lb\", new()\n {\n User = lbUser.Name,\n PgpKey = \"keybase:some_person_that_exists\",\n });\n\n var lbRo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var lbRoUserPolicy = new Aws.Iam.UserPolicy(\"lb_ro\", new()\n {\n Name = \"test\",\n User = lbUser.Name,\n Policy = lbRo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"secret\"] = lb.EncryptedSecret,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlbUser, err := iam.NewUser(ctx, \"lb\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"loadbalancer\"),\n\t\t\tPath: pulumi.String(\"/system/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlb, err := iam.NewAccessKey(ctx, \"lb\", \u0026iam.AccessKeyArgs{\n\t\t\tUser: lbUser.Name,\n\t\t\tPgpKey: pulumi.String(\"keybase:some_person_that_exists\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlbRo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserPolicy(ctx, \"lb_ro\", \u0026iam.UserPolicyArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tUser: lbUser.Name,\n\t\t\tPolicy: pulumi.String(lbRo.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"secret\", lb.EncryptedSecret)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.AccessKey;\nimport com.pulumi.aws.iam.AccessKeyArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.UserPolicy;\nimport com.pulumi.aws.iam.UserPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var lbUser = new User(\"lbUser\", UserArgs.builder()\n .name(\"loadbalancer\")\n .path(\"/system/\")\n .build());\n\n var lb = new AccessKey(\"lb\", AccessKeyArgs.builder()\n .user(lbUser.name())\n .pgpKey(\"keybase:some_person_that_exists\")\n .build());\n\n final var lbRo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var lbRoUserPolicy = new UserPolicy(\"lbRoUserPolicy\", UserPolicyArgs.builder()\n .name(\"test\")\n .user(lbUser.name())\n .policy(lbRo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n ctx.export(\"secret\", lb.encryptedSecret());\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:iam:AccessKey\n properties:\n user: ${lbUser.name}\n pgpKey: keybase:some_person_that_exists\n lbUser:\n type: aws:iam:User\n name: lb\n properties:\n name: loadbalancer\n path: /system/\n lbRoUserPolicy:\n type: aws:iam:UserPolicy\n name: lb_ro\n properties:\n name: test\n user: ${lbUser.name}\n policy: ${lbRo.json}\nvariables:\n lbRo:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\noutputs:\n secret: ${lb.encryptedSecret}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.iam.User(\"test\", {\n name: \"test\",\n path: \"/test/\",\n});\nconst testAccessKey = new aws.iam.AccessKey(\"test\", {user: test.name});\nexport const awsIamSmtpPasswordV4 = testAccessKey.sesSmtpPasswordV4;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.iam.User(\"test\",\n name=\"test\",\n path=\"/test/\")\ntest_access_key = aws.iam.AccessKey(\"test\", user=test.name)\npulumi.export(\"awsIamSmtpPasswordV4\", test_access_key.ses_smtp_password_v4)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Iam.User(\"test\", new()\n {\n Name = \"test\",\n Path = \"/test/\",\n });\n\n var testAccessKey = new Aws.Iam.AccessKey(\"test\", new()\n {\n User = test.Name,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"awsIamSmtpPasswordV4\"] = testAccessKey.SesSmtpPasswordV4,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := iam.NewUser(ctx, \"test\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tPath: pulumi.String(\"/test/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestAccessKey, err := iam.NewAccessKey(ctx, \"test\", \u0026iam.AccessKeyArgs{\n\t\t\tUser: test.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"awsIamSmtpPasswordV4\", testAccessKey.SesSmtpPasswordV4)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.AccessKey;\nimport com.pulumi.aws.iam.AccessKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new User(\"test\", UserArgs.builder()\n .name(\"test\")\n .path(\"/test/\")\n .build());\n\n var testAccessKey = new AccessKey(\"testAccessKey\", AccessKeyArgs.builder()\n .user(test.name())\n .build());\n\n ctx.export(\"awsIamSmtpPasswordV4\", testAccessKey.sesSmtpPasswordV4());\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:iam:User\n properties:\n name: test\n path: /test/\n testAccessKey:\n type: aws:iam:AccessKey\n name: test\n properties:\n user: ${test.name}\noutputs:\n awsIamSmtpPasswordV4: ${testAccessKey.sesSmtpPasswordV4}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Access Keys using the identifier. For example:\n\n```sh\n$ pulumi import aws:iam/accessKey:AccessKey example AKIA1234567890\n```\nResource attributes such as `encrypted_secret`, `key_fingerprint`, `pgp_key`, `secret`, `ses_smtp_password_v4`, and `encrypted_ses_smtp_password_v4` are not available for imported resources as this information cannot be read from the IAM API.\n\n", + "description": "Provides an IAM access key. This is a set of credentials that allow API requests to be made as an IAM user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lbUser = new aws.iam.User(\"lb\", {\n name: \"loadbalancer\",\n path: \"/system/\",\n});\nconst lb = new aws.iam.AccessKey(\"lb\", {\n user: lbUser.name,\n pgpKey: \"keybase:some_person_that_exists\",\n});\nconst lbRo = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst lbRoUserPolicy = new aws.iam.UserPolicy(\"lb_ro\", {\n name: \"test\",\n user: lbUser.name,\n policy: lbRo.then(lbRo =\u003e lbRo.json),\n});\nexport const secret = lb.encryptedSecret;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb_user = aws.iam.User(\"lb\",\n name=\"loadbalancer\",\n path=\"/system/\")\nlb = aws.iam.AccessKey(\"lb\",\n user=lb_user.name,\n pgp_key=\"keybase:some_person_that_exists\")\nlb_ro = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"ec2:Describe*\"],\n \"resources\": [\"*\"],\n}])\nlb_ro_user_policy = aws.iam.UserPolicy(\"lb_ro\",\n name=\"test\",\n user=lb_user.name,\n policy=lb_ro.json)\npulumi.export(\"secret\", lb.encrypted_secret)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lbUser = new Aws.Iam.User(\"lb\", new()\n {\n Name = \"loadbalancer\",\n Path = \"/system/\",\n });\n\n var lb = new Aws.Iam.AccessKey(\"lb\", new()\n {\n User = lbUser.Name,\n PgpKey = \"keybase:some_person_that_exists\",\n });\n\n var lbRo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var lbRoUserPolicy = new Aws.Iam.UserPolicy(\"lb_ro\", new()\n {\n Name = \"test\",\n User = lbUser.Name,\n Policy = lbRo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"secret\"] = lb.EncryptedSecret,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlbUser, err := iam.NewUser(ctx, \"lb\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"loadbalancer\"),\n\t\t\tPath: pulumi.String(\"/system/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlb, err := iam.NewAccessKey(ctx, \"lb\", \u0026iam.AccessKeyArgs{\n\t\t\tUser: lbUser.Name,\n\t\t\tPgpKey: pulumi.String(\"keybase:some_person_that_exists\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlbRo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserPolicy(ctx, \"lb_ro\", \u0026iam.UserPolicyArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tUser: lbUser.Name,\n\t\t\tPolicy: pulumi.String(lbRo.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"secret\", lb.EncryptedSecret)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.AccessKey;\nimport com.pulumi.aws.iam.AccessKeyArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.UserPolicy;\nimport com.pulumi.aws.iam.UserPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var lbUser = new User(\"lbUser\", UserArgs.builder()\n .name(\"loadbalancer\")\n .path(\"/system/\")\n .build());\n\n var lb = new AccessKey(\"lb\", AccessKeyArgs.builder()\n .user(lbUser.name())\n .pgpKey(\"keybase:some_person_that_exists\")\n .build());\n\n final var lbRo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var lbRoUserPolicy = new UserPolicy(\"lbRoUserPolicy\", UserPolicyArgs.builder()\n .name(\"test\")\n .user(lbUser.name())\n .policy(lbRo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n ctx.export(\"secret\", lb.encryptedSecret());\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:iam:AccessKey\n properties:\n user: ${lbUser.name}\n pgpKey: keybase:some_person_that_exists\n lbUser:\n type: aws:iam:User\n name: lb\n properties:\n name: loadbalancer\n path: /system/\n lbRoUserPolicy:\n type: aws:iam:UserPolicy\n name: lb_ro\n properties:\n name: test\n user: ${lbUser.name}\n policy: ${lbRo.json}\nvariables:\n lbRo:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\noutputs:\n secret: ${lb.encryptedSecret}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.iam.User(\"test\", {\n name: \"test\",\n path: \"/test/\",\n});\nconst testAccessKey = new aws.iam.AccessKey(\"test\", {user: test.name});\nexport const awsIamSmtpPasswordV4 = testAccessKey.sesSmtpPasswordV4;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.iam.User(\"test\",\n name=\"test\",\n path=\"/test/\")\ntest_access_key = aws.iam.AccessKey(\"test\", user=test.name)\npulumi.export(\"awsIamSmtpPasswordV4\", test_access_key.ses_smtp_password_v4)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Iam.User(\"test\", new()\n {\n Name = \"test\",\n Path = \"/test/\",\n });\n\n var testAccessKey = new Aws.Iam.AccessKey(\"test\", new()\n {\n User = test.Name,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"awsIamSmtpPasswordV4\"] = testAccessKey.SesSmtpPasswordV4,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := iam.NewUser(ctx, \"test\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tPath: pulumi.String(\"/test/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestAccessKey, err := iam.NewAccessKey(ctx, \"test\", \u0026iam.AccessKeyArgs{\n\t\t\tUser: test.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"awsIamSmtpPasswordV4\", testAccessKey.SesSmtpPasswordV4)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.AccessKey;\nimport com.pulumi.aws.iam.AccessKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new User(\"test\", UserArgs.builder()\n .name(\"test\")\n .path(\"/test/\")\n .build());\n\n var testAccessKey = new AccessKey(\"testAccessKey\", AccessKeyArgs.builder()\n .user(test.name())\n .build());\n\n ctx.export(\"awsIamSmtpPasswordV4\", testAccessKey.sesSmtpPasswordV4());\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:iam:User\n properties:\n name: test\n path: /test/\n testAccessKey:\n type: aws:iam:AccessKey\n name: test\n properties:\n user: ${test.name}\noutputs:\n awsIamSmtpPasswordV4: ${testAccessKey.sesSmtpPasswordV4}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Access Keys using the identifier. For example:\n\n```sh\n$ pulumi import aws:iam/accessKey:AccessKey example AKIA1234567890\n```\nResource attributes such as `encrypted_secret`, `key_fingerprint`, `pgp_key`, `secret`, `ses_smtp_password_v4`, and `encrypted_ses_smtp_password_v4` are not available for imported resources as this information cannot be read from the IAM API.\n\n", "properties": { "createDate": { "type": "string", @@ -279636,7 +279636,7 @@ } }, "aws:iam/instanceProfile:InstanceProfile": { - "description": "Provides an IAM instance profile.\n\n\u003e **NOTE:** When managing instance profiles, remember that the `name` attribute must always be unique. This means that even if you have different `role` or `path` values, duplicating an existing instance profile `name` will lead to an `EntityAlreadyExists` error.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {\n name: \"test_role\",\n path: \"/\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testProfile = new aws.iam.InstanceProfile(\"test_profile\", {\n name: \"test_profile\",\n role: role.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"ec2.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nrole = aws.iam.Role(\"role\",\n name=\"test_role\",\n path=\"/\",\n assume_role_policy=assume_role.json)\ntest_profile = aws.iam.InstanceProfile(\"test_profile\",\n name=\"test_profile\",\n role=role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n Name = \"test_role\",\n Path = \"/\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testProfile = new Aws.Iam.InstanceProfile(\"test_profile\", new()\n {\n Name = \"test_profile\",\n Role = role.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test_role\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewInstanceProfile(ctx, \"test_profile\", \u0026iam.InstanceProfileArgs{\n\t\t\tName: pulumi.String(\"test_profile\"),\n\t\t\tRole: role.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.InstanceProfile;\nimport com.pulumi.aws.iam.InstanceProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"test_role\")\n .path(\"/\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testProfile = new InstanceProfile(\"testProfile\", InstanceProfileArgs.builder()\n .name(\"test_profile\")\n .role(role.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testProfile:\n type: aws:iam:InstanceProfile\n name: test_profile\n properties:\n name: test_profile\n role: ${role.name}\n role:\n type: aws:iam:Role\n properties:\n name: test_role\n path: /\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Instance Profiles using the `name`. For example:\n\n```sh\n$ pulumi import aws:iam/instanceProfile:InstanceProfile test_profile app-instance-profile-1\n```\n", + "description": "Provides an IAM instance profile.\n\n\u003e **NOTE:** When managing instance profiles, remember that the `name` attribute must always be unique. This means that even if you have different `role` or `path` values, duplicating an existing instance profile `name` will lead to an `EntityAlreadyExists` error.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {\n name: \"test_role\",\n path: \"/\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testProfile = new aws.iam.InstanceProfile(\"test_profile\", {\n name: \"test_profile\",\n role: role.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"ec2.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nrole = aws.iam.Role(\"role\",\n name=\"test_role\",\n path=\"/\",\n assume_role_policy=assume_role.json)\ntest_profile = aws.iam.InstanceProfile(\"test_profile\",\n name=\"test_profile\",\n role=role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n Name = \"test_role\",\n Path = \"/\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testProfile = new Aws.Iam.InstanceProfile(\"test_profile\", new()\n {\n Name = \"test_profile\",\n Role = role.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test_role\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewInstanceProfile(ctx, \"test_profile\", \u0026iam.InstanceProfileArgs{\n\t\t\tName: pulumi.String(\"test_profile\"),\n\t\t\tRole: role.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.InstanceProfile;\nimport com.pulumi.aws.iam.InstanceProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"test_role\")\n .path(\"/\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testProfile = new InstanceProfile(\"testProfile\", InstanceProfileArgs.builder()\n .name(\"test_profile\")\n .role(role.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testProfile:\n type: aws:iam:InstanceProfile\n name: test_profile\n properties:\n name: test_profile\n role: ${role.name}\n role:\n type: aws:iam:Role\n properties:\n name: test_role\n path: /\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Instance Profiles using the `name`. For example:\n\n```sh\n$ pulumi import aws:iam/instanceProfile:InstanceProfile test_profile app-instance-profile-1\n```\n", "properties": { "arn": { "type": "string", @@ -280143,7 +280143,7 @@ } }, "aws:iam/policyAttachment:PolicyAttachment": { - "description": "Attaches a Managed IAM Policy to user(s), role(s), and/or group(s)\n\n!\u003e **WARNING:** The aws.iam.PolicyAttachment resource creates **exclusive** attachments of IAM policies. Across the entire AWS account, all of the users/roles/groups to which a single policy is attached must be declared by a single aws.iam.PolicyAttachment resource. This means that even any users/roles/groups that have the attached policy via any other mechanism (including other resources managed by this provider) will have that attached policy revoked by this resource. Consider `aws.iam.RolePolicyAttachment`, `aws.iam.UserPolicyAttachment`, or `aws.iam.GroupPolicyAttachment` instead. These resources do not enforce exclusive attachment of an IAM policy.\n\n\u003e **NOTE:** The usage of this resource conflicts with the `aws.iam.GroupPolicyAttachment`, `aws.iam.RolePolicyAttachment`, and `aws.iam.UserPolicyAttachment` resources and will permanently show a difference if both are defined.\n\n\u003e **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and the provider will show a permanent difference.\n\n\u003e **NOTE:** To ensure Pulumi correctly manages dependencies during updates, use a reference to the IAM resource when defining the `policy_arn` for `aws.iam.PolicyAttachment`, rather than constructing the ARN directly. For example, use `policy_arn = aws_iam_policy.example.arn` instead of `policy_arn = \"arn:aws:iam::${data.aws_caller_identity.current.account_id}:policy/Example\"`. Failing to do so may lead to errors like `DeleteConflict: Cannot delete a policy attached to entities` or `NoSuchEntity`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst user = new aws.iam.User(\"user\", {name: \"test-user\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {\n name: \"test-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst group = new aws.iam.Group(\"group\", {name: \"test-group\"});\nconst policy = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst policyPolicy = new aws.iam.Policy(\"policy\", {\n name: \"test-policy\",\n description: \"A test policy\",\n policy: policy.then(policy =\u003e policy.json),\n});\nconst test_attach = new aws.iam.PolicyAttachment(\"test-attach\", {\n name: \"test-attachment\",\n users: [user.name],\n roles: [role.name],\n groups: [group.name],\n policyArn: policyPolicy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser = aws.iam.User(\"user\", name=\"test-user\")\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"ec2.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nrole = aws.iam.Role(\"role\",\n name=\"test-role\",\n assume_role_policy=assume_role.json)\ngroup = aws.iam.Group(\"group\", name=\"test-group\")\npolicy = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"ec2:Describe*\"],\n \"resources\": [\"*\"],\n}])\npolicy_policy = aws.iam.Policy(\"policy\",\n name=\"test-policy\",\n description=\"A test policy\",\n policy=policy.json)\ntest_attach = aws.iam.PolicyAttachment(\"test-attach\",\n name=\"test-attachment\",\n users=[user.name],\n roles=[role.name],\n groups=[group.name],\n policy_arn=policy_policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var user = new Aws.Iam.User(\"user\", new()\n {\n Name = \"test-user\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n Name = \"test-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var @group = new Aws.Iam.Group(\"group\", new()\n {\n Name = \"test-group\",\n });\n\n var policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var policyPolicy = new Aws.Iam.Policy(\"policy\", new()\n {\n Name = \"test-policy\",\n Description = \"A test policy\",\n PolicyDocument = policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var test_attach = new Aws.Iam.PolicyAttachment(\"test-attach\", new()\n {\n Name = \"test-attachment\",\n Users = new[]\n {\n user.Name,\n },\n Roles = new[]\n {\n role.Name,\n },\n Groups = new[]\n {\n @group.Name,\n },\n PolicyArn = policyPolicy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuser, err := iam.NewUser(ctx, \"user\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"test-user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup, err := iam.NewGroup(ctx, \"group\", \u0026iam.GroupArgs{\n\t\t\tName: pulumi.String(\"test-group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicyPolicy, err := iam.NewPolicy(ctx, \"policy\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"test-policy\"),\n\t\t\tDescription: pulumi.String(\"A test policy\"),\n\t\t\tPolicy: pulumi.String(policy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewPolicyAttachment(ctx, \"test-attach\", \u0026iam.PolicyAttachmentArgs{\n\t\t\tName: pulumi.String(\"test-attachment\"),\n\t\t\tUsers: pulumi.Array{\n\t\t\t\tuser.Name,\n\t\t\t},\n\t\t\tRoles: pulumi.Array{\n\t\t\t\trole.Name,\n\t\t\t},\n\t\t\tGroups: pulumi.Array{\n\t\t\t\tgroup.Name,\n\t\t\t},\n\t\t\tPolicyArn: policyPolicy.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Group;\nimport com.pulumi.aws.iam.GroupArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.PolicyAttachment;\nimport com.pulumi.aws.iam.PolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var user = new User(\"user\", UserArgs.builder()\n .name(\"test-user\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"test-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var group = new Group(\"group\", GroupArgs.builder()\n .name(\"test-group\")\n .build());\n\n final var policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var policyPolicy = new Policy(\"policyPolicy\", PolicyArgs.builder()\n .name(\"test-policy\")\n .description(\"A test policy\")\n .policy(policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var test_attach = new PolicyAttachment(\"test-attach\", PolicyAttachmentArgs.builder()\n .name(\"test-attachment\")\n .users(user.name())\n .roles(role.name())\n .groups(group.name())\n .policyArn(policyPolicy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n user:\n type: aws:iam:User\n properties:\n name: test-user\n role:\n type: aws:iam:Role\n properties:\n name: test-role\n assumeRolePolicy: ${assumeRole.json}\n group:\n type: aws:iam:Group\n properties:\n name: test-group\n policyPolicy:\n type: aws:iam:Policy\n name: policy\n properties:\n name: test-policy\n description: A test policy\n policy: ${policy.json}\n test-attach:\n type: aws:iam:PolicyAttachment\n properties:\n name: test-attachment\n users:\n - ${user.name}\n roles:\n - ${role.name}\n groups:\n - ${group.name}\n policyArn: ${policyPolicy.arn}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n actions:\n - sts:AssumeRole\n policy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Attaches a Managed IAM Policy to user(s), role(s), and/or group(s)\n\n!\u003e **WARNING:** The aws.iam.PolicyAttachment resource creates **exclusive** attachments of IAM policies. Across the entire AWS account, all of the users/roles/groups to which a single policy is attached must be declared by a single aws.iam.PolicyAttachment resource. This means that even any users/roles/groups that have the attached policy via any other mechanism (including other resources managed by this provider) will have that attached policy revoked by this resource. Consider `aws.iam.RolePolicyAttachment`, `aws.iam.UserPolicyAttachment`, or `aws.iam.GroupPolicyAttachment` instead. These resources do not enforce exclusive attachment of an IAM policy.\n\n\u003e **NOTE:** The usage of this resource conflicts with the `aws.iam.GroupPolicyAttachment`, `aws.iam.RolePolicyAttachment`, and `aws.iam.UserPolicyAttachment` resources and will permanently show a difference if both are defined.\n\n\u003e **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and the provider will show a permanent difference.\n\n\u003e **NOTE:** To ensure Pulumi correctly manages dependencies during updates, use a reference to the IAM resource when defining the `policy_arn` for `aws.iam.PolicyAttachment`, rather than constructing the ARN directly. For example, use `policy_arn = aws_iam_policy.example.arn` instead of `policy_arn = \"arn:aws:iam::${data.aws_caller_identity.current.account_id}:policy/Example\"`. Failing to do so may lead to errors like `DeleteConflict: Cannot delete a policy attached to entities` or `NoSuchEntity`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst user = new aws.iam.User(\"user\", {name: \"test-user\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {\n name: \"test-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst group = new aws.iam.Group(\"group\", {name: \"test-group\"});\nconst policy = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst policyPolicy = new aws.iam.Policy(\"policy\", {\n name: \"test-policy\",\n description: \"A test policy\",\n policy: policy.then(policy =\u003e policy.json),\n});\nconst test_attach = new aws.iam.PolicyAttachment(\"test-attach\", {\n name: \"test-attachment\",\n users: [user.name],\n roles: [role.name],\n groups: [group.name],\n policyArn: policyPolicy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser = aws.iam.User(\"user\", name=\"test-user\")\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"ec2.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nrole = aws.iam.Role(\"role\",\n name=\"test-role\",\n assume_role_policy=assume_role.json)\ngroup = aws.iam.Group(\"group\", name=\"test-group\")\npolicy = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"ec2:Describe*\"],\n \"resources\": [\"*\"],\n}])\npolicy_policy = aws.iam.Policy(\"policy\",\n name=\"test-policy\",\n description=\"A test policy\",\n policy=policy.json)\ntest_attach = aws.iam.PolicyAttachment(\"test-attach\",\n name=\"test-attachment\",\n users=[user.name],\n roles=[role.name],\n groups=[group.name],\n policy_arn=policy_policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var user = new Aws.Iam.User(\"user\", new()\n {\n Name = \"test-user\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n Name = \"test-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var @group = new Aws.Iam.Group(\"group\", new()\n {\n Name = \"test-group\",\n });\n\n var policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var policyPolicy = new Aws.Iam.Policy(\"policy\", new()\n {\n Name = \"test-policy\",\n Description = \"A test policy\",\n PolicyDocument = policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var test_attach = new Aws.Iam.PolicyAttachment(\"test-attach\", new()\n {\n Name = \"test-attachment\",\n Users = new[]\n {\n user.Name,\n },\n Roles = new[]\n {\n role.Name,\n },\n Groups = new[]\n {\n @group.Name,\n },\n PolicyArn = policyPolicy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuser, err := iam.NewUser(ctx, \"user\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"test-user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup, err := iam.NewGroup(ctx, \"group\", \u0026iam.GroupArgs{\n\t\t\tName: pulumi.String(\"test-group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicyPolicy, err := iam.NewPolicy(ctx, \"policy\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"test-policy\"),\n\t\t\tDescription: pulumi.String(\"A test policy\"),\n\t\t\tPolicy: pulumi.String(policy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewPolicyAttachment(ctx, \"test-attach\", \u0026iam.PolicyAttachmentArgs{\n\t\t\tName: pulumi.String(\"test-attachment\"),\n\t\t\tUsers: pulumi.Array{\n\t\t\t\tuser.Name,\n\t\t\t},\n\t\t\tRoles: pulumi.Array{\n\t\t\t\trole.Name,\n\t\t\t},\n\t\t\tGroups: pulumi.Array{\n\t\t\t\tgroup.Name,\n\t\t\t},\n\t\t\tPolicyArn: policyPolicy.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Group;\nimport com.pulumi.aws.iam.GroupArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.PolicyAttachment;\nimport com.pulumi.aws.iam.PolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var user = new User(\"user\", UserArgs.builder()\n .name(\"test-user\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"test-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var group = new Group(\"group\", GroupArgs.builder()\n .name(\"test-group\")\n .build());\n\n final var policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var policyPolicy = new Policy(\"policyPolicy\", PolicyArgs.builder()\n .name(\"test-policy\")\n .description(\"A test policy\")\n .policy(policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var test_attach = new PolicyAttachment(\"test-attach\", PolicyAttachmentArgs.builder()\n .name(\"test-attachment\")\n .users(user.name())\n .roles(role.name())\n .groups(group.name())\n .policyArn(policyPolicy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n user:\n type: aws:iam:User\n properties:\n name: test-user\n role:\n type: aws:iam:Role\n properties:\n name: test-role\n assumeRolePolicy: ${assumeRole.json}\n group:\n type: aws:iam:Group\n properties:\n name: test-group\n policyPolicy:\n type: aws:iam:Policy\n name: policy\n properties:\n name: test-policy\n description: A test policy\n policy: ${policy.json}\n test-attach:\n type: aws:iam:PolicyAttachment\n properties:\n name: test-attachment\n users:\n - ${user.name}\n roles:\n - ${role.name}\n groups:\n - ${group.name}\n policyArn: ${policyPolicy.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n actions:\n - sts:AssumeRole\n policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "groups": { "type": "array", @@ -280311,7 +280311,7 @@ } }, "aws:iam/role:Role": { - "description": "Provides an IAM role.\n\n\u003e **NOTE:** If policies are attached to the role via the `aws.iam.PolicyAttachment` resource and you are modifying the role `name` or `path`, the `force_detach_policies` argument must be set to `true` and applied before attempting the operation otherwise you will encounter a `DeleteConflict` error. The `aws.iam.RolePolicyAttachment` resource (recommended) does not have this requirement.\n\n\u003e **NOTE:** If you use this resource's `managed_policy_arns` argument or `inline_policy` configuration blocks, this resource will take over exclusive management of the role's respective policy types (e.g., both policy types if both arguments are used). These arguments are incompatible with other ways of managing a role's policies, such as `aws.iam.PolicyAttachment`, `aws.iam.RolePolicyAttachment`, and `aws.iam.RolePolicy`. If you attempt to manage a role's policies by multiple means, you will get resource cycling and/or errors.\n\n\u003e **NOTE:** We suggest using explicit JSON encoding or `aws.iam.getPolicyDocument` when assigning a value to `policy`. They seamlessly translate configuration to JSON, enabling you to maintain consistency within your configuration without the need for context switches. Also, you can sidestep potential complications arising from formatting discrepancies, whitespace inconsistencies, and other nuances inherent to JSON.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testRole = new aws.iam.Role(\"test_role\", {\n name: \"test_role\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n tags: {\n \"tag-key\": \"tag-value\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest_role = aws.iam.Role(\"test_role\",\n name=\"test_role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }),\n tags={\n \"tag-key\": \"tag-value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testRole = new Aws.Iam.Role(\"test_role\", new()\n {\n Name = \"test_role\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n Tags = \n {\n { \"tag-key\", \"tag-value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\t_, err = iam.NewRole(ctx, \"test_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag-key\": pulumi.String(\"tag-value\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"test_role\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .tags(Map.of(\"tag-key\", \"tag-value\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: aws:iam:Role\n name: test_role\n properties:\n name: test_role\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid: \"\"\n Principal:\n Service: ec2.amazonaws.com\n tags:\n tag-key: tag-value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Using Data Source for Assume Role Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst instanceAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n }],\n});\nconst instance = new aws.iam.Role(\"instance\", {\n name: \"instance_role\",\n path: \"/system/\",\n assumeRolePolicy: instanceAssumeRolePolicy.then(instanceAssumeRolePolicy =\u003e instanceAssumeRolePolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ninstance_assume_role_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"ec2.amazonaws.com\"],\n }],\n}])\ninstance = aws.iam.Role(\"instance\",\n name=\"instance_role\",\n path=\"/system/\",\n assume_role_policy=instance_assume_role_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instanceAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var instance = new Aws.Iam.Role(\"instance\", new()\n {\n Name = \"instance_role\",\n Path = \"/system/\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstanceAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"instance\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"instance_role\"),\n\t\t\tPath: pulumi.String(\"/system/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(instanceAssumeRolePolicy.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var instanceAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var instance = new Role(\"instance\", RoleArgs.builder()\n .name(\"instance_role\")\n .path(\"/system/\")\n .assumeRolePolicy(instanceAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n instance:\n type: aws:iam:Role\n properties:\n name: instance_role\n path: /system/\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\nvariables:\n instanceAssumeRolePolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Exclusive Inline Policies\n\n\u003e The `inline_policy` argument is deprecated. Use the `aws.iam.RolePolicy` resource instead. If Pulumi should exclusively manage all inline policy associations (the current behavior of this argument), use the `aws.iam.RolePoliciesExclusive` resource as well.\n\nThis example creates an IAM role with two inline IAM policies. If someone adds another inline policy out-of-band, on the next apply, this provider will remove that policy. If someone deletes these policies out-of-band, this provider will recreate them.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst inlinePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"ec2:DescribeAccountAttributes\"],\n resources: [\"*\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"yak_role\",\n assumeRolePolicy: instanceAssumeRolePolicy.json,\n inlinePolicies: [\n {\n name: \"my_inline_policy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n },\n {\n name: \"policy-8675309\",\n policy: inlinePolicy.then(inlinePolicy =\u003e inlinePolicy.json),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ninline_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"ec2:DescribeAccountAttributes\"],\n \"resources\": [\"*\"],\n}])\nexample = aws.iam.Role(\"example\",\n name=\"yak_role\",\n assume_role_policy=instance_assume_role_policy[\"json\"],\n inline_policies=[\n {\n \"name\": \"my_inline_policy\",\n \"policy\": json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }),\n },\n {\n \"name\": \"policy-8675309\",\n \"policy\": inline_policy.json,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var inlinePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"ec2:DescribeAccountAttributes\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"yak_role\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Json,\n InlinePolicies = new[]\n {\n new Aws.Iam.Inputs.RoleInlinePolicyArgs\n {\n Name = \"my_inline_policy\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n },\n new Aws.Iam.Inputs.RoleInlinePolicyArgs\n {\n Name = \"policy-8675309\",\n Policy = inlinePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinlinePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:DescribeAccountAttributes\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"yak_role\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(instanceAssumeRolePolicy.Json),\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"my_inline_policy\"),\n\t\t\t\t\tPolicy: pulumi.String(json0),\n\t\t\t\t},\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"policy-8675309\"),\n\t\t\t\t\tPolicy: pulumi.String(inlinePolicy.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var inlinePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"ec2:DescribeAccountAttributes\")\n .resources(\"*\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"yak_role\")\n .assumeRolePolicy(instanceAssumeRolePolicy.json())\n .inlinePolicies( \n RoleInlinePolicyArgs.builder()\n .name(\"my_inline_policy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build(),\n RoleInlinePolicyArgs.builder()\n .name(\"policy-8675309\")\n .policy(inlinePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: yak_role\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\n inlinePolicies:\n - name: my_inline_policy\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n - name: policy-8675309\n policy: ${inlinePolicy.json}\nvariables:\n inlinePolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - ec2:DescribeAccountAttributes\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Removing Inline Policies\n\n\u003e The `inline_policy` argument is deprecated. Use the `aws.iam.RolePolicy` resource instead. If Pulumi should exclusively manage all inline policy associations (the current behavior of this argument), use the `aws.iam.RolePoliciesExclusive` resource as well.\n\nThis example creates an IAM role with what appears to be empty IAM `inline_policy` argument instead of using `inline_policy` as a configuration block. The result is that if someone were to add an inline policy out-of-band, on the next apply, this provider will remove that policy.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n inlinePolicies: [{}],\n name: \"yak_role\",\n assumeRolePolicy: instanceAssumeRolePolicy.json,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n inline_policies=[{}],\n name=\"yak_role\",\n assume_role_policy=instance_assume_role_policy[\"json\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n InlinePolicies = new[]\n {\n null,\n },\n Name = \"yak_role\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Json,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{},\n\t\t\t},\n\t\t\tName: pulumi.String(\"yak_role\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(instanceAssumeRolePolicy.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Role(\"example\", RoleArgs.builder()\n .inlinePolicies()\n .name(\"yak_role\")\n .assumeRolePolicy(instanceAssumeRolePolicy.json())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n inlinePolicies:\n - {}\n name: yak_role\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Exclusive Managed Policies\n\n\u003e The `managed_policy_arns` argument is deprecated. Use the `aws.iam.RolePolicyAttachment` resource instead. If Pulumi should exclusively manage all managed policy attachments (the current behavior of this argument), use the `aws.iam.RolePolicyAttachmentsExclusive` resource as well.\n\nThis example creates an IAM role and attaches two managed IAM policies. If someone attaches another managed policy out-of-band, on the next apply, this provider will detach that policy. If someone detaches these policies out-of-band, this provider will attach them again.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst policyOne = new aws.iam.Policy(\"policy_one\", {\n name: \"policy-618033\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\nconst policyTwo = new aws.iam.Policy(\"policy_two\", {\n name: \"policy-381966\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"s3:ListAllMyBuckets\",\n \"s3:ListBucket\",\n \"s3:HeadBucket\",\n ],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"yak_role\",\n assumeRolePolicy: instanceAssumeRolePolicy.json,\n managedPolicyArns: [\n policyOne.arn,\n policyTwo.arn,\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\npolicy_one = aws.iam.Policy(\"policy_one\",\n name=\"policy-618033\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\npolicy_two = aws.iam.Policy(\"policy_two\",\n name=\"policy-381966\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"s3:ListAllMyBuckets\",\n \"s3:ListBucket\",\n \"s3:HeadBucket\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\nexample = aws.iam.Role(\"example\",\n name=\"yak_role\",\n assume_role_policy=instance_assume_role_policy[\"json\"],\n managed_policy_arns=[\n policy_one.arn,\n policy_two.arn,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var policyOne = new Aws.Iam.Policy(\"policy_one\", new()\n {\n Name = \"policy-618033\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var policyTwo = new Aws.Iam.Policy(\"policy_two\", new()\n {\n Name = \"policy-381966\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"s3:ListAllMyBuckets\",\n \"s3:ListBucket\",\n \"s3:HeadBucket\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"yak_role\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Json,\n ManagedPolicyArns = new[]\n {\n policyOne.Arn,\n policyTwo.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\tpolicyOne, err := iam.NewPolicy(ctx, \"policy_one\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"policy-618033\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"s3:ListAllMyBuckets\",\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t\t\"s3:HeadBucket\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson1 := string(tmpJSON1)\n\t\tpolicyTwo, err := iam.NewPolicy(ctx, \"policy_two\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"policy-381966\"),\n\t\t\tPolicy: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"yak_role\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(instanceAssumeRolePolicy.Json),\n\t\t\tManagedPolicyArns: pulumi.StringArray{\n\t\t\t\tpolicyOne.Arn,\n\t\t\t\tpolicyTwo.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var policyOne = new Policy(\"policyOne\", PolicyArgs.builder()\n .name(\"policy-618033\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var policyTwo = new Policy(\"policyTwo\", PolicyArgs.builder()\n .name(\"policy-381966\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"s3:ListAllMyBuckets\", \n \"s3:ListBucket\", \n \"s3:HeadBucket\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"yak_role\")\n .assumeRolePolicy(instanceAssumeRolePolicy.json())\n .managedPolicyArns( \n policyOne.arn(),\n policyTwo.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: yak_role\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\n managedPolicyArns:\n - ${policyOne.arn}\n - ${policyTwo.arn}\n policyOne:\n type: aws:iam:Policy\n name: policy_one\n properties:\n name: policy-618033\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n policyTwo:\n type: aws:iam:Policy\n name: policy_two\n properties:\n name: policy-381966\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - s3:ListAllMyBuckets\n - s3:ListBucket\n - s3:HeadBucket\n Effect: Allow\n Resource: '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Removing Managed Policies\n\n\u003e The `managed_policy_arns` argument is deprecated. Use the `aws.iam.RolePolicyAttachment` resource instead. If Pulumi should exclusively manage all managed policy attachments (the current behavior of this argument), use the `aws.iam.RolePolicyAttachmentsExclusive` resource as well.\n\nThis example creates an IAM role with an empty `managed_policy_arns` argument. If someone attaches a policy out-of-band, on the next apply, this provider will detach that policy.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n name: \"yak_role\",\n assumeRolePolicy: instanceAssumeRolePolicy.json,\n managedPolicyArns: [],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n name=\"yak_role\",\n assume_role_policy=instance_assume_role_policy[\"json\"],\n managed_policy_arns=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"yak_role\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Json,\n ManagedPolicyArns = new[] {},\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"yak_role\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(instanceAssumeRolePolicy.Json),\n\t\t\tManagedPolicyArns: pulumi.StringArray{},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"yak_role\")\n .assumeRolePolicy(instanceAssumeRolePolicy.json())\n .managedPolicyArns()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: yak_role\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\n managedPolicyArns: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Roles using the `name`. For example:\n\n```sh\n$ pulumi import aws:iam/role:Role developer developer_name\n```\n", + "description": "Provides an IAM role.\n\n\u003e **NOTE:** If policies are attached to the role via the `aws.iam.PolicyAttachment` resource and you are modifying the role `name` or `path`, the `force_detach_policies` argument must be set to `true` and applied before attempting the operation otherwise you will encounter a `DeleteConflict` error. The `aws.iam.RolePolicyAttachment` resource (recommended) does not have this requirement.\n\n\u003e **NOTE:** If you use this resource's `managed_policy_arns` argument or `inline_policy` configuration blocks, this resource will take over exclusive management of the role's respective policy types (e.g., both policy types if both arguments are used). These arguments are incompatible with other ways of managing a role's policies, such as `aws.iam.PolicyAttachment`, `aws.iam.RolePolicyAttachment`, and `aws.iam.RolePolicy`. If you attempt to manage a role's policies by multiple means, you will get resource cycling and/or errors.\n\n\u003e **NOTE:** We suggest using explicit JSON encoding or `aws.iam.getPolicyDocument` when assigning a value to `policy`. They seamlessly translate configuration to JSON, enabling you to maintain consistency within your configuration without the need for context switches. Also, you can sidestep potential complications arising from formatting discrepancies, whitespace inconsistencies, and other nuances inherent to JSON.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testRole = new aws.iam.Role(\"test_role\", {\n name: \"test_role\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n tags: {\n \"tag-key\": \"tag-value\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest_role = aws.iam.Role(\"test_role\",\n name=\"test_role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }),\n tags={\n \"tag-key\": \"tag-value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testRole = new Aws.Iam.Role(\"test_role\", new()\n {\n Name = \"test_role\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n Tags = \n {\n { \"tag-key\", \"tag-value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\t_, err = iam.NewRole(ctx, \"test_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag-key\": pulumi.String(\"tag-value\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"test_role\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .tags(Map.of(\"tag-key\", \"tag-value\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: aws:iam:Role\n name: test_role\n properties:\n name: test_role\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: ec2.amazonaws.com\n tags:\n tag-key: tag-value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Using Data Source for Assume Role Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst instanceAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n }],\n});\nconst instance = new aws.iam.Role(\"instance\", {\n name: \"instance_role\",\n path: \"/system/\",\n assumeRolePolicy: instanceAssumeRolePolicy.then(instanceAssumeRolePolicy =\u003e instanceAssumeRolePolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ninstance_assume_role_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"ec2.amazonaws.com\"],\n }],\n}])\ninstance = aws.iam.Role(\"instance\",\n name=\"instance_role\",\n path=\"/system/\",\n assume_role_policy=instance_assume_role_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instanceAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var instance = new Aws.Iam.Role(\"instance\", new()\n {\n Name = \"instance_role\",\n Path = \"/system/\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstanceAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"instance\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"instance_role\"),\n\t\t\tPath: pulumi.String(\"/system/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(instanceAssumeRolePolicy.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var instanceAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var instance = new Role(\"instance\", RoleArgs.builder()\n .name(\"instance_role\")\n .path(\"/system/\")\n .assumeRolePolicy(instanceAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n instance:\n type: aws:iam:Role\n properties:\n name: instance_role\n path: /system/\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\nvariables:\n instanceAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Exclusive Inline Policies\n\n\u003e The `inline_policy` argument is deprecated. Use the `aws.iam.RolePolicy` resource instead. If Pulumi should exclusively manage all inline policy associations (the current behavior of this argument), use the `aws.iam.RolePoliciesExclusive` resource as well.\n\nThis example creates an IAM role with two inline IAM policies. If someone adds another inline policy out-of-band, on the next apply, this provider will remove that policy. If someone deletes these policies out-of-band, this provider will recreate them.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst inlinePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"ec2:DescribeAccountAttributes\"],\n resources: [\"*\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"yak_role\",\n assumeRolePolicy: instanceAssumeRolePolicy.json,\n inlinePolicies: [\n {\n name: \"my_inline_policy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n },\n {\n name: \"policy-8675309\",\n policy: inlinePolicy.then(inlinePolicy =\u003e inlinePolicy.json),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ninline_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"ec2:DescribeAccountAttributes\"],\n \"resources\": [\"*\"],\n}])\nexample = aws.iam.Role(\"example\",\n name=\"yak_role\",\n assume_role_policy=instance_assume_role_policy[\"json\"],\n inline_policies=[\n {\n \"name\": \"my_inline_policy\",\n \"policy\": json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }),\n },\n {\n \"name\": \"policy-8675309\",\n \"policy\": inline_policy.json,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var inlinePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"ec2:DescribeAccountAttributes\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"yak_role\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Json,\n InlinePolicies = new[]\n {\n new Aws.Iam.Inputs.RoleInlinePolicyArgs\n {\n Name = \"my_inline_policy\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n },\n new Aws.Iam.Inputs.RoleInlinePolicyArgs\n {\n Name = \"policy-8675309\",\n Policy = inlinePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinlinePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:DescribeAccountAttributes\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"yak_role\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(instanceAssumeRolePolicy.Json),\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"my_inline_policy\"),\n\t\t\t\t\tPolicy: pulumi.String(json0),\n\t\t\t\t},\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"policy-8675309\"),\n\t\t\t\t\tPolicy: pulumi.String(inlinePolicy.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var inlinePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"ec2:DescribeAccountAttributes\")\n .resources(\"*\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"yak_role\")\n .assumeRolePolicy(instanceAssumeRolePolicy.json())\n .inlinePolicies( \n RoleInlinePolicyArgs.builder()\n .name(\"my_inline_policy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build(),\n RoleInlinePolicyArgs.builder()\n .name(\"policy-8675309\")\n .policy(inlinePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: yak_role\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\n inlinePolicies:\n - name: my_inline_policy\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n - name: policy-8675309\n policy: ${inlinePolicy.json}\nvariables:\n inlinePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - ec2:DescribeAccountAttributes\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Removing Inline Policies\n\n\u003e The `inline_policy` argument is deprecated. Use the `aws.iam.RolePolicy` resource instead. If Pulumi should exclusively manage all inline policy associations (the current behavior of this argument), use the `aws.iam.RolePoliciesExclusive` resource as well.\n\nThis example creates an IAM role with what appears to be empty IAM `inline_policy` argument instead of using `inline_policy` as a configuration block. The result is that if someone were to add an inline policy out-of-band, on the next apply, this provider will remove that policy.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n inlinePolicies: [{}],\n name: \"yak_role\",\n assumeRolePolicy: instanceAssumeRolePolicy.json,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n inline_policies=[{}],\n name=\"yak_role\",\n assume_role_policy=instance_assume_role_policy[\"json\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n InlinePolicies = new[]\n {\n null,\n },\n Name = \"yak_role\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Json,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{},\n\t\t\t},\n\t\t\tName: pulumi.String(\"yak_role\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(instanceAssumeRolePolicy.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Role(\"example\", RoleArgs.builder()\n .inlinePolicies()\n .name(\"yak_role\")\n .assumeRolePolicy(instanceAssumeRolePolicy.json())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n inlinePolicies:\n - {}\n name: yak_role\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Exclusive Managed Policies\n\n\u003e The `managed_policy_arns` argument is deprecated. Use the `aws.iam.RolePolicyAttachment` resource instead. If Pulumi should exclusively manage all managed policy attachments (the current behavior of this argument), use the `aws.iam.RolePolicyAttachmentsExclusive` resource as well.\n\nThis example creates an IAM role and attaches two managed IAM policies. If someone attaches another managed policy out-of-band, on the next apply, this provider will detach that policy. If someone detaches these policies out-of-band, this provider will attach them again.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst policyOne = new aws.iam.Policy(\"policy_one\", {\n name: \"policy-618033\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\nconst policyTwo = new aws.iam.Policy(\"policy_two\", {\n name: \"policy-381966\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"s3:ListAllMyBuckets\",\n \"s3:ListBucket\",\n \"s3:HeadBucket\",\n ],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"yak_role\",\n assumeRolePolicy: instanceAssumeRolePolicy.json,\n managedPolicyArns: [\n policyOne.arn,\n policyTwo.arn,\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\npolicy_one = aws.iam.Policy(\"policy_one\",\n name=\"policy-618033\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\npolicy_two = aws.iam.Policy(\"policy_two\",\n name=\"policy-381966\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"s3:ListAllMyBuckets\",\n \"s3:ListBucket\",\n \"s3:HeadBucket\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\nexample = aws.iam.Role(\"example\",\n name=\"yak_role\",\n assume_role_policy=instance_assume_role_policy[\"json\"],\n managed_policy_arns=[\n policy_one.arn,\n policy_two.arn,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var policyOne = new Aws.Iam.Policy(\"policy_one\", new()\n {\n Name = \"policy-618033\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var policyTwo = new Aws.Iam.Policy(\"policy_two\", new()\n {\n Name = \"policy-381966\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"s3:ListAllMyBuckets\",\n \"s3:ListBucket\",\n \"s3:HeadBucket\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"yak_role\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Json,\n ManagedPolicyArns = new[]\n {\n policyOne.Arn,\n policyTwo.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\tpolicyOne, err := iam.NewPolicy(ctx, \"policy_one\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"policy-618033\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"s3:ListAllMyBuckets\",\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t\t\"s3:HeadBucket\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson1 := string(tmpJSON1)\n\t\tpolicyTwo, err := iam.NewPolicy(ctx, \"policy_two\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"policy-381966\"),\n\t\t\tPolicy: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"yak_role\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(instanceAssumeRolePolicy.Json),\n\t\t\tManagedPolicyArns: pulumi.StringArray{\n\t\t\t\tpolicyOne.Arn,\n\t\t\t\tpolicyTwo.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var policyOne = new Policy(\"policyOne\", PolicyArgs.builder()\n .name(\"policy-618033\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var policyTwo = new Policy(\"policyTwo\", PolicyArgs.builder()\n .name(\"policy-381966\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"s3:ListAllMyBuckets\", \n \"s3:ListBucket\", \n \"s3:HeadBucket\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"yak_role\")\n .assumeRolePolicy(instanceAssumeRolePolicy.json())\n .managedPolicyArns( \n policyOne.arn(),\n policyTwo.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: yak_role\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\n managedPolicyArns:\n - ${policyOne.arn}\n - ${policyTwo.arn}\n policyOne:\n type: aws:iam:Policy\n name: policy_one\n properties:\n name: policy-618033\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n policyTwo:\n type: aws:iam:Policy\n name: policy_two\n properties:\n name: policy-381966\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - s3:ListAllMyBuckets\n - s3:ListBucket\n - s3:HeadBucket\n Effect: Allow\n Resource: '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Removing Managed Policies\n\n\u003e The `managed_policy_arns` argument is deprecated. Use the `aws.iam.RolePolicyAttachment` resource instead. If Pulumi should exclusively manage all managed policy attachments (the current behavior of this argument), use the `aws.iam.RolePolicyAttachmentsExclusive` resource as well.\n\nThis example creates an IAM role with an empty `managed_policy_arns` argument. If someone attaches a policy out-of-band, on the next apply, this provider will detach that policy.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n name: \"yak_role\",\n assumeRolePolicy: instanceAssumeRolePolicy.json,\n managedPolicyArns: [],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n name=\"yak_role\",\n assume_role_policy=instance_assume_role_policy[\"json\"],\n managed_policy_arns=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"yak_role\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Json,\n ManagedPolicyArns = new[] {},\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"yak_role\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(instanceAssumeRolePolicy.Json),\n\t\t\tManagedPolicyArns: pulumi.StringArray{},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"yak_role\")\n .assumeRolePolicy(instanceAssumeRolePolicy.json())\n .managedPolicyArns()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: yak_role\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\n managedPolicyArns: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Roles using the `name`. For example:\n\n```sh\n$ pulumi import aws:iam/role:Role developer developer_name\n```\n", "properties": { "arn": { "type": "string", @@ -280615,7 +280615,7 @@ } }, "aws:iam/rolePolicy:RolePolicy": { - "description": "Provides an IAM role inline policy.\n\n\u003e **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `inline_policy` argument. When using that argument and this resource, both will attempt to manage the role's inline policies and the provider will show a permanent difference.\n\n\u003e **NOTE:** We suggest using explicit JSON encoding or `aws.iam.getPolicyDocument` when assigning a value to `policy`. They seamlessly translate configuration to JSON, enabling you to maintain consistency within your configuration without the need for context switches. Also, you can sidestep potential complications arising from formatting discrepancies, whitespace inconsistencies, and other nuances inherent to JSON.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testRole = new aws.iam.Role(\"test_role\", {\n name: \"test_role\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n});\nconst testPolicy = new aws.iam.RolePolicy(\"test_policy\", {\n name: \"test_policy\",\n role: testRole.id,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest_role = aws.iam.Role(\"test_role\",\n name=\"test_role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }))\ntest_policy = aws.iam.RolePolicy(\"test_policy\",\n name=\"test_policy\",\n role=test_role.id,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testRole = new Aws.Iam.Role(\"test_role\", new()\n {\n Name = \"test_role\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var testPolicy = new Aws.Iam.RolePolicy(\"test_policy\", new()\n {\n Name = \"test_policy\",\n Role = testRole.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\ttestRole, err := iam.NewRole(ctx, \"test_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson1 := string(tmpJSON1)\n\t\t_, err = iam.NewRolePolicy(ctx, \"test_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"test_policy\"),\n\t\t\tRole: testRole.ID(),\n\t\t\tPolicy: pulumi.String(json1),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"test_role\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var testPolicy = new RolePolicy(\"testPolicy\", RolePolicyArgs.builder()\n .name(\"test_policy\")\n .role(testRole.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testPolicy:\n type: aws:iam:RolePolicy\n name: test_policy\n properties:\n name: test_policy\n role: ${testRole.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n testRole:\n type: aws:iam:Role\n name: test_role\n properties:\n name: test_role\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid: \"\"\n Principal:\n Service: ec2.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Role Policies using the `role_name:role_policy_name`. For example:\n\n```sh\n$ pulumi import aws:iam/rolePolicy:RolePolicy mypolicy role_of_mypolicy_name:mypolicy_name\n```\n", + "description": "Provides an IAM role inline policy.\n\n\u003e **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `inline_policy` argument. When using that argument and this resource, both will attempt to manage the role's inline policies and the provider will show a permanent difference.\n\n\u003e **NOTE:** We suggest using explicit JSON encoding or `aws.iam.getPolicyDocument` when assigning a value to `policy`. They seamlessly translate configuration to JSON, enabling you to maintain consistency within your configuration without the need for context switches. Also, you can sidestep potential complications arising from formatting discrepancies, whitespace inconsistencies, and other nuances inherent to JSON.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testRole = new aws.iam.Role(\"test_role\", {\n name: \"test_role\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n});\nconst testPolicy = new aws.iam.RolePolicy(\"test_policy\", {\n name: \"test_policy\",\n role: testRole.id,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest_role = aws.iam.Role(\"test_role\",\n name=\"test_role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }))\ntest_policy = aws.iam.RolePolicy(\"test_policy\",\n name=\"test_policy\",\n role=test_role.id,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testRole = new Aws.Iam.Role(\"test_role\", new()\n {\n Name = \"test_role\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var testPolicy = new Aws.Iam.RolePolicy(\"test_policy\", new()\n {\n Name = \"test_policy\",\n Role = testRole.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\ttestRole, err := iam.NewRole(ctx, \"test_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson1 := string(tmpJSON1)\n\t\t_, err = iam.NewRolePolicy(ctx, \"test_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"test_policy\"),\n\t\t\tRole: testRole.ID(),\n\t\t\tPolicy: pulumi.String(json1),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"test_role\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var testPolicy = new RolePolicy(\"testPolicy\", RolePolicyArgs.builder()\n .name(\"test_policy\")\n .role(testRole.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testPolicy:\n type: aws:iam:RolePolicy\n name: test_policy\n properties:\n name: test_policy\n role: ${testRole.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n testRole:\n type: aws:iam:Role\n name: test_role\n properties:\n name: test_role\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: ec2.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Role Policies using the `role_name:role_policy_name`. For example:\n\n```sh\n$ pulumi import aws:iam/rolePolicy:RolePolicy mypolicy role_of_mypolicy_name:mypolicy_name\n```\n", "properties": { "name": { "type": "string", @@ -280728,7 +280728,7 @@ } }, "aws:iam/rolePolicyAttachment:RolePolicyAttachment": { - "description": "Attaches a Managed IAM Policy to an IAM role\n\n\u003e **NOTE:** The usage of this resource conflicts with the `aws.iam.PolicyAttachment` resource and will permanently show a difference if both are defined.\n\n\u003e **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and Pulumi will show a permanent difference.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {\n name: \"test-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst policy = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst policyPolicy = new aws.iam.Policy(\"policy\", {\n name: \"test-policy\",\n description: \"A test policy\",\n policy: policy.then(policy =\u003e policy.json),\n});\nconst test_attach = new aws.iam.RolePolicyAttachment(\"test-attach\", {\n role: role.name,\n policyArn: policyPolicy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"ec2.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nrole = aws.iam.Role(\"role\",\n name=\"test-role\",\n assume_role_policy=assume_role.json)\npolicy = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"ec2:Describe*\"],\n \"resources\": [\"*\"],\n}])\npolicy_policy = aws.iam.Policy(\"policy\",\n name=\"test-policy\",\n description=\"A test policy\",\n policy=policy.json)\ntest_attach = aws.iam.RolePolicyAttachment(\"test-attach\",\n role=role.name,\n policy_arn=policy_policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n Name = \"test-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var policyPolicy = new Aws.Iam.Policy(\"policy\", new()\n {\n Name = \"test-policy\",\n Description = \"A test policy\",\n PolicyDocument = policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var test_attach = new Aws.Iam.RolePolicyAttachment(\"test-attach\", new()\n {\n Role = role.Name,\n PolicyArn = policyPolicy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicyPolicy, err := iam.NewPolicy(ctx, \"policy\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"test-policy\"),\n\t\t\tDescription: pulumi.String(\"A test policy\"),\n\t\t\tPolicy: pulumi.String(policy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"test-attach\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: role.Name,\n\t\t\tPolicyArn: policyPolicy.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"test-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var policyPolicy = new Policy(\"policyPolicy\", PolicyArgs.builder()\n .name(\"test-policy\")\n .description(\"A test policy\")\n .policy(policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var test_attach = new RolePolicyAttachment(\"test-attach\", RolePolicyAttachmentArgs.builder()\n .role(role.name())\n .policyArn(policyPolicy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n role:\n type: aws:iam:Role\n properties:\n name: test-role\n assumeRolePolicy: ${assumeRole.json}\n policyPolicy:\n type: aws:iam:Policy\n name: policy\n properties:\n name: test-policy\n description: A test policy\n policy: ${policy.json}\n test-attach:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${role.name}\n policyArn: ${policyPolicy.arn}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n actions:\n - sts:AssumeRole\n policy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For example:\n\n```sh\n$ pulumi import aws:iam/rolePolicyAttachment:RolePolicyAttachment test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy\n```\n", + "description": "Attaches a Managed IAM Policy to an IAM role\n\n\u003e **NOTE:** The usage of this resource conflicts with the `aws.iam.PolicyAttachment` resource and will permanently show a difference if both are defined.\n\n\u003e **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and Pulumi will show a permanent difference.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {\n name: \"test-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst policy = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst policyPolicy = new aws.iam.Policy(\"policy\", {\n name: \"test-policy\",\n description: \"A test policy\",\n policy: policy.then(policy =\u003e policy.json),\n});\nconst test_attach = new aws.iam.RolePolicyAttachment(\"test-attach\", {\n role: role.name,\n policyArn: policyPolicy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"ec2.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nrole = aws.iam.Role(\"role\",\n name=\"test-role\",\n assume_role_policy=assume_role.json)\npolicy = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"ec2:Describe*\"],\n \"resources\": [\"*\"],\n}])\npolicy_policy = aws.iam.Policy(\"policy\",\n name=\"test-policy\",\n description=\"A test policy\",\n policy=policy.json)\ntest_attach = aws.iam.RolePolicyAttachment(\"test-attach\",\n role=role.name,\n policy_arn=policy_policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n Name = \"test-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var policyPolicy = new Aws.Iam.Policy(\"policy\", new()\n {\n Name = \"test-policy\",\n Description = \"A test policy\",\n PolicyDocument = policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var test_attach = new Aws.Iam.RolePolicyAttachment(\"test-attach\", new()\n {\n Role = role.Name,\n PolicyArn = policyPolicy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicyPolicy, err := iam.NewPolicy(ctx, \"policy\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"test-policy\"),\n\t\t\tDescription: pulumi.String(\"A test policy\"),\n\t\t\tPolicy: pulumi.String(policy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"test-attach\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: role.Name,\n\t\t\tPolicyArn: policyPolicy.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"test-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var policyPolicy = new Policy(\"policyPolicy\", PolicyArgs.builder()\n .name(\"test-policy\")\n .description(\"A test policy\")\n .policy(policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var test_attach = new RolePolicyAttachment(\"test-attach\", RolePolicyAttachmentArgs.builder()\n .role(role.name())\n .policyArn(policyPolicy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n role:\n type: aws:iam:Role\n properties:\n name: test-role\n assumeRolePolicy: ${assumeRole.json}\n policyPolicy:\n type: aws:iam:Policy\n name: policy\n properties:\n name: test-policy\n description: A test policy\n policy: ${policy.json}\n test-attach:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${role.name}\n policyArn: ${policyPolicy.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n actions:\n - sts:AssumeRole\n policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For example:\n\n```sh\n$ pulumi import aws:iam/rolePolicyAttachment:RolePolicyAttachment test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy\n```\n", "properties": { "policyArn": { "type": "string", @@ -280852,7 +280852,7 @@ } }, "aws:iam/samlProvider:SamlProvider": { - "description": "Provides an IAM SAML provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst _default = new aws.iam.SamlProvider(\"default\", {\n name: \"myprovider\",\n samlMetadataDocument: std.file({\n input: \"saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ndefault = aws.iam.SamlProvider(\"default\",\n name=\"myprovider\",\n saml_metadata_document=std.file(input=\"saml-metadata.xml\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Iam.SamlProvider(\"default\", new()\n {\n Name = \"myprovider\",\n SamlMetadataDocument = Std.File.Invoke(new()\n {\n Input = \"saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewSamlProvider(ctx, \"default\", \u0026iam.SamlProviderArgs{\n\t\t\tName: pulumi.String(\"myprovider\"),\n\t\t\tSamlMetadataDocument: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.SamlProvider;\nimport com.pulumi.aws.iam.SamlProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new SamlProvider(\"default\", SamlProviderArgs.builder()\n .name(\"myprovider\")\n .samlMetadataDocument(StdFunctions.file(FileArgs.builder()\n .input(\"saml-metadata.xml\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:iam:SamlProvider\n properties:\n name: myprovider\n samlMetadataDocument:\n fn::invoke:\n function: std:file\n arguments:\n input: saml-metadata.xml\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM SAML Providers using the `arn`. For example:\n\n```sh\n$ pulumi import aws:iam/samlProvider:SamlProvider default arn:aws:iam::123456789012:saml-provider/SAMLADFS\n```\n", + "description": "Provides an IAM SAML provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst _default = new aws.iam.SamlProvider(\"default\", {\n name: \"myprovider\",\n samlMetadataDocument: std.file({\n input: \"saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ndefault = aws.iam.SamlProvider(\"default\",\n name=\"myprovider\",\n saml_metadata_document=std.file(input=\"saml-metadata.xml\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Iam.SamlProvider(\"default\", new()\n {\n Name = \"myprovider\",\n SamlMetadataDocument = Std.File.Invoke(new()\n {\n Input = \"saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewSamlProvider(ctx, \"default\", \u0026iam.SamlProviderArgs{\n\t\t\tName: pulumi.String(\"myprovider\"),\n\t\t\tSamlMetadataDocument: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.SamlProvider;\nimport com.pulumi.aws.iam.SamlProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new SamlProvider(\"default\", SamlProviderArgs.builder()\n .name(\"myprovider\")\n .samlMetadataDocument(StdFunctions.file(FileArgs.builder()\n .input(\"saml-metadata.xml\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:iam:SamlProvider\n properties:\n name: myprovider\n samlMetadataDocument:\n fn::invoke:\n Function: std:file\n Arguments:\n input: saml-metadata.xml\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM SAML Providers using the `arn`. For example:\n\n```sh\n$ pulumi import aws:iam/samlProvider:SamlProvider default arn:aws:iam::123456789012:saml-provider/SAMLADFS\n```\n", "properties": { "arn": { "type": "string", @@ -280985,7 +280985,7 @@ } }, "aws:iam/serverCertificate:ServerCertificate": { - "description": "Provides an IAM Server Certificate resource to upload Server Certificates.\nCerts uploaded to IAM can easily work with other AWS services such as:\n\n- AWS Elastic Beanstalk\n- Elastic Load Balancing\n- CloudFront\n- AWS OpsWorks\n\nFor information about server certificates in IAM, see [Managing Server\nCertificates][2] in AWS Documentation.\n\n## Example Usage\n\n**Using certs on file:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst testCert = new aws.iam.ServerCertificate(\"test_cert\", {\n name: \"some_test_cert\",\n certificateBody: std.file({\n input: \"self-ca-cert.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"test-key.pem\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest_cert = aws.iam.ServerCertificate(\"test_cert\",\n name=\"some_test_cert\",\n certificate_body=std.file(input=\"self-ca-cert.pem\").result,\n private_key=std.file(input=\"test-key.pem\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCert = new Aws.Iam.ServerCertificate(\"test_cert\", new()\n {\n Name = \"some_test_cert\",\n CertificateBody = Std.File.Invoke(new()\n {\n Input = \"self-ca-cert.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"test-key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"self-ca-cert.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"test-key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewServerCertificate(ctx, \"test_cert\", \u0026iam.ServerCertificateArgs{\n\t\t\tName: pulumi.String(\"some_test_cert\"),\n\t\t\tCertificateBody: pulumi.String(invokeFile.Result),\n\t\t\tPrivateKey: pulumi.String(invokeFile1.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.ServerCertificate;\nimport com.pulumi.aws.iam.ServerCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCert = new ServerCertificate(\"testCert\", ServerCertificateArgs.builder()\n .name(\"some_test_cert\")\n .certificateBody(StdFunctions.file(FileArgs.builder()\n .input(\"self-ca-cert.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"test-key.pem\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCert:\n type: aws:iam:ServerCertificate\n name: test_cert\n properties:\n name: some_test_cert\n certificateBody:\n fn::invoke:\n function: std:file\n arguments:\n input: self-ca-cert.pem\n return: result\n privateKey:\n fn::invoke:\n function: std:file\n arguments:\n input: test-key.pem\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**Example with cert in-line:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCertAlt = new aws.iam.ServerCertificate(\"test_cert_alt\", {\n name: \"alt_test_cert\",\n certificateBody: `-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n`,\n privateKey: `-----BEGIN RSA PRIVATE KEY-----\n[......] # cert contents\n-----END RSA PRIVATE KEY-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cert_alt = aws.iam.ServerCertificate(\"test_cert_alt\",\n name=\"alt_test_cert\",\n certificate_body=\"\"\"-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n\"\"\",\n private_key=\"\"\"-----BEGIN RSA PRIVATE KEY-----\n[......] # cert contents\n-----END RSA PRIVATE KEY-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCertAlt = new Aws.Iam.ServerCertificate(\"test_cert_alt\", new()\n {\n Name = \"alt_test_cert\",\n CertificateBody = @\"-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n\",\n PrivateKey = @\"-----BEGIN RSA PRIVATE KEY-----\n[......] # cert contents\n-----END RSA PRIVATE KEY-----\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.NewServerCertificate(ctx, \"test_cert_alt\", \u0026iam.ServerCertificateArgs{\n\t\t\tName: pulumi.String(\"alt_test_cert\"),\n\t\t\tCertificateBody: pulumi.String(\"-----BEGIN CERTIFICATE-----\\n[......] # cert contents\\n-----END CERTIFICATE-----\\n\"),\n\t\t\tPrivateKey: pulumi.String(\"-----BEGIN RSA PRIVATE KEY-----\\n[......] # cert contents\\n-----END RSA PRIVATE KEY-----\\n\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.ServerCertificate;\nimport com.pulumi.aws.iam.ServerCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCertAlt = new ServerCertificate(\"testCertAlt\", ServerCertificateArgs.builder()\n .name(\"alt_test_cert\")\n .certificateBody(\"\"\"\n-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n \"\"\")\n .privateKey(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\n[......] # cert contents\n-----END RSA PRIVATE KEY-----\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCertAlt:\n type: aws:iam:ServerCertificate\n name: test_cert_alt\n properties:\n name: alt_test_cert\n certificateBody: |\n -----BEGIN CERTIFICATE-----\n [......] # cert contents\n -----END CERTIFICATE-----\n privateKey: |\n -----BEGIN RSA PRIVATE KEY-----\n [......] # cert contents\n -----END RSA PRIVATE KEY-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**Use in combination with an AWS ELB resource:**\n\nSome properties of an IAM Server Certificates cannot be updated while they are\nin use. In order for the provider to effectively manage a Certificate in this situation, it is\nrecommended you utilize the `name_prefix` attribute and enable the\n`create_before_destroy`. This will allow this provider\nto create a new, updated `aws.iam.ServerCertificate` resource and replace it in\ndependant resources before attempting to destroy the old version.\n\n## Import\n\nUsing `pulumi import`, import IAM Server Certificates using the `name`. For example:\n\n```sh\n$ pulumi import aws:iam/serverCertificate:ServerCertificate certificate example.com-certificate-until-2018\n```\n", + "description": "Provides an IAM Server Certificate resource to upload Server Certificates.\nCerts uploaded to IAM can easily work with other AWS services such as:\n\n- AWS Elastic Beanstalk\n- Elastic Load Balancing\n- CloudFront\n- AWS OpsWorks\n\nFor information about server certificates in IAM, see [Managing Server\nCertificates][2] in AWS Documentation.\n\n## Example Usage\n\n**Using certs on file:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst testCert = new aws.iam.ServerCertificate(\"test_cert\", {\n name: \"some_test_cert\",\n certificateBody: std.file({\n input: \"self-ca-cert.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"test-key.pem\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest_cert = aws.iam.ServerCertificate(\"test_cert\",\n name=\"some_test_cert\",\n certificate_body=std.file(input=\"self-ca-cert.pem\").result,\n private_key=std.file(input=\"test-key.pem\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCert = new Aws.Iam.ServerCertificate(\"test_cert\", new()\n {\n Name = \"some_test_cert\",\n CertificateBody = Std.File.Invoke(new()\n {\n Input = \"self-ca-cert.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"test-key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"self-ca-cert.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"test-key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewServerCertificate(ctx, \"test_cert\", \u0026iam.ServerCertificateArgs{\n\t\t\tName: pulumi.String(\"some_test_cert\"),\n\t\t\tCertificateBody: pulumi.String(invokeFile.Result),\n\t\t\tPrivateKey: pulumi.String(invokeFile1.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.ServerCertificate;\nimport com.pulumi.aws.iam.ServerCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCert = new ServerCertificate(\"testCert\", ServerCertificateArgs.builder()\n .name(\"some_test_cert\")\n .certificateBody(StdFunctions.file(FileArgs.builder()\n .input(\"self-ca-cert.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"test-key.pem\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCert:\n type: aws:iam:ServerCertificate\n name: test_cert\n properties:\n name: some_test_cert\n certificateBody:\n fn::invoke:\n Function: std:file\n Arguments:\n input: self-ca-cert.pem\n Return: result\n privateKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: test-key.pem\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**Example with cert in-line:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCertAlt = new aws.iam.ServerCertificate(\"test_cert_alt\", {\n name: \"alt_test_cert\",\n certificateBody: `-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n`,\n privateKey: `-----BEGIN RSA PRIVATE KEY-----\n[......] # cert contents\n-----END RSA PRIVATE KEY-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cert_alt = aws.iam.ServerCertificate(\"test_cert_alt\",\n name=\"alt_test_cert\",\n certificate_body=\"\"\"-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n\"\"\",\n private_key=\"\"\"-----BEGIN RSA PRIVATE KEY-----\n[......] # cert contents\n-----END RSA PRIVATE KEY-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCertAlt = new Aws.Iam.ServerCertificate(\"test_cert_alt\", new()\n {\n Name = \"alt_test_cert\",\n CertificateBody = @\"-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n\",\n PrivateKey = @\"-----BEGIN RSA PRIVATE KEY-----\n[......] # cert contents\n-----END RSA PRIVATE KEY-----\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.NewServerCertificate(ctx, \"test_cert_alt\", \u0026iam.ServerCertificateArgs{\n\t\t\tName: pulumi.String(\"alt_test_cert\"),\n\t\t\tCertificateBody: pulumi.String(\"-----BEGIN CERTIFICATE-----\\n[......] # cert contents\\n-----END CERTIFICATE-----\\n\"),\n\t\t\tPrivateKey: pulumi.String(\"-----BEGIN RSA PRIVATE KEY-----\\n[......] # cert contents\\n-----END RSA PRIVATE KEY-----\\n\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.ServerCertificate;\nimport com.pulumi.aws.iam.ServerCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCertAlt = new ServerCertificate(\"testCertAlt\", ServerCertificateArgs.builder()\n .name(\"alt_test_cert\")\n .certificateBody(\"\"\"\n-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n \"\"\")\n .privateKey(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\n[......] # cert contents\n-----END RSA PRIVATE KEY-----\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCertAlt:\n type: aws:iam:ServerCertificate\n name: test_cert_alt\n properties:\n name: alt_test_cert\n certificateBody: |\n -----BEGIN CERTIFICATE-----\n [......] # cert contents\n -----END CERTIFICATE-----\n privateKey: |\n -----BEGIN RSA PRIVATE KEY-----\n [......] # cert contents\n -----END RSA PRIVATE KEY-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**Use in combination with an AWS ELB resource:**\n\nSome properties of an IAM Server Certificates cannot be updated while they are\nin use. In order for the provider to effectively manage a Certificate in this situation, it is\nrecommended you utilize the `name_prefix` attribute and enable the\n`create_before_destroy`. This will allow this provider\nto create a new, updated `aws.iam.ServerCertificate` resource and replace it in\ndependant resources before attempting to destroy the old version.\n\n## Import\n\nUsing `pulumi import`, import IAM Server Certificates using the `name`. For example:\n\n```sh\n$ pulumi import aws:iam/serverCertificate:ServerCertificate certificate example.com-certificate-until-2018\n```\n", "properties": { "arn": { "type": "string", @@ -281392,7 +281392,7 @@ } }, "aws:iam/signingCertificate:SigningCertificate": { - "description": "Provides an IAM Signing Certificate resource to upload Signing Certificates.\n\n\u003e **Note:** All arguments including the certificate body will be stored in the raw state as plain-text.\n## Example Usage\n\n**Using certs on file:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst testCert = new aws.iam.SigningCertificate(\"test_cert\", {\n username: \"some_test_cert\",\n certificateBody: std.file({\n input: \"self-ca-cert.pem\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest_cert = aws.iam.SigningCertificate(\"test_cert\",\n username=\"some_test_cert\",\n certificate_body=std.file(input=\"self-ca-cert.pem\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCert = new Aws.Iam.SigningCertificate(\"test_cert\", new()\n {\n Username = \"some_test_cert\",\n CertificateBody = Std.File.Invoke(new()\n {\n Input = \"self-ca-cert.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"self-ca-cert.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewSigningCertificate(ctx, \"test_cert\", \u0026iam.SigningCertificateArgs{\n\t\t\tUsername: pulumi.String(\"some_test_cert\"),\n\t\t\tCertificateBody: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.SigningCertificate;\nimport com.pulumi.aws.iam.SigningCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCert = new SigningCertificate(\"testCert\", SigningCertificateArgs.builder()\n .username(\"some_test_cert\")\n .certificateBody(StdFunctions.file(FileArgs.builder()\n .input(\"self-ca-cert.pem\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCert:\n type: aws:iam:SigningCertificate\n name: test_cert\n properties:\n username: some_test_cert\n certificateBody:\n fn::invoke:\n function: std:file\n arguments:\n input: self-ca-cert.pem\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**Example with cert in-line:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCertAlt = new aws.iam.SigningCertificate(\"test_cert_alt\", {\n username: \"some_test_cert\",\n certificateBody: `-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cert_alt = aws.iam.SigningCertificate(\"test_cert_alt\",\n username=\"some_test_cert\",\n certificate_body=\"\"\"-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCertAlt = new Aws.Iam.SigningCertificate(\"test_cert_alt\", new()\n {\n Username = \"some_test_cert\",\n CertificateBody = @\"-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.NewSigningCertificate(ctx, \"test_cert_alt\", \u0026iam.SigningCertificateArgs{\n\t\t\tUsername: pulumi.String(\"some_test_cert\"),\n\t\t\tCertificateBody: pulumi.String(\"-----BEGIN CERTIFICATE-----\\n[......] # cert contents\\n-----END CERTIFICATE-----\\n\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.SigningCertificate;\nimport com.pulumi.aws.iam.SigningCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCertAlt = new SigningCertificate(\"testCertAlt\", SigningCertificateArgs.builder()\n .username(\"some_test_cert\")\n .certificateBody(\"\"\"\n-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCertAlt:\n type: aws:iam:SigningCertificate\n name: test_cert_alt\n properties:\n username: some_test_cert\n certificateBody: |\n -----BEGIN CERTIFICATE-----\n [......] # cert contents\n -----END CERTIFICATE-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Signing Certificates using the `id`. For example:\n\n```sh\n$ pulumi import aws:iam/signingCertificate:SigningCertificate certificate IDIDIDIDID:user-name\n```\n", + "description": "Provides an IAM Signing Certificate resource to upload Signing Certificates.\n\n\u003e **Note:** All arguments including the certificate body will be stored in the raw state as plain-text.\n## Example Usage\n\n**Using certs on file:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst testCert = new aws.iam.SigningCertificate(\"test_cert\", {\n username: \"some_test_cert\",\n certificateBody: std.file({\n input: \"self-ca-cert.pem\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest_cert = aws.iam.SigningCertificate(\"test_cert\",\n username=\"some_test_cert\",\n certificate_body=std.file(input=\"self-ca-cert.pem\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCert = new Aws.Iam.SigningCertificate(\"test_cert\", new()\n {\n Username = \"some_test_cert\",\n CertificateBody = Std.File.Invoke(new()\n {\n Input = \"self-ca-cert.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"self-ca-cert.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewSigningCertificate(ctx, \"test_cert\", \u0026iam.SigningCertificateArgs{\n\t\t\tUsername: pulumi.String(\"some_test_cert\"),\n\t\t\tCertificateBody: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.SigningCertificate;\nimport com.pulumi.aws.iam.SigningCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCert = new SigningCertificate(\"testCert\", SigningCertificateArgs.builder()\n .username(\"some_test_cert\")\n .certificateBody(StdFunctions.file(FileArgs.builder()\n .input(\"self-ca-cert.pem\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCert:\n type: aws:iam:SigningCertificate\n name: test_cert\n properties:\n username: some_test_cert\n certificateBody:\n fn::invoke:\n Function: std:file\n Arguments:\n input: self-ca-cert.pem\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**Example with cert in-line:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCertAlt = new aws.iam.SigningCertificate(\"test_cert_alt\", {\n username: \"some_test_cert\",\n certificateBody: `-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cert_alt = aws.iam.SigningCertificate(\"test_cert_alt\",\n username=\"some_test_cert\",\n certificate_body=\"\"\"-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCertAlt = new Aws.Iam.SigningCertificate(\"test_cert_alt\", new()\n {\n Username = \"some_test_cert\",\n CertificateBody = @\"-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.NewSigningCertificate(ctx, \"test_cert_alt\", \u0026iam.SigningCertificateArgs{\n\t\t\tUsername: pulumi.String(\"some_test_cert\"),\n\t\t\tCertificateBody: pulumi.String(\"-----BEGIN CERTIFICATE-----\\n[......] # cert contents\\n-----END CERTIFICATE-----\\n\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.SigningCertificate;\nimport com.pulumi.aws.iam.SigningCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCertAlt = new SigningCertificate(\"testCertAlt\", SigningCertificateArgs.builder()\n .username(\"some_test_cert\")\n .certificateBody(\"\"\"\n-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCertAlt:\n type: aws:iam:SigningCertificate\n name: test_cert_alt\n properties:\n username: some_test_cert\n certificateBody: |\n -----BEGIN CERTIFICATE-----\n [......] # cert contents\n -----END CERTIFICATE-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Signing Certificates using the `id`. For example:\n\n```sh\n$ pulumi import aws:iam/signingCertificate:SigningCertificate certificate IDIDIDIDID:user-name\n```\n", "properties": { "certificateBody": { "type": "string", @@ -281558,7 +281558,7 @@ } }, "aws:iam/user:User": { - "description": "Provides an IAM user.\n\n\u003e *NOTE:* If policies are attached to the user via the `aws.iam.PolicyAttachment` resource and you are modifying the user `name` or `path`, the `force_destroy` argument must be set to `true` and applied before attempting the operation otherwise you will encounter a `DeleteConflict` error. The `aws.iam.UserPolicyAttachment` resource (recommended) does not have this requirement.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.iam.User(\"lb\", {\n name: \"loadbalancer\",\n path: \"/system/\",\n tags: {\n \"tag-key\": \"tag-value\",\n },\n});\nconst lbAccessKey = new aws.iam.AccessKey(\"lb\", {user: lb.name});\nconst lbRo = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst lbRoUserPolicy = new aws.iam.UserPolicy(\"lb_ro\", {\n name: \"test\",\n user: lb.name,\n policy: lbRo.then(lbRo =\u003e lbRo.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb = aws.iam.User(\"lb\",\n name=\"loadbalancer\",\n path=\"/system/\",\n tags={\n \"tag-key\": \"tag-value\",\n })\nlb_access_key = aws.iam.AccessKey(\"lb\", user=lb.name)\nlb_ro = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"ec2:Describe*\"],\n \"resources\": [\"*\"],\n}])\nlb_ro_user_policy = aws.iam.UserPolicy(\"lb_ro\",\n name=\"test\",\n user=lb.name,\n policy=lb_ro.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.Iam.User(\"lb\", new()\n {\n Name = \"loadbalancer\",\n Path = \"/system/\",\n Tags = \n {\n { \"tag-key\", \"tag-value\" },\n },\n });\n\n var lbAccessKey = new Aws.Iam.AccessKey(\"lb\", new()\n {\n User = lb.Name,\n });\n\n var lbRo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var lbRoUserPolicy = new Aws.Iam.UserPolicy(\"lb_ro\", new()\n {\n Name = \"test\",\n User = lb.Name,\n Policy = lbRo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := iam.NewUser(ctx, \"lb\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"loadbalancer\"),\n\t\t\tPath: pulumi.String(\"/system/\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag-key\": pulumi.String(\"tag-value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewAccessKey(ctx, \"lb\", \u0026iam.AccessKeyArgs{\n\t\t\tUser: lb.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlbRo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserPolicy(ctx, \"lb_ro\", \u0026iam.UserPolicyArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tUser: lb.Name,\n\t\t\tPolicy: pulumi.String(lbRo.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.AccessKey;\nimport com.pulumi.aws.iam.AccessKeyArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.UserPolicy;\nimport com.pulumi.aws.iam.UserPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var lb = new User(\"lb\", UserArgs.builder()\n .name(\"loadbalancer\")\n .path(\"/system/\")\n .tags(Map.of(\"tag-key\", \"tag-value\"))\n .build());\n\n var lbAccessKey = new AccessKey(\"lbAccessKey\", AccessKeyArgs.builder()\n .user(lb.name())\n .build());\n\n final var lbRo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var lbRoUserPolicy = new UserPolicy(\"lbRoUserPolicy\", UserPolicyArgs.builder()\n .name(\"test\")\n .user(lb.name())\n .policy(lbRo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:iam:User\n properties:\n name: loadbalancer\n path: /system/\n tags:\n tag-key: tag-value\n lbAccessKey:\n type: aws:iam:AccessKey\n name: lb\n properties:\n user: ${lb.name}\n lbRoUserPolicy:\n type: aws:iam:UserPolicy\n name: lb_ro\n properties:\n name: test\n user: ${lb.name}\n policy: ${lbRo.json}\nvariables:\n lbRo:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Users using the `name`. For example:\n\n```sh\n$ pulumi import aws:iam/user:User lb loadbalancer\n```\n", + "description": "Provides an IAM user.\n\n\u003e *NOTE:* If policies are attached to the user via the `aws.iam.PolicyAttachment` resource and you are modifying the user `name` or `path`, the `force_destroy` argument must be set to `true` and applied before attempting the operation otherwise you will encounter a `DeleteConflict` error. The `aws.iam.UserPolicyAttachment` resource (recommended) does not have this requirement.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.iam.User(\"lb\", {\n name: \"loadbalancer\",\n path: \"/system/\",\n tags: {\n \"tag-key\": \"tag-value\",\n },\n});\nconst lbAccessKey = new aws.iam.AccessKey(\"lb\", {user: lb.name});\nconst lbRo = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst lbRoUserPolicy = new aws.iam.UserPolicy(\"lb_ro\", {\n name: \"test\",\n user: lb.name,\n policy: lbRo.then(lbRo =\u003e lbRo.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb = aws.iam.User(\"lb\",\n name=\"loadbalancer\",\n path=\"/system/\",\n tags={\n \"tag-key\": \"tag-value\",\n })\nlb_access_key = aws.iam.AccessKey(\"lb\", user=lb.name)\nlb_ro = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"ec2:Describe*\"],\n \"resources\": [\"*\"],\n}])\nlb_ro_user_policy = aws.iam.UserPolicy(\"lb_ro\",\n name=\"test\",\n user=lb.name,\n policy=lb_ro.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.Iam.User(\"lb\", new()\n {\n Name = \"loadbalancer\",\n Path = \"/system/\",\n Tags = \n {\n { \"tag-key\", \"tag-value\" },\n },\n });\n\n var lbAccessKey = new Aws.Iam.AccessKey(\"lb\", new()\n {\n User = lb.Name,\n });\n\n var lbRo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var lbRoUserPolicy = new Aws.Iam.UserPolicy(\"lb_ro\", new()\n {\n Name = \"test\",\n User = lb.Name,\n Policy = lbRo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := iam.NewUser(ctx, \"lb\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"loadbalancer\"),\n\t\t\tPath: pulumi.String(\"/system/\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag-key\": pulumi.String(\"tag-value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewAccessKey(ctx, \"lb\", \u0026iam.AccessKeyArgs{\n\t\t\tUser: lb.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlbRo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserPolicy(ctx, \"lb_ro\", \u0026iam.UserPolicyArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tUser: lb.Name,\n\t\t\tPolicy: pulumi.String(lbRo.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.AccessKey;\nimport com.pulumi.aws.iam.AccessKeyArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.UserPolicy;\nimport com.pulumi.aws.iam.UserPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var lb = new User(\"lb\", UserArgs.builder()\n .name(\"loadbalancer\")\n .path(\"/system/\")\n .tags(Map.of(\"tag-key\", \"tag-value\"))\n .build());\n\n var lbAccessKey = new AccessKey(\"lbAccessKey\", AccessKeyArgs.builder()\n .user(lb.name())\n .build());\n\n final var lbRo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var lbRoUserPolicy = new UserPolicy(\"lbRoUserPolicy\", UserPolicyArgs.builder()\n .name(\"test\")\n .user(lb.name())\n .policy(lbRo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:iam:User\n properties:\n name: loadbalancer\n path: /system/\n tags:\n tag-key: tag-value\n lbAccessKey:\n type: aws:iam:AccessKey\n name: lb\n properties:\n user: ${lb.name}\n lbRoUserPolicy:\n type: aws:iam:UserPolicy\n name: lb_ro\n properties:\n name: test\n user: ${lb.name}\n policy: ${lbRo.json}\nvariables:\n lbRo:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Users using the `name`. For example:\n\n```sh\n$ pulumi import aws:iam/user:User lb loadbalancer\n```\n", "properties": { "arn": { "type": "string", @@ -282325,7 +282325,7 @@ } }, "aws:identitystore/groupMembership:GroupMembership": { - "description": "Resource for managing an AWS IdentityStore Group Membership.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleUser = new aws.identitystore.User(\"example\", {\n identityStoreId: example.then(example =\u003e example.identityStoreIds?.[0]),\n displayName: \"John Doe\",\n userName: \"john.doe@example.com\",\n name: {\n familyName: \"Doe\",\n givenName: \"John\",\n },\n});\nconst exampleGroup = new aws.identitystore.Group(\"example\", {\n identityStoreId: example.then(example =\u003e example.identityStoreIds?.[0]),\n displayName: \"MyGroup\",\n description: \"Some group name\",\n});\nconst exampleGroupMembership = new aws.identitystore.GroupMembership(\"example\", {\n identityStoreId: example.then(example =\u003e example.identityStoreIds?.[0]),\n groupId: exampleGroup.groupId,\n memberId: exampleUser.userId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_user = aws.identitystore.User(\"example\",\n identity_store_id=example.identity_store_ids[0],\n display_name=\"John Doe\",\n user_name=\"john.doe@example.com\",\n name={\n \"family_name\": \"Doe\",\n \"given_name\": \"John\",\n })\nexample_group = aws.identitystore.Group(\"example\",\n identity_store_id=example.identity_store_ids[0],\n display_name=\"MyGroup\",\n description=\"Some group name\")\nexample_group_membership = aws.identitystore.GroupMembership(\"example\",\n identity_store_id=example.identity_store_ids[0],\n group_id=example_group.group_id,\n member_id=example_user.user_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleUser = new Aws.IdentityStore.User(\"example\", new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n DisplayName = \"John Doe\",\n UserName = \"john.doe@example.com\",\n Name = new Aws.IdentityStore.Inputs.UserNameArgs\n {\n FamilyName = \"Doe\",\n GivenName = \"John\",\n },\n });\n\n var exampleGroup = new Aws.IdentityStore.Group(\"example\", new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n DisplayName = \"MyGroup\",\n Description = \"Some group name\",\n });\n\n var exampleGroupMembership = new Aws.IdentityStore.GroupMembership(\"example\", new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n GroupId = exampleGroup.GroupId,\n MemberId = exampleUser.UserId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := identitystore.NewUser(ctx, \"example\", \u0026identitystore.UserArgs{\n\t\t\tIdentityStoreId: pulumi.String(example.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"John Doe\"),\n\t\t\tUserName: pulumi.String(\"john.doe@example.com\"),\n\t\t\tName: \u0026identitystore.UserNameArgs{\n\t\t\t\tFamilyName: pulumi.String(\"Doe\"),\n\t\t\t\tGivenName: pulumi.String(\"John\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := identitystore.NewGroup(ctx, \"example\", \u0026identitystore.GroupArgs{\n\t\t\tIdentityStoreId: pulumi.String(example.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"MyGroup\"),\n\t\t\tDescription: pulumi.String(\"Some group name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = identitystore.NewGroupMembership(ctx, \"example\", \u0026identitystore.GroupMembershipArgs{\n\t\t\tIdentityStoreId: pulumi.String(example.IdentityStoreIds[0]),\n\t\t\tGroupId: exampleGroup.GroupId,\n\t\t\tMemberId: exampleUser.UserId,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.identitystore.User;\nimport com.pulumi.aws.identitystore.UserArgs;\nimport com.pulumi.aws.identitystore.inputs.UserNameArgs;\nimport com.pulumi.aws.identitystore.Group;\nimport com.pulumi.aws.identitystore.GroupArgs;\nimport com.pulumi.aws.identitystore.GroupMembership;\nimport com.pulumi.aws.identitystore.GroupMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .displayName(\"John Doe\")\n .userName(\"john.doe@example.com\")\n .name(UserNameArgs.builder()\n .familyName(\"Doe\")\n .givenName(\"John\")\n .build())\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .displayName(\"MyGroup\")\n .description(\"Some group name\")\n .build());\n\n var exampleGroupMembership = new GroupMembership(\"exampleGroupMembership\", GroupMembershipArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .groupId(exampleGroup.groupId())\n .memberId(exampleUser.userId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleUser:\n type: aws:identitystore:User\n name: example\n properties:\n identityStoreId: ${example.identityStoreIds[0]}\n displayName: John Doe\n userName: john.doe@example.com\n name:\n familyName: Doe\n givenName: John\n exampleGroup:\n type: aws:identitystore:Group\n name: example\n properties:\n identityStoreId: ${example.identityStoreIds[0]}\n displayName: MyGroup\n description: Some group name\n exampleGroupMembership:\n type: aws:identitystore:GroupMembership\n name: example\n properties:\n identityStoreId: ${example.identityStoreIds[0]}\n groupId: ${exampleGroup.groupId}\n memberId: ${exampleUser.userId}\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_identitystore_group_membership` using the `identity_store_id/membership_id`. For example:\n\n```sh\n$ pulumi import aws:identitystore/groupMembership:GroupMembership example d-0000000000/00000000-0000-0000-0000-000000000000\n```\n", + "description": "Resource for managing an AWS IdentityStore Group Membership.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleUser = new aws.identitystore.User(\"example\", {\n identityStoreId: example.then(example =\u003e example.identityStoreIds?.[0]),\n displayName: \"John Doe\",\n userName: \"john.doe@example.com\",\n name: {\n familyName: \"Doe\",\n givenName: \"John\",\n },\n});\nconst exampleGroup = new aws.identitystore.Group(\"example\", {\n identityStoreId: example.then(example =\u003e example.identityStoreIds?.[0]),\n displayName: \"MyGroup\",\n description: \"Some group name\",\n});\nconst exampleGroupMembership = new aws.identitystore.GroupMembership(\"example\", {\n identityStoreId: example.then(example =\u003e example.identityStoreIds?.[0]),\n groupId: exampleGroup.groupId,\n memberId: exampleUser.userId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_user = aws.identitystore.User(\"example\",\n identity_store_id=example.identity_store_ids[0],\n display_name=\"John Doe\",\n user_name=\"john.doe@example.com\",\n name={\n \"family_name\": \"Doe\",\n \"given_name\": \"John\",\n })\nexample_group = aws.identitystore.Group(\"example\",\n identity_store_id=example.identity_store_ids[0],\n display_name=\"MyGroup\",\n description=\"Some group name\")\nexample_group_membership = aws.identitystore.GroupMembership(\"example\",\n identity_store_id=example.identity_store_ids[0],\n group_id=example_group.group_id,\n member_id=example_user.user_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleUser = new Aws.IdentityStore.User(\"example\", new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n DisplayName = \"John Doe\",\n UserName = \"john.doe@example.com\",\n Name = new Aws.IdentityStore.Inputs.UserNameArgs\n {\n FamilyName = \"Doe\",\n GivenName = \"John\",\n },\n });\n\n var exampleGroup = new Aws.IdentityStore.Group(\"example\", new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n DisplayName = \"MyGroup\",\n Description = \"Some group name\",\n });\n\n var exampleGroupMembership = new Aws.IdentityStore.GroupMembership(\"example\", new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n GroupId = exampleGroup.GroupId,\n MemberId = exampleUser.UserId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := identitystore.NewUser(ctx, \"example\", \u0026identitystore.UserArgs{\n\t\t\tIdentityStoreId: pulumi.String(example.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"John Doe\"),\n\t\t\tUserName: pulumi.String(\"john.doe@example.com\"),\n\t\t\tName: \u0026identitystore.UserNameArgs{\n\t\t\t\tFamilyName: pulumi.String(\"Doe\"),\n\t\t\t\tGivenName: pulumi.String(\"John\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := identitystore.NewGroup(ctx, \"example\", \u0026identitystore.GroupArgs{\n\t\t\tIdentityStoreId: pulumi.String(example.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"MyGroup\"),\n\t\t\tDescription: pulumi.String(\"Some group name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = identitystore.NewGroupMembership(ctx, \"example\", \u0026identitystore.GroupMembershipArgs{\n\t\t\tIdentityStoreId: pulumi.String(example.IdentityStoreIds[0]),\n\t\t\tGroupId: exampleGroup.GroupId,\n\t\t\tMemberId: exampleUser.UserId,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.identitystore.User;\nimport com.pulumi.aws.identitystore.UserArgs;\nimport com.pulumi.aws.identitystore.inputs.UserNameArgs;\nimport com.pulumi.aws.identitystore.Group;\nimport com.pulumi.aws.identitystore.GroupArgs;\nimport com.pulumi.aws.identitystore.GroupMembership;\nimport com.pulumi.aws.identitystore.GroupMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .displayName(\"John Doe\")\n .userName(\"john.doe@example.com\")\n .name(UserNameArgs.builder()\n .familyName(\"Doe\")\n .givenName(\"John\")\n .build())\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .displayName(\"MyGroup\")\n .description(\"Some group name\")\n .build());\n\n var exampleGroupMembership = new GroupMembership(\"exampleGroupMembership\", GroupMembershipArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .groupId(exampleGroup.groupId())\n .memberId(exampleUser.userId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleUser:\n type: aws:identitystore:User\n name: example\n properties:\n identityStoreId: ${example.identityStoreIds[0]}\n displayName: John Doe\n userName: john.doe@example.com\n name:\n familyName: Doe\n givenName: John\n exampleGroup:\n type: aws:identitystore:Group\n name: example\n properties:\n identityStoreId: ${example.identityStoreIds[0]}\n displayName: MyGroup\n description: Some group name\n exampleGroupMembership:\n type: aws:identitystore:GroupMembership\n name: example\n properties:\n identityStoreId: ${example.identityStoreIds[0]}\n groupId: ${exampleGroup.groupId}\n memberId: ${exampleUser.userId}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_identitystore_group_membership` using the `identity_store_id/membership_id`. For example:\n\n```sh\n$ pulumi import aws:identitystore/groupMembership:GroupMembership example d-0000000000/00000000-0000-0000-0000-000000000000\n```\n", "properties": { "groupId": { "type": "string", @@ -284352,7 +284352,7 @@ } }, "aws:imagebuilder/lifecyclePolicy:LifecyclePolicy": { - "description": "Manages an Image Builder Lifecycle Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst currentGetPartition = aws.getPartition({});\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Principal: {\n Service: currentGetPartition.then(currentGetPartition =\u003e `imagebuilder.${currentGetPartition.dnsSuffix}`),\n },\n }],\n }),\n name: \"example\",\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n policyArn: currentGetPartition.then(currentGetPartition =\u003e `arn:${currentGetPartition.partition}:iam::aws:policy/service-role/EC2ImageBuilderLifecycleExecutionPolicy`),\n role: example.name,\n});\nconst exampleLifecyclePolicy = new aws.imagebuilder.LifecyclePolicy(\"example\", {\n name: \"name\",\n description: \"Example description\",\n executionRole: example.arn,\n resourceType: \"AMI_IMAGE\",\n policyDetails: [{\n action: {\n type: \"DELETE\",\n },\n filter: {\n type: \"AGE\",\n value: 6,\n retainAtLeast: 10,\n unit: \"YEARS\",\n },\n }],\n resourceSelection: {\n tagMap: {\n key1: \"value1\",\n key2: \"value2\",\n },\n },\n}, {\n dependsOn: [exampleRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ncurrent_get_partition = aws.get_partition()\nexample = aws.iam.Role(\"example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": f\"imagebuilder.{current_get_partition.dns_suffix}\",\n },\n }],\n }),\n name=\"example\")\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n policy_arn=f\"arn:{current_get_partition.partition}:iam::aws:policy/service-role/EC2ImageBuilderLifecycleExecutionPolicy\",\n role=example.name)\nexample_lifecycle_policy = aws.imagebuilder.LifecyclePolicy(\"example\",\n name=\"name\",\n description=\"Example description\",\n execution_role=example.arn,\n resource_type=\"AMI_IMAGE\",\n policy_details=[{\n \"action\": {\n \"type\": \"DELETE\",\n },\n \"filter\": {\n \"type\": \"AGE\",\n \"value\": 6,\n \"retain_at_least\": 10,\n \"unit\": \"YEARS\",\n },\n }],\n resource_selection={\n \"tag_map\": {\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = $\"imagebuilder.{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.DnsSuffix)}\",\n },\n },\n },\n }),\n Name = \"example\",\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n PolicyArn = $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::aws:policy/service-role/EC2ImageBuilderLifecycleExecutionPolicy\",\n Role = example.Name,\n });\n\n var exampleLifecyclePolicy = new Aws.ImageBuilder.LifecyclePolicy(\"example\", new()\n {\n Name = \"name\",\n Description = \"Example description\",\n ExecutionRole = example.Arn,\n ResourceType = \"AMI_IMAGE\",\n PolicyDetails = new[]\n {\n new Aws.ImageBuilder.Inputs.LifecyclePolicyPolicyDetailArgs\n {\n Action = new Aws.ImageBuilder.Inputs.LifecyclePolicyPolicyDetailActionArgs\n {\n Type = \"DELETE\",\n },\n Filter = new Aws.ImageBuilder.Inputs.LifecyclePolicyPolicyDetailFilterArgs\n {\n Type = \"AGE\",\n Value = 6,\n RetainAtLeast = 10,\n Unit = \"YEARS\",\n },\n },\n },\n ResourceSelection = new Aws.ImageBuilder.Inputs.LifecyclePolicyResourceSelectionArgs\n {\n TagMap = \n {\n { \"key1\", \"value1\" },\n { \"key2\", \"value2\" },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": fmt.Sprintf(\"imagebuilder.%v\", currentGetPartition.DnsSuffix),\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRolePolicyAttachment, err := iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.Sprintf(\"arn:%v:iam::aws:policy/service-role/EC2ImageBuilderLifecycleExecutionPolicy\", currentGetPartition.Partition),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = imagebuilder.NewLifecyclePolicy(ctx, \"example\", \u0026imagebuilder.LifecyclePolicyArgs{\n\t\t\tName: pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"Example description\"),\n\t\t\tExecutionRole: example.Arn,\n\t\t\tResourceType: pulumi.String(\"AMI_IMAGE\"),\n\t\t\tPolicyDetails: imagebuilder.LifecyclePolicyPolicyDetailArray{\n\t\t\t\t\u0026imagebuilder.LifecyclePolicyPolicyDetailArgs{\n\t\t\t\t\tAction: \u0026imagebuilder.LifecyclePolicyPolicyDetailActionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"DELETE\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilter: \u0026imagebuilder.LifecyclePolicyPolicyDetailFilterArgs{\n\t\t\t\t\t\tType: pulumi.String(\"AGE\"),\n\t\t\t\t\t\tValue: pulumi.Int(6),\n\t\t\t\t\t\tRetainAtLeast: pulumi.Int(10),\n\t\t\t\t\t\tUnit: pulumi.String(\"YEARS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceSelection: \u0026imagebuilder.LifecyclePolicyResourceSelectionArgs{\n\t\t\t\tTagMap: pulumi.StringMap{\n\t\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\"key2\": pulumi.String(\"value2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleRolePolicyAttachment,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.imagebuilder.LifecyclePolicy;\nimport com.pulumi.aws.imagebuilder.LifecyclePolicyArgs;\nimport com.pulumi.aws.imagebuilder.inputs.LifecyclePolicyPolicyDetailArgs;\nimport com.pulumi.aws.imagebuilder.inputs.LifecyclePolicyPolicyDetailActionArgs;\nimport com.pulumi.aws.imagebuilder.inputs.LifecyclePolicyPolicyDetailFilterArgs;\nimport com.pulumi.aws.imagebuilder.inputs.LifecyclePolicyResourceSelectionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n var example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", String.format(\"imagebuilder.%s\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.dnsSuffix())))\n ))\n )))\n )))\n .name(\"example\")\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(String.format(\"arn:%s:iam::aws:policy/service-role/EC2ImageBuilderLifecycleExecutionPolicy\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .role(example.name())\n .build());\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder()\n .name(\"name\")\n .description(\"Example description\")\n .executionRole(example.arn())\n .resourceType(\"AMI_IMAGE\")\n .policyDetails(LifecyclePolicyPolicyDetailArgs.builder()\n .action(LifecyclePolicyPolicyDetailActionArgs.builder()\n .type(\"DELETE\")\n .build())\n .filter(LifecyclePolicyPolicyDetailFilterArgs.builder()\n .type(\"AGE\")\n .value(6)\n .retainAtLeast(10)\n .unit(\"YEARS\")\n .build())\n .build())\n .resourceSelection(LifecyclePolicyResourceSelectionArgs.builder()\n .tagMap(Map.ofEntries(\n Map.entry(\"key1\", \"value1\"),\n Map.entry(\"key2\", \"value2\")\n ))\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Principal:\n Service: imagebuilder.${currentGetPartition.dnsSuffix}\n name: example\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n policyArn: arn:${currentGetPartition.partition}:iam::aws:policy/service-role/EC2ImageBuilderLifecycleExecutionPolicy\n role: ${example.name}\n exampleLifecyclePolicy:\n type: aws:imagebuilder:LifecyclePolicy\n name: example\n properties:\n name: name\n description: Example description\n executionRole: ${example.arn}\n resourceType: AMI_IMAGE\n policyDetails:\n - action:\n type: DELETE\n filter:\n type: AGE\n value: 6\n retainAtLeast: 10\n unit: YEARS\n resourceSelection:\n tagMap:\n key1: value1\n key2: value2\n options:\n dependsOn:\n - ${exampleRolePolicyAttachment}\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n currentGetPartition:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_imagebuilder_lifecycle_policy` using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:imagebuilder/lifecyclePolicy:LifecyclePolicy example arn:aws:imagebuilder:us-east-1:123456789012:lifecycle-policy/example\n```\n", + "description": "Manages an Image Builder Lifecycle Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst currentGetPartition = aws.getPartition({});\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Principal: {\n Service: currentGetPartition.then(currentGetPartition =\u003e `imagebuilder.${currentGetPartition.dnsSuffix}`),\n },\n }],\n }),\n name: \"example\",\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n policyArn: currentGetPartition.then(currentGetPartition =\u003e `arn:${currentGetPartition.partition}:iam::aws:policy/service-role/EC2ImageBuilderLifecycleExecutionPolicy`),\n role: example.name,\n});\nconst exampleLifecyclePolicy = new aws.imagebuilder.LifecyclePolicy(\"example\", {\n name: \"name\",\n description: \"Example description\",\n executionRole: example.arn,\n resourceType: \"AMI_IMAGE\",\n policyDetails: [{\n action: {\n type: \"DELETE\",\n },\n filter: {\n type: \"AGE\",\n value: 6,\n retainAtLeast: 10,\n unit: \"YEARS\",\n },\n }],\n resourceSelection: {\n tagMap: {\n key1: \"value1\",\n key2: \"value2\",\n },\n },\n}, {\n dependsOn: [exampleRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ncurrent_get_partition = aws.get_partition()\nexample = aws.iam.Role(\"example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": f\"imagebuilder.{current_get_partition.dns_suffix}\",\n },\n }],\n }),\n name=\"example\")\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n policy_arn=f\"arn:{current_get_partition.partition}:iam::aws:policy/service-role/EC2ImageBuilderLifecycleExecutionPolicy\",\n role=example.name)\nexample_lifecycle_policy = aws.imagebuilder.LifecyclePolicy(\"example\",\n name=\"name\",\n description=\"Example description\",\n execution_role=example.arn,\n resource_type=\"AMI_IMAGE\",\n policy_details=[{\n \"action\": {\n \"type\": \"DELETE\",\n },\n \"filter\": {\n \"type\": \"AGE\",\n \"value\": 6,\n \"retain_at_least\": 10,\n \"unit\": \"YEARS\",\n },\n }],\n resource_selection={\n \"tag_map\": {\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = $\"imagebuilder.{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.DnsSuffix)}\",\n },\n },\n },\n }),\n Name = \"example\",\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n PolicyArn = $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::aws:policy/service-role/EC2ImageBuilderLifecycleExecutionPolicy\",\n Role = example.Name,\n });\n\n var exampleLifecyclePolicy = new Aws.ImageBuilder.LifecyclePolicy(\"example\", new()\n {\n Name = \"name\",\n Description = \"Example description\",\n ExecutionRole = example.Arn,\n ResourceType = \"AMI_IMAGE\",\n PolicyDetails = new[]\n {\n new Aws.ImageBuilder.Inputs.LifecyclePolicyPolicyDetailArgs\n {\n Action = new Aws.ImageBuilder.Inputs.LifecyclePolicyPolicyDetailActionArgs\n {\n Type = \"DELETE\",\n },\n Filter = new Aws.ImageBuilder.Inputs.LifecyclePolicyPolicyDetailFilterArgs\n {\n Type = \"AGE\",\n Value = 6,\n RetainAtLeast = 10,\n Unit = \"YEARS\",\n },\n },\n },\n ResourceSelection = new Aws.ImageBuilder.Inputs.LifecyclePolicyResourceSelectionArgs\n {\n TagMap = \n {\n { \"key1\", \"value1\" },\n { \"key2\", \"value2\" },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": fmt.Sprintf(\"imagebuilder.%v\", currentGetPartition.DnsSuffix),\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRolePolicyAttachment, err := iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.Sprintf(\"arn:%v:iam::aws:policy/service-role/EC2ImageBuilderLifecycleExecutionPolicy\", currentGetPartition.Partition),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = imagebuilder.NewLifecyclePolicy(ctx, \"example\", \u0026imagebuilder.LifecyclePolicyArgs{\n\t\t\tName: pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"Example description\"),\n\t\t\tExecutionRole: example.Arn,\n\t\t\tResourceType: pulumi.String(\"AMI_IMAGE\"),\n\t\t\tPolicyDetails: imagebuilder.LifecyclePolicyPolicyDetailArray{\n\t\t\t\t\u0026imagebuilder.LifecyclePolicyPolicyDetailArgs{\n\t\t\t\t\tAction: \u0026imagebuilder.LifecyclePolicyPolicyDetailActionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"DELETE\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilter: \u0026imagebuilder.LifecyclePolicyPolicyDetailFilterArgs{\n\t\t\t\t\t\tType: pulumi.String(\"AGE\"),\n\t\t\t\t\t\tValue: pulumi.Int(6),\n\t\t\t\t\t\tRetainAtLeast: pulumi.Int(10),\n\t\t\t\t\t\tUnit: pulumi.String(\"YEARS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceSelection: \u0026imagebuilder.LifecyclePolicyResourceSelectionArgs{\n\t\t\t\tTagMap: pulumi.StringMap{\n\t\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\"key2\": pulumi.String(\"value2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleRolePolicyAttachment,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.imagebuilder.LifecyclePolicy;\nimport com.pulumi.aws.imagebuilder.LifecyclePolicyArgs;\nimport com.pulumi.aws.imagebuilder.inputs.LifecyclePolicyPolicyDetailArgs;\nimport com.pulumi.aws.imagebuilder.inputs.LifecyclePolicyPolicyDetailActionArgs;\nimport com.pulumi.aws.imagebuilder.inputs.LifecyclePolicyPolicyDetailFilterArgs;\nimport com.pulumi.aws.imagebuilder.inputs.LifecyclePolicyResourceSelectionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n var example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", String.format(\"imagebuilder.%s\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.dnsSuffix())))\n ))\n )))\n )))\n .name(\"example\")\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(String.format(\"arn:%s:iam::aws:policy/service-role/EC2ImageBuilderLifecycleExecutionPolicy\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .role(example.name())\n .build());\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder()\n .name(\"name\")\n .description(\"Example description\")\n .executionRole(example.arn())\n .resourceType(\"AMI_IMAGE\")\n .policyDetails(LifecyclePolicyPolicyDetailArgs.builder()\n .action(LifecyclePolicyPolicyDetailActionArgs.builder()\n .type(\"DELETE\")\n .build())\n .filter(LifecyclePolicyPolicyDetailFilterArgs.builder()\n .type(\"AGE\")\n .value(6)\n .retainAtLeast(10)\n .unit(\"YEARS\")\n .build())\n .build())\n .resourceSelection(LifecyclePolicyResourceSelectionArgs.builder()\n .tagMap(Map.ofEntries(\n Map.entry(\"key1\", \"value1\"),\n Map.entry(\"key2\", \"value2\")\n ))\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Principal:\n Service: imagebuilder.${currentGetPartition.dnsSuffix}\n name: example\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n policyArn: arn:${currentGetPartition.partition}:iam::aws:policy/service-role/EC2ImageBuilderLifecycleExecutionPolicy\n role: ${example.name}\n exampleLifecyclePolicy:\n type: aws:imagebuilder:LifecyclePolicy\n name: example\n properties:\n name: name\n description: Example description\n executionRole: ${example.arn}\n resourceType: AMI_IMAGE\n policyDetails:\n - action:\n type: DELETE\n filter:\n type: AGE\n value: 6\n retainAtLeast: 10\n unit: YEARS\n resourceSelection:\n tagMap:\n key1: value1\n key2: value2\n options:\n dependson:\n - ${exampleRolePolicyAttachment}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_imagebuilder_lifecycle_policy` using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:imagebuilder/lifecyclePolicy:LifecyclePolicy example arn:aws:imagebuilder:us-east-1:123456789012:lifecycle-policy/example\n```\n", "properties": { "arn": { "type": "string", @@ -284972,7 +284972,7 @@ } }, "aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount": { - "description": "Resource for managing an Amazon Inspector Delegated Admin Account.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.inspector2.DelegatedAdminAccount(\"example\", {accountId: current.then(current =\u003e current.accountId)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.inspector2.DelegatedAdminAccount(\"example\", account_id=current.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Inspector2.DelegatedAdminAccount(\"example\", new()\n {\n AccountId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = inspector2.NewDelegatedAdminAccount(ctx, \"example\", \u0026inspector2.DelegatedAdminAccountArgs{\n\t\t\tAccountId: pulumi.String(current.AccountId),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inspector2.DelegatedAdminAccount;\nimport com.pulumi.aws.inspector2.DelegatedAdminAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new DelegatedAdminAccount(\"example\", DelegatedAdminAccountArgs.builder()\n .accountId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:inspector2:DelegatedAdminAccount\n properties:\n accountId: ${current.accountId}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Inspector Delegated Admin Account using the `account_id`. For example:\n\n```sh\n$ pulumi import aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount example 123456789012\n```\n", + "description": "Resource for managing an Amazon Inspector Delegated Admin Account.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.inspector2.DelegatedAdminAccount(\"example\", {accountId: current.then(current =\u003e current.accountId)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.inspector2.DelegatedAdminAccount(\"example\", account_id=current.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Inspector2.DelegatedAdminAccount(\"example\", new()\n {\n AccountId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = inspector2.NewDelegatedAdminAccount(ctx, \"example\", \u0026inspector2.DelegatedAdminAccountArgs{\n\t\t\tAccountId: pulumi.String(current.AccountId),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inspector2.DelegatedAdminAccount;\nimport com.pulumi.aws.inspector2.DelegatedAdminAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new DelegatedAdminAccount(\"example\", DelegatedAdminAccountArgs.builder()\n .accountId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:inspector2:DelegatedAdminAccount\n properties:\n accountId: ${current.accountId}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Inspector Delegated Admin Account using the `account_id`. For example:\n\n```sh\n$ pulumi import aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount example 123456789012\n```\n", "properties": { "accountId": { "type": "string", @@ -285014,7 +285014,7 @@ } }, "aws:inspector2/enabler:Enabler": { - "description": "Resource for enabling Amazon Inspector resource scans.\n\nThis resource must be created in the Organization's Administrator Account.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.inspector2.Enabler(\"example\", {\n accountIds: [\"123456789012\"],\n resourceTypes: [\"EC2\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.inspector2.Enabler(\"example\",\n account_ids=[\"123456789012\"],\n resource_types=[\"EC2\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Inspector2.Enabler(\"example\", new()\n {\n AccountIds = new[]\n {\n \"123456789012\",\n },\n ResourceTypes = new[]\n {\n \"EC2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector2\"\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 := inspector2.NewEnabler(ctx, \"example\", \u0026inspector2.EnablerArgs{\n\t\t\tAccountIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t},\n\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"EC2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.inspector2.Enabler;\nimport com.pulumi.aws.inspector2.EnablerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Enabler(\"example\", EnablerArgs.builder()\n .accountIds(\"123456789012\")\n .resourceTypes(\"EC2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:inspector2:Enabler\n properties:\n accountIds:\n - '123456789012'\n resourceTypes:\n - EC2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### For the Calling Account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst test = new aws.inspector2.Enabler(\"test\", {\n accountIds: [current.then(current =\u003e current.accountId)],\n resourceTypes: [\n \"ECR\",\n \"EC2\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ntest = aws.inspector2.Enabler(\"test\",\n account_ids=[current.account_id],\n resource_types=[\n \"ECR\",\n \"EC2\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var test = new Aws.Inspector2.Enabler(\"test\", new()\n {\n AccountIds = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n ResourceTypes = new[]\n {\n \"ECR\",\n \"EC2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = inspector2.NewEnabler(ctx, \"test\", \u0026inspector2.EnablerArgs{\n\t\t\tAccountIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.AccountId),\n\t\t\t},\n\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ECR\"),\n\t\t\t\tpulumi.String(\"EC2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inspector2.Enabler;\nimport com.pulumi.aws.inspector2.EnablerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var test = new Enabler(\"test\", EnablerArgs.builder()\n .accountIds(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .resourceTypes( \n \"ECR\",\n \"EC2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:inspector2:Enabler\n properties:\n accountIds:\n - ${current.accountId}\n resourceTypes:\n - ECR\n - EC2\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Resource for enabling Amazon Inspector resource scans.\n\nThis resource must be created in the Organization's Administrator Account.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.inspector2.Enabler(\"example\", {\n accountIds: [\"123456789012\"],\n resourceTypes: [\"EC2\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.inspector2.Enabler(\"example\",\n account_ids=[\"123456789012\"],\n resource_types=[\"EC2\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Inspector2.Enabler(\"example\", new()\n {\n AccountIds = new[]\n {\n \"123456789012\",\n },\n ResourceTypes = new[]\n {\n \"EC2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector2\"\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 := inspector2.NewEnabler(ctx, \"example\", \u0026inspector2.EnablerArgs{\n\t\t\tAccountIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t},\n\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"EC2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.inspector2.Enabler;\nimport com.pulumi.aws.inspector2.EnablerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Enabler(\"example\", EnablerArgs.builder()\n .accountIds(\"123456789012\")\n .resourceTypes(\"EC2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:inspector2:Enabler\n properties:\n accountIds:\n - '123456789012'\n resourceTypes:\n - EC2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### For the Calling Account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst test = new aws.inspector2.Enabler(\"test\", {\n accountIds: [current.then(current =\u003e current.accountId)],\n resourceTypes: [\n \"ECR\",\n \"EC2\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ntest = aws.inspector2.Enabler(\"test\",\n account_ids=[current.account_id],\n resource_types=[\n \"ECR\",\n \"EC2\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var test = new Aws.Inspector2.Enabler(\"test\", new()\n {\n AccountIds = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n ResourceTypes = new[]\n {\n \"ECR\",\n \"EC2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = inspector2.NewEnabler(ctx, \"test\", \u0026inspector2.EnablerArgs{\n\t\t\tAccountIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.AccountId),\n\t\t\t},\n\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ECR\"),\n\t\t\t\tpulumi.String(\"EC2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inspector2.Enabler;\nimport com.pulumi.aws.inspector2.EnablerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var test = new Enabler(\"test\", EnablerArgs.builder()\n .accountIds(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .resourceTypes( \n \"ECR\",\n \"EC2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:inspector2:Enabler\n properties:\n accountIds:\n - ${current.accountId}\n resourceTypes:\n - ECR\n - EC2\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "accountIds": { "type": "array", @@ -285177,7 +285177,7 @@ } }, "aws:iot/authorizer:Authorizer": { - "description": "Creates and manages an AWS IoT Authorizer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.iot.Authorizer(\"example\", {\n name: \"example\",\n authorizerFunctionArn: exampleAwsLambdaFunction.arn,\n signingDisabled: false,\n status: \"ACTIVE\",\n tokenKeyName: \"Token-Header\",\n tokenSigningPublicKeys: {\n Key1: std.file({\n input: \"test-fixtures/iot-authorizer-signing-key.pem\",\n }).then(invoke =\u003e invoke.result),\n },\n tags: {\n Name: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.iot.Authorizer(\"example\",\n name=\"example\",\n authorizer_function_arn=example_aws_lambda_function[\"arn\"],\n signing_disabled=False,\n status=\"ACTIVE\",\n token_key_name=\"Token-Header\",\n token_signing_public_keys={\n \"Key1\": std.file(input=\"test-fixtures/iot-authorizer-signing-key.pem\").result,\n },\n tags={\n \"Name\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.Authorizer(\"example\", new()\n {\n Name = \"example\",\n AuthorizerFunctionArn = exampleAwsLambdaFunction.Arn,\n SigningDisabled = false,\n Status = \"ACTIVE\",\n TokenKeyName = \"Token-Header\",\n TokenSigningPublicKeys = \n {\n { \"Key1\", Std.File.Invoke(new()\n {\n Input = \"test-fixtures/iot-authorizer-signing-key.pem\",\n }).Apply(invoke =\u003e invoke.Result) },\n },\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"test-fixtures/iot-authorizer-signing-key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewAuthorizer(ctx, \"example\", \u0026iot.AuthorizerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAuthorizerFunctionArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tSigningDisabled: pulumi.Bool(false),\n\t\t\tStatus: pulumi.String(\"ACTIVE\"),\n\t\t\tTokenKeyName: pulumi.String(\"Token-Header\"),\n\t\t\tTokenSigningPublicKeys: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(invokeFile.Result),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.Authorizer;\nimport com.pulumi.aws.iot.AuthorizerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Authorizer(\"example\", AuthorizerArgs.builder()\n .name(\"example\")\n .authorizerFunctionArn(exampleAwsLambdaFunction.arn())\n .signingDisabled(false)\n .status(\"ACTIVE\")\n .tokenKeyName(\"Token-Header\")\n .tokenSigningPublicKeys(Map.of(\"Key1\", StdFunctions.file(FileArgs.builder()\n .input(\"test-fixtures/iot-authorizer-signing-key.pem\")\n .build()).result()))\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:Authorizer\n properties:\n name: example\n authorizerFunctionArn: ${exampleAwsLambdaFunction.arn}\n signingDisabled: false\n status: ACTIVE\n tokenKeyName: Token-Header\n tokenSigningPublicKeys:\n Key1:\n fn::invoke:\n function: std:file\n arguments:\n input: test-fixtures/iot-authorizer-signing-key.pem\n return: result\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IOT Authorizers using the name. For example:\n\n```sh\n$ pulumi import aws:iot/authorizer:Authorizer example example\n```\n", + "description": "Creates and manages an AWS IoT Authorizer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.iot.Authorizer(\"example\", {\n name: \"example\",\n authorizerFunctionArn: exampleAwsLambdaFunction.arn,\n signingDisabled: false,\n status: \"ACTIVE\",\n tokenKeyName: \"Token-Header\",\n tokenSigningPublicKeys: {\n Key1: std.file({\n input: \"test-fixtures/iot-authorizer-signing-key.pem\",\n }).then(invoke =\u003e invoke.result),\n },\n tags: {\n Name: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.iot.Authorizer(\"example\",\n name=\"example\",\n authorizer_function_arn=example_aws_lambda_function[\"arn\"],\n signing_disabled=False,\n status=\"ACTIVE\",\n token_key_name=\"Token-Header\",\n token_signing_public_keys={\n \"Key1\": std.file(input=\"test-fixtures/iot-authorizer-signing-key.pem\").result,\n },\n tags={\n \"Name\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.Authorizer(\"example\", new()\n {\n Name = \"example\",\n AuthorizerFunctionArn = exampleAwsLambdaFunction.Arn,\n SigningDisabled = false,\n Status = \"ACTIVE\",\n TokenKeyName = \"Token-Header\",\n TokenSigningPublicKeys = \n {\n { \"Key1\", Std.File.Invoke(new()\n {\n Input = \"test-fixtures/iot-authorizer-signing-key.pem\",\n }).Apply(invoke =\u003e invoke.Result) },\n },\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"test-fixtures/iot-authorizer-signing-key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewAuthorizer(ctx, \"example\", \u0026iot.AuthorizerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAuthorizerFunctionArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tSigningDisabled: pulumi.Bool(false),\n\t\t\tStatus: pulumi.String(\"ACTIVE\"),\n\t\t\tTokenKeyName: pulumi.String(\"Token-Header\"),\n\t\t\tTokenSigningPublicKeys: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(invokeFile.Result),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.Authorizer;\nimport com.pulumi.aws.iot.AuthorizerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Authorizer(\"example\", AuthorizerArgs.builder()\n .name(\"example\")\n .authorizerFunctionArn(exampleAwsLambdaFunction.arn())\n .signingDisabled(false)\n .status(\"ACTIVE\")\n .tokenKeyName(\"Token-Header\")\n .tokenSigningPublicKeys(Map.of(\"Key1\", StdFunctions.file(FileArgs.builder()\n .input(\"test-fixtures/iot-authorizer-signing-key.pem\")\n .build()).result()))\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:Authorizer\n properties:\n name: example\n authorizerFunctionArn: ${exampleAwsLambdaFunction.arn}\n signingDisabled: false\n status: ACTIVE\n tokenKeyName: Token-Header\n tokenSigningPublicKeys:\n Key1:\n fn::invoke:\n Function: std:file\n Arguments:\n input: test-fixtures/iot-authorizer-signing-key.pem\n Return: result\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IOT Authorizers using the name. For example:\n\n```sh\n$ pulumi import aws:iot/authorizer:Authorizer example example\n```\n", "properties": { "arn": { "type": "string", @@ -285447,7 +285447,7 @@ } }, "aws:iot/caCertificate:CaCertificate": { - "description": "Creates and manages an AWS IoT CA Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as tls from \"@pulumi/tls\";\n\nconst caPrivateKey = new tls.PrivateKey(\"ca\", {algorithm: \"RSA\"});\nconst ca = new tls.SelfSignedCert(\"ca\", {\n privateKeyPem: caPrivateKey.privateKeyPem,\n subject: {\n commonName: \"example.com\",\n organization: \"ACME Examples, Inc\",\n },\n validityPeriodHours: 12,\n allowedUses: [\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ],\n isCaCertificate: true,\n});\nconst verificationPrivateKey = new tls.PrivateKey(\"verification\", {algorithm: \"RSA\"});\nconst example = aws.iot.getRegistrationCode({});\nconst verification = new tls.CertRequest(\"verification\", {\n privateKeyPem: verificationPrivateKey.privateKeyPem,\n subject: {\n commonName: example.then(example =\u003e example.registrationCode),\n },\n});\nconst verificationLocallySignedCert = new tls.LocallySignedCert(\"verification\", {\n certRequestPem: verification.certRequestPem,\n caPrivateKeyPem: caPrivateKey.privateKeyPem,\n caCertPem: ca.certPem,\n validityPeriodHours: 12,\n allowedUses: [\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ],\n});\nconst exampleCaCertificate = new aws.iot.CaCertificate(\"example\", {\n active: true,\n caCertificatePem: ca.certPem,\n verificationCertificatePem: verificationLocallySignedCert.certPem,\n allowAutoRegistration: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_tls as tls\n\nca_private_key = tls.PrivateKey(\"ca\", algorithm=\"RSA\")\nca = tls.SelfSignedCert(\"ca\",\n private_key_pem=ca_private_key.private_key_pem,\n subject={\n \"common_name\": \"example.com\",\n \"organization\": \"ACME Examples, Inc\",\n },\n validity_period_hours=12,\n allowed_uses=[\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ],\n is_ca_certificate=True)\nverification_private_key = tls.PrivateKey(\"verification\", algorithm=\"RSA\")\nexample = aws.iot.get_registration_code()\nverification = tls.CertRequest(\"verification\",\n private_key_pem=verification_private_key.private_key_pem,\n subject={\n \"common_name\": example.registration_code,\n })\nverification_locally_signed_cert = tls.LocallySignedCert(\"verification\",\n cert_request_pem=verification.cert_request_pem,\n ca_private_key_pem=ca_private_key.private_key_pem,\n ca_cert_pem=ca.cert_pem,\n validity_period_hours=12,\n allowed_uses=[\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ])\nexample_ca_certificate = aws.iot.CaCertificate(\"example\",\n active=True,\n ca_certificate_pem=ca.cert_pem,\n verification_certificate_pem=verification_locally_signed_cert.cert_pem,\n allow_auto_registration=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var caPrivateKey = new Tls.PrivateKey(\"ca\", new()\n {\n Algorithm = \"RSA\",\n });\n\n var ca = new Tls.SelfSignedCert(\"ca\", new()\n {\n PrivateKeyPem = caPrivateKey.PrivateKeyPem,\n Subject = new Tls.Inputs.SelfSignedCertSubjectArgs\n {\n CommonName = \"example.com\",\n Organization = \"ACME Examples, Inc\",\n },\n ValidityPeriodHours = 12,\n AllowedUses = new[]\n {\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n },\n IsCaCertificate = true,\n });\n\n var verificationPrivateKey = new Tls.PrivateKey(\"verification\", new()\n {\n Algorithm = \"RSA\",\n });\n\n var example = Aws.Iot.GetRegistrationCode.Invoke();\n\n var verification = new Tls.CertRequest(\"verification\", new()\n {\n PrivateKeyPem = verificationPrivateKey.PrivateKeyPem,\n Subject = new Tls.Inputs.CertRequestSubjectArgs\n {\n CommonName = example.Apply(getRegistrationCodeResult =\u003e getRegistrationCodeResult.RegistrationCode),\n },\n });\n\n var verificationLocallySignedCert = new Tls.LocallySignedCert(\"verification\", new()\n {\n CertRequestPem = verification.CertRequestPem,\n CaPrivateKeyPem = caPrivateKey.PrivateKeyPem,\n CaCertPem = ca.CertPem,\n ValidityPeriodHours = 12,\n AllowedUses = new[]\n {\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n },\n });\n\n var exampleCaCertificate = new Aws.Iot.CaCertificate(\"example\", new()\n {\n Active = true,\n CaCertificatePem = ca.CertPem,\n VerificationCertificatePem = verificationLocallySignedCert.CertPem,\n AllowAutoRegistration = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcaPrivateKey, err := tls.NewPrivateKey(ctx, \"ca\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tca, err := tls.NewSelfSignedCert(ctx, \"ca\", \u0026tls.SelfSignedCertArgs{\n\t\t\tPrivateKeyPem: caPrivateKey.PrivateKeyPem,\n\t\t\tSubject: \u0026tls.SelfSignedCertSubjectArgs{\n\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\tOrganization: pulumi.String(\"ACME Examples, Inc\"),\n\t\t\t},\n\t\t\tValidityPeriodHours: pulumi.Int(12),\n\t\t\tAllowedUses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"key_encipherment\"),\n\t\t\t\tpulumi.String(\"digital_signature\"),\n\t\t\t\tpulumi.String(\"server_auth\"),\n\t\t\t},\n\t\t\tIsCaCertificate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tverificationPrivateKey, err := tls.NewPrivateKey(ctx, \"verification\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iot.GetRegistrationCode(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tverification, err := tls.NewCertRequest(ctx, \"verification\", \u0026tls.CertRequestArgs{\n\t\t\tPrivateKeyPem: verificationPrivateKey.PrivateKeyPem,\n\t\t\tSubject: \u0026tls.CertRequestSubjectArgs{\n\t\t\t\tCommonName: pulumi.String(example.RegistrationCode),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tverificationLocallySignedCert, err := tls.NewLocallySignedCert(ctx, \"verification\", \u0026tls.LocallySignedCertArgs{\n\t\t\tCertRequestPem: verification.CertRequestPem,\n\t\t\tCaPrivateKeyPem: caPrivateKey.PrivateKeyPem,\n\t\t\tCaCertPem: ca.CertPem,\n\t\t\tValidityPeriodHours: pulumi.Int(12),\n\t\t\tAllowedUses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"key_encipherment\"),\n\t\t\t\tpulumi.String(\"digital_signature\"),\n\t\t\t\tpulumi.String(\"server_auth\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewCaCertificate(ctx, \"example\", \u0026iot.CaCertificateArgs{\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tCaCertificatePem: ca.CertPem,\n\t\t\tVerificationCertificatePem: verificationLocallySignedCert.CertPem,\n\t\t\tAllowAutoRegistration: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.tls.SelfSignedCert;\nimport com.pulumi.tls.SelfSignedCertArgs;\nimport com.pulumi.tls.inputs.SelfSignedCertSubjectArgs;\nimport com.pulumi.aws.iot.IotFunctions;\nimport com.pulumi.tls.CertRequest;\nimport com.pulumi.tls.CertRequestArgs;\nimport com.pulumi.tls.inputs.CertRequestSubjectArgs;\nimport com.pulumi.tls.LocallySignedCert;\nimport com.pulumi.tls.LocallySignedCertArgs;\nimport com.pulumi.aws.iot.CaCertificate;\nimport com.pulumi.aws.iot.CaCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var caPrivateKey = new PrivateKey(\"caPrivateKey\", PrivateKeyArgs.builder()\n .algorithm(\"RSA\")\n .build());\n\n var ca = new SelfSignedCert(\"ca\", SelfSignedCertArgs.builder()\n .privateKeyPem(caPrivateKey.privateKeyPem())\n .subject(SelfSignedCertSubjectArgs.builder()\n .commonName(\"example.com\")\n .organization(\"ACME Examples, Inc\")\n .build())\n .validityPeriodHours(12)\n .allowedUses( \n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\")\n .isCaCertificate(true)\n .build());\n\n var verificationPrivateKey = new PrivateKey(\"verificationPrivateKey\", PrivateKeyArgs.builder()\n .algorithm(\"RSA\")\n .build());\n\n final var example = IotFunctions.getRegistrationCode();\n\n var verification = new CertRequest(\"verification\", CertRequestArgs.builder()\n .privateKeyPem(verificationPrivateKey.privateKeyPem())\n .subject(CertRequestSubjectArgs.builder()\n .commonName(example.applyValue(getRegistrationCodeResult -\u003e getRegistrationCodeResult.registrationCode()))\n .build())\n .build());\n\n var verificationLocallySignedCert = new LocallySignedCert(\"verificationLocallySignedCert\", LocallySignedCertArgs.builder()\n .certRequestPem(verification.certRequestPem())\n .caPrivateKeyPem(caPrivateKey.privateKeyPem())\n .caCertPem(ca.certPem())\n .validityPeriodHours(12)\n .allowedUses( \n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\")\n .build());\n\n var exampleCaCertificate = new CaCertificate(\"exampleCaCertificate\", CaCertificateArgs.builder()\n .active(true)\n .caCertificatePem(ca.certPem())\n .verificationCertificatePem(verificationLocallySignedCert.certPem())\n .allowAutoRegistration(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ca:\n type: tls:SelfSignedCert\n properties:\n privateKeyPem: ${caPrivateKey.privateKeyPem}\n subject:\n commonName: example.com\n organization: ACME Examples, Inc\n validityPeriodHours: 12\n allowedUses:\n - key_encipherment\n - digital_signature\n - server_auth\n isCaCertificate: true\n caPrivateKey:\n type: tls:PrivateKey\n name: ca\n properties:\n algorithm: RSA\n verification:\n type: tls:CertRequest\n properties:\n privateKeyPem: ${verificationPrivateKey.privateKeyPem}\n subject:\n commonName: ${example.registrationCode}\n verificationPrivateKey:\n type: tls:PrivateKey\n name: verification\n properties:\n algorithm: RSA\n verificationLocallySignedCert:\n type: tls:LocallySignedCert\n name: verification\n properties:\n certRequestPem: ${verification.certRequestPem}\n caPrivateKeyPem: ${caPrivateKey.privateKeyPem}\n caCertPem: ${ca.certPem}\n validityPeriodHours: 12\n allowedUses:\n - key_encipherment\n - digital_signature\n - server_auth\n exampleCaCertificate:\n type: aws:iot:CaCertificate\n name: example\n properties:\n active: true\n caCertificatePem: ${ca.certPem}\n verificationCertificatePem: ${verificationLocallySignedCert.certPem}\n allowAutoRegistration: true\nvariables:\n example:\n fn::invoke:\n function: aws:iot:getRegistrationCode\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Creates and manages an AWS IoT CA Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as tls from \"@pulumi/tls\";\n\nconst caPrivateKey = new tls.PrivateKey(\"ca\", {algorithm: \"RSA\"});\nconst ca = new tls.SelfSignedCert(\"ca\", {\n privateKeyPem: caPrivateKey.privateKeyPem,\n subject: {\n commonName: \"example.com\",\n organization: \"ACME Examples, Inc\",\n },\n validityPeriodHours: 12,\n allowedUses: [\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ],\n isCaCertificate: true,\n});\nconst verificationPrivateKey = new tls.PrivateKey(\"verification\", {algorithm: \"RSA\"});\nconst example = aws.iot.getRegistrationCode({});\nconst verification = new tls.CertRequest(\"verification\", {\n privateKeyPem: verificationPrivateKey.privateKeyPem,\n subject: {\n commonName: example.then(example =\u003e example.registrationCode),\n },\n});\nconst verificationLocallySignedCert = new tls.LocallySignedCert(\"verification\", {\n certRequestPem: verification.certRequestPem,\n caPrivateKeyPem: caPrivateKey.privateKeyPem,\n caCertPem: ca.certPem,\n validityPeriodHours: 12,\n allowedUses: [\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ],\n});\nconst exampleCaCertificate = new aws.iot.CaCertificate(\"example\", {\n active: true,\n caCertificatePem: ca.certPem,\n verificationCertificatePem: verificationLocallySignedCert.certPem,\n allowAutoRegistration: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_tls as tls\n\nca_private_key = tls.PrivateKey(\"ca\", algorithm=\"RSA\")\nca = tls.SelfSignedCert(\"ca\",\n private_key_pem=ca_private_key.private_key_pem,\n subject={\n \"common_name\": \"example.com\",\n \"organization\": \"ACME Examples, Inc\",\n },\n validity_period_hours=12,\n allowed_uses=[\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ],\n is_ca_certificate=True)\nverification_private_key = tls.PrivateKey(\"verification\", algorithm=\"RSA\")\nexample = aws.iot.get_registration_code()\nverification = tls.CertRequest(\"verification\",\n private_key_pem=verification_private_key.private_key_pem,\n subject={\n \"common_name\": example.registration_code,\n })\nverification_locally_signed_cert = tls.LocallySignedCert(\"verification\",\n cert_request_pem=verification.cert_request_pem,\n ca_private_key_pem=ca_private_key.private_key_pem,\n ca_cert_pem=ca.cert_pem,\n validity_period_hours=12,\n allowed_uses=[\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ])\nexample_ca_certificate = aws.iot.CaCertificate(\"example\",\n active=True,\n ca_certificate_pem=ca.cert_pem,\n verification_certificate_pem=verification_locally_signed_cert.cert_pem,\n allow_auto_registration=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var caPrivateKey = new Tls.PrivateKey(\"ca\", new()\n {\n Algorithm = \"RSA\",\n });\n\n var ca = new Tls.SelfSignedCert(\"ca\", new()\n {\n PrivateKeyPem = caPrivateKey.PrivateKeyPem,\n Subject = new Tls.Inputs.SelfSignedCertSubjectArgs\n {\n CommonName = \"example.com\",\n Organization = \"ACME Examples, Inc\",\n },\n ValidityPeriodHours = 12,\n AllowedUses = new[]\n {\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n },\n IsCaCertificate = true,\n });\n\n var verificationPrivateKey = new Tls.PrivateKey(\"verification\", new()\n {\n Algorithm = \"RSA\",\n });\n\n var example = Aws.Iot.GetRegistrationCode.Invoke();\n\n var verification = new Tls.CertRequest(\"verification\", new()\n {\n PrivateKeyPem = verificationPrivateKey.PrivateKeyPem,\n Subject = new Tls.Inputs.CertRequestSubjectArgs\n {\n CommonName = example.Apply(getRegistrationCodeResult =\u003e getRegistrationCodeResult.RegistrationCode),\n },\n });\n\n var verificationLocallySignedCert = new Tls.LocallySignedCert(\"verification\", new()\n {\n CertRequestPem = verification.CertRequestPem,\n CaPrivateKeyPem = caPrivateKey.PrivateKeyPem,\n CaCertPem = ca.CertPem,\n ValidityPeriodHours = 12,\n AllowedUses = new[]\n {\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n },\n });\n\n var exampleCaCertificate = new Aws.Iot.CaCertificate(\"example\", new()\n {\n Active = true,\n CaCertificatePem = ca.CertPem,\n VerificationCertificatePem = verificationLocallySignedCert.CertPem,\n AllowAutoRegistration = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcaPrivateKey, err := tls.NewPrivateKey(ctx, \"ca\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tca, err := tls.NewSelfSignedCert(ctx, \"ca\", \u0026tls.SelfSignedCertArgs{\n\t\t\tPrivateKeyPem: caPrivateKey.PrivateKeyPem,\n\t\t\tSubject: \u0026tls.SelfSignedCertSubjectArgs{\n\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\tOrganization: pulumi.String(\"ACME Examples, Inc\"),\n\t\t\t},\n\t\t\tValidityPeriodHours: pulumi.Int(12),\n\t\t\tAllowedUses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"key_encipherment\"),\n\t\t\t\tpulumi.String(\"digital_signature\"),\n\t\t\t\tpulumi.String(\"server_auth\"),\n\t\t\t},\n\t\t\tIsCaCertificate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tverificationPrivateKey, err := tls.NewPrivateKey(ctx, \"verification\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iot.GetRegistrationCode(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tverification, err := tls.NewCertRequest(ctx, \"verification\", \u0026tls.CertRequestArgs{\n\t\t\tPrivateKeyPem: verificationPrivateKey.PrivateKeyPem,\n\t\t\tSubject: \u0026tls.CertRequestSubjectArgs{\n\t\t\t\tCommonName: pulumi.String(example.RegistrationCode),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tverificationLocallySignedCert, err := tls.NewLocallySignedCert(ctx, \"verification\", \u0026tls.LocallySignedCertArgs{\n\t\t\tCertRequestPem: verification.CertRequestPem,\n\t\t\tCaPrivateKeyPem: caPrivateKey.PrivateKeyPem,\n\t\t\tCaCertPem: ca.CertPem,\n\t\t\tValidityPeriodHours: pulumi.Int(12),\n\t\t\tAllowedUses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"key_encipherment\"),\n\t\t\t\tpulumi.String(\"digital_signature\"),\n\t\t\t\tpulumi.String(\"server_auth\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewCaCertificate(ctx, \"example\", \u0026iot.CaCertificateArgs{\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tCaCertificatePem: ca.CertPem,\n\t\t\tVerificationCertificatePem: verificationLocallySignedCert.CertPem,\n\t\t\tAllowAutoRegistration: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.tls.SelfSignedCert;\nimport com.pulumi.tls.SelfSignedCertArgs;\nimport com.pulumi.tls.inputs.SelfSignedCertSubjectArgs;\nimport com.pulumi.aws.iot.IotFunctions;\nimport com.pulumi.tls.CertRequest;\nimport com.pulumi.tls.CertRequestArgs;\nimport com.pulumi.tls.inputs.CertRequestSubjectArgs;\nimport com.pulumi.tls.LocallySignedCert;\nimport com.pulumi.tls.LocallySignedCertArgs;\nimport com.pulumi.aws.iot.CaCertificate;\nimport com.pulumi.aws.iot.CaCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var caPrivateKey = new PrivateKey(\"caPrivateKey\", PrivateKeyArgs.builder()\n .algorithm(\"RSA\")\n .build());\n\n var ca = new SelfSignedCert(\"ca\", SelfSignedCertArgs.builder()\n .privateKeyPem(caPrivateKey.privateKeyPem())\n .subject(SelfSignedCertSubjectArgs.builder()\n .commonName(\"example.com\")\n .organization(\"ACME Examples, Inc\")\n .build())\n .validityPeriodHours(12)\n .allowedUses( \n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\")\n .isCaCertificate(true)\n .build());\n\n var verificationPrivateKey = new PrivateKey(\"verificationPrivateKey\", PrivateKeyArgs.builder()\n .algorithm(\"RSA\")\n .build());\n\n final var example = IotFunctions.getRegistrationCode();\n\n var verification = new CertRequest(\"verification\", CertRequestArgs.builder()\n .privateKeyPem(verificationPrivateKey.privateKeyPem())\n .subject(CertRequestSubjectArgs.builder()\n .commonName(example.applyValue(getRegistrationCodeResult -\u003e getRegistrationCodeResult.registrationCode()))\n .build())\n .build());\n\n var verificationLocallySignedCert = new LocallySignedCert(\"verificationLocallySignedCert\", LocallySignedCertArgs.builder()\n .certRequestPem(verification.certRequestPem())\n .caPrivateKeyPem(caPrivateKey.privateKeyPem())\n .caCertPem(ca.certPem())\n .validityPeriodHours(12)\n .allowedUses( \n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\")\n .build());\n\n var exampleCaCertificate = new CaCertificate(\"exampleCaCertificate\", CaCertificateArgs.builder()\n .active(true)\n .caCertificatePem(ca.certPem())\n .verificationCertificatePem(verificationLocallySignedCert.certPem())\n .allowAutoRegistration(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ca:\n type: tls:SelfSignedCert\n properties:\n privateKeyPem: ${caPrivateKey.privateKeyPem}\n subject:\n commonName: example.com\n organization: ACME Examples, Inc\n validityPeriodHours: 12\n allowedUses:\n - key_encipherment\n - digital_signature\n - server_auth\n isCaCertificate: true\n caPrivateKey:\n type: tls:PrivateKey\n name: ca\n properties:\n algorithm: RSA\n verification:\n type: tls:CertRequest\n properties:\n privateKeyPem: ${verificationPrivateKey.privateKeyPem}\n subject:\n commonName: ${example.registrationCode}\n verificationPrivateKey:\n type: tls:PrivateKey\n name: verification\n properties:\n algorithm: RSA\n verificationLocallySignedCert:\n type: tls:LocallySignedCert\n name: verification\n properties:\n certRequestPem: ${verification.certRequestPem}\n caPrivateKeyPem: ${caPrivateKey.privateKeyPem}\n caCertPem: ${ca.certPem}\n validityPeriodHours: 12\n allowedUses:\n - key_encipherment\n - digital_signature\n - server_auth\n exampleCaCertificate:\n type: aws:iot:CaCertificate\n name: example\n properties:\n active: true\n caCertificatePem: ${ca.certPem}\n verificationCertificatePem: ${verificationLocallySignedCert.certPem}\n allowAutoRegistration: true\nvariables:\n example:\n fn::invoke:\n Function: aws:iot:getRegistrationCode\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "active": { "type": "boolean", @@ -285634,7 +285634,7 @@ } }, "aws:iot/certificate:Certificate": { - "description": "Creates and manages an AWS IoT certificate.\n\n## Example Usage\n\n### With CSR\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst cert = new aws.iot.Certificate(\"cert\", {\n csr: std.file({\n input: \"/my/csr.pem\",\n }).then(invoke =\u003e invoke.result),\n active: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ncert = aws.iot.Certificate(\"cert\",\n csr=std.file(input=\"/my/csr.pem\").result,\n active=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n Csr = Std.File.Invoke(new()\n {\n Input = \"/my/csr.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Active = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"/my/csr.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tCsr: pulumi.String(invokeFile.Result),\n\t\t\tActive: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var cert = new Certificate(\"cert\", CertificateArgs.builder()\n .csr(StdFunctions.file(FileArgs.builder()\n .input(\"/my/csr.pem\")\n .build()).result())\n .active(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: aws:iot:Certificate\n properties:\n csr:\n fn::invoke:\n function: std:file\n arguments:\n input: /my/csr.pem\n return: result\n active: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Without CSR\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cert = new aws.iot.Certificate(\"cert\", {active: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncert = aws.iot.Certificate(\"cert\", active=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n Active = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\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 := iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tActive: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var cert = new Certificate(\"cert\", CertificateArgs.builder()\n .active(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: aws:iot:Certificate\n properties:\n active: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### From existing certificate without a CA\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst cert = new aws.iot.Certificate(\"cert\", {\n certificatePem: std.file({\n input: \"/my/cert.pem\",\n }).then(invoke =\u003e invoke.result),\n active: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ncert = aws.iot.Certificate(\"cert\",\n certificate_pem=std.file(input=\"/my/cert.pem\").result,\n active=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n CertificatePem = Std.File.Invoke(new()\n {\n Input = \"/my/cert.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Active = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"/my/cert.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tCertificatePem: pulumi.String(invokeFile.Result),\n\t\t\tActive: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var cert = new Certificate(\"cert\", CertificateArgs.builder()\n .certificatePem(StdFunctions.file(FileArgs.builder()\n .input(\"/my/cert.pem\")\n .build()).result())\n .active(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: aws:iot:Certificate\n properties:\n certificatePem:\n fn::invoke:\n function: std:file\n arguments:\n input: /my/cert.pem\n return: result\n active: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Creates and manages an AWS IoT certificate.\n\n## Example Usage\n\n### With CSR\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst cert = new aws.iot.Certificate(\"cert\", {\n csr: std.file({\n input: \"/my/csr.pem\",\n }).then(invoke =\u003e invoke.result),\n active: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ncert = aws.iot.Certificate(\"cert\",\n csr=std.file(input=\"/my/csr.pem\").result,\n active=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n Csr = Std.File.Invoke(new()\n {\n Input = \"/my/csr.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Active = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"/my/csr.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tCsr: pulumi.String(invokeFile.Result),\n\t\t\tActive: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var cert = new Certificate(\"cert\", CertificateArgs.builder()\n .csr(StdFunctions.file(FileArgs.builder()\n .input(\"/my/csr.pem\")\n .build()).result())\n .active(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: aws:iot:Certificate\n properties:\n csr:\n fn::invoke:\n Function: std:file\n Arguments:\n input: /my/csr.pem\n Return: result\n active: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Without CSR\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cert = new aws.iot.Certificate(\"cert\", {active: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncert = aws.iot.Certificate(\"cert\", active=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n Active = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\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 := iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tActive: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var cert = new Certificate(\"cert\", CertificateArgs.builder()\n .active(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: aws:iot:Certificate\n properties:\n active: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### From existing certificate without a CA\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst cert = new aws.iot.Certificate(\"cert\", {\n certificatePem: std.file({\n input: \"/my/cert.pem\",\n }).then(invoke =\u003e invoke.result),\n active: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ncert = aws.iot.Certificate(\"cert\",\n certificate_pem=std.file(input=\"/my/cert.pem\").result,\n active=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n CertificatePem = Std.File.Invoke(new()\n {\n Input = \"/my/cert.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Active = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"/my/cert.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tCertificatePem: pulumi.String(invokeFile.Result),\n\t\t\tActive: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var cert = new Certificate(\"cert\", CertificateArgs.builder()\n .certificatePem(StdFunctions.file(FileArgs.builder()\n .input(\"/my/cert.pem\")\n .build()).result())\n .active(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: aws:iot:Certificate\n properties:\n certificatePem:\n fn::invoke:\n Function: std:file\n Arguments:\n input: /my/cert.pem\n Return: result\n active: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "active": { "type": "boolean", @@ -286212,7 +286212,7 @@ } }, "aws:iot/policyAttachment:PolicyAttachment": { - "description": "Provides an IoT policy attachment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst pubsub = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"iot:*\"],\n resources: [\"*\"],\n }],\n});\nconst pubsubPolicy = new aws.iot.Policy(\"pubsub\", {\n name: \"PubSubToAnyTopic\",\n policy: pubsub.then(pubsub =\u003e pubsub.json),\n});\nconst cert = new aws.iot.Certificate(\"cert\", {\n csr: std.file({\n input: \"csr.pem\",\n }).then(invoke =\u003e invoke.result),\n active: true,\n});\nconst att = new aws.iot.PolicyAttachment(\"att\", {\n policy: pubsubPolicy.name,\n target: cert.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\npubsub = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"iot:*\"],\n \"resources\": [\"*\"],\n}])\npubsub_policy = aws.iot.Policy(\"pubsub\",\n name=\"PubSubToAnyTopic\",\n policy=pubsub.json)\ncert = aws.iot.Certificate(\"cert\",\n csr=std.file(input=\"csr.pem\").result,\n active=True)\natt = aws.iot.PolicyAttachment(\"att\",\n policy=pubsub_policy.name,\n target=cert.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pubsub = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"iot:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var pubsubPolicy = new Aws.Iot.Policy(\"pubsub\", new()\n {\n Name = \"PubSubToAnyTopic\",\n PolicyDocument = pubsub.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n Csr = Std.File.Invoke(new()\n {\n Input = \"csr.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Active = true,\n });\n\n var att = new Aws.Iot.PolicyAttachment(\"att\", new()\n {\n Policy = pubsubPolicy.Name,\n Target = cert.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpubsub, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"iot:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpubsubPolicy, err := iot.NewPolicy(ctx, \"pubsub\", \u0026iot.PolicyArgs{\n\t\t\tName: pulumi.String(\"PubSubToAnyTopic\"),\n\t\t\tPolicy: pulumi.String(pubsub.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"csr.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcert, err := iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tCsr: pulumi.String(invokeFile.Result),\n\t\t\tActive: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewPolicyAttachment(ctx, \"att\", \u0026iot.PolicyAttachmentArgs{\n\t\t\tPolicy: pubsubPolicy.Name,\n\t\t\tTarget: cert.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iot.Policy;\nimport com.pulumi.aws.iot.PolicyArgs;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport com.pulumi.aws.iot.PolicyAttachment;\nimport com.pulumi.aws.iot.PolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var pubsub = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"iot:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var pubsubPolicy = new Policy(\"pubsubPolicy\", PolicyArgs.builder()\n .name(\"PubSubToAnyTopic\")\n .policy(pubsub.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var cert = new Certificate(\"cert\", CertificateArgs.builder()\n .csr(StdFunctions.file(FileArgs.builder()\n .input(\"csr.pem\")\n .build()).result())\n .active(true)\n .build());\n\n var att = new PolicyAttachment(\"att\", PolicyAttachmentArgs.builder()\n .policy(pubsubPolicy.name())\n .target(cert.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pubsubPolicy:\n type: aws:iot:Policy\n name: pubsub\n properties:\n name: PubSubToAnyTopic\n policy: ${pubsub.json}\n cert:\n type: aws:iot:Certificate\n properties:\n csr:\n fn::invoke:\n function: std:file\n arguments:\n input: csr.pem\n return: result\n active: true\n att:\n type: aws:iot:PolicyAttachment\n properties:\n policy: ${pubsubPolicy.name}\n target: ${cert.arn}\nvariables:\n pubsub:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - iot:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an IoT policy attachment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst pubsub = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"iot:*\"],\n resources: [\"*\"],\n }],\n});\nconst pubsubPolicy = new aws.iot.Policy(\"pubsub\", {\n name: \"PubSubToAnyTopic\",\n policy: pubsub.then(pubsub =\u003e pubsub.json),\n});\nconst cert = new aws.iot.Certificate(\"cert\", {\n csr: std.file({\n input: \"csr.pem\",\n }).then(invoke =\u003e invoke.result),\n active: true,\n});\nconst att = new aws.iot.PolicyAttachment(\"att\", {\n policy: pubsubPolicy.name,\n target: cert.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\npubsub = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"iot:*\"],\n \"resources\": [\"*\"],\n}])\npubsub_policy = aws.iot.Policy(\"pubsub\",\n name=\"PubSubToAnyTopic\",\n policy=pubsub.json)\ncert = aws.iot.Certificate(\"cert\",\n csr=std.file(input=\"csr.pem\").result,\n active=True)\natt = aws.iot.PolicyAttachment(\"att\",\n policy=pubsub_policy.name,\n target=cert.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pubsub = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"iot:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var pubsubPolicy = new Aws.Iot.Policy(\"pubsub\", new()\n {\n Name = \"PubSubToAnyTopic\",\n PolicyDocument = pubsub.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n Csr = Std.File.Invoke(new()\n {\n Input = \"csr.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Active = true,\n });\n\n var att = new Aws.Iot.PolicyAttachment(\"att\", new()\n {\n Policy = pubsubPolicy.Name,\n Target = cert.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpubsub, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"iot:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpubsubPolicy, err := iot.NewPolicy(ctx, \"pubsub\", \u0026iot.PolicyArgs{\n\t\t\tName: pulumi.String(\"PubSubToAnyTopic\"),\n\t\t\tPolicy: pulumi.String(pubsub.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"csr.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcert, err := iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tCsr: pulumi.String(invokeFile.Result),\n\t\t\tActive: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewPolicyAttachment(ctx, \"att\", \u0026iot.PolicyAttachmentArgs{\n\t\t\tPolicy: pubsubPolicy.Name,\n\t\t\tTarget: cert.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iot.Policy;\nimport com.pulumi.aws.iot.PolicyArgs;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport com.pulumi.aws.iot.PolicyAttachment;\nimport com.pulumi.aws.iot.PolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var pubsub = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"iot:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var pubsubPolicy = new Policy(\"pubsubPolicy\", PolicyArgs.builder()\n .name(\"PubSubToAnyTopic\")\n .policy(pubsub.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var cert = new Certificate(\"cert\", CertificateArgs.builder()\n .csr(StdFunctions.file(FileArgs.builder()\n .input(\"csr.pem\")\n .build()).result())\n .active(true)\n .build());\n\n var att = new PolicyAttachment(\"att\", PolicyAttachmentArgs.builder()\n .policy(pubsubPolicy.name())\n .target(cert.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pubsubPolicy:\n type: aws:iot:Policy\n name: pubsub\n properties:\n name: PubSubToAnyTopic\n policy: ${pubsub.json}\n cert:\n type: aws:iot:Certificate\n properties:\n csr:\n fn::invoke:\n Function: std:file\n Arguments:\n input: csr.pem\n Return: result\n active: true\n att:\n type: aws:iot:PolicyAttachment\n properties:\n policy: ${pubsubPolicy.name}\n target: ${cert.arn}\nvariables:\n pubsub:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - iot:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "policy": { "type": "string", @@ -286282,7 +286282,7 @@ } }, "aws:iot/provisioningTemplate:ProvisioningTemplate": { - "description": "Manages an IoT fleet provisioning template. For more info, see the AWS documentation on [fleet provisioning](https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst iotAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"iot.amazonaws.com\"],\n }],\n }],\n});\nconst iotFleetProvisioning = new aws.iam.Role(\"iot_fleet_provisioning\", {\n name: \"IoTProvisioningServiceRole\",\n path: \"/service-role/\",\n assumeRolePolicy: iotAssumeRolePolicy.then(iotAssumeRolePolicy =\u003e iotAssumeRolePolicy.json),\n});\nconst iotFleetProvisioningRegistration = new aws.iam.RolePolicyAttachment(\"iot_fleet_provisioning_registration\", {\n role: iotFleetProvisioning.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\",\n});\nconst devicePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"iot:Subscribe\"],\n resources: [\"*\"],\n }],\n});\nconst devicePolicyPolicy = new aws.iot.Policy(\"device_policy\", {\n name: \"DevicePolicy\",\n policy: devicePolicy.then(devicePolicy =\u003e devicePolicy.json),\n});\nconst fleet = new aws.iot.ProvisioningTemplate(\"fleet\", {\n name: \"FleetTemplate\",\n description: \"My provisioning template\",\n provisioningRoleArn: iotFleetProvisioning.arn,\n enabled: true,\n templateBody: pulumi.jsonStringify({\n Parameters: {\n SerialNumber: {\n Type: \"String\",\n },\n },\n Resources: {\n certificate: {\n Properties: {\n CertificateId: {\n Ref: \"AWS::IoT::Certificate::Id\",\n },\n Status: \"Active\",\n },\n Type: \"AWS::IoT::Certificate\",\n },\n policy: {\n Properties: {\n PolicyName: devicePolicyPolicy.name,\n },\n Type: \"AWS::IoT::Policy\",\n },\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\niot_assume_role_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"iot.amazonaws.com\"],\n }],\n}])\niot_fleet_provisioning = aws.iam.Role(\"iot_fleet_provisioning\",\n name=\"IoTProvisioningServiceRole\",\n path=\"/service-role/\",\n assume_role_policy=iot_assume_role_policy.json)\niot_fleet_provisioning_registration = aws.iam.RolePolicyAttachment(\"iot_fleet_provisioning_registration\",\n role=iot_fleet_provisioning.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\")\ndevice_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"iot:Subscribe\"],\n \"resources\": [\"*\"],\n}])\ndevice_policy_policy = aws.iot.Policy(\"device_policy\",\n name=\"DevicePolicy\",\n policy=device_policy.json)\nfleet = aws.iot.ProvisioningTemplate(\"fleet\",\n name=\"FleetTemplate\",\n description=\"My provisioning template\",\n provisioning_role_arn=iot_fleet_provisioning.arn,\n enabled=True,\n template_body=pulumi.Output.json_dumps({\n \"Parameters\": {\n \"SerialNumber\": {\n \"Type\": \"String\",\n },\n },\n \"Resources\": {\n \"certificate\": {\n \"Properties\": {\n \"CertificateId\": {\n \"Ref\": \"AWS::IoT::Certificate::Id\",\n },\n \"Status\": \"Active\",\n },\n \"Type\": \"AWS::IoT::Certificate\",\n },\n \"policy\": {\n \"Properties\": {\n \"PolicyName\": device_policy_policy.name,\n },\n \"Type\": \"AWS::IoT::Policy\",\n },\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var iotAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"iot.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var iotFleetProvisioning = new Aws.Iam.Role(\"iot_fleet_provisioning\", new()\n {\n Name = \"IoTProvisioningServiceRole\",\n Path = \"/service-role/\",\n AssumeRolePolicy = iotAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var iotFleetProvisioningRegistration = new Aws.Iam.RolePolicyAttachment(\"iot_fleet_provisioning_registration\", new()\n {\n Role = iotFleetProvisioning.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\",\n });\n\n var devicePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"iot:Subscribe\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var devicePolicyPolicy = new Aws.Iot.Policy(\"device_policy\", new()\n {\n Name = \"DevicePolicy\",\n PolicyDocument = devicePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var fleet = new Aws.Iot.ProvisioningTemplate(\"fleet\", new()\n {\n Name = \"FleetTemplate\",\n Description = \"My provisioning template\",\n ProvisioningRoleArn = iotFleetProvisioning.Arn,\n Enabled = true,\n TemplateBody = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"SerialNumber\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"String\",\n },\n },\n [\"Resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"certificate\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"CertificateId\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Ref\"] = \"AWS::IoT::Certificate::Id\",\n },\n [\"Status\"] = \"Active\",\n },\n [\"Type\"] = \"AWS::IoT::Certificate\",\n },\n [\"policy\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"PolicyName\"] = devicePolicyPolicy.Name,\n },\n [\"Type\"] = \"AWS::IoT::Policy\",\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tiotAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"iot.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiotFleetProvisioning, err := iam.NewRole(ctx, \"iot_fleet_provisioning\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"IoTProvisioningServiceRole\"),\n\t\t\tPath: pulumi.String(\"/service-role/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(iotAssumeRolePolicy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"iot_fleet_provisioning_registration\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: iotFleetProvisioning.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdevicePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"iot:Subscribe\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdevicePolicyPolicy, err := iot.NewPolicy(ctx, \"device_policy\", \u0026iot.PolicyArgs{\n\t\t\tName: pulumi.String(\"DevicePolicy\"),\n\t\t\tPolicy: pulumi.String(devicePolicy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewProvisioningTemplate(ctx, \"fleet\", \u0026iot.ProvisioningTemplateArgs{\n\t\t\tName: pulumi.String(\"FleetTemplate\"),\n\t\t\tDescription: pulumi.String(\"My provisioning template\"),\n\t\t\tProvisioningRoleArn: iotFleetProvisioning.Arn,\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tTemplateBody: devicePolicyPolicy.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\t\t\"SerialNumber\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Type\": \"String\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"Resources\": map[string]interface{}{\n\t\t\t\t\t\t\"certificate\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"CertificateId\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"Ref\": \"AWS::IoT::Certificate::Id\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"Status\": \"Active\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Type\": \"AWS::IoT::Certificate\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"policy\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"PolicyName\": name,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Type\": \"AWS::IoT::Policy\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.iot.Policy;\nimport com.pulumi.aws.iot.PolicyArgs;\nimport com.pulumi.aws.iot.ProvisioningTemplate;\nimport com.pulumi.aws.iot.ProvisioningTemplateArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var iotAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"iot.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var iotFleetProvisioning = new Role(\"iotFleetProvisioning\", RoleArgs.builder()\n .name(\"IoTProvisioningServiceRole\")\n .path(\"/service-role/\")\n .assumeRolePolicy(iotAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var iotFleetProvisioningRegistration = new RolePolicyAttachment(\"iotFleetProvisioningRegistration\", RolePolicyAttachmentArgs.builder()\n .role(iotFleetProvisioning.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\")\n .build());\n\n final var devicePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"iot:Subscribe\")\n .resources(\"*\")\n .build())\n .build());\n\n var devicePolicyPolicy = new Policy(\"devicePolicyPolicy\", PolicyArgs.builder()\n .name(\"DevicePolicy\")\n .policy(devicePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var fleet = new ProvisioningTemplate(\"fleet\", ProvisioningTemplateArgs.builder()\n .name(\"FleetTemplate\")\n .description(\"My provisioning template\")\n .provisioningRoleArn(iotFleetProvisioning.arn())\n .enabled(true)\n .templateBody(devicePolicyPolicy.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"SerialNumber\", jsonObject(\n jsonProperty(\"Type\", \"String\")\n ))\n )),\n jsonProperty(\"Resources\", jsonObject(\n jsonProperty(\"certificate\", jsonObject(\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"CertificateId\", jsonObject(\n jsonProperty(\"Ref\", \"AWS::IoT::Certificate::Id\")\n )),\n jsonProperty(\"Status\", \"Active\")\n )),\n jsonProperty(\"Type\", \"AWS::IoT::Certificate\")\n )),\n jsonProperty(\"policy\", jsonObject(\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"PolicyName\", name)\n )),\n jsonProperty(\"Type\", \"AWS::IoT::Policy\")\n ))\n ))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iotFleetProvisioning:\n type: aws:iam:Role\n name: iot_fleet_provisioning\n properties:\n name: IoTProvisioningServiceRole\n path: /service-role/\n assumeRolePolicy: ${iotAssumeRolePolicy.json}\n iotFleetProvisioningRegistration:\n type: aws:iam:RolePolicyAttachment\n name: iot_fleet_provisioning_registration\n properties:\n role: ${iotFleetProvisioning.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\n devicePolicyPolicy:\n type: aws:iot:Policy\n name: device_policy\n properties:\n name: DevicePolicy\n policy: ${devicePolicy.json}\n fleet:\n type: aws:iot:ProvisioningTemplate\n properties:\n name: FleetTemplate\n description: My provisioning template\n provisioningRoleArn: ${iotFleetProvisioning.arn}\n enabled: true\n templateBody:\n fn::toJSON:\n Parameters:\n SerialNumber:\n Type: String\n Resources:\n certificate:\n Properties:\n CertificateId:\n Ref: AWS::IoT::Certificate::Id\n Status: Active\n Type: AWS::IoT::Certificate\n policy:\n Properties:\n PolicyName: ${devicePolicyPolicy.name}\n Type: AWS::IoT::Policy\nvariables:\n iotAssumeRolePolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - iot.amazonaws.com\n devicePolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - iot:Subscribe\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT fleet provisioning templates using the `name`. For example:\n\n```sh\n$ pulumi import aws:iot/provisioningTemplate:ProvisioningTemplate fleet FleetProvisioningTemplate\n```\n", + "description": "Manages an IoT fleet provisioning template. For more info, see the AWS documentation on [fleet provisioning](https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst iotAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"iot.amazonaws.com\"],\n }],\n }],\n});\nconst iotFleetProvisioning = new aws.iam.Role(\"iot_fleet_provisioning\", {\n name: \"IoTProvisioningServiceRole\",\n path: \"/service-role/\",\n assumeRolePolicy: iotAssumeRolePolicy.then(iotAssumeRolePolicy =\u003e iotAssumeRolePolicy.json),\n});\nconst iotFleetProvisioningRegistration = new aws.iam.RolePolicyAttachment(\"iot_fleet_provisioning_registration\", {\n role: iotFleetProvisioning.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\",\n});\nconst devicePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"iot:Subscribe\"],\n resources: [\"*\"],\n }],\n});\nconst devicePolicyPolicy = new aws.iot.Policy(\"device_policy\", {\n name: \"DevicePolicy\",\n policy: devicePolicy.then(devicePolicy =\u003e devicePolicy.json),\n});\nconst fleet = new aws.iot.ProvisioningTemplate(\"fleet\", {\n name: \"FleetTemplate\",\n description: \"My provisioning template\",\n provisioningRoleArn: iotFleetProvisioning.arn,\n enabled: true,\n templateBody: pulumi.jsonStringify({\n Parameters: {\n SerialNumber: {\n Type: \"String\",\n },\n },\n Resources: {\n certificate: {\n Properties: {\n CertificateId: {\n Ref: \"AWS::IoT::Certificate::Id\",\n },\n Status: \"Active\",\n },\n Type: \"AWS::IoT::Certificate\",\n },\n policy: {\n Properties: {\n PolicyName: devicePolicyPolicy.name,\n },\n Type: \"AWS::IoT::Policy\",\n },\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\niot_assume_role_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"iot.amazonaws.com\"],\n }],\n}])\niot_fleet_provisioning = aws.iam.Role(\"iot_fleet_provisioning\",\n name=\"IoTProvisioningServiceRole\",\n path=\"/service-role/\",\n assume_role_policy=iot_assume_role_policy.json)\niot_fleet_provisioning_registration = aws.iam.RolePolicyAttachment(\"iot_fleet_provisioning_registration\",\n role=iot_fleet_provisioning.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\")\ndevice_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"iot:Subscribe\"],\n \"resources\": [\"*\"],\n}])\ndevice_policy_policy = aws.iot.Policy(\"device_policy\",\n name=\"DevicePolicy\",\n policy=device_policy.json)\nfleet = aws.iot.ProvisioningTemplate(\"fleet\",\n name=\"FleetTemplate\",\n description=\"My provisioning template\",\n provisioning_role_arn=iot_fleet_provisioning.arn,\n enabled=True,\n template_body=pulumi.Output.json_dumps({\n \"Parameters\": {\n \"SerialNumber\": {\n \"Type\": \"String\",\n },\n },\n \"Resources\": {\n \"certificate\": {\n \"Properties\": {\n \"CertificateId\": {\n \"Ref\": \"AWS::IoT::Certificate::Id\",\n },\n \"Status\": \"Active\",\n },\n \"Type\": \"AWS::IoT::Certificate\",\n },\n \"policy\": {\n \"Properties\": {\n \"PolicyName\": device_policy_policy.name,\n },\n \"Type\": \"AWS::IoT::Policy\",\n },\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var iotAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"iot.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var iotFleetProvisioning = new Aws.Iam.Role(\"iot_fleet_provisioning\", new()\n {\n Name = \"IoTProvisioningServiceRole\",\n Path = \"/service-role/\",\n AssumeRolePolicy = iotAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var iotFleetProvisioningRegistration = new Aws.Iam.RolePolicyAttachment(\"iot_fleet_provisioning_registration\", new()\n {\n Role = iotFleetProvisioning.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\",\n });\n\n var devicePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"iot:Subscribe\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var devicePolicyPolicy = new Aws.Iot.Policy(\"device_policy\", new()\n {\n Name = \"DevicePolicy\",\n PolicyDocument = devicePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var fleet = new Aws.Iot.ProvisioningTemplate(\"fleet\", new()\n {\n Name = \"FleetTemplate\",\n Description = \"My provisioning template\",\n ProvisioningRoleArn = iotFleetProvisioning.Arn,\n Enabled = true,\n TemplateBody = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"SerialNumber\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"String\",\n },\n },\n [\"Resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"certificate\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"CertificateId\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Ref\"] = \"AWS::IoT::Certificate::Id\",\n },\n [\"Status\"] = \"Active\",\n },\n [\"Type\"] = \"AWS::IoT::Certificate\",\n },\n [\"policy\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"PolicyName\"] = devicePolicyPolicy.Name,\n },\n [\"Type\"] = \"AWS::IoT::Policy\",\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tiotAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"iot.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiotFleetProvisioning, err := iam.NewRole(ctx, \"iot_fleet_provisioning\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"IoTProvisioningServiceRole\"),\n\t\t\tPath: pulumi.String(\"/service-role/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(iotAssumeRolePolicy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"iot_fleet_provisioning_registration\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: iotFleetProvisioning.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdevicePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"iot:Subscribe\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdevicePolicyPolicy, err := iot.NewPolicy(ctx, \"device_policy\", \u0026iot.PolicyArgs{\n\t\t\tName: pulumi.String(\"DevicePolicy\"),\n\t\t\tPolicy: pulumi.String(devicePolicy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewProvisioningTemplate(ctx, \"fleet\", \u0026iot.ProvisioningTemplateArgs{\n\t\t\tName: pulumi.String(\"FleetTemplate\"),\n\t\t\tDescription: pulumi.String(\"My provisioning template\"),\n\t\t\tProvisioningRoleArn: iotFleetProvisioning.Arn,\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tTemplateBody: devicePolicyPolicy.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\t\t\"SerialNumber\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Type\": \"String\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"Resources\": map[string]interface{}{\n\t\t\t\t\t\t\"certificate\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"CertificateId\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"Ref\": \"AWS::IoT::Certificate::Id\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"Status\": \"Active\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Type\": \"AWS::IoT::Certificate\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"policy\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"PolicyName\": name,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Type\": \"AWS::IoT::Policy\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.iot.Policy;\nimport com.pulumi.aws.iot.PolicyArgs;\nimport com.pulumi.aws.iot.ProvisioningTemplate;\nimport com.pulumi.aws.iot.ProvisioningTemplateArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var iotAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"iot.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var iotFleetProvisioning = new Role(\"iotFleetProvisioning\", RoleArgs.builder()\n .name(\"IoTProvisioningServiceRole\")\n .path(\"/service-role/\")\n .assumeRolePolicy(iotAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var iotFleetProvisioningRegistration = new RolePolicyAttachment(\"iotFleetProvisioningRegistration\", RolePolicyAttachmentArgs.builder()\n .role(iotFleetProvisioning.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\")\n .build());\n\n final var devicePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"iot:Subscribe\")\n .resources(\"*\")\n .build())\n .build());\n\n var devicePolicyPolicy = new Policy(\"devicePolicyPolicy\", PolicyArgs.builder()\n .name(\"DevicePolicy\")\n .policy(devicePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var fleet = new ProvisioningTemplate(\"fleet\", ProvisioningTemplateArgs.builder()\n .name(\"FleetTemplate\")\n .description(\"My provisioning template\")\n .provisioningRoleArn(iotFleetProvisioning.arn())\n .enabled(true)\n .templateBody(devicePolicyPolicy.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"SerialNumber\", jsonObject(\n jsonProperty(\"Type\", \"String\")\n ))\n )),\n jsonProperty(\"Resources\", jsonObject(\n jsonProperty(\"certificate\", jsonObject(\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"CertificateId\", jsonObject(\n jsonProperty(\"Ref\", \"AWS::IoT::Certificate::Id\")\n )),\n jsonProperty(\"Status\", \"Active\")\n )),\n jsonProperty(\"Type\", \"AWS::IoT::Certificate\")\n )),\n jsonProperty(\"policy\", jsonObject(\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"PolicyName\", name)\n )),\n jsonProperty(\"Type\", \"AWS::IoT::Policy\")\n ))\n ))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iotFleetProvisioning:\n type: aws:iam:Role\n name: iot_fleet_provisioning\n properties:\n name: IoTProvisioningServiceRole\n path: /service-role/\n assumeRolePolicy: ${iotAssumeRolePolicy.json}\n iotFleetProvisioningRegistration:\n type: aws:iam:RolePolicyAttachment\n name: iot_fleet_provisioning_registration\n properties:\n role: ${iotFleetProvisioning.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\n devicePolicyPolicy:\n type: aws:iot:Policy\n name: device_policy\n properties:\n name: DevicePolicy\n policy: ${devicePolicy.json}\n fleet:\n type: aws:iot:ProvisioningTemplate\n properties:\n name: FleetTemplate\n description: My provisioning template\n provisioningRoleArn: ${iotFleetProvisioning.arn}\n enabled: true\n templateBody:\n fn::toJSON:\n Parameters:\n SerialNumber:\n Type: String\n Resources:\n certificate:\n Properties:\n CertificateId:\n Ref: AWS::IoT::Certificate::Id\n Status: Active\n Type: AWS::IoT::Certificate\n policy:\n Properties:\n PolicyName: ${devicePolicyPolicy.name}\n Type: AWS::IoT::Policy\nvariables:\n iotAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - iot.amazonaws.com\n devicePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - iot:Subscribe\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT fleet provisioning templates using the `name`. For example:\n\n```sh\n$ pulumi import aws:iot/provisioningTemplate:ProvisioningTemplate fleet FleetProvisioningTemplate\n```\n", "properties": { "arn": { "type": "string", @@ -286449,7 +286449,7 @@ } }, "aws:iot/roleAlias:RoleAlias": { - "description": "Provides an IoT role alias.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iot.RoleAlias;\nimport com.pulumi.aws.iot.RoleAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .effect(\"Allow\")\n .principals(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .actions(\"sts:AssumeRole\")\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"dynamodb-access-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var alias = new RoleAlias(\"alias\", RoleAliasArgs.builder()\n .alias(\"Thermostat-dynamodb-access-role-alias\")\n .roleArn(role.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n role:\n type: aws:iam:Role\n properties:\n name: dynamodb-access-role\n assumeRolePolicy: ${assumeRole.json}\n alias:\n type: aws:iot:RoleAlias\n properties:\n alias: Thermostat-dynamodb-access-role-alias\n roleArn: ${role.arn}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - credentials.iot.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IOT Role Alias using the alias. For example:\n\n```sh\n$ pulumi import aws:iot/roleAlias:RoleAlias example myalias\n```\n", + "description": "Provides an IoT role alias.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iot.RoleAlias;\nimport com.pulumi.aws.iot.RoleAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .effect(\"Allow\")\n .principals(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .actions(\"sts:AssumeRole\")\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"dynamodb-access-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var alias = new RoleAlias(\"alias\", RoleAliasArgs.builder()\n .alias(\"Thermostat-dynamodb-access-role-alias\")\n .roleArn(role.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n role:\n type: aws:iam:Role\n properties:\n name: dynamodb-access-role\n assumeRolePolicy: ${assumeRole.json}\n alias:\n type: aws:iot:RoleAlias\n properties:\n alias: Thermostat-dynamodb-access-role-alias\n roleArn: ${role.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - credentials.iot.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IOT Role Alias using the alias. For example:\n\n```sh\n$ pulumi import aws:iot/roleAlias:RoleAlias example myalias\n```\n", "properties": { "alias": { "type": "string", @@ -286831,7 +286831,7 @@ } }, "aws:iot/thingPrincipalAttachment:ThingPrincipalAttachment": { - "description": "Attaches Principal to AWS IoT Thing.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.iot.Thing(\"example\", {name: \"example\"});\nconst cert = new aws.iot.Certificate(\"cert\", {\n csr: std.file({\n input: \"csr.pem\",\n }).then(invoke =\u003e invoke.result),\n active: true,\n});\nconst att = new aws.iot.ThingPrincipalAttachment(\"att\", {\n principal: cert.arn,\n thing: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.iot.Thing(\"example\", name=\"example\")\ncert = aws.iot.Certificate(\"cert\",\n csr=std.file(input=\"csr.pem\").result,\n active=True)\natt = aws.iot.ThingPrincipalAttachment(\"att\",\n principal=cert.arn,\n thing=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.Thing(\"example\", new()\n {\n Name = \"example\",\n });\n\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n Csr = Std.File.Invoke(new()\n {\n Input = \"csr.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Active = true,\n });\n\n var att = new Aws.Iot.ThingPrincipalAttachment(\"att\", new()\n {\n Principal = cert.Arn,\n Thing = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iot.NewThing(ctx, \"example\", \u0026iot.ThingArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"csr.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcert, err := iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tCsr: pulumi.String(invokeFile.Result),\n\t\t\tActive: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewThingPrincipalAttachment(ctx, \"att\", \u0026iot.ThingPrincipalAttachmentArgs{\n\t\t\tPrincipal: cert.Arn,\n\t\t\tThing: example.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.Thing;\nimport com.pulumi.aws.iot.ThingArgs;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport com.pulumi.aws.iot.ThingPrincipalAttachment;\nimport com.pulumi.aws.iot.ThingPrincipalAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Thing(\"example\", ThingArgs.builder()\n .name(\"example\")\n .build());\n\n var cert = new Certificate(\"cert\", CertificateArgs.builder()\n .csr(StdFunctions.file(FileArgs.builder()\n .input(\"csr.pem\")\n .build()).result())\n .active(true)\n .build());\n\n var att = new ThingPrincipalAttachment(\"att\", ThingPrincipalAttachmentArgs.builder()\n .principal(cert.arn())\n .thing(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:Thing\n properties:\n name: example\n cert:\n type: aws:iot:Certificate\n properties:\n csr:\n fn::invoke:\n function: std:file\n arguments:\n input: csr.pem\n return: result\n active: true\n att:\n type: aws:iot:ThingPrincipalAttachment\n properties:\n principal: ${cert.arn}\n thing: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Attaches Principal to AWS IoT Thing.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.iot.Thing(\"example\", {name: \"example\"});\nconst cert = new aws.iot.Certificate(\"cert\", {\n csr: std.file({\n input: \"csr.pem\",\n }).then(invoke =\u003e invoke.result),\n active: true,\n});\nconst att = new aws.iot.ThingPrincipalAttachment(\"att\", {\n principal: cert.arn,\n thing: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.iot.Thing(\"example\", name=\"example\")\ncert = aws.iot.Certificate(\"cert\",\n csr=std.file(input=\"csr.pem\").result,\n active=True)\natt = aws.iot.ThingPrincipalAttachment(\"att\",\n principal=cert.arn,\n thing=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.Thing(\"example\", new()\n {\n Name = \"example\",\n });\n\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n Csr = Std.File.Invoke(new()\n {\n Input = \"csr.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Active = true,\n });\n\n var att = new Aws.Iot.ThingPrincipalAttachment(\"att\", new()\n {\n Principal = cert.Arn,\n Thing = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iot.NewThing(ctx, \"example\", \u0026iot.ThingArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"csr.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcert, err := iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tCsr: pulumi.String(invokeFile.Result),\n\t\t\tActive: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewThingPrincipalAttachment(ctx, \"att\", \u0026iot.ThingPrincipalAttachmentArgs{\n\t\t\tPrincipal: cert.Arn,\n\t\t\tThing: example.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.Thing;\nimport com.pulumi.aws.iot.ThingArgs;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport com.pulumi.aws.iot.ThingPrincipalAttachment;\nimport com.pulumi.aws.iot.ThingPrincipalAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Thing(\"example\", ThingArgs.builder()\n .name(\"example\")\n .build());\n\n var cert = new Certificate(\"cert\", CertificateArgs.builder()\n .csr(StdFunctions.file(FileArgs.builder()\n .input(\"csr.pem\")\n .build()).result())\n .active(true)\n .build());\n\n var att = new ThingPrincipalAttachment(\"att\", ThingPrincipalAttachmentArgs.builder()\n .principal(cert.arn())\n .thing(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:Thing\n properties:\n name: example\n cert:\n type: aws:iot:Certificate\n properties:\n csr:\n fn::invoke:\n Function: std:file\n Arguments:\n input: csr.pem\n Return: result\n active: true\n att:\n type: aws:iot:ThingPrincipalAttachment\n properties:\n principal: ${cert.arn}\n thing: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "principal": { "type": "string", @@ -286984,7 +286984,7 @@ } }, "aws:iot/topicRule:TopicRule": { - "description": "Creates and manages an AWS IoT topic rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mytopic = new aws.sns.Topic(\"mytopic\", {name: \"mytopic\"});\nconst myerrortopic = new aws.sns.Topic(\"myerrortopic\", {name: \"myerrortopic\"});\nconst rule = new aws.iot.TopicRule(\"rule\", {\n name: \"MyRule\",\n description: \"Example rule\",\n enabled: true,\n sql: \"SELECT * FROM 'topic/test'\",\n sqlVersion: \"2016-03-23\",\n sns: [{\n messageFormat: \"RAW\",\n roleArn: role.arn,\n targetArn: mytopic.arn,\n }],\n errorAction: {\n sns: {\n messageFormat: \"RAW\",\n roleArn: role.arn,\n targetArn: myerrortopic.arn,\n },\n },\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"iot.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst myrole = new aws.iam.Role(\"myrole\", {\n name: \"myrole\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst mypolicy = mytopic.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"sns:Publish\"],\n resources: [arn],\n }],\n}));\nconst mypolicyRolePolicy = new aws.iam.RolePolicy(\"mypolicy\", {\n name: \"mypolicy\",\n role: myrole.id,\n policy: mypolicy.apply(mypolicy =\u003e mypolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmytopic = aws.sns.Topic(\"mytopic\", name=\"mytopic\")\nmyerrortopic = aws.sns.Topic(\"myerrortopic\", name=\"myerrortopic\")\nrule = aws.iot.TopicRule(\"rule\",\n name=\"MyRule\",\n description=\"Example rule\",\n enabled=True,\n sql=\"SELECT * FROM 'topic/test'\",\n sql_version=\"2016-03-23\",\n sns=[{\n \"message_format\": \"RAW\",\n \"role_arn\": role[\"arn\"],\n \"target_arn\": mytopic.arn,\n }],\n error_action={\n \"sns\": {\n \"message_format\": \"RAW\",\n \"role_arn\": role[\"arn\"],\n \"target_arn\": myerrortopic.arn,\n },\n })\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"iot.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nmyrole = aws.iam.Role(\"myrole\",\n name=\"myrole\",\n assume_role_policy=assume_role.json)\nmypolicy = mytopic.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"sns:Publish\"],\n \"resources\": [arn],\n}]))\nmypolicy_role_policy = aws.iam.RolePolicy(\"mypolicy\",\n name=\"mypolicy\",\n role=myrole.id,\n policy=mypolicy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mytopic = new Aws.Sns.Topic(\"mytopic\", new()\n {\n Name = \"mytopic\",\n });\n\n var myerrortopic = new Aws.Sns.Topic(\"myerrortopic\", new()\n {\n Name = \"myerrortopic\",\n });\n\n var rule = new Aws.Iot.TopicRule(\"rule\", new()\n {\n Name = \"MyRule\",\n Description = \"Example rule\",\n Enabled = true,\n Sql = \"SELECT * FROM 'topic/test'\",\n SqlVersion = \"2016-03-23\",\n Sns = new[]\n {\n new Aws.Iot.Inputs.TopicRuleSnsArgs\n {\n MessageFormat = \"RAW\",\n RoleArn = role.Arn,\n TargetArn = mytopic.Arn,\n },\n },\n ErrorAction = new Aws.Iot.Inputs.TopicRuleErrorActionArgs\n {\n Sns = new Aws.Iot.Inputs.TopicRuleErrorActionSnsArgs\n {\n MessageFormat = \"RAW\",\n RoleArn = role.Arn,\n TargetArn = myerrortopic.Arn,\n },\n },\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"iot.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var myrole = new Aws.Iam.Role(\"myrole\", new()\n {\n Name = \"myrole\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var mypolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"sns:Publish\",\n },\n Resources = new[]\n {\n mytopic.Arn,\n },\n },\n },\n });\n\n var mypolicyRolePolicy = new Aws.Iam.RolePolicy(\"mypolicy\", new()\n {\n Name = \"mypolicy\",\n Role = myrole.Id,\n Policy = mypolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmytopic, err := sns.NewTopic(ctx, \"mytopic\", \u0026sns.TopicArgs{\nName: pulumi.String(\"mytopic\"),\n})\nif err != nil {\nreturn err\n}\nmyerrortopic, err := sns.NewTopic(ctx, \"myerrortopic\", \u0026sns.TopicArgs{\nName: pulumi.String(\"myerrortopic\"),\n})\nif err != nil {\nreturn err\n}\n_, err = iot.NewTopicRule(ctx, \"rule\", \u0026iot.TopicRuleArgs{\nName: pulumi.String(\"MyRule\"),\nDescription: pulumi.String(\"Example rule\"),\nEnabled: pulumi.Bool(true),\nSql: pulumi.String(\"SELECT * FROM 'topic/test'\"),\nSqlVersion: pulumi.String(\"2016-03-23\"),\nSns: iot.TopicRuleSnsArray{\n\u0026iot.TopicRuleSnsArgs{\nMessageFormat: pulumi.String(\"RAW\"),\nRoleArn: pulumi.Any(role.Arn),\nTargetArn: mytopic.Arn,\n},\n},\nErrorAction: \u0026iot.TopicRuleErrorActionArgs{\nSns: \u0026iot.TopicRuleErrorActionSnsArgs{\nMessageFormat: pulumi.String(\"RAW\"),\nRoleArn: pulumi.Any(role.Arn),\nTargetArn: myerrortopic.Arn,\n},\n},\n})\nif err != nil {\nreturn err\n}\nassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"iot.amazonaws.com\",\n},\n},\n},\nActions: []string{\n\"sts:AssumeRole\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nmyrole, err := iam.NewRole(ctx, \"myrole\", \u0026iam.RoleArgs{\nName: pulumi.String(\"myrole\"),\nAssumeRolePolicy: pulumi.String(assumeRole.Json),\n})\nif err != nil {\nreturn err\n}\nmypolicy := mytopic.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nActions: []string{\n\"sns:Publish\",\n},\nResources: interface{}{\narn,\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = iam.NewRolePolicy(ctx, \"mypolicy\", \u0026iam.RolePolicyArgs{\nName: pulumi.String(\"mypolicy\"),\nRole: myrole.ID(),\nPolicy: pulumi.String(mypolicy.ApplyT(func(mypolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026mypolicy.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iot.TopicRule;\nimport com.pulumi.aws.iot.TopicRuleArgs;\nimport com.pulumi.aws.iot.inputs.TopicRuleSnsArgs;\nimport com.pulumi.aws.iot.inputs.TopicRuleErrorActionArgs;\nimport com.pulumi.aws.iot.inputs.TopicRuleErrorActionSnsArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mytopic = new Topic(\"mytopic\", TopicArgs.builder()\n .name(\"mytopic\")\n .build());\n\n var myerrortopic = new Topic(\"myerrortopic\", TopicArgs.builder()\n .name(\"myerrortopic\")\n .build());\n\n var rule = new TopicRule(\"rule\", TopicRuleArgs.builder()\n .name(\"MyRule\")\n .description(\"Example rule\")\n .enabled(true)\n .sql(\"SELECT * FROM 'topic/test'\")\n .sqlVersion(\"2016-03-23\")\n .sns(TopicRuleSnsArgs.builder()\n .messageFormat(\"RAW\")\n .roleArn(role.arn())\n .targetArn(mytopic.arn())\n .build())\n .errorAction(TopicRuleErrorActionArgs.builder()\n .sns(TopicRuleErrorActionSnsArgs.builder()\n .messageFormat(\"RAW\")\n .roleArn(role.arn())\n .targetArn(myerrortopic.arn())\n .build())\n .build())\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"iot.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var myrole = new Role(\"myrole\", RoleArgs.builder()\n .name(\"myrole\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var mypolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"sns:Publish\")\n .resources(mytopic.arn())\n .build())\n .build());\n\n var mypolicyRolePolicy = new RolePolicy(\"mypolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"mypolicy\")\n .role(myrole.id())\n .policy(mypolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(mypolicy -\u003e mypolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n rule:\n type: aws:iot:TopicRule\n properties:\n name: MyRule\n description: Example rule\n enabled: true\n sql: SELECT * FROM 'topic/test'\n sqlVersion: 2016-03-23\n sns:\n - messageFormat: RAW\n roleArn: ${role.arn}\n targetArn: ${mytopic.arn}\n errorAction:\n sns:\n messageFormat: RAW\n roleArn: ${role.arn}\n targetArn: ${myerrortopic.arn}\n mytopic:\n type: aws:sns:Topic\n properties:\n name: mytopic\n myerrortopic:\n type: aws:sns:Topic\n properties:\n name: myerrortopic\n myrole:\n type: aws:iam:Role\n properties:\n name: myrole\n assumeRolePolicy: ${assumeRole.json}\n mypolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: mypolicy\n properties:\n name: mypolicy\n role: ${myrole.id}\n policy: ${mypolicy.json}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - iot.amazonaws.com\n actions:\n - sts:AssumeRole\n mypolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - sns:Publish\n resources:\n - ${mytopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT Topic Rules using the `name`. For example:\n\n```sh\n$ pulumi import aws:iot/topicRule:TopicRule rule \u003cname\u003e\n```\n", + "description": "Creates and manages an AWS IoT topic rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mytopic = new aws.sns.Topic(\"mytopic\", {name: \"mytopic\"});\nconst myerrortopic = new aws.sns.Topic(\"myerrortopic\", {name: \"myerrortopic\"});\nconst rule = new aws.iot.TopicRule(\"rule\", {\n name: \"MyRule\",\n description: \"Example rule\",\n enabled: true,\n sql: \"SELECT * FROM 'topic/test'\",\n sqlVersion: \"2016-03-23\",\n sns: [{\n messageFormat: \"RAW\",\n roleArn: role.arn,\n targetArn: mytopic.arn,\n }],\n errorAction: {\n sns: {\n messageFormat: \"RAW\",\n roleArn: role.arn,\n targetArn: myerrortopic.arn,\n },\n },\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"iot.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst myrole = new aws.iam.Role(\"myrole\", {\n name: \"myrole\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst mypolicy = mytopic.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"sns:Publish\"],\n resources: [arn],\n }],\n}));\nconst mypolicyRolePolicy = new aws.iam.RolePolicy(\"mypolicy\", {\n name: \"mypolicy\",\n role: myrole.id,\n policy: mypolicy.apply(mypolicy =\u003e mypolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmytopic = aws.sns.Topic(\"mytopic\", name=\"mytopic\")\nmyerrortopic = aws.sns.Topic(\"myerrortopic\", name=\"myerrortopic\")\nrule = aws.iot.TopicRule(\"rule\",\n name=\"MyRule\",\n description=\"Example rule\",\n enabled=True,\n sql=\"SELECT * FROM 'topic/test'\",\n sql_version=\"2016-03-23\",\n sns=[{\n \"message_format\": \"RAW\",\n \"role_arn\": role[\"arn\"],\n \"target_arn\": mytopic.arn,\n }],\n error_action={\n \"sns\": {\n \"message_format\": \"RAW\",\n \"role_arn\": role[\"arn\"],\n \"target_arn\": myerrortopic.arn,\n },\n })\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"iot.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nmyrole = aws.iam.Role(\"myrole\",\n name=\"myrole\",\n assume_role_policy=assume_role.json)\nmypolicy = mytopic.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"sns:Publish\"],\n \"resources\": [arn],\n}]))\nmypolicy_role_policy = aws.iam.RolePolicy(\"mypolicy\",\n name=\"mypolicy\",\n role=myrole.id,\n policy=mypolicy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mytopic = new Aws.Sns.Topic(\"mytopic\", new()\n {\n Name = \"mytopic\",\n });\n\n var myerrortopic = new Aws.Sns.Topic(\"myerrortopic\", new()\n {\n Name = \"myerrortopic\",\n });\n\n var rule = new Aws.Iot.TopicRule(\"rule\", new()\n {\n Name = \"MyRule\",\n Description = \"Example rule\",\n Enabled = true,\n Sql = \"SELECT * FROM 'topic/test'\",\n SqlVersion = \"2016-03-23\",\n Sns = new[]\n {\n new Aws.Iot.Inputs.TopicRuleSnsArgs\n {\n MessageFormat = \"RAW\",\n RoleArn = role.Arn,\n TargetArn = mytopic.Arn,\n },\n },\n ErrorAction = new Aws.Iot.Inputs.TopicRuleErrorActionArgs\n {\n Sns = new Aws.Iot.Inputs.TopicRuleErrorActionSnsArgs\n {\n MessageFormat = \"RAW\",\n RoleArn = role.Arn,\n TargetArn = myerrortopic.Arn,\n },\n },\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"iot.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var myrole = new Aws.Iam.Role(\"myrole\", new()\n {\n Name = \"myrole\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var mypolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"sns:Publish\",\n },\n Resources = new[]\n {\n mytopic.Arn,\n },\n },\n },\n });\n\n var mypolicyRolePolicy = new Aws.Iam.RolePolicy(\"mypolicy\", new()\n {\n Name = \"mypolicy\",\n Role = myrole.Id,\n Policy = mypolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmytopic, err := sns.NewTopic(ctx, \"mytopic\", \u0026sns.TopicArgs{\nName: pulumi.String(\"mytopic\"),\n})\nif err != nil {\nreturn err\n}\nmyerrortopic, err := sns.NewTopic(ctx, \"myerrortopic\", \u0026sns.TopicArgs{\nName: pulumi.String(\"myerrortopic\"),\n})\nif err != nil {\nreturn err\n}\n_, err = iot.NewTopicRule(ctx, \"rule\", \u0026iot.TopicRuleArgs{\nName: pulumi.String(\"MyRule\"),\nDescription: pulumi.String(\"Example rule\"),\nEnabled: pulumi.Bool(true),\nSql: pulumi.String(\"SELECT * FROM 'topic/test'\"),\nSqlVersion: pulumi.String(\"2016-03-23\"),\nSns: iot.TopicRuleSnsArray{\n\u0026iot.TopicRuleSnsArgs{\nMessageFormat: pulumi.String(\"RAW\"),\nRoleArn: pulumi.Any(role.Arn),\nTargetArn: mytopic.Arn,\n},\n},\nErrorAction: \u0026iot.TopicRuleErrorActionArgs{\nSns: \u0026iot.TopicRuleErrorActionSnsArgs{\nMessageFormat: pulumi.String(\"RAW\"),\nRoleArn: pulumi.Any(role.Arn),\nTargetArn: myerrortopic.Arn,\n},\n},\n})\nif err != nil {\nreturn err\n}\nassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"iot.amazonaws.com\",\n},\n},\n},\nActions: []string{\n\"sts:AssumeRole\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nmyrole, err := iam.NewRole(ctx, \"myrole\", \u0026iam.RoleArgs{\nName: pulumi.String(\"myrole\"),\nAssumeRolePolicy: pulumi.String(assumeRole.Json),\n})\nif err != nil {\nreturn err\n}\nmypolicy := mytopic.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nActions: []string{\n\"sns:Publish\",\n},\nResources: interface{}{\narn,\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = iam.NewRolePolicy(ctx, \"mypolicy\", \u0026iam.RolePolicyArgs{\nName: pulumi.String(\"mypolicy\"),\nRole: myrole.ID(),\nPolicy: pulumi.String(mypolicy.ApplyT(func(mypolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026mypolicy.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iot.TopicRule;\nimport com.pulumi.aws.iot.TopicRuleArgs;\nimport com.pulumi.aws.iot.inputs.TopicRuleSnsArgs;\nimport com.pulumi.aws.iot.inputs.TopicRuleErrorActionArgs;\nimport com.pulumi.aws.iot.inputs.TopicRuleErrorActionSnsArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mytopic = new Topic(\"mytopic\", TopicArgs.builder()\n .name(\"mytopic\")\n .build());\n\n var myerrortopic = new Topic(\"myerrortopic\", TopicArgs.builder()\n .name(\"myerrortopic\")\n .build());\n\n var rule = new TopicRule(\"rule\", TopicRuleArgs.builder()\n .name(\"MyRule\")\n .description(\"Example rule\")\n .enabled(true)\n .sql(\"SELECT * FROM 'topic/test'\")\n .sqlVersion(\"2016-03-23\")\n .sns(TopicRuleSnsArgs.builder()\n .messageFormat(\"RAW\")\n .roleArn(role.arn())\n .targetArn(mytopic.arn())\n .build())\n .errorAction(TopicRuleErrorActionArgs.builder()\n .sns(TopicRuleErrorActionSnsArgs.builder()\n .messageFormat(\"RAW\")\n .roleArn(role.arn())\n .targetArn(myerrortopic.arn())\n .build())\n .build())\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"iot.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var myrole = new Role(\"myrole\", RoleArgs.builder()\n .name(\"myrole\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var mypolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"sns:Publish\")\n .resources(mytopic.arn())\n .build())\n .build());\n\n var mypolicyRolePolicy = new RolePolicy(\"mypolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"mypolicy\")\n .role(myrole.id())\n .policy(mypolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(mypolicy -\u003e mypolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n rule:\n type: aws:iot:TopicRule\n properties:\n name: MyRule\n description: Example rule\n enabled: true\n sql: SELECT * FROM 'topic/test'\n sqlVersion: 2016-03-23\n sns:\n - messageFormat: RAW\n roleArn: ${role.arn}\n targetArn: ${mytopic.arn}\n errorAction:\n sns:\n messageFormat: RAW\n roleArn: ${role.arn}\n targetArn: ${myerrortopic.arn}\n mytopic:\n type: aws:sns:Topic\n properties:\n name: mytopic\n myerrortopic:\n type: aws:sns:Topic\n properties:\n name: myerrortopic\n myrole:\n type: aws:iam:Role\n properties:\n name: myrole\n assumeRolePolicy: ${assumeRole.json}\n mypolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: mypolicy\n properties:\n name: mypolicy\n role: ${myrole.id}\n policy: ${mypolicy.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - iot.amazonaws.com\n actions:\n - sts:AssumeRole\n mypolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - sns:Publish\n resources:\n - ${mytopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT Topic Rules using the `name`. For example:\n\n```sh\n$ pulumi import aws:iot/topicRule:TopicRule rule \u003cname\u003e\n```\n", "properties": { "arn": { "type": "string", @@ -287670,7 +287670,7 @@ } }, "aws:ivs/playbackKeyPair:PlaybackKeyPair": { - "description": "Resource for managing an AWS IVS (Interactive Video) Playback Key Pair.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.ivs.PlaybackKeyPair(\"example\", {publicKey: std.file({\n input: \"./public-key.pem\",\n}).then(invoke =\u003e invoke.result)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.ivs.PlaybackKeyPair(\"example\", public_key=std.file(input=\"./public-key.pem\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ivs.PlaybackKeyPair(\"example\", new()\n {\n PublicKey = Std.File.Invoke(new()\n {\n Input = \"./public-key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivs\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./public-key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ivs.NewPlaybackKeyPair(ctx, \"example\", \u0026ivs.PlaybackKeyPairArgs{\n\t\t\tPublicKey: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ivs.PlaybackKeyPair;\nimport com.pulumi.aws.ivs.PlaybackKeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new PlaybackKeyPair(\"example\", PlaybackKeyPairArgs.builder()\n .publicKey(StdFunctions.file(FileArgs.builder()\n .input(\"./public-key.pem\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ivs:PlaybackKeyPair\n properties:\n publicKey:\n fn::invoke:\n function: std:file\n arguments:\n input: ./public-key.pem\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IVS (Interactive Video) Playback Key Pair using the ARN. For example:\n\n```sh\n$ pulumi import aws:ivs/playbackKeyPair:PlaybackKeyPair example arn:aws:ivs:us-west-2:326937407773:playback-key/KDJRJNQhiQzA\n```\n", + "description": "Resource for managing an AWS IVS (Interactive Video) Playback Key Pair.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.ivs.PlaybackKeyPair(\"example\", {publicKey: std.file({\n input: \"./public-key.pem\",\n}).then(invoke =\u003e invoke.result)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.ivs.PlaybackKeyPair(\"example\", public_key=std.file(input=\"./public-key.pem\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ivs.PlaybackKeyPair(\"example\", new()\n {\n PublicKey = Std.File.Invoke(new()\n {\n Input = \"./public-key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivs\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./public-key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ivs.NewPlaybackKeyPair(ctx, \"example\", \u0026ivs.PlaybackKeyPairArgs{\n\t\t\tPublicKey: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ivs.PlaybackKeyPair;\nimport com.pulumi.aws.ivs.PlaybackKeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new PlaybackKeyPair(\"example\", PlaybackKeyPairArgs.builder()\n .publicKey(StdFunctions.file(FileArgs.builder()\n .input(\"./public-key.pem\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ivs:PlaybackKeyPair\n properties:\n publicKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./public-key.pem\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IVS (Interactive Video) Playback Key Pair using the ARN. For example:\n\n```sh\n$ pulumi import aws:ivs/playbackKeyPair:PlaybackKeyPair example arn:aws:ivs:us-west-2:326937407773:playback-key/KDJRJNQhiQzA\n```\n", "properties": { "arn": { "type": "string", @@ -287914,7 +287914,7 @@ } }, "aws:ivschat/loggingConfiguration:LoggingConfiguration": { - "description": "Resource for managing an AWS IVS (Interactive Video) Chat Logging Configuration.\n\n## Example Usage\n\n### Basic Usage - Logging to CloudWatch\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {});\nconst exampleLoggingConfiguration = new aws.ivschat.LoggingConfiguration(\"example\", {destinationConfiguration: {\n cloudwatchLogs: {\n logGroupName: example.name,\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\")\nexample_logging_configuration = aws.ivschat.LoggingConfiguration(\"example\", destination_configuration={\n \"cloudwatch_logs\": {\n \"log_group_name\": example.name,\n },\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\");\n\n var exampleLoggingConfiguration = new Aws.IvsChat.LoggingConfiguration(\"example\", new()\n {\n DestinationConfiguration = new Aws.IvsChat.Inputs.LoggingConfigurationDestinationConfigurationArgs\n {\n CloudwatchLogs = new Aws.IvsChat.Inputs.LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs\n {\n LogGroupName = example.Name,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivschat\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ivschat.NewLoggingConfiguration(ctx, \"example\", \u0026ivschat.LoggingConfigurationArgs{\n\t\t\tDestinationConfiguration: \u0026ivschat.LoggingConfigurationDestinationConfigurationArgs{\n\t\t\t\tCloudwatchLogs: \u0026ivschat.LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs{\n\t\t\t\t\tLogGroupName: example.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.ivschat.LoggingConfiguration;\nimport com.pulumi.aws.ivschat.LoggingConfigurationArgs;\nimport com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationArgs;\nimport com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LogGroup(\"example\");\n\n var exampleLoggingConfiguration = new LoggingConfiguration(\"exampleLoggingConfiguration\", LoggingConfigurationArgs.builder()\n .destinationConfiguration(LoggingConfigurationDestinationConfigurationArgs.builder()\n .cloudwatchLogs(LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs.builder()\n .logGroupName(example.name())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n exampleLoggingConfiguration:\n type: aws:ivschat:LoggingConfiguration\n name: example\n properties:\n destinationConfiguration:\n cloudwatchLogs:\n logGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Usage - Logging to Kinesis Firehose with Extended S3\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucketPrefix: \"tf-ivschat-logging-bucket\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"firehose_example_role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = new aws.kinesis.FirehoseDeliveryStream(\"example\", {\n name: \"pulumi-kinesis-firehose-extended-s3-example-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: exampleRole.arn,\n bucketArn: exampleBucketV2.arn,\n },\n tags: {\n LogDeliveryEnabled: \"true\",\n },\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: exampleBucketV2.id,\n acl: \"private\",\n});\nconst exampleLoggingConfiguration = new aws.ivschat.LoggingConfiguration(\"example\", {destinationConfiguration: {\n firehose: {\n deliveryStreamName: example.name,\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket_prefix=\"tf-ivschat-logging-bucket\")\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"firehose.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"firehose_example_role\",\n assume_role_policy=assume_role.json)\nexample = aws.kinesis.FirehoseDeliveryStream(\"example\",\n name=\"pulumi-kinesis-firehose-extended-s3-example-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration={\n \"role_arn\": example_role.arn,\n \"bucket_arn\": example_bucket_v2.arn,\n },\n tags={\n \"LogDeliveryEnabled\": \"true\",\n })\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example_bucket_v2.id,\n acl=\"private\")\nexample_logging_configuration = aws.ivschat.LoggingConfiguration(\"example\", destination_configuration={\n \"firehose\": {\n \"delivery_stream_name\": example.name,\n },\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n BucketPrefix = \"tf-ivschat-logging-bucket\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"firehose_example_role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = new Aws.Kinesis.FirehoseDeliveryStream(\"example\", new()\n {\n Name = \"pulumi-kinesis-firehose-extended-s3-example-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = exampleRole.Arn,\n BucketArn = exampleBucketV2.Arn,\n },\n Tags = \n {\n { \"LogDeliveryEnabled\", \"true\" },\n },\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Acl = \"private\",\n });\n\n var exampleLoggingConfiguration = new Aws.IvsChat.LoggingConfiguration(\"example\", new()\n {\n DestinationConfiguration = new Aws.IvsChat.Inputs.LoggingConfigurationDestinationConfigurationArgs\n {\n Firehose = new Aws.IvsChat.Inputs.LoggingConfigurationDestinationConfigurationFirehoseArgs\n {\n DeliveryStreamName = example.Name,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivschat\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucketPrefix: pulumi.String(\"tf-ivschat-logging-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"firehose.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"firehose_example_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := kinesis.NewFirehoseDeliveryStream(ctx, \"example\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"pulumi-kinesis-firehose-extended-s3-example-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: exampleRole.Arn,\n\t\t\t\tBucketArn: exampleBucketV2.Arn,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"LogDeliveryEnabled\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ivschat.NewLoggingConfiguration(ctx, \"example\", \u0026ivschat.LoggingConfigurationArgs{\n\t\t\tDestinationConfiguration: \u0026ivschat.LoggingConfigurationDestinationConfigurationArgs{\n\t\t\t\tFirehose: \u0026ivschat.LoggingConfigurationDestinationConfigurationFirehoseArgs{\n\t\t\t\t\tDeliveryStreamName: example.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.ivschat.LoggingConfiguration;\nimport com.pulumi.aws.ivschat.LoggingConfigurationArgs;\nimport com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationArgs;\nimport com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationFirehoseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucketPrefix(\"tf-ivschat-logging-bucket\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"firehose_example_role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new FirehoseDeliveryStream(\"example\", FirehoseDeliveryStreamArgs.builder()\n .name(\"pulumi-kinesis-firehose-extended-s3-example-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(exampleRole.arn())\n .bucketArn(exampleBucketV2.arn())\n .build())\n .tags(Map.of(\"LogDeliveryEnabled\", \"true\"))\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(exampleBucketV2.id())\n .acl(\"private\")\n .build());\n\n var exampleLoggingConfiguration = new LoggingConfiguration(\"exampleLoggingConfiguration\", LoggingConfigurationArgs.builder()\n .destinationConfiguration(LoggingConfigurationDestinationConfigurationArgs.builder()\n .firehose(LoggingConfigurationDestinationConfigurationFirehoseArgs.builder()\n .deliveryStreamName(example.name())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kinesis:FirehoseDeliveryStream\n properties:\n name: pulumi-kinesis-firehose-extended-s3-example-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${exampleRole.arn}\n bucketArn: ${exampleBucketV2.arn}\n tags:\n LogDeliveryEnabled: 'true'\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucketPrefix: tf-ivschat-logging-bucket\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n acl: private\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: firehose_example_role\n assumeRolePolicy: ${assumeRole.json}\n exampleLoggingConfiguration:\n type: aws:ivschat:LoggingConfiguration\n name: example\n properties:\n destinationConfiguration:\n firehose:\n deliveryStreamName: ${example.name}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Usage - Logging to S3\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucketName: tf-ivschat-logging\n forceDestroy: true\n exampleLoggingConfiguration:\n type: aws:ivschat:LoggingConfiguration\n name: example\n properties:\n destinationConfiguration:\n s3:\n bucketName: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IVS (Interactive Video) Chat Logging Configuration using the ARN. For example:\n\n```sh\n$ pulumi import aws:ivschat/loggingConfiguration:LoggingConfiguration example arn:aws:ivschat:us-west-2:326937407773:logging-configuration/MMUQc8wcqZmC\n```\n", + "description": "Resource for managing an AWS IVS (Interactive Video) Chat Logging Configuration.\n\n## Example Usage\n\n### Basic Usage - Logging to CloudWatch\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {});\nconst exampleLoggingConfiguration = new aws.ivschat.LoggingConfiguration(\"example\", {destinationConfiguration: {\n cloudwatchLogs: {\n logGroupName: example.name,\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\")\nexample_logging_configuration = aws.ivschat.LoggingConfiguration(\"example\", destination_configuration={\n \"cloudwatch_logs\": {\n \"log_group_name\": example.name,\n },\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\");\n\n var exampleLoggingConfiguration = new Aws.IvsChat.LoggingConfiguration(\"example\", new()\n {\n DestinationConfiguration = new Aws.IvsChat.Inputs.LoggingConfigurationDestinationConfigurationArgs\n {\n CloudwatchLogs = new Aws.IvsChat.Inputs.LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs\n {\n LogGroupName = example.Name,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivschat\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ivschat.NewLoggingConfiguration(ctx, \"example\", \u0026ivschat.LoggingConfigurationArgs{\n\t\t\tDestinationConfiguration: \u0026ivschat.LoggingConfigurationDestinationConfigurationArgs{\n\t\t\t\tCloudwatchLogs: \u0026ivschat.LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs{\n\t\t\t\t\tLogGroupName: example.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.ivschat.LoggingConfiguration;\nimport com.pulumi.aws.ivschat.LoggingConfigurationArgs;\nimport com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationArgs;\nimport com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LogGroup(\"example\");\n\n var exampleLoggingConfiguration = new LoggingConfiguration(\"exampleLoggingConfiguration\", LoggingConfigurationArgs.builder()\n .destinationConfiguration(LoggingConfigurationDestinationConfigurationArgs.builder()\n .cloudwatchLogs(LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs.builder()\n .logGroupName(example.name())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n exampleLoggingConfiguration:\n type: aws:ivschat:LoggingConfiguration\n name: example\n properties:\n destinationConfiguration:\n cloudwatchLogs:\n logGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Usage - Logging to Kinesis Firehose with Extended S3\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucketPrefix: \"tf-ivschat-logging-bucket\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"firehose_example_role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = new aws.kinesis.FirehoseDeliveryStream(\"example\", {\n name: \"pulumi-kinesis-firehose-extended-s3-example-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: exampleRole.arn,\n bucketArn: exampleBucketV2.arn,\n },\n tags: {\n LogDeliveryEnabled: \"true\",\n },\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: exampleBucketV2.id,\n acl: \"private\",\n});\nconst exampleLoggingConfiguration = new aws.ivschat.LoggingConfiguration(\"example\", {destinationConfiguration: {\n firehose: {\n deliveryStreamName: example.name,\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket_prefix=\"tf-ivschat-logging-bucket\")\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"firehose.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"firehose_example_role\",\n assume_role_policy=assume_role.json)\nexample = aws.kinesis.FirehoseDeliveryStream(\"example\",\n name=\"pulumi-kinesis-firehose-extended-s3-example-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration={\n \"role_arn\": example_role.arn,\n \"bucket_arn\": example_bucket_v2.arn,\n },\n tags={\n \"LogDeliveryEnabled\": \"true\",\n })\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example_bucket_v2.id,\n acl=\"private\")\nexample_logging_configuration = aws.ivschat.LoggingConfiguration(\"example\", destination_configuration={\n \"firehose\": {\n \"delivery_stream_name\": example.name,\n },\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n BucketPrefix = \"tf-ivschat-logging-bucket\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"firehose_example_role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = new Aws.Kinesis.FirehoseDeliveryStream(\"example\", new()\n {\n Name = \"pulumi-kinesis-firehose-extended-s3-example-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = exampleRole.Arn,\n BucketArn = exampleBucketV2.Arn,\n },\n Tags = \n {\n { \"LogDeliveryEnabled\", \"true\" },\n },\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Acl = \"private\",\n });\n\n var exampleLoggingConfiguration = new Aws.IvsChat.LoggingConfiguration(\"example\", new()\n {\n DestinationConfiguration = new Aws.IvsChat.Inputs.LoggingConfigurationDestinationConfigurationArgs\n {\n Firehose = new Aws.IvsChat.Inputs.LoggingConfigurationDestinationConfigurationFirehoseArgs\n {\n DeliveryStreamName = example.Name,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivschat\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucketPrefix: pulumi.String(\"tf-ivschat-logging-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"firehose.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"firehose_example_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := kinesis.NewFirehoseDeliveryStream(ctx, \"example\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"pulumi-kinesis-firehose-extended-s3-example-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: exampleRole.Arn,\n\t\t\t\tBucketArn: exampleBucketV2.Arn,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"LogDeliveryEnabled\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ivschat.NewLoggingConfiguration(ctx, \"example\", \u0026ivschat.LoggingConfigurationArgs{\n\t\t\tDestinationConfiguration: \u0026ivschat.LoggingConfigurationDestinationConfigurationArgs{\n\t\t\t\tFirehose: \u0026ivschat.LoggingConfigurationDestinationConfigurationFirehoseArgs{\n\t\t\t\t\tDeliveryStreamName: example.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.ivschat.LoggingConfiguration;\nimport com.pulumi.aws.ivschat.LoggingConfigurationArgs;\nimport com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationArgs;\nimport com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationFirehoseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucketPrefix(\"tf-ivschat-logging-bucket\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"firehose_example_role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new FirehoseDeliveryStream(\"example\", FirehoseDeliveryStreamArgs.builder()\n .name(\"pulumi-kinesis-firehose-extended-s3-example-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(exampleRole.arn())\n .bucketArn(exampleBucketV2.arn())\n .build())\n .tags(Map.of(\"LogDeliveryEnabled\", \"true\"))\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(exampleBucketV2.id())\n .acl(\"private\")\n .build());\n\n var exampleLoggingConfiguration = new LoggingConfiguration(\"exampleLoggingConfiguration\", LoggingConfigurationArgs.builder()\n .destinationConfiguration(LoggingConfigurationDestinationConfigurationArgs.builder()\n .firehose(LoggingConfigurationDestinationConfigurationFirehoseArgs.builder()\n .deliveryStreamName(example.name())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kinesis:FirehoseDeliveryStream\n properties:\n name: pulumi-kinesis-firehose-extended-s3-example-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${exampleRole.arn}\n bucketArn: ${exampleBucketV2.arn}\n tags:\n LogDeliveryEnabled: 'true'\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucketPrefix: tf-ivschat-logging-bucket\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n acl: private\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: firehose_example_role\n assumeRolePolicy: ${assumeRole.json}\n exampleLoggingConfiguration:\n type: aws:ivschat:LoggingConfiguration\n name: example\n properties:\n destinationConfiguration:\n firehose:\n deliveryStreamName: ${example.name}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Usage - Logging to S3\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucketName: tf-ivschat-logging\n forceDestroy: true\n exampleLoggingConfiguration:\n type: aws:ivschat:LoggingConfiguration\n name: example\n properties:\n destinationConfiguration:\n s3:\n bucketName: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IVS (Interactive Video) Chat Logging Configuration using the ARN. For example:\n\n```sh\n$ pulumi import aws:ivschat/loggingConfiguration:LoggingConfiguration example arn:aws:ivschat:us-west-2:326937407773:logging-configuration/MMUQc8wcqZmC\n```\n", "properties": { "arn": { "type": "string", @@ -288144,7 +288144,7 @@ } }, "aws:kendra/dataSource:DataSource": { - "description": "Resource for managing an AWS Kendra Data Source.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n description: \"example\",\n languageCode: \"en\",\n type: \"CUSTOM\",\n tags: {\n hello: \"world\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n description=\"example\",\n language_code=\"en\",\n type=\"CUSTOM\",\n tags={\n \"hello\": \"world\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Description = \"example\",\n LanguageCode = \"en\",\n Type = \"CUSTOM\",\n Tags = \n {\n { \"hello\", \"world\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tLanguageCode: pulumi.String(\"en\"),\n\t\t\tType: pulumi.String(\"CUSTOM\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"hello\": pulumi.String(\"world\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .description(\"example\")\n .languageCode(\"en\")\n .type(\"CUSTOM\")\n .tags(Map.of(\"hello\", \"world\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n description: example\n languageCode: en\n type: CUSTOM\n tags:\n hello: world\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Connector\n\n### With Schedule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"S3\",\n roleArn: exampleAwsIamRole.arn,\n schedule: \"cron(9 10 1 * ? *)\",\n configuration: {\n s3Configuration: {\n bucketName: exampleAwsS3Bucket.id,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"S3\",\n role_arn=example_aws_iam_role[\"arn\"],\n schedule=\"cron(9 10 1 * ? *)\",\n configuration={\n \"s3_configuration\": {\n \"bucket_name\": example_aws_s3_bucket[\"id\"],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"S3\",\n RoleArn = exampleAwsIamRole.Arn,\n Schedule = \"cron(9 10 1 * ? *)\",\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n S3Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationArgs\n {\n BucketName = exampleAwsS3Bucket.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"S3\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSchedule: pulumi.String(\"cron(9 10 1 * ? *)\"),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tS3Configuration: \u0026kendra.DataSourceConfigurationS3ConfigurationArgs{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"S3\")\n .roleArn(exampleAwsIamRole.arn())\n .schedule(\"cron(9 10 1 * ? *)\")\n .configuration(DataSourceConfigurationArgs.builder()\n .s3Configuration(DataSourceConfigurationS3ConfigurationArgs.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: S3\n roleArn: ${exampleAwsIamRole.arn}\n schedule: cron(9 10 1 * ? *)\n configuration:\n s3Configuration:\n bucketName: ${exampleAwsS3Bucket.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Access Control List\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"S3\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n s3Configuration: {\n bucketName: exampleAwsS3Bucket.id,\n accessControlListConfiguration: {\n keyPath: `s3://${exampleAwsS3Bucket.id}/path-1`,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"S3\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"s3_configuration\": {\n \"bucket_name\": example_aws_s3_bucket[\"id\"],\n \"access_control_list_configuration\": {\n \"key_path\": f\"s3://{example_aws_s3_bucket['id']}/path-1\",\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"S3\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n S3Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationArgs\n {\n BucketName = exampleAwsS3Bucket.Id,\n AccessControlListConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs\n {\n KeyPath = $\"s3://{exampleAwsS3Bucket.Id}/path-1\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"S3\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tS3Configuration: \u0026kendra.DataSourceConfigurationS3ConfigurationArgs{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tAccessControlListConfiguration: \u0026kendra.DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs{\n\t\t\t\t\t\tKeyPath: pulumi.Sprintf(\"s3://%v/path-1\", exampleAwsS3Bucket.Id),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"S3\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .s3Configuration(DataSourceConfigurationS3ConfigurationArgs.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .accessControlListConfiguration(DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs.builder()\n .keyPath(String.format(\"s3://%s/path-1\", exampleAwsS3Bucket.id()))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: S3\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n s3Configuration:\n bucketName: ${exampleAwsS3Bucket.id}\n accessControlListConfiguration:\n keyPath: s3://${exampleAwsS3Bucket.id}/path-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Documents Metadata Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"S3\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n s3Configuration: {\n bucketName: exampleAwsS3Bucket.id,\n exclusionPatterns: [\"example\"],\n inclusionPatterns: [\"hello\"],\n inclusionPrefixes: [\"world\"],\n documentsMetadataConfiguration: {\n s3Prefix: \"example\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"S3\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"s3_configuration\": {\n \"bucket_name\": example_aws_s3_bucket[\"id\"],\n \"exclusion_patterns\": [\"example\"],\n \"inclusion_patterns\": [\"hello\"],\n \"inclusion_prefixes\": [\"world\"],\n \"documents_metadata_configuration\": {\n \"s3_prefix\": \"example\",\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"S3\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n S3Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationArgs\n {\n BucketName = exampleAwsS3Bucket.Id,\n ExclusionPatterns = new[]\n {\n \"example\",\n },\n InclusionPatterns = new[]\n {\n \"hello\",\n },\n InclusionPrefixes = new[]\n {\n \"world\",\n },\n DocumentsMetadataConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs\n {\n S3Prefix = \"example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"S3\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tS3Configuration: \u0026kendra.DataSourceConfigurationS3ConfigurationArgs{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tExclusionPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t\tInclusionPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"hello\"),\n\t\t\t\t\t},\n\t\t\t\t\tInclusionPrefixes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"world\"),\n\t\t\t\t\t},\n\t\t\t\t\tDocumentsMetadataConfiguration: \u0026kendra.DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs{\n\t\t\t\t\t\tS3Prefix: pulumi.String(\"example\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"S3\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .s3Configuration(DataSourceConfigurationS3ConfigurationArgs.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .exclusionPatterns(\"example\")\n .inclusionPatterns(\"hello\")\n .inclusionPrefixes(\"world\")\n .documentsMetadataConfiguration(DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs.builder()\n .s3Prefix(\"example\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: S3\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n s3Configuration:\n bucketName: ${exampleAwsS3Bucket.id}\n exclusionPatterns:\n - example\n inclusionPatterns:\n - hello\n inclusionPrefixes:\n - world\n documentsMetadataConfiguration:\n s3Prefix: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Web Crawler Connector\n\n### With Seed URLs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"web_crawler_configuration\": {\n \"urls\": {\n \"seed_url_configuration\": {\n \"seed_urls\": [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Site Maps\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n urls: {\n siteMapsConfiguration: {\n siteMaps: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"web_crawler_configuration\": {\n \"urls\": {\n \"site_maps_configuration\": {\n \"site_maps\": [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SiteMapsConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs\n {\n SiteMaps = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSiteMapsConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs{\n\t\t\t\t\t\t\tSiteMaps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .siteMapsConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs.builder()\n .siteMaps(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n urls:\n siteMapsConfiguration:\n siteMaps:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Web Crawler Mode\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n urls: {\n seedUrlConfiguration: {\n webCrawlerMode: \"SUBDOMAINS\",\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"web_crawler_configuration\": {\n \"urls\": {\n \"seed_url_configuration\": {\n \"web_crawler_mode\": \"SUBDOMAINS\",\n \"seed_urls\": [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n WebCrawlerMode = \"SUBDOMAINS\",\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tWebCrawlerMode: pulumi.String(\"SUBDOMAINS\"),\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .webCrawlerMode(\"SUBDOMAINS\")\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n urls:\n seedUrlConfiguration:\n webCrawlerMode: SUBDOMAINS\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Authentication Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n authenticationConfiguration: {\n basicAuthentications: [{\n credentials: exampleAwsSecretsmanagerSecret.arn,\n host: \"a.example.com\",\n port: 443,\n }],\n },\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n}, {\n dependsOn: [exampleAwsSecretsmanagerSecretVersion],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"web_crawler_configuration\": {\n \"authentication_configuration\": {\n \"basic_authentications\": [{\n \"credentials\": example_aws_secretsmanager_secret[\"arn\"],\n \"host\": \"a.example.com\",\n \"port\": 443,\n }],\n },\n \"urls\": {\n \"seed_url_configuration\": {\n \"seed_urls\": [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_secretsmanager_secret_version]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n AuthenticationConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs\n {\n BasicAuthentications = new[]\n {\n new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArgs\n {\n Credentials = exampleAwsSecretsmanagerSecret.Arn,\n Host = \"a.example.com\",\n Port = 443,\n },\n },\n },\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecretsmanagerSecretVersion,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tAuthenticationConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs{\n\t\t\t\t\t\tBasicAuthentications: kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArray{\n\t\t\t\t\t\t\t\u0026kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArgs{\n\t\t\t\t\t\t\t\tCredentials: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn),\n\t\t\t\t\t\t\t\tHost: pulumi.String(\"a.example.com\"),\n\t\t\t\t\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecretsmanagerSecretVersion,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .authenticationConfiguration(DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs.builder()\n .basicAuthentications(DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArgs.builder()\n .credentials(exampleAwsSecretsmanagerSecret.arn())\n .host(\"a.example.com\")\n .port(\"443\")\n .build())\n .build())\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecretsmanagerSecretVersion)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n authenticationConfiguration:\n basicAuthentications:\n - credentials: ${exampleAwsSecretsmanagerSecret.arn}\n host: a.example.com\n port: '443'\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n options:\n dependsOn:\n - ${exampleAwsSecretsmanagerSecretVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Crawl Depth\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n crawlDepth: 3,\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"web_crawler_configuration\": {\n \"crawl_depth\": 3,\n \"urls\": {\n \"seed_url_configuration\": {\n \"seed_urls\": [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n CrawlDepth = 3,\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tCrawlDepth: pulumi.Int(3),\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .crawlDepth(3)\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n crawlDepth: 3\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Max Links Per Page\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n maxLinksPerPage: 100,\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"web_crawler_configuration\": {\n \"max_links_per_page\": 100,\n \"urls\": {\n \"seed_url_configuration\": {\n \"seed_urls\": [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n MaxLinksPerPage = 100,\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tMaxLinksPerPage: pulumi.Int(100),\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .maxLinksPerPage(100)\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n maxLinksPerPage: 100\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Max Urls Per Minute Crawl Rate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n maxUrlsPerMinuteCrawlRate: 300,\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"web_crawler_configuration\": {\n \"max_urls_per_minute_crawl_rate\": 300,\n \"urls\": {\n \"seed_url_configuration\": {\n \"seed_urls\": [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n MaxUrlsPerMinuteCrawlRate = 300,\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tMaxUrlsPerMinuteCrawlRate: pulumi.Int(300),\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .maxUrlsPerMinuteCrawlRate(300)\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n maxUrlsPerMinuteCrawlRate: 300\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Proxy Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n proxyConfiguration: {\n credentials: exampleAwsSecretsmanagerSecret.arn,\n host: \"a.example.com\",\n port: 443,\n },\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n}, {\n dependsOn: [exampleAwsSecretsmanagerSecretVersion],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"web_crawler_configuration\": {\n \"proxy_configuration\": {\n \"credentials\": example_aws_secretsmanager_secret[\"arn\"],\n \"host\": \"a.example.com\",\n \"port\": 443,\n },\n \"urls\": {\n \"seed_url_configuration\": {\n \"seed_urls\": [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_secretsmanager_secret_version]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n ProxyConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs\n {\n Credentials = exampleAwsSecretsmanagerSecret.Arn,\n Host = \"a.example.com\",\n Port = 443,\n },\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecretsmanagerSecretVersion,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tProxyConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs{\n\t\t\t\t\t\tCredentials: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn),\n\t\t\t\t\t\tHost: pulumi.String(\"a.example.com\"),\n\t\t\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\t\t},\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecretsmanagerSecretVersion,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .proxyConfiguration(DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs.builder()\n .credentials(exampleAwsSecretsmanagerSecret.arn())\n .host(\"a.example.com\")\n .port(\"443\")\n .build())\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecretsmanagerSecretVersion)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n proxyConfiguration:\n credentials: ${exampleAwsSecretsmanagerSecret.arn}\n host: a.example.com\n port: '443'\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n options:\n dependsOn:\n - ${exampleAwsSecretsmanagerSecretVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With URL Exclusion and Inclusion Patterns\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n urlExclusionPatterns: [\"example\"],\n urlInclusionPatterns: [\"hello\"],\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"web_crawler_configuration\": {\n \"url_exclusion_patterns\": [\"example\"],\n \"url_inclusion_patterns\": [\"hello\"],\n \"urls\": {\n \"seed_url_configuration\": {\n \"seed_urls\": [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n UrlExclusionPatterns = new[]\n {\n \"example\",\n },\n UrlInclusionPatterns = new[]\n {\n \"hello\",\n },\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tUrlExclusionPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t\tUrlInclusionPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"hello\"),\n\t\t\t\t\t},\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .urlExclusionPatterns(\"example\")\n .urlInclusionPatterns(\"hello\")\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n urlExclusionPatterns:\n - example\n urlInclusionPatterns:\n - hello\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kendra Data Source using the unique identifiers of the data_source and index separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:kendra/dataSource:DataSource example 1045d08d-66ef-4882-b3ed-dfb7df183e90/b34dfdf7-1f2b-4704-9581-79e00296845f\n```\n", + "description": "Resource for managing an AWS Kendra Data Source.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n description: \"example\",\n languageCode: \"en\",\n type: \"CUSTOM\",\n tags: {\n hello: \"world\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n description=\"example\",\n language_code=\"en\",\n type=\"CUSTOM\",\n tags={\n \"hello\": \"world\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Description = \"example\",\n LanguageCode = \"en\",\n Type = \"CUSTOM\",\n Tags = \n {\n { \"hello\", \"world\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tLanguageCode: pulumi.String(\"en\"),\n\t\t\tType: pulumi.String(\"CUSTOM\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"hello\": pulumi.String(\"world\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .description(\"example\")\n .languageCode(\"en\")\n .type(\"CUSTOM\")\n .tags(Map.of(\"hello\", \"world\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n description: example\n languageCode: en\n type: CUSTOM\n tags:\n hello: world\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Connector\n\n### With Schedule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"S3\",\n roleArn: exampleAwsIamRole.arn,\n schedule: \"cron(9 10 1 * ? *)\",\n configuration: {\n s3Configuration: {\n bucketName: exampleAwsS3Bucket.id,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"S3\",\n role_arn=example_aws_iam_role[\"arn\"],\n schedule=\"cron(9 10 1 * ? *)\",\n configuration={\n \"s3_configuration\": {\n \"bucket_name\": example_aws_s3_bucket[\"id\"],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"S3\",\n RoleArn = exampleAwsIamRole.Arn,\n Schedule = \"cron(9 10 1 * ? *)\",\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n S3Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationArgs\n {\n BucketName = exampleAwsS3Bucket.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"S3\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSchedule: pulumi.String(\"cron(9 10 1 * ? *)\"),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tS3Configuration: \u0026kendra.DataSourceConfigurationS3ConfigurationArgs{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"S3\")\n .roleArn(exampleAwsIamRole.arn())\n .schedule(\"cron(9 10 1 * ? *)\")\n .configuration(DataSourceConfigurationArgs.builder()\n .s3Configuration(DataSourceConfigurationS3ConfigurationArgs.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: S3\n roleArn: ${exampleAwsIamRole.arn}\n schedule: cron(9 10 1 * ? *)\n configuration:\n s3Configuration:\n bucketName: ${exampleAwsS3Bucket.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Access Control List\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"S3\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n s3Configuration: {\n bucketName: exampleAwsS3Bucket.id,\n accessControlListConfiguration: {\n keyPath: `s3://${exampleAwsS3Bucket.id}/path-1`,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"S3\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"s3_configuration\": {\n \"bucket_name\": example_aws_s3_bucket[\"id\"],\n \"access_control_list_configuration\": {\n \"key_path\": f\"s3://{example_aws_s3_bucket['id']}/path-1\",\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"S3\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n S3Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationArgs\n {\n BucketName = exampleAwsS3Bucket.Id,\n AccessControlListConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs\n {\n KeyPath = $\"s3://{exampleAwsS3Bucket.Id}/path-1\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"S3\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tS3Configuration: \u0026kendra.DataSourceConfigurationS3ConfigurationArgs{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tAccessControlListConfiguration: \u0026kendra.DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs{\n\t\t\t\t\t\tKeyPath: pulumi.Sprintf(\"s3://%v/path-1\", exampleAwsS3Bucket.Id),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"S3\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .s3Configuration(DataSourceConfigurationS3ConfigurationArgs.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .accessControlListConfiguration(DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs.builder()\n .keyPath(String.format(\"s3://%s/path-1\", exampleAwsS3Bucket.id()))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: S3\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n s3Configuration:\n bucketName: ${exampleAwsS3Bucket.id}\n accessControlListConfiguration:\n keyPath: s3://${exampleAwsS3Bucket.id}/path-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Documents Metadata Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"S3\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n s3Configuration: {\n bucketName: exampleAwsS3Bucket.id,\n exclusionPatterns: [\"example\"],\n inclusionPatterns: [\"hello\"],\n inclusionPrefixes: [\"world\"],\n documentsMetadataConfiguration: {\n s3Prefix: \"example\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"S3\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"s3_configuration\": {\n \"bucket_name\": example_aws_s3_bucket[\"id\"],\n \"exclusion_patterns\": [\"example\"],\n \"inclusion_patterns\": [\"hello\"],\n \"inclusion_prefixes\": [\"world\"],\n \"documents_metadata_configuration\": {\n \"s3_prefix\": \"example\",\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"S3\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n S3Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationArgs\n {\n BucketName = exampleAwsS3Bucket.Id,\n ExclusionPatterns = new[]\n {\n \"example\",\n },\n InclusionPatterns = new[]\n {\n \"hello\",\n },\n InclusionPrefixes = new[]\n {\n \"world\",\n },\n DocumentsMetadataConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs\n {\n S3Prefix = \"example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"S3\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tS3Configuration: \u0026kendra.DataSourceConfigurationS3ConfigurationArgs{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tExclusionPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t\tInclusionPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"hello\"),\n\t\t\t\t\t},\n\t\t\t\t\tInclusionPrefixes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"world\"),\n\t\t\t\t\t},\n\t\t\t\t\tDocumentsMetadataConfiguration: \u0026kendra.DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs{\n\t\t\t\t\t\tS3Prefix: pulumi.String(\"example\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"S3\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .s3Configuration(DataSourceConfigurationS3ConfigurationArgs.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .exclusionPatterns(\"example\")\n .inclusionPatterns(\"hello\")\n .inclusionPrefixes(\"world\")\n .documentsMetadataConfiguration(DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs.builder()\n .s3Prefix(\"example\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: S3\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n s3Configuration:\n bucketName: ${exampleAwsS3Bucket.id}\n exclusionPatterns:\n - example\n inclusionPatterns:\n - hello\n inclusionPrefixes:\n - world\n documentsMetadataConfiguration:\n s3Prefix: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Web Crawler Connector\n\n### With Seed URLs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"web_crawler_configuration\": {\n \"urls\": {\n \"seed_url_configuration\": {\n \"seed_urls\": [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Site Maps\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n urls: {\n siteMapsConfiguration: {\n siteMaps: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"web_crawler_configuration\": {\n \"urls\": {\n \"site_maps_configuration\": {\n \"site_maps\": [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SiteMapsConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs\n {\n SiteMaps = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSiteMapsConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs{\n\t\t\t\t\t\t\tSiteMaps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .siteMapsConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs.builder()\n .siteMaps(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n urls:\n siteMapsConfiguration:\n siteMaps:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Web Crawler Mode\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n urls: {\n seedUrlConfiguration: {\n webCrawlerMode: \"SUBDOMAINS\",\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"web_crawler_configuration\": {\n \"urls\": {\n \"seed_url_configuration\": {\n \"web_crawler_mode\": \"SUBDOMAINS\",\n \"seed_urls\": [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n WebCrawlerMode = \"SUBDOMAINS\",\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tWebCrawlerMode: pulumi.String(\"SUBDOMAINS\"),\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .webCrawlerMode(\"SUBDOMAINS\")\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n urls:\n seedUrlConfiguration:\n webCrawlerMode: SUBDOMAINS\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Authentication Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n authenticationConfiguration: {\n basicAuthentications: [{\n credentials: exampleAwsSecretsmanagerSecret.arn,\n host: \"a.example.com\",\n port: 443,\n }],\n },\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n}, {\n dependsOn: [exampleAwsSecretsmanagerSecretVersion],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"web_crawler_configuration\": {\n \"authentication_configuration\": {\n \"basic_authentications\": [{\n \"credentials\": example_aws_secretsmanager_secret[\"arn\"],\n \"host\": \"a.example.com\",\n \"port\": 443,\n }],\n },\n \"urls\": {\n \"seed_url_configuration\": {\n \"seed_urls\": [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_secretsmanager_secret_version]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n AuthenticationConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs\n {\n BasicAuthentications = new[]\n {\n new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArgs\n {\n Credentials = exampleAwsSecretsmanagerSecret.Arn,\n Host = \"a.example.com\",\n Port = 443,\n },\n },\n },\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecretsmanagerSecretVersion,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tAuthenticationConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs{\n\t\t\t\t\t\tBasicAuthentications: kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArray{\n\t\t\t\t\t\t\t\u0026kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArgs{\n\t\t\t\t\t\t\t\tCredentials: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn),\n\t\t\t\t\t\t\t\tHost: pulumi.String(\"a.example.com\"),\n\t\t\t\t\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecretsmanagerSecretVersion,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .authenticationConfiguration(DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs.builder()\n .basicAuthentications(DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArgs.builder()\n .credentials(exampleAwsSecretsmanagerSecret.arn())\n .host(\"a.example.com\")\n .port(\"443\")\n .build())\n .build())\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecretsmanagerSecretVersion)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n authenticationConfiguration:\n basicAuthentications:\n - credentials: ${exampleAwsSecretsmanagerSecret.arn}\n host: a.example.com\n port: '443'\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n options:\n dependson:\n - ${exampleAwsSecretsmanagerSecretVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Crawl Depth\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n crawlDepth: 3,\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"web_crawler_configuration\": {\n \"crawl_depth\": 3,\n \"urls\": {\n \"seed_url_configuration\": {\n \"seed_urls\": [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n CrawlDepth = 3,\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tCrawlDepth: pulumi.Int(3),\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .crawlDepth(3)\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n crawlDepth: 3\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Max Links Per Page\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n maxLinksPerPage: 100,\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"web_crawler_configuration\": {\n \"max_links_per_page\": 100,\n \"urls\": {\n \"seed_url_configuration\": {\n \"seed_urls\": [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n MaxLinksPerPage = 100,\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tMaxLinksPerPage: pulumi.Int(100),\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .maxLinksPerPage(100)\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n maxLinksPerPage: 100\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Max Urls Per Minute Crawl Rate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n maxUrlsPerMinuteCrawlRate: 300,\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"web_crawler_configuration\": {\n \"max_urls_per_minute_crawl_rate\": 300,\n \"urls\": {\n \"seed_url_configuration\": {\n \"seed_urls\": [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n MaxUrlsPerMinuteCrawlRate = 300,\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tMaxUrlsPerMinuteCrawlRate: pulumi.Int(300),\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .maxUrlsPerMinuteCrawlRate(300)\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n maxUrlsPerMinuteCrawlRate: 300\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Proxy Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n proxyConfiguration: {\n credentials: exampleAwsSecretsmanagerSecret.arn,\n host: \"a.example.com\",\n port: 443,\n },\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n}, {\n dependsOn: [exampleAwsSecretsmanagerSecretVersion],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"web_crawler_configuration\": {\n \"proxy_configuration\": {\n \"credentials\": example_aws_secretsmanager_secret[\"arn\"],\n \"host\": \"a.example.com\",\n \"port\": 443,\n },\n \"urls\": {\n \"seed_url_configuration\": {\n \"seed_urls\": [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_secretsmanager_secret_version]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n ProxyConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs\n {\n Credentials = exampleAwsSecretsmanagerSecret.Arn,\n Host = \"a.example.com\",\n Port = 443,\n },\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecretsmanagerSecretVersion,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tProxyConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs{\n\t\t\t\t\t\tCredentials: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn),\n\t\t\t\t\t\tHost: pulumi.String(\"a.example.com\"),\n\t\t\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\t\t},\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecretsmanagerSecretVersion,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .proxyConfiguration(DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs.builder()\n .credentials(exampleAwsSecretsmanagerSecret.arn())\n .host(\"a.example.com\")\n .port(\"443\")\n .build())\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecretsmanagerSecretVersion)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n proxyConfiguration:\n credentials: ${exampleAwsSecretsmanagerSecret.arn}\n host: a.example.com\n port: '443'\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n options:\n dependson:\n - ${exampleAwsSecretsmanagerSecretVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With URL Exclusion and Inclusion Patterns\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n urlExclusionPatterns: [\"example\"],\n urlInclusionPatterns: [\"hello\"],\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration={\n \"web_crawler_configuration\": {\n \"url_exclusion_patterns\": [\"example\"],\n \"url_inclusion_patterns\": [\"hello\"],\n \"urls\": {\n \"seed_url_configuration\": {\n \"seed_urls\": [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n UrlExclusionPatterns = new[]\n {\n \"example\",\n },\n UrlInclusionPatterns = new[]\n {\n \"hello\",\n },\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tUrlExclusionPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t\tUrlInclusionPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"hello\"),\n\t\t\t\t\t},\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .urlExclusionPatterns(\"example\")\n .urlInclusionPatterns(\"hello\")\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n urlExclusionPatterns:\n - example\n urlInclusionPatterns:\n - hello\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kendra Data Source using the unique identifiers of the data_source and index separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:kendra/dataSource:DataSource example 1045d08d-66ef-4882-b3ed-dfb7df183e90/b34dfdf7-1f2b-4704-9581-79e00296845f\n```\n", "properties": { "arn": { "type": "string", @@ -289742,7 +289742,7 @@ } }, "aws:kinesis/firehoseDeliveryStream:FirehoseDeliveryStream": { - "description": "Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 , Amazon Redshift and Snowflake.\n\nFor more details, see the [Amazon Kinesis Firehose Documentation](https://aws.amazon.com/documentation/firehose/).\n\n## Example Usage\n\n### Extended S3 Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"tf-test-bucket\"});\nconst firehoseAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst firehoseRole = new aws.iam.Role(\"firehose_role\", {\n name: \"firehose_test_role\",\n assumeRolePolicy: firehoseAssumeRole.then(firehoseAssumeRole =\u003e firehoseAssumeRole.json),\n});\nconst lambdaAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst lambdaIam = new aws.iam.Role(\"lambda_iam\", {\n name: \"lambda_iam\",\n assumeRolePolicy: lambdaAssumeRole.then(lambdaAssumeRole =\u003e lambdaAssumeRole.json),\n});\nconst lambdaProcessor = new aws.lambda.Function(\"lambda_processor\", {\n code: new pulumi.asset.FileArchive(\"lambda.zip\"),\n name: \"firehose_lambda_processor\",\n role: lambdaIam.arn,\n handler: \"exports.handler\",\n runtime: aws.lambda.Runtime.NodeJS20dX,\n});\nconst extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", {\n name: \"kinesis-firehose-extended-s3-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: pulumi.interpolate`${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"tf-test-bucket\")\nfirehose_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"firehose.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nfirehose_role = aws.iam.Role(\"firehose_role\",\n name=\"firehose_test_role\",\n assume_role_policy=firehose_assume_role.json)\nlambda_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"lambda.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nlambda_iam = aws.iam.Role(\"lambda_iam\",\n name=\"lambda_iam\",\n assume_role_policy=lambda_assume_role.json)\nlambda_processor = aws.lambda_.Function(\"lambda_processor\",\n code=pulumi.FileArchive(\"lambda.zip\"),\n name=\"firehose_lambda_processor\",\n role=lambda_iam.arn,\n handler=\"exports.handler\",\n runtime=aws.lambda_.Runtime.NODE_JS20D_X)\nextended_s3_stream = aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\",\n name=\"kinesis-firehose-extended-s3-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration={\n \"role_arn\": firehose_role.arn,\n \"bucket_arn\": bucket.arn,\n \"processing_configuration\": {\n \"enabled\": True,\n \"processors\": [{\n \"type\": \"Lambda\",\n \"parameters\": [{\n \"parameter_name\": \"LambdaArn\",\n \"parameter_value\": lambda_processor.arn.apply(lambda arn: f\"{arn}:$LATEST\"),\n }],\n }],\n },\n })\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"tf-test-bucket\",\n });\n\n var firehoseAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var firehoseRole = new Aws.Iam.Role(\"firehose_role\", new()\n {\n Name = \"firehose_test_role\",\n AssumeRolePolicy = firehoseAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var lambdaIam = new Aws.Iam.Role(\"lambda_iam\", new()\n {\n Name = \"lambda_iam\",\n AssumeRolePolicy = lambdaAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaProcessor = new Aws.Lambda.Function(\"lambda_processor\", new()\n {\n Code = new FileArchive(\"lambda.zip\"),\n Name = \"firehose_lambda_processor\",\n Role = lambdaIam.Arn,\n Handler = \"exports.handler\",\n Runtime = Aws.Lambda.Runtime.NodeJS20dX,\n });\n\n var extendedS3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", new()\n {\n Name = \"kinesis-firehose-extended-s3-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = lambdaProcessor.Arn.Apply(arn =\u003e $\"{arn}:$LATEST\"),\n },\n },\n },\n },\n },\n },\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"firehose.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseRole, err := iam.NewRole(ctx, \"firehose_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"firehose_test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(firehoseAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaIam, err := iam.NewRole(ctx, \"lambda_iam\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"lambda_iam\"),\n\t\t\tAssumeRolePolicy: pulumi.String(lambdaAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaProcessor, err := lambda.NewFunction(ctx, \"lambda_processor\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda.zip\"),\n\t\t\tName: pulumi.String(\"firehose_lambda_processor\"),\n\t\t\tRole: lambdaIam.Arn,\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS20dX),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"extended_s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-extended-s3-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: firehoseRole.Arn,\n\t\t\t\tBucketArn: bucket.Arn,\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: lambdaProcessor.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:$LATEST\", arn), nil\n\t\t\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"tf-test-bucket\")\n .build());\n\n final var firehoseAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var firehoseRole = new Role(\"firehoseRole\", RoleArgs.builder()\n .name(\"firehose_test_role\")\n .assumeRolePolicy(firehoseAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var lambdaAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var lambdaIam = new Role(\"lambdaIam\", RoleArgs.builder()\n .name(\"lambda_iam\")\n .assumeRolePolicy(lambdaAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var lambdaProcessor = new Function(\"lambdaProcessor\", FunctionArgs.builder()\n .code(new FileArchive(\"lambda.zip\"))\n .name(\"firehose_lambda_processor\")\n .role(lambdaIam.arn())\n .handler(\"exports.handler\")\n .runtime(\"nodejs20.x\")\n .build());\n\n var extendedS3Stream = new FirehoseDeliveryStream(\"extendedS3Stream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-extended-s3-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .processingConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(lambdaProcessor.arn().applyValue(arn -\u003e String.format(\"%s:$LATEST\", arn)))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder()\n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extendedS3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: extended_s3_stream\n properties:\n name: kinesis-firehose-extended-s3-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n firehoseRole:\n type: aws:iam:Role\n name: firehose_role\n properties:\n name: firehose_test_role\n assumeRolePolicy: ${firehoseAssumeRole.json}\n lambdaIam:\n type: aws:iam:Role\n name: lambda_iam\n properties:\n name: lambda_iam\n assumeRolePolicy: ${lambdaAssumeRole.json}\n lambdaProcessor:\n type: aws:lambda:Function\n name: lambda_processor\n properties:\n code:\n fn::FileArchive: lambda.zip\n name: firehose_lambda_processor\n role: ${lambdaIam.arn}\n handler: exports.handler\n runtime: nodejs20.x\nvariables:\n firehoseAssumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\n lambdaAssumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Extended S3 Destination with dynamic partitioning\n\nThese examples use built-in Firehose functionality, rather than requiring a lambda.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", {\n name: \"kinesis-firehose-extended-s3-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 64,\n dynamicPartitioningConfiguration: {\n enabled: true,\n },\n prefix: \"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n errorOutputPrefix: \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processingConfiguration: {\n enabled: true,\n processors: [\n {\n type: \"RecordDeAggregation\",\n parameters: [{\n parameterName: \"SubRecordType\",\n parameterValue: \"JSON\",\n }],\n },\n {\n type: \"AppendDelimiterToRecord\",\n },\n {\n type: \"MetadataExtraction\",\n parameters: [\n {\n parameterName: \"JsonParsingEngine\",\n parameterValue: \"JQ-1.6\",\n },\n {\n parameterName: \"MetadataExtractionQuery\",\n parameterValue: \"{customer_id:.customer_id}\",\n },\n ],\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nextended_s3_stream = aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\",\n name=\"kinesis-firehose-extended-s3-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration={\n \"role_arn\": firehose_role[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 64,\n \"dynamic_partitioning_configuration\": {\n \"enabled\": True,\n },\n \"prefix\": \"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n \"error_output_prefix\": \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n \"processing_configuration\": {\n \"enabled\": True,\n \"processors\": [\n {\n \"type\": \"RecordDeAggregation\",\n \"parameters\": [{\n \"parameter_name\": \"SubRecordType\",\n \"parameter_value\": \"JSON\",\n }],\n },\n {\n \"type\": \"AppendDelimiterToRecord\",\n },\n {\n \"type\": \"MetadataExtraction\",\n \"parameters\": [\n {\n \"parameter_name\": \"JsonParsingEngine\",\n \"parameter_value\": \"JQ-1.6\",\n },\n {\n \"parameter_name\": \"MetadataExtractionQuery\",\n \"parameter_value\": \"{customer_id:.customer_id}\",\n },\n ],\n },\n ],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var extendedS3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", new()\n {\n Name = \"kinesis-firehose-extended-s3-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 64,\n DynamicPartitioningConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs\n {\n Enabled = true,\n },\n Prefix = \"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n ErrorOutputPrefix = \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"RecordDeAggregation\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"SubRecordType\",\n ParameterValue = \"JSON\",\n },\n },\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"AppendDelimiterToRecord\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"MetadataExtraction\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"JsonParsingEngine\",\n ParameterValue = \"JQ-1.6\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"MetadataExtractionQuery\",\n ParameterValue = \"{customer_id:.customer_id}\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"extended_s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-extended-s3-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\tBufferingSize: pulumi.Int(64),\n\t\t\t\tDynamicPartitioningConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tPrefix: pulumi.String(\"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\"),\n\t\t\t\tErrorOutputPrefix: pulumi.String(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\"),\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"RecordDeAggregation\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"SubRecordType\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"JSON\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AppendDelimiterToRecord\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"MetadataExtraction\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"JsonParsingEngine\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"JQ-1.6\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"MetadataExtractionQuery\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"{customer_id:.customer_id}\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var extendedS3Stream = new FirehoseDeliveryStream(\"extendedS3Stream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-extended-s3-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(64)\n .dynamicPartitioningConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs.builder()\n .enabled(\"true\")\n .build())\n .prefix(\"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\")\n .errorOutputPrefix(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\")\n .processingConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors( \n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"RecordDeAggregation\")\n .parameters(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"SubRecordType\")\n .parameterValue(\"JSON\")\n .build())\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"AppendDelimiterToRecord\")\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"MetadataExtraction\")\n .parameters( \n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"JsonParsingEngine\")\n .parameterValue(\"JQ-1.6\")\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"MetadataExtractionQuery\")\n .parameterValue(\"{customer_id:.customer_id}\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extendedS3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: extended_s3_stream\n properties:\n name: kinesis-firehose-extended-s3-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 64\n dynamicPartitioningConfiguration:\n enabled: 'true'\n prefix: data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\n errorOutputPrefix: errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: RecordDeAggregation\n parameters:\n - parameterName: SubRecordType\n parameterValue: JSON\n - type: AppendDelimiterToRecord\n - type: MetadataExtraction\n parameters:\n - parameterName: JsonParsingEngine\n parameterValue: JQ-1.6\n - parameterName: MetadataExtractionQuery\n parameterValue: '{customer_id:.customer_id}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nMultiple Dynamic Partitioning Keys (maximum of 50) can be added by comma separating the `parameter_value`.\n\nThe following example adds the Dynamic Partitioning Keys: `store_id` and `customer_id` to the S3 prefix.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", {\n name: \"kinesis-firehose-extended-s3-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 64,\n dynamicPartitioningConfiguration: {\n enabled: true,\n },\n prefix: \"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n errorOutputPrefix: \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"MetadataExtraction\",\n parameters: [\n {\n parameterName: \"JsonParsingEngine\",\n parameterValue: \"JQ-1.6\",\n },\n {\n parameterName: \"MetadataExtractionQuery\",\n parameterValue: \"{store_id:.store_id,customer_id:.customer_id}\",\n },\n ],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nextended_s3_stream = aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\",\n name=\"kinesis-firehose-extended-s3-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration={\n \"role_arn\": firehose_role[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 64,\n \"dynamic_partitioning_configuration\": {\n \"enabled\": True,\n },\n \"prefix\": \"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n \"error_output_prefix\": \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n \"processing_configuration\": {\n \"enabled\": True,\n \"processors\": [{\n \"type\": \"MetadataExtraction\",\n \"parameters\": [\n {\n \"parameter_name\": \"JsonParsingEngine\",\n \"parameter_value\": \"JQ-1.6\",\n },\n {\n \"parameter_name\": \"MetadataExtractionQuery\",\n \"parameter_value\": \"{store_id:.store_id,customer_id:.customer_id}\",\n },\n ],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var extendedS3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", new()\n {\n Name = \"kinesis-firehose-extended-s3-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 64,\n DynamicPartitioningConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs\n {\n Enabled = true,\n },\n Prefix = \"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n ErrorOutputPrefix = \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"MetadataExtraction\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"JsonParsingEngine\",\n ParameterValue = \"JQ-1.6\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"MetadataExtractionQuery\",\n ParameterValue = \"{store_id:.store_id,customer_id:.customer_id}\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"extended_s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-extended-s3-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\tBufferingSize: pulumi.Int(64),\n\t\t\t\tDynamicPartitioningConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tPrefix: pulumi.String(\"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\"),\n\t\t\t\tErrorOutputPrefix: pulumi.String(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\"),\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"MetadataExtraction\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"JsonParsingEngine\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"JQ-1.6\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"MetadataExtractionQuery\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"{store_id:.store_id,customer_id:.customer_id}\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var extendedS3Stream = new FirehoseDeliveryStream(\"extendedS3Stream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-extended-s3-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(64)\n .dynamicPartitioningConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs.builder()\n .enabled(\"true\")\n .build())\n .prefix(\"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\")\n .errorOutputPrefix(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\")\n .processingConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"MetadataExtraction\")\n .parameters( \n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"JsonParsingEngine\")\n .parameterValue(\"JQ-1.6\")\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"MetadataExtractionQuery\")\n .parameterValue(\"{store_id:.store_id,customer_id:.customer_id}\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extendedS3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: extended_s3_stream\n properties:\n name: kinesis-firehose-extended-s3-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 64\n dynamicPartitioningConfiguration:\n enabled: 'true'\n prefix: data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\n errorOutputPrefix: errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: MetadataExtraction\n parameters:\n - parameterName: JsonParsingEngine\n parameterValue: JQ-1.6\n - parameterName: MetadataExtractionQuery\n parameterValue: '{store_id:.store_id,customer_id:.customer_id}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redshift Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.redshift.Cluster(\"test_cluster\", {\n clusterIdentifier: \"tf-redshift-cluster\",\n databaseName: \"test\",\n masterUsername: \"testuser\",\n masterPassword: \"T3stPass\",\n nodeType: \"dc1.large\",\n clusterType: \"single-node\",\n});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"redshift\",\n redshiftConfiguration: {\n roleArn: firehoseRole.arn,\n clusterJdbcurl: pulumi.interpolate`jdbc:redshift://${testCluster.endpoint}/${testCluster.databaseName}`,\n username: \"testuser\",\n password: \"T3stPass\",\n dataTableName: \"test-table\",\n copyOptions: \"delimiter '|'\",\n dataTableColumns: \"test-col\",\n s3BackupMode: \"Enabled\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n s3BackupConfiguration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 15,\n bufferingInterval: 300,\n compressionFormat: \"GZIP\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.redshift.Cluster(\"test_cluster\",\n cluster_identifier=\"tf-redshift-cluster\",\n database_name=\"test\",\n master_username=\"testuser\",\n master_password=\"T3stPass\",\n node_type=\"dc1.large\",\n cluster_type=\"single-node\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"redshift\",\n redshift_configuration={\n \"role_arn\": firehose_role[\"arn\"],\n \"cluster_jdbcurl\": pulumi.Output.all(\n endpoint=test_cluster.endpoint,\n database_name=test_cluster.database_name\n).apply(lambda resolved_outputs: f\"jdbc:redshift://{resolved_outputs['endpoint']}/{resolved_outputs['database_name']}\")\n,\n \"username\": \"testuser\",\n \"password\": \"T3stPass\",\n \"data_table_name\": \"test-table\",\n \"copy_options\": \"delimiter '|'\",\n \"data_table_columns\": \"test-col\",\n \"s3_backup_mode\": \"Enabled\",\n \"s3_configuration\": {\n \"role_arn\": firehose_role[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 10,\n \"buffering_interval\": 400,\n \"compression_format\": \"GZIP\",\n },\n \"s3_backup_configuration\": {\n \"role_arn\": firehose_role[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 15,\n \"buffering_interval\": 300,\n \"compression_format\": \"GZIP\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.RedShift.Cluster(\"test_cluster\", new()\n {\n ClusterIdentifier = \"tf-redshift-cluster\",\n DatabaseName = \"test\",\n MasterUsername = \"testuser\",\n MasterPassword = \"T3stPass\",\n NodeType = \"dc1.large\",\n ClusterType = \"single-node\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"redshift\",\n RedshiftConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n ClusterJdbcurl = Output.Tuple(testCluster.Endpoint, testCluster.DatabaseName).Apply(values =\u003e\n {\n var endpoint = values.Item1;\n var databaseName = values.Item2;\n return $\"jdbc:redshift://{endpoint}/{databaseName}\";\n }),\n Username = \"testuser\",\n Password = \"T3stPass\",\n DataTableName = \"test-table\",\n CopyOptions = \"delimiter '|'\",\n DataTableColumns = \"test-col\",\n S3BackupMode = \"Enabled\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n S3BackupConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 15,\n BufferingInterval = 300,\n CompressionFormat = \"GZIP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := redshift.NewCluster(ctx, \"test_cluster\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift-cluster\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tMasterUsername: pulumi.String(\"testuser\"),\n\t\t\tMasterPassword: pulumi.String(\"T3stPass\"),\n\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\tClusterType: pulumi.String(\"single-node\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"redshift\"),\n\t\t\tRedshiftConfiguration: \u0026kinesis.FirehoseDeliveryStreamRedshiftConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tClusterJdbcurl: pulumi.All(testCluster.Endpoint, testCluster.DatabaseName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\t\tendpoint := _args[0].(string)\n\t\t\t\t\tdatabaseName := _args[1].(string)\n\t\t\t\t\treturn fmt.Sprintf(\"jdbc:redshift://%v/%v\", endpoint, databaseName), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tUsername: pulumi.String(\"testuser\"),\n\t\t\t\tPassword: pulumi.String(\"T3stPass\"),\n\t\t\t\tDataTableName: pulumi.String(\"test-table\"),\n\t\t\t\tCopyOptions: pulumi.String(\"delimiter '|'\"),\n\t\t\t\tDataTableColumns: pulumi.String(\"test-col\"),\n\t\t\t\tS3BackupMode: pulumi.String(\"Enabled\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tS3BackupConfiguration: \u0026kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(15),\n\t\t\t\t\tBufferingInterval: pulumi.Int(300),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder()\n .clusterIdentifier(\"tf-redshift-cluster\")\n .databaseName(\"test\")\n .masterUsername(\"testuser\")\n .masterPassword(\"T3stPass\")\n .nodeType(\"dc1.large\")\n .clusterType(\"single-node\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"redshift\")\n .redshiftConfiguration(FirehoseDeliveryStreamRedshiftConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .clusterJdbcurl(Output.tuple(testCluster.endpoint(), testCluster.databaseName()).applyValue(values -\u003e {\n var endpoint = values.t1;\n var databaseName = values.t2;\n return String.format(\"jdbc:redshift://%s/%s\", endpoint,databaseName);\n }))\n .username(\"testuser\")\n .password(\"T3stPass\")\n .dataTableName(\"test-table\")\n .copyOptions(\"delimiter '|'\")\n .dataTableColumns(\"test-col\")\n .s3BackupMode(\"Enabled\")\n .s3Configuration(FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .s3BackupConfiguration(FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(15)\n .bufferingInterval(300)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:redshift:Cluster\n name: test_cluster\n properties:\n clusterIdentifier: tf-redshift-cluster\n databaseName: test\n masterUsername: testuser\n masterPassword: T3stPass\n nodeType: dc1.large\n clusterType: single-node\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: redshift\n redshiftConfiguration:\n roleArn: ${firehoseRole.arn}\n clusterJdbcurl: jdbc:redshift://${testCluster.endpoint}/${testCluster.databaseName}\n username: testuser\n password: T3stPass\n dataTableName: test-table\n copyOptions: delimiter '|'\n dataTableColumns: test-col\n s3BackupMode: Enabled\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n s3BackupConfiguration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 15\n bufferingInterval: 300\n compressionFormat: GZIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Elasticsearch Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.elasticsearch.Domain(\"test_cluster\", {domainName: \"firehose-es-test\"});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"elasticsearch\",\n elasticsearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehoseRole.arn,\n indexName: \"test\",\n typeName: \"test\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.elasticsearch.Domain(\"test_cluster\", domain_name=\"firehose-es-test\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"elasticsearch\",\n elasticsearch_configuration={\n \"domain_arn\": test_cluster.arn,\n \"role_arn\": firehose_role[\"arn\"],\n \"index_name\": \"test\",\n \"type_name\": \"test\",\n \"s3_configuration\": {\n \"role_arn\": firehose_role[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 10,\n \"buffering_interval\": 400,\n \"compression_format\": \"GZIP\",\n },\n \"processing_configuration\": {\n \"enabled\": True,\n \"processors\": [{\n \"type\": \"Lambda\",\n \"parameters\": [{\n \"parameter_name\": \"LambdaArn\",\n \"parameter_value\": f\"{lambda_processor['arn']}:$LATEST\",\n }],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.ElasticSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"firehose-es-test\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"elasticsearch\",\n ElasticsearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehoseRole.Arn,\n IndexName = \"test\",\n TypeName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := elasticsearch.NewDomain(ctx, \"test_cluster\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"firehose-es-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"elasticsearch\"),\n\t\t\tElasticsearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tTypeName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCluster = new Domain(\"testCluster\", DomainArgs.builder()\n .domainName(\"firehose-es-test\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"elasticsearch\")\n .elasticsearchConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehoseRole.arn())\n .indexName(\"test\")\n .typeName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .processingConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:elasticsearch:Domain\n name: test_cluster\n properties:\n domainName: firehose-es-test\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: elasticsearch\n elasticsearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehoseRole.arn}\n indexName: test\n typeName: test\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Elasticsearch Destination With VPC\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.elasticsearch.Domain(\"test_cluster\", {\n domainName: \"es-test\",\n clusterConfig: {\n instanceCount: 2,\n zoneAwarenessEnabled: true,\n instanceType: \"t2.small.elasticsearch\",\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n vpcOptions: {\n securityGroupIds: [first.id],\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n },\n});\nconst firehose-elasticsearch = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"es:*\"],\n resources: [\n testCluster.arn,\n pulumi.interpolate`${testCluster.arn}/*`,\n ],\n },\n {\n effect: \"Allow\",\n actions: [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\",\n ],\n resources: [\"*\"],\n },\n ],\n});\nconst firehose_elasticsearchRolePolicy = new aws.iam.RolePolicy(\"firehose-elasticsearch\", {\n name: \"elasticsearch\",\n role: firehose.id,\n policy: firehose_elasticsearch.apply(firehose_elasticsearch =\u003e firehose_elasticsearch.json),\n});\nconst test = new aws.kinesis.FirehoseDeliveryStream(\"test\", {\n name: \"kinesis-firehose-es\",\n destination: \"elasticsearch\",\n elasticsearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehose.arn,\n indexName: \"test\",\n typeName: \"test\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n },\n vpcConfig: {\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n securityGroupIds: [first.id],\n roleArn: firehose.arn,\n },\n },\n}, {\n dependsOn: [firehose_elasticsearchRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.elasticsearch.Domain(\"test_cluster\",\n domain_name=\"es-test\",\n cluster_config={\n \"instance_count\": 2,\n \"zone_awareness_enabled\": True,\n \"instance_type\": \"t2.small.elasticsearch\",\n },\n ebs_options={\n \"ebs_enabled\": True,\n \"volume_size\": 10,\n },\n vpc_options={\n \"security_group_ids\": [first[\"id\"]],\n \"subnet_ids\": [\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n })\nfirehose_elasticsearch = aws.iam.get_policy_document_output(statements=[\n {\n \"effect\": \"Allow\",\n \"actions\": [\"es:*\"],\n \"resources\": [\n test_cluster.arn,\n test_cluster.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\",\n ],\n \"resources\": [\"*\"],\n },\n])\nfirehose_elasticsearch_role_policy = aws.iam.RolePolicy(\"firehose-elasticsearch\",\n name=\"elasticsearch\",\n role=firehose[\"id\"],\n policy=firehose_elasticsearch.json)\ntest = aws.kinesis.FirehoseDeliveryStream(\"test\",\n name=\"kinesis-firehose-es\",\n destination=\"elasticsearch\",\n elasticsearch_configuration={\n \"domain_arn\": test_cluster.arn,\n \"role_arn\": firehose[\"arn\"],\n \"index_name\": \"test\",\n \"type_name\": \"test\",\n \"s3_configuration\": {\n \"role_arn\": firehose[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n },\n \"vpc_config\": {\n \"subnet_ids\": [\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n \"security_group_ids\": [first[\"id\"]],\n \"role_arn\": firehose[\"arn\"],\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[firehose_elasticsearch_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.ElasticSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"es-test\",\n ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceCount = 2,\n ZoneAwarenessEnabled = true,\n InstanceType = \"t2.small.elasticsearch\",\n },\n EbsOptions = new Aws.ElasticSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n VpcOptions = new Aws.ElasticSearch.Inputs.DomainVpcOptionsArgs\n {\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n },\n });\n\n var firehose_elasticsearch = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n testCluster.Arn,\n $\"{testCluster.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var firehose_elasticsearchRolePolicy = new Aws.Iam.RolePolicy(\"firehose-elasticsearch\", new()\n {\n Name = \"elasticsearch\",\n Role = firehose.Id,\n Policy = firehose_elasticsearch.Apply(firehose_elasticsearch =\u003e firehose_elasticsearch.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n var test = new Aws.Kinesis.FirehoseDeliveryStream(\"test\", new()\n {\n Name = \"kinesis-firehose-es\",\n Destination = \"elasticsearch\",\n ElasticsearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehose.Arn,\n IndexName = \"test\",\n TypeName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n },\n VpcConfig = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs\n {\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n RoleArn = firehose.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n firehose_elasticsearchRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := elasticsearch.NewDomain(ctx, \"test_cluster\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"es-test\"),\n\t\t\tClusterConfig: \u0026elasticsearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceCount: pulumi.Int(2),\n\t\t\t\tZoneAwarenessEnabled: pulumi.Bool(true),\n\t\t\t\tInstanceType: pulumi.String(\"t2.small.elasticsearch\"),\n\t\t\t},\n\t\t\tEbsOptions: \u0026elasticsearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\n\t\t\t},\n\t\t\tVpcOptions: \u0026elasticsearch.DomainVpcOptionsArgs{\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tfirst.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\tsecond.Id,\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\tfirehose_elasticsearch := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"es:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ttestCluster.Arn,\n\t\t\t\t\t\ttestCluster.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeVpcs\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeVpcAttribute\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeSubnets\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeSecurityGroups\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeNetworkInterfaces\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:CreateNetworkInterface\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:CreateNetworkInterfacePermission\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DeleteNetworkInterface\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"firehose-elasticsearch\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"elasticsearch\"),\n\t\t\tRole: pulumi.Any(firehose.Id),\n\t\t\tPolicy: pulumi.String(firehose_elasticsearch.ApplyT(func(firehose_elasticsearch iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026firehose_elasticsearch.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-es\"),\n\t\t\tDestination: pulumi.String(\"elasticsearch\"),\n\t\t\tElasticsearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tTypeName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t},\n\t\t\t\tVpcConfig: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs{\n\t\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\t\tsecond.Id,\n\t\t\t\t\t},\n\t\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\t\tfirst.Id,\n\t\t\t\t\t},\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfirehose_elasticsearchRolePolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainEbsOptionsArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCluster = new Domain(\"testCluster\", DomainArgs.builder()\n .domainName(\"es-test\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceCount(2)\n .zoneAwarenessEnabled(true)\n .instanceType(\"t2.small.elasticsearch\")\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .securityGroupIds(first.id())\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .build())\n .build());\n\n final var firehose-elasticsearch = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"es:*\")\n .resources( \n testCluster.arn(),\n testCluster.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\")\n .resources(\"*\")\n .build())\n .build());\n\n var firehose_elasticsearchRolePolicy = new RolePolicy(\"firehose-elasticsearchRolePolicy\", RolePolicyArgs.builder()\n .name(\"elasticsearch\")\n .role(firehose.id())\n .policy(firehose_elasticsearch.applyValue(firehose_elasticsearch -\u003e firehose_elasticsearch.json()))\n .build());\n\n var test = new FirehoseDeliveryStream(\"test\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-es\")\n .destination(\"elasticsearch\")\n .elasticsearchConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehose.arn())\n .indexName(\"test\")\n .typeName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .build())\n .vpcConfig(FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs.builder()\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .securityGroupIds(first.id())\n .roleArn(firehose.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(firehose_elasticsearchRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:elasticsearch:Domain\n name: test_cluster\n properties:\n domainName: es-test\n clusterConfig:\n instanceCount: 2\n zoneAwarenessEnabled: true\n instanceType: t2.small.elasticsearch\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n vpcOptions:\n securityGroupIds:\n - ${first.id}\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n firehose-elasticsearchRolePolicy:\n type: aws:iam:RolePolicy\n name: firehose-elasticsearch\n properties:\n name: elasticsearch\n role: ${firehose.id}\n policy: ${[\"firehose-elasticsearch\"].json}\n test:\n type: aws:kinesis:FirehoseDeliveryStream\n properties:\n name: kinesis-firehose-es\n destination: elasticsearch\n elasticsearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehose.arn}\n indexName: test\n typeName: test\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n vpcConfig:\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n securityGroupIds:\n - ${first.id}\n roleArn: ${firehose.arn}\n options:\n dependsOn:\n - ${[\"firehose-elasticsearchRolePolicy\"]}\nvariables:\n firehose-elasticsearch:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - es:*\n resources:\n - ${testCluster.arn}\n - ${testCluster.arn}/*\n - effect: Allow\n actions:\n - ec2:DescribeVpcs\n - ec2:DescribeVpcAttribute\n - ec2:DescribeSubnets\n - ec2:DescribeSecurityGroups\n - ec2:DescribeNetworkInterfaces\n - ec2:CreateNetworkInterface\n - ec2:CreateNetworkInterfacePermission\n - ec2:DeleteNetworkInterface\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.opensearch.Domain(\"test_cluster\", {domainName: \"firehose-os-test\"});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"opensearch\",\n opensearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehoseRole.arn,\n indexName: \"test\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.opensearch.Domain(\"test_cluster\", domain_name=\"firehose-os-test\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"opensearch\",\n opensearch_configuration={\n \"domain_arn\": test_cluster.arn,\n \"role_arn\": firehose_role[\"arn\"],\n \"index_name\": \"test\",\n \"s3_configuration\": {\n \"role_arn\": firehose_role[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 10,\n \"buffering_interval\": 400,\n \"compression_format\": \"GZIP\",\n },\n \"processing_configuration\": {\n \"enabled\": True,\n \"processors\": [{\n \"type\": \"Lambda\",\n \"parameters\": [{\n \"parameter_name\": \"LambdaArn\",\n \"parameter_value\": f\"{lambda_processor['arn']}:$LATEST\",\n }],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.OpenSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"firehose-os-test\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"opensearch\",\n OpensearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehoseRole.Arn,\n IndexName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := opensearch.NewDomain(ctx, \"test_cluster\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"firehose-os-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"opensearch\"),\n\t\t\tOpensearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCluster = new Domain(\"testCluster\", DomainArgs.builder()\n .domainName(\"firehose-os-test\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"opensearch\")\n .opensearchConfiguration(FirehoseDeliveryStreamOpensearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehoseRole.arn())\n .indexName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .processingConfiguration(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:opensearch:Domain\n name: test_cluster\n properties:\n domainName: firehose-os-test\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: opensearch\n opensearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehoseRole.arn}\n indexName: test\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Destination With VPC\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.opensearch.Domain(\"test_cluster\", {\n domainName: \"es-test\",\n clusterConfig: {\n instanceCount: 2,\n zoneAwarenessEnabled: true,\n instanceType: \"m4.large.search\",\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n vpcOptions: {\n securityGroupIds: [first.id],\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n },\n});\nconst firehose_opensearch = new aws.iam.RolePolicy(\"firehose-opensearch\", {\n name: \"opensearch\",\n role: firehose.id,\n policy: pulumi.interpolate`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"${testCluster.arn}\",\n \"${testCluster.arn}/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n`,\n});\nconst test = new aws.kinesis.FirehoseDeliveryStream(\"test\", {\n name: \"pulumi-kinesis-firehose-os\",\n destination: \"opensearch\",\n opensearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehose.arn,\n indexName: \"test\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n },\n vpcConfig: {\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n securityGroupIds: [first.id],\n roleArn: firehose.arn,\n },\n },\n}, {\n dependsOn: [firehose_opensearch],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.opensearch.Domain(\"test_cluster\",\n domain_name=\"es-test\",\n cluster_config={\n \"instance_count\": 2,\n \"zone_awareness_enabled\": True,\n \"instance_type\": \"m4.large.search\",\n },\n ebs_options={\n \"ebs_enabled\": True,\n \"volume_size\": 10,\n },\n vpc_options={\n \"security_group_ids\": [first[\"id\"]],\n \"subnet_ids\": [\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n })\nfirehose_opensearch = aws.iam.RolePolicy(\"firehose-opensearch\",\n name=\"opensearch\",\n role=firehose[\"id\"],\n policy=pulumi.Output.all(\n testClusterArn=test_cluster.arn,\n testClusterArn1=test_cluster.arn\n).apply(lambda resolved_outputs: f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"{resolved_outputs['testClusterArn']}\",\n \"{resolved_outputs['testClusterArn1']}/*\"\n ]\n }},\n {{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }}\n ]\n}}\n\"\"\")\n)\ntest = aws.kinesis.FirehoseDeliveryStream(\"test\",\n name=\"pulumi-kinesis-firehose-os\",\n destination=\"opensearch\",\n opensearch_configuration={\n \"domain_arn\": test_cluster.arn,\n \"role_arn\": firehose[\"arn\"],\n \"index_name\": \"test\",\n \"s3_configuration\": {\n \"role_arn\": firehose[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n },\n \"vpc_config\": {\n \"subnet_ids\": [\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n \"security_group_ids\": [first[\"id\"]],\n \"role_arn\": firehose[\"arn\"],\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[firehose_opensearch]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.OpenSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"es-test\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceCount = 2,\n ZoneAwarenessEnabled = true,\n InstanceType = \"m4.large.search\",\n },\n EbsOptions = new Aws.OpenSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n VpcOptions = new Aws.OpenSearch.Inputs.DomainVpcOptionsArgs\n {\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n },\n });\n\n var firehose_opensearch = new Aws.Iam.RolePolicy(\"firehose-opensearch\", new()\n {\n Name = \"opensearch\",\n Role = firehose.Id,\n Policy = Output.Tuple(testCluster.Arn, testCluster.Arn).Apply(values =\u003e\n {\n var testClusterArn = values.Item1;\n var testClusterArn1 = values.Item2;\n return @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {{\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Action\"\": [\n \"\"es:*\"\"\n ],\n \"\"Resource\"\": [\n \"\"{testClusterArn}\"\",\n \"\"{testClusterArn1}/*\"\"\n ]\n }},\n {{\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Action\"\": [\n \"\"ec2:DescribeVpcs\"\",\n \"\"ec2:DescribeVpcAttribute\"\",\n \"\"ec2:DescribeSubnets\"\",\n \"\"ec2:DescribeSecurityGroups\"\",\n \"\"ec2:DescribeNetworkInterfaces\"\",\n \"\"ec2:CreateNetworkInterface\"\",\n \"\"ec2:CreateNetworkInterfacePermission\"\",\n \"\"ec2:DeleteNetworkInterface\"\"\n ],\n \"\"Resource\"\": [\n \"\"*\"\"\n ]\n }}\n ]\n}}\n\";\n }),\n });\n\n var test = new Aws.Kinesis.FirehoseDeliveryStream(\"test\", new()\n {\n Name = \"pulumi-kinesis-firehose-os\",\n Destination = \"opensearch\",\n OpensearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehose.Arn,\n IndexName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n },\n VpcConfig = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs\n {\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n RoleArn = firehose.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n firehose_opensearch,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := opensearch.NewDomain(ctx, \"test_cluster\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"es-test\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceCount: pulumi.Int(2),\n\t\t\t\tZoneAwarenessEnabled: pulumi.Bool(true),\n\t\t\t\tInstanceType: pulumi.String(\"m4.large.search\"),\n\t\t\t},\n\t\t\tEbsOptions: \u0026opensearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\n\t\t\t},\n\t\t\tVpcOptions: \u0026opensearch.DomainVpcOptionsArgs{\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tfirst.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\tsecond.Id,\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\t_, err = iam.NewRolePolicy(ctx, \"firehose-opensearch\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"opensearch\"),\n\t\t\tRole: pulumi.Any(firehose.Id),\n\t\t\tPolicy: pulumi.All(testCluster.Arn, testCluster.Arn).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\ttestClusterArn := _args[0].(string)\n\t\t\t\ttestClusterArn1 := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"%v\",\n \"%v/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n`, testClusterArn, testClusterArn1), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"pulumi-kinesis-firehose-os\"),\n\t\t\tDestination: pulumi.String(\"opensearch\"),\n\t\t\tOpensearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t},\n\t\t\t\tVpcConfig: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs{\n\t\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\t\tsecond.Id,\n\t\t\t\t\t},\n\t\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\t\tfirst.Id,\n\t\t\t\t\t},\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfirehose_opensearch,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEbsOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCluster = new Domain(\"testCluster\", DomainArgs.builder()\n .domainName(\"es-test\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceCount(2)\n .zoneAwarenessEnabled(true)\n .instanceType(\"m4.large.search\")\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .securityGroupIds(first.id())\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .build())\n .build());\n\n var firehose_opensearch = new RolePolicy(\"firehose-opensearch\", RolePolicyArgs.builder()\n .name(\"opensearch\")\n .role(firehose.id())\n .policy(Output.tuple(testCluster.arn(), testCluster.arn()).applyValue(values -\u003e {\n var testClusterArn = values.t1;\n var testClusterArn1 = values.t2;\n return \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"%s\",\n \"%s/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n\", testClusterArn,testClusterArn1);\n }))\n .build());\n\n var test = new FirehoseDeliveryStream(\"test\", FirehoseDeliveryStreamArgs.builder()\n .name(\"pulumi-kinesis-firehose-os\")\n .destination(\"opensearch\")\n .opensearchConfiguration(FirehoseDeliveryStreamOpensearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehose.arn())\n .indexName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .build())\n .vpcConfig(FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs.builder()\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .securityGroupIds(first.id())\n .roleArn(firehose.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(firehose_opensearch)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:opensearch:Domain\n name: test_cluster\n properties:\n domainName: es-test\n clusterConfig:\n instanceCount: 2\n zoneAwarenessEnabled: true\n instanceType: m4.large.search\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n vpcOptions:\n securityGroupIds:\n - ${first.id}\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n firehose-opensearch:\n type: aws:iam:RolePolicy\n properties:\n name: opensearch\n role: ${firehose.id}\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"${testCluster.arn}\",\n \"${testCluster.arn}/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n }\n test:\n type: aws:kinesis:FirehoseDeliveryStream\n properties:\n name: pulumi-kinesis-firehose-os\n destination: opensearch\n opensearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehose.arn}\n indexName: test\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n vpcConfig:\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n securityGroupIds:\n - ${first.id}\n roleArn: ${firehose.arn}\n options:\n dependsOn:\n - ${[\"firehose-opensearch\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Serverless Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCollection = new aws.opensearch.ServerlessCollection(\"test_collection\", {name: \"firehose-osserverless-test\"});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"opensearchserverless\",\n opensearchserverlessConfiguration: {\n collectionEndpoint: testCollection.collectionEndpoint,\n roleArn: firehoseRole.arn,\n indexName: \"test\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_collection = aws.opensearch.ServerlessCollection(\"test_collection\", name=\"firehose-osserverless-test\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"opensearchserverless\",\n opensearchserverless_configuration={\n \"collection_endpoint\": test_collection.collection_endpoint,\n \"role_arn\": firehose_role[\"arn\"],\n \"index_name\": \"test\",\n \"s3_configuration\": {\n \"role_arn\": firehose_role[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 10,\n \"buffering_interval\": 400,\n \"compression_format\": \"GZIP\",\n },\n \"processing_configuration\": {\n \"enabled\": True,\n \"processors\": [{\n \"type\": \"Lambda\",\n \"parameters\": [{\n \"parameter_name\": \"LambdaArn\",\n \"parameter_value\": f\"{lambda_processor['arn']}:$LATEST\",\n }],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCollection = new Aws.OpenSearch.ServerlessCollection(\"test_collection\", new()\n {\n Name = \"firehose-osserverless-test\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"opensearchserverless\",\n OpensearchserverlessConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs\n {\n CollectionEndpoint = testCollection.CollectionEndpoint,\n RoleArn = firehoseRole.Arn,\n IndexName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCollection, err := opensearch.NewServerlessCollection(ctx, \"test_collection\", \u0026opensearch.ServerlessCollectionArgs{\n\t\t\tName: pulumi.String(\"firehose-osserverless-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"opensearchserverless\"),\n\t\t\tOpensearchserverlessConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs{\n\t\t\t\tCollectionEndpoint: testCollection.CollectionEndpoint,\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.ServerlessCollection;\nimport com.pulumi.aws.opensearch.ServerlessCollectionArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCollection = new ServerlessCollection(\"testCollection\", ServerlessCollectionArgs.builder()\n .name(\"firehose-osserverless-test\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"opensearchserverless\")\n .opensearchserverlessConfiguration(FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs.builder()\n .collectionEndpoint(testCollection.collectionEndpoint())\n .roleArn(firehoseRole.arn())\n .indexName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .processingConfiguration(FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCollection:\n type: aws:opensearch:ServerlessCollection\n name: test_collection\n properties:\n name: firehose-osserverless-test\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: opensearchserverless\n opensearchserverlessConfiguration:\n collectionEndpoint: ${testCollection.collectionEndpoint}\n roleArn: ${firehoseRole.arn}\n indexName: test\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Iceberg Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst currentGetRegion = aws.getRegion({});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {\n bucket: \"test-bucket\",\n forceDestroy: true,\n});\nconst test = new aws.glue.CatalogDatabase(\"test\", {name: \"test\"});\nconst testCatalogTable = new aws.glue.CatalogTable(\"test\", {\n name: \"test\",\n databaseName: test.name,\n parameters: {\n format: \"parquet\",\n },\n tableType: \"EXTERNAL_TABLE\",\n openTableFormatInput: {\n icebergInput: {\n metadataOperation: \"CREATE\",\n version: \"2\",\n },\n },\n storageDescriptor: {\n location: pulumi.interpolate`s3://${bucket.id}`,\n columns: [{\n name: \"my_column_1\",\n type: \"int\",\n }],\n },\n});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"iceberg\",\n icebergConfiguration: {\n roleArn: firehoseRole.arn,\n catalogArn: Promise.all([currentGetPartition, currentGetRegion, current]).then(([currentGetPartition, currentGetRegion, current]) =\u003e `arn:${currentGetPartition.partition}:glue:${currentGetRegion.name}:${current.accountId}:catalog`),\n bufferingSize: 10,\n bufferingInterval: 400,\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n },\n destinationTableConfigurations: [{\n databaseName: test.name,\n tableName: testCatalogTable.name,\n }],\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\ncurrent_get_region = aws.get_region()\nbucket = aws.s3.BucketV2(\"bucket\",\n bucket=\"test-bucket\",\n force_destroy=True)\ntest = aws.glue.CatalogDatabase(\"test\", name=\"test\")\ntest_catalog_table = aws.glue.CatalogTable(\"test\",\n name=\"test\",\n database_name=test.name,\n parameters={\n \"format\": \"parquet\",\n },\n table_type=\"EXTERNAL_TABLE\",\n open_table_format_input={\n \"iceberg_input\": {\n \"metadata_operation\": \"CREATE\",\n \"version\": \"2\",\n },\n },\n storage_descriptor={\n \"location\": bucket.id.apply(lambda id: f\"s3://{id}\"),\n \"columns\": [{\n \"name\": \"my_column_1\",\n \"type\": \"int\",\n }],\n })\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"iceberg\",\n iceberg_configuration={\n \"role_arn\": firehose_role[\"arn\"],\n \"catalog_arn\": f\"arn:{current_get_partition.partition}:glue:{current_get_region.name}:{current.account_id}:catalog\",\n \"buffering_size\": 10,\n \"buffering_interval\": 400,\n \"s3_configuration\": {\n \"role_arn\": firehose_role[\"arn\"],\n \"bucket_arn\": bucket.arn,\n },\n \"destination_table_configurations\": [{\n \"database_name\": test.name,\n \"table_name\": test_catalog_table.name,\n }],\n \"processing_configuration\": {\n \"enabled\": True,\n \"processors\": [{\n \"type\": \"Lambda\",\n \"parameters\": [{\n \"parameter_name\": \"LambdaArn\",\n \"parameter_value\": f\"{lambda_processor['arn']}:$LATEST\",\n }],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"test-bucket\",\n ForceDestroy = true,\n });\n\n var test = new Aws.Glue.CatalogDatabase(\"test\", new()\n {\n Name = \"test\",\n });\n\n var testCatalogTable = new Aws.Glue.CatalogTable(\"test\", new()\n {\n Name = \"test\",\n DatabaseName = test.Name,\n Parameters = \n {\n { \"format\", \"parquet\" },\n },\n TableType = \"EXTERNAL_TABLE\",\n OpenTableFormatInput = new Aws.Glue.Inputs.CatalogTableOpenTableFormatInputArgs\n {\n IcebergInput = new Aws.Glue.Inputs.CatalogTableOpenTableFormatInputIcebergInputArgs\n {\n MetadataOperation = \"CREATE\",\n Version = \"2\",\n },\n },\n StorageDescriptor = new Aws.Glue.Inputs.CatalogTableStorageDescriptorArgs\n {\n Location = bucket.Id.Apply(id =\u003e $\"s3://{id}\"),\n Columns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_column_1\",\n Type = \"int\",\n },\n },\n },\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"iceberg\",\n IcebergConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamIcebergConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n CatalogArn = Output.Tuple(currentGetPartition, currentGetRegion, current).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var currentGetRegion = values.Item2;\n var current = values.Item3;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:glue:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:catalog\";\n }),\n BufferingSize = 10,\n BufferingInterval = 400,\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamIcebergConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n },\n DestinationTableConfigurations = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamIcebergConfigurationDestinationTableConfigurationArgs\n {\n DatabaseName = test.Name,\n TableName = testCatalogTable.Name,\n },\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"test-bucket\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := glue.NewCatalogDatabase(ctx, \"test\", \u0026glue.CatalogDatabaseArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestCatalogTable, err := glue.NewCatalogTable(ctx, \"test\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tDatabaseName: test.Name,\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"format\": pulumi.String(\"parquet\"),\n\t\t\t},\n\t\t\tTableType: pulumi.String(\"EXTERNAL_TABLE\"),\n\t\t\tOpenTableFormatInput: \u0026glue.CatalogTableOpenTableFormatInputArgs{\n\t\t\t\tIcebergInput: \u0026glue.CatalogTableOpenTableFormatInputIcebergInputArgs{\n\t\t\t\t\tMetadataOperation: pulumi.String(\"CREATE\"),\n\t\t\t\t\tVersion: pulumi.String(\"2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStorageDescriptor: \u0026glue.CatalogTableStorageDescriptorArgs{\n\t\t\t\tLocation: bucket.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"s3://%v\", id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tColumns: glue.CatalogTableStorageDescriptorColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_column_1\"),\n\t\t\t\t\t\tType: pulumi.String(\"int\"),\n\t\t\t\t\t},\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\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"iceberg\"),\n\t\t\tIcebergConfiguration: \u0026kinesis.FirehoseDeliveryStreamIcebergConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tCatalogArn: pulumi.Sprintf(\"arn:%v:glue:%v:%v:catalog\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),\n\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamIcebergConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: bucket.Arn,\n\t\t\t\t},\n\t\t\t\tDestinationTableConfigurations: kinesis.FirehoseDeliveryStreamIcebergConfigurationDestinationTableConfigurationArray{\n\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamIcebergConfigurationDestinationTableConfigurationArgs{\n\t\t\t\t\t\tDatabaseName: test.Name,\n\t\t\t\t\t\tTableName: testCatalogTable.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.glue.CatalogDatabase;\nimport com.pulumi.aws.glue.CatalogDatabaseArgs;\nimport com.pulumi.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableOpenTableFormatInputArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableOpenTableFormatInputIcebergInputArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamIcebergConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamIcebergConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"test-bucket\")\n .forceDestroy(true)\n .build());\n\n var test = new CatalogDatabase(\"test\", CatalogDatabaseArgs.builder()\n .name(\"test\")\n .build());\n\n var testCatalogTable = new CatalogTable(\"testCatalogTable\", CatalogTableArgs.builder()\n .name(\"test\")\n .databaseName(test.name())\n .parameters(Map.of(\"format\", \"parquet\"))\n .tableType(\"EXTERNAL_TABLE\")\n .openTableFormatInput(CatalogTableOpenTableFormatInputArgs.builder()\n .icebergInput(CatalogTableOpenTableFormatInputIcebergInputArgs.builder()\n .metadataOperation(\"CREATE\")\n .version(2)\n .build())\n .build())\n .storageDescriptor(CatalogTableStorageDescriptorArgs.builder()\n .location(bucket.id().applyValue(id -\u003e String.format(\"s3://%s\", id)))\n .columns(CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_column_1\")\n .type(\"int\")\n .build())\n .build())\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"iceberg\")\n .icebergConfiguration(FirehoseDeliveryStreamIcebergConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .catalogArn(String.format(\"arn:%s:glue:%s:%s:catalog\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .bufferingSize(10)\n .bufferingInterval(400)\n .s3Configuration(FirehoseDeliveryStreamIcebergConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .build())\n .destinationTableConfigurations(FirehoseDeliveryStreamIcebergConfigurationDestinationTableConfigurationArgs.builder()\n .databaseName(test.name())\n .tableName(testCatalogTable.name())\n .build())\n .processingConfiguration(FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: test-bucket\n forceDestroy: true\n test:\n type: aws:glue:CatalogDatabase\n properties:\n name: test\n testCatalogTable:\n type: aws:glue:CatalogTable\n name: test\n properties:\n name: test\n databaseName: ${test.name}\n parameters:\n format: parquet\n tableType: EXTERNAL_TABLE\n openTableFormatInput:\n icebergInput:\n metadataOperation: CREATE\n version: 2\n storageDescriptor:\n location: s3://${bucket.id}\n columns:\n - name: my_column_1\n type: int\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: iceberg\n icebergConfiguration:\n roleArn: ${firehoseRole.arn}\n catalogArn: arn:${currentGetPartition.partition}:glue:${currentGetRegion.name}:${current.accountId}:catalog\n bufferingSize: 10\n bufferingInterval: 400\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n destinationTableConfigurations:\n - databaseName: ${test.name}\n tableName: ${testCatalogTable.name}\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n currentGetPartition:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n currentGetRegion:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Splunk Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"splunk\",\n splunkConfiguration: {\n hecEndpoint: \"https://http-inputs-mydomain.splunkcloud.com:443\",\n hecToken: \"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\",\n hecAcknowledgmentTimeout: 600,\n hecEndpointType: \"Event\",\n s3BackupMode: \"FailedEventsOnly\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"splunk\",\n splunk_configuration={\n \"hec_endpoint\": \"https://http-inputs-mydomain.splunkcloud.com:443\",\n \"hec_token\": \"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\",\n \"hec_acknowledgment_timeout\": 600,\n \"hec_endpoint_type\": \"Event\",\n \"s3_backup_mode\": \"FailedEventsOnly\",\n \"s3_configuration\": {\n \"role_arn\": firehose[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 10,\n \"buffering_interval\": 400,\n \"compression_format\": \"GZIP\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"splunk\",\n SplunkConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSplunkConfigurationArgs\n {\n HecEndpoint = \"https://http-inputs-mydomain.splunkcloud.com:443\",\n HecToken = \"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\",\n HecAcknowledgmentTimeout = 600,\n HecEndpointType = \"Event\",\n S3BackupMode = \"FailedEventsOnly\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"splunk\"),\n\t\t\tSplunkConfiguration: \u0026kinesis.FirehoseDeliveryStreamSplunkConfigurationArgs{\n\t\t\t\tHecEndpoint: pulumi.String(\"https://http-inputs-mydomain.splunkcloud.com:443\"),\n\t\t\t\tHecToken: pulumi.String(\"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\"),\n\t\t\t\tHecAcknowledgmentTimeout: pulumi.Int(600),\n\t\t\t\tHecEndpointType: pulumi.String(\"Event\"),\n\t\t\t\tS3BackupMode: pulumi.String(\"FailedEventsOnly\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSplunkConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"splunk\")\n .splunkConfiguration(FirehoseDeliveryStreamSplunkConfigurationArgs.builder()\n .hecEndpoint(\"https://http-inputs-mydomain.splunkcloud.com:443\")\n .hecToken(\"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\")\n .hecAcknowledgmentTimeout(600)\n .hecEndpointType(\"Event\")\n .s3BackupMode(\"FailedEventsOnly\")\n .s3Configuration(FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: splunk\n splunkConfiguration:\n hecEndpoint: https://http-inputs-mydomain.splunkcloud.com:443\n hecToken: 51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\n hecAcknowledgmentTimeout: 600\n hecEndpointType: Event\n s3BackupMode: FailedEventsOnly\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Endpoint (e.g., New Relic) Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"http_endpoint\",\n httpEndpointConfiguration: {\n url: \"https://aws-api.newrelic.com/firehose/v1\",\n name: \"New Relic\",\n accessKey: \"my-key\",\n bufferingSize: 15,\n bufferingInterval: 600,\n roleArn: firehose.arn,\n s3BackupMode: \"FailedDataOnly\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n requestConfiguration: {\n contentEncoding: \"GZIP\",\n commonAttributes: [\n {\n name: \"testname\",\n value: \"testvalue\",\n },\n {\n name: \"testname2\",\n value: \"testvalue2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"http_endpoint\",\n http_endpoint_configuration={\n \"url\": \"https://aws-api.newrelic.com/firehose/v1\",\n \"name\": \"New Relic\",\n \"access_key\": \"my-key\",\n \"buffering_size\": 15,\n \"buffering_interval\": 600,\n \"role_arn\": firehose[\"arn\"],\n \"s3_backup_mode\": \"FailedDataOnly\",\n \"s3_configuration\": {\n \"role_arn\": firehose[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 10,\n \"buffering_interval\": 400,\n \"compression_format\": \"GZIP\",\n },\n \"request_configuration\": {\n \"content_encoding\": \"GZIP\",\n \"common_attributes\": [\n {\n \"name\": \"testname\",\n \"value\": \"testvalue\",\n },\n {\n \"name\": \"testname2\",\n \"value\": \"testvalue2\",\n },\n ],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"http_endpoint\",\n HttpEndpointConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationArgs\n {\n Url = \"https://aws-api.newrelic.com/firehose/v1\",\n Name = \"New Relic\",\n AccessKey = \"my-key\",\n BufferingSize = 15,\n BufferingInterval = 600,\n RoleArn = firehose.Arn,\n S3BackupMode = \"FailedDataOnly\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n RequestConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs\n {\n ContentEncoding = \"GZIP\",\n CommonAttributes = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs\n {\n Name = \"testname\",\n Value = \"testvalue\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs\n {\n Name = \"testname2\",\n Value = \"testvalue2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"http_endpoint\"),\n\t\t\tHttpEndpointConfiguration: \u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationArgs{\n\t\t\t\tUrl: pulumi.String(\"https://aws-api.newrelic.com/firehose/v1\"),\n\t\t\t\tName: pulumi.String(\"New Relic\"),\n\t\t\t\tAccessKey: pulumi.String(\"my-key\"),\n\t\t\t\tBufferingSize: pulumi.Int(15),\n\t\t\t\tBufferingInterval: pulumi.Int(600),\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tS3BackupMode: pulumi.String(\"FailedDataOnly\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tRequestConfiguration: \u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs{\n\t\t\t\t\tContentEncoding: pulumi.String(\"GZIP\"),\n\t\t\t\t\tCommonAttributes: kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"testname\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"testvalue\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"testname2\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"testvalue2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamHttpEndpointConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"http_endpoint\")\n .httpEndpointConfiguration(FirehoseDeliveryStreamHttpEndpointConfigurationArgs.builder()\n .url(\"https://aws-api.newrelic.com/firehose/v1\")\n .name(\"New Relic\")\n .accessKey(\"my-key\")\n .bufferingSize(15)\n .bufferingInterval(600)\n .roleArn(firehose.arn())\n .s3BackupMode(\"FailedDataOnly\")\n .s3Configuration(FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .requestConfiguration(FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs.builder()\n .contentEncoding(\"GZIP\")\n .commonAttributes( \n FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs.builder()\n .name(\"testname\")\n .value(\"testvalue\")\n .build(),\n FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs.builder()\n .name(\"testname2\")\n .value(\"testvalue2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: http_endpoint\n httpEndpointConfiguration:\n url: https://aws-api.newrelic.com/firehose/v1\n name: New Relic\n accessKey: my-key\n bufferingSize: 15\n bufferingInterval: 600\n roleArn: ${firehose.arn}\n s3BackupMode: FailedDataOnly\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n requestConfiguration:\n contentEncoding: GZIP\n commonAttributes:\n - name: testname\n value: testvalue\n - name: testname2\n value: testvalue2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Snowflake Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleSnowflakeDestination = new aws.kinesis.FirehoseDeliveryStream(\"example_snowflake_destination\", {\n name: \"example-snowflake-destination\",\n destination: \"snowflake\",\n snowflakeConfiguration: {\n accountUrl: \"https://example.snowflakecomputing.com\",\n bufferingSize: 15,\n bufferingInterval: 600,\n database: \"example-db\",\n privateKey: \"...\",\n roleArn: firehose.arn,\n schema: \"example-schema\",\n table: \"example-table\",\n user: \"example-usr\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_snowflake_destination = aws.kinesis.FirehoseDeliveryStream(\"example_snowflake_destination\",\n name=\"example-snowflake-destination\",\n destination=\"snowflake\",\n snowflake_configuration={\n \"account_url\": \"https://example.snowflakecomputing.com\",\n \"buffering_size\": 15,\n \"buffering_interval\": 600,\n \"database\": \"example-db\",\n \"private_key\": \"...\",\n \"role_arn\": firehose[\"arn\"],\n \"schema\": \"example-schema\",\n \"table\": \"example-table\",\n \"user\": \"example-usr\",\n \"s3_configuration\": {\n \"role_arn\": firehose[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 10,\n \"buffering_interval\": 400,\n \"compression_format\": \"GZIP\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleSnowflakeDestination = new Aws.Kinesis.FirehoseDeliveryStream(\"example_snowflake_destination\", new()\n {\n Name = \"example-snowflake-destination\",\n Destination = \"snowflake\",\n SnowflakeConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSnowflakeConfigurationArgs\n {\n AccountUrl = \"https://example.snowflakecomputing.com\",\n BufferingSize = 15,\n BufferingInterval = 600,\n Database = \"example-db\",\n PrivateKey = \"...\",\n RoleArn = firehose.Arn,\n Schema = \"example-schema\",\n Table = \"example-table\",\n User = \"example-usr\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"example_snowflake_destination\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"example-snowflake-destination\"),\n\t\t\tDestination: pulumi.String(\"snowflake\"),\n\t\t\tSnowflakeConfiguration: \u0026kinesis.FirehoseDeliveryStreamSnowflakeConfigurationArgs{\n\t\t\t\tAccountUrl: pulumi.String(\"https://example.snowflakecomputing.com\"),\n\t\t\t\tBufferingSize: pulumi.Int(15),\n\t\t\t\tBufferingInterval: pulumi.Int(600),\n\t\t\t\tDatabase: pulumi.String(\"example-db\"),\n\t\t\t\tPrivateKey: pulumi.String(\"...\"),\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tSchema: pulumi.String(\"example-schema\"),\n\t\t\t\tTable: pulumi.String(\"example-table\"),\n\t\t\t\tUser: pulumi.String(\"example-usr\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleSnowflakeDestination = new FirehoseDeliveryStream(\"exampleSnowflakeDestination\", FirehoseDeliveryStreamArgs.builder()\n .name(\"example-snowflake-destination\")\n .destination(\"snowflake\")\n .snowflakeConfiguration(FirehoseDeliveryStreamSnowflakeConfigurationArgs.builder()\n .accountUrl(\"https://example.snowflakecomputing.com\")\n .bufferingSize(15)\n .bufferingInterval(600)\n .database(\"example-db\")\n .privateKey(\"...\")\n .roleArn(firehose.arn())\n .schema(\"example-schema\")\n .table(\"example-table\")\n .user(\"example-usr\")\n .s3Configuration(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleSnowflakeDestination:\n type: aws:kinesis:FirehoseDeliveryStream\n name: example_snowflake_destination\n properties:\n name: example-snowflake-destination\n destination: snowflake\n snowflakeConfiguration:\n accountUrl: https://example.snowflakecomputing.com\n bufferingSize: 15\n bufferingInterval: 600\n database: example-db\n privateKey: '...'\n roleArn: ${firehose.arn}\n schema: example-schema\n table: example-table\n user: example-usr\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kinesis Firehose Delivery streams using the stream ARN. For example:\n\n```sh\n$ pulumi import aws:kinesis/firehoseDeliveryStream:FirehoseDeliveryStream foo arn:aws:firehose:us-east-1:XXX:deliverystream/example\n```\nNote: Import does not work for stream destination `s3`. Consider using `extended_s3` since `s3` destination is deprecated.\n\n", + "description": "Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 , Amazon Redshift and Snowflake.\n\nFor more details, see the [Amazon Kinesis Firehose Documentation](https://aws.amazon.com/documentation/firehose/).\n\n## Example Usage\n\n### Extended S3 Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"tf-test-bucket\"});\nconst firehoseAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst firehoseRole = new aws.iam.Role(\"firehose_role\", {\n name: \"firehose_test_role\",\n assumeRolePolicy: firehoseAssumeRole.then(firehoseAssumeRole =\u003e firehoseAssumeRole.json),\n});\nconst lambdaAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst lambdaIam = new aws.iam.Role(\"lambda_iam\", {\n name: \"lambda_iam\",\n assumeRolePolicy: lambdaAssumeRole.then(lambdaAssumeRole =\u003e lambdaAssumeRole.json),\n});\nconst lambdaProcessor = new aws.lambda.Function(\"lambda_processor\", {\n code: new pulumi.asset.FileArchive(\"lambda.zip\"),\n name: \"firehose_lambda_processor\",\n role: lambdaIam.arn,\n handler: \"exports.handler\",\n runtime: aws.lambda.Runtime.NodeJS20dX,\n});\nconst extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", {\n name: \"kinesis-firehose-extended-s3-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: pulumi.interpolate`${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"tf-test-bucket\")\nfirehose_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"firehose.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nfirehose_role = aws.iam.Role(\"firehose_role\",\n name=\"firehose_test_role\",\n assume_role_policy=firehose_assume_role.json)\nlambda_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"lambda.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nlambda_iam = aws.iam.Role(\"lambda_iam\",\n name=\"lambda_iam\",\n assume_role_policy=lambda_assume_role.json)\nlambda_processor = aws.lambda_.Function(\"lambda_processor\",\n code=pulumi.FileArchive(\"lambda.zip\"),\n name=\"firehose_lambda_processor\",\n role=lambda_iam.arn,\n handler=\"exports.handler\",\n runtime=aws.lambda_.Runtime.NODE_JS20D_X)\nextended_s3_stream = aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\",\n name=\"kinesis-firehose-extended-s3-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration={\n \"role_arn\": firehose_role.arn,\n \"bucket_arn\": bucket.arn,\n \"processing_configuration\": {\n \"enabled\": True,\n \"processors\": [{\n \"type\": \"Lambda\",\n \"parameters\": [{\n \"parameter_name\": \"LambdaArn\",\n \"parameter_value\": lambda_processor.arn.apply(lambda arn: f\"{arn}:$LATEST\"),\n }],\n }],\n },\n })\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"tf-test-bucket\",\n });\n\n var firehoseAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var firehoseRole = new Aws.Iam.Role(\"firehose_role\", new()\n {\n Name = \"firehose_test_role\",\n AssumeRolePolicy = firehoseAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var lambdaIam = new Aws.Iam.Role(\"lambda_iam\", new()\n {\n Name = \"lambda_iam\",\n AssumeRolePolicy = lambdaAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaProcessor = new Aws.Lambda.Function(\"lambda_processor\", new()\n {\n Code = new FileArchive(\"lambda.zip\"),\n Name = \"firehose_lambda_processor\",\n Role = lambdaIam.Arn,\n Handler = \"exports.handler\",\n Runtime = Aws.Lambda.Runtime.NodeJS20dX,\n });\n\n var extendedS3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", new()\n {\n Name = \"kinesis-firehose-extended-s3-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = lambdaProcessor.Arn.Apply(arn =\u003e $\"{arn}:$LATEST\"),\n },\n },\n },\n },\n },\n },\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"firehose.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseRole, err := iam.NewRole(ctx, \"firehose_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"firehose_test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(firehoseAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaIam, err := iam.NewRole(ctx, \"lambda_iam\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"lambda_iam\"),\n\t\t\tAssumeRolePolicy: pulumi.String(lambdaAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaProcessor, err := lambda.NewFunction(ctx, \"lambda_processor\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda.zip\"),\n\t\t\tName: pulumi.String(\"firehose_lambda_processor\"),\n\t\t\tRole: lambdaIam.Arn,\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS20dX),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"extended_s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-extended-s3-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: firehoseRole.Arn,\n\t\t\t\tBucketArn: bucket.Arn,\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: lambdaProcessor.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:$LATEST\", arn), nil\n\t\t\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"tf-test-bucket\")\n .build());\n\n final var firehoseAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var firehoseRole = new Role(\"firehoseRole\", RoleArgs.builder()\n .name(\"firehose_test_role\")\n .assumeRolePolicy(firehoseAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var lambdaAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var lambdaIam = new Role(\"lambdaIam\", RoleArgs.builder()\n .name(\"lambda_iam\")\n .assumeRolePolicy(lambdaAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var lambdaProcessor = new Function(\"lambdaProcessor\", FunctionArgs.builder()\n .code(new FileArchive(\"lambda.zip\"))\n .name(\"firehose_lambda_processor\")\n .role(lambdaIam.arn())\n .handler(\"exports.handler\")\n .runtime(\"nodejs20.x\")\n .build());\n\n var extendedS3Stream = new FirehoseDeliveryStream(\"extendedS3Stream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-extended-s3-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .processingConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(lambdaProcessor.arn().applyValue(arn -\u003e String.format(\"%s:$LATEST\", arn)))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder()\n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extendedS3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: extended_s3_stream\n properties:\n name: kinesis-firehose-extended-s3-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n firehoseRole:\n type: aws:iam:Role\n name: firehose_role\n properties:\n name: firehose_test_role\n assumeRolePolicy: ${firehoseAssumeRole.json}\n lambdaIam:\n type: aws:iam:Role\n name: lambda_iam\n properties:\n name: lambda_iam\n assumeRolePolicy: ${lambdaAssumeRole.json}\n lambdaProcessor:\n type: aws:lambda:Function\n name: lambda_processor\n properties:\n code:\n fn::FileArchive: lambda.zip\n name: firehose_lambda_processor\n role: ${lambdaIam.arn}\n handler: exports.handler\n runtime: nodejs20.x\nvariables:\n firehoseAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\n lambdaAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Extended S3 Destination with dynamic partitioning\n\nThese examples use built-in Firehose functionality, rather than requiring a lambda.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", {\n name: \"kinesis-firehose-extended-s3-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 64,\n dynamicPartitioningConfiguration: {\n enabled: true,\n },\n prefix: \"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n errorOutputPrefix: \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processingConfiguration: {\n enabled: true,\n processors: [\n {\n type: \"RecordDeAggregation\",\n parameters: [{\n parameterName: \"SubRecordType\",\n parameterValue: \"JSON\",\n }],\n },\n {\n type: \"AppendDelimiterToRecord\",\n },\n {\n type: \"MetadataExtraction\",\n parameters: [\n {\n parameterName: \"JsonParsingEngine\",\n parameterValue: \"JQ-1.6\",\n },\n {\n parameterName: \"MetadataExtractionQuery\",\n parameterValue: \"{customer_id:.customer_id}\",\n },\n ],\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nextended_s3_stream = aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\",\n name=\"kinesis-firehose-extended-s3-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration={\n \"role_arn\": firehose_role[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 64,\n \"dynamic_partitioning_configuration\": {\n \"enabled\": True,\n },\n \"prefix\": \"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n \"error_output_prefix\": \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n \"processing_configuration\": {\n \"enabled\": True,\n \"processors\": [\n {\n \"type\": \"RecordDeAggregation\",\n \"parameters\": [{\n \"parameter_name\": \"SubRecordType\",\n \"parameter_value\": \"JSON\",\n }],\n },\n {\n \"type\": \"AppendDelimiterToRecord\",\n },\n {\n \"type\": \"MetadataExtraction\",\n \"parameters\": [\n {\n \"parameter_name\": \"JsonParsingEngine\",\n \"parameter_value\": \"JQ-1.6\",\n },\n {\n \"parameter_name\": \"MetadataExtractionQuery\",\n \"parameter_value\": \"{customer_id:.customer_id}\",\n },\n ],\n },\n ],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var extendedS3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", new()\n {\n Name = \"kinesis-firehose-extended-s3-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 64,\n DynamicPartitioningConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs\n {\n Enabled = true,\n },\n Prefix = \"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n ErrorOutputPrefix = \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"RecordDeAggregation\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"SubRecordType\",\n ParameterValue = \"JSON\",\n },\n },\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"AppendDelimiterToRecord\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"MetadataExtraction\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"JsonParsingEngine\",\n ParameterValue = \"JQ-1.6\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"MetadataExtractionQuery\",\n ParameterValue = \"{customer_id:.customer_id}\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"extended_s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-extended-s3-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\tBufferingSize: pulumi.Int(64),\n\t\t\t\tDynamicPartitioningConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tPrefix: pulumi.String(\"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\"),\n\t\t\t\tErrorOutputPrefix: pulumi.String(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\"),\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"RecordDeAggregation\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"SubRecordType\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"JSON\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AppendDelimiterToRecord\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"MetadataExtraction\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"JsonParsingEngine\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"JQ-1.6\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"MetadataExtractionQuery\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"{customer_id:.customer_id}\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var extendedS3Stream = new FirehoseDeliveryStream(\"extendedS3Stream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-extended-s3-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(64)\n .dynamicPartitioningConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs.builder()\n .enabled(\"true\")\n .build())\n .prefix(\"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\")\n .errorOutputPrefix(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\")\n .processingConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors( \n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"RecordDeAggregation\")\n .parameters(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"SubRecordType\")\n .parameterValue(\"JSON\")\n .build())\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"AppendDelimiterToRecord\")\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"MetadataExtraction\")\n .parameters( \n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"JsonParsingEngine\")\n .parameterValue(\"JQ-1.6\")\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"MetadataExtractionQuery\")\n .parameterValue(\"{customer_id:.customer_id}\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extendedS3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: extended_s3_stream\n properties:\n name: kinesis-firehose-extended-s3-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 64\n dynamicPartitioningConfiguration:\n enabled: 'true'\n prefix: data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\n errorOutputPrefix: errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: RecordDeAggregation\n parameters:\n - parameterName: SubRecordType\n parameterValue: JSON\n - type: AppendDelimiterToRecord\n - type: MetadataExtraction\n parameters:\n - parameterName: JsonParsingEngine\n parameterValue: JQ-1.6\n - parameterName: MetadataExtractionQuery\n parameterValue: '{customer_id:.customer_id}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nMultiple Dynamic Partitioning Keys (maximum of 50) can be added by comma separating the `parameter_value`.\n\nThe following example adds the Dynamic Partitioning Keys: `store_id` and `customer_id` to the S3 prefix.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", {\n name: \"kinesis-firehose-extended-s3-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 64,\n dynamicPartitioningConfiguration: {\n enabled: true,\n },\n prefix: \"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n errorOutputPrefix: \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"MetadataExtraction\",\n parameters: [\n {\n parameterName: \"JsonParsingEngine\",\n parameterValue: \"JQ-1.6\",\n },\n {\n parameterName: \"MetadataExtractionQuery\",\n parameterValue: \"{store_id:.store_id,customer_id:.customer_id}\",\n },\n ],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nextended_s3_stream = aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\",\n name=\"kinesis-firehose-extended-s3-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration={\n \"role_arn\": firehose_role[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 64,\n \"dynamic_partitioning_configuration\": {\n \"enabled\": True,\n },\n \"prefix\": \"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n \"error_output_prefix\": \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n \"processing_configuration\": {\n \"enabled\": True,\n \"processors\": [{\n \"type\": \"MetadataExtraction\",\n \"parameters\": [\n {\n \"parameter_name\": \"JsonParsingEngine\",\n \"parameter_value\": \"JQ-1.6\",\n },\n {\n \"parameter_name\": \"MetadataExtractionQuery\",\n \"parameter_value\": \"{store_id:.store_id,customer_id:.customer_id}\",\n },\n ],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var extendedS3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", new()\n {\n Name = \"kinesis-firehose-extended-s3-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 64,\n DynamicPartitioningConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs\n {\n Enabled = true,\n },\n Prefix = \"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n ErrorOutputPrefix = \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"MetadataExtraction\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"JsonParsingEngine\",\n ParameterValue = \"JQ-1.6\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"MetadataExtractionQuery\",\n ParameterValue = \"{store_id:.store_id,customer_id:.customer_id}\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"extended_s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-extended-s3-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\tBufferingSize: pulumi.Int(64),\n\t\t\t\tDynamicPartitioningConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tPrefix: pulumi.String(\"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\"),\n\t\t\t\tErrorOutputPrefix: pulumi.String(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\"),\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"MetadataExtraction\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"JsonParsingEngine\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"JQ-1.6\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"MetadataExtractionQuery\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"{store_id:.store_id,customer_id:.customer_id}\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var extendedS3Stream = new FirehoseDeliveryStream(\"extendedS3Stream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-extended-s3-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(64)\n .dynamicPartitioningConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs.builder()\n .enabled(\"true\")\n .build())\n .prefix(\"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\")\n .errorOutputPrefix(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\")\n .processingConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"MetadataExtraction\")\n .parameters( \n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"JsonParsingEngine\")\n .parameterValue(\"JQ-1.6\")\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"MetadataExtractionQuery\")\n .parameterValue(\"{store_id:.store_id,customer_id:.customer_id}\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extendedS3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: extended_s3_stream\n properties:\n name: kinesis-firehose-extended-s3-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 64\n dynamicPartitioningConfiguration:\n enabled: 'true'\n prefix: data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\n errorOutputPrefix: errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: MetadataExtraction\n parameters:\n - parameterName: JsonParsingEngine\n parameterValue: JQ-1.6\n - parameterName: MetadataExtractionQuery\n parameterValue: '{store_id:.store_id,customer_id:.customer_id}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redshift Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.redshift.Cluster(\"test_cluster\", {\n clusterIdentifier: \"tf-redshift-cluster\",\n databaseName: \"test\",\n masterUsername: \"testuser\",\n masterPassword: \"T3stPass\",\n nodeType: \"dc1.large\",\n clusterType: \"single-node\",\n});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"redshift\",\n redshiftConfiguration: {\n roleArn: firehoseRole.arn,\n clusterJdbcurl: pulumi.interpolate`jdbc:redshift://${testCluster.endpoint}/${testCluster.databaseName}`,\n username: \"testuser\",\n password: \"T3stPass\",\n dataTableName: \"test-table\",\n copyOptions: \"delimiter '|'\",\n dataTableColumns: \"test-col\",\n s3BackupMode: \"Enabled\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n s3BackupConfiguration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 15,\n bufferingInterval: 300,\n compressionFormat: \"GZIP\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.redshift.Cluster(\"test_cluster\",\n cluster_identifier=\"tf-redshift-cluster\",\n database_name=\"test\",\n master_username=\"testuser\",\n master_password=\"T3stPass\",\n node_type=\"dc1.large\",\n cluster_type=\"single-node\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"redshift\",\n redshift_configuration={\n \"role_arn\": firehose_role[\"arn\"],\n \"cluster_jdbcurl\": pulumi.Output.all(\n endpoint=test_cluster.endpoint,\n database_name=test_cluster.database_name\n).apply(lambda resolved_outputs: f\"jdbc:redshift://{resolved_outputs['endpoint']}/{resolved_outputs['database_name']}\")\n,\n \"username\": \"testuser\",\n \"password\": \"T3stPass\",\n \"data_table_name\": \"test-table\",\n \"copy_options\": \"delimiter '|'\",\n \"data_table_columns\": \"test-col\",\n \"s3_backup_mode\": \"Enabled\",\n \"s3_configuration\": {\n \"role_arn\": firehose_role[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 10,\n \"buffering_interval\": 400,\n \"compression_format\": \"GZIP\",\n },\n \"s3_backup_configuration\": {\n \"role_arn\": firehose_role[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 15,\n \"buffering_interval\": 300,\n \"compression_format\": \"GZIP\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.RedShift.Cluster(\"test_cluster\", new()\n {\n ClusterIdentifier = \"tf-redshift-cluster\",\n DatabaseName = \"test\",\n MasterUsername = \"testuser\",\n MasterPassword = \"T3stPass\",\n NodeType = \"dc1.large\",\n ClusterType = \"single-node\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"redshift\",\n RedshiftConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n ClusterJdbcurl = Output.Tuple(testCluster.Endpoint, testCluster.DatabaseName).Apply(values =\u003e\n {\n var endpoint = values.Item1;\n var databaseName = values.Item2;\n return $\"jdbc:redshift://{endpoint}/{databaseName}\";\n }),\n Username = \"testuser\",\n Password = \"T3stPass\",\n DataTableName = \"test-table\",\n CopyOptions = \"delimiter '|'\",\n DataTableColumns = \"test-col\",\n S3BackupMode = \"Enabled\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n S3BackupConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 15,\n BufferingInterval = 300,\n CompressionFormat = \"GZIP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := redshift.NewCluster(ctx, \"test_cluster\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift-cluster\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tMasterUsername: pulumi.String(\"testuser\"),\n\t\t\tMasterPassword: pulumi.String(\"T3stPass\"),\n\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\tClusterType: pulumi.String(\"single-node\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"redshift\"),\n\t\t\tRedshiftConfiguration: \u0026kinesis.FirehoseDeliveryStreamRedshiftConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tClusterJdbcurl: pulumi.All(testCluster.Endpoint, testCluster.DatabaseName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\t\tendpoint := _args[0].(string)\n\t\t\t\t\tdatabaseName := _args[1].(string)\n\t\t\t\t\treturn fmt.Sprintf(\"jdbc:redshift://%v/%v\", endpoint, databaseName), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tUsername: pulumi.String(\"testuser\"),\n\t\t\t\tPassword: pulumi.String(\"T3stPass\"),\n\t\t\t\tDataTableName: pulumi.String(\"test-table\"),\n\t\t\t\tCopyOptions: pulumi.String(\"delimiter '|'\"),\n\t\t\t\tDataTableColumns: pulumi.String(\"test-col\"),\n\t\t\t\tS3BackupMode: pulumi.String(\"Enabled\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tS3BackupConfiguration: \u0026kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(15),\n\t\t\t\t\tBufferingInterval: pulumi.Int(300),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder()\n .clusterIdentifier(\"tf-redshift-cluster\")\n .databaseName(\"test\")\n .masterUsername(\"testuser\")\n .masterPassword(\"T3stPass\")\n .nodeType(\"dc1.large\")\n .clusterType(\"single-node\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"redshift\")\n .redshiftConfiguration(FirehoseDeliveryStreamRedshiftConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .clusterJdbcurl(Output.tuple(testCluster.endpoint(), testCluster.databaseName()).applyValue(values -\u003e {\n var endpoint = values.t1;\n var databaseName = values.t2;\n return String.format(\"jdbc:redshift://%s/%s\", endpoint,databaseName);\n }))\n .username(\"testuser\")\n .password(\"T3stPass\")\n .dataTableName(\"test-table\")\n .copyOptions(\"delimiter '|'\")\n .dataTableColumns(\"test-col\")\n .s3BackupMode(\"Enabled\")\n .s3Configuration(FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .s3BackupConfiguration(FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(15)\n .bufferingInterval(300)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:redshift:Cluster\n name: test_cluster\n properties:\n clusterIdentifier: tf-redshift-cluster\n databaseName: test\n masterUsername: testuser\n masterPassword: T3stPass\n nodeType: dc1.large\n clusterType: single-node\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: redshift\n redshiftConfiguration:\n roleArn: ${firehoseRole.arn}\n clusterJdbcurl: jdbc:redshift://${testCluster.endpoint}/${testCluster.databaseName}\n username: testuser\n password: T3stPass\n dataTableName: test-table\n copyOptions: delimiter '|'\n dataTableColumns: test-col\n s3BackupMode: Enabled\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n s3BackupConfiguration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 15\n bufferingInterval: 300\n compressionFormat: GZIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Elasticsearch Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.elasticsearch.Domain(\"test_cluster\", {domainName: \"firehose-es-test\"});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"elasticsearch\",\n elasticsearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehoseRole.arn,\n indexName: \"test\",\n typeName: \"test\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.elasticsearch.Domain(\"test_cluster\", domain_name=\"firehose-es-test\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"elasticsearch\",\n elasticsearch_configuration={\n \"domain_arn\": test_cluster.arn,\n \"role_arn\": firehose_role[\"arn\"],\n \"index_name\": \"test\",\n \"type_name\": \"test\",\n \"s3_configuration\": {\n \"role_arn\": firehose_role[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 10,\n \"buffering_interval\": 400,\n \"compression_format\": \"GZIP\",\n },\n \"processing_configuration\": {\n \"enabled\": True,\n \"processors\": [{\n \"type\": \"Lambda\",\n \"parameters\": [{\n \"parameter_name\": \"LambdaArn\",\n \"parameter_value\": f\"{lambda_processor['arn']}:$LATEST\",\n }],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.ElasticSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"firehose-es-test\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"elasticsearch\",\n ElasticsearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehoseRole.Arn,\n IndexName = \"test\",\n TypeName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := elasticsearch.NewDomain(ctx, \"test_cluster\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"firehose-es-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"elasticsearch\"),\n\t\t\tElasticsearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tTypeName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCluster = new Domain(\"testCluster\", DomainArgs.builder()\n .domainName(\"firehose-es-test\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"elasticsearch\")\n .elasticsearchConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehoseRole.arn())\n .indexName(\"test\")\n .typeName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .processingConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:elasticsearch:Domain\n name: test_cluster\n properties:\n domainName: firehose-es-test\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: elasticsearch\n elasticsearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehoseRole.arn}\n indexName: test\n typeName: test\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Elasticsearch Destination With VPC\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.elasticsearch.Domain(\"test_cluster\", {\n domainName: \"es-test\",\n clusterConfig: {\n instanceCount: 2,\n zoneAwarenessEnabled: true,\n instanceType: \"t2.small.elasticsearch\",\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n vpcOptions: {\n securityGroupIds: [first.id],\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n },\n});\nconst firehose-elasticsearch = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"es:*\"],\n resources: [\n testCluster.arn,\n pulumi.interpolate`${testCluster.arn}/*`,\n ],\n },\n {\n effect: \"Allow\",\n actions: [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\",\n ],\n resources: [\"*\"],\n },\n ],\n});\nconst firehose_elasticsearchRolePolicy = new aws.iam.RolePolicy(\"firehose-elasticsearch\", {\n name: \"elasticsearch\",\n role: firehose.id,\n policy: firehose_elasticsearch.apply(firehose_elasticsearch =\u003e firehose_elasticsearch.json),\n});\nconst test = new aws.kinesis.FirehoseDeliveryStream(\"test\", {\n name: \"kinesis-firehose-es\",\n destination: \"elasticsearch\",\n elasticsearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehose.arn,\n indexName: \"test\",\n typeName: \"test\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n },\n vpcConfig: {\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n securityGroupIds: [first.id],\n roleArn: firehose.arn,\n },\n },\n}, {\n dependsOn: [firehose_elasticsearchRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.elasticsearch.Domain(\"test_cluster\",\n domain_name=\"es-test\",\n cluster_config={\n \"instance_count\": 2,\n \"zone_awareness_enabled\": True,\n \"instance_type\": \"t2.small.elasticsearch\",\n },\n ebs_options={\n \"ebs_enabled\": True,\n \"volume_size\": 10,\n },\n vpc_options={\n \"security_group_ids\": [first[\"id\"]],\n \"subnet_ids\": [\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n })\nfirehose_elasticsearch = aws.iam.get_policy_document_output(statements=[\n {\n \"effect\": \"Allow\",\n \"actions\": [\"es:*\"],\n \"resources\": [\n test_cluster.arn,\n test_cluster.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\",\n ],\n \"resources\": [\"*\"],\n },\n])\nfirehose_elasticsearch_role_policy = aws.iam.RolePolicy(\"firehose-elasticsearch\",\n name=\"elasticsearch\",\n role=firehose[\"id\"],\n policy=firehose_elasticsearch.json)\ntest = aws.kinesis.FirehoseDeliveryStream(\"test\",\n name=\"kinesis-firehose-es\",\n destination=\"elasticsearch\",\n elasticsearch_configuration={\n \"domain_arn\": test_cluster.arn,\n \"role_arn\": firehose[\"arn\"],\n \"index_name\": \"test\",\n \"type_name\": \"test\",\n \"s3_configuration\": {\n \"role_arn\": firehose[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n },\n \"vpc_config\": {\n \"subnet_ids\": [\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n \"security_group_ids\": [first[\"id\"]],\n \"role_arn\": firehose[\"arn\"],\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[firehose_elasticsearch_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.ElasticSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"es-test\",\n ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceCount = 2,\n ZoneAwarenessEnabled = true,\n InstanceType = \"t2.small.elasticsearch\",\n },\n EbsOptions = new Aws.ElasticSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n VpcOptions = new Aws.ElasticSearch.Inputs.DomainVpcOptionsArgs\n {\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n },\n });\n\n var firehose_elasticsearch = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n testCluster.Arn,\n $\"{testCluster.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var firehose_elasticsearchRolePolicy = new Aws.Iam.RolePolicy(\"firehose-elasticsearch\", new()\n {\n Name = \"elasticsearch\",\n Role = firehose.Id,\n Policy = firehose_elasticsearch.Apply(firehose_elasticsearch =\u003e firehose_elasticsearch.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n var test = new Aws.Kinesis.FirehoseDeliveryStream(\"test\", new()\n {\n Name = \"kinesis-firehose-es\",\n Destination = \"elasticsearch\",\n ElasticsearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehose.Arn,\n IndexName = \"test\",\n TypeName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n },\n VpcConfig = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs\n {\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n RoleArn = firehose.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n firehose_elasticsearchRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := elasticsearch.NewDomain(ctx, \"test_cluster\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"es-test\"),\n\t\t\tClusterConfig: \u0026elasticsearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceCount: pulumi.Int(2),\n\t\t\t\tZoneAwarenessEnabled: pulumi.Bool(true),\n\t\t\t\tInstanceType: pulumi.String(\"t2.small.elasticsearch\"),\n\t\t\t},\n\t\t\tEbsOptions: \u0026elasticsearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\n\t\t\t},\n\t\t\tVpcOptions: \u0026elasticsearch.DomainVpcOptionsArgs{\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tfirst.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\tsecond.Id,\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\tfirehose_elasticsearch := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"es:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ttestCluster.Arn,\n\t\t\t\t\t\ttestCluster.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeVpcs\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeVpcAttribute\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeSubnets\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeSecurityGroups\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeNetworkInterfaces\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:CreateNetworkInterface\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:CreateNetworkInterfacePermission\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DeleteNetworkInterface\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"firehose-elasticsearch\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"elasticsearch\"),\n\t\t\tRole: pulumi.Any(firehose.Id),\n\t\t\tPolicy: pulumi.String(firehose_elasticsearch.ApplyT(func(firehose_elasticsearch iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026firehose_elasticsearch.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-es\"),\n\t\t\tDestination: pulumi.String(\"elasticsearch\"),\n\t\t\tElasticsearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tTypeName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t},\n\t\t\t\tVpcConfig: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs{\n\t\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\t\tsecond.Id,\n\t\t\t\t\t},\n\t\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\t\tfirst.Id,\n\t\t\t\t\t},\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfirehose_elasticsearchRolePolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainEbsOptionsArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCluster = new Domain(\"testCluster\", DomainArgs.builder()\n .domainName(\"es-test\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceCount(2)\n .zoneAwarenessEnabled(true)\n .instanceType(\"t2.small.elasticsearch\")\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .securityGroupIds(first.id())\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .build())\n .build());\n\n final var firehose-elasticsearch = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"es:*\")\n .resources( \n testCluster.arn(),\n testCluster.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\")\n .resources(\"*\")\n .build())\n .build());\n\n var firehose_elasticsearchRolePolicy = new RolePolicy(\"firehose-elasticsearchRolePolicy\", RolePolicyArgs.builder()\n .name(\"elasticsearch\")\n .role(firehose.id())\n .policy(firehose_elasticsearch.applyValue(firehose_elasticsearch -\u003e firehose_elasticsearch.json()))\n .build());\n\n var test = new FirehoseDeliveryStream(\"test\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-es\")\n .destination(\"elasticsearch\")\n .elasticsearchConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehose.arn())\n .indexName(\"test\")\n .typeName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .build())\n .vpcConfig(FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs.builder()\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .securityGroupIds(first.id())\n .roleArn(firehose.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(firehose_elasticsearchRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:elasticsearch:Domain\n name: test_cluster\n properties:\n domainName: es-test\n clusterConfig:\n instanceCount: 2\n zoneAwarenessEnabled: true\n instanceType: t2.small.elasticsearch\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n vpcOptions:\n securityGroupIds:\n - ${first.id}\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n firehose-elasticsearchRolePolicy:\n type: aws:iam:RolePolicy\n name: firehose-elasticsearch\n properties:\n name: elasticsearch\n role: ${firehose.id}\n policy: ${[\"firehose-elasticsearch\"].json}\n test:\n type: aws:kinesis:FirehoseDeliveryStream\n properties:\n name: kinesis-firehose-es\n destination: elasticsearch\n elasticsearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehose.arn}\n indexName: test\n typeName: test\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n vpcConfig:\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n securityGroupIds:\n - ${first.id}\n roleArn: ${firehose.arn}\n options:\n dependson:\n - ${[\"firehose-elasticsearchRolePolicy\"]}\nvariables:\n firehose-elasticsearch:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - es:*\n resources:\n - ${testCluster.arn}\n - ${testCluster.arn}/*\n - effect: Allow\n actions:\n - ec2:DescribeVpcs\n - ec2:DescribeVpcAttribute\n - ec2:DescribeSubnets\n - ec2:DescribeSecurityGroups\n - ec2:DescribeNetworkInterfaces\n - ec2:CreateNetworkInterface\n - ec2:CreateNetworkInterfacePermission\n - ec2:DeleteNetworkInterface\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.opensearch.Domain(\"test_cluster\", {domainName: \"firehose-os-test\"});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"opensearch\",\n opensearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehoseRole.arn,\n indexName: \"test\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.opensearch.Domain(\"test_cluster\", domain_name=\"firehose-os-test\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"opensearch\",\n opensearch_configuration={\n \"domain_arn\": test_cluster.arn,\n \"role_arn\": firehose_role[\"arn\"],\n \"index_name\": \"test\",\n \"s3_configuration\": {\n \"role_arn\": firehose_role[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 10,\n \"buffering_interval\": 400,\n \"compression_format\": \"GZIP\",\n },\n \"processing_configuration\": {\n \"enabled\": True,\n \"processors\": [{\n \"type\": \"Lambda\",\n \"parameters\": [{\n \"parameter_name\": \"LambdaArn\",\n \"parameter_value\": f\"{lambda_processor['arn']}:$LATEST\",\n }],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.OpenSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"firehose-os-test\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"opensearch\",\n OpensearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehoseRole.Arn,\n IndexName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := opensearch.NewDomain(ctx, \"test_cluster\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"firehose-os-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"opensearch\"),\n\t\t\tOpensearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCluster = new Domain(\"testCluster\", DomainArgs.builder()\n .domainName(\"firehose-os-test\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"opensearch\")\n .opensearchConfiguration(FirehoseDeliveryStreamOpensearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehoseRole.arn())\n .indexName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .processingConfiguration(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:opensearch:Domain\n name: test_cluster\n properties:\n domainName: firehose-os-test\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: opensearch\n opensearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehoseRole.arn}\n indexName: test\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Destination With VPC\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.opensearch.Domain(\"test_cluster\", {\n domainName: \"es-test\",\n clusterConfig: {\n instanceCount: 2,\n zoneAwarenessEnabled: true,\n instanceType: \"m4.large.search\",\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n vpcOptions: {\n securityGroupIds: [first.id],\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n },\n});\nconst firehose_opensearch = new aws.iam.RolePolicy(\"firehose-opensearch\", {\n name: \"opensearch\",\n role: firehose.id,\n policy: pulumi.interpolate`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"${testCluster.arn}\",\n \"${testCluster.arn}/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n`,\n});\nconst test = new aws.kinesis.FirehoseDeliveryStream(\"test\", {\n name: \"pulumi-kinesis-firehose-os\",\n destination: \"opensearch\",\n opensearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehose.arn,\n indexName: \"test\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n },\n vpcConfig: {\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n securityGroupIds: [first.id],\n roleArn: firehose.arn,\n },\n },\n}, {\n dependsOn: [firehose_opensearch],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.opensearch.Domain(\"test_cluster\",\n domain_name=\"es-test\",\n cluster_config={\n \"instance_count\": 2,\n \"zone_awareness_enabled\": True,\n \"instance_type\": \"m4.large.search\",\n },\n ebs_options={\n \"ebs_enabled\": True,\n \"volume_size\": 10,\n },\n vpc_options={\n \"security_group_ids\": [first[\"id\"]],\n \"subnet_ids\": [\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n })\nfirehose_opensearch = aws.iam.RolePolicy(\"firehose-opensearch\",\n name=\"opensearch\",\n role=firehose[\"id\"],\n policy=pulumi.Output.all(\n testClusterArn=test_cluster.arn,\n testClusterArn1=test_cluster.arn\n).apply(lambda resolved_outputs: f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"{resolved_outputs['testClusterArn']}\",\n \"{resolved_outputs['testClusterArn1']}/*\"\n ]\n }},\n {{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }}\n ]\n}}\n\"\"\")\n)\ntest = aws.kinesis.FirehoseDeliveryStream(\"test\",\n name=\"pulumi-kinesis-firehose-os\",\n destination=\"opensearch\",\n opensearch_configuration={\n \"domain_arn\": test_cluster.arn,\n \"role_arn\": firehose[\"arn\"],\n \"index_name\": \"test\",\n \"s3_configuration\": {\n \"role_arn\": firehose[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n },\n \"vpc_config\": {\n \"subnet_ids\": [\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n \"security_group_ids\": [first[\"id\"]],\n \"role_arn\": firehose[\"arn\"],\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[firehose_opensearch]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.OpenSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"es-test\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceCount = 2,\n ZoneAwarenessEnabled = true,\n InstanceType = \"m4.large.search\",\n },\n EbsOptions = new Aws.OpenSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n VpcOptions = new Aws.OpenSearch.Inputs.DomainVpcOptionsArgs\n {\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n },\n });\n\n var firehose_opensearch = new Aws.Iam.RolePolicy(\"firehose-opensearch\", new()\n {\n Name = \"opensearch\",\n Role = firehose.Id,\n Policy = Output.Tuple(testCluster.Arn, testCluster.Arn).Apply(values =\u003e\n {\n var testClusterArn = values.Item1;\n var testClusterArn1 = values.Item2;\n return @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {{\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Action\"\": [\n \"\"es:*\"\"\n ],\n \"\"Resource\"\": [\n \"\"{testClusterArn}\"\",\n \"\"{testClusterArn1}/*\"\"\n ]\n }},\n {{\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Action\"\": [\n \"\"ec2:DescribeVpcs\"\",\n \"\"ec2:DescribeVpcAttribute\"\",\n \"\"ec2:DescribeSubnets\"\",\n \"\"ec2:DescribeSecurityGroups\"\",\n \"\"ec2:DescribeNetworkInterfaces\"\",\n \"\"ec2:CreateNetworkInterface\"\",\n \"\"ec2:CreateNetworkInterfacePermission\"\",\n \"\"ec2:DeleteNetworkInterface\"\"\n ],\n \"\"Resource\"\": [\n \"\"*\"\"\n ]\n }}\n ]\n}}\n\";\n }),\n });\n\n var test = new Aws.Kinesis.FirehoseDeliveryStream(\"test\", new()\n {\n Name = \"pulumi-kinesis-firehose-os\",\n Destination = \"opensearch\",\n OpensearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehose.Arn,\n IndexName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n },\n VpcConfig = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs\n {\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n RoleArn = firehose.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n firehose_opensearch,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := opensearch.NewDomain(ctx, \"test_cluster\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"es-test\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceCount: pulumi.Int(2),\n\t\t\t\tZoneAwarenessEnabled: pulumi.Bool(true),\n\t\t\t\tInstanceType: pulumi.String(\"m4.large.search\"),\n\t\t\t},\n\t\t\tEbsOptions: \u0026opensearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\n\t\t\t},\n\t\t\tVpcOptions: \u0026opensearch.DomainVpcOptionsArgs{\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tfirst.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\tsecond.Id,\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\t_, err = iam.NewRolePolicy(ctx, \"firehose-opensearch\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"opensearch\"),\n\t\t\tRole: pulumi.Any(firehose.Id),\n\t\t\tPolicy: pulumi.All(testCluster.Arn, testCluster.Arn).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\ttestClusterArn := _args[0].(string)\n\t\t\t\ttestClusterArn1 := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"%v\",\n \"%v/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n`, testClusterArn, testClusterArn1), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"pulumi-kinesis-firehose-os\"),\n\t\t\tDestination: pulumi.String(\"opensearch\"),\n\t\t\tOpensearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t},\n\t\t\t\tVpcConfig: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs{\n\t\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\t\tsecond.Id,\n\t\t\t\t\t},\n\t\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\t\tfirst.Id,\n\t\t\t\t\t},\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfirehose_opensearch,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEbsOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCluster = new Domain(\"testCluster\", DomainArgs.builder()\n .domainName(\"es-test\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceCount(2)\n .zoneAwarenessEnabled(true)\n .instanceType(\"m4.large.search\")\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .securityGroupIds(first.id())\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .build())\n .build());\n\n var firehose_opensearch = new RolePolicy(\"firehose-opensearch\", RolePolicyArgs.builder()\n .name(\"opensearch\")\n .role(firehose.id())\n .policy(Output.tuple(testCluster.arn(), testCluster.arn()).applyValue(values -\u003e {\n var testClusterArn = values.t1;\n var testClusterArn1 = values.t2;\n return \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"%s\",\n \"%s/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n\", testClusterArn,testClusterArn1);\n }))\n .build());\n\n var test = new FirehoseDeliveryStream(\"test\", FirehoseDeliveryStreamArgs.builder()\n .name(\"pulumi-kinesis-firehose-os\")\n .destination(\"opensearch\")\n .opensearchConfiguration(FirehoseDeliveryStreamOpensearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehose.arn())\n .indexName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .build())\n .vpcConfig(FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs.builder()\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .securityGroupIds(first.id())\n .roleArn(firehose.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(firehose_opensearch)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:opensearch:Domain\n name: test_cluster\n properties:\n domainName: es-test\n clusterConfig:\n instanceCount: 2\n zoneAwarenessEnabled: true\n instanceType: m4.large.search\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n vpcOptions:\n securityGroupIds:\n - ${first.id}\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n firehose-opensearch:\n type: aws:iam:RolePolicy\n properties:\n name: opensearch\n role: ${firehose.id}\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"${testCluster.arn}\",\n \"${testCluster.arn}/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n }\n test:\n type: aws:kinesis:FirehoseDeliveryStream\n properties:\n name: pulumi-kinesis-firehose-os\n destination: opensearch\n opensearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehose.arn}\n indexName: test\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n vpcConfig:\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n securityGroupIds:\n - ${first.id}\n roleArn: ${firehose.arn}\n options:\n dependson:\n - ${[\"firehose-opensearch\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Serverless Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCollection = new aws.opensearch.ServerlessCollection(\"test_collection\", {name: \"firehose-osserverless-test\"});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"opensearchserverless\",\n opensearchserverlessConfiguration: {\n collectionEndpoint: testCollection.collectionEndpoint,\n roleArn: firehoseRole.arn,\n indexName: \"test\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_collection = aws.opensearch.ServerlessCollection(\"test_collection\", name=\"firehose-osserverless-test\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"opensearchserverless\",\n opensearchserverless_configuration={\n \"collection_endpoint\": test_collection.collection_endpoint,\n \"role_arn\": firehose_role[\"arn\"],\n \"index_name\": \"test\",\n \"s3_configuration\": {\n \"role_arn\": firehose_role[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 10,\n \"buffering_interval\": 400,\n \"compression_format\": \"GZIP\",\n },\n \"processing_configuration\": {\n \"enabled\": True,\n \"processors\": [{\n \"type\": \"Lambda\",\n \"parameters\": [{\n \"parameter_name\": \"LambdaArn\",\n \"parameter_value\": f\"{lambda_processor['arn']}:$LATEST\",\n }],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCollection = new Aws.OpenSearch.ServerlessCollection(\"test_collection\", new()\n {\n Name = \"firehose-osserverless-test\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"opensearchserverless\",\n OpensearchserverlessConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs\n {\n CollectionEndpoint = testCollection.CollectionEndpoint,\n RoleArn = firehoseRole.Arn,\n IndexName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCollection, err := opensearch.NewServerlessCollection(ctx, \"test_collection\", \u0026opensearch.ServerlessCollectionArgs{\n\t\t\tName: pulumi.String(\"firehose-osserverless-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"opensearchserverless\"),\n\t\t\tOpensearchserverlessConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs{\n\t\t\t\tCollectionEndpoint: testCollection.CollectionEndpoint,\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.ServerlessCollection;\nimport com.pulumi.aws.opensearch.ServerlessCollectionArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCollection = new ServerlessCollection(\"testCollection\", ServerlessCollectionArgs.builder()\n .name(\"firehose-osserverless-test\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"opensearchserverless\")\n .opensearchserverlessConfiguration(FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs.builder()\n .collectionEndpoint(testCollection.collectionEndpoint())\n .roleArn(firehoseRole.arn())\n .indexName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .processingConfiguration(FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCollection:\n type: aws:opensearch:ServerlessCollection\n name: test_collection\n properties:\n name: firehose-osserverless-test\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: opensearchserverless\n opensearchserverlessConfiguration:\n collectionEndpoint: ${testCollection.collectionEndpoint}\n roleArn: ${firehoseRole.arn}\n indexName: test\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Iceberg Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst currentGetRegion = aws.getRegion({});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {\n bucket: \"test-bucket\",\n forceDestroy: true,\n});\nconst test = new aws.glue.CatalogDatabase(\"test\", {name: \"test\"});\nconst testCatalogTable = new aws.glue.CatalogTable(\"test\", {\n name: \"test\",\n databaseName: test.name,\n parameters: {\n format: \"parquet\",\n },\n tableType: \"EXTERNAL_TABLE\",\n openTableFormatInput: {\n icebergInput: {\n metadataOperation: \"CREATE\",\n version: \"2\",\n },\n },\n storageDescriptor: {\n location: pulumi.interpolate`s3://${bucket.id}`,\n columns: [{\n name: \"my_column_1\",\n type: \"int\",\n }],\n },\n});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"iceberg\",\n icebergConfiguration: {\n roleArn: firehoseRole.arn,\n catalogArn: Promise.all([currentGetPartition, currentGetRegion, current]).then(([currentGetPartition, currentGetRegion, current]) =\u003e `arn:${currentGetPartition.partition}:glue:${currentGetRegion.name}:${current.accountId}:catalog`),\n bufferingSize: 10,\n bufferingInterval: 400,\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n },\n destinationTableConfigurations: [{\n databaseName: test.name,\n tableName: testCatalogTable.name,\n }],\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\ncurrent_get_region = aws.get_region()\nbucket = aws.s3.BucketV2(\"bucket\",\n bucket=\"test-bucket\",\n force_destroy=True)\ntest = aws.glue.CatalogDatabase(\"test\", name=\"test\")\ntest_catalog_table = aws.glue.CatalogTable(\"test\",\n name=\"test\",\n database_name=test.name,\n parameters={\n \"format\": \"parquet\",\n },\n table_type=\"EXTERNAL_TABLE\",\n open_table_format_input={\n \"iceberg_input\": {\n \"metadata_operation\": \"CREATE\",\n \"version\": \"2\",\n },\n },\n storage_descriptor={\n \"location\": bucket.id.apply(lambda id: f\"s3://{id}\"),\n \"columns\": [{\n \"name\": \"my_column_1\",\n \"type\": \"int\",\n }],\n })\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"iceberg\",\n iceberg_configuration={\n \"role_arn\": firehose_role[\"arn\"],\n \"catalog_arn\": f\"arn:{current_get_partition.partition}:glue:{current_get_region.name}:{current.account_id}:catalog\",\n \"buffering_size\": 10,\n \"buffering_interval\": 400,\n \"s3_configuration\": {\n \"role_arn\": firehose_role[\"arn\"],\n \"bucket_arn\": bucket.arn,\n },\n \"destination_table_configurations\": [{\n \"database_name\": test.name,\n \"table_name\": test_catalog_table.name,\n }],\n \"processing_configuration\": {\n \"enabled\": True,\n \"processors\": [{\n \"type\": \"Lambda\",\n \"parameters\": [{\n \"parameter_name\": \"LambdaArn\",\n \"parameter_value\": f\"{lambda_processor['arn']}:$LATEST\",\n }],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"test-bucket\",\n ForceDestroy = true,\n });\n\n var test = new Aws.Glue.CatalogDatabase(\"test\", new()\n {\n Name = \"test\",\n });\n\n var testCatalogTable = new Aws.Glue.CatalogTable(\"test\", new()\n {\n Name = \"test\",\n DatabaseName = test.Name,\n Parameters = \n {\n { \"format\", \"parquet\" },\n },\n TableType = \"EXTERNAL_TABLE\",\n OpenTableFormatInput = new Aws.Glue.Inputs.CatalogTableOpenTableFormatInputArgs\n {\n IcebergInput = new Aws.Glue.Inputs.CatalogTableOpenTableFormatInputIcebergInputArgs\n {\n MetadataOperation = \"CREATE\",\n Version = \"2\",\n },\n },\n StorageDescriptor = new Aws.Glue.Inputs.CatalogTableStorageDescriptorArgs\n {\n Location = bucket.Id.Apply(id =\u003e $\"s3://{id}\"),\n Columns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_column_1\",\n Type = \"int\",\n },\n },\n },\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"iceberg\",\n IcebergConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamIcebergConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n CatalogArn = Output.Tuple(currentGetPartition, currentGetRegion, current).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var currentGetRegion = values.Item2;\n var current = values.Item3;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:glue:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:catalog\";\n }),\n BufferingSize = 10,\n BufferingInterval = 400,\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamIcebergConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n },\n DestinationTableConfigurations = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamIcebergConfigurationDestinationTableConfigurationArgs\n {\n DatabaseName = test.Name,\n TableName = testCatalogTable.Name,\n },\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"test-bucket\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := glue.NewCatalogDatabase(ctx, \"test\", \u0026glue.CatalogDatabaseArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestCatalogTable, err := glue.NewCatalogTable(ctx, \"test\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tDatabaseName: test.Name,\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"format\": pulumi.String(\"parquet\"),\n\t\t\t},\n\t\t\tTableType: pulumi.String(\"EXTERNAL_TABLE\"),\n\t\t\tOpenTableFormatInput: \u0026glue.CatalogTableOpenTableFormatInputArgs{\n\t\t\t\tIcebergInput: \u0026glue.CatalogTableOpenTableFormatInputIcebergInputArgs{\n\t\t\t\t\tMetadataOperation: pulumi.String(\"CREATE\"),\n\t\t\t\t\tVersion: pulumi.String(\"2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStorageDescriptor: \u0026glue.CatalogTableStorageDescriptorArgs{\n\t\t\t\tLocation: bucket.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"s3://%v\", id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tColumns: glue.CatalogTableStorageDescriptorColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_column_1\"),\n\t\t\t\t\t\tType: pulumi.String(\"int\"),\n\t\t\t\t\t},\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\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"iceberg\"),\n\t\t\tIcebergConfiguration: \u0026kinesis.FirehoseDeliveryStreamIcebergConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tCatalogArn: pulumi.Sprintf(\"arn:%v:glue:%v:%v:catalog\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),\n\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamIcebergConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: bucket.Arn,\n\t\t\t\t},\n\t\t\t\tDestinationTableConfigurations: kinesis.FirehoseDeliveryStreamIcebergConfigurationDestinationTableConfigurationArray{\n\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamIcebergConfigurationDestinationTableConfigurationArgs{\n\t\t\t\t\t\tDatabaseName: test.Name,\n\t\t\t\t\t\tTableName: testCatalogTable.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.glue.CatalogDatabase;\nimport com.pulumi.aws.glue.CatalogDatabaseArgs;\nimport com.pulumi.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableOpenTableFormatInputArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableOpenTableFormatInputIcebergInputArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamIcebergConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamIcebergConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"test-bucket\")\n .forceDestroy(true)\n .build());\n\n var test = new CatalogDatabase(\"test\", CatalogDatabaseArgs.builder()\n .name(\"test\")\n .build());\n\n var testCatalogTable = new CatalogTable(\"testCatalogTable\", CatalogTableArgs.builder()\n .name(\"test\")\n .databaseName(test.name())\n .parameters(Map.of(\"format\", \"parquet\"))\n .tableType(\"EXTERNAL_TABLE\")\n .openTableFormatInput(CatalogTableOpenTableFormatInputArgs.builder()\n .icebergInput(CatalogTableOpenTableFormatInputIcebergInputArgs.builder()\n .metadataOperation(\"CREATE\")\n .version(2)\n .build())\n .build())\n .storageDescriptor(CatalogTableStorageDescriptorArgs.builder()\n .location(bucket.id().applyValue(id -\u003e String.format(\"s3://%s\", id)))\n .columns(CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_column_1\")\n .type(\"int\")\n .build())\n .build())\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"iceberg\")\n .icebergConfiguration(FirehoseDeliveryStreamIcebergConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .catalogArn(String.format(\"arn:%s:glue:%s:%s:catalog\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .bufferingSize(10)\n .bufferingInterval(400)\n .s3Configuration(FirehoseDeliveryStreamIcebergConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .build())\n .destinationTableConfigurations(FirehoseDeliveryStreamIcebergConfigurationDestinationTableConfigurationArgs.builder()\n .databaseName(test.name())\n .tableName(testCatalogTable.name())\n .build())\n .processingConfiguration(FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamIcebergConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: test-bucket\n forceDestroy: true\n test:\n type: aws:glue:CatalogDatabase\n properties:\n name: test\n testCatalogTable:\n type: aws:glue:CatalogTable\n name: test\n properties:\n name: test\n databaseName: ${test.name}\n parameters:\n format: parquet\n tableType: EXTERNAL_TABLE\n openTableFormatInput:\n icebergInput:\n metadataOperation: CREATE\n version: 2\n storageDescriptor:\n location: s3://${bucket.id}\n columns:\n - name: my_column_1\n type: int\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: iceberg\n icebergConfiguration:\n roleArn: ${firehoseRole.arn}\n catalogArn: arn:${currentGetPartition.partition}:glue:${currentGetRegion.name}:${current.accountId}:catalog\n bufferingSize: 10\n bufferingInterval: 400\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n destinationTableConfigurations:\n - databaseName: ${test.name}\n tableName: ${testCatalogTable.name}\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Splunk Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"splunk\",\n splunkConfiguration: {\n hecEndpoint: \"https://http-inputs-mydomain.splunkcloud.com:443\",\n hecToken: \"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\",\n hecAcknowledgmentTimeout: 600,\n hecEndpointType: \"Event\",\n s3BackupMode: \"FailedEventsOnly\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"splunk\",\n splunk_configuration={\n \"hec_endpoint\": \"https://http-inputs-mydomain.splunkcloud.com:443\",\n \"hec_token\": \"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\",\n \"hec_acknowledgment_timeout\": 600,\n \"hec_endpoint_type\": \"Event\",\n \"s3_backup_mode\": \"FailedEventsOnly\",\n \"s3_configuration\": {\n \"role_arn\": firehose[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 10,\n \"buffering_interval\": 400,\n \"compression_format\": \"GZIP\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"splunk\",\n SplunkConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSplunkConfigurationArgs\n {\n HecEndpoint = \"https://http-inputs-mydomain.splunkcloud.com:443\",\n HecToken = \"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\",\n HecAcknowledgmentTimeout = 600,\n HecEndpointType = \"Event\",\n S3BackupMode = \"FailedEventsOnly\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"splunk\"),\n\t\t\tSplunkConfiguration: \u0026kinesis.FirehoseDeliveryStreamSplunkConfigurationArgs{\n\t\t\t\tHecEndpoint: pulumi.String(\"https://http-inputs-mydomain.splunkcloud.com:443\"),\n\t\t\t\tHecToken: pulumi.String(\"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\"),\n\t\t\t\tHecAcknowledgmentTimeout: pulumi.Int(600),\n\t\t\t\tHecEndpointType: pulumi.String(\"Event\"),\n\t\t\t\tS3BackupMode: pulumi.String(\"FailedEventsOnly\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSplunkConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"splunk\")\n .splunkConfiguration(FirehoseDeliveryStreamSplunkConfigurationArgs.builder()\n .hecEndpoint(\"https://http-inputs-mydomain.splunkcloud.com:443\")\n .hecToken(\"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\")\n .hecAcknowledgmentTimeout(600)\n .hecEndpointType(\"Event\")\n .s3BackupMode(\"FailedEventsOnly\")\n .s3Configuration(FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: splunk\n splunkConfiguration:\n hecEndpoint: https://http-inputs-mydomain.splunkcloud.com:443\n hecToken: 51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\n hecAcknowledgmentTimeout: 600\n hecEndpointType: Event\n s3BackupMode: FailedEventsOnly\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Endpoint (e.g., New Relic) Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"http_endpoint\",\n httpEndpointConfiguration: {\n url: \"https://aws-api.newrelic.com/firehose/v1\",\n name: \"New Relic\",\n accessKey: \"my-key\",\n bufferingSize: 15,\n bufferingInterval: 600,\n roleArn: firehose.arn,\n s3BackupMode: \"FailedDataOnly\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n requestConfiguration: {\n contentEncoding: \"GZIP\",\n commonAttributes: [\n {\n name: \"testname\",\n value: \"testvalue\",\n },\n {\n name: \"testname2\",\n value: \"testvalue2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"http_endpoint\",\n http_endpoint_configuration={\n \"url\": \"https://aws-api.newrelic.com/firehose/v1\",\n \"name\": \"New Relic\",\n \"access_key\": \"my-key\",\n \"buffering_size\": 15,\n \"buffering_interval\": 600,\n \"role_arn\": firehose[\"arn\"],\n \"s3_backup_mode\": \"FailedDataOnly\",\n \"s3_configuration\": {\n \"role_arn\": firehose[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 10,\n \"buffering_interval\": 400,\n \"compression_format\": \"GZIP\",\n },\n \"request_configuration\": {\n \"content_encoding\": \"GZIP\",\n \"common_attributes\": [\n {\n \"name\": \"testname\",\n \"value\": \"testvalue\",\n },\n {\n \"name\": \"testname2\",\n \"value\": \"testvalue2\",\n },\n ],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"http_endpoint\",\n HttpEndpointConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationArgs\n {\n Url = \"https://aws-api.newrelic.com/firehose/v1\",\n Name = \"New Relic\",\n AccessKey = \"my-key\",\n BufferingSize = 15,\n BufferingInterval = 600,\n RoleArn = firehose.Arn,\n S3BackupMode = \"FailedDataOnly\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n RequestConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs\n {\n ContentEncoding = \"GZIP\",\n CommonAttributes = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs\n {\n Name = \"testname\",\n Value = \"testvalue\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs\n {\n Name = \"testname2\",\n Value = \"testvalue2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"http_endpoint\"),\n\t\t\tHttpEndpointConfiguration: \u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationArgs{\n\t\t\t\tUrl: pulumi.String(\"https://aws-api.newrelic.com/firehose/v1\"),\n\t\t\t\tName: pulumi.String(\"New Relic\"),\n\t\t\t\tAccessKey: pulumi.String(\"my-key\"),\n\t\t\t\tBufferingSize: pulumi.Int(15),\n\t\t\t\tBufferingInterval: pulumi.Int(600),\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tS3BackupMode: pulumi.String(\"FailedDataOnly\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tRequestConfiguration: \u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs{\n\t\t\t\t\tContentEncoding: pulumi.String(\"GZIP\"),\n\t\t\t\t\tCommonAttributes: kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"testname\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"testvalue\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"testname2\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"testvalue2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamHttpEndpointConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"http_endpoint\")\n .httpEndpointConfiguration(FirehoseDeliveryStreamHttpEndpointConfigurationArgs.builder()\n .url(\"https://aws-api.newrelic.com/firehose/v1\")\n .name(\"New Relic\")\n .accessKey(\"my-key\")\n .bufferingSize(15)\n .bufferingInterval(600)\n .roleArn(firehose.arn())\n .s3BackupMode(\"FailedDataOnly\")\n .s3Configuration(FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .requestConfiguration(FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs.builder()\n .contentEncoding(\"GZIP\")\n .commonAttributes( \n FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs.builder()\n .name(\"testname\")\n .value(\"testvalue\")\n .build(),\n FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs.builder()\n .name(\"testname2\")\n .value(\"testvalue2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: http_endpoint\n httpEndpointConfiguration:\n url: https://aws-api.newrelic.com/firehose/v1\n name: New Relic\n accessKey: my-key\n bufferingSize: 15\n bufferingInterval: 600\n roleArn: ${firehose.arn}\n s3BackupMode: FailedDataOnly\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n requestConfiguration:\n contentEncoding: GZIP\n commonAttributes:\n - name: testname\n value: testvalue\n - name: testname2\n value: testvalue2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Snowflake Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleSnowflakeDestination = new aws.kinesis.FirehoseDeliveryStream(\"example_snowflake_destination\", {\n name: \"example-snowflake-destination\",\n destination: \"snowflake\",\n snowflakeConfiguration: {\n accountUrl: \"https://example.snowflakecomputing.com\",\n bufferingSize: 15,\n bufferingInterval: 600,\n database: \"example-db\",\n privateKey: \"...\",\n roleArn: firehose.arn,\n schema: \"example-schema\",\n table: \"example-table\",\n user: \"example-usr\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_snowflake_destination = aws.kinesis.FirehoseDeliveryStream(\"example_snowflake_destination\",\n name=\"example-snowflake-destination\",\n destination=\"snowflake\",\n snowflake_configuration={\n \"account_url\": \"https://example.snowflakecomputing.com\",\n \"buffering_size\": 15,\n \"buffering_interval\": 600,\n \"database\": \"example-db\",\n \"private_key\": \"...\",\n \"role_arn\": firehose[\"arn\"],\n \"schema\": \"example-schema\",\n \"table\": \"example-table\",\n \"user\": \"example-usr\",\n \"s3_configuration\": {\n \"role_arn\": firehose[\"arn\"],\n \"bucket_arn\": bucket[\"arn\"],\n \"buffering_size\": 10,\n \"buffering_interval\": 400,\n \"compression_format\": \"GZIP\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleSnowflakeDestination = new Aws.Kinesis.FirehoseDeliveryStream(\"example_snowflake_destination\", new()\n {\n Name = \"example-snowflake-destination\",\n Destination = \"snowflake\",\n SnowflakeConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSnowflakeConfigurationArgs\n {\n AccountUrl = \"https://example.snowflakecomputing.com\",\n BufferingSize = 15,\n BufferingInterval = 600,\n Database = \"example-db\",\n PrivateKey = \"...\",\n RoleArn = firehose.Arn,\n Schema = \"example-schema\",\n Table = \"example-table\",\n User = \"example-usr\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"example_snowflake_destination\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"example-snowflake-destination\"),\n\t\t\tDestination: pulumi.String(\"snowflake\"),\n\t\t\tSnowflakeConfiguration: \u0026kinesis.FirehoseDeliveryStreamSnowflakeConfigurationArgs{\n\t\t\t\tAccountUrl: pulumi.String(\"https://example.snowflakecomputing.com\"),\n\t\t\t\tBufferingSize: pulumi.Int(15),\n\t\t\t\tBufferingInterval: pulumi.Int(600),\n\t\t\t\tDatabase: pulumi.String(\"example-db\"),\n\t\t\t\tPrivateKey: pulumi.String(\"...\"),\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tSchema: pulumi.String(\"example-schema\"),\n\t\t\t\tTable: pulumi.String(\"example-table\"),\n\t\t\t\tUser: pulumi.String(\"example-usr\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleSnowflakeDestination = new FirehoseDeliveryStream(\"exampleSnowflakeDestination\", FirehoseDeliveryStreamArgs.builder()\n .name(\"example-snowflake-destination\")\n .destination(\"snowflake\")\n .snowflakeConfiguration(FirehoseDeliveryStreamSnowflakeConfigurationArgs.builder()\n .accountUrl(\"https://example.snowflakecomputing.com\")\n .bufferingSize(15)\n .bufferingInterval(600)\n .database(\"example-db\")\n .privateKey(\"...\")\n .roleArn(firehose.arn())\n .schema(\"example-schema\")\n .table(\"example-table\")\n .user(\"example-usr\")\n .s3Configuration(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleSnowflakeDestination:\n type: aws:kinesis:FirehoseDeliveryStream\n name: example_snowflake_destination\n properties:\n name: example-snowflake-destination\n destination: snowflake\n snowflakeConfiguration:\n accountUrl: https://example.snowflakecomputing.com\n bufferingSize: 15\n bufferingInterval: 600\n database: example-db\n privateKey: '...'\n roleArn: ${firehose.arn}\n schema: example-schema\n table: example-table\n user: example-usr\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kinesis Firehose Delivery streams using the stream ARN. For example:\n\n```sh\n$ pulumi import aws:kinesis/firehoseDeliveryStream:FirehoseDeliveryStream foo arn:aws:firehose:us-east-1:XXX:deliverystream/example\n```\nNote: Import does not work for stream destination `s3`. Consider using `extended_s3` since `s3` destination is deprecated.\n\n", "properties": { "arn": { "type": "string", @@ -290896,7 +290896,7 @@ } }, "aws:kms/customKeyStore:CustomKeyStore": { - "description": "Resource for managing an AWS KMS (Key Management) Custom Key Store.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst test = new aws.kms.CustomKeyStore(\"test\", {\n cloudHsmClusterId: cloudHsmClusterId,\n customKeyStoreName: \"kms-custom-key-store-test\",\n keyStorePassword: \"noplaintextpasswords1\",\n trustAnchorCertificate: std.file({\n input: \"anchor-certificate.crt\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest = aws.kms.CustomKeyStore(\"test\",\n cloud_hsm_cluster_id=cloud_hsm_cluster_id,\n custom_key_store_name=\"kms-custom-key-store-test\",\n key_store_password=\"noplaintextpasswords1\",\n trust_anchor_certificate=std.file(input=\"anchor-certificate.crt\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Kms.CustomKeyStore(\"test\", new()\n {\n CloudHsmClusterId = cloudHsmClusterId,\n CustomKeyStoreName = \"kms-custom-key-store-test\",\n KeyStorePassword = \"noplaintextpasswords1\",\n TrustAnchorCertificate = Std.File.Invoke(new()\n {\n Input = \"anchor-certificate.crt\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"anchor-certificate.crt\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewCustomKeyStore(ctx, \"test\", \u0026kms.CustomKeyStoreArgs{\n\t\t\tCloudHsmClusterId: pulumi.Any(cloudHsmClusterId),\n\t\t\tCustomKeyStoreName: pulumi.String(\"kms-custom-key-store-test\"),\n\t\t\tKeyStorePassword: pulumi.String(\"noplaintextpasswords1\"),\n\t\t\tTrustAnchorCertificate: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.CustomKeyStore;\nimport com.pulumi.aws.kms.CustomKeyStoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new CustomKeyStore(\"test\", CustomKeyStoreArgs.builder()\n .cloudHsmClusterId(cloudHsmClusterId)\n .customKeyStoreName(\"kms-custom-key-store-test\")\n .keyStorePassword(\"noplaintextpasswords1\")\n .trustAnchorCertificate(StdFunctions.file(FileArgs.builder()\n .input(\"anchor-certificate.crt\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:kms:CustomKeyStore\n properties:\n cloudHsmClusterId: ${cloudHsmClusterId}\n customKeyStoreName: kms-custom-key-store-test\n keyStorePassword: noplaintextpasswords1\n trustAnchorCertificate:\n fn::invoke:\n function: std:file\n arguments:\n input: anchor-certificate.crt\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import KMS (Key Management) Custom Key Store using the `id`. For example:\n\n```sh\n$ pulumi import aws:kms/customKeyStore:CustomKeyStore example cks-5ebd4ef395a96288e\n```\n", + "description": "Resource for managing an AWS KMS (Key Management) Custom Key Store.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst test = new aws.kms.CustomKeyStore(\"test\", {\n cloudHsmClusterId: cloudHsmClusterId,\n customKeyStoreName: \"kms-custom-key-store-test\",\n keyStorePassword: \"noplaintextpasswords1\",\n trustAnchorCertificate: std.file({\n input: \"anchor-certificate.crt\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest = aws.kms.CustomKeyStore(\"test\",\n cloud_hsm_cluster_id=cloud_hsm_cluster_id,\n custom_key_store_name=\"kms-custom-key-store-test\",\n key_store_password=\"noplaintextpasswords1\",\n trust_anchor_certificate=std.file(input=\"anchor-certificate.crt\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Kms.CustomKeyStore(\"test\", new()\n {\n CloudHsmClusterId = cloudHsmClusterId,\n CustomKeyStoreName = \"kms-custom-key-store-test\",\n KeyStorePassword = \"noplaintextpasswords1\",\n TrustAnchorCertificate = Std.File.Invoke(new()\n {\n Input = \"anchor-certificate.crt\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"anchor-certificate.crt\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewCustomKeyStore(ctx, \"test\", \u0026kms.CustomKeyStoreArgs{\n\t\t\tCloudHsmClusterId: pulumi.Any(cloudHsmClusterId),\n\t\t\tCustomKeyStoreName: pulumi.String(\"kms-custom-key-store-test\"),\n\t\t\tKeyStorePassword: pulumi.String(\"noplaintextpasswords1\"),\n\t\t\tTrustAnchorCertificate: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.CustomKeyStore;\nimport com.pulumi.aws.kms.CustomKeyStoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new CustomKeyStore(\"test\", CustomKeyStoreArgs.builder()\n .cloudHsmClusterId(cloudHsmClusterId)\n .customKeyStoreName(\"kms-custom-key-store-test\")\n .keyStorePassword(\"noplaintextpasswords1\")\n .trustAnchorCertificate(StdFunctions.file(FileArgs.builder()\n .input(\"anchor-certificate.crt\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:kms:CustomKeyStore\n properties:\n cloudHsmClusterId: ${cloudHsmClusterId}\n customKeyStoreName: kms-custom-key-store-test\n keyStorePassword: noplaintextpasswords1\n trustAnchorCertificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: anchor-certificate.crt\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import KMS (Key Management) Custom Key Store using the `id`. For example:\n\n```sh\n$ pulumi import aws:kms/customKeyStore:CustomKeyStore example cks-5ebd4ef395a96288e\n```\n", "properties": { "cloudHsmClusterId": { "type": "string", @@ -291351,7 +291351,7 @@ } }, "aws:kms/key:Key": { - "description": "Manages a single-Region or multi-Region primary KMS key.\n\n\u003e **NOTE on KMS Key Policy:** KMS Key Policy can be configured in either the standalone resource `aws.kms.KeyPolicy`\nor with the parameter `policy` in this resource.\nConfiguring with both will cause inconsistencies and may overwrite configuration.\n\n## Example Usage\n\n### Symmetric Encryption KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n description: \"An example symmetric encryption KMS key\",\n enableKeyRotation: true,\n deletionWindowInDays: 20,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Id: \"key-default-1\",\n Statement: [\n {\n Sid: \"Enable IAM User Permissions\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Action: \"kms:*\",\n Resource: \"*\",\n },\n {\n Sid: \"Allow administration of the key\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:user/Alice`),\n },\n Action: [\n \"kms:ReplicateKey\",\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n ],\n Resource: \"*\",\n },\n {\n Sid: \"Allow use of the key\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:user/Bob`),\n },\n Action: [\n \"kms:DescribeKey\",\n \"kms:Encrypt\",\n \"kms:Decrypt\",\n \"kms:ReEncrypt*\",\n \"kms:GenerateDataKey\",\n \"kms:GenerateDataKeyWithoutPlaintext\",\n ],\n Resource: \"*\",\n },\n ],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n description=\"An example symmetric encryption KMS key\",\n enable_key_rotation=True,\n deletion_window_in_days=20,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Id\": \"key-default-1\",\n \"Statement\": [\n {\n \"Sid\": \"Enable IAM User Permissions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Action\": \"kms:*\",\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow administration of the key\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:user/Alice\",\n },\n \"Action\": [\n \"kms:ReplicateKey\",\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n ],\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow use of the key\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:user/Bob\",\n },\n \"Action\": [\n \"kms:DescribeKey\",\n \"kms:Encrypt\",\n \"kms:Decrypt\",\n \"kms:ReEncrypt*\",\n \"kms:GenerateDataKey\",\n \"kms:GenerateDataKeyWithoutPlaintext\",\n ],\n \"Resource\": \"*\",\n },\n ],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"An example symmetric encryption KMS key\",\n EnableKeyRotation = true,\n DeletionWindowInDays = 20,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Id\"] = \"key-default-1\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Enable IAM User Permissions\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Action\"] = \"kms:*\",\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow administration of the key\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:user/Alice\",\n },\n [\"Action\"] = new[]\n {\n \"kms:ReplicateKey\",\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n },\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow use of the key\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:user/Bob\",\n },\n [\"Action\"] = new[]\n {\n \"kms:DescribeKey\",\n \"kms:Encrypt\",\n \"kms:Decrypt\",\n \"kms:ReEncrypt*\",\n \"kms:GenerateDataKey\",\n \"kms:GenerateDataKeyWithoutPlaintext\",\n },\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Id\": \"key-default-1\",\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow administration of the key\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:user/Alice\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:ReplicateKey\",\n\t\t\t\t\t\t\"kms:Create*\",\n\t\t\t\t\t\t\"kms:Describe*\",\n\t\t\t\t\t\t\"kms:Enable*\",\n\t\t\t\t\t\t\"kms:List*\",\n\t\t\t\t\t\t\"kms:Put*\",\n\t\t\t\t\t\t\"kms:Update*\",\n\t\t\t\t\t\t\"kms:Revoke*\",\n\t\t\t\t\t\t\"kms:Disable*\",\n\t\t\t\t\t\t\"kms:Get*\",\n\t\t\t\t\t\t\"kms:Delete*\",\n\t\t\t\t\t\t\"kms:ScheduleKeyDeletion\",\n\t\t\t\t\t\t\"kms:CancelKeyDeletion\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow use of the key\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:user/Bob\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t\t\"kms:Encrypt\",\n\t\t\t\t\t\t\"kms:Decrypt\",\n\t\t\t\t\t\t\"kms:ReEncrypt*\",\n\t\t\t\t\t\t\"kms:GenerateDataKey\",\n\t\t\t\t\t\t\"kms:GenerateDataKeyWithoutPlaintext\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"An example symmetric encryption KMS key\"),\n\t\t\tEnableKeyRotation: pulumi.Bool(true),\n\t\t\tDeletionWindowInDays: pulumi.Int(20),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"An example symmetric encryption KMS key\")\n .enableKeyRotation(true)\n .deletionWindowInDays(20)\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Id\", \"key-default-1\"),\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow administration of the key\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:user/Alice\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kms:ReplicateKey\", \n \"kms:Create*\", \n \"kms:Describe*\", \n \"kms:Enable*\", \n \"kms:List*\", \n \"kms:Put*\", \n \"kms:Update*\", \n \"kms:Revoke*\", \n \"kms:Disable*\", \n \"kms:Get*\", \n \"kms:Delete*\", \n \"kms:ScheduleKeyDeletion\", \n \"kms:CancelKeyDeletion\"\n )),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow use of the key\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:user/Bob\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kms:DescribeKey\", \n \"kms:Encrypt\", \n \"kms:Decrypt\", \n \"kms:ReEncrypt*\", \n \"kms:GenerateDataKey\", \n \"kms:GenerateDataKeyWithoutPlaintext\"\n )),\n jsonProperty(\"Resource\", \"*\")\n )\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: An example symmetric encryption KMS key\n enableKeyRotation: true\n deletionWindowInDays: 20\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Id: key-default-1\n Statement:\n - Sid: Enable IAM User Permissions\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Action: kms:*\n Resource: '*'\n - Sid: Allow administration of the key\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:user/Alice\n Action:\n - kms:ReplicateKey\n - kms:Create*\n - kms:Describe*\n - kms:Enable*\n - kms:List*\n - kms:Put*\n - kms:Update*\n - kms:Revoke*\n - kms:Disable*\n - kms:Get*\n - kms:Delete*\n - kms:ScheduleKeyDeletion\n - kms:CancelKeyDeletion\n Resource: '*'\n - Sid: Allow use of the key\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:user/Bob\n Action:\n - kms:DescribeKey\n - kms:Encrypt\n - kms:Decrypt\n - kms:ReEncrypt*\n - kms:GenerateDataKey\n - kms:GenerateDataKeyWithoutPlaintext\n Resource: '*'\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Symmetric Encryption KMS Key With Standalone Policy Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n description: \"An example symmetric encryption KMS key\",\n enableKeyRotation: true,\n deletionWindowInDays: 20,\n});\nconst exampleKeyPolicy = new aws.kms.KeyPolicy(\"example\", {\n keyId: example.id,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Id: \"key-default-1\",\n Statement: [{\n Sid: \"Enable IAM User Permissions\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Action: \"kms:*\",\n Resource: \"*\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n description=\"An example symmetric encryption KMS key\",\n enable_key_rotation=True,\n deletion_window_in_days=20)\nexample_key_policy = aws.kms.KeyPolicy(\"example\",\n key_id=example.id,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Id\": \"key-default-1\",\n \"Statement\": [{\n \"Sid\": \"Enable IAM User Permissions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Action\": \"kms:*\",\n \"Resource\": \"*\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"An example symmetric encryption KMS key\",\n EnableKeyRotation = true,\n DeletionWindowInDays = 20,\n });\n\n var exampleKeyPolicy = new Aws.Kms.KeyPolicy(\"example\", new()\n {\n KeyId = example.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Id\"] = \"key-default-1\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Enable IAM User Permissions\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Action\"] = \"kms:*\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"An example symmetric encryption KMS key\"),\n\t\t\tEnableKeyRotation: pulumi.Bool(true),\n\t\t\tDeletionWindowInDays: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Id\": \"key-default-1\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = kms.NewKeyPolicy(ctx, \"example\", \u0026kms.KeyPolicyArgs{\n\t\t\tKeyId: example.ID(),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.kms.KeyPolicy;\nimport com.pulumi.aws.kms.KeyPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"An example symmetric encryption KMS key\")\n .enableKeyRotation(true)\n .deletionWindowInDays(20)\n .build());\n\n var exampleKeyPolicy = new KeyPolicy(\"exampleKeyPolicy\", KeyPolicyArgs.builder()\n .keyId(example.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Id\", \"key-default-1\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: An example symmetric encryption KMS key\n enableKeyRotation: true\n deletionWindowInDays: 20\n exampleKeyPolicy:\n type: aws:kms:KeyPolicy\n name: example\n properties:\n keyId: ${example.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Id: key-default-1\n Statement:\n - Sid: Enable IAM User Permissions\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Action: kms:*\n Resource: '*'\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Asymmetric KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n description: \"RSA-3072 asymmetric KMS key for signing and verification\",\n customerMasterKeySpec: \"RSA_3072\",\n keyUsage: \"SIGN_VERIFY\",\n enableKeyRotation: false,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Id: \"key-default-1\",\n Statement: [\n {\n Sid: \"Enable IAM User Permissions\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Action: \"kms:*\",\n Resource: \"*\",\n },\n {\n Sid: \"Allow administration of the key\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:role/Admin`),\n },\n Action: [\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n ],\n Resource: \"*\",\n },\n {\n Sid: \"Allow use of the key\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:role/Developer`),\n },\n Action: [\n \"kms:Sign\",\n \"kms:Verify\",\n \"kms:DescribeKey\",\n ],\n Resource: \"*\",\n },\n ],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n description=\"RSA-3072 asymmetric KMS key for signing and verification\",\n customer_master_key_spec=\"RSA_3072\",\n key_usage=\"SIGN_VERIFY\",\n enable_key_rotation=False,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Id\": \"key-default-1\",\n \"Statement\": [\n {\n \"Sid\": \"Enable IAM User Permissions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Action\": \"kms:*\",\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow administration of the key\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:role/Admin\",\n },\n \"Action\": [\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n ],\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow use of the key\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:role/Developer\",\n },\n \"Action\": [\n \"kms:Sign\",\n \"kms:Verify\",\n \"kms:DescribeKey\",\n ],\n \"Resource\": \"*\",\n },\n ],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"RSA-3072 asymmetric KMS key for signing and verification\",\n CustomerMasterKeySpec = \"RSA_3072\",\n KeyUsage = \"SIGN_VERIFY\",\n EnableKeyRotation = false,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Id\"] = \"key-default-1\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Enable IAM User Permissions\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Action\"] = \"kms:*\",\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow administration of the key\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:role/Admin\",\n },\n [\"Action\"] = new[]\n {\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n },\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow use of the key\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:role/Developer\",\n },\n [\"Action\"] = new[]\n {\n \"kms:Sign\",\n \"kms:Verify\",\n \"kms:DescribeKey\",\n },\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Id\": \"key-default-1\",\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow administration of the key\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:role/Admin\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:Create*\",\n\t\t\t\t\t\t\"kms:Describe*\",\n\t\t\t\t\t\t\"kms:Enable*\",\n\t\t\t\t\t\t\"kms:List*\",\n\t\t\t\t\t\t\"kms:Put*\",\n\t\t\t\t\t\t\"kms:Update*\",\n\t\t\t\t\t\t\"kms:Revoke*\",\n\t\t\t\t\t\t\"kms:Disable*\",\n\t\t\t\t\t\t\"kms:Get*\",\n\t\t\t\t\t\t\"kms:Delete*\",\n\t\t\t\t\t\t\"kms:ScheduleKeyDeletion\",\n\t\t\t\t\t\t\"kms:CancelKeyDeletion\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow use of the key\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:role/Developer\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:Sign\",\n\t\t\t\t\t\t\"kms:Verify\",\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"RSA-3072 asymmetric KMS key for signing and verification\"),\n\t\t\tCustomerMasterKeySpec: pulumi.String(\"RSA_3072\"),\n\t\t\tKeyUsage: pulumi.String(\"SIGN_VERIFY\"),\n\t\t\tEnableKeyRotation: pulumi.Bool(false),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"RSA-3072 asymmetric KMS key for signing and verification\")\n .customerMasterKeySpec(\"RSA_3072\")\n .keyUsage(\"SIGN_VERIFY\")\n .enableKeyRotation(false)\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Id\", \"key-default-1\"),\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow administration of the key\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:role/Admin\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kms:Create*\", \n \"kms:Describe*\", \n \"kms:Enable*\", \n \"kms:List*\", \n \"kms:Put*\", \n \"kms:Update*\", \n \"kms:Revoke*\", \n \"kms:Disable*\", \n \"kms:Get*\", \n \"kms:Delete*\", \n \"kms:ScheduleKeyDeletion\", \n \"kms:CancelKeyDeletion\"\n )),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow use of the key\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:role/Developer\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kms:Sign\", \n \"kms:Verify\", \n \"kms:DescribeKey\"\n )),\n jsonProperty(\"Resource\", \"*\")\n )\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: RSA-3072 asymmetric KMS key for signing and verification\n customerMasterKeySpec: RSA_3072\n keyUsage: SIGN_VERIFY\n enableKeyRotation: false\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Id: key-default-1\n Statement:\n - Sid: Enable IAM User Permissions\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Action: kms:*\n Resource: '*'\n - Sid: Allow administration of the key\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:role/Admin\n Action:\n - kms:Create*\n - kms:Describe*\n - kms:Enable*\n - kms:List*\n - kms:Put*\n - kms:Update*\n - kms:Revoke*\n - kms:Disable*\n - kms:Get*\n - kms:Delete*\n - kms:ScheduleKeyDeletion\n - kms:CancelKeyDeletion\n Resource: '*'\n - Sid: Allow use of the key\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:role/Developer\n Action:\n - kms:Sign\n - kms:Verify\n - kms:DescribeKey\n Resource: '*'\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HMAC KMS key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n description: \"HMAC_384 key for tokens\",\n customerMasterKeySpec: \"HMAC_384\",\n keyUsage: \"GENERATE_VERIFY_MAC\",\n enableKeyRotation: false,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Id: \"key-default-1\",\n Statement: [\n {\n Sid: \"Enable IAM User Permissions\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Action: \"kms:*\",\n Resource: \"*\",\n },\n {\n Sid: \"Allow administration of the key\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:role/Admin`),\n },\n Action: [\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n ],\n Resource: \"*\",\n },\n {\n Sid: \"Allow use of the key\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:role/Developer`),\n },\n Action: [\n \"kms:GenerateMac\",\n \"kms:VerifyMac\",\n \"kms:DescribeKey\",\n ],\n Resource: \"*\",\n },\n ],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n description=\"HMAC_384 key for tokens\",\n customer_master_key_spec=\"HMAC_384\",\n key_usage=\"GENERATE_VERIFY_MAC\",\n enable_key_rotation=False,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Id\": \"key-default-1\",\n \"Statement\": [\n {\n \"Sid\": \"Enable IAM User Permissions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Action\": \"kms:*\",\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow administration of the key\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:role/Admin\",\n },\n \"Action\": [\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n ],\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow use of the key\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:role/Developer\",\n },\n \"Action\": [\n \"kms:GenerateMac\",\n \"kms:VerifyMac\",\n \"kms:DescribeKey\",\n ],\n \"Resource\": \"*\",\n },\n ],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"HMAC_384 key for tokens\",\n CustomerMasterKeySpec = \"HMAC_384\",\n KeyUsage = \"GENERATE_VERIFY_MAC\",\n EnableKeyRotation = false,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Id\"] = \"key-default-1\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Enable IAM User Permissions\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Action\"] = \"kms:*\",\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow administration of the key\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:role/Admin\",\n },\n [\"Action\"] = new[]\n {\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n },\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow use of the key\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:role/Developer\",\n },\n [\"Action\"] = new[]\n {\n \"kms:GenerateMac\",\n \"kms:VerifyMac\",\n \"kms:DescribeKey\",\n },\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Id\": \"key-default-1\",\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow administration of the key\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:role/Admin\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:Create*\",\n\t\t\t\t\t\t\"kms:Describe*\",\n\t\t\t\t\t\t\"kms:Enable*\",\n\t\t\t\t\t\t\"kms:List*\",\n\t\t\t\t\t\t\"kms:Put*\",\n\t\t\t\t\t\t\"kms:Update*\",\n\t\t\t\t\t\t\"kms:Revoke*\",\n\t\t\t\t\t\t\"kms:Disable*\",\n\t\t\t\t\t\t\"kms:Get*\",\n\t\t\t\t\t\t\"kms:Delete*\",\n\t\t\t\t\t\t\"kms:ScheduleKeyDeletion\",\n\t\t\t\t\t\t\"kms:CancelKeyDeletion\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow use of the key\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:role/Developer\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:GenerateMac\",\n\t\t\t\t\t\t\"kms:VerifyMac\",\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"HMAC_384 key for tokens\"),\n\t\t\tCustomerMasterKeySpec: pulumi.String(\"HMAC_384\"),\n\t\t\tKeyUsage: pulumi.String(\"GENERATE_VERIFY_MAC\"),\n\t\t\tEnableKeyRotation: pulumi.Bool(false),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"HMAC_384 key for tokens\")\n .customerMasterKeySpec(\"HMAC_384\")\n .keyUsage(\"GENERATE_VERIFY_MAC\")\n .enableKeyRotation(false)\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Id\", \"key-default-1\"),\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow administration of the key\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:role/Admin\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kms:Create*\", \n \"kms:Describe*\", \n \"kms:Enable*\", \n \"kms:List*\", \n \"kms:Put*\", \n \"kms:Update*\", \n \"kms:Revoke*\", \n \"kms:Disable*\", \n \"kms:Get*\", \n \"kms:Delete*\", \n \"kms:ScheduleKeyDeletion\", \n \"kms:CancelKeyDeletion\"\n )),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow use of the key\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:role/Developer\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kms:GenerateMac\", \n \"kms:VerifyMac\", \n \"kms:DescribeKey\"\n )),\n jsonProperty(\"Resource\", \"*\")\n )\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: HMAC_384 key for tokens\n customerMasterKeySpec: HMAC_384\n keyUsage: GENERATE_VERIFY_MAC\n enableKeyRotation: false\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Id: key-default-1\n Statement:\n - Sid: Enable IAM User Permissions\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Action: kms:*\n Resource: '*'\n - Sid: Allow administration of the key\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:role/Admin\n Action:\n - kms:Create*\n - kms:Describe*\n - kms:Enable*\n - kms:List*\n - kms:Put*\n - kms:Update*\n - kms:Revoke*\n - kms:Disable*\n - kms:Get*\n - kms:Delete*\n - kms:ScheduleKeyDeletion\n - kms:CancelKeyDeletion\n Resource: '*'\n - Sid: Allow use of the key\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:role/Developer\n Action:\n - kms:GenerateMac\n - kms:VerifyMac\n - kms:DescribeKey\n Resource: '*'\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multi-Region Primary Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n description: \"An example multi-Region primary key\",\n multiRegion: true,\n enableKeyRotation: true,\n deletionWindowInDays: 10,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Id: \"key-default-1\",\n Statement: [\n {\n Sid: \"Enable IAM User Permissions\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Action: \"kms:*\",\n Resource: \"*\",\n },\n {\n Sid: \"Allow administration of the key\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:user/Alice`),\n },\n Action: [\n \"kms:ReplicateKey\",\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n ],\n Resource: \"*\",\n },\n {\n Sid: \"Allow use of the key\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:user/Bob`),\n },\n Action: [\n \"kms:DescribeKey\",\n \"kms:Encrypt\",\n \"kms:Decrypt\",\n \"kms:ReEncrypt*\",\n \"kms:GenerateDataKey\",\n \"kms:GenerateDataKeyWithoutPlaintext\",\n ],\n Resource: \"*\",\n },\n ],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n description=\"An example multi-Region primary key\",\n multi_region=True,\n enable_key_rotation=True,\n deletion_window_in_days=10,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Id\": \"key-default-1\",\n \"Statement\": [\n {\n \"Sid\": \"Enable IAM User Permissions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Action\": \"kms:*\",\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow administration of the key\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:user/Alice\",\n },\n \"Action\": [\n \"kms:ReplicateKey\",\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n ],\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow use of the key\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:user/Bob\",\n },\n \"Action\": [\n \"kms:DescribeKey\",\n \"kms:Encrypt\",\n \"kms:Decrypt\",\n \"kms:ReEncrypt*\",\n \"kms:GenerateDataKey\",\n \"kms:GenerateDataKeyWithoutPlaintext\",\n ],\n \"Resource\": \"*\",\n },\n ],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"An example multi-Region primary key\",\n MultiRegion = true,\n EnableKeyRotation = true,\n DeletionWindowInDays = 10,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Id\"] = \"key-default-1\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Enable IAM User Permissions\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Action\"] = \"kms:*\",\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow administration of the key\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:user/Alice\",\n },\n [\"Action\"] = new[]\n {\n \"kms:ReplicateKey\",\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n },\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow use of the key\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:user/Bob\",\n },\n [\"Action\"] = new[]\n {\n \"kms:DescribeKey\",\n \"kms:Encrypt\",\n \"kms:Decrypt\",\n \"kms:ReEncrypt*\",\n \"kms:GenerateDataKey\",\n \"kms:GenerateDataKeyWithoutPlaintext\",\n },\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Id\": \"key-default-1\",\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow administration of the key\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:user/Alice\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:ReplicateKey\",\n\t\t\t\t\t\t\"kms:Create*\",\n\t\t\t\t\t\t\"kms:Describe*\",\n\t\t\t\t\t\t\"kms:Enable*\",\n\t\t\t\t\t\t\"kms:List*\",\n\t\t\t\t\t\t\"kms:Put*\",\n\t\t\t\t\t\t\"kms:Update*\",\n\t\t\t\t\t\t\"kms:Revoke*\",\n\t\t\t\t\t\t\"kms:Disable*\",\n\t\t\t\t\t\t\"kms:Get*\",\n\t\t\t\t\t\t\"kms:Delete*\",\n\t\t\t\t\t\t\"kms:ScheduleKeyDeletion\",\n\t\t\t\t\t\t\"kms:CancelKeyDeletion\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow use of the key\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:user/Bob\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t\t\"kms:Encrypt\",\n\t\t\t\t\t\t\"kms:Decrypt\",\n\t\t\t\t\t\t\"kms:ReEncrypt*\",\n\t\t\t\t\t\t\"kms:GenerateDataKey\",\n\t\t\t\t\t\t\"kms:GenerateDataKeyWithoutPlaintext\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"An example multi-Region primary key\"),\n\t\t\tMultiRegion: pulumi.Bool(true),\n\t\t\tEnableKeyRotation: pulumi.Bool(true),\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"An example multi-Region primary key\")\n .multiRegion(true)\n .enableKeyRotation(true)\n .deletionWindowInDays(10)\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Id\", \"key-default-1\"),\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow administration of the key\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:user/Alice\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kms:ReplicateKey\", \n \"kms:Create*\", \n \"kms:Describe*\", \n \"kms:Enable*\", \n \"kms:List*\", \n \"kms:Put*\", \n \"kms:Update*\", \n \"kms:Revoke*\", \n \"kms:Disable*\", \n \"kms:Get*\", \n \"kms:Delete*\", \n \"kms:ScheduleKeyDeletion\", \n \"kms:CancelKeyDeletion\"\n )),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow use of the key\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:user/Bob\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kms:DescribeKey\", \n \"kms:Encrypt\", \n \"kms:Decrypt\", \n \"kms:ReEncrypt*\", \n \"kms:GenerateDataKey\", \n \"kms:GenerateDataKeyWithoutPlaintext\"\n )),\n jsonProperty(\"Resource\", \"*\")\n )\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: An example multi-Region primary key\n multiRegion: true\n enableKeyRotation: true\n deletionWindowInDays: 10\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Id: key-default-1\n Statement:\n - Sid: Enable IAM User Permissions\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Action: kms:*\n Resource: '*'\n - Sid: Allow administration of the key\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:user/Alice\n Action:\n - kms:ReplicateKey\n - kms:Create*\n - kms:Describe*\n - kms:Enable*\n - kms:List*\n - kms:Put*\n - kms:Update*\n - kms:Revoke*\n - kms:Disable*\n - kms:Get*\n - kms:Delete*\n - kms:ScheduleKeyDeletion\n - kms:CancelKeyDeletion\n Resource: '*'\n - Sid: Allow use of the key\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:user/Bob\n Action:\n - kms:DescribeKey\n - kms:Encrypt\n - kms:Decrypt\n - kms:ReEncrypt*\n - kms:GenerateDataKey\n - kms:GenerateDataKeyWithoutPlaintext\n Resource: '*'\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import KMS Keys using the `id`. For example:\n\n```sh\n$ pulumi import aws:kms/key:Key a 1234abcd-12ab-34cd-56ef-1234567890ab\n```\n", + "description": "Manages a single-Region or multi-Region primary KMS key.\n\n\u003e **NOTE on KMS Key Policy:** KMS Key Policy can be configured in either the standalone resource `aws.kms.KeyPolicy`\nor with the parameter `policy` in this resource.\nConfiguring with both will cause inconsistencies and may overwrite configuration.\n\n## Example Usage\n\n### Symmetric Encryption KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n description: \"An example symmetric encryption KMS key\",\n enableKeyRotation: true,\n deletionWindowInDays: 20,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Id: \"key-default-1\",\n Statement: [\n {\n Sid: \"Enable IAM User Permissions\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Action: \"kms:*\",\n Resource: \"*\",\n },\n {\n Sid: \"Allow administration of the key\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:user/Alice`),\n },\n Action: [\n \"kms:ReplicateKey\",\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n ],\n Resource: \"*\",\n },\n {\n Sid: \"Allow use of the key\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:user/Bob`),\n },\n Action: [\n \"kms:DescribeKey\",\n \"kms:Encrypt\",\n \"kms:Decrypt\",\n \"kms:ReEncrypt*\",\n \"kms:GenerateDataKey\",\n \"kms:GenerateDataKeyWithoutPlaintext\",\n ],\n Resource: \"*\",\n },\n ],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n description=\"An example symmetric encryption KMS key\",\n enable_key_rotation=True,\n deletion_window_in_days=20,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Id\": \"key-default-1\",\n \"Statement\": [\n {\n \"Sid\": \"Enable IAM User Permissions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Action\": \"kms:*\",\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow administration of the key\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:user/Alice\",\n },\n \"Action\": [\n \"kms:ReplicateKey\",\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n ],\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow use of the key\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:user/Bob\",\n },\n \"Action\": [\n \"kms:DescribeKey\",\n \"kms:Encrypt\",\n \"kms:Decrypt\",\n \"kms:ReEncrypt*\",\n \"kms:GenerateDataKey\",\n \"kms:GenerateDataKeyWithoutPlaintext\",\n ],\n \"Resource\": \"*\",\n },\n ],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"An example symmetric encryption KMS key\",\n EnableKeyRotation = true,\n DeletionWindowInDays = 20,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Id\"] = \"key-default-1\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Enable IAM User Permissions\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Action\"] = \"kms:*\",\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow administration of the key\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:user/Alice\",\n },\n [\"Action\"] = new[]\n {\n \"kms:ReplicateKey\",\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n },\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow use of the key\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:user/Bob\",\n },\n [\"Action\"] = new[]\n {\n \"kms:DescribeKey\",\n \"kms:Encrypt\",\n \"kms:Decrypt\",\n \"kms:ReEncrypt*\",\n \"kms:GenerateDataKey\",\n \"kms:GenerateDataKeyWithoutPlaintext\",\n },\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Id\": \"key-default-1\",\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow administration of the key\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:user/Alice\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:ReplicateKey\",\n\t\t\t\t\t\t\"kms:Create*\",\n\t\t\t\t\t\t\"kms:Describe*\",\n\t\t\t\t\t\t\"kms:Enable*\",\n\t\t\t\t\t\t\"kms:List*\",\n\t\t\t\t\t\t\"kms:Put*\",\n\t\t\t\t\t\t\"kms:Update*\",\n\t\t\t\t\t\t\"kms:Revoke*\",\n\t\t\t\t\t\t\"kms:Disable*\",\n\t\t\t\t\t\t\"kms:Get*\",\n\t\t\t\t\t\t\"kms:Delete*\",\n\t\t\t\t\t\t\"kms:ScheduleKeyDeletion\",\n\t\t\t\t\t\t\"kms:CancelKeyDeletion\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow use of the key\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:user/Bob\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t\t\"kms:Encrypt\",\n\t\t\t\t\t\t\"kms:Decrypt\",\n\t\t\t\t\t\t\"kms:ReEncrypt*\",\n\t\t\t\t\t\t\"kms:GenerateDataKey\",\n\t\t\t\t\t\t\"kms:GenerateDataKeyWithoutPlaintext\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"An example symmetric encryption KMS key\"),\n\t\t\tEnableKeyRotation: pulumi.Bool(true),\n\t\t\tDeletionWindowInDays: pulumi.Int(20),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"An example symmetric encryption KMS key\")\n .enableKeyRotation(true)\n .deletionWindowInDays(20)\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Id\", \"key-default-1\"),\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow administration of the key\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:user/Alice\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kms:ReplicateKey\", \n \"kms:Create*\", \n \"kms:Describe*\", \n \"kms:Enable*\", \n \"kms:List*\", \n \"kms:Put*\", \n \"kms:Update*\", \n \"kms:Revoke*\", \n \"kms:Disable*\", \n \"kms:Get*\", \n \"kms:Delete*\", \n \"kms:ScheduleKeyDeletion\", \n \"kms:CancelKeyDeletion\"\n )),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow use of the key\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:user/Bob\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kms:DescribeKey\", \n \"kms:Encrypt\", \n \"kms:Decrypt\", \n \"kms:ReEncrypt*\", \n \"kms:GenerateDataKey\", \n \"kms:GenerateDataKeyWithoutPlaintext\"\n )),\n jsonProperty(\"Resource\", \"*\")\n )\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: An example symmetric encryption KMS key\n enableKeyRotation: true\n deletionWindowInDays: 20\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Id: key-default-1\n Statement:\n - Sid: Enable IAM User Permissions\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Action: kms:*\n Resource: '*'\n - Sid: Allow administration of the key\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:user/Alice\n Action:\n - kms:ReplicateKey\n - kms:Create*\n - kms:Describe*\n - kms:Enable*\n - kms:List*\n - kms:Put*\n - kms:Update*\n - kms:Revoke*\n - kms:Disable*\n - kms:Get*\n - kms:Delete*\n - kms:ScheduleKeyDeletion\n - kms:CancelKeyDeletion\n Resource: '*'\n - Sid: Allow use of the key\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:user/Bob\n Action:\n - kms:DescribeKey\n - kms:Encrypt\n - kms:Decrypt\n - kms:ReEncrypt*\n - kms:GenerateDataKey\n - kms:GenerateDataKeyWithoutPlaintext\n Resource: '*'\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Symmetric Encryption KMS Key With Standalone Policy Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n description: \"An example symmetric encryption KMS key\",\n enableKeyRotation: true,\n deletionWindowInDays: 20,\n});\nconst exampleKeyPolicy = new aws.kms.KeyPolicy(\"example\", {\n keyId: example.id,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Id: \"key-default-1\",\n Statement: [{\n Sid: \"Enable IAM User Permissions\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Action: \"kms:*\",\n Resource: \"*\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n description=\"An example symmetric encryption KMS key\",\n enable_key_rotation=True,\n deletion_window_in_days=20)\nexample_key_policy = aws.kms.KeyPolicy(\"example\",\n key_id=example.id,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Id\": \"key-default-1\",\n \"Statement\": [{\n \"Sid\": \"Enable IAM User Permissions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Action\": \"kms:*\",\n \"Resource\": \"*\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"An example symmetric encryption KMS key\",\n EnableKeyRotation = true,\n DeletionWindowInDays = 20,\n });\n\n var exampleKeyPolicy = new Aws.Kms.KeyPolicy(\"example\", new()\n {\n KeyId = example.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Id\"] = \"key-default-1\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Enable IAM User Permissions\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Action\"] = \"kms:*\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"An example symmetric encryption KMS key\"),\n\t\t\tEnableKeyRotation: pulumi.Bool(true),\n\t\t\tDeletionWindowInDays: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Id\": \"key-default-1\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = kms.NewKeyPolicy(ctx, \"example\", \u0026kms.KeyPolicyArgs{\n\t\t\tKeyId: example.ID(),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.kms.KeyPolicy;\nimport com.pulumi.aws.kms.KeyPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"An example symmetric encryption KMS key\")\n .enableKeyRotation(true)\n .deletionWindowInDays(20)\n .build());\n\n var exampleKeyPolicy = new KeyPolicy(\"exampleKeyPolicy\", KeyPolicyArgs.builder()\n .keyId(example.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Id\", \"key-default-1\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: An example symmetric encryption KMS key\n enableKeyRotation: true\n deletionWindowInDays: 20\n exampleKeyPolicy:\n type: aws:kms:KeyPolicy\n name: example\n properties:\n keyId: ${example.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Id: key-default-1\n Statement:\n - Sid: Enable IAM User Permissions\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Action: kms:*\n Resource: '*'\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Asymmetric KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n description: \"RSA-3072 asymmetric KMS key for signing and verification\",\n customerMasterKeySpec: \"RSA_3072\",\n keyUsage: \"SIGN_VERIFY\",\n enableKeyRotation: false,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Id: \"key-default-1\",\n Statement: [\n {\n Sid: \"Enable IAM User Permissions\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Action: \"kms:*\",\n Resource: \"*\",\n },\n {\n Sid: \"Allow administration of the key\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:role/Admin`),\n },\n Action: [\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n ],\n Resource: \"*\",\n },\n {\n Sid: \"Allow use of the key\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:role/Developer`),\n },\n Action: [\n \"kms:Sign\",\n \"kms:Verify\",\n \"kms:DescribeKey\",\n ],\n Resource: \"*\",\n },\n ],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n description=\"RSA-3072 asymmetric KMS key for signing and verification\",\n customer_master_key_spec=\"RSA_3072\",\n key_usage=\"SIGN_VERIFY\",\n enable_key_rotation=False,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Id\": \"key-default-1\",\n \"Statement\": [\n {\n \"Sid\": \"Enable IAM User Permissions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Action\": \"kms:*\",\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow administration of the key\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:role/Admin\",\n },\n \"Action\": [\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n ],\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow use of the key\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:role/Developer\",\n },\n \"Action\": [\n \"kms:Sign\",\n \"kms:Verify\",\n \"kms:DescribeKey\",\n ],\n \"Resource\": \"*\",\n },\n ],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"RSA-3072 asymmetric KMS key for signing and verification\",\n CustomerMasterKeySpec = \"RSA_3072\",\n KeyUsage = \"SIGN_VERIFY\",\n EnableKeyRotation = false,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Id\"] = \"key-default-1\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Enable IAM User Permissions\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Action\"] = \"kms:*\",\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow administration of the key\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:role/Admin\",\n },\n [\"Action\"] = new[]\n {\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n },\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow use of the key\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:role/Developer\",\n },\n [\"Action\"] = new[]\n {\n \"kms:Sign\",\n \"kms:Verify\",\n \"kms:DescribeKey\",\n },\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Id\": \"key-default-1\",\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow administration of the key\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:role/Admin\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:Create*\",\n\t\t\t\t\t\t\"kms:Describe*\",\n\t\t\t\t\t\t\"kms:Enable*\",\n\t\t\t\t\t\t\"kms:List*\",\n\t\t\t\t\t\t\"kms:Put*\",\n\t\t\t\t\t\t\"kms:Update*\",\n\t\t\t\t\t\t\"kms:Revoke*\",\n\t\t\t\t\t\t\"kms:Disable*\",\n\t\t\t\t\t\t\"kms:Get*\",\n\t\t\t\t\t\t\"kms:Delete*\",\n\t\t\t\t\t\t\"kms:ScheduleKeyDeletion\",\n\t\t\t\t\t\t\"kms:CancelKeyDeletion\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow use of the key\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:role/Developer\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:Sign\",\n\t\t\t\t\t\t\"kms:Verify\",\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"RSA-3072 asymmetric KMS key for signing and verification\"),\n\t\t\tCustomerMasterKeySpec: pulumi.String(\"RSA_3072\"),\n\t\t\tKeyUsage: pulumi.String(\"SIGN_VERIFY\"),\n\t\t\tEnableKeyRotation: pulumi.Bool(false),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"RSA-3072 asymmetric KMS key for signing and verification\")\n .customerMasterKeySpec(\"RSA_3072\")\n .keyUsage(\"SIGN_VERIFY\")\n .enableKeyRotation(false)\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Id\", \"key-default-1\"),\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow administration of the key\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:role/Admin\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kms:Create*\", \n \"kms:Describe*\", \n \"kms:Enable*\", \n \"kms:List*\", \n \"kms:Put*\", \n \"kms:Update*\", \n \"kms:Revoke*\", \n \"kms:Disable*\", \n \"kms:Get*\", \n \"kms:Delete*\", \n \"kms:ScheduleKeyDeletion\", \n \"kms:CancelKeyDeletion\"\n )),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow use of the key\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:role/Developer\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kms:Sign\", \n \"kms:Verify\", \n \"kms:DescribeKey\"\n )),\n jsonProperty(\"Resource\", \"*\")\n )\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: RSA-3072 asymmetric KMS key for signing and verification\n customerMasterKeySpec: RSA_3072\n keyUsage: SIGN_VERIFY\n enableKeyRotation: false\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Id: key-default-1\n Statement:\n - Sid: Enable IAM User Permissions\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Action: kms:*\n Resource: '*'\n - Sid: Allow administration of the key\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:role/Admin\n Action:\n - kms:Create*\n - kms:Describe*\n - kms:Enable*\n - kms:List*\n - kms:Put*\n - kms:Update*\n - kms:Revoke*\n - kms:Disable*\n - kms:Get*\n - kms:Delete*\n - kms:ScheduleKeyDeletion\n - kms:CancelKeyDeletion\n Resource: '*'\n - Sid: Allow use of the key\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:role/Developer\n Action:\n - kms:Sign\n - kms:Verify\n - kms:DescribeKey\n Resource: '*'\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HMAC KMS key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n description: \"HMAC_384 key for tokens\",\n customerMasterKeySpec: \"HMAC_384\",\n keyUsage: \"GENERATE_VERIFY_MAC\",\n enableKeyRotation: false,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Id: \"key-default-1\",\n Statement: [\n {\n Sid: \"Enable IAM User Permissions\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Action: \"kms:*\",\n Resource: \"*\",\n },\n {\n Sid: \"Allow administration of the key\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:role/Admin`),\n },\n Action: [\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n ],\n Resource: \"*\",\n },\n {\n Sid: \"Allow use of the key\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:role/Developer`),\n },\n Action: [\n \"kms:GenerateMac\",\n \"kms:VerifyMac\",\n \"kms:DescribeKey\",\n ],\n Resource: \"*\",\n },\n ],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n description=\"HMAC_384 key for tokens\",\n customer_master_key_spec=\"HMAC_384\",\n key_usage=\"GENERATE_VERIFY_MAC\",\n enable_key_rotation=False,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Id\": \"key-default-1\",\n \"Statement\": [\n {\n \"Sid\": \"Enable IAM User Permissions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Action\": \"kms:*\",\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow administration of the key\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:role/Admin\",\n },\n \"Action\": [\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n ],\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow use of the key\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:role/Developer\",\n },\n \"Action\": [\n \"kms:GenerateMac\",\n \"kms:VerifyMac\",\n \"kms:DescribeKey\",\n ],\n \"Resource\": \"*\",\n },\n ],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"HMAC_384 key for tokens\",\n CustomerMasterKeySpec = \"HMAC_384\",\n KeyUsage = \"GENERATE_VERIFY_MAC\",\n EnableKeyRotation = false,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Id\"] = \"key-default-1\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Enable IAM User Permissions\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Action\"] = \"kms:*\",\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow administration of the key\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:role/Admin\",\n },\n [\"Action\"] = new[]\n {\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n },\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow use of the key\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:role/Developer\",\n },\n [\"Action\"] = new[]\n {\n \"kms:GenerateMac\",\n \"kms:VerifyMac\",\n \"kms:DescribeKey\",\n },\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Id\": \"key-default-1\",\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow administration of the key\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:role/Admin\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:Create*\",\n\t\t\t\t\t\t\"kms:Describe*\",\n\t\t\t\t\t\t\"kms:Enable*\",\n\t\t\t\t\t\t\"kms:List*\",\n\t\t\t\t\t\t\"kms:Put*\",\n\t\t\t\t\t\t\"kms:Update*\",\n\t\t\t\t\t\t\"kms:Revoke*\",\n\t\t\t\t\t\t\"kms:Disable*\",\n\t\t\t\t\t\t\"kms:Get*\",\n\t\t\t\t\t\t\"kms:Delete*\",\n\t\t\t\t\t\t\"kms:ScheduleKeyDeletion\",\n\t\t\t\t\t\t\"kms:CancelKeyDeletion\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow use of the key\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:role/Developer\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:GenerateMac\",\n\t\t\t\t\t\t\"kms:VerifyMac\",\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"HMAC_384 key for tokens\"),\n\t\t\tCustomerMasterKeySpec: pulumi.String(\"HMAC_384\"),\n\t\t\tKeyUsage: pulumi.String(\"GENERATE_VERIFY_MAC\"),\n\t\t\tEnableKeyRotation: pulumi.Bool(false),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"HMAC_384 key for tokens\")\n .customerMasterKeySpec(\"HMAC_384\")\n .keyUsage(\"GENERATE_VERIFY_MAC\")\n .enableKeyRotation(false)\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Id\", \"key-default-1\"),\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow administration of the key\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:role/Admin\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kms:Create*\", \n \"kms:Describe*\", \n \"kms:Enable*\", \n \"kms:List*\", \n \"kms:Put*\", \n \"kms:Update*\", \n \"kms:Revoke*\", \n \"kms:Disable*\", \n \"kms:Get*\", \n \"kms:Delete*\", \n \"kms:ScheduleKeyDeletion\", \n \"kms:CancelKeyDeletion\"\n )),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow use of the key\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:role/Developer\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kms:GenerateMac\", \n \"kms:VerifyMac\", \n \"kms:DescribeKey\"\n )),\n jsonProperty(\"Resource\", \"*\")\n )\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: HMAC_384 key for tokens\n customerMasterKeySpec: HMAC_384\n keyUsage: GENERATE_VERIFY_MAC\n enableKeyRotation: false\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Id: key-default-1\n Statement:\n - Sid: Enable IAM User Permissions\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Action: kms:*\n Resource: '*'\n - Sid: Allow administration of the key\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:role/Admin\n Action:\n - kms:Create*\n - kms:Describe*\n - kms:Enable*\n - kms:List*\n - kms:Put*\n - kms:Update*\n - kms:Revoke*\n - kms:Disable*\n - kms:Get*\n - kms:Delete*\n - kms:ScheduleKeyDeletion\n - kms:CancelKeyDeletion\n Resource: '*'\n - Sid: Allow use of the key\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:role/Developer\n Action:\n - kms:GenerateMac\n - kms:VerifyMac\n - kms:DescribeKey\n Resource: '*'\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multi-Region Primary Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n description: \"An example multi-Region primary key\",\n multiRegion: true,\n enableKeyRotation: true,\n deletionWindowInDays: 10,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Id: \"key-default-1\",\n Statement: [\n {\n Sid: \"Enable IAM User Permissions\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Action: \"kms:*\",\n Resource: \"*\",\n },\n {\n Sid: \"Allow administration of the key\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:user/Alice`),\n },\n Action: [\n \"kms:ReplicateKey\",\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n ],\n Resource: \"*\",\n },\n {\n Sid: \"Allow use of the key\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:user/Bob`),\n },\n Action: [\n \"kms:DescribeKey\",\n \"kms:Encrypt\",\n \"kms:Decrypt\",\n \"kms:ReEncrypt*\",\n \"kms:GenerateDataKey\",\n \"kms:GenerateDataKeyWithoutPlaintext\",\n ],\n Resource: \"*\",\n },\n ],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n description=\"An example multi-Region primary key\",\n multi_region=True,\n enable_key_rotation=True,\n deletion_window_in_days=10,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Id\": \"key-default-1\",\n \"Statement\": [\n {\n \"Sid\": \"Enable IAM User Permissions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Action\": \"kms:*\",\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow administration of the key\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:user/Alice\",\n },\n \"Action\": [\n \"kms:ReplicateKey\",\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n ],\n \"Resource\": \"*\",\n },\n {\n \"Sid\": \"Allow use of the key\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:user/Bob\",\n },\n \"Action\": [\n \"kms:DescribeKey\",\n \"kms:Encrypt\",\n \"kms:Decrypt\",\n \"kms:ReEncrypt*\",\n \"kms:GenerateDataKey\",\n \"kms:GenerateDataKeyWithoutPlaintext\",\n ],\n \"Resource\": \"*\",\n },\n ],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"An example multi-Region primary key\",\n MultiRegion = true,\n EnableKeyRotation = true,\n DeletionWindowInDays = 10,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Id\"] = \"key-default-1\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Enable IAM User Permissions\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Action\"] = \"kms:*\",\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow administration of the key\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:user/Alice\",\n },\n [\"Action\"] = new[]\n {\n \"kms:ReplicateKey\",\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\",\n },\n [\"Resource\"] = \"*\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Allow use of the key\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:user/Bob\",\n },\n [\"Action\"] = new[]\n {\n \"kms:DescribeKey\",\n \"kms:Encrypt\",\n \"kms:Decrypt\",\n \"kms:ReEncrypt*\",\n \"kms:GenerateDataKey\",\n \"kms:GenerateDataKeyWithoutPlaintext\",\n },\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Id\": \"key-default-1\",\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow administration of the key\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:user/Alice\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:ReplicateKey\",\n\t\t\t\t\t\t\"kms:Create*\",\n\t\t\t\t\t\t\"kms:Describe*\",\n\t\t\t\t\t\t\"kms:Enable*\",\n\t\t\t\t\t\t\"kms:List*\",\n\t\t\t\t\t\t\"kms:Put*\",\n\t\t\t\t\t\t\"kms:Update*\",\n\t\t\t\t\t\t\"kms:Revoke*\",\n\t\t\t\t\t\t\"kms:Disable*\",\n\t\t\t\t\t\t\"kms:Get*\",\n\t\t\t\t\t\t\"kms:Delete*\",\n\t\t\t\t\t\t\"kms:ScheduleKeyDeletion\",\n\t\t\t\t\t\t\"kms:CancelKeyDeletion\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Allow use of the key\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:user/Bob\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t\t\"kms:Encrypt\",\n\t\t\t\t\t\t\"kms:Decrypt\",\n\t\t\t\t\t\t\"kms:ReEncrypt*\",\n\t\t\t\t\t\t\"kms:GenerateDataKey\",\n\t\t\t\t\t\t\"kms:GenerateDataKeyWithoutPlaintext\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"An example multi-Region primary key\"),\n\t\t\tMultiRegion: pulumi.Bool(true),\n\t\t\tEnableKeyRotation: pulumi.Bool(true),\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"An example multi-Region primary key\")\n .multiRegion(true)\n .enableKeyRotation(true)\n .deletionWindowInDays(10)\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Id\", \"key-default-1\"),\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow administration of the key\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:user/Alice\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kms:ReplicateKey\", \n \"kms:Create*\", \n \"kms:Describe*\", \n \"kms:Enable*\", \n \"kms:List*\", \n \"kms:Put*\", \n \"kms:Update*\", \n \"kms:Revoke*\", \n \"kms:Disable*\", \n \"kms:Get*\", \n \"kms:Delete*\", \n \"kms:ScheduleKeyDeletion\", \n \"kms:CancelKeyDeletion\"\n )),\n jsonProperty(\"Resource\", \"*\")\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Allow use of the key\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:user/Bob\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kms:DescribeKey\", \n \"kms:Encrypt\", \n \"kms:Decrypt\", \n \"kms:ReEncrypt*\", \n \"kms:GenerateDataKey\", \n \"kms:GenerateDataKeyWithoutPlaintext\"\n )),\n jsonProperty(\"Resource\", \"*\")\n )\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: An example multi-Region primary key\n multiRegion: true\n enableKeyRotation: true\n deletionWindowInDays: 10\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Id: key-default-1\n Statement:\n - Sid: Enable IAM User Permissions\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Action: kms:*\n Resource: '*'\n - Sid: Allow administration of the key\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:user/Alice\n Action:\n - kms:ReplicateKey\n - kms:Create*\n - kms:Describe*\n - kms:Enable*\n - kms:List*\n - kms:Put*\n - kms:Update*\n - kms:Revoke*\n - kms:Disable*\n - kms:Get*\n - kms:Delete*\n - kms:ScheduleKeyDeletion\n - kms:CancelKeyDeletion\n Resource: '*'\n - Sid: Allow use of the key\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:user/Bob\n Action:\n - kms:DescribeKey\n - kms:Encrypt\n - kms:Decrypt\n - kms:ReEncrypt*\n - kms:GenerateDataKey\n - kms:GenerateDataKeyWithoutPlaintext\n Resource: '*'\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import KMS Keys using the `id`. For example:\n\n```sh\n$ pulumi import aws:kms/key:Key a 1234abcd-12ab-34cd-56ef-1234567890ab\n```\n", "properties": { "arn": { "type": "string", @@ -292355,7 +292355,7 @@ } }, "aws:lakeformation/permissions:Permissions": { - "description": "Grants permissions to the principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. Permissions are granted to a principal, in a Data Catalog, relative to a Lake Formation resource, which includes the Data Catalog, databases, tables, LF-tags, and LF-tag policies. For more information, see [Security and Access Control to Metadata and Data in Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html).\n\n!\u003e **WARNING:** Lake Formation permissions are not in effect by default within AWS. Using this resource will not secure your data and will result in errors if you do not change the security settings for existing resources and the default security settings for new resources. See Default Behavior and `IAMAllowedPrincipals` for additional details.\n\n\u003e **NOTE:** In general, the `principal` should _NOT_ be a Lake Formation administrator or the entity (e.g., IAM role) that is running the deployment. Administrators have implicit permissions. These should be managed by granting or not granting administrator rights using `aws.lakeformation.DataLakeSettings`, _not_ with this resource.\n\n## Default Behavior and `IAMAllowedPrincipals`\n\n**_Lake Formation permissions are not in effect by default within AWS._** `IAMAllowedPrincipals` (i.e., `IAM_ALLOWED_PRINCIPALS`) conflicts with individual Lake Formation permissions (i.e., non-`IAMAllowedPrincipals` permissions), will cause unexpected behavior, and may result in errors.\n\nWhen using Lake Formation, choose ONE of the following options as they are mutually exclusive:\n\n1. Use this resource (`aws.lakeformation.Permissions`), change the default security settings using `aws.lakeformation.DataLakeSettings`, and remove existing `IAMAllowedPrincipals` permissions\n2. Use `IAMAllowedPrincipals` without `aws.lakeformation.Permissions`\n\nThis example shows removing the `IAMAllowedPrincipals` default security settings and making the caller a Lake Formation admin. Since `create_database_default_permissions` and `create_table_default_permissions` are not set in the `aws.lakeformation.DataLakeSettings` resource, they are cleared.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetSessionContext = current.then(current =\u003e aws.iam.getSessionContext({\n arn: current.arn,\n}));\nconst test = new aws.lakeformation.DataLakeSettings(\"test\", {admins: [currentGetSessionContext.then(currentGetSessionContext =\u003e currentGetSessionContext.issuerArn)]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_session_context = aws.iam.get_session_context(arn=current.arn)\ntest = aws.lakeformation.DataLakeSettings(\"test\", admins=[current_get_session_context.issuer_arn])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetSessionContext = Aws.Iam.GetSessionContext.Invoke(new()\n {\n Arn = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n });\n\n var test = new Aws.LakeFormation.DataLakeSettings(\"test\", new()\n {\n Admins = new[]\n {\n currentGetSessionContext.Apply(getSessionContextResult =\u003e getSessionContextResult.IssuerArn),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetSessionContext, err := iam.GetSessionContext(ctx, \u0026iam.GetSessionContextArgs{\n\t\t\tArn: current.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lakeformation.NewDataLakeSettings(ctx, \"test\", \u0026lakeformation.DataLakeSettingsArgs{\n\t\t\tAdmins: pulumi.StringArray{\n\t\t\t\tpulumi.String(currentGetSessionContext.IssuerArn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetSessionContextArgs;\nimport com.pulumi.aws.lakeformation.DataLakeSettings;\nimport com.pulumi.aws.lakeformation.DataLakeSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetSessionContext = IamFunctions.getSessionContext(GetSessionContextArgs.builder()\n .arn(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .build());\n\n var test = new DataLakeSettings(\"test\", DataLakeSettingsArgs.builder()\n .admins(currentGetSessionContext.applyValue(getSessionContextResult -\u003e getSessionContextResult.issuerArn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lakeformation:DataLakeSettings\n properties:\n admins:\n - ${currentGetSessionContext.issuerArn}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n currentGetSessionContext:\n fn::invoke:\n function: aws:iam:getSessionContext\n arguments:\n arn: ${current.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo remove existing `IAMAllowedPrincipals` permissions, use the [AWS Lake Formation Console](https://console.aws.amazon.com/lakeformation/) or [AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lakeformation/batch-revoke-permissions.html).\n\n`IAMAllowedPrincipals` is a hook to maintain backwards compatibility with AWS Glue. `IAMAllowedPrincipals` is a pseudo-entity group that acts like a Lake Formation principal. The group includes any IAM users and roles that are allowed access to your Data Catalog resources by your IAM policies.\n\nThis is Lake Formation's default behavior:\n\n* Lake Formation grants `Super` permission to `IAMAllowedPrincipals` on all existing AWS Glue Data Catalog resources.\n* Lake Formation enables \"Use only IAM access control\" for new Data Catalog resources.\n\nFor more details, see [Changing the Default Security Settings for Your Data Lake](https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html).\n\n### Problem Using `IAMAllowedPrincipals`\n\nAWS does not support combining `IAMAllowedPrincipals` permissions and non-`IAMAllowedPrincipals` permissions. Doing so results in unexpected permissions and behaviors. For example, this configuration grants a user `SELECT` on a column in a table.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.CatalogDatabase(\"example\", {name: \"sadabate\"});\nconst exampleCatalogTable = new aws.glue.CatalogTable(\"example\", {\n name: \"abelt\",\n databaseName: test.name,\n storageDescriptor: {\n columns: [{\n name: \"event\",\n type: \"string\",\n }],\n },\n});\nconst examplePermissions = new aws.lakeformation.Permissions(\"example\", {\n permissions: [\"SELECT\"],\n principal: \"arn:aws:iam:us-east-1:123456789012:user/SanHolo\",\n tableWithColumns: {\n databaseName: exampleCatalogTable.databaseName,\n name: exampleCatalogTable.name,\n columnNames: [\"event\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.CatalogDatabase(\"example\", name=\"sadabate\")\nexample_catalog_table = aws.glue.CatalogTable(\"example\",\n name=\"abelt\",\n database_name=test[\"name\"],\n storage_descriptor={\n \"columns\": [{\n \"name\": \"event\",\n \"type\": \"string\",\n }],\n })\nexample_permissions = aws.lakeformation.Permissions(\"example\",\n permissions=[\"SELECT\"],\n principal=\"arn:aws:iam:us-east-1:123456789012:user/SanHolo\",\n table_with_columns={\n \"database_name\": example_catalog_table.database_name,\n \"name\": example_catalog_table.name,\n \"column_names\": [\"event\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.CatalogDatabase(\"example\", new()\n {\n Name = \"sadabate\",\n });\n\n var exampleCatalogTable = new Aws.Glue.CatalogTable(\"example\", new()\n {\n Name = \"abelt\",\n DatabaseName = test.Name,\n StorageDescriptor = new Aws.Glue.Inputs.CatalogTableStorageDescriptorArgs\n {\n Columns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"event\",\n Type = \"string\",\n },\n },\n },\n });\n\n var examplePermissions = new Aws.LakeFormation.Permissions(\"example\", new()\n {\n PermissionDetails = new[]\n {\n \"SELECT\",\n },\n Principal = \"arn:aws:iam:us-east-1:123456789012:user/SanHolo\",\n TableWithColumns = new Aws.LakeFormation.Inputs.PermissionsTableWithColumnsArgs\n {\n DatabaseName = exampleCatalogTable.DatabaseName,\n Name = exampleCatalogTable.Name,\n ColumnNames = new[]\n {\n \"event\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\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 := glue.NewCatalogDatabase(ctx, \"example\", \u0026glue.CatalogDatabaseArgs{\n\t\t\tName: pulumi.String(\"sadabate\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCatalogTable, err := glue.NewCatalogTable(ctx, \"example\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"abelt\"),\n\t\t\tDatabaseName: pulumi.Any(test.Name),\n\t\t\tStorageDescriptor: \u0026glue.CatalogTableStorageDescriptorArgs{\n\t\t\t\tColumns: glue.CatalogTableStorageDescriptorColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"event\"),\n\t\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\t},\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\t_, err = lakeformation.NewPermissions(ctx, \"example\", \u0026lakeformation.PermissionsArgs{\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SELECT\"),\n\t\t\t},\n\t\t\tPrincipal: pulumi.String(\"arn:aws:iam:us-east-1:123456789012:user/SanHolo\"),\n\t\t\tTableWithColumns: \u0026lakeformation.PermissionsTableWithColumnsArgs{\n\t\t\t\tDatabaseName: exampleCatalogTable.DatabaseName,\n\t\t\t\tName: exampleCatalogTable.Name,\n\t\t\t\tColumnNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"event\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.CatalogDatabase;\nimport com.pulumi.aws.glue.CatalogDatabaseArgs;\nimport com.pulumi.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs;\nimport com.pulumi.aws.lakeformation.Permissions;\nimport com.pulumi.aws.lakeformation.PermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.PermissionsTableWithColumnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new CatalogDatabase(\"example\", CatalogDatabaseArgs.builder()\n .name(\"sadabate\")\n .build());\n\n var exampleCatalogTable = new CatalogTable(\"exampleCatalogTable\", CatalogTableArgs.builder()\n .name(\"abelt\")\n .databaseName(test.name())\n .storageDescriptor(CatalogTableStorageDescriptorArgs.builder()\n .columns(CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"event\")\n .type(\"string\")\n .build())\n .build())\n .build());\n\n var examplePermissions = new Permissions(\"examplePermissions\", PermissionsArgs.builder()\n .permissions(\"SELECT\")\n .principal(\"arn:aws:iam:us-east-1:123456789012:user/SanHolo\")\n .tableWithColumns(PermissionsTableWithColumnsArgs.builder()\n .databaseName(exampleCatalogTable.databaseName())\n .name(exampleCatalogTable.name())\n .columnNames(\"event\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:CatalogDatabase\n properties:\n name: sadabate\n exampleCatalogTable:\n type: aws:glue:CatalogTable\n name: example\n properties:\n name: abelt\n databaseName: ${test.name}\n storageDescriptor:\n columns:\n - name: event\n type: string\n examplePermissions:\n type: aws:lakeformation:Permissions\n name: example\n properties:\n permissions:\n - SELECT\n principal: arn:aws:iam:us-east-1:123456789012:user/SanHolo\n tableWithColumns:\n databaseName: ${exampleCatalogTable.databaseName}\n name: ${exampleCatalogTable.name}\n columnNames:\n - event\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe resulting permissions depend on whether the table had `IAMAllowedPrincipals` (IAP) permissions or not.\n\n| Result With IAP | Result Without IAP |\n| ---- | ---- |\n| `SELECT` column wildcard (i.e., all columns) | `SELECT` on `\"event\"` (as expected) |\n\n## Using Lake Formation Permissions\n\nLake Formation grants implicit permissions to data lake administrators, database creators, and table creators. These implicit permissions cannot be revoked _per se_. If this resource reads implicit permissions, it will attempt to revoke them, which causes an error when the resource is destroyed.\n\nThere are two ways to avoid these errors. First, and the way we recommend, is to avoid using this resource with principals that have implicit permissions. A second, error-prone option, is to grant explicit permissions (and `permissions_with_grant_option`) to \"overwrite\" a principal's implicit permissions, which you can then revoke with this resource. For more information, see [Implicit Lake Formation Permissions](https://docs.aws.amazon.com/lake-formation/latest/dg/implicit-permissions.html).\n\nIf the `principal` is also a data lake administrator, AWS grants implicit permissions that can cause errors using this resource. For example, AWS implicitly grants a `principal`/administrator `permissions` and `permissions_with_grant_option` of `ALL`, `ALTER`, `DELETE`, `DESCRIBE`, `DROP`, `INSERT`, and `SELECT` on a table. If you use this resource to explicitly grant the `principal`/administrator `permissions` but _not_ `permissions_with_grant_option` of `ALL`, `ALTER`, `DELETE`, `DESCRIBE`, `DROP`, `INSERT`, and `SELECT` on the table, this resource will read the implicit `permissions_with_grant_option` and attempt to revoke them when the resource is destroyed. Doing so will cause an `InvalidInputException: No permissions revoked` error because you cannot revoke implicit permissions _per se_. To workaround this problem, explicitly grant the `principal`/administrator `permissions` _and_ `permissions_with_grant_option`, which can then be revoked. Similarly, granting a `principal`/administrator permissions on a table with columns and providing `column_names`, will result in a `InvalidInputException: Permissions modification is invalid` error because you are narrowing the implicit permissions. Instead, set `wildcard` to `true` and remove the `column_names`.\n\n## Example Usage\n\n### Grant Permissions For A Lake Formation S3 Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.Permissions(\"example\", {\n principal: workflowRole.arn,\n permissions: [\"DATA_LOCATION_ACCESS\"],\n dataLocation: {\n arn: exampleAwsLakeformationResource.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.Permissions(\"example\",\n principal=workflow_role[\"arn\"],\n permissions=[\"DATA_LOCATION_ACCESS\"],\n data_location={\n \"arn\": example_aws_lakeformation_resource[\"arn\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.Permissions(\"example\", new()\n {\n Principal = workflowRole.Arn,\n PermissionDetails = new[]\n {\n \"DATA_LOCATION_ACCESS\",\n },\n DataLocation = new Aws.LakeFormation.Inputs.PermissionsDataLocationArgs\n {\n Arn = exampleAwsLakeformationResource.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\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 := lakeformation.NewPermissions(ctx, \"example\", \u0026lakeformation.PermissionsArgs{\n\t\t\tPrincipal: pulumi.Any(workflowRole.Arn),\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"DATA_LOCATION_ACCESS\"),\n\t\t\t},\n\t\t\tDataLocation: \u0026lakeformation.PermissionsDataLocationArgs{\n\t\t\t\tArn: pulumi.Any(exampleAwsLakeformationResource.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lakeformation.Permissions;\nimport com.pulumi.aws.lakeformation.PermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.PermissionsDataLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Permissions(\"example\", PermissionsArgs.builder()\n .principal(workflowRole.arn())\n .permissions(\"DATA_LOCATION_ACCESS\")\n .dataLocation(PermissionsDataLocationArgs.builder()\n .arn(exampleAwsLakeformationResource.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:Permissions\n properties:\n principal: ${workflowRole.arn}\n permissions:\n - DATA_LOCATION_ACCESS\n dataLocation:\n arn: ${exampleAwsLakeformationResource.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Grant Permissions For A Glue Catalog Database\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.Permissions(\"example\", {\n principal: workflowRole.arn,\n permissions: [\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n ],\n database: {\n name: exampleAwsGlueCatalogDatabase.name,\n catalogId: \"110376042874\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.Permissions(\"example\",\n principal=workflow_role[\"arn\"],\n permissions=[\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n ],\n database={\n \"name\": example_aws_glue_catalog_database[\"name\"],\n \"catalog_id\": \"110376042874\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.Permissions(\"example\", new()\n {\n Principal = workflowRole.Arn,\n PermissionDetails = new[]\n {\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n },\n Database = new Aws.LakeFormation.Inputs.PermissionsDatabaseArgs\n {\n Name = exampleAwsGlueCatalogDatabase.Name,\n CatalogId = \"110376042874\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\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 := lakeformation.NewPermissions(ctx, \"example\", \u0026lakeformation.PermissionsArgs{\n\t\t\tPrincipal: pulumi.Any(workflowRole.Arn),\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CREATE_TABLE\"),\n\t\t\t\tpulumi.String(\"ALTER\"),\n\t\t\t\tpulumi.String(\"DROP\"),\n\t\t\t},\n\t\t\tDatabase: \u0026lakeformation.PermissionsDatabaseArgs{\n\t\t\t\tName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\t\tCatalogId: pulumi.String(\"110376042874\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lakeformation.Permissions;\nimport com.pulumi.aws.lakeformation.PermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.PermissionsDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Permissions(\"example\", PermissionsArgs.builder()\n .principal(workflowRole.arn())\n .permissions( \n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\")\n .database(PermissionsDatabaseArgs.builder()\n .name(exampleAwsGlueCatalogDatabase.name())\n .catalogId(\"110376042874\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:Permissions\n properties:\n principal: ${workflowRole.arn}\n permissions:\n - CREATE_TABLE\n - ALTER\n - DROP\n database:\n name: ${exampleAwsGlueCatalogDatabase.name}\n catalogId: '110376042874'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Grant Permissions Using Tag-Based Access Control\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lakeformation.Permissions(\"test\", {\n principal: salesRole.arn,\n permissions: [\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n ],\n lfTagPolicy: {\n resourceType: \"DATABASE\",\n expressions: [\n {\n key: \"Team\",\n values: [\"Sales\"],\n },\n {\n key: \"Environment\",\n values: [\n \"Dev\",\n \"Production\",\n ],\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lakeformation.Permissions(\"test\",\n principal=sales_role[\"arn\"],\n permissions=[\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n ],\n lf_tag_policy={\n \"resource_type\": \"DATABASE\",\n \"expressions\": [\n {\n \"key\": \"Team\",\n \"values\": [\"Sales\"],\n },\n {\n \"key\": \"Environment\",\n \"values\": [\n \"Dev\",\n \"Production\",\n ],\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LakeFormation.Permissions(\"test\", new()\n {\n Principal = salesRole.Arn,\n PermissionDetails = new[]\n {\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n },\n LfTagPolicy = new Aws.LakeFormation.Inputs.PermissionsLfTagPolicyArgs\n {\n ResourceType = \"DATABASE\",\n Expressions = new[]\n {\n new Aws.LakeFormation.Inputs.PermissionsLfTagPolicyExpressionArgs\n {\n Key = \"Team\",\n Values = new[]\n {\n \"Sales\",\n },\n },\n new Aws.LakeFormation.Inputs.PermissionsLfTagPolicyExpressionArgs\n {\n Key = \"Environment\",\n Values = new[]\n {\n \"Dev\",\n \"Production\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\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 := lakeformation.NewPermissions(ctx, \"test\", \u0026lakeformation.PermissionsArgs{\n\t\t\tPrincipal: pulumi.Any(salesRole.Arn),\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CREATE_TABLE\"),\n\t\t\t\tpulumi.String(\"ALTER\"),\n\t\t\t\tpulumi.String(\"DROP\"),\n\t\t\t},\n\t\t\tLfTagPolicy: \u0026lakeformation.PermissionsLfTagPolicyArgs{\n\t\t\t\tResourceType: pulumi.String(\"DATABASE\"),\n\t\t\t\tExpressions: lakeformation.PermissionsLfTagPolicyExpressionArray{\n\t\t\t\t\t\u0026lakeformation.PermissionsLfTagPolicyExpressionArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"Team\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Sales\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026lakeformation.PermissionsLfTagPolicyExpressionArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"Environment\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Dev\"),\n\t\t\t\t\t\t\tpulumi.String(\"Production\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lakeformation.Permissions;\nimport com.pulumi.aws.lakeformation.PermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.PermissionsLfTagPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Permissions(\"test\", PermissionsArgs.builder()\n .principal(salesRole.arn())\n .permissions( \n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\")\n .lfTagPolicy(PermissionsLfTagPolicyArgs.builder()\n .resourceType(\"DATABASE\")\n .expressions( \n PermissionsLfTagPolicyExpressionArgs.builder()\n .key(\"Team\")\n .values(\"Sales\")\n .build(),\n PermissionsLfTagPolicyExpressionArgs.builder()\n .key(\"Environment\")\n .values( \n \"Dev\",\n \"Production\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lakeformation:Permissions\n properties:\n principal: ${salesRole.arn}\n permissions:\n - CREATE_TABLE\n - ALTER\n - DROP\n lfTagPolicy:\n resourceType: DATABASE\n expressions:\n - key: Team\n values:\n - Sales\n - key: Environment\n values:\n - Dev\n - Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Grants permissions to the principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. Permissions are granted to a principal, in a Data Catalog, relative to a Lake Formation resource, which includes the Data Catalog, databases, tables, LF-tags, and LF-tag policies. For more information, see [Security and Access Control to Metadata and Data in Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html).\n\n!\u003e **WARNING:** Lake Formation permissions are not in effect by default within AWS. Using this resource will not secure your data and will result in errors if you do not change the security settings for existing resources and the default security settings for new resources. See Default Behavior and `IAMAllowedPrincipals` for additional details.\n\n\u003e **NOTE:** In general, the `principal` should _NOT_ be a Lake Formation administrator or the entity (e.g., IAM role) that is running the deployment. Administrators have implicit permissions. These should be managed by granting or not granting administrator rights using `aws.lakeformation.DataLakeSettings`, _not_ with this resource.\n\n## Default Behavior and `IAMAllowedPrincipals`\n\n**_Lake Formation permissions are not in effect by default within AWS._** `IAMAllowedPrincipals` (i.e., `IAM_ALLOWED_PRINCIPALS`) conflicts with individual Lake Formation permissions (i.e., non-`IAMAllowedPrincipals` permissions), will cause unexpected behavior, and may result in errors.\n\nWhen using Lake Formation, choose ONE of the following options as they are mutually exclusive:\n\n1. Use this resource (`aws.lakeformation.Permissions`), change the default security settings using `aws.lakeformation.DataLakeSettings`, and remove existing `IAMAllowedPrincipals` permissions\n2. Use `IAMAllowedPrincipals` without `aws.lakeformation.Permissions`\n\nThis example shows removing the `IAMAllowedPrincipals` default security settings and making the caller a Lake Formation admin. Since `create_database_default_permissions` and `create_table_default_permissions` are not set in the `aws.lakeformation.DataLakeSettings` resource, they are cleared.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetSessionContext = current.then(current =\u003e aws.iam.getSessionContext({\n arn: current.arn,\n}));\nconst test = new aws.lakeformation.DataLakeSettings(\"test\", {admins: [currentGetSessionContext.then(currentGetSessionContext =\u003e currentGetSessionContext.issuerArn)]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_session_context = aws.iam.get_session_context(arn=current.arn)\ntest = aws.lakeformation.DataLakeSettings(\"test\", admins=[current_get_session_context.issuer_arn])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetSessionContext = Aws.Iam.GetSessionContext.Invoke(new()\n {\n Arn = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n });\n\n var test = new Aws.LakeFormation.DataLakeSettings(\"test\", new()\n {\n Admins = new[]\n {\n currentGetSessionContext.Apply(getSessionContextResult =\u003e getSessionContextResult.IssuerArn),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetSessionContext, err := iam.GetSessionContext(ctx, \u0026iam.GetSessionContextArgs{\n\t\t\tArn: current.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lakeformation.NewDataLakeSettings(ctx, \"test\", \u0026lakeformation.DataLakeSettingsArgs{\n\t\t\tAdmins: pulumi.StringArray{\n\t\t\t\tpulumi.String(currentGetSessionContext.IssuerArn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetSessionContextArgs;\nimport com.pulumi.aws.lakeformation.DataLakeSettings;\nimport com.pulumi.aws.lakeformation.DataLakeSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetSessionContext = IamFunctions.getSessionContext(GetSessionContextArgs.builder()\n .arn(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .build());\n\n var test = new DataLakeSettings(\"test\", DataLakeSettingsArgs.builder()\n .admins(currentGetSessionContext.applyValue(getSessionContextResult -\u003e getSessionContextResult.issuerArn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lakeformation:DataLakeSettings\n properties:\n admins:\n - ${currentGetSessionContext.issuerArn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetSessionContext:\n fn::invoke:\n Function: aws:iam:getSessionContext\n Arguments:\n arn: ${current.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo remove existing `IAMAllowedPrincipals` permissions, use the [AWS Lake Formation Console](https://console.aws.amazon.com/lakeformation/) or [AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lakeformation/batch-revoke-permissions.html).\n\n`IAMAllowedPrincipals` is a hook to maintain backwards compatibility with AWS Glue. `IAMAllowedPrincipals` is a pseudo-entity group that acts like a Lake Formation principal. The group includes any IAM users and roles that are allowed access to your Data Catalog resources by your IAM policies.\n\nThis is Lake Formation's default behavior:\n\n* Lake Formation grants `Super` permission to `IAMAllowedPrincipals` on all existing AWS Glue Data Catalog resources.\n* Lake Formation enables \"Use only IAM access control\" for new Data Catalog resources.\n\nFor more details, see [Changing the Default Security Settings for Your Data Lake](https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html).\n\n### Problem Using `IAMAllowedPrincipals`\n\nAWS does not support combining `IAMAllowedPrincipals` permissions and non-`IAMAllowedPrincipals` permissions. Doing so results in unexpected permissions and behaviors. For example, this configuration grants a user `SELECT` on a column in a table.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.CatalogDatabase(\"example\", {name: \"sadabate\"});\nconst exampleCatalogTable = new aws.glue.CatalogTable(\"example\", {\n name: \"abelt\",\n databaseName: test.name,\n storageDescriptor: {\n columns: [{\n name: \"event\",\n type: \"string\",\n }],\n },\n});\nconst examplePermissions = new aws.lakeformation.Permissions(\"example\", {\n permissions: [\"SELECT\"],\n principal: \"arn:aws:iam:us-east-1:123456789012:user/SanHolo\",\n tableWithColumns: {\n databaseName: exampleCatalogTable.databaseName,\n name: exampleCatalogTable.name,\n columnNames: [\"event\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.CatalogDatabase(\"example\", name=\"sadabate\")\nexample_catalog_table = aws.glue.CatalogTable(\"example\",\n name=\"abelt\",\n database_name=test[\"name\"],\n storage_descriptor={\n \"columns\": [{\n \"name\": \"event\",\n \"type\": \"string\",\n }],\n })\nexample_permissions = aws.lakeformation.Permissions(\"example\",\n permissions=[\"SELECT\"],\n principal=\"arn:aws:iam:us-east-1:123456789012:user/SanHolo\",\n table_with_columns={\n \"database_name\": example_catalog_table.database_name,\n \"name\": example_catalog_table.name,\n \"column_names\": [\"event\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.CatalogDatabase(\"example\", new()\n {\n Name = \"sadabate\",\n });\n\n var exampleCatalogTable = new Aws.Glue.CatalogTable(\"example\", new()\n {\n Name = \"abelt\",\n DatabaseName = test.Name,\n StorageDescriptor = new Aws.Glue.Inputs.CatalogTableStorageDescriptorArgs\n {\n Columns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"event\",\n Type = \"string\",\n },\n },\n },\n });\n\n var examplePermissions = new Aws.LakeFormation.Permissions(\"example\", new()\n {\n PermissionDetails = new[]\n {\n \"SELECT\",\n },\n Principal = \"arn:aws:iam:us-east-1:123456789012:user/SanHolo\",\n TableWithColumns = new Aws.LakeFormation.Inputs.PermissionsTableWithColumnsArgs\n {\n DatabaseName = exampleCatalogTable.DatabaseName,\n Name = exampleCatalogTable.Name,\n ColumnNames = new[]\n {\n \"event\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\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 := glue.NewCatalogDatabase(ctx, \"example\", \u0026glue.CatalogDatabaseArgs{\n\t\t\tName: pulumi.String(\"sadabate\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCatalogTable, err := glue.NewCatalogTable(ctx, \"example\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"abelt\"),\n\t\t\tDatabaseName: pulumi.Any(test.Name),\n\t\t\tStorageDescriptor: \u0026glue.CatalogTableStorageDescriptorArgs{\n\t\t\t\tColumns: glue.CatalogTableStorageDescriptorColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"event\"),\n\t\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\t},\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\t_, err = lakeformation.NewPermissions(ctx, \"example\", \u0026lakeformation.PermissionsArgs{\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SELECT\"),\n\t\t\t},\n\t\t\tPrincipal: pulumi.String(\"arn:aws:iam:us-east-1:123456789012:user/SanHolo\"),\n\t\t\tTableWithColumns: \u0026lakeformation.PermissionsTableWithColumnsArgs{\n\t\t\t\tDatabaseName: exampleCatalogTable.DatabaseName,\n\t\t\t\tName: exampleCatalogTable.Name,\n\t\t\t\tColumnNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"event\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.CatalogDatabase;\nimport com.pulumi.aws.glue.CatalogDatabaseArgs;\nimport com.pulumi.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs;\nimport com.pulumi.aws.lakeformation.Permissions;\nimport com.pulumi.aws.lakeformation.PermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.PermissionsTableWithColumnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new CatalogDatabase(\"example\", CatalogDatabaseArgs.builder()\n .name(\"sadabate\")\n .build());\n\n var exampleCatalogTable = new CatalogTable(\"exampleCatalogTable\", CatalogTableArgs.builder()\n .name(\"abelt\")\n .databaseName(test.name())\n .storageDescriptor(CatalogTableStorageDescriptorArgs.builder()\n .columns(CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"event\")\n .type(\"string\")\n .build())\n .build())\n .build());\n\n var examplePermissions = new Permissions(\"examplePermissions\", PermissionsArgs.builder()\n .permissions(\"SELECT\")\n .principal(\"arn:aws:iam:us-east-1:123456789012:user/SanHolo\")\n .tableWithColumns(PermissionsTableWithColumnsArgs.builder()\n .databaseName(exampleCatalogTable.databaseName())\n .name(exampleCatalogTable.name())\n .columnNames(\"event\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:CatalogDatabase\n properties:\n name: sadabate\n exampleCatalogTable:\n type: aws:glue:CatalogTable\n name: example\n properties:\n name: abelt\n databaseName: ${test.name}\n storageDescriptor:\n columns:\n - name: event\n type: string\n examplePermissions:\n type: aws:lakeformation:Permissions\n name: example\n properties:\n permissions:\n - SELECT\n principal: arn:aws:iam:us-east-1:123456789012:user/SanHolo\n tableWithColumns:\n databaseName: ${exampleCatalogTable.databaseName}\n name: ${exampleCatalogTable.name}\n columnNames:\n - event\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe resulting permissions depend on whether the table had `IAMAllowedPrincipals` (IAP) permissions or not.\n\n| Result With IAP | Result Without IAP |\n| ---- | ---- |\n| `SELECT` column wildcard (i.e., all columns) | `SELECT` on `\"event\"` (as expected) |\n\n## Using Lake Formation Permissions\n\nLake Formation grants implicit permissions to data lake administrators, database creators, and table creators. These implicit permissions cannot be revoked _per se_. If this resource reads implicit permissions, it will attempt to revoke them, which causes an error when the resource is destroyed.\n\nThere are two ways to avoid these errors. First, and the way we recommend, is to avoid using this resource with principals that have implicit permissions. A second, error-prone option, is to grant explicit permissions (and `permissions_with_grant_option`) to \"overwrite\" a principal's implicit permissions, which you can then revoke with this resource. For more information, see [Implicit Lake Formation Permissions](https://docs.aws.amazon.com/lake-formation/latest/dg/implicit-permissions.html).\n\nIf the `principal` is also a data lake administrator, AWS grants implicit permissions that can cause errors using this resource. For example, AWS implicitly grants a `principal`/administrator `permissions` and `permissions_with_grant_option` of `ALL`, `ALTER`, `DELETE`, `DESCRIBE`, `DROP`, `INSERT`, and `SELECT` on a table. If you use this resource to explicitly grant the `principal`/administrator `permissions` but _not_ `permissions_with_grant_option` of `ALL`, `ALTER`, `DELETE`, `DESCRIBE`, `DROP`, `INSERT`, and `SELECT` on the table, this resource will read the implicit `permissions_with_grant_option` and attempt to revoke them when the resource is destroyed. Doing so will cause an `InvalidInputException: No permissions revoked` error because you cannot revoke implicit permissions _per se_. To workaround this problem, explicitly grant the `principal`/administrator `permissions` _and_ `permissions_with_grant_option`, which can then be revoked. Similarly, granting a `principal`/administrator permissions on a table with columns and providing `column_names`, will result in a `InvalidInputException: Permissions modification is invalid` error because you are narrowing the implicit permissions. Instead, set `wildcard` to `true` and remove the `column_names`.\n\n## Example Usage\n\n### Grant Permissions For A Lake Formation S3 Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.Permissions(\"example\", {\n principal: workflowRole.arn,\n permissions: [\"DATA_LOCATION_ACCESS\"],\n dataLocation: {\n arn: exampleAwsLakeformationResource.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.Permissions(\"example\",\n principal=workflow_role[\"arn\"],\n permissions=[\"DATA_LOCATION_ACCESS\"],\n data_location={\n \"arn\": example_aws_lakeformation_resource[\"arn\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.Permissions(\"example\", new()\n {\n Principal = workflowRole.Arn,\n PermissionDetails = new[]\n {\n \"DATA_LOCATION_ACCESS\",\n },\n DataLocation = new Aws.LakeFormation.Inputs.PermissionsDataLocationArgs\n {\n Arn = exampleAwsLakeformationResource.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\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 := lakeformation.NewPermissions(ctx, \"example\", \u0026lakeformation.PermissionsArgs{\n\t\t\tPrincipal: pulumi.Any(workflowRole.Arn),\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"DATA_LOCATION_ACCESS\"),\n\t\t\t},\n\t\t\tDataLocation: \u0026lakeformation.PermissionsDataLocationArgs{\n\t\t\t\tArn: pulumi.Any(exampleAwsLakeformationResource.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lakeformation.Permissions;\nimport com.pulumi.aws.lakeformation.PermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.PermissionsDataLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Permissions(\"example\", PermissionsArgs.builder()\n .principal(workflowRole.arn())\n .permissions(\"DATA_LOCATION_ACCESS\")\n .dataLocation(PermissionsDataLocationArgs.builder()\n .arn(exampleAwsLakeformationResource.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:Permissions\n properties:\n principal: ${workflowRole.arn}\n permissions:\n - DATA_LOCATION_ACCESS\n dataLocation:\n arn: ${exampleAwsLakeformationResource.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Grant Permissions For A Glue Catalog Database\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.Permissions(\"example\", {\n principal: workflowRole.arn,\n permissions: [\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n ],\n database: {\n name: exampleAwsGlueCatalogDatabase.name,\n catalogId: \"110376042874\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.Permissions(\"example\",\n principal=workflow_role[\"arn\"],\n permissions=[\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n ],\n database={\n \"name\": example_aws_glue_catalog_database[\"name\"],\n \"catalog_id\": \"110376042874\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.Permissions(\"example\", new()\n {\n Principal = workflowRole.Arn,\n PermissionDetails = new[]\n {\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n },\n Database = new Aws.LakeFormation.Inputs.PermissionsDatabaseArgs\n {\n Name = exampleAwsGlueCatalogDatabase.Name,\n CatalogId = \"110376042874\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\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 := lakeformation.NewPermissions(ctx, \"example\", \u0026lakeformation.PermissionsArgs{\n\t\t\tPrincipal: pulumi.Any(workflowRole.Arn),\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CREATE_TABLE\"),\n\t\t\t\tpulumi.String(\"ALTER\"),\n\t\t\t\tpulumi.String(\"DROP\"),\n\t\t\t},\n\t\t\tDatabase: \u0026lakeformation.PermissionsDatabaseArgs{\n\t\t\t\tName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\t\tCatalogId: pulumi.String(\"110376042874\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lakeformation.Permissions;\nimport com.pulumi.aws.lakeformation.PermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.PermissionsDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Permissions(\"example\", PermissionsArgs.builder()\n .principal(workflowRole.arn())\n .permissions( \n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\")\n .database(PermissionsDatabaseArgs.builder()\n .name(exampleAwsGlueCatalogDatabase.name())\n .catalogId(\"110376042874\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:Permissions\n properties:\n principal: ${workflowRole.arn}\n permissions:\n - CREATE_TABLE\n - ALTER\n - DROP\n database:\n name: ${exampleAwsGlueCatalogDatabase.name}\n catalogId: '110376042874'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Grant Permissions Using Tag-Based Access Control\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lakeformation.Permissions(\"test\", {\n principal: salesRole.arn,\n permissions: [\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n ],\n lfTagPolicy: {\n resourceType: \"DATABASE\",\n expressions: [\n {\n key: \"Team\",\n values: [\"Sales\"],\n },\n {\n key: \"Environment\",\n values: [\n \"Dev\",\n \"Production\",\n ],\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lakeformation.Permissions(\"test\",\n principal=sales_role[\"arn\"],\n permissions=[\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n ],\n lf_tag_policy={\n \"resource_type\": \"DATABASE\",\n \"expressions\": [\n {\n \"key\": \"Team\",\n \"values\": [\"Sales\"],\n },\n {\n \"key\": \"Environment\",\n \"values\": [\n \"Dev\",\n \"Production\",\n ],\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LakeFormation.Permissions(\"test\", new()\n {\n Principal = salesRole.Arn,\n PermissionDetails = new[]\n {\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n },\n LfTagPolicy = new Aws.LakeFormation.Inputs.PermissionsLfTagPolicyArgs\n {\n ResourceType = \"DATABASE\",\n Expressions = new[]\n {\n new Aws.LakeFormation.Inputs.PermissionsLfTagPolicyExpressionArgs\n {\n Key = \"Team\",\n Values = new[]\n {\n \"Sales\",\n },\n },\n new Aws.LakeFormation.Inputs.PermissionsLfTagPolicyExpressionArgs\n {\n Key = \"Environment\",\n Values = new[]\n {\n \"Dev\",\n \"Production\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\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 := lakeformation.NewPermissions(ctx, \"test\", \u0026lakeformation.PermissionsArgs{\n\t\t\tPrincipal: pulumi.Any(salesRole.Arn),\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CREATE_TABLE\"),\n\t\t\t\tpulumi.String(\"ALTER\"),\n\t\t\t\tpulumi.String(\"DROP\"),\n\t\t\t},\n\t\t\tLfTagPolicy: \u0026lakeformation.PermissionsLfTagPolicyArgs{\n\t\t\t\tResourceType: pulumi.String(\"DATABASE\"),\n\t\t\t\tExpressions: lakeformation.PermissionsLfTagPolicyExpressionArray{\n\t\t\t\t\t\u0026lakeformation.PermissionsLfTagPolicyExpressionArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"Team\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Sales\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026lakeformation.PermissionsLfTagPolicyExpressionArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"Environment\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Dev\"),\n\t\t\t\t\t\t\tpulumi.String(\"Production\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lakeformation.Permissions;\nimport com.pulumi.aws.lakeformation.PermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.PermissionsLfTagPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Permissions(\"test\", PermissionsArgs.builder()\n .principal(salesRole.arn())\n .permissions( \n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\")\n .lfTagPolicy(PermissionsLfTagPolicyArgs.builder()\n .resourceType(\"DATABASE\")\n .expressions( \n PermissionsLfTagPolicyExpressionArgs.builder()\n .key(\"Team\")\n .values(\"Sales\")\n .build(),\n PermissionsLfTagPolicyExpressionArgs.builder()\n .key(\"Environment\")\n .values( \n \"Dev\",\n \"Production\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lakeformation:Permissions\n properties:\n principal: ${salesRole.arn}\n permissions:\n - CREATE_TABLE\n - ALTER\n - DROP\n lfTagPolicy:\n resourceType: DATABASE\n expressions:\n - key: Team\n values:\n - Sales\n - key: Environment\n values:\n - Dev\n - Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "catalogId": { "type": "string", @@ -292584,7 +292584,7 @@ } }, "aws:lakeformation/resource:Resource": { - "description": "Registers a Lake Formation resource (e.g., S3 bucket) as managed by the Data Catalog. In other words, the S3 path is added to the data lake.\n\nChoose a role that has read/write access to the chosen Amazon S3 path or use the service-linked role.\nWhen you register the S3 path, the service-linked role and a new inline policy are created on your behalf.\nLake Formation adds the first path to the inline policy and attaches it to the service-linked role.\nWhen you register subsequent paths, Lake Formation adds the path to the existing policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.s3.getBucket({\n bucket: \"an-example-bucket\",\n});\nconst exampleResource = new aws.lakeformation.Resource(\"example\", {arn: example.then(example =\u003e example.arn)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.get_bucket(bucket=\"an-example-bucket\")\nexample_resource = aws.lakeformation.Resource(\"example\", arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"an-example-bucket\",\n });\n\n var exampleResource = new Aws.LakeFormation.Resource(\"example\", new()\n {\n Arn = example.Apply(getBucketResult =\u003e getBucketResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"an-example-bucket\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lakeformation.NewResource(ctx, \"example\", \u0026lakeformation.ResourceArgs{\n\t\t\tArn: pulumi.String(example.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.lakeformation.Resource;\nimport com.pulumi.aws.lakeformation.ResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"an-example-bucket\")\n .build());\n\n var exampleResource = new Resource(\"exampleResource\", ResourceArgs.builder()\n .arn(example.applyValue(getBucketResult -\u003e getBucketResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleResource:\n type: aws:lakeformation:Resource\n name: example\n properties:\n arn: ${example.arn}\nvariables:\n example:\n fn::invoke:\n function: aws:s3:getBucket\n arguments:\n bucket: an-example-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Registers a Lake Formation resource (e.g., S3 bucket) as managed by the Data Catalog. In other words, the S3 path is added to the data lake.\n\nChoose a role that has read/write access to the chosen Amazon S3 path or use the service-linked role.\nWhen you register the S3 path, the service-linked role and a new inline policy are created on your behalf.\nLake Formation adds the first path to the inline policy and attaches it to the service-linked role.\nWhen you register subsequent paths, Lake Formation adds the path to the existing policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.s3.getBucket({\n bucket: \"an-example-bucket\",\n});\nconst exampleResource = new aws.lakeformation.Resource(\"example\", {arn: example.then(example =\u003e example.arn)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.get_bucket(bucket=\"an-example-bucket\")\nexample_resource = aws.lakeformation.Resource(\"example\", arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"an-example-bucket\",\n });\n\n var exampleResource = new Aws.LakeFormation.Resource(\"example\", new()\n {\n Arn = example.Apply(getBucketResult =\u003e getBucketResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"an-example-bucket\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lakeformation.NewResource(ctx, \"example\", \u0026lakeformation.ResourceArgs{\n\t\t\tArn: pulumi.String(example.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.lakeformation.Resource;\nimport com.pulumi.aws.lakeformation.ResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"an-example-bucket\")\n .build());\n\n var exampleResource = new Resource(\"exampleResource\", ResourceArgs.builder()\n .arn(example.applyValue(getBucketResult -\u003e getBucketResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleResource:\n type: aws:lakeformation:Resource\n name: example\n properties:\n arn: ${example.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: an-example-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -293957,7 +293957,7 @@ } }, "aws:lambda/function:Function": { - "description": "Provides a Lambda Function resource. Lambda allows you to trigger execution of code in response to events in AWS, enabling serverless backend solutions. The Lambda Function itself includes source code and runtime configuration.\n\nFor information about Lambda and how to use it, see [What is AWS Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)\n\n\n\u003e **NOTE:** Due to [AWS Lambda improved VPC networking changes that began deploying in September 2019](https://aws.amazon.com/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/), EC2 subnets and security groups associated with Lambda Functions can take up to 45 minutes to successfully delete. To allow for successful deletion, the provider will wait for at least 45 minutes even if a shorter delete timeout is specified.\n\n\u003e **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.)\n\n\u003e To give an external source (like an EventBridge Rule, SNS, or S3) permission to access the Lambda function, use the `aws.lambda.Permission` resource. See [Lambda Permission Model](https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html) for more details. On the other hand, the `role` argument of this resource is the function's execution role for identity and access to AWS services and resources.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as archive from \"@pulumi/archive\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst lambda = archive.getFile({\n type: \"zip\",\n sourceFile: \"lambda.js\",\n outputPath: \"lambda_function_payload.zip\",\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n code: new pulumi.asset.FileArchive(\"lambda_function_payload.zip\"),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"index.test\",\n sourceCodeHash: lambda.then(lambda =\u003e lambda.outputBase64sha256),\n runtime: aws.lambda.Runtime.NodeJS18dX,\n environment: {\n variables: {\n foo: \"bar\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_archive as archive\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"lambda.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=assume_role.json)\nlambda_ = archive.get_file(type=\"zip\",\n source_file=\"lambda.js\",\n output_path=\"lambda_function_payload.zip\")\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n code=pulumi.FileArchive(\"lambda_function_payload.zip\"),\n name=\"lambda_function_name\",\n role=iam_for_lambda.arn,\n handler=\"index.test\",\n source_code_hash=lambda_.output_base64sha256,\n runtime=aws.lambda_.Runtime.NODE_JS18D_X,\n environment={\n \"variables\": {\n \"foo\": \"bar\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Archive = Pulumi.Archive;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambda = Archive.GetFile.Invoke(new()\n {\n Type = \"zip\",\n SourceFile = \"lambda.js\",\n OutputPath = \"lambda_function_payload.zip\",\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n Code = new FileArchive(\"lambda_function_payload.zip\"),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"index.test\",\n SourceCodeHash = lambda.Apply(getFileResult =\u003e getFileResult.OutputBase64sha256),\n Runtime = Aws.Lambda.Runtime.NodeJS18dX,\n Environment = new Aws.Lambda.Inputs.FunctionEnvironmentArgs\n {\n Variables = \n {\n { \"foo\", \"bar\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-archive/sdk/go/archive\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambda, err := archive.LookupFile(ctx, \u0026archive.LookupFileArgs{\n\t\t\tType: \"zip\",\n\t\t\tSourceFile: pulumi.StringRef(\"lambda.js\"),\n\t\t\tOutputPath: \"lambda_function_payload.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda_function_payload.zip\"),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"index.test\"),\n\t\t\tSourceCodeHash: pulumi.String(lambda.OutputBase64sha256),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS18dX),\n\t\t\tEnvironment: \u0026lambda.FunctionEnvironmentArgs{\n\t\t\t\tVariables: pulumi.StringMap{\n\t\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.archive.ArchiveFunctions;\nimport com.pulumi.archive.inputs.GetFileArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionEnvironmentArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder()\n .name(\"iam_for_lambda\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var lambda = ArchiveFunctions.getFile(GetFileArgs.builder()\n .type(\"zip\")\n .sourceFile(\"lambda.js\")\n .outputPath(\"lambda_function_payload.zip\")\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder()\n .code(new FileArchive(\"lambda_function_payload.zip\"))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"index.test\")\n .sourceCodeHash(lambda.applyValue(getFileResult -\u003e getFileResult.outputBase64sha256()))\n .runtime(\"nodejs18.x\")\n .environment(FunctionEnvironmentArgs.builder()\n .variables(Map.of(\"foo\", \"bar\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy: ${assumeRole.json}\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n code:\n fn::FileArchive: lambda_function_payload.zip\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: index.test\n sourceCodeHash: ${lambda.outputBase64sha256}\n runtime: nodejs18.x\n environment:\n variables:\n foo: bar\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n lambda:\n fn::invoke:\n function: archive:getFile\n arguments:\n type: zip\n sourceFile: lambda.js\n outputPath: lambda_function_payload.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Layers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.LayerVersion(\"example\", {});\nconst exampleFunction = new aws.lambda.Function(\"example\", {layers: [example.arn]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.LayerVersion(\"example\")\nexample_function = aws.lambda_.Function(\"example\", layers=[example.arn])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.LayerVersion(\"example\");\n\n var exampleFunction = new Aws.Lambda.Function(\"example\", new()\n {\n Layers = new[]\n {\n example.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lambda.NewLayerVersion(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"example\", \u0026lambda.FunctionArgs{\n\t\t\tLayers: pulumi.StringArray{\n\t\t\t\texample.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.LayerVersion;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LayerVersion(\"example\");\n\n var exampleFunction = new Function(\"exampleFunction\", FunctionArgs.builder()\n .layers(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:LayerVersion\n exampleFunction:\n type: aws:lambda:Function\n name: example\n properties:\n layers:\n - ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Ephemeral Storage\n\nLambda Function Ephemeral Storage(`/tmp`) allows you to configure the storage upto `10` GB. The default value set to `512` MB.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n code: new pulumi.asset.FileArchive(\"lambda_function_payload.zip\"),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"index.test\",\n runtime: aws.lambda.Runtime.NodeJS18dX,\n ephemeralStorage: {\n size: 10240,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"lambda.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=assume_role.json)\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n code=pulumi.FileArchive(\"lambda_function_payload.zip\"),\n name=\"lambda_function_name\",\n role=iam_for_lambda.arn,\n handler=\"index.test\",\n runtime=aws.lambda_.Runtime.NODE_JS18D_X,\n ephemeral_storage={\n \"size\": 10240,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n Code = new FileArchive(\"lambda_function_payload.zip\"),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"index.test\",\n Runtime = Aws.Lambda.Runtime.NodeJS18dX,\n EphemeralStorage = new Aws.Lambda.Inputs.FunctionEphemeralStorageArgs\n {\n Size = 10240,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda_function_payload.zip\"),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"index.test\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS18dX),\n\t\t\tEphemeralStorage: \u0026lambda.FunctionEphemeralStorageArgs{\n\t\t\t\tSize: pulumi.Int(10240),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionEphemeralStorageArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder()\n .name(\"iam_for_lambda\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder()\n .code(new FileArchive(\"lambda_function_payload.zip\"))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"index.test\")\n .runtime(\"nodejs18.x\")\n .ephemeralStorage(FunctionEphemeralStorageArgs.builder()\n .size(10240)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy: ${assumeRole.json}\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n code:\n fn::FileArchive: lambda_function_payload.zip\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: index.test\n runtime: nodejs18.x\n ephemeralStorage:\n size: 10240\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda File Systems\n\nLambda File Systems allow you to connect an Amazon Elastic File System (EFS) file system to a Lambda function to share data across function invocations, access existing data including large files, and save function state.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// EFS file system\nconst efsForLambda = new aws.efs.FileSystem(\"efs_for_lambda\", {tags: {\n Name: \"efs_for_lambda\",\n}});\n// Mount target connects the file system to the subnet\nconst alpha = new aws.efs.MountTarget(\"alpha\", {\n fileSystemId: efsForLambda.id,\n subnetId: subnetForLambda.id,\n securityGroups: [sgForLambda.id],\n});\n// EFS access point used by lambda file system\nconst accessPointForLambda = new aws.efs.AccessPoint(\"access_point_for_lambda\", {\n fileSystemId: efsForLambda.id,\n rootDirectory: {\n path: \"/lambda\",\n creationInfo: {\n ownerGid: 1000,\n ownerUid: 1000,\n permissions: \"777\",\n },\n },\n posixUser: {\n gid: 1000,\n uid: 1000,\n },\n});\n// A lambda function connected to an EFS file system\nconst example = new aws.lambda.Function(\"example\", {\n fileSystemConfig: {\n arn: accessPointForLambda.arn,\n localMountPath: \"/mnt/efs\",\n },\n vpcConfig: {\n subnetIds: [subnetForLambda.id],\n securityGroupIds: [sgForLambda.id],\n },\n}, {\n dependsOn: [alpha],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# EFS file system\nefs_for_lambda = aws.efs.FileSystem(\"efs_for_lambda\", tags={\n \"Name\": \"efs_for_lambda\",\n})\n# Mount target connects the file system to the subnet\nalpha = aws.efs.MountTarget(\"alpha\",\n file_system_id=efs_for_lambda.id,\n subnet_id=subnet_for_lambda[\"id\"],\n security_groups=[sg_for_lambda[\"id\"]])\n# EFS access point used by lambda file system\naccess_point_for_lambda = aws.efs.AccessPoint(\"access_point_for_lambda\",\n file_system_id=efs_for_lambda.id,\n root_directory={\n \"path\": \"/lambda\",\n \"creation_info\": {\n \"owner_gid\": 1000,\n \"owner_uid\": 1000,\n \"permissions\": \"777\",\n },\n },\n posix_user={\n \"gid\": 1000,\n \"uid\": 1000,\n })\n# A lambda function connected to an EFS file system\nexample = aws.lambda_.Function(\"example\",\n file_system_config={\n \"arn\": access_point_for_lambda.arn,\n \"local_mount_path\": \"/mnt/efs\",\n },\n vpc_config={\n \"subnet_ids\": [subnet_for_lambda[\"id\"]],\n \"security_group_ids\": [sg_for_lambda[\"id\"]],\n },\n opts = pulumi.ResourceOptions(depends_on=[alpha]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // EFS file system\n var efsForLambda = new Aws.Efs.FileSystem(\"efs_for_lambda\", new()\n {\n Tags = \n {\n { \"Name\", \"efs_for_lambda\" },\n },\n });\n\n // Mount target connects the file system to the subnet\n var alpha = new Aws.Efs.MountTarget(\"alpha\", new()\n {\n FileSystemId = efsForLambda.Id,\n SubnetId = subnetForLambda.Id,\n SecurityGroups = new[]\n {\n sgForLambda.Id,\n },\n });\n\n // EFS access point used by lambda file system\n var accessPointForLambda = new Aws.Efs.AccessPoint(\"access_point_for_lambda\", new()\n {\n FileSystemId = efsForLambda.Id,\n RootDirectory = new Aws.Efs.Inputs.AccessPointRootDirectoryArgs\n {\n Path = \"/lambda\",\n CreationInfo = new Aws.Efs.Inputs.AccessPointRootDirectoryCreationInfoArgs\n {\n OwnerGid = 1000,\n OwnerUid = 1000,\n Permissions = \"777\",\n },\n },\n PosixUser = new Aws.Efs.Inputs.AccessPointPosixUserArgs\n {\n Gid = 1000,\n Uid = 1000,\n },\n });\n\n // A lambda function connected to an EFS file system\n var example = new Aws.Lambda.Function(\"example\", new()\n {\n FileSystemConfig = new Aws.Lambda.Inputs.FunctionFileSystemConfigArgs\n {\n Arn = accessPointForLambda.Arn,\n LocalMountPath = \"/mnt/efs\",\n },\n VpcConfig = new Aws.Lambda.Inputs.FunctionVpcConfigArgs\n {\n SubnetIds = new[]\n {\n subnetForLambda.Id,\n },\n SecurityGroupIds = new[]\n {\n sgForLambda.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n alpha,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\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// EFS file system\n\t\tefsForLambda, err := efs.NewFileSystem(ctx, \"efs_for_lambda\", \u0026efs.FileSystemArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"efs_for_lambda\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Mount target connects the file system to the subnet\n\t\talpha, err := efs.NewMountTarget(ctx, \"alpha\", \u0026efs.MountTargetArgs{\n\t\t\tFileSystemId: efsForLambda.ID(),\n\t\t\tSubnetId: pulumi.Any(subnetForLambda.Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tsgForLambda.Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// EFS access point used by lambda file system\n\t\taccessPointForLambda, err := efs.NewAccessPoint(ctx, \"access_point_for_lambda\", \u0026efs.AccessPointArgs{\n\t\t\tFileSystemId: efsForLambda.ID(),\n\t\t\tRootDirectory: \u0026efs.AccessPointRootDirectoryArgs{\n\t\t\t\tPath: pulumi.String(\"/lambda\"),\n\t\t\t\tCreationInfo: \u0026efs.AccessPointRootDirectoryCreationInfoArgs{\n\t\t\t\t\tOwnerGid: pulumi.Int(1000),\n\t\t\t\t\tOwnerUid: pulumi.Int(1000),\n\t\t\t\t\tPermissions: pulumi.String(\"777\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPosixUser: \u0026efs.AccessPointPosixUserArgs{\n\t\t\t\tGid: pulumi.Int(1000),\n\t\t\t\tUid: pulumi.Int(1000),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// A lambda function connected to an EFS file system\n\t\t_, err = lambda.NewFunction(ctx, \"example\", \u0026lambda.FunctionArgs{\n\t\t\tFileSystemConfig: \u0026lambda.FunctionFileSystemConfigArgs{\n\t\t\t\tArn: accessPointForLambda.Arn,\n\t\t\t\tLocalMountPath: pulumi.String(\"/mnt/efs\"),\n\t\t\t},\n\t\t\tVpcConfig: \u0026lambda.FunctionVpcConfigArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tsubnetForLambda.Id,\n\t\t\t\t},\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tsgForLambda.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\talpha,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.FileSystemArgs;\nimport com.pulumi.aws.efs.MountTarget;\nimport com.pulumi.aws.efs.MountTargetArgs;\nimport com.pulumi.aws.efs.AccessPoint;\nimport com.pulumi.aws.efs.AccessPointArgs;\nimport com.pulumi.aws.efs.inputs.AccessPointRootDirectoryArgs;\nimport com.pulumi.aws.efs.inputs.AccessPointRootDirectoryCreationInfoArgs;\nimport com.pulumi.aws.efs.inputs.AccessPointPosixUserArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionFileSystemConfigArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionVpcConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // EFS file system\n var efsForLambda = new FileSystem(\"efsForLambda\", FileSystemArgs.builder()\n .tags(Map.of(\"Name\", \"efs_for_lambda\"))\n .build());\n\n // Mount target connects the file system to the subnet\n var alpha = new MountTarget(\"alpha\", MountTargetArgs.builder()\n .fileSystemId(efsForLambda.id())\n .subnetId(subnetForLambda.id())\n .securityGroups(sgForLambda.id())\n .build());\n\n // EFS access point used by lambda file system\n var accessPointForLambda = new AccessPoint(\"accessPointForLambda\", AccessPointArgs.builder()\n .fileSystemId(efsForLambda.id())\n .rootDirectory(AccessPointRootDirectoryArgs.builder()\n .path(\"/lambda\")\n .creationInfo(AccessPointRootDirectoryCreationInfoArgs.builder()\n .ownerGid(1000)\n .ownerUid(1000)\n .permissions(\"777\")\n .build())\n .build())\n .posixUser(AccessPointPosixUserArgs.builder()\n .gid(1000)\n .uid(1000)\n .build())\n .build());\n\n // A lambda function connected to an EFS file system\n var example = new Function(\"example\", FunctionArgs.builder()\n .fileSystemConfig(FunctionFileSystemConfigArgs.builder()\n .arn(accessPointForLambda.arn())\n .localMountPath(\"/mnt/efs\")\n .build())\n .vpcConfig(FunctionVpcConfigArgs.builder()\n .subnetIds(subnetForLambda.id())\n .securityGroupIds(sgForLambda.id())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(alpha)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # A lambda function connected to an EFS file system\n example:\n type: aws:lambda:Function\n properties:\n fileSystemConfig:\n arn: ${accessPointForLambda.arn}\n localMountPath: /mnt/efs\n vpcConfig:\n subnetIds:\n - ${subnetForLambda.id}\n securityGroupIds:\n - ${sgForLambda.id}\n options:\n dependsOn:\n - ${alpha}\n # EFS file system\n efsForLambda:\n type: aws:efs:FileSystem\n name: efs_for_lambda\n properties:\n tags:\n Name: efs_for_lambda\n # Mount target connects the file system to the subnet\n alpha:\n type: aws:efs:MountTarget\n properties:\n fileSystemId: ${efsForLambda.id}\n subnetId: ${subnetForLambda.id}\n securityGroups:\n - ${sgForLambda.id}\n # EFS access point used by lambda file system\n accessPointForLambda:\n type: aws:efs:AccessPoint\n name: access_point_for_lambda\n properties:\n fileSystemId: ${efsForLambda.id}\n rootDirectory:\n path: /lambda\n creationInfo:\n ownerGid: 1000\n ownerUid: 1000\n permissions: '777'\n posixUser:\n gid: 1000\n uid: 1000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda retries\n\nLambda Functions allow you to configure error handling for asynchronous invocation. The settings that it supports are `Maximum age of event` and `Retry attempts` as stated in [Lambda documentation for Configuring error handling for asynchronous invocation](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-errors). To configure these settings, refer to the aws.lambda.FunctionEventInvokeConfig resource.\n\n## CloudWatch Logging and Permissions\n\nFor more information about CloudWatch Logs for Lambda, see the [Lambda User Guide](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-logs.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lambdaFunctionName = config.get(\"lambdaFunctionName\") || \"lambda_function_name\";\n// This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n// If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\nconst example = new aws.cloudwatch.LogGroup(\"example\", {\n name: `/aws/lambda/${lambdaFunctionName}`,\n retentionInDays: 14,\n});\n// See also the following AWS managed policy: AWSLambdaBasicExecutionRole\nconst lambdaLogging = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources: [\"arn:aws:logs:*:*:*\"],\n }],\n});\nconst lambdaLoggingPolicy = new aws.iam.Policy(\"lambda_logging\", {\n name: \"lambda_logging\",\n path: \"/\",\n description: \"IAM policy for logging from a lambda\",\n policy: lambdaLogging.then(lambdaLogging =\u003e lambdaLogging.json),\n});\nconst lambdaLogs = new aws.iam.RolePolicyAttachment(\"lambda_logs\", {\n role: iamForLambda.name,\n policyArn: lambdaLoggingPolicy.arn,\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n name: lambdaFunctionName,\n loggingConfig: {\n logFormat: \"Text\",\n },\n}, {\n dependsOn: [\n lambdaLogs,\n example,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlambda_function_name = config.get(\"lambdaFunctionName\")\nif lambda_function_name is None:\n lambda_function_name = \"lambda_function_name\"\n# This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n# If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\nexample = aws.cloudwatch.LogGroup(\"example\",\n name=f\"/aws/lambda/{lambda_function_name}\",\n retention_in_days=14)\n# See also the following AWS managed policy: AWSLambdaBasicExecutionRole\nlambda_logging = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n \"resources\": [\"arn:aws:logs:*:*:*\"],\n}])\nlambda_logging_policy = aws.iam.Policy(\"lambda_logging\",\n name=\"lambda_logging\",\n path=\"/\",\n description=\"IAM policy for logging from a lambda\",\n policy=lambda_logging.json)\nlambda_logs = aws.iam.RolePolicyAttachment(\"lambda_logs\",\n role=iam_for_lambda[\"name\"],\n policy_arn=lambda_logging_policy.arn)\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n name=lambda_function_name,\n logging_config={\n \"log_format\": \"Text\",\n },\n opts = pulumi.ResourceOptions(depends_on=[\n lambda_logs,\n example,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lambdaFunctionName = config.Get(\"lambdaFunctionName\") ?? \"lambda_function_name\";\n // This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n // If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = $\"/aws/lambda/{lambdaFunctionName}\",\n RetentionInDays = 14,\n });\n\n // See also the following AWS managed policy: AWSLambdaBasicExecutionRole\n var lambdaLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*:*:*\",\n },\n },\n },\n });\n\n var lambdaLoggingPolicy = new Aws.Iam.Policy(\"lambda_logging\", new()\n {\n Name = \"lambda_logging\",\n Path = \"/\",\n Description = \"IAM policy for logging from a lambda\",\n PolicyDocument = lambdaLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaLogs = new Aws.Iam.RolePolicyAttachment(\"lambda_logs\", new()\n {\n Role = iamForLambda.Name,\n PolicyArn = lambdaLoggingPolicy.Arn,\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n Name = lambdaFunctionName,\n LoggingConfig = new Aws.Lambda.Inputs.FunctionLoggingConfigArgs\n {\n LogFormat = \"Text\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n lambdaLogs,\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlambdaFunctionName := \"lambda_function_name\"\n\t\tif param := cfg.Get(\"lambdaFunctionName\"); param != \"\" {\n\t\t\tlambdaFunctionName = param\n\t\t}\n\t\t// This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n\t\t// If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.Sprintf(\"/aws/lambda/%v\", lambdaFunctionName),\n\t\t\tRetentionInDays: pulumi.Int(14),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// See also the following AWS managed policy: AWSLambdaBasicExecutionRole\n\t\tlambdaLogging, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogGroup\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*:*:*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaLoggingPolicy, err := iam.NewPolicy(ctx, \"lambda_logging\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"lambda_logging\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tDescription: pulumi.String(\"IAM policy for logging from a lambda\"),\n\t\t\tPolicy: pulumi.String(lambdaLogging.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaLogs, err := iam.NewRolePolicyAttachment(ctx, \"lambda_logs\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: pulumi.Any(iamForLambda.Name),\n\t\t\tPolicyArn: lambdaLoggingPolicy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tName: pulumi.String(lambdaFunctionName),\n\t\t\tLoggingConfig: \u0026lambda.FunctionLoggingConfigArgs{\n\t\t\t\tLogFormat: pulumi.String(\"Text\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tlambdaLogs,\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionLoggingConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lambdaFunctionName = config.get(\"lambdaFunctionName\").orElse(\"lambda_function_name\");\n // This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n // If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\n var example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(String.format(\"/aws/lambda/%s\", lambdaFunctionName))\n .retentionInDays(14)\n .build());\n\n // See also the following AWS managed policy: AWSLambdaBasicExecutionRole\n final var lambdaLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .resources(\"arn:aws:logs:*:*:*\")\n .build())\n .build());\n\n var lambdaLoggingPolicy = new Policy(\"lambdaLoggingPolicy\", PolicyArgs.builder()\n .name(\"lambda_logging\")\n .path(\"/\")\n .description(\"IAM policy for logging from a lambda\")\n .policy(lambdaLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var lambdaLogs = new RolePolicyAttachment(\"lambdaLogs\", RolePolicyAttachmentArgs.builder()\n .role(iamForLambda.name())\n .policyArn(lambdaLoggingPolicy.arn())\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder()\n .name(lambdaFunctionName)\n .loggingConfig(FunctionLoggingConfigArgs.builder()\n .logFormat(\"Text\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n lambdaLogs,\n example)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lambdaFunctionName:\n type: string\n default: lambda_function_name\nresources:\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n name: ${lambdaFunctionName}\n loggingConfig:\n logFormat: Text\n options:\n dependsOn:\n - ${lambdaLogs}\n - ${example}\n # This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n # If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: /aws/lambda/${lambdaFunctionName}\n retentionInDays: 14\n lambdaLoggingPolicy:\n type: aws:iam:Policy\n name: lambda_logging\n properties:\n name: lambda_logging\n path: /\n description: IAM policy for logging from a lambda\n policy: ${lambdaLogging.json}\n lambdaLogs:\n type: aws:iam:RolePolicyAttachment\n name: lambda_logs\n properties:\n role: ${iamForLambda.name}\n policyArn: ${lambdaLoggingPolicy.arn}\nvariables:\n # See also the following AWS managed policy: AWSLambdaBasicExecutionRole\n lambdaLogging:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:PutLogEvents\n resources:\n - arn:aws:logs:*:*:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Specifying the Deployment Package\n\nAWS Lambda expects source code to be provided as a deployment package whose structure varies depending on which `runtime` is in use. See [Runtimes](https://docs.aws.amazon.com/lambda/latest/dg/API_CreateFunction.html#SSS-CreateFunction-request-Runtime) for the valid values of `runtime`. The expected structure of the deployment package can be found in [the AWS Lambda documentation for each runtime](https://docs.aws.amazon.com/lambda/latest/dg/deployment-package-v2.html).\n\nOnce you have created your deployment package you can specify it either directly as a local file (using the `filename` argument) or indirectly via Amazon S3 (using the `s3_bucket`, `s3_key` and `s3_object_version` arguments). When providing the deployment package via S3 it may be useful to use the `aws.s3.BucketObjectv2` resource to upload it.\n\nFor larger deployment packages it is recommended by Amazon to upload via S3, since the S3 API has better support for uploading large files efficiently.\n\n## Import\n\nUsing `pulumi import`, import Lambda Functions using the `function_name`. For example:\n\n```sh\n$ pulumi import aws:lambda/function:Function test_lambda my_test_lambda_function\n```\n", + "description": "Provides a Lambda Function resource. Lambda allows you to trigger execution of code in response to events in AWS, enabling serverless backend solutions. The Lambda Function itself includes source code and runtime configuration.\n\nFor information about Lambda and how to use it, see [What is AWS Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)\n\n\n\u003e **NOTE:** Due to [AWS Lambda improved VPC networking changes that began deploying in September 2019](https://aws.amazon.com/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/), EC2 subnets and security groups associated with Lambda Functions can take up to 45 minutes to successfully delete. To allow for successful deletion, the provider will wait for at least 45 minutes even if a shorter delete timeout is specified.\n\n\u003e **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.)\n\n\u003e To give an external source (like an EventBridge Rule, SNS, or S3) permission to access the Lambda function, use the `aws.lambda.Permission` resource. See [Lambda Permission Model](https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html) for more details. On the other hand, the `role` argument of this resource is the function's execution role for identity and access to AWS services and resources.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as archive from \"@pulumi/archive\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst lambda = archive.getFile({\n type: \"zip\",\n sourceFile: \"lambda.js\",\n outputPath: \"lambda_function_payload.zip\",\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n code: new pulumi.asset.FileArchive(\"lambda_function_payload.zip\"),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"index.test\",\n sourceCodeHash: lambda.then(lambda =\u003e lambda.outputBase64sha256),\n runtime: aws.lambda.Runtime.NodeJS18dX,\n environment: {\n variables: {\n foo: \"bar\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_archive as archive\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"lambda.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=assume_role.json)\nlambda_ = archive.get_file(type=\"zip\",\n source_file=\"lambda.js\",\n output_path=\"lambda_function_payload.zip\")\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n code=pulumi.FileArchive(\"lambda_function_payload.zip\"),\n name=\"lambda_function_name\",\n role=iam_for_lambda.arn,\n handler=\"index.test\",\n source_code_hash=lambda_.output_base64sha256,\n runtime=aws.lambda_.Runtime.NODE_JS18D_X,\n environment={\n \"variables\": {\n \"foo\": \"bar\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Archive = Pulumi.Archive;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambda = Archive.GetFile.Invoke(new()\n {\n Type = \"zip\",\n SourceFile = \"lambda.js\",\n OutputPath = \"lambda_function_payload.zip\",\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n Code = new FileArchive(\"lambda_function_payload.zip\"),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"index.test\",\n SourceCodeHash = lambda.Apply(getFileResult =\u003e getFileResult.OutputBase64sha256),\n Runtime = Aws.Lambda.Runtime.NodeJS18dX,\n Environment = new Aws.Lambda.Inputs.FunctionEnvironmentArgs\n {\n Variables = \n {\n { \"foo\", \"bar\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-archive/sdk/go/archive\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambda, err := archive.LookupFile(ctx, \u0026archive.LookupFileArgs{\n\t\t\tType: \"zip\",\n\t\t\tSourceFile: pulumi.StringRef(\"lambda.js\"),\n\t\t\tOutputPath: \"lambda_function_payload.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda_function_payload.zip\"),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"index.test\"),\n\t\t\tSourceCodeHash: pulumi.String(lambda.OutputBase64sha256),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS18dX),\n\t\t\tEnvironment: \u0026lambda.FunctionEnvironmentArgs{\n\t\t\t\tVariables: pulumi.StringMap{\n\t\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.archive.ArchiveFunctions;\nimport com.pulumi.archive.inputs.GetFileArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionEnvironmentArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder()\n .name(\"iam_for_lambda\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var lambda = ArchiveFunctions.getFile(GetFileArgs.builder()\n .type(\"zip\")\n .sourceFile(\"lambda.js\")\n .outputPath(\"lambda_function_payload.zip\")\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder()\n .code(new FileArchive(\"lambda_function_payload.zip\"))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"index.test\")\n .sourceCodeHash(lambda.applyValue(getFileResult -\u003e getFileResult.outputBase64sha256()))\n .runtime(\"nodejs18.x\")\n .environment(FunctionEnvironmentArgs.builder()\n .variables(Map.of(\"foo\", \"bar\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy: ${assumeRole.json}\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n code:\n fn::FileArchive: lambda_function_payload.zip\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: index.test\n sourceCodeHash: ${lambda.outputBase64sha256}\n runtime: nodejs18.x\n environment:\n variables:\n foo: bar\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n lambda:\n fn::invoke:\n Function: archive:getFile\n Arguments:\n type: zip\n sourceFile: lambda.js\n outputPath: lambda_function_payload.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Layers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.LayerVersion(\"example\", {});\nconst exampleFunction = new aws.lambda.Function(\"example\", {layers: [example.arn]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.LayerVersion(\"example\")\nexample_function = aws.lambda_.Function(\"example\", layers=[example.arn])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.LayerVersion(\"example\");\n\n var exampleFunction = new Aws.Lambda.Function(\"example\", new()\n {\n Layers = new[]\n {\n example.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lambda.NewLayerVersion(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"example\", \u0026lambda.FunctionArgs{\n\t\t\tLayers: pulumi.StringArray{\n\t\t\t\texample.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.LayerVersion;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LayerVersion(\"example\");\n\n var exampleFunction = new Function(\"exampleFunction\", FunctionArgs.builder()\n .layers(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:LayerVersion\n exampleFunction:\n type: aws:lambda:Function\n name: example\n properties:\n layers:\n - ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Ephemeral Storage\n\nLambda Function Ephemeral Storage(`/tmp`) allows you to configure the storage upto `10` GB. The default value set to `512` MB.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n code: new pulumi.asset.FileArchive(\"lambda_function_payload.zip\"),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"index.test\",\n runtime: aws.lambda.Runtime.NodeJS18dX,\n ephemeralStorage: {\n size: 10240,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"lambda.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=assume_role.json)\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n code=pulumi.FileArchive(\"lambda_function_payload.zip\"),\n name=\"lambda_function_name\",\n role=iam_for_lambda.arn,\n handler=\"index.test\",\n runtime=aws.lambda_.Runtime.NODE_JS18D_X,\n ephemeral_storage={\n \"size\": 10240,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n Code = new FileArchive(\"lambda_function_payload.zip\"),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"index.test\",\n Runtime = Aws.Lambda.Runtime.NodeJS18dX,\n EphemeralStorage = new Aws.Lambda.Inputs.FunctionEphemeralStorageArgs\n {\n Size = 10240,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda_function_payload.zip\"),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"index.test\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS18dX),\n\t\t\tEphemeralStorage: \u0026lambda.FunctionEphemeralStorageArgs{\n\t\t\t\tSize: pulumi.Int(10240),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionEphemeralStorageArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder()\n .name(\"iam_for_lambda\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder()\n .code(new FileArchive(\"lambda_function_payload.zip\"))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"index.test\")\n .runtime(\"nodejs18.x\")\n .ephemeralStorage(FunctionEphemeralStorageArgs.builder()\n .size(10240)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy: ${assumeRole.json}\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n code:\n fn::FileArchive: lambda_function_payload.zip\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: index.test\n runtime: nodejs18.x\n ephemeralStorage:\n size: 10240\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda File Systems\n\nLambda File Systems allow you to connect an Amazon Elastic File System (EFS) file system to a Lambda function to share data across function invocations, access existing data including large files, and save function state.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// EFS file system\nconst efsForLambda = new aws.efs.FileSystem(\"efs_for_lambda\", {tags: {\n Name: \"efs_for_lambda\",\n}});\n// Mount target connects the file system to the subnet\nconst alpha = new aws.efs.MountTarget(\"alpha\", {\n fileSystemId: efsForLambda.id,\n subnetId: subnetForLambda.id,\n securityGroups: [sgForLambda.id],\n});\n// EFS access point used by lambda file system\nconst accessPointForLambda = new aws.efs.AccessPoint(\"access_point_for_lambda\", {\n fileSystemId: efsForLambda.id,\n rootDirectory: {\n path: \"/lambda\",\n creationInfo: {\n ownerGid: 1000,\n ownerUid: 1000,\n permissions: \"777\",\n },\n },\n posixUser: {\n gid: 1000,\n uid: 1000,\n },\n});\n// A lambda function connected to an EFS file system\nconst example = new aws.lambda.Function(\"example\", {\n fileSystemConfig: {\n arn: accessPointForLambda.arn,\n localMountPath: \"/mnt/efs\",\n },\n vpcConfig: {\n subnetIds: [subnetForLambda.id],\n securityGroupIds: [sgForLambda.id],\n },\n}, {\n dependsOn: [alpha],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# EFS file system\nefs_for_lambda = aws.efs.FileSystem(\"efs_for_lambda\", tags={\n \"Name\": \"efs_for_lambda\",\n})\n# Mount target connects the file system to the subnet\nalpha = aws.efs.MountTarget(\"alpha\",\n file_system_id=efs_for_lambda.id,\n subnet_id=subnet_for_lambda[\"id\"],\n security_groups=[sg_for_lambda[\"id\"]])\n# EFS access point used by lambda file system\naccess_point_for_lambda = aws.efs.AccessPoint(\"access_point_for_lambda\",\n file_system_id=efs_for_lambda.id,\n root_directory={\n \"path\": \"/lambda\",\n \"creation_info\": {\n \"owner_gid\": 1000,\n \"owner_uid\": 1000,\n \"permissions\": \"777\",\n },\n },\n posix_user={\n \"gid\": 1000,\n \"uid\": 1000,\n })\n# A lambda function connected to an EFS file system\nexample = aws.lambda_.Function(\"example\",\n file_system_config={\n \"arn\": access_point_for_lambda.arn,\n \"local_mount_path\": \"/mnt/efs\",\n },\n vpc_config={\n \"subnet_ids\": [subnet_for_lambda[\"id\"]],\n \"security_group_ids\": [sg_for_lambda[\"id\"]],\n },\n opts = pulumi.ResourceOptions(depends_on=[alpha]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // EFS file system\n var efsForLambda = new Aws.Efs.FileSystem(\"efs_for_lambda\", new()\n {\n Tags = \n {\n { \"Name\", \"efs_for_lambda\" },\n },\n });\n\n // Mount target connects the file system to the subnet\n var alpha = new Aws.Efs.MountTarget(\"alpha\", new()\n {\n FileSystemId = efsForLambda.Id,\n SubnetId = subnetForLambda.Id,\n SecurityGroups = new[]\n {\n sgForLambda.Id,\n },\n });\n\n // EFS access point used by lambda file system\n var accessPointForLambda = new Aws.Efs.AccessPoint(\"access_point_for_lambda\", new()\n {\n FileSystemId = efsForLambda.Id,\n RootDirectory = new Aws.Efs.Inputs.AccessPointRootDirectoryArgs\n {\n Path = \"/lambda\",\n CreationInfo = new Aws.Efs.Inputs.AccessPointRootDirectoryCreationInfoArgs\n {\n OwnerGid = 1000,\n OwnerUid = 1000,\n Permissions = \"777\",\n },\n },\n PosixUser = new Aws.Efs.Inputs.AccessPointPosixUserArgs\n {\n Gid = 1000,\n Uid = 1000,\n },\n });\n\n // A lambda function connected to an EFS file system\n var example = new Aws.Lambda.Function(\"example\", new()\n {\n FileSystemConfig = new Aws.Lambda.Inputs.FunctionFileSystemConfigArgs\n {\n Arn = accessPointForLambda.Arn,\n LocalMountPath = \"/mnt/efs\",\n },\n VpcConfig = new Aws.Lambda.Inputs.FunctionVpcConfigArgs\n {\n SubnetIds = new[]\n {\n subnetForLambda.Id,\n },\n SecurityGroupIds = new[]\n {\n sgForLambda.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n alpha,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\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// EFS file system\n\t\tefsForLambda, err := efs.NewFileSystem(ctx, \"efs_for_lambda\", \u0026efs.FileSystemArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"efs_for_lambda\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Mount target connects the file system to the subnet\n\t\talpha, err := efs.NewMountTarget(ctx, \"alpha\", \u0026efs.MountTargetArgs{\n\t\t\tFileSystemId: efsForLambda.ID(),\n\t\t\tSubnetId: pulumi.Any(subnetForLambda.Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tsgForLambda.Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// EFS access point used by lambda file system\n\t\taccessPointForLambda, err := efs.NewAccessPoint(ctx, \"access_point_for_lambda\", \u0026efs.AccessPointArgs{\n\t\t\tFileSystemId: efsForLambda.ID(),\n\t\t\tRootDirectory: \u0026efs.AccessPointRootDirectoryArgs{\n\t\t\t\tPath: pulumi.String(\"/lambda\"),\n\t\t\t\tCreationInfo: \u0026efs.AccessPointRootDirectoryCreationInfoArgs{\n\t\t\t\t\tOwnerGid: pulumi.Int(1000),\n\t\t\t\t\tOwnerUid: pulumi.Int(1000),\n\t\t\t\t\tPermissions: pulumi.String(\"777\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPosixUser: \u0026efs.AccessPointPosixUserArgs{\n\t\t\t\tGid: pulumi.Int(1000),\n\t\t\t\tUid: pulumi.Int(1000),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// A lambda function connected to an EFS file system\n\t\t_, err = lambda.NewFunction(ctx, \"example\", \u0026lambda.FunctionArgs{\n\t\t\tFileSystemConfig: \u0026lambda.FunctionFileSystemConfigArgs{\n\t\t\t\tArn: accessPointForLambda.Arn,\n\t\t\t\tLocalMountPath: pulumi.String(\"/mnt/efs\"),\n\t\t\t},\n\t\t\tVpcConfig: \u0026lambda.FunctionVpcConfigArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tsubnetForLambda.Id,\n\t\t\t\t},\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tsgForLambda.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\talpha,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.FileSystemArgs;\nimport com.pulumi.aws.efs.MountTarget;\nimport com.pulumi.aws.efs.MountTargetArgs;\nimport com.pulumi.aws.efs.AccessPoint;\nimport com.pulumi.aws.efs.AccessPointArgs;\nimport com.pulumi.aws.efs.inputs.AccessPointRootDirectoryArgs;\nimport com.pulumi.aws.efs.inputs.AccessPointRootDirectoryCreationInfoArgs;\nimport com.pulumi.aws.efs.inputs.AccessPointPosixUserArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionFileSystemConfigArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionVpcConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // EFS file system\n var efsForLambda = new FileSystem(\"efsForLambda\", FileSystemArgs.builder()\n .tags(Map.of(\"Name\", \"efs_for_lambda\"))\n .build());\n\n // Mount target connects the file system to the subnet\n var alpha = new MountTarget(\"alpha\", MountTargetArgs.builder()\n .fileSystemId(efsForLambda.id())\n .subnetId(subnetForLambda.id())\n .securityGroups(sgForLambda.id())\n .build());\n\n // EFS access point used by lambda file system\n var accessPointForLambda = new AccessPoint(\"accessPointForLambda\", AccessPointArgs.builder()\n .fileSystemId(efsForLambda.id())\n .rootDirectory(AccessPointRootDirectoryArgs.builder()\n .path(\"/lambda\")\n .creationInfo(AccessPointRootDirectoryCreationInfoArgs.builder()\n .ownerGid(1000)\n .ownerUid(1000)\n .permissions(\"777\")\n .build())\n .build())\n .posixUser(AccessPointPosixUserArgs.builder()\n .gid(1000)\n .uid(1000)\n .build())\n .build());\n\n // A lambda function connected to an EFS file system\n var example = new Function(\"example\", FunctionArgs.builder()\n .fileSystemConfig(FunctionFileSystemConfigArgs.builder()\n .arn(accessPointForLambda.arn())\n .localMountPath(\"/mnt/efs\")\n .build())\n .vpcConfig(FunctionVpcConfigArgs.builder()\n .subnetIds(subnetForLambda.id())\n .securityGroupIds(sgForLambda.id())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(alpha)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # A lambda function connected to an EFS file system\n example:\n type: aws:lambda:Function\n properties:\n fileSystemConfig:\n arn: ${accessPointForLambda.arn}\n localMountPath: /mnt/efs\n vpcConfig:\n subnetIds:\n - ${subnetForLambda.id}\n securityGroupIds:\n - ${sgForLambda.id}\n options:\n dependson:\n - ${alpha}\n # EFS file system\n efsForLambda:\n type: aws:efs:FileSystem\n name: efs_for_lambda\n properties:\n tags:\n Name: efs_for_lambda\n # Mount target connects the file system to the subnet\n alpha:\n type: aws:efs:MountTarget\n properties:\n fileSystemId: ${efsForLambda.id}\n subnetId: ${subnetForLambda.id}\n securityGroups:\n - ${sgForLambda.id}\n # EFS access point used by lambda file system\n accessPointForLambda:\n type: aws:efs:AccessPoint\n name: access_point_for_lambda\n properties:\n fileSystemId: ${efsForLambda.id}\n rootDirectory:\n path: /lambda\n creationInfo:\n ownerGid: 1000\n ownerUid: 1000\n permissions: '777'\n posixUser:\n gid: 1000\n uid: 1000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda retries\n\nLambda Functions allow you to configure error handling for asynchronous invocation. The settings that it supports are `Maximum age of event` and `Retry attempts` as stated in [Lambda documentation for Configuring error handling for asynchronous invocation](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-errors). To configure these settings, refer to the aws.lambda.FunctionEventInvokeConfig resource.\n\n## CloudWatch Logging and Permissions\n\nFor more information about CloudWatch Logs for Lambda, see the [Lambda User Guide](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-logs.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lambdaFunctionName = config.get(\"lambdaFunctionName\") || \"lambda_function_name\";\n// This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n// If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\nconst example = new aws.cloudwatch.LogGroup(\"example\", {\n name: `/aws/lambda/${lambdaFunctionName}`,\n retentionInDays: 14,\n});\n// See also the following AWS managed policy: AWSLambdaBasicExecutionRole\nconst lambdaLogging = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources: [\"arn:aws:logs:*:*:*\"],\n }],\n});\nconst lambdaLoggingPolicy = new aws.iam.Policy(\"lambda_logging\", {\n name: \"lambda_logging\",\n path: \"/\",\n description: \"IAM policy for logging from a lambda\",\n policy: lambdaLogging.then(lambdaLogging =\u003e lambdaLogging.json),\n});\nconst lambdaLogs = new aws.iam.RolePolicyAttachment(\"lambda_logs\", {\n role: iamForLambda.name,\n policyArn: lambdaLoggingPolicy.arn,\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n name: lambdaFunctionName,\n loggingConfig: {\n logFormat: \"Text\",\n },\n}, {\n dependsOn: [\n lambdaLogs,\n example,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlambda_function_name = config.get(\"lambdaFunctionName\")\nif lambda_function_name is None:\n lambda_function_name = \"lambda_function_name\"\n# This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n# If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\nexample = aws.cloudwatch.LogGroup(\"example\",\n name=f\"/aws/lambda/{lambda_function_name}\",\n retention_in_days=14)\n# See also the following AWS managed policy: AWSLambdaBasicExecutionRole\nlambda_logging = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n \"resources\": [\"arn:aws:logs:*:*:*\"],\n}])\nlambda_logging_policy = aws.iam.Policy(\"lambda_logging\",\n name=\"lambda_logging\",\n path=\"/\",\n description=\"IAM policy for logging from a lambda\",\n policy=lambda_logging.json)\nlambda_logs = aws.iam.RolePolicyAttachment(\"lambda_logs\",\n role=iam_for_lambda[\"name\"],\n policy_arn=lambda_logging_policy.arn)\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n name=lambda_function_name,\n logging_config={\n \"log_format\": \"Text\",\n },\n opts = pulumi.ResourceOptions(depends_on=[\n lambda_logs,\n example,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lambdaFunctionName = config.Get(\"lambdaFunctionName\") ?? \"lambda_function_name\";\n // This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n // If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = $\"/aws/lambda/{lambdaFunctionName}\",\n RetentionInDays = 14,\n });\n\n // See also the following AWS managed policy: AWSLambdaBasicExecutionRole\n var lambdaLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*:*:*\",\n },\n },\n },\n });\n\n var lambdaLoggingPolicy = new Aws.Iam.Policy(\"lambda_logging\", new()\n {\n Name = \"lambda_logging\",\n Path = \"/\",\n Description = \"IAM policy for logging from a lambda\",\n PolicyDocument = lambdaLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaLogs = new Aws.Iam.RolePolicyAttachment(\"lambda_logs\", new()\n {\n Role = iamForLambda.Name,\n PolicyArn = lambdaLoggingPolicy.Arn,\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n Name = lambdaFunctionName,\n LoggingConfig = new Aws.Lambda.Inputs.FunctionLoggingConfigArgs\n {\n LogFormat = \"Text\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n lambdaLogs,\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlambdaFunctionName := \"lambda_function_name\"\n\t\tif param := cfg.Get(\"lambdaFunctionName\"); param != \"\" {\n\t\t\tlambdaFunctionName = param\n\t\t}\n\t\t// This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n\t\t// If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.Sprintf(\"/aws/lambda/%v\", lambdaFunctionName),\n\t\t\tRetentionInDays: pulumi.Int(14),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// See also the following AWS managed policy: AWSLambdaBasicExecutionRole\n\t\tlambdaLogging, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogGroup\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*:*:*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaLoggingPolicy, err := iam.NewPolicy(ctx, \"lambda_logging\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"lambda_logging\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tDescription: pulumi.String(\"IAM policy for logging from a lambda\"),\n\t\t\tPolicy: pulumi.String(lambdaLogging.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaLogs, err := iam.NewRolePolicyAttachment(ctx, \"lambda_logs\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: pulumi.Any(iamForLambda.Name),\n\t\t\tPolicyArn: lambdaLoggingPolicy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tName: pulumi.String(lambdaFunctionName),\n\t\t\tLoggingConfig: \u0026lambda.FunctionLoggingConfigArgs{\n\t\t\t\tLogFormat: pulumi.String(\"Text\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tlambdaLogs,\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionLoggingConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lambdaFunctionName = config.get(\"lambdaFunctionName\").orElse(\"lambda_function_name\");\n // This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n // If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\n var example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(String.format(\"/aws/lambda/%s\", lambdaFunctionName))\n .retentionInDays(14)\n .build());\n\n // See also the following AWS managed policy: AWSLambdaBasicExecutionRole\n final var lambdaLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .resources(\"arn:aws:logs:*:*:*\")\n .build())\n .build());\n\n var lambdaLoggingPolicy = new Policy(\"lambdaLoggingPolicy\", PolicyArgs.builder()\n .name(\"lambda_logging\")\n .path(\"/\")\n .description(\"IAM policy for logging from a lambda\")\n .policy(lambdaLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var lambdaLogs = new RolePolicyAttachment(\"lambdaLogs\", RolePolicyAttachmentArgs.builder()\n .role(iamForLambda.name())\n .policyArn(lambdaLoggingPolicy.arn())\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder()\n .name(lambdaFunctionName)\n .loggingConfig(FunctionLoggingConfigArgs.builder()\n .logFormat(\"Text\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n lambdaLogs,\n example)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lambdaFunctionName:\n type: string\n default: lambda_function_name\nresources:\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n name: ${lambdaFunctionName}\n loggingConfig:\n logFormat: Text\n options:\n dependson:\n - ${lambdaLogs}\n - ${example}\n # This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n # If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: /aws/lambda/${lambdaFunctionName}\n retentionInDays: 14\n lambdaLoggingPolicy:\n type: aws:iam:Policy\n name: lambda_logging\n properties:\n name: lambda_logging\n path: /\n description: IAM policy for logging from a lambda\n policy: ${lambdaLogging.json}\n lambdaLogs:\n type: aws:iam:RolePolicyAttachment\n name: lambda_logs\n properties:\n role: ${iamForLambda.name}\n policyArn: ${lambdaLoggingPolicy.arn}\nvariables:\n # See also the following AWS managed policy: AWSLambdaBasicExecutionRole\n lambdaLogging:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:PutLogEvents\n resources:\n - arn:aws:logs:*:*:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Specifying the Deployment Package\n\nAWS Lambda expects source code to be provided as a deployment package whose structure varies depending on which `runtime` is in use. See [Runtimes](https://docs.aws.amazon.com/lambda/latest/dg/API_CreateFunction.html#SSS-CreateFunction-request-Runtime) for the valid values of `runtime`. The expected structure of the deployment package can be found in [the AWS Lambda documentation for each runtime](https://docs.aws.amazon.com/lambda/latest/dg/deployment-package-v2.html).\n\nOnce you have created your deployment package you can specify it either directly as a local file (using the `filename` argument) or indirectly via Amazon S3 (using the `s3_bucket`, `s3_key` and `s3_object_version` arguments). When providing the deployment package via S3 it may be useful to use the `aws.s3.BucketObjectv2` resource to upload it.\n\nFor larger deployment packages it is recommended by Amazon to upload via S3, since the S3 API has better support for uploading large files efficiently.\n\n## Import\n\nUsing `pulumi import`, import Lambda Functions using the `function_name`. For example:\n\n```sh\n$ pulumi import aws:lambda/function:Function test_lambda my_test_lambda_function\n```\n", "properties": { "architectures": { "type": "array", @@ -294796,7 +294796,7 @@ } }, "aws:lambda/invocation:Invocation": { - "description": "Use this resource to invoke a lambda function. The lambda function is invoked with the [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) invocation type.\n\n\u003e **NOTE:** By default this resource _only_ invokes the function when the arguments call for a create or replace. In other words, after an initial invocation on _apply_, if the arguments do not change, a subsequent _apply_ does not invoke the function again. To dynamically invoke the function, see the `triggers` example below. To always invoke a function on each _apply_, see the `aws.lambda.Invocation` data source. To invoke the lambda function when the Pulumi resource is updated and deleted, see the CRUD Lifecycle Scope example below.\n\n\u003e **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.)\n\n## Example Usage\n\n### Dynamic Invocation Example Using Triggers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.lambda.Invocation(\"example\", {\n functionName: lambdaFunctionTest.functionName,\n triggers: {\n redeployment: std.sha1({\n input: JSON.stringify([exampleAwsLambdaFunction.environment]),\n }).then(invoke =\u003e invoke.result),\n },\n input: JSON.stringify({\n key1: \"value1\",\n key2: \"value2\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.lambda_.Invocation(\"example\",\n function_name=lambda_function_test[\"functionName\"],\n triggers={\n \"redeployment\": std.sha1(input=json.dumps([example_aws_lambda_function[\"environment\"]])).result,\n },\n input=json.dumps({\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.Invocation(\"example\", new()\n {\n FunctionName = lambdaFunctionTest.FunctionName,\n Triggers = \n {\n { \"redeployment\", Std.Sha1.Invoke(new()\n {\n Input = JsonSerializer.Serialize(new[]\n {\n exampleAwsLambdaFunction.Environment,\n }),\n }).Apply(invoke =\u003e invoke.Result) },\n },\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"key1\"] = \"value1\",\n [\"key2\"] = \"value2\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]interface{}{\n\t\t\texampleAwsLambdaFunction.Environment,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tinvokeSha1, err := std.Sha1(ctx, \u0026std.Sha1Args{\n\t\t\tInput: json0,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"key1\": \"value1\",\n\t\t\t\"key2\": \"value2\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = lambda.NewInvocation(ctx, \"example\", \u0026lambda.InvocationArgs{\n\t\t\tFunctionName: pulumi.Any(lambdaFunctionTest.FunctionName),\n\t\t\tTriggers: pulumi.StringMap{\n\t\t\t\t\"redeployment\": pulumi.String(invokeSha1.Result),\n\t\t\t},\n\t\t\tInput: pulumi.String(json1),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.Invocation;\nimport com.pulumi.aws.lambda.InvocationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Invocation(\"example\", InvocationArgs.builder()\n .functionName(lambdaFunctionTest.functionName())\n .triggers(Map.of(\"redeployment\", StdFunctions.sha1(Sha1Args.builder()\n .input(serializeJson(\n jsonArray(exampleAwsLambdaFunction.environment())))\n .build()).result()))\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"key1\", \"value1\"),\n jsonProperty(\"key2\", \"value2\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:Invocation\n properties:\n functionName: ${lambdaFunctionTest.functionName}\n triggers:\n redeployment:\n fn::invoke:\n function: std:sha1\n arguments:\n input:\n fn::toJSON:\n - ${exampleAwsLambdaFunction.environment}\n return: result\n input:\n fn::toJSON:\n key1: value1\n key2: value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CRUD Lifecycle Scope\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.Invocation(\"example\", {\n functionName: lambdaFunctionTest.functionName,\n input: JSON.stringify({\n key1: \"value1\",\n key2: \"value2\",\n }),\n lifecycleScope: \"CRUD\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.lambda_.Invocation(\"example\",\n function_name=lambda_function_test[\"functionName\"],\n input=json.dumps({\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n }),\n lifecycle_scope=\"CRUD\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.Invocation(\"example\", new()\n {\n FunctionName = lambdaFunctionTest.FunctionName,\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"key1\"] = \"value1\",\n [\"key2\"] = \"value2\",\n }),\n LifecycleScope = \"CRUD\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"key1\": \"value1\",\n\t\t\t\"key2\": \"value2\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = lambda.NewInvocation(ctx, \"example\", \u0026lambda.InvocationArgs{\n\t\t\tFunctionName: pulumi.Any(lambdaFunctionTest.FunctionName),\n\t\t\tInput: pulumi.String(json0),\n\t\t\tLifecycleScope: pulumi.String(\"CRUD\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.Invocation;\nimport com.pulumi.aws.lambda.InvocationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Invocation(\"example\", InvocationArgs.builder()\n .functionName(lambdaFunctionTest.functionName())\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"key1\", \"value1\"),\n jsonProperty(\"key2\", \"value2\")\n )))\n .lifecycleScope(\"CRUD\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:Invocation\n properties:\n functionName: ${lambdaFunctionTest.functionName}\n input:\n fn::toJSON:\n key1: value1\n key2: value2\n lifecycleScope: CRUD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** `lifecycle_scope = \"CRUD\"` will inject a key `tf` in the input event to pass lifecycle information! This allows the lambda function to handle different lifecycle transitions uniquely. If you need to use a key `tf` in your own input JSON, the default key name can be overridden with the `pulumi_key` argument.\n\nThe key `tf` gets added with subkeys:\n\n* `action` - Action Pulumi performs on the resource. Values are `create`, `update`, or `delete`.\n* `prev_input` - Input JSON payload from the previous invocation. This can be used to handle update and delete events.\n\nWhen the resource from the example above is created, the Lambda will get following JSON payload:\n\n```json\n{\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n \"tf\": {\n \"action\": \"create\",\n \"prev_input\": null\n }\n}\n```\n\nIf the input value of `key1` changes to \"valueB\", then the lambda will be invoked again with the following JSON payload:\n\n```json\n{\n \"key1\": \"valueB\",\n \"key2\": \"value2\",\n \"tf\": {\n \"action\": \"update\",\n \"prev_input\": {\n \"key1\": \"value1\",\n \"key2\": \"value2\"\n }\n }\n}\n```\n\nWhen the invocation resource is removed, the final invocation will have the following JSON payload:\n\n```json\n{\n \"key1\": \"valueB\",\n \"key2\": \"value2\",\n \"tf\": {\n \"action\": \"delete\",\n \"prev_input\": {\n \"key1\": \"valueB\",\n \"key2\": \"value2\"\n }\n }\n}\n```\n", + "description": "Use this resource to invoke a lambda function. The lambda function is invoked with the [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) invocation type.\n\n\u003e **NOTE:** By default this resource _only_ invokes the function when the arguments call for a create or replace. In other words, after an initial invocation on _apply_, if the arguments do not change, a subsequent _apply_ does not invoke the function again. To dynamically invoke the function, see the `triggers` example below. To always invoke a function on each _apply_, see the `aws.lambda.Invocation` data source. To invoke the lambda function when the Pulumi resource is updated and deleted, see the CRUD Lifecycle Scope example below.\n\n\u003e **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.)\n\n## Example Usage\n\n### Dynamic Invocation Example Using Triggers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.lambda.Invocation(\"example\", {\n functionName: lambdaFunctionTest.functionName,\n triggers: {\n redeployment: std.sha1({\n input: JSON.stringify([exampleAwsLambdaFunction.environment]),\n }).then(invoke =\u003e invoke.result),\n },\n input: JSON.stringify({\n key1: \"value1\",\n key2: \"value2\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.lambda_.Invocation(\"example\",\n function_name=lambda_function_test[\"functionName\"],\n triggers={\n \"redeployment\": std.sha1(input=json.dumps([example_aws_lambda_function[\"environment\"]])).result,\n },\n input=json.dumps({\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.Invocation(\"example\", new()\n {\n FunctionName = lambdaFunctionTest.FunctionName,\n Triggers = \n {\n { \"redeployment\", Std.Sha1.Invoke(new()\n {\n Input = JsonSerializer.Serialize(new[]\n {\n exampleAwsLambdaFunction.Environment,\n }),\n }).Apply(invoke =\u003e invoke.Result) },\n },\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"key1\"] = \"value1\",\n [\"key2\"] = \"value2\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]interface{}{\n\t\t\texampleAwsLambdaFunction.Environment,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tinvokeSha1, err := std.Sha1(ctx, \u0026std.Sha1Args{\n\t\t\tInput: json0,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"key1\": \"value1\",\n\t\t\t\"key2\": \"value2\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = lambda.NewInvocation(ctx, \"example\", \u0026lambda.InvocationArgs{\n\t\t\tFunctionName: pulumi.Any(lambdaFunctionTest.FunctionName),\n\t\t\tTriggers: pulumi.StringMap{\n\t\t\t\t\"redeployment\": pulumi.String(invokeSha1.Result),\n\t\t\t},\n\t\t\tInput: pulumi.String(json1),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.Invocation;\nimport com.pulumi.aws.lambda.InvocationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Invocation(\"example\", InvocationArgs.builder()\n .functionName(lambdaFunctionTest.functionName())\n .triggers(Map.of(\"redeployment\", StdFunctions.sha1(Sha1Args.builder()\n .input(serializeJson(\n jsonArray(exampleAwsLambdaFunction.environment())))\n .build()).result()))\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"key1\", \"value1\"),\n jsonProperty(\"key2\", \"value2\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:Invocation\n properties:\n functionName: ${lambdaFunctionTest.functionName}\n triggers:\n redeployment:\n fn::invoke:\n Function: std:sha1\n Arguments:\n input:\n fn::toJSON:\n - ${exampleAwsLambdaFunction.environment}\n Return: result\n input:\n fn::toJSON:\n key1: value1\n key2: value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CRUD Lifecycle Scope\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.Invocation(\"example\", {\n functionName: lambdaFunctionTest.functionName,\n input: JSON.stringify({\n key1: \"value1\",\n key2: \"value2\",\n }),\n lifecycleScope: \"CRUD\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.lambda_.Invocation(\"example\",\n function_name=lambda_function_test[\"functionName\"],\n input=json.dumps({\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n }),\n lifecycle_scope=\"CRUD\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.Invocation(\"example\", new()\n {\n FunctionName = lambdaFunctionTest.FunctionName,\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"key1\"] = \"value1\",\n [\"key2\"] = \"value2\",\n }),\n LifecycleScope = \"CRUD\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"key1\": \"value1\",\n\t\t\t\"key2\": \"value2\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = lambda.NewInvocation(ctx, \"example\", \u0026lambda.InvocationArgs{\n\t\t\tFunctionName: pulumi.Any(lambdaFunctionTest.FunctionName),\n\t\t\tInput: pulumi.String(json0),\n\t\t\tLifecycleScope: pulumi.String(\"CRUD\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.Invocation;\nimport com.pulumi.aws.lambda.InvocationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Invocation(\"example\", InvocationArgs.builder()\n .functionName(lambdaFunctionTest.functionName())\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"key1\", \"value1\"),\n jsonProperty(\"key2\", \"value2\")\n )))\n .lifecycleScope(\"CRUD\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:Invocation\n properties:\n functionName: ${lambdaFunctionTest.functionName}\n input:\n fn::toJSON:\n key1: value1\n key2: value2\n lifecycleScope: CRUD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** `lifecycle_scope = \"CRUD\"` will inject a key `tf` in the input event to pass lifecycle information! This allows the lambda function to handle different lifecycle transitions uniquely. If you need to use a key `tf` in your own input JSON, the default key name can be overridden with the `pulumi_key` argument.\n\nThe key `tf` gets added with subkeys:\n\n* `action` - Action Pulumi performs on the resource. Values are `create`, `update`, or `delete`.\n* `prev_input` - Input JSON payload from the previous invocation. This can be used to handle update and delete events.\n\nWhen the resource from the example above is created, the Lambda will get following JSON payload:\n\n```json\n{\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n \"tf\": {\n \"action\": \"create\",\n \"prev_input\": null\n }\n}\n```\n\nIf the input value of `key1` changes to \"valueB\", then the lambda will be invoked again with the following JSON payload:\n\n```json\n{\n \"key1\": \"valueB\",\n \"key2\": \"value2\",\n \"tf\": {\n \"action\": \"update\",\n \"prev_input\": {\n \"key1\": \"value1\",\n \"key2\": \"value2\"\n }\n }\n}\n```\n\nWhen the invocation resource is removed, the final invocation will have the following JSON payload:\n\n```json\n{\n \"key1\": \"valueB\",\n \"key2\": \"value2\",\n \"tf\": {\n \"action\": \"delete\",\n \"prev_input\": {\n \"key1\": \"valueB\",\n \"key2\": \"value2\"\n }\n }\n}\n```\n", "properties": { "functionName": { "type": "string", @@ -295317,7 +295317,7 @@ } }, "aws:lambda/permission:Permission": { - "description": "Gives an external source (like an EventBridge Rule, SNS, or S3) permission to access the Lambda function.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"lambda.amazonaws.com\",\n },\n }],\n }),\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n code: new pulumi.asset.FileArchive(\"lambdatest.zip\"),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"exports.handler\",\n runtime: aws.lambda.Runtime.NodeJS20dX,\n});\nconst testAlias = new aws.lambda.Alias(\"test_alias\", {\n name: \"testalias\",\n description: \"a sample description\",\n functionName: testLambda.name,\n functionVersion: \"$LATEST\",\n});\nconst allowCloudwatch = new aws.lambda.Permission(\"allow_cloudwatch\", {\n statementId: \"AllowExecutionFromCloudWatch\",\n action: \"lambda:InvokeFunction\",\n \"function\": testLambda.name,\n principal: \"events.amazonaws.com\",\n sourceArn: \"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\",\n qualifier: testAlias.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"lambda.amazonaws.com\",\n },\n }],\n }))\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n code=pulumi.FileArchive(\"lambdatest.zip\"),\n name=\"lambda_function_name\",\n role=iam_for_lambda.arn,\n handler=\"exports.handler\",\n runtime=aws.lambda_.Runtime.NODE_JS20D_X)\ntest_alias = aws.lambda_.Alias(\"test_alias\",\n name=\"testalias\",\n description=\"a sample description\",\n function_name=test_lambda.name,\n function_version=\"$LATEST\")\nallow_cloudwatch = aws.lambda_.Permission(\"allow_cloudwatch\",\n statement_id=\"AllowExecutionFromCloudWatch\",\n action=\"lambda:InvokeFunction\",\n function=test_lambda.name,\n principal=\"events.amazonaws.com\",\n source_arn=\"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\",\n qualifier=test_alias.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"lambda.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n Code = new FileArchive(\"lambdatest.zip\"),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"exports.handler\",\n Runtime = Aws.Lambda.Runtime.NodeJS20dX,\n });\n\n var testAlias = new Aws.Lambda.Alias(\"test_alias\", new()\n {\n Name = \"testalias\",\n Description = \"a sample description\",\n FunctionName = testLambda.Name,\n FunctionVersion = \"$LATEST\",\n });\n\n var allowCloudwatch = new Aws.Lambda.Permission(\"allow_cloudwatch\", new()\n {\n StatementId = \"AllowExecutionFromCloudWatch\",\n Action = \"lambda:InvokeFunction\",\n Function = testLambda.Name,\n Principal = \"events.amazonaws.com\",\n SourceArn = \"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\",\n Qualifier = testAlias.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"lambda.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestLambda, err := lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambdatest.zip\"),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS20dX),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestAlias, err := lambda.NewAlias(ctx, \"test_alias\", \u0026lambda.AliasArgs{\n\t\t\tName: pulumi.String(\"testalias\"),\n\t\t\tDescription: pulumi.String(\"a sample description\"),\n\t\t\tFunctionName: testLambda.Name,\n\t\t\tFunctionVersion: pulumi.String(\"$LATEST\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewPermission(ctx, \"allow_cloudwatch\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromCloudWatch\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: testLambda.Name,\n\t\t\tPrincipal: pulumi.String(\"events.amazonaws.com\"),\n\t\t\tSourceArn: pulumi.String(\"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\"),\n\t\t\tQualifier: testAlias.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.Alias;\nimport com.pulumi.aws.lambda.AliasArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder()\n .name(\"iam_for_lambda\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"lambda.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder()\n .code(new FileArchive(\"lambdatest.zip\"))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"exports.handler\")\n .runtime(\"nodejs20.x\")\n .build());\n\n var testAlias = new Alias(\"testAlias\", AliasArgs.builder()\n .name(\"testalias\")\n .description(\"a sample description\")\n .functionName(testLambda.name())\n .functionVersion(\"$LATEST\")\n .build());\n\n var allowCloudwatch = new Permission(\"allowCloudwatch\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromCloudWatch\")\n .action(\"lambda:InvokeFunction\")\n .function(testLambda.name())\n .principal(\"events.amazonaws.com\")\n .sourceArn(\"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\")\n .qualifier(testAlias.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n allowCloudwatch:\n type: aws:lambda:Permission\n name: allow_cloudwatch\n properties:\n statementId: AllowExecutionFromCloudWatch\n action: lambda:InvokeFunction\n function: ${testLambda.name}\n principal: events.amazonaws.com\n sourceArn: arn:aws:events:eu-west-1:111122223333:rule/RunDaily\n qualifier: ${testAlias.name}\n testAlias:\n type: aws:lambda:Alias\n name: test_alias\n properties:\n name: testalias\n description: a sample description\n functionName: ${testLambda.name}\n functionVersion: $LATEST\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n code:\n fn::FileArchive: lambdatest.zip\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: exports.handler\n runtime: nodejs20.x\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid: \"\"\n Principal:\n Service: lambda.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With SNS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.sns.Topic(\"default\", {name: \"call-lambda-maybe\"});\nconst defaultRole = new aws.iam.Role(\"default\", {\n name: \"iam_for_lambda_with_sns\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"lambda.amazonaws.com\",\n },\n }],\n }),\n});\nconst func = new aws.lambda.Function(\"func\", {\n code: new pulumi.asset.FileArchive(\"lambdatest.zip\"),\n name: \"lambda_called_from_sns\",\n role: defaultRole.arn,\n handler: \"exports.handler\",\n runtime: aws.lambda.Runtime.Python3d12,\n});\nconst withSns = new aws.lambda.Permission(\"with_sns\", {\n statementId: \"AllowExecutionFromSNS\",\n action: \"lambda:InvokeFunction\",\n \"function\": func.name,\n principal: \"sns.amazonaws.com\",\n sourceArn: _default.arn,\n});\nconst lambda = new aws.sns.TopicSubscription(\"lambda\", {\n topic: _default.arn,\n protocol: \"lambda\",\n endpoint: func.arn,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ndefault = aws.sns.Topic(\"default\", name=\"call-lambda-maybe\")\ndefault_role = aws.iam.Role(\"default\",\n name=\"iam_for_lambda_with_sns\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"lambda.amazonaws.com\",\n },\n }],\n }))\nfunc = aws.lambda_.Function(\"func\",\n code=pulumi.FileArchive(\"lambdatest.zip\"),\n name=\"lambda_called_from_sns\",\n role=default_role.arn,\n handler=\"exports.handler\",\n runtime=aws.lambda_.Runtime.PYTHON3D12)\nwith_sns = aws.lambda_.Permission(\"with_sns\",\n statement_id=\"AllowExecutionFromSNS\",\n action=\"lambda:InvokeFunction\",\n function=func.name,\n principal=\"sns.amazonaws.com\",\n source_arn=default.arn)\nlambda_ = aws.sns.TopicSubscription(\"lambda\",\n topic=default.arn,\n protocol=\"lambda\",\n endpoint=func.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Sns.Topic(\"default\", new()\n {\n Name = \"call-lambda-maybe\",\n });\n\n var defaultRole = new Aws.Iam.Role(\"default\", new()\n {\n Name = \"iam_for_lambda_with_sns\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"lambda.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var func = new Aws.Lambda.Function(\"func\", new()\n {\n Code = new FileArchive(\"lambdatest.zip\"),\n Name = \"lambda_called_from_sns\",\n Role = defaultRole.Arn,\n Handler = \"exports.handler\",\n Runtime = Aws.Lambda.Runtime.Python3d12,\n });\n\n var withSns = new Aws.Lambda.Permission(\"with_sns\", new()\n {\n StatementId = \"AllowExecutionFromSNS\",\n Action = \"lambda:InvokeFunction\",\n Function = func.Name,\n Principal = \"sns.amazonaws.com\",\n SourceArn = @default.Arn,\n });\n\n var lambda = new Aws.Sns.TopicSubscription(\"lambda\", new()\n {\n Topic = @default.Arn,\n Protocol = \"lambda\",\n Endpoint = func.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\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 := sns.NewTopic(ctx, \"default\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"call-lambda-maybe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"lambda.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tdefaultRole, err := iam.NewRole(ctx, \"default\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda_with_sns\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"func\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambdatest.zip\"),\n\t\t\tName: pulumi.String(\"lambda_called_from_sns\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimePython3d12),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewPermission(ctx, \"with_sns\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromSNS\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: _func.Name,\n\t\t\tPrincipal: pulumi.String(\"sns.amazonaws.com\"),\n\t\t\tSourceArn: _default.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sns.NewTopicSubscription(ctx, \"lambda\", \u0026sns.TopicSubscriptionArgs{\n\t\t\tTopic: _default.Arn,\n\t\t\tProtocol: pulumi.String(\"lambda\"),\n\t\t\tEndpoint: _func.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Topic(\"default\", TopicArgs.builder()\n .name(\"call-lambda-maybe\")\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(\"iam_for_lambda_with_sns\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"lambda.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var func = new Function(\"func\", FunctionArgs.builder()\n .code(new FileArchive(\"lambdatest.zip\"))\n .name(\"lambda_called_from_sns\")\n .role(defaultRole.arn())\n .handler(\"exports.handler\")\n .runtime(\"python3.12\")\n .build());\n\n var withSns = new Permission(\"withSns\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromSNS\")\n .action(\"lambda:InvokeFunction\")\n .function(func.name())\n .principal(\"sns.amazonaws.com\")\n .sourceArn(default_.arn())\n .build());\n\n var lambda = new TopicSubscription(\"lambda\", TopicSubscriptionArgs.builder()\n .topic(default_.arn())\n .protocol(\"lambda\")\n .endpoint(func.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n withSns:\n type: aws:lambda:Permission\n name: with_sns\n properties:\n statementId: AllowExecutionFromSNS\n action: lambda:InvokeFunction\n function: ${func.name}\n principal: sns.amazonaws.com\n sourceArn: ${default.arn}\n default:\n type: aws:sns:Topic\n properties:\n name: call-lambda-maybe\n lambda:\n type: aws:sns:TopicSubscription\n properties:\n topic: ${default.arn}\n protocol: lambda\n endpoint: ${func.arn}\n func:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: lambdatest.zip\n name: lambda_called_from_sns\n role: ${defaultRole.arn}\n handler: exports.handler\n runtime: python3.12\n defaultRole:\n type: aws:iam:Role\n name: default\n properties:\n name: iam_for_lambda_with_sns\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid: \"\"\n Principal:\n Service: lambda.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With API Gateway REST API\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst lambdaPermission = new aws.lambda.Permission(\"lambda_permission\", {\n statementId: \"AllowMyDemoAPIInvoke\",\n action: \"lambda:InvokeFunction\",\n \"function\": \"MyDemoFunction\",\n principal: \"apigateway.amazonaws.com\",\n sourceArn: pulumi.interpolate`${myDemoAPI.executionArn}/*`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nlambda_permission = aws.lambda_.Permission(\"lambda_permission\",\n statement_id=\"AllowMyDemoAPIInvoke\",\n action=\"lambda:InvokeFunction\",\n function=\"MyDemoFunction\",\n principal=\"apigateway.amazonaws.com\",\n source_arn=my_demo_api.execution_arn.apply(lambda execution_arn: f\"{execution_arn}/*\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var lambdaPermission = new Aws.Lambda.Permission(\"lambda_permission\", new()\n {\n StatementId = \"AllowMyDemoAPIInvoke\",\n Action = \"lambda:InvokeFunction\",\n Function = \"MyDemoFunction\",\n Principal = \"apigateway.amazonaws.com\",\n SourceArn = myDemoAPI.ExecutionArn.Apply(executionArn =\u003e $\"{executionArn}/*\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewPermission(ctx, \"lambda_permission\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowMyDemoAPIInvoke\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: pulumi.Any(\"MyDemoFunction\"),\n\t\t\tPrincipal: pulumi.String(\"apigateway.amazonaws.com\"),\n\t\t\tSourceArn: myDemoAPI.ExecutionArn.ApplyT(func(executionArn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v/*\", executionArn), nil\n\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder()\n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var lambdaPermission = new Permission(\"lambdaPermission\", PermissionArgs.builder()\n .statementId(\"AllowMyDemoAPIInvoke\")\n .action(\"lambda:InvokeFunction\")\n .function(\"MyDemoFunction\")\n .principal(\"apigateway.amazonaws.com\")\n .sourceArn(myDemoAPI.executionArn().applyValue(executionArn -\u003e String.format(\"%s/*\", executionArn)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n lambdaPermission:\n type: aws:lambda:Permission\n name: lambda_permission\n properties:\n statementId: AllowMyDemoAPIInvoke\n action: lambda:InvokeFunction\n function: MyDemoFunction\n principal: apigateway.amazonaws.com\n sourceArn: ${myDemoAPI.executionArn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With CloudWatch Log Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.cloudwatch.LogGroup(\"default\", {name: \"/default\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst defaultRole = new aws.iam.Role(\"default\", {\n name: \"iam_for_lambda_called_from_cloudwatch_logs\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst loggingFunction = new aws.lambda.Function(\"logging\", {\n code: new pulumi.asset.FileArchive(\"lamba_logging.zip\"),\n name: \"lambda_called_from_cloudwatch_logs\",\n handler: \"exports.handler\",\n role: defaultRole.arn,\n runtime: aws.lambda.Runtime.Python3d12,\n});\nconst logging = new aws.lambda.Permission(\"logging\", {\n action: \"lambda:InvokeFunction\",\n \"function\": loggingFunction.name,\n principal: \"logs.eu-west-1.amazonaws.com\",\n sourceArn: pulumi.interpolate`${_default.arn}:*`,\n});\nconst loggingLogSubscriptionFilter = new aws.cloudwatch.LogSubscriptionFilter(\"logging\", {\n destinationArn: loggingFunction.arn,\n filterPattern: \"\",\n logGroup: _default.name,\n name: \"logging_default\",\n}, {\n dependsOn: [logging],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.cloudwatch.LogGroup(\"default\", name=\"/default\")\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"lambda.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\ndefault_role = aws.iam.Role(\"default\",\n name=\"iam_for_lambda_called_from_cloudwatch_logs\",\n assume_role_policy=assume_role.json)\nlogging_function = aws.lambda_.Function(\"logging\",\n code=pulumi.FileArchive(\"lamba_logging.zip\"),\n name=\"lambda_called_from_cloudwatch_logs\",\n handler=\"exports.handler\",\n role=default_role.arn,\n runtime=aws.lambda_.Runtime.PYTHON3D12)\nlogging = aws.lambda_.Permission(\"logging\",\n action=\"lambda:InvokeFunction\",\n function=logging_function.name,\n principal=\"logs.eu-west-1.amazonaws.com\",\n source_arn=default.arn.apply(lambda arn: f\"{arn}:*\"))\nlogging_log_subscription_filter = aws.cloudwatch.LogSubscriptionFilter(\"logging\",\n destination_arn=logging_function.arn,\n filter_pattern=\"\",\n log_group=default.name,\n name=\"logging_default\",\n opts = pulumi.ResourceOptions(depends_on=[logging]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.CloudWatch.LogGroup(\"default\", new()\n {\n Name = \"/default\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var defaultRole = new Aws.Iam.Role(\"default\", new()\n {\n Name = \"iam_for_lambda_called_from_cloudwatch_logs\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var loggingFunction = new Aws.Lambda.Function(\"logging\", new()\n {\n Code = new FileArchive(\"lamba_logging.zip\"),\n Name = \"lambda_called_from_cloudwatch_logs\",\n Handler = \"exports.handler\",\n Role = defaultRole.Arn,\n Runtime = Aws.Lambda.Runtime.Python3d12,\n });\n\n var logging = new Aws.Lambda.Permission(\"logging\", new()\n {\n Action = \"lambda:InvokeFunction\",\n Function = loggingFunction.Name,\n Principal = \"logs.eu-west-1.amazonaws.com\",\n SourceArn = @default.Arn.Apply(arn =\u003e $\"{arn}:*\"),\n });\n\n var loggingLogSubscriptionFilter = new Aws.CloudWatch.LogSubscriptionFilter(\"logging\", new()\n {\n DestinationArn = loggingFunction.Arn,\n FilterPattern = \"\",\n LogGroup = @default.Name,\n Name = \"logging_default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n logging,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\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 := cloudwatch.NewLogGroup(ctx, \"default\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"/default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := iam.NewRole(ctx, \"default\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda_called_from_cloudwatch_logs\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tloggingFunction, err := lambda.NewFunction(ctx, \"logging\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lamba_logging.zip\"),\n\t\t\tName: pulumi.String(\"lambda_called_from_cloudwatch_logs\"),\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tRuntime: pulumi.String(lambda.RuntimePython3d12),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlogging, err := lambda.NewPermission(ctx, \"logging\", \u0026lambda.PermissionArgs{\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: loggingFunction.Name,\n\t\t\tPrincipal: pulumi.String(\"logs.eu-west-1.amazonaws.com\"),\n\t\t\tSourceArn: _default.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogSubscriptionFilter(ctx, \"logging\", \u0026cloudwatch.LogSubscriptionFilterArgs{\n\t\t\tDestinationArn: loggingFunction.Arn,\n\t\t\tFilterPattern: pulumi.String(\"\"),\n\t\t\tLogGroup: _default.Name,\n\t\t\tName: pulumi.String(\"logging_default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tlogging,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.cloudwatch.LogSubscriptionFilter;\nimport com.pulumi.aws.cloudwatch.LogSubscriptionFilterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new LogGroup(\"default\", LogGroupArgs.builder()\n .name(\"/default\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(\"iam_for_lambda_called_from_cloudwatch_logs\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var loggingFunction = new Function(\"loggingFunction\", FunctionArgs.builder()\n .code(new FileArchive(\"lamba_logging.zip\"))\n .name(\"lambda_called_from_cloudwatch_logs\")\n .handler(\"exports.handler\")\n .role(defaultRole.arn())\n .runtime(\"python3.12\")\n .build());\n\n var logging = new Permission(\"logging\", PermissionArgs.builder()\n .action(\"lambda:InvokeFunction\")\n .function(loggingFunction.name())\n .principal(\"logs.eu-west-1.amazonaws.com\")\n .sourceArn(default_.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .build());\n\n var loggingLogSubscriptionFilter = new LogSubscriptionFilter(\"loggingLogSubscriptionFilter\", LogSubscriptionFilterArgs.builder()\n .destinationArn(loggingFunction.arn())\n .filterPattern(\"\")\n .logGroup(default_.name())\n .name(\"logging_default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(logging)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n logging:\n type: aws:lambda:Permission\n properties:\n action: lambda:InvokeFunction\n function: ${loggingFunction.name}\n principal: logs.eu-west-1.amazonaws.com\n sourceArn: ${default.arn}:*\n default:\n type: aws:cloudwatch:LogGroup\n properties:\n name: /default\n loggingLogSubscriptionFilter:\n type: aws:cloudwatch:LogSubscriptionFilter\n name: logging\n properties:\n destinationArn: ${loggingFunction.arn}\n filterPattern: \"\"\n logGroup: ${default.name}\n name: logging_default\n options:\n dependsOn:\n - ${logging}\n loggingFunction:\n type: aws:lambda:Function\n name: logging\n properties:\n code:\n fn::FileArchive: lamba_logging.zip\n name: lambda_called_from_cloudwatch_logs\n handler: exports.handler\n role: ${defaultRole.arn}\n runtime: python3.12\n defaultRole:\n type: aws:iam:Role\n name: default\n properties:\n name: iam_for_lambda_called_from_cloudwatch_logs\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Cross-Account Invocation Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst url = new aws.lambda.FunctionUrl(\"url\", {\n functionName: example.functionName,\n authorizationType: \"AWS_IAM\",\n});\nconst urlPermission = new aws.lambda.Permission(\"url\", {\n action: \"lambda:InvokeFunctionUrl\",\n \"function\": example.functionName,\n principal: \"arn:aws:iam::444455556666:role/example\",\n sourceAccount: \"444455556666\",\n functionUrlAuthType: \"AWS_IAM\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nurl = aws.lambda_.FunctionUrl(\"url\",\n function_name=example[\"functionName\"],\n authorization_type=\"AWS_IAM\")\nurl_permission = aws.lambda_.Permission(\"url\",\n action=\"lambda:InvokeFunctionUrl\",\n function=example[\"functionName\"],\n principal=\"arn:aws:iam::444455556666:role/example\",\n source_account=\"444455556666\",\n function_url_auth_type=\"AWS_IAM\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var url = new Aws.Lambda.FunctionUrl(\"url\", new()\n {\n FunctionName = example.FunctionName,\n AuthorizationType = \"AWS_IAM\",\n });\n\n var urlPermission = new Aws.Lambda.Permission(\"url\", new()\n {\n Action = \"lambda:InvokeFunctionUrl\",\n Function = example.FunctionName,\n Principal = \"arn:aws:iam::444455556666:role/example\",\n SourceAccount = \"444455556666\",\n FunctionUrlAuthType = \"AWS_IAM\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\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 := lambda.NewFunctionUrl(ctx, \"url\", \u0026lambda.FunctionUrlArgs{\n\t\t\tFunctionName: pulumi.Any(example.FunctionName),\n\t\t\tAuthorizationType: pulumi.String(\"AWS_IAM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewPermission(ctx, \"url\", \u0026lambda.PermissionArgs{\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunctionUrl\"),\n\t\t\tFunction: pulumi.Any(example.FunctionName),\n\t\t\tPrincipal: pulumi.String(\"arn:aws:iam::444455556666:role/example\"),\n\t\t\tSourceAccount: pulumi.String(\"444455556666\"),\n\t\t\tFunctionUrlAuthType: pulumi.String(\"AWS_IAM\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.FunctionUrl;\nimport com.pulumi.aws.lambda.FunctionUrlArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var url = new FunctionUrl(\"url\", FunctionUrlArgs.builder()\n .functionName(example.functionName())\n .authorizationType(\"AWS_IAM\")\n .build());\n\n var urlPermission = new Permission(\"urlPermission\", PermissionArgs.builder()\n .action(\"lambda:InvokeFunctionUrl\")\n .function(example.functionName())\n .principal(\"arn:aws:iam::444455556666:role/example\")\n .sourceAccount(\"444455556666\")\n .functionUrlAuthType(\"AWS_IAM\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n url:\n type: aws:lambda:FunctionUrl\n properties:\n functionName: ${example.functionName}\n authorizationType: AWS_IAM\n urlPermission:\n type: aws:lambda:Permission\n name: url\n properties:\n action: lambda:InvokeFunctionUrl\n function: ${example.functionName}\n principal: arn:aws:iam::444455556666:role/example\n sourceAccount: '444455556666'\n functionUrlAuthType: AWS_IAM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lambda permission statements using function_name/statement_id with an optional qualifier. For example:\n\n```sh\n$ pulumi import aws:lambda/permission:Permission test_lambda_permission my_test_lambda_function/AllowExecutionFromCloudWatch\n```\n```sh\n$ pulumi import aws:lambda/permission:Permission test_lambda_permission my_test_lambda_function:qualifier_name/AllowExecutionFromCloudWatch\n```\n", + "description": "Gives an external source (like an EventBridge Rule, SNS, or S3) permission to access the Lambda function.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"lambda.amazonaws.com\",\n },\n }],\n }),\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n code: new pulumi.asset.FileArchive(\"lambdatest.zip\"),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"exports.handler\",\n runtime: aws.lambda.Runtime.NodeJS20dX,\n});\nconst testAlias = new aws.lambda.Alias(\"test_alias\", {\n name: \"testalias\",\n description: \"a sample description\",\n functionName: testLambda.name,\n functionVersion: \"$LATEST\",\n});\nconst allowCloudwatch = new aws.lambda.Permission(\"allow_cloudwatch\", {\n statementId: \"AllowExecutionFromCloudWatch\",\n action: \"lambda:InvokeFunction\",\n \"function\": testLambda.name,\n principal: \"events.amazonaws.com\",\n sourceArn: \"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\",\n qualifier: testAlias.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"lambda.amazonaws.com\",\n },\n }],\n }))\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n code=pulumi.FileArchive(\"lambdatest.zip\"),\n name=\"lambda_function_name\",\n role=iam_for_lambda.arn,\n handler=\"exports.handler\",\n runtime=aws.lambda_.Runtime.NODE_JS20D_X)\ntest_alias = aws.lambda_.Alias(\"test_alias\",\n name=\"testalias\",\n description=\"a sample description\",\n function_name=test_lambda.name,\n function_version=\"$LATEST\")\nallow_cloudwatch = aws.lambda_.Permission(\"allow_cloudwatch\",\n statement_id=\"AllowExecutionFromCloudWatch\",\n action=\"lambda:InvokeFunction\",\n function=test_lambda.name,\n principal=\"events.amazonaws.com\",\n source_arn=\"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\",\n qualifier=test_alias.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"lambda.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n Code = new FileArchive(\"lambdatest.zip\"),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"exports.handler\",\n Runtime = Aws.Lambda.Runtime.NodeJS20dX,\n });\n\n var testAlias = new Aws.Lambda.Alias(\"test_alias\", new()\n {\n Name = \"testalias\",\n Description = \"a sample description\",\n FunctionName = testLambda.Name,\n FunctionVersion = \"$LATEST\",\n });\n\n var allowCloudwatch = new Aws.Lambda.Permission(\"allow_cloudwatch\", new()\n {\n StatementId = \"AllowExecutionFromCloudWatch\",\n Action = \"lambda:InvokeFunction\",\n Function = testLambda.Name,\n Principal = \"events.amazonaws.com\",\n SourceArn = \"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\",\n Qualifier = testAlias.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"lambda.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestLambda, err := lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambdatest.zip\"),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS20dX),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestAlias, err := lambda.NewAlias(ctx, \"test_alias\", \u0026lambda.AliasArgs{\n\t\t\tName: pulumi.String(\"testalias\"),\n\t\t\tDescription: pulumi.String(\"a sample description\"),\n\t\t\tFunctionName: testLambda.Name,\n\t\t\tFunctionVersion: pulumi.String(\"$LATEST\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewPermission(ctx, \"allow_cloudwatch\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromCloudWatch\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: testLambda.Name,\n\t\t\tPrincipal: pulumi.String(\"events.amazonaws.com\"),\n\t\t\tSourceArn: pulumi.String(\"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\"),\n\t\t\tQualifier: testAlias.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.Alias;\nimport com.pulumi.aws.lambda.AliasArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder()\n .name(\"iam_for_lambda\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"lambda.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder()\n .code(new FileArchive(\"lambdatest.zip\"))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"exports.handler\")\n .runtime(\"nodejs20.x\")\n .build());\n\n var testAlias = new Alias(\"testAlias\", AliasArgs.builder()\n .name(\"testalias\")\n .description(\"a sample description\")\n .functionName(testLambda.name())\n .functionVersion(\"$LATEST\")\n .build());\n\n var allowCloudwatch = new Permission(\"allowCloudwatch\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromCloudWatch\")\n .action(\"lambda:InvokeFunction\")\n .function(testLambda.name())\n .principal(\"events.amazonaws.com\")\n .sourceArn(\"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\")\n .qualifier(testAlias.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n allowCloudwatch:\n type: aws:lambda:Permission\n name: allow_cloudwatch\n properties:\n statementId: AllowExecutionFromCloudWatch\n action: lambda:InvokeFunction\n function: ${testLambda.name}\n principal: events.amazonaws.com\n sourceArn: arn:aws:events:eu-west-1:111122223333:rule/RunDaily\n qualifier: ${testAlias.name}\n testAlias:\n type: aws:lambda:Alias\n name: test_alias\n properties:\n name: testalias\n description: a sample description\n functionName: ${testLambda.name}\n functionVersion: $LATEST\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n code:\n fn::FileArchive: lambdatest.zip\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: exports.handler\n runtime: nodejs20.x\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: lambda.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With SNS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.sns.Topic(\"default\", {name: \"call-lambda-maybe\"});\nconst defaultRole = new aws.iam.Role(\"default\", {\n name: \"iam_for_lambda_with_sns\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"lambda.amazonaws.com\",\n },\n }],\n }),\n});\nconst func = new aws.lambda.Function(\"func\", {\n code: new pulumi.asset.FileArchive(\"lambdatest.zip\"),\n name: \"lambda_called_from_sns\",\n role: defaultRole.arn,\n handler: \"exports.handler\",\n runtime: aws.lambda.Runtime.Python3d12,\n});\nconst withSns = new aws.lambda.Permission(\"with_sns\", {\n statementId: \"AllowExecutionFromSNS\",\n action: \"lambda:InvokeFunction\",\n \"function\": func.name,\n principal: \"sns.amazonaws.com\",\n sourceArn: _default.arn,\n});\nconst lambda = new aws.sns.TopicSubscription(\"lambda\", {\n topic: _default.arn,\n protocol: \"lambda\",\n endpoint: func.arn,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ndefault = aws.sns.Topic(\"default\", name=\"call-lambda-maybe\")\ndefault_role = aws.iam.Role(\"default\",\n name=\"iam_for_lambda_with_sns\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"lambda.amazonaws.com\",\n },\n }],\n }))\nfunc = aws.lambda_.Function(\"func\",\n code=pulumi.FileArchive(\"lambdatest.zip\"),\n name=\"lambda_called_from_sns\",\n role=default_role.arn,\n handler=\"exports.handler\",\n runtime=aws.lambda_.Runtime.PYTHON3D12)\nwith_sns = aws.lambda_.Permission(\"with_sns\",\n statement_id=\"AllowExecutionFromSNS\",\n action=\"lambda:InvokeFunction\",\n function=func.name,\n principal=\"sns.amazonaws.com\",\n source_arn=default.arn)\nlambda_ = aws.sns.TopicSubscription(\"lambda\",\n topic=default.arn,\n protocol=\"lambda\",\n endpoint=func.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Sns.Topic(\"default\", new()\n {\n Name = \"call-lambda-maybe\",\n });\n\n var defaultRole = new Aws.Iam.Role(\"default\", new()\n {\n Name = \"iam_for_lambda_with_sns\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"lambda.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var func = new Aws.Lambda.Function(\"func\", new()\n {\n Code = new FileArchive(\"lambdatest.zip\"),\n Name = \"lambda_called_from_sns\",\n Role = defaultRole.Arn,\n Handler = \"exports.handler\",\n Runtime = Aws.Lambda.Runtime.Python3d12,\n });\n\n var withSns = new Aws.Lambda.Permission(\"with_sns\", new()\n {\n StatementId = \"AllowExecutionFromSNS\",\n Action = \"lambda:InvokeFunction\",\n Function = func.Name,\n Principal = \"sns.amazonaws.com\",\n SourceArn = @default.Arn,\n });\n\n var lambda = new Aws.Sns.TopicSubscription(\"lambda\", new()\n {\n Topic = @default.Arn,\n Protocol = \"lambda\",\n Endpoint = func.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\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 := sns.NewTopic(ctx, \"default\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"call-lambda-maybe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"lambda.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\tdefaultRole, err := iam.NewRole(ctx, \"default\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda_with_sns\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"func\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambdatest.zip\"),\n\t\t\tName: pulumi.String(\"lambda_called_from_sns\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimePython3d12),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewPermission(ctx, \"with_sns\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromSNS\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: _func.Name,\n\t\t\tPrincipal: pulumi.String(\"sns.amazonaws.com\"),\n\t\t\tSourceArn: _default.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sns.NewTopicSubscription(ctx, \"lambda\", \u0026sns.TopicSubscriptionArgs{\n\t\t\tTopic: _default.Arn,\n\t\t\tProtocol: pulumi.String(\"lambda\"),\n\t\t\tEndpoint: _func.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Topic(\"default\", TopicArgs.builder()\n .name(\"call-lambda-maybe\")\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(\"iam_for_lambda_with_sns\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"lambda.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var func = new Function(\"func\", FunctionArgs.builder()\n .code(new FileArchive(\"lambdatest.zip\"))\n .name(\"lambda_called_from_sns\")\n .role(defaultRole.arn())\n .handler(\"exports.handler\")\n .runtime(\"python3.12\")\n .build());\n\n var withSns = new Permission(\"withSns\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromSNS\")\n .action(\"lambda:InvokeFunction\")\n .function(func.name())\n .principal(\"sns.amazonaws.com\")\n .sourceArn(default_.arn())\n .build());\n\n var lambda = new TopicSubscription(\"lambda\", TopicSubscriptionArgs.builder()\n .topic(default_.arn())\n .protocol(\"lambda\")\n .endpoint(func.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n withSns:\n type: aws:lambda:Permission\n name: with_sns\n properties:\n statementId: AllowExecutionFromSNS\n action: lambda:InvokeFunction\n function: ${func.name}\n principal: sns.amazonaws.com\n sourceArn: ${default.arn}\n default:\n type: aws:sns:Topic\n properties:\n name: call-lambda-maybe\n lambda:\n type: aws:sns:TopicSubscription\n properties:\n topic: ${default.arn}\n protocol: lambda\n endpoint: ${func.arn}\n func:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: lambdatest.zip\n name: lambda_called_from_sns\n role: ${defaultRole.arn}\n handler: exports.handler\n runtime: python3.12\n defaultRole:\n type: aws:iam:Role\n name: default\n properties:\n name: iam_for_lambda_with_sns\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: lambda.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With API Gateway REST API\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst lambdaPermission = new aws.lambda.Permission(\"lambda_permission\", {\n statementId: \"AllowMyDemoAPIInvoke\",\n action: \"lambda:InvokeFunction\",\n \"function\": \"MyDemoFunction\",\n principal: \"apigateway.amazonaws.com\",\n sourceArn: pulumi.interpolate`${myDemoAPI.executionArn}/*`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nlambda_permission = aws.lambda_.Permission(\"lambda_permission\",\n statement_id=\"AllowMyDemoAPIInvoke\",\n action=\"lambda:InvokeFunction\",\n function=\"MyDemoFunction\",\n principal=\"apigateway.amazonaws.com\",\n source_arn=my_demo_api.execution_arn.apply(lambda execution_arn: f\"{execution_arn}/*\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var lambdaPermission = new Aws.Lambda.Permission(\"lambda_permission\", new()\n {\n StatementId = \"AllowMyDemoAPIInvoke\",\n Action = \"lambda:InvokeFunction\",\n Function = \"MyDemoFunction\",\n Principal = \"apigateway.amazonaws.com\",\n SourceArn = myDemoAPI.ExecutionArn.Apply(executionArn =\u003e $\"{executionArn}/*\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewPermission(ctx, \"lambda_permission\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowMyDemoAPIInvoke\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: pulumi.Any(\"MyDemoFunction\"),\n\t\t\tPrincipal: pulumi.String(\"apigateway.amazonaws.com\"),\n\t\t\tSourceArn: myDemoAPI.ExecutionArn.ApplyT(func(executionArn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v/*\", executionArn), nil\n\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder()\n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var lambdaPermission = new Permission(\"lambdaPermission\", PermissionArgs.builder()\n .statementId(\"AllowMyDemoAPIInvoke\")\n .action(\"lambda:InvokeFunction\")\n .function(\"MyDemoFunction\")\n .principal(\"apigateway.amazonaws.com\")\n .sourceArn(myDemoAPI.executionArn().applyValue(executionArn -\u003e String.format(\"%s/*\", executionArn)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n lambdaPermission:\n type: aws:lambda:Permission\n name: lambda_permission\n properties:\n statementId: AllowMyDemoAPIInvoke\n action: lambda:InvokeFunction\n function: MyDemoFunction\n principal: apigateway.amazonaws.com\n sourceArn: ${myDemoAPI.executionArn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With CloudWatch Log Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.cloudwatch.LogGroup(\"default\", {name: \"/default\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst defaultRole = new aws.iam.Role(\"default\", {\n name: \"iam_for_lambda_called_from_cloudwatch_logs\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst loggingFunction = new aws.lambda.Function(\"logging\", {\n code: new pulumi.asset.FileArchive(\"lamba_logging.zip\"),\n name: \"lambda_called_from_cloudwatch_logs\",\n handler: \"exports.handler\",\n role: defaultRole.arn,\n runtime: aws.lambda.Runtime.Python3d12,\n});\nconst logging = new aws.lambda.Permission(\"logging\", {\n action: \"lambda:InvokeFunction\",\n \"function\": loggingFunction.name,\n principal: \"logs.eu-west-1.amazonaws.com\",\n sourceArn: pulumi.interpolate`${_default.arn}:*`,\n});\nconst loggingLogSubscriptionFilter = new aws.cloudwatch.LogSubscriptionFilter(\"logging\", {\n destinationArn: loggingFunction.arn,\n filterPattern: \"\",\n logGroup: _default.name,\n name: \"logging_default\",\n}, {\n dependsOn: [logging],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.cloudwatch.LogGroup(\"default\", name=\"/default\")\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"lambda.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\ndefault_role = aws.iam.Role(\"default\",\n name=\"iam_for_lambda_called_from_cloudwatch_logs\",\n assume_role_policy=assume_role.json)\nlogging_function = aws.lambda_.Function(\"logging\",\n code=pulumi.FileArchive(\"lamba_logging.zip\"),\n name=\"lambda_called_from_cloudwatch_logs\",\n handler=\"exports.handler\",\n role=default_role.arn,\n runtime=aws.lambda_.Runtime.PYTHON3D12)\nlogging = aws.lambda_.Permission(\"logging\",\n action=\"lambda:InvokeFunction\",\n function=logging_function.name,\n principal=\"logs.eu-west-1.amazonaws.com\",\n source_arn=default.arn.apply(lambda arn: f\"{arn}:*\"))\nlogging_log_subscription_filter = aws.cloudwatch.LogSubscriptionFilter(\"logging\",\n destination_arn=logging_function.arn,\n filter_pattern=\"\",\n log_group=default.name,\n name=\"logging_default\",\n opts = pulumi.ResourceOptions(depends_on=[logging]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.CloudWatch.LogGroup(\"default\", new()\n {\n Name = \"/default\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var defaultRole = new Aws.Iam.Role(\"default\", new()\n {\n Name = \"iam_for_lambda_called_from_cloudwatch_logs\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var loggingFunction = new Aws.Lambda.Function(\"logging\", new()\n {\n Code = new FileArchive(\"lamba_logging.zip\"),\n Name = \"lambda_called_from_cloudwatch_logs\",\n Handler = \"exports.handler\",\n Role = defaultRole.Arn,\n Runtime = Aws.Lambda.Runtime.Python3d12,\n });\n\n var logging = new Aws.Lambda.Permission(\"logging\", new()\n {\n Action = \"lambda:InvokeFunction\",\n Function = loggingFunction.Name,\n Principal = \"logs.eu-west-1.amazonaws.com\",\n SourceArn = @default.Arn.Apply(arn =\u003e $\"{arn}:*\"),\n });\n\n var loggingLogSubscriptionFilter = new Aws.CloudWatch.LogSubscriptionFilter(\"logging\", new()\n {\n DestinationArn = loggingFunction.Arn,\n FilterPattern = \"\",\n LogGroup = @default.Name,\n Name = \"logging_default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n logging,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\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 := cloudwatch.NewLogGroup(ctx, \"default\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"/default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := iam.NewRole(ctx, \"default\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda_called_from_cloudwatch_logs\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tloggingFunction, err := lambda.NewFunction(ctx, \"logging\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lamba_logging.zip\"),\n\t\t\tName: pulumi.String(\"lambda_called_from_cloudwatch_logs\"),\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tRuntime: pulumi.String(lambda.RuntimePython3d12),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlogging, err := lambda.NewPermission(ctx, \"logging\", \u0026lambda.PermissionArgs{\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: loggingFunction.Name,\n\t\t\tPrincipal: pulumi.String(\"logs.eu-west-1.amazonaws.com\"),\n\t\t\tSourceArn: _default.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogSubscriptionFilter(ctx, \"logging\", \u0026cloudwatch.LogSubscriptionFilterArgs{\n\t\t\tDestinationArn: loggingFunction.Arn,\n\t\t\tFilterPattern: pulumi.String(\"\"),\n\t\t\tLogGroup: _default.Name,\n\t\t\tName: pulumi.String(\"logging_default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tlogging,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.cloudwatch.LogSubscriptionFilter;\nimport com.pulumi.aws.cloudwatch.LogSubscriptionFilterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new LogGroup(\"default\", LogGroupArgs.builder()\n .name(\"/default\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(\"iam_for_lambda_called_from_cloudwatch_logs\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var loggingFunction = new Function(\"loggingFunction\", FunctionArgs.builder()\n .code(new FileArchive(\"lamba_logging.zip\"))\n .name(\"lambda_called_from_cloudwatch_logs\")\n .handler(\"exports.handler\")\n .role(defaultRole.arn())\n .runtime(\"python3.12\")\n .build());\n\n var logging = new Permission(\"logging\", PermissionArgs.builder()\n .action(\"lambda:InvokeFunction\")\n .function(loggingFunction.name())\n .principal(\"logs.eu-west-1.amazonaws.com\")\n .sourceArn(default_.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .build());\n\n var loggingLogSubscriptionFilter = new LogSubscriptionFilter(\"loggingLogSubscriptionFilter\", LogSubscriptionFilterArgs.builder()\n .destinationArn(loggingFunction.arn())\n .filterPattern(\"\")\n .logGroup(default_.name())\n .name(\"logging_default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(logging)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n logging:\n type: aws:lambda:Permission\n properties:\n action: lambda:InvokeFunction\n function: ${loggingFunction.name}\n principal: logs.eu-west-1.amazonaws.com\n sourceArn: ${default.arn}:*\n default:\n type: aws:cloudwatch:LogGroup\n properties:\n name: /default\n loggingLogSubscriptionFilter:\n type: aws:cloudwatch:LogSubscriptionFilter\n name: logging\n properties:\n destinationArn: ${loggingFunction.arn}\n filterPattern:\n logGroup: ${default.name}\n name: logging_default\n options:\n dependson:\n - ${logging}\n loggingFunction:\n type: aws:lambda:Function\n name: logging\n properties:\n code:\n fn::FileArchive: lamba_logging.zip\n name: lambda_called_from_cloudwatch_logs\n handler: exports.handler\n role: ${defaultRole.arn}\n runtime: python3.12\n defaultRole:\n type: aws:iam:Role\n name: default\n properties:\n name: iam_for_lambda_called_from_cloudwatch_logs\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Cross-Account Invocation Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst url = new aws.lambda.FunctionUrl(\"url\", {\n functionName: example.functionName,\n authorizationType: \"AWS_IAM\",\n});\nconst urlPermission = new aws.lambda.Permission(\"url\", {\n action: \"lambda:InvokeFunctionUrl\",\n \"function\": example.functionName,\n principal: \"arn:aws:iam::444455556666:role/example\",\n sourceAccount: \"444455556666\",\n functionUrlAuthType: \"AWS_IAM\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nurl = aws.lambda_.FunctionUrl(\"url\",\n function_name=example[\"functionName\"],\n authorization_type=\"AWS_IAM\")\nurl_permission = aws.lambda_.Permission(\"url\",\n action=\"lambda:InvokeFunctionUrl\",\n function=example[\"functionName\"],\n principal=\"arn:aws:iam::444455556666:role/example\",\n source_account=\"444455556666\",\n function_url_auth_type=\"AWS_IAM\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var url = new Aws.Lambda.FunctionUrl(\"url\", new()\n {\n FunctionName = example.FunctionName,\n AuthorizationType = \"AWS_IAM\",\n });\n\n var urlPermission = new Aws.Lambda.Permission(\"url\", new()\n {\n Action = \"lambda:InvokeFunctionUrl\",\n Function = example.FunctionName,\n Principal = \"arn:aws:iam::444455556666:role/example\",\n SourceAccount = \"444455556666\",\n FunctionUrlAuthType = \"AWS_IAM\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\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 := lambda.NewFunctionUrl(ctx, \"url\", \u0026lambda.FunctionUrlArgs{\n\t\t\tFunctionName: pulumi.Any(example.FunctionName),\n\t\t\tAuthorizationType: pulumi.String(\"AWS_IAM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewPermission(ctx, \"url\", \u0026lambda.PermissionArgs{\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunctionUrl\"),\n\t\t\tFunction: pulumi.Any(example.FunctionName),\n\t\t\tPrincipal: pulumi.String(\"arn:aws:iam::444455556666:role/example\"),\n\t\t\tSourceAccount: pulumi.String(\"444455556666\"),\n\t\t\tFunctionUrlAuthType: pulumi.String(\"AWS_IAM\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.FunctionUrl;\nimport com.pulumi.aws.lambda.FunctionUrlArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var url = new FunctionUrl(\"url\", FunctionUrlArgs.builder()\n .functionName(example.functionName())\n .authorizationType(\"AWS_IAM\")\n .build());\n\n var urlPermission = new Permission(\"urlPermission\", PermissionArgs.builder()\n .action(\"lambda:InvokeFunctionUrl\")\n .function(example.functionName())\n .principal(\"arn:aws:iam::444455556666:role/example\")\n .sourceAccount(\"444455556666\")\n .functionUrlAuthType(\"AWS_IAM\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n url:\n type: aws:lambda:FunctionUrl\n properties:\n functionName: ${example.functionName}\n authorizationType: AWS_IAM\n urlPermission:\n type: aws:lambda:Permission\n name: url\n properties:\n action: lambda:InvokeFunctionUrl\n function: ${example.functionName}\n principal: arn:aws:iam::444455556666:role/example\n sourceAccount: '444455556666'\n functionUrlAuthType: AWS_IAM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lambda permission statements using function_name/statement_id with an optional qualifier. For example:\n\n```sh\n$ pulumi import aws:lambda/permission:Permission test_lambda_permission my_test_lambda_function/AllowExecutionFromCloudWatch\n```\n```sh\n$ pulumi import aws:lambda/permission:Permission test_lambda_permission my_test_lambda_function:qualifier_name/AllowExecutionFromCloudWatch\n```\n", "properties": { "action": { "type": "string", @@ -296920,7 +296920,7 @@ ] }, "aws:lb/targetGroupAttachment:TargetGroupAttachment": { - "description": "Provides the ability to register instances and containers with an Application Load Balancer (ALB) or Network Load Balancer (NLB) target group. For attaching resources with Elastic Load Balancer (ELB), see the `aws.elb.Attachment` resource.\n\n\u003e **Note:** `aws.alb.TargetGroupAttachment` is known as `aws.lb.TargetGroupAttachment`. The functionality is identical.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTargetGroup = new aws.lb.TargetGroup(\"test\", {});\nconst testInstance = new aws.ec2.Instance(\"test\", {});\nconst test = new aws.lb.TargetGroupAttachment(\"test\", {\n targetGroupArn: testTargetGroup.arn,\n targetId: testInstance.id,\n port: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_target_group = aws.lb.TargetGroup(\"test\")\ntest_instance = aws.ec2.Instance(\"test\")\ntest = aws.lb.TargetGroupAttachment(\"test\",\n target_group_arn=test_target_group.arn,\n target_id=test_instance.id,\n port=80)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTargetGroup = new Aws.LB.TargetGroup(\"test\");\n\n var testInstance = new Aws.Ec2.Instance(\"test\");\n\n var test = new Aws.LB.TargetGroupAttachment(\"test\", new()\n {\n TargetGroupArn = testTargetGroup.Arn,\n TargetId = testInstance.Id,\n Port = 80,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestTargetGroup, err := lb.NewTargetGroup(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := ec2.NewInstance(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroupAttachment(ctx, \"test\", \u0026lb.TargetGroupAttachmentArgs{\n\t\t\tTargetGroupArn: testTargetGroup.Arn,\n\t\t\tTargetId: testInstance.ID(),\n\t\t\tPort: pulumi.Int(80),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.lb.TargetGroupAttachment;\nimport com.pulumi.aws.lb.TargetGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testTargetGroup = new TargetGroup(\"testTargetGroup\");\n\n var testInstance = new Instance(\"testInstance\");\n\n var test = new TargetGroupAttachment(\"test\", TargetGroupAttachmentArgs.builder()\n .targetGroupArn(testTargetGroup.arn())\n .targetId(testInstance.id())\n .port(80)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lb:TargetGroupAttachment\n properties:\n targetGroupArn: ${testTargetGroup.arn}\n targetId: ${testInstance.id}\n port: 80\n testTargetGroup:\n type: aws:lb:TargetGroup\n name: test\n testInstance:\n type: aws:ec2:Instance\n name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.TargetGroup(\"test\", {\n name: \"test\",\n targetType: \"lambda\",\n});\nconst testFunction = new aws.lambda.Function(\"test\", {});\nconst withLb = new aws.lambda.Permission(\"with_lb\", {\n statementId: \"AllowExecutionFromlb\",\n action: \"lambda:InvokeFunction\",\n \"function\": testFunction.name,\n principal: \"elasticloadbalancing.amazonaws.com\",\n sourceArn: test.arn,\n});\nconst testTargetGroupAttachment = new aws.lb.TargetGroupAttachment(\"test\", {\n targetGroupArn: test.arn,\n targetId: testFunction.arn,\n}, {\n dependsOn: [withLb],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.TargetGroup(\"test\",\n name=\"test\",\n target_type=\"lambda\")\ntest_function = aws.lambda_.Function(\"test\")\nwith_lb = aws.lambda_.Permission(\"with_lb\",\n statement_id=\"AllowExecutionFromlb\",\n action=\"lambda:InvokeFunction\",\n function=test_function.name,\n principal=\"elasticloadbalancing.amazonaws.com\",\n source_arn=test.arn)\ntest_target_group_attachment = aws.lb.TargetGroupAttachment(\"test\",\n target_group_arn=test.arn,\n target_id=test_function.arn,\n opts = pulumi.ResourceOptions(depends_on=[with_lb]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LB.TargetGroup(\"test\", new()\n {\n Name = \"test\",\n TargetType = \"lambda\",\n });\n\n var testFunction = new Aws.Lambda.Function(\"test\");\n\n var withLb = new Aws.Lambda.Permission(\"with_lb\", new()\n {\n StatementId = \"AllowExecutionFromlb\",\n Action = \"lambda:InvokeFunction\",\n Function = testFunction.Name,\n Principal = \"elasticloadbalancing.amazonaws.com\",\n SourceArn = test.Arn,\n });\n\n var testTargetGroupAttachment = new Aws.LB.TargetGroupAttachment(\"test\", new()\n {\n TargetGroupArn = test.Arn,\n TargetId = testFunction.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n withLb,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lb.NewTargetGroup(ctx, \"test\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tTargetType: pulumi.String(\"lambda\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestFunction, err := lambda.NewFunction(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twithLb, err := lambda.NewPermission(ctx, \"with_lb\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromlb\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: testFunction.Name,\n\t\t\tPrincipal: pulumi.String(\"elasticloadbalancing.amazonaws.com\"),\n\t\t\tSourceArn: test.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroupAttachment(ctx, \"test\", \u0026lb.TargetGroupAttachmentArgs{\n\t\t\tTargetGroupArn: test.Arn,\n\t\t\tTargetId: testFunction.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\twithLb,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.lb.TargetGroupAttachment;\nimport com.pulumi.aws.lb.TargetGroupAttachmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TargetGroup(\"test\", TargetGroupArgs.builder()\n .name(\"test\")\n .targetType(\"lambda\")\n .build());\n\n var testFunction = new Function(\"testFunction\");\n\n var withLb = new Permission(\"withLb\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromlb\")\n .action(\"lambda:InvokeFunction\")\n .function(testFunction.name())\n .principal(\"elasticloadbalancing.amazonaws.com\")\n .sourceArn(test.arn())\n .build());\n\n var testTargetGroupAttachment = new TargetGroupAttachment(\"testTargetGroupAttachment\", TargetGroupAttachmentArgs.builder()\n .targetGroupArn(test.arn())\n .targetId(testFunction.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(withLb)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n withLb:\n type: aws:lambda:Permission\n name: with_lb\n properties:\n statementId: AllowExecutionFromlb\n action: lambda:InvokeFunction\n function: ${testFunction.name}\n principal: elasticloadbalancing.amazonaws.com\n sourceArn: ${test.arn}\n test:\n type: aws:lb:TargetGroup\n properties:\n name: test\n targetType: lambda\n testFunction:\n type: aws:lambda:Function\n name: test\n testTargetGroupAttachment:\n type: aws:lb:TargetGroupAttachment\n name: test\n properties:\n targetGroupArn: ${test.arn}\n targetId: ${testFunction.arn}\n options:\n dependsOn:\n - ${withLb}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Registering Multiple Targets\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example: aws.ec2.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 3; range.value++) {\n example.push(new aws.ec2.Instance(`example-${range.value}`, {}));\n}\nconst exampleTargetGroup = new aws.lb.TargetGroup(\"example\", {});\nconst exampleTargetGroupAttachment: aws.lb.TargetGroupAttachment[] = [];\npulumi.all(example.map((v, k) =\u003e [k, v]).reduce((__obj, [, ]) =\u003e ({ ...__obj, [k]: v }))).apply(rangeBody =\u003e {\n for (const range of Object.entries(rangeBody).map(([k, v]) =\u003e ({key: k, value: v}))) {\n exampleTargetGroupAttachment.push(new aws.lb.TargetGroupAttachment(`example-${range.key}`, {\n targetGroupArn: exampleTargetGroup.arn,\n targetId: range.value.id,\n port: 80,\n }));\n }\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = []\nfor range in [{\"value\": i} for i in range(0, 3)]:\n example.append(aws.ec2.Instance(f\"example-{range['value']}\"))\nexample_target_group = aws.lb.TargetGroup(\"example\")\nexample_target_group_attachment = []\ndef create_example(range_body):\n for range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(range_body)]:\n example_target_group_attachment.append(aws.lb.TargetGroupAttachment(f\"example-{range['key']}\",\n target_group_arn=example_target_group.arn,\n target_id=range[\"value\"],\n port=80))\n\npulumi.Output.all({k: v for k, v in example}).apply(lambda resolved_outputs: create_example(resolved_outputs[0]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new List\u003cAws.Ec2.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 3; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n example.Add(new Aws.Ec2.Instance($\"example-{range.Value}\", new()\n {\n }));\n }\n var exampleTargetGroup = new Aws.LB.TargetGroup(\"example\");\n\n var exampleTargetGroupAttachment = new List\u003cAws.LB.TargetGroupAttachment\u003e();\n foreach (var range in example.Select((value, i) =\u003e new { Key = i.ToString(), Value = pair.Value }).Select(pair =\u003e new { pair.Key, pair.Value }))\n {\n exampleTargetGroupAttachment.Add(new Aws.LB.TargetGroupAttachment($\"example-{range.Key}\", new()\n {\n TargetGroupArn = exampleTargetGroup.Arn,\n TargetId = range.Value.Id,\n Port = 80,\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar example []*ec2.Instance\nfor index := 0; index \u003c 3; index++ {\n key0 := index\n _ := index\n__res, err := ec2.NewInstance(ctx, fmt.Sprintf(\"example-%v\", key0), nil)\nif err != nil {\nreturn err\n}\nexample = append(example, __res)\n}\nexampleTargetGroup, err := lb.NewTargetGroup(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nvar exampleTargetGroupAttachment []*lb.TargetGroupAttachment\nfor key0, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\n__res, err := lb.NewTargetGroupAttachment(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026lb.TargetGroupAttachmentArgs{\nTargetGroupArn: exampleTargetGroup.Arn,\nTargetId: pulumi.String(val0),\nPort: pulumi.Int(80),\n})\nif err != nil {\nreturn err\n}\nexampleTargetGroupAttachment = append(exampleTargetGroupAttachment, __res)\n}\nreturn nil\n})\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Instance\n options: {}\n exampleTargetGroup:\n type: aws:lb:TargetGroup\n name: example\n exampleTargetGroupAttachment:\n type: aws:lb:TargetGroupAttachment\n name: example\n properties:\n targetGroupArn: ${exampleTargetGroup.arn}\n targetId: ${range.value.id}\n port: 80\n options: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import Target Group Attachments.\n\n", + "description": "Provides the ability to register instances and containers with an Application Load Balancer (ALB) or Network Load Balancer (NLB) target group. For attaching resources with Elastic Load Balancer (ELB), see the `aws.elb.Attachment` resource.\n\n\u003e **Note:** `aws.alb.TargetGroupAttachment` is known as `aws.lb.TargetGroupAttachment`. The functionality is identical.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTargetGroup = new aws.lb.TargetGroup(\"test\", {});\nconst testInstance = new aws.ec2.Instance(\"test\", {});\nconst test = new aws.lb.TargetGroupAttachment(\"test\", {\n targetGroupArn: testTargetGroup.arn,\n targetId: testInstance.id,\n port: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_target_group = aws.lb.TargetGroup(\"test\")\ntest_instance = aws.ec2.Instance(\"test\")\ntest = aws.lb.TargetGroupAttachment(\"test\",\n target_group_arn=test_target_group.arn,\n target_id=test_instance.id,\n port=80)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTargetGroup = new Aws.LB.TargetGroup(\"test\");\n\n var testInstance = new Aws.Ec2.Instance(\"test\");\n\n var test = new Aws.LB.TargetGroupAttachment(\"test\", new()\n {\n TargetGroupArn = testTargetGroup.Arn,\n TargetId = testInstance.Id,\n Port = 80,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestTargetGroup, err := lb.NewTargetGroup(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := ec2.NewInstance(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroupAttachment(ctx, \"test\", \u0026lb.TargetGroupAttachmentArgs{\n\t\t\tTargetGroupArn: testTargetGroup.Arn,\n\t\t\tTargetId: testInstance.ID(),\n\t\t\tPort: pulumi.Int(80),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.lb.TargetGroupAttachment;\nimport com.pulumi.aws.lb.TargetGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testTargetGroup = new TargetGroup(\"testTargetGroup\");\n\n var testInstance = new Instance(\"testInstance\");\n\n var test = new TargetGroupAttachment(\"test\", TargetGroupAttachmentArgs.builder()\n .targetGroupArn(testTargetGroup.arn())\n .targetId(testInstance.id())\n .port(80)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lb:TargetGroupAttachment\n properties:\n targetGroupArn: ${testTargetGroup.arn}\n targetId: ${testInstance.id}\n port: 80\n testTargetGroup:\n type: aws:lb:TargetGroup\n name: test\n testInstance:\n type: aws:ec2:Instance\n name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.TargetGroup(\"test\", {\n name: \"test\",\n targetType: \"lambda\",\n});\nconst testFunction = new aws.lambda.Function(\"test\", {});\nconst withLb = new aws.lambda.Permission(\"with_lb\", {\n statementId: \"AllowExecutionFromlb\",\n action: \"lambda:InvokeFunction\",\n \"function\": testFunction.name,\n principal: \"elasticloadbalancing.amazonaws.com\",\n sourceArn: test.arn,\n});\nconst testTargetGroupAttachment = new aws.lb.TargetGroupAttachment(\"test\", {\n targetGroupArn: test.arn,\n targetId: testFunction.arn,\n}, {\n dependsOn: [withLb],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.TargetGroup(\"test\",\n name=\"test\",\n target_type=\"lambda\")\ntest_function = aws.lambda_.Function(\"test\")\nwith_lb = aws.lambda_.Permission(\"with_lb\",\n statement_id=\"AllowExecutionFromlb\",\n action=\"lambda:InvokeFunction\",\n function=test_function.name,\n principal=\"elasticloadbalancing.amazonaws.com\",\n source_arn=test.arn)\ntest_target_group_attachment = aws.lb.TargetGroupAttachment(\"test\",\n target_group_arn=test.arn,\n target_id=test_function.arn,\n opts = pulumi.ResourceOptions(depends_on=[with_lb]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LB.TargetGroup(\"test\", new()\n {\n Name = \"test\",\n TargetType = \"lambda\",\n });\n\n var testFunction = new Aws.Lambda.Function(\"test\");\n\n var withLb = new Aws.Lambda.Permission(\"with_lb\", new()\n {\n StatementId = \"AllowExecutionFromlb\",\n Action = \"lambda:InvokeFunction\",\n Function = testFunction.Name,\n Principal = \"elasticloadbalancing.amazonaws.com\",\n SourceArn = test.Arn,\n });\n\n var testTargetGroupAttachment = new Aws.LB.TargetGroupAttachment(\"test\", new()\n {\n TargetGroupArn = test.Arn,\n TargetId = testFunction.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n withLb,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lb.NewTargetGroup(ctx, \"test\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tTargetType: pulumi.String(\"lambda\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestFunction, err := lambda.NewFunction(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twithLb, err := lambda.NewPermission(ctx, \"with_lb\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromlb\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: testFunction.Name,\n\t\t\tPrincipal: pulumi.String(\"elasticloadbalancing.amazonaws.com\"),\n\t\t\tSourceArn: test.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroupAttachment(ctx, \"test\", \u0026lb.TargetGroupAttachmentArgs{\n\t\t\tTargetGroupArn: test.Arn,\n\t\t\tTargetId: testFunction.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\twithLb,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.lb.TargetGroupAttachment;\nimport com.pulumi.aws.lb.TargetGroupAttachmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TargetGroup(\"test\", TargetGroupArgs.builder()\n .name(\"test\")\n .targetType(\"lambda\")\n .build());\n\n var testFunction = new Function(\"testFunction\");\n\n var withLb = new Permission(\"withLb\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromlb\")\n .action(\"lambda:InvokeFunction\")\n .function(testFunction.name())\n .principal(\"elasticloadbalancing.amazonaws.com\")\n .sourceArn(test.arn())\n .build());\n\n var testTargetGroupAttachment = new TargetGroupAttachment(\"testTargetGroupAttachment\", TargetGroupAttachmentArgs.builder()\n .targetGroupArn(test.arn())\n .targetId(testFunction.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(withLb)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n withLb:\n type: aws:lambda:Permission\n name: with_lb\n properties:\n statementId: AllowExecutionFromlb\n action: lambda:InvokeFunction\n function: ${testFunction.name}\n principal: elasticloadbalancing.amazonaws.com\n sourceArn: ${test.arn}\n test:\n type: aws:lb:TargetGroup\n properties:\n name: test\n targetType: lambda\n testFunction:\n type: aws:lambda:Function\n name: test\n testTargetGroupAttachment:\n type: aws:lb:TargetGroupAttachment\n name: test\n properties:\n targetGroupArn: ${test.arn}\n targetId: ${testFunction.arn}\n options:\n dependson:\n - ${withLb}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Registering Multiple Targets\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example: aws.ec2.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 3; range.value++) {\n example.push(new aws.ec2.Instance(`example-${range.value}`, {}));\n}\nconst exampleTargetGroup = new aws.lb.TargetGroup(\"example\", {});\nconst exampleTargetGroupAttachment: aws.lb.TargetGroupAttachment[] = [];\npulumi.all(example.map((v, k) =\u003e [k, v]).reduce((__obj, [, ]) =\u003e ({ ...__obj, [k]: v }))).apply(rangeBody =\u003e {\n for (const range of Object.entries(rangeBody).map(([k, v]) =\u003e ({key: k, value: v}))) {\n exampleTargetGroupAttachment.push(new aws.lb.TargetGroupAttachment(`example-${range.key}`, {\n targetGroupArn: exampleTargetGroup.arn,\n targetId: range.value.id,\n port: 80,\n }));\n }\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = []\nfor range in [{\"value\": i} for i in range(0, 3)]:\n example.append(aws.ec2.Instance(f\"example-{range['value']}\"))\nexample_target_group = aws.lb.TargetGroup(\"example\")\nexample_target_group_attachment = []\ndef create_example(range_body):\n for range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(range_body)]:\n example_target_group_attachment.append(aws.lb.TargetGroupAttachment(f\"example-{range['key']}\",\n target_group_arn=example_target_group.arn,\n target_id=range[\"value\"],\n port=80))\n\npulumi.Output.all({k: v for k, v in example}).apply(lambda resolved_outputs: create_example(resolved_outputs[0]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new List\u003cAws.Ec2.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 3; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n example.Add(new Aws.Ec2.Instance($\"example-{range.Value}\", new()\n {\n }));\n }\n var exampleTargetGroup = new Aws.LB.TargetGroup(\"example\");\n\n var exampleTargetGroupAttachment = new List\u003cAws.LB.TargetGroupAttachment\u003e();\n foreach (var range in example.Select((value, i) =\u003e new { Key = i.ToString(), Value = pair.Value }).Select(pair =\u003e new { pair.Key, pair.Value }))\n {\n exampleTargetGroupAttachment.Add(new Aws.LB.TargetGroupAttachment($\"example-{range.Key}\", new()\n {\n TargetGroupArn = exampleTargetGroup.Arn,\n TargetId = range.Value.Id,\n Port = 80,\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar example []*ec2.Instance\nfor index := 0; index \u003c 3; index++ {\n key0 := index\n _ := index\n__res, err := ec2.NewInstance(ctx, fmt.Sprintf(\"example-%v\", key0), nil)\nif err != nil {\nreturn err\n}\nexample = append(example, __res)\n}\nexampleTargetGroup, err := lb.NewTargetGroup(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nvar exampleTargetGroupAttachment []*lb.TargetGroupAttachment\nfor key0, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\n__res, err := lb.NewTargetGroupAttachment(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026lb.TargetGroupAttachmentArgs{\nTargetGroupArn: exampleTargetGroup.Arn,\nTargetId: pulumi.String(val0),\nPort: pulumi.Int(80),\n})\nif err != nil {\nreturn err\n}\nexampleTargetGroupAttachment = append(exampleTargetGroupAttachment, __res)\n}\nreturn nil\n})\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Instance\n options: {}\n exampleTargetGroup:\n type: aws:lb:TargetGroup\n name: example\n exampleTargetGroupAttachment:\n type: aws:lb:TargetGroupAttachment\n name: example\n properties:\n targetGroupArn: ${exampleTargetGroup.arn}\n targetId: ${range.value.id}\n port: 80\n options: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import Target Group Attachments.\n\n", "properties": { "availabilityZone": { "type": "string", @@ -297978,7 +297978,7 @@ } }, "aws:lex/v2modelsBot:V2modelsBot": { - "description": "Resource for managing an AWS Lex V2 Models Bot.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"lexv2.amazonaws.com\",\n },\n }],\n }),\n tags: {\n created_by: \"aws\",\n },\n});\nconst example = new aws.lex.V2modelsBot(\"example\", {\n name: \"example\",\n description: \"Example description\",\n dataPrivacies: [{\n childDirected: false,\n }],\n idleSessionTtlInSeconds: 60,\n roleArn: exampleRole.arn,\n type: \"Bot\",\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"lexv2.amazonaws.com\",\n },\n }],\n }),\n tags={\n \"created_by\": \"aws\",\n })\nexample = aws.lex.V2modelsBot(\"example\",\n name=\"example\",\n description=\"Example description\",\n data_privacies=[{\n \"child_directed\": False,\n }],\n idle_session_ttl_in_seconds=60,\n role_arn=example_role.arn,\n type=\"Bot\",\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"lexv2.amazonaws.com\",\n },\n },\n },\n }),\n Tags = \n {\n { \"created_by\", \"aws\" },\n },\n });\n\n var example = new Aws.Lex.V2modelsBot(\"example\", new()\n {\n Name = \"example\",\n Description = \"Example description\",\n DataPrivacies = new[]\n {\n new Aws.Lex.Inputs.V2modelsBotDataPrivacyArgs\n {\n ChildDirected = false,\n },\n },\n IdleSessionTtlInSeconds = 60,\n RoleArn = exampleRole.Arn,\n Type = \"Bot\",\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"lexv2.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"created_by\": pulumi.String(\"aws\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lex.NewV2modelsBot(ctx, \"example\", \u0026lex.V2modelsBotArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"Example description\"),\n\t\t\tDataPrivacies: lex.V2modelsBotDataPrivacyArray{\n\t\t\t\t\u0026lex.V2modelsBotDataPrivacyArgs{\n\t\t\t\t\tChildDirected: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdleSessionTtlInSeconds: pulumi.Int(60),\n\t\t\tRoleArn: exampleRole.Arn,\n\t\t\tType: pulumi.String(\"Bot\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lex.V2modelsBot;\nimport com.pulumi.aws.lex.V2modelsBotArgs;\nimport com.pulumi.aws.lex.inputs.V2modelsBotDataPrivacyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"lexv2.amazonaws.com\")\n ))\n )))\n )))\n .tags(Map.of(\"created_by\", \"aws\"))\n .build());\n\n var example = new V2modelsBot(\"example\", V2modelsBotArgs.builder()\n .name(\"example\")\n .description(\"Example description\")\n .dataPrivacies(V2modelsBotDataPrivacyArgs.builder()\n .childDirected(false)\n .build())\n .idleSessionTtlInSeconds(60)\n .roleArn(exampleRole.arn())\n .type(\"Bot\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:V2modelsBot\n properties:\n name: example\n description: Example description\n dataPrivacies:\n - childDirected: false\n idleSessionTtlInSeconds: 60\n roleArn: ${exampleRole.arn}\n type: Bot\n tags:\n foo: bar\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid: \"\"\n Principal:\n Service: lexv2.amazonaws.com\n tags:\n created_by: aws\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lex V2 Models Bot using the `id`. For example:\n\n```sh\n$ pulumi import aws:lex/v2modelsBot:V2modelsBot example bot-id-12345678\n```\n", + "description": "Resource for managing an AWS Lex V2 Models Bot.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"lexv2.amazonaws.com\",\n },\n }],\n }),\n tags: {\n created_by: \"aws\",\n },\n});\nconst example = new aws.lex.V2modelsBot(\"example\", {\n name: \"example\",\n description: \"Example description\",\n dataPrivacies: [{\n childDirected: false,\n }],\n idleSessionTtlInSeconds: 60,\n roleArn: exampleRole.arn,\n type: \"Bot\",\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"lexv2.amazonaws.com\",\n },\n }],\n }),\n tags={\n \"created_by\": \"aws\",\n })\nexample = aws.lex.V2modelsBot(\"example\",\n name=\"example\",\n description=\"Example description\",\n data_privacies=[{\n \"child_directed\": False,\n }],\n idle_session_ttl_in_seconds=60,\n role_arn=example_role.arn,\n type=\"Bot\",\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"lexv2.amazonaws.com\",\n },\n },\n },\n }),\n Tags = \n {\n { \"created_by\", \"aws\" },\n },\n });\n\n var example = new Aws.Lex.V2modelsBot(\"example\", new()\n {\n Name = \"example\",\n Description = \"Example description\",\n DataPrivacies = new[]\n {\n new Aws.Lex.Inputs.V2modelsBotDataPrivacyArgs\n {\n ChildDirected = false,\n },\n },\n IdleSessionTtlInSeconds = 60,\n RoleArn = exampleRole.Arn,\n Type = \"Bot\",\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"lexv2.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"created_by\": pulumi.String(\"aws\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lex.NewV2modelsBot(ctx, \"example\", \u0026lex.V2modelsBotArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"Example description\"),\n\t\t\tDataPrivacies: lex.V2modelsBotDataPrivacyArray{\n\t\t\t\t\u0026lex.V2modelsBotDataPrivacyArgs{\n\t\t\t\t\tChildDirected: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdleSessionTtlInSeconds: pulumi.Int(60),\n\t\t\tRoleArn: exampleRole.Arn,\n\t\t\tType: pulumi.String(\"Bot\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lex.V2modelsBot;\nimport com.pulumi.aws.lex.V2modelsBotArgs;\nimport com.pulumi.aws.lex.inputs.V2modelsBotDataPrivacyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"lexv2.amazonaws.com\")\n ))\n )))\n )))\n .tags(Map.of(\"created_by\", \"aws\"))\n .build());\n\n var example = new V2modelsBot(\"example\", V2modelsBotArgs.builder()\n .name(\"example\")\n .description(\"Example description\")\n .dataPrivacies(V2modelsBotDataPrivacyArgs.builder()\n .childDirected(false)\n .build())\n .idleSessionTtlInSeconds(60)\n .roleArn(exampleRole.arn())\n .type(\"Bot\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:V2modelsBot\n properties:\n name: example\n description: Example description\n dataPrivacies:\n - childDirected: false\n idleSessionTtlInSeconds: 60\n roleArn: ${exampleRole.arn}\n type: Bot\n tags:\n foo: bar\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: lexv2.amazonaws.com\n tags:\n created_by: aws\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lex V2 Models Bot using the `id`. For example:\n\n```sh\n$ pulumi import aws:lex/v2modelsBot:V2modelsBot example bot-id-12345678\n```\n", "properties": { "arn": { "type": "string" @@ -299031,7 +299031,7 @@ } }, "aws:licensemanager/association:Association": { - "description": "Provides a License Manager association.\n\n\u003e **Note:** License configurations can also be associated with launch templates by specifying the `license_specifications` block for an `aws.ec2.LaunchTemplate`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [{\n name: \"name\",\n values: [\"amzn-ami-vpc-nat*\"],\n }],\n});\nconst exampleInstance = new aws.ec2.Instance(\"example\", {\n ami: example.then(example =\u003e example.id),\n instanceType: aws.ec2.InstanceType.T2_Micro,\n});\nconst exampleLicenseConfiguration = new aws.licensemanager.LicenseConfiguration(\"example\", {\n name: \"Example\",\n licenseCountingType: \"Instance\",\n});\nconst exampleAssociation = new aws.licensemanager.Association(\"example\", {\n licenseConfigurationArn: exampleLicenseConfiguration.arn,\n resourceArn: exampleInstance.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[{\n \"name\": \"name\",\n \"values\": [\"amzn-ami-vpc-nat*\"],\n }])\nexample_instance = aws.ec2.Instance(\"example\",\n ami=example.id,\n instance_type=aws.ec2.InstanceType.T2_MICRO)\nexample_license_configuration = aws.licensemanager.LicenseConfiguration(\"example\",\n name=\"Example\",\n license_counting_type=\"Instance\")\nexample_association = aws.licensemanager.Association(\"example\",\n license_configuration_arn=example_license_configuration.arn,\n resource_arn=example_instance.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"amzn-ami-vpc-nat*\",\n },\n },\n },\n });\n\n var exampleInstance = new Aws.Ec2.Instance(\"example\", new()\n {\n Ami = example.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n });\n\n var exampleLicenseConfiguration = new Aws.LicenseManager.LicenseConfiguration(\"example\", new()\n {\n Name = \"Example\",\n LicenseCountingType = \"Instance\",\n });\n\n var exampleAssociation = new Aws.LicenseManager.Association(\"example\", new()\n {\n LicenseConfigurationArn = exampleLicenseConfiguration.Arn,\n ResourceArn = exampleInstance.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amzn-ami-vpc-nat*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ec2.NewInstance(ctx, \"example\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(example.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLicenseConfiguration, err := licensemanager.NewLicenseConfiguration(ctx, \"example\", \u0026licensemanager.LicenseConfigurationArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tLicenseCountingType: pulumi.String(\"Instance\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = licensemanager.NewAssociation(ctx, \"example\", \u0026licensemanager.AssociationArgs{\n\t\t\tLicenseConfigurationArn: exampleLicenseConfiguration.Arn,\n\t\t\tResourceArn: exampleInstance.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.licensemanager.LicenseConfiguration;\nimport com.pulumi.aws.licensemanager.LicenseConfigurationArgs;\nimport com.pulumi.aws.licensemanager.Association;\nimport com.pulumi.aws.licensemanager.AssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters(GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"amzn-ami-vpc-nat*\")\n .build())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .ami(example.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .build());\n\n var exampleLicenseConfiguration = new LicenseConfiguration(\"exampleLicenseConfiguration\", LicenseConfigurationArgs.builder()\n .name(\"Example\")\n .licenseCountingType(\"Instance\")\n .build());\n\n var exampleAssociation = new Association(\"exampleAssociation\", AssociationArgs.builder()\n .licenseConfigurationArn(exampleLicenseConfiguration.arn())\n .resourceArn(exampleInstance.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: aws:ec2:Instance\n name: example\n properties:\n ami: ${example.id}\n instanceType: t2.micro\n exampleLicenseConfiguration:\n type: aws:licensemanager:LicenseConfiguration\n name: example\n properties:\n name: Example\n licenseCountingType: Instance\n exampleAssociation:\n type: aws:licensemanager:Association\n name: example\n properties:\n licenseConfigurationArn: ${exampleLicenseConfiguration.arn}\n resourceArn: ${exampleInstance.arn}\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getAmi\n arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: name\n values:\n - amzn-ami-vpc-nat*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import license configurations using `resource_arn,license_configuration_arn`. For example:\n\n```sh\n$ pulumi import aws:licensemanager/association:Association example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef\n```\n", + "description": "Provides a License Manager association.\n\n\u003e **Note:** License configurations can also be associated with launch templates by specifying the `license_specifications` block for an `aws.ec2.LaunchTemplate`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [{\n name: \"name\",\n values: [\"amzn-ami-vpc-nat*\"],\n }],\n});\nconst exampleInstance = new aws.ec2.Instance(\"example\", {\n ami: example.then(example =\u003e example.id),\n instanceType: aws.ec2.InstanceType.T2_Micro,\n});\nconst exampleLicenseConfiguration = new aws.licensemanager.LicenseConfiguration(\"example\", {\n name: \"Example\",\n licenseCountingType: \"Instance\",\n});\nconst exampleAssociation = new aws.licensemanager.Association(\"example\", {\n licenseConfigurationArn: exampleLicenseConfiguration.arn,\n resourceArn: exampleInstance.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[{\n \"name\": \"name\",\n \"values\": [\"amzn-ami-vpc-nat*\"],\n }])\nexample_instance = aws.ec2.Instance(\"example\",\n ami=example.id,\n instance_type=aws.ec2.InstanceType.T2_MICRO)\nexample_license_configuration = aws.licensemanager.LicenseConfiguration(\"example\",\n name=\"Example\",\n license_counting_type=\"Instance\")\nexample_association = aws.licensemanager.Association(\"example\",\n license_configuration_arn=example_license_configuration.arn,\n resource_arn=example_instance.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"amzn-ami-vpc-nat*\",\n },\n },\n },\n });\n\n var exampleInstance = new Aws.Ec2.Instance(\"example\", new()\n {\n Ami = example.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n });\n\n var exampleLicenseConfiguration = new Aws.LicenseManager.LicenseConfiguration(\"example\", new()\n {\n Name = \"Example\",\n LicenseCountingType = \"Instance\",\n });\n\n var exampleAssociation = new Aws.LicenseManager.Association(\"example\", new()\n {\n LicenseConfigurationArn = exampleLicenseConfiguration.Arn,\n ResourceArn = exampleInstance.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amzn-ami-vpc-nat*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ec2.NewInstance(ctx, \"example\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(example.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLicenseConfiguration, err := licensemanager.NewLicenseConfiguration(ctx, \"example\", \u0026licensemanager.LicenseConfigurationArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tLicenseCountingType: pulumi.String(\"Instance\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = licensemanager.NewAssociation(ctx, \"example\", \u0026licensemanager.AssociationArgs{\n\t\t\tLicenseConfigurationArn: exampleLicenseConfiguration.Arn,\n\t\t\tResourceArn: exampleInstance.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.licensemanager.LicenseConfiguration;\nimport com.pulumi.aws.licensemanager.LicenseConfigurationArgs;\nimport com.pulumi.aws.licensemanager.Association;\nimport com.pulumi.aws.licensemanager.AssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters(GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"amzn-ami-vpc-nat*\")\n .build())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .ami(example.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .build());\n\n var exampleLicenseConfiguration = new LicenseConfiguration(\"exampleLicenseConfiguration\", LicenseConfigurationArgs.builder()\n .name(\"Example\")\n .licenseCountingType(\"Instance\")\n .build());\n\n var exampleAssociation = new Association(\"exampleAssociation\", AssociationArgs.builder()\n .licenseConfigurationArn(exampleLicenseConfiguration.arn())\n .resourceArn(exampleInstance.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: aws:ec2:Instance\n name: example\n properties:\n ami: ${example.id}\n instanceType: t2.micro\n exampleLicenseConfiguration:\n type: aws:licensemanager:LicenseConfiguration\n name: example\n properties:\n name: Example\n licenseCountingType: Instance\n exampleAssociation:\n type: aws:licensemanager:Association\n name: example\n properties:\n licenseConfigurationArn: ${exampleLicenseConfiguration.arn}\n resourceArn: ${exampleInstance.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: name\n values:\n - amzn-ami-vpc-nat*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import license configurations using `resource_arn,license_configuration_arn`. For example:\n\n```sh\n$ pulumi import aws:licensemanager/association:Association example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef\n```\n", "properties": { "licenseConfigurationArn": { "type": "string", @@ -299888,7 +299888,7 @@ } }, "aws:lightsail/containerService:ContainerService": { - "description": "An Amazon Lightsail container service is a highly scalable compute and networking resource on which you can deploy, run,\nand manage containers. For more information, see\n[Container services in Amazon Lightsail](https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-container-services).\n\n\u003e **Note:** For more information about the AWS Regions in which you can create Amazon Lightsail container services,\nsee [\"Regions and Availability Zones in Amazon Lightsail\"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myContainerService = new aws.lightsail.ContainerService(\"my_container_service\", {\n name: \"container-service-1\",\n power: \"nano\",\n scale: 1,\n isDisabled: false,\n tags: {\n foo1: \"bar1\",\n foo2: \"\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_container_service = aws.lightsail.ContainerService(\"my_container_service\",\n name=\"container-service-1\",\n power=\"nano\",\n scale=1,\n is_disabled=False,\n tags={\n \"foo1\": \"bar1\",\n \"foo2\": \"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myContainerService = new Aws.LightSail.ContainerService(\"my_container_service\", new()\n {\n Name = \"container-service-1\",\n Power = \"nano\",\n Scale = 1,\n IsDisabled = false,\n Tags = \n {\n { \"foo1\", \"bar1\" },\n { \"foo2\", \"\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\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 := lightsail.NewContainerService(ctx, \"my_container_service\", \u0026lightsail.ContainerServiceArgs{\n\t\t\tName: pulumi.String(\"container-service-1\"),\n\t\t\tPower: pulumi.String(\"nano\"),\n\t\t\tScale: pulumi.Int(1),\n\t\t\tIsDisabled: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo1\": pulumi.String(\"bar1\"),\n\t\t\t\t\"foo2\": pulumi.String(\"\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.ContainerService;\nimport com.pulumi.aws.lightsail.ContainerServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myContainerService = new ContainerService(\"myContainerService\", ContainerServiceArgs.builder()\n .name(\"container-service-1\")\n .power(\"nano\")\n .scale(1)\n .isDisabled(false)\n .tags(Map.ofEntries(\n Map.entry(\"foo1\", \"bar1\"),\n Map.entry(\"foo2\", \"\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myContainerService:\n type: aws:lightsail:ContainerService\n name: my_container_service\n properties:\n name: container-service-1\n power: nano\n scale: 1\n isDisabled: false\n tags:\n foo1: bar1\n foo2: \"\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Public Domain Names\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myContainerService = new aws.lightsail.ContainerService(\"my_container_service\", {publicDomainNames: {\n certificates: [{\n certificateName: \"example-certificate\",\n domainNames: [\"www.example.com\"],\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_container_service = aws.lightsail.ContainerService(\"my_container_service\", public_domain_names={\n \"certificates\": [{\n \"certificate_name\": \"example-certificate\",\n \"domain_names\": [\"www.example.com\"],\n }],\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myContainerService = new Aws.LightSail.ContainerService(\"my_container_service\", new()\n {\n PublicDomainNames = new Aws.LightSail.Inputs.ContainerServicePublicDomainNamesArgs\n {\n Certificates = new[]\n {\n new Aws.LightSail.Inputs.ContainerServicePublicDomainNamesCertificateArgs\n {\n CertificateName = \"example-certificate\",\n DomainNames = new[]\n {\n \"www.example.com\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\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 := lightsail.NewContainerService(ctx, \"my_container_service\", \u0026lightsail.ContainerServiceArgs{\n\t\t\tPublicDomainNames: \u0026lightsail.ContainerServicePublicDomainNamesArgs{\n\t\t\t\tCertificates: lightsail.ContainerServicePublicDomainNamesCertificateArray{\n\t\t\t\t\t\u0026lightsail.ContainerServicePublicDomainNamesCertificateArgs{\n\t\t\t\t\t\tCertificateName: pulumi.String(\"example-certificate\"),\n\t\t\t\t\t\tDomainNames: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"www.example.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.ContainerService;\nimport com.pulumi.aws.lightsail.ContainerServiceArgs;\nimport com.pulumi.aws.lightsail.inputs.ContainerServicePublicDomainNamesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myContainerService = new ContainerService(\"myContainerService\", ContainerServiceArgs.builder()\n .publicDomainNames(ContainerServicePublicDomainNamesArgs.builder()\n .certificates(ContainerServicePublicDomainNamesCertificateArgs.builder()\n .certificateName(\"example-certificate\")\n .domainNames(\"www.example.com\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myContainerService:\n type: aws:lightsail:ContainerService\n name: my_container_service\n properties:\n publicDomainNames:\n certificates:\n - certificateName: example-certificate\n domainNames:\n - www.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private Registry Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst defaultContainerService = new aws.lightsail.ContainerService(\"default\", {privateRegistryAccess: {\n ecrImagePullerRole: {\n isActive: true,\n },\n}});\nconst default = defaultContainerService.privateRegistryAccess.apply(privateRegistryAccess =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [privateRegistryAccess.ecrImagePullerRole?.principalArn],\n }],\n actions: [\n \"ecr:BatchGetImage\",\n \"ecr:GetDownloadUrlForLayer\",\n ],\n }],\n}));\nconst defaultRepositoryPolicy = new aws.ecr.RepositoryPolicy(\"default\", {\n repository: defaultAwsEcrRepository.name,\n policy: _default.apply(_default =\u003e _default.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault_container_service = aws.lightsail.ContainerService(\"default\", private_registry_access={\n \"ecr_image_puller_role\": {\n \"is_active\": True,\n },\n})\ndefault = default_container_service.private_registry_access.apply(lambda private_registry_access: aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [private_registry_access.ecr_image_puller_role.principal_arn],\n }],\n \"actions\": [\n \"ecr:BatchGetImage\",\n \"ecr:GetDownloadUrlForLayer\",\n ],\n}]))\ndefault_repository_policy = aws.ecr.RepositoryPolicy(\"default\",\n repository=default_aws_ecr_repository[\"name\"],\n policy=default.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultContainerService = new Aws.LightSail.ContainerService(\"default\", new()\n {\n PrivateRegistryAccess = new Aws.LightSail.Inputs.ContainerServicePrivateRegistryAccessArgs\n {\n EcrImagePullerRole = new Aws.LightSail.Inputs.ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs\n {\n IsActive = true,\n },\n },\n });\n\n var @default = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n defaultContainerService.PrivateRegistryAccess.EcrImagePullerRole?.PrincipalArn,\n },\n },\n },\n Actions = new[]\n {\n \"ecr:BatchGetImage\",\n \"ecr:GetDownloadUrlForLayer\",\n },\n },\n },\n });\n\n var defaultRepositoryPolicy = new Aws.Ecr.RepositoryPolicy(\"default\", new()\n {\n Repository = defaultAwsEcrRepository.Name,\n Policy = @default.Apply(@default =\u003e @default.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ndefaultContainerService, err := lightsail.NewContainerService(ctx, \"default\", \u0026lightsail.ContainerServiceArgs{\nPrivateRegistryAccess: \u0026lightsail.ContainerServicePrivateRegistryAccessArgs{\nEcrImagePullerRole: \u0026lightsail.ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs{\nIsActive: pulumi.Bool(true),\n},\n},\n})\nif err != nil {\nreturn err\n}\n_default := defaultContainerService.PrivateRegistryAccess.ApplyT(func(privateRegistryAccess lightsail.ContainerServicePrivateRegistryAccess) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nprivateRegistryAccess.EcrImagePullerRole.PrincipalArn,\n},\n},\n},\nActions: []string{\n\"ecr:BatchGetImage\",\n\"ecr:GetDownloadUrlForLayer\",\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = ecr.NewRepositoryPolicy(ctx, \"default\", \u0026ecr.RepositoryPolicyArgs{\nRepository: pulumi.Any(defaultAwsEcrRepository.Name),\nPolicy: pulumi.String(_default.ApplyT(func(_default iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026default.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.ContainerService;\nimport com.pulumi.aws.lightsail.ContainerServiceArgs;\nimport com.pulumi.aws.lightsail.inputs.ContainerServicePrivateRegistryAccessArgs;\nimport com.pulumi.aws.lightsail.inputs.ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ecr.RepositoryPolicy;\nimport com.pulumi.aws.ecr.RepositoryPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var defaultContainerService = new ContainerService(\"defaultContainerService\", ContainerServiceArgs.builder()\n .privateRegistryAccess(ContainerServicePrivateRegistryAccessArgs.builder()\n .ecrImagePullerRole(ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs.builder()\n .isActive(true)\n .build())\n .build())\n .build());\n\n final var default = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(defaultContainerService.privateRegistryAccess().applyValue(privateRegistryAccess -\u003e privateRegistryAccess.ecrImagePullerRole().principalArn()))\n .build())\n .actions( \n \"ecr:BatchGetImage\",\n \"ecr:GetDownloadUrlForLayer\")\n .build())\n .build());\n\n var defaultRepositoryPolicy = new RepositoryPolicy(\"defaultRepositoryPolicy\", RepositoryPolicyArgs.builder()\n .repository(defaultAwsEcrRepository.name())\n .policy(default_.applyValue(default_ -\u003e default_.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultContainerService:\n type: aws:lightsail:ContainerService\n name: default\n properties:\n privateRegistryAccess:\n ecrImagePullerRole:\n isActive: true\n defaultRepositoryPolicy:\n type: aws:ecr:RepositoryPolicy\n name: default\n properties:\n repository: ${defaultAwsEcrRepository.name}\n policy: ${default.json}\nvariables:\n default:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${defaultContainerService.privateRegistryAccess.ecrImagePullerRole.principalArn}\n actions:\n - ecr:BatchGetImage\n - ecr:GetDownloadUrlForLayer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lightsail Container Service using the `name`. For example:\n\n```sh\n$ pulumi import aws:lightsail/containerService:ContainerService my_container_service container-service-1\n```\n", + "description": "An Amazon Lightsail container service is a highly scalable compute and networking resource on which you can deploy, run,\nand manage containers. For more information, see\n[Container services in Amazon Lightsail](https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-container-services).\n\n\u003e **Note:** For more information about the AWS Regions in which you can create Amazon Lightsail container services,\nsee [\"Regions and Availability Zones in Amazon Lightsail\"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myContainerService = new aws.lightsail.ContainerService(\"my_container_service\", {\n name: \"container-service-1\",\n power: \"nano\",\n scale: 1,\n isDisabled: false,\n tags: {\n foo1: \"bar1\",\n foo2: \"\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_container_service = aws.lightsail.ContainerService(\"my_container_service\",\n name=\"container-service-1\",\n power=\"nano\",\n scale=1,\n is_disabled=False,\n tags={\n \"foo1\": \"bar1\",\n \"foo2\": \"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myContainerService = new Aws.LightSail.ContainerService(\"my_container_service\", new()\n {\n Name = \"container-service-1\",\n Power = \"nano\",\n Scale = 1,\n IsDisabled = false,\n Tags = \n {\n { \"foo1\", \"bar1\" },\n { \"foo2\", \"\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\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 := lightsail.NewContainerService(ctx, \"my_container_service\", \u0026lightsail.ContainerServiceArgs{\n\t\t\tName: pulumi.String(\"container-service-1\"),\n\t\t\tPower: pulumi.String(\"nano\"),\n\t\t\tScale: pulumi.Int(1),\n\t\t\tIsDisabled: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo1\": pulumi.String(\"bar1\"),\n\t\t\t\t\"foo2\": pulumi.String(\"\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.ContainerService;\nimport com.pulumi.aws.lightsail.ContainerServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myContainerService = new ContainerService(\"myContainerService\", ContainerServiceArgs.builder()\n .name(\"container-service-1\")\n .power(\"nano\")\n .scale(1)\n .isDisabled(false)\n .tags(Map.ofEntries(\n Map.entry(\"foo1\", \"bar1\"),\n Map.entry(\"foo2\", \"\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myContainerService:\n type: aws:lightsail:ContainerService\n name: my_container_service\n properties:\n name: container-service-1\n power: nano\n scale: 1\n isDisabled: false\n tags:\n foo1: bar1\n foo2:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Public Domain Names\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myContainerService = new aws.lightsail.ContainerService(\"my_container_service\", {publicDomainNames: {\n certificates: [{\n certificateName: \"example-certificate\",\n domainNames: [\"www.example.com\"],\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_container_service = aws.lightsail.ContainerService(\"my_container_service\", public_domain_names={\n \"certificates\": [{\n \"certificate_name\": \"example-certificate\",\n \"domain_names\": [\"www.example.com\"],\n }],\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myContainerService = new Aws.LightSail.ContainerService(\"my_container_service\", new()\n {\n PublicDomainNames = new Aws.LightSail.Inputs.ContainerServicePublicDomainNamesArgs\n {\n Certificates = new[]\n {\n new Aws.LightSail.Inputs.ContainerServicePublicDomainNamesCertificateArgs\n {\n CertificateName = \"example-certificate\",\n DomainNames = new[]\n {\n \"www.example.com\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\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 := lightsail.NewContainerService(ctx, \"my_container_service\", \u0026lightsail.ContainerServiceArgs{\n\t\t\tPublicDomainNames: \u0026lightsail.ContainerServicePublicDomainNamesArgs{\n\t\t\t\tCertificates: lightsail.ContainerServicePublicDomainNamesCertificateArray{\n\t\t\t\t\t\u0026lightsail.ContainerServicePublicDomainNamesCertificateArgs{\n\t\t\t\t\t\tCertificateName: pulumi.String(\"example-certificate\"),\n\t\t\t\t\t\tDomainNames: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"www.example.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.ContainerService;\nimport com.pulumi.aws.lightsail.ContainerServiceArgs;\nimport com.pulumi.aws.lightsail.inputs.ContainerServicePublicDomainNamesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myContainerService = new ContainerService(\"myContainerService\", ContainerServiceArgs.builder()\n .publicDomainNames(ContainerServicePublicDomainNamesArgs.builder()\n .certificates(ContainerServicePublicDomainNamesCertificateArgs.builder()\n .certificateName(\"example-certificate\")\n .domainNames(\"www.example.com\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myContainerService:\n type: aws:lightsail:ContainerService\n name: my_container_service\n properties:\n publicDomainNames:\n certificates:\n - certificateName: example-certificate\n domainNames:\n - www.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private Registry Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst defaultContainerService = new aws.lightsail.ContainerService(\"default\", {privateRegistryAccess: {\n ecrImagePullerRole: {\n isActive: true,\n },\n}});\nconst default = defaultContainerService.privateRegistryAccess.apply(privateRegistryAccess =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [privateRegistryAccess.ecrImagePullerRole?.principalArn],\n }],\n actions: [\n \"ecr:BatchGetImage\",\n \"ecr:GetDownloadUrlForLayer\",\n ],\n }],\n}));\nconst defaultRepositoryPolicy = new aws.ecr.RepositoryPolicy(\"default\", {\n repository: defaultAwsEcrRepository.name,\n policy: _default.apply(_default =\u003e _default.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault_container_service = aws.lightsail.ContainerService(\"default\", private_registry_access={\n \"ecr_image_puller_role\": {\n \"is_active\": True,\n },\n})\ndefault = default_container_service.private_registry_access.apply(lambda private_registry_access: aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [private_registry_access.ecr_image_puller_role.principal_arn],\n }],\n \"actions\": [\n \"ecr:BatchGetImage\",\n \"ecr:GetDownloadUrlForLayer\",\n ],\n}]))\ndefault_repository_policy = aws.ecr.RepositoryPolicy(\"default\",\n repository=default_aws_ecr_repository[\"name\"],\n policy=default.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultContainerService = new Aws.LightSail.ContainerService(\"default\", new()\n {\n PrivateRegistryAccess = new Aws.LightSail.Inputs.ContainerServicePrivateRegistryAccessArgs\n {\n EcrImagePullerRole = new Aws.LightSail.Inputs.ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs\n {\n IsActive = true,\n },\n },\n });\n\n var @default = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n defaultContainerService.PrivateRegistryAccess.EcrImagePullerRole?.PrincipalArn,\n },\n },\n },\n Actions = new[]\n {\n \"ecr:BatchGetImage\",\n \"ecr:GetDownloadUrlForLayer\",\n },\n },\n },\n });\n\n var defaultRepositoryPolicy = new Aws.Ecr.RepositoryPolicy(\"default\", new()\n {\n Repository = defaultAwsEcrRepository.Name,\n Policy = @default.Apply(@default =\u003e @default.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ndefaultContainerService, err := lightsail.NewContainerService(ctx, \"default\", \u0026lightsail.ContainerServiceArgs{\nPrivateRegistryAccess: \u0026lightsail.ContainerServicePrivateRegistryAccessArgs{\nEcrImagePullerRole: \u0026lightsail.ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs{\nIsActive: pulumi.Bool(true),\n},\n},\n})\nif err != nil {\nreturn err\n}\n_default := defaultContainerService.PrivateRegistryAccess.ApplyT(func(privateRegistryAccess lightsail.ContainerServicePrivateRegistryAccess) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nprivateRegistryAccess.EcrImagePullerRole.PrincipalArn,\n},\n},\n},\nActions: []string{\n\"ecr:BatchGetImage\",\n\"ecr:GetDownloadUrlForLayer\",\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = ecr.NewRepositoryPolicy(ctx, \"default\", \u0026ecr.RepositoryPolicyArgs{\nRepository: pulumi.Any(defaultAwsEcrRepository.Name),\nPolicy: pulumi.String(_default.ApplyT(func(_default iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026default.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.ContainerService;\nimport com.pulumi.aws.lightsail.ContainerServiceArgs;\nimport com.pulumi.aws.lightsail.inputs.ContainerServicePrivateRegistryAccessArgs;\nimport com.pulumi.aws.lightsail.inputs.ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ecr.RepositoryPolicy;\nimport com.pulumi.aws.ecr.RepositoryPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var defaultContainerService = new ContainerService(\"defaultContainerService\", ContainerServiceArgs.builder()\n .privateRegistryAccess(ContainerServicePrivateRegistryAccessArgs.builder()\n .ecrImagePullerRole(ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs.builder()\n .isActive(true)\n .build())\n .build())\n .build());\n\n final var default = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(defaultContainerService.privateRegistryAccess().applyValue(privateRegistryAccess -\u003e privateRegistryAccess.ecrImagePullerRole().principalArn()))\n .build())\n .actions( \n \"ecr:BatchGetImage\",\n \"ecr:GetDownloadUrlForLayer\")\n .build())\n .build());\n\n var defaultRepositoryPolicy = new RepositoryPolicy(\"defaultRepositoryPolicy\", RepositoryPolicyArgs.builder()\n .repository(defaultAwsEcrRepository.name())\n .policy(default_.applyValue(default_ -\u003e default_.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultContainerService:\n type: aws:lightsail:ContainerService\n name: default\n properties:\n privateRegistryAccess:\n ecrImagePullerRole:\n isActive: true\n defaultRepositoryPolicy:\n type: aws:ecr:RepositoryPolicy\n name: default\n properties:\n repository: ${defaultAwsEcrRepository.name}\n policy: ${default.json}\nvariables:\n default:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${defaultContainerService.privateRegistryAccess.ecrImagePullerRole.principalArn}\n actions:\n - ecr:BatchGetImage\n - ecr:GetDownloadUrlForLayer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lightsail Container Service using the `name`. For example:\n\n```sh\n$ pulumi import aws:lightsail/containerService:ContainerService my_container_service container-service-1\n```\n", "properties": { "arn": { "type": "string", @@ -300563,7 +300563,7 @@ } }, "aws:lightsail/disk:Disk": { - "description": "Provides a Lightsail Disk resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst test = new aws.lightsail.Disk(\"test\", {\n name: \"test\",\n sizeInGb: 8,\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[{\n \"name\": \"opt-in-status\",\n \"values\": [\"opt-in-not-required\"],\n }])\ntest = aws.lightsail.Disk(\"test\",\n name=\"test\",\n size_in_gb=8,\n availability_zone=available.names[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var test = new Aws.LightSail.Disk(\"test\", new()\n {\n Name = \"test\",\n SizeInGb = 8,\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDisk(ctx, \"test\", \u0026lightsail.DiskArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tSizeInGb: pulumi.Int(8),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.Disk;\nimport com.pulumi.aws.lightsail.DiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var test = new Disk(\"test\", DiskArgs.builder()\n .name(\"test\")\n .sizeInGb(8)\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Disk\n properties:\n name: test\n sizeInGb: 8\n availabilityZone: ${available.names[0]}\nvariables:\n available:\n fn::invoke:\n function: aws:getAvailabilityZones\n arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_disk` using the name attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/disk:Disk test test\n```\n", + "description": "Provides a Lightsail Disk resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst test = new aws.lightsail.Disk(\"test\", {\n name: \"test\",\n sizeInGb: 8,\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[{\n \"name\": \"opt-in-status\",\n \"values\": [\"opt-in-not-required\"],\n }])\ntest = aws.lightsail.Disk(\"test\",\n name=\"test\",\n size_in_gb=8,\n availability_zone=available.names[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var test = new Aws.LightSail.Disk(\"test\", new()\n {\n Name = \"test\",\n SizeInGb = 8,\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDisk(ctx, \"test\", \u0026lightsail.DiskArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tSizeInGb: pulumi.Int(8),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.Disk;\nimport com.pulumi.aws.lightsail.DiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var test = new Disk(\"test\", DiskArgs.builder()\n .name(\"test\")\n .sizeInGb(8)\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Disk\n properties:\n name: test\n sizeInGb: 8\n availabilityZone: ${available.names[0]}\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_disk` using the name attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/disk:Disk test test\n```\n", "properties": { "arn": { "type": "string", @@ -300692,7 +300692,7 @@ } }, "aws:lightsail/disk_attachment:Disk_attachment": { - "description": "Attaches a Lightsail disk to a Lightsail Instance\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst test = new aws.lightsail.Disk(\"test\", {\n name: \"test-disk\",\n sizeInGb: 8,\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\nconst testInstance = new aws.lightsail.Instance(\"test\", {\n name: \"test-instance\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n});\nconst testDisk_attachment = new aws.lightsail.Disk_attachment(\"test\", {\n diskName: test.name,\n instanceName: testInstance.name,\n diskPath: \"/dev/xvdf\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[{\n \"name\": \"opt-in-status\",\n \"values\": [\"opt-in-not-required\"],\n }])\ntest = aws.lightsail.Disk(\"test\",\n name=\"test-disk\",\n size_in_gb=8,\n availability_zone=available.names[0])\ntest_instance = aws.lightsail.Instance(\"test\",\n name=\"test-instance\",\n availability_zone=available.names[0],\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\")\ntest_disk_attachment = aws.lightsail.Disk_attachment(\"test\",\n disk_name=test.name,\n instance_name=test_instance.name,\n disk_path=\"/dev/xvdf\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var test = new Aws.LightSail.Disk(\"test\", new()\n {\n Name = \"test-disk\",\n SizeInGb = 8,\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var testInstance = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"test-instance\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n });\n\n var testDisk_attachment = new Aws.LightSail.Disk_attachment(\"test\", new()\n {\n DiskName = test.Name,\n InstanceName = testInstance.Name,\n DiskPath = \"/dev/xvdf\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := lightsail.NewDisk(ctx, \"test\", \u0026lightsail.DiskArgs{\n\t\t\tName: pulumi.String(\"test-disk\"),\n\t\t\tSizeInGb: pulumi.Int(8),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"test-instance\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDisk_attachment(ctx, \"test\", \u0026lightsail.Disk_attachmentArgs{\n\t\t\tDiskName: test.Name,\n\t\t\tInstanceName: testInstance.Name,\n\t\t\tDiskPath: pulumi.String(\"/dev/xvdf\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.Disk;\nimport com.pulumi.aws.lightsail.DiskArgs;\nimport com.pulumi.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.Disk_attachment;\nimport com.pulumi.aws.lightsail.Disk_attachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var test = new Disk(\"test\", DiskArgs.builder()\n .name(\"test-disk\")\n .sizeInGb(8)\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var testInstance = new Instance(\"testInstance\", InstanceArgs.builder()\n .name(\"test-instance\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .build());\n\n var testDisk_attachment = new Disk_attachment(\"testDisk_attachment\", Disk_attachmentArgs.builder()\n .diskName(test.name())\n .instanceName(testInstance.name())\n .diskPath(\"/dev/xvdf\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Disk\n properties:\n name: test-disk\n sizeInGb: 8\n availabilityZone: ${available.names[0]}\n testInstance:\n type: aws:lightsail:Instance\n name: test\n properties:\n name: test-instance\n availabilityZone: ${available.names[0]}\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n testDisk_attachment:\n type: aws:lightsail:Disk_attachment\n name: test\n properties:\n diskName: ${test.name}\n instanceName: ${testInstance.name}\n diskPath: /dev/xvdf\nvariables:\n available:\n fn::invoke:\n function: aws:getAvailabilityZones\n arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_disk` using the id attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/disk_attachment:Disk_attachment test test-disk,test-instance\n```\n", + "description": "Attaches a Lightsail disk to a Lightsail Instance\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst test = new aws.lightsail.Disk(\"test\", {\n name: \"test-disk\",\n sizeInGb: 8,\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\nconst testInstance = new aws.lightsail.Instance(\"test\", {\n name: \"test-instance\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n});\nconst testDisk_attachment = new aws.lightsail.Disk_attachment(\"test\", {\n diskName: test.name,\n instanceName: testInstance.name,\n diskPath: \"/dev/xvdf\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[{\n \"name\": \"opt-in-status\",\n \"values\": [\"opt-in-not-required\"],\n }])\ntest = aws.lightsail.Disk(\"test\",\n name=\"test-disk\",\n size_in_gb=8,\n availability_zone=available.names[0])\ntest_instance = aws.lightsail.Instance(\"test\",\n name=\"test-instance\",\n availability_zone=available.names[0],\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\")\ntest_disk_attachment = aws.lightsail.Disk_attachment(\"test\",\n disk_name=test.name,\n instance_name=test_instance.name,\n disk_path=\"/dev/xvdf\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var test = new Aws.LightSail.Disk(\"test\", new()\n {\n Name = \"test-disk\",\n SizeInGb = 8,\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var testInstance = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"test-instance\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n });\n\n var testDisk_attachment = new Aws.LightSail.Disk_attachment(\"test\", new()\n {\n DiskName = test.Name,\n InstanceName = testInstance.Name,\n DiskPath = \"/dev/xvdf\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := lightsail.NewDisk(ctx, \"test\", \u0026lightsail.DiskArgs{\n\t\t\tName: pulumi.String(\"test-disk\"),\n\t\t\tSizeInGb: pulumi.Int(8),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"test-instance\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDisk_attachment(ctx, \"test\", \u0026lightsail.Disk_attachmentArgs{\n\t\t\tDiskName: test.Name,\n\t\t\tInstanceName: testInstance.Name,\n\t\t\tDiskPath: pulumi.String(\"/dev/xvdf\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.Disk;\nimport com.pulumi.aws.lightsail.DiskArgs;\nimport com.pulumi.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.Disk_attachment;\nimport com.pulumi.aws.lightsail.Disk_attachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var test = new Disk(\"test\", DiskArgs.builder()\n .name(\"test-disk\")\n .sizeInGb(8)\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var testInstance = new Instance(\"testInstance\", InstanceArgs.builder()\n .name(\"test-instance\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .build());\n\n var testDisk_attachment = new Disk_attachment(\"testDisk_attachment\", Disk_attachmentArgs.builder()\n .diskName(test.name())\n .instanceName(testInstance.name())\n .diskPath(\"/dev/xvdf\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Disk\n properties:\n name: test-disk\n sizeInGb: 8\n availabilityZone: ${available.names[0]}\n testInstance:\n type: aws:lightsail:Instance\n name: test\n properties:\n name: test-instance\n availabilityZone: ${available.names[0]}\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n testDisk_attachment:\n type: aws:lightsail:Disk_attachment\n name: test\n properties:\n diskName: ${test.name}\n instanceName: ${testInstance.name}\n diskPath: /dev/xvdf\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_disk` using the id attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/disk_attachment:Disk_attachment test test-disk,test-instance\n```\n", "properties": { "diskName": { "type": "string", @@ -300757,7 +300757,7 @@ } }, "aws:lightsail/distribution:Distribution": { - "description": "Resource for managing an AWS Lightsail Distribution.\n\n## Example Usage\n\n### Basic Usage\n\nBelow is a basic example with a bucket as an origin.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Bucket(\"test\", {\n name: \"test-bucket\",\n bundleId: \"small_1_0\",\n});\nconst testDistribution = new aws.lightsail.Distribution(\"test\", {\n name: \"test-distribution\",\n bundleId: \"small_1_0\",\n origin: {\n name: test.name,\n regionName: test.region,\n },\n defaultCacheBehavior: {\n behavior: \"cache\",\n },\n cacheBehaviorSettings: {\n allowedHttpMethods: \"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\",\n cachedHttpMethods: \"GET,HEAD\",\n defaultTtl: 86400,\n maximumTtl: 31536000,\n minimumTtl: 0,\n forwardedCookies: {\n option: \"none\",\n },\n forwardedHeaders: {\n option: \"default\",\n },\n forwardedQueryStrings: {\n option: false,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Bucket(\"test\",\n name=\"test-bucket\",\n bundle_id=\"small_1_0\")\ntest_distribution = aws.lightsail.Distribution(\"test\",\n name=\"test-distribution\",\n bundle_id=\"small_1_0\",\n origin={\n \"name\": test.name,\n \"region_name\": test.region,\n },\n default_cache_behavior={\n \"behavior\": \"cache\",\n },\n cache_behavior_settings={\n \"allowed_http_methods\": \"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\",\n \"cached_http_methods\": \"GET,HEAD\",\n \"default_ttl\": 86400,\n \"maximum_ttl\": 31536000,\n \"minimum_ttl\": 0,\n \"forwarded_cookies\": {\n \"option\": \"none\",\n },\n \"forwarded_headers\": {\n \"option\": \"default\",\n },\n \"forwarded_query_strings\": {\n \"option\": False,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Bucket(\"test\", new()\n {\n Name = \"test-bucket\",\n BundleId = \"small_1_0\",\n });\n\n var testDistribution = new Aws.LightSail.Distribution(\"test\", new()\n {\n Name = \"test-distribution\",\n BundleId = \"small_1_0\",\n Origin = new Aws.LightSail.Inputs.DistributionOriginArgs\n {\n Name = test.Name,\n RegionName = test.Region,\n },\n DefaultCacheBehavior = new Aws.LightSail.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n Behavior = \"cache\",\n },\n CacheBehaviorSettings = new Aws.LightSail.Inputs.DistributionCacheBehaviorSettingsArgs\n {\n AllowedHttpMethods = \"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\",\n CachedHttpMethods = \"GET,HEAD\",\n DefaultTtl = 86400,\n MaximumTtl = 31536000,\n MinimumTtl = 0,\n ForwardedCookies = new Aws.LightSail.Inputs.DistributionCacheBehaviorSettingsForwardedCookiesArgs\n {\n Option = \"none\",\n },\n ForwardedHeaders = new Aws.LightSail.Inputs.DistributionCacheBehaviorSettingsForwardedHeadersArgs\n {\n Option = \"default\",\n },\n ForwardedQueryStrings = new Aws.LightSail.Inputs.DistributionCacheBehaviorSettingsForwardedQueryStringsArgs\n {\n Option = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lightsail.NewBucket(ctx, \"test\", \u0026lightsail.BucketArgs{\n\t\t\tName: pulumi.String(\"test-bucket\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDistribution(ctx, \"test\", \u0026lightsail.DistributionArgs{\n\t\t\tName: pulumi.String(\"test-distribution\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t\tOrigin: \u0026lightsail.DistributionOriginArgs{\n\t\t\t\tName: test.Name,\n\t\t\t\tRegionName: test.Region,\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026lightsail.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tBehavior: pulumi.String(\"cache\"),\n\t\t\t},\n\t\t\tCacheBehaviorSettings: \u0026lightsail.DistributionCacheBehaviorSettingsArgs{\n\t\t\t\tAllowedHttpMethods: pulumi.String(\"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\"),\n\t\t\t\tCachedHttpMethods: pulumi.String(\"GET,HEAD\"),\n\t\t\t\tDefaultTtl: pulumi.Int(86400),\n\t\t\t\tMaximumTtl: pulumi.Int(31536000),\n\t\t\t\tMinimumTtl: pulumi.Int(0),\n\t\t\t\tForwardedCookies: \u0026lightsail.DistributionCacheBehaviorSettingsForwardedCookiesArgs{\n\t\t\t\t\tOption: pulumi.String(\"none\"),\n\t\t\t\t},\n\t\t\t\tForwardedHeaders: \u0026lightsail.DistributionCacheBehaviorSettingsForwardedHeadersArgs{\n\t\t\t\t\tOption: pulumi.String(\"default\"),\n\t\t\t\t},\n\t\t\t\tForwardedQueryStrings: \u0026lightsail.DistributionCacheBehaviorSettingsForwardedQueryStringsArgs{\n\t\t\t\t\tOption: pulumi.Bool(false),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Bucket;\nimport com.pulumi.aws.lightsail.BucketArgs;\nimport com.pulumi.aws.lightsail.Distribution;\nimport com.pulumi.aws.lightsail.DistributionArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionDefaultCacheBehaviorArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionCacheBehaviorSettingsArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionCacheBehaviorSettingsForwardedCookiesArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionCacheBehaviorSettingsForwardedHeadersArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionCacheBehaviorSettingsForwardedQueryStringsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Bucket(\"test\", BucketArgs.builder()\n .name(\"test-bucket\")\n .bundleId(\"small_1_0\")\n .build());\n\n var testDistribution = new Distribution(\"testDistribution\", DistributionArgs.builder()\n .name(\"test-distribution\")\n .bundleId(\"small_1_0\")\n .origin(DistributionOriginArgs.builder()\n .name(test.name())\n .regionName(test.region())\n .build())\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .behavior(\"cache\")\n .build())\n .cacheBehaviorSettings(DistributionCacheBehaviorSettingsArgs.builder()\n .allowedHttpMethods(\"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\")\n .cachedHttpMethods(\"GET,HEAD\")\n .defaultTtl(86400)\n .maximumTtl(31536000)\n .minimumTtl(0)\n .forwardedCookies(DistributionCacheBehaviorSettingsForwardedCookiesArgs.builder()\n .option(\"none\")\n .build())\n .forwardedHeaders(DistributionCacheBehaviorSettingsForwardedHeadersArgs.builder()\n .option(\"default\")\n .build())\n .forwardedQueryStrings(DistributionCacheBehaviorSettingsForwardedQueryStringsArgs.builder()\n .option(false)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Bucket\n properties:\n name: test-bucket\n bundleId: small_1_0\n testDistribution:\n type: aws:lightsail:Distribution\n name: test\n properties:\n name: test-distribution\n bundleId: small_1_0\n origin:\n name: ${test.name}\n regionName: ${test.region}\n defaultCacheBehavior:\n behavior: cache\n cacheBehaviorSettings:\n allowedHttpMethods: GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\n cachedHttpMethods: GET,HEAD\n defaultTtl: 86400\n maximumTtl: 3.1536e+07\n minimumTtl: 0\n forwardedCookies:\n option: none\n forwardedHeaders:\n option: default\n forwardedQueryStrings:\n option: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### instance origin example\n\nBelow is an example of an instance as the origin.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst testStaticIp = new aws.lightsail.StaticIp(\"test\", {name: \"test-static-ip\"});\nconst testInstance = new aws.lightsail.Instance(\"test\", {\n name: \"test-instance\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n blueprintId: \"amazon_linux_2\",\n bundleId: \"micro_1_0\",\n});\nconst test = new aws.lightsail.StaticIpAttachment(\"test\", {\n staticIpName: testStaticIp.name,\n instanceName: testInstance.name,\n});\nconst testDistribution = new aws.lightsail.Distribution(\"test\", {\n name: \"test-distribution\",\n bundleId: \"small_1_0\",\n origin: {\n name: testInstance.name,\n regionName: available.then(available =\u003e available.id),\n },\n defaultCacheBehavior: {\n behavior: \"cache\",\n },\n}, {\n dependsOn: [test],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[{\n \"name\": \"opt-in-status\",\n \"values\": [\"opt-in-not-required\"],\n }])\ntest_static_ip = aws.lightsail.StaticIp(\"test\", name=\"test-static-ip\")\ntest_instance = aws.lightsail.Instance(\"test\",\n name=\"test-instance\",\n availability_zone=available.names[0],\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"micro_1_0\")\ntest = aws.lightsail.StaticIpAttachment(\"test\",\n static_ip_name=test_static_ip.name,\n instance_name=test_instance.name)\ntest_distribution = aws.lightsail.Distribution(\"test\",\n name=\"test-distribution\",\n bundle_id=\"small_1_0\",\n origin={\n \"name\": test_instance.name,\n \"region_name\": available.id,\n },\n default_cache_behavior={\n \"behavior\": \"cache\",\n },\n opts = pulumi.ResourceOptions(depends_on=[test]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var testStaticIp = new Aws.LightSail.StaticIp(\"test\", new()\n {\n Name = \"test-static-ip\",\n });\n\n var testInstance = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"test-instance\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"micro_1_0\",\n });\n\n var test = new Aws.LightSail.StaticIpAttachment(\"test\", new()\n {\n StaticIpName = testStaticIp.Name,\n InstanceName = testInstance.Name,\n });\n\n var testDistribution = new Aws.LightSail.Distribution(\"test\", new()\n {\n Name = \"test-distribution\",\n BundleId = \"small_1_0\",\n Origin = new Aws.LightSail.Inputs.DistributionOriginArgs\n {\n Name = testInstance.Name,\n RegionName = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Id),\n },\n DefaultCacheBehavior = new Aws.LightSail.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n Behavior = \"cache\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestStaticIp, err := lightsail.NewStaticIp(ctx, \"test\", \u0026lightsail.StaticIpArgs{\n\t\t\tName: pulumi.String(\"test-static-ip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"test-instance\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"micro_1_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := lightsail.NewStaticIpAttachment(ctx, \"test\", \u0026lightsail.StaticIpAttachmentArgs{\n\t\t\tStaticIpName: testStaticIp.Name,\n\t\t\tInstanceName: testInstance.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDistribution(ctx, \"test\", \u0026lightsail.DistributionArgs{\n\t\t\tName: pulumi.String(\"test-distribution\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t\tOrigin: \u0026lightsail.DistributionOriginArgs{\n\t\t\t\tName: testInstance.Name,\n\t\t\t\tRegionName: pulumi.String(available.Id),\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026lightsail.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tBehavior: pulumi.String(\"cache\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttest,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.StaticIp;\nimport com.pulumi.aws.lightsail.StaticIpArgs;\nimport com.pulumi.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.StaticIpAttachment;\nimport com.pulumi.aws.lightsail.StaticIpAttachmentArgs;\nimport com.pulumi.aws.lightsail.Distribution;\nimport com.pulumi.aws.lightsail.DistributionArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionDefaultCacheBehaviorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var testStaticIp = new StaticIp(\"testStaticIp\", StaticIpArgs.builder()\n .name(\"test-static-ip\")\n .build());\n\n var testInstance = new Instance(\"testInstance\", InstanceArgs.builder()\n .name(\"test-instance\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"micro_1_0\")\n .build());\n\n var test = new StaticIpAttachment(\"test\", StaticIpAttachmentArgs.builder()\n .staticIpName(testStaticIp.name())\n .instanceName(testInstance.name())\n .build());\n\n var testDistribution = new Distribution(\"testDistribution\", DistributionArgs.builder()\n .name(\"test-distribution\")\n .bundleId(\"small_1_0\")\n .origin(DistributionOriginArgs.builder()\n .name(testInstance.name())\n .regionName(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.id()))\n .build())\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .behavior(\"cache\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:StaticIpAttachment\n properties:\n staticIpName: ${testStaticIp.name}\n instanceName: ${testInstance.name}\n testStaticIp:\n type: aws:lightsail:StaticIp\n name: test\n properties:\n name: test-static-ip\n testInstance:\n type: aws:lightsail:Instance\n name: test\n properties:\n name: test-instance\n availabilityZone: ${available.names[0]}\n blueprintId: amazon_linux_2\n bundleId: micro_1_0\n testDistribution:\n type: aws:lightsail:Distribution\n name: test\n properties:\n name: test-distribution\n bundleId: small_1_0\n origin:\n name: ${testInstance.name}\n regionName: ${available.id}\n defaultCacheBehavior:\n behavior: cache\n options:\n dependsOn:\n - ${test}\nvariables:\n available:\n fn::invoke:\n function: aws:getAvailabilityZones\n arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### lb origin example\n\nBelow is an example with a load balancer as an origin\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst test = new aws.lightsail.Lb(\"test\", {\n name: \"test-load-balancer\",\n healthCheckPath: \"/\",\n instancePort: 80,\n tags: {\n foo: \"bar\",\n },\n});\nconst testInstance = new aws.lightsail.Instance(\"test\", {\n name: \"test-instance\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n});\nconst testLbAttachment = new aws.lightsail.LbAttachment(\"test\", {\n lbName: test.name,\n instanceName: testInstance.name,\n});\nconst testDistribution = new aws.lightsail.Distribution(\"test\", {\n name: \"test-distribution\",\n bundleId: \"small_1_0\",\n origin: {\n name: test.name,\n regionName: available.then(available =\u003e available.id),\n },\n defaultCacheBehavior: {\n behavior: \"cache\",\n },\n}, {\n dependsOn: [testLbAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[{\n \"name\": \"opt-in-status\",\n \"values\": [\"opt-in-not-required\"],\n }])\ntest = aws.lightsail.Lb(\"test\",\n name=\"test-load-balancer\",\n health_check_path=\"/\",\n instance_port=80,\n tags={\n \"foo\": \"bar\",\n })\ntest_instance = aws.lightsail.Instance(\"test\",\n name=\"test-instance\",\n availability_zone=available.names[0],\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\")\ntest_lb_attachment = aws.lightsail.LbAttachment(\"test\",\n lb_name=test.name,\n instance_name=test_instance.name)\ntest_distribution = aws.lightsail.Distribution(\"test\",\n name=\"test-distribution\",\n bundle_id=\"small_1_0\",\n origin={\n \"name\": test.name,\n \"region_name\": available.id,\n },\n default_cache_behavior={\n \"behavior\": \"cache\",\n },\n opts = pulumi.ResourceOptions(depends_on=[test_lb_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var test = new Aws.LightSail.Lb(\"test\", new()\n {\n Name = \"test-load-balancer\",\n HealthCheckPath = \"/\",\n InstancePort = 80,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n var testInstance = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"test-instance\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n });\n\n var testLbAttachment = new Aws.LightSail.LbAttachment(\"test\", new()\n {\n LbName = test.Name,\n InstanceName = testInstance.Name,\n });\n\n var testDistribution = new Aws.LightSail.Distribution(\"test\", new()\n {\n Name = \"test-distribution\",\n BundleId = \"small_1_0\",\n Origin = new Aws.LightSail.Inputs.DistributionOriginArgs\n {\n Name = test.Name,\n RegionName = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Id),\n },\n DefaultCacheBehavior = new Aws.LightSail.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n Behavior = \"cache\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testLbAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := lightsail.NewLb(ctx, \"test\", \u0026lightsail.LbArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer\"),\n\t\t\tHealthCheckPath: pulumi.String(\"/\"),\n\t\t\tInstancePort: pulumi.Int(80),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"test-instance\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestLbAttachment, err := lightsail.NewLbAttachment(ctx, \"test\", \u0026lightsail.LbAttachmentArgs{\n\t\t\tLbName: test.Name,\n\t\t\tInstanceName: testInstance.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDistribution(ctx, \"test\", \u0026lightsail.DistributionArgs{\n\t\t\tName: pulumi.String(\"test-distribution\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t\tOrigin: \u0026lightsail.DistributionOriginArgs{\n\t\t\t\tName: test.Name,\n\t\t\t\tRegionName: pulumi.String(available.Id),\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026lightsail.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tBehavior: pulumi.String(\"cache\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestLbAttachment,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.Lb;\nimport com.pulumi.aws.lightsail.LbArgs;\nimport com.pulumi.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.LbAttachment;\nimport com.pulumi.aws.lightsail.LbAttachmentArgs;\nimport com.pulumi.aws.lightsail.Distribution;\nimport com.pulumi.aws.lightsail.DistributionArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionDefaultCacheBehaviorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var test = new Lb(\"test\", LbArgs.builder()\n .name(\"test-load-balancer\")\n .healthCheckPath(\"/\")\n .instancePort(\"80\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n var testInstance = new Instance(\"testInstance\", InstanceArgs.builder()\n .name(\"test-instance\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .build());\n\n var testLbAttachment = new LbAttachment(\"testLbAttachment\", LbAttachmentArgs.builder()\n .lbName(test.name())\n .instanceName(testInstance.name())\n .build());\n\n var testDistribution = new Distribution(\"testDistribution\", DistributionArgs.builder()\n .name(\"test-distribution\")\n .bundleId(\"small_1_0\")\n .origin(DistributionOriginArgs.builder()\n .name(test.name())\n .regionName(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.id()))\n .build())\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .behavior(\"cache\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(testLbAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Lb\n properties:\n name: test-load-balancer\n healthCheckPath: /\n instancePort: '80'\n tags:\n foo: bar\n testInstance:\n type: aws:lightsail:Instance\n name: test\n properties:\n name: test-instance\n availabilityZone: ${available.names[0]}\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n testLbAttachment:\n type: aws:lightsail:LbAttachment\n name: test\n properties:\n lbName: ${test.name}\n instanceName: ${testInstance.name}\n testDistribution:\n type: aws:lightsail:Distribution\n name: test\n properties:\n name: test-distribution\n bundleId: small_1_0\n origin:\n name: ${test.name}\n regionName: ${available.id}\n defaultCacheBehavior:\n behavior: cache\n options:\n dependsOn:\n - ${testLbAttachment}\nvariables:\n available:\n fn::invoke:\n function: aws:getAvailabilityZones\n arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lightsail Distribution using the `id`. For example:\n\n```sh\n$ pulumi import aws:lightsail/distribution:Distribution example rft-8012925589\n```\n", + "description": "Resource for managing an AWS Lightsail Distribution.\n\n## Example Usage\n\n### Basic Usage\n\nBelow is a basic example with a bucket as an origin.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Bucket(\"test\", {\n name: \"test-bucket\",\n bundleId: \"small_1_0\",\n});\nconst testDistribution = new aws.lightsail.Distribution(\"test\", {\n name: \"test-distribution\",\n bundleId: \"small_1_0\",\n origin: {\n name: test.name,\n regionName: test.region,\n },\n defaultCacheBehavior: {\n behavior: \"cache\",\n },\n cacheBehaviorSettings: {\n allowedHttpMethods: \"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\",\n cachedHttpMethods: \"GET,HEAD\",\n defaultTtl: 86400,\n maximumTtl: 31536000,\n minimumTtl: 0,\n forwardedCookies: {\n option: \"none\",\n },\n forwardedHeaders: {\n option: \"default\",\n },\n forwardedQueryStrings: {\n option: false,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Bucket(\"test\",\n name=\"test-bucket\",\n bundle_id=\"small_1_0\")\ntest_distribution = aws.lightsail.Distribution(\"test\",\n name=\"test-distribution\",\n bundle_id=\"small_1_0\",\n origin={\n \"name\": test.name,\n \"region_name\": test.region,\n },\n default_cache_behavior={\n \"behavior\": \"cache\",\n },\n cache_behavior_settings={\n \"allowed_http_methods\": \"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\",\n \"cached_http_methods\": \"GET,HEAD\",\n \"default_ttl\": 86400,\n \"maximum_ttl\": 31536000,\n \"minimum_ttl\": 0,\n \"forwarded_cookies\": {\n \"option\": \"none\",\n },\n \"forwarded_headers\": {\n \"option\": \"default\",\n },\n \"forwarded_query_strings\": {\n \"option\": False,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Bucket(\"test\", new()\n {\n Name = \"test-bucket\",\n BundleId = \"small_1_0\",\n });\n\n var testDistribution = new Aws.LightSail.Distribution(\"test\", new()\n {\n Name = \"test-distribution\",\n BundleId = \"small_1_0\",\n Origin = new Aws.LightSail.Inputs.DistributionOriginArgs\n {\n Name = test.Name,\n RegionName = test.Region,\n },\n DefaultCacheBehavior = new Aws.LightSail.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n Behavior = \"cache\",\n },\n CacheBehaviorSettings = new Aws.LightSail.Inputs.DistributionCacheBehaviorSettingsArgs\n {\n AllowedHttpMethods = \"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\",\n CachedHttpMethods = \"GET,HEAD\",\n DefaultTtl = 86400,\n MaximumTtl = 31536000,\n MinimumTtl = 0,\n ForwardedCookies = new Aws.LightSail.Inputs.DistributionCacheBehaviorSettingsForwardedCookiesArgs\n {\n Option = \"none\",\n },\n ForwardedHeaders = new Aws.LightSail.Inputs.DistributionCacheBehaviorSettingsForwardedHeadersArgs\n {\n Option = \"default\",\n },\n ForwardedQueryStrings = new Aws.LightSail.Inputs.DistributionCacheBehaviorSettingsForwardedQueryStringsArgs\n {\n Option = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lightsail.NewBucket(ctx, \"test\", \u0026lightsail.BucketArgs{\n\t\t\tName: pulumi.String(\"test-bucket\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDistribution(ctx, \"test\", \u0026lightsail.DistributionArgs{\n\t\t\tName: pulumi.String(\"test-distribution\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t\tOrigin: \u0026lightsail.DistributionOriginArgs{\n\t\t\t\tName: test.Name,\n\t\t\t\tRegionName: test.Region,\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026lightsail.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tBehavior: pulumi.String(\"cache\"),\n\t\t\t},\n\t\t\tCacheBehaviorSettings: \u0026lightsail.DistributionCacheBehaviorSettingsArgs{\n\t\t\t\tAllowedHttpMethods: pulumi.String(\"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\"),\n\t\t\t\tCachedHttpMethods: pulumi.String(\"GET,HEAD\"),\n\t\t\t\tDefaultTtl: pulumi.Int(86400),\n\t\t\t\tMaximumTtl: pulumi.Int(31536000),\n\t\t\t\tMinimumTtl: pulumi.Int(0),\n\t\t\t\tForwardedCookies: \u0026lightsail.DistributionCacheBehaviorSettingsForwardedCookiesArgs{\n\t\t\t\t\tOption: pulumi.String(\"none\"),\n\t\t\t\t},\n\t\t\t\tForwardedHeaders: \u0026lightsail.DistributionCacheBehaviorSettingsForwardedHeadersArgs{\n\t\t\t\t\tOption: pulumi.String(\"default\"),\n\t\t\t\t},\n\t\t\t\tForwardedQueryStrings: \u0026lightsail.DistributionCacheBehaviorSettingsForwardedQueryStringsArgs{\n\t\t\t\t\tOption: pulumi.Bool(false),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Bucket;\nimport com.pulumi.aws.lightsail.BucketArgs;\nimport com.pulumi.aws.lightsail.Distribution;\nimport com.pulumi.aws.lightsail.DistributionArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionDefaultCacheBehaviorArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionCacheBehaviorSettingsArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionCacheBehaviorSettingsForwardedCookiesArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionCacheBehaviorSettingsForwardedHeadersArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionCacheBehaviorSettingsForwardedQueryStringsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Bucket(\"test\", BucketArgs.builder()\n .name(\"test-bucket\")\n .bundleId(\"small_1_0\")\n .build());\n\n var testDistribution = new Distribution(\"testDistribution\", DistributionArgs.builder()\n .name(\"test-distribution\")\n .bundleId(\"small_1_0\")\n .origin(DistributionOriginArgs.builder()\n .name(test.name())\n .regionName(test.region())\n .build())\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .behavior(\"cache\")\n .build())\n .cacheBehaviorSettings(DistributionCacheBehaviorSettingsArgs.builder()\n .allowedHttpMethods(\"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\")\n .cachedHttpMethods(\"GET,HEAD\")\n .defaultTtl(86400)\n .maximumTtl(31536000)\n .minimumTtl(0)\n .forwardedCookies(DistributionCacheBehaviorSettingsForwardedCookiesArgs.builder()\n .option(\"none\")\n .build())\n .forwardedHeaders(DistributionCacheBehaviorSettingsForwardedHeadersArgs.builder()\n .option(\"default\")\n .build())\n .forwardedQueryStrings(DistributionCacheBehaviorSettingsForwardedQueryStringsArgs.builder()\n .option(false)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Bucket\n properties:\n name: test-bucket\n bundleId: small_1_0\n testDistribution:\n type: aws:lightsail:Distribution\n name: test\n properties:\n name: test-distribution\n bundleId: small_1_0\n origin:\n name: ${test.name}\n regionName: ${test.region}\n defaultCacheBehavior:\n behavior: cache\n cacheBehaviorSettings:\n allowedHttpMethods: GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\n cachedHttpMethods: GET,HEAD\n defaultTtl: 86400\n maximumTtl: 3.1536e+07\n minimumTtl: 0\n forwardedCookies:\n option: none\n forwardedHeaders:\n option: default\n forwardedQueryStrings:\n option: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### instance origin example\n\nBelow is an example of an instance as the origin.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst testStaticIp = new aws.lightsail.StaticIp(\"test\", {name: \"test-static-ip\"});\nconst testInstance = new aws.lightsail.Instance(\"test\", {\n name: \"test-instance\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n blueprintId: \"amazon_linux_2\",\n bundleId: \"micro_1_0\",\n});\nconst test = new aws.lightsail.StaticIpAttachment(\"test\", {\n staticIpName: testStaticIp.name,\n instanceName: testInstance.name,\n});\nconst testDistribution = new aws.lightsail.Distribution(\"test\", {\n name: \"test-distribution\",\n bundleId: \"small_1_0\",\n origin: {\n name: testInstance.name,\n regionName: available.then(available =\u003e available.id),\n },\n defaultCacheBehavior: {\n behavior: \"cache\",\n },\n}, {\n dependsOn: [test],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[{\n \"name\": \"opt-in-status\",\n \"values\": [\"opt-in-not-required\"],\n }])\ntest_static_ip = aws.lightsail.StaticIp(\"test\", name=\"test-static-ip\")\ntest_instance = aws.lightsail.Instance(\"test\",\n name=\"test-instance\",\n availability_zone=available.names[0],\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"micro_1_0\")\ntest = aws.lightsail.StaticIpAttachment(\"test\",\n static_ip_name=test_static_ip.name,\n instance_name=test_instance.name)\ntest_distribution = aws.lightsail.Distribution(\"test\",\n name=\"test-distribution\",\n bundle_id=\"small_1_0\",\n origin={\n \"name\": test_instance.name,\n \"region_name\": available.id,\n },\n default_cache_behavior={\n \"behavior\": \"cache\",\n },\n opts = pulumi.ResourceOptions(depends_on=[test]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var testStaticIp = new Aws.LightSail.StaticIp(\"test\", new()\n {\n Name = \"test-static-ip\",\n });\n\n var testInstance = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"test-instance\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"micro_1_0\",\n });\n\n var test = new Aws.LightSail.StaticIpAttachment(\"test\", new()\n {\n StaticIpName = testStaticIp.Name,\n InstanceName = testInstance.Name,\n });\n\n var testDistribution = new Aws.LightSail.Distribution(\"test\", new()\n {\n Name = \"test-distribution\",\n BundleId = \"small_1_0\",\n Origin = new Aws.LightSail.Inputs.DistributionOriginArgs\n {\n Name = testInstance.Name,\n RegionName = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Id),\n },\n DefaultCacheBehavior = new Aws.LightSail.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n Behavior = \"cache\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestStaticIp, err := lightsail.NewStaticIp(ctx, \"test\", \u0026lightsail.StaticIpArgs{\n\t\t\tName: pulumi.String(\"test-static-ip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"test-instance\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"micro_1_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := lightsail.NewStaticIpAttachment(ctx, \"test\", \u0026lightsail.StaticIpAttachmentArgs{\n\t\t\tStaticIpName: testStaticIp.Name,\n\t\t\tInstanceName: testInstance.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDistribution(ctx, \"test\", \u0026lightsail.DistributionArgs{\n\t\t\tName: pulumi.String(\"test-distribution\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t\tOrigin: \u0026lightsail.DistributionOriginArgs{\n\t\t\t\tName: testInstance.Name,\n\t\t\t\tRegionName: pulumi.String(available.Id),\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026lightsail.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tBehavior: pulumi.String(\"cache\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttest,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.StaticIp;\nimport com.pulumi.aws.lightsail.StaticIpArgs;\nimport com.pulumi.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.StaticIpAttachment;\nimport com.pulumi.aws.lightsail.StaticIpAttachmentArgs;\nimport com.pulumi.aws.lightsail.Distribution;\nimport com.pulumi.aws.lightsail.DistributionArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionDefaultCacheBehaviorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var testStaticIp = new StaticIp(\"testStaticIp\", StaticIpArgs.builder()\n .name(\"test-static-ip\")\n .build());\n\n var testInstance = new Instance(\"testInstance\", InstanceArgs.builder()\n .name(\"test-instance\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"micro_1_0\")\n .build());\n\n var test = new StaticIpAttachment(\"test\", StaticIpAttachmentArgs.builder()\n .staticIpName(testStaticIp.name())\n .instanceName(testInstance.name())\n .build());\n\n var testDistribution = new Distribution(\"testDistribution\", DistributionArgs.builder()\n .name(\"test-distribution\")\n .bundleId(\"small_1_0\")\n .origin(DistributionOriginArgs.builder()\n .name(testInstance.name())\n .regionName(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.id()))\n .build())\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .behavior(\"cache\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:StaticIpAttachment\n properties:\n staticIpName: ${testStaticIp.name}\n instanceName: ${testInstance.name}\n testStaticIp:\n type: aws:lightsail:StaticIp\n name: test\n properties:\n name: test-static-ip\n testInstance:\n type: aws:lightsail:Instance\n name: test\n properties:\n name: test-instance\n availabilityZone: ${available.names[0]}\n blueprintId: amazon_linux_2\n bundleId: micro_1_0\n testDistribution:\n type: aws:lightsail:Distribution\n name: test\n properties:\n name: test-distribution\n bundleId: small_1_0\n origin:\n name: ${testInstance.name}\n regionName: ${available.id}\n defaultCacheBehavior:\n behavior: cache\n options:\n dependson:\n - ${test}\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### lb origin example\n\nBelow is an example with a load balancer as an origin\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst test = new aws.lightsail.Lb(\"test\", {\n name: \"test-load-balancer\",\n healthCheckPath: \"/\",\n instancePort: 80,\n tags: {\n foo: \"bar\",\n },\n});\nconst testInstance = new aws.lightsail.Instance(\"test\", {\n name: \"test-instance\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n});\nconst testLbAttachment = new aws.lightsail.LbAttachment(\"test\", {\n lbName: test.name,\n instanceName: testInstance.name,\n});\nconst testDistribution = new aws.lightsail.Distribution(\"test\", {\n name: \"test-distribution\",\n bundleId: \"small_1_0\",\n origin: {\n name: test.name,\n regionName: available.then(available =\u003e available.id),\n },\n defaultCacheBehavior: {\n behavior: \"cache\",\n },\n}, {\n dependsOn: [testLbAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[{\n \"name\": \"opt-in-status\",\n \"values\": [\"opt-in-not-required\"],\n }])\ntest = aws.lightsail.Lb(\"test\",\n name=\"test-load-balancer\",\n health_check_path=\"/\",\n instance_port=80,\n tags={\n \"foo\": \"bar\",\n })\ntest_instance = aws.lightsail.Instance(\"test\",\n name=\"test-instance\",\n availability_zone=available.names[0],\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\")\ntest_lb_attachment = aws.lightsail.LbAttachment(\"test\",\n lb_name=test.name,\n instance_name=test_instance.name)\ntest_distribution = aws.lightsail.Distribution(\"test\",\n name=\"test-distribution\",\n bundle_id=\"small_1_0\",\n origin={\n \"name\": test.name,\n \"region_name\": available.id,\n },\n default_cache_behavior={\n \"behavior\": \"cache\",\n },\n opts = pulumi.ResourceOptions(depends_on=[test_lb_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var test = new Aws.LightSail.Lb(\"test\", new()\n {\n Name = \"test-load-balancer\",\n HealthCheckPath = \"/\",\n InstancePort = 80,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n var testInstance = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"test-instance\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n });\n\n var testLbAttachment = new Aws.LightSail.LbAttachment(\"test\", new()\n {\n LbName = test.Name,\n InstanceName = testInstance.Name,\n });\n\n var testDistribution = new Aws.LightSail.Distribution(\"test\", new()\n {\n Name = \"test-distribution\",\n BundleId = \"small_1_0\",\n Origin = new Aws.LightSail.Inputs.DistributionOriginArgs\n {\n Name = test.Name,\n RegionName = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Id),\n },\n DefaultCacheBehavior = new Aws.LightSail.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n Behavior = \"cache\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testLbAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := lightsail.NewLb(ctx, \"test\", \u0026lightsail.LbArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer\"),\n\t\t\tHealthCheckPath: pulumi.String(\"/\"),\n\t\t\tInstancePort: pulumi.Int(80),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"test-instance\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestLbAttachment, err := lightsail.NewLbAttachment(ctx, \"test\", \u0026lightsail.LbAttachmentArgs{\n\t\t\tLbName: test.Name,\n\t\t\tInstanceName: testInstance.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDistribution(ctx, \"test\", \u0026lightsail.DistributionArgs{\n\t\t\tName: pulumi.String(\"test-distribution\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t\tOrigin: \u0026lightsail.DistributionOriginArgs{\n\t\t\t\tName: test.Name,\n\t\t\t\tRegionName: pulumi.String(available.Id),\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026lightsail.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tBehavior: pulumi.String(\"cache\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestLbAttachment,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.Lb;\nimport com.pulumi.aws.lightsail.LbArgs;\nimport com.pulumi.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.LbAttachment;\nimport com.pulumi.aws.lightsail.LbAttachmentArgs;\nimport com.pulumi.aws.lightsail.Distribution;\nimport com.pulumi.aws.lightsail.DistributionArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionDefaultCacheBehaviorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var test = new Lb(\"test\", LbArgs.builder()\n .name(\"test-load-balancer\")\n .healthCheckPath(\"/\")\n .instancePort(\"80\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n var testInstance = new Instance(\"testInstance\", InstanceArgs.builder()\n .name(\"test-instance\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .build());\n\n var testLbAttachment = new LbAttachment(\"testLbAttachment\", LbAttachmentArgs.builder()\n .lbName(test.name())\n .instanceName(testInstance.name())\n .build());\n\n var testDistribution = new Distribution(\"testDistribution\", DistributionArgs.builder()\n .name(\"test-distribution\")\n .bundleId(\"small_1_0\")\n .origin(DistributionOriginArgs.builder()\n .name(test.name())\n .regionName(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.id()))\n .build())\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .behavior(\"cache\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(testLbAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Lb\n properties:\n name: test-load-balancer\n healthCheckPath: /\n instancePort: '80'\n tags:\n foo: bar\n testInstance:\n type: aws:lightsail:Instance\n name: test\n properties:\n name: test-instance\n availabilityZone: ${available.names[0]}\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n testLbAttachment:\n type: aws:lightsail:LbAttachment\n name: test\n properties:\n lbName: ${test.name}\n instanceName: ${testInstance.name}\n testDistribution:\n type: aws:lightsail:Distribution\n name: test\n properties:\n name: test-distribution\n bundleId: small_1_0\n origin:\n name: ${test.name}\n regionName: ${available.id}\n defaultCacheBehavior:\n behavior: cache\n options:\n dependson:\n - ${testLbAttachment}\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lightsail Distribution using the `id`. For example:\n\n```sh\n$ pulumi import aws:lightsail/distribution:Distribution example rft-8012925589\n```\n", "properties": { "alternativeDomainNames": { "type": "array", @@ -301480,7 +301480,7 @@ } }, "aws:lightsail/keyPair:KeyPair": { - "description": "Provides a Lightsail Key Pair, for use with Lightsail Instances. These key pairs\nare separate from EC2 Key Pairs, and must be created or imported for use with\nLightsail.\n\n\u003e **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see [\"Regions and Availability Zones in Amazon Lightsail\"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail) for more details\n\n## Example Usage\n\n### Create New Key Pair\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new Lightsail Key Pair\nconst lgKeyPair = new aws.lightsail.KeyPair(\"lg_key_pair\", {name: \"lg_key_pair\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new Lightsail Key Pair\nlg_key_pair = aws.lightsail.KeyPair(\"lg_key_pair\", name=\"lg_key_pair\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Lightsail Key Pair\n var lgKeyPair = new Aws.LightSail.KeyPair(\"lg_key_pair\", new()\n {\n Name = \"lg_key_pair\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\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// Create a new Lightsail Key Pair\n\t\t_, err := lightsail.NewKeyPair(ctx, \"lg_key_pair\", \u0026lightsail.KeyPairArgs{\n\t\t\tName: pulumi.String(\"lg_key_pair\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.KeyPair;\nimport com.pulumi.aws.lightsail.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Lightsail Key Pair\n var lgKeyPair = new KeyPair(\"lgKeyPair\", KeyPairArgs.builder()\n .name(\"lg_key_pair\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Lightsail Key Pair\n lgKeyPair:\n type: aws:lightsail:KeyPair\n name: lg_key_pair\n properties:\n name: lg_key_pair\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create New Key Pair with PGP Encrypted Private Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lgKeyPair = new aws.lightsail.KeyPair(\"lg_key_pair\", {\n name: \"lg_key_pair\",\n pgpKey: \"keybase:keybaseusername\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlg_key_pair = aws.lightsail.KeyPair(\"lg_key_pair\",\n name=\"lg_key_pair\",\n pgp_key=\"keybase:keybaseusername\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lgKeyPair = new Aws.LightSail.KeyPair(\"lg_key_pair\", new()\n {\n Name = \"lg_key_pair\",\n PgpKey = \"keybase:keybaseusername\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\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 := lightsail.NewKeyPair(ctx, \"lg_key_pair\", \u0026lightsail.KeyPairArgs{\n\t\t\tName: pulumi.String(\"lg_key_pair\"),\n\t\t\tPgpKey: pulumi.String(\"keybase:keybaseusername\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.KeyPair;\nimport com.pulumi.aws.lightsail.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var lgKeyPair = new KeyPair(\"lgKeyPair\", KeyPairArgs.builder()\n .name(\"lg_key_pair\")\n .pgpKey(\"keybase:keybaseusername\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lgKeyPair:\n type: aws:lightsail:KeyPair\n name: lg_key_pair\n properties:\n name: lg_key_pair\n pgpKey: keybase:keybaseusername\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Existing Public Key Import\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst lgKeyPair = new aws.lightsail.KeyPair(\"lg_key_pair\", {\n name: \"importing\",\n publicKey: std.file({\n input: \"~/.ssh/id_rsa.pub\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nlg_key_pair = aws.lightsail.KeyPair(\"lg_key_pair\",\n name=\"importing\",\n public_key=std.file(input=\"~/.ssh/id_rsa.pub\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lgKeyPair = new Aws.LightSail.KeyPair(\"lg_key_pair\", new()\n {\n Name = \"importing\",\n PublicKey = Std.File.Invoke(new()\n {\n Input = \"~/.ssh/id_rsa.pub\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"~/.ssh/id_rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewKeyPair(ctx, \"lg_key_pair\", \u0026lightsail.KeyPairArgs{\n\t\t\tName: pulumi.String(\"importing\"),\n\t\t\tPublicKey: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.KeyPair;\nimport com.pulumi.aws.lightsail.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var lgKeyPair = new KeyPair(\"lgKeyPair\", KeyPairArgs.builder()\n .name(\"importing\")\n .publicKey(StdFunctions.file(FileArgs.builder()\n .input(\"~/.ssh/id_rsa.pub\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lgKeyPair:\n type: aws:lightsail:KeyPair\n name: lg_key_pair\n properties:\n name: importing\n publicKey:\n fn::invoke:\n function: std:file\n arguments:\n input: ~/.ssh/id_rsa.pub\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import Lightsail Key Pairs because the private and public key are only available on initial creation.\n\n", + "description": "Provides a Lightsail Key Pair, for use with Lightsail Instances. These key pairs\nare separate from EC2 Key Pairs, and must be created or imported for use with\nLightsail.\n\n\u003e **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see [\"Regions and Availability Zones in Amazon Lightsail\"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail) for more details\n\n## Example Usage\n\n### Create New Key Pair\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new Lightsail Key Pair\nconst lgKeyPair = new aws.lightsail.KeyPair(\"lg_key_pair\", {name: \"lg_key_pair\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new Lightsail Key Pair\nlg_key_pair = aws.lightsail.KeyPair(\"lg_key_pair\", name=\"lg_key_pair\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Lightsail Key Pair\n var lgKeyPair = new Aws.LightSail.KeyPair(\"lg_key_pair\", new()\n {\n Name = \"lg_key_pair\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\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// Create a new Lightsail Key Pair\n\t\t_, err := lightsail.NewKeyPair(ctx, \"lg_key_pair\", \u0026lightsail.KeyPairArgs{\n\t\t\tName: pulumi.String(\"lg_key_pair\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.KeyPair;\nimport com.pulumi.aws.lightsail.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Lightsail Key Pair\n var lgKeyPair = new KeyPair(\"lgKeyPair\", KeyPairArgs.builder()\n .name(\"lg_key_pair\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Lightsail Key Pair\n lgKeyPair:\n type: aws:lightsail:KeyPair\n name: lg_key_pair\n properties:\n name: lg_key_pair\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create New Key Pair with PGP Encrypted Private Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lgKeyPair = new aws.lightsail.KeyPair(\"lg_key_pair\", {\n name: \"lg_key_pair\",\n pgpKey: \"keybase:keybaseusername\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlg_key_pair = aws.lightsail.KeyPair(\"lg_key_pair\",\n name=\"lg_key_pair\",\n pgp_key=\"keybase:keybaseusername\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lgKeyPair = new Aws.LightSail.KeyPair(\"lg_key_pair\", new()\n {\n Name = \"lg_key_pair\",\n PgpKey = \"keybase:keybaseusername\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\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 := lightsail.NewKeyPair(ctx, \"lg_key_pair\", \u0026lightsail.KeyPairArgs{\n\t\t\tName: pulumi.String(\"lg_key_pair\"),\n\t\t\tPgpKey: pulumi.String(\"keybase:keybaseusername\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.KeyPair;\nimport com.pulumi.aws.lightsail.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var lgKeyPair = new KeyPair(\"lgKeyPair\", KeyPairArgs.builder()\n .name(\"lg_key_pair\")\n .pgpKey(\"keybase:keybaseusername\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lgKeyPair:\n type: aws:lightsail:KeyPair\n name: lg_key_pair\n properties:\n name: lg_key_pair\n pgpKey: keybase:keybaseusername\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Existing Public Key Import\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst lgKeyPair = new aws.lightsail.KeyPair(\"lg_key_pair\", {\n name: \"importing\",\n publicKey: std.file({\n input: \"~/.ssh/id_rsa.pub\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nlg_key_pair = aws.lightsail.KeyPair(\"lg_key_pair\",\n name=\"importing\",\n public_key=std.file(input=\"~/.ssh/id_rsa.pub\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lgKeyPair = new Aws.LightSail.KeyPair(\"lg_key_pair\", new()\n {\n Name = \"importing\",\n PublicKey = Std.File.Invoke(new()\n {\n Input = \"~/.ssh/id_rsa.pub\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"~/.ssh/id_rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewKeyPair(ctx, \"lg_key_pair\", \u0026lightsail.KeyPairArgs{\n\t\t\tName: pulumi.String(\"importing\"),\n\t\t\tPublicKey: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.KeyPair;\nimport com.pulumi.aws.lightsail.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var lgKeyPair = new KeyPair(\"lgKeyPair\", KeyPairArgs.builder()\n .name(\"importing\")\n .publicKey(StdFunctions.file(FileArgs.builder()\n .input(\"~/.ssh/id_rsa.pub\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lgKeyPair:\n type: aws:lightsail:KeyPair\n name: lg_key_pair\n properties:\n name: importing\n publicKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ~/.ssh/id_rsa.pub\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import Lightsail Key Pairs because the private and public key are only available on initial creation.\n\n", "properties": { "arn": { "type": "string", @@ -301799,7 +301799,7 @@ } }, "aws:lightsail/lbAttachment:LbAttachment": { - "description": "Attaches a Lightsail Instance to a Lightsail Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst test = new aws.lightsail.Lb(\"test\", {\n name: \"test-load-balancer\",\n healthCheckPath: \"/\",\n instancePort: 80,\n tags: {\n foo: \"bar\",\n },\n});\nconst testInstance = new aws.lightsail.Instance(\"test\", {\n name: \"test-instance\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n});\nconst testLbAttachment = new aws.lightsail.LbAttachment(\"test\", {\n lbName: test.name,\n instanceName: testInstance.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[{\n \"name\": \"opt-in-status\",\n \"values\": [\"opt-in-not-required\"],\n }])\ntest = aws.lightsail.Lb(\"test\",\n name=\"test-load-balancer\",\n health_check_path=\"/\",\n instance_port=80,\n tags={\n \"foo\": \"bar\",\n })\ntest_instance = aws.lightsail.Instance(\"test\",\n name=\"test-instance\",\n availability_zone=available.names[0],\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\")\ntest_lb_attachment = aws.lightsail.LbAttachment(\"test\",\n lb_name=test.name,\n instance_name=test_instance.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var test = new Aws.LightSail.Lb(\"test\", new()\n {\n Name = \"test-load-balancer\",\n HealthCheckPath = \"/\",\n InstancePort = 80,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n var testInstance = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"test-instance\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n });\n\n var testLbAttachment = new Aws.LightSail.LbAttachment(\"test\", new()\n {\n LbName = test.Name,\n InstanceName = testInstance.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := lightsail.NewLb(ctx, \"test\", \u0026lightsail.LbArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer\"),\n\t\t\tHealthCheckPath: pulumi.String(\"/\"),\n\t\t\tInstancePort: pulumi.Int(80),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"test-instance\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewLbAttachment(ctx, \"test\", \u0026lightsail.LbAttachmentArgs{\n\t\t\tLbName: test.Name,\n\t\t\tInstanceName: testInstance.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.Lb;\nimport com.pulumi.aws.lightsail.LbArgs;\nimport com.pulumi.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.LbAttachment;\nimport com.pulumi.aws.lightsail.LbAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var test = new Lb(\"test\", LbArgs.builder()\n .name(\"test-load-balancer\")\n .healthCheckPath(\"/\")\n .instancePort(\"80\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n var testInstance = new Instance(\"testInstance\", InstanceArgs.builder()\n .name(\"test-instance\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .build());\n\n var testLbAttachment = new LbAttachment(\"testLbAttachment\", LbAttachmentArgs.builder()\n .lbName(test.name())\n .instanceName(testInstance.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Lb\n properties:\n name: test-load-balancer\n healthCheckPath: /\n instancePort: '80'\n tags:\n foo: bar\n testInstance:\n type: aws:lightsail:Instance\n name: test\n properties:\n name: test-instance\n availabilityZone: ${available.names[0]}\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n testLbAttachment:\n type: aws:lightsail:LbAttachment\n name: test\n properties:\n lbName: ${test.name}\n instanceName: ${testInstance.name}\nvariables:\n available:\n fn::invoke:\n function: aws:getAvailabilityZones\n arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_lb_attachment` using the name attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/lbAttachment:LbAttachment test example-load-balancer,example-instance\n```\n", + "description": "Attaches a Lightsail Instance to a Lightsail Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst test = new aws.lightsail.Lb(\"test\", {\n name: \"test-load-balancer\",\n healthCheckPath: \"/\",\n instancePort: 80,\n tags: {\n foo: \"bar\",\n },\n});\nconst testInstance = new aws.lightsail.Instance(\"test\", {\n name: \"test-instance\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n});\nconst testLbAttachment = new aws.lightsail.LbAttachment(\"test\", {\n lbName: test.name,\n instanceName: testInstance.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[{\n \"name\": \"opt-in-status\",\n \"values\": [\"opt-in-not-required\"],\n }])\ntest = aws.lightsail.Lb(\"test\",\n name=\"test-load-balancer\",\n health_check_path=\"/\",\n instance_port=80,\n tags={\n \"foo\": \"bar\",\n })\ntest_instance = aws.lightsail.Instance(\"test\",\n name=\"test-instance\",\n availability_zone=available.names[0],\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\")\ntest_lb_attachment = aws.lightsail.LbAttachment(\"test\",\n lb_name=test.name,\n instance_name=test_instance.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var test = new Aws.LightSail.Lb(\"test\", new()\n {\n Name = \"test-load-balancer\",\n HealthCheckPath = \"/\",\n InstancePort = 80,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n var testInstance = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"test-instance\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n });\n\n var testLbAttachment = new Aws.LightSail.LbAttachment(\"test\", new()\n {\n LbName = test.Name,\n InstanceName = testInstance.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := lightsail.NewLb(ctx, \"test\", \u0026lightsail.LbArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer\"),\n\t\t\tHealthCheckPath: pulumi.String(\"/\"),\n\t\t\tInstancePort: pulumi.Int(80),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"test-instance\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewLbAttachment(ctx, \"test\", \u0026lightsail.LbAttachmentArgs{\n\t\t\tLbName: test.Name,\n\t\t\tInstanceName: testInstance.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.Lb;\nimport com.pulumi.aws.lightsail.LbArgs;\nimport com.pulumi.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.LbAttachment;\nimport com.pulumi.aws.lightsail.LbAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var test = new Lb(\"test\", LbArgs.builder()\n .name(\"test-load-balancer\")\n .healthCheckPath(\"/\")\n .instancePort(\"80\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n var testInstance = new Instance(\"testInstance\", InstanceArgs.builder()\n .name(\"test-instance\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .build());\n\n var testLbAttachment = new LbAttachment(\"testLbAttachment\", LbAttachmentArgs.builder()\n .lbName(test.name())\n .instanceName(testInstance.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Lb\n properties:\n name: test-load-balancer\n healthCheckPath: /\n instancePort: '80'\n tags:\n foo: bar\n testInstance:\n type: aws:lightsail:Instance\n name: test\n properties:\n name: test-instance\n availabilityZone: ${available.names[0]}\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n testLbAttachment:\n type: aws:lightsail:LbAttachment\n name: test\n properties:\n lbName: ${test.name}\n instanceName: ${testInstance.name}\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_lb_attachment` using the name attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/lbAttachment:LbAttachment test example-load-balancer,example-instance\n```\n", "properties": { "instanceName": { "type": "string", @@ -303478,7 +303478,7 @@ } }, "aws:macie/customDataIdentifier:CustomDataIdentifier": { - "description": "Provides a resource to manage an [AWS Macie Custom Data Identifier](https://docs.aws.amazon.com/macie/latest/APIReference/custom-data-identifiers-id.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst exampleCustomDataIdentifier = new aws.macie.CustomDataIdentifier(\"example\", {\n name: \"NAME OF CUSTOM DATA IDENTIFIER\",\n regex: \"[0-9]{3}-[0-9]{2}-[0-9]{4}\",\n description: \"DESCRIPTION\",\n maximumMatchDistance: 10,\n keywords: [\"keyword\"],\n ignoreWords: [\"ignore\"],\n}, {\n dependsOn: [test],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\nexample_custom_data_identifier = aws.macie.CustomDataIdentifier(\"example\",\n name=\"NAME OF CUSTOM DATA IDENTIFIER\",\n regex=\"[0-9]{3}-[0-9]{2}-[0-9]{4}\",\n description=\"DESCRIPTION\",\n maximum_match_distance=10,\n keywords=[\"keyword\"],\n ignore_words=[\"ignore\"],\n opts = pulumi.ResourceOptions(depends_on=[test]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var exampleCustomDataIdentifier = new Aws.Macie.CustomDataIdentifier(\"example\", new()\n {\n Name = \"NAME OF CUSTOM DATA IDENTIFIER\",\n Regex = \"[0-9]{3}-[0-9]{2}-[0-9]{4}\",\n Description = \"DESCRIPTION\",\n MaximumMatchDistance = 10,\n Keywords = new[]\n {\n \"keyword\",\n },\n IgnoreWords = new[]\n {\n \"ignore\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\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 := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie.NewCustomDataIdentifier(ctx, \"example\", \u0026macie.CustomDataIdentifierArgs{\n\t\t\tName: pulumi.String(\"NAME OF CUSTOM DATA IDENTIFIER\"),\n\t\t\tRegex: pulumi.String(\"[0-9]{3}-[0-9]{2}-[0-9]{4}\"),\n\t\t\tDescription: pulumi.String(\"DESCRIPTION\"),\n\t\t\tMaximumMatchDistance: pulumi.Int(10),\n\t\t\tKeywords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"keyword\"),\n\t\t\t},\n\t\t\tIgnoreWords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ignore\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttest,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.macie2.Account;\nimport com.pulumi.aws.macie.CustomDataIdentifier;\nimport com.pulumi.aws.macie.CustomDataIdentifierArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleCustomDataIdentifier = new CustomDataIdentifier(\"exampleCustomDataIdentifier\", CustomDataIdentifierArgs.builder()\n .name(\"NAME OF CUSTOM DATA IDENTIFIER\")\n .regex(\"[0-9]{3}-[0-9]{2}-[0-9]{4}\")\n .description(\"DESCRIPTION\")\n .maximumMatchDistance(10)\n .keywords(\"keyword\")\n .ignoreWords(\"ignore\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(test)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n exampleCustomDataIdentifier:\n type: aws:macie:CustomDataIdentifier\n name: example\n properties:\n name: NAME OF CUSTOM DATA IDENTIFIER\n regex: '[0-9]{3}-[0-9]{2}-[0-9]{4}'\n description: DESCRIPTION\n maximumMatchDistance: 10\n keywords:\n - keyword\n ignoreWords:\n - ignore\n options:\n dependsOn:\n - ${test}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_custom_data_identifier` using the id. For example:\n\n```sh\n$ pulumi import aws:macie/customDataIdentifier:CustomDataIdentifier example abcd1\n```\n", + "description": "Provides a resource to manage an [AWS Macie Custom Data Identifier](https://docs.aws.amazon.com/macie/latest/APIReference/custom-data-identifiers-id.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst exampleCustomDataIdentifier = new aws.macie.CustomDataIdentifier(\"example\", {\n name: \"NAME OF CUSTOM DATA IDENTIFIER\",\n regex: \"[0-9]{3}-[0-9]{2}-[0-9]{4}\",\n description: \"DESCRIPTION\",\n maximumMatchDistance: 10,\n keywords: [\"keyword\"],\n ignoreWords: [\"ignore\"],\n}, {\n dependsOn: [test],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\nexample_custom_data_identifier = aws.macie.CustomDataIdentifier(\"example\",\n name=\"NAME OF CUSTOM DATA IDENTIFIER\",\n regex=\"[0-9]{3}-[0-9]{2}-[0-9]{4}\",\n description=\"DESCRIPTION\",\n maximum_match_distance=10,\n keywords=[\"keyword\"],\n ignore_words=[\"ignore\"],\n opts = pulumi.ResourceOptions(depends_on=[test]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var exampleCustomDataIdentifier = new Aws.Macie.CustomDataIdentifier(\"example\", new()\n {\n Name = \"NAME OF CUSTOM DATA IDENTIFIER\",\n Regex = \"[0-9]{3}-[0-9]{2}-[0-9]{4}\",\n Description = \"DESCRIPTION\",\n MaximumMatchDistance = 10,\n Keywords = new[]\n {\n \"keyword\",\n },\n IgnoreWords = new[]\n {\n \"ignore\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\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 := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie.NewCustomDataIdentifier(ctx, \"example\", \u0026macie.CustomDataIdentifierArgs{\n\t\t\tName: pulumi.String(\"NAME OF CUSTOM DATA IDENTIFIER\"),\n\t\t\tRegex: pulumi.String(\"[0-9]{3}-[0-9]{2}-[0-9]{4}\"),\n\t\t\tDescription: pulumi.String(\"DESCRIPTION\"),\n\t\t\tMaximumMatchDistance: pulumi.Int(10),\n\t\t\tKeywords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"keyword\"),\n\t\t\t},\n\t\t\tIgnoreWords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ignore\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttest,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.macie2.Account;\nimport com.pulumi.aws.macie.CustomDataIdentifier;\nimport com.pulumi.aws.macie.CustomDataIdentifierArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleCustomDataIdentifier = new CustomDataIdentifier(\"exampleCustomDataIdentifier\", CustomDataIdentifierArgs.builder()\n .name(\"NAME OF CUSTOM DATA IDENTIFIER\")\n .regex(\"[0-9]{3}-[0-9]{2}-[0-9]{4}\")\n .description(\"DESCRIPTION\")\n .maximumMatchDistance(10)\n .keywords(\"keyword\")\n .ignoreWords(\"ignore\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(test)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n exampleCustomDataIdentifier:\n type: aws:macie:CustomDataIdentifier\n name: example\n properties:\n name: NAME OF CUSTOM DATA IDENTIFIER\n regex: '[0-9]{3}-[0-9]{2}-[0-9]{4}'\n description: DESCRIPTION\n maximumMatchDistance: 10\n keywords:\n - keyword\n ignoreWords:\n - ignore\n options:\n dependson:\n - ${test}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_custom_data_identifier` using the id. For example:\n\n```sh\n$ pulumi import aws:macie/customDataIdentifier:CustomDataIdentifier example abcd1\n```\n", "properties": { "arn": { "type": "string", @@ -303669,7 +303669,7 @@ } }, "aws:macie/findingsFilter:FindingsFilter": { - "description": "Provides a resource to manage an [Amazon Macie Findings Filter](https://docs.aws.amazon.com/macie/latest/APIReference/findingsfilters-id.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst test = new aws.macie.FindingsFilter(\"test\", {\n name: \"NAME OF THE FINDINGS FILTER\",\n description: \"DESCRIPTION\",\n position: 1,\n action: \"ARCHIVE\",\n findingCriteria: {\n criterions: [{\n field: \"region\",\n eqs: [current.name],\n }],\n },\n}, {\n dependsOn: [testAwsMacie2Account],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\ntest = aws.macie.FindingsFilter(\"test\",\n name=\"NAME OF THE FINDINGS FILTER\",\n description=\"DESCRIPTION\",\n position=1,\n action=\"ARCHIVE\",\n finding_criteria={\n \"criterions\": [{\n \"field\": \"region\",\n \"eqs\": [current[\"name\"]],\n }],\n },\n opts = pulumi.ResourceOptions(depends_on=[test_aws_macie2_account]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var test = new Aws.Macie.FindingsFilter(\"test\", new()\n {\n Name = \"NAME OF THE FINDINGS FILTER\",\n Description = \"DESCRIPTION\",\n Position = 1,\n Action = \"ARCHIVE\",\n FindingCriteria = new Aws.Macie.Inputs.FindingsFilterFindingCriteriaArgs\n {\n Criterions = new[]\n {\n new Aws.Macie.Inputs.FindingsFilterFindingCriteriaCriterionArgs\n {\n Field = \"region\",\n Eqs = new[]\n {\n current.Name,\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testAwsMacie2Account,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\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 := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie.NewFindingsFilter(ctx, \"test\", \u0026macie.FindingsFilterArgs{\n\t\t\tName: pulumi.String(\"NAME OF THE FINDINGS FILTER\"),\n\t\t\tDescription: pulumi.String(\"DESCRIPTION\"),\n\t\t\tPosition: pulumi.Int(1),\n\t\t\tAction: pulumi.String(\"ARCHIVE\"),\n\t\t\tFindingCriteria: \u0026macie.FindingsFilterFindingCriteriaArgs{\n\t\t\t\tCriterions: macie.FindingsFilterFindingCriteriaCriterionArray{\n\t\t\t\t\t\u0026macie.FindingsFilterFindingCriteriaCriterionArgs{\n\t\t\t\t\t\tField: pulumi.String(\"region\"),\n\t\t\t\t\t\tEqs: pulumi.StringArray{\n\t\t\t\t\t\t\tcurrent.Name,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAwsMacie2Account,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.macie2.Account;\nimport com.pulumi.aws.macie.FindingsFilter;\nimport com.pulumi.aws.macie.FindingsFilterArgs;\nimport com.pulumi.aws.macie.inputs.FindingsFilterFindingCriteriaArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var test = new FindingsFilter(\"test\", FindingsFilterArgs.builder()\n .name(\"NAME OF THE FINDINGS FILTER\")\n .description(\"DESCRIPTION\")\n .position(1)\n .action(\"ARCHIVE\")\n .findingCriteria(FindingsFilterFindingCriteriaArgs.builder()\n .criterions(FindingsFilterFindingCriteriaCriterionArgs.builder()\n .field(\"region\")\n .eqs(current.name())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(testAwsMacie2Account)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n test:\n type: aws:macie:FindingsFilter\n properties:\n name: NAME OF THE FINDINGS FILTER\n description: DESCRIPTION\n position: 1\n action: ARCHIVE\n findingCriteria:\n criterions:\n - field: region\n eqs:\n - ${current.name}\n options:\n dependsOn:\n - ${testAwsMacie2Account}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_findings_filter` using the id. For example:\n\n```sh\n$ pulumi import aws:macie/findingsFilter:FindingsFilter example abcd1\n```\n", + "description": "Provides a resource to manage an [Amazon Macie Findings Filter](https://docs.aws.amazon.com/macie/latest/APIReference/findingsfilters-id.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst test = new aws.macie.FindingsFilter(\"test\", {\n name: \"NAME OF THE FINDINGS FILTER\",\n description: \"DESCRIPTION\",\n position: 1,\n action: \"ARCHIVE\",\n findingCriteria: {\n criterions: [{\n field: \"region\",\n eqs: [current.name],\n }],\n },\n}, {\n dependsOn: [testAwsMacie2Account],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\ntest = aws.macie.FindingsFilter(\"test\",\n name=\"NAME OF THE FINDINGS FILTER\",\n description=\"DESCRIPTION\",\n position=1,\n action=\"ARCHIVE\",\n finding_criteria={\n \"criterions\": [{\n \"field\": \"region\",\n \"eqs\": [current[\"name\"]],\n }],\n },\n opts = pulumi.ResourceOptions(depends_on=[test_aws_macie2_account]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var test = new Aws.Macie.FindingsFilter(\"test\", new()\n {\n Name = \"NAME OF THE FINDINGS FILTER\",\n Description = \"DESCRIPTION\",\n Position = 1,\n Action = \"ARCHIVE\",\n FindingCriteria = new Aws.Macie.Inputs.FindingsFilterFindingCriteriaArgs\n {\n Criterions = new[]\n {\n new Aws.Macie.Inputs.FindingsFilterFindingCriteriaCriterionArgs\n {\n Field = \"region\",\n Eqs = new[]\n {\n current.Name,\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testAwsMacie2Account,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\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 := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie.NewFindingsFilter(ctx, \"test\", \u0026macie.FindingsFilterArgs{\n\t\t\tName: pulumi.String(\"NAME OF THE FINDINGS FILTER\"),\n\t\t\tDescription: pulumi.String(\"DESCRIPTION\"),\n\t\t\tPosition: pulumi.Int(1),\n\t\t\tAction: pulumi.String(\"ARCHIVE\"),\n\t\t\tFindingCriteria: \u0026macie.FindingsFilterFindingCriteriaArgs{\n\t\t\t\tCriterions: macie.FindingsFilterFindingCriteriaCriterionArray{\n\t\t\t\t\t\u0026macie.FindingsFilterFindingCriteriaCriterionArgs{\n\t\t\t\t\t\tField: pulumi.String(\"region\"),\n\t\t\t\t\t\tEqs: pulumi.StringArray{\n\t\t\t\t\t\t\tcurrent.Name,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAwsMacie2Account,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.macie2.Account;\nimport com.pulumi.aws.macie.FindingsFilter;\nimport com.pulumi.aws.macie.FindingsFilterArgs;\nimport com.pulumi.aws.macie.inputs.FindingsFilterFindingCriteriaArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var test = new FindingsFilter(\"test\", FindingsFilterArgs.builder()\n .name(\"NAME OF THE FINDINGS FILTER\")\n .description(\"DESCRIPTION\")\n .position(1)\n .action(\"ARCHIVE\")\n .findingCriteria(FindingsFilterFindingCriteriaArgs.builder()\n .criterions(FindingsFilterFindingCriteriaCriterionArgs.builder()\n .field(\"region\")\n .eqs(current.name())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(testAwsMacie2Account)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n test:\n type: aws:macie:FindingsFilter\n properties:\n name: NAME OF THE FINDINGS FILTER\n description: DESCRIPTION\n position: 1\n action: ARCHIVE\n findingCriteria:\n criterions:\n - field: region\n eqs:\n - ${current.name}\n options:\n dependson:\n - ${testAwsMacie2Account}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_findings_filter` using the id. For example:\n\n```sh\n$ pulumi import aws:macie/findingsFilter:FindingsFilter example abcd1\n```\n", "properties": { "action": { "type": "string", @@ -303881,7 +303881,7 @@ } }, "aws:macie2/classificationExportConfiguration:ClassificationExportConfiguration": { - "description": "Provides a resource to manage an [Amazon Macie Classification Export Configuration](https://docs.aws.amazon.com/macie/latest/APIReference/classification-export-configuration.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst exampleClassificationExportConfiguration = new aws.macie2.ClassificationExportConfiguration(\"example\", {s3Destination: {\n bucketName: exampleAwsS3Bucket.bucket,\n keyPrefix: \"exampleprefix/\",\n kmsKeyArn: exampleAwsKmsKey.arn,\n}}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\nexample_classification_export_configuration = aws.macie2.ClassificationExportConfiguration(\"example\", s3_destination={\n \"bucket_name\": example_aws_s3_bucket[\"bucket\"],\n \"key_prefix\": \"exampleprefix/\",\n \"kms_key_arn\": example_aws_kms_key[\"arn\"],\n},\nopts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var exampleClassificationExportConfiguration = new Aws.Macie2.ClassificationExportConfiguration(\"example\", new()\n {\n S3Destination = new Aws.Macie2.Inputs.ClassificationExportConfigurationS3DestinationArgs\n {\n BucketName = exampleAwsS3Bucket.Bucket,\n KeyPrefix = \"exampleprefix/\",\n KmsKeyArn = exampleAwsKmsKey.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewClassificationExportConfiguration(ctx, \"example\", \u0026macie2.ClassificationExportConfigurationArgs{\n\t\t\tS3Destination: \u0026macie2.ClassificationExportConfigurationS3DestinationArgs{\n\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Bucket),\n\t\t\t\tKeyPrefix: pulumi.String(\"exampleprefix/\"),\n\t\t\t\tKmsKeyArn: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.macie2.Account;\nimport com.pulumi.aws.macie2.ClassificationExportConfiguration;\nimport com.pulumi.aws.macie2.ClassificationExportConfigurationArgs;\nimport com.pulumi.aws.macie2.inputs.ClassificationExportConfigurationS3DestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleClassificationExportConfiguration = new ClassificationExportConfiguration(\"exampleClassificationExportConfiguration\", ClassificationExportConfigurationArgs.builder()\n .s3Destination(ClassificationExportConfigurationS3DestinationArgs.builder()\n .bucketName(exampleAwsS3Bucket.bucket())\n .keyPrefix(\"exampleprefix/\")\n .kmsKeyArn(exampleAwsKmsKey.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n exampleClassificationExportConfiguration:\n type: aws:macie2:ClassificationExportConfiguration\n name: example\n properties:\n s3Destination:\n bucketName: ${exampleAwsS3Bucket.bucket}\n keyPrefix: exampleprefix/\n kmsKeyArn: ${exampleAwsKmsKey.arn}\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_classification_export_configuration` using the account ID and region. For example:\n\n```sh\n$ pulumi import aws:macie2/classificationExportConfiguration:ClassificationExportConfiguration example 123456789012:us-west-2\n```\n", + "description": "Provides a resource to manage an [Amazon Macie Classification Export Configuration](https://docs.aws.amazon.com/macie/latest/APIReference/classification-export-configuration.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst exampleClassificationExportConfiguration = new aws.macie2.ClassificationExportConfiguration(\"example\", {s3Destination: {\n bucketName: exampleAwsS3Bucket.bucket,\n keyPrefix: \"exampleprefix/\",\n kmsKeyArn: exampleAwsKmsKey.arn,\n}}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\nexample_classification_export_configuration = aws.macie2.ClassificationExportConfiguration(\"example\", s3_destination={\n \"bucket_name\": example_aws_s3_bucket[\"bucket\"],\n \"key_prefix\": \"exampleprefix/\",\n \"kms_key_arn\": example_aws_kms_key[\"arn\"],\n},\nopts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var exampleClassificationExportConfiguration = new Aws.Macie2.ClassificationExportConfiguration(\"example\", new()\n {\n S3Destination = new Aws.Macie2.Inputs.ClassificationExportConfigurationS3DestinationArgs\n {\n BucketName = exampleAwsS3Bucket.Bucket,\n KeyPrefix = \"exampleprefix/\",\n KmsKeyArn = exampleAwsKmsKey.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewClassificationExportConfiguration(ctx, \"example\", \u0026macie2.ClassificationExportConfigurationArgs{\n\t\t\tS3Destination: \u0026macie2.ClassificationExportConfigurationS3DestinationArgs{\n\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Bucket),\n\t\t\t\tKeyPrefix: pulumi.String(\"exampleprefix/\"),\n\t\t\t\tKmsKeyArn: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.macie2.Account;\nimport com.pulumi.aws.macie2.ClassificationExportConfiguration;\nimport com.pulumi.aws.macie2.ClassificationExportConfigurationArgs;\nimport com.pulumi.aws.macie2.inputs.ClassificationExportConfigurationS3DestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleClassificationExportConfiguration = new ClassificationExportConfiguration(\"exampleClassificationExportConfiguration\", ClassificationExportConfigurationArgs.builder()\n .s3Destination(ClassificationExportConfigurationS3DestinationArgs.builder()\n .bucketName(exampleAwsS3Bucket.bucket())\n .keyPrefix(\"exampleprefix/\")\n .kmsKeyArn(exampleAwsKmsKey.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n exampleClassificationExportConfiguration:\n type: aws:macie2:ClassificationExportConfiguration\n name: example\n properties:\n s3Destination:\n bucketName: ${exampleAwsS3Bucket.bucket}\n keyPrefix: exampleprefix/\n kmsKeyArn: ${exampleAwsKmsKey.arn}\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_classification_export_configuration` using the account ID and region. For example:\n\n```sh\n$ pulumi import aws:macie2/classificationExportConfiguration:ClassificationExportConfiguration example 123456789012:us-west-2\n```\n", "properties": { "s3Destination": { "$ref": "#/types/aws:macie2/ClassificationExportConfigurationS3Destination:ClassificationExportConfigurationS3Destination", @@ -303906,7 +303906,7 @@ } }, "aws:macie2/classificationJob:ClassificationJob": { - "description": "Provides a resource to manage an [AWS Macie Classification Job](https://docs.aws.amazon.com/macie/latest/APIReference/jobs.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.macie2.Account(\"test\", {});\nconst testClassificationJob = new aws.macie2.ClassificationJob(\"test\", {\n jobType: \"ONE_TIME\",\n name: \"NAME OF THE CLASSIFICATION JOB\",\n s3JobDefinition: {\n bucketDefinitions: [{\n accountId: \"ACCOUNT ID\",\n buckets: [\"S3 BUCKET NAME\"],\n }],\n },\n}, {\n dependsOn: [test],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.macie2.Account(\"test\")\ntest_classification_job = aws.macie2.ClassificationJob(\"test\",\n job_type=\"ONE_TIME\",\n name=\"NAME OF THE CLASSIFICATION JOB\",\n s3_job_definition={\n \"bucket_definitions\": [{\n \"account_id\": \"ACCOUNT ID\",\n \"buckets\": [\"S3 BUCKET NAME\"],\n }],\n },\n opts = pulumi.ResourceOptions(depends_on=[test]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Macie2.Account(\"test\");\n\n var testClassificationJob = new Aws.Macie2.ClassificationJob(\"test\", new()\n {\n JobType = \"ONE_TIME\",\n Name = \"NAME OF THE CLASSIFICATION JOB\",\n S3JobDefinition = new Aws.Macie2.Inputs.ClassificationJobS3JobDefinitionArgs\n {\n BucketDefinitions = new[]\n {\n new Aws.Macie2.Inputs.ClassificationJobS3JobDefinitionBucketDefinitionArgs\n {\n AccountId = \"ACCOUNT ID\",\n Buckets = new[]\n {\n \"S3 BUCKET NAME\",\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := macie2.NewAccount(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewClassificationJob(ctx, \"test\", \u0026macie2.ClassificationJobArgs{\n\t\t\tJobType: pulumi.String(\"ONE_TIME\"),\n\t\t\tName: pulumi.String(\"NAME OF THE CLASSIFICATION JOB\"),\n\t\t\tS3JobDefinition: \u0026macie2.ClassificationJobS3JobDefinitionArgs{\n\t\t\t\tBucketDefinitions: macie2.ClassificationJobS3JobDefinitionBucketDefinitionArray{\n\t\t\t\t\t\u0026macie2.ClassificationJobS3JobDefinitionBucketDefinitionArgs{\n\t\t\t\t\t\tAccountId: pulumi.String(\"ACCOUNT ID\"),\n\t\t\t\t\t\tBuckets: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"S3 BUCKET NAME\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttest,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.macie2.Account;\nimport com.pulumi.aws.macie2.ClassificationJob;\nimport com.pulumi.aws.macie2.ClassificationJobArgs;\nimport com.pulumi.aws.macie2.inputs.ClassificationJobS3JobDefinitionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Account(\"test\");\n\n var testClassificationJob = new ClassificationJob(\"testClassificationJob\", ClassificationJobArgs.builder()\n .jobType(\"ONE_TIME\")\n .name(\"NAME OF THE CLASSIFICATION JOB\")\n .s3JobDefinition(ClassificationJobS3JobDefinitionArgs.builder()\n .bucketDefinitions(ClassificationJobS3JobDefinitionBucketDefinitionArgs.builder()\n .accountId(\"ACCOUNT ID\")\n .buckets(\"S3 BUCKET NAME\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:macie2:Account\n testClassificationJob:\n type: aws:macie2:ClassificationJob\n name: test\n properties:\n jobType: ONE_TIME\n name: NAME OF THE CLASSIFICATION JOB\n s3JobDefinition:\n bucketDefinitions:\n - accountId: ACCOUNT ID\n buckets:\n - S3 BUCKET NAME\n options:\n dependsOn:\n - ${test}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_classification_job` using the id. For example:\n\n```sh\n$ pulumi import aws:macie2/classificationJob:ClassificationJob example abcd1\n```\n", + "description": "Provides a resource to manage an [AWS Macie Classification Job](https://docs.aws.amazon.com/macie/latest/APIReference/jobs.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.macie2.Account(\"test\", {});\nconst testClassificationJob = new aws.macie2.ClassificationJob(\"test\", {\n jobType: \"ONE_TIME\",\n name: \"NAME OF THE CLASSIFICATION JOB\",\n s3JobDefinition: {\n bucketDefinitions: [{\n accountId: \"ACCOUNT ID\",\n buckets: [\"S3 BUCKET NAME\"],\n }],\n },\n}, {\n dependsOn: [test],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.macie2.Account(\"test\")\ntest_classification_job = aws.macie2.ClassificationJob(\"test\",\n job_type=\"ONE_TIME\",\n name=\"NAME OF THE CLASSIFICATION JOB\",\n s3_job_definition={\n \"bucket_definitions\": [{\n \"account_id\": \"ACCOUNT ID\",\n \"buckets\": [\"S3 BUCKET NAME\"],\n }],\n },\n opts = pulumi.ResourceOptions(depends_on=[test]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Macie2.Account(\"test\");\n\n var testClassificationJob = new Aws.Macie2.ClassificationJob(\"test\", new()\n {\n JobType = \"ONE_TIME\",\n Name = \"NAME OF THE CLASSIFICATION JOB\",\n S3JobDefinition = new Aws.Macie2.Inputs.ClassificationJobS3JobDefinitionArgs\n {\n BucketDefinitions = new[]\n {\n new Aws.Macie2.Inputs.ClassificationJobS3JobDefinitionBucketDefinitionArgs\n {\n AccountId = \"ACCOUNT ID\",\n Buckets = new[]\n {\n \"S3 BUCKET NAME\",\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := macie2.NewAccount(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewClassificationJob(ctx, \"test\", \u0026macie2.ClassificationJobArgs{\n\t\t\tJobType: pulumi.String(\"ONE_TIME\"),\n\t\t\tName: pulumi.String(\"NAME OF THE CLASSIFICATION JOB\"),\n\t\t\tS3JobDefinition: \u0026macie2.ClassificationJobS3JobDefinitionArgs{\n\t\t\t\tBucketDefinitions: macie2.ClassificationJobS3JobDefinitionBucketDefinitionArray{\n\t\t\t\t\t\u0026macie2.ClassificationJobS3JobDefinitionBucketDefinitionArgs{\n\t\t\t\t\t\tAccountId: pulumi.String(\"ACCOUNT ID\"),\n\t\t\t\t\t\tBuckets: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"S3 BUCKET NAME\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttest,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.macie2.Account;\nimport com.pulumi.aws.macie2.ClassificationJob;\nimport com.pulumi.aws.macie2.ClassificationJobArgs;\nimport com.pulumi.aws.macie2.inputs.ClassificationJobS3JobDefinitionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Account(\"test\");\n\n var testClassificationJob = new ClassificationJob(\"testClassificationJob\", ClassificationJobArgs.builder()\n .jobType(\"ONE_TIME\")\n .name(\"NAME OF THE CLASSIFICATION JOB\")\n .s3JobDefinition(ClassificationJobS3JobDefinitionArgs.builder()\n .bucketDefinitions(ClassificationJobS3JobDefinitionBucketDefinitionArgs.builder()\n .accountId(\"ACCOUNT ID\")\n .buckets(\"S3 BUCKET NAME\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:macie2:Account\n testClassificationJob:\n type: aws:macie2:ClassificationJob\n name: test\n properties:\n jobType: ONE_TIME\n name: NAME OF THE CLASSIFICATION JOB\n s3JobDefinition:\n bucketDefinitions:\n - accountId: ACCOUNT ID\n buckets:\n - S3 BUCKET NAME\n options:\n dependson:\n - ${test}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_classification_job` using the id. For example:\n\n```sh\n$ pulumi import aws:macie2/classificationJob:ClassificationJob example abcd1\n```\n", "properties": { "createdAt": { "type": "string", @@ -304158,7 +304158,7 @@ } }, "aws:macie2/invitationAccepter:InvitationAccepter": { - "description": "Provides a resource to manage an [Amazon Macie Invitation Accepter](https://docs.aws.amazon.com/macie/latest/APIReference/invitations-accept.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.macie2.Account(\"primary\", {});\nconst member = new aws.macie2.Account(\"member\", {});\nconst primaryMember = new aws.macie2.Member(\"primary\", {\n accountId: \"ACCOUNT ID\",\n email: \"EMAIL\",\n invite: true,\n invitationMessage: \"Message of the invite\",\n}, {\n dependsOn: [primary],\n});\nconst memberInvitationAccepter = new aws.macie2.InvitationAccepter(\"member\", {administratorAccountId: \"ADMINISTRATOR ACCOUNT ID\"}, {\n dependsOn: [primaryMember],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.macie2.Account(\"primary\")\nmember = aws.macie2.Account(\"member\")\nprimary_member = aws.macie2.Member(\"primary\",\n account_id=\"ACCOUNT ID\",\n email=\"EMAIL\",\n invite=True,\n invitation_message=\"Message of the invite\",\n opts = pulumi.ResourceOptions(depends_on=[primary]))\nmember_invitation_accepter = aws.macie2.InvitationAccepter(\"member\", administrator_account_id=\"ADMINISTRATOR ACCOUNT ID\",\nopts = pulumi.ResourceOptions(depends_on=[primary_member]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.Macie2.Account(\"primary\");\n\n var member = new Aws.Macie2.Account(\"member\");\n\n var primaryMember = new Aws.Macie2.Member(\"primary\", new()\n {\n AccountId = \"ACCOUNT ID\",\n Email = \"EMAIL\",\n Invite = true,\n InvitationMessage = \"Message of the invite\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primary,\n },\n });\n\n var memberInvitationAccepter = new Aws.Macie2.InvitationAccepter(\"member\", new()\n {\n AdministratorAccountId = \"ADMINISTRATOR ACCOUNT ID\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryMember,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := macie2.NewAccount(ctx, \"primary\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewAccount(ctx, \"member\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryMember, err := macie2.NewMember(ctx, \"primary\", \u0026macie2.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"ACCOUNT ID\"),\n\t\t\tEmail: pulumi.String(\"EMAIL\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t\tInvitationMessage: pulumi.String(\"Message of the invite\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimary,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewInvitationAccepter(ctx, \"member\", \u0026macie2.InvitationAccepterArgs{\n\t\t\tAdministratorAccountId: pulumi.String(\"ADMINISTRATOR ACCOUNT ID\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryMember,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.macie2.Account;\nimport com.pulumi.aws.macie2.Member;\nimport com.pulumi.aws.macie2.MemberArgs;\nimport com.pulumi.aws.macie2.InvitationAccepter;\nimport com.pulumi.aws.macie2.InvitationAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var primary = new Account(\"primary\");\n\n var member = new Account(\"member\");\n\n var primaryMember = new Member(\"primaryMember\", MemberArgs.builder()\n .accountId(\"ACCOUNT ID\")\n .email(\"EMAIL\")\n .invite(true)\n .invitationMessage(\"Message of the invite\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primary)\n .build());\n\n var memberInvitationAccepter = new InvitationAccepter(\"memberInvitationAccepter\", InvitationAccepterArgs.builder()\n .administratorAccountId(\"ADMINISTRATOR ACCOUNT ID\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryMember)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:macie2:Account\n member:\n type: aws:macie2:Account\n primaryMember:\n type: aws:macie2:Member\n name: primary\n properties:\n accountId: ACCOUNT ID\n email: EMAIL\n invite: true\n invitationMessage: Message of the invite\n options:\n dependsOn:\n - ${primary}\n memberInvitationAccepter:\n type: aws:macie2:InvitationAccepter\n name: member\n properties:\n administratorAccountId: ADMINISTRATOR ACCOUNT ID\n options:\n dependsOn:\n - ${primaryMember}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_invitation_accepter` using the admin account ID. For example:\n\n```sh\n$ pulumi import aws:macie2/invitationAccepter:InvitationAccepter example 123456789012\n```\n", + "description": "Provides a resource to manage an [Amazon Macie Invitation Accepter](https://docs.aws.amazon.com/macie/latest/APIReference/invitations-accept.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.macie2.Account(\"primary\", {});\nconst member = new aws.macie2.Account(\"member\", {});\nconst primaryMember = new aws.macie2.Member(\"primary\", {\n accountId: \"ACCOUNT ID\",\n email: \"EMAIL\",\n invite: true,\n invitationMessage: \"Message of the invite\",\n}, {\n dependsOn: [primary],\n});\nconst memberInvitationAccepter = new aws.macie2.InvitationAccepter(\"member\", {administratorAccountId: \"ADMINISTRATOR ACCOUNT ID\"}, {\n dependsOn: [primaryMember],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.macie2.Account(\"primary\")\nmember = aws.macie2.Account(\"member\")\nprimary_member = aws.macie2.Member(\"primary\",\n account_id=\"ACCOUNT ID\",\n email=\"EMAIL\",\n invite=True,\n invitation_message=\"Message of the invite\",\n opts = pulumi.ResourceOptions(depends_on=[primary]))\nmember_invitation_accepter = aws.macie2.InvitationAccepter(\"member\", administrator_account_id=\"ADMINISTRATOR ACCOUNT ID\",\nopts = pulumi.ResourceOptions(depends_on=[primary_member]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.Macie2.Account(\"primary\");\n\n var member = new Aws.Macie2.Account(\"member\");\n\n var primaryMember = new Aws.Macie2.Member(\"primary\", new()\n {\n AccountId = \"ACCOUNT ID\",\n Email = \"EMAIL\",\n Invite = true,\n InvitationMessage = \"Message of the invite\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primary,\n },\n });\n\n var memberInvitationAccepter = new Aws.Macie2.InvitationAccepter(\"member\", new()\n {\n AdministratorAccountId = \"ADMINISTRATOR ACCOUNT ID\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryMember,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := macie2.NewAccount(ctx, \"primary\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewAccount(ctx, \"member\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryMember, err := macie2.NewMember(ctx, \"primary\", \u0026macie2.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"ACCOUNT ID\"),\n\t\t\tEmail: pulumi.String(\"EMAIL\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t\tInvitationMessage: pulumi.String(\"Message of the invite\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimary,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewInvitationAccepter(ctx, \"member\", \u0026macie2.InvitationAccepterArgs{\n\t\t\tAdministratorAccountId: pulumi.String(\"ADMINISTRATOR ACCOUNT ID\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryMember,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.macie2.Account;\nimport com.pulumi.aws.macie2.Member;\nimport com.pulumi.aws.macie2.MemberArgs;\nimport com.pulumi.aws.macie2.InvitationAccepter;\nimport com.pulumi.aws.macie2.InvitationAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var primary = new Account(\"primary\");\n\n var member = new Account(\"member\");\n\n var primaryMember = new Member(\"primaryMember\", MemberArgs.builder()\n .accountId(\"ACCOUNT ID\")\n .email(\"EMAIL\")\n .invite(true)\n .invitationMessage(\"Message of the invite\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primary)\n .build());\n\n var memberInvitationAccepter = new InvitationAccepter(\"memberInvitationAccepter\", InvitationAccepterArgs.builder()\n .administratorAccountId(\"ADMINISTRATOR ACCOUNT ID\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryMember)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:macie2:Account\n member:\n type: aws:macie2:Account\n primaryMember:\n type: aws:macie2:Member\n name: primary\n properties:\n accountId: ACCOUNT ID\n email: EMAIL\n invite: true\n invitationMessage: Message of the invite\n options:\n dependson:\n - ${primary}\n memberInvitationAccepter:\n type: aws:macie2:InvitationAccepter\n name: member\n properties:\n administratorAccountId: ADMINISTRATOR ACCOUNT ID\n options:\n dependson:\n - ${primaryMember}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_invitation_accepter` using the admin account ID. For example:\n\n```sh\n$ pulumi import aws:macie2/invitationAccepter:InvitationAccepter example 123456789012\n```\n", "properties": { "administratorAccountId": { "type": "string", @@ -304200,7 +304200,7 @@ } }, "aws:macie2/member:Member": { - "description": "Provides a resource to manage an [Amazon Macie Member](https://docs.aws.amazon.com/macie/latest/APIReference/members-id.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst exampleMember = new aws.macie2.Member(\"example\", {\n accountId: \"AWS ACCOUNT ID\",\n email: \"EMAIL\",\n invite: true,\n invitationMessage: \"Message of the invitation\",\n invitationDisableEmailNotification: true,\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\nexample_member = aws.macie2.Member(\"example\",\n account_id=\"AWS ACCOUNT ID\",\n email=\"EMAIL\",\n invite=True,\n invitation_message=\"Message of the invitation\",\n invitation_disable_email_notification=True,\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var exampleMember = new Aws.Macie2.Member(\"example\", new()\n {\n AccountId = \"AWS ACCOUNT ID\",\n Email = \"EMAIL\",\n Invite = true,\n InvitationMessage = \"Message of the invitation\",\n InvitationDisableEmailNotification = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewMember(ctx, \"example\", \u0026macie2.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"AWS ACCOUNT ID\"),\n\t\t\tEmail: pulumi.String(\"EMAIL\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t\tInvitationMessage: pulumi.String(\"Message of the invitation\"),\n\t\t\tInvitationDisableEmailNotification: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.macie2.Account;\nimport com.pulumi.aws.macie2.Member;\nimport com.pulumi.aws.macie2.MemberArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleMember = new Member(\"exampleMember\", MemberArgs.builder()\n .accountId(\"AWS ACCOUNT ID\")\n .email(\"EMAIL\")\n .invite(true)\n .invitationMessage(\"Message of the invitation\")\n .invitationDisableEmailNotification(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n exampleMember:\n type: aws:macie2:Member\n name: example\n properties:\n accountId: AWS ACCOUNT ID\n email: EMAIL\n invite: true\n invitationMessage: Message of the invitation\n invitationDisableEmailNotification: true\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_member` using the account ID of the member account. For example:\n\n```sh\n$ pulumi import aws:macie2/member:Member example 123456789012\n```\n", + "description": "Provides a resource to manage an [Amazon Macie Member](https://docs.aws.amazon.com/macie/latest/APIReference/members-id.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst exampleMember = new aws.macie2.Member(\"example\", {\n accountId: \"AWS ACCOUNT ID\",\n email: \"EMAIL\",\n invite: true,\n invitationMessage: \"Message of the invitation\",\n invitationDisableEmailNotification: true,\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\nexample_member = aws.macie2.Member(\"example\",\n account_id=\"AWS ACCOUNT ID\",\n email=\"EMAIL\",\n invite=True,\n invitation_message=\"Message of the invitation\",\n invitation_disable_email_notification=True,\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var exampleMember = new Aws.Macie2.Member(\"example\", new()\n {\n AccountId = \"AWS ACCOUNT ID\",\n Email = \"EMAIL\",\n Invite = true,\n InvitationMessage = \"Message of the invitation\",\n InvitationDisableEmailNotification = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewMember(ctx, \"example\", \u0026macie2.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"AWS ACCOUNT ID\"),\n\t\t\tEmail: pulumi.String(\"EMAIL\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t\tInvitationMessage: pulumi.String(\"Message of the invitation\"),\n\t\t\tInvitationDisableEmailNotification: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.macie2.Account;\nimport com.pulumi.aws.macie2.Member;\nimport com.pulumi.aws.macie2.MemberArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleMember = new Member(\"exampleMember\", MemberArgs.builder()\n .accountId(\"AWS ACCOUNT ID\")\n .email(\"EMAIL\")\n .invite(true)\n .invitationMessage(\"Message of the invitation\")\n .invitationDisableEmailNotification(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n exampleMember:\n type: aws:macie2:Member\n name: example\n properties:\n accountId: AWS ACCOUNT ID\n email: EMAIL\n invite: true\n invitationMessage: Message of the invitation\n invitationDisableEmailNotification: true\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_member` using the account ID of the member account. For example:\n\n```sh\n$ pulumi import aws:macie2/member:Member example 123456789012\n```\n", "properties": { "accountId": { "type": "string", @@ -304390,7 +304390,7 @@ } }, "aws:macie2/organizationAdminAccount:OrganizationAdminAccount": { - "description": "Provides a resource to manage an [Amazon Macie Organization Admin Account](https://docs.aws.amazon.com/macie/latest/APIReference/admin.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst exampleOrganizationAdminAccount = new aws.macie2.OrganizationAdminAccount(\"example\", {adminAccountId: \"ID OF THE ADMIN ACCOUNT\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\nexample_organization_admin_account = aws.macie2.OrganizationAdminAccount(\"example\", admin_account_id=\"ID OF THE ADMIN ACCOUNT\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var exampleOrganizationAdminAccount = new Aws.Macie2.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"ID OF THE ADMIN ACCOUNT\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewOrganizationAdminAccount(ctx, \"example\", \u0026macie2.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"ID OF THE ADMIN ACCOUNT\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.macie2.Account;\nimport com.pulumi.aws.macie2.OrganizationAdminAccount;\nimport com.pulumi.aws.macie2.OrganizationAdminAccountArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder()\n .adminAccountId(\"ID OF THE ADMIN ACCOUNT\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n exampleOrganizationAdminAccount:\n type: aws:macie2:OrganizationAdminAccount\n name: example\n properties:\n adminAccountId: ID OF THE ADMIN ACCOUNT\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_organization_admin_account` using the id. For example:\n\n```sh\n$ pulumi import aws:macie2/organizationAdminAccount:OrganizationAdminAccount example abcd1\n```\n", + "description": "Provides a resource to manage an [Amazon Macie Organization Admin Account](https://docs.aws.amazon.com/macie/latest/APIReference/admin.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst exampleOrganizationAdminAccount = new aws.macie2.OrganizationAdminAccount(\"example\", {adminAccountId: \"ID OF THE ADMIN ACCOUNT\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\nexample_organization_admin_account = aws.macie2.OrganizationAdminAccount(\"example\", admin_account_id=\"ID OF THE ADMIN ACCOUNT\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var exampleOrganizationAdminAccount = new Aws.Macie2.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"ID OF THE ADMIN ACCOUNT\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewOrganizationAdminAccount(ctx, \"example\", \u0026macie2.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"ID OF THE ADMIN ACCOUNT\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.macie2.Account;\nimport com.pulumi.aws.macie2.OrganizationAdminAccount;\nimport com.pulumi.aws.macie2.OrganizationAdminAccountArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder()\n .adminAccountId(\"ID OF THE ADMIN ACCOUNT\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n exampleOrganizationAdminAccount:\n type: aws:macie2:OrganizationAdminAccount\n name: example\n properties:\n adminAccountId: ID OF THE ADMIN ACCOUNT\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_organization_admin_account` using the id. For example:\n\n```sh\n$ pulumi import aws:macie2/organizationAdminAccount:OrganizationAdminAccount example abcd1\n```\n", "properties": { "adminAccountId": { "type": "string", @@ -305173,7 +305173,7 @@ } }, "aws:medialive/multiplex:Multiplex": { - "description": "Resource for managing an AWS MediaLive Multiplex.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n});\nconst example = new aws.medialive.Multiplex(\"example\", {\n name: \"example-multiplex-changed\",\n availabilityZones: [\n available.then(available =\u003e available.names?.[0]),\n available.then(available =\u003e available.names?.[1]),\n ],\n multiplexSettings: {\n transportStreamBitrate: 1000000,\n transportStreamId: 1,\n transportStreamReservedBitrate: 1,\n maximumVideoBufferDelayMilliseconds: 1000,\n },\n startMultiplex: true,\n tags: {\n tag1: \"value1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\")\nexample = aws.medialive.Multiplex(\"example\",\n name=\"example-multiplex-changed\",\n availability_zones=[\n available.names[0],\n available.names[1],\n ],\n multiplex_settings={\n \"transport_stream_bitrate\": 1000000,\n \"transport_stream_id\": 1,\n \"transport_stream_reserved_bitrate\": 1,\n \"maximum_video_buffer_delay_milliseconds\": 1000,\n },\n start_multiplex=True,\n tags={\n \"tag1\": \"value1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n var example = new Aws.MediaLive.Multiplex(\"example\", new()\n {\n Name = \"example-multiplex-changed\",\n AvailabilityZones = new[]\n {\n available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n },\n MultiplexSettings = new Aws.MediaLive.Inputs.MultiplexMultiplexSettingsArgs\n {\n TransportStreamBitrate = 1000000,\n TransportStreamId = 1,\n TransportStreamReservedBitrate = 1,\n MaximumVideoBufferDelayMilliseconds = 1000,\n },\n StartMultiplex = true,\n Tags = \n {\n { \"tag1\", \"value1\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/medialive\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = medialive.NewMultiplex(ctx, \"example\", \u0026medialive.MultiplexArgs{\n\t\t\tName: pulumi.String(\"example-multiplex-changed\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(available.Names[0]),\n\t\t\t\tpulumi.String(available.Names[1]),\n\t\t\t},\n\t\t\tMultiplexSettings: \u0026medialive.MultiplexMultiplexSettingsArgs{\n\t\t\t\tTransportStreamBitrate: pulumi.Int(1000000),\n\t\t\t\tTransportStreamId: pulumi.Int(1),\n\t\t\t\tTransportStreamReservedBitrate: pulumi.Int(1),\n\t\t\t\tMaximumVideoBufferDelayMilliseconds: pulumi.Int(1000),\n\t\t\t},\n\t\t\tStartMultiplex: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.medialive.Multiplex;\nimport com.pulumi.aws.medialive.MultiplexArgs;\nimport com.pulumi.aws.medialive.inputs.MultiplexMultiplexSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n var example = new Multiplex(\"example\", MultiplexArgs.builder()\n .name(\"example-multiplex-changed\")\n .availabilityZones( \n available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]),\n available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .multiplexSettings(MultiplexMultiplexSettingsArgs.builder()\n .transportStreamBitrate(1000000)\n .transportStreamId(1)\n .transportStreamReservedBitrate(1)\n .maximumVideoBufferDelayMilliseconds(1000)\n .build())\n .startMultiplex(true)\n .tags(Map.of(\"tag1\", \"value1\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:medialive:Multiplex\n properties:\n name: example-multiplex-changed\n availabilityZones:\n - ${available.names[0]}\n - ${available.names[1]}\n multiplexSettings:\n transportStreamBitrate: 1e+06\n transportStreamId: 1\n transportStreamReservedBitrate: 1\n maximumVideoBufferDelayMilliseconds: 1000\n startMultiplex: true\n tags:\n tag1: value1\nvariables:\n available:\n fn::invoke:\n function: aws:getAvailabilityZones\n arguments:\n state: available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaLive Multiplex using the `id`. For example:\n\n```sh\n$ pulumi import aws:medialive/multiplex:Multiplex example 12345678\n```\n", + "description": "Resource for managing an AWS MediaLive Multiplex.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n});\nconst example = new aws.medialive.Multiplex(\"example\", {\n name: \"example-multiplex-changed\",\n availabilityZones: [\n available.then(available =\u003e available.names?.[0]),\n available.then(available =\u003e available.names?.[1]),\n ],\n multiplexSettings: {\n transportStreamBitrate: 1000000,\n transportStreamId: 1,\n transportStreamReservedBitrate: 1,\n maximumVideoBufferDelayMilliseconds: 1000,\n },\n startMultiplex: true,\n tags: {\n tag1: \"value1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\")\nexample = aws.medialive.Multiplex(\"example\",\n name=\"example-multiplex-changed\",\n availability_zones=[\n available.names[0],\n available.names[1],\n ],\n multiplex_settings={\n \"transport_stream_bitrate\": 1000000,\n \"transport_stream_id\": 1,\n \"transport_stream_reserved_bitrate\": 1,\n \"maximum_video_buffer_delay_milliseconds\": 1000,\n },\n start_multiplex=True,\n tags={\n \"tag1\": \"value1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n var example = new Aws.MediaLive.Multiplex(\"example\", new()\n {\n Name = \"example-multiplex-changed\",\n AvailabilityZones = new[]\n {\n available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n },\n MultiplexSettings = new Aws.MediaLive.Inputs.MultiplexMultiplexSettingsArgs\n {\n TransportStreamBitrate = 1000000,\n TransportStreamId = 1,\n TransportStreamReservedBitrate = 1,\n MaximumVideoBufferDelayMilliseconds = 1000,\n },\n StartMultiplex = true,\n Tags = \n {\n { \"tag1\", \"value1\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/medialive\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = medialive.NewMultiplex(ctx, \"example\", \u0026medialive.MultiplexArgs{\n\t\t\tName: pulumi.String(\"example-multiplex-changed\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(available.Names[0]),\n\t\t\t\tpulumi.String(available.Names[1]),\n\t\t\t},\n\t\t\tMultiplexSettings: \u0026medialive.MultiplexMultiplexSettingsArgs{\n\t\t\t\tTransportStreamBitrate: pulumi.Int(1000000),\n\t\t\t\tTransportStreamId: pulumi.Int(1),\n\t\t\t\tTransportStreamReservedBitrate: pulumi.Int(1),\n\t\t\t\tMaximumVideoBufferDelayMilliseconds: pulumi.Int(1000),\n\t\t\t},\n\t\t\tStartMultiplex: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.medialive.Multiplex;\nimport com.pulumi.aws.medialive.MultiplexArgs;\nimport com.pulumi.aws.medialive.inputs.MultiplexMultiplexSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n var example = new Multiplex(\"example\", MultiplexArgs.builder()\n .name(\"example-multiplex-changed\")\n .availabilityZones( \n available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]),\n available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .multiplexSettings(MultiplexMultiplexSettingsArgs.builder()\n .transportStreamBitrate(1000000)\n .transportStreamId(1)\n .transportStreamReservedBitrate(1)\n .maximumVideoBufferDelayMilliseconds(1000)\n .build())\n .startMultiplex(true)\n .tags(Map.of(\"tag1\", \"value1\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:medialive:Multiplex\n properties:\n name: example-multiplex-changed\n availabilityZones:\n - ${available.names[0]}\n - ${available.names[1]}\n multiplexSettings:\n transportStreamBitrate: 1e+06\n transportStreamId: 1\n transportStreamReservedBitrate: 1\n maximumVideoBufferDelayMilliseconds: 1000\n startMultiplex: true\n tags:\n tag1: value1\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaLive Multiplex using the `id`. For example:\n\n```sh\n$ pulumi import aws:medialive/multiplex:Multiplex example 12345678\n```\n", "properties": { "arn": { "type": "string", @@ -305297,7 +305297,7 @@ } }, "aws:medialive/multiplexProgram:MultiplexProgram": { - "description": "Resource for managing an AWS MediaLive MultiplexProgram.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n});\nconst example = new aws.medialive.Multiplex(\"example\", {\n name: \"example-multiplex-changed\",\n availabilityZones: [\n available.then(available =\u003e available.names?.[0]),\n available.then(available =\u003e available.names?.[1]),\n ],\n multiplexSettings: {\n transportStreamBitrate: 1000000,\n transportStreamId: 1,\n transportStreamReservedBitrate: 1,\n maximumVideoBufferDelayMilliseconds: 1000,\n },\n startMultiplex: true,\n tags: {\n tag1: \"value1\",\n },\n});\nconst exampleMultiplexProgram = new aws.medialive.MultiplexProgram(\"example\", {\n programName: \"example_program\",\n multiplexId: example.id,\n multiplexProgramSettings: {\n programNumber: 1,\n preferredChannelPipeline: \"CURRENTLY_ACTIVE\",\n videoSettings: {\n constantBitrate: 100000,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\")\nexample = aws.medialive.Multiplex(\"example\",\n name=\"example-multiplex-changed\",\n availability_zones=[\n available.names[0],\n available.names[1],\n ],\n multiplex_settings={\n \"transport_stream_bitrate\": 1000000,\n \"transport_stream_id\": 1,\n \"transport_stream_reserved_bitrate\": 1,\n \"maximum_video_buffer_delay_milliseconds\": 1000,\n },\n start_multiplex=True,\n tags={\n \"tag1\": \"value1\",\n })\nexample_multiplex_program = aws.medialive.MultiplexProgram(\"example\",\n program_name=\"example_program\",\n multiplex_id=example.id,\n multiplex_program_settings={\n \"program_number\": 1,\n \"preferred_channel_pipeline\": \"CURRENTLY_ACTIVE\",\n \"video_settings\": {\n \"constant_bitrate\": 100000,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n var example = new Aws.MediaLive.Multiplex(\"example\", new()\n {\n Name = \"example-multiplex-changed\",\n AvailabilityZones = new[]\n {\n available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n },\n MultiplexSettings = new Aws.MediaLive.Inputs.MultiplexMultiplexSettingsArgs\n {\n TransportStreamBitrate = 1000000,\n TransportStreamId = 1,\n TransportStreamReservedBitrate = 1,\n MaximumVideoBufferDelayMilliseconds = 1000,\n },\n StartMultiplex = true,\n Tags = \n {\n { \"tag1\", \"value1\" },\n },\n });\n\n var exampleMultiplexProgram = new Aws.MediaLive.MultiplexProgram(\"example\", new()\n {\n ProgramName = \"example_program\",\n MultiplexId = example.Id,\n MultiplexProgramSettings = new Aws.MediaLive.Inputs.MultiplexProgramMultiplexProgramSettingsArgs\n {\n ProgramNumber = 1,\n PreferredChannelPipeline = \"CURRENTLY_ACTIVE\",\n VideoSettings = new Aws.MediaLive.Inputs.MultiplexProgramMultiplexProgramSettingsVideoSettingsArgs\n {\n ConstantBitrate = 100000,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/medialive\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := medialive.NewMultiplex(ctx, \"example\", \u0026medialive.MultiplexArgs{\n\t\t\tName: pulumi.String(\"example-multiplex-changed\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(available.Names[0]),\n\t\t\t\tpulumi.String(available.Names[1]),\n\t\t\t},\n\t\t\tMultiplexSettings: \u0026medialive.MultiplexMultiplexSettingsArgs{\n\t\t\t\tTransportStreamBitrate: pulumi.Int(1000000),\n\t\t\t\tTransportStreamId: pulumi.Int(1),\n\t\t\t\tTransportStreamReservedBitrate: pulumi.Int(1),\n\t\t\t\tMaximumVideoBufferDelayMilliseconds: pulumi.Int(1000),\n\t\t\t},\n\t\t\tStartMultiplex: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = medialive.NewMultiplexProgram(ctx, \"example\", \u0026medialive.MultiplexProgramArgs{\n\t\t\tProgramName: pulumi.String(\"example_program\"),\n\t\t\tMultiplexId: example.ID(),\n\t\t\tMultiplexProgramSettings: \u0026medialive.MultiplexProgramMultiplexProgramSettingsArgs{\n\t\t\t\tProgramNumber: pulumi.Int(1),\n\t\t\t\tPreferredChannelPipeline: pulumi.String(\"CURRENTLY_ACTIVE\"),\n\t\t\t\tVideoSettings: \u0026medialive.MultiplexProgramMultiplexProgramSettingsVideoSettingsArgs{\n\t\t\t\t\tConstantBitrate: pulumi.Int(100000),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.medialive.Multiplex;\nimport com.pulumi.aws.medialive.MultiplexArgs;\nimport com.pulumi.aws.medialive.inputs.MultiplexMultiplexSettingsArgs;\nimport com.pulumi.aws.medialive.MultiplexProgram;\nimport com.pulumi.aws.medialive.MultiplexProgramArgs;\nimport com.pulumi.aws.medialive.inputs.MultiplexProgramMultiplexProgramSettingsArgs;\nimport com.pulumi.aws.medialive.inputs.MultiplexProgramMultiplexProgramSettingsVideoSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n var example = new Multiplex(\"example\", MultiplexArgs.builder()\n .name(\"example-multiplex-changed\")\n .availabilityZones( \n available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]),\n available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .multiplexSettings(MultiplexMultiplexSettingsArgs.builder()\n .transportStreamBitrate(1000000)\n .transportStreamId(1)\n .transportStreamReservedBitrate(1)\n .maximumVideoBufferDelayMilliseconds(1000)\n .build())\n .startMultiplex(true)\n .tags(Map.of(\"tag1\", \"value1\"))\n .build());\n\n var exampleMultiplexProgram = new MultiplexProgram(\"exampleMultiplexProgram\", MultiplexProgramArgs.builder()\n .programName(\"example_program\")\n .multiplexId(example.id())\n .multiplexProgramSettings(MultiplexProgramMultiplexProgramSettingsArgs.builder()\n .programNumber(1)\n .preferredChannelPipeline(\"CURRENTLY_ACTIVE\")\n .videoSettings(MultiplexProgramMultiplexProgramSettingsVideoSettingsArgs.builder()\n .constantBitrate(100000)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:medialive:Multiplex\n properties:\n name: example-multiplex-changed\n availabilityZones:\n - ${available.names[0]}\n - ${available.names[1]}\n multiplexSettings:\n transportStreamBitrate: 1e+06\n transportStreamId: 1\n transportStreamReservedBitrate: 1\n maximumVideoBufferDelayMilliseconds: 1000\n startMultiplex: true\n tags:\n tag1: value1\n exampleMultiplexProgram:\n type: aws:medialive:MultiplexProgram\n name: example\n properties:\n programName: example_program\n multiplexId: ${example.id}\n multiplexProgramSettings:\n programNumber: 1\n preferredChannelPipeline: CURRENTLY_ACTIVE\n videoSettings:\n constantBitrate: 100000\nvariables:\n available:\n fn::invoke:\n function: aws:getAvailabilityZones\n arguments:\n state: available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaLive MultiplexProgram using the `id`, or a combination of \"`program_name`/`multiplex_id`\". For example:\n\n```sh\n$ pulumi import aws:medialive/multiplexProgram:MultiplexProgram example example_program/1234567\n```\n", + "description": "Resource for managing an AWS MediaLive MultiplexProgram.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n});\nconst example = new aws.medialive.Multiplex(\"example\", {\n name: \"example-multiplex-changed\",\n availabilityZones: [\n available.then(available =\u003e available.names?.[0]),\n available.then(available =\u003e available.names?.[1]),\n ],\n multiplexSettings: {\n transportStreamBitrate: 1000000,\n transportStreamId: 1,\n transportStreamReservedBitrate: 1,\n maximumVideoBufferDelayMilliseconds: 1000,\n },\n startMultiplex: true,\n tags: {\n tag1: \"value1\",\n },\n});\nconst exampleMultiplexProgram = new aws.medialive.MultiplexProgram(\"example\", {\n programName: \"example_program\",\n multiplexId: example.id,\n multiplexProgramSettings: {\n programNumber: 1,\n preferredChannelPipeline: \"CURRENTLY_ACTIVE\",\n videoSettings: {\n constantBitrate: 100000,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\")\nexample = aws.medialive.Multiplex(\"example\",\n name=\"example-multiplex-changed\",\n availability_zones=[\n available.names[0],\n available.names[1],\n ],\n multiplex_settings={\n \"transport_stream_bitrate\": 1000000,\n \"transport_stream_id\": 1,\n \"transport_stream_reserved_bitrate\": 1,\n \"maximum_video_buffer_delay_milliseconds\": 1000,\n },\n start_multiplex=True,\n tags={\n \"tag1\": \"value1\",\n })\nexample_multiplex_program = aws.medialive.MultiplexProgram(\"example\",\n program_name=\"example_program\",\n multiplex_id=example.id,\n multiplex_program_settings={\n \"program_number\": 1,\n \"preferred_channel_pipeline\": \"CURRENTLY_ACTIVE\",\n \"video_settings\": {\n \"constant_bitrate\": 100000,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n var example = new Aws.MediaLive.Multiplex(\"example\", new()\n {\n Name = \"example-multiplex-changed\",\n AvailabilityZones = new[]\n {\n available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n },\n MultiplexSettings = new Aws.MediaLive.Inputs.MultiplexMultiplexSettingsArgs\n {\n TransportStreamBitrate = 1000000,\n TransportStreamId = 1,\n TransportStreamReservedBitrate = 1,\n MaximumVideoBufferDelayMilliseconds = 1000,\n },\n StartMultiplex = true,\n Tags = \n {\n { \"tag1\", \"value1\" },\n },\n });\n\n var exampleMultiplexProgram = new Aws.MediaLive.MultiplexProgram(\"example\", new()\n {\n ProgramName = \"example_program\",\n MultiplexId = example.Id,\n MultiplexProgramSettings = new Aws.MediaLive.Inputs.MultiplexProgramMultiplexProgramSettingsArgs\n {\n ProgramNumber = 1,\n PreferredChannelPipeline = \"CURRENTLY_ACTIVE\",\n VideoSettings = new Aws.MediaLive.Inputs.MultiplexProgramMultiplexProgramSettingsVideoSettingsArgs\n {\n ConstantBitrate = 100000,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/medialive\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := medialive.NewMultiplex(ctx, \"example\", \u0026medialive.MultiplexArgs{\n\t\t\tName: pulumi.String(\"example-multiplex-changed\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(available.Names[0]),\n\t\t\t\tpulumi.String(available.Names[1]),\n\t\t\t},\n\t\t\tMultiplexSettings: \u0026medialive.MultiplexMultiplexSettingsArgs{\n\t\t\t\tTransportStreamBitrate: pulumi.Int(1000000),\n\t\t\t\tTransportStreamId: pulumi.Int(1),\n\t\t\t\tTransportStreamReservedBitrate: pulumi.Int(1),\n\t\t\t\tMaximumVideoBufferDelayMilliseconds: pulumi.Int(1000),\n\t\t\t},\n\t\t\tStartMultiplex: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = medialive.NewMultiplexProgram(ctx, \"example\", \u0026medialive.MultiplexProgramArgs{\n\t\t\tProgramName: pulumi.String(\"example_program\"),\n\t\t\tMultiplexId: example.ID(),\n\t\t\tMultiplexProgramSettings: \u0026medialive.MultiplexProgramMultiplexProgramSettingsArgs{\n\t\t\t\tProgramNumber: pulumi.Int(1),\n\t\t\t\tPreferredChannelPipeline: pulumi.String(\"CURRENTLY_ACTIVE\"),\n\t\t\t\tVideoSettings: \u0026medialive.MultiplexProgramMultiplexProgramSettingsVideoSettingsArgs{\n\t\t\t\t\tConstantBitrate: pulumi.Int(100000),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.medialive.Multiplex;\nimport com.pulumi.aws.medialive.MultiplexArgs;\nimport com.pulumi.aws.medialive.inputs.MultiplexMultiplexSettingsArgs;\nimport com.pulumi.aws.medialive.MultiplexProgram;\nimport com.pulumi.aws.medialive.MultiplexProgramArgs;\nimport com.pulumi.aws.medialive.inputs.MultiplexProgramMultiplexProgramSettingsArgs;\nimport com.pulumi.aws.medialive.inputs.MultiplexProgramMultiplexProgramSettingsVideoSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n var example = new Multiplex(\"example\", MultiplexArgs.builder()\n .name(\"example-multiplex-changed\")\n .availabilityZones( \n available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]),\n available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .multiplexSettings(MultiplexMultiplexSettingsArgs.builder()\n .transportStreamBitrate(1000000)\n .transportStreamId(1)\n .transportStreamReservedBitrate(1)\n .maximumVideoBufferDelayMilliseconds(1000)\n .build())\n .startMultiplex(true)\n .tags(Map.of(\"tag1\", \"value1\"))\n .build());\n\n var exampleMultiplexProgram = new MultiplexProgram(\"exampleMultiplexProgram\", MultiplexProgramArgs.builder()\n .programName(\"example_program\")\n .multiplexId(example.id())\n .multiplexProgramSettings(MultiplexProgramMultiplexProgramSettingsArgs.builder()\n .programNumber(1)\n .preferredChannelPipeline(\"CURRENTLY_ACTIVE\")\n .videoSettings(MultiplexProgramMultiplexProgramSettingsVideoSettingsArgs.builder()\n .constantBitrate(100000)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:medialive:Multiplex\n properties:\n name: example-multiplex-changed\n availabilityZones:\n - ${available.names[0]}\n - ${available.names[1]}\n multiplexSettings:\n transportStreamBitrate: 1e+06\n transportStreamId: 1\n transportStreamReservedBitrate: 1\n maximumVideoBufferDelayMilliseconds: 1000\n startMultiplex: true\n tags:\n tag1: value1\n exampleMultiplexProgram:\n type: aws:medialive:MultiplexProgram\n name: example\n properties:\n programName: example_program\n multiplexId: ${example.id}\n multiplexProgramSettings:\n programNumber: 1\n preferredChannelPipeline: CURRENTLY_ACTIVE\n videoSettings:\n constantBitrate: 100000\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaLive MultiplexProgram using the `id`, or a combination of \"`program_name`/`multiplex_id`\". For example:\n\n```sh\n$ pulumi import aws:medialive/multiplexProgram:MultiplexProgram example example_program/1234567\n```\n", "properties": { "multiplexId": { "type": "string", @@ -305551,7 +305551,7 @@ } }, "aws:mediastore/containerPolicy:ContainerPolicy": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst exampleContainer = new aws.mediastore.Container(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"MediaStoreFullAccess\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [currentGetCallerIdentity.then(currentGetCallerIdentity =\u003e `arn:aws:iam::${currentGetCallerIdentity.accountId}:root`)],\n }],\n actions: [\"mediastore:*\"],\n resources: [pulumi.all([current, currentGetCallerIdentity, exampleContainer.name]).apply(([current, currentGetCallerIdentity, name]) =\u003e `arn:aws:mediastore:${current.name}:${currentGetCallerIdentity.accountId}:container/${name}/*`)],\n conditions: [{\n test: \"Bool\",\n variable: \"aws:SecureTransport\",\n values: [\"true\"],\n }],\n }],\n});\nconst exampleContainerPolicy = new aws.mediastore.ContainerPolicy(\"example\", {\n containerName: exampleContainer.name,\n policy: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample_container = aws.mediastore.Container(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document_output(statements=[{\n \"sid\": \"MediaStoreFullAccess\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [f\"arn:aws:iam::{current_get_caller_identity.account_id}:root\"],\n }],\n \"actions\": [\"mediastore:*\"],\n \"resources\": [example_container.name.apply(lambda name: f\"arn:aws:mediastore:{current.name}:{current_get_caller_identity.account_id}:container/{name}/*\")],\n \"conditions\": [{\n \"test\": \"Bool\",\n \"variable\": \"aws:SecureTransport\",\n \"values\": [\"true\"],\n }],\n}])\nexample_container_policy = aws.mediastore.ContainerPolicy(\"example\",\n container_name=example_container.name,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var exampleContainer = new Aws.MediaStore.Container(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"MediaStoreFullAccess\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n Actions = new[]\n {\n \"mediastore:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:mediastore:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:container/{exampleContainer.Name}/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"Bool\",\n Variable = \"aws:SecureTransport\",\n Values = new[]\n {\n \"true\",\n },\n },\n },\n },\n },\n });\n\n var exampleContainerPolicy = new Aws.MediaStore.ContainerPolicy(\"example\", new()\n {\n ContainerName = exampleContainer.Name,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mediastore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := mediastore.NewContainer(ctx, \"example\", \u0026mediastore.ContainerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"MediaStoreFullAccess\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"arn:aws:iam::%v:root\", currentGetCallerIdentity.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"mediastore:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleContainer.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:mediastore:%v:%v:container/%v/*\", current.Name, currentGetCallerIdentity.AccountId, name), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"Bool\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SecureTransport\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"true\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = mediastore.NewContainerPolicy(ctx, \"example\", \u0026mediastore.ContainerPolicyArgs{\n\t\t\tContainerName: exampleContainer.Name,\n\t\t\tPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.mediastore.Container;\nimport com.pulumi.aws.mediastore.ContainerArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.mediastore.ContainerPolicy;\nimport com.pulumi.aws.mediastore.ContainerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"MediaStoreFullAccess\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .actions(\"mediastore:*\")\n .resources(exampleContainer.name().applyValue(name -\u003e String.format(\"arn:aws:mediastore:%s:%s:container/%s/*\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),name)))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"Bool\")\n .variable(\"aws:SecureTransport\")\n .values(\"true\")\n .build())\n .build())\n .build());\n\n var exampleContainerPolicy = new ContainerPolicy(\"exampleContainerPolicy\", ContainerPolicyArgs.builder()\n .containerName(exampleContainer.name())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleContainer:\n type: aws:mediastore:Container\n name: example\n properties:\n name: example\n exampleContainerPolicy:\n type: aws:mediastore:ContainerPolicy\n name: example\n properties:\n containerName: ${exampleContainer.name}\n policy: ${example.json}\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: MediaStoreFullAccess\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${currentGetCallerIdentity.accountId}:root\n actions:\n - mediastore:*\n resources:\n - arn:aws:mediastore:${current.name}:${currentGetCallerIdentity.accountId}:container/${exampleContainer.name}/*\n conditions:\n - test: Bool\n variable: aws:SecureTransport\n values:\n - 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaStore Container Policy using the MediaStore Container Name. For example:\n\n```sh\n$ pulumi import aws:mediastore/containerPolicy:ContainerPolicy example example\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst exampleContainer = new aws.mediastore.Container(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"MediaStoreFullAccess\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [currentGetCallerIdentity.then(currentGetCallerIdentity =\u003e `arn:aws:iam::${currentGetCallerIdentity.accountId}:root`)],\n }],\n actions: [\"mediastore:*\"],\n resources: [pulumi.all([current, currentGetCallerIdentity, exampleContainer.name]).apply(([current, currentGetCallerIdentity, name]) =\u003e `arn:aws:mediastore:${current.name}:${currentGetCallerIdentity.accountId}:container/${name}/*`)],\n conditions: [{\n test: \"Bool\",\n variable: \"aws:SecureTransport\",\n values: [\"true\"],\n }],\n }],\n});\nconst exampleContainerPolicy = new aws.mediastore.ContainerPolicy(\"example\", {\n containerName: exampleContainer.name,\n policy: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample_container = aws.mediastore.Container(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document_output(statements=[{\n \"sid\": \"MediaStoreFullAccess\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [f\"arn:aws:iam::{current_get_caller_identity.account_id}:root\"],\n }],\n \"actions\": [\"mediastore:*\"],\n \"resources\": [example_container.name.apply(lambda name: f\"arn:aws:mediastore:{current.name}:{current_get_caller_identity.account_id}:container/{name}/*\")],\n \"conditions\": [{\n \"test\": \"Bool\",\n \"variable\": \"aws:SecureTransport\",\n \"values\": [\"true\"],\n }],\n}])\nexample_container_policy = aws.mediastore.ContainerPolicy(\"example\",\n container_name=example_container.name,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var exampleContainer = new Aws.MediaStore.Container(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"MediaStoreFullAccess\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n Actions = new[]\n {\n \"mediastore:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:mediastore:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:container/{exampleContainer.Name}/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"Bool\",\n Variable = \"aws:SecureTransport\",\n Values = new[]\n {\n \"true\",\n },\n },\n },\n },\n },\n });\n\n var exampleContainerPolicy = new Aws.MediaStore.ContainerPolicy(\"example\", new()\n {\n ContainerName = exampleContainer.Name,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mediastore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := mediastore.NewContainer(ctx, \"example\", \u0026mediastore.ContainerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"MediaStoreFullAccess\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"arn:aws:iam::%v:root\", currentGetCallerIdentity.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"mediastore:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleContainer.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:mediastore:%v:%v:container/%v/*\", current.Name, currentGetCallerIdentity.AccountId, name), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"Bool\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SecureTransport\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"true\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = mediastore.NewContainerPolicy(ctx, \"example\", \u0026mediastore.ContainerPolicyArgs{\n\t\t\tContainerName: exampleContainer.Name,\n\t\t\tPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.mediastore.Container;\nimport com.pulumi.aws.mediastore.ContainerArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.mediastore.ContainerPolicy;\nimport com.pulumi.aws.mediastore.ContainerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"MediaStoreFullAccess\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .actions(\"mediastore:*\")\n .resources(exampleContainer.name().applyValue(name -\u003e String.format(\"arn:aws:mediastore:%s:%s:container/%s/*\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),name)))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"Bool\")\n .variable(\"aws:SecureTransport\")\n .values(\"true\")\n .build())\n .build())\n .build());\n\n var exampleContainerPolicy = new ContainerPolicy(\"exampleContainerPolicy\", ContainerPolicyArgs.builder()\n .containerName(exampleContainer.name())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleContainer:\n type: aws:mediastore:Container\n name: example\n properties:\n name: example\n exampleContainerPolicy:\n type: aws:mediastore:ContainerPolicy\n name: example\n properties:\n containerName: ${exampleContainer.name}\n policy: ${example.json}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: MediaStoreFullAccess\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${currentGetCallerIdentity.accountId}:root\n actions:\n - mediastore:*\n resources:\n - arn:aws:mediastore:${current.name}:${currentGetCallerIdentity.accountId}:container/${exampleContainer.name}/*\n conditions:\n - test: Bool\n variable: aws:SecureTransport\n values:\n - 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaStore Container Policy using the MediaStore Container Name. For example:\n\n```sh\n$ pulumi import aws:mediastore/containerPolicy:ContainerPolicy example example\n```\n", "properties": { "containerName": { "type": "string", @@ -307254,7 +307254,7 @@ } }, "aws:msk/cluster:Cluster": { - "description": "Manages an Amazon MSK cluster.\n\n\u003e **Note:** This resource manages _provisioned_ clusters. To manage a _serverless_ Amazon MSK cluster, use the `aws.msk.ServerlessCluster` resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst vpc = new aws.ec2.Vpc(\"vpc\", {cidrBlock: \"192.168.0.0/22\"});\nconst azs = aws.getAvailabilityZones({\n state: \"available\",\n});\nconst subnetAz1 = new aws.ec2.Subnet(\"subnet_az1\", {\n availabilityZone: azs.then(azs =\u003e azs.names?.[0]),\n cidrBlock: \"192.168.0.0/24\",\n vpcId: vpc.id,\n});\nconst subnetAz2 = new aws.ec2.Subnet(\"subnet_az2\", {\n availabilityZone: azs.then(azs =\u003e azs.names?.[1]),\n cidrBlock: \"192.168.1.0/24\",\n vpcId: vpc.id,\n});\nconst subnetAz3 = new aws.ec2.Subnet(\"subnet_az3\", {\n availabilityZone: azs.then(azs =\u003e azs.names?.[2]),\n cidrBlock: \"192.168.2.0/24\",\n vpcId: vpc.id,\n});\nconst sg = new aws.ec2.SecurityGroup(\"sg\", {vpcId: vpc.id});\nconst kms = new aws.kms.Key(\"kms\", {description: \"example\"});\nconst test = new aws.cloudwatch.LogGroup(\"test\", {name: \"msk_broker_logs\"});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"msk-broker-logs-bucket\"});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst firehoseRole = new aws.iam.Role(\"firehose_role\", {\n name: \"firehose_test_role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-msk-broker-logs-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n },\n tags: {\n LogDeliveryEnabled: \"placeholder\",\n },\n});\nconst example = new aws.msk.Cluster(\"example\", {\n clusterName: \"example\",\n kafkaVersion: \"3.2.0\",\n numberOfBrokerNodes: 3,\n brokerNodeGroupInfo: {\n instanceType: \"kafka.m5.large\",\n clientSubnets: [\n subnetAz1.id,\n subnetAz2.id,\n subnetAz3.id,\n ],\n storageInfo: {\n ebsStorageInfo: {\n volumeSize: 1000,\n },\n },\n securityGroups: [sg.id],\n },\n encryptionInfo: {\n encryptionAtRestKmsKeyArn: kms.arn,\n },\n openMonitoring: {\n prometheus: {\n jmxExporter: {\n enabledInBroker: true,\n },\n nodeExporter: {\n enabledInBroker: true,\n },\n },\n },\n loggingInfo: {\n brokerLogs: {\n cloudwatchLogs: {\n enabled: true,\n logGroup: test.name,\n },\n firehose: {\n enabled: true,\n deliveryStream: testStream.name,\n },\n s3: {\n enabled: true,\n bucket: bucket.id,\n prefix: \"logs/msk-\",\n },\n },\n },\n tags: {\n foo: \"bar\",\n },\n});\nexport const zookeeperConnectString = example.zookeeperConnectString;\nexport const bootstrapBrokersTls = example.bootstrapBrokersTls;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvpc = aws.ec2.Vpc(\"vpc\", cidr_block=\"192.168.0.0/22\")\nazs = aws.get_availability_zones(state=\"available\")\nsubnet_az1 = aws.ec2.Subnet(\"subnet_az1\",\n availability_zone=azs.names[0],\n cidr_block=\"192.168.0.0/24\",\n vpc_id=vpc.id)\nsubnet_az2 = aws.ec2.Subnet(\"subnet_az2\",\n availability_zone=azs.names[1],\n cidr_block=\"192.168.1.0/24\",\n vpc_id=vpc.id)\nsubnet_az3 = aws.ec2.Subnet(\"subnet_az3\",\n availability_zone=azs.names[2],\n cidr_block=\"192.168.2.0/24\",\n vpc_id=vpc.id)\nsg = aws.ec2.SecurityGroup(\"sg\", vpc_id=vpc.id)\nkms = aws.kms.Key(\"kms\", description=\"example\")\ntest = aws.cloudwatch.LogGroup(\"test\", name=\"msk_broker_logs\")\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"msk-broker-logs-bucket\")\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"firehose.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nfirehose_role = aws.iam.Role(\"firehose_role\",\n name=\"firehose_test_role\",\n assume_role_policy=assume_role.json)\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-msk-broker-logs-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration={\n \"role_arn\": firehose_role.arn,\n \"bucket_arn\": bucket.arn,\n },\n tags={\n \"LogDeliveryEnabled\": \"placeholder\",\n })\nexample = aws.msk.Cluster(\"example\",\n cluster_name=\"example\",\n kafka_version=\"3.2.0\",\n number_of_broker_nodes=3,\n broker_node_group_info={\n \"instance_type\": \"kafka.m5.large\",\n \"client_subnets\": [\n subnet_az1.id,\n subnet_az2.id,\n subnet_az3.id,\n ],\n \"storage_info\": {\n \"ebs_storage_info\": {\n \"volume_size\": 1000,\n },\n },\n \"security_groups\": [sg.id],\n },\n encryption_info={\n \"encryption_at_rest_kms_key_arn\": kms.arn,\n },\n open_monitoring={\n \"prometheus\": {\n \"jmx_exporter\": {\n \"enabled_in_broker\": True,\n },\n \"node_exporter\": {\n \"enabled_in_broker\": True,\n },\n },\n },\n logging_info={\n \"broker_logs\": {\n \"cloudwatch_logs\": {\n \"enabled\": True,\n \"log_group\": test.name,\n },\n \"firehose\": {\n \"enabled\": True,\n \"delivery_stream\": test_stream.name,\n },\n \"s3\": {\n \"enabled\": True,\n \"bucket\": bucket.id,\n \"prefix\": \"logs/msk-\",\n },\n },\n },\n tags={\n \"foo\": \"bar\",\n })\npulumi.export(\"zookeeperConnectString\", example.zookeeper_connect_string)\npulumi.export(\"bootstrapBrokersTls\", example.bootstrap_brokers_tls)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpc = new Aws.Ec2.Vpc(\"vpc\", new()\n {\n CidrBlock = \"192.168.0.0/22\",\n });\n\n var azs = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n var subnetAz1 = new Aws.Ec2.Subnet(\"subnet_az1\", new()\n {\n AvailabilityZone = azs.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n CidrBlock = \"192.168.0.0/24\",\n VpcId = vpc.Id,\n });\n\n var subnetAz2 = new Aws.Ec2.Subnet(\"subnet_az2\", new()\n {\n AvailabilityZone = azs.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n CidrBlock = \"192.168.1.0/24\",\n VpcId = vpc.Id,\n });\n\n var subnetAz3 = new Aws.Ec2.Subnet(\"subnet_az3\", new()\n {\n AvailabilityZone = azs.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[2]),\n CidrBlock = \"192.168.2.0/24\",\n VpcId = vpc.Id,\n });\n\n var sg = new Aws.Ec2.SecurityGroup(\"sg\", new()\n {\n VpcId = vpc.Id,\n });\n\n var kms = new Aws.Kms.Key(\"kms\", new()\n {\n Description = \"example\",\n });\n\n var test = new Aws.CloudWatch.LogGroup(\"test\", new()\n {\n Name = \"msk_broker_logs\",\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"msk-broker-logs-bucket\",\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var firehoseRole = new Aws.Iam.Role(\"firehose_role\", new()\n {\n Name = \"firehose_test_role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-msk-broker-logs-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n },\n Tags = \n {\n { \"LogDeliveryEnabled\", \"placeholder\" },\n },\n });\n\n var example = new Aws.Msk.Cluster(\"example\", new()\n {\n ClusterName = \"example\",\n KafkaVersion = \"3.2.0\",\n NumberOfBrokerNodes = 3,\n BrokerNodeGroupInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoArgs\n {\n InstanceType = \"kafka.m5.large\",\n ClientSubnets = new[]\n {\n subnetAz1.Id,\n subnetAz2.Id,\n subnetAz3.Id,\n },\n StorageInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoArgs\n {\n EbsStorageInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs\n {\n VolumeSize = 1000,\n },\n },\n SecurityGroups = new[]\n {\n sg.Id,\n },\n },\n EncryptionInfo = new Aws.Msk.Inputs.ClusterEncryptionInfoArgs\n {\n EncryptionAtRestKmsKeyArn = kms.Arn,\n },\n OpenMonitoring = new Aws.Msk.Inputs.ClusterOpenMonitoringArgs\n {\n Prometheus = new Aws.Msk.Inputs.ClusterOpenMonitoringPrometheusArgs\n {\n JmxExporter = new Aws.Msk.Inputs.ClusterOpenMonitoringPrometheusJmxExporterArgs\n {\n EnabledInBroker = true,\n },\n NodeExporter = new Aws.Msk.Inputs.ClusterOpenMonitoringPrometheusNodeExporterArgs\n {\n EnabledInBroker = true,\n },\n },\n },\n LoggingInfo = new Aws.Msk.Inputs.ClusterLoggingInfoArgs\n {\n BrokerLogs = new Aws.Msk.Inputs.ClusterLoggingInfoBrokerLogsArgs\n {\n CloudwatchLogs = new Aws.Msk.Inputs.ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs\n {\n Enabled = true,\n LogGroup = test.Name,\n },\n Firehose = new Aws.Msk.Inputs.ClusterLoggingInfoBrokerLogsFirehoseArgs\n {\n Enabled = true,\n DeliveryStream = testStream.Name,\n },\n S3 = new Aws.Msk.Inputs.ClusterLoggingInfoBrokerLogsS3Args\n {\n Enabled = true,\n Bucket = bucket.Id,\n Prefix = \"logs/msk-\",\n },\n },\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"zookeeperConnectString\"] = example.ZookeeperConnectString,\n [\"bootstrapBrokersTls\"] = example.BootstrapBrokersTls,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := ec2.NewVpc(ctx, \"vpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/22\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tazs, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetAz1, err := ec2.NewSubnet(ctx, \"subnet_az1\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(azs.Names[0]),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetAz2, err := ec2.NewSubnet(ctx, \"subnet_az2\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(azs.Names[1]),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetAz3, err := ec2.NewSubnet(ctx, \"subnet_az3\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(azs.Names[2]),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsg, err := ec2.NewSecurityGroup(ctx, \"sg\", \u0026ec2.SecurityGroupArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkms, err := kms.NewKey(ctx, \"kms\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := cloudwatch.NewLogGroup(ctx, \"test\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"msk_broker_logs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"msk-broker-logs-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"firehose.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseRole, err := iam.NewRole(ctx, \"firehose_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"firehose_test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestStream, err := kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-msk-broker-logs-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: firehoseRole.Arn,\n\t\t\t\tBucketArn: bucket.Arn,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"LogDeliveryEnabled\": pulumi.String(\"placeholder\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := msk.NewCluster(ctx, \"example\", \u0026msk.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"example\"),\n\t\t\tKafkaVersion: pulumi.String(\"3.2.0\"),\n\t\t\tNumberOfBrokerNodes: pulumi.Int(3),\n\t\t\tBrokerNodeGroupInfo: \u0026msk.ClusterBrokerNodeGroupInfoArgs{\n\t\t\t\tInstanceType: pulumi.String(\"kafka.m5.large\"),\n\t\t\t\tClientSubnets: pulumi.StringArray{\n\t\t\t\t\tsubnetAz1.ID(),\n\t\t\t\t\tsubnetAz2.ID(),\n\t\t\t\t\tsubnetAz3.ID(),\n\t\t\t\t},\n\t\t\t\tStorageInfo: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoArgs{\n\t\t\t\t\tEbsStorageInfo: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs{\n\t\t\t\t\t\tVolumeSize: pulumi.Int(1000),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tsg.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEncryptionInfo: \u0026msk.ClusterEncryptionInfoArgs{\n\t\t\t\tEncryptionAtRestKmsKeyArn: kms.Arn,\n\t\t\t},\n\t\t\tOpenMonitoring: \u0026msk.ClusterOpenMonitoringArgs{\n\t\t\t\tPrometheus: \u0026msk.ClusterOpenMonitoringPrometheusArgs{\n\t\t\t\t\tJmxExporter: \u0026msk.ClusterOpenMonitoringPrometheusJmxExporterArgs{\n\t\t\t\t\t\tEnabledInBroker: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tNodeExporter: \u0026msk.ClusterOpenMonitoringPrometheusNodeExporterArgs{\n\t\t\t\t\t\tEnabledInBroker: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoggingInfo: \u0026msk.ClusterLoggingInfoArgs{\n\t\t\t\tBrokerLogs: \u0026msk.ClusterLoggingInfoBrokerLogsArgs{\n\t\t\t\t\tCloudwatchLogs: \u0026msk.ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tLogGroup: test.Name,\n\t\t\t\t\t},\n\t\t\t\t\tFirehose: \u0026msk.ClusterLoggingInfoBrokerLogsFirehoseArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tDeliveryStream: testStream.Name,\n\t\t\t\t\t},\n\t\t\t\t\tS3: \u0026msk.ClusterLoggingInfoBrokerLogsS3Args{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tBucket: bucket.ID(),\n\t\t\t\t\t\tPrefix: pulumi.String(\"logs/msk-\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"zookeeperConnectString\", example.ZookeeperConnectString)\n\t\tctx.Export(\"bootstrapBrokersTls\", example.BootstrapBrokersTls)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.msk.Cluster;\nimport com.pulumi.aws.msk.ClusterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterEncryptionInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterOpenMonitoringArgs;\nimport com.pulumi.aws.msk.inputs.ClusterOpenMonitoringPrometheusArgs;\nimport com.pulumi.aws.msk.inputs.ClusterOpenMonitoringPrometheusJmxExporterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterOpenMonitoringPrometheusNodeExporterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsFirehoseArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vpc = new Vpc(\"vpc\", VpcArgs.builder()\n .cidrBlock(\"192.168.0.0/22\")\n .build());\n\n final var azs = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n var subnetAz1 = new Subnet(\"subnetAz1\", SubnetArgs.builder()\n .availabilityZone(azs.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .cidrBlock(\"192.168.0.0/24\")\n .vpcId(vpc.id())\n .build());\n\n var subnetAz2 = new Subnet(\"subnetAz2\", SubnetArgs.builder()\n .availabilityZone(azs.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .cidrBlock(\"192.168.1.0/24\")\n .vpcId(vpc.id())\n .build());\n\n var subnetAz3 = new Subnet(\"subnetAz3\", SubnetArgs.builder()\n .availabilityZone(azs.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[2]))\n .cidrBlock(\"192.168.2.0/24\")\n .vpcId(vpc.id())\n .build());\n\n var sg = new SecurityGroup(\"sg\", SecurityGroupArgs.builder()\n .vpcId(vpc.id())\n .build());\n\n var kms = new Key(\"kms\", KeyArgs.builder()\n .description(\"example\")\n .build());\n\n var test = new LogGroup(\"test\", LogGroupArgs.builder()\n .name(\"msk_broker_logs\")\n .build());\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"msk-broker-logs-bucket\")\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder()\n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var firehoseRole = new Role(\"firehoseRole\", RoleArgs.builder()\n .name(\"firehose_test_role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-msk-broker-logs-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .build())\n .tags(Map.of(\"LogDeliveryEnabled\", \"placeholder\"))\n .build());\n\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterName(\"example\")\n .kafkaVersion(\"3.2.0\")\n .numberOfBrokerNodes(3)\n .brokerNodeGroupInfo(ClusterBrokerNodeGroupInfoArgs.builder()\n .instanceType(\"kafka.m5.large\")\n .clientSubnets( \n subnetAz1.id(),\n subnetAz2.id(),\n subnetAz3.id())\n .storageInfo(ClusterBrokerNodeGroupInfoStorageInfoArgs.builder()\n .ebsStorageInfo(ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs.builder()\n .volumeSize(1000)\n .build())\n .build())\n .securityGroups(sg.id())\n .build())\n .encryptionInfo(ClusterEncryptionInfoArgs.builder()\n .encryptionAtRestKmsKeyArn(kms.arn())\n .build())\n .openMonitoring(ClusterOpenMonitoringArgs.builder()\n .prometheus(ClusterOpenMonitoringPrometheusArgs.builder()\n .jmxExporter(ClusterOpenMonitoringPrometheusJmxExporterArgs.builder()\n .enabledInBroker(true)\n .build())\n .nodeExporter(ClusterOpenMonitoringPrometheusNodeExporterArgs.builder()\n .enabledInBroker(true)\n .build())\n .build())\n .build())\n .loggingInfo(ClusterLoggingInfoArgs.builder()\n .brokerLogs(ClusterLoggingInfoBrokerLogsArgs.builder()\n .cloudwatchLogs(ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs.builder()\n .enabled(true)\n .logGroup(test.name())\n .build())\n .firehose(ClusterLoggingInfoBrokerLogsFirehoseArgs.builder()\n .enabled(true)\n .deliveryStream(testStream.name())\n .build())\n .s3(ClusterLoggingInfoBrokerLogsS3Args.builder()\n .enabled(true)\n .bucket(bucket.id())\n .prefix(\"logs/msk-\")\n .build())\n .build())\n .build())\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n ctx.export(\"zookeeperConnectString\", example.zookeeperConnectString());\n ctx.export(\"bootstrapBrokersTls\", example.bootstrapBrokersTls());\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 192.168.0.0/22\n subnetAz1:\n type: aws:ec2:Subnet\n name: subnet_az1\n properties:\n availabilityZone: ${azs.names[0]}\n cidrBlock: 192.168.0.0/24\n vpcId: ${vpc.id}\n subnetAz2:\n type: aws:ec2:Subnet\n name: subnet_az2\n properties:\n availabilityZone: ${azs.names[1]}\n cidrBlock: 192.168.1.0/24\n vpcId: ${vpc.id}\n subnetAz3:\n type: aws:ec2:Subnet\n name: subnet_az3\n properties:\n availabilityZone: ${azs.names[2]}\n cidrBlock: 192.168.2.0/24\n vpcId: ${vpc.id}\n sg:\n type: aws:ec2:SecurityGroup\n properties:\n vpcId: ${vpc.id}\n kms:\n type: aws:kms:Key\n properties:\n description: example\n test:\n type: aws:cloudwatch:LogGroup\n properties:\n name: msk_broker_logs\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: msk-broker-logs-bucket\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n firehoseRole:\n type: aws:iam:Role\n name: firehose_role\n properties:\n name: firehose_test_role\n assumeRolePolicy: ${assumeRole.json}\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-msk-broker-logs-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n tags:\n LogDeliveryEnabled: placeholder\n example:\n type: aws:msk:Cluster\n properties:\n clusterName: example\n kafkaVersion: 3.2.0\n numberOfBrokerNodes: 3\n brokerNodeGroupInfo:\n instanceType: kafka.m5.large\n clientSubnets:\n - ${subnetAz1.id}\n - ${subnetAz2.id}\n - ${subnetAz3.id}\n storageInfo:\n ebsStorageInfo:\n volumeSize: 1000\n securityGroups:\n - ${sg.id}\n encryptionInfo:\n encryptionAtRestKmsKeyArn: ${kms.arn}\n openMonitoring:\n prometheus:\n jmxExporter:\n enabledInBroker: true\n nodeExporter:\n enabledInBroker: true\n loggingInfo:\n brokerLogs:\n cloudwatchLogs:\n enabled: true\n logGroup: ${test.name}\n firehose:\n enabled: true\n deliveryStream: ${testStream.name}\n s3:\n enabled: true\n bucket: ${bucket.id}\n prefix: logs/msk-\n tags:\n foo: bar\nvariables:\n azs:\n fn::invoke:\n function: aws:getAvailabilityZones\n arguments:\n state: available\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\noutputs:\n zookeeperConnectString: ${example.zookeeperConnectString}\n bootstrapBrokersTls: ${example.bootstrapBrokersTls}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With volume_throughput argument\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.msk.Cluster(\"example\", {\n clusterName: \"example\",\n kafkaVersion: \"2.7.1\",\n numberOfBrokerNodes: 3,\n brokerNodeGroupInfo: {\n instanceType: \"kafka.m5.4xlarge\",\n clientSubnets: [\n subnetAz1.id,\n subnetAz2.id,\n subnetAz3.id,\n ],\n storageInfo: {\n ebsStorageInfo: {\n provisionedThroughput: {\n enabled: true,\n volumeThroughput: 250,\n },\n volumeSize: 1000,\n },\n },\n securityGroups: [sg.id],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.Cluster(\"example\",\n cluster_name=\"example\",\n kafka_version=\"2.7.1\",\n number_of_broker_nodes=3,\n broker_node_group_info={\n \"instance_type\": \"kafka.m5.4xlarge\",\n \"client_subnets\": [\n subnet_az1[\"id\"],\n subnet_az2[\"id\"],\n subnet_az3[\"id\"],\n ],\n \"storage_info\": {\n \"ebs_storage_info\": {\n \"provisioned_throughput\": {\n \"enabled\": True,\n \"volume_throughput\": 250,\n },\n \"volume_size\": 1000,\n },\n },\n \"security_groups\": [sg[\"id\"]],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Msk.Cluster(\"example\", new()\n {\n ClusterName = \"example\",\n KafkaVersion = \"2.7.1\",\n NumberOfBrokerNodes = 3,\n BrokerNodeGroupInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoArgs\n {\n InstanceType = \"kafka.m5.4xlarge\",\n ClientSubnets = new[]\n {\n subnetAz1.Id,\n subnetAz2.Id,\n subnetAz3.Id,\n },\n StorageInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoArgs\n {\n EbsStorageInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs\n {\n ProvisionedThroughput = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs\n {\n Enabled = true,\n VolumeThroughput = 250,\n },\n VolumeSize = 1000,\n },\n },\n SecurityGroups = new[]\n {\n sg.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\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 := msk.NewCluster(ctx, \"example\", \u0026msk.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"example\"),\n\t\t\tKafkaVersion: pulumi.String(\"2.7.1\"),\n\t\t\tNumberOfBrokerNodes: pulumi.Int(3),\n\t\t\tBrokerNodeGroupInfo: \u0026msk.ClusterBrokerNodeGroupInfoArgs{\n\t\t\t\tInstanceType: pulumi.String(\"kafka.m5.4xlarge\"),\n\t\t\t\tClientSubnets: pulumi.StringArray{\n\t\t\t\t\tsubnetAz1.Id,\n\t\t\t\t\tsubnetAz2.Id,\n\t\t\t\t\tsubnetAz3.Id,\n\t\t\t\t},\n\t\t\t\tStorageInfo: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoArgs{\n\t\t\t\t\tEbsStorageInfo: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs{\n\t\t\t\t\t\tProvisionedThroughput: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t\tVolumeThroughput: pulumi.Int(250),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tVolumeSize: pulumi.Int(1000),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tsg.Id,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.Cluster;\nimport com.pulumi.aws.msk.ClusterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterName(\"example\")\n .kafkaVersion(\"2.7.1\")\n .numberOfBrokerNodes(3)\n .brokerNodeGroupInfo(ClusterBrokerNodeGroupInfoArgs.builder()\n .instanceType(\"kafka.m5.4xlarge\")\n .clientSubnets( \n subnetAz1.id(),\n subnetAz2.id(),\n subnetAz3.id())\n .storageInfo(ClusterBrokerNodeGroupInfoStorageInfoArgs.builder()\n .ebsStorageInfo(ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs.builder()\n .provisionedThroughput(ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs.builder()\n .enabled(true)\n .volumeThroughput(250)\n .build())\n .volumeSize(1000)\n .build())\n .build())\n .securityGroups(sg.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:msk:Cluster\n properties:\n clusterName: example\n kafkaVersion: 2.7.1\n numberOfBrokerNodes: 3\n brokerNodeGroupInfo:\n instanceType: kafka.m5.4xlarge\n clientSubnets:\n - ${subnetAz1.id}\n - ${subnetAz2.id}\n - ${subnetAz3.id}\n storageInfo:\n ebsStorageInfo:\n provisionedThroughput:\n enabled: true\n volumeThroughput: 250\n volumeSize: 1000\n securityGroups:\n - ${sg.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK clusters using the cluster `arn`. For example:\n\n```sh\n$ pulumi import aws:msk/cluster:Cluster example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", + "description": "Manages an Amazon MSK cluster.\n\n\u003e **Note:** This resource manages _provisioned_ clusters. To manage a _serverless_ Amazon MSK cluster, use the `aws.msk.ServerlessCluster` resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst vpc = new aws.ec2.Vpc(\"vpc\", {cidrBlock: \"192.168.0.0/22\"});\nconst azs = aws.getAvailabilityZones({\n state: \"available\",\n});\nconst subnetAz1 = new aws.ec2.Subnet(\"subnet_az1\", {\n availabilityZone: azs.then(azs =\u003e azs.names?.[0]),\n cidrBlock: \"192.168.0.0/24\",\n vpcId: vpc.id,\n});\nconst subnetAz2 = new aws.ec2.Subnet(\"subnet_az2\", {\n availabilityZone: azs.then(azs =\u003e azs.names?.[1]),\n cidrBlock: \"192.168.1.0/24\",\n vpcId: vpc.id,\n});\nconst subnetAz3 = new aws.ec2.Subnet(\"subnet_az3\", {\n availabilityZone: azs.then(azs =\u003e azs.names?.[2]),\n cidrBlock: \"192.168.2.0/24\",\n vpcId: vpc.id,\n});\nconst sg = new aws.ec2.SecurityGroup(\"sg\", {vpcId: vpc.id});\nconst kms = new aws.kms.Key(\"kms\", {description: \"example\"});\nconst test = new aws.cloudwatch.LogGroup(\"test\", {name: \"msk_broker_logs\"});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"msk-broker-logs-bucket\"});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst firehoseRole = new aws.iam.Role(\"firehose_role\", {\n name: \"firehose_test_role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-msk-broker-logs-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n },\n tags: {\n LogDeliveryEnabled: \"placeholder\",\n },\n});\nconst example = new aws.msk.Cluster(\"example\", {\n clusterName: \"example\",\n kafkaVersion: \"3.2.0\",\n numberOfBrokerNodes: 3,\n brokerNodeGroupInfo: {\n instanceType: \"kafka.m5.large\",\n clientSubnets: [\n subnetAz1.id,\n subnetAz2.id,\n subnetAz3.id,\n ],\n storageInfo: {\n ebsStorageInfo: {\n volumeSize: 1000,\n },\n },\n securityGroups: [sg.id],\n },\n encryptionInfo: {\n encryptionAtRestKmsKeyArn: kms.arn,\n },\n openMonitoring: {\n prometheus: {\n jmxExporter: {\n enabledInBroker: true,\n },\n nodeExporter: {\n enabledInBroker: true,\n },\n },\n },\n loggingInfo: {\n brokerLogs: {\n cloudwatchLogs: {\n enabled: true,\n logGroup: test.name,\n },\n firehose: {\n enabled: true,\n deliveryStream: testStream.name,\n },\n s3: {\n enabled: true,\n bucket: bucket.id,\n prefix: \"logs/msk-\",\n },\n },\n },\n tags: {\n foo: \"bar\",\n },\n});\nexport const zookeeperConnectString = example.zookeeperConnectString;\nexport const bootstrapBrokersTls = example.bootstrapBrokersTls;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvpc = aws.ec2.Vpc(\"vpc\", cidr_block=\"192.168.0.0/22\")\nazs = aws.get_availability_zones(state=\"available\")\nsubnet_az1 = aws.ec2.Subnet(\"subnet_az1\",\n availability_zone=azs.names[0],\n cidr_block=\"192.168.0.0/24\",\n vpc_id=vpc.id)\nsubnet_az2 = aws.ec2.Subnet(\"subnet_az2\",\n availability_zone=azs.names[1],\n cidr_block=\"192.168.1.0/24\",\n vpc_id=vpc.id)\nsubnet_az3 = aws.ec2.Subnet(\"subnet_az3\",\n availability_zone=azs.names[2],\n cidr_block=\"192.168.2.0/24\",\n vpc_id=vpc.id)\nsg = aws.ec2.SecurityGroup(\"sg\", vpc_id=vpc.id)\nkms = aws.kms.Key(\"kms\", description=\"example\")\ntest = aws.cloudwatch.LogGroup(\"test\", name=\"msk_broker_logs\")\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"msk-broker-logs-bucket\")\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"firehose.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nfirehose_role = aws.iam.Role(\"firehose_role\",\n name=\"firehose_test_role\",\n assume_role_policy=assume_role.json)\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-msk-broker-logs-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration={\n \"role_arn\": firehose_role.arn,\n \"bucket_arn\": bucket.arn,\n },\n tags={\n \"LogDeliveryEnabled\": \"placeholder\",\n })\nexample = aws.msk.Cluster(\"example\",\n cluster_name=\"example\",\n kafka_version=\"3.2.0\",\n number_of_broker_nodes=3,\n broker_node_group_info={\n \"instance_type\": \"kafka.m5.large\",\n \"client_subnets\": [\n subnet_az1.id,\n subnet_az2.id,\n subnet_az3.id,\n ],\n \"storage_info\": {\n \"ebs_storage_info\": {\n \"volume_size\": 1000,\n },\n },\n \"security_groups\": [sg.id],\n },\n encryption_info={\n \"encryption_at_rest_kms_key_arn\": kms.arn,\n },\n open_monitoring={\n \"prometheus\": {\n \"jmx_exporter\": {\n \"enabled_in_broker\": True,\n },\n \"node_exporter\": {\n \"enabled_in_broker\": True,\n },\n },\n },\n logging_info={\n \"broker_logs\": {\n \"cloudwatch_logs\": {\n \"enabled\": True,\n \"log_group\": test.name,\n },\n \"firehose\": {\n \"enabled\": True,\n \"delivery_stream\": test_stream.name,\n },\n \"s3\": {\n \"enabled\": True,\n \"bucket\": bucket.id,\n \"prefix\": \"logs/msk-\",\n },\n },\n },\n tags={\n \"foo\": \"bar\",\n })\npulumi.export(\"zookeeperConnectString\", example.zookeeper_connect_string)\npulumi.export(\"bootstrapBrokersTls\", example.bootstrap_brokers_tls)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpc = new Aws.Ec2.Vpc(\"vpc\", new()\n {\n CidrBlock = \"192.168.0.0/22\",\n });\n\n var azs = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n var subnetAz1 = new Aws.Ec2.Subnet(\"subnet_az1\", new()\n {\n AvailabilityZone = azs.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n CidrBlock = \"192.168.0.0/24\",\n VpcId = vpc.Id,\n });\n\n var subnetAz2 = new Aws.Ec2.Subnet(\"subnet_az2\", new()\n {\n AvailabilityZone = azs.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n CidrBlock = \"192.168.1.0/24\",\n VpcId = vpc.Id,\n });\n\n var subnetAz3 = new Aws.Ec2.Subnet(\"subnet_az3\", new()\n {\n AvailabilityZone = azs.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[2]),\n CidrBlock = \"192.168.2.0/24\",\n VpcId = vpc.Id,\n });\n\n var sg = new Aws.Ec2.SecurityGroup(\"sg\", new()\n {\n VpcId = vpc.Id,\n });\n\n var kms = new Aws.Kms.Key(\"kms\", new()\n {\n Description = \"example\",\n });\n\n var test = new Aws.CloudWatch.LogGroup(\"test\", new()\n {\n Name = \"msk_broker_logs\",\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"msk-broker-logs-bucket\",\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var firehoseRole = new Aws.Iam.Role(\"firehose_role\", new()\n {\n Name = \"firehose_test_role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-msk-broker-logs-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n },\n Tags = \n {\n { \"LogDeliveryEnabled\", \"placeholder\" },\n },\n });\n\n var example = new Aws.Msk.Cluster(\"example\", new()\n {\n ClusterName = \"example\",\n KafkaVersion = \"3.2.0\",\n NumberOfBrokerNodes = 3,\n BrokerNodeGroupInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoArgs\n {\n InstanceType = \"kafka.m5.large\",\n ClientSubnets = new[]\n {\n subnetAz1.Id,\n subnetAz2.Id,\n subnetAz3.Id,\n },\n StorageInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoArgs\n {\n EbsStorageInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs\n {\n VolumeSize = 1000,\n },\n },\n SecurityGroups = new[]\n {\n sg.Id,\n },\n },\n EncryptionInfo = new Aws.Msk.Inputs.ClusterEncryptionInfoArgs\n {\n EncryptionAtRestKmsKeyArn = kms.Arn,\n },\n OpenMonitoring = new Aws.Msk.Inputs.ClusterOpenMonitoringArgs\n {\n Prometheus = new Aws.Msk.Inputs.ClusterOpenMonitoringPrometheusArgs\n {\n JmxExporter = new Aws.Msk.Inputs.ClusterOpenMonitoringPrometheusJmxExporterArgs\n {\n EnabledInBroker = true,\n },\n NodeExporter = new Aws.Msk.Inputs.ClusterOpenMonitoringPrometheusNodeExporterArgs\n {\n EnabledInBroker = true,\n },\n },\n },\n LoggingInfo = new Aws.Msk.Inputs.ClusterLoggingInfoArgs\n {\n BrokerLogs = new Aws.Msk.Inputs.ClusterLoggingInfoBrokerLogsArgs\n {\n CloudwatchLogs = new Aws.Msk.Inputs.ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs\n {\n Enabled = true,\n LogGroup = test.Name,\n },\n Firehose = new Aws.Msk.Inputs.ClusterLoggingInfoBrokerLogsFirehoseArgs\n {\n Enabled = true,\n DeliveryStream = testStream.Name,\n },\n S3 = new Aws.Msk.Inputs.ClusterLoggingInfoBrokerLogsS3Args\n {\n Enabled = true,\n Bucket = bucket.Id,\n Prefix = \"logs/msk-\",\n },\n },\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"zookeeperConnectString\"] = example.ZookeeperConnectString,\n [\"bootstrapBrokersTls\"] = example.BootstrapBrokersTls,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := ec2.NewVpc(ctx, \"vpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/22\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tazs, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetAz1, err := ec2.NewSubnet(ctx, \"subnet_az1\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(azs.Names[0]),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetAz2, err := ec2.NewSubnet(ctx, \"subnet_az2\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(azs.Names[1]),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetAz3, err := ec2.NewSubnet(ctx, \"subnet_az3\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(azs.Names[2]),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsg, err := ec2.NewSecurityGroup(ctx, \"sg\", \u0026ec2.SecurityGroupArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkms, err := kms.NewKey(ctx, \"kms\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := cloudwatch.NewLogGroup(ctx, \"test\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"msk_broker_logs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"msk-broker-logs-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"firehose.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseRole, err := iam.NewRole(ctx, \"firehose_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"firehose_test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestStream, err := kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-msk-broker-logs-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: firehoseRole.Arn,\n\t\t\t\tBucketArn: bucket.Arn,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"LogDeliveryEnabled\": pulumi.String(\"placeholder\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := msk.NewCluster(ctx, \"example\", \u0026msk.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"example\"),\n\t\t\tKafkaVersion: pulumi.String(\"3.2.0\"),\n\t\t\tNumberOfBrokerNodes: pulumi.Int(3),\n\t\t\tBrokerNodeGroupInfo: \u0026msk.ClusterBrokerNodeGroupInfoArgs{\n\t\t\t\tInstanceType: pulumi.String(\"kafka.m5.large\"),\n\t\t\t\tClientSubnets: pulumi.StringArray{\n\t\t\t\t\tsubnetAz1.ID(),\n\t\t\t\t\tsubnetAz2.ID(),\n\t\t\t\t\tsubnetAz3.ID(),\n\t\t\t\t},\n\t\t\t\tStorageInfo: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoArgs{\n\t\t\t\t\tEbsStorageInfo: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs{\n\t\t\t\t\t\tVolumeSize: pulumi.Int(1000),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tsg.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEncryptionInfo: \u0026msk.ClusterEncryptionInfoArgs{\n\t\t\t\tEncryptionAtRestKmsKeyArn: kms.Arn,\n\t\t\t},\n\t\t\tOpenMonitoring: \u0026msk.ClusterOpenMonitoringArgs{\n\t\t\t\tPrometheus: \u0026msk.ClusterOpenMonitoringPrometheusArgs{\n\t\t\t\t\tJmxExporter: \u0026msk.ClusterOpenMonitoringPrometheusJmxExporterArgs{\n\t\t\t\t\t\tEnabledInBroker: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tNodeExporter: \u0026msk.ClusterOpenMonitoringPrometheusNodeExporterArgs{\n\t\t\t\t\t\tEnabledInBroker: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoggingInfo: \u0026msk.ClusterLoggingInfoArgs{\n\t\t\t\tBrokerLogs: \u0026msk.ClusterLoggingInfoBrokerLogsArgs{\n\t\t\t\t\tCloudwatchLogs: \u0026msk.ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tLogGroup: test.Name,\n\t\t\t\t\t},\n\t\t\t\t\tFirehose: \u0026msk.ClusterLoggingInfoBrokerLogsFirehoseArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tDeliveryStream: testStream.Name,\n\t\t\t\t\t},\n\t\t\t\t\tS3: \u0026msk.ClusterLoggingInfoBrokerLogsS3Args{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tBucket: bucket.ID(),\n\t\t\t\t\t\tPrefix: pulumi.String(\"logs/msk-\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"zookeeperConnectString\", example.ZookeeperConnectString)\n\t\tctx.Export(\"bootstrapBrokersTls\", example.BootstrapBrokersTls)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.msk.Cluster;\nimport com.pulumi.aws.msk.ClusterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterEncryptionInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterOpenMonitoringArgs;\nimport com.pulumi.aws.msk.inputs.ClusterOpenMonitoringPrometheusArgs;\nimport com.pulumi.aws.msk.inputs.ClusterOpenMonitoringPrometheusJmxExporterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterOpenMonitoringPrometheusNodeExporterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsFirehoseArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vpc = new Vpc(\"vpc\", VpcArgs.builder()\n .cidrBlock(\"192.168.0.0/22\")\n .build());\n\n final var azs = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n var subnetAz1 = new Subnet(\"subnetAz1\", SubnetArgs.builder()\n .availabilityZone(azs.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .cidrBlock(\"192.168.0.0/24\")\n .vpcId(vpc.id())\n .build());\n\n var subnetAz2 = new Subnet(\"subnetAz2\", SubnetArgs.builder()\n .availabilityZone(azs.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .cidrBlock(\"192.168.1.0/24\")\n .vpcId(vpc.id())\n .build());\n\n var subnetAz3 = new Subnet(\"subnetAz3\", SubnetArgs.builder()\n .availabilityZone(azs.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[2]))\n .cidrBlock(\"192.168.2.0/24\")\n .vpcId(vpc.id())\n .build());\n\n var sg = new SecurityGroup(\"sg\", SecurityGroupArgs.builder()\n .vpcId(vpc.id())\n .build());\n\n var kms = new Key(\"kms\", KeyArgs.builder()\n .description(\"example\")\n .build());\n\n var test = new LogGroup(\"test\", LogGroupArgs.builder()\n .name(\"msk_broker_logs\")\n .build());\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"msk-broker-logs-bucket\")\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder()\n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var firehoseRole = new Role(\"firehoseRole\", RoleArgs.builder()\n .name(\"firehose_test_role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-msk-broker-logs-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .build())\n .tags(Map.of(\"LogDeliveryEnabled\", \"placeholder\"))\n .build());\n\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterName(\"example\")\n .kafkaVersion(\"3.2.0\")\n .numberOfBrokerNodes(3)\n .brokerNodeGroupInfo(ClusterBrokerNodeGroupInfoArgs.builder()\n .instanceType(\"kafka.m5.large\")\n .clientSubnets( \n subnetAz1.id(),\n subnetAz2.id(),\n subnetAz3.id())\n .storageInfo(ClusterBrokerNodeGroupInfoStorageInfoArgs.builder()\n .ebsStorageInfo(ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs.builder()\n .volumeSize(1000)\n .build())\n .build())\n .securityGroups(sg.id())\n .build())\n .encryptionInfo(ClusterEncryptionInfoArgs.builder()\n .encryptionAtRestKmsKeyArn(kms.arn())\n .build())\n .openMonitoring(ClusterOpenMonitoringArgs.builder()\n .prometheus(ClusterOpenMonitoringPrometheusArgs.builder()\n .jmxExporter(ClusterOpenMonitoringPrometheusJmxExporterArgs.builder()\n .enabledInBroker(true)\n .build())\n .nodeExporter(ClusterOpenMonitoringPrometheusNodeExporterArgs.builder()\n .enabledInBroker(true)\n .build())\n .build())\n .build())\n .loggingInfo(ClusterLoggingInfoArgs.builder()\n .brokerLogs(ClusterLoggingInfoBrokerLogsArgs.builder()\n .cloudwatchLogs(ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs.builder()\n .enabled(true)\n .logGroup(test.name())\n .build())\n .firehose(ClusterLoggingInfoBrokerLogsFirehoseArgs.builder()\n .enabled(true)\n .deliveryStream(testStream.name())\n .build())\n .s3(ClusterLoggingInfoBrokerLogsS3Args.builder()\n .enabled(true)\n .bucket(bucket.id())\n .prefix(\"logs/msk-\")\n .build())\n .build())\n .build())\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n ctx.export(\"zookeeperConnectString\", example.zookeeperConnectString());\n ctx.export(\"bootstrapBrokersTls\", example.bootstrapBrokersTls());\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 192.168.0.0/22\n subnetAz1:\n type: aws:ec2:Subnet\n name: subnet_az1\n properties:\n availabilityZone: ${azs.names[0]}\n cidrBlock: 192.168.0.0/24\n vpcId: ${vpc.id}\n subnetAz2:\n type: aws:ec2:Subnet\n name: subnet_az2\n properties:\n availabilityZone: ${azs.names[1]}\n cidrBlock: 192.168.1.0/24\n vpcId: ${vpc.id}\n subnetAz3:\n type: aws:ec2:Subnet\n name: subnet_az3\n properties:\n availabilityZone: ${azs.names[2]}\n cidrBlock: 192.168.2.0/24\n vpcId: ${vpc.id}\n sg:\n type: aws:ec2:SecurityGroup\n properties:\n vpcId: ${vpc.id}\n kms:\n type: aws:kms:Key\n properties:\n description: example\n test:\n type: aws:cloudwatch:LogGroup\n properties:\n name: msk_broker_logs\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: msk-broker-logs-bucket\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n firehoseRole:\n type: aws:iam:Role\n name: firehose_role\n properties:\n name: firehose_test_role\n assumeRolePolicy: ${assumeRole.json}\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-msk-broker-logs-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n tags:\n LogDeliveryEnabled: placeholder\n example:\n type: aws:msk:Cluster\n properties:\n clusterName: example\n kafkaVersion: 3.2.0\n numberOfBrokerNodes: 3\n brokerNodeGroupInfo:\n instanceType: kafka.m5.large\n clientSubnets:\n - ${subnetAz1.id}\n - ${subnetAz2.id}\n - ${subnetAz3.id}\n storageInfo:\n ebsStorageInfo:\n volumeSize: 1000\n securityGroups:\n - ${sg.id}\n encryptionInfo:\n encryptionAtRestKmsKeyArn: ${kms.arn}\n openMonitoring:\n prometheus:\n jmxExporter:\n enabledInBroker: true\n nodeExporter:\n enabledInBroker: true\n loggingInfo:\n brokerLogs:\n cloudwatchLogs:\n enabled: true\n logGroup: ${test.name}\n firehose:\n enabled: true\n deliveryStream: ${testStream.name}\n s3:\n enabled: true\n bucket: ${bucket.id}\n prefix: logs/msk-\n tags:\n foo: bar\nvariables:\n azs:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\noutputs:\n zookeeperConnectString: ${example.zookeeperConnectString}\n bootstrapBrokersTls: ${example.bootstrapBrokersTls}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With volume_throughput argument\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.msk.Cluster(\"example\", {\n clusterName: \"example\",\n kafkaVersion: \"2.7.1\",\n numberOfBrokerNodes: 3,\n brokerNodeGroupInfo: {\n instanceType: \"kafka.m5.4xlarge\",\n clientSubnets: [\n subnetAz1.id,\n subnetAz2.id,\n subnetAz3.id,\n ],\n storageInfo: {\n ebsStorageInfo: {\n provisionedThroughput: {\n enabled: true,\n volumeThroughput: 250,\n },\n volumeSize: 1000,\n },\n },\n securityGroups: [sg.id],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.Cluster(\"example\",\n cluster_name=\"example\",\n kafka_version=\"2.7.1\",\n number_of_broker_nodes=3,\n broker_node_group_info={\n \"instance_type\": \"kafka.m5.4xlarge\",\n \"client_subnets\": [\n subnet_az1[\"id\"],\n subnet_az2[\"id\"],\n subnet_az3[\"id\"],\n ],\n \"storage_info\": {\n \"ebs_storage_info\": {\n \"provisioned_throughput\": {\n \"enabled\": True,\n \"volume_throughput\": 250,\n },\n \"volume_size\": 1000,\n },\n },\n \"security_groups\": [sg[\"id\"]],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Msk.Cluster(\"example\", new()\n {\n ClusterName = \"example\",\n KafkaVersion = \"2.7.1\",\n NumberOfBrokerNodes = 3,\n BrokerNodeGroupInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoArgs\n {\n InstanceType = \"kafka.m5.4xlarge\",\n ClientSubnets = new[]\n {\n subnetAz1.Id,\n subnetAz2.Id,\n subnetAz3.Id,\n },\n StorageInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoArgs\n {\n EbsStorageInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs\n {\n ProvisionedThroughput = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs\n {\n Enabled = true,\n VolumeThroughput = 250,\n },\n VolumeSize = 1000,\n },\n },\n SecurityGroups = new[]\n {\n sg.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\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 := msk.NewCluster(ctx, \"example\", \u0026msk.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"example\"),\n\t\t\tKafkaVersion: pulumi.String(\"2.7.1\"),\n\t\t\tNumberOfBrokerNodes: pulumi.Int(3),\n\t\t\tBrokerNodeGroupInfo: \u0026msk.ClusterBrokerNodeGroupInfoArgs{\n\t\t\t\tInstanceType: pulumi.String(\"kafka.m5.4xlarge\"),\n\t\t\t\tClientSubnets: pulumi.StringArray{\n\t\t\t\t\tsubnetAz1.Id,\n\t\t\t\t\tsubnetAz2.Id,\n\t\t\t\t\tsubnetAz3.Id,\n\t\t\t\t},\n\t\t\t\tStorageInfo: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoArgs{\n\t\t\t\t\tEbsStorageInfo: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs{\n\t\t\t\t\t\tProvisionedThroughput: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t\tVolumeThroughput: pulumi.Int(250),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tVolumeSize: pulumi.Int(1000),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tsg.Id,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.Cluster;\nimport com.pulumi.aws.msk.ClusterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterName(\"example\")\n .kafkaVersion(\"2.7.1\")\n .numberOfBrokerNodes(3)\n .brokerNodeGroupInfo(ClusterBrokerNodeGroupInfoArgs.builder()\n .instanceType(\"kafka.m5.4xlarge\")\n .clientSubnets( \n subnetAz1.id(),\n subnetAz2.id(),\n subnetAz3.id())\n .storageInfo(ClusterBrokerNodeGroupInfoStorageInfoArgs.builder()\n .ebsStorageInfo(ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs.builder()\n .provisionedThroughput(ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs.builder()\n .enabled(true)\n .volumeThroughput(250)\n .build())\n .volumeSize(1000)\n .build())\n .build())\n .securityGroups(sg.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:msk:Cluster\n properties:\n clusterName: example\n kafkaVersion: 2.7.1\n numberOfBrokerNodes: 3\n brokerNodeGroupInfo:\n instanceType: kafka.m5.4xlarge\n clientSubnets:\n - ${subnetAz1.id}\n - ${subnetAz2.id}\n - ${subnetAz3.id}\n storageInfo:\n ebsStorageInfo:\n provisionedThroughput:\n enabled: true\n volumeThroughput: 250\n volumeSize: 1000\n securityGroups:\n - ${sg.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK clusters using the cluster `arn`. For example:\n\n```sh\n$ pulumi import aws:msk/cluster:Cluster example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", "properties": { "arn": { "type": "string", @@ -307590,7 +307590,7 @@ } }, "aws:msk/clusterPolicy:ClusterPolicy": { - "description": "Resource for managing an AWS Managed Streaming for Kafka Cluster Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst example = new aws.msk.ClusterPolicy(\"example\", {\n clusterArn: exampleAwsMskCluster.arn,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"ExampleMskClusterPolicy\",\n Effect: \"Allow\",\n Principal: {\n AWS: Promise.all([currentGetPartition, current]).then(([currentGetPartition, current]) =\u003e `arn:${currentGetPartition.partition}:iam::${current.accountId}:root`),\n },\n Action: [\n \"kafka:Describe*\",\n \"kafka:Get*\",\n \"kafka:CreateVpcConnection\",\n \"kafka:GetBootstrapBrokers\",\n ],\n Resource: exampleAwsMskCluster.arn,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\nexample = aws.msk.ClusterPolicy(\"example\",\n cluster_arn=example_aws_msk_cluster[\"arn\"],\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"ExampleMskClusterPolicy\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:{current_get_partition.partition}:iam::{current.account_id}:root\",\n },\n \"Action\": [\n \"kafka:Describe*\",\n \"kafka:Get*\",\n \"kafka:CreateVpcConnection\",\n \"kafka:GetBootstrapBrokers\",\n ],\n \"Resource\": example_aws_msk_cluster[\"arn\"],\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var example = new Aws.Msk.ClusterPolicy(\"example\", new()\n {\n ClusterArn = exampleAwsMskCluster.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"ExampleMskClusterPolicy\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = Output.Tuple(currentGetPartition, current).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var current = values.Item2;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\";\n }),\n },\n [\"Action\"] = new[]\n {\n \"kafka:Describe*\",\n \"kafka:Get*\",\n \"kafka:CreateVpcConnection\",\n \"kafka:GetBootstrapBrokers\",\n },\n [\"Resource\"] = exampleAwsMskCluster.Arn,\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"ExampleMskClusterPolicy\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:%v:iam::%v:root\", currentGetPartition.Partition, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kafka:Describe*\",\n\t\t\t\t\t\t\"kafka:Get*\",\n\t\t\t\t\t\t\"kafka:CreateVpcConnection\",\n\t\t\t\t\t\t\"kafka:GetBootstrapBrokers\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": exampleAwsMskCluster.Arn,\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\tjson0 := string(tmpJSON0)\n\t\t_, err = msk.NewClusterPolicy(ctx, \"example\", \u0026msk.ClusterPolicyArgs{\n\t\t\tClusterArn: pulumi.Any(exampleAwsMskCluster.Arn),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.msk.ClusterPolicy;\nimport com.pulumi.aws.msk.ClusterPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n var example = new ClusterPolicy(\"example\", ClusterPolicyArgs.builder()\n .clusterArn(exampleAwsMskCluster.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"ExampleMskClusterPolicy\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:%s:iam::%s:root\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kafka:Describe*\", \n \"kafka:Get*\", \n \"kafka:CreateVpcConnection\", \n \"kafka:GetBootstrapBrokers\"\n )),\n jsonProperty(\"Resource\", exampleAwsMskCluster.arn())\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:msk:ClusterPolicy\n properties:\n clusterArn: ${exampleAwsMskCluster.arn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: ExampleMskClusterPolicy\n Effect: Allow\n Principal:\n AWS: arn:${currentGetPartition.partition}:iam::${current.accountId}:root\n Action:\n - kafka:Describe*\n - kafka:Get*\n - kafka:CreateVpcConnection\n - kafka:GetBootstrapBrokers\n Resource: ${exampleAwsMskCluster.arn}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n currentGetPartition:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Managed Streaming for Kafka Cluster Policy using the `cluster_arn`. For example:\n\n```sh\n$ pulumi import aws:msk/clusterPolicy:ClusterPolicy example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", + "description": "Resource for managing an AWS Managed Streaming for Kafka Cluster Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst example = new aws.msk.ClusterPolicy(\"example\", {\n clusterArn: exampleAwsMskCluster.arn,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"ExampleMskClusterPolicy\",\n Effect: \"Allow\",\n Principal: {\n AWS: Promise.all([currentGetPartition, current]).then(([currentGetPartition, current]) =\u003e `arn:${currentGetPartition.partition}:iam::${current.accountId}:root`),\n },\n Action: [\n \"kafka:Describe*\",\n \"kafka:Get*\",\n \"kafka:CreateVpcConnection\",\n \"kafka:GetBootstrapBrokers\",\n ],\n Resource: exampleAwsMskCluster.arn,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\nexample = aws.msk.ClusterPolicy(\"example\",\n cluster_arn=example_aws_msk_cluster[\"arn\"],\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"ExampleMskClusterPolicy\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:{current_get_partition.partition}:iam::{current.account_id}:root\",\n },\n \"Action\": [\n \"kafka:Describe*\",\n \"kafka:Get*\",\n \"kafka:CreateVpcConnection\",\n \"kafka:GetBootstrapBrokers\",\n ],\n \"Resource\": example_aws_msk_cluster[\"arn\"],\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var example = new Aws.Msk.ClusterPolicy(\"example\", new()\n {\n ClusterArn = exampleAwsMskCluster.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"ExampleMskClusterPolicy\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = Output.Tuple(currentGetPartition, current).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var current = values.Item2;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\";\n }),\n },\n [\"Action\"] = new[]\n {\n \"kafka:Describe*\",\n \"kafka:Get*\",\n \"kafka:CreateVpcConnection\",\n \"kafka:GetBootstrapBrokers\",\n },\n [\"Resource\"] = exampleAwsMskCluster.Arn,\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"ExampleMskClusterPolicy\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:%v:iam::%v:root\", currentGetPartition.Partition, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kafka:Describe*\",\n\t\t\t\t\t\t\"kafka:Get*\",\n\t\t\t\t\t\t\"kafka:CreateVpcConnection\",\n\t\t\t\t\t\t\"kafka:GetBootstrapBrokers\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": exampleAwsMskCluster.Arn,\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\tjson0 := string(tmpJSON0)\n\t\t_, err = msk.NewClusterPolicy(ctx, \"example\", \u0026msk.ClusterPolicyArgs{\n\t\t\tClusterArn: pulumi.Any(exampleAwsMskCluster.Arn),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.msk.ClusterPolicy;\nimport com.pulumi.aws.msk.ClusterPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n var example = new ClusterPolicy(\"example\", ClusterPolicyArgs.builder()\n .clusterArn(exampleAwsMskCluster.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"ExampleMskClusterPolicy\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:%s:iam::%s:root\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kafka:Describe*\", \n \"kafka:Get*\", \n \"kafka:CreateVpcConnection\", \n \"kafka:GetBootstrapBrokers\"\n )),\n jsonProperty(\"Resource\", exampleAwsMskCluster.arn())\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:msk:ClusterPolicy\n properties:\n clusterArn: ${exampleAwsMskCluster.arn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: ExampleMskClusterPolicy\n Effect: Allow\n Principal:\n AWS: arn:${currentGetPartition.partition}:iam::${current.accountId}:root\n Action:\n - kafka:Describe*\n - kafka:Get*\n - kafka:CreateVpcConnection\n - kafka:GetBootstrapBrokers\n Resource: ${exampleAwsMskCluster.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Managed Streaming for Kafka Cluster Policy using the `cluster_arn`. For example:\n\n```sh\n$ pulumi import aws:msk/clusterPolicy:ClusterPolicy example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", "properties": { "clusterArn": { "type": "string", @@ -307888,7 +307888,7 @@ } }, "aws:msk/scramSecretAssociation:ScramSecretAssociation": { - "description": "Associates SCRAM secrets stored in the Secrets Manager service with a Managed Streaming for Kafka (MSK) cluster.\n\n\u003e **Note:** The following assumes the MSK cluster has SASL/SCRAM authentication enabled. See below for example usage or refer to the [Username/Password Authentication](https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html) section of the MSK Developer Guide for more details.\n\nTo set up username and password authentication for a cluster, create an `aws.secretsmanager.Secret` resource and associate\na username and password with the secret with an `aws.secretsmanager.SecretVersion` resource. When creating a secret for the cluster,\nthe `name` must have the prefix `AmazonMSK_` and you must either use an existing custom AWS KMS key or create a new\ncustom AWS KMS key for your secret with the `aws.kms.Key` resource. It is important to note that a policy is required for the `aws.secretsmanager.Secret`\nresource in order for Kafka to be able to read it. This policy is attached automatically when the `aws.msk.ScramSecretAssociation` is used,\nhowever, this policy will not be in the state and as such, will present a diff on plan/apply. For that reason, you must use the `aws.secretsmanager.SecretPolicy`\nresource](/docs/providers/aws/r/secretsmanager_secret_policy.html) as shown below in order to ensure that the state is in a clean state after the creation of secret and the association to the cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCluster = new aws.msk.Cluster(\"example\", {\n clusterName: \"example\",\n clientAuthentication: {\n sasl: {\n scram: true,\n },\n },\n});\nconst exampleKey = new aws.kms.Key(\"example\", {description: \"Example Key for MSK Cluster Scram Secret Association\"});\nconst exampleSecret = new aws.secretsmanager.Secret(\"example\", {\n name: \"AmazonMSK_example\",\n kmsKeyId: exampleKey.keyId,\n});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: exampleSecret.id,\n secretString: JSON.stringify({\n username: \"user\",\n password: \"pass\",\n }),\n});\nconst exampleScramSecretAssociation = new aws.msk.ScramSecretAssociation(\"example\", {\n clusterArn: exampleCluster.arn,\n secretArnLists: [exampleSecret.arn],\n}, {\n dependsOn: [exampleSecretVersion],\n});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"AWSKafkaResourcePolicy\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"kafka.amazonaws.com\"],\n }],\n actions: [\"secretsmanager:getSecretValue\"],\n resources: [exampleSecret.arn],\n }],\n});\nconst exampleSecretPolicy = new aws.secretsmanager.SecretPolicy(\"example\", {\n secretArn: exampleSecret.arn,\n policy: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_cluster = aws.msk.Cluster(\"example\",\n cluster_name=\"example\",\n client_authentication={\n \"sasl\": {\n \"scram\": True,\n },\n })\nexample_key = aws.kms.Key(\"example\", description=\"Example Key for MSK Cluster Scram Secret Association\")\nexample_secret = aws.secretsmanager.Secret(\"example\",\n name=\"AmazonMSK_example\",\n kms_key_id=example_key.key_id)\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example_secret.id,\n secret_string=json.dumps({\n \"username\": \"user\",\n \"password\": \"pass\",\n }))\nexample_scram_secret_association = aws.msk.ScramSecretAssociation(\"example\",\n cluster_arn=example_cluster.arn,\n secret_arn_lists=[example_secret.arn],\n opts = pulumi.ResourceOptions(depends_on=[example_secret_version]))\nexample = aws.iam.get_policy_document_output(statements=[{\n \"sid\": \"AWSKafkaResourcePolicy\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"kafka.amazonaws.com\"],\n }],\n \"actions\": [\"secretsmanager:getSecretValue\"],\n \"resources\": [example_secret.arn],\n}])\nexample_secret_policy = aws.secretsmanager.SecretPolicy(\"example\",\n secret_arn=example_secret.arn,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCluster = new Aws.Msk.Cluster(\"example\", new()\n {\n ClusterName = \"example\",\n ClientAuthentication = new Aws.Msk.Inputs.ClusterClientAuthenticationArgs\n {\n Sasl = new Aws.Msk.Inputs.ClusterClientAuthenticationSaslArgs\n {\n Scram = true,\n },\n },\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example Key for MSK Cluster Scram Secret Association\",\n });\n\n var exampleSecret = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"AmazonMSK_example\",\n KmsKeyId = exampleKey.KeyId,\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = exampleSecret.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"user\",\n [\"password\"] = \"pass\",\n }),\n });\n\n var exampleScramSecretAssociation = new Aws.Msk.ScramSecretAssociation(\"example\", new()\n {\n ClusterArn = exampleCluster.Arn,\n SecretArnLists = new[]\n {\n exampleSecret.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleSecretVersion,\n },\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSKafkaResourcePolicy\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"kafka.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"secretsmanager:getSecretValue\",\n },\n Resources = new[]\n {\n exampleSecret.Arn,\n },\n },\n },\n });\n\n var exampleSecretPolicy = new Aws.SecretsManager.SecretPolicy(\"example\", new()\n {\n SecretArn = exampleSecret.Arn,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCluster, err := msk.NewCluster(ctx, \"example\", \u0026msk.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"example\"),\n\t\t\tClientAuthentication: \u0026msk.ClusterClientAuthenticationArgs{\n\t\t\t\tSasl: \u0026msk.ClusterClientAuthenticationSaslArgs{\n\t\t\t\t\tScram: pulumi.Bool(true),\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\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example Key for MSK Cluster Scram Secret Association\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecret, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"AmazonMSK_example\"),\n\t\t\tKmsKeyId: exampleKey.KeyId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"username\": \"user\",\n\t\t\t\"password\": \"pass\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleSecretVersion, err := secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: exampleSecret.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = msk.NewScramSecretAssociation(ctx, \"example\", \u0026msk.ScramSecretAssociationArgs{\n\t\t\tClusterArn: exampleCluster.Arn,\n\t\t\tSecretArnLists: pulumi.StringArray{\n\t\t\t\texampleSecret.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSecretVersion,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"AWSKafkaResourcePolicy\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"kafka.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secretsmanager:getSecretValue\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleSecret.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = secretsmanager.NewSecretPolicy(ctx, \"example\", \u0026secretsmanager.SecretPolicyArgs{\n\t\t\tSecretArn: exampleSecret.Arn,\n\t\t\tPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.Cluster;\nimport com.pulumi.aws.msk.ClusterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterClientAuthenticationArgs;\nimport com.pulumi.aws.msk.inputs.ClusterClientAuthenticationSaslArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.msk.ScramSecretAssociation;\nimport com.pulumi.aws.msk.ScramSecretAssociationArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.secretsmanager.SecretPolicy;\nimport com.pulumi.aws.secretsmanager.SecretPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .clusterName(\"example\")\n .clientAuthentication(ClusterClientAuthenticationArgs.builder()\n .sasl(ClusterClientAuthenticationSaslArgs.builder()\n .scram(true)\n .build())\n .build())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"Example Key for MSK Cluster Scram Secret Association\")\n .build());\n\n var exampleSecret = new Secret(\"exampleSecret\", SecretArgs.builder()\n .name(\"AmazonMSK_example\")\n .kmsKeyId(exampleKey.keyId())\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(exampleSecret.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"user\"),\n jsonProperty(\"password\", \"pass\")\n )))\n .build());\n\n var exampleScramSecretAssociation = new ScramSecretAssociation(\"exampleScramSecretAssociation\", ScramSecretAssociationArgs.builder()\n .clusterArn(exampleCluster.arn())\n .secretArnLists(exampleSecret.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleSecretVersion)\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSKafkaResourcePolicy\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"kafka.amazonaws.com\")\n .build())\n .actions(\"secretsmanager:getSecretValue\")\n .resources(exampleSecret.arn())\n .build())\n .build());\n\n var exampleSecretPolicy = new SecretPolicy(\"exampleSecretPolicy\", SecretPolicyArgs.builder()\n .secretArn(exampleSecret.arn())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleScramSecretAssociation:\n type: aws:msk:ScramSecretAssociation\n name: example\n properties:\n clusterArn: ${exampleCluster.arn}\n secretArnLists:\n - ${exampleSecret.arn}\n options:\n dependsOn:\n - ${exampleSecretVersion}\n exampleCluster:\n type: aws:msk:Cluster\n name: example\n properties:\n clusterName: example\n clientAuthentication:\n sasl:\n scram: true\n exampleSecret:\n type: aws:secretsmanager:Secret\n name: example\n properties:\n name: AmazonMSK_example\n kmsKeyId: ${exampleKey.keyId}\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: Example Key for MSK Cluster Scram Secret Association\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${exampleSecret.id}\n secretString:\n fn::toJSON:\n username: user\n password: pass\n exampleSecretPolicy:\n type: aws:secretsmanager:SecretPolicy\n name: example\n properties:\n secretArn: ${exampleSecret.arn}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: AWSKafkaResourcePolicy\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - kafka.amazonaws.com\n actions:\n - secretsmanager:getSecretValue\n resources:\n - ${exampleSecret.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK SCRAM Secret Associations using the `id`. For example:\n\n```sh\n$ pulumi import aws:msk/scramSecretAssociation:ScramSecretAssociation example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", + "description": "Associates SCRAM secrets stored in the Secrets Manager service with a Managed Streaming for Kafka (MSK) cluster.\n\n\u003e **Note:** The following assumes the MSK cluster has SASL/SCRAM authentication enabled. See below for example usage or refer to the [Username/Password Authentication](https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html) section of the MSK Developer Guide for more details.\n\nTo set up username and password authentication for a cluster, create an `aws.secretsmanager.Secret` resource and associate\na username and password with the secret with an `aws.secretsmanager.SecretVersion` resource. When creating a secret for the cluster,\nthe `name` must have the prefix `AmazonMSK_` and you must either use an existing custom AWS KMS key or create a new\ncustom AWS KMS key for your secret with the `aws.kms.Key` resource. It is important to note that a policy is required for the `aws.secretsmanager.Secret`\nresource in order for Kafka to be able to read it. This policy is attached automatically when the `aws.msk.ScramSecretAssociation` is used,\nhowever, this policy will not be in the state and as such, will present a diff on plan/apply. For that reason, you must use the `aws.secretsmanager.SecretPolicy`\nresource](/docs/providers/aws/r/secretsmanager_secret_policy.html) as shown below in order to ensure that the state is in a clean state after the creation of secret and the association to the cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCluster = new aws.msk.Cluster(\"example\", {\n clusterName: \"example\",\n clientAuthentication: {\n sasl: {\n scram: true,\n },\n },\n});\nconst exampleKey = new aws.kms.Key(\"example\", {description: \"Example Key for MSK Cluster Scram Secret Association\"});\nconst exampleSecret = new aws.secretsmanager.Secret(\"example\", {\n name: \"AmazonMSK_example\",\n kmsKeyId: exampleKey.keyId,\n});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: exampleSecret.id,\n secretString: JSON.stringify({\n username: \"user\",\n password: \"pass\",\n }),\n});\nconst exampleScramSecretAssociation = new aws.msk.ScramSecretAssociation(\"example\", {\n clusterArn: exampleCluster.arn,\n secretArnLists: [exampleSecret.arn],\n}, {\n dependsOn: [exampleSecretVersion],\n});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"AWSKafkaResourcePolicy\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"kafka.amazonaws.com\"],\n }],\n actions: [\"secretsmanager:getSecretValue\"],\n resources: [exampleSecret.arn],\n }],\n});\nconst exampleSecretPolicy = new aws.secretsmanager.SecretPolicy(\"example\", {\n secretArn: exampleSecret.arn,\n policy: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_cluster = aws.msk.Cluster(\"example\",\n cluster_name=\"example\",\n client_authentication={\n \"sasl\": {\n \"scram\": True,\n },\n })\nexample_key = aws.kms.Key(\"example\", description=\"Example Key for MSK Cluster Scram Secret Association\")\nexample_secret = aws.secretsmanager.Secret(\"example\",\n name=\"AmazonMSK_example\",\n kms_key_id=example_key.key_id)\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example_secret.id,\n secret_string=json.dumps({\n \"username\": \"user\",\n \"password\": \"pass\",\n }))\nexample_scram_secret_association = aws.msk.ScramSecretAssociation(\"example\",\n cluster_arn=example_cluster.arn,\n secret_arn_lists=[example_secret.arn],\n opts = pulumi.ResourceOptions(depends_on=[example_secret_version]))\nexample = aws.iam.get_policy_document_output(statements=[{\n \"sid\": \"AWSKafkaResourcePolicy\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"kafka.amazonaws.com\"],\n }],\n \"actions\": [\"secretsmanager:getSecretValue\"],\n \"resources\": [example_secret.arn],\n}])\nexample_secret_policy = aws.secretsmanager.SecretPolicy(\"example\",\n secret_arn=example_secret.arn,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCluster = new Aws.Msk.Cluster(\"example\", new()\n {\n ClusterName = \"example\",\n ClientAuthentication = new Aws.Msk.Inputs.ClusterClientAuthenticationArgs\n {\n Sasl = new Aws.Msk.Inputs.ClusterClientAuthenticationSaslArgs\n {\n Scram = true,\n },\n },\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example Key for MSK Cluster Scram Secret Association\",\n });\n\n var exampleSecret = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"AmazonMSK_example\",\n KmsKeyId = exampleKey.KeyId,\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = exampleSecret.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"user\",\n [\"password\"] = \"pass\",\n }),\n });\n\n var exampleScramSecretAssociation = new Aws.Msk.ScramSecretAssociation(\"example\", new()\n {\n ClusterArn = exampleCluster.Arn,\n SecretArnLists = new[]\n {\n exampleSecret.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleSecretVersion,\n },\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSKafkaResourcePolicy\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"kafka.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"secretsmanager:getSecretValue\",\n },\n Resources = new[]\n {\n exampleSecret.Arn,\n },\n },\n },\n });\n\n var exampleSecretPolicy = new Aws.SecretsManager.SecretPolicy(\"example\", new()\n {\n SecretArn = exampleSecret.Arn,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCluster, err := msk.NewCluster(ctx, \"example\", \u0026msk.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"example\"),\n\t\t\tClientAuthentication: \u0026msk.ClusterClientAuthenticationArgs{\n\t\t\t\tSasl: \u0026msk.ClusterClientAuthenticationSaslArgs{\n\t\t\t\t\tScram: pulumi.Bool(true),\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\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example Key for MSK Cluster Scram Secret Association\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecret, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"AmazonMSK_example\"),\n\t\t\tKmsKeyId: exampleKey.KeyId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"username\": \"user\",\n\t\t\t\"password\": \"pass\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleSecretVersion, err := secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: exampleSecret.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = msk.NewScramSecretAssociation(ctx, \"example\", \u0026msk.ScramSecretAssociationArgs{\n\t\t\tClusterArn: exampleCluster.Arn,\n\t\t\tSecretArnLists: pulumi.StringArray{\n\t\t\t\texampleSecret.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSecretVersion,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"AWSKafkaResourcePolicy\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"kafka.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secretsmanager:getSecretValue\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleSecret.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = secretsmanager.NewSecretPolicy(ctx, \"example\", \u0026secretsmanager.SecretPolicyArgs{\n\t\t\tSecretArn: exampleSecret.Arn,\n\t\t\tPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.Cluster;\nimport com.pulumi.aws.msk.ClusterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterClientAuthenticationArgs;\nimport com.pulumi.aws.msk.inputs.ClusterClientAuthenticationSaslArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.msk.ScramSecretAssociation;\nimport com.pulumi.aws.msk.ScramSecretAssociationArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.secretsmanager.SecretPolicy;\nimport com.pulumi.aws.secretsmanager.SecretPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .clusterName(\"example\")\n .clientAuthentication(ClusterClientAuthenticationArgs.builder()\n .sasl(ClusterClientAuthenticationSaslArgs.builder()\n .scram(true)\n .build())\n .build())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"Example Key for MSK Cluster Scram Secret Association\")\n .build());\n\n var exampleSecret = new Secret(\"exampleSecret\", SecretArgs.builder()\n .name(\"AmazonMSK_example\")\n .kmsKeyId(exampleKey.keyId())\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(exampleSecret.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"user\"),\n jsonProperty(\"password\", \"pass\")\n )))\n .build());\n\n var exampleScramSecretAssociation = new ScramSecretAssociation(\"exampleScramSecretAssociation\", ScramSecretAssociationArgs.builder()\n .clusterArn(exampleCluster.arn())\n .secretArnLists(exampleSecret.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleSecretVersion)\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSKafkaResourcePolicy\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"kafka.amazonaws.com\")\n .build())\n .actions(\"secretsmanager:getSecretValue\")\n .resources(exampleSecret.arn())\n .build())\n .build());\n\n var exampleSecretPolicy = new SecretPolicy(\"exampleSecretPolicy\", SecretPolicyArgs.builder()\n .secretArn(exampleSecret.arn())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleScramSecretAssociation:\n type: aws:msk:ScramSecretAssociation\n name: example\n properties:\n clusterArn: ${exampleCluster.arn}\n secretArnLists:\n - ${exampleSecret.arn}\n options:\n dependson:\n - ${exampleSecretVersion}\n exampleCluster:\n type: aws:msk:Cluster\n name: example\n properties:\n clusterName: example\n clientAuthentication:\n sasl:\n scram: true\n exampleSecret:\n type: aws:secretsmanager:Secret\n name: example\n properties:\n name: AmazonMSK_example\n kmsKeyId: ${exampleKey.keyId}\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: Example Key for MSK Cluster Scram Secret Association\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${exampleSecret.id}\n secretString:\n fn::toJSON:\n username: user\n password: pass\n exampleSecretPolicy:\n type: aws:secretsmanager:SecretPolicy\n name: example\n properties:\n secretArn: ${exampleSecret.arn}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AWSKafkaResourcePolicy\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - kafka.amazonaws.com\n actions:\n - secretsmanager:getSecretValue\n resources:\n - ${exampleSecret.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK SCRAM Secret Associations using the `id`. For example:\n\n```sh\n$ pulumi import aws:msk/scramSecretAssociation:ScramSecretAssociation example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", "properties": { "clusterArn": { "type": "string", @@ -310777,7 +310777,7 @@ } }, "aws:neptune/globalCluster:GlobalCluster": { - "description": "Manages a Neptune Global Cluster. A global cluster consists of one primary region and up to five read-only secondary regions. You issue write operations directly to the primary cluster in the primary region and Amazon Neptune automatically replicates the data to the secondary regions using dedicated infrastructure.\n\nMore information about Neptune Global Clusters can be found in the [Neptune User Guide](https://docs.aws.amazon.com/neptune/latest/userguide/neptune-global-database.html).\n\n## Example Usage\n\n### New Neptune Global Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.neptune.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"global-test\",\n engine: \"neptune\",\n engineVersion: \"1.2.0.0\",\n});\nconst primary = new aws.neptune.Cluster(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-primary-cluster\",\n globalClusterIdentifier: example.id,\n neptuneSubnetGroupName: \"default\",\n});\nconst primaryClusterInstance = new aws.neptune.ClusterInstance(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-primary-cluster-instance\",\n clusterIdentifier: primary.id,\n instanceClass: \"db.r5.large\",\n neptuneSubnetGroupName: \"default\",\n});\nconst secondary = new aws.neptune.Cluster(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-secondary-cluster\",\n globalClusterIdentifier: example.id,\n neptuneSubnetGroupName: \"default\",\n});\nconst secondaryClusterInstance = new aws.neptune.ClusterInstance(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-secondary-cluster-instance\",\n clusterIdentifier: secondary.id,\n instanceClass: \"db.r5.large\",\n neptuneSubnetGroupName: \"default\",\n}, {\n dependsOn: [primaryClusterInstance],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.neptune.GlobalCluster(\"example\",\n global_cluster_identifier=\"global-test\",\n engine=\"neptune\",\n engine_version=\"1.2.0.0\")\nprimary = aws.neptune.Cluster(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-primary-cluster\",\n global_cluster_identifier=example.id,\n neptune_subnet_group_name=\"default\")\nprimary_cluster_instance = aws.neptune.ClusterInstance(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-primary-cluster-instance\",\n cluster_identifier=primary.id,\n instance_class=\"db.r5.large\",\n neptune_subnet_group_name=\"default\")\nsecondary = aws.neptune.Cluster(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-secondary-cluster\",\n global_cluster_identifier=example.id,\n neptune_subnet_group_name=\"default\")\nsecondary_cluster_instance = aws.neptune.ClusterInstance(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-secondary-cluster-instance\",\n cluster_identifier=secondary.id,\n instance_class=\"db.r5.large\",\n neptune_subnet_group_name=\"default\",\n opts = pulumi.ResourceOptions(depends_on=[primary_cluster_instance]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Neptune.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"global-test\",\n Engine = \"neptune\",\n EngineVersion = \"1.2.0.0\",\n });\n\n var primary = new Aws.Neptune.Cluster(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-primary-cluster\",\n GlobalClusterIdentifier = example.Id,\n NeptuneSubnetGroupName = \"default\",\n });\n\n var primaryClusterInstance = new Aws.Neptune.ClusterInstance(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-primary-cluster-instance\",\n ClusterIdentifier = primary.Id,\n InstanceClass = \"db.r5.large\",\n NeptuneSubnetGroupName = \"default\",\n });\n\n var secondary = new Aws.Neptune.Cluster(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-secondary-cluster\",\n GlobalClusterIdentifier = example.Id,\n NeptuneSubnetGroupName = \"default\",\n });\n\n var secondaryClusterInstance = new Aws.Neptune.ClusterInstance(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-secondary-cluster-instance\",\n ClusterIdentifier = secondary.Id,\n InstanceClass = \"db.r5.large\",\n NeptuneSubnetGroupName = \"default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryClusterInstance,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := neptune.NewGlobalCluster(ctx, \"example\", \u0026neptune.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"global-test\"),\n\t\t\tEngine: pulumi.String(\"neptune\"),\n\t\t\tEngineVersion: pulumi.String(\"1.2.0.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := neptune.NewCluster(ctx, \"primary\", \u0026neptune.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-primary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tNeptuneSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryClusterInstance, err := neptune.NewClusterInstance(ctx, \"primary\", \u0026neptune.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-primary-cluster-instance\"),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.r5.large\"),\n\t\t\tNeptuneSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := neptune.NewCluster(ctx, \"secondary\", \u0026neptune.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-secondary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tNeptuneSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = neptune.NewClusterInstance(ctx, \"secondary\", \u0026neptune.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-secondary-cluster-instance\"),\n\t\t\tClusterIdentifier: secondary.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.r5.large\"),\n\t\t\tNeptuneSubnetGroupName: pulumi.String(\"default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryClusterInstance,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.neptune.GlobalCluster;\nimport com.pulumi.aws.neptune.GlobalClusterArgs;\nimport com.pulumi.aws.neptune.Cluster;\nimport com.pulumi.aws.neptune.ClusterArgs;\nimport com.pulumi.aws.neptune.ClusterInstance;\nimport com.pulumi.aws.neptune.ClusterInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalCluster(\"example\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"global-test\")\n .engine(\"neptune\")\n .engineVersion(\"1.2.0.0\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-primary-cluster\")\n .globalClusterIdentifier(example.id())\n .neptuneSubnetGroupName(\"default\")\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-primary-cluster-instance\")\n .clusterIdentifier(primary.id())\n .instanceClass(\"db.r5.large\")\n .neptuneSubnetGroupName(\"default\")\n .build());\n\n var secondary = new Cluster(\"secondary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-secondary-cluster\")\n .globalClusterIdentifier(example.id())\n .neptuneSubnetGroupName(\"default\")\n .build());\n\n var secondaryClusterInstance = new ClusterInstance(\"secondaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-secondary-cluster-instance\")\n .clusterIdentifier(secondary.id())\n .instanceClass(\"db.r5.large\")\n .neptuneSubnetGroupName(\"default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryClusterInstance)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:neptune:GlobalCluster\n properties:\n globalClusterIdentifier: global-test\n engine: neptune\n engineVersion: 1.2.0.0\n primary:\n type: aws:neptune:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-primary-cluster\n globalClusterIdentifier: ${example.id}\n neptuneSubnetGroupName: default\n primaryClusterInstance:\n type: aws:neptune:ClusterInstance\n name: primary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-primary-cluster-instance\n clusterIdentifier: ${primary.id}\n instanceClass: db.r5.large\n neptuneSubnetGroupName: default\n secondary:\n type: aws:neptune:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-secondary-cluster\n globalClusterIdentifier: ${example.id}\n neptuneSubnetGroupName: default\n secondaryClusterInstance:\n type: aws:neptune:ClusterInstance\n name: secondary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-secondary-cluster-instance\n clusterIdentifier: ${secondary.id}\n instanceClass: db.r5.large\n neptuneSubnetGroupName: default\n options:\n dependsOn:\n - ${primaryClusterInstance}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### New Global Cluster From Existing DB Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.neptune.Cluster(\"example\", {});\nconst exampleGlobalCluster = new aws.neptune.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.neptune.Cluster(\"example\")\nexample_global_cluster = aws.neptune.GlobalCluster(\"example\",\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Neptune.Cluster(\"example\");\n\n var exampleGlobalCluster = new Aws.Neptune.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := neptune.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = neptune.NewGlobalCluster(ctx, \"example\", \u0026neptune.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: example.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.neptune.Cluster;\nimport com.pulumi.aws.neptune.GlobalCluster;\nimport com.pulumi.aws.neptune.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\");\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:neptune:Cluster\n exampleGlobalCluster:\n type: aws:neptune:GlobalCluster\n name: example\n properties:\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_neptune_global_cluster` using the Global Cluster identifier. For example:\n\n```sh\n$ pulumi import aws:neptune/globalCluster:GlobalCluster example example\n```\nCertain resource arguments, like `source_db_cluster_identifier`, do not have an API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", + "description": "Manages a Neptune Global Cluster. A global cluster consists of one primary region and up to five read-only secondary regions. You issue write operations directly to the primary cluster in the primary region and Amazon Neptune automatically replicates the data to the secondary regions using dedicated infrastructure.\n\nMore information about Neptune Global Clusters can be found in the [Neptune User Guide](https://docs.aws.amazon.com/neptune/latest/userguide/neptune-global-database.html).\n\n## Example Usage\n\n### New Neptune Global Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.neptune.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"global-test\",\n engine: \"neptune\",\n engineVersion: \"1.2.0.0\",\n});\nconst primary = new aws.neptune.Cluster(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-primary-cluster\",\n globalClusterIdentifier: example.id,\n neptuneSubnetGroupName: \"default\",\n});\nconst primaryClusterInstance = new aws.neptune.ClusterInstance(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-primary-cluster-instance\",\n clusterIdentifier: primary.id,\n instanceClass: \"db.r5.large\",\n neptuneSubnetGroupName: \"default\",\n});\nconst secondary = new aws.neptune.Cluster(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-secondary-cluster\",\n globalClusterIdentifier: example.id,\n neptuneSubnetGroupName: \"default\",\n});\nconst secondaryClusterInstance = new aws.neptune.ClusterInstance(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-secondary-cluster-instance\",\n clusterIdentifier: secondary.id,\n instanceClass: \"db.r5.large\",\n neptuneSubnetGroupName: \"default\",\n}, {\n dependsOn: [primaryClusterInstance],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.neptune.GlobalCluster(\"example\",\n global_cluster_identifier=\"global-test\",\n engine=\"neptune\",\n engine_version=\"1.2.0.0\")\nprimary = aws.neptune.Cluster(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-primary-cluster\",\n global_cluster_identifier=example.id,\n neptune_subnet_group_name=\"default\")\nprimary_cluster_instance = aws.neptune.ClusterInstance(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-primary-cluster-instance\",\n cluster_identifier=primary.id,\n instance_class=\"db.r5.large\",\n neptune_subnet_group_name=\"default\")\nsecondary = aws.neptune.Cluster(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-secondary-cluster\",\n global_cluster_identifier=example.id,\n neptune_subnet_group_name=\"default\")\nsecondary_cluster_instance = aws.neptune.ClusterInstance(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-secondary-cluster-instance\",\n cluster_identifier=secondary.id,\n instance_class=\"db.r5.large\",\n neptune_subnet_group_name=\"default\",\n opts = pulumi.ResourceOptions(depends_on=[primary_cluster_instance]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Neptune.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"global-test\",\n Engine = \"neptune\",\n EngineVersion = \"1.2.0.0\",\n });\n\n var primary = new Aws.Neptune.Cluster(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-primary-cluster\",\n GlobalClusterIdentifier = example.Id,\n NeptuneSubnetGroupName = \"default\",\n });\n\n var primaryClusterInstance = new Aws.Neptune.ClusterInstance(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-primary-cluster-instance\",\n ClusterIdentifier = primary.Id,\n InstanceClass = \"db.r5.large\",\n NeptuneSubnetGroupName = \"default\",\n });\n\n var secondary = new Aws.Neptune.Cluster(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-secondary-cluster\",\n GlobalClusterIdentifier = example.Id,\n NeptuneSubnetGroupName = \"default\",\n });\n\n var secondaryClusterInstance = new Aws.Neptune.ClusterInstance(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-secondary-cluster-instance\",\n ClusterIdentifier = secondary.Id,\n InstanceClass = \"db.r5.large\",\n NeptuneSubnetGroupName = \"default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryClusterInstance,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := neptune.NewGlobalCluster(ctx, \"example\", \u0026neptune.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"global-test\"),\n\t\t\tEngine: pulumi.String(\"neptune\"),\n\t\t\tEngineVersion: pulumi.String(\"1.2.0.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := neptune.NewCluster(ctx, \"primary\", \u0026neptune.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-primary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tNeptuneSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryClusterInstance, err := neptune.NewClusterInstance(ctx, \"primary\", \u0026neptune.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-primary-cluster-instance\"),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.r5.large\"),\n\t\t\tNeptuneSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := neptune.NewCluster(ctx, \"secondary\", \u0026neptune.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-secondary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tNeptuneSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = neptune.NewClusterInstance(ctx, \"secondary\", \u0026neptune.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-secondary-cluster-instance\"),\n\t\t\tClusterIdentifier: secondary.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.r5.large\"),\n\t\t\tNeptuneSubnetGroupName: pulumi.String(\"default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryClusterInstance,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.neptune.GlobalCluster;\nimport com.pulumi.aws.neptune.GlobalClusterArgs;\nimport com.pulumi.aws.neptune.Cluster;\nimport com.pulumi.aws.neptune.ClusterArgs;\nimport com.pulumi.aws.neptune.ClusterInstance;\nimport com.pulumi.aws.neptune.ClusterInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalCluster(\"example\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"global-test\")\n .engine(\"neptune\")\n .engineVersion(\"1.2.0.0\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-primary-cluster\")\n .globalClusterIdentifier(example.id())\n .neptuneSubnetGroupName(\"default\")\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-primary-cluster-instance\")\n .clusterIdentifier(primary.id())\n .instanceClass(\"db.r5.large\")\n .neptuneSubnetGroupName(\"default\")\n .build());\n\n var secondary = new Cluster(\"secondary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-secondary-cluster\")\n .globalClusterIdentifier(example.id())\n .neptuneSubnetGroupName(\"default\")\n .build());\n\n var secondaryClusterInstance = new ClusterInstance(\"secondaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-secondary-cluster-instance\")\n .clusterIdentifier(secondary.id())\n .instanceClass(\"db.r5.large\")\n .neptuneSubnetGroupName(\"default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryClusterInstance)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:neptune:GlobalCluster\n properties:\n globalClusterIdentifier: global-test\n engine: neptune\n engineVersion: 1.2.0.0\n primary:\n type: aws:neptune:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-primary-cluster\n globalClusterIdentifier: ${example.id}\n neptuneSubnetGroupName: default\n primaryClusterInstance:\n type: aws:neptune:ClusterInstance\n name: primary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-primary-cluster-instance\n clusterIdentifier: ${primary.id}\n instanceClass: db.r5.large\n neptuneSubnetGroupName: default\n secondary:\n type: aws:neptune:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-secondary-cluster\n globalClusterIdentifier: ${example.id}\n neptuneSubnetGroupName: default\n secondaryClusterInstance:\n type: aws:neptune:ClusterInstance\n name: secondary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-secondary-cluster-instance\n clusterIdentifier: ${secondary.id}\n instanceClass: db.r5.large\n neptuneSubnetGroupName: default\n options:\n dependson:\n - ${primaryClusterInstance}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### New Global Cluster From Existing DB Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.neptune.Cluster(\"example\", {});\nconst exampleGlobalCluster = new aws.neptune.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.neptune.Cluster(\"example\")\nexample_global_cluster = aws.neptune.GlobalCluster(\"example\",\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Neptune.Cluster(\"example\");\n\n var exampleGlobalCluster = new Aws.Neptune.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := neptune.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = neptune.NewGlobalCluster(ctx, \"example\", \u0026neptune.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: example.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.neptune.Cluster;\nimport com.pulumi.aws.neptune.GlobalCluster;\nimport com.pulumi.aws.neptune.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\");\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:neptune:Cluster\n exampleGlobalCluster:\n type: aws:neptune:GlobalCluster\n name: example\n properties:\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_neptune_global_cluster` using the Global Cluster identifier. For example:\n\n```sh\n$ pulumi import aws:neptune/globalCluster:GlobalCluster example example\n```\nCertain resource arguments, like `source_db_cluster_identifier`, do not have an API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", "properties": { "arn": { "type": "string", @@ -311664,7 +311664,7 @@ } }, "aws:networkfirewall/ruleGroup:RuleGroup": { - "description": "Provides an AWS Network Firewall Rule Group Resource\n\n## Example Usage\n\n### Stateful Inspection for denying access to a domain\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n rulesSource: {\n rulesSourceList: {\n generatedRulesType: \"DENYLIST\",\n targetTypes: [\"HTTP_HOST\"],\n targets: [\"test.example.com\"],\n },\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rule_group={\n \"rules_source\": {\n \"rules_source_list\": {\n \"generated_rules_type\": \"DENYLIST\",\n \"target_types\": [\"HTTP_HOST\"],\n \"targets\": [\"test.example.com\"],\n },\n },\n },\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n RulesSourceList = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceRulesSourceListArgs\n {\n GeneratedRulesType = \"DENYLIST\",\n TargetTypes = new[]\n {\n \"HTTP_HOST\",\n },\n Targets = new[]\n {\n \"test.example.com\",\n },\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tRulesSourceList: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceRulesSourceListArgs{\n\t\t\t\t\t\tGeneratedRulesType: pulumi.String(\"DENYLIST\"),\n\t\t\t\t\t\tTargetTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"HTTP_HOST\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTargets: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"test.example.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceRulesSourceListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RuleGroup(\"example\", RuleGroupArgs.builder()\n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .rulesSourceList(RuleGroupRuleGroupRulesSourceRulesSourceListArgs.builder()\n .generatedRulesType(\"DENYLIST\")\n .targetTypes(\"HTTP_HOST\")\n .targets(\"test.example.com\")\n .build())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n ruleGroup:\n rulesSource:\n rulesSourceList:\n generatedRulesType: DENYLIST\n targetTypes:\n - HTTP_HOST\n targets:\n - test.example.com\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateful Inspection for permitting packets from a source IP address\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ips = [\n \"1.1.1.1/32\",\n \"1.0.0.1/32\",\n];\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 50,\n description: \"Permits http traffic from source\",\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n rulesSource: {\n statefulRules: ips.map((v, k) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n action: \"PASS\",\n header: {\n destination: \"ANY\",\n destinationPort: \"ANY\",\n protocol: \"HTTP\",\n direction: \"ANY\",\n sourcePort: \"ANY\",\n source: entry.value,\n },\n ruleOptions: [{\n keyword: \"sid\",\n settings: [\"1\"],\n }],\n })),\n },\n },\n tags: {\n Name: \"permit HTTP from source\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nips = [\n \"1.1.1.1/32\",\n \"1.0.0.1/32\",\n]\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=50,\n description=\"Permits http traffic from source\",\n name=\"example\",\n type=\"STATEFUL\",\n rule_group={\n \"rules_source\": {\n \"stateful_rules\": [{\n \"action\": \"PASS\",\n \"header\": {\n \"destination\": \"ANY\",\n \"destination_port\": \"ANY\",\n \"protocol\": \"HTTP\",\n \"direction\": \"ANY\",\n \"source_port\": \"ANY\",\n \"source\": entry[\"value\"],\n },\n \"rule_options\": [{\n \"keyword\": \"sid\",\n \"settings\": [\"1\"],\n }],\n } for entry in [{\"key\": k, \"value\": v} for k, v in ips]],\n },\n },\n tags={\n \"Name\": \"permit HTTP from source\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ips = new[]\n {\n \"1.1.1.1/32\",\n \"1.0.0.1/32\",\n };\n\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 50,\n Description = \"Permits http traffic from source\",\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n StatefulRules = ips.Select((v, k) =\u003e new { Key = k, Value = v }).Select(entry =\u003e \n {\n return new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleArgs\n {\n Action = \"PASS\",\n Header = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs\n {\n Destination = \"ANY\",\n DestinationPort = \"ANY\",\n Protocol = \"HTTP\",\n Direction = \"ANY\",\n SourcePort = \"ANY\",\n Source = entry.Value,\n },\n RuleOptions = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs\n {\n Keyword = \"sid\",\n Settings = new[]\n {\n \"1\",\n },\n },\n },\n };\n }).ToList(),\n },\n },\n Tags = \n {\n { \"Name\", \"permit HTTP from source\" },\n },\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateful Inspection for blocking packets from going to an intended destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n rulesSource: {\n statefulRules: [{\n action: \"DROP\",\n header: {\n destination: \"124.1.1.24/32\",\n destinationPort: \"53\",\n direction: \"ANY\",\n protocol: \"TCP\",\n source: \"1.2.3.4/32\",\n sourcePort: \"53\",\n },\n ruleOptions: [{\n keyword: \"sid\",\n settings: [\"1\"],\n }],\n }],\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rule_group={\n \"rules_source\": {\n \"stateful_rules\": [{\n \"action\": \"DROP\",\n \"header\": {\n \"destination\": \"124.1.1.24/32\",\n \"destination_port\": \"53\",\n \"direction\": \"ANY\",\n \"protocol\": \"TCP\",\n \"source\": \"1.2.3.4/32\",\n \"source_port\": \"53\",\n },\n \"rule_options\": [{\n \"keyword\": \"sid\",\n \"settings\": [\"1\"],\n }],\n }],\n },\n },\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n StatefulRules = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleArgs\n {\n Action = \"DROP\",\n Header = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs\n {\n Destination = \"124.1.1.24/32\",\n DestinationPort = \"53\",\n Direction = \"ANY\",\n Protocol = \"TCP\",\n Source = \"1.2.3.4/32\",\n SourcePort = \"53\",\n },\n RuleOptions = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs\n {\n Keyword = \"sid\",\n Settings = new[]\n {\n \"1\",\n },\n },\n },\n },\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tStatefulRules: networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleArray{\n\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleArgs{\n\t\t\t\t\t\t\tAction: pulumi.String(\"DROP\"),\n\t\t\t\t\t\t\tHeader: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs{\n\t\t\t\t\t\t\t\tDestination: pulumi.String(\"124.1.1.24/32\"),\n\t\t\t\t\t\t\t\tDestinationPort: pulumi.String(\"53\"),\n\t\t\t\t\t\t\t\tDirection: pulumi.String(\"ANY\"),\n\t\t\t\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\t\t\t\tSource: pulumi.String(\"1.2.3.4/32\"),\n\t\t\t\t\t\t\t\tSourcePort: pulumi.String(\"53\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tRuleOptions: networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArray{\n\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs{\n\t\t\t\t\t\t\t\t\tKeyword: pulumi.String(\"sid\"),\n\t\t\t\t\t\t\t\t\tSettings: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RuleGroup(\"example\", RuleGroupArgs.builder()\n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .statefulRules(RuleGroupRuleGroupRulesSourceStatefulRuleArgs.builder()\n .action(\"DROP\")\n .header(RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs.builder()\n .destination(\"124.1.1.24/32\")\n .destinationPort(53)\n .direction(\"ANY\")\n .protocol(\"TCP\")\n .source(\"1.2.3.4/32\")\n .sourcePort(53)\n .build())\n .ruleOptions(RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs.builder()\n .keyword(\"sid\")\n .settings(\"1\")\n .build())\n .build())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n ruleGroup:\n rulesSource:\n statefulRules:\n - action: DROP\n header:\n destination: 124.1.1.24/32\n destinationPort: 53\n direction: ANY\n protocol: TCP\n source: 1.2.3.4/32\n sourcePort: 53\n ruleOptions:\n - keyword: sid\n settings:\n - '1'\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateful Inspection from rules specifications defined in Suricata flat format\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n rules: std.file({\n input: \"example.rules\",\n }).then(invoke =\u003e invoke.result),\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rules=std.file(input=\"example.rules\").result,\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n Rules = Std.File.Invoke(new()\n {\n Input = \"example.rules\",\n }).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"example.rules\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRules: pulumi.String(invokeFile.Result),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RuleGroup(\"example\", RuleGroupArgs.builder()\n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .rules(StdFunctions.file(FileArgs.builder()\n .input(\"example.rules\")\n .build()).result())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n rules:\n fn::invoke:\n function: std:file\n arguments:\n input: example.rules\n return: result\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateful Inspection from rule group specifications using rule variables and Suricata format rules\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n ruleVariables: {\n ipSets: [\n {\n key: \"WEBSERVERS_HOSTS\",\n ipSet: {\n definitions: [\n \"10.0.0.0/16\",\n \"10.0.1.0/24\",\n \"192.168.0.0/16\",\n ],\n },\n },\n {\n key: \"EXTERNAL_HOST\",\n ipSet: {\n definitions: [\"1.2.3.4/32\"],\n },\n },\n ],\n portSets: [{\n key: \"HTTP_PORTS\",\n portSet: {\n definitions: [\n \"443\",\n \"80\",\n ],\n },\n }],\n },\n rulesSource: {\n rulesString: std.file({\n input: \"suricata_rules_file\",\n }).then(invoke =\u003e invoke.result),\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rule_group={\n \"rule_variables\": {\n \"ip_sets\": [\n {\n \"key\": \"WEBSERVERS_HOSTS\",\n \"ip_set\": {\n \"definitions\": [\n \"10.0.0.0/16\",\n \"10.0.1.0/24\",\n \"192.168.0.0/16\",\n ],\n },\n },\n {\n \"key\": \"EXTERNAL_HOST\",\n \"ip_set\": {\n \"definitions\": [\"1.2.3.4/32\"],\n },\n },\n ],\n \"port_sets\": [{\n \"key\": \"HTTP_PORTS\",\n \"port_set\": {\n \"definitions\": [\n \"443\",\n \"80\",\n ],\n },\n }],\n },\n \"rules_source\": {\n \"rules_string\": std.file(input=\"suricata_rules_file\").result,\n },\n },\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RuleVariables = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesArgs\n {\n IpSets = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesIpSetArgs\n {\n Key = \"WEBSERVERS_HOSTS\",\n IpSet = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs\n {\n Definitions = new[]\n {\n \"10.0.0.0/16\",\n \"10.0.1.0/24\",\n \"192.168.0.0/16\",\n },\n },\n },\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesIpSetArgs\n {\n Key = \"EXTERNAL_HOST\",\n IpSet = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs\n {\n Definitions = new[]\n {\n \"1.2.3.4/32\",\n },\n },\n },\n },\n PortSets = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesPortSetArgs\n {\n Key = \"HTTP_PORTS\",\n PortSet = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesPortSetPortSetArgs\n {\n Definitions = new[]\n {\n \"443\",\n \"80\",\n },\n },\n },\n },\n },\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n RulesString = Std.File.Invoke(new()\n {\n Input = \"suricata_rules_file\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"suricata_rules_file\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRuleVariables: \u0026networkfirewall.RuleGroupRuleGroupRuleVariablesArgs{\n\t\t\t\t\tIpSets: networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetArray{\n\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"WEBSERVERS_HOSTS\"),\n\t\t\t\t\t\t\tIpSet: \u0026networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs{\n\t\t\t\t\t\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"EXTERNAL_HOST\"),\n\t\t\t\t\t\t\tIpSet: \u0026networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs{\n\t\t\t\t\t\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"1.2.3.4/32\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPortSets: networkfirewall.RuleGroupRuleGroupRuleVariablesPortSetArray{\n\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRuleVariablesPortSetArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"HTTP_PORTS\"),\n\t\t\t\t\t\t\tPortSet: \u0026networkfirewall.RuleGroupRuleGroupRuleVariablesPortSetPortSetArgs{\n\t\t\t\t\t\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"443\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"80\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tRulesString: pulumi.String(invokeFile.Result),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRuleVariablesArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RuleGroup(\"example\", RuleGroupArgs.builder()\n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .ruleVariables(RuleGroupRuleGroupRuleVariablesArgs.builder()\n .ipSets( \n RuleGroupRuleGroupRuleVariablesIpSetArgs.builder()\n .key(\"WEBSERVERS_HOSTS\")\n .ipSet(RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs.builder()\n .definitions( \n \"10.0.0.0/16\",\n \"10.0.1.0/24\",\n \"192.168.0.0/16\")\n .build())\n .build(),\n RuleGroupRuleGroupRuleVariablesIpSetArgs.builder()\n .key(\"EXTERNAL_HOST\")\n .ipSet(RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs.builder()\n .definitions(\"1.2.3.4/32\")\n .build())\n .build())\n .portSets(RuleGroupRuleGroupRuleVariablesPortSetArgs.builder()\n .key(\"HTTP_PORTS\")\n .portSet(RuleGroupRuleGroupRuleVariablesPortSetPortSetArgs.builder()\n .definitions( \n \"443\",\n \"80\")\n .build())\n .build())\n .build())\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .rulesString(StdFunctions.file(FileArgs.builder()\n .input(\"suricata_rules_file\")\n .build()).result())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n ruleGroup:\n ruleVariables:\n ipSets:\n - key: WEBSERVERS_HOSTS\n ipSet:\n definitions:\n - 10.0.0.0/16\n - 10.0.1.0/24\n - 192.168.0.0/16\n - key: EXTERNAL_HOST\n ipSet:\n definitions:\n - 1.2.3.4/32\n portSets:\n - key: HTTP_PORTS\n portSet:\n definitions:\n - '443'\n - '80'\n rulesSource:\n rulesString:\n fn::invoke:\n function: std:file\n arguments:\n input: suricata_rules_file\n return: result\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateless Inspection with a Custom Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n description: \"Stateless Rate Limiting Rule\",\n capacity: 100,\n name: \"example\",\n type: \"STATELESS\",\n ruleGroup: {\n rulesSource: {\n statelessRulesAndCustomActions: {\n customActions: [{\n actionDefinition: {\n publishMetricAction: {\n dimensions: [{\n value: \"2\",\n }],\n },\n },\n actionName: \"ExampleMetricsAction\",\n }],\n statelessRules: [{\n priority: 1,\n ruleDefinition: {\n actions: [\n \"aws:pass\",\n \"ExampleMetricsAction\",\n ],\n matchAttributes: {\n sources: [{\n addressDefinition: \"1.2.3.4/32\",\n }],\n sourcePorts: [{\n fromPort: 443,\n toPort: 443,\n }],\n destinations: [{\n addressDefinition: \"124.1.1.5/32\",\n }],\n destinationPorts: [{\n fromPort: 443,\n toPort: 443,\n }],\n protocols: [6],\n tcpFlags: [{\n flags: [\"SYN\"],\n masks: [\n \"SYN\",\n \"ACK\",\n ],\n }],\n },\n },\n }],\n },\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n description=\"Stateless Rate Limiting Rule\",\n capacity=100,\n name=\"example\",\n type=\"STATELESS\",\n rule_group={\n \"rules_source\": {\n \"stateless_rules_and_custom_actions\": {\n \"custom_actions\": [{\n \"action_definition\": {\n \"publish_metric_action\": {\n \"dimensions\": [{\n \"value\": \"2\",\n }],\n },\n },\n \"action_name\": \"ExampleMetricsAction\",\n }],\n \"stateless_rules\": [{\n \"priority\": 1,\n \"rule_definition\": {\n \"actions\": [\n \"aws:pass\",\n \"ExampleMetricsAction\",\n ],\n \"match_attributes\": {\n \"sources\": [{\n \"address_definition\": \"1.2.3.4/32\",\n }],\n \"source_ports\": [{\n \"from_port\": 443,\n \"to_port\": 443,\n }],\n \"destinations\": [{\n \"address_definition\": \"124.1.1.5/32\",\n }],\n \"destination_ports\": [{\n \"from_port\": 443,\n \"to_port\": 443,\n }],\n \"protocols\": [6],\n \"tcp_flags\": [{\n \"flags\": [\"SYN\"],\n \"masks\": [\n \"SYN\",\n \"ACK\",\n ],\n }],\n },\n },\n }],\n },\n },\n },\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Description = \"Stateless Rate Limiting Rule\",\n Capacity = 100,\n Name = \"example\",\n Type = \"STATELESS\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n StatelessRulesAndCustomActions = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsArgs\n {\n CustomActions = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionArgs\n {\n ActionDefinition = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionArgs\n {\n PublishMetricAction = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionArgs\n {\n Dimensions = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionDimensionArgs\n {\n Value = \"2\",\n },\n },\n },\n },\n ActionName = \"ExampleMetricsAction\",\n },\n },\n StatelessRules = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleArgs\n {\n Priority = 1,\n RuleDefinition = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionArgs\n {\n Actions = new[]\n {\n \"aws:pass\",\n \"ExampleMetricsAction\",\n },\n MatchAttributes = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesArgs\n {\n Sources = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourceArgs\n {\n AddressDefinition = \"1.2.3.4/32\",\n },\n },\n SourcePorts = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourcePortArgs\n {\n FromPort = 443,\n ToPort = 443,\n },\n },\n Destinations = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationArgs\n {\n AddressDefinition = \"124.1.1.5/32\",\n },\n },\n DestinationPorts = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationPortArgs\n {\n FromPort = 443,\n ToPort = 443,\n },\n },\n Protocols = new[]\n {\n 6,\n },\n TcpFlags = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesTcpFlagArgs\n {\n Flags = new[]\n {\n \"SYN\",\n },\n Masks = new[]\n {\n \"SYN\",\n \"ACK\",\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tDescription: pulumi.String(\"Stateless Rate Limiting Rule\"),\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATELESS\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tStatelessRulesAndCustomActions: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsArgs{\n\t\t\t\t\t\tCustomActions: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionArray{\n\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionArgs{\n\t\t\t\t\t\t\t\tActionDefinition: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionArgs{\n\t\t\t\t\t\t\t\t\tPublishMetricAction: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionArgs{\n\t\t\t\t\t\t\t\t\t\tDimensions: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionDimensionArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionDimensionArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"2\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tActionName: pulumi.String(\"ExampleMetricsAction\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStatelessRules: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleArray{\n\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleArgs{\n\t\t\t\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\t\t\t\tRuleDefinition: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionArgs{\n\t\t\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"aws:pass\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"ExampleMetricsAction\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tMatchAttributes: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesArgs{\n\t\t\t\t\t\t\t\t\t\tSources: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourceArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourceArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tAddressDefinition: pulumi.String(\"1.2.3.4/32\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tSourcePorts: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourcePortArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourcePortArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tFromPort: pulumi.Int(443),\n\t\t\t\t\t\t\t\t\t\t\t\tToPort: pulumi.Int(443),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tDestinations: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tAddressDefinition: pulumi.String(\"124.1.1.5/32\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tDestinationPorts: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationPortArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationPortArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tFromPort: pulumi.Int(443),\n\t\t\t\t\t\t\t\t\t\t\t\tToPort: pulumi.Int(443),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tProtocols: pulumi.IntArray{\n\t\t\t\t\t\t\t\t\t\t\tpulumi.Int(6),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tTcpFlags: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesTcpFlagArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesTcpFlagArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tFlags: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"SYN\"),\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tMasks: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"SYN\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"ACK\"),\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RuleGroup(\"example\", RuleGroupArgs.builder()\n .description(\"Stateless Rate Limiting Rule\")\n .capacity(100)\n .name(\"example\")\n .type(\"STATELESS\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .statelessRulesAndCustomActions(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsArgs.builder()\n .customActions(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionArgs.builder()\n .actionDefinition(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionArgs.builder()\n .publishMetricAction(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionArgs.builder()\n .dimensions(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionDimensionArgs.builder()\n .value(\"2\")\n .build())\n .build())\n .build())\n .actionName(\"ExampleMetricsAction\")\n .build())\n .statelessRules(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleArgs.builder()\n .priority(1)\n .ruleDefinition(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionArgs.builder()\n .actions( \n \"aws:pass\",\n \"ExampleMetricsAction\")\n .matchAttributes(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesArgs.builder()\n .sources(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourceArgs.builder()\n .addressDefinition(\"1.2.3.4/32\")\n .build())\n .sourcePorts(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourcePortArgs.builder()\n .fromPort(443)\n .toPort(443)\n .build())\n .destinations(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationArgs.builder()\n .addressDefinition(\"124.1.1.5/32\")\n .build())\n .destinationPorts(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationPortArgs.builder()\n .fromPort(443)\n .toPort(443)\n .build())\n .protocols(6)\n .tcpFlags(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesTcpFlagArgs.builder()\n .flags(\"SYN\")\n .masks( \n \"SYN\",\n \"ACK\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n description: Stateless Rate Limiting Rule\n capacity: 100\n name: example\n type: STATELESS\n ruleGroup:\n rulesSource:\n statelessRulesAndCustomActions:\n customActions:\n - actionDefinition:\n publishMetricAction:\n dimensions:\n - value: '2'\n actionName: ExampleMetricsAction\n statelessRules:\n - priority: 1\n ruleDefinition:\n actions:\n - aws:pass\n - ExampleMetricsAction\n matchAttributes:\n sources:\n - addressDefinition: 1.2.3.4/32\n sourcePorts:\n - fromPort: 443\n toPort: 443\n destinations:\n - addressDefinition: 124.1.1.5/32\n destinationPorts:\n - fromPort: 443\n toPort: 443\n protocols:\n - 6\n tcpFlags:\n - flags:\n - SYN\n masks:\n - SYN\n - ACK\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### IP Set References to the Rule Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n rulesSource: {\n rulesSourceList: {\n generatedRulesType: \"DENYLIST\",\n targetTypes: [\"HTTP_HOST\"],\n targets: [\"test.example.com\"],\n },\n },\n referenceSets: {\n ipSetReferences: [{\n key: \"example\",\n ipSetReferences: [{\n referenceArn: _this.arn,\n }],\n }],\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rule_group={\n \"rules_source\": {\n \"rules_source_list\": {\n \"generated_rules_type\": \"DENYLIST\",\n \"target_types\": [\"HTTP_HOST\"],\n \"targets\": [\"test.example.com\"],\n },\n },\n \"reference_sets\": {\n \"ip_set_references\": [{\n \"key\": \"example\",\n \"ip_set_references\": [{\n \"reference_arn\": this[\"arn\"],\n }],\n }],\n },\n },\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n RulesSourceList = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceRulesSourceListArgs\n {\n GeneratedRulesType = \"DENYLIST\",\n TargetTypes = new[]\n {\n \"HTTP_HOST\",\n },\n Targets = new[]\n {\n \"test.example.com\",\n },\n },\n },\n ReferenceSets = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupReferenceSetsArgs\n {\n IpSetReferences = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupReferenceSetsIpSetReferenceArgs\n {\n Key = \"example\",\n IpSetReferences = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupReferenceSetsIpSetReferenceIpSetReferenceArgs\n {\n ReferenceArn = @this.Arn,\n },\n },\n },\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tRulesSourceList: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceRulesSourceListArgs{\n\t\t\t\t\t\tGeneratedRulesType: pulumi.String(\"DENYLIST\"),\n\t\t\t\t\t\tTargetTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"HTTP_HOST\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTargets: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"test.example.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tReferenceSets: \u0026networkfirewall.RuleGroupRuleGroupReferenceSetsArgs{\n\t\t\t\t\tIpSetReferences: networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceArray{\n\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tIpSetReferences: networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceIpSetReferenceArray{\n\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceIpSetReferenceArgs{\n\t\t\t\t\t\t\t\t\tReferenceArn: pulumi.Any(this.Arn),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceRulesSourceListArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupReferenceSetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RuleGroup(\"example\", RuleGroupArgs.builder()\n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .rulesSourceList(RuleGroupRuleGroupRulesSourceRulesSourceListArgs.builder()\n .generatedRulesType(\"DENYLIST\")\n .targetTypes(\"HTTP_HOST\")\n .targets(\"test.example.com\")\n .build())\n .build())\n .referenceSets(RuleGroupRuleGroupReferenceSetsArgs.builder()\n .ipSetReferences(RuleGroupRuleGroupReferenceSetsIpSetReferenceArgs.builder()\n .key(\"example\")\n .ipSetReferences(RuleGroupRuleGroupReferenceSetsIpSetReferenceIpSetReferenceArgs.builder()\n .referenceArn(this_.arn())\n .build())\n .build())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n ruleGroup:\n rulesSource:\n rulesSourceList:\n generatedRulesType: DENYLIST\n targetTypes:\n - HTTP_HOST\n targets:\n - test.example.com\n referenceSets:\n ipSetReferences:\n - key: example\n ipSetReferences:\n - referenceArn: ${this.arn}\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Firewall Rule Groups using their `arn`. For example:\n\n```sh\n$ pulumi import aws:networkfirewall/ruleGroup:RuleGroup example arn:aws:network-firewall:us-west-1:123456789012:stateful-rulegroup/example\n```\n", + "description": "Provides an AWS Network Firewall Rule Group Resource\n\n## Example Usage\n\n### Stateful Inspection for denying access to a domain\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n rulesSource: {\n rulesSourceList: {\n generatedRulesType: \"DENYLIST\",\n targetTypes: [\"HTTP_HOST\"],\n targets: [\"test.example.com\"],\n },\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rule_group={\n \"rules_source\": {\n \"rules_source_list\": {\n \"generated_rules_type\": \"DENYLIST\",\n \"target_types\": [\"HTTP_HOST\"],\n \"targets\": [\"test.example.com\"],\n },\n },\n },\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n RulesSourceList = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceRulesSourceListArgs\n {\n GeneratedRulesType = \"DENYLIST\",\n TargetTypes = new[]\n {\n \"HTTP_HOST\",\n },\n Targets = new[]\n {\n \"test.example.com\",\n },\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tRulesSourceList: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceRulesSourceListArgs{\n\t\t\t\t\t\tGeneratedRulesType: pulumi.String(\"DENYLIST\"),\n\t\t\t\t\t\tTargetTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"HTTP_HOST\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTargets: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"test.example.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceRulesSourceListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RuleGroup(\"example\", RuleGroupArgs.builder()\n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .rulesSourceList(RuleGroupRuleGroupRulesSourceRulesSourceListArgs.builder()\n .generatedRulesType(\"DENYLIST\")\n .targetTypes(\"HTTP_HOST\")\n .targets(\"test.example.com\")\n .build())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n ruleGroup:\n rulesSource:\n rulesSourceList:\n generatedRulesType: DENYLIST\n targetTypes:\n - HTTP_HOST\n targets:\n - test.example.com\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateful Inspection for permitting packets from a source IP address\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ips = [\n \"1.1.1.1/32\",\n \"1.0.0.1/32\",\n];\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 50,\n description: \"Permits http traffic from source\",\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n rulesSource: {\n statefulRules: ips.map((v, k) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n action: \"PASS\",\n header: {\n destination: \"ANY\",\n destinationPort: \"ANY\",\n protocol: \"HTTP\",\n direction: \"ANY\",\n sourcePort: \"ANY\",\n source: entry.value,\n },\n ruleOptions: [{\n keyword: \"sid\",\n settings: [\"1\"],\n }],\n })),\n },\n },\n tags: {\n Name: \"permit HTTP from source\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nips = [\n \"1.1.1.1/32\",\n \"1.0.0.1/32\",\n]\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=50,\n description=\"Permits http traffic from source\",\n name=\"example\",\n type=\"STATEFUL\",\n rule_group={\n \"rules_source\": {\n \"stateful_rules\": [{\n \"action\": \"PASS\",\n \"header\": {\n \"destination\": \"ANY\",\n \"destination_port\": \"ANY\",\n \"protocol\": \"HTTP\",\n \"direction\": \"ANY\",\n \"source_port\": \"ANY\",\n \"source\": entry[\"value\"],\n },\n \"rule_options\": [{\n \"keyword\": \"sid\",\n \"settings\": [\"1\"],\n }],\n } for entry in [{\"key\": k, \"value\": v} for k, v in ips]],\n },\n },\n tags={\n \"Name\": \"permit HTTP from source\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ips = new[]\n {\n \"1.1.1.1/32\",\n \"1.0.0.1/32\",\n };\n\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 50,\n Description = \"Permits http traffic from source\",\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n StatefulRules = ips.Select((v, k) =\u003e new { Key = k, Value = v }).Select(entry =\u003e \n {\n return new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleArgs\n {\n Action = \"PASS\",\n Header = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs\n {\n Destination = \"ANY\",\n DestinationPort = \"ANY\",\n Protocol = \"HTTP\",\n Direction = \"ANY\",\n SourcePort = \"ANY\",\n Source = entry.Value,\n },\n RuleOptions = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs\n {\n Keyword = \"sid\",\n Settings = new[]\n {\n \"1\",\n },\n },\n },\n };\n }).ToList(),\n },\n },\n Tags = \n {\n { \"Name\", \"permit HTTP from source\" },\n },\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateful Inspection for blocking packets from going to an intended destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n rulesSource: {\n statefulRules: [{\n action: \"DROP\",\n header: {\n destination: \"124.1.1.24/32\",\n destinationPort: \"53\",\n direction: \"ANY\",\n protocol: \"TCP\",\n source: \"1.2.3.4/32\",\n sourcePort: \"53\",\n },\n ruleOptions: [{\n keyword: \"sid\",\n settings: [\"1\"],\n }],\n }],\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rule_group={\n \"rules_source\": {\n \"stateful_rules\": [{\n \"action\": \"DROP\",\n \"header\": {\n \"destination\": \"124.1.1.24/32\",\n \"destination_port\": \"53\",\n \"direction\": \"ANY\",\n \"protocol\": \"TCP\",\n \"source\": \"1.2.3.4/32\",\n \"source_port\": \"53\",\n },\n \"rule_options\": [{\n \"keyword\": \"sid\",\n \"settings\": [\"1\"],\n }],\n }],\n },\n },\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n StatefulRules = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleArgs\n {\n Action = \"DROP\",\n Header = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs\n {\n Destination = \"124.1.1.24/32\",\n DestinationPort = \"53\",\n Direction = \"ANY\",\n Protocol = \"TCP\",\n Source = \"1.2.3.4/32\",\n SourcePort = \"53\",\n },\n RuleOptions = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs\n {\n Keyword = \"sid\",\n Settings = new[]\n {\n \"1\",\n },\n },\n },\n },\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tStatefulRules: networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleArray{\n\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleArgs{\n\t\t\t\t\t\t\tAction: pulumi.String(\"DROP\"),\n\t\t\t\t\t\t\tHeader: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs{\n\t\t\t\t\t\t\t\tDestination: pulumi.String(\"124.1.1.24/32\"),\n\t\t\t\t\t\t\t\tDestinationPort: pulumi.String(\"53\"),\n\t\t\t\t\t\t\t\tDirection: pulumi.String(\"ANY\"),\n\t\t\t\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\t\t\t\tSource: pulumi.String(\"1.2.3.4/32\"),\n\t\t\t\t\t\t\t\tSourcePort: pulumi.String(\"53\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tRuleOptions: networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArray{\n\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs{\n\t\t\t\t\t\t\t\t\tKeyword: pulumi.String(\"sid\"),\n\t\t\t\t\t\t\t\t\tSettings: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RuleGroup(\"example\", RuleGroupArgs.builder()\n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .statefulRules(RuleGroupRuleGroupRulesSourceStatefulRuleArgs.builder()\n .action(\"DROP\")\n .header(RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs.builder()\n .destination(\"124.1.1.24/32\")\n .destinationPort(53)\n .direction(\"ANY\")\n .protocol(\"TCP\")\n .source(\"1.2.3.4/32\")\n .sourcePort(53)\n .build())\n .ruleOptions(RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs.builder()\n .keyword(\"sid\")\n .settings(\"1\")\n .build())\n .build())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n ruleGroup:\n rulesSource:\n statefulRules:\n - action: DROP\n header:\n destination: 124.1.1.24/32\n destinationPort: 53\n direction: ANY\n protocol: TCP\n source: 1.2.3.4/32\n sourcePort: 53\n ruleOptions:\n - keyword: sid\n settings:\n - '1'\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateful Inspection from rules specifications defined in Suricata flat format\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n rules: std.file({\n input: \"example.rules\",\n }).then(invoke =\u003e invoke.result),\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rules=std.file(input=\"example.rules\").result,\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n Rules = Std.File.Invoke(new()\n {\n Input = \"example.rules\",\n }).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"example.rules\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRules: pulumi.String(invokeFile.Result),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RuleGroup(\"example\", RuleGroupArgs.builder()\n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .rules(StdFunctions.file(FileArgs.builder()\n .input(\"example.rules\")\n .build()).result())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n rules:\n fn::invoke:\n Function: std:file\n Arguments:\n input: example.rules\n Return: result\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateful Inspection from rule group specifications using rule variables and Suricata format rules\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n ruleVariables: {\n ipSets: [\n {\n key: \"WEBSERVERS_HOSTS\",\n ipSet: {\n definitions: [\n \"10.0.0.0/16\",\n \"10.0.1.0/24\",\n \"192.168.0.0/16\",\n ],\n },\n },\n {\n key: \"EXTERNAL_HOST\",\n ipSet: {\n definitions: [\"1.2.3.4/32\"],\n },\n },\n ],\n portSets: [{\n key: \"HTTP_PORTS\",\n portSet: {\n definitions: [\n \"443\",\n \"80\",\n ],\n },\n }],\n },\n rulesSource: {\n rulesString: std.file({\n input: \"suricata_rules_file\",\n }).then(invoke =\u003e invoke.result),\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rule_group={\n \"rule_variables\": {\n \"ip_sets\": [\n {\n \"key\": \"WEBSERVERS_HOSTS\",\n \"ip_set\": {\n \"definitions\": [\n \"10.0.0.0/16\",\n \"10.0.1.0/24\",\n \"192.168.0.0/16\",\n ],\n },\n },\n {\n \"key\": \"EXTERNAL_HOST\",\n \"ip_set\": {\n \"definitions\": [\"1.2.3.4/32\"],\n },\n },\n ],\n \"port_sets\": [{\n \"key\": \"HTTP_PORTS\",\n \"port_set\": {\n \"definitions\": [\n \"443\",\n \"80\",\n ],\n },\n }],\n },\n \"rules_source\": {\n \"rules_string\": std.file(input=\"suricata_rules_file\").result,\n },\n },\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RuleVariables = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesArgs\n {\n IpSets = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesIpSetArgs\n {\n Key = \"WEBSERVERS_HOSTS\",\n IpSet = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs\n {\n Definitions = new[]\n {\n \"10.0.0.0/16\",\n \"10.0.1.0/24\",\n \"192.168.0.0/16\",\n },\n },\n },\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesIpSetArgs\n {\n Key = \"EXTERNAL_HOST\",\n IpSet = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs\n {\n Definitions = new[]\n {\n \"1.2.3.4/32\",\n },\n },\n },\n },\n PortSets = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesPortSetArgs\n {\n Key = \"HTTP_PORTS\",\n PortSet = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesPortSetPortSetArgs\n {\n Definitions = new[]\n {\n \"443\",\n \"80\",\n },\n },\n },\n },\n },\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n RulesString = Std.File.Invoke(new()\n {\n Input = \"suricata_rules_file\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"suricata_rules_file\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRuleVariables: \u0026networkfirewall.RuleGroupRuleGroupRuleVariablesArgs{\n\t\t\t\t\tIpSets: networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetArray{\n\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"WEBSERVERS_HOSTS\"),\n\t\t\t\t\t\t\tIpSet: \u0026networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs{\n\t\t\t\t\t\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"EXTERNAL_HOST\"),\n\t\t\t\t\t\t\tIpSet: \u0026networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs{\n\t\t\t\t\t\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"1.2.3.4/32\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPortSets: networkfirewall.RuleGroupRuleGroupRuleVariablesPortSetArray{\n\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRuleVariablesPortSetArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"HTTP_PORTS\"),\n\t\t\t\t\t\t\tPortSet: \u0026networkfirewall.RuleGroupRuleGroupRuleVariablesPortSetPortSetArgs{\n\t\t\t\t\t\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"443\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"80\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tRulesString: pulumi.String(invokeFile.Result),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRuleVariablesArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RuleGroup(\"example\", RuleGroupArgs.builder()\n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .ruleVariables(RuleGroupRuleGroupRuleVariablesArgs.builder()\n .ipSets( \n RuleGroupRuleGroupRuleVariablesIpSetArgs.builder()\n .key(\"WEBSERVERS_HOSTS\")\n .ipSet(RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs.builder()\n .definitions( \n \"10.0.0.0/16\",\n \"10.0.1.0/24\",\n \"192.168.0.0/16\")\n .build())\n .build(),\n RuleGroupRuleGroupRuleVariablesIpSetArgs.builder()\n .key(\"EXTERNAL_HOST\")\n .ipSet(RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs.builder()\n .definitions(\"1.2.3.4/32\")\n .build())\n .build())\n .portSets(RuleGroupRuleGroupRuleVariablesPortSetArgs.builder()\n .key(\"HTTP_PORTS\")\n .portSet(RuleGroupRuleGroupRuleVariablesPortSetPortSetArgs.builder()\n .definitions( \n \"443\",\n \"80\")\n .build())\n .build())\n .build())\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .rulesString(StdFunctions.file(FileArgs.builder()\n .input(\"suricata_rules_file\")\n .build()).result())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n ruleGroup:\n ruleVariables:\n ipSets:\n - key: WEBSERVERS_HOSTS\n ipSet:\n definitions:\n - 10.0.0.0/16\n - 10.0.1.0/24\n - 192.168.0.0/16\n - key: EXTERNAL_HOST\n ipSet:\n definitions:\n - 1.2.3.4/32\n portSets:\n - key: HTTP_PORTS\n portSet:\n definitions:\n - '443'\n - '80'\n rulesSource:\n rulesString:\n fn::invoke:\n Function: std:file\n Arguments:\n input: suricata_rules_file\n Return: result\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateless Inspection with a Custom Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n description: \"Stateless Rate Limiting Rule\",\n capacity: 100,\n name: \"example\",\n type: \"STATELESS\",\n ruleGroup: {\n rulesSource: {\n statelessRulesAndCustomActions: {\n customActions: [{\n actionDefinition: {\n publishMetricAction: {\n dimensions: [{\n value: \"2\",\n }],\n },\n },\n actionName: \"ExampleMetricsAction\",\n }],\n statelessRules: [{\n priority: 1,\n ruleDefinition: {\n actions: [\n \"aws:pass\",\n \"ExampleMetricsAction\",\n ],\n matchAttributes: {\n sources: [{\n addressDefinition: \"1.2.3.4/32\",\n }],\n sourcePorts: [{\n fromPort: 443,\n toPort: 443,\n }],\n destinations: [{\n addressDefinition: \"124.1.1.5/32\",\n }],\n destinationPorts: [{\n fromPort: 443,\n toPort: 443,\n }],\n protocols: [6],\n tcpFlags: [{\n flags: [\"SYN\"],\n masks: [\n \"SYN\",\n \"ACK\",\n ],\n }],\n },\n },\n }],\n },\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n description=\"Stateless Rate Limiting Rule\",\n capacity=100,\n name=\"example\",\n type=\"STATELESS\",\n rule_group={\n \"rules_source\": {\n \"stateless_rules_and_custom_actions\": {\n \"custom_actions\": [{\n \"action_definition\": {\n \"publish_metric_action\": {\n \"dimensions\": [{\n \"value\": \"2\",\n }],\n },\n },\n \"action_name\": \"ExampleMetricsAction\",\n }],\n \"stateless_rules\": [{\n \"priority\": 1,\n \"rule_definition\": {\n \"actions\": [\n \"aws:pass\",\n \"ExampleMetricsAction\",\n ],\n \"match_attributes\": {\n \"sources\": [{\n \"address_definition\": \"1.2.3.4/32\",\n }],\n \"source_ports\": [{\n \"from_port\": 443,\n \"to_port\": 443,\n }],\n \"destinations\": [{\n \"address_definition\": \"124.1.1.5/32\",\n }],\n \"destination_ports\": [{\n \"from_port\": 443,\n \"to_port\": 443,\n }],\n \"protocols\": [6],\n \"tcp_flags\": [{\n \"flags\": [\"SYN\"],\n \"masks\": [\n \"SYN\",\n \"ACK\",\n ],\n }],\n },\n },\n }],\n },\n },\n },\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Description = \"Stateless Rate Limiting Rule\",\n Capacity = 100,\n Name = \"example\",\n Type = \"STATELESS\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n StatelessRulesAndCustomActions = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsArgs\n {\n CustomActions = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionArgs\n {\n ActionDefinition = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionArgs\n {\n PublishMetricAction = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionArgs\n {\n Dimensions = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionDimensionArgs\n {\n Value = \"2\",\n },\n },\n },\n },\n ActionName = \"ExampleMetricsAction\",\n },\n },\n StatelessRules = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleArgs\n {\n Priority = 1,\n RuleDefinition = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionArgs\n {\n Actions = new[]\n {\n \"aws:pass\",\n \"ExampleMetricsAction\",\n },\n MatchAttributes = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesArgs\n {\n Sources = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourceArgs\n {\n AddressDefinition = \"1.2.3.4/32\",\n },\n },\n SourcePorts = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourcePortArgs\n {\n FromPort = 443,\n ToPort = 443,\n },\n },\n Destinations = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationArgs\n {\n AddressDefinition = \"124.1.1.5/32\",\n },\n },\n DestinationPorts = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationPortArgs\n {\n FromPort = 443,\n ToPort = 443,\n },\n },\n Protocols = new[]\n {\n 6,\n },\n TcpFlags = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesTcpFlagArgs\n {\n Flags = new[]\n {\n \"SYN\",\n },\n Masks = new[]\n {\n \"SYN\",\n \"ACK\",\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tDescription: pulumi.String(\"Stateless Rate Limiting Rule\"),\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATELESS\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tStatelessRulesAndCustomActions: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsArgs{\n\t\t\t\t\t\tCustomActions: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionArray{\n\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionArgs{\n\t\t\t\t\t\t\t\tActionDefinition: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionArgs{\n\t\t\t\t\t\t\t\t\tPublishMetricAction: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionArgs{\n\t\t\t\t\t\t\t\t\t\tDimensions: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionDimensionArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionDimensionArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"2\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tActionName: pulumi.String(\"ExampleMetricsAction\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStatelessRules: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleArray{\n\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleArgs{\n\t\t\t\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\t\t\t\tRuleDefinition: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionArgs{\n\t\t\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"aws:pass\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"ExampleMetricsAction\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tMatchAttributes: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesArgs{\n\t\t\t\t\t\t\t\t\t\tSources: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourceArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourceArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tAddressDefinition: pulumi.String(\"1.2.3.4/32\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tSourcePorts: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourcePortArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourcePortArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tFromPort: pulumi.Int(443),\n\t\t\t\t\t\t\t\t\t\t\t\tToPort: pulumi.Int(443),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tDestinations: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tAddressDefinition: pulumi.String(\"124.1.1.5/32\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tDestinationPorts: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationPortArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationPortArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tFromPort: pulumi.Int(443),\n\t\t\t\t\t\t\t\t\t\t\t\tToPort: pulumi.Int(443),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tProtocols: pulumi.IntArray{\n\t\t\t\t\t\t\t\t\t\t\tpulumi.Int(6),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tTcpFlags: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesTcpFlagArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesTcpFlagArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tFlags: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"SYN\"),\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tMasks: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"SYN\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"ACK\"),\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RuleGroup(\"example\", RuleGroupArgs.builder()\n .description(\"Stateless Rate Limiting Rule\")\n .capacity(100)\n .name(\"example\")\n .type(\"STATELESS\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .statelessRulesAndCustomActions(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsArgs.builder()\n .customActions(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionArgs.builder()\n .actionDefinition(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionArgs.builder()\n .publishMetricAction(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionArgs.builder()\n .dimensions(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionDimensionArgs.builder()\n .value(\"2\")\n .build())\n .build())\n .build())\n .actionName(\"ExampleMetricsAction\")\n .build())\n .statelessRules(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleArgs.builder()\n .priority(1)\n .ruleDefinition(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionArgs.builder()\n .actions( \n \"aws:pass\",\n \"ExampleMetricsAction\")\n .matchAttributes(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesArgs.builder()\n .sources(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourceArgs.builder()\n .addressDefinition(\"1.2.3.4/32\")\n .build())\n .sourcePorts(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourcePortArgs.builder()\n .fromPort(443)\n .toPort(443)\n .build())\n .destinations(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationArgs.builder()\n .addressDefinition(\"124.1.1.5/32\")\n .build())\n .destinationPorts(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationPortArgs.builder()\n .fromPort(443)\n .toPort(443)\n .build())\n .protocols(6)\n .tcpFlags(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesTcpFlagArgs.builder()\n .flags(\"SYN\")\n .masks( \n \"SYN\",\n \"ACK\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n description: Stateless Rate Limiting Rule\n capacity: 100\n name: example\n type: STATELESS\n ruleGroup:\n rulesSource:\n statelessRulesAndCustomActions:\n customActions:\n - actionDefinition:\n publishMetricAction:\n dimensions:\n - value: '2'\n actionName: ExampleMetricsAction\n statelessRules:\n - priority: 1\n ruleDefinition:\n actions:\n - aws:pass\n - ExampleMetricsAction\n matchAttributes:\n sources:\n - addressDefinition: 1.2.3.4/32\n sourcePorts:\n - fromPort: 443\n toPort: 443\n destinations:\n - addressDefinition: 124.1.1.5/32\n destinationPorts:\n - fromPort: 443\n toPort: 443\n protocols:\n - 6\n tcpFlags:\n - flags:\n - SYN\n masks:\n - SYN\n - ACK\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### IP Set References to the Rule Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n rulesSource: {\n rulesSourceList: {\n generatedRulesType: \"DENYLIST\",\n targetTypes: [\"HTTP_HOST\"],\n targets: [\"test.example.com\"],\n },\n },\n referenceSets: {\n ipSetReferences: [{\n key: \"example\",\n ipSetReferences: [{\n referenceArn: _this.arn,\n }],\n }],\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rule_group={\n \"rules_source\": {\n \"rules_source_list\": {\n \"generated_rules_type\": \"DENYLIST\",\n \"target_types\": [\"HTTP_HOST\"],\n \"targets\": [\"test.example.com\"],\n },\n },\n \"reference_sets\": {\n \"ip_set_references\": [{\n \"key\": \"example\",\n \"ip_set_references\": [{\n \"reference_arn\": this[\"arn\"],\n }],\n }],\n },\n },\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n RulesSourceList = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceRulesSourceListArgs\n {\n GeneratedRulesType = \"DENYLIST\",\n TargetTypes = new[]\n {\n \"HTTP_HOST\",\n },\n Targets = new[]\n {\n \"test.example.com\",\n },\n },\n },\n ReferenceSets = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupReferenceSetsArgs\n {\n IpSetReferences = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupReferenceSetsIpSetReferenceArgs\n {\n Key = \"example\",\n IpSetReferences = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupReferenceSetsIpSetReferenceIpSetReferenceArgs\n {\n ReferenceArn = @this.Arn,\n },\n },\n },\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tRulesSourceList: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceRulesSourceListArgs{\n\t\t\t\t\t\tGeneratedRulesType: pulumi.String(\"DENYLIST\"),\n\t\t\t\t\t\tTargetTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"HTTP_HOST\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTargets: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"test.example.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tReferenceSets: \u0026networkfirewall.RuleGroupRuleGroupReferenceSetsArgs{\n\t\t\t\t\tIpSetReferences: networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceArray{\n\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tIpSetReferences: networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceIpSetReferenceArray{\n\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceIpSetReferenceArgs{\n\t\t\t\t\t\t\t\t\tReferenceArn: pulumi.Any(this.Arn),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceRulesSourceListArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupReferenceSetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RuleGroup(\"example\", RuleGroupArgs.builder()\n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .rulesSourceList(RuleGroupRuleGroupRulesSourceRulesSourceListArgs.builder()\n .generatedRulesType(\"DENYLIST\")\n .targetTypes(\"HTTP_HOST\")\n .targets(\"test.example.com\")\n .build())\n .build())\n .referenceSets(RuleGroupRuleGroupReferenceSetsArgs.builder()\n .ipSetReferences(RuleGroupRuleGroupReferenceSetsIpSetReferenceArgs.builder()\n .key(\"example\")\n .ipSetReferences(RuleGroupRuleGroupReferenceSetsIpSetReferenceIpSetReferenceArgs.builder()\n .referenceArn(this_.arn())\n .build())\n .build())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n ruleGroup:\n rulesSource:\n rulesSourceList:\n generatedRulesType: DENYLIST\n targetTypes:\n - HTTP_HOST\n targets:\n - test.example.com\n referenceSets:\n ipSetReferences:\n - key: example\n ipSetReferences:\n - referenceArn: ${this.arn}\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Firewall Rule Groups using their `arn`. For example:\n\n```sh\n$ pulumi import aws:networkfirewall/ruleGroup:RuleGroup example arn:aws:network-firewall:us-west-1:123456789012:stateful-rulegroup/example\n```\n", "properties": { "arn": { "type": "string", @@ -312979,7 +312979,7 @@ } }, "aws:networkmanager/customerGatewayAssociation:CustomerGatewayAssociation": { - "description": "Associates a customer gateway with a device and optionally, with a link.\nIf you specify a link, it must be associated with the specified device.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.GlobalNetwork(\"example\", {description: \"example\"});\nconst exampleSite = new aws.networkmanager.Site(\"example\", {globalNetworkId: example.id});\nconst exampleDevice = new aws.networkmanager.Device(\"example\", {\n globalNetworkId: example.id,\n siteId: exampleSite.id,\n});\nconst exampleCustomerGateway = new aws.ec2.CustomerGateway(\"example\", {\n bgpAsn: \"65000\",\n ipAddress: \"172.83.124.10\",\n type: \"ipsec.1\",\n});\nconst exampleTransitGateway = new aws.ec2transitgateway.TransitGateway(\"example\", {});\nconst exampleVpnConnection = new aws.ec2.VpnConnection(\"example\", {\n customerGatewayId: exampleCustomerGateway.id,\n transitGatewayId: exampleTransitGateway.id,\n type: exampleCustomerGateway.type,\n staticRoutesOnly: true,\n});\nconst exampleTransitGatewayRegistration = new aws.networkmanager.TransitGatewayRegistration(\"example\", {\n globalNetworkId: example.id,\n transitGatewayArn: exampleTransitGateway.arn,\n}, {\n dependsOn: [exampleVpnConnection],\n});\nconst exampleCustomerGatewayAssociation = new aws.networkmanager.CustomerGatewayAssociation(\"example\", {\n globalNetworkId: example.id,\n customerGatewayArn: exampleCustomerGateway.arn,\n deviceId: exampleDevice.id,\n}, {\n dependsOn: [exampleTransitGatewayRegistration],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.GlobalNetwork(\"example\", description=\"example\")\nexample_site = aws.networkmanager.Site(\"example\", global_network_id=example.id)\nexample_device = aws.networkmanager.Device(\"example\",\n global_network_id=example.id,\n site_id=example_site.id)\nexample_customer_gateway = aws.ec2.CustomerGateway(\"example\",\n bgp_asn=\"65000\",\n ip_address=\"172.83.124.10\",\n type=\"ipsec.1\")\nexample_transit_gateway = aws.ec2transitgateway.TransitGateway(\"example\")\nexample_vpn_connection = aws.ec2.VpnConnection(\"example\",\n customer_gateway_id=example_customer_gateway.id,\n transit_gateway_id=example_transit_gateway.id,\n type=example_customer_gateway.type,\n static_routes_only=True)\nexample_transit_gateway_registration = aws.networkmanager.TransitGatewayRegistration(\"example\",\n global_network_id=example.id,\n transit_gateway_arn=example_transit_gateway.arn,\n opts = pulumi.ResourceOptions(depends_on=[example_vpn_connection]))\nexample_customer_gateway_association = aws.networkmanager.CustomerGatewayAssociation(\"example\",\n global_network_id=example.id,\n customer_gateway_arn=example_customer_gateway.arn,\n device_id=example_device.id,\n opts = pulumi.ResourceOptions(depends_on=[example_transit_gateway_registration]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.GlobalNetwork(\"example\", new()\n {\n Description = \"example\",\n });\n\n var exampleSite = new Aws.NetworkManager.Site(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n });\n\n var exampleDevice = new Aws.NetworkManager.Device(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n SiteId = exampleSite.Id,\n });\n\n var exampleCustomerGateway = new Aws.Ec2.CustomerGateway(\"example\", new()\n {\n BgpAsn = \"65000\",\n IpAddress = \"172.83.124.10\",\n Type = \"ipsec.1\",\n });\n\n var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"example\");\n\n var exampleVpnConnection = new Aws.Ec2.VpnConnection(\"example\", new()\n {\n CustomerGatewayId = exampleCustomerGateway.Id,\n TransitGatewayId = exampleTransitGateway.Id,\n Type = exampleCustomerGateway.Type,\n StaticRoutesOnly = true,\n });\n\n var exampleTransitGatewayRegistration = new Aws.NetworkManager.TransitGatewayRegistration(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n TransitGatewayArn = exampleTransitGateway.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleVpnConnection,\n },\n });\n\n var exampleCustomerGatewayAssociation = new Aws.NetworkManager.CustomerGatewayAssociation(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n CustomerGatewayArn = exampleCustomerGateway.Arn,\n DeviceId = exampleDevice.Id,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleTransitGatewayRegistration,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := networkmanager.NewGlobalNetwork(ctx, \"example\", \u0026networkmanager.GlobalNetworkArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSite, err := networkmanager.NewSite(ctx, \"example\", \u0026networkmanager.SiteArgs{\n\t\t\tGlobalNetworkId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDevice, err := networkmanager.NewDevice(ctx, \"example\", \u0026networkmanager.DeviceArgs{\n\t\t\tGlobalNetworkId: example.ID(),\n\t\t\tSiteId: exampleSite.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCustomerGateway, err := ec2.NewCustomerGateway(ctx, \"example\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"65000\"),\n\t\t\tIpAddress: pulumi.String(\"172.83.124.10\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpnConnection, err := ec2.NewVpnConnection(ctx, \"example\", \u0026ec2.VpnConnectionArgs{\n\t\t\tCustomerGatewayId: exampleCustomerGateway.ID(),\n\t\t\tTransitGatewayId: exampleTransitGateway.ID(),\n\t\t\tType: exampleCustomerGateway.Type,\n\t\t\tStaticRoutesOnly: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGatewayRegistration, err := networkmanager.NewTransitGatewayRegistration(ctx, \"example\", \u0026networkmanager.TransitGatewayRegistrationArgs{\n\t\t\tGlobalNetworkId: example.ID(),\n\t\t\tTransitGatewayArn: exampleTransitGateway.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVpnConnection,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkmanager.NewCustomerGatewayAssociation(ctx, \"example\", \u0026networkmanager.CustomerGatewayAssociationArgs{\n\t\t\tGlobalNetworkId: example.ID(),\n\t\t\tCustomerGatewayArn: exampleCustomerGateway.Arn,\n\t\t\tDeviceId: exampleDevice.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleTransitGatewayRegistration,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.GlobalNetworkArgs;\nimport com.pulumi.aws.networkmanager.Site;\nimport com.pulumi.aws.networkmanager.SiteArgs;\nimport com.pulumi.aws.networkmanager.Device;\nimport com.pulumi.aws.networkmanager.DeviceArgs;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport com.pulumi.aws.networkmanager.TransitGatewayRegistration;\nimport com.pulumi.aws.networkmanager.TransitGatewayRegistrationArgs;\nimport com.pulumi.aws.networkmanager.CustomerGatewayAssociation;\nimport com.pulumi.aws.networkmanager.CustomerGatewayAssociationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalNetwork(\"example\", GlobalNetworkArgs.builder()\n .description(\"example\")\n .build());\n\n var exampleSite = new Site(\"exampleSite\", SiteArgs.builder()\n .globalNetworkId(example.id())\n .build());\n\n var exampleDevice = new Device(\"exampleDevice\", DeviceArgs.builder()\n .globalNetworkId(example.id())\n .siteId(exampleSite.id())\n .build());\n\n var exampleCustomerGateway = new CustomerGateway(\"exampleCustomerGateway\", CustomerGatewayArgs.builder()\n .bgpAsn(65000)\n .ipAddress(\"172.83.124.10\")\n .type(\"ipsec.1\")\n .build());\n\n var exampleTransitGateway = new TransitGateway(\"exampleTransitGateway\");\n\n var exampleVpnConnection = new VpnConnection(\"exampleVpnConnection\", VpnConnectionArgs.builder()\n .customerGatewayId(exampleCustomerGateway.id())\n .transitGatewayId(exampleTransitGateway.id())\n .type(exampleCustomerGateway.type())\n .staticRoutesOnly(true)\n .build());\n\n var exampleTransitGatewayRegistration = new TransitGatewayRegistration(\"exampleTransitGatewayRegistration\", TransitGatewayRegistrationArgs.builder()\n .globalNetworkId(example.id())\n .transitGatewayArn(exampleTransitGateway.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleVpnConnection)\n .build());\n\n var exampleCustomerGatewayAssociation = new CustomerGatewayAssociation(\"exampleCustomerGatewayAssociation\", CustomerGatewayAssociationArgs.builder()\n .globalNetworkId(example.id())\n .customerGatewayArn(exampleCustomerGateway.arn())\n .deviceId(exampleDevice.id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleTransitGatewayRegistration)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:GlobalNetwork\n properties:\n description: example\n exampleSite:\n type: aws:networkmanager:Site\n name: example\n properties:\n globalNetworkId: ${example.id}\n exampleDevice:\n type: aws:networkmanager:Device\n name: example\n properties:\n globalNetworkId: ${example.id}\n siteId: ${exampleSite.id}\n exampleCustomerGateway:\n type: aws:ec2:CustomerGateway\n name: example\n properties:\n bgpAsn: 65000\n ipAddress: 172.83.124.10\n type: ipsec.1\n exampleTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: example\n exampleVpnConnection:\n type: aws:ec2:VpnConnection\n name: example\n properties:\n customerGatewayId: ${exampleCustomerGateway.id}\n transitGatewayId: ${exampleTransitGateway.id}\n type: ${exampleCustomerGateway.type}\n staticRoutesOnly: true\n exampleTransitGatewayRegistration:\n type: aws:networkmanager:TransitGatewayRegistration\n name: example\n properties:\n globalNetworkId: ${example.id}\n transitGatewayArn: ${exampleTransitGateway.arn}\n options:\n dependsOn:\n - ${exampleVpnConnection}\n exampleCustomerGatewayAssociation:\n type: aws:networkmanager:CustomerGatewayAssociation\n name: example\n properties:\n globalNetworkId: ${example.id}\n customerGatewayArn: ${exampleCustomerGateway.arn}\n deviceId: ${exampleDevice.id}\n options:\n dependsOn:\n - ${exampleTransitGatewayRegistration}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_customer_gateway_association` using the global network ID and customer gateway ARN. For example:\n\n```sh\n$ pulumi import aws:networkmanager/customerGatewayAssociation:CustomerGatewayAssociation example global-network-0d47f6t230mz46dy4,arn:aws:ec2:us-west-2:123456789012:customer-gateway/cgw-123abc05e04123abc\n```\n", + "description": "Associates a customer gateway with a device and optionally, with a link.\nIf you specify a link, it must be associated with the specified device.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.GlobalNetwork(\"example\", {description: \"example\"});\nconst exampleSite = new aws.networkmanager.Site(\"example\", {globalNetworkId: example.id});\nconst exampleDevice = new aws.networkmanager.Device(\"example\", {\n globalNetworkId: example.id,\n siteId: exampleSite.id,\n});\nconst exampleCustomerGateway = new aws.ec2.CustomerGateway(\"example\", {\n bgpAsn: \"65000\",\n ipAddress: \"172.83.124.10\",\n type: \"ipsec.1\",\n});\nconst exampleTransitGateway = new aws.ec2transitgateway.TransitGateway(\"example\", {});\nconst exampleVpnConnection = new aws.ec2.VpnConnection(\"example\", {\n customerGatewayId: exampleCustomerGateway.id,\n transitGatewayId: exampleTransitGateway.id,\n type: exampleCustomerGateway.type,\n staticRoutesOnly: true,\n});\nconst exampleTransitGatewayRegistration = new aws.networkmanager.TransitGatewayRegistration(\"example\", {\n globalNetworkId: example.id,\n transitGatewayArn: exampleTransitGateway.arn,\n}, {\n dependsOn: [exampleVpnConnection],\n});\nconst exampleCustomerGatewayAssociation = new aws.networkmanager.CustomerGatewayAssociation(\"example\", {\n globalNetworkId: example.id,\n customerGatewayArn: exampleCustomerGateway.arn,\n deviceId: exampleDevice.id,\n}, {\n dependsOn: [exampleTransitGatewayRegistration],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.GlobalNetwork(\"example\", description=\"example\")\nexample_site = aws.networkmanager.Site(\"example\", global_network_id=example.id)\nexample_device = aws.networkmanager.Device(\"example\",\n global_network_id=example.id,\n site_id=example_site.id)\nexample_customer_gateway = aws.ec2.CustomerGateway(\"example\",\n bgp_asn=\"65000\",\n ip_address=\"172.83.124.10\",\n type=\"ipsec.1\")\nexample_transit_gateway = aws.ec2transitgateway.TransitGateway(\"example\")\nexample_vpn_connection = aws.ec2.VpnConnection(\"example\",\n customer_gateway_id=example_customer_gateway.id,\n transit_gateway_id=example_transit_gateway.id,\n type=example_customer_gateway.type,\n static_routes_only=True)\nexample_transit_gateway_registration = aws.networkmanager.TransitGatewayRegistration(\"example\",\n global_network_id=example.id,\n transit_gateway_arn=example_transit_gateway.arn,\n opts = pulumi.ResourceOptions(depends_on=[example_vpn_connection]))\nexample_customer_gateway_association = aws.networkmanager.CustomerGatewayAssociation(\"example\",\n global_network_id=example.id,\n customer_gateway_arn=example_customer_gateway.arn,\n device_id=example_device.id,\n opts = pulumi.ResourceOptions(depends_on=[example_transit_gateway_registration]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.GlobalNetwork(\"example\", new()\n {\n Description = \"example\",\n });\n\n var exampleSite = new Aws.NetworkManager.Site(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n });\n\n var exampleDevice = new Aws.NetworkManager.Device(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n SiteId = exampleSite.Id,\n });\n\n var exampleCustomerGateway = new Aws.Ec2.CustomerGateway(\"example\", new()\n {\n BgpAsn = \"65000\",\n IpAddress = \"172.83.124.10\",\n Type = \"ipsec.1\",\n });\n\n var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"example\");\n\n var exampleVpnConnection = new Aws.Ec2.VpnConnection(\"example\", new()\n {\n CustomerGatewayId = exampleCustomerGateway.Id,\n TransitGatewayId = exampleTransitGateway.Id,\n Type = exampleCustomerGateway.Type,\n StaticRoutesOnly = true,\n });\n\n var exampleTransitGatewayRegistration = new Aws.NetworkManager.TransitGatewayRegistration(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n TransitGatewayArn = exampleTransitGateway.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleVpnConnection,\n },\n });\n\n var exampleCustomerGatewayAssociation = new Aws.NetworkManager.CustomerGatewayAssociation(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n CustomerGatewayArn = exampleCustomerGateway.Arn,\n DeviceId = exampleDevice.Id,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleTransitGatewayRegistration,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := networkmanager.NewGlobalNetwork(ctx, \"example\", \u0026networkmanager.GlobalNetworkArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSite, err := networkmanager.NewSite(ctx, \"example\", \u0026networkmanager.SiteArgs{\n\t\t\tGlobalNetworkId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDevice, err := networkmanager.NewDevice(ctx, \"example\", \u0026networkmanager.DeviceArgs{\n\t\t\tGlobalNetworkId: example.ID(),\n\t\t\tSiteId: exampleSite.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCustomerGateway, err := ec2.NewCustomerGateway(ctx, \"example\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"65000\"),\n\t\t\tIpAddress: pulumi.String(\"172.83.124.10\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpnConnection, err := ec2.NewVpnConnection(ctx, \"example\", \u0026ec2.VpnConnectionArgs{\n\t\t\tCustomerGatewayId: exampleCustomerGateway.ID(),\n\t\t\tTransitGatewayId: exampleTransitGateway.ID(),\n\t\t\tType: exampleCustomerGateway.Type,\n\t\t\tStaticRoutesOnly: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGatewayRegistration, err := networkmanager.NewTransitGatewayRegistration(ctx, \"example\", \u0026networkmanager.TransitGatewayRegistrationArgs{\n\t\t\tGlobalNetworkId: example.ID(),\n\t\t\tTransitGatewayArn: exampleTransitGateway.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVpnConnection,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkmanager.NewCustomerGatewayAssociation(ctx, \"example\", \u0026networkmanager.CustomerGatewayAssociationArgs{\n\t\t\tGlobalNetworkId: example.ID(),\n\t\t\tCustomerGatewayArn: exampleCustomerGateway.Arn,\n\t\t\tDeviceId: exampleDevice.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleTransitGatewayRegistration,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.GlobalNetworkArgs;\nimport com.pulumi.aws.networkmanager.Site;\nimport com.pulumi.aws.networkmanager.SiteArgs;\nimport com.pulumi.aws.networkmanager.Device;\nimport com.pulumi.aws.networkmanager.DeviceArgs;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport com.pulumi.aws.networkmanager.TransitGatewayRegistration;\nimport com.pulumi.aws.networkmanager.TransitGatewayRegistrationArgs;\nimport com.pulumi.aws.networkmanager.CustomerGatewayAssociation;\nimport com.pulumi.aws.networkmanager.CustomerGatewayAssociationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalNetwork(\"example\", GlobalNetworkArgs.builder()\n .description(\"example\")\n .build());\n\n var exampleSite = new Site(\"exampleSite\", SiteArgs.builder()\n .globalNetworkId(example.id())\n .build());\n\n var exampleDevice = new Device(\"exampleDevice\", DeviceArgs.builder()\n .globalNetworkId(example.id())\n .siteId(exampleSite.id())\n .build());\n\n var exampleCustomerGateway = new CustomerGateway(\"exampleCustomerGateway\", CustomerGatewayArgs.builder()\n .bgpAsn(65000)\n .ipAddress(\"172.83.124.10\")\n .type(\"ipsec.1\")\n .build());\n\n var exampleTransitGateway = new TransitGateway(\"exampleTransitGateway\");\n\n var exampleVpnConnection = new VpnConnection(\"exampleVpnConnection\", VpnConnectionArgs.builder()\n .customerGatewayId(exampleCustomerGateway.id())\n .transitGatewayId(exampleTransitGateway.id())\n .type(exampleCustomerGateway.type())\n .staticRoutesOnly(true)\n .build());\n\n var exampleTransitGatewayRegistration = new TransitGatewayRegistration(\"exampleTransitGatewayRegistration\", TransitGatewayRegistrationArgs.builder()\n .globalNetworkId(example.id())\n .transitGatewayArn(exampleTransitGateway.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleVpnConnection)\n .build());\n\n var exampleCustomerGatewayAssociation = new CustomerGatewayAssociation(\"exampleCustomerGatewayAssociation\", CustomerGatewayAssociationArgs.builder()\n .globalNetworkId(example.id())\n .customerGatewayArn(exampleCustomerGateway.arn())\n .deviceId(exampleDevice.id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleTransitGatewayRegistration)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:GlobalNetwork\n properties:\n description: example\n exampleSite:\n type: aws:networkmanager:Site\n name: example\n properties:\n globalNetworkId: ${example.id}\n exampleDevice:\n type: aws:networkmanager:Device\n name: example\n properties:\n globalNetworkId: ${example.id}\n siteId: ${exampleSite.id}\n exampleCustomerGateway:\n type: aws:ec2:CustomerGateway\n name: example\n properties:\n bgpAsn: 65000\n ipAddress: 172.83.124.10\n type: ipsec.1\n exampleTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: example\n exampleVpnConnection:\n type: aws:ec2:VpnConnection\n name: example\n properties:\n customerGatewayId: ${exampleCustomerGateway.id}\n transitGatewayId: ${exampleTransitGateway.id}\n type: ${exampleCustomerGateway.type}\n staticRoutesOnly: true\n exampleTransitGatewayRegistration:\n type: aws:networkmanager:TransitGatewayRegistration\n name: example\n properties:\n globalNetworkId: ${example.id}\n transitGatewayArn: ${exampleTransitGateway.arn}\n options:\n dependson:\n - ${exampleVpnConnection}\n exampleCustomerGatewayAssociation:\n type: aws:networkmanager:CustomerGatewayAssociation\n name: example\n properties:\n globalNetworkId: ${example.id}\n customerGatewayArn: ${exampleCustomerGateway.arn}\n deviceId: ${exampleDevice.id}\n options:\n dependson:\n - ${exampleTransitGatewayRegistration}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_customer_gateway_association` using the global network ID and customer gateway ARN. For example:\n\n```sh\n$ pulumi import aws:networkmanager/customerGatewayAssociation:CustomerGatewayAssociation example global-network-0d47f6t230mz46dy4,arn:aws:ec2:us-west-2:123456789012:customer-gateway/cgw-123abc05e04123abc\n```\n", "properties": { "customerGatewayArn": { "type": "string", @@ -315011,7 +315011,7 @@ } }, "aws:opensearch/authorizeVpcEndpointAccess:AuthorizeVpcEndpointAccess": { - "description": "Resource for managing an AWS OpenSearch Authorize Vpc Endpoint Access.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst test = new aws.opensearch.AuthorizeVpcEndpointAccess(\"test\", {\n domainName: testAwsOpensearchDomain.domainName,\n account: current.then(current =\u003e current.accountId),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ntest = aws.opensearch.AuthorizeVpcEndpointAccess(\"test\",\n domain_name=test_aws_opensearch_domain[\"domainName\"],\n account=current.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var test = new Aws.OpenSearch.AuthorizeVpcEndpointAccess(\"test\", new()\n {\n DomainName = testAwsOpensearchDomain.DomainName,\n Account = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewAuthorizeVpcEndpointAccess(ctx, \"test\", \u0026opensearch.AuthorizeVpcEndpointAccessArgs{\n\t\t\tDomainName: pulumi.Any(testAwsOpensearchDomain.DomainName),\n\t\t\tAccount: pulumi.String(current.AccountId),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.opensearch.AuthorizeVpcEndpointAccess;\nimport com.pulumi.aws.opensearch.AuthorizeVpcEndpointAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var test = new AuthorizeVpcEndpointAccess(\"test\", AuthorizeVpcEndpointAccessArgs.builder()\n .domainName(testAwsOpensearchDomain.domainName())\n .account(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:opensearch:AuthorizeVpcEndpointAccess\n properties:\n domainName: ${testAwsOpensearchDomain.domainName}\n account: ${current.accountId}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearch Authorize Vpc Endpoint Access using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:opensearch/authorizeVpcEndpointAccess:AuthorizeVpcEndpointAccess example authorize_vpc_endpoint_access-id-12345678\n```\n", + "description": "Resource for managing an AWS OpenSearch Authorize Vpc Endpoint Access.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst test = new aws.opensearch.AuthorizeVpcEndpointAccess(\"test\", {\n domainName: testAwsOpensearchDomain.domainName,\n account: current.then(current =\u003e current.accountId),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ntest = aws.opensearch.AuthorizeVpcEndpointAccess(\"test\",\n domain_name=test_aws_opensearch_domain[\"domainName\"],\n account=current.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var test = new Aws.OpenSearch.AuthorizeVpcEndpointAccess(\"test\", new()\n {\n DomainName = testAwsOpensearchDomain.DomainName,\n Account = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewAuthorizeVpcEndpointAccess(ctx, \"test\", \u0026opensearch.AuthorizeVpcEndpointAccessArgs{\n\t\t\tDomainName: pulumi.Any(testAwsOpensearchDomain.DomainName),\n\t\t\tAccount: pulumi.String(current.AccountId),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.opensearch.AuthorizeVpcEndpointAccess;\nimport com.pulumi.aws.opensearch.AuthorizeVpcEndpointAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var test = new AuthorizeVpcEndpointAccess(\"test\", AuthorizeVpcEndpointAccessArgs.builder()\n .domainName(testAwsOpensearchDomain.domainName())\n .account(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:opensearch:AuthorizeVpcEndpointAccess\n properties:\n domainName: ${testAwsOpensearchDomain.domainName}\n account: ${current.accountId}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearch Authorize Vpc Endpoint Access using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:opensearch/authorizeVpcEndpointAccess:AuthorizeVpcEndpointAccess example authorize_vpc_endpoint_access-id-12345678\n```\n", "properties": { "account": { "type": "string", @@ -315071,7 +315071,7 @@ } }, "aws:opensearch/domain:Domain": { - "description": "Manages an Amazon OpenSearch Domain.\n\n## Elasticsearch vs. OpenSearch\n\nAmazon OpenSearch Service is the successor to Amazon Elasticsearch Service and supports OpenSearch and legacy Elasticsearch OSS (up to 7.10, the final open source version of the software).\n\nOpenSearch Domain configurations are similar in many ways to Elasticsearch Domain configurations. However, there are important differences including these:\n\n* OpenSearch has `engine_version` while Elasticsearch has `elasticsearch_version`\n* Versions are specified differently - _e.g._, `Elasticsearch_7.10` with OpenSearch vs. `7.10` for Elasticsearch.\n* `instance_type` argument values end in `search` for OpenSearch vs. `elasticsearch` for Elasticsearch (_e.g._, `t2.micro.search` vs. `t2.micro.elasticsearch`).\n* The AWS-managed service-linked role for OpenSearch is called `AWSServiceRoleForAmazonOpenSearchService` instead of `AWSServiceRoleForAmazonElasticsearchService` for Elasticsearch.\n\nThere are also some potentially unexpected similarities in configurations:\n\n* ARNs for both are prefaced with `arn:aws:es:`.\n* Both OpenSearch and Elasticsearch use assume role policies that refer to the `Principal` `Service` as `es.amazonaws.com`.\n* IAM policy actions, such as those you will find in `access_policies`, are prefaced with `es:` for both.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"example\",\n engineVersion: \"Elasticsearch_7.10\",\n clusterConfig: {\n instanceType: \"r4.large.search\",\n },\n tags: {\n Domain: \"TestDomain\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"example\",\n engine_version=\"Elasticsearch_7.10\",\n cluster_config={\n \"instance_type\": \"r4.large.search\",\n },\n tags={\n \"Domain\": \"TestDomain\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n EngineVersion = \"Elasticsearch_7.10\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r4.large.search\",\n },\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tEngineVersion: pulumi.String(\"Elasticsearch_7.10\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r4.large.search\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Domain\": pulumi.String(\"TestDomain\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"example\")\n .engineVersion(\"Elasticsearch_7.10\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r4.large.search\")\n .build())\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: example\n engineVersion: Elasticsearch_7.10\n clusterConfig:\n instanceType: r4.large.search\n tags:\n Domain: TestDomain\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Access Policy\n\n\u003e See also: `aws.opensearch.DomainPolicy` resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst domain = config.get(\"domain\") || \"tf-test\";\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst example = Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"es:*\"],\n resources: [`arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*`],\n conditions: [{\n test: \"IpAddress\",\n variable: \"aws:SourceIp\",\n values: [\"66.193.100.22/32\"],\n }],\n }],\n}));\nconst exampleDomain = new aws.opensearch.Domain(\"example\", {\n domainName: domain,\n accessPolicies: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"tf-test\"\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"es:*\"],\n \"resources\": [f\"arn:aws:es:{current.name}:{current_get_caller_identity.account_id}:domain/{domain}/*\"],\n \"conditions\": [{\n \"test\": \"IpAddress\",\n \"variable\": \"aws:SourceIp\",\n \"values\": [\"66.193.100.22/32\"],\n }],\n}])\nexample_domain = aws.opensearch.Domain(\"example\",\n domain_name=domain,\n access_policies=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var domain = config.Get(\"domain\") ?? \"tf-test\";\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:es:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:domain/{domain}/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"IpAddress\",\n Variable = \"aws:SourceIp\",\n Values = new[]\n {\n \"66.193.100.22/32\",\n },\n },\n },\n },\n },\n });\n\n var exampleDomain = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = domain,\n AccessPolicies = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdomain := \"tf-test\"\n\t\tif param := cfg.Get(\"domain\"); param != \"\" {\n\t\t\tdomain = param\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"*\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"*\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"es:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:es:%v:%v:domain/%v/*\", current.Name, currentGetCallerIdentity.AccountId, domain),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"IpAddress\",\n\t\t\t\t\t\t\tVariable: \"aws:SourceIp\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"66.193.100.22/32\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(domain),\n\t\t\tAccessPolicies: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var domain = config.get(\"domain\").orElse(\"tf-test\");\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"es:*\")\n .resources(String.format(\"arn:aws:es:%s:%s:domain/%s/*\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),domain))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"IpAddress\")\n .variable(\"aws:SourceIp\")\n .values(\"66.193.100.22/32\")\n .build())\n .build())\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domainName(domain)\n .accessPolicies(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domain:\n type: string\n default: tf-test\nresources:\n exampleDomain:\n type: aws:opensearch:Domain\n name: example\n properties:\n domainName: ${domain}\n accessPolicies: ${example.json}\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - es:*\n resources:\n - arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\n conditions:\n - test: IpAddress\n variable: aws:SourceIp\n values:\n - 66.193.100.22/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Log publishing to CloudWatch Logs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"es.amazonaws.com\"],\n }],\n actions: [\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n ],\n resources: [\"arn:aws:logs:*\"],\n }],\n});\nconst exampleLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"example\", {\n policyName: \"example\",\n policyDocument: example.then(example =\u003e example.json),\n});\nconst exampleDomain = new aws.opensearch.Domain(\"example\", {logPublishingOptions: [{\n cloudwatchLogGroupArn: exampleLogGroup.arn,\n logType: \"INDEX_SLOW_LOGS\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_log_group = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"es.amazonaws.com\"],\n }],\n \"actions\": [\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n ],\n \"resources\": [\"arn:aws:logs:*\"],\n}])\nexample_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"example\",\n policy_name=\"example\",\n policy_document=example.json)\nexample_domain = aws.opensearch.Domain(\"example\", log_publishing_options=[{\n \"cloudwatch_log_group_arn\": example_log_group.arn,\n \"log_type\": \"INDEX_SLOW_LOGS\",\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"es.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*\",\n },\n },\n },\n });\n\n var exampleLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"example\", new()\n {\n PolicyName = \"example\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDomain = new Aws.OpenSearch.Domain(\"example\", new()\n {\n LogPublishingOptions = new[]\n {\n new Aws.OpenSearch.Inputs.DomainLogPublishingOptionArgs\n {\n CloudwatchLogGroupArn = exampleLogGroup.Arn,\n LogType = \"INDEX_SLOW_LOGS\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"es.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:PutLogEventsBatch\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"example\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyName: pulumi.String(\"example\"),\n\t\t\tPolicyDocument: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tLogPublishingOptions: opensearch.DomainLogPublishingOptionArray{\n\t\t\t\t\u0026opensearch.DomainLogPublishingOptionArgs{\n\t\t\t\t\tCloudwatchLogGroupArn: exampleLogGroup.Arn,\n\t\t\t\t\tLogType: pulumi.String(\"INDEX_SLOW_LOGS\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainLogPublishingOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder()\n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"es.amazonaws.com\")\n .build())\n .actions( \n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\")\n .resources(\"arn:aws:logs:*\")\n .build())\n .build());\n\n var exampleLogResourcePolicy = new LogResourcePolicy(\"exampleLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyName(\"example\")\n .policyDocument(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .logPublishingOptions(DomainLogPublishingOptionArgs.builder()\n .cloudwatchLogGroupArn(exampleLogGroup.arn())\n .logType(\"INDEX_SLOW_LOGS\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: example\n exampleLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: example\n properties:\n policyName: example\n policyDocument: ${example.json}\n exampleDomain:\n type: aws:opensearch:Domain\n name: example\n properties:\n logPublishingOptions:\n - cloudwatchLogGroupArn: ${exampleLogGroup.arn}\n logType: INDEX_SLOW_LOGS\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - es.amazonaws.com\n actions:\n - logs:PutLogEvents\n - logs:PutLogEventsBatch\n - logs:CreateLogStream\n resources:\n - arn:aws:logs:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC based OpenSearch\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst vpc = config.requireObject(\"vpc\");\nconst domain = config.get(\"domain\") || \"tf-test\";\nconst example = aws.ec2.getVpc({\n tags: {\n Name: vpc,\n },\n});\nconst exampleGetSubnets = example.then(example =\u003e aws.ec2.getSubnets({\n filters: [{\n name: \"vpc-id\",\n values: [example.id],\n }],\n tags: {\n Tier: \"private\",\n },\n}));\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst exampleSecurityGroup = new aws.ec2.SecurityGroup(\"example\", {\n name: `${vpc}-opensearch-${domain}`,\n description: \"Managed by Pulumi\",\n vpcId: example.then(example =\u003e example.id),\n ingress: [{\n fromPort: 443,\n toPort: 443,\n protocol: \"tcp\",\n cidrBlocks: [example.then(example =\u003e example.cidrBlock)],\n }],\n});\nconst exampleServiceLinkedRole = new aws.iam.ServiceLinkedRole(\"example\", {awsServiceName: \"opensearchservice.amazonaws.com\"});\nconst exampleGetPolicyDocument = Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"es:*\"],\n resources: [`arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*`],\n }],\n}));\nconst exampleDomain = new aws.opensearch.Domain(\"example\", {\n domainName: domain,\n engineVersion: \"OpenSearch_1.0\",\n clusterConfig: {\n instanceType: \"m4.large.search\",\n zoneAwarenessEnabled: true,\n },\n vpcOptions: {\n subnetIds: [\n exampleGetSubnets.then(exampleGetSubnets =\u003e exampleGetSubnets.ids?.[0]),\n exampleGetSubnets.then(exampleGetSubnets =\u003e exampleGetSubnets.ids?.[1]),\n ],\n securityGroupIds: [exampleSecurityGroup.id],\n },\n advancedOptions: {\n \"rest.action.multi.allow_explicit_index\": \"true\",\n },\n accessPolicies: exampleGetPolicyDocument.then(exampleGetPolicyDocument =\u003e exampleGetPolicyDocument.json),\n tags: {\n Domain: \"TestDomain\",\n },\n}, {\n dependsOn: [exampleServiceLinkedRole],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nvpc = config.require_object(\"vpc\")\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"tf-test\"\nexample = aws.ec2.get_vpc(tags={\n \"Name\": vpc,\n})\nexample_get_subnets = aws.ec2.get_subnets(filters=[{\n \"name\": \"vpc-id\",\n \"values\": [example.id],\n }],\n tags={\n \"Tier\": \"private\",\n })\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample_security_group = aws.ec2.SecurityGroup(\"example\",\n name=f\"{vpc}-opensearch-{domain}\",\n description=\"Managed by Pulumi\",\n vpc_id=example.id,\n ingress=[{\n \"from_port\": 443,\n \"to_port\": 443,\n \"protocol\": \"tcp\",\n \"cidr_blocks\": [example.cidr_block],\n }])\nexample_service_linked_role = aws.iam.ServiceLinkedRole(\"example\", aws_service_name=\"opensearchservice.amazonaws.com\")\nexample_get_policy_document = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"es:*\"],\n \"resources\": [f\"arn:aws:es:{current.name}:{current_get_caller_identity.account_id}:domain/{domain}/*\"],\n}])\nexample_domain = aws.opensearch.Domain(\"example\",\n domain_name=domain,\n engine_version=\"OpenSearch_1.0\",\n cluster_config={\n \"instance_type\": \"m4.large.search\",\n \"zone_awareness_enabled\": True,\n },\n vpc_options={\n \"subnet_ids\": [\n example_get_subnets.ids[0],\n example_get_subnets.ids[1],\n ],\n \"security_group_ids\": [example_security_group.id],\n },\n advanced_options={\n \"rest.action.multi.allow_explicit_index\": \"true\",\n },\n access_policies=example_get_policy_document.json,\n tags={\n \"Domain\": \"TestDomain\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example_service_linked_role]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var vpc = config.RequireObject\u003cdynamic\u003e(\"vpc\");\n var domain = config.Get(\"domain\") ?? \"tf-test\";\n var example = Aws.Ec2.GetVpc.Invoke(new()\n {\n Tags = \n {\n { \"Name\", vpc },\n },\n });\n\n var exampleGetSubnets = Aws.Ec2.GetSubnets.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSubnetsFilterInputArgs\n {\n Name = \"vpc-id\",\n Values = new[]\n {\n example.Apply(getVpcResult =\u003e getVpcResult.Id),\n },\n },\n },\n Tags = \n {\n { \"Tier\", \"private\" },\n },\n });\n\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var exampleSecurityGroup = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = $\"{vpc}-opensearch-{domain}\",\n Description = \"Managed by Pulumi\",\n VpcId = example.Apply(getVpcResult =\u003e getVpcResult.Id),\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n {\n FromPort = 443,\n ToPort = 443,\n Protocol = \"tcp\",\n CidrBlocks = new[]\n {\n example.Apply(getVpcResult =\u003e getVpcResult.CidrBlock),\n },\n },\n },\n });\n\n var exampleServiceLinkedRole = new Aws.Iam.ServiceLinkedRole(\"example\", new()\n {\n AwsServiceName = \"opensearchservice.amazonaws.com\",\n });\n\n var exampleGetPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:es:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:domain/{domain}/*\",\n },\n },\n },\n });\n\n var exampleDomain = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = domain,\n EngineVersion = \"OpenSearch_1.0\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"m4.large.search\",\n ZoneAwarenessEnabled = true,\n },\n VpcOptions = new Aws.OpenSearch.Inputs.DomainVpcOptionsArgs\n {\n SubnetIds = new[]\n {\n exampleGetSubnets.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[0]),\n exampleGetSubnets.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[1]),\n },\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n },\n AdvancedOptions = \n {\n { \"rest.action.multi.allow_explicit_index\", \"true\" },\n },\n AccessPolicies = exampleGetPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleServiceLinkedRole,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nvpc := cfg.RequireObject(\"vpc\")\ndomain := \"tf-test\";\nif param := cfg.Get(\"domain\"); param != \"\"{\ndomain = param\n}\nexample, err := ec2.LookupVpc(ctx, \u0026ec2.LookupVpcArgs{\nTags: pulumi.StringMap{\n\"Name\": vpc,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleGetSubnets, err := ec2.GetSubnets(ctx, \u0026ec2.GetSubnetsArgs{\nFilters: []ec2.GetSubnetsFilter{\n{\nName: \"vpc-id\",\nValues: interface{}{\nexample.Id,\n},\n},\n},\nTags: map[string]interface{}{\n\"Tier\": \"private\",\n},\n}, nil);\nif err != nil {\nreturn err\n}\ncurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ncurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nexampleSecurityGroup, err := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\nName: pulumi.Sprintf(\"%v-opensearch-%v\", vpc, domain),\nDescription: pulumi.String(\"Managed by Pulumi\"),\nVpcId: pulumi.String(example.Id),\nIngress: ec2.SecurityGroupIngressArray{\n\u0026ec2.SecurityGroupIngressArgs{\nFromPort: pulumi.Int(443),\nToPort: pulumi.Int(443),\nProtocol: pulumi.String(\"tcp\"),\nCidrBlocks: pulumi.StringArray{\npulumi.String(example.CidrBlock),\n},\n},\n},\n})\nif err != nil {\nreturn err\n}\nexampleServiceLinkedRole, err := iam.NewServiceLinkedRole(ctx, \"example\", \u0026iam.ServiceLinkedRoleArgs{\nAwsServiceName: pulumi.String(\"opensearchservice.amazonaws.com\"),\n})\nif err != nil {\nreturn err\n}\nexampleGetPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"*\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nActions: []string{\n\"es:*\",\n},\nResources: []string{\nfmt.Sprintf(\"arn:aws:es:%v:%v:domain/%v/*\", current.Name, currentGetCallerIdentity.AccountId, domain),\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\nDomainName: pulumi.String(domain),\nEngineVersion: pulumi.String(\"OpenSearch_1.0\"),\nClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\nInstanceType: pulumi.String(\"m4.large.search\"),\nZoneAwarenessEnabled: pulumi.Bool(true),\n},\nVpcOptions: \u0026opensearch.DomainVpcOptionsArgs{\nSubnetIds: pulumi.StringArray{\npulumi.String(exampleGetSubnets.Ids[0]),\npulumi.String(exampleGetSubnets.Ids[1]),\n},\nSecurityGroupIds: pulumi.StringArray{\nexampleSecurityGroup.ID(),\n},\n},\nAdvancedOptions: pulumi.StringMap{\n\"rest.action.multi.allow_explicit_index\": pulumi.String(\"true\"),\n},\nAccessPolicies: pulumi.String(exampleGetPolicyDocument.Json),\nTags: pulumi.StringMap{\n\"Domain\": pulumi.String(\"TestDomain\"),\n},\n}, pulumi.DependsOn([]pulumi.Resource{\nexampleServiceLinkedRole,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcArgs;\nimport com.pulumi.aws.ec2.inputs.GetSubnetsArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;\nimport com.pulumi.aws.iam.ServiceLinkedRole;\nimport com.pulumi.aws.iam.ServiceLinkedRoleArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var vpc = config.get(\"vpc\");\n final var domain = config.get(\"domain\").orElse(\"tf-test\");\n final var example = Ec2Functions.getVpc(GetVpcArgs.builder()\n .tags(Map.of(\"Name\", vpc))\n .build());\n\n final var exampleGetSubnets = Ec2Functions.getSubnets(GetSubnetsArgs.builder()\n .filters(GetSubnetsFilterArgs.builder()\n .name(\"vpc-id\")\n .values(example.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .build())\n .tags(Map.of(\"Tier\", \"private\"))\n .build());\n\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(String.format(\"%s-opensearch-%s\", vpc,domain))\n .description(\"Managed by Pulumi\")\n .vpcId(example.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .ingress(SecurityGroupIngressArgs.builder()\n .fromPort(443)\n .toPort(443)\n .protocol(\"tcp\")\n .cidrBlocks(example.applyValue(getVpcResult -\u003e getVpcResult.cidrBlock()))\n .build())\n .build());\n\n var exampleServiceLinkedRole = new ServiceLinkedRole(\"exampleServiceLinkedRole\", ServiceLinkedRoleArgs.builder()\n .awsServiceName(\"opensearchservice.amazonaws.com\")\n .build());\n\n final var exampleGetPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"es:*\")\n .resources(String.format(\"arn:aws:es:%s:%s:domain/%s/*\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),domain))\n .build())\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domainName(domain)\n .engineVersion(\"OpenSearch_1.0\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"m4.large.search\")\n .zoneAwarenessEnabled(true)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .subnetIds( \n exampleGetSubnets.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[0]),\n exampleGetSubnets.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[1]))\n .securityGroupIds(exampleSecurityGroup.id())\n .build())\n .advancedOptions(Map.of(\"rest.action.multi.allow_explicit_index\", \"true\"))\n .accessPolicies(exampleGetPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleServiceLinkedRole)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n vpc:\n type: dynamic\n domain:\n type: string\n default: tf-test\nresources:\n exampleSecurityGroup:\n type: aws:ec2:SecurityGroup\n name: example\n properties:\n name: ${vpc}-opensearch-${domain}\n description: Managed by Pulumi\n vpcId: ${example.id}\n ingress:\n - fromPort: 443\n toPort: 443\n protocol: tcp\n cidrBlocks:\n - ${example.cidrBlock}\n exampleServiceLinkedRole:\n type: aws:iam:ServiceLinkedRole\n name: example\n properties:\n awsServiceName: opensearchservice.amazonaws.com\n exampleDomain:\n type: aws:opensearch:Domain\n name: example\n properties:\n domainName: ${domain}\n engineVersion: OpenSearch_1.0\n clusterConfig:\n instanceType: m4.large.search\n zoneAwarenessEnabled: true\n vpcOptions:\n subnetIds:\n - ${exampleGetSubnets.ids[0]}\n - ${exampleGetSubnets.ids[1]}\n securityGroupIds:\n - ${exampleSecurityGroup.id}\n advancedOptions:\n rest.action.multi.allow_explicit_index: 'true'\n accessPolicies: ${exampleGetPolicyDocument.json}\n tags:\n Domain: TestDomain\n options:\n dependsOn:\n - ${exampleServiceLinkedRole}\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getVpc\n arguments:\n tags:\n Name: ${vpc}\n exampleGetSubnets:\n fn::invoke:\n function: aws:ec2:getSubnets\n arguments:\n filters:\n - name: vpc-id\n values:\n - ${example.id}\n tags:\n Tier: private\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n exampleGetPolicyDocument:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - es:*\n resources:\n - arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enabling fine-grained access control on an existing domain\n\nThis example shows two configurations: one to create a domain without fine-grained access control and the second to modify the domain to enable fine-grained access control. For more information, see [Enabling fine-grained access control](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html).\n\n### First apply\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"ggkitty\",\n engineVersion: \"Elasticsearch_7.1\",\n clusterConfig: {\n instanceType: \"r5.large.search\",\n },\n advancedSecurityOptions: {\n enabled: false,\n anonymousAuthEnabled: true,\n internalUserDatabaseEnabled: true,\n masterUserOptions: {\n masterUserName: \"example\",\n masterUserPassword: \"Barbarbarbar1!\",\n },\n },\n encryptAtRest: {\n enabled: true,\n },\n domainEndpointOptions: {\n enforceHttps: true,\n tlsSecurityPolicy: \"Policy-Min-TLS-1-2-2019-07\",\n },\n nodeToNodeEncryption: {\n enabled: true,\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"ggkitty\",\n engine_version=\"Elasticsearch_7.1\",\n cluster_config={\n \"instance_type\": \"r5.large.search\",\n },\n advanced_security_options={\n \"enabled\": False,\n \"anonymous_auth_enabled\": True,\n \"internal_user_database_enabled\": True,\n \"master_user_options\": {\n \"master_user_name\": \"example\",\n \"master_user_password\": \"Barbarbarbar1!\",\n },\n },\n encrypt_at_rest={\n \"enabled\": True,\n },\n domain_endpoint_options={\n \"enforce_https\": True,\n \"tls_security_policy\": \"Policy-Min-TLS-1-2-2019-07\",\n },\n node_to_node_encryption={\n \"enabled\": True,\n },\n ebs_options={\n \"ebs_enabled\": True,\n \"volume_size\": 10,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"ggkitty\",\n EngineVersion = \"Elasticsearch_7.1\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r5.large.search\",\n },\n AdvancedSecurityOptions = new Aws.OpenSearch.Inputs.DomainAdvancedSecurityOptionsArgs\n {\n Enabled = false,\n AnonymousAuthEnabled = true,\n InternalUserDatabaseEnabled = true,\n MasterUserOptions = new Aws.OpenSearch.Inputs.DomainAdvancedSecurityOptionsMasterUserOptionsArgs\n {\n MasterUserName = \"example\",\n MasterUserPassword = \"Barbarbarbar1!\",\n },\n },\n EncryptAtRest = new Aws.OpenSearch.Inputs.DomainEncryptAtRestArgs\n {\n Enabled = true,\n },\n DomainEndpointOptions = new Aws.OpenSearch.Inputs.DomainDomainEndpointOptionsArgs\n {\n EnforceHttps = true,\n TlsSecurityPolicy = \"Policy-Min-TLS-1-2-2019-07\",\n },\n NodeToNodeEncryption = new Aws.OpenSearch.Inputs.DomainNodeToNodeEncryptionArgs\n {\n Enabled = true,\n },\n EbsOptions = new Aws.OpenSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"ggkitty\"),\n\t\t\tEngineVersion: pulumi.String(\"Elasticsearch_7.1\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r5.large.search\"),\n\t\t\t},\n\t\t\tAdvancedSecurityOptions: \u0026opensearch.DomainAdvancedSecurityOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\tAnonymousAuthEnabled: pulumi.Bool(true),\n\t\t\t\tInternalUserDatabaseEnabled: pulumi.Bool(true),\n\t\t\t\tMasterUserOptions: \u0026opensearch.DomainAdvancedSecurityOptionsMasterUserOptionsArgs{\n\t\t\t\t\tMasterUserName: pulumi.String(\"example\"),\n\t\t\t\t\tMasterUserPassword: pulumi.String(\"Barbarbarbar1!\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEncryptAtRest: \u0026opensearch.DomainEncryptAtRestArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tDomainEndpointOptions: \u0026opensearch.DomainDomainEndpointOptionsArgs{\n\t\t\t\tEnforceHttps: pulumi.Bool(true),\n\t\t\t\tTlsSecurityPolicy: pulumi.String(\"Policy-Min-TLS-1-2-2019-07\"),\n\t\t\t},\n\t\t\tNodeToNodeEncryption: \u0026opensearch.DomainNodeToNodeEncryptionArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tEbsOptions: \u0026opensearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainAdvancedSecurityOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainAdvancedSecurityOptionsMasterUserOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEncryptAtRestArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainDomainEndpointOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainNodeToNodeEncryptionArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEbsOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"ggkitty\")\n .engineVersion(\"Elasticsearch_7.1\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r5.large.search\")\n .build())\n .advancedSecurityOptions(DomainAdvancedSecurityOptionsArgs.builder()\n .enabled(false)\n .anonymousAuthEnabled(true)\n .internalUserDatabaseEnabled(true)\n .masterUserOptions(DomainAdvancedSecurityOptionsMasterUserOptionsArgs.builder()\n .masterUserName(\"example\")\n .masterUserPassword(\"Barbarbarbar1!\")\n .build())\n .build())\n .encryptAtRest(DomainEncryptAtRestArgs.builder()\n .enabled(true)\n .build())\n .domainEndpointOptions(DomainDomainEndpointOptionsArgs.builder()\n .enforceHttps(true)\n .tlsSecurityPolicy(\"Policy-Min-TLS-1-2-2019-07\")\n .build())\n .nodeToNodeEncryption(DomainNodeToNodeEncryptionArgs.builder()\n .enabled(true)\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: ggkitty\n engineVersion: Elasticsearch_7.1\n clusterConfig:\n instanceType: r5.large.search\n advancedSecurityOptions:\n enabled: false\n anonymousAuthEnabled: true\n internalUserDatabaseEnabled: true\n masterUserOptions:\n masterUserName: example\n masterUserPassword: Barbarbarbar1!\n encryptAtRest:\n enabled: true\n domainEndpointOptions:\n enforceHttps: true\n tlsSecurityPolicy: Policy-Min-TLS-1-2-2019-07\n nodeToNodeEncryption:\n enabled: true\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Second apply\n\nNotice that the only change is `advanced_security_options.0.enabled` is now set to `true`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"ggkitty\",\n engineVersion: \"Elasticsearch_7.1\",\n clusterConfig: {\n instanceType: \"r5.large.search\",\n },\n advancedSecurityOptions: {\n enabled: true,\n anonymousAuthEnabled: true,\n internalUserDatabaseEnabled: true,\n masterUserOptions: {\n masterUserName: \"example\",\n masterUserPassword: \"Barbarbarbar1!\",\n },\n },\n encryptAtRest: {\n enabled: true,\n },\n domainEndpointOptions: {\n enforceHttps: true,\n tlsSecurityPolicy: \"Policy-Min-TLS-1-2-2019-07\",\n },\n nodeToNodeEncryption: {\n enabled: true,\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"ggkitty\",\n engine_version=\"Elasticsearch_7.1\",\n cluster_config={\n \"instance_type\": \"r5.large.search\",\n },\n advanced_security_options={\n \"enabled\": True,\n \"anonymous_auth_enabled\": True,\n \"internal_user_database_enabled\": True,\n \"master_user_options\": {\n \"master_user_name\": \"example\",\n \"master_user_password\": \"Barbarbarbar1!\",\n },\n },\n encrypt_at_rest={\n \"enabled\": True,\n },\n domain_endpoint_options={\n \"enforce_https\": True,\n \"tls_security_policy\": \"Policy-Min-TLS-1-2-2019-07\",\n },\n node_to_node_encryption={\n \"enabled\": True,\n },\n ebs_options={\n \"ebs_enabled\": True,\n \"volume_size\": 10,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"ggkitty\",\n EngineVersion = \"Elasticsearch_7.1\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r5.large.search\",\n },\n AdvancedSecurityOptions = new Aws.OpenSearch.Inputs.DomainAdvancedSecurityOptionsArgs\n {\n Enabled = true,\n AnonymousAuthEnabled = true,\n InternalUserDatabaseEnabled = true,\n MasterUserOptions = new Aws.OpenSearch.Inputs.DomainAdvancedSecurityOptionsMasterUserOptionsArgs\n {\n MasterUserName = \"example\",\n MasterUserPassword = \"Barbarbarbar1!\",\n },\n },\n EncryptAtRest = new Aws.OpenSearch.Inputs.DomainEncryptAtRestArgs\n {\n Enabled = true,\n },\n DomainEndpointOptions = new Aws.OpenSearch.Inputs.DomainDomainEndpointOptionsArgs\n {\n EnforceHttps = true,\n TlsSecurityPolicy = \"Policy-Min-TLS-1-2-2019-07\",\n },\n NodeToNodeEncryption = new Aws.OpenSearch.Inputs.DomainNodeToNodeEncryptionArgs\n {\n Enabled = true,\n },\n EbsOptions = new Aws.OpenSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"ggkitty\"),\n\t\t\tEngineVersion: pulumi.String(\"Elasticsearch_7.1\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r5.large.search\"),\n\t\t\t},\n\t\t\tAdvancedSecurityOptions: \u0026opensearch.DomainAdvancedSecurityOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tAnonymousAuthEnabled: pulumi.Bool(true),\n\t\t\t\tInternalUserDatabaseEnabled: pulumi.Bool(true),\n\t\t\t\tMasterUserOptions: \u0026opensearch.DomainAdvancedSecurityOptionsMasterUserOptionsArgs{\n\t\t\t\t\tMasterUserName: pulumi.String(\"example\"),\n\t\t\t\t\tMasterUserPassword: pulumi.String(\"Barbarbarbar1!\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEncryptAtRest: \u0026opensearch.DomainEncryptAtRestArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tDomainEndpointOptions: \u0026opensearch.DomainDomainEndpointOptionsArgs{\n\t\t\t\tEnforceHttps: pulumi.Bool(true),\n\t\t\t\tTlsSecurityPolicy: pulumi.String(\"Policy-Min-TLS-1-2-2019-07\"),\n\t\t\t},\n\t\t\tNodeToNodeEncryption: \u0026opensearch.DomainNodeToNodeEncryptionArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tEbsOptions: \u0026opensearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainAdvancedSecurityOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainAdvancedSecurityOptionsMasterUserOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEncryptAtRestArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainDomainEndpointOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainNodeToNodeEncryptionArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEbsOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"ggkitty\")\n .engineVersion(\"Elasticsearch_7.1\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r5.large.search\")\n .build())\n .advancedSecurityOptions(DomainAdvancedSecurityOptionsArgs.builder()\n .enabled(true)\n .anonymousAuthEnabled(true)\n .internalUserDatabaseEnabled(true)\n .masterUserOptions(DomainAdvancedSecurityOptionsMasterUserOptionsArgs.builder()\n .masterUserName(\"example\")\n .masterUserPassword(\"Barbarbarbar1!\")\n .build())\n .build())\n .encryptAtRest(DomainEncryptAtRestArgs.builder()\n .enabled(true)\n .build())\n .domainEndpointOptions(DomainDomainEndpointOptionsArgs.builder()\n .enforceHttps(true)\n .tlsSecurityPolicy(\"Policy-Min-TLS-1-2-2019-07\")\n .build())\n .nodeToNodeEncryption(DomainNodeToNodeEncryptionArgs.builder()\n .enabled(true)\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: ggkitty\n engineVersion: Elasticsearch_7.1\n clusterConfig:\n instanceType: r5.large.search\n advancedSecurityOptions:\n enabled: true\n anonymousAuthEnabled: true\n internalUserDatabaseEnabled: true\n masterUserOptions:\n masterUserName: example\n masterUserPassword: Barbarbarbar1!\n encryptAtRest:\n enabled: true\n domainEndpointOptions:\n enforceHttps: true\n tlsSecurityPolicy: Policy-Min-TLS-1-2-2019-07\n nodeToNodeEncryption:\n enabled: true\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearch domains using the `domain_name`. For example:\n\n```sh\n$ pulumi import aws:opensearch/domain:Domain example domain_name\n```\n", + "description": "Manages an Amazon OpenSearch Domain.\n\n## Elasticsearch vs. OpenSearch\n\nAmazon OpenSearch Service is the successor to Amazon Elasticsearch Service and supports OpenSearch and legacy Elasticsearch OSS (up to 7.10, the final open source version of the software).\n\nOpenSearch Domain configurations are similar in many ways to Elasticsearch Domain configurations. However, there are important differences including these:\n\n* OpenSearch has `engine_version` while Elasticsearch has `elasticsearch_version`\n* Versions are specified differently - _e.g._, `Elasticsearch_7.10` with OpenSearch vs. `7.10` for Elasticsearch.\n* `instance_type` argument values end in `search` for OpenSearch vs. `elasticsearch` for Elasticsearch (_e.g._, `t2.micro.search` vs. `t2.micro.elasticsearch`).\n* The AWS-managed service-linked role for OpenSearch is called `AWSServiceRoleForAmazonOpenSearchService` instead of `AWSServiceRoleForAmazonElasticsearchService` for Elasticsearch.\n\nThere are also some potentially unexpected similarities in configurations:\n\n* ARNs for both are prefaced with `arn:aws:es:`.\n* Both OpenSearch and Elasticsearch use assume role policies that refer to the `Principal` `Service` as `es.amazonaws.com`.\n* IAM policy actions, such as those you will find in `access_policies`, are prefaced with `es:` for both.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"example\",\n engineVersion: \"Elasticsearch_7.10\",\n clusterConfig: {\n instanceType: \"r4.large.search\",\n },\n tags: {\n Domain: \"TestDomain\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"example\",\n engine_version=\"Elasticsearch_7.10\",\n cluster_config={\n \"instance_type\": \"r4.large.search\",\n },\n tags={\n \"Domain\": \"TestDomain\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n EngineVersion = \"Elasticsearch_7.10\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r4.large.search\",\n },\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tEngineVersion: pulumi.String(\"Elasticsearch_7.10\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r4.large.search\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Domain\": pulumi.String(\"TestDomain\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"example\")\n .engineVersion(\"Elasticsearch_7.10\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r4.large.search\")\n .build())\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: example\n engineVersion: Elasticsearch_7.10\n clusterConfig:\n instanceType: r4.large.search\n tags:\n Domain: TestDomain\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Access Policy\n\n\u003e See also: `aws.opensearch.DomainPolicy` resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst domain = config.get(\"domain\") || \"tf-test\";\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst example = Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"es:*\"],\n resources: [`arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*`],\n conditions: [{\n test: \"IpAddress\",\n variable: \"aws:SourceIp\",\n values: [\"66.193.100.22/32\"],\n }],\n }],\n}));\nconst exampleDomain = new aws.opensearch.Domain(\"example\", {\n domainName: domain,\n accessPolicies: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"tf-test\"\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"es:*\"],\n \"resources\": [f\"arn:aws:es:{current.name}:{current_get_caller_identity.account_id}:domain/{domain}/*\"],\n \"conditions\": [{\n \"test\": \"IpAddress\",\n \"variable\": \"aws:SourceIp\",\n \"values\": [\"66.193.100.22/32\"],\n }],\n}])\nexample_domain = aws.opensearch.Domain(\"example\",\n domain_name=domain,\n access_policies=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var domain = config.Get(\"domain\") ?? \"tf-test\";\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:es:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:domain/{domain}/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"IpAddress\",\n Variable = \"aws:SourceIp\",\n Values = new[]\n {\n \"66.193.100.22/32\",\n },\n },\n },\n },\n },\n });\n\n var exampleDomain = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = domain,\n AccessPolicies = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdomain := \"tf-test\"\n\t\tif param := cfg.Get(\"domain\"); param != \"\" {\n\t\t\tdomain = param\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"*\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"*\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"es:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:es:%v:%v:domain/%v/*\", current.Name, currentGetCallerIdentity.AccountId, domain),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"IpAddress\",\n\t\t\t\t\t\t\tVariable: \"aws:SourceIp\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"66.193.100.22/32\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(domain),\n\t\t\tAccessPolicies: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var domain = config.get(\"domain\").orElse(\"tf-test\");\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"es:*\")\n .resources(String.format(\"arn:aws:es:%s:%s:domain/%s/*\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),domain))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"IpAddress\")\n .variable(\"aws:SourceIp\")\n .values(\"66.193.100.22/32\")\n .build())\n .build())\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domainName(domain)\n .accessPolicies(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domain:\n type: string\n default: tf-test\nresources:\n exampleDomain:\n type: aws:opensearch:Domain\n name: example\n properties:\n domainName: ${domain}\n accessPolicies: ${example.json}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - es:*\n resources:\n - arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\n conditions:\n - test: IpAddress\n variable: aws:SourceIp\n values:\n - 66.193.100.22/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Log publishing to CloudWatch Logs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"es.amazonaws.com\"],\n }],\n actions: [\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n ],\n resources: [\"arn:aws:logs:*\"],\n }],\n});\nconst exampleLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"example\", {\n policyName: \"example\",\n policyDocument: example.then(example =\u003e example.json),\n});\nconst exampleDomain = new aws.opensearch.Domain(\"example\", {logPublishingOptions: [{\n cloudwatchLogGroupArn: exampleLogGroup.arn,\n logType: \"INDEX_SLOW_LOGS\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_log_group = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"es.amazonaws.com\"],\n }],\n \"actions\": [\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n ],\n \"resources\": [\"arn:aws:logs:*\"],\n}])\nexample_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"example\",\n policy_name=\"example\",\n policy_document=example.json)\nexample_domain = aws.opensearch.Domain(\"example\", log_publishing_options=[{\n \"cloudwatch_log_group_arn\": example_log_group.arn,\n \"log_type\": \"INDEX_SLOW_LOGS\",\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"es.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*\",\n },\n },\n },\n });\n\n var exampleLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"example\", new()\n {\n PolicyName = \"example\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDomain = new Aws.OpenSearch.Domain(\"example\", new()\n {\n LogPublishingOptions = new[]\n {\n new Aws.OpenSearch.Inputs.DomainLogPublishingOptionArgs\n {\n CloudwatchLogGroupArn = exampleLogGroup.Arn,\n LogType = \"INDEX_SLOW_LOGS\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"es.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:PutLogEventsBatch\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"example\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyName: pulumi.String(\"example\"),\n\t\t\tPolicyDocument: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tLogPublishingOptions: opensearch.DomainLogPublishingOptionArray{\n\t\t\t\t\u0026opensearch.DomainLogPublishingOptionArgs{\n\t\t\t\t\tCloudwatchLogGroupArn: exampleLogGroup.Arn,\n\t\t\t\t\tLogType: pulumi.String(\"INDEX_SLOW_LOGS\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainLogPublishingOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder()\n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"es.amazonaws.com\")\n .build())\n .actions( \n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\")\n .resources(\"arn:aws:logs:*\")\n .build())\n .build());\n\n var exampleLogResourcePolicy = new LogResourcePolicy(\"exampleLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyName(\"example\")\n .policyDocument(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .logPublishingOptions(DomainLogPublishingOptionArgs.builder()\n .cloudwatchLogGroupArn(exampleLogGroup.arn())\n .logType(\"INDEX_SLOW_LOGS\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: example\n exampleLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: example\n properties:\n policyName: example\n policyDocument: ${example.json}\n exampleDomain:\n type: aws:opensearch:Domain\n name: example\n properties:\n logPublishingOptions:\n - cloudwatchLogGroupArn: ${exampleLogGroup.arn}\n logType: INDEX_SLOW_LOGS\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - es.amazonaws.com\n actions:\n - logs:PutLogEvents\n - logs:PutLogEventsBatch\n - logs:CreateLogStream\n resources:\n - arn:aws:logs:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC based OpenSearch\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst vpc = config.requireObject(\"vpc\");\nconst domain = config.get(\"domain\") || \"tf-test\";\nconst example = aws.ec2.getVpc({\n tags: {\n Name: vpc,\n },\n});\nconst exampleGetSubnets = example.then(example =\u003e aws.ec2.getSubnets({\n filters: [{\n name: \"vpc-id\",\n values: [example.id],\n }],\n tags: {\n Tier: \"private\",\n },\n}));\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst exampleSecurityGroup = new aws.ec2.SecurityGroup(\"example\", {\n name: `${vpc}-opensearch-${domain}`,\n description: \"Managed by Pulumi\",\n vpcId: example.then(example =\u003e example.id),\n ingress: [{\n fromPort: 443,\n toPort: 443,\n protocol: \"tcp\",\n cidrBlocks: [example.then(example =\u003e example.cidrBlock)],\n }],\n});\nconst exampleServiceLinkedRole = new aws.iam.ServiceLinkedRole(\"example\", {awsServiceName: \"opensearchservice.amazonaws.com\"});\nconst exampleGetPolicyDocument = Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"es:*\"],\n resources: [`arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*`],\n }],\n}));\nconst exampleDomain = new aws.opensearch.Domain(\"example\", {\n domainName: domain,\n engineVersion: \"OpenSearch_1.0\",\n clusterConfig: {\n instanceType: \"m4.large.search\",\n zoneAwarenessEnabled: true,\n },\n vpcOptions: {\n subnetIds: [\n exampleGetSubnets.then(exampleGetSubnets =\u003e exampleGetSubnets.ids?.[0]),\n exampleGetSubnets.then(exampleGetSubnets =\u003e exampleGetSubnets.ids?.[1]),\n ],\n securityGroupIds: [exampleSecurityGroup.id],\n },\n advancedOptions: {\n \"rest.action.multi.allow_explicit_index\": \"true\",\n },\n accessPolicies: exampleGetPolicyDocument.then(exampleGetPolicyDocument =\u003e exampleGetPolicyDocument.json),\n tags: {\n Domain: \"TestDomain\",\n },\n}, {\n dependsOn: [exampleServiceLinkedRole],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nvpc = config.require_object(\"vpc\")\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"tf-test\"\nexample = aws.ec2.get_vpc(tags={\n \"Name\": vpc,\n})\nexample_get_subnets = aws.ec2.get_subnets(filters=[{\n \"name\": \"vpc-id\",\n \"values\": [example.id],\n }],\n tags={\n \"Tier\": \"private\",\n })\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample_security_group = aws.ec2.SecurityGroup(\"example\",\n name=f\"{vpc}-opensearch-{domain}\",\n description=\"Managed by Pulumi\",\n vpc_id=example.id,\n ingress=[{\n \"from_port\": 443,\n \"to_port\": 443,\n \"protocol\": \"tcp\",\n \"cidr_blocks\": [example.cidr_block],\n }])\nexample_service_linked_role = aws.iam.ServiceLinkedRole(\"example\", aws_service_name=\"opensearchservice.amazonaws.com\")\nexample_get_policy_document = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"es:*\"],\n \"resources\": [f\"arn:aws:es:{current.name}:{current_get_caller_identity.account_id}:domain/{domain}/*\"],\n}])\nexample_domain = aws.opensearch.Domain(\"example\",\n domain_name=domain,\n engine_version=\"OpenSearch_1.0\",\n cluster_config={\n \"instance_type\": \"m4.large.search\",\n \"zone_awareness_enabled\": True,\n },\n vpc_options={\n \"subnet_ids\": [\n example_get_subnets.ids[0],\n example_get_subnets.ids[1],\n ],\n \"security_group_ids\": [example_security_group.id],\n },\n advanced_options={\n \"rest.action.multi.allow_explicit_index\": \"true\",\n },\n access_policies=example_get_policy_document.json,\n tags={\n \"Domain\": \"TestDomain\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example_service_linked_role]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var vpc = config.RequireObject\u003cdynamic\u003e(\"vpc\");\n var domain = config.Get(\"domain\") ?? \"tf-test\";\n var example = Aws.Ec2.GetVpc.Invoke(new()\n {\n Tags = \n {\n { \"Name\", vpc },\n },\n });\n\n var exampleGetSubnets = Aws.Ec2.GetSubnets.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSubnetsFilterInputArgs\n {\n Name = \"vpc-id\",\n Values = new[]\n {\n example.Apply(getVpcResult =\u003e getVpcResult.Id),\n },\n },\n },\n Tags = \n {\n { \"Tier\", \"private\" },\n },\n });\n\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var exampleSecurityGroup = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = $\"{vpc}-opensearch-{domain}\",\n Description = \"Managed by Pulumi\",\n VpcId = example.Apply(getVpcResult =\u003e getVpcResult.Id),\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n {\n FromPort = 443,\n ToPort = 443,\n Protocol = \"tcp\",\n CidrBlocks = new[]\n {\n example.Apply(getVpcResult =\u003e getVpcResult.CidrBlock),\n },\n },\n },\n });\n\n var exampleServiceLinkedRole = new Aws.Iam.ServiceLinkedRole(\"example\", new()\n {\n AwsServiceName = \"opensearchservice.amazonaws.com\",\n });\n\n var exampleGetPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:es:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:domain/{domain}/*\",\n },\n },\n },\n });\n\n var exampleDomain = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = domain,\n EngineVersion = \"OpenSearch_1.0\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"m4.large.search\",\n ZoneAwarenessEnabled = true,\n },\n VpcOptions = new Aws.OpenSearch.Inputs.DomainVpcOptionsArgs\n {\n SubnetIds = new[]\n {\n exampleGetSubnets.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[0]),\n exampleGetSubnets.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[1]),\n },\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n },\n AdvancedOptions = \n {\n { \"rest.action.multi.allow_explicit_index\", \"true\" },\n },\n AccessPolicies = exampleGetPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleServiceLinkedRole,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nvpc := cfg.RequireObject(\"vpc\")\ndomain := \"tf-test\";\nif param := cfg.Get(\"domain\"); param != \"\"{\ndomain = param\n}\nexample, err := ec2.LookupVpc(ctx, \u0026ec2.LookupVpcArgs{\nTags: pulumi.StringMap{\n\"Name\": vpc,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleGetSubnets, err := ec2.GetSubnets(ctx, \u0026ec2.GetSubnetsArgs{\nFilters: []ec2.GetSubnetsFilter{\n{\nName: \"vpc-id\",\nValues: interface{}{\nexample.Id,\n},\n},\n},\nTags: map[string]interface{}{\n\"Tier\": \"private\",\n},\n}, nil);\nif err != nil {\nreturn err\n}\ncurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ncurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nexampleSecurityGroup, err := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\nName: pulumi.Sprintf(\"%v-opensearch-%v\", vpc, domain),\nDescription: pulumi.String(\"Managed by Pulumi\"),\nVpcId: pulumi.String(example.Id),\nIngress: ec2.SecurityGroupIngressArray{\n\u0026ec2.SecurityGroupIngressArgs{\nFromPort: pulumi.Int(443),\nToPort: pulumi.Int(443),\nProtocol: pulumi.String(\"tcp\"),\nCidrBlocks: pulumi.StringArray{\npulumi.String(example.CidrBlock),\n},\n},\n},\n})\nif err != nil {\nreturn err\n}\nexampleServiceLinkedRole, err := iam.NewServiceLinkedRole(ctx, \"example\", \u0026iam.ServiceLinkedRoleArgs{\nAwsServiceName: pulumi.String(\"opensearchservice.amazonaws.com\"),\n})\nif err != nil {\nreturn err\n}\nexampleGetPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"*\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nActions: []string{\n\"es:*\",\n},\nResources: []string{\nfmt.Sprintf(\"arn:aws:es:%v:%v:domain/%v/*\", current.Name, currentGetCallerIdentity.AccountId, domain),\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\nDomainName: pulumi.String(domain),\nEngineVersion: pulumi.String(\"OpenSearch_1.0\"),\nClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\nInstanceType: pulumi.String(\"m4.large.search\"),\nZoneAwarenessEnabled: pulumi.Bool(true),\n},\nVpcOptions: \u0026opensearch.DomainVpcOptionsArgs{\nSubnetIds: pulumi.StringArray{\npulumi.String(exampleGetSubnets.Ids[0]),\npulumi.String(exampleGetSubnets.Ids[1]),\n},\nSecurityGroupIds: pulumi.StringArray{\nexampleSecurityGroup.ID(),\n},\n},\nAdvancedOptions: pulumi.StringMap{\n\"rest.action.multi.allow_explicit_index\": pulumi.String(\"true\"),\n},\nAccessPolicies: pulumi.String(exampleGetPolicyDocument.Json),\nTags: pulumi.StringMap{\n\"Domain\": pulumi.String(\"TestDomain\"),\n},\n}, pulumi.DependsOn([]pulumi.Resource{\nexampleServiceLinkedRole,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcArgs;\nimport com.pulumi.aws.ec2.inputs.GetSubnetsArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;\nimport com.pulumi.aws.iam.ServiceLinkedRole;\nimport com.pulumi.aws.iam.ServiceLinkedRoleArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var vpc = config.get(\"vpc\");\n final var domain = config.get(\"domain\").orElse(\"tf-test\");\n final var example = Ec2Functions.getVpc(GetVpcArgs.builder()\n .tags(Map.of(\"Name\", vpc))\n .build());\n\n final var exampleGetSubnets = Ec2Functions.getSubnets(GetSubnetsArgs.builder()\n .filters(GetSubnetsFilterArgs.builder()\n .name(\"vpc-id\")\n .values(example.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .build())\n .tags(Map.of(\"Tier\", \"private\"))\n .build());\n\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(String.format(\"%s-opensearch-%s\", vpc,domain))\n .description(\"Managed by Pulumi\")\n .vpcId(example.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .ingress(SecurityGroupIngressArgs.builder()\n .fromPort(443)\n .toPort(443)\n .protocol(\"tcp\")\n .cidrBlocks(example.applyValue(getVpcResult -\u003e getVpcResult.cidrBlock()))\n .build())\n .build());\n\n var exampleServiceLinkedRole = new ServiceLinkedRole(\"exampleServiceLinkedRole\", ServiceLinkedRoleArgs.builder()\n .awsServiceName(\"opensearchservice.amazonaws.com\")\n .build());\n\n final var exampleGetPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"es:*\")\n .resources(String.format(\"arn:aws:es:%s:%s:domain/%s/*\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),domain))\n .build())\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domainName(domain)\n .engineVersion(\"OpenSearch_1.0\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"m4.large.search\")\n .zoneAwarenessEnabled(true)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .subnetIds( \n exampleGetSubnets.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[0]),\n exampleGetSubnets.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[1]))\n .securityGroupIds(exampleSecurityGroup.id())\n .build())\n .advancedOptions(Map.of(\"rest.action.multi.allow_explicit_index\", \"true\"))\n .accessPolicies(exampleGetPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleServiceLinkedRole)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n vpc:\n type: dynamic\n domain:\n type: string\n default: tf-test\nresources:\n exampleSecurityGroup:\n type: aws:ec2:SecurityGroup\n name: example\n properties:\n name: ${vpc}-opensearch-${domain}\n description: Managed by Pulumi\n vpcId: ${example.id}\n ingress:\n - fromPort: 443\n toPort: 443\n protocol: tcp\n cidrBlocks:\n - ${example.cidrBlock}\n exampleServiceLinkedRole:\n type: aws:iam:ServiceLinkedRole\n name: example\n properties:\n awsServiceName: opensearchservice.amazonaws.com\n exampleDomain:\n type: aws:opensearch:Domain\n name: example\n properties:\n domainName: ${domain}\n engineVersion: OpenSearch_1.0\n clusterConfig:\n instanceType: m4.large.search\n zoneAwarenessEnabled: true\n vpcOptions:\n subnetIds:\n - ${exampleGetSubnets.ids[0]}\n - ${exampleGetSubnets.ids[1]}\n securityGroupIds:\n - ${exampleSecurityGroup.id}\n advancedOptions:\n rest.action.multi.allow_explicit_index: 'true'\n accessPolicies: ${exampleGetPolicyDocument.json}\n tags:\n Domain: TestDomain\n options:\n dependson:\n - ${exampleServiceLinkedRole}\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getVpc\n Arguments:\n tags:\n Name: ${vpc}\n exampleGetSubnets:\n fn::invoke:\n Function: aws:ec2:getSubnets\n Arguments:\n filters:\n - name: vpc-id\n values:\n - ${example.id}\n tags:\n Tier: private\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n exampleGetPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - es:*\n resources:\n - arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enabling fine-grained access control on an existing domain\n\nThis example shows two configurations: one to create a domain without fine-grained access control and the second to modify the domain to enable fine-grained access control. For more information, see [Enabling fine-grained access control](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html).\n\n### First apply\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"ggkitty\",\n engineVersion: \"Elasticsearch_7.1\",\n clusterConfig: {\n instanceType: \"r5.large.search\",\n },\n advancedSecurityOptions: {\n enabled: false,\n anonymousAuthEnabled: true,\n internalUserDatabaseEnabled: true,\n masterUserOptions: {\n masterUserName: \"example\",\n masterUserPassword: \"Barbarbarbar1!\",\n },\n },\n encryptAtRest: {\n enabled: true,\n },\n domainEndpointOptions: {\n enforceHttps: true,\n tlsSecurityPolicy: \"Policy-Min-TLS-1-2-2019-07\",\n },\n nodeToNodeEncryption: {\n enabled: true,\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"ggkitty\",\n engine_version=\"Elasticsearch_7.1\",\n cluster_config={\n \"instance_type\": \"r5.large.search\",\n },\n advanced_security_options={\n \"enabled\": False,\n \"anonymous_auth_enabled\": True,\n \"internal_user_database_enabled\": True,\n \"master_user_options\": {\n \"master_user_name\": \"example\",\n \"master_user_password\": \"Barbarbarbar1!\",\n },\n },\n encrypt_at_rest={\n \"enabled\": True,\n },\n domain_endpoint_options={\n \"enforce_https\": True,\n \"tls_security_policy\": \"Policy-Min-TLS-1-2-2019-07\",\n },\n node_to_node_encryption={\n \"enabled\": True,\n },\n ebs_options={\n \"ebs_enabled\": True,\n \"volume_size\": 10,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"ggkitty\",\n EngineVersion = \"Elasticsearch_7.1\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r5.large.search\",\n },\n AdvancedSecurityOptions = new Aws.OpenSearch.Inputs.DomainAdvancedSecurityOptionsArgs\n {\n Enabled = false,\n AnonymousAuthEnabled = true,\n InternalUserDatabaseEnabled = true,\n MasterUserOptions = new Aws.OpenSearch.Inputs.DomainAdvancedSecurityOptionsMasterUserOptionsArgs\n {\n MasterUserName = \"example\",\n MasterUserPassword = \"Barbarbarbar1!\",\n },\n },\n EncryptAtRest = new Aws.OpenSearch.Inputs.DomainEncryptAtRestArgs\n {\n Enabled = true,\n },\n DomainEndpointOptions = new Aws.OpenSearch.Inputs.DomainDomainEndpointOptionsArgs\n {\n EnforceHttps = true,\n TlsSecurityPolicy = \"Policy-Min-TLS-1-2-2019-07\",\n },\n NodeToNodeEncryption = new Aws.OpenSearch.Inputs.DomainNodeToNodeEncryptionArgs\n {\n Enabled = true,\n },\n EbsOptions = new Aws.OpenSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"ggkitty\"),\n\t\t\tEngineVersion: pulumi.String(\"Elasticsearch_7.1\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r5.large.search\"),\n\t\t\t},\n\t\t\tAdvancedSecurityOptions: \u0026opensearch.DomainAdvancedSecurityOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\tAnonymousAuthEnabled: pulumi.Bool(true),\n\t\t\t\tInternalUserDatabaseEnabled: pulumi.Bool(true),\n\t\t\t\tMasterUserOptions: \u0026opensearch.DomainAdvancedSecurityOptionsMasterUserOptionsArgs{\n\t\t\t\t\tMasterUserName: pulumi.String(\"example\"),\n\t\t\t\t\tMasterUserPassword: pulumi.String(\"Barbarbarbar1!\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEncryptAtRest: \u0026opensearch.DomainEncryptAtRestArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tDomainEndpointOptions: \u0026opensearch.DomainDomainEndpointOptionsArgs{\n\t\t\t\tEnforceHttps: pulumi.Bool(true),\n\t\t\t\tTlsSecurityPolicy: pulumi.String(\"Policy-Min-TLS-1-2-2019-07\"),\n\t\t\t},\n\t\t\tNodeToNodeEncryption: \u0026opensearch.DomainNodeToNodeEncryptionArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tEbsOptions: \u0026opensearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainAdvancedSecurityOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainAdvancedSecurityOptionsMasterUserOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEncryptAtRestArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainDomainEndpointOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainNodeToNodeEncryptionArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEbsOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"ggkitty\")\n .engineVersion(\"Elasticsearch_7.1\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r5.large.search\")\n .build())\n .advancedSecurityOptions(DomainAdvancedSecurityOptionsArgs.builder()\n .enabled(false)\n .anonymousAuthEnabled(true)\n .internalUserDatabaseEnabled(true)\n .masterUserOptions(DomainAdvancedSecurityOptionsMasterUserOptionsArgs.builder()\n .masterUserName(\"example\")\n .masterUserPassword(\"Barbarbarbar1!\")\n .build())\n .build())\n .encryptAtRest(DomainEncryptAtRestArgs.builder()\n .enabled(true)\n .build())\n .domainEndpointOptions(DomainDomainEndpointOptionsArgs.builder()\n .enforceHttps(true)\n .tlsSecurityPolicy(\"Policy-Min-TLS-1-2-2019-07\")\n .build())\n .nodeToNodeEncryption(DomainNodeToNodeEncryptionArgs.builder()\n .enabled(true)\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: ggkitty\n engineVersion: Elasticsearch_7.1\n clusterConfig:\n instanceType: r5.large.search\n advancedSecurityOptions:\n enabled: false\n anonymousAuthEnabled: true\n internalUserDatabaseEnabled: true\n masterUserOptions:\n masterUserName: example\n masterUserPassword: Barbarbarbar1!\n encryptAtRest:\n enabled: true\n domainEndpointOptions:\n enforceHttps: true\n tlsSecurityPolicy: Policy-Min-TLS-1-2-2019-07\n nodeToNodeEncryption:\n enabled: true\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Second apply\n\nNotice that the only change is `advanced_security_options.0.enabled` is now set to `true`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"ggkitty\",\n engineVersion: \"Elasticsearch_7.1\",\n clusterConfig: {\n instanceType: \"r5.large.search\",\n },\n advancedSecurityOptions: {\n enabled: true,\n anonymousAuthEnabled: true,\n internalUserDatabaseEnabled: true,\n masterUserOptions: {\n masterUserName: \"example\",\n masterUserPassword: \"Barbarbarbar1!\",\n },\n },\n encryptAtRest: {\n enabled: true,\n },\n domainEndpointOptions: {\n enforceHttps: true,\n tlsSecurityPolicy: \"Policy-Min-TLS-1-2-2019-07\",\n },\n nodeToNodeEncryption: {\n enabled: true,\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"ggkitty\",\n engine_version=\"Elasticsearch_7.1\",\n cluster_config={\n \"instance_type\": \"r5.large.search\",\n },\n advanced_security_options={\n \"enabled\": True,\n \"anonymous_auth_enabled\": True,\n \"internal_user_database_enabled\": True,\n \"master_user_options\": {\n \"master_user_name\": \"example\",\n \"master_user_password\": \"Barbarbarbar1!\",\n },\n },\n encrypt_at_rest={\n \"enabled\": True,\n },\n domain_endpoint_options={\n \"enforce_https\": True,\n \"tls_security_policy\": \"Policy-Min-TLS-1-2-2019-07\",\n },\n node_to_node_encryption={\n \"enabled\": True,\n },\n ebs_options={\n \"ebs_enabled\": True,\n \"volume_size\": 10,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"ggkitty\",\n EngineVersion = \"Elasticsearch_7.1\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r5.large.search\",\n },\n AdvancedSecurityOptions = new Aws.OpenSearch.Inputs.DomainAdvancedSecurityOptionsArgs\n {\n Enabled = true,\n AnonymousAuthEnabled = true,\n InternalUserDatabaseEnabled = true,\n MasterUserOptions = new Aws.OpenSearch.Inputs.DomainAdvancedSecurityOptionsMasterUserOptionsArgs\n {\n MasterUserName = \"example\",\n MasterUserPassword = \"Barbarbarbar1!\",\n },\n },\n EncryptAtRest = new Aws.OpenSearch.Inputs.DomainEncryptAtRestArgs\n {\n Enabled = true,\n },\n DomainEndpointOptions = new Aws.OpenSearch.Inputs.DomainDomainEndpointOptionsArgs\n {\n EnforceHttps = true,\n TlsSecurityPolicy = \"Policy-Min-TLS-1-2-2019-07\",\n },\n NodeToNodeEncryption = new Aws.OpenSearch.Inputs.DomainNodeToNodeEncryptionArgs\n {\n Enabled = true,\n },\n EbsOptions = new Aws.OpenSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"ggkitty\"),\n\t\t\tEngineVersion: pulumi.String(\"Elasticsearch_7.1\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r5.large.search\"),\n\t\t\t},\n\t\t\tAdvancedSecurityOptions: \u0026opensearch.DomainAdvancedSecurityOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tAnonymousAuthEnabled: pulumi.Bool(true),\n\t\t\t\tInternalUserDatabaseEnabled: pulumi.Bool(true),\n\t\t\t\tMasterUserOptions: \u0026opensearch.DomainAdvancedSecurityOptionsMasterUserOptionsArgs{\n\t\t\t\t\tMasterUserName: pulumi.String(\"example\"),\n\t\t\t\t\tMasterUserPassword: pulumi.String(\"Barbarbarbar1!\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEncryptAtRest: \u0026opensearch.DomainEncryptAtRestArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tDomainEndpointOptions: \u0026opensearch.DomainDomainEndpointOptionsArgs{\n\t\t\t\tEnforceHttps: pulumi.Bool(true),\n\t\t\t\tTlsSecurityPolicy: pulumi.String(\"Policy-Min-TLS-1-2-2019-07\"),\n\t\t\t},\n\t\t\tNodeToNodeEncryption: \u0026opensearch.DomainNodeToNodeEncryptionArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tEbsOptions: \u0026opensearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainAdvancedSecurityOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainAdvancedSecurityOptionsMasterUserOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEncryptAtRestArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainDomainEndpointOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainNodeToNodeEncryptionArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEbsOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"ggkitty\")\n .engineVersion(\"Elasticsearch_7.1\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r5.large.search\")\n .build())\n .advancedSecurityOptions(DomainAdvancedSecurityOptionsArgs.builder()\n .enabled(true)\n .anonymousAuthEnabled(true)\n .internalUserDatabaseEnabled(true)\n .masterUserOptions(DomainAdvancedSecurityOptionsMasterUserOptionsArgs.builder()\n .masterUserName(\"example\")\n .masterUserPassword(\"Barbarbarbar1!\")\n .build())\n .build())\n .encryptAtRest(DomainEncryptAtRestArgs.builder()\n .enabled(true)\n .build())\n .domainEndpointOptions(DomainDomainEndpointOptionsArgs.builder()\n .enforceHttps(true)\n .tlsSecurityPolicy(\"Policy-Min-TLS-1-2-2019-07\")\n .build())\n .nodeToNodeEncryption(DomainNodeToNodeEncryptionArgs.builder()\n .enabled(true)\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: ggkitty\n engineVersion: Elasticsearch_7.1\n clusterConfig:\n instanceType: r5.large.search\n advancedSecurityOptions:\n enabled: true\n anonymousAuthEnabled: true\n internalUserDatabaseEnabled: true\n masterUserOptions:\n masterUserName: example\n masterUserPassword: Barbarbarbar1!\n encryptAtRest:\n enabled: true\n domainEndpointOptions:\n enforceHttps: true\n tlsSecurityPolicy: Policy-Min-TLS-1-2-2019-07\n nodeToNodeEncryption:\n enabled: true\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearch domains using the `domain_name`. For example:\n\n```sh\n$ pulumi import aws:opensearch/domain:Domain example domain_name\n```\n", "properties": { "accessPolicies": { "type": "string", @@ -315450,7 +315450,7 @@ } }, "aws:opensearch/domainPolicy:DomainPolicy": { - "description": "Allows setting policy to an OpenSearch domain while referencing domain attributes (e.g., ARN).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"tf-test\",\n engineVersion: \"OpenSearch_1.1\",\n});\nconst main = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"es:*\"],\n resources: [pulumi.interpolate`${example.arn}/*`],\n conditions: [{\n test: \"IpAddress\",\n variable: \"aws:SourceIp\",\n values: [\"127.0.0.1/32\"],\n }],\n }],\n});\nconst mainDomainPolicy = new aws.opensearch.DomainPolicy(\"main\", {\n domainName: example.domainName,\n accessPolicies: main.apply(main =\u003e main.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"tf-test\",\n engine_version=\"OpenSearch_1.1\")\nmain = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"es:*\"],\n \"resources\": [example.arn.apply(lambda arn: f\"{arn}/*\")],\n \"conditions\": [{\n \"test\": \"IpAddress\",\n \"variable\": \"aws:SourceIp\",\n \"values\": [\"127.0.0.1/32\"],\n }],\n}])\nmain_domain_policy = aws.opensearch.DomainPolicy(\"main\",\n domain_name=example.domain_name,\n access_policies=main.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"tf-test\",\n EngineVersion = \"OpenSearch_1.1\",\n });\n\n var main = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n $\"{example.Arn}/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"IpAddress\",\n Variable = \"aws:SourceIp\",\n Values = new[]\n {\n \"127.0.0.1/32\",\n },\n },\n },\n },\n },\n });\n\n var mainDomainPolicy = new Aws.OpenSearch.DomainPolicy(\"main\", new()\n {\n DomainName = example.DomainName,\n AccessPolicies = main.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"tf-test\"),\n\t\t\tEngineVersion: pulumi.String(\"OpenSearch_1.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"es:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"IpAddress\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceIp\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"127.0.0.1/32\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = opensearch.NewDomainPolicy(ctx, \"main\", \u0026opensearch.DomainPolicyArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tAccessPolicies: pulumi.String(main.ApplyT(func(main iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026main.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.opensearch.DomainPolicy;\nimport com.pulumi.aws.opensearch.DomainPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"tf-test\")\n .engineVersion(\"OpenSearch_1.1\")\n .build());\n\n final var main = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"es:*\")\n .resources(example.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"IpAddress\")\n .variable(\"aws:SourceIp\")\n .values(\"127.0.0.1/32\")\n .build())\n .build())\n .build());\n\n var mainDomainPolicy = new DomainPolicy(\"mainDomainPolicy\", DomainPolicyArgs.builder()\n .domainName(example.domainName())\n .accessPolicies(main.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(main -\u003e main.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: tf-test\n engineVersion: OpenSearch_1.1\n mainDomainPolicy:\n type: aws:opensearch:DomainPolicy\n name: main\n properties:\n domainName: ${example.domainName}\n accessPolicies: ${main.json}\nvariables:\n main:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - es:*\n resources:\n - ${example.arn}/*\n conditions:\n - test: IpAddress\n variable: aws:SourceIp\n values:\n - 127.0.0.1/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Allows setting policy to an OpenSearch domain while referencing domain attributes (e.g., ARN).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"tf-test\",\n engineVersion: \"OpenSearch_1.1\",\n});\nconst main = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"es:*\"],\n resources: [pulumi.interpolate`${example.arn}/*`],\n conditions: [{\n test: \"IpAddress\",\n variable: \"aws:SourceIp\",\n values: [\"127.0.0.1/32\"],\n }],\n }],\n});\nconst mainDomainPolicy = new aws.opensearch.DomainPolicy(\"main\", {\n domainName: example.domainName,\n accessPolicies: main.apply(main =\u003e main.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"tf-test\",\n engine_version=\"OpenSearch_1.1\")\nmain = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"es:*\"],\n \"resources\": [example.arn.apply(lambda arn: f\"{arn}/*\")],\n \"conditions\": [{\n \"test\": \"IpAddress\",\n \"variable\": \"aws:SourceIp\",\n \"values\": [\"127.0.0.1/32\"],\n }],\n}])\nmain_domain_policy = aws.opensearch.DomainPolicy(\"main\",\n domain_name=example.domain_name,\n access_policies=main.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"tf-test\",\n EngineVersion = \"OpenSearch_1.1\",\n });\n\n var main = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n $\"{example.Arn}/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"IpAddress\",\n Variable = \"aws:SourceIp\",\n Values = new[]\n {\n \"127.0.0.1/32\",\n },\n },\n },\n },\n },\n });\n\n var mainDomainPolicy = new Aws.OpenSearch.DomainPolicy(\"main\", new()\n {\n DomainName = example.DomainName,\n AccessPolicies = main.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"tf-test\"),\n\t\t\tEngineVersion: pulumi.String(\"OpenSearch_1.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"es:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"IpAddress\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceIp\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"127.0.0.1/32\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = opensearch.NewDomainPolicy(ctx, \"main\", \u0026opensearch.DomainPolicyArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tAccessPolicies: pulumi.String(main.ApplyT(func(main iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026main.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.opensearch.DomainPolicy;\nimport com.pulumi.aws.opensearch.DomainPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"tf-test\")\n .engineVersion(\"OpenSearch_1.1\")\n .build());\n\n final var main = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"es:*\")\n .resources(example.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"IpAddress\")\n .variable(\"aws:SourceIp\")\n .values(\"127.0.0.1/32\")\n .build())\n .build())\n .build());\n\n var mainDomainPolicy = new DomainPolicy(\"mainDomainPolicy\", DomainPolicyArgs.builder()\n .domainName(example.domainName())\n .accessPolicies(main.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(main -\u003e main.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: tf-test\n engineVersion: OpenSearch_1.1\n mainDomainPolicy:\n type: aws:opensearch:DomainPolicy\n name: main\n properties:\n domainName: ${example.domainName}\n accessPolicies: ${main.json}\nvariables:\n main:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - es:*\n resources:\n - ${example.arn}/*\n conditions:\n - test: IpAddress\n variable: aws:SourceIp\n values:\n - 127.0.0.1/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "accessPolicies": { "type": "string", @@ -315495,7 +315495,7 @@ } }, "aws:opensearch/domainSamlOptions:DomainSamlOptions": { - "description": "Manages SAML authentication options for an AWS OpenSearch Domain.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"example\",\n engineVersion: \"OpenSearch_1.1\",\n clusterConfig: {\n instanceType: \"r4.large.search\",\n },\n snapshotOptions: {\n automatedSnapshotStartHour: 23,\n },\n tags: {\n Domain: \"TestDomain\",\n },\n});\nconst exampleDomainSamlOptions = new aws.opensearch.DomainSamlOptions(\"example\", {\n domainName: example.domainName,\n samlOptions: {\n enabled: true,\n idp: {\n entityId: \"https://example.com\",\n metadataContent: std.file({\n input: \"./saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"example\",\n engine_version=\"OpenSearch_1.1\",\n cluster_config={\n \"instance_type\": \"r4.large.search\",\n },\n snapshot_options={\n \"automated_snapshot_start_hour\": 23,\n },\n tags={\n \"Domain\": \"TestDomain\",\n })\nexample_domain_saml_options = aws.opensearch.DomainSamlOptions(\"example\",\n domain_name=example.domain_name,\n saml_options={\n \"enabled\": True,\n \"idp\": {\n \"entity_id\": \"https://example.com\",\n \"metadata_content\": std.file(input=\"./saml-metadata.xml\").result,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n EngineVersion = \"OpenSearch_1.1\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r4.large.search\",\n },\n SnapshotOptions = new Aws.OpenSearch.Inputs.DomainSnapshotOptionsArgs\n {\n AutomatedSnapshotStartHour = 23,\n },\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n });\n\n var exampleDomainSamlOptions = new Aws.OpenSearch.DomainSamlOptions(\"example\", new()\n {\n DomainName = example.DomainName,\n SamlOptions = new Aws.OpenSearch.Inputs.DomainSamlOptionsSamlOptionsArgs\n {\n Enabled = true,\n Idp = new Aws.OpenSearch.Inputs.DomainSamlOptionsSamlOptionsIdpArgs\n {\n EntityId = \"https://example.com\",\n MetadataContent = Std.File.Invoke(new()\n {\n Input = \"./saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tEngineVersion: pulumi.String(\"OpenSearch_1.1\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r4.large.search\"),\n\t\t\t},\n\t\t\tSnapshotOptions: \u0026opensearch.DomainSnapshotOptionsArgs{\n\t\t\t\tAutomatedSnapshotStartHour: pulumi.Int(23),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Domain\": pulumi.String(\"TestDomain\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewDomainSamlOptions(ctx, \"example\", \u0026opensearch.DomainSamlOptionsArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tSamlOptions: \u0026opensearch.DomainSamlOptionsSamlOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tIdp: \u0026opensearch.DomainSamlOptionsSamlOptionsIdpArgs{\n\t\t\t\t\tEntityId: pulumi.String(\"https://example.com\"),\n\t\t\t\t\tMetadataContent: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainSnapshotOptionsArgs;\nimport com.pulumi.aws.opensearch.DomainSamlOptions;\nimport com.pulumi.aws.opensearch.DomainSamlOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainSamlOptionsSamlOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainSamlOptionsSamlOptionsIdpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"example\")\n .engineVersion(\"OpenSearch_1.1\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r4.large.search\")\n .build())\n .snapshotOptions(DomainSnapshotOptionsArgs.builder()\n .automatedSnapshotStartHour(23)\n .build())\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build());\n\n var exampleDomainSamlOptions = new DomainSamlOptions(\"exampleDomainSamlOptions\", DomainSamlOptionsArgs.builder()\n .domainName(example.domainName())\n .samlOptions(DomainSamlOptionsSamlOptionsArgs.builder()\n .enabled(true)\n .idp(DomainSamlOptionsSamlOptionsIdpArgs.builder()\n .entityId(\"https://example.com\")\n .metadataContent(StdFunctions.file(FileArgs.builder()\n .input(\"./saml-metadata.xml\")\n .build()).result())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: example\n engineVersion: OpenSearch_1.1\n clusterConfig:\n instanceType: r4.large.search\n snapshotOptions:\n automatedSnapshotStartHour: 23\n tags:\n Domain: TestDomain\n exampleDomainSamlOptions:\n type: aws:opensearch:DomainSamlOptions\n name: example\n properties:\n domainName: ${example.domainName}\n samlOptions:\n enabled: true\n idp:\n entityId: https://example.com\n metadataContent:\n fn::invoke:\n function: std:file\n arguments:\n input: ./saml-metadata.xml\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearch domains using the `domain_name`. For example:\n\n```sh\n$ pulumi import aws:opensearch/domainSamlOptions:DomainSamlOptions example domain_name\n```\n", + "description": "Manages SAML authentication options for an AWS OpenSearch Domain.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"example\",\n engineVersion: \"OpenSearch_1.1\",\n clusterConfig: {\n instanceType: \"r4.large.search\",\n },\n snapshotOptions: {\n automatedSnapshotStartHour: 23,\n },\n tags: {\n Domain: \"TestDomain\",\n },\n});\nconst exampleDomainSamlOptions = new aws.opensearch.DomainSamlOptions(\"example\", {\n domainName: example.domainName,\n samlOptions: {\n enabled: true,\n idp: {\n entityId: \"https://example.com\",\n metadataContent: std.file({\n input: \"./saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"example\",\n engine_version=\"OpenSearch_1.1\",\n cluster_config={\n \"instance_type\": \"r4.large.search\",\n },\n snapshot_options={\n \"automated_snapshot_start_hour\": 23,\n },\n tags={\n \"Domain\": \"TestDomain\",\n })\nexample_domain_saml_options = aws.opensearch.DomainSamlOptions(\"example\",\n domain_name=example.domain_name,\n saml_options={\n \"enabled\": True,\n \"idp\": {\n \"entity_id\": \"https://example.com\",\n \"metadata_content\": std.file(input=\"./saml-metadata.xml\").result,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n EngineVersion = \"OpenSearch_1.1\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r4.large.search\",\n },\n SnapshotOptions = new Aws.OpenSearch.Inputs.DomainSnapshotOptionsArgs\n {\n AutomatedSnapshotStartHour = 23,\n },\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n });\n\n var exampleDomainSamlOptions = new Aws.OpenSearch.DomainSamlOptions(\"example\", new()\n {\n DomainName = example.DomainName,\n SamlOptions = new Aws.OpenSearch.Inputs.DomainSamlOptionsSamlOptionsArgs\n {\n Enabled = true,\n Idp = new Aws.OpenSearch.Inputs.DomainSamlOptionsSamlOptionsIdpArgs\n {\n EntityId = \"https://example.com\",\n MetadataContent = Std.File.Invoke(new()\n {\n Input = \"./saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tEngineVersion: pulumi.String(\"OpenSearch_1.1\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r4.large.search\"),\n\t\t\t},\n\t\t\tSnapshotOptions: \u0026opensearch.DomainSnapshotOptionsArgs{\n\t\t\t\tAutomatedSnapshotStartHour: pulumi.Int(23),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Domain\": pulumi.String(\"TestDomain\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewDomainSamlOptions(ctx, \"example\", \u0026opensearch.DomainSamlOptionsArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tSamlOptions: \u0026opensearch.DomainSamlOptionsSamlOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tIdp: \u0026opensearch.DomainSamlOptionsSamlOptionsIdpArgs{\n\t\t\t\t\tEntityId: pulumi.String(\"https://example.com\"),\n\t\t\t\t\tMetadataContent: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainSnapshotOptionsArgs;\nimport com.pulumi.aws.opensearch.DomainSamlOptions;\nimport com.pulumi.aws.opensearch.DomainSamlOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainSamlOptionsSamlOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainSamlOptionsSamlOptionsIdpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"example\")\n .engineVersion(\"OpenSearch_1.1\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r4.large.search\")\n .build())\n .snapshotOptions(DomainSnapshotOptionsArgs.builder()\n .automatedSnapshotStartHour(23)\n .build())\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build());\n\n var exampleDomainSamlOptions = new DomainSamlOptions(\"exampleDomainSamlOptions\", DomainSamlOptionsArgs.builder()\n .domainName(example.domainName())\n .samlOptions(DomainSamlOptionsSamlOptionsArgs.builder()\n .enabled(true)\n .idp(DomainSamlOptionsSamlOptionsIdpArgs.builder()\n .entityId(\"https://example.com\")\n .metadataContent(StdFunctions.file(FileArgs.builder()\n .input(\"./saml-metadata.xml\")\n .build()).result())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: example\n engineVersion: OpenSearch_1.1\n clusterConfig:\n instanceType: r4.large.search\n snapshotOptions:\n automatedSnapshotStartHour: 23\n tags:\n Domain: TestDomain\n exampleDomainSamlOptions:\n type: aws:opensearch:DomainSamlOptions\n name: example\n properties:\n domainName: ${example.domainName}\n samlOptions:\n enabled: true\n idp:\n entityId: https://example.com\n metadataContent:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./saml-metadata.xml\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearch domains using the `domain_name`. For example:\n\n```sh\n$ pulumi import aws:opensearch/domainSamlOptions:DomainSamlOptions example domain_name\n```\n", "properties": { "domainName": { "type": "string", @@ -315540,7 +315540,7 @@ } }, "aws:opensearch/inboundConnectionAccepter:InboundConnectionAccepter": { - "description": "Manages an [AWS Opensearch Inbound Connection Accepter](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_AcceptInboundConnection.html). If connecting domains from different AWS accounts, ensure that the accepter is configured to use the AWS account where the _remote_ opensearch domain exists.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetRegion = aws.getRegion({});\nconst foo = new aws.opensearch.OutboundConnection(\"foo\", {\n connectionAlias: \"outbound_connection\",\n localDomainInfo: {\n ownerId: current.then(current =\u003e current.accountId),\n region: currentGetRegion.then(currentGetRegion =\u003e currentGetRegion.name),\n domainName: localDomain.domainName,\n },\n remoteDomainInfo: {\n ownerId: current.then(current =\u003e current.accountId),\n region: currentGetRegion.then(currentGetRegion =\u003e currentGetRegion.name),\n domainName: remoteDomain.domainName,\n },\n});\nconst fooInboundConnectionAccepter = new aws.opensearch.InboundConnectionAccepter(\"foo\", {connectionId: foo.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_region = aws.get_region()\nfoo = aws.opensearch.OutboundConnection(\"foo\",\n connection_alias=\"outbound_connection\",\n local_domain_info={\n \"owner_id\": current.account_id,\n \"region\": current_get_region.name,\n \"domain_name\": local_domain[\"domainName\"],\n },\n remote_domain_info={\n \"owner_id\": current.account_id,\n \"region\": current_get_region.name,\n \"domain_name\": remote_domain[\"domainName\"],\n })\nfoo_inbound_connection_accepter = aws.opensearch.InboundConnectionAccepter(\"foo\", connection_id=foo.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var foo = new Aws.OpenSearch.OutboundConnection(\"foo\", new()\n {\n ConnectionAlias = \"outbound_connection\",\n LocalDomainInfo = new Aws.OpenSearch.Inputs.OutboundConnectionLocalDomainInfoArgs\n {\n OwnerId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Region = currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n DomainName = localDomain.DomainName,\n },\n RemoteDomainInfo = new Aws.OpenSearch.Inputs.OutboundConnectionRemoteDomainInfoArgs\n {\n OwnerId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Region = currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n DomainName = remoteDomain.DomainName,\n },\n });\n\n var fooInboundConnectionAccepter = new Aws.OpenSearch.InboundConnectionAccepter(\"foo\", new()\n {\n ConnectionId = foo.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := opensearch.NewOutboundConnection(ctx, \"foo\", \u0026opensearch.OutboundConnectionArgs{\n\t\t\tConnectionAlias: pulumi.String(\"outbound_connection\"),\n\t\t\tLocalDomainInfo: \u0026opensearch.OutboundConnectionLocalDomainInfoArgs{\n\t\t\t\tOwnerId: pulumi.String(current.AccountId),\n\t\t\t\tRegion: pulumi.String(currentGetRegion.Name),\n\t\t\t\tDomainName: pulumi.Any(localDomain.DomainName),\n\t\t\t},\n\t\t\tRemoteDomainInfo: \u0026opensearch.OutboundConnectionRemoteDomainInfoArgs{\n\t\t\t\tOwnerId: pulumi.String(current.AccountId),\n\t\t\t\tRegion: pulumi.String(currentGetRegion.Name),\n\t\t\t\tDomainName: pulumi.Any(remoteDomain.DomainName),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewInboundConnectionAccepter(ctx, \"foo\", \u0026opensearch.InboundConnectionAccepterArgs{\n\t\t\tConnectionId: foo.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.opensearch.OutboundConnection;\nimport com.pulumi.aws.opensearch.OutboundConnectionArgs;\nimport com.pulumi.aws.opensearch.inputs.OutboundConnectionLocalDomainInfoArgs;\nimport com.pulumi.aws.opensearch.inputs.OutboundConnectionRemoteDomainInfoArgs;\nimport com.pulumi.aws.opensearch.InboundConnectionAccepter;\nimport com.pulumi.aws.opensearch.InboundConnectionAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n var foo = new OutboundConnection(\"foo\", OutboundConnectionArgs.builder()\n .connectionAlias(\"outbound_connection\")\n .localDomainInfo(OutboundConnectionLocalDomainInfoArgs.builder()\n .ownerId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .region(currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .domainName(localDomain.domainName())\n .build())\n .remoteDomainInfo(OutboundConnectionRemoteDomainInfoArgs.builder()\n .ownerId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .region(currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .domainName(remoteDomain.domainName())\n .build())\n .build());\n\n var fooInboundConnectionAccepter = new InboundConnectionAccepter(\"fooInboundConnectionAccepter\", InboundConnectionAccepterArgs.builder()\n .connectionId(foo.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:opensearch:OutboundConnection\n properties:\n connectionAlias: outbound_connection\n localDomainInfo:\n ownerId: ${current.accountId}\n region: ${currentGetRegion.name}\n domainName: ${localDomain.domainName}\n remoteDomainInfo:\n ownerId: ${current.accountId}\n region: ${currentGetRegion.name}\n domainName: ${remoteDomain.domainName}\n fooInboundConnectionAccepter:\n type: aws:opensearch:InboundConnectionAccepter\n name: foo\n properties:\n connectionId: ${foo.id}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n currentGetRegion:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Opensearch Inbound Connection Accepters using the Inbound Connection ID. For example:\n\n```sh\n$ pulumi import aws:opensearch/inboundConnectionAccepter:InboundConnectionAccepter foo connection-id\n```\n", + "description": "Manages an [AWS Opensearch Inbound Connection Accepter](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_AcceptInboundConnection.html). If connecting domains from different AWS accounts, ensure that the accepter is configured to use the AWS account where the _remote_ opensearch domain exists.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetRegion = aws.getRegion({});\nconst foo = new aws.opensearch.OutboundConnection(\"foo\", {\n connectionAlias: \"outbound_connection\",\n localDomainInfo: {\n ownerId: current.then(current =\u003e current.accountId),\n region: currentGetRegion.then(currentGetRegion =\u003e currentGetRegion.name),\n domainName: localDomain.domainName,\n },\n remoteDomainInfo: {\n ownerId: current.then(current =\u003e current.accountId),\n region: currentGetRegion.then(currentGetRegion =\u003e currentGetRegion.name),\n domainName: remoteDomain.domainName,\n },\n});\nconst fooInboundConnectionAccepter = new aws.opensearch.InboundConnectionAccepter(\"foo\", {connectionId: foo.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_region = aws.get_region()\nfoo = aws.opensearch.OutboundConnection(\"foo\",\n connection_alias=\"outbound_connection\",\n local_domain_info={\n \"owner_id\": current.account_id,\n \"region\": current_get_region.name,\n \"domain_name\": local_domain[\"domainName\"],\n },\n remote_domain_info={\n \"owner_id\": current.account_id,\n \"region\": current_get_region.name,\n \"domain_name\": remote_domain[\"domainName\"],\n })\nfoo_inbound_connection_accepter = aws.opensearch.InboundConnectionAccepter(\"foo\", connection_id=foo.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var foo = new Aws.OpenSearch.OutboundConnection(\"foo\", new()\n {\n ConnectionAlias = \"outbound_connection\",\n LocalDomainInfo = new Aws.OpenSearch.Inputs.OutboundConnectionLocalDomainInfoArgs\n {\n OwnerId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Region = currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n DomainName = localDomain.DomainName,\n },\n RemoteDomainInfo = new Aws.OpenSearch.Inputs.OutboundConnectionRemoteDomainInfoArgs\n {\n OwnerId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Region = currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n DomainName = remoteDomain.DomainName,\n },\n });\n\n var fooInboundConnectionAccepter = new Aws.OpenSearch.InboundConnectionAccepter(\"foo\", new()\n {\n ConnectionId = foo.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := opensearch.NewOutboundConnection(ctx, \"foo\", \u0026opensearch.OutboundConnectionArgs{\n\t\t\tConnectionAlias: pulumi.String(\"outbound_connection\"),\n\t\t\tLocalDomainInfo: \u0026opensearch.OutboundConnectionLocalDomainInfoArgs{\n\t\t\t\tOwnerId: pulumi.String(current.AccountId),\n\t\t\t\tRegion: pulumi.String(currentGetRegion.Name),\n\t\t\t\tDomainName: pulumi.Any(localDomain.DomainName),\n\t\t\t},\n\t\t\tRemoteDomainInfo: \u0026opensearch.OutboundConnectionRemoteDomainInfoArgs{\n\t\t\t\tOwnerId: pulumi.String(current.AccountId),\n\t\t\t\tRegion: pulumi.String(currentGetRegion.Name),\n\t\t\t\tDomainName: pulumi.Any(remoteDomain.DomainName),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewInboundConnectionAccepter(ctx, \"foo\", \u0026opensearch.InboundConnectionAccepterArgs{\n\t\t\tConnectionId: foo.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.opensearch.OutboundConnection;\nimport com.pulumi.aws.opensearch.OutboundConnectionArgs;\nimport com.pulumi.aws.opensearch.inputs.OutboundConnectionLocalDomainInfoArgs;\nimport com.pulumi.aws.opensearch.inputs.OutboundConnectionRemoteDomainInfoArgs;\nimport com.pulumi.aws.opensearch.InboundConnectionAccepter;\nimport com.pulumi.aws.opensearch.InboundConnectionAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n var foo = new OutboundConnection(\"foo\", OutboundConnectionArgs.builder()\n .connectionAlias(\"outbound_connection\")\n .localDomainInfo(OutboundConnectionLocalDomainInfoArgs.builder()\n .ownerId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .region(currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .domainName(localDomain.domainName())\n .build())\n .remoteDomainInfo(OutboundConnectionRemoteDomainInfoArgs.builder()\n .ownerId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .region(currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .domainName(remoteDomain.domainName())\n .build())\n .build());\n\n var fooInboundConnectionAccepter = new InboundConnectionAccepter(\"fooInboundConnectionAccepter\", InboundConnectionAccepterArgs.builder()\n .connectionId(foo.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:opensearch:OutboundConnection\n properties:\n connectionAlias: outbound_connection\n localDomainInfo:\n ownerId: ${current.accountId}\n region: ${currentGetRegion.name}\n domainName: ${localDomain.domainName}\n remoteDomainInfo:\n ownerId: ${current.accountId}\n region: ${currentGetRegion.name}\n domainName: ${remoteDomain.domainName}\n fooInboundConnectionAccepter:\n type: aws:opensearch:InboundConnectionAccepter\n name: foo\n properties:\n connectionId: ${foo.id}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Opensearch Inbound Connection Accepters using the Inbound Connection ID. For example:\n\n```sh\n$ pulumi import aws:opensearch/inboundConnectionAccepter:InboundConnectionAccepter foo connection-id\n```\n", "properties": { "connectionId": { "type": "string", @@ -315582,7 +315582,7 @@ } }, "aws:opensearch/outboundConnection:OutboundConnection": { - "description": "Manages an AWS Opensearch Outbound Connection.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetRegion = aws.getRegion({});\nconst foo = new aws.opensearch.OutboundConnection(\"foo\", {\n connectionAlias: \"outbound_connection\",\n connectionMode: \"DIRECT\",\n localDomainInfo: {\n ownerId: current.then(current =\u003e current.accountId),\n region: currentGetRegion.then(currentGetRegion =\u003e currentGetRegion.name),\n domainName: localDomain.domainName,\n },\n remoteDomainInfo: {\n ownerId: current.then(current =\u003e current.accountId),\n region: currentGetRegion.then(currentGetRegion =\u003e currentGetRegion.name),\n domainName: remoteDomain.domainName,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_region = aws.get_region()\nfoo = aws.opensearch.OutboundConnection(\"foo\",\n connection_alias=\"outbound_connection\",\n connection_mode=\"DIRECT\",\n local_domain_info={\n \"owner_id\": current.account_id,\n \"region\": current_get_region.name,\n \"domain_name\": local_domain[\"domainName\"],\n },\n remote_domain_info={\n \"owner_id\": current.account_id,\n \"region\": current_get_region.name,\n \"domain_name\": remote_domain[\"domainName\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var foo = new Aws.OpenSearch.OutboundConnection(\"foo\", new()\n {\n ConnectionAlias = \"outbound_connection\",\n ConnectionMode = \"DIRECT\",\n LocalDomainInfo = new Aws.OpenSearch.Inputs.OutboundConnectionLocalDomainInfoArgs\n {\n OwnerId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Region = currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n DomainName = localDomain.DomainName,\n },\n RemoteDomainInfo = new Aws.OpenSearch.Inputs.OutboundConnectionRemoteDomainInfoArgs\n {\n OwnerId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Region = currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n DomainName = remoteDomain.DomainName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewOutboundConnection(ctx, \"foo\", \u0026opensearch.OutboundConnectionArgs{\n\t\t\tConnectionAlias: pulumi.String(\"outbound_connection\"),\n\t\t\tConnectionMode: pulumi.String(\"DIRECT\"),\n\t\t\tLocalDomainInfo: \u0026opensearch.OutboundConnectionLocalDomainInfoArgs{\n\t\t\t\tOwnerId: pulumi.String(current.AccountId),\n\t\t\t\tRegion: pulumi.String(currentGetRegion.Name),\n\t\t\t\tDomainName: pulumi.Any(localDomain.DomainName),\n\t\t\t},\n\t\t\tRemoteDomainInfo: \u0026opensearch.OutboundConnectionRemoteDomainInfoArgs{\n\t\t\t\tOwnerId: pulumi.String(current.AccountId),\n\t\t\t\tRegion: pulumi.String(currentGetRegion.Name),\n\t\t\t\tDomainName: pulumi.Any(remoteDomain.DomainName),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.opensearch.OutboundConnection;\nimport com.pulumi.aws.opensearch.OutboundConnectionArgs;\nimport com.pulumi.aws.opensearch.inputs.OutboundConnectionLocalDomainInfoArgs;\nimport com.pulumi.aws.opensearch.inputs.OutboundConnectionRemoteDomainInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n var foo = new OutboundConnection(\"foo\", OutboundConnectionArgs.builder()\n .connectionAlias(\"outbound_connection\")\n .connectionMode(\"DIRECT\")\n .localDomainInfo(OutboundConnectionLocalDomainInfoArgs.builder()\n .ownerId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .region(currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .domainName(localDomain.domainName())\n .build())\n .remoteDomainInfo(OutboundConnectionRemoteDomainInfoArgs.builder()\n .ownerId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .region(currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .domainName(remoteDomain.domainName())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:opensearch:OutboundConnection\n properties:\n connectionAlias: outbound_connection\n connectionMode: DIRECT\n localDomainInfo:\n ownerId: ${current.accountId}\n region: ${currentGetRegion.name}\n domainName: ${localDomain.domainName}\n remoteDomainInfo:\n ownerId: ${current.accountId}\n region: ${currentGetRegion.name}\n domainName: ${remoteDomain.domainName}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n currentGetRegion:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Opensearch Outbound Connections using the Outbound Connection ID. For example:\n\n```sh\n$ pulumi import aws:opensearch/outboundConnection:OutboundConnection foo connection-id\n```\n", + "description": "Manages an AWS Opensearch Outbound Connection.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetRegion = aws.getRegion({});\nconst foo = new aws.opensearch.OutboundConnection(\"foo\", {\n connectionAlias: \"outbound_connection\",\n connectionMode: \"DIRECT\",\n localDomainInfo: {\n ownerId: current.then(current =\u003e current.accountId),\n region: currentGetRegion.then(currentGetRegion =\u003e currentGetRegion.name),\n domainName: localDomain.domainName,\n },\n remoteDomainInfo: {\n ownerId: current.then(current =\u003e current.accountId),\n region: currentGetRegion.then(currentGetRegion =\u003e currentGetRegion.name),\n domainName: remoteDomain.domainName,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_region = aws.get_region()\nfoo = aws.opensearch.OutboundConnection(\"foo\",\n connection_alias=\"outbound_connection\",\n connection_mode=\"DIRECT\",\n local_domain_info={\n \"owner_id\": current.account_id,\n \"region\": current_get_region.name,\n \"domain_name\": local_domain[\"domainName\"],\n },\n remote_domain_info={\n \"owner_id\": current.account_id,\n \"region\": current_get_region.name,\n \"domain_name\": remote_domain[\"domainName\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var foo = new Aws.OpenSearch.OutboundConnection(\"foo\", new()\n {\n ConnectionAlias = \"outbound_connection\",\n ConnectionMode = \"DIRECT\",\n LocalDomainInfo = new Aws.OpenSearch.Inputs.OutboundConnectionLocalDomainInfoArgs\n {\n OwnerId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Region = currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n DomainName = localDomain.DomainName,\n },\n RemoteDomainInfo = new Aws.OpenSearch.Inputs.OutboundConnectionRemoteDomainInfoArgs\n {\n OwnerId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Region = currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n DomainName = remoteDomain.DomainName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewOutboundConnection(ctx, \"foo\", \u0026opensearch.OutboundConnectionArgs{\n\t\t\tConnectionAlias: pulumi.String(\"outbound_connection\"),\n\t\t\tConnectionMode: pulumi.String(\"DIRECT\"),\n\t\t\tLocalDomainInfo: \u0026opensearch.OutboundConnectionLocalDomainInfoArgs{\n\t\t\t\tOwnerId: pulumi.String(current.AccountId),\n\t\t\t\tRegion: pulumi.String(currentGetRegion.Name),\n\t\t\t\tDomainName: pulumi.Any(localDomain.DomainName),\n\t\t\t},\n\t\t\tRemoteDomainInfo: \u0026opensearch.OutboundConnectionRemoteDomainInfoArgs{\n\t\t\t\tOwnerId: pulumi.String(current.AccountId),\n\t\t\t\tRegion: pulumi.String(currentGetRegion.Name),\n\t\t\t\tDomainName: pulumi.Any(remoteDomain.DomainName),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.opensearch.OutboundConnection;\nimport com.pulumi.aws.opensearch.OutboundConnectionArgs;\nimport com.pulumi.aws.opensearch.inputs.OutboundConnectionLocalDomainInfoArgs;\nimport com.pulumi.aws.opensearch.inputs.OutboundConnectionRemoteDomainInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n var foo = new OutboundConnection(\"foo\", OutboundConnectionArgs.builder()\n .connectionAlias(\"outbound_connection\")\n .connectionMode(\"DIRECT\")\n .localDomainInfo(OutboundConnectionLocalDomainInfoArgs.builder()\n .ownerId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .region(currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .domainName(localDomain.domainName())\n .build())\n .remoteDomainInfo(OutboundConnectionRemoteDomainInfoArgs.builder()\n .ownerId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .region(currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .domainName(remoteDomain.domainName())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:opensearch:OutboundConnection\n properties:\n connectionAlias: outbound_connection\n connectionMode: DIRECT\n localDomainInfo:\n ownerId: ${current.accountId}\n region: ${currentGetRegion.name}\n domainName: ${localDomain.domainName}\n remoteDomainInfo:\n ownerId: ${current.accountId}\n region: ${currentGetRegion.name}\n domainName: ${remoteDomain.domainName}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Opensearch Outbound Connections using the Outbound Connection ID. For example:\n\n```sh\n$ pulumi import aws:opensearch/outboundConnection:OutboundConnection foo connection-id\n```\n", "properties": { "acceptConnection": { "type": "boolean", @@ -315698,7 +315698,7 @@ } }, "aws:opensearch/package:Package": { - "description": "Manages an AWS Opensearch Package.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst myOpensearchPackages = new aws.s3.BucketV2(\"my_opensearch_packages\", {bucket: \"my-opensearch-packages\"});\nconst example = new aws.s3.BucketObjectv2(\"example\", {\n bucket: myOpensearchPackages.bucket,\n key: \"example.txt\",\n source: new pulumi.asset.FileAsset(\"./example.txt\"),\n etag: std.filemd5({\n input: \"./example.txt\",\n }).then(invoke =\u003e invoke.result),\n});\nconst examplePackage = new aws.opensearch.Package(\"example\", {\n packageName: \"example-txt\",\n packageSource: {\n s3BucketName: myOpensearchPackages.bucket,\n s3Key: example.key,\n },\n packageType: \"TXT-DICTIONARY\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nmy_opensearch_packages = aws.s3.BucketV2(\"my_opensearch_packages\", bucket=\"my-opensearch-packages\")\nexample = aws.s3.BucketObjectv2(\"example\",\n bucket=my_opensearch_packages.bucket,\n key=\"example.txt\",\n source=pulumi.FileAsset(\"./example.txt\"),\n etag=std.filemd5(input=\"./example.txt\").result)\nexample_package = aws.opensearch.Package(\"example\",\n package_name=\"example-txt\",\n package_source={\n \"s3_bucket_name\": my_opensearch_packages.bucket,\n \"s3_key\": example.key,\n },\n package_type=\"TXT-DICTIONARY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myOpensearchPackages = new Aws.S3.BucketV2(\"my_opensearch_packages\", new()\n {\n Bucket = \"my-opensearch-packages\",\n });\n\n var example = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = myOpensearchPackages.Bucket,\n Key = \"example.txt\",\n Source = new FileAsset(\"./example.txt\"),\n Etag = Std.Filemd5.Invoke(new()\n {\n Input = \"./example.txt\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var examplePackage = new Aws.OpenSearch.Package(\"example\", new()\n {\n PackageName = \"example-txt\",\n PackageSource = new Aws.OpenSearch.Inputs.PackagePackageSourceArgs\n {\n S3BucketName = myOpensearchPackages.Bucket,\n S3Key = example.Key,\n },\n PackageType = \"TXT-DICTIONARY\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyOpensearchPackages, err := s3.NewBucketV2(ctx, \"my_opensearch_packages\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-opensearch-packages\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilemd5, err := std.Filemd5(ctx, \u0026std.Filemd5Args{\n\t\t\tInput: \"./example.txt\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: myOpensearchPackages.Bucket,\n\t\t\tKey: pulumi.String(\"example.txt\"),\n\t\t\tSource: pulumi.NewFileAsset(\"./example.txt\"),\n\t\t\tEtag: pulumi.String(invokeFilemd5.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewPackage(ctx, \"example\", \u0026opensearch.PackageArgs{\n\t\t\tPackageName: pulumi.String(\"example-txt\"),\n\t\t\tPackageSource: \u0026opensearch.PackagePackageSourceArgs{\n\t\t\t\tS3BucketName: myOpensearchPackages.Bucket,\n\t\t\t\tS3Key: example.Key,\n\t\t\t},\n\t\t\tPackageType: pulumi.String(\"TXT-DICTIONARY\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.opensearch.Package;\nimport com.pulumi.aws.opensearch.PackageArgs;\nimport com.pulumi.aws.opensearch.inputs.PackagePackageSourceArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myOpensearchPackages = new BucketV2(\"myOpensearchPackages\", BucketV2Args.builder()\n .bucket(\"my-opensearch-packages\")\n .build());\n\n var example = new BucketObjectv2(\"example\", BucketObjectv2Args.builder()\n .bucket(myOpensearchPackages.bucket())\n .key(\"example.txt\")\n .source(new FileAsset(\"./example.txt\"))\n .etag(StdFunctions.filemd5(Filemd5Args.builder()\n .input(\"./example.txt\")\n .build()).result())\n .build());\n\n var examplePackage = new Package(\"examplePackage\", PackageArgs.builder()\n .packageName(\"example-txt\")\n .packageSource(PackagePackageSourceArgs.builder()\n .s3BucketName(myOpensearchPackages.bucket())\n .s3Key(example.key())\n .build())\n .packageType(\"TXT-DICTIONARY\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myOpensearchPackages:\n type: aws:s3:BucketV2\n name: my_opensearch_packages\n properties:\n bucket: my-opensearch-packages\n example:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${myOpensearchPackages.bucket}\n key: example.txt\n source:\n fn::FileAsset: ./example.txt\n etag:\n fn::invoke:\n function: std:filemd5\n arguments:\n input: ./example.txt\n return: result\n examplePackage:\n type: aws:opensearch:Package\n name: example\n properties:\n packageName: example-txt\n packageSource:\n s3BucketName: ${myOpensearchPackages.bucket}\n s3Key: ${example.key}\n packageType: TXT-DICTIONARY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Opensearch Packages using the Package ID. For example:\n\n```sh\n$ pulumi import aws:opensearch/package:Package example package-id\n```\n", + "description": "Manages an AWS Opensearch Package.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst myOpensearchPackages = new aws.s3.BucketV2(\"my_opensearch_packages\", {bucket: \"my-opensearch-packages\"});\nconst example = new aws.s3.BucketObjectv2(\"example\", {\n bucket: myOpensearchPackages.bucket,\n key: \"example.txt\",\n source: new pulumi.asset.FileAsset(\"./example.txt\"),\n etag: std.filemd5({\n input: \"./example.txt\",\n }).then(invoke =\u003e invoke.result),\n});\nconst examplePackage = new aws.opensearch.Package(\"example\", {\n packageName: \"example-txt\",\n packageSource: {\n s3BucketName: myOpensearchPackages.bucket,\n s3Key: example.key,\n },\n packageType: \"TXT-DICTIONARY\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nmy_opensearch_packages = aws.s3.BucketV2(\"my_opensearch_packages\", bucket=\"my-opensearch-packages\")\nexample = aws.s3.BucketObjectv2(\"example\",\n bucket=my_opensearch_packages.bucket,\n key=\"example.txt\",\n source=pulumi.FileAsset(\"./example.txt\"),\n etag=std.filemd5(input=\"./example.txt\").result)\nexample_package = aws.opensearch.Package(\"example\",\n package_name=\"example-txt\",\n package_source={\n \"s3_bucket_name\": my_opensearch_packages.bucket,\n \"s3_key\": example.key,\n },\n package_type=\"TXT-DICTIONARY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myOpensearchPackages = new Aws.S3.BucketV2(\"my_opensearch_packages\", new()\n {\n Bucket = \"my-opensearch-packages\",\n });\n\n var example = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = myOpensearchPackages.Bucket,\n Key = \"example.txt\",\n Source = new FileAsset(\"./example.txt\"),\n Etag = Std.Filemd5.Invoke(new()\n {\n Input = \"./example.txt\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var examplePackage = new Aws.OpenSearch.Package(\"example\", new()\n {\n PackageName = \"example-txt\",\n PackageSource = new Aws.OpenSearch.Inputs.PackagePackageSourceArgs\n {\n S3BucketName = myOpensearchPackages.Bucket,\n S3Key = example.Key,\n },\n PackageType = \"TXT-DICTIONARY\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyOpensearchPackages, err := s3.NewBucketV2(ctx, \"my_opensearch_packages\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-opensearch-packages\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilemd5, err := std.Filemd5(ctx, \u0026std.Filemd5Args{\n\t\t\tInput: \"./example.txt\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: myOpensearchPackages.Bucket,\n\t\t\tKey: pulumi.String(\"example.txt\"),\n\t\t\tSource: pulumi.NewFileAsset(\"./example.txt\"),\n\t\t\tEtag: pulumi.String(invokeFilemd5.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewPackage(ctx, \"example\", \u0026opensearch.PackageArgs{\n\t\t\tPackageName: pulumi.String(\"example-txt\"),\n\t\t\tPackageSource: \u0026opensearch.PackagePackageSourceArgs{\n\t\t\t\tS3BucketName: myOpensearchPackages.Bucket,\n\t\t\t\tS3Key: example.Key,\n\t\t\t},\n\t\t\tPackageType: pulumi.String(\"TXT-DICTIONARY\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.opensearch.Package;\nimport com.pulumi.aws.opensearch.PackageArgs;\nimport com.pulumi.aws.opensearch.inputs.PackagePackageSourceArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myOpensearchPackages = new BucketV2(\"myOpensearchPackages\", BucketV2Args.builder()\n .bucket(\"my-opensearch-packages\")\n .build());\n\n var example = new BucketObjectv2(\"example\", BucketObjectv2Args.builder()\n .bucket(myOpensearchPackages.bucket())\n .key(\"example.txt\")\n .source(new FileAsset(\"./example.txt\"))\n .etag(StdFunctions.filemd5(Filemd5Args.builder()\n .input(\"./example.txt\")\n .build()).result())\n .build());\n\n var examplePackage = new Package(\"examplePackage\", PackageArgs.builder()\n .packageName(\"example-txt\")\n .packageSource(PackagePackageSourceArgs.builder()\n .s3BucketName(myOpensearchPackages.bucket())\n .s3Key(example.key())\n .build())\n .packageType(\"TXT-DICTIONARY\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myOpensearchPackages:\n type: aws:s3:BucketV2\n name: my_opensearch_packages\n properties:\n bucket: my-opensearch-packages\n example:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${myOpensearchPackages.bucket}\n key: example.txt\n source:\n fn::FileAsset: ./example.txt\n etag:\n fn::invoke:\n Function: std:filemd5\n Arguments:\n input: ./example.txt\n Return: result\n examplePackage:\n type: aws:opensearch:Package\n name: example\n properties:\n packageName: example-txt\n packageSource:\n s3BucketName: ${myOpensearchPackages.bucket}\n s3Key: ${example.key}\n packageType: TXT-DICTIONARY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Opensearch Packages using the Package ID. For example:\n\n```sh\n$ pulumi import aws:opensearch/package:Package example package-id\n```\n", "properties": { "availablePackageVersion": { "type": "string", @@ -315847,7 +315847,7 @@ } }, "aws:opensearch/serverlessAccessPolicy:ServerlessAccessPolicy": { - "description": "Resource for managing an AWS OpenSearch Serverless Access Policy. See AWS documentation for [data access policies](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html) and [supported data access policy permissions](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-supported-permissions).\n\n## Example Usage\n\n### Grant all collection and index permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.opensearch.ServerlessAccessPolicy(\"example\", {\n name: \"example\",\n type: \"data\",\n description: \"read and write permissions\",\n policy: JSON.stringify([{\n Rules: [\n {\n ResourceType: \"index\",\n Resource: [\"index/example-collection/*\"],\n Permission: [\"aoss:*\"],\n },\n {\n ResourceType: \"collection\",\n Resource: [\"collection/example-collection\"],\n Permission: [\"aoss:*\"],\n },\n ],\n Principal: [current.then(current =\u003e current.arn)],\n }]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.opensearch.ServerlessAccessPolicy(\"example\",\n name=\"example\",\n type=\"data\",\n description=\"read and write permissions\",\n policy=json.dumps([{\n \"Rules\": [\n {\n \"ResourceType\": \"index\",\n \"Resource\": [\"index/example-collection/*\"],\n \"Permission\": [\"aoss:*\"],\n },\n {\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/example-collection\"],\n \"Permission\": [\"aoss:*\"],\n },\n ],\n \"Principal\": [current.arn],\n }]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.OpenSearch.ServerlessAccessPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"data\",\n Description = \"read and write permissions\",\n Policy = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"index\",\n [\"Resource\"] = new[]\n {\n \"index/example-collection/*\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:*\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:*\",\n },\n },\n },\n [\"Principal\"] = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"index\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"index/example-collection/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"Principal\": []*string{\n\t\t\t\t\tcurrent.Arn,\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\tjson0 := string(tmpJSON0)\n\t\t_, err = opensearch.NewServerlessAccessPolicy(ctx, \"example\", \u0026opensearch.ServerlessAccessPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"data\"),\n\t\t\tDescription: pulumi.String(\"read and write permissions\"),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicy;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new ServerlessAccessPolicy(\"example\", ServerlessAccessPolicyArgs.builder()\n .name(\"example\")\n .type(\"data\")\n .description(\"read and write permissions\")\n .policy(serializeJson(\n jsonArray(jsonObject(\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"index\"),\n jsonProperty(\"Resource\", jsonArray(\"index/example-collection/*\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:*\"))\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:*\"))\n )\n )),\n jsonProperty(\"Principal\", jsonArray(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn())))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessAccessPolicy\n properties:\n name: example\n type: data\n description: read and write permissions\n policy:\n fn::toJSON:\n - Rules:\n - ResourceType: index\n Resource:\n - index/example-collection/*\n Permission:\n - aoss:*\n - ResourceType: collection\n Resource:\n - collection/example-collection\n Permission:\n - aoss:*\n Principal:\n - ${current.arn}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Grant read-only collection and index permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.opensearch.ServerlessAccessPolicy(\"example\", {\n name: \"example\",\n type: \"data\",\n description: \"read-only permissions\",\n policy: JSON.stringify([{\n Rules: [\n {\n ResourceType: \"index\",\n Resource: [\"index/example-collection/*\"],\n Permission: [\n \"aoss:DescribeIndex\",\n \"aoss:ReadDocument\",\n ],\n },\n {\n ResourceType: \"collection\",\n Resource: [\"collection/example-collection\"],\n Permission: [\"aoss:DescribeCollectionItems\"],\n },\n ],\n Principal: [current.then(current =\u003e current.arn)],\n }]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.opensearch.ServerlessAccessPolicy(\"example\",\n name=\"example\",\n type=\"data\",\n description=\"read-only permissions\",\n policy=json.dumps([{\n \"Rules\": [\n {\n \"ResourceType\": \"index\",\n \"Resource\": [\"index/example-collection/*\"],\n \"Permission\": [\n \"aoss:DescribeIndex\",\n \"aoss:ReadDocument\",\n ],\n },\n {\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/example-collection\"],\n \"Permission\": [\"aoss:DescribeCollectionItems\"],\n },\n ],\n \"Principal\": [current.arn],\n }]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.OpenSearch.ServerlessAccessPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"data\",\n Description = \"read-only permissions\",\n Policy = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"index\",\n [\"Resource\"] = new[]\n {\n \"index/example-collection/*\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:DescribeIndex\",\n \"aoss:ReadDocument\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:DescribeCollectionItems\",\n },\n },\n },\n [\"Principal\"] = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Rules\": []interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"index\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"index/example-collection/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:DescribeIndex\",\n\t\t\t\t\t\t\t\"aoss:ReadDocument\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:DescribeCollectionItems\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"Principal\": []*string{\n\t\t\t\t\tcurrent.Arn,\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\tjson0 := string(tmpJSON0)\n\t\t_, err = opensearch.NewServerlessAccessPolicy(ctx, \"example\", \u0026opensearch.ServerlessAccessPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"data\"),\n\t\t\tDescription: pulumi.String(\"read-only permissions\"),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicy;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new ServerlessAccessPolicy(\"example\", ServerlessAccessPolicyArgs.builder()\n .name(\"example\")\n .type(\"data\")\n .description(\"read-only permissions\")\n .policy(serializeJson(\n jsonArray(jsonObject(\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"index\"),\n jsonProperty(\"Resource\", jsonArray(\"index/example-collection/*\")),\n jsonProperty(\"Permission\", jsonArray(\n \"aoss:DescribeIndex\", \n \"aoss:ReadDocument\"\n ))\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:DescribeCollectionItems\"))\n )\n )),\n jsonProperty(\"Principal\", jsonArray(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn())))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessAccessPolicy\n properties:\n name: example\n type: data\n description: read-only permissions\n policy:\n fn::toJSON:\n - Rules:\n - ResourceType: index\n Resource:\n - index/example-collection/*\n Permission:\n - aoss:DescribeIndex\n - aoss:ReadDocument\n - ResourceType: collection\n Resource:\n - collection/example-collection\n Permission:\n - aoss:DescribeCollectionItems\n Principal:\n - ${current.arn}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Grant SAML identity permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessAccessPolicy(\"example\", {\n name: \"example\",\n type: \"data\",\n description: \"saml permissions\",\n policy: JSON.stringify([{\n Rules: [\n {\n ResourceType: \"index\",\n Resource: [\"index/example-collection/*\"],\n Permission: [\"aoss:*\"],\n },\n {\n ResourceType: \"collection\",\n Resource: [\"collection/example-collection\"],\n Permission: [\"aoss:*\"],\n },\n ],\n Principal: [\n \"saml/123456789012/myprovider/user/Annie\",\n \"saml/123456789012/anotherprovider/group/Accounting\",\n ],\n }]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessAccessPolicy(\"example\",\n name=\"example\",\n type=\"data\",\n description=\"saml permissions\",\n policy=json.dumps([{\n \"Rules\": [\n {\n \"ResourceType\": \"index\",\n \"Resource\": [\"index/example-collection/*\"],\n \"Permission\": [\"aoss:*\"],\n },\n {\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/example-collection\"],\n \"Permission\": [\"aoss:*\"],\n },\n ],\n \"Principal\": [\n \"saml/123456789012/myprovider/user/Annie\",\n \"saml/123456789012/anotherprovider/group/Accounting\",\n ],\n }]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessAccessPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"data\",\n Description = \"saml permissions\",\n Policy = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"index\",\n [\"Resource\"] = new[]\n {\n \"index/example-collection/*\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:*\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:*\",\n },\n },\n },\n [\"Principal\"] = new[]\n {\n \"saml/123456789012/myprovider/user/Annie\",\n \"saml/123456789012/anotherprovider/group/Accounting\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"index\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"index/example-collection/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"Principal\": []string{\n\t\t\t\t\t\"saml/123456789012/myprovider/user/Annie\",\n\t\t\t\t\t\"saml/123456789012/anotherprovider/group/Accounting\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = opensearch.NewServerlessAccessPolicy(ctx, \"example\", \u0026opensearch.ServerlessAccessPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"data\"),\n\t\t\tDescription: pulumi.String(\"saml permissions\"),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicy;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ServerlessAccessPolicy(\"example\", ServerlessAccessPolicyArgs.builder()\n .name(\"example\")\n .type(\"data\")\n .description(\"saml permissions\")\n .policy(serializeJson(\n jsonArray(jsonObject(\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"index\"),\n jsonProperty(\"Resource\", jsonArray(\"index/example-collection/*\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:*\"))\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:*\"))\n )\n )),\n jsonProperty(\"Principal\", jsonArray(\n \"saml/123456789012/myprovider/user/Annie\", \n \"saml/123456789012/anotherprovider/group/Accounting\"\n ))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessAccessPolicy\n properties:\n name: example\n type: data\n description: saml permissions\n policy:\n fn::toJSON:\n - Rules:\n - ResourceType: index\n Resource:\n - index/example-collection/*\n Permission:\n - aoss:*\n - ResourceType: collection\n Resource:\n - collection/example-collection\n Permission:\n - aoss:*\n Principal:\n - saml/123456789012/myprovider/user/Annie\n - saml/123456789012/anotherprovider/group/Accounting\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearchServerless Access Policy using the `name` and `type` arguments separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:opensearch/serverlessAccessPolicy:ServerlessAccessPolicy example example/data\n```\n", + "description": "Resource for managing an AWS OpenSearch Serverless Access Policy. See AWS documentation for [data access policies](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html) and [supported data access policy permissions](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-supported-permissions).\n\n## Example Usage\n\n### Grant all collection and index permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.opensearch.ServerlessAccessPolicy(\"example\", {\n name: \"example\",\n type: \"data\",\n description: \"read and write permissions\",\n policy: JSON.stringify([{\n Rules: [\n {\n ResourceType: \"index\",\n Resource: [\"index/example-collection/*\"],\n Permission: [\"aoss:*\"],\n },\n {\n ResourceType: \"collection\",\n Resource: [\"collection/example-collection\"],\n Permission: [\"aoss:*\"],\n },\n ],\n Principal: [current.then(current =\u003e current.arn)],\n }]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.opensearch.ServerlessAccessPolicy(\"example\",\n name=\"example\",\n type=\"data\",\n description=\"read and write permissions\",\n policy=json.dumps([{\n \"Rules\": [\n {\n \"ResourceType\": \"index\",\n \"Resource\": [\"index/example-collection/*\"],\n \"Permission\": [\"aoss:*\"],\n },\n {\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/example-collection\"],\n \"Permission\": [\"aoss:*\"],\n },\n ],\n \"Principal\": [current.arn],\n }]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.OpenSearch.ServerlessAccessPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"data\",\n Description = \"read and write permissions\",\n Policy = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"index\",\n [\"Resource\"] = new[]\n {\n \"index/example-collection/*\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:*\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:*\",\n },\n },\n },\n [\"Principal\"] = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"index\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"index/example-collection/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"Principal\": []*string{\n\t\t\t\t\tcurrent.Arn,\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\tjson0 := string(tmpJSON0)\n\t\t_, err = opensearch.NewServerlessAccessPolicy(ctx, \"example\", \u0026opensearch.ServerlessAccessPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"data\"),\n\t\t\tDescription: pulumi.String(\"read and write permissions\"),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicy;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new ServerlessAccessPolicy(\"example\", ServerlessAccessPolicyArgs.builder()\n .name(\"example\")\n .type(\"data\")\n .description(\"read and write permissions\")\n .policy(serializeJson(\n jsonArray(jsonObject(\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"index\"),\n jsonProperty(\"Resource\", jsonArray(\"index/example-collection/*\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:*\"))\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:*\"))\n )\n )),\n jsonProperty(\"Principal\", jsonArray(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn())))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessAccessPolicy\n properties:\n name: example\n type: data\n description: read and write permissions\n policy:\n fn::toJSON:\n - Rules:\n - ResourceType: index\n Resource:\n - index/example-collection/*\n Permission:\n - aoss:*\n - ResourceType: collection\n Resource:\n - collection/example-collection\n Permission:\n - aoss:*\n Principal:\n - ${current.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Grant read-only collection and index permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.opensearch.ServerlessAccessPolicy(\"example\", {\n name: \"example\",\n type: \"data\",\n description: \"read-only permissions\",\n policy: JSON.stringify([{\n Rules: [\n {\n ResourceType: \"index\",\n Resource: [\"index/example-collection/*\"],\n Permission: [\n \"aoss:DescribeIndex\",\n \"aoss:ReadDocument\",\n ],\n },\n {\n ResourceType: \"collection\",\n Resource: [\"collection/example-collection\"],\n Permission: [\"aoss:DescribeCollectionItems\"],\n },\n ],\n Principal: [current.then(current =\u003e current.arn)],\n }]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.opensearch.ServerlessAccessPolicy(\"example\",\n name=\"example\",\n type=\"data\",\n description=\"read-only permissions\",\n policy=json.dumps([{\n \"Rules\": [\n {\n \"ResourceType\": \"index\",\n \"Resource\": [\"index/example-collection/*\"],\n \"Permission\": [\n \"aoss:DescribeIndex\",\n \"aoss:ReadDocument\",\n ],\n },\n {\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/example-collection\"],\n \"Permission\": [\"aoss:DescribeCollectionItems\"],\n },\n ],\n \"Principal\": [current.arn],\n }]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.OpenSearch.ServerlessAccessPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"data\",\n Description = \"read-only permissions\",\n Policy = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"index\",\n [\"Resource\"] = new[]\n {\n \"index/example-collection/*\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:DescribeIndex\",\n \"aoss:ReadDocument\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:DescribeCollectionItems\",\n },\n },\n },\n [\"Principal\"] = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Rules\": []interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"index\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"index/example-collection/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:DescribeIndex\",\n\t\t\t\t\t\t\t\"aoss:ReadDocument\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:DescribeCollectionItems\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"Principal\": []*string{\n\t\t\t\t\tcurrent.Arn,\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\tjson0 := string(tmpJSON0)\n\t\t_, err = opensearch.NewServerlessAccessPolicy(ctx, \"example\", \u0026opensearch.ServerlessAccessPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"data\"),\n\t\t\tDescription: pulumi.String(\"read-only permissions\"),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicy;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new ServerlessAccessPolicy(\"example\", ServerlessAccessPolicyArgs.builder()\n .name(\"example\")\n .type(\"data\")\n .description(\"read-only permissions\")\n .policy(serializeJson(\n jsonArray(jsonObject(\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"index\"),\n jsonProperty(\"Resource\", jsonArray(\"index/example-collection/*\")),\n jsonProperty(\"Permission\", jsonArray(\n \"aoss:DescribeIndex\", \n \"aoss:ReadDocument\"\n ))\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:DescribeCollectionItems\"))\n )\n )),\n jsonProperty(\"Principal\", jsonArray(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn())))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessAccessPolicy\n properties:\n name: example\n type: data\n description: read-only permissions\n policy:\n fn::toJSON:\n - Rules:\n - ResourceType: index\n Resource:\n - index/example-collection/*\n Permission:\n - aoss:DescribeIndex\n - aoss:ReadDocument\n - ResourceType: collection\n Resource:\n - collection/example-collection\n Permission:\n - aoss:DescribeCollectionItems\n Principal:\n - ${current.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Grant SAML identity permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessAccessPolicy(\"example\", {\n name: \"example\",\n type: \"data\",\n description: \"saml permissions\",\n policy: JSON.stringify([{\n Rules: [\n {\n ResourceType: \"index\",\n Resource: [\"index/example-collection/*\"],\n Permission: [\"aoss:*\"],\n },\n {\n ResourceType: \"collection\",\n Resource: [\"collection/example-collection\"],\n Permission: [\"aoss:*\"],\n },\n ],\n Principal: [\n \"saml/123456789012/myprovider/user/Annie\",\n \"saml/123456789012/anotherprovider/group/Accounting\",\n ],\n }]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessAccessPolicy(\"example\",\n name=\"example\",\n type=\"data\",\n description=\"saml permissions\",\n policy=json.dumps([{\n \"Rules\": [\n {\n \"ResourceType\": \"index\",\n \"Resource\": [\"index/example-collection/*\"],\n \"Permission\": [\"aoss:*\"],\n },\n {\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/example-collection\"],\n \"Permission\": [\"aoss:*\"],\n },\n ],\n \"Principal\": [\n \"saml/123456789012/myprovider/user/Annie\",\n \"saml/123456789012/anotherprovider/group/Accounting\",\n ],\n }]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessAccessPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"data\",\n Description = \"saml permissions\",\n Policy = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"index\",\n [\"Resource\"] = new[]\n {\n \"index/example-collection/*\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:*\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:*\",\n },\n },\n },\n [\"Principal\"] = new[]\n {\n \"saml/123456789012/myprovider/user/Annie\",\n \"saml/123456789012/anotherprovider/group/Accounting\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"index\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"index/example-collection/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"Principal\": []string{\n\t\t\t\t\t\"saml/123456789012/myprovider/user/Annie\",\n\t\t\t\t\t\"saml/123456789012/anotherprovider/group/Accounting\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = opensearch.NewServerlessAccessPolicy(ctx, \"example\", \u0026opensearch.ServerlessAccessPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"data\"),\n\t\t\tDescription: pulumi.String(\"saml permissions\"),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicy;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ServerlessAccessPolicy(\"example\", ServerlessAccessPolicyArgs.builder()\n .name(\"example\")\n .type(\"data\")\n .description(\"saml permissions\")\n .policy(serializeJson(\n jsonArray(jsonObject(\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"index\"),\n jsonProperty(\"Resource\", jsonArray(\"index/example-collection/*\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:*\"))\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:*\"))\n )\n )),\n jsonProperty(\"Principal\", jsonArray(\n \"saml/123456789012/myprovider/user/Annie\", \n \"saml/123456789012/anotherprovider/group/Accounting\"\n ))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessAccessPolicy\n properties:\n name: example\n type: data\n description: saml permissions\n policy:\n fn::toJSON:\n - Rules:\n - ResourceType: index\n Resource:\n - index/example-collection/*\n Permission:\n - aoss:*\n - ResourceType: collection\n Resource:\n - collection/example-collection\n Permission:\n - aoss:*\n Principal:\n - saml/123456789012/myprovider/user/Annie\n - saml/123456789012/anotherprovider/group/Accounting\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearchServerless Access Policy using the `name` and `type` arguments separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:opensearch/serverlessAccessPolicy:ServerlessAccessPolicy example example/data\n```\n", "properties": { "description": { "type": "string", @@ -315926,7 +315926,7 @@ } }, "aws:opensearch/serverlessCollection:ServerlessCollection": { - "description": "Resource for managing an AWS OpenSearch Serverless Collection.\n\n\u003e **NOTE:** An `aws.opensearch.ServerlessCollection` cannot be created without having an applicable encryption security policy. Use the `depends_on` meta-argument to define this dependency.\n\n\u003e **NOTE:** An `aws.opensearch.ServerlessCollection` is not accessible without configuring an applicable network security policy. Data cannot be accessed without configuring an applicable data access policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessSecurityPolicy(\"example\", {\n name: \"example\",\n type: \"encryption\",\n policy: JSON.stringify({\n Rules: [{\n Resource: [\"collection/example\"],\n ResourceType: \"collection\",\n }],\n AWSOwnedKey: true,\n }),\n});\nconst exampleServerlessCollection = new aws.opensearch.ServerlessCollection(\"example\", {name: \"example\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessSecurityPolicy(\"example\",\n name=\"example\",\n type=\"encryption\",\n policy=json.dumps({\n \"Rules\": [{\n \"Resource\": [\"collection/example\"],\n \"ResourceType\": \"collection\",\n }],\n \"AWSOwnedKey\": True,\n }))\nexample_serverless_collection = aws.opensearch.ServerlessCollection(\"example\", name=\"example\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessSecurityPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"encryption\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Resource\"] = new[]\n {\n \"collection/example\",\n },\n [\"ResourceType\"] = \"collection\",\n },\n },\n [\"AWSOwnedKey\"] = true,\n }),\n });\n\n var exampleServerlessCollection = new Aws.OpenSearch.ServerlessCollection(\"example\", new()\n {\n Name = \"example\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"collection/example\",\n\t\t\t\t\t},\n\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"AWSOwnedKey\": true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texample, err := opensearch.NewServerlessSecurityPolicy(ctx, \"example\", \u0026opensearch.ServerlessSecurityPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"encryption\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewServerlessCollection(ctx, \"example\", \u0026opensearch.ServerlessCollectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.ServerlessSecurityPolicy;\nimport com.pulumi.aws.opensearch.ServerlessSecurityPolicyArgs;\nimport com.pulumi.aws.opensearch.ServerlessCollection;\nimport com.pulumi.aws.opensearch.ServerlessCollectionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ServerlessSecurityPolicy(\"example\", ServerlessSecurityPolicyArgs.builder()\n .name(\"example\")\n .type(\"encryption\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Rules\", jsonArray(jsonObject(\n jsonProperty(\"Resource\", jsonArray(\"collection/example\")),\n jsonProperty(\"ResourceType\", \"collection\")\n ))),\n jsonProperty(\"AWSOwnedKey\", true)\n )))\n .build());\n\n var exampleServerlessCollection = new ServerlessCollection(\"exampleServerlessCollection\", ServerlessCollectionArgs.builder()\n .name(\"example\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessSecurityPolicy\n properties:\n name: example\n type: encryption\n policy:\n fn::toJSON:\n Rules:\n - Resource:\n - collection/example\n ResourceType: collection\n AWSOwnedKey: true\n exampleServerlessCollection:\n type: aws:opensearch:ServerlessCollection\n name: example\n properties:\n name: example\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearchServerless Collection using the `id`. For example:\n\n```sh\n$ pulumi import aws:opensearch/serverlessCollection:ServerlessCollection example example\n```\n", + "description": "Resource for managing an AWS OpenSearch Serverless Collection.\n\n\u003e **NOTE:** An `aws.opensearch.ServerlessCollection` cannot be created without having an applicable encryption security policy. Use the `depends_on` meta-argument to define this dependency.\n\n\u003e **NOTE:** An `aws.opensearch.ServerlessCollection` is not accessible without configuring an applicable network security policy. Data cannot be accessed without configuring an applicable data access policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessSecurityPolicy(\"example\", {\n name: \"example\",\n type: \"encryption\",\n policy: JSON.stringify({\n Rules: [{\n Resource: [\"collection/example\"],\n ResourceType: \"collection\",\n }],\n AWSOwnedKey: true,\n }),\n});\nconst exampleServerlessCollection = new aws.opensearch.ServerlessCollection(\"example\", {name: \"example\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessSecurityPolicy(\"example\",\n name=\"example\",\n type=\"encryption\",\n policy=json.dumps({\n \"Rules\": [{\n \"Resource\": [\"collection/example\"],\n \"ResourceType\": \"collection\",\n }],\n \"AWSOwnedKey\": True,\n }))\nexample_serverless_collection = aws.opensearch.ServerlessCollection(\"example\", name=\"example\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessSecurityPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"encryption\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Resource\"] = new[]\n {\n \"collection/example\",\n },\n [\"ResourceType\"] = \"collection\",\n },\n },\n [\"AWSOwnedKey\"] = true,\n }),\n });\n\n var exampleServerlessCollection = new Aws.OpenSearch.ServerlessCollection(\"example\", new()\n {\n Name = \"example\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"collection/example\",\n\t\t\t\t\t},\n\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"AWSOwnedKey\": true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texample, err := opensearch.NewServerlessSecurityPolicy(ctx, \"example\", \u0026opensearch.ServerlessSecurityPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"encryption\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewServerlessCollection(ctx, \"example\", \u0026opensearch.ServerlessCollectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.ServerlessSecurityPolicy;\nimport com.pulumi.aws.opensearch.ServerlessSecurityPolicyArgs;\nimport com.pulumi.aws.opensearch.ServerlessCollection;\nimport com.pulumi.aws.opensearch.ServerlessCollectionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ServerlessSecurityPolicy(\"example\", ServerlessSecurityPolicyArgs.builder()\n .name(\"example\")\n .type(\"encryption\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Rules\", jsonArray(jsonObject(\n jsonProperty(\"Resource\", jsonArray(\"collection/example\")),\n jsonProperty(\"ResourceType\", \"collection\")\n ))),\n jsonProperty(\"AWSOwnedKey\", true)\n )))\n .build());\n\n var exampleServerlessCollection = new ServerlessCollection(\"exampleServerlessCollection\", ServerlessCollectionArgs.builder()\n .name(\"example\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessSecurityPolicy\n properties:\n name: example\n type: encryption\n policy:\n fn::toJSON:\n Rules:\n - Resource:\n - collection/example\n ResourceType: collection\n AWSOwnedKey: true\n exampleServerlessCollection:\n type: aws:opensearch:ServerlessCollection\n name: example\n properties:\n name: example\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearchServerless Collection using the `id`. For example:\n\n```sh\n$ pulumi import aws:opensearch/serverlessCollection:ServerlessCollection example example\n```\n", "properties": { "arn": { "type": "string", @@ -316462,7 +316462,7 @@ } }, "aws:opensearchingest/pipeline:Pipeline": { - "description": "Resource for managing an AWS OpenSearch Ingestion Pipeline.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.iam.Role(\"example\", {assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"osis-pipelines.amazonaws.com\",\n },\n }],\n})});\nconst examplePipeline = new aws.opensearchingest.Pipeline(\"example\", {\n pipelineName: \"example\",\n pipelineConfigurationBody: pulumi.all([example.arn, current]).apply(([arn, current]) =\u003e `version: \"2\"\nexample-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"${arn}\"\n region: \"${current.name}\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n`),\n maxUnits: 1,\n minUnits: 1,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.iam.Role(\"example\", assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"osis-pipelines.amazonaws.com\",\n },\n }],\n}))\nexample_pipeline = aws.opensearchingest.Pipeline(\"example\",\n pipeline_name=\"example\",\n pipeline_configuration_body=example.arn.apply(lambda arn: f\"\"\"version: \"2\"\nexample-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"{arn}\"\n region: \"{current.name}\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n\"\"\"),\n max_units=1,\n min_units=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"osis-pipelines.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var examplePipeline = new Aws.OpenSearchIngest.Pipeline(\"example\", new()\n {\n PipelineName = \"example\",\n PipelineConfigurationBody = Output.Tuple(example.Arn, current).Apply(values =\u003e\n {\n var arn = values.Item1;\n var current = values.Item2;\n return @$\"version: \"\"2\"\"\nexample-pipeline:\n source:\n http:\n path: \"\"/example\"\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"\"{arn}\"\"\n region: \"\"{current.Apply(getRegionResult =\u003e getRegionResult.Name)}\"\"\n bucket: \"\"example\"\"\n threshold:\n event_collect_timeout: \"\"60s\"\"\n codec:\n ndjson:\n\";\n }),\n MaxUnits = 1,\n MinUnits = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearchingest\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"osis-pipelines.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearchingest.NewPipeline(ctx, \"example\", \u0026opensearchingest.PipelineArgs{\n\t\t\tPipelineName: pulumi.String(\"example\"),\n\t\t\tPipelineConfigurationBody: example.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(`version: \"2\"\nexample-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"%v\"\n region: \"%v\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n`, arn, current.Name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tMaxUnits: pulumi.Int(1),\n\t\t\tMinUnits: pulumi.Int(1),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.opensearchingest.Pipeline;\nimport com.pulumi.aws.opensearchingest.PipelineArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"osis-pipelines.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var examplePipeline = new Pipeline(\"examplePipeline\", PipelineArgs.builder()\n .pipelineName(\"example\")\n .pipelineConfigurationBody(example.arn().applyValue(arn -\u003e \"\"\"\nversion: \"2\"\nexample-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"%s\"\n region: \"%s\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n\", arn,current.applyValue(getRegionResult -\u003e getRegionResult.name()))))\n .maxUnits(1)\n .minUnits(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid: \"\"\n Principal:\n Service: osis-pipelines.amazonaws.com\n examplePipeline:\n type: aws:opensearchingest:Pipeline\n name: example\n properties:\n pipelineName: example\n pipelineConfigurationBody: |\n version: \"2\"\n example-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"${example.arn}\"\n region: \"${current.name}\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n maxUnits: 1\n minUnits: 1\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using file function\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.opensearchingest.Pipeline(\"example\", {\n pipelineName: \"example\",\n pipelineConfigurationBody: std.file({\n input: \"example.yaml\",\n }).then(invoke =\u003e invoke.result),\n maxUnits: 1,\n minUnits: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.opensearchingest.Pipeline(\"example\",\n pipeline_name=\"example\",\n pipeline_configuration_body=std.file(input=\"example.yaml\").result,\n max_units=1,\n min_units=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearchIngest.Pipeline(\"example\", new()\n {\n PipelineName = \"example\",\n PipelineConfigurationBody = Std.File.Invoke(new()\n {\n Input = \"example.yaml\",\n }).Apply(invoke =\u003e invoke.Result),\n MaxUnits = 1,\n MinUnits = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearchingest\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"example.yaml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearchingest.NewPipeline(ctx, \"example\", \u0026opensearchingest.PipelineArgs{\n\t\t\tPipelineName: pulumi.String(\"example\"),\n\t\t\tPipelineConfigurationBody: pulumi.String(invokeFile.Result),\n\t\t\tMaxUnits: pulumi.Int(1),\n\t\t\tMinUnits: pulumi.Int(1),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearchingest.Pipeline;\nimport com.pulumi.aws.opensearchingest.PipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Pipeline(\"example\", PipelineArgs.builder()\n .pipelineName(\"example\")\n .pipelineConfigurationBody(StdFunctions.file(FileArgs.builder()\n .input(\"example.yaml\")\n .build()).result())\n .maxUnits(1)\n .minUnits(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearchingest:Pipeline\n properties:\n pipelineName: example\n pipelineConfigurationBody:\n fn::invoke:\n function: std:file\n arguments:\n input: example.yaml\n return: result\n maxUnits: 1\n minUnits: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearch Ingestion Pipeline using the `id`. For example:\n\n```sh\n$ pulumi import aws:opensearchingest/pipeline:Pipeline example example\n```\n", + "description": "Resource for managing an AWS OpenSearch Ingestion Pipeline.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.iam.Role(\"example\", {assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"osis-pipelines.amazonaws.com\",\n },\n }],\n})});\nconst examplePipeline = new aws.opensearchingest.Pipeline(\"example\", {\n pipelineName: \"example\",\n pipelineConfigurationBody: pulumi.all([example.arn, current]).apply(([arn, current]) =\u003e `version: \"2\"\nexample-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"${arn}\"\n region: \"${current.name}\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n`),\n maxUnits: 1,\n minUnits: 1,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.iam.Role(\"example\", assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"osis-pipelines.amazonaws.com\",\n },\n }],\n}))\nexample_pipeline = aws.opensearchingest.Pipeline(\"example\",\n pipeline_name=\"example\",\n pipeline_configuration_body=example.arn.apply(lambda arn: f\"\"\"version: \"2\"\nexample-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"{arn}\"\n region: \"{current.name}\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n\"\"\"),\n max_units=1,\n min_units=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"osis-pipelines.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var examplePipeline = new Aws.OpenSearchIngest.Pipeline(\"example\", new()\n {\n PipelineName = \"example\",\n PipelineConfigurationBody = Output.Tuple(example.Arn, current).Apply(values =\u003e\n {\n var arn = values.Item1;\n var current = values.Item2;\n return @$\"version: \"\"2\"\"\nexample-pipeline:\n source:\n http:\n path: \"\"/example\"\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"\"{arn}\"\"\n region: \"\"{current.Apply(getRegionResult =\u003e getRegionResult.Name)}\"\"\n bucket: \"\"example\"\"\n threshold:\n event_collect_timeout: \"\"60s\"\"\n codec:\n ndjson:\n\";\n }),\n MaxUnits = 1,\n MinUnits = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearchingest\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"osis-pipelines.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearchingest.NewPipeline(ctx, \"example\", \u0026opensearchingest.PipelineArgs{\n\t\t\tPipelineName: pulumi.String(\"example\"),\n\t\t\tPipelineConfigurationBody: example.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(`version: \"2\"\nexample-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"%v\"\n region: \"%v\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n`, arn, current.Name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tMaxUnits: pulumi.Int(1),\n\t\t\tMinUnits: pulumi.Int(1),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.opensearchingest.Pipeline;\nimport com.pulumi.aws.opensearchingest.PipelineArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"osis-pipelines.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var examplePipeline = new Pipeline(\"examplePipeline\", PipelineArgs.builder()\n .pipelineName(\"example\")\n .pipelineConfigurationBody(example.arn().applyValue(arn -\u003e \"\"\"\nversion: \"2\"\nexample-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"%s\"\n region: \"%s\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n\", arn,current.applyValue(getRegionResult -\u003e getRegionResult.name()))))\n .maxUnits(1)\n .minUnits(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: osis-pipelines.amazonaws.com\n examplePipeline:\n type: aws:opensearchingest:Pipeline\n name: example\n properties:\n pipelineName: example\n pipelineConfigurationBody: |\n version: \"2\"\n example-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"${example.arn}\"\n region: \"${current.name}\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n maxUnits: 1\n minUnits: 1\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using file function\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.opensearchingest.Pipeline(\"example\", {\n pipelineName: \"example\",\n pipelineConfigurationBody: std.file({\n input: \"example.yaml\",\n }).then(invoke =\u003e invoke.result),\n maxUnits: 1,\n minUnits: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.opensearchingest.Pipeline(\"example\",\n pipeline_name=\"example\",\n pipeline_configuration_body=std.file(input=\"example.yaml\").result,\n max_units=1,\n min_units=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearchIngest.Pipeline(\"example\", new()\n {\n PipelineName = \"example\",\n PipelineConfigurationBody = Std.File.Invoke(new()\n {\n Input = \"example.yaml\",\n }).Apply(invoke =\u003e invoke.Result),\n MaxUnits = 1,\n MinUnits = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearchingest\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"example.yaml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearchingest.NewPipeline(ctx, \"example\", \u0026opensearchingest.PipelineArgs{\n\t\t\tPipelineName: pulumi.String(\"example\"),\n\t\t\tPipelineConfigurationBody: pulumi.String(invokeFile.Result),\n\t\t\tMaxUnits: pulumi.Int(1),\n\t\t\tMinUnits: pulumi.Int(1),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearchingest.Pipeline;\nimport com.pulumi.aws.opensearchingest.PipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Pipeline(\"example\", PipelineArgs.builder()\n .pipelineName(\"example\")\n .pipelineConfigurationBody(StdFunctions.file(FileArgs.builder()\n .input(\"example.yaml\")\n .build()).result())\n .maxUnits(1)\n .minUnits(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearchingest:Pipeline\n properties:\n pipelineName: example\n pipelineConfigurationBody:\n fn::invoke:\n Function: std:file\n Arguments:\n input: example.yaml\n Return: result\n maxUnits: 1\n minUnits: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearch Ingestion Pipeline using the `id`. For example:\n\n```sh\n$ pulumi import aws:opensearchingest/pipeline:Pipeline example example\n```\n", "properties": { "bufferOptions": { "$ref": "#/types/aws:opensearchingest/PipelineBufferOptions:PipelineBufferOptions", @@ -316652,7 +316652,7 @@ } }, "aws:opsworks/application:Application": { - "description": "Provides an OpsWorks application resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst foo_app = new aws.opsworks.Application(\"foo-app\", {\n name: \"foobar application\",\n shortName: \"foobar\",\n stackId: main.id,\n type: \"rails\",\n description: \"This is a Rails application\",\n domains: [\n \"example.com\",\n \"sub.example.com\",\n ],\n environments: [{\n key: \"key\",\n value: \"value\",\n secure: false,\n }],\n appSources: [{\n type: \"git\",\n revision: \"master\",\n url: \"https://github.com/example.git\",\n }],\n enableSsl: true,\n sslConfigurations: [{\n privateKey: std.file({\n input: \"./foobar.key\",\n }).then(invoke =\u003e invoke.result),\n certificate: std.file({\n input: \"./foobar.crt\",\n }).then(invoke =\u003e invoke.result),\n }],\n documentRoot: \"public\",\n autoBundleOnDeploy: \"true\",\n railsEnv: \"staging\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nfoo_app = aws.opsworks.Application(\"foo-app\",\n name=\"foobar application\",\n short_name=\"foobar\",\n stack_id=main[\"id\"],\n type=\"rails\",\n description=\"This is a Rails application\",\n domains=[\n \"example.com\",\n \"sub.example.com\",\n ],\n environments=[{\n \"key\": \"key\",\n \"value\": \"value\",\n \"secure\": False,\n }],\n app_sources=[{\n \"type\": \"git\",\n \"revision\": \"master\",\n \"url\": \"https://github.com/example.git\",\n }],\n enable_ssl=True,\n ssl_configurations=[{\n \"private_key\": std.file(input=\"./foobar.key\").result,\n \"certificate\": std.file(input=\"./foobar.crt\").result,\n }],\n document_root=\"public\",\n auto_bundle_on_deploy=\"true\",\n rails_env=\"staging\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo_app = new Aws.OpsWorks.Application(\"foo-app\", new()\n {\n Name = \"foobar application\",\n ShortName = \"foobar\",\n StackId = main.Id,\n Type = \"rails\",\n Description = \"This is a Rails application\",\n Domains = new[]\n {\n \"example.com\",\n \"sub.example.com\",\n },\n Environments = new[]\n {\n new Aws.OpsWorks.Inputs.ApplicationEnvironmentArgs\n {\n Key = \"key\",\n Value = \"value\",\n Secure = false,\n },\n },\n AppSources = new[]\n {\n new Aws.OpsWorks.Inputs.ApplicationAppSourceArgs\n {\n Type = \"git\",\n Revision = \"master\",\n Url = \"https://github.com/example.git\",\n },\n },\n EnableSsl = true,\n SslConfigurations = new[]\n {\n new Aws.OpsWorks.Inputs.ApplicationSslConfigurationArgs\n {\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./foobar.key\",\n }).Apply(invoke =\u003e invoke.Result),\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./foobar.crt\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n DocumentRoot = \"public\",\n AutoBundleOnDeploy = \"true\",\n RailsEnv = \"staging\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./foobar.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./foobar.crt\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opsworks.NewApplication(ctx, \"foo-app\", \u0026opsworks.ApplicationArgs{\n\t\t\tName: pulumi.String(\"foobar application\"),\n\t\t\tShortName: pulumi.String(\"foobar\"),\n\t\t\tStackId: pulumi.Any(main.Id),\n\t\t\tType: pulumi.String(\"rails\"),\n\t\t\tDescription: pulumi.String(\"This is a Rails application\"),\n\t\t\tDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\tpulumi.String(\"sub.example.com\"),\n\t\t\t},\n\t\t\tEnvironments: opsworks.ApplicationEnvironmentArray{\n\t\t\t\t\u0026opsworks.ApplicationEnvironmentArgs{\n\t\t\t\t\tKey: pulumi.String(\"key\"),\n\t\t\t\t\tValue: pulumi.String(\"value\"),\n\t\t\t\t\tSecure: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAppSources: opsworks.ApplicationAppSourceArray{\n\t\t\t\t\u0026opsworks.ApplicationAppSourceArgs{\n\t\t\t\t\tType: pulumi.String(\"git\"),\n\t\t\t\t\tRevision: pulumi.String(\"master\"),\n\t\t\t\t\tUrl: pulumi.String(\"https://github.com/example.git\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnableSsl: pulumi.Bool(true),\n\t\t\tSslConfigurations: opsworks.ApplicationSslConfigurationArray{\n\t\t\t\t\u0026opsworks.ApplicationSslConfigurationArgs{\n\t\t\t\t\tPrivateKey: pulumi.String(invokeFile.Result),\n\t\t\t\t\tCertificate: pulumi.String(invokeFile1.Result),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDocumentRoot: pulumi.String(\"public\"),\n\t\t\tAutoBundleOnDeploy: pulumi.String(\"true\"),\n\t\t\tRailsEnv: pulumi.String(\"staging\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opsworks.Application;\nimport com.pulumi.aws.opsworks.ApplicationArgs;\nimport com.pulumi.aws.opsworks.inputs.ApplicationEnvironmentArgs;\nimport com.pulumi.aws.opsworks.inputs.ApplicationAppSourceArgs;\nimport com.pulumi.aws.opsworks.inputs.ApplicationSslConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo_app = new Application(\"foo-app\", ApplicationArgs.builder()\n .name(\"foobar application\")\n .shortName(\"foobar\")\n .stackId(main.id())\n .type(\"rails\")\n .description(\"This is a Rails application\")\n .domains( \n \"example.com\",\n \"sub.example.com\")\n .environments(ApplicationEnvironmentArgs.builder()\n .key(\"key\")\n .value(\"value\")\n .secure(false)\n .build())\n .appSources(ApplicationAppSourceArgs.builder()\n .type(\"git\")\n .revision(\"master\")\n .url(\"https://github.com/example.git\")\n .build())\n .enableSsl(true)\n .sslConfigurations(ApplicationSslConfigurationArgs.builder()\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./foobar.key\")\n .build()).result())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./foobar.crt\")\n .build()).result())\n .build())\n .documentRoot(\"public\")\n .autoBundleOnDeploy(true)\n .railsEnv(\"staging\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo-app:\n type: aws:opsworks:Application\n properties:\n name: foobar application\n shortName: foobar\n stackId: ${main.id}\n type: rails\n description: This is a Rails application\n domains:\n - example.com\n - sub.example.com\n environments:\n - key: key\n value: value\n secure: false\n appSources:\n - type: git\n revision: master\n url: https://github.com/example.git\n enableSsl: true\n sslConfigurations:\n - privateKey:\n fn::invoke:\n function: std:file\n arguments:\n input: ./foobar.key\n return: result\n certificate:\n fn::invoke:\n function: std:file\n arguments:\n input: ./foobar.crt\n return: result\n documentRoot: public\n autoBundleOnDeploy: true\n railsEnv: staging\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Opsworks Application using the `id`. For example:\n\n```sh\n$ pulumi import aws:opsworks/application:Application test \u003cid\u003e\n```\n", + "description": "Provides an OpsWorks application resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst foo_app = new aws.opsworks.Application(\"foo-app\", {\n name: \"foobar application\",\n shortName: \"foobar\",\n stackId: main.id,\n type: \"rails\",\n description: \"This is a Rails application\",\n domains: [\n \"example.com\",\n \"sub.example.com\",\n ],\n environments: [{\n key: \"key\",\n value: \"value\",\n secure: false,\n }],\n appSources: [{\n type: \"git\",\n revision: \"master\",\n url: \"https://github.com/example.git\",\n }],\n enableSsl: true,\n sslConfigurations: [{\n privateKey: std.file({\n input: \"./foobar.key\",\n }).then(invoke =\u003e invoke.result),\n certificate: std.file({\n input: \"./foobar.crt\",\n }).then(invoke =\u003e invoke.result),\n }],\n documentRoot: \"public\",\n autoBundleOnDeploy: \"true\",\n railsEnv: \"staging\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nfoo_app = aws.opsworks.Application(\"foo-app\",\n name=\"foobar application\",\n short_name=\"foobar\",\n stack_id=main[\"id\"],\n type=\"rails\",\n description=\"This is a Rails application\",\n domains=[\n \"example.com\",\n \"sub.example.com\",\n ],\n environments=[{\n \"key\": \"key\",\n \"value\": \"value\",\n \"secure\": False,\n }],\n app_sources=[{\n \"type\": \"git\",\n \"revision\": \"master\",\n \"url\": \"https://github.com/example.git\",\n }],\n enable_ssl=True,\n ssl_configurations=[{\n \"private_key\": std.file(input=\"./foobar.key\").result,\n \"certificate\": std.file(input=\"./foobar.crt\").result,\n }],\n document_root=\"public\",\n auto_bundle_on_deploy=\"true\",\n rails_env=\"staging\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo_app = new Aws.OpsWorks.Application(\"foo-app\", new()\n {\n Name = \"foobar application\",\n ShortName = \"foobar\",\n StackId = main.Id,\n Type = \"rails\",\n Description = \"This is a Rails application\",\n Domains = new[]\n {\n \"example.com\",\n \"sub.example.com\",\n },\n Environments = new[]\n {\n new Aws.OpsWorks.Inputs.ApplicationEnvironmentArgs\n {\n Key = \"key\",\n Value = \"value\",\n Secure = false,\n },\n },\n AppSources = new[]\n {\n new Aws.OpsWorks.Inputs.ApplicationAppSourceArgs\n {\n Type = \"git\",\n Revision = \"master\",\n Url = \"https://github.com/example.git\",\n },\n },\n EnableSsl = true,\n SslConfigurations = new[]\n {\n new Aws.OpsWorks.Inputs.ApplicationSslConfigurationArgs\n {\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./foobar.key\",\n }).Apply(invoke =\u003e invoke.Result),\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./foobar.crt\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n DocumentRoot = \"public\",\n AutoBundleOnDeploy = \"true\",\n RailsEnv = \"staging\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./foobar.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./foobar.crt\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opsworks.NewApplication(ctx, \"foo-app\", \u0026opsworks.ApplicationArgs{\n\t\t\tName: pulumi.String(\"foobar application\"),\n\t\t\tShortName: pulumi.String(\"foobar\"),\n\t\t\tStackId: pulumi.Any(main.Id),\n\t\t\tType: pulumi.String(\"rails\"),\n\t\t\tDescription: pulumi.String(\"This is a Rails application\"),\n\t\t\tDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\tpulumi.String(\"sub.example.com\"),\n\t\t\t},\n\t\t\tEnvironments: opsworks.ApplicationEnvironmentArray{\n\t\t\t\t\u0026opsworks.ApplicationEnvironmentArgs{\n\t\t\t\t\tKey: pulumi.String(\"key\"),\n\t\t\t\t\tValue: pulumi.String(\"value\"),\n\t\t\t\t\tSecure: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAppSources: opsworks.ApplicationAppSourceArray{\n\t\t\t\t\u0026opsworks.ApplicationAppSourceArgs{\n\t\t\t\t\tType: pulumi.String(\"git\"),\n\t\t\t\t\tRevision: pulumi.String(\"master\"),\n\t\t\t\t\tUrl: pulumi.String(\"https://github.com/example.git\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnableSsl: pulumi.Bool(true),\n\t\t\tSslConfigurations: opsworks.ApplicationSslConfigurationArray{\n\t\t\t\t\u0026opsworks.ApplicationSslConfigurationArgs{\n\t\t\t\t\tPrivateKey: pulumi.String(invokeFile.Result),\n\t\t\t\t\tCertificate: pulumi.String(invokeFile1.Result),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDocumentRoot: pulumi.String(\"public\"),\n\t\t\tAutoBundleOnDeploy: pulumi.String(\"true\"),\n\t\t\tRailsEnv: pulumi.String(\"staging\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opsworks.Application;\nimport com.pulumi.aws.opsworks.ApplicationArgs;\nimport com.pulumi.aws.opsworks.inputs.ApplicationEnvironmentArgs;\nimport com.pulumi.aws.opsworks.inputs.ApplicationAppSourceArgs;\nimport com.pulumi.aws.opsworks.inputs.ApplicationSslConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo_app = new Application(\"foo-app\", ApplicationArgs.builder()\n .name(\"foobar application\")\n .shortName(\"foobar\")\n .stackId(main.id())\n .type(\"rails\")\n .description(\"This is a Rails application\")\n .domains( \n \"example.com\",\n \"sub.example.com\")\n .environments(ApplicationEnvironmentArgs.builder()\n .key(\"key\")\n .value(\"value\")\n .secure(false)\n .build())\n .appSources(ApplicationAppSourceArgs.builder()\n .type(\"git\")\n .revision(\"master\")\n .url(\"https://github.com/example.git\")\n .build())\n .enableSsl(true)\n .sslConfigurations(ApplicationSslConfigurationArgs.builder()\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./foobar.key\")\n .build()).result())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./foobar.crt\")\n .build()).result())\n .build())\n .documentRoot(\"public\")\n .autoBundleOnDeploy(true)\n .railsEnv(\"staging\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo-app:\n type: aws:opsworks:Application\n properties:\n name: foobar application\n shortName: foobar\n stackId: ${main.id}\n type: rails\n description: This is a Rails application\n domains:\n - example.com\n - sub.example.com\n environments:\n - key: key\n value: value\n secure: false\n appSources:\n - type: git\n revision: master\n url: https://github.com/example.git\n enableSsl: true\n sslConfigurations:\n - privateKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./foobar.key\n Return: result\n certificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./foobar.crt\n Return: result\n documentRoot: public\n autoBundleOnDeploy: true\n railsEnv: staging\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Opsworks Application using the `id`. For example:\n\n```sh\n$ pulumi import aws:opsworks/application:Application test \u003cid\u003e\n```\n", "properties": { "appSources": { "type": "array", @@ -323251,7 +323251,7 @@ } }, "aws:organizations/policy:Policy": { - "description": "Provides a resource to manage an [AWS Organizations policy](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"*\"],\n resources: [\"*\"],\n }],\n});\nconst examplePolicy = new aws.organizations.Policy(\"example\", {\n name: \"example\",\n content: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"*\"],\n \"resources\": [\"*\"],\n}])\nexample_policy = aws.organizations.Policy(\"example\",\n name=\"example\",\n content=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Organizations.Policy(\"example\", new()\n {\n Name = \"example\",\n Content = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = organizations.NewPolicy(ctx, \"example\", \u0026organizations.PolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tContent: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.organizations.Policy;\nimport com.pulumi.aws.organizations.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"*\")\n .resources(\"*\")\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"example\")\n .content(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePolicy:\n type: aws:organizations:Policy\n name: example\n properties:\n name: example\n content: ${example.json}\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - '*'\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_organizations_policy` using the policy ID. For example:\n\n```sh\n$ pulumi import aws:organizations/policy:Policy example p-12345678\n```\n", + "description": "Provides a resource to manage an [AWS Organizations policy](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"*\"],\n resources: [\"*\"],\n }],\n});\nconst examplePolicy = new aws.organizations.Policy(\"example\", {\n name: \"example\",\n content: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"*\"],\n \"resources\": [\"*\"],\n}])\nexample_policy = aws.organizations.Policy(\"example\",\n name=\"example\",\n content=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Organizations.Policy(\"example\", new()\n {\n Name = \"example\",\n Content = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = organizations.NewPolicy(ctx, \"example\", \u0026organizations.PolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tContent: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.organizations.Policy;\nimport com.pulumi.aws.organizations.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"*\")\n .resources(\"*\")\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"example\")\n .content(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePolicy:\n type: aws:organizations:Policy\n name: example\n properties:\n name: example\n content: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - '*'\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_organizations_policy` using the policy ID. For example:\n\n```sh\n$ pulumi import aws:organizations/policy:Policy example p-12345678\n```\n", "properties": { "arn": { "type": "string", @@ -323734,7 +323734,7 @@ } }, "aws:pinpoint/admChannel:AdmChannel": { - "description": "Provides a Pinpoint ADM (Amazon Device Messaging) Channel resource.\n\n\u003e **Note:** All arguments including the Client ID and Client Secret will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst channel = new aws.pinpoint.AdmChannel(\"channel\", {\n applicationId: app.applicationId,\n clientId: \"\",\n clientSecret: \"\",\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nchannel = aws.pinpoint.AdmChannel(\"channel\",\n application_id=app.application_id,\n client_id=\"\",\n client_secret=\"\",\n enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var channel = new Aws.Pinpoint.AdmChannel(\"channel\", new()\n {\n ApplicationId = app.ApplicationId,\n ClientId = \"\",\n ClientSecret = \"\",\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewAdmChannel(ctx, \"channel\", \u0026pinpoint.AdmChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tClientId: pulumi.String(\"\"),\n\t\t\tClientSecret: pulumi.String(\"\"),\n\t\t\tEnabled: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.AdmChannel;\nimport com.pulumi.aws.pinpoint.AdmChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n var channel = new AdmChannel(\"channel\", AdmChannelArgs.builder()\n .applicationId(app.applicationId())\n .clientId(\"\")\n .clientSecret(\"\")\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:pinpoint:App\n channel:\n type: aws:pinpoint:AdmChannel\n properties:\n applicationId: ${app.applicationId}\n clientId: \"\"\n clientSecret: \"\"\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint ADM Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/admChannel:AdmChannel channel application-id\n```\n", + "description": "Provides a Pinpoint ADM (Amazon Device Messaging) Channel resource.\n\n\u003e **Note:** All arguments including the Client ID and Client Secret will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst channel = new aws.pinpoint.AdmChannel(\"channel\", {\n applicationId: app.applicationId,\n clientId: \"\",\n clientSecret: \"\",\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nchannel = aws.pinpoint.AdmChannel(\"channel\",\n application_id=app.application_id,\n client_id=\"\",\n client_secret=\"\",\n enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var channel = new Aws.Pinpoint.AdmChannel(\"channel\", new()\n {\n ApplicationId = app.ApplicationId,\n ClientId = \"\",\n ClientSecret = \"\",\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewAdmChannel(ctx, \"channel\", \u0026pinpoint.AdmChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tClientId: pulumi.String(\"\"),\n\t\t\tClientSecret: pulumi.String(\"\"),\n\t\t\tEnabled: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.AdmChannel;\nimport com.pulumi.aws.pinpoint.AdmChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n var channel = new AdmChannel(\"channel\", AdmChannelArgs.builder()\n .applicationId(app.applicationId())\n .clientId(\"\")\n .clientSecret(\"\")\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:pinpoint:App\n channel:\n type: aws:pinpoint:AdmChannel\n properties:\n applicationId: ${app.applicationId}\n clientId:\n clientSecret:\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint ADM Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/admChannel:AdmChannel channel application-id\n```\n", "properties": { "applicationId": { "type": "string", @@ -323813,7 +323813,7 @@ } }, "aws:pinpoint/apnsChannel:ApnsChannel": { - "description": "Provides a Pinpoint APNs Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apns = new aws.pinpoint.ApnsChannel(\"apns\", {\n applicationId: app.applicationId,\n certificate: std.file({\n input: \"./certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"./private_key.key\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\napp = aws.pinpoint.App(\"app\")\napns = aws.pinpoint.ApnsChannel(\"apns\",\n application_id=app.application_id,\n certificate=std.file(input=\"./certificate.pem\").result,\n private_key=std.file(input=\"./private_key.key\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apns = new Aws.Pinpoint.ApnsChannel(\"apns\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./private_key.key\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./private_key.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsChannel(ctx, \"apns\", \u0026pinpoint.ApnsChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: pulumi.String(invokeFile.Result),\n\t\t\tPrivateKey: pulumi.String(invokeFile1.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.ApnsChannel;\nimport com.pulumi.aws.pinpoint.ApnsChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n var apns = new ApnsChannel(\"apns\", ApnsChannelArgs.builder()\n .applicationId(app.applicationId())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./certificate.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./private_key.key\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apns:\n type: aws:pinpoint:ApnsChannel\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::invoke:\n function: std:file\n arguments:\n input: ./certificate.pem\n return: result\n privateKey:\n fn::invoke:\n function: std:file\n arguments:\n input: ./private_key.key\n return: result\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/apnsChannel:ApnsChannel apns application-id\n```\n", + "description": "Provides a Pinpoint APNs Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apns = new aws.pinpoint.ApnsChannel(\"apns\", {\n applicationId: app.applicationId,\n certificate: std.file({\n input: \"./certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"./private_key.key\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\napp = aws.pinpoint.App(\"app\")\napns = aws.pinpoint.ApnsChannel(\"apns\",\n application_id=app.application_id,\n certificate=std.file(input=\"./certificate.pem\").result,\n private_key=std.file(input=\"./private_key.key\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apns = new Aws.Pinpoint.ApnsChannel(\"apns\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./private_key.key\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./private_key.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsChannel(ctx, \"apns\", \u0026pinpoint.ApnsChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: pulumi.String(invokeFile.Result),\n\t\t\tPrivateKey: pulumi.String(invokeFile1.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.ApnsChannel;\nimport com.pulumi.aws.pinpoint.ApnsChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n var apns = new ApnsChannel(\"apns\", ApnsChannelArgs.builder()\n .applicationId(app.applicationId())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./certificate.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./private_key.key\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apns:\n type: aws:pinpoint:ApnsChannel\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./certificate.pem\n Return: result\n privateKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./private_key.key\n Return: result\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/apnsChannel:ApnsChannel apns application-id\n```\n", "properties": { "applicationId": { "type": "string", @@ -323960,7 +323960,7 @@ } }, "aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel": { - "description": "Provides a Pinpoint APNs Sandbox Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apnsSandbox = new aws.pinpoint.ApnsSandboxChannel(\"apns_sandbox\", {\n applicationId: app.applicationId,\n certificate: std.file({\n input: \"./certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"./private_key.key\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\napp = aws.pinpoint.App(\"app\")\napns_sandbox = aws.pinpoint.ApnsSandboxChannel(\"apns_sandbox\",\n application_id=app.application_id,\n certificate=std.file(input=\"./certificate.pem\").result,\n private_key=std.file(input=\"./private_key.key\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apnsSandbox = new Aws.Pinpoint.ApnsSandboxChannel(\"apns_sandbox\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./private_key.key\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./private_key.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsSandboxChannel(ctx, \"apns_sandbox\", \u0026pinpoint.ApnsSandboxChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: pulumi.String(invokeFile.Result),\n\t\t\tPrivateKey: pulumi.String(invokeFile1.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.ApnsSandboxChannel;\nimport com.pulumi.aws.pinpoint.ApnsSandboxChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n var apnsSandbox = new ApnsSandboxChannel(\"apnsSandbox\", ApnsSandboxChannelArgs.builder()\n .applicationId(app.applicationId())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./certificate.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./private_key.key\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsSandbox:\n type: aws:pinpoint:ApnsSandboxChannel\n name: apns_sandbox\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::invoke:\n function: std:file\n arguments:\n input: ./certificate.pem\n return: result\n privateKey:\n fn::invoke:\n function: std:file\n arguments:\n input: ./private_key.key\n return: result\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel apns_sandbox application-id\n```\n", + "description": "Provides a Pinpoint APNs Sandbox Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apnsSandbox = new aws.pinpoint.ApnsSandboxChannel(\"apns_sandbox\", {\n applicationId: app.applicationId,\n certificate: std.file({\n input: \"./certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"./private_key.key\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\napp = aws.pinpoint.App(\"app\")\napns_sandbox = aws.pinpoint.ApnsSandboxChannel(\"apns_sandbox\",\n application_id=app.application_id,\n certificate=std.file(input=\"./certificate.pem\").result,\n private_key=std.file(input=\"./private_key.key\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apnsSandbox = new Aws.Pinpoint.ApnsSandboxChannel(\"apns_sandbox\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./private_key.key\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./private_key.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsSandboxChannel(ctx, \"apns_sandbox\", \u0026pinpoint.ApnsSandboxChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: pulumi.String(invokeFile.Result),\n\t\t\tPrivateKey: pulumi.String(invokeFile1.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.ApnsSandboxChannel;\nimport com.pulumi.aws.pinpoint.ApnsSandboxChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n var apnsSandbox = new ApnsSandboxChannel(\"apnsSandbox\", ApnsSandboxChannelArgs.builder()\n .applicationId(app.applicationId())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./certificate.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./private_key.key\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsSandbox:\n type: aws:pinpoint:ApnsSandboxChannel\n name: apns_sandbox\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./certificate.pem\n Return: result\n privateKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./private_key.key\n Return: result\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel apns_sandbox application-id\n```\n", "properties": { "applicationId": { "type": "string", @@ -324107,7 +324107,7 @@ } }, "aws:pinpoint/apnsVoipChannel:ApnsVoipChannel": { - "description": "Provides a Pinpoint APNs VoIP Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apnsVoip = new aws.pinpoint.ApnsVoipChannel(\"apns_voip\", {\n applicationId: app.applicationId,\n certificate: std.file({\n input: \"./certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"./private_key.key\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\napp = aws.pinpoint.App(\"app\")\napns_voip = aws.pinpoint.ApnsVoipChannel(\"apns_voip\",\n application_id=app.application_id,\n certificate=std.file(input=\"./certificate.pem\").result,\n private_key=std.file(input=\"./private_key.key\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apnsVoip = new Aws.Pinpoint.ApnsVoipChannel(\"apns_voip\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./private_key.key\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./private_key.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsVoipChannel(ctx, \"apns_voip\", \u0026pinpoint.ApnsVoipChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: pulumi.String(invokeFile.Result),\n\t\t\tPrivateKey: pulumi.String(invokeFile1.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.ApnsVoipChannel;\nimport com.pulumi.aws.pinpoint.ApnsVoipChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n var apnsVoip = new ApnsVoipChannel(\"apnsVoip\", ApnsVoipChannelArgs.builder()\n .applicationId(app.applicationId())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./certificate.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./private_key.key\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsVoip:\n type: aws:pinpoint:ApnsVoipChannel\n name: apns_voip\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::invoke:\n function: std:file\n arguments:\n input: ./certificate.pem\n return: result\n privateKey:\n fn::invoke:\n function: std:file\n arguments:\n input: ./private_key.key\n return: result\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs VoIP Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/apnsVoipChannel:ApnsVoipChannel apns_voip application-id\n```\n", + "description": "Provides a Pinpoint APNs VoIP Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apnsVoip = new aws.pinpoint.ApnsVoipChannel(\"apns_voip\", {\n applicationId: app.applicationId,\n certificate: std.file({\n input: \"./certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"./private_key.key\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\napp = aws.pinpoint.App(\"app\")\napns_voip = aws.pinpoint.ApnsVoipChannel(\"apns_voip\",\n application_id=app.application_id,\n certificate=std.file(input=\"./certificate.pem\").result,\n private_key=std.file(input=\"./private_key.key\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apnsVoip = new Aws.Pinpoint.ApnsVoipChannel(\"apns_voip\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./private_key.key\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./private_key.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsVoipChannel(ctx, \"apns_voip\", \u0026pinpoint.ApnsVoipChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: pulumi.String(invokeFile.Result),\n\t\t\tPrivateKey: pulumi.String(invokeFile1.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.ApnsVoipChannel;\nimport com.pulumi.aws.pinpoint.ApnsVoipChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n var apnsVoip = new ApnsVoipChannel(\"apnsVoip\", ApnsVoipChannelArgs.builder()\n .applicationId(app.applicationId())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./certificate.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./private_key.key\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsVoip:\n type: aws:pinpoint:ApnsVoipChannel\n name: apns_voip\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./certificate.pem\n Return: result\n privateKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./private_key.key\n Return: result\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs VoIP Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/apnsVoipChannel:ApnsVoipChannel apns_voip application-id\n```\n", "properties": { "applicationId": { "type": "string", @@ -324254,7 +324254,7 @@ } }, "aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel": { - "description": "Provides a Pinpoint APNs VoIP Sandbox Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apnsVoipSandbox = new aws.pinpoint.ApnsVoipSandboxChannel(\"apns_voip_sandbox\", {\n applicationId: app.applicationId,\n certificate: std.file({\n input: \"./certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"./private_key.key\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\napp = aws.pinpoint.App(\"app\")\napns_voip_sandbox = aws.pinpoint.ApnsVoipSandboxChannel(\"apns_voip_sandbox\",\n application_id=app.application_id,\n certificate=std.file(input=\"./certificate.pem\").result,\n private_key=std.file(input=\"./private_key.key\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apnsVoipSandbox = new Aws.Pinpoint.ApnsVoipSandboxChannel(\"apns_voip_sandbox\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./private_key.key\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./private_key.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsVoipSandboxChannel(ctx, \"apns_voip_sandbox\", \u0026pinpoint.ApnsVoipSandboxChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: pulumi.String(invokeFile.Result),\n\t\t\tPrivateKey: pulumi.String(invokeFile1.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.ApnsVoipSandboxChannel;\nimport com.pulumi.aws.pinpoint.ApnsVoipSandboxChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n var apnsVoipSandbox = new ApnsVoipSandboxChannel(\"apnsVoipSandbox\", ApnsVoipSandboxChannelArgs.builder()\n .applicationId(app.applicationId())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./certificate.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./private_key.key\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsVoipSandbox:\n type: aws:pinpoint:ApnsVoipSandboxChannel\n name: apns_voip_sandbox\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::invoke:\n function: std:file\n arguments:\n input: ./certificate.pem\n return: result\n privateKey:\n fn::invoke:\n function: std:file\n arguments:\n input: ./private_key.key\n return: result\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel apns_voip_sandbox application-id\n```\n", + "description": "Provides a Pinpoint APNs VoIP Sandbox Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apnsVoipSandbox = new aws.pinpoint.ApnsVoipSandboxChannel(\"apns_voip_sandbox\", {\n applicationId: app.applicationId,\n certificate: std.file({\n input: \"./certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"./private_key.key\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\napp = aws.pinpoint.App(\"app\")\napns_voip_sandbox = aws.pinpoint.ApnsVoipSandboxChannel(\"apns_voip_sandbox\",\n application_id=app.application_id,\n certificate=std.file(input=\"./certificate.pem\").result,\n private_key=std.file(input=\"./private_key.key\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apnsVoipSandbox = new Aws.Pinpoint.ApnsVoipSandboxChannel(\"apns_voip_sandbox\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./private_key.key\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./private_key.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsVoipSandboxChannel(ctx, \"apns_voip_sandbox\", \u0026pinpoint.ApnsVoipSandboxChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: pulumi.String(invokeFile.Result),\n\t\t\tPrivateKey: pulumi.String(invokeFile1.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.ApnsVoipSandboxChannel;\nimport com.pulumi.aws.pinpoint.ApnsVoipSandboxChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n var apnsVoipSandbox = new ApnsVoipSandboxChannel(\"apnsVoipSandbox\", ApnsVoipSandboxChannelArgs.builder()\n .applicationId(app.applicationId())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./certificate.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./private_key.key\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsVoipSandbox:\n type: aws:pinpoint:ApnsVoipSandboxChannel\n name: apns_voip_sandbox\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./certificate.pem\n Return: result\n privateKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./private_key.key\n Return: result\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel apns_voip_sandbox application-id\n```\n", "properties": { "applicationId": { "type": "string", @@ -324538,7 +324538,7 @@ } }, "aws:pinpoint/baiduChannel:BaiduChannel": { - "description": "Provides a Pinpoint Baidu Channel resource.\n\n\u003e **Note:** All arguments including the Api Key and Secret Key will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst channel = new aws.pinpoint.BaiduChannel(\"channel\", {\n applicationId: app.applicationId,\n apiKey: \"\",\n secretKey: \"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nchannel = aws.pinpoint.BaiduChannel(\"channel\",\n application_id=app.application_id,\n api_key=\"\",\n secret_key=\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var channel = new Aws.Pinpoint.BaiduChannel(\"channel\", new()\n {\n ApplicationId = app.ApplicationId,\n ApiKey = \"\",\n SecretKey = \"\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewBaiduChannel(ctx, \"channel\", \u0026pinpoint.BaiduChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tApiKey: pulumi.String(\"\"),\n\t\t\tSecretKey: pulumi.String(\"\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.BaiduChannel;\nimport com.pulumi.aws.pinpoint.BaiduChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n var channel = new BaiduChannel(\"channel\", BaiduChannelArgs.builder()\n .applicationId(app.applicationId())\n .apiKey(\"\")\n .secretKey(\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:pinpoint:App\n channel:\n type: aws:pinpoint:BaiduChannel\n properties:\n applicationId: ${app.applicationId}\n apiKey: \"\"\n secretKey: \"\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint Baidu Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/baiduChannel:BaiduChannel channel application-id\n```\n", + "description": "Provides a Pinpoint Baidu Channel resource.\n\n\u003e **Note:** All arguments including the Api Key and Secret Key will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst channel = new aws.pinpoint.BaiduChannel(\"channel\", {\n applicationId: app.applicationId,\n apiKey: \"\",\n secretKey: \"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nchannel = aws.pinpoint.BaiduChannel(\"channel\",\n application_id=app.application_id,\n api_key=\"\",\n secret_key=\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var channel = new Aws.Pinpoint.BaiduChannel(\"channel\", new()\n {\n ApplicationId = app.ApplicationId,\n ApiKey = \"\",\n SecretKey = \"\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewBaiduChannel(ctx, \"channel\", \u0026pinpoint.BaiduChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tApiKey: pulumi.String(\"\"),\n\t\t\tSecretKey: pulumi.String(\"\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.BaiduChannel;\nimport com.pulumi.aws.pinpoint.BaiduChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n var channel = new BaiduChannel(\"channel\", BaiduChannelArgs.builder()\n .applicationId(app.applicationId())\n .apiKey(\"\")\n .secretKey(\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:pinpoint:App\n channel:\n type: aws:pinpoint:BaiduChannel\n properties:\n applicationId: ${app.applicationId}\n apiKey:\n secretKey:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint Baidu Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/baiduChannel:BaiduChannel channel application-id\n```\n", "properties": { "apiKey": { "type": "string", @@ -324617,7 +324617,7 @@ } }, "aws:pinpoint/emailChannel:EmailChannel": { - "description": "Provides a Pinpoint Email Channel resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"pinpoint.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst email = new aws.pinpoint.EmailChannel(\"email\", {\n applicationId: app.applicationId,\n fromAddress: \"user@example.com\",\n roleArn: role.arn,\n});\nconst identity = new aws.ses.DomainIdentity(\"identity\", {domain: \"example.com\"});\nconst rolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\",\n ],\n resources: [\"*\"],\n }],\n});\nconst rolePolicyRolePolicy = new aws.iam.RolePolicy(\"role_policy\", {\n name: \"role_policy\",\n role: role.id,\n policy: rolePolicy.then(rolePolicy =\u003e rolePolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"pinpoint.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nrole = aws.iam.Role(\"role\", assume_role_policy=assume_role.json)\nemail = aws.pinpoint.EmailChannel(\"email\",\n application_id=app.application_id,\n from_address=\"user@example.com\",\n role_arn=role.arn)\nidentity = aws.ses.DomainIdentity(\"identity\", domain=\"example.com\")\nrole_policy = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\",\n ],\n \"resources\": [\"*\"],\n}])\nrole_policy_role_policy = aws.iam.RolePolicy(\"role_policy\",\n name=\"role_policy\",\n role=role.id,\n policy=role_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"pinpoint.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var email = new Aws.Pinpoint.EmailChannel(\"email\", new()\n {\n ApplicationId = app.ApplicationId,\n FromAddress = \"user@example.com\",\n RoleArn = role.Arn,\n });\n\n var identity = new Aws.Ses.DomainIdentity(\"identity\", new()\n {\n Domain = \"example.com\",\n });\n\n var rolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var rolePolicyRolePolicy = new Aws.Iam.RolePolicy(\"role_policy\", new()\n {\n Name = \"role_policy\",\n Role = role.Id,\n Policy = rolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"pinpoint.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewEmailChannel(ctx, \"email\", \u0026pinpoint.EmailChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tFromAddress: pulumi.String(\"user@example.com\"),\n\t\t\tRoleArn: role.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ses.NewDomainIdentity(ctx, \"identity\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"mobileanalytics:PutEvents\",\n\t\t\t\t\t\t\"mobileanalytics:PutItems\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"role_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"role_policy\"),\n\t\t\tRole: role.ID(),\n\t\t\tPolicy: pulumi.String(rolePolicy.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.pinpoint.EmailChannel;\nimport com.pulumi.aws.pinpoint.EmailChannelArgs;\nimport com.pulumi.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"pinpoint.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var email = new EmailChannel(\"email\", EmailChannelArgs.builder()\n .applicationId(app.applicationId())\n .fromAddress(\"user@example.com\")\n .roleArn(role.arn())\n .build());\n\n var identity = new DomainIdentity(\"identity\", DomainIdentityArgs.builder()\n .domain(\"example.com\")\n .build());\n\n final var rolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\")\n .resources(\"*\")\n .build())\n .build());\n\n var rolePolicyRolePolicy = new RolePolicy(\"rolePolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"role_policy\")\n .role(role.id())\n .policy(rolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n email:\n type: aws:pinpoint:EmailChannel\n properties:\n applicationId: ${app.applicationId}\n fromAddress: user@example.com\n roleArn: ${role.arn}\n app:\n type: aws:pinpoint:App\n identity:\n type: aws:ses:DomainIdentity\n properties:\n domain: example.com\n role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n rolePolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: role_policy\n properties:\n name: role_policy\n role: ${role.id}\n policy: ${rolePolicy.json}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - pinpoint.amazonaws.com\n actions:\n - sts:AssumeRole\n rolePolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - mobileanalytics:PutEvents\n - mobileanalytics:PutItems\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint Email Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/emailChannel:EmailChannel email application-id\n```\n", + "description": "Provides a Pinpoint Email Channel resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"pinpoint.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst email = new aws.pinpoint.EmailChannel(\"email\", {\n applicationId: app.applicationId,\n fromAddress: \"user@example.com\",\n roleArn: role.arn,\n});\nconst identity = new aws.ses.DomainIdentity(\"identity\", {domain: \"example.com\"});\nconst rolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\",\n ],\n resources: [\"*\"],\n }],\n});\nconst rolePolicyRolePolicy = new aws.iam.RolePolicy(\"role_policy\", {\n name: \"role_policy\",\n role: role.id,\n policy: rolePolicy.then(rolePolicy =\u003e rolePolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"pinpoint.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nrole = aws.iam.Role(\"role\", assume_role_policy=assume_role.json)\nemail = aws.pinpoint.EmailChannel(\"email\",\n application_id=app.application_id,\n from_address=\"user@example.com\",\n role_arn=role.arn)\nidentity = aws.ses.DomainIdentity(\"identity\", domain=\"example.com\")\nrole_policy = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\",\n ],\n \"resources\": [\"*\"],\n}])\nrole_policy_role_policy = aws.iam.RolePolicy(\"role_policy\",\n name=\"role_policy\",\n role=role.id,\n policy=role_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"pinpoint.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var email = new Aws.Pinpoint.EmailChannel(\"email\", new()\n {\n ApplicationId = app.ApplicationId,\n FromAddress = \"user@example.com\",\n RoleArn = role.Arn,\n });\n\n var identity = new Aws.Ses.DomainIdentity(\"identity\", new()\n {\n Domain = \"example.com\",\n });\n\n var rolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var rolePolicyRolePolicy = new Aws.Iam.RolePolicy(\"role_policy\", new()\n {\n Name = \"role_policy\",\n Role = role.Id,\n Policy = rolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"pinpoint.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewEmailChannel(ctx, \"email\", \u0026pinpoint.EmailChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tFromAddress: pulumi.String(\"user@example.com\"),\n\t\t\tRoleArn: role.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ses.NewDomainIdentity(ctx, \"identity\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"mobileanalytics:PutEvents\",\n\t\t\t\t\t\t\"mobileanalytics:PutItems\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"role_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"role_policy\"),\n\t\t\tRole: role.ID(),\n\t\t\tPolicy: pulumi.String(rolePolicy.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.pinpoint.EmailChannel;\nimport com.pulumi.aws.pinpoint.EmailChannelArgs;\nimport com.pulumi.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"pinpoint.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var email = new EmailChannel(\"email\", EmailChannelArgs.builder()\n .applicationId(app.applicationId())\n .fromAddress(\"user@example.com\")\n .roleArn(role.arn())\n .build());\n\n var identity = new DomainIdentity(\"identity\", DomainIdentityArgs.builder()\n .domain(\"example.com\")\n .build());\n\n final var rolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\")\n .resources(\"*\")\n .build())\n .build());\n\n var rolePolicyRolePolicy = new RolePolicy(\"rolePolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"role_policy\")\n .role(role.id())\n .policy(rolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n email:\n type: aws:pinpoint:EmailChannel\n properties:\n applicationId: ${app.applicationId}\n fromAddress: user@example.com\n roleArn: ${role.arn}\n app:\n type: aws:pinpoint:App\n identity:\n type: aws:ses:DomainIdentity\n properties:\n domain: example.com\n role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n rolePolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: role_policy\n properties:\n name: role_policy\n role: ${role.id}\n policy: ${rolePolicy.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - pinpoint.amazonaws.com\n actions:\n - sts:AssumeRole\n rolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - mobileanalytics:PutEvents\n - mobileanalytics:PutItems\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint Email Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/emailChannel:EmailChannel email application-id\n```\n", "properties": { "applicationId": { "type": "string", @@ -324817,7 +324817,7 @@ } }, "aws:pinpoint/eventStream:EventStream": { - "description": "Provides a Pinpoint Event Stream resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst testStream = new aws.kinesis.Stream(\"test_stream\", {\n name: \"pinpoint-kinesis-test\",\n shardCount: 1,\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"pinpoint.us-east-1.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst testRole = new aws.iam.Role(\"test_role\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst stream = new aws.pinpoint.EventStream(\"stream\", {\n applicationId: app.applicationId,\n destinationStreamArn: testStream.arn,\n roleArn: testRole.arn,\n});\nconst testRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\",\n ],\n resources: [\"arn:aws:kinesis:us-east-1:*:*/*\"],\n }],\n});\nconst testRolePolicyRolePolicy = new aws.iam.RolePolicy(\"test_role_policy\", {\n name: \"test_policy\",\n role: testRole.id,\n policy: testRolePolicy.then(testRolePolicy =\u003e testRolePolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\ntest_stream = aws.kinesis.Stream(\"test_stream\",\n name=\"pinpoint-kinesis-test\",\n shard_count=1)\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"pinpoint.us-east-1.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\ntest_role = aws.iam.Role(\"test_role\", assume_role_policy=assume_role.json)\nstream = aws.pinpoint.EventStream(\"stream\",\n application_id=app.application_id,\n destination_stream_arn=test_stream.arn,\n role_arn=test_role.arn)\ntest_role_policy = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\",\n ],\n \"resources\": [\"arn:aws:kinesis:us-east-1:*:*/*\"],\n}])\ntest_role_policy_role_policy = aws.iam.RolePolicy(\"test_role_policy\",\n name=\"test_policy\",\n role=test_role.id,\n policy=test_role_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var testStream = new Aws.Kinesis.Stream(\"test_stream\", new()\n {\n Name = \"pinpoint-kinesis-test\",\n ShardCount = 1,\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"pinpoint.us-east-1.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test_role\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var stream = new Aws.Pinpoint.EventStream(\"stream\", new()\n {\n ApplicationId = app.ApplicationId,\n DestinationStreamArn = testStream.Arn,\n RoleArn = testRole.Arn,\n });\n\n var testRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\",\n },\n Resources = new[]\n {\n \"arn:aws:kinesis:us-east-1:*:*/*\",\n },\n },\n },\n });\n\n var testRolePolicyRolePolicy = new Aws.Iam.RolePolicy(\"test_role_policy\", new()\n {\n Name = \"test_policy\",\n Role = testRole.Id,\n Policy = testRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestStream, err := kinesis.NewStream(ctx, \"test_stream\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"pinpoint-kinesis-test\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"pinpoint.us-east-1.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test_role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewEventStream(ctx, \"stream\", \u0026pinpoint.EventStreamArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tDestinationStreamArn: testStream.Arn,\n\t\t\tRoleArn: testRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kinesis:PutRecords\",\n\t\t\t\t\t\t\"kinesis:DescribeStream\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:kinesis:us-east-1:*:*/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"test_role_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"test_policy\"),\n\t\t\tRole: testRole.ID(),\n\t\t\tPolicy: pulumi.String(testRolePolicy.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.pinpoint.EventStream;\nimport com.pulumi.aws.pinpoint.EventStreamArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n var testStream = new Stream(\"testStream\", StreamArgs.builder()\n .name(\"pinpoint-kinesis-test\")\n .shardCount(1)\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"pinpoint.us-east-1.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var stream = new EventStream(\"stream\", EventStreamArgs.builder()\n .applicationId(app.applicationId())\n .destinationStreamArn(testStream.arn())\n .roleArn(testRole.arn())\n .build());\n\n final var testRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\")\n .resources(\"arn:aws:kinesis:us-east-1:*:*/*\")\n .build())\n .build());\n\n var testRolePolicyRolePolicy = new RolePolicy(\"testRolePolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"test_policy\")\n .role(testRole.id())\n .policy(testRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n stream:\n type: aws:pinpoint:EventStream\n properties:\n applicationId: ${app.applicationId}\n destinationStreamArn: ${testStream.arn}\n roleArn: ${testRole.arn}\n app:\n type: aws:pinpoint:App\n testStream:\n type: aws:kinesis:Stream\n name: test_stream\n properties:\n name: pinpoint-kinesis-test\n shardCount: 1\n testRole:\n type: aws:iam:Role\n name: test_role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n testRolePolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: test_role_policy\n properties:\n name: test_policy\n role: ${testRole.id}\n policy: ${testRolePolicy.json}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - pinpoint.us-east-1.amazonaws.com\n actions:\n - sts:AssumeRole\n testRolePolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - kinesis:PutRecords\n - kinesis:DescribeStream\n resources:\n - arn:aws:kinesis:us-east-1:*:*/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint Event Stream using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/eventStream:EventStream stream application-id\n```\n", + "description": "Provides a Pinpoint Event Stream resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst testStream = new aws.kinesis.Stream(\"test_stream\", {\n name: \"pinpoint-kinesis-test\",\n shardCount: 1,\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"pinpoint.us-east-1.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst testRole = new aws.iam.Role(\"test_role\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst stream = new aws.pinpoint.EventStream(\"stream\", {\n applicationId: app.applicationId,\n destinationStreamArn: testStream.arn,\n roleArn: testRole.arn,\n});\nconst testRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\",\n ],\n resources: [\"arn:aws:kinesis:us-east-1:*:*/*\"],\n }],\n});\nconst testRolePolicyRolePolicy = new aws.iam.RolePolicy(\"test_role_policy\", {\n name: \"test_policy\",\n role: testRole.id,\n policy: testRolePolicy.then(testRolePolicy =\u003e testRolePolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\ntest_stream = aws.kinesis.Stream(\"test_stream\",\n name=\"pinpoint-kinesis-test\",\n shard_count=1)\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"pinpoint.us-east-1.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\ntest_role = aws.iam.Role(\"test_role\", assume_role_policy=assume_role.json)\nstream = aws.pinpoint.EventStream(\"stream\",\n application_id=app.application_id,\n destination_stream_arn=test_stream.arn,\n role_arn=test_role.arn)\ntest_role_policy = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\",\n ],\n \"resources\": [\"arn:aws:kinesis:us-east-1:*:*/*\"],\n}])\ntest_role_policy_role_policy = aws.iam.RolePolicy(\"test_role_policy\",\n name=\"test_policy\",\n role=test_role.id,\n policy=test_role_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var testStream = new Aws.Kinesis.Stream(\"test_stream\", new()\n {\n Name = \"pinpoint-kinesis-test\",\n ShardCount = 1,\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"pinpoint.us-east-1.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test_role\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var stream = new Aws.Pinpoint.EventStream(\"stream\", new()\n {\n ApplicationId = app.ApplicationId,\n DestinationStreamArn = testStream.Arn,\n RoleArn = testRole.Arn,\n });\n\n var testRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\",\n },\n Resources = new[]\n {\n \"arn:aws:kinesis:us-east-1:*:*/*\",\n },\n },\n },\n });\n\n var testRolePolicyRolePolicy = new Aws.Iam.RolePolicy(\"test_role_policy\", new()\n {\n Name = \"test_policy\",\n Role = testRole.Id,\n Policy = testRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestStream, err := kinesis.NewStream(ctx, \"test_stream\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"pinpoint-kinesis-test\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"pinpoint.us-east-1.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test_role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewEventStream(ctx, \"stream\", \u0026pinpoint.EventStreamArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tDestinationStreamArn: testStream.Arn,\n\t\t\tRoleArn: testRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kinesis:PutRecords\",\n\t\t\t\t\t\t\"kinesis:DescribeStream\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:kinesis:us-east-1:*:*/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"test_role_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"test_policy\"),\n\t\t\tRole: testRole.ID(),\n\t\t\tPolicy: pulumi.String(testRolePolicy.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.pinpoint.EventStream;\nimport com.pulumi.aws.pinpoint.EventStreamArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n var testStream = new Stream(\"testStream\", StreamArgs.builder()\n .name(\"pinpoint-kinesis-test\")\n .shardCount(1)\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"pinpoint.us-east-1.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var stream = new EventStream(\"stream\", EventStreamArgs.builder()\n .applicationId(app.applicationId())\n .destinationStreamArn(testStream.arn())\n .roleArn(testRole.arn())\n .build());\n\n final var testRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\")\n .resources(\"arn:aws:kinesis:us-east-1:*:*/*\")\n .build())\n .build());\n\n var testRolePolicyRolePolicy = new RolePolicy(\"testRolePolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"test_policy\")\n .role(testRole.id())\n .policy(testRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n stream:\n type: aws:pinpoint:EventStream\n properties:\n applicationId: ${app.applicationId}\n destinationStreamArn: ${testStream.arn}\n roleArn: ${testRole.arn}\n app:\n type: aws:pinpoint:App\n testStream:\n type: aws:kinesis:Stream\n name: test_stream\n properties:\n name: pinpoint-kinesis-test\n shardCount: 1\n testRole:\n type: aws:iam:Role\n name: test_role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n testRolePolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: test_role_policy\n properties:\n name: test_policy\n role: ${testRole.id}\n policy: ${testRolePolicy.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - pinpoint.us-east-1.amazonaws.com\n actions:\n - sts:AssumeRole\n testRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - kinesis:PutRecords\n - kinesis:DescribeStream\n resources:\n - arn:aws:kinesis:us-east-1:*:*/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint Event Stream using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/eventStream:EventStream stream application-id\n```\n", "properties": { "applicationId": { "type": "string", @@ -325449,7 +325449,7 @@ } }, "aws:pipes/pipe:Pipe": { - "description": "Resource for managing an AWS EventBridge Pipes Pipe.\n\nYou can find out more about EventBridge Pipes in the [User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html).\n\nEventBridge Pipes are very configurable, and may require IAM permissions to work correctly. More information on the configuration options and IAM permissions can be found in the [User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html).\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.getCallerIdentity({});\nconst example = new aws.iam.Role(\"example\", {assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: {\n Effect: \"Allow\",\n Action: \"sts:AssumeRole\",\n Principal: {\n Service: \"pipes.amazonaws.com\",\n },\n Condition: {\n StringEquals: {\n \"aws:SourceAccount\": main.then(main =\u003e main.accountId),\n },\n },\n },\n})});\nconst sourceQueue = new aws.sqs.Queue(\"source\", {});\nconst source = new aws.iam.RolePolicy(\"source\", {\n role: example.id,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\n \"sqs:DeleteMessage\",\n \"sqs:GetQueueAttributes\",\n \"sqs:ReceiveMessage\",\n ],\n Resource: [sourceQueue.arn],\n }],\n }),\n});\nconst targetQueue = new aws.sqs.Queue(\"target\", {});\nconst target = new aws.iam.RolePolicy(\"target\", {\n role: example.id,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\"sqs:SendMessage\"],\n Resource: [targetQueue.arn],\n }],\n }),\n});\nconst examplePipe = new aws.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: example.arn,\n source: sourceQueue.arn,\n target: targetQueue.arn,\n}, {\n dependsOn: [\n source,\n target,\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nmain = aws.get_caller_identity()\nexample = aws.iam.Role(\"example\", assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": {\n \"Effect\": \"Allow\",\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"pipes.amazonaws.com\",\n },\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": main.account_id,\n },\n },\n },\n}))\nsource_queue = aws.sqs.Queue(\"source\")\nsource = aws.iam.RolePolicy(\"source\",\n role=example.id,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"sqs:DeleteMessage\",\n \"sqs:GetQueueAttributes\",\n \"sqs:ReceiveMessage\",\n ],\n \"Resource\": [source_queue.arn],\n }],\n }))\ntarget_queue = aws.sqs.Queue(\"target\")\ntarget = aws.iam.RolePolicy(\"target\",\n role=example.id,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\"sqs:SendMessage\"],\n \"Resource\": [target_queue.arn],\n }],\n }))\nexample_pipe = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example.arn,\n source=source_queue.arn,\n target=target_queue.arn,\n opts = pulumi.ResourceOptions(depends_on=[\n source,\n target,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"pipes.amazonaws.com\",\n },\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceAccount\"] = main.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n }),\n });\n\n var sourceQueue = new Aws.Sqs.Queue(\"source\");\n\n var source = new Aws.Iam.RolePolicy(\"source\", new()\n {\n Role = example.Id,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"sqs:DeleteMessage\",\n \"sqs:GetQueueAttributes\",\n \"sqs:ReceiveMessage\",\n },\n [\"Resource\"] = new[]\n {\n sourceQueue.Arn,\n },\n },\n },\n })),\n });\n\n var targetQueue = new Aws.Sqs.Queue(\"target\");\n\n var target = new Aws.Iam.RolePolicy(\"target\", new()\n {\n Role = example.Id,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"sqs:SendMessage\",\n },\n [\"Resource\"] = new[]\n {\n targetQueue.Arn,\n },\n },\n },\n })),\n });\n\n var examplePipe = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = example.Arn,\n Source = sourceQueue.Arn,\n Target = targetQueue.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n source,\n target,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": map[string]interface{}{\n\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\"Service\": \"pipes.amazonaws.com\",\n\t\t\t\t},\n\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\"aws:SourceAccount\": main.AccountId,\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsourceQueue, err := sqs.NewQueue(ctx, \"source\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := iam.NewRolePolicy(ctx, \"source\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: example.ID(),\n\t\t\tPolicy: sourceQueue.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"sqs:DeleteMessage\",\n\t\t\t\t\t\t\t\t\"sqs:GetQueueAttributes\",\n\t\t\t\t\t\t\t\t\"sqs:ReceiveMessage\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tarn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttargetQueue, err := sqs.NewQueue(ctx, \"target\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttarget, err := iam.NewRolePolicy(ctx, \"target\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: example.ID(),\n\t\t\tPolicy: targetQueue.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON2, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"sqs:SendMessage\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tarn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson2 := string(tmpJSON2)\n\t\t\t\treturn pulumi.String(json2), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: example.Arn,\n\t\t\tSource: sourceQueue.Arn,\n\t\t\tTarget: targetQueue.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsource,\n\t\t\ttarget,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = AwsFunctions.getCallerIdentity();\n\n var example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"pipes.amazonaws.com\")\n )),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringEquals\", jsonObject(\n jsonProperty(\"aws:SourceAccount\", main.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n ))\n ))\n ))\n )))\n .build());\n\n var sourceQueue = new Queue(\"sourceQueue\");\n\n var source = new RolePolicy(\"source\", RolePolicyArgs.builder()\n .role(example.id())\n .policy(sourceQueue.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\n \"sqs:DeleteMessage\", \n \"sqs:GetQueueAttributes\", \n \"sqs:ReceiveMessage\"\n )),\n jsonProperty(\"Resource\", jsonArray(arn))\n )))\n ))))\n .build());\n\n var targetQueue = new Queue(\"targetQueue\");\n\n var target = new RolePolicy(\"target\", RolePolicyArgs.builder()\n .role(example.id())\n .policy(targetQueue.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\"sqs:SendMessage\")),\n jsonProperty(\"Resource\", jsonArray(arn))\n )))\n ))))\n .build());\n\n var examplePipe = new Pipe(\"examplePipe\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(example.arn())\n .source(sourceQueue.arn())\n .target(targetQueue.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n source,\n target)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n Effect: Allow\n Action: sts:AssumeRole\n Principal:\n Service: pipes.amazonaws.com\n Condition:\n StringEquals:\n aws:SourceAccount: ${main.accountId}\n source:\n type: aws:iam:RolePolicy\n properties:\n role: ${example.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Action:\n - sqs:DeleteMessage\n - sqs:GetQueueAttributes\n - sqs:ReceiveMessage\n Resource:\n - ${sourceQueue.arn}\n sourceQueue:\n type: aws:sqs:Queue\n name: source\n target:\n type: aws:iam:RolePolicy\n properties:\n role: ${example.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Action:\n - sqs:SendMessage\n Resource:\n - ${targetQueue.arn}\n targetQueue:\n type: aws:sqs:Queue\n name: target\n examplePipe:\n type: aws:pipes:Pipe\n name: example\n properties:\n name: example-pipe\n roleArn: ${example.arn}\n source: ${sourceQueue.arn}\n target: ${targetQueue.arn}\n options:\n dependsOn:\n - ${source}\n - ${target}\nvariables:\n main:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enrichment Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: exampleAwsIamRole.arn,\n source: source.arn,\n target: target.arn,\n enrichment: exampleAwsCloudwatchEventApiDestination.arn,\n enrichmentParameters: {\n httpParameters: {\n pathParameterValues: \"example-path-param\",\n headerParameters: {\n \"example-header\": \"example-value\",\n \"second-example-header\": \"second-example-value\",\n },\n queryStringParameters: {\n \"example-query-string\": \"example-value\",\n \"second-example-query-string\": \"second-example-value\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example_aws_iam_role[\"arn\"],\n source=source[\"arn\"],\n target=target[\"arn\"],\n enrichment=example_aws_cloudwatch_event_api_destination[\"arn\"],\n enrichment_parameters={\n \"http_parameters\": {\n \"path_parameter_values\": \"example-path-param\",\n \"header_parameters\": {\n \"example-header\": \"example-value\",\n \"second-example-header\": \"second-example-value\",\n },\n \"query_string_parameters\": {\n \"example-query-string\": \"example-value\",\n \"second-example-query-string\": \"second-example-value\",\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = exampleAwsIamRole.Arn,\n Source = source.Arn,\n Target = target.Arn,\n Enrichment = exampleAwsCloudwatchEventApiDestination.Arn,\n EnrichmentParameters = new Aws.Pipes.Inputs.PipeEnrichmentParametersArgs\n {\n HttpParameters = new Aws.Pipes.Inputs.PipeEnrichmentParametersHttpParametersArgs\n {\n PathParameterValues = \"example-path-param\",\n HeaderParameters = \n {\n { \"example-header\", \"example-value\" },\n { \"second-example-header\", \"second-example-value\" },\n },\n QueryStringParameters = \n {\n { \"example-query-string\", \"example-value\" },\n { \"second-example-query-string\", \"second-example-value\" },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\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 := pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSource: pulumi.Any(source.Arn),\n\t\t\tTarget: pulumi.Any(target.Arn),\n\t\t\tEnrichment: pulumi.Any(exampleAwsCloudwatchEventApiDestination.Arn),\n\t\t\tEnrichmentParameters: \u0026pipes.PipeEnrichmentParametersArgs{\n\t\t\t\tHttpParameters: \u0026pipes.PipeEnrichmentParametersHttpParametersArgs{\n\t\t\t\t\tPathParameterValues: pulumi.String(\"example-path-param\"),\n\t\t\t\t\tHeaderParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"example-header\": pulumi.String(\"example-value\"),\n\t\t\t\t\t\t\"second-example-header\": pulumi.String(\"second-example-value\"),\n\t\t\t\t\t},\n\t\t\t\t\tQueryStringParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"example-query-string\": pulumi.String(\"example-value\"),\n\t\t\t\t\t\t\"second-example-query-string\": pulumi.String(\"second-example-value\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport com.pulumi.aws.pipes.inputs.PipeEnrichmentParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeEnrichmentParametersHttpParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Pipe(\"example\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(exampleAwsIamRole.arn())\n .source(source.arn())\n .target(target.arn())\n .enrichment(exampleAwsCloudwatchEventApiDestination.arn())\n .enrichmentParameters(PipeEnrichmentParametersArgs.builder()\n .httpParameters(PipeEnrichmentParametersHttpParametersArgs.builder()\n .pathParameterValues(\"example-path-param\")\n .headerParameters(Map.ofEntries(\n Map.entry(\"example-header\", \"example-value\"),\n Map.entry(\"second-example-header\", \"second-example-value\")\n ))\n .queryStringParameters(Map.ofEntries(\n Map.entry(\"example-query-string\", \"example-value\"),\n Map.entry(\"second-example-query-string\", \"second-example-value\")\n ))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pipes:Pipe\n properties:\n name: example-pipe\n roleArn: ${exampleAwsIamRole.arn}\n source: ${source.arn}\n target: ${target.arn}\n enrichment: ${exampleAwsCloudwatchEventApiDestination.arn}\n enrichmentParameters:\n httpParameters:\n pathParameterValues: example-path-param\n headerParameters:\n example-header: example-value\n second-example-header: second-example-value\n queryStringParameters:\n example-query-string: example-value\n second-example-query-string: second-example-value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: exampleAwsIamRole.arn,\n source: source.arn,\n target: target.arn,\n sourceParameters: {\n filterCriteria: {\n filters: [{\n pattern: JSON.stringify({\n source: [\"event-source\"],\n }),\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example_aws_iam_role[\"arn\"],\n source=source[\"arn\"],\n target=target[\"arn\"],\n source_parameters={\n \"filter_criteria\": {\n \"filters\": [{\n \"pattern\": json.dumps({\n \"source\": [\"event-source\"],\n }),\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = exampleAwsIamRole.Arn,\n Source = source.Arn,\n Target = target.Arn,\n SourceParameters = new Aws.Pipes.Inputs.PipeSourceParametersArgs\n {\n FilterCriteria = new Aws.Pipes.Inputs.PipeSourceParametersFilterCriteriaArgs\n {\n Filters = new[]\n {\n new Aws.Pipes.Inputs.PipeSourceParametersFilterCriteriaFilterArgs\n {\n Pattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"source\"] = new[]\n {\n \"event-source\",\n },\n }),\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"source\": []string{\n\t\t\t\t\"event-source\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSource: pulumi.Any(source.Arn),\n\t\t\tTarget: pulumi.Any(target.Arn),\n\t\t\tSourceParameters: \u0026pipes.PipeSourceParametersArgs{\n\t\t\t\tFilterCriteria: \u0026pipes.PipeSourceParametersFilterCriteriaArgs{\n\t\t\t\t\tFilters: pipes.PipeSourceParametersFilterCriteriaFilterArray{\n\t\t\t\t\t\t\u0026pipes.PipeSourceParametersFilterCriteriaFilterArgs{\n\t\t\t\t\t\t\tPattern: pulumi.String(json0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersFilterCriteriaArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Pipe(\"example\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(exampleAwsIamRole.arn())\n .source(source.arn())\n .target(target.arn())\n .sourceParameters(PipeSourceParametersArgs.builder()\n .filterCriteria(PipeSourceParametersFilterCriteriaArgs.builder()\n .filters(PipeSourceParametersFilterCriteriaFilterArgs.builder()\n .pattern(serializeJson(\n jsonObject(\n jsonProperty(\"source\", jsonArray(\"event-source\"))\n )))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pipes:Pipe\n properties:\n name: example-pipe\n roleArn: ${exampleAwsIamRole.arn}\n source: ${source.arn}\n target: ${target.arn}\n sourceParameters:\n filterCriteria:\n filters:\n - pattern:\n fn::toJSON:\n source:\n - event-source\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CloudWatch Logs Logging Configuration Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {name: \"example-pipe-target\"});\nconst examplePipe = new aws.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: exampleAwsIamRole.arn,\n source: sourceAwsSqsQueue.arn,\n target: targetAwsSqsQueue.arn,\n logConfiguration: {\n includeExecutionDatas: [\"ALL\"],\n level: \"INFO\",\n cloudwatchLogsLogDestination: {\n logGroupArn: targetAwsCloudwatchLogGroup.arn,\n },\n },\n}, {\n dependsOn: [\n source,\n target,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\", name=\"example-pipe-target\")\nexample_pipe = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example_aws_iam_role[\"arn\"],\n source=source_aws_sqs_queue[\"arn\"],\n target=target_aws_sqs_queue[\"arn\"],\n log_configuration={\n \"include_execution_datas\": [\"ALL\"],\n \"level\": \"INFO\",\n \"cloudwatch_logs_log_destination\": {\n \"log_group_arn\": target_aws_cloudwatch_log_group[\"arn\"],\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[\n source,\n target,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example-pipe-target\",\n });\n\n var examplePipe = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = exampleAwsIamRole.Arn,\n Source = sourceAwsSqsQueue.Arn,\n Target = targetAwsSqsQueue.Arn,\n LogConfiguration = new Aws.Pipes.Inputs.PipeLogConfigurationArgs\n {\n IncludeExecutionDatas = new[]\n {\n \"ALL\",\n },\n Level = \"INFO\",\n CloudwatchLogsLogDestination = new Aws.Pipes.Inputs.PipeLogConfigurationCloudwatchLogsLogDestinationArgs\n {\n LogGroupArn = targetAwsCloudwatchLogGroup.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n source,\n target,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\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 := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example-pipe-target\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSource: pulumi.Any(sourceAwsSqsQueue.Arn),\n\t\t\tTarget: pulumi.Any(targetAwsSqsQueue.Arn),\n\t\t\tLogConfiguration: \u0026pipes.PipeLogConfigurationArgs{\n\t\t\t\tIncludeExecutionDatas: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ALL\"),\n\t\t\t\t},\n\t\t\t\tLevel: pulumi.String(\"INFO\"),\n\t\t\t\tCloudwatchLogsLogDestination: \u0026pipes.PipeLogConfigurationCloudwatchLogsLogDestinationArgs{\n\t\t\t\t\tLogGroupArn: pulumi.Any(targetAwsCloudwatchLogGroup.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsource,\n\t\t\ttarget,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport com.pulumi.aws.pipes.inputs.PipeLogConfigurationArgs;\nimport com.pulumi.aws.pipes.inputs.PipeLogConfigurationCloudwatchLogsLogDestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(\"example-pipe-target\")\n .build());\n\n var examplePipe = new Pipe(\"examplePipe\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(exampleAwsIamRole.arn())\n .source(sourceAwsSqsQueue.arn())\n .target(targetAwsSqsQueue.arn())\n .logConfiguration(PipeLogConfigurationArgs.builder()\n .includeExecutionDatas(\"ALL\")\n .level(\"INFO\")\n .cloudwatchLogsLogDestination(PipeLogConfigurationCloudwatchLogsLogDestinationArgs.builder()\n .logGroupArn(targetAwsCloudwatchLogGroup.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n source,\n target)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: example-pipe-target\n examplePipe:\n type: aws:pipes:Pipe\n name: example\n properties:\n name: example-pipe\n roleArn: ${exampleAwsIamRole.arn}\n source: ${sourceAwsSqsQueue.arn}\n target: ${targetAwsSqsQueue.arn}\n logConfiguration:\n includeExecutionDatas:\n - ALL\n level: INFO\n cloudwatchLogsLogDestination:\n logGroupArn: ${targetAwsCloudwatchLogGroup.arn}\n options:\n dependsOn:\n - ${source}\n - ${target}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SQS Source and Target Configuration Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: exampleAwsIamRole.arn,\n source: source.arn,\n target: target.arn,\n sourceParameters: {\n sqsQueueParameters: {\n batchSize: 1,\n maximumBatchingWindowInSeconds: 2,\n },\n },\n targetParameters: {\n sqsQueueParameters: {\n messageDeduplicationId: \"example-dedupe\",\n messageGroupId: \"example-group\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example_aws_iam_role[\"arn\"],\n source=source[\"arn\"],\n target=target[\"arn\"],\n source_parameters={\n \"sqs_queue_parameters\": {\n \"batch_size\": 1,\n \"maximum_batching_window_in_seconds\": 2,\n },\n },\n target_parameters={\n \"sqs_queue_parameters\": {\n \"message_deduplication_id\": \"example-dedupe\",\n \"message_group_id\": \"example-group\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = exampleAwsIamRole.Arn,\n Source = source.Arn,\n Target = target.Arn,\n SourceParameters = new Aws.Pipes.Inputs.PipeSourceParametersArgs\n {\n SqsQueueParameters = new Aws.Pipes.Inputs.PipeSourceParametersSqsQueueParametersArgs\n {\n BatchSize = 1,\n MaximumBatchingWindowInSeconds = 2,\n },\n },\n TargetParameters = new Aws.Pipes.Inputs.PipeTargetParametersArgs\n {\n SqsQueueParameters = new Aws.Pipes.Inputs.PipeTargetParametersSqsQueueParametersArgs\n {\n MessageDeduplicationId = \"example-dedupe\",\n MessageGroupId = \"example-group\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\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 := pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSource: pulumi.Any(source.Arn),\n\t\t\tTarget: pulumi.Any(target.Arn),\n\t\t\tSourceParameters: \u0026pipes.PipeSourceParametersArgs{\n\t\t\t\tSqsQueueParameters: \u0026pipes.PipeSourceParametersSqsQueueParametersArgs{\n\t\t\t\t\tBatchSize: pulumi.Int(1),\n\t\t\t\t\tMaximumBatchingWindowInSeconds: pulumi.Int(2),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTargetParameters: \u0026pipes.PipeTargetParametersArgs{\n\t\t\t\tSqsQueueParameters: \u0026pipes.PipeTargetParametersSqsQueueParametersArgs{\n\t\t\t\t\tMessageDeduplicationId: pulumi.String(\"example-dedupe\"),\n\t\t\t\t\tMessageGroupId: pulumi.String(\"example-group\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersSqsQueueParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeTargetParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeTargetParametersSqsQueueParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Pipe(\"example\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(exampleAwsIamRole.arn())\n .source(source.arn())\n .target(target.arn())\n .sourceParameters(PipeSourceParametersArgs.builder()\n .sqsQueueParameters(PipeSourceParametersSqsQueueParametersArgs.builder()\n .batchSize(1)\n .maximumBatchingWindowInSeconds(2)\n .build())\n .build())\n .targetParameters(PipeTargetParametersArgs.builder()\n .sqsQueueParameters(PipeTargetParametersSqsQueueParametersArgs.builder()\n .messageDeduplicationId(\"example-dedupe\")\n .messageGroupId(\"example-group\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pipes:Pipe\n properties:\n name: example-pipe\n roleArn: ${exampleAwsIamRole.arn}\n source: ${source.arn}\n target: ${target.arn}\n sourceParameters:\n sqsQueueParameters:\n batchSize: 1\n maximumBatchingWindowInSeconds: 2\n targetParameters:\n sqsQueueParameters:\n messageDeduplicationId: example-dedupe\n messageGroupId: example-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import pipes using the `name`. For example:\n\n```sh\n$ pulumi import aws:pipes/pipe:Pipe example my-pipe\n```\n", + "description": "Resource for managing an AWS EventBridge Pipes Pipe.\n\nYou can find out more about EventBridge Pipes in the [User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html).\n\nEventBridge Pipes are very configurable, and may require IAM permissions to work correctly. More information on the configuration options and IAM permissions can be found in the [User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html).\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.getCallerIdentity({});\nconst example = new aws.iam.Role(\"example\", {assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: {\n Effect: \"Allow\",\n Action: \"sts:AssumeRole\",\n Principal: {\n Service: \"pipes.amazonaws.com\",\n },\n Condition: {\n StringEquals: {\n \"aws:SourceAccount\": main.then(main =\u003e main.accountId),\n },\n },\n },\n})});\nconst sourceQueue = new aws.sqs.Queue(\"source\", {});\nconst source = new aws.iam.RolePolicy(\"source\", {\n role: example.id,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\n \"sqs:DeleteMessage\",\n \"sqs:GetQueueAttributes\",\n \"sqs:ReceiveMessage\",\n ],\n Resource: [sourceQueue.arn],\n }],\n }),\n});\nconst targetQueue = new aws.sqs.Queue(\"target\", {});\nconst target = new aws.iam.RolePolicy(\"target\", {\n role: example.id,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\"sqs:SendMessage\"],\n Resource: [targetQueue.arn],\n }],\n }),\n});\nconst examplePipe = new aws.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: example.arn,\n source: sourceQueue.arn,\n target: targetQueue.arn,\n}, {\n dependsOn: [\n source,\n target,\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nmain = aws.get_caller_identity()\nexample = aws.iam.Role(\"example\", assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": {\n \"Effect\": \"Allow\",\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"pipes.amazonaws.com\",\n },\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": main.account_id,\n },\n },\n },\n}))\nsource_queue = aws.sqs.Queue(\"source\")\nsource = aws.iam.RolePolicy(\"source\",\n role=example.id,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"sqs:DeleteMessage\",\n \"sqs:GetQueueAttributes\",\n \"sqs:ReceiveMessage\",\n ],\n \"Resource\": [source_queue.arn],\n }],\n }))\ntarget_queue = aws.sqs.Queue(\"target\")\ntarget = aws.iam.RolePolicy(\"target\",\n role=example.id,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\"sqs:SendMessage\"],\n \"Resource\": [target_queue.arn],\n }],\n }))\nexample_pipe = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example.arn,\n source=source_queue.arn,\n target=target_queue.arn,\n opts = pulumi.ResourceOptions(depends_on=[\n source,\n target,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"pipes.amazonaws.com\",\n },\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceAccount\"] = main.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n }),\n });\n\n var sourceQueue = new Aws.Sqs.Queue(\"source\");\n\n var source = new Aws.Iam.RolePolicy(\"source\", new()\n {\n Role = example.Id,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"sqs:DeleteMessage\",\n \"sqs:GetQueueAttributes\",\n \"sqs:ReceiveMessage\",\n },\n [\"Resource\"] = new[]\n {\n sourceQueue.Arn,\n },\n },\n },\n })),\n });\n\n var targetQueue = new Aws.Sqs.Queue(\"target\");\n\n var target = new Aws.Iam.RolePolicy(\"target\", new()\n {\n Role = example.Id,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"sqs:SendMessage\",\n },\n [\"Resource\"] = new[]\n {\n targetQueue.Arn,\n },\n },\n },\n })),\n });\n\n var examplePipe = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = example.Arn,\n Source = sourceQueue.Arn,\n Target = targetQueue.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n source,\n target,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": map[string]interface{}{\n\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\"Service\": \"pipes.amazonaws.com\",\n\t\t\t\t},\n\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\"aws:SourceAccount\": main.AccountId,\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsourceQueue, err := sqs.NewQueue(ctx, \"source\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := iam.NewRolePolicy(ctx, \"source\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: example.ID(),\n\t\t\tPolicy: sourceQueue.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"sqs:DeleteMessage\",\n\t\t\t\t\t\t\t\t\"sqs:GetQueueAttributes\",\n\t\t\t\t\t\t\t\t\"sqs:ReceiveMessage\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tarn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttargetQueue, err := sqs.NewQueue(ctx, \"target\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttarget, err := iam.NewRolePolicy(ctx, \"target\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: example.ID(),\n\t\t\tPolicy: targetQueue.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON2, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"sqs:SendMessage\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tarn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson2 := string(tmpJSON2)\n\t\t\t\treturn pulumi.String(json2), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: example.Arn,\n\t\t\tSource: sourceQueue.Arn,\n\t\t\tTarget: targetQueue.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsource,\n\t\t\ttarget,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = AwsFunctions.getCallerIdentity();\n\n var example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"pipes.amazonaws.com\")\n )),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringEquals\", jsonObject(\n jsonProperty(\"aws:SourceAccount\", main.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n ))\n ))\n ))\n )))\n .build());\n\n var sourceQueue = new Queue(\"sourceQueue\");\n\n var source = new RolePolicy(\"source\", RolePolicyArgs.builder()\n .role(example.id())\n .policy(sourceQueue.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\n \"sqs:DeleteMessage\", \n \"sqs:GetQueueAttributes\", \n \"sqs:ReceiveMessage\"\n )),\n jsonProperty(\"Resource\", jsonArray(arn))\n )))\n ))))\n .build());\n\n var targetQueue = new Queue(\"targetQueue\");\n\n var target = new RolePolicy(\"target\", RolePolicyArgs.builder()\n .role(example.id())\n .policy(targetQueue.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\"sqs:SendMessage\")),\n jsonProperty(\"Resource\", jsonArray(arn))\n )))\n ))))\n .build());\n\n var examplePipe = new Pipe(\"examplePipe\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(example.arn())\n .source(sourceQueue.arn())\n .target(targetQueue.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n source,\n target)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n Effect: Allow\n Action: sts:AssumeRole\n Principal:\n Service: pipes.amazonaws.com\n Condition:\n StringEquals:\n aws:SourceAccount: ${main.accountId}\n source:\n type: aws:iam:RolePolicy\n properties:\n role: ${example.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Action:\n - sqs:DeleteMessage\n - sqs:GetQueueAttributes\n - sqs:ReceiveMessage\n Resource:\n - ${sourceQueue.arn}\n sourceQueue:\n type: aws:sqs:Queue\n name: source\n target:\n type: aws:iam:RolePolicy\n properties:\n role: ${example.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Action:\n - sqs:SendMessage\n Resource:\n - ${targetQueue.arn}\n targetQueue:\n type: aws:sqs:Queue\n name: target\n examplePipe:\n type: aws:pipes:Pipe\n name: example\n properties:\n name: example-pipe\n roleArn: ${example.arn}\n source: ${sourceQueue.arn}\n target: ${targetQueue.arn}\n options:\n dependson:\n - ${source}\n - ${target}\nvariables:\n main:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enrichment Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: exampleAwsIamRole.arn,\n source: source.arn,\n target: target.arn,\n enrichment: exampleAwsCloudwatchEventApiDestination.arn,\n enrichmentParameters: {\n httpParameters: {\n pathParameterValues: \"example-path-param\",\n headerParameters: {\n \"example-header\": \"example-value\",\n \"second-example-header\": \"second-example-value\",\n },\n queryStringParameters: {\n \"example-query-string\": \"example-value\",\n \"second-example-query-string\": \"second-example-value\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example_aws_iam_role[\"arn\"],\n source=source[\"arn\"],\n target=target[\"arn\"],\n enrichment=example_aws_cloudwatch_event_api_destination[\"arn\"],\n enrichment_parameters={\n \"http_parameters\": {\n \"path_parameter_values\": \"example-path-param\",\n \"header_parameters\": {\n \"example-header\": \"example-value\",\n \"second-example-header\": \"second-example-value\",\n },\n \"query_string_parameters\": {\n \"example-query-string\": \"example-value\",\n \"second-example-query-string\": \"second-example-value\",\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = exampleAwsIamRole.Arn,\n Source = source.Arn,\n Target = target.Arn,\n Enrichment = exampleAwsCloudwatchEventApiDestination.Arn,\n EnrichmentParameters = new Aws.Pipes.Inputs.PipeEnrichmentParametersArgs\n {\n HttpParameters = new Aws.Pipes.Inputs.PipeEnrichmentParametersHttpParametersArgs\n {\n PathParameterValues = \"example-path-param\",\n HeaderParameters = \n {\n { \"example-header\", \"example-value\" },\n { \"second-example-header\", \"second-example-value\" },\n },\n QueryStringParameters = \n {\n { \"example-query-string\", \"example-value\" },\n { \"second-example-query-string\", \"second-example-value\" },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\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 := pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSource: pulumi.Any(source.Arn),\n\t\t\tTarget: pulumi.Any(target.Arn),\n\t\t\tEnrichment: pulumi.Any(exampleAwsCloudwatchEventApiDestination.Arn),\n\t\t\tEnrichmentParameters: \u0026pipes.PipeEnrichmentParametersArgs{\n\t\t\t\tHttpParameters: \u0026pipes.PipeEnrichmentParametersHttpParametersArgs{\n\t\t\t\t\tPathParameterValues: pulumi.String(\"example-path-param\"),\n\t\t\t\t\tHeaderParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"example-header\": pulumi.String(\"example-value\"),\n\t\t\t\t\t\t\"second-example-header\": pulumi.String(\"second-example-value\"),\n\t\t\t\t\t},\n\t\t\t\t\tQueryStringParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"example-query-string\": pulumi.String(\"example-value\"),\n\t\t\t\t\t\t\"second-example-query-string\": pulumi.String(\"second-example-value\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport com.pulumi.aws.pipes.inputs.PipeEnrichmentParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeEnrichmentParametersHttpParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Pipe(\"example\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(exampleAwsIamRole.arn())\n .source(source.arn())\n .target(target.arn())\n .enrichment(exampleAwsCloudwatchEventApiDestination.arn())\n .enrichmentParameters(PipeEnrichmentParametersArgs.builder()\n .httpParameters(PipeEnrichmentParametersHttpParametersArgs.builder()\n .pathParameterValues(\"example-path-param\")\n .headerParameters(Map.ofEntries(\n Map.entry(\"example-header\", \"example-value\"),\n Map.entry(\"second-example-header\", \"second-example-value\")\n ))\n .queryStringParameters(Map.ofEntries(\n Map.entry(\"example-query-string\", \"example-value\"),\n Map.entry(\"second-example-query-string\", \"second-example-value\")\n ))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pipes:Pipe\n properties:\n name: example-pipe\n roleArn: ${exampleAwsIamRole.arn}\n source: ${source.arn}\n target: ${target.arn}\n enrichment: ${exampleAwsCloudwatchEventApiDestination.arn}\n enrichmentParameters:\n httpParameters:\n pathParameterValues: example-path-param\n headerParameters:\n example-header: example-value\n second-example-header: second-example-value\n queryStringParameters:\n example-query-string: example-value\n second-example-query-string: second-example-value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: exampleAwsIamRole.arn,\n source: source.arn,\n target: target.arn,\n sourceParameters: {\n filterCriteria: {\n filters: [{\n pattern: JSON.stringify({\n source: [\"event-source\"],\n }),\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example_aws_iam_role[\"arn\"],\n source=source[\"arn\"],\n target=target[\"arn\"],\n source_parameters={\n \"filter_criteria\": {\n \"filters\": [{\n \"pattern\": json.dumps({\n \"source\": [\"event-source\"],\n }),\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = exampleAwsIamRole.Arn,\n Source = source.Arn,\n Target = target.Arn,\n SourceParameters = new Aws.Pipes.Inputs.PipeSourceParametersArgs\n {\n FilterCriteria = new Aws.Pipes.Inputs.PipeSourceParametersFilterCriteriaArgs\n {\n Filters = new[]\n {\n new Aws.Pipes.Inputs.PipeSourceParametersFilterCriteriaFilterArgs\n {\n Pattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"source\"] = new[]\n {\n \"event-source\",\n },\n }),\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"source\": []string{\n\t\t\t\t\"event-source\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSource: pulumi.Any(source.Arn),\n\t\t\tTarget: pulumi.Any(target.Arn),\n\t\t\tSourceParameters: \u0026pipes.PipeSourceParametersArgs{\n\t\t\t\tFilterCriteria: \u0026pipes.PipeSourceParametersFilterCriteriaArgs{\n\t\t\t\t\tFilters: pipes.PipeSourceParametersFilterCriteriaFilterArray{\n\t\t\t\t\t\t\u0026pipes.PipeSourceParametersFilterCriteriaFilterArgs{\n\t\t\t\t\t\t\tPattern: pulumi.String(json0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersFilterCriteriaArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Pipe(\"example\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(exampleAwsIamRole.arn())\n .source(source.arn())\n .target(target.arn())\n .sourceParameters(PipeSourceParametersArgs.builder()\n .filterCriteria(PipeSourceParametersFilterCriteriaArgs.builder()\n .filters(PipeSourceParametersFilterCriteriaFilterArgs.builder()\n .pattern(serializeJson(\n jsonObject(\n jsonProperty(\"source\", jsonArray(\"event-source\"))\n )))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pipes:Pipe\n properties:\n name: example-pipe\n roleArn: ${exampleAwsIamRole.arn}\n source: ${source.arn}\n target: ${target.arn}\n sourceParameters:\n filterCriteria:\n filters:\n - pattern:\n fn::toJSON:\n source:\n - event-source\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CloudWatch Logs Logging Configuration Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {name: \"example-pipe-target\"});\nconst examplePipe = new aws.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: exampleAwsIamRole.arn,\n source: sourceAwsSqsQueue.arn,\n target: targetAwsSqsQueue.arn,\n logConfiguration: {\n includeExecutionDatas: [\"ALL\"],\n level: \"INFO\",\n cloudwatchLogsLogDestination: {\n logGroupArn: targetAwsCloudwatchLogGroup.arn,\n },\n },\n}, {\n dependsOn: [\n source,\n target,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\", name=\"example-pipe-target\")\nexample_pipe = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example_aws_iam_role[\"arn\"],\n source=source_aws_sqs_queue[\"arn\"],\n target=target_aws_sqs_queue[\"arn\"],\n log_configuration={\n \"include_execution_datas\": [\"ALL\"],\n \"level\": \"INFO\",\n \"cloudwatch_logs_log_destination\": {\n \"log_group_arn\": target_aws_cloudwatch_log_group[\"arn\"],\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[\n source,\n target,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example-pipe-target\",\n });\n\n var examplePipe = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = exampleAwsIamRole.Arn,\n Source = sourceAwsSqsQueue.Arn,\n Target = targetAwsSqsQueue.Arn,\n LogConfiguration = new Aws.Pipes.Inputs.PipeLogConfigurationArgs\n {\n IncludeExecutionDatas = new[]\n {\n \"ALL\",\n },\n Level = \"INFO\",\n CloudwatchLogsLogDestination = new Aws.Pipes.Inputs.PipeLogConfigurationCloudwatchLogsLogDestinationArgs\n {\n LogGroupArn = targetAwsCloudwatchLogGroup.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n source,\n target,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\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 := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example-pipe-target\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSource: pulumi.Any(sourceAwsSqsQueue.Arn),\n\t\t\tTarget: pulumi.Any(targetAwsSqsQueue.Arn),\n\t\t\tLogConfiguration: \u0026pipes.PipeLogConfigurationArgs{\n\t\t\t\tIncludeExecutionDatas: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ALL\"),\n\t\t\t\t},\n\t\t\t\tLevel: pulumi.String(\"INFO\"),\n\t\t\t\tCloudwatchLogsLogDestination: \u0026pipes.PipeLogConfigurationCloudwatchLogsLogDestinationArgs{\n\t\t\t\t\tLogGroupArn: pulumi.Any(targetAwsCloudwatchLogGroup.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsource,\n\t\t\ttarget,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport com.pulumi.aws.pipes.inputs.PipeLogConfigurationArgs;\nimport com.pulumi.aws.pipes.inputs.PipeLogConfigurationCloudwatchLogsLogDestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(\"example-pipe-target\")\n .build());\n\n var examplePipe = new Pipe(\"examplePipe\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(exampleAwsIamRole.arn())\n .source(sourceAwsSqsQueue.arn())\n .target(targetAwsSqsQueue.arn())\n .logConfiguration(PipeLogConfigurationArgs.builder()\n .includeExecutionDatas(\"ALL\")\n .level(\"INFO\")\n .cloudwatchLogsLogDestination(PipeLogConfigurationCloudwatchLogsLogDestinationArgs.builder()\n .logGroupArn(targetAwsCloudwatchLogGroup.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n source,\n target)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: example-pipe-target\n examplePipe:\n type: aws:pipes:Pipe\n name: example\n properties:\n name: example-pipe\n roleArn: ${exampleAwsIamRole.arn}\n source: ${sourceAwsSqsQueue.arn}\n target: ${targetAwsSqsQueue.arn}\n logConfiguration:\n includeExecutionDatas:\n - ALL\n level: INFO\n cloudwatchLogsLogDestination:\n logGroupArn: ${targetAwsCloudwatchLogGroup.arn}\n options:\n dependson:\n - ${source}\n - ${target}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SQS Source and Target Configuration Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: exampleAwsIamRole.arn,\n source: source.arn,\n target: target.arn,\n sourceParameters: {\n sqsQueueParameters: {\n batchSize: 1,\n maximumBatchingWindowInSeconds: 2,\n },\n },\n targetParameters: {\n sqsQueueParameters: {\n messageDeduplicationId: \"example-dedupe\",\n messageGroupId: \"example-group\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example_aws_iam_role[\"arn\"],\n source=source[\"arn\"],\n target=target[\"arn\"],\n source_parameters={\n \"sqs_queue_parameters\": {\n \"batch_size\": 1,\n \"maximum_batching_window_in_seconds\": 2,\n },\n },\n target_parameters={\n \"sqs_queue_parameters\": {\n \"message_deduplication_id\": \"example-dedupe\",\n \"message_group_id\": \"example-group\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = exampleAwsIamRole.Arn,\n Source = source.Arn,\n Target = target.Arn,\n SourceParameters = new Aws.Pipes.Inputs.PipeSourceParametersArgs\n {\n SqsQueueParameters = new Aws.Pipes.Inputs.PipeSourceParametersSqsQueueParametersArgs\n {\n BatchSize = 1,\n MaximumBatchingWindowInSeconds = 2,\n },\n },\n TargetParameters = new Aws.Pipes.Inputs.PipeTargetParametersArgs\n {\n SqsQueueParameters = new Aws.Pipes.Inputs.PipeTargetParametersSqsQueueParametersArgs\n {\n MessageDeduplicationId = \"example-dedupe\",\n MessageGroupId = \"example-group\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\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 := pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSource: pulumi.Any(source.Arn),\n\t\t\tTarget: pulumi.Any(target.Arn),\n\t\t\tSourceParameters: \u0026pipes.PipeSourceParametersArgs{\n\t\t\t\tSqsQueueParameters: \u0026pipes.PipeSourceParametersSqsQueueParametersArgs{\n\t\t\t\t\tBatchSize: pulumi.Int(1),\n\t\t\t\t\tMaximumBatchingWindowInSeconds: pulumi.Int(2),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTargetParameters: \u0026pipes.PipeTargetParametersArgs{\n\t\t\t\tSqsQueueParameters: \u0026pipes.PipeTargetParametersSqsQueueParametersArgs{\n\t\t\t\t\tMessageDeduplicationId: pulumi.String(\"example-dedupe\"),\n\t\t\t\t\tMessageGroupId: pulumi.String(\"example-group\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersSqsQueueParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeTargetParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeTargetParametersSqsQueueParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Pipe(\"example\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(exampleAwsIamRole.arn())\n .source(source.arn())\n .target(target.arn())\n .sourceParameters(PipeSourceParametersArgs.builder()\n .sqsQueueParameters(PipeSourceParametersSqsQueueParametersArgs.builder()\n .batchSize(1)\n .maximumBatchingWindowInSeconds(2)\n .build())\n .build())\n .targetParameters(PipeTargetParametersArgs.builder()\n .sqsQueueParameters(PipeTargetParametersSqsQueueParametersArgs.builder()\n .messageDeduplicationId(\"example-dedupe\")\n .messageGroupId(\"example-group\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pipes:Pipe\n properties:\n name: example-pipe\n roleArn: ${exampleAwsIamRole.arn}\n source: ${source.arn}\n target: ${target.arn}\n sourceParameters:\n sqsQueueParameters:\n batchSize: 1\n maximumBatchingWindowInSeconds: 2\n targetParameters:\n sqsQueueParameters:\n messageDeduplicationId: example-dedupe\n messageGroupId: example-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import pipes using the `name`. For example:\n\n```sh\n$ pulumi import aws:pipes/pipe:Pipe example my-pipe\n```\n", "properties": { "arn": { "type": "string", @@ -329084,7 +329084,7 @@ } }, "aws:ram/resourceShareAccepter:ResourceShareAccepter": { - "description": "Manage accepting a Resource Access Manager (RAM) Resource Share invitation. From a _receiver_ AWS account, accept an invitation to share resources that were shared by a _sender_ AWS account. To create a resource share in the _sender_, see the `aws.ram.ResourceShare` resource.\n\n\u003e **Note:** If both AWS accounts are in the same Organization and [RAM Sharing with AWS Organizations is enabled](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs), this resource is not necessary as RAM Resource Share invitations are not used.\n\n## Example Usage\n\nThis configuration provides an example of using multiple AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `aws.ram.ResourceShare` and uses a data source in the _receiver_ account to create a `aws.ram.PrincipalAssociation` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `aws.ram.ResourceShareAccepter`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst senderShare = new aws.ram.ResourceShare(\"sender_share\", {\n name: \"tf-test-resource-share\",\n allowExternalPrincipals: true,\n tags: {\n Name: \"tf-test-resource-share\",\n },\n});\nconst receiver = aws.getCallerIdentity({});\nconst senderInvite = new aws.ram.PrincipalAssociation(\"sender_invite\", {\n principal: receiver.then(receiver =\u003e receiver.accountId),\n resourceShareArn: senderShare.arn,\n});\nconst receiverAccept = new aws.ram.ResourceShareAccepter(\"receiver_accept\", {shareArn: senderInvite.resourceShareArn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsender_share = aws.ram.ResourceShare(\"sender_share\",\n name=\"tf-test-resource-share\",\n allow_external_principals=True,\n tags={\n \"Name\": \"tf-test-resource-share\",\n })\nreceiver = aws.get_caller_identity()\nsender_invite = aws.ram.PrincipalAssociation(\"sender_invite\",\n principal=receiver.account_id,\n resource_share_arn=sender_share.arn)\nreceiver_accept = aws.ram.ResourceShareAccepter(\"receiver_accept\", share_arn=sender_invite.resource_share_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var senderShare = new Aws.Ram.ResourceShare(\"sender_share\", new()\n {\n Name = \"tf-test-resource-share\",\n AllowExternalPrincipals = true,\n Tags = \n {\n { \"Name\", \"tf-test-resource-share\" },\n },\n });\n\n var receiver = Aws.GetCallerIdentity.Invoke();\n\n var senderInvite = new Aws.Ram.PrincipalAssociation(\"sender_invite\", new()\n {\n Principal = receiver.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n ResourceShareArn = senderShare.Arn,\n });\n\n var receiverAccept = new Aws.Ram.ResourceShareAccepter(\"receiver_accept\", new()\n {\n ShareArn = senderInvite.ResourceShareArn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsenderShare, err := ram.NewResourceShare(ctx, \"sender_share\", \u0026ram.ResourceShareArgs{\n\t\t\tName: pulumi.String(\"tf-test-resource-share\"),\n\t\t\tAllowExternalPrincipals: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-test-resource-share\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treceiver, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsenderInvite, err := ram.NewPrincipalAssociation(ctx, \"sender_invite\", \u0026ram.PrincipalAssociationArgs{\n\t\t\tPrincipal: pulumi.String(receiver.AccountId),\n\t\t\tResourceShareArn: senderShare.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewResourceShareAccepter(ctx, \"receiver_accept\", \u0026ram.ResourceShareAccepterArgs{\n\t\t\tShareArn: senderInvite.ResourceShareArn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ram.ResourceShare;\nimport com.pulumi.aws.ram.ResourceShareArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ram.PrincipalAssociation;\nimport com.pulumi.aws.ram.PrincipalAssociationArgs;\nimport com.pulumi.aws.ram.ResourceShareAccepter;\nimport com.pulumi.aws.ram.ResourceShareAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var senderShare = new ResourceShare(\"senderShare\", ResourceShareArgs.builder()\n .name(\"tf-test-resource-share\")\n .allowExternalPrincipals(true)\n .tags(Map.of(\"Name\", \"tf-test-resource-share\"))\n .build());\n\n final var receiver = AwsFunctions.getCallerIdentity();\n\n var senderInvite = new PrincipalAssociation(\"senderInvite\", PrincipalAssociationArgs.builder()\n .principal(receiver.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .resourceShareArn(senderShare.arn())\n .build());\n\n var receiverAccept = new ResourceShareAccepter(\"receiverAccept\", ResourceShareAccepterArgs.builder()\n .shareArn(senderInvite.resourceShareArn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n senderShare:\n type: aws:ram:ResourceShare\n name: sender_share\n properties:\n name: tf-test-resource-share\n allowExternalPrincipals: true\n tags:\n Name: tf-test-resource-share\n senderInvite:\n type: aws:ram:PrincipalAssociation\n name: sender_invite\n properties:\n principal: ${receiver.accountId}\n resourceShareArn: ${senderShare.arn}\n receiverAccept:\n type: aws:ram:ResourceShareAccepter\n name: receiver_accept\n properties:\n shareArn: ${senderInvite.resourceShareArn}\nvariables:\n receiver:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import resource share accepters using the resource share ARN. For example:\n\n```sh\n$ pulumi import aws:ram/resourceShareAccepter:ResourceShareAccepter example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767\n```\n", + "description": "Manage accepting a Resource Access Manager (RAM) Resource Share invitation. From a _receiver_ AWS account, accept an invitation to share resources that were shared by a _sender_ AWS account. To create a resource share in the _sender_, see the `aws.ram.ResourceShare` resource.\n\n\u003e **Note:** If both AWS accounts are in the same Organization and [RAM Sharing with AWS Organizations is enabled](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs), this resource is not necessary as RAM Resource Share invitations are not used.\n\n## Example Usage\n\nThis configuration provides an example of using multiple AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `aws.ram.ResourceShare` and uses a data source in the _receiver_ account to create a `aws.ram.PrincipalAssociation` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `aws.ram.ResourceShareAccepter`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst senderShare = new aws.ram.ResourceShare(\"sender_share\", {\n name: \"tf-test-resource-share\",\n allowExternalPrincipals: true,\n tags: {\n Name: \"tf-test-resource-share\",\n },\n});\nconst receiver = aws.getCallerIdentity({});\nconst senderInvite = new aws.ram.PrincipalAssociation(\"sender_invite\", {\n principal: receiver.then(receiver =\u003e receiver.accountId),\n resourceShareArn: senderShare.arn,\n});\nconst receiverAccept = new aws.ram.ResourceShareAccepter(\"receiver_accept\", {shareArn: senderInvite.resourceShareArn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsender_share = aws.ram.ResourceShare(\"sender_share\",\n name=\"tf-test-resource-share\",\n allow_external_principals=True,\n tags={\n \"Name\": \"tf-test-resource-share\",\n })\nreceiver = aws.get_caller_identity()\nsender_invite = aws.ram.PrincipalAssociation(\"sender_invite\",\n principal=receiver.account_id,\n resource_share_arn=sender_share.arn)\nreceiver_accept = aws.ram.ResourceShareAccepter(\"receiver_accept\", share_arn=sender_invite.resource_share_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var senderShare = new Aws.Ram.ResourceShare(\"sender_share\", new()\n {\n Name = \"tf-test-resource-share\",\n AllowExternalPrincipals = true,\n Tags = \n {\n { \"Name\", \"tf-test-resource-share\" },\n },\n });\n\n var receiver = Aws.GetCallerIdentity.Invoke();\n\n var senderInvite = new Aws.Ram.PrincipalAssociation(\"sender_invite\", new()\n {\n Principal = receiver.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n ResourceShareArn = senderShare.Arn,\n });\n\n var receiverAccept = new Aws.Ram.ResourceShareAccepter(\"receiver_accept\", new()\n {\n ShareArn = senderInvite.ResourceShareArn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsenderShare, err := ram.NewResourceShare(ctx, \"sender_share\", \u0026ram.ResourceShareArgs{\n\t\t\tName: pulumi.String(\"tf-test-resource-share\"),\n\t\t\tAllowExternalPrincipals: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-test-resource-share\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treceiver, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsenderInvite, err := ram.NewPrincipalAssociation(ctx, \"sender_invite\", \u0026ram.PrincipalAssociationArgs{\n\t\t\tPrincipal: pulumi.String(receiver.AccountId),\n\t\t\tResourceShareArn: senderShare.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewResourceShareAccepter(ctx, \"receiver_accept\", \u0026ram.ResourceShareAccepterArgs{\n\t\t\tShareArn: senderInvite.ResourceShareArn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ram.ResourceShare;\nimport com.pulumi.aws.ram.ResourceShareArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ram.PrincipalAssociation;\nimport com.pulumi.aws.ram.PrincipalAssociationArgs;\nimport com.pulumi.aws.ram.ResourceShareAccepter;\nimport com.pulumi.aws.ram.ResourceShareAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var senderShare = new ResourceShare(\"senderShare\", ResourceShareArgs.builder()\n .name(\"tf-test-resource-share\")\n .allowExternalPrincipals(true)\n .tags(Map.of(\"Name\", \"tf-test-resource-share\"))\n .build());\n\n final var receiver = AwsFunctions.getCallerIdentity();\n\n var senderInvite = new PrincipalAssociation(\"senderInvite\", PrincipalAssociationArgs.builder()\n .principal(receiver.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .resourceShareArn(senderShare.arn())\n .build());\n\n var receiverAccept = new ResourceShareAccepter(\"receiverAccept\", ResourceShareAccepterArgs.builder()\n .shareArn(senderInvite.resourceShareArn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n senderShare:\n type: aws:ram:ResourceShare\n name: sender_share\n properties:\n name: tf-test-resource-share\n allowExternalPrincipals: true\n tags:\n Name: tf-test-resource-share\n senderInvite:\n type: aws:ram:PrincipalAssociation\n name: sender_invite\n properties:\n principal: ${receiver.accountId}\n resourceShareArn: ${senderShare.arn}\n receiverAccept:\n type: aws:ram:ResourceShareAccepter\n name: receiver_accept\n properties:\n shareArn: ${senderInvite.resourceShareArn}\nvariables:\n receiver:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import resource share accepters using the resource share ARN. For example:\n\n```sh\n$ pulumi import aws:ram/resourceShareAccepter:ResourceShareAccepter example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767\n```\n", "properties": { "invitationArn": { "type": "string", @@ -329385,7 +329385,7 @@ } }, "aws:rds/cluster:Cluster": { - "description": "Manages a [RDS Aurora Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Aurora.html) or a [RDS Multi-AZ DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html). To manage cluster instances that inherit configuration from the cluster (when not running the cluster in `serverless` engine mode), see the `aws.rds.ClusterInstance` resource. To manage non-Aurora DB instances (e.g., MySQL, PostgreSQL, SQL Server, etc.), see the `aws.rds.Instance` resource.\n\nFor information on the difference between the available Aurora MySQL engines see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html) in the Amazon RDS User Guide.\n\nChanges to an RDS Cluster can occur when you manually change a parameter, such as `port`, and are reflected in the next maintenance window. Because of this, this provider may report a difference in its planning phase because a modification has not yet taken place. You can use the `apply_immediately` flag to instruct the service to apply the change immediately (see documentation below).\n\n\u003e **Note:** Multi-AZ DB clusters are supported only for the MySQL and PostgreSQL DB engines.\n\n\u003e **Note:** `ca_certificate_identifier` is only supported for Multi-AZ DB clusters.\n\n\u003e **Note:** using `apply_immediately` can result in a brief downtime as the server reboots. See the AWS Docs on [RDS Maintenance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html) for more information.\n\n\u003e **Note:** All arguments including the username and password will be stored in the raw state as plain-text.\n\u003e **NOTE on RDS Clusters and RDS Cluster Role Associations:** Pulumi provides both a standalone RDS Cluster Role Association - (an association between an RDS Cluster and a single IAM Role) and an RDS Cluster resource with `iam_roles` attributes. Use one resource or the other to associate IAM Roles and RDS Clusters. Not doing so will cause a conflict of associations and will result in the association being overwritten.\n\n## Example Usage\n\n### Aurora MySQL 2.x (MySQL 5.7)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n engine: aws.rds.EngineType.AuroraMysql,\n engineVersion: \"5.7.mysql_aurora.2.03.2\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"must_be_eight_characters\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n engine=aws.rds.EngineType.AURORA_MYSQL,\n engine_version=\"5.7.mysql_aurora.2.03.2\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"must_be_eight_characters\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n Engine = Aws.Rds.EngineType.AuroraMysql,\n EngineVersion = \"5.7.mysql_aurora.2.03.2\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"must_be_eight_characters\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraMysql),\n\t\t\tEngineVersion: pulumi.String(\"5.7.mysql_aurora.2.03.2\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .engine(\"aurora-mysql\")\n .engineVersion(\"5.7.mysql_aurora.2.03.2\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"must_be_eight_characters\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n engine: aurora-mysql\n engineVersion: 5.7.mysql_aurora.2.03.2\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: must_be_eight_characters\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Aurora MySQL 1.x (MySQL 5.6)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"must_be_eight_characters\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"must_be_eight_characters\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"must_be_eight_characters\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"must_be_eight_characters\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: must_be_eight_characters\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Aurora with PostgreSQL engine\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst postgresql = new aws.rds.Cluster(\"postgresql\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n engine: aws.rds.EngineType.AuroraPostgresql,\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"must_be_eight_characters\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npostgresql = aws.rds.Cluster(\"postgresql\",\n cluster_identifier=\"aurora-cluster-demo\",\n engine=aws.rds.EngineType.AURORA_POSTGRESQL,\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"must_be_eight_characters\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgresql = new Aws.Rds.Cluster(\"postgresql\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n Engine = Aws.Rds.EngineType.AuroraPostgresql,\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"must_be_eight_characters\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewCluster(ctx, \"postgresql\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraPostgresql),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var postgresql = new Cluster(\"postgresql\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .engine(\"aurora-postgresql\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"must_be_eight_characters\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgresql:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n engine: aurora-postgresql\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: must_be_eight_characters\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Multi-AZ Cluster\n\n\u003e More information about RDS Multi-AZ Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html).\n\nTo create a Multi-AZ RDS cluster, you must additionally specify the `engine`, `storage_type`, `allocated_storage`, `iops` and `db_cluster_instance_class` attributes.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {\n clusterIdentifier: \"example\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n engine: \"mysql\",\n dbClusterInstanceClass: \"db.r6gd.xlarge\",\n storageType: \"io1\",\n allocatedStorage: 100,\n iops: 1000,\n masterUsername: \"test\",\n masterPassword: \"mustbeeightcharaters\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\",\n cluster_identifier=\"example\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n engine=\"mysql\",\n db_cluster_instance_class=\"db.r6gd.xlarge\",\n storage_type=\"io1\",\n allocated_storage=100,\n iops=1000,\n master_username=\"test\",\n master_password=\"mustbeeightcharaters\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n Engine = \"mysql\",\n DbClusterInstanceClass = \"db.r6gd.xlarge\",\n StorageType = \"io1\",\n AllocatedStorage = 100,\n Iops = 1000,\n MasterUsername = \"test\",\n MasterPassword = \"mustbeeightcharaters\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tDbClusterInstanceClass: pulumi.String(\"db.r6gd.xlarge\"),\n\t\t\tStorageType: pulumi.String(\"io1\"),\n\t\t\tAllocatedStorage: pulumi.Int(100),\n\t\t\tIops: pulumi.Int(1000),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterPassword: pulumi.String(\"mustbeeightcharaters\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .engine(\"mysql\")\n .dbClusterInstanceClass(\"db.r6gd.xlarge\")\n .storageType(\"io1\")\n .allocatedStorage(100)\n .iops(1000)\n .masterUsername(\"test\")\n .masterPassword(\"mustbeeightcharaters\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n engine: mysql\n dbClusterInstanceClass: db.r6gd.xlarge\n storageType: io1\n allocatedStorage: 100\n iops: 1000\n masterUsername: test\n masterPassword: mustbeeightcharaters\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Serverless v2 Cluster\n\n\u003e More information about RDS Serverless v2 Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html).\n\n\u003e **Note:** Unlike Serverless v1, in Serverless v2 the `storage_encrypted` value is set to `false` by default.\nThis is because Serverless v1 uses the `serverless` `engine_mode`, but Serverless v2 uses the `provisioned` `engine_mode`.\n\nTo create a Serverless v2 RDS cluster, you must additionally specify the `engine_mode` and `serverlessv2_scaling_configuration` attributes. An `aws.rds.ClusterInstance` resource must also be added to the cluster with the `instance_class` attribute specified.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {\n clusterIdentifier: \"example\",\n engine: aws.rds.EngineType.AuroraPostgresql,\n engineMode: aws.rds.EngineMode.Provisioned,\n engineVersion: \"13.6\",\n databaseName: \"test\",\n masterUsername: \"test\",\n masterPassword: \"must_be_eight_characters\",\n storageEncrypted: true,\n serverlessv2ScalingConfiguration: {\n maxCapacity: 1,\n minCapacity: 0.5,\n },\n});\nconst exampleClusterInstance = new aws.rds.ClusterInstance(\"example\", {\n clusterIdentifier: example.id,\n instanceClass: \"db.serverless\",\n engine: example.engine,\n engineVersion: example.engineVersion,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\",\n cluster_identifier=\"example\",\n engine=aws.rds.EngineType.AURORA_POSTGRESQL,\n engine_mode=aws.rds.EngineMode.PROVISIONED,\n engine_version=\"13.6\",\n database_name=\"test\",\n master_username=\"test\",\n master_password=\"must_be_eight_characters\",\n storage_encrypted=True,\n serverlessv2_scaling_configuration={\n \"max_capacity\": 1,\n \"min_capacity\": 0.5,\n })\nexample_cluster_instance = aws.rds.ClusterInstance(\"example\",\n cluster_identifier=example.id,\n instance_class=\"db.serverless\",\n engine=example.engine,\n engine_version=example.engine_version)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example\",\n Engine = Aws.Rds.EngineType.AuroraPostgresql,\n EngineMode = Aws.Rds.EngineMode.Provisioned,\n EngineVersion = \"13.6\",\n DatabaseName = \"test\",\n MasterUsername = \"test\",\n MasterPassword = \"must_be_eight_characters\",\n StorageEncrypted = true,\n Serverlessv2ScalingConfiguration = new Aws.Rds.Inputs.ClusterServerlessv2ScalingConfigurationArgs\n {\n MaxCapacity = 1,\n MinCapacity = 0.5,\n },\n });\n\n var exampleClusterInstance = new Aws.Rds.ClusterInstance(\"example\", new()\n {\n ClusterIdentifier = example.Id,\n InstanceClass = \"db.serverless\",\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraPostgresql),\n\t\t\tEngineMode: pulumi.String(rds.EngineModeProvisioned),\n\t\t\tEngineVersion: pulumi.String(\"13.6\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t\tServerlessv2ScalingConfiguration: \u0026rds.ClusterServerlessv2ScalingConfigurationArgs{\n\t\t\t\tMaxCapacity: pulumi.Float64(1),\n\t\t\t\tMinCapacity: pulumi.Float64(0.5),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"example\", \u0026rds.ClusterInstanceArgs{\n\t\t\tClusterIdentifier: example.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.serverless\"),\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.inputs.ClusterServerlessv2ScalingConfigurationArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .engine(\"aurora-postgresql\")\n .engineMode(\"provisioned\")\n .engineVersion(\"13.6\")\n .databaseName(\"test\")\n .masterUsername(\"test\")\n .masterPassword(\"must_be_eight_characters\")\n .storageEncrypted(true)\n .serverlessv2ScalingConfiguration(ClusterServerlessv2ScalingConfigurationArgs.builder()\n .maxCapacity(1)\n .minCapacity(0.5)\n .build())\n .build());\n\n var exampleClusterInstance = new ClusterInstance(\"exampleClusterInstance\", ClusterInstanceArgs.builder()\n .clusterIdentifier(example.id())\n .instanceClass(\"db.serverless\")\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n engine: aurora-postgresql\n engineMode: provisioned\n engineVersion: '13.6'\n databaseName: test\n masterUsername: test\n masterPassword: must_be_eight_characters\n storageEncrypted: true\n serverlessv2ScalingConfiguration:\n maxCapacity: 1\n minCapacity: 0.5\n exampleClusterInstance:\n type: aws:rds:ClusterInstance\n name: example\n properties:\n clusterIdentifier: ${example.id}\n instanceClass: db.serverless\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS/Aurora Managed Master Passwords via Secrets Manager, default KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `master_password` attribute (removal is required).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.rds.Cluster(\"test\", {\n clusterIdentifier: \"example\",\n databaseName: \"test\",\n manageMasterUserPassword: true,\n masterUsername: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.Cluster(\"test\",\n cluster_identifier=\"example\",\n database_name=\"test\",\n manage_master_user_password=True,\n master_username=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Rds.Cluster(\"test\", new()\n {\n ClusterIdentifier = \"example\",\n DatabaseName = \"test\",\n ManageMasterUserPassword = true,\n MasterUsername = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewCluster(ctx, \"test\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Cluster(\"test\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .databaseName(\"test\")\n .manageMasterUserPassword(true)\n .masterUsername(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n databaseName: test\n manageMasterUserPassword: true\n masterUsername: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS/Aurora Managed Master Passwords via Secrets Manager, specific KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"Example KMS Key\"});\nconst test = new aws.rds.Cluster(\"test\", {\n clusterIdentifier: \"example\",\n databaseName: \"test\",\n manageMasterUserPassword: true,\n masterUsername: \"test\",\n masterUserSecretKmsKeyId: example.keyId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"Example KMS Key\")\ntest = aws.rds.Cluster(\"test\",\n cluster_identifier=\"example\",\n database_name=\"test\",\n manage_master_user_password=True,\n master_username=\"test\",\n master_user_secret_kms_key_id=example.key_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n });\n\n var test = new Aws.Rds.Cluster(\"test\", new()\n {\n ClusterIdentifier = \"example\",\n DatabaseName = \"test\",\n ManageMasterUserPassword = true,\n MasterUsername = \"test\",\n MasterUserSecretKmsKeyId = example.KeyId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example KMS Key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewCluster(ctx, \"test\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterUserSecretKmsKeyId: example.KeyId,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"Example KMS Key\")\n .build());\n\n var test = new Cluster(\"test\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .databaseName(\"test\")\n .manageMasterUserPassword(true)\n .masterUsername(\"test\")\n .masterUserSecretKmsKeyId(example.keyId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n test:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n databaseName: test\n manageMasterUserPassword: true\n masterUsername: test\n masterUserSecretKmsKeyId: ${example.keyId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Global Cluster Restored From Snapshot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.rds.getClusterSnapshot({\n dbClusterIdentifier: \"example-original-cluster\",\n mostRecent: true,\n});\nconst exampleCluster = new aws.rds.Cluster(\"example\", {\n engine: aws.rds.EngineType.Aurora,\n engineVersion: \"5.6.mysql_aurora.1.22.4\",\n clusterIdentifier: \"example\",\n snapshotIdentifier: example.then(example =\u003e example.id),\n});\nconst exampleGlobalCluster = new aws.rds.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: exampleCluster.arn,\n forceDestroy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.get_cluster_snapshot(db_cluster_identifier=\"example-original-cluster\",\n most_recent=True)\nexample_cluster = aws.rds.Cluster(\"example\",\n engine=aws.rds.EngineType.AURORA,\n engine_version=\"5.6.mysql_aurora.1.22.4\",\n cluster_identifier=\"example\",\n snapshot_identifier=example.id)\nexample_global_cluster = aws.rds.GlobalCluster(\"example\",\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example_cluster.arn,\n force_destroy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Rds.GetClusterSnapshot.Invoke(new()\n {\n DbClusterIdentifier = \"example-original-cluster\",\n MostRecent = true,\n });\n\n var exampleCluster = new Aws.Rds.Cluster(\"example\", new()\n {\n Engine = Aws.Rds.EngineType.Aurora,\n EngineVersion = \"5.6.mysql_aurora.1.22.4\",\n ClusterIdentifier = \"example\",\n SnapshotIdentifier = example.Apply(getClusterSnapshotResult =\u003e getClusterSnapshotResult.Id),\n });\n\n var exampleGlobalCluster = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = exampleCluster.Arn,\n ForceDestroy = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.LookupClusterSnapshot(ctx, \u0026rds.LookupClusterSnapshotArgs{\n\t\t\tDbClusterIdentifier: pulumi.StringRef(\"example-original-cluster\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tEngine: pulumi.String(rds.EngineTypeAurora),\n\t\t\tEngineVersion: pulumi.String(\"5.6.mysql_aurora.1.22.4\"),\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSnapshotIdentifier: pulumi.String(example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: exampleCluster.Arn,\n\t\t\tForceDestroy: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetClusterSnapshotArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RdsFunctions.getClusterSnapshot(GetClusterSnapshotArgs.builder()\n .dbClusterIdentifier(\"example-original-cluster\")\n .mostRecent(true)\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .engine(\"aurora\")\n .engineVersion(\"5.6.mysql_aurora.1.22.4\")\n .clusterIdentifier(\"example\")\n .snapshotIdentifier(example.applyValue(getClusterSnapshotResult -\u003e getClusterSnapshotResult.id()))\n .build());\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(exampleCluster.arn())\n .forceDestroy(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:rds:Cluster\n name: example\n properties:\n engine: aurora\n engineVersion: 5.6.mysql_aurora.1.22.4\n clusterIdentifier: example\n snapshotIdentifier: ${example.id}\n exampleGlobalCluster:\n type: aws:rds:GlobalCluster\n name: example\n properties:\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${exampleCluster.arn}\n forceDestroy: true\nvariables:\n example:\n fn::invoke:\n function: aws:rds:getClusterSnapshot\n arguments:\n dbClusterIdentifier: example-original-cluster\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS Clusters using the `cluster_identifier`. For example:\n\n```sh\n$ pulumi import aws:rds/cluster:Cluster aurora_cluster aurora-prod-cluster\n```\n", + "description": "Manages a [RDS Aurora Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Aurora.html) or a [RDS Multi-AZ DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html). To manage cluster instances that inherit configuration from the cluster (when not running the cluster in `serverless` engine mode), see the `aws.rds.ClusterInstance` resource. To manage non-Aurora DB instances (e.g., MySQL, PostgreSQL, SQL Server, etc.), see the `aws.rds.Instance` resource.\n\nFor information on the difference between the available Aurora MySQL engines see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html) in the Amazon RDS User Guide.\n\nChanges to an RDS Cluster can occur when you manually change a parameter, such as `port`, and are reflected in the next maintenance window. Because of this, this provider may report a difference in its planning phase because a modification has not yet taken place. You can use the `apply_immediately` flag to instruct the service to apply the change immediately (see documentation below).\n\n\u003e **Note:** Multi-AZ DB clusters are supported only for the MySQL and PostgreSQL DB engines.\n\n\u003e **Note:** `ca_certificate_identifier` is only supported for Multi-AZ DB clusters.\n\n\u003e **Note:** using `apply_immediately` can result in a brief downtime as the server reboots. See the AWS Docs on [RDS Maintenance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html) for more information.\n\n\u003e **Note:** All arguments including the username and password will be stored in the raw state as plain-text.\n\u003e **NOTE on RDS Clusters and RDS Cluster Role Associations:** Pulumi provides both a standalone RDS Cluster Role Association - (an association between an RDS Cluster and a single IAM Role) and an RDS Cluster resource with `iam_roles` attributes. Use one resource or the other to associate IAM Roles and RDS Clusters. Not doing so will cause a conflict of associations and will result in the association being overwritten.\n\n## Example Usage\n\n### Aurora MySQL 2.x (MySQL 5.7)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n engine: aws.rds.EngineType.AuroraMysql,\n engineVersion: \"5.7.mysql_aurora.2.03.2\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"must_be_eight_characters\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n engine=aws.rds.EngineType.AURORA_MYSQL,\n engine_version=\"5.7.mysql_aurora.2.03.2\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"must_be_eight_characters\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n Engine = Aws.Rds.EngineType.AuroraMysql,\n EngineVersion = \"5.7.mysql_aurora.2.03.2\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"must_be_eight_characters\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraMysql),\n\t\t\tEngineVersion: pulumi.String(\"5.7.mysql_aurora.2.03.2\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .engine(\"aurora-mysql\")\n .engineVersion(\"5.7.mysql_aurora.2.03.2\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"must_be_eight_characters\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n engine: aurora-mysql\n engineVersion: 5.7.mysql_aurora.2.03.2\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: must_be_eight_characters\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Aurora MySQL 1.x (MySQL 5.6)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"must_be_eight_characters\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"must_be_eight_characters\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"must_be_eight_characters\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"must_be_eight_characters\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: must_be_eight_characters\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Aurora with PostgreSQL engine\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst postgresql = new aws.rds.Cluster(\"postgresql\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n engine: aws.rds.EngineType.AuroraPostgresql,\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"must_be_eight_characters\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npostgresql = aws.rds.Cluster(\"postgresql\",\n cluster_identifier=\"aurora-cluster-demo\",\n engine=aws.rds.EngineType.AURORA_POSTGRESQL,\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"must_be_eight_characters\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgresql = new Aws.Rds.Cluster(\"postgresql\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n Engine = Aws.Rds.EngineType.AuroraPostgresql,\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"must_be_eight_characters\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewCluster(ctx, \"postgresql\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraPostgresql),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var postgresql = new Cluster(\"postgresql\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .engine(\"aurora-postgresql\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"must_be_eight_characters\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgresql:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n engine: aurora-postgresql\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: must_be_eight_characters\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Multi-AZ Cluster\n\n\u003e More information about RDS Multi-AZ Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html).\n\nTo create a Multi-AZ RDS cluster, you must additionally specify the `engine`, `storage_type`, `allocated_storage`, `iops` and `db_cluster_instance_class` attributes.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {\n clusterIdentifier: \"example\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n engine: \"mysql\",\n dbClusterInstanceClass: \"db.r6gd.xlarge\",\n storageType: \"io1\",\n allocatedStorage: 100,\n iops: 1000,\n masterUsername: \"test\",\n masterPassword: \"mustbeeightcharaters\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\",\n cluster_identifier=\"example\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n engine=\"mysql\",\n db_cluster_instance_class=\"db.r6gd.xlarge\",\n storage_type=\"io1\",\n allocated_storage=100,\n iops=1000,\n master_username=\"test\",\n master_password=\"mustbeeightcharaters\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n Engine = \"mysql\",\n DbClusterInstanceClass = \"db.r6gd.xlarge\",\n StorageType = \"io1\",\n AllocatedStorage = 100,\n Iops = 1000,\n MasterUsername = \"test\",\n MasterPassword = \"mustbeeightcharaters\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tDbClusterInstanceClass: pulumi.String(\"db.r6gd.xlarge\"),\n\t\t\tStorageType: pulumi.String(\"io1\"),\n\t\t\tAllocatedStorage: pulumi.Int(100),\n\t\t\tIops: pulumi.Int(1000),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterPassword: pulumi.String(\"mustbeeightcharaters\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .engine(\"mysql\")\n .dbClusterInstanceClass(\"db.r6gd.xlarge\")\n .storageType(\"io1\")\n .allocatedStorage(100)\n .iops(1000)\n .masterUsername(\"test\")\n .masterPassword(\"mustbeeightcharaters\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n engine: mysql\n dbClusterInstanceClass: db.r6gd.xlarge\n storageType: io1\n allocatedStorage: 100\n iops: 1000\n masterUsername: test\n masterPassword: mustbeeightcharaters\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Serverless v2 Cluster\n\n\u003e More information about RDS Serverless v2 Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html).\n\n\u003e **Note:** Unlike Serverless v1, in Serverless v2 the `storage_encrypted` value is set to `false` by default.\nThis is because Serverless v1 uses the `serverless` `engine_mode`, but Serverless v2 uses the `provisioned` `engine_mode`.\n\nTo create a Serverless v2 RDS cluster, you must additionally specify the `engine_mode` and `serverlessv2_scaling_configuration` attributes. An `aws.rds.ClusterInstance` resource must also be added to the cluster with the `instance_class` attribute specified.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {\n clusterIdentifier: \"example\",\n engine: aws.rds.EngineType.AuroraPostgresql,\n engineMode: aws.rds.EngineMode.Provisioned,\n engineVersion: \"13.6\",\n databaseName: \"test\",\n masterUsername: \"test\",\n masterPassword: \"must_be_eight_characters\",\n storageEncrypted: true,\n serverlessv2ScalingConfiguration: {\n maxCapacity: 1,\n minCapacity: 0.5,\n },\n});\nconst exampleClusterInstance = new aws.rds.ClusterInstance(\"example\", {\n clusterIdentifier: example.id,\n instanceClass: \"db.serverless\",\n engine: example.engine,\n engineVersion: example.engineVersion,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\",\n cluster_identifier=\"example\",\n engine=aws.rds.EngineType.AURORA_POSTGRESQL,\n engine_mode=aws.rds.EngineMode.PROVISIONED,\n engine_version=\"13.6\",\n database_name=\"test\",\n master_username=\"test\",\n master_password=\"must_be_eight_characters\",\n storage_encrypted=True,\n serverlessv2_scaling_configuration={\n \"max_capacity\": 1,\n \"min_capacity\": 0.5,\n })\nexample_cluster_instance = aws.rds.ClusterInstance(\"example\",\n cluster_identifier=example.id,\n instance_class=\"db.serverless\",\n engine=example.engine,\n engine_version=example.engine_version)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example\",\n Engine = Aws.Rds.EngineType.AuroraPostgresql,\n EngineMode = Aws.Rds.EngineMode.Provisioned,\n EngineVersion = \"13.6\",\n DatabaseName = \"test\",\n MasterUsername = \"test\",\n MasterPassword = \"must_be_eight_characters\",\n StorageEncrypted = true,\n Serverlessv2ScalingConfiguration = new Aws.Rds.Inputs.ClusterServerlessv2ScalingConfigurationArgs\n {\n MaxCapacity = 1,\n MinCapacity = 0.5,\n },\n });\n\n var exampleClusterInstance = new Aws.Rds.ClusterInstance(\"example\", new()\n {\n ClusterIdentifier = example.Id,\n InstanceClass = \"db.serverless\",\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraPostgresql),\n\t\t\tEngineMode: pulumi.String(rds.EngineModeProvisioned),\n\t\t\tEngineVersion: pulumi.String(\"13.6\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t\tServerlessv2ScalingConfiguration: \u0026rds.ClusterServerlessv2ScalingConfigurationArgs{\n\t\t\t\tMaxCapacity: pulumi.Float64(1),\n\t\t\t\tMinCapacity: pulumi.Float64(0.5),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"example\", \u0026rds.ClusterInstanceArgs{\n\t\t\tClusterIdentifier: example.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.serverless\"),\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.inputs.ClusterServerlessv2ScalingConfigurationArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .engine(\"aurora-postgresql\")\n .engineMode(\"provisioned\")\n .engineVersion(\"13.6\")\n .databaseName(\"test\")\n .masterUsername(\"test\")\n .masterPassword(\"must_be_eight_characters\")\n .storageEncrypted(true)\n .serverlessv2ScalingConfiguration(ClusterServerlessv2ScalingConfigurationArgs.builder()\n .maxCapacity(1)\n .minCapacity(0.5)\n .build())\n .build());\n\n var exampleClusterInstance = new ClusterInstance(\"exampleClusterInstance\", ClusterInstanceArgs.builder()\n .clusterIdentifier(example.id())\n .instanceClass(\"db.serverless\")\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n engine: aurora-postgresql\n engineMode: provisioned\n engineVersion: '13.6'\n databaseName: test\n masterUsername: test\n masterPassword: must_be_eight_characters\n storageEncrypted: true\n serverlessv2ScalingConfiguration:\n maxCapacity: 1\n minCapacity: 0.5\n exampleClusterInstance:\n type: aws:rds:ClusterInstance\n name: example\n properties:\n clusterIdentifier: ${example.id}\n instanceClass: db.serverless\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS/Aurora Managed Master Passwords via Secrets Manager, default KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `master_password` attribute (removal is required).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.rds.Cluster(\"test\", {\n clusterIdentifier: \"example\",\n databaseName: \"test\",\n manageMasterUserPassword: true,\n masterUsername: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.Cluster(\"test\",\n cluster_identifier=\"example\",\n database_name=\"test\",\n manage_master_user_password=True,\n master_username=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Rds.Cluster(\"test\", new()\n {\n ClusterIdentifier = \"example\",\n DatabaseName = \"test\",\n ManageMasterUserPassword = true,\n MasterUsername = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewCluster(ctx, \"test\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Cluster(\"test\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .databaseName(\"test\")\n .manageMasterUserPassword(true)\n .masterUsername(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n databaseName: test\n manageMasterUserPassword: true\n masterUsername: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS/Aurora Managed Master Passwords via Secrets Manager, specific KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"Example KMS Key\"});\nconst test = new aws.rds.Cluster(\"test\", {\n clusterIdentifier: \"example\",\n databaseName: \"test\",\n manageMasterUserPassword: true,\n masterUsername: \"test\",\n masterUserSecretKmsKeyId: example.keyId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"Example KMS Key\")\ntest = aws.rds.Cluster(\"test\",\n cluster_identifier=\"example\",\n database_name=\"test\",\n manage_master_user_password=True,\n master_username=\"test\",\n master_user_secret_kms_key_id=example.key_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n });\n\n var test = new Aws.Rds.Cluster(\"test\", new()\n {\n ClusterIdentifier = \"example\",\n DatabaseName = \"test\",\n ManageMasterUserPassword = true,\n MasterUsername = \"test\",\n MasterUserSecretKmsKeyId = example.KeyId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example KMS Key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewCluster(ctx, \"test\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterUserSecretKmsKeyId: example.KeyId,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"Example KMS Key\")\n .build());\n\n var test = new Cluster(\"test\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .databaseName(\"test\")\n .manageMasterUserPassword(true)\n .masterUsername(\"test\")\n .masterUserSecretKmsKeyId(example.keyId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n test:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n databaseName: test\n manageMasterUserPassword: true\n masterUsername: test\n masterUserSecretKmsKeyId: ${example.keyId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Global Cluster Restored From Snapshot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.rds.getClusterSnapshot({\n dbClusterIdentifier: \"example-original-cluster\",\n mostRecent: true,\n});\nconst exampleCluster = new aws.rds.Cluster(\"example\", {\n engine: aws.rds.EngineType.Aurora,\n engineVersion: \"5.6.mysql_aurora.1.22.4\",\n clusterIdentifier: \"example\",\n snapshotIdentifier: example.then(example =\u003e example.id),\n});\nconst exampleGlobalCluster = new aws.rds.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: exampleCluster.arn,\n forceDestroy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.get_cluster_snapshot(db_cluster_identifier=\"example-original-cluster\",\n most_recent=True)\nexample_cluster = aws.rds.Cluster(\"example\",\n engine=aws.rds.EngineType.AURORA,\n engine_version=\"5.6.mysql_aurora.1.22.4\",\n cluster_identifier=\"example\",\n snapshot_identifier=example.id)\nexample_global_cluster = aws.rds.GlobalCluster(\"example\",\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example_cluster.arn,\n force_destroy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Rds.GetClusterSnapshot.Invoke(new()\n {\n DbClusterIdentifier = \"example-original-cluster\",\n MostRecent = true,\n });\n\n var exampleCluster = new Aws.Rds.Cluster(\"example\", new()\n {\n Engine = Aws.Rds.EngineType.Aurora,\n EngineVersion = \"5.6.mysql_aurora.1.22.4\",\n ClusterIdentifier = \"example\",\n SnapshotIdentifier = example.Apply(getClusterSnapshotResult =\u003e getClusterSnapshotResult.Id),\n });\n\n var exampleGlobalCluster = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = exampleCluster.Arn,\n ForceDestroy = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.LookupClusterSnapshot(ctx, \u0026rds.LookupClusterSnapshotArgs{\n\t\t\tDbClusterIdentifier: pulumi.StringRef(\"example-original-cluster\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tEngine: pulumi.String(rds.EngineTypeAurora),\n\t\t\tEngineVersion: pulumi.String(\"5.6.mysql_aurora.1.22.4\"),\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSnapshotIdentifier: pulumi.String(example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: exampleCluster.Arn,\n\t\t\tForceDestroy: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetClusterSnapshotArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RdsFunctions.getClusterSnapshot(GetClusterSnapshotArgs.builder()\n .dbClusterIdentifier(\"example-original-cluster\")\n .mostRecent(true)\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .engine(\"aurora\")\n .engineVersion(\"5.6.mysql_aurora.1.22.4\")\n .clusterIdentifier(\"example\")\n .snapshotIdentifier(example.applyValue(getClusterSnapshotResult -\u003e getClusterSnapshotResult.id()))\n .build());\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(exampleCluster.arn())\n .forceDestroy(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:rds:Cluster\n name: example\n properties:\n engine: aurora\n engineVersion: 5.6.mysql_aurora.1.22.4\n clusterIdentifier: example\n snapshotIdentifier: ${example.id}\n exampleGlobalCluster:\n type: aws:rds:GlobalCluster\n name: example\n properties:\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${exampleCluster.arn}\n forceDestroy: true\nvariables:\n example:\n fn::invoke:\n Function: aws:rds:getClusterSnapshot\n Arguments:\n dbClusterIdentifier: example-original-cluster\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS Clusters using the `cluster_identifier`. For example:\n\n```sh\n$ pulumi import aws:rds/cluster:Cluster aurora_cluster aurora-prod-cluster\n```\n", "properties": { "allocatedStorage": { "type": "integer", @@ -330340,7 +330340,7 @@ } }, "aws:rds/clusterActivityStream:ClusterActivityStream": { - "description": "Manages RDS Aurora Cluster Database Activity Streams.\n\nDatabase Activity Streams have some limits and requirements, refer to the [Monitoring Amazon Aurora using Database Activity Streams](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.html) documentation for detailed limitations and requirements.\n\n\u003e **Note:** This resource always calls the RDS [`StartActivityStream`][2] API with the `ApplyImmediately` parameter set to `true`. This is because the provider needs the activity stream to be started in order for it to get the associated attributes.\n\n\u003e **Note:** This resource depends on having at least one `aws.rds.ClusterInstance` created. To avoid race conditions when all resources are being created together, add an explicit resource reference using the resource `depends_on` meta-argument.\n\n\u003e **Note:** This resource is available in all regions except the following: `cn-north-1`, `cn-northwest-1`, `us-gov-east-1`, `us-gov-west-1`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"mustbeeightcharaters\",\n engine: aws.rds.EngineType.AuroraPostgresql,\n engineVersion: \"13.4\",\n});\nconst defaultClusterInstance = new aws.rds.ClusterInstance(\"default\", {\n identifier: \"aurora-instance-demo\",\n clusterIdentifier: _default.clusterIdentifier,\n engine: _default.engine,\n instanceClass: aws.rds.InstanceType.R6G_Large,\n});\nconst defaultKey = new aws.kms.Key(\"default\", {description: \"AWS KMS Key to encrypt Database Activity Stream\"});\nconst defaultClusterActivityStream = new aws.rds.ClusterActivityStream(\"default\", {\n resourceArn: _default.arn,\n mode: \"async\",\n kmsKeyId: defaultKey.keyId,\n}, {\n dependsOn: [defaultClusterInstance],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"mustbeeightcharaters\",\n engine=aws.rds.EngineType.AURORA_POSTGRESQL,\n engine_version=\"13.4\")\ndefault_cluster_instance = aws.rds.ClusterInstance(\"default\",\n identifier=\"aurora-instance-demo\",\n cluster_identifier=default.cluster_identifier,\n engine=default.engine,\n instance_class=aws.rds.InstanceType.R6_G_LARGE)\ndefault_key = aws.kms.Key(\"default\", description=\"AWS KMS Key to encrypt Database Activity Stream\")\ndefault_cluster_activity_stream = aws.rds.ClusterActivityStream(\"default\",\n resource_arn=default.arn,\n mode=\"async\",\n kms_key_id=default_key.key_id,\n opts = pulumi.ResourceOptions(depends_on=[default_cluster_instance]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"mustbeeightcharaters\",\n Engine = Aws.Rds.EngineType.AuroraPostgresql,\n EngineVersion = \"13.4\",\n });\n\n var defaultClusterInstance = new Aws.Rds.ClusterInstance(\"default\", new()\n {\n Identifier = \"aurora-instance-demo\",\n ClusterIdentifier = @default.ClusterIdentifier,\n Engine = @default.Engine,\n InstanceClass = Aws.Rds.InstanceType.R6G_Large,\n });\n\n var defaultKey = new Aws.Kms.Key(\"default\", new()\n {\n Description = \"AWS KMS Key to encrypt Database Activity Stream\",\n });\n\n var defaultClusterActivityStream = new Aws.Rds.ClusterActivityStream(\"default\", new()\n {\n ResourceArn = @default.Arn,\n Mode = \"async\",\n KmsKeyId = defaultKey.KeyId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n defaultClusterInstance,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"mustbeeightcharaters\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraPostgresql),\n\t\t\tEngineVersion: pulumi.String(\"13.4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultClusterInstance, err := rds.NewClusterInstance(ctx, \"default\", \u0026rds.ClusterInstanceArgs{\n\t\t\tIdentifier: pulumi.String(\"aurora-instance-demo\"),\n\t\t\tClusterIdentifier: _default.ClusterIdentifier,\n\t\t\tEngine: _default.Engine,\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R6G_Large),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKey, err := kms.NewKey(ctx, \"default\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"AWS KMS Key to encrypt Database Activity Stream\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterActivityStream(ctx, \"default\", \u0026rds.ClusterActivityStreamArgs{\n\t\t\tResourceArn: _default.Arn,\n\t\t\tMode: pulumi.String(\"async\"),\n\t\t\tKmsKeyId: defaultKey.KeyId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdefaultClusterInstance,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.ClusterActivityStream;\nimport com.pulumi.aws.rds.ClusterActivityStreamArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"mustbeeightcharaters\")\n .engine(\"aurora-postgresql\")\n .engineVersion(\"13.4\")\n .build());\n\n var defaultClusterInstance = new ClusterInstance(\"defaultClusterInstance\", ClusterInstanceArgs.builder()\n .identifier(\"aurora-instance-demo\")\n .clusterIdentifier(default_.clusterIdentifier())\n .engine(default_.engine())\n .instanceClass(\"db.r6g.large\")\n .build());\n\n var defaultKey = new Key(\"defaultKey\", KeyArgs.builder()\n .description(\"AWS KMS Key to encrypt Database Activity Stream\")\n .build());\n\n var defaultClusterActivityStream = new ClusterActivityStream(\"defaultClusterActivityStream\", ClusterActivityStreamArgs.builder()\n .resourceArn(default_.arn())\n .mode(\"async\")\n .kmsKeyId(defaultKey.keyId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(defaultClusterInstance)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: mustbeeightcharaters\n engine: aurora-postgresql\n engineVersion: '13.4'\n defaultClusterInstance:\n type: aws:rds:ClusterInstance\n name: default\n properties:\n identifier: aurora-instance-demo\n clusterIdentifier: ${default.clusterIdentifier}\n engine: ${default.engine}\n instanceClass: db.r6g.large\n defaultKey:\n type: aws:kms:Key\n name: default\n properties:\n description: AWS KMS Key to encrypt Database Activity Stream\n defaultClusterActivityStream:\n type: aws:rds:ClusterActivityStream\n name: default\n properties:\n resourceArn: ${default.arn}\n mode: async\n kmsKeyId: ${defaultKey.keyId}\n options:\n dependsOn:\n - ${defaultClusterInstance}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS Aurora Cluster Database Activity Streams using the `resource_arn`. For example:\n\n```sh\n$ pulumi import aws:rds/clusterActivityStream:ClusterActivityStream default arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster-demo\n```\n", + "description": "Manages RDS Aurora Cluster Database Activity Streams.\n\nDatabase Activity Streams have some limits and requirements, refer to the [Monitoring Amazon Aurora using Database Activity Streams](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.html) documentation for detailed limitations and requirements.\n\n\u003e **Note:** This resource always calls the RDS [`StartActivityStream`][2] API with the `ApplyImmediately` parameter set to `true`. This is because the provider needs the activity stream to be started in order for it to get the associated attributes.\n\n\u003e **Note:** This resource depends on having at least one `aws.rds.ClusterInstance` created. To avoid race conditions when all resources are being created together, add an explicit resource reference using the resource `depends_on` meta-argument.\n\n\u003e **Note:** This resource is available in all regions except the following: `cn-north-1`, `cn-northwest-1`, `us-gov-east-1`, `us-gov-west-1`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"mustbeeightcharaters\",\n engine: aws.rds.EngineType.AuroraPostgresql,\n engineVersion: \"13.4\",\n});\nconst defaultClusterInstance = new aws.rds.ClusterInstance(\"default\", {\n identifier: \"aurora-instance-demo\",\n clusterIdentifier: _default.clusterIdentifier,\n engine: _default.engine,\n instanceClass: aws.rds.InstanceType.R6G_Large,\n});\nconst defaultKey = new aws.kms.Key(\"default\", {description: \"AWS KMS Key to encrypt Database Activity Stream\"});\nconst defaultClusterActivityStream = new aws.rds.ClusterActivityStream(\"default\", {\n resourceArn: _default.arn,\n mode: \"async\",\n kmsKeyId: defaultKey.keyId,\n}, {\n dependsOn: [defaultClusterInstance],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"mustbeeightcharaters\",\n engine=aws.rds.EngineType.AURORA_POSTGRESQL,\n engine_version=\"13.4\")\ndefault_cluster_instance = aws.rds.ClusterInstance(\"default\",\n identifier=\"aurora-instance-demo\",\n cluster_identifier=default.cluster_identifier,\n engine=default.engine,\n instance_class=aws.rds.InstanceType.R6_G_LARGE)\ndefault_key = aws.kms.Key(\"default\", description=\"AWS KMS Key to encrypt Database Activity Stream\")\ndefault_cluster_activity_stream = aws.rds.ClusterActivityStream(\"default\",\n resource_arn=default.arn,\n mode=\"async\",\n kms_key_id=default_key.key_id,\n opts = pulumi.ResourceOptions(depends_on=[default_cluster_instance]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"mustbeeightcharaters\",\n Engine = Aws.Rds.EngineType.AuroraPostgresql,\n EngineVersion = \"13.4\",\n });\n\n var defaultClusterInstance = new Aws.Rds.ClusterInstance(\"default\", new()\n {\n Identifier = \"aurora-instance-demo\",\n ClusterIdentifier = @default.ClusterIdentifier,\n Engine = @default.Engine,\n InstanceClass = Aws.Rds.InstanceType.R6G_Large,\n });\n\n var defaultKey = new Aws.Kms.Key(\"default\", new()\n {\n Description = \"AWS KMS Key to encrypt Database Activity Stream\",\n });\n\n var defaultClusterActivityStream = new Aws.Rds.ClusterActivityStream(\"default\", new()\n {\n ResourceArn = @default.Arn,\n Mode = \"async\",\n KmsKeyId = defaultKey.KeyId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n defaultClusterInstance,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"mustbeeightcharaters\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraPostgresql),\n\t\t\tEngineVersion: pulumi.String(\"13.4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultClusterInstance, err := rds.NewClusterInstance(ctx, \"default\", \u0026rds.ClusterInstanceArgs{\n\t\t\tIdentifier: pulumi.String(\"aurora-instance-demo\"),\n\t\t\tClusterIdentifier: _default.ClusterIdentifier,\n\t\t\tEngine: _default.Engine,\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R6G_Large),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKey, err := kms.NewKey(ctx, \"default\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"AWS KMS Key to encrypt Database Activity Stream\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterActivityStream(ctx, \"default\", \u0026rds.ClusterActivityStreamArgs{\n\t\t\tResourceArn: _default.Arn,\n\t\t\tMode: pulumi.String(\"async\"),\n\t\t\tKmsKeyId: defaultKey.KeyId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdefaultClusterInstance,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.ClusterActivityStream;\nimport com.pulumi.aws.rds.ClusterActivityStreamArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"mustbeeightcharaters\")\n .engine(\"aurora-postgresql\")\n .engineVersion(\"13.4\")\n .build());\n\n var defaultClusterInstance = new ClusterInstance(\"defaultClusterInstance\", ClusterInstanceArgs.builder()\n .identifier(\"aurora-instance-demo\")\n .clusterIdentifier(default_.clusterIdentifier())\n .engine(default_.engine())\n .instanceClass(\"db.r6g.large\")\n .build());\n\n var defaultKey = new Key(\"defaultKey\", KeyArgs.builder()\n .description(\"AWS KMS Key to encrypt Database Activity Stream\")\n .build());\n\n var defaultClusterActivityStream = new ClusterActivityStream(\"defaultClusterActivityStream\", ClusterActivityStreamArgs.builder()\n .resourceArn(default_.arn())\n .mode(\"async\")\n .kmsKeyId(defaultKey.keyId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(defaultClusterInstance)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: mustbeeightcharaters\n engine: aurora-postgresql\n engineVersion: '13.4'\n defaultClusterInstance:\n type: aws:rds:ClusterInstance\n name: default\n properties:\n identifier: aurora-instance-demo\n clusterIdentifier: ${default.clusterIdentifier}\n engine: ${default.engine}\n instanceClass: db.r6g.large\n defaultKey:\n type: aws:kms:Key\n name: default\n properties:\n description: AWS KMS Key to encrypt Database Activity Stream\n defaultClusterActivityStream:\n type: aws:rds:ClusterActivityStream\n name: default\n properties:\n resourceArn: ${default.arn}\n mode: async\n kmsKeyId: ${defaultKey.keyId}\n options:\n dependson:\n - ${defaultClusterInstance}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS Aurora Cluster Database Activity Streams using the `resource_arn`. For example:\n\n```sh\n$ pulumi import aws:rds/clusterActivityStream:ClusterActivityStream default arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster-demo\n```\n", "properties": { "engineNativeAuditFieldsIncluded": { "type": "boolean", @@ -331510,7 +331510,7 @@ } }, "aws:rds/customDbEngineVersion:CustomDbEngineVersion": { - "description": "Provides an custom engine version (CEV) resource for Amazon RDS Custom. For additional information, see [Working with CEVs for RDS Custom for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html) and [Working with CEVs for RDS Custom for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev-sqlserver.html) in the the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html).\n\n## Example Usage\n\n### RDS Custom for Oracle Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"KMS symmetric key for RDS Custom for Oracle\"});\nconst exampleCustomDbEngineVersion = new aws.rds.CustomDbEngineVersion(\"example\", {\n databaseInstallationFilesS3BucketName: \"DOC-EXAMPLE-BUCKET\",\n databaseInstallationFilesS3Prefix: \"1915_GI/\",\n engine: \"custom-oracle-ee-cdb\",\n engineVersion: \"19.cdb_cev1\",\n kmsKeyId: example.arn,\n manifest: ` {\n\\x09\"databaseInstallationFileNames\":[\"V982063-01.zip\"]\n }\n`,\n tags: {\n Name: \"example\",\n Key: \"value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"KMS symmetric key for RDS Custom for Oracle\")\nexample_custom_db_engine_version = aws.rds.CustomDbEngineVersion(\"example\",\n database_installation_files_s3_bucket_name=\"DOC-EXAMPLE-BUCKET\",\n database_installation_files_s3_prefix=\"1915_GI/\",\n engine=\"custom-oracle-ee-cdb\",\n engine_version=\"19.cdb_cev1\",\n kms_key_id=example.arn,\n manifest=\"\"\" {\n\\x09\"databaseInstallationFileNames\":[\"V982063-01.zip\"]\n }\n\"\"\",\n tags={\n \"Name\": \"example\",\n \"Key\": \"value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"KMS symmetric key for RDS Custom for Oracle\",\n });\n\n var exampleCustomDbEngineVersion = new Aws.Rds.CustomDbEngineVersion(\"example\", new()\n {\n DatabaseInstallationFilesS3BucketName = \"DOC-EXAMPLE-BUCKET\",\n DatabaseInstallationFilesS3Prefix = \"1915_GI/\",\n Engine = \"custom-oracle-ee-cdb\",\n EngineVersion = \"19.cdb_cev1\",\n KmsKeyId = example.Arn,\n Manifest = @\" {\n\t\"\"databaseInstallationFileNames\"\":[\"\"V982063-01.zip\"\"]\n }\n\",\n Tags = \n {\n { \"Name\", \"example\" },\n { \"Key\", \"value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS symmetric key for RDS Custom for Oracle\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewCustomDbEngineVersion(ctx, \"example\", \u0026rds.CustomDbEngineVersionArgs{\n\t\t\tDatabaseInstallationFilesS3BucketName: pulumi.String(\"DOC-EXAMPLE-BUCKET\"),\n\t\t\tDatabaseInstallationFilesS3Prefix: pulumi.String(\"1915_GI/\"),\n\t\t\tEngine: pulumi.String(\"custom-oracle-ee-cdb\"),\n\t\t\tEngineVersion: pulumi.String(\"19.cdb_cev1\"),\n\t\t\tKmsKeyId: example.Arn,\n\t\t\tManifest: pulumi.String(\" {\\n\t\\\"databaseInstallationFileNames\\\":[\\\"V982063-01.zip\\\"]\\n }\\n\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t\t\"Key\": pulumi.String(\"value\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.CustomDbEngineVersion;\nimport com.pulumi.aws.rds.CustomDbEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"KMS symmetric key for RDS Custom for Oracle\")\n .build());\n\n var exampleCustomDbEngineVersion = new CustomDbEngineVersion(\"exampleCustomDbEngineVersion\", CustomDbEngineVersionArgs.builder()\n .databaseInstallationFilesS3BucketName(\"DOC-EXAMPLE-BUCKET\")\n .databaseInstallationFilesS3Prefix(\"1915_GI/\")\n .engine(\"custom-oracle-ee-cdb\")\n .engineVersion(\"19.cdb_cev1\")\n .kmsKeyId(example.arn())\n .manifest(\"\"\"\n {\n\t\"databaseInstallationFileNames\":[\"V982063-01.zip\"]\n }\n \"\"\")\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"example\"),\n Map.entry(\"Key\", \"value\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: KMS symmetric key for RDS Custom for Oracle\n exampleCustomDbEngineVersion:\n type: aws:rds:CustomDbEngineVersion\n name: example\n properties:\n databaseInstallationFilesS3BucketName: DOC-EXAMPLE-BUCKET\n databaseInstallationFilesS3Prefix: 1915_GI/\n engine: custom-oracle-ee-cdb\n engineVersion: 19.cdb_cev1\n kmsKeyId: ${example.arn}\n manifest: |2\n {\n \t\"databaseInstallationFileNames\":[\"V982063-01.zip\"]\n }\n tags:\n Name: example\n Key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for Oracle External Manifest Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"KMS symmetric key for RDS Custom for Oracle\"});\nconst exampleCustomDbEngineVersion = new aws.rds.CustomDbEngineVersion(\"example\", {\n databaseInstallationFilesS3BucketName: \"DOC-EXAMPLE-BUCKET\",\n databaseInstallationFilesS3Prefix: \"1915_GI/\",\n engine: \"custom-oracle-ee-cdb\",\n engineVersion: \"19.cdb_cev1\",\n kmsKeyId: example.arn,\n filename: \"manifest_1915_GI.json\",\n manifestHash: std.filebase64sha256({\n input: json,\n }).then(invoke =\u003e invoke.result),\n tags: {\n Name: \"example\",\n Key: \"value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.kms.Key(\"example\", description=\"KMS symmetric key for RDS Custom for Oracle\")\nexample_custom_db_engine_version = aws.rds.CustomDbEngineVersion(\"example\",\n database_installation_files_s3_bucket_name=\"DOC-EXAMPLE-BUCKET\",\n database_installation_files_s3_prefix=\"1915_GI/\",\n engine=\"custom-oracle-ee-cdb\",\n engine_version=\"19.cdb_cev1\",\n kms_key_id=example.arn,\n filename=\"manifest_1915_GI.json\",\n manifest_hash=std.filebase64sha256(input=json).result,\n tags={\n \"Name\": \"example\",\n \"Key\": \"value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"KMS symmetric key for RDS Custom for Oracle\",\n });\n\n var exampleCustomDbEngineVersion = new Aws.Rds.CustomDbEngineVersion(\"example\", new()\n {\n DatabaseInstallationFilesS3BucketName = \"DOC-EXAMPLE-BUCKET\",\n DatabaseInstallationFilesS3Prefix = \"1915_GI/\",\n Engine = \"custom-oracle-ee-cdb\",\n EngineVersion = \"19.cdb_cev1\",\n KmsKeyId = example.Arn,\n Filename = \"manifest_1915_GI.json\",\n ManifestHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = json,\n }).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Name\", \"example\" },\n { \"Key\", \"value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS symmetric key for RDS Custom for Oracle\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: json,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewCustomDbEngineVersion(ctx, \"example\", \u0026rds.CustomDbEngineVersionArgs{\n\t\t\tDatabaseInstallationFilesS3BucketName: pulumi.String(\"DOC-EXAMPLE-BUCKET\"),\n\t\t\tDatabaseInstallationFilesS3Prefix: pulumi.String(\"1915_GI/\"),\n\t\t\tEngine: pulumi.String(\"custom-oracle-ee-cdb\"),\n\t\t\tEngineVersion: pulumi.String(\"19.cdb_cev1\"),\n\t\t\tKmsKeyId: example.Arn,\n\t\t\tFilename: pulumi.String(\"manifest_1915_GI.json\"),\n\t\t\tManifestHash: pulumi.String(invokeFilebase64sha256.Result),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t\t\"Key\": pulumi.String(\"value\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.CustomDbEngineVersion;\nimport com.pulumi.aws.rds.CustomDbEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"KMS symmetric key for RDS Custom for Oracle\")\n .build());\n\n var exampleCustomDbEngineVersion = new CustomDbEngineVersion(\"exampleCustomDbEngineVersion\", CustomDbEngineVersionArgs.builder()\n .databaseInstallationFilesS3BucketName(\"DOC-EXAMPLE-BUCKET\")\n .databaseInstallationFilesS3Prefix(\"1915_GI/\")\n .engine(\"custom-oracle-ee-cdb\")\n .engineVersion(\"19.cdb_cev1\")\n .kmsKeyId(example.arn())\n .filename(\"manifest_1915_GI.json\")\n .manifestHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(json)\n .build()).result())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"example\"),\n Map.entry(\"Key\", \"value\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: KMS symmetric key for RDS Custom for Oracle\n exampleCustomDbEngineVersion:\n type: aws:rds:CustomDbEngineVersion\n name: example\n properties:\n databaseInstallationFilesS3BucketName: DOC-EXAMPLE-BUCKET\n databaseInstallationFilesS3Prefix: 1915_GI/\n engine: custom-oracle-ee-cdb\n engineVersion: 19.cdb_cev1\n kmsKeyId: ${example.arn}\n filename: manifest_1915_GI.json\n manifestHash:\n fn::invoke:\n function: std:filebase64sha256\n arguments:\n input: ${json}\n return: result\n tags:\n Name: example\n Key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for SQL Server Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// CEV creation requires an AMI owned by the operator\nconst test = new aws.rds.CustomDbEngineVersion(\"test\", {\n engine: \"custom-sqlserver-se\",\n engineVersion: \"15.00.4249.2.cev-1\",\n sourceImageId: \"ami-0aa12345678a12ab1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# CEV creation requires an AMI owned by the operator\ntest = aws.rds.CustomDbEngineVersion(\"test\",\n engine=\"custom-sqlserver-se\",\n engine_version=\"15.00.4249.2.cev-1\",\n source_image_id=\"ami-0aa12345678a12ab1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // CEV creation requires an AMI owned by the operator\n var test = new Aws.Rds.CustomDbEngineVersion(\"test\", new()\n {\n Engine = \"custom-sqlserver-se\",\n EngineVersion = \"15.00.4249.2.cev-1\",\n SourceImageId = \"ami-0aa12345678a12ab1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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// CEV creation requires an AMI owned by the operator\n\t\t_, err := rds.NewCustomDbEngineVersion(ctx, \"test\", \u0026rds.CustomDbEngineVersionArgs{\n\t\t\tEngine: pulumi.String(\"custom-sqlserver-se\"),\n\t\t\tEngineVersion: pulumi.String(\"15.00.4249.2.cev-1\"),\n\t\t\tSourceImageId: pulumi.String(\"ami-0aa12345678a12ab1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.CustomDbEngineVersion;\nimport com.pulumi.aws.rds.CustomDbEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // CEV creation requires an AMI owned by the operator\n var test = new CustomDbEngineVersion(\"test\", CustomDbEngineVersionArgs.builder()\n .engine(\"custom-sqlserver-se\")\n .engineVersion(\"15.00.4249.2.cev-1\")\n .sourceImageId(\"ami-0aa12345678a12ab1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # CEV creation requires an AMI owned by the operator\n test:\n type: aws:rds:CustomDbEngineVersion\n properties:\n engine: custom-sqlserver-se\n engineVersion: 15.00.4249.2.cev-1\n sourceImageId: ami-0aa12345678a12ab1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for SQL Server Usage with AMI from another region\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.AmiCopy(\"example\", {\n name: \"sqlserver-se-2019-15.00.4249.2\",\n description: \"A copy of ami-xxxxxxxx\",\n sourceAmiId: \"ami-xxxxxxxx\",\n sourceAmiRegion: \"us-east-1\",\n});\n// CEV creation requires an AMI owned by the operator\nconst test = new aws.rds.CustomDbEngineVersion(\"test\", {\n engine: \"custom-sqlserver-se\",\n engineVersion: \"15.00.4249.2.cev-1\",\n sourceImageId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.AmiCopy(\"example\",\n name=\"sqlserver-se-2019-15.00.4249.2\",\n description=\"A copy of ami-xxxxxxxx\",\n source_ami_id=\"ami-xxxxxxxx\",\n source_ami_region=\"us-east-1\")\n# CEV creation requires an AMI owned by the operator\ntest = aws.rds.CustomDbEngineVersion(\"test\",\n engine=\"custom-sqlserver-se\",\n engine_version=\"15.00.4249.2.cev-1\",\n source_image_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.AmiCopy(\"example\", new()\n {\n Name = \"sqlserver-se-2019-15.00.4249.2\",\n Description = \"A copy of ami-xxxxxxxx\",\n SourceAmiId = \"ami-xxxxxxxx\",\n SourceAmiRegion = \"us-east-1\",\n });\n\n // CEV creation requires an AMI owned by the operator\n var test = new Aws.Rds.CustomDbEngineVersion(\"test\", new()\n {\n Engine = \"custom-sqlserver-se\",\n EngineVersion = \"15.00.4249.2.cev-1\",\n SourceImageId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewAmiCopy(ctx, \"example\", \u0026ec2.AmiCopyArgs{\n\t\t\tName: pulumi.String(\"sqlserver-se-2019-15.00.4249.2\"),\n\t\t\tDescription: pulumi.String(\"A copy of ami-xxxxxxxx\"),\n\t\t\tSourceAmiId: pulumi.String(\"ami-xxxxxxxx\"),\n\t\t\tSourceAmiRegion: pulumi.String(\"us-east-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// CEV creation requires an AMI owned by the operator\n\t\t_, err = rds.NewCustomDbEngineVersion(ctx, \"test\", \u0026rds.CustomDbEngineVersionArgs{\n\t\t\tEngine: pulumi.String(\"custom-sqlserver-se\"),\n\t\t\tEngineVersion: pulumi.String(\"15.00.4249.2.cev-1\"),\n\t\t\tSourceImageId: example.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.AmiCopy;\nimport com.pulumi.aws.ec2.AmiCopyArgs;\nimport com.pulumi.aws.rds.CustomDbEngineVersion;\nimport com.pulumi.aws.rds.CustomDbEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AmiCopy(\"example\", AmiCopyArgs.builder()\n .name(\"sqlserver-se-2019-15.00.4249.2\")\n .description(\"A copy of ami-xxxxxxxx\")\n .sourceAmiId(\"ami-xxxxxxxx\")\n .sourceAmiRegion(\"us-east-1\")\n .build());\n\n // CEV creation requires an AMI owned by the operator\n var test = new CustomDbEngineVersion(\"test\", CustomDbEngineVersionArgs.builder()\n .engine(\"custom-sqlserver-se\")\n .engineVersion(\"15.00.4249.2.cev-1\")\n .sourceImageId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiCopy\n properties:\n name: sqlserver-se-2019-15.00.4249.2\n description: A copy of ami-xxxxxxxx\n sourceAmiId: ami-xxxxxxxx\n sourceAmiRegion: us-east-1\n # CEV creation requires an AMI owned by the operator\n test:\n type: aws:rds:CustomDbEngineVersion\n properties:\n engine: custom-sqlserver-se\n engineVersion: 15.00.4249.2.cev-1\n sourceImageId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import custom engine versions for Amazon RDS custom using the `engine` and `engine_version` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:rds/customDbEngineVersion:CustomDbEngineVersion example custom-oracle-ee-cdb:19.cdb_cev1\n```\n", + "description": "Provides an custom engine version (CEV) resource for Amazon RDS Custom. For additional information, see [Working with CEVs for RDS Custom for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html) and [Working with CEVs for RDS Custom for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev-sqlserver.html) in the the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html).\n\n## Example Usage\n\n### RDS Custom for Oracle Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"KMS symmetric key for RDS Custom for Oracle\"});\nconst exampleCustomDbEngineVersion = new aws.rds.CustomDbEngineVersion(\"example\", {\n databaseInstallationFilesS3BucketName: \"DOC-EXAMPLE-BUCKET\",\n databaseInstallationFilesS3Prefix: \"1915_GI/\",\n engine: \"custom-oracle-ee-cdb\",\n engineVersion: \"19.cdb_cev1\",\n kmsKeyId: example.arn,\n manifest: ` {\n\\x09\"databaseInstallationFileNames\":[\"V982063-01.zip\"]\n }\n`,\n tags: {\n Name: \"example\",\n Key: \"value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"KMS symmetric key for RDS Custom for Oracle\")\nexample_custom_db_engine_version = aws.rds.CustomDbEngineVersion(\"example\",\n database_installation_files_s3_bucket_name=\"DOC-EXAMPLE-BUCKET\",\n database_installation_files_s3_prefix=\"1915_GI/\",\n engine=\"custom-oracle-ee-cdb\",\n engine_version=\"19.cdb_cev1\",\n kms_key_id=example.arn,\n manifest=\"\"\" {\n\\x09\"databaseInstallationFileNames\":[\"V982063-01.zip\"]\n }\n\"\"\",\n tags={\n \"Name\": \"example\",\n \"Key\": \"value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"KMS symmetric key for RDS Custom for Oracle\",\n });\n\n var exampleCustomDbEngineVersion = new Aws.Rds.CustomDbEngineVersion(\"example\", new()\n {\n DatabaseInstallationFilesS3BucketName = \"DOC-EXAMPLE-BUCKET\",\n DatabaseInstallationFilesS3Prefix = \"1915_GI/\",\n Engine = \"custom-oracle-ee-cdb\",\n EngineVersion = \"19.cdb_cev1\",\n KmsKeyId = example.Arn,\n Manifest = @\" {\n\t\"\"databaseInstallationFileNames\"\":[\"\"V982063-01.zip\"\"]\n }\n\",\n Tags = \n {\n { \"Name\", \"example\" },\n { \"Key\", \"value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS symmetric key for RDS Custom for Oracle\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewCustomDbEngineVersion(ctx, \"example\", \u0026rds.CustomDbEngineVersionArgs{\n\t\t\tDatabaseInstallationFilesS3BucketName: pulumi.String(\"DOC-EXAMPLE-BUCKET\"),\n\t\t\tDatabaseInstallationFilesS3Prefix: pulumi.String(\"1915_GI/\"),\n\t\t\tEngine: pulumi.String(\"custom-oracle-ee-cdb\"),\n\t\t\tEngineVersion: pulumi.String(\"19.cdb_cev1\"),\n\t\t\tKmsKeyId: example.Arn,\n\t\t\tManifest: pulumi.String(\" {\\n\t\\\"databaseInstallationFileNames\\\":[\\\"V982063-01.zip\\\"]\\n }\\n\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t\t\"Key\": pulumi.String(\"value\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.CustomDbEngineVersion;\nimport com.pulumi.aws.rds.CustomDbEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"KMS symmetric key for RDS Custom for Oracle\")\n .build());\n\n var exampleCustomDbEngineVersion = new CustomDbEngineVersion(\"exampleCustomDbEngineVersion\", CustomDbEngineVersionArgs.builder()\n .databaseInstallationFilesS3BucketName(\"DOC-EXAMPLE-BUCKET\")\n .databaseInstallationFilesS3Prefix(\"1915_GI/\")\n .engine(\"custom-oracle-ee-cdb\")\n .engineVersion(\"19.cdb_cev1\")\n .kmsKeyId(example.arn())\n .manifest(\"\"\"\n {\n\t\"databaseInstallationFileNames\":[\"V982063-01.zip\"]\n }\n \"\"\")\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"example\"),\n Map.entry(\"Key\", \"value\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: KMS symmetric key for RDS Custom for Oracle\n exampleCustomDbEngineVersion:\n type: aws:rds:CustomDbEngineVersion\n name: example\n properties:\n databaseInstallationFilesS3BucketName: DOC-EXAMPLE-BUCKET\n databaseInstallationFilesS3Prefix: 1915_GI/\n engine: custom-oracle-ee-cdb\n engineVersion: 19.cdb_cev1\n kmsKeyId: ${example.arn}\n manifest: |2\n {\n \t\"databaseInstallationFileNames\":[\"V982063-01.zip\"]\n }\n tags:\n Name: example\n Key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for Oracle External Manifest Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"KMS symmetric key for RDS Custom for Oracle\"});\nconst exampleCustomDbEngineVersion = new aws.rds.CustomDbEngineVersion(\"example\", {\n databaseInstallationFilesS3BucketName: \"DOC-EXAMPLE-BUCKET\",\n databaseInstallationFilesS3Prefix: \"1915_GI/\",\n engine: \"custom-oracle-ee-cdb\",\n engineVersion: \"19.cdb_cev1\",\n kmsKeyId: example.arn,\n filename: \"manifest_1915_GI.json\",\n manifestHash: std.filebase64sha256({\n input: json,\n }).then(invoke =\u003e invoke.result),\n tags: {\n Name: \"example\",\n Key: \"value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.kms.Key(\"example\", description=\"KMS symmetric key for RDS Custom for Oracle\")\nexample_custom_db_engine_version = aws.rds.CustomDbEngineVersion(\"example\",\n database_installation_files_s3_bucket_name=\"DOC-EXAMPLE-BUCKET\",\n database_installation_files_s3_prefix=\"1915_GI/\",\n engine=\"custom-oracle-ee-cdb\",\n engine_version=\"19.cdb_cev1\",\n kms_key_id=example.arn,\n filename=\"manifest_1915_GI.json\",\n manifest_hash=std.filebase64sha256(input=json).result,\n tags={\n \"Name\": \"example\",\n \"Key\": \"value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"KMS symmetric key for RDS Custom for Oracle\",\n });\n\n var exampleCustomDbEngineVersion = new Aws.Rds.CustomDbEngineVersion(\"example\", new()\n {\n DatabaseInstallationFilesS3BucketName = \"DOC-EXAMPLE-BUCKET\",\n DatabaseInstallationFilesS3Prefix = \"1915_GI/\",\n Engine = \"custom-oracle-ee-cdb\",\n EngineVersion = \"19.cdb_cev1\",\n KmsKeyId = example.Arn,\n Filename = \"manifest_1915_GI.json\",\n ManifestHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = json,\n }).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Name\", \"example\" },\n { \"Key\", \"value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS symmetric key for RDS Custom for Oracle\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: json,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewCustomDbEngineVersion(ctx, \"example\", \u0026rds.CustomDbEngineVersionArgs{\n\t\t\tDatabaseInstallationFilesS3BucketName: pulumi.String(\"DOC-EXAMPLE-BUCKET\"),\n\t\t\tDatabaseInstallationFilesS3Prefix: pulumi.String(\"1915_GI/\"),\n\t\t\tEngine: pulumi.String(\"custom-oracle-ee-cdb\"),\n\t\t\tEngineVersion: pulumi.String(\"19.cdb_cev1\"),\n\t\t\tKmsKeyId: example.Arn,\n\t\t\tFilename: pulumi.String(\"manifest_1915_GI.json\"),\n\t\t\tManifestHash: pulumi.String(invokeFilebase64sha256.Result),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t\t\"Key\": pulumi.String(\"value\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.CustomDbEngineVersion;\nimport com.pulumi.aws.rds.CustomDbEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"KMS symmetric key for RDS Custom for Oracle\")\n .build());\n\n var exampleCustomDbEngineVersion = new CustomDbEngineVersion(\"exampleCustomDbEngineVersion\", CustomDbEngineVersionArgs.builder()\n .databaseInstallationFilesS3BucketName(\"DOC-EXAMPLE-BUCKET\")\n .databaseInstallationFilesS3Prefix(\"1915_GI/\")\n .engine(\"custom-oracle-ee-cdb\")\n .engineVersion(\"19.cdb_cev1\")\n .kmsKeyId(example.arn())\n .filename(\"manifest_1915_GI.json\")\n .manifestHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(json)\n .build()).result())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"example\"),\n Map.entry(\"Key\", \"value\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: KMS symmetric key for RDS Custom for Oracle\n exampleCustomDbEngineVersion:\n type: aws:rds:CustomDbEngineVersion\n name: example\n properties:\n databaseInstallationFilesS3BucketName: DOC-EXAMPLE-BUCKET\n databaseInstallationFilesS3Prefix: 1915_GI/\n engine: custom-oracle-ee-cdb\n engineVersion: 19.cdb_cev1\n kmsKeyId: ${example.arn}\n filename: manifest_1915_GI.json\n manifestHash:\n fn::invoke:\n Function: std:filebase64sha256\n Arguments:\n input: ${json}\n Return: result\n tags:\n Name: example\n Key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for SQL Server Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// CEV creation requires an AMI owned by the operator\nconst test = new aws.rds.CustomDbEngineVersion(\"test\", {\n engine: \"custom-sqlserver-se\",\n engineVersion: \"15.00.4249.2.cev-1\",\n sourceImageId: \"ami-0aa12345678a12ab1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# CEV creation requires an AMI owned by the operator\ntest = aws.rds.CustomDbEngineVersion(\"test\",\n engine=\"custom-sqlserver-se\",\n engine_version=\"15.00.4249.2.cev-1\",\n source_image_id=\"ami-0aa12345678a12ab1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // CEV creation requires an AMI owned by the operator\n var test = new Aws.Rds.CustomDbEngineVersion(\"test\", new()\n {\n Engine = \"custom-sqlserver-se\",\n EngineVersion = \"15.00.4249.2.cev-1\",\n SourceImageId = \"ami-0aa12345678a12ab1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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// CEV creation requires an AMI owned by the operator\n\t\t_, err := rds.NewCustomDbEngineVersion(ctx, \"test\", \u0026rds.CustomDbEngineVersionArgs{\n\t\t\tEngine: pulumi.String(\"custom-sqlserver-se\"),\n\t\t\tEngineVersion: pulumi.String(\"15.00.4249.2.cev-1\"),\n\t\t\tSourceImageId: pulumi.String(\"ami-0aa12345678a12ab1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.CustomDbEngineVersion;\nimport com.pulumi.aws.rds.CustomDbEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // CEV creation requires an AMI owned by the operator\n var test = new CustomDbEngineVersion(\"test\", CustomDbEngineVersionArgs.builder()\n .engine(\"custom-sqlserver-se\")\n .engineVersion(\"15.00.4249.2.cev-1\")\n .sourceImageId(\"ami-0aa12345678a12ab1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # CEV creation requires an AMI owned by the operator\n test:\n type: aws:rds:CustomDbEngineVersion\n properties:\n engine: custom-sqlserver-se\n engineVersion: 15.00.4249.2.cev-1\n sourceImageId: ami-0aa12345678a12ab1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for SQL Server Usage with AMI from another region\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.AmiCopy(\"example\", {\n name: \"sqlserver-se-2019-15.00.4249.2\",\n description: \"A copy of ami-xxxxxxxx\",\n sourceAmiId: \"ami-xxxxxxxx\",\n sourceAmiRegion: \"us-east-1\",\n});\n// CEV creation requires an AMI owned by the operator\nconst test = new aws.rds.CustomDbEngineVersion(\"test\", {\n engine: \"custom-sqlserver-se\",\n engineVersion: \"15.00.4249.2.cev-1\",\n sourceImageId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.AmiCopy(\"example\",\n name=\"sqlserver-se-2019-15.00.4249.2\",\n description=\"A copy of ami-xxxxxxxx\",\n source_ami_id=\"ami-xxxxxxxx\",\n source_ami_region=\"us-east-1\")\n# CEV creation requires an AMI owned by the operator\ntest = aws.rds.CustomDbEngineVersion(\"test\",\n engine=\"custom-sqlserver-se\",\n engine_version=\"15.00.4249.2.cev-1\",\n source_image_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.AmiCopy(\"example\", new()\n {\n Name = \"sqlserver-se-2019-15.00.4249.2\",\n Description = \"A copy of ami-xxxxxxxx\",\n SourceAmiId = \"ami-xxxxxxxx\",\n SourceAmiRegion = \"us-east-1\",\n });\n\n // CEV creation requires an AMI owned by the operator\n var test = new Aws.Rds.CustomDbEngineVersion(\"test\", new()\n {\n Engine = \"custom-sqlserver-se\",\n EngineVersion = \"15.00.4249.2.cev-1\",\n SourceImageId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewAmiCopy(ctx, \"example\", \u0026ec2.AmiCopyArgs{\n\t\t\tName: pulumi.String(\"sqlserver-se-2019-15.00.4249.2\"),\n\t\t\tDescription: pulumi.String(\"A copy of ami-xxxxxxxx\"),\n\t\t\tSourceAmiId: pulumi.String(\"ami-xxxxxxxx\"),\n\t\t\tSourceAmiRegion: pulumi.String(\"us-east-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// CEV creation requires an AMI owned by the operator\n\t\t_, err = rds.NewCustomDbEngineVersion(ctx, \"test\", \u0026rds.CustomDbEngineVersionArgs{\n\t\t\tEngine: pulumi.String(\"custom-sqlserver-se\"),\n\t\t\tEngineVersion: pulumi.String(\"15.00.4249.2.cev-1\"),\n\t\t\tSourceImageId: example.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.AmiCopy;\nimport com.pulumi.aws.ec2.AmiCopyArgs;\nimport com.pulumi.aws.rds.CustomDbEngineVersion;\nimport com.pulumi.aws.rds.CustomDbEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AmiCopy(\"example\", AmiCopyArgs.builder()\n .name(\"sqlserver-se-2019-15.00.4249.2\")\n .description(\"A copy of ami-xxxxxxxx\")\n .sourceAmiId(\"ami-xxxxxxxx\")\n .sourceAmiRegion(\"us-east-1\")\n .build());\n\n // CEV creation requires an AMI owned by the operator\n var test = new CustomDbEngineVersion(\"test\", CustomDbEngineVersionArgs.builder()\n .engine(\"custom-sqlserver-se\")\n .engineVersion(\"15.00.4249.2.cev-1\")\n .sourceImageId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiCopy\n properties:\n name: sqlserver-se-2019-15.00.4249.2\n description: A copy of ami-xxxxxxxx\n sourceAmiId: ami-xxxxxxxx\n sourceAmiRegion: us-east-1\n # CEV creation requires an AMI owned by the operator\n test:\n type: aws:rds:CustomDbEngineVersion\n properties:\n engine: custom-sqlserver-se\n engineVersion: 15.00.4249.2.cev-1\n sourceImageId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import custom engine versions for Amazon RDS custom using the `engine` and `engine_version` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:rds/customDbEngineVersion:CustomDbEngineVersion example custom-oracle-ee-cdb:19.cdb_cev1\n```\n", "properties": { "arn": { "type": "string", @@ -331956,7 +331956,7 @@ } }, "aws:rds/exportTask:ExportTask": { - "description": "Resource for managing an AWS RDS (Relational Database) Export Task.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.ExportTask(\"example\", {\n exportTaskIdentifier: \"example\",\n sourceArn: exampleAwsDbSnapshot.dbSnapshotArn,\n s3BucketName: exampleAwsS3Bucket.id,\n iamRoleArn: exampleAwsIamRole.arn,\n kmsKeyId: exampleAwsKmsKey.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.ExportTask(\"example\",\n export_task_identifier=\"example\",\n source_arn=example_aws_db_snapshot[\"dbSnapshotArn\"],\n s3_bucket_name=example_aws_s3_bucket[\"id\"],\n iam_role_arn=example_aws_iam_role[\"arn\"],\n kms_key_id=example_aws_kms_key[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.ExportTask(\"example\", new()\n {\n ExportTaskIdentifier = \"example\",\n SourceArn = exampleAwsDbSnapshot.DbSnapshotArn,\n S3BucketName = exampleAwsS3Bucket.Id,\n IamRoleArn = exampleAwsIamRole.Arn,\n KmsKeyId = exampleAwsKmsKey.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewExportTask(ctx, \"example\", \u0026rds.ExportTaskArgs{\n\t\t\tExportTaskIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceArn: pulumi.Any(exampleAwsDbSnapshot.DbSnapshotArn),\n\t\t\tS3BucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tKmsKeyId: pulumi.Any(exampleAwsKmsKey.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.ExportTask;\nimport com.pulumi.aws.rds.ExportTaskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ExportTask(\"example\", ExportTaskArgs.builder()\n .exportTaskIdentifier(\"example\")\n .sourceArn(exampleAwsDbSnapshot.dbSnapshotArn())\n .s3BucketName(exampleAwsS3Bucket.id())\n .iamRoleArn(exampleAwsIamRole.arn())\n .kmsKeyId(exampleAwsKmsKey.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:ExportTask\n properties:\n exportTaskIdentifier: example\n sourceArn: ${exampleAwsDbSnapshot.dbSnapshotArn}\n s3BucketName: ${exampleAwsS3Bucket.id}\n iamRoleArn: ${exampleAwsIamRole.arn}\n kmsKeyId: ${exampleAwsKmsKey.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Complete Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {\n bucket: \"example\",\n forceDestroy: true,\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: exampleBucketV2.id,\n acl: \"private\",\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"export.rds.amazonaws.com\",\n },\n }],\n }),\n});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n actions: [\"s3:ListAllMyBuckets\"],\n resources: [\"*\"],\n },\n {\n actions: [\n \"s3:GetBucketLocation\",\n \"s3:ListBucket\",\n ],\n resources: [exampleBucketV2.arn],\n },\n {\n actions: [\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n ],\n resources: [pulumi.interpolate`${exampleBucketV2.arn}/*`],\n },\n ],\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"example\",\n policy: example.apply(example =\u003e example.json),\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n role: exampleRole.name,\n policyArn: examplePolicy.arn,\n});\nconst exampleKey = new aws.kms.Key(\"example\", {deletionWindowInDays: 10});\nconst exampleInstance = new aws.rds.Instance(\"example\", {\n identifier: \"example\",\n allocatedStorage: 10,\n dbName: \"test\",\n engine: \"mysql\",\n engineVersion: \"5.7\",\n instanceClass: aws.rds.InstanceType.T3_Micro,\n username: \"foo\",\n password: \"foobarbaz\",\n parameterGroupName: \"default.mysql5.7\",\n skipFinalSnapshot: true,\n});\nconst exampleSnapshot = new aws.rds.Snapshot(\"example\", {\n dbInstanceIdentifier: exampleInstance.identifier,\n dbSnapshotIdentifier: \"example\",\n});\nconst exampleExportTask = new aws.rds.ExportTask(\"example\", {\n exportTaskIdentifier: \"example\",\n sourceArn: exampleSnapshot.dbSnapshotArn,\n s3BucketName: exampleBucketV2.id,\n iamRoleArn: exampleRole.arn,\n kmsKeyId: exampleKey.arn,\n exportOnlies: [\"database\"],\n s3Prefix: \"my_prefix/example\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\",\n bucket=\"example\",\n force_destroy=True)\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example_bucket_v2.id,\n acl=\"private\")\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"export.rds.amazonaws.com\",\n },\n }],\n }))\nexample = aws.iam.get_policy_document_output(statements=[\n {\n \"actions\": [\"s3:ListAllMyBuckets\"],\n \"resources\": [\"*\"],\n },\n {\n \"actions\": [\n \"s3:GetBucketLocation\",\n \"s3:ListBucket\",\n ],\n \"resources\": [example_bucket_v2.arn],\n },\n {\n \"actions\": [\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n ],\n \"resources\": [example_bucket_v2.arn.apply(lambda arn: f\"{arn}/*\")],\n },\n])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"example\",\n policy=example.json)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n role=example_role.name,\n policy_arn=example_policy.arn)\nexample_key = aws.kms.Key(\"example\", deletion_window_in_days=10)\nexample_instance = aws.rds.Instance(\"example\",\n identifier=\"example\",\n allocated_storage=10,\n db_name=\"test\",\n engine=\"mysql\",\n engine_version=\"5.7\",\n instance_class=aws.rds.InstanceType.T3_MICRO,\n username=\"foo\",\n password=\"foobarbaz\",\n parameter_group_name=\"default.mysql5.7\",\n skip_final_snapshot=True)\nexample_snapshot = aws.rds.Snapshot(\"example\",\n db_instance_identifier=example_instance.identifier,\n db_snapshot_identifier=\"example\")\nexample_export_task = aws.rds.ExportTask(\"example\",\n export_task_identifier=\"example\",\n source_arn=example_snapshot.db_snapshot_arn,\n s3_bucket_name=example_bucket_v2.id,\n iam_role_arn=example_role.arn,\n kms_key_id=example_key.arn,\n export_onlies=[\"database\"],\n s3_prefix=\"my_prefix/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n ForceDestroy = true,\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Acl = \"private\",\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"export.rds.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:ListAllMyBuckets\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:GetBucketLocation\",\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n exampleBucketV2.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n },\n Resources = new[]\n {\n $\"{exampleBucketV2.Arn}/*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"example\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = exampleRole.Name,\n PolicyArn = examplePolicy.Arn,\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n DeletionWindowInDays = 10,\n });\n\n var exampleInstance = new Aws.Rds.Instance(\"example\", new()\n {\n Identifier = \"example\",\n AllocatedStorage = 10,\n DbName = \"test\",\n Engine = \"mysql\",\n EngineVersion = \"5.7\",\n InstanceClass = Aws.Rds.InstanceType.T3_Micro,\n Username = \"foo\",\n Password = \"foobarbaz\",\n ParameterGroupName = \"default.mysql5.7\",\n SkipFinalSnapshot = true,\n });\n\n var exampleSnapshot = new Aws.Rds.Snapshot(\"example\", new()\n {\n DbInstanceIdentifier = exampleInstance.Identifier,\n DbSnapshotIdentifier = \"example\",\n });\n\n var exampleExportTask = new Aws.Rds.ExportTask(\"example\", new()\n {\n ExportTaskIdentifier = \"example\",\n SourceArn = exampleSnapshot.DbSnapshotArn,\n S3BucketName = exampleBucketV2.Id,\n IamRoleArn = exampleRole.Arn,\n KmsKeyId = exampleKey.Arn,\n ExportOnlies = new[]\n {\n \"database\",\n },\n S3Prefix = \"my_prefix/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"export.rds.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ListAllMyBuckets\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketLocation\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:DeleteObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: exampleRole.Name,\n\t\t\tPolicyArn: examplePolicy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tIdentifier: pulumi.String(\"example\"),\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"test\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T3_Micro),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"foobarbaz\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.7\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSnapshot, err := rds.NewSnapshot(ctx, \"example\", \u0026rds.SnapshotArgs{\n\t\t\tDbInstanceIdentifier: exampleInstance.Identifier,\n\t\t\tDbSnapshotIdentifier: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewExportTask(ctx, \"example\", \u0026rds.ExportTaskArgs{\n\t\t\tExportTaskIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceArn: exampleSnapshot.DbSnapshotArn,\n\t\t\tS3BucketName: exampleBucketV2.ID(),\n\t\t\tIamRoleArn: exampleRole.Arn,\n\t\t\tKmsKeyId: exampleKey.Arn,\n\t\t\tExportOnlies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"database\"),\n\t\t\t},\n\t\t\tS3Prefix: pulumi.String(\"my_prefix/example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.rds.Snapshot;\nimport com.pulumi.aws.rds.SnapshotArgs;\nimport com.pulumi.aws.rds.ExportTask;\nimport com.pulumi.aws.rds.ExportTaskArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .forceDestroy(true)\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(exampleBucketV2.id())\n .acl(\"private\")\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"export.rds.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions(\"s3:ListAllMyBuckets\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"s3:GetBucketLocation\",\n \"s3:ListBucket\")\n .resources(exampleBucketV2.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\")\n .resources(exampleBucketV2.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"example\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(exampleRole.name())\n .policyArn(examplePolicy.arn())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .deletionWindowInDays(10)\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .identifier(\"example\")\n .allocatedStorage(10)\n .dbName(\"test\")\n .engine(\"mysql\")\n .engineVersion(\"5.7\")\n .instanceClass(\"db.t3.micro\")\n .username(\"foo\")\n .password(\"foobarbaz\")\n .parameterGroupName(\"default.mysql5.7\")\n .skipFinalSnapshot(true)\n .build());\n\n var exampleSnapshot = new Snapshot(\"exampleSnapshot\", SnapshotArgs.builder()\n .dbInstanceIdentifier(exampleInstance.identifier())\n .dbSnapshotIdentifier(\"example\")\n .build());\n\n var exampleExportTask = new ExportTask(\"exampleExportTask\", ExportTaskArgs.builder()\n .exportTaskIdentifier(\"example\")\n .sourceArn(exampleSnapshot.dbSnapshotArn())\n .s3BucketName(exampleBucketV2.id())\n .iamRoleArn(exampleRole.arn())\n .kmsKeyId(exampleKey.arn())\n .exportOnlies(\"database\")\n .s3Prefix(\"my_prefix/example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n forceDestroy: true\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n acl: private\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid: \"\"\n Principal:\n Service: export.rds.amazonaws.com\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: example\n policy: ${example.json}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n role: ${exampleRole.name}\n policyArn: ${examplePolicy.arn}\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n deletionWindowInDays: 10\n exampleInstance:\n type: aws:rds:Instance\n name: example\n properties:\n identifier: example\n allocatedStorage: 10\n dbName: test\n engine: mysql\n engineVersion: '5.7'\n instanceClass: db.t3.micro\n username: foo\n password: foobarbaz\n parameterGroupName: default.mysql5.7\n skipFinalSnapshot: true\n exampleSnapshot:\n type: aws:rds:Snapshot\n name: example\n properties:\n dbInstanceIdentifier: ${exampleInstance.identifier}\n dbSnapshotIdentifier: example\n exampleExportTask:\n type: aws:rds:ExportTask\n name: example\n properties:\n exportTaskIdentifier: example\n sourceArn: ${exampleSnapshot.dbSnapshotArn}\n s3BucketName: ${exampleBucketV2.id}\n iamRoleArn: ${exampleRole.arn}\n kmsKeyId: ${exampleKey.arn}\n exportOnlies:\n - database\n s3Prefix: my_prefix/example\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - s3:ListAllMyBuckets\n resources:\n - '*'\n - actions:\n - s3:GetBucketLocation\n - s3:ListBucket\n resources:\n - ${exampleBucketV2.arn}\n - actions:\n - s3:GetObject\n - s3:PutObject\n - s3:DeleteObject\n resources:\n - ${exampleBucketV2.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a RDS (Relational Database) Export Task using the `export_task_identifier`. For example:\n\n```sh\n$ pulumi import aws:rds/exportTask:ExportTask example example\n```\n", + "description": "Resource for managing an AWS RDS (Relational Database) Export Task.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.ExportTask(\"example\", {\n exportTaskIdentifier: \"example\",\n sourceArn: exampleAwsDbSnapshot.dbSnapshotArn,\n s3BucketName: exampleAwsS3Bucket.id,\n iamRoleArn: exampleAwsIamRole.arn,\n kmsKeyId: exampleAwsKmsKey.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.ExportTask(\"example\",\n export_task_identifier=\"example\",\n source_arn=example_aws_db_snapshot[\"dbSnapshotArn\"],\n s3_bucket_name=example_aws_s3_bucket[\"id\"],\n iam_role_arn=example_aws_iam_role[\"arn\"],\n kms_key_id=example_aws_kms_key[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.ExportTask(\"example\", new()\n {\n ExportTaskIdentifier = \"example\",\n SourceArn = exampleAwsDbSnapshot.DbSnapshotArn,\n S3BucketName = exampleAwsS3Bucket.Id,\n IamRoleArn = exampleAwsIamRole.Arn,\n KmsKeyId = exampleAwsKmsKey.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewExportTask(ctx, \"example\", \u0026rds.ExportTaskArgs{\n\t\t\tExportTaskIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceArn: pulumi.Any(exampleAwsDbSnapshot.DbSnapshotArn),\n\t\t\tS3BucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tKmsKeyId: pulumi.Any(exampleAwsKmsKey.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.ExportTask;\nimport com.pulumi.aws.rds.ExportTaskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ExportTask(\"example\", ExportTaskArgs.builder()\n .exportTaskIdentifier(\"example\")\n .sourceArn(exampleAwsDbSnapshot.dbSnapshotArn())\n .s3BucketName(exampleAwsS3Bucket.id())\n .iamRoleArn(exampleAwsIamRole.arn())\n .kmsKeyId(exampleAwsKmsKey.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:ExportTask\n properties:\n exportTaskIdentifier: example\n sourceArn: ${exampleAwsDbSnapshot.dbSnapshotArn}\n s3BucketName: ${exampleAwsS3Bucket.id}\n iamRoleArn: ${exampleAwsIamRole.arn}\n kmsKeyId: ${exampleAwsKmsKey.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Complete Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {\n bucket: \"example\",\n forceDestroy: true,\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: exampleBucketV2.id,\n acl: \"private\",\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"export.rds.amazonaws.com\",\n },\n }],\n }),\n});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n actions: [\"s3:ListAllMyBuckets\"],\n resources: [\"*\"],\n },\n {\n actions: [\n \"s3:GetBucketLocation\",\n \"s3:ListBucket\",\n ],\n resources: [exampleBucketV2.arn],\n },\n {\n actions: [\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n ],\n resources: [pulumi.interpolate`${exampleBucketV2.arn}/*`],\n },\n ],\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"example\",\n policy: example.apply(example =\u003e example.json),\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n role: exampleRole.name,\n policyArn: examplePolicy.arn,\n});\nconst exampleKey = new aws.kms.Key(\"example\", {deletionWindowInDays: 10});\nconst exampleInstance = new aws.rds.Instance(\"example\", {\n identifier: \"example\",\n allocatedStorage: 10,\n dbName: \"test\",\n engine: \"mysql\",\n engineVersion: \"5.7\",\n instanceClass: aws.rds.InstanceType.T3_Micro,\n username: \"foo\",\n password: \"foobarbaz\",\n parameterGroupName: \"default.mysql5.7\",\n skipFinalSnapshot: true,\n});\nconst exampleSnapshot = new aws.rds.Snapshot(\"example\", {\n dbInstanceIdentifier: exampleInstance.identifier,\n dbSnapshotIdentifier: \"example\",\n});\nconst exampleExportTask = new aws.rds.ExportTask(\"example\", {\n exportTaskIdentifier: \"example\",\n sourceArn: exampleSnapshot.dbSnapshotArn,\n s3BucketName: exampleBucketV2.id,\n iamRoleArn: exampleRole.arn,\n kmsKeyId: exampleKey.arn,\n exportOnlies: [\"database\"],\n s3Prefix: \"my_prefix/example\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\",\n bucket=\"example\",\n force_destroy=True)\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example_bucket_v2.id,\n acl=\"private\")\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"export.rds.amazonaws.com\",\n },\n }],\n }))\nexample = aws.iam.get_policy_document_output(statements=[\n {\n \"actions\": [\"s3:ListAllMyBuckets\"],\n \"resources\": [\"*\"],\n },\n {\n \"actions\": [\n \"s3:GetBucketLocation\",\n \"s3:ListBucket\",\n ],\n \"resources\": [example_bucket_v2.arn],\n },\n {\n \"actions\": [\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n ],\n \"resources\": [example_bucket_v2.arn.apply(lambda arn: f\"{arn}/*\")],\n },\n])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"example\",\n policy=example.json)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n role=example_role.name,\n policy_arn=example_policy.arn)\nexample_key = aws.kms.Key(\"example\", deletion_window_in_days=10)\nexample_instance = aws.rds.Instance(\"example\",\n identifier=\"example\",\n allocated_storage=10,\n db_name=\"test\",\n engine=\"mysql\",\n engine_version=\"5.7\",\n instance_class=aws.rds.InstanceType.T3_MICRO,\n username=\"foo\",\n password=\"foobarbaz\",\n parameter_group_name=\"default.mysql5.7\",\n skip_final_snapshot=True)\nexample_snapshot = aws.rds.Snapshot(\"example\",\n db_instance_identifier=example_instance.identifier,\n db_snapshot_identifier=\"example\")\nexample_export_task = aws.rds.ExportTask(\"example\",\n export_task_identifier=\"example\",\n source_arn=example_snapshot.db_snapshot_arn,\n s3_bucket_name=example_bucket_v2.id,\n iam_role_arn=example_role.arn,\n kms_key_id=example_key.arn,\n export_onlies=[\"database\"],\n s3_prefix=\"my_prefix/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n ForceDestroy = true,\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Acl = \"private\",\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"export.rds.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:ListAllMyBuckets\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:GetBucketLocation\",\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n exampleBucketV2.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n },\n Resources = new[]\n {\n $\"{exampleBucketV2.Arn}/*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"example\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = exampleRole.Name,\n PolicyArn = examplePolicy.Arn,\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n DeletionWindowInDays = 10,\n });\n\n var exampleInstance = new Aws.Rds.Instance(\"example\", new()\n {\n Identifier = \"example\",\n AllocatedStorage = 10,\n DbName = \"test\",\n Engine = \"mysql\",\n EngineVersion = \"5.7\",\n InstanceClass = Aws.Rds.InstanceType.T3_Micro,\n Username = \"foo\",\n Password = \"foobarbaz\",\n ParameterGroupName = \"default.mysql5.7\",\n SkipFinalSnapshot = true,\n });\n\n var exampleSnapshot = new Aws.Rds.Snapshot(\"example\", new()\n {\n DbInstanceIdentifier = exampleInstance.Identifier,\n DbSnapshotIdentifier = \"example\",\n });\n\n var exampleExportTask = new Aws.Rds.ExportTask(\"example\", new()\n {\n ExportTaskIdentifier = \"example\",\n SourceArn = exampleSnapshot.DbSnapshotArn,\n S3BucketName = exampleBucketV2.Id,\n IamRoleArn = exampleRole.Arn,\n KmsKeyId = exampleKey.Arn,\n ExportOnlies = new[]\n {\n \"database\",\n },\n S3Prefix = \"my_prefix/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"export.rds.amazonaws.com\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ListAllMyBuckets\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketLocation\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:DeleteObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: exampleRole.Name,\n\t\t\tPolicyArn: examplePolicy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tIdentifier: pulumi.String(\"example\"),\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"test\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T3_Micro),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"foobarbaz\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.7\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSnapshot, err := rds.NewSnapshot(ctx, \"example\", \u0026rds.SnapshotArgs{\n\t\t\tDbInstanceIdentifier: exampleInstance.Identifier,\n\t\t\tDbSnapshotIdentifier: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewExportTask(ctx, \"example\", \u0026rds.ExportTaskArgs{\n\t\t\tExportTaskIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceArn: exampleSnapshot.DbSnapshotArn,\n\t\t\tS3BucketName: exampleBucketV2.ID(),\n\t\t\tIamRoleArn: exampleRole.Arn,\n\t\t\tKmsKeyId: exampleKey.Arn,\n\t\t\tExportOnlies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"database\"),\n\t\t\t},\n\t\t\tS3Prefix: pulumi.String(\"my_prefix/example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.rds.Snapshot;\nimport com.pulumi.aws.rds.SnapshotArgs;\nimport com.pulumi.aws.rds.ExportTask;\nimport com.pulumi.aws.rds.ExportTaskArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .forceDestroy(true)\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(exampleBucketV2.id())\n .acl(\"private\")\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"export.rds.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions(\"s3:ListAllMyBuckets\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"s3:GetBucketLocation\",\n \"s3:ListBucket\")\n .resources(exampleBucketV2.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\")\n .resources(exampleBucketV2.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"example\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(exampleRole.name())\n .policyArn(examplePolicy.arn())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .deletionWindowInDays(10)\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .identifier(\"example\")\n .allocatedStorage(10)\n .dbName(\"test\")\n .engine(\"mysql\")\n .engineVersion(\"5.7\")\n .instanceClass(\"db.t3.micro\")\n .username(\"foo\")\n .password(\"foobarbaz\")\n .parameterGroupName(\"default.mysql5.7\")\n .skipFinalSnapshot(true)\n .build());\n\n var exampleSnapshot = new Snapshot(\"exampleSnapshot\", SnapshotArgs.builder()\n .dbInstanceIdentifier(exampleInstance.identifier())\n .dbSnapshotIdentifier(\"example\")\n .build());\n\n var exampleExportTask = new ExportTask(\"exampleExportTask\", ExportTaskArgs.builder()\n .exportTaskIdentifier(\"example\")\n .sourceArn(exampleSnapshot.dbSnapshotArn())\n .s3BucketName(exampleBucketV2.id())\n .iamRoleArn(exampleRole.arn())\n .kmsKeyId(exampleKey.arn())\n .exportOnlies(\"database\")\n .s3Prefix(\"my_prefix/example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n forceDestroy: true\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n acl: private\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: export.rds.amazonaws.com\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: example\n policy: ${example.json}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n role: ${exampleRole.name}\n policyArn: ${examplePolicy.arn}\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n deletionWindowInDays: 10\n exampleInstance:\n type: aws:rds:Instance\n name: example\n properties:\n identifier: example\n allocatedStorage: 10\n dbName: test\n engine: mysql\n engineVersion: '5.7'\n instanceClass: db.t3.micro\n username: foo\n password: foobarbaz\n parameterGroupName: default.mysql5.7\n skipFinalSnapshot: true\n exampleSnapshot:\n type: aws:rds:Snapshot\n name: example\n properties:\n dbInstanceIdentifier: ${exampleInstance.identifier}\n dbSnapshotIdentifier: example\n exampleExportTask:\n type: aws:rds:ExportTask\n name: example\n properties:\n exportTaskIdentifier: example\n sourceArn: ${exampleSnapshot.dbSnapshotArn}\n s3BucketName: ${exampleBucketV2.id}\n iamRoleArn: ${exampleRole.arn}\n kmsKeyId: ${exampleKey.arn}\n exportOnlies:\n - database\n s3Prefix: my_prefix/example\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - s3:ListAllMyBuckets\n resources:\n - '*'\n - actions:\n - s3:GetBucketLocation\n - s3:ListBucket\n resources:\n - ${exampleBucketV2.arn}\n - actions:\n - s3:GetObject\n - s3:PutObject\n - s3:DeleteObject\n resources:\n - ${exampleBucketV2.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a RDS (Relational Database) Export Task using the `export_task_identifier`. For example:\n\n```sh\n$ pulumi import aws:rds/exportTask:ExportTask example example\n```\n", "properties": { "exportOnlies": { "type": "array", @@ -332158,7 +332158,7 @@ } }, "aws:rds/globalCluster:GlobalCluster": { - "description": "Manages an RDS Global Cluster, which is an Aurora global database spread across multiple regions. The global database contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives data from the primary cluster through high-speed replication performed by the Aurora storage subsystem.\n\nMore information about Aurora global databases can be found in the [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database-creating).\n\n## Example Usage\n\n### New MySQL Global Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"global-test\",\n engine: \"aurora\",\n engineVersion: \"5.6.mysql_aurora.1.22.2\",\n databaseName: \"example_db\",\n});\nconst primary = new aws.rds.Cluster(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-primary-cluster\",\n masterUsername: \"username\",\n masterPassword: \"somepass123\",\n databaseName: \"example_db\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n});\nconst primaryClusterInstance = new aws.rds.ClusterInstance(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-primary-cluster-instance\",\n clusterIdentifier: primary.id,\n instanceClass: aws.rds.InstanceType.R4_Large,\n dbSubnetGroupName: \"default\",\n});\nconst secondary = new aws.rds.Cluster(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-secondary-cluster\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n}, {\n dependsOn: [primaryClusterInstance],\n});\nconst secondaryClusterInstance = new aws.rds.ClusterInstance(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-secondary-cluster-instance\",\n clusterIdentifier: secondary.id,\n instanceClass: aws.rds.InstanceType.R4_Large,\n dbSubnetGroupName: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.GlobalCluster(\"example\",\n global_cluster_identifier=\"global-test\",\n engine=\"aurora\",\n engine_version=\"5.6.mysql_aurora.1.22.2\",\n database_name=\"example_db\")\nprimary = aws.rds.Cluster(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-primary-cluster\",\n master_username=\"username\",\n master_password=\"somepass123\",\n database_name=\"example_db\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\")\nprimary_cluster_instance = aws.rds.ClusterInstance(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-primary-cluster-instance\",\n cluster_identifier=primary.id,\n instance_class=aws.rds.InstanceType.R4_LARGE,\n db_subnet_group_name=\"default\")\nsecondary = aws.rds.Cluster(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-secondary-cluster\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\",\n opts = pulumi.ResourceOptions(depends_on=[primary_cluster_instance]))\nsecondary_cluster_instance = aws.rds.ClusterInstance(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-secondary-cluster-instance\",\n cluster_identifier=secondary.id,\n instance_class=aws.rds.InstanceType.R4_LARGE,\n db_subnet_group_name=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"global-test\",\n Engine = \"aurora\",\n EngineVersion = \"5.6.mysql_aurora.1.22.2\",\n DatabaseName = \"example_db\",\n });\n\n var primary = new Aws.Rds.Cluster(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-primary-cluster\",\n MasterUsername = \"username\",\n MasterPassword = \"somepass123\",\n DatabaseName = \"example_db\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n });\n\n var primaryClusterInstance = new Aws.Rds.ClusterInstance(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-primary-cluster-instance\",\n ClusterIdentifier = primary.Id,\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n DbSubnetGroupName = \"default\",\n });\n\n var secondary = new Aws.Rds.Cluster(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-secondary-cluster\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryClusterInstance,\n },\n });\n\n var secondaryClusterInstance = new Aws.Rds.ClusterInstance(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-secondary-cluster-instance\",\n ClusterIdentifier = secondary.Id,\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n DbSubnetGroupName = \"default\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"global-test\"),\n\t\t\tEngine: pulumi.String(\"aurora\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6.mysql_aurora.1.22.2\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := rds.NewCluster(ctx, \"primary\", \u0026rds.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-primary-cluster\"),\n\t\t\tMasterUsername: pulumi.String(\"username\"),\n\t\t\tMasterPassword: pulumi.String(\"somepass123\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryClusterInstance, err := rds.NewClusterInstance(ctx, \"primary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-primary-cluster-instance\"),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := rds.NewCluster(ctx, \"secondary\", \u0026rds.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-secondary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryClusterInstance,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"secondary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-secondary-cluster-instance\"),\n\t\t\tClusterIdentifier: secondary.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalCluster(\"example\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"global-test\")\n .engine(\"aurora\")\n .engineVersion(\"5.6.mysql_aurora.1.22.2\")\n .databaseName(\"example_db\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-primary-cluster\")\n .masterUsername(\"username\")\n .masterPassword(\"somepass123\")\n .databaseName(\"example_db\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-primary-cluster-instance\")\n .clusterIdentifier(primary.id())\n .instanceClass(\"db.r4.large\")\n .dbSubnetGroupName(\"default\")\n .build());\n\n var secondary = new Cluster(\"secondary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-secondary-cluster\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryClusterInstance)\n .build());\n\n var secondaryClusterInstance = new ClusterInstance(\"secondaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-secondary-cluster-instance\")\n .clusterIdentifier(secondary.id())\n .instanceClass(\"db.r4.large\")\n .dbSubnetGroupName(\"default\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:GlobalCluster\n properties:\n globalClusterIdentifier: global-test\n engine: aurora\n engineVersion: 5.6.mysql_aurora.1.22.2\n databaseName: example_db\n primary:\n type: aws:rds:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-primary-cluster\n masterUsername: username\n masterPassword: somepass123\n databaseName: example_db\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n primaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: primary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-primary-cluster-instance\n clusterIdentifier: ${primary.id}\n instanceClass: db.r4.large\n dbSubnetGroupName: default\n secondary:\n type: aws:rds:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-secondary-cluster\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n options:\n dependsOn:\n - ${primaryClusterInstance}\n secondaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: secondary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-secondary-cluster-instance\n clusterIdentifier: ${secondary.id}\n instanceClass: db.r4.large\n dbSubnetGroupName: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### New PostgreSQL Global Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"global-test\",\n engine: \"aurora-postgresql\",\n engineVersion: \"11.9\",\n databaseName: \"example_db\",\n});\nconst primary = new aws.rds.Cluster(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-primary-cluster\",\n masterUsername: \"username\",\n masterPassword: \"somepass123\",\n databaseName: \"example_db\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n});\nconst primaryClusterInstance = new aws.rds.ClusterInstance(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-primary-cluster-instance\",\n clusterIdentifier: primary.id,\n instanceClass: aws.rds.InstanceType.R4_Large,\n dbSubnetGroupName: \"default\",\n});\nconst secondary = new aws.rds.Cluster(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-secondary-cluster\",\n globalClusterIdentifier: example.id,\n skipFinalSnapshot: true,\n dbSubnetGroupName: \"default\",\n}, {\n dependsOn: [primaryClusterInstance],\n});\nconst secondaryClusterInstance = new aws.rds.ClusterInstance(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-secondary-cluster-instance\",\n clusterIdentifier: secondary.id,\n instanceClass: aws.rds.InstanceType.R4_Large,\n dbSubnetGroupName: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.GlobalCluster(\"example\",\n global_cluster_identifier=\"global-test\",\n engine=\"aurora-postgresql\",\n engine_version=\"11.9\",\n database_name=\"example_db\")\nprimary = aws.rds.Cluster(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-primary-cluster\",\n master_username=\"username\",\n master_password=\"somepass123\",\n database_name=\"example_db\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\")\nprimary_cluster_instance = aws.rds.ClusterInstance(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-primary-cluster-instance\",\n cluster_identifier=primary.id,\n instance_class=aws.rds.InstanceType.R4_LARGE,\n db_subnet_group_name=\"default\")\nsecondary = aws.rds.Cluster(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-secondary-cluster\",\n global_cluster_identifier=example.id,\n skip_final_snapshot=True,\n db_subnet_group_name=\"default\",\n opts = pulumi.ResourceOptions(depends_on=[primary_cluster_instance]))\nsecondary_cluster_instance = aws.rds.ClusterInstance(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-secondary-cluster-instance\",\n cluster_identifier=secondary.id,\n instance_class=aws.rds.InstanceType.R4_LARGE,\n db_subnet_group_name=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"global-test\",\n Engine = \"aurora-postgresql\",\n EngineVersion = \"11.9\",\n DatabaseName = \"example_db\",\n });\n\n var primary = new Aws.Rds.Cluster(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-primary-cluster\",\n MasterUsername = \"username\",\n MasterPassword = \"somepass123\",\n DatabaseName = \"example_db\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n });\n\n var primaryClusterInstance = new Aws.Rds.ClusterInstance(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-primary-cluster-instance\",\n ClusterIdentifier = primary.Id,\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n DbSubnetGroupName = \"default\",\n });\n\n var secondary = new Aws.Rds.Cluster(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-secondary-cluster\",\n GlobalClusterIdentifier = example.Id,\n SkipFinalSnapshot = true,\n DbSubnetGroupName = \"default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryClusterInstance,\n },\n });\n\n var secondaryClusterInstance = new Aws.Rds.ClusterInstance(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-secondary-cluster-instance\",\n ClusterIdentifier = secondary.Id,\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n DbSubnetGroupName = \"default\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"global-test\"),\n\t\t\tEngine: pulumi.String(\"aurora-postgresql\"),\n\t\t\tEngineVersion: pulumi.String(\"11.9\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := rds.NewCluster(ctx, \"primary\", \u0026rds.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-primary-cluster\"),\n\t\t\tMasterUsername: pulumi.String(\"username\"),\n\t\t\tMasterPassword: pulumi.String(\"somepass123\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryClusterInstance, err := rds.NewClusterInstance(ctx, \"primary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-primary-cluster-instance\"),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := rds.NewCluster(ctx, \"secondary\", \u0026rds.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-secondary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryClusterInstance,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"secondary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-secondary-cluster-instance\"),\n\t\t\tClusterIdentifier: secondary.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalCluster(\"example\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"global-test\")\n .engine(\"aurora-postgresql\")\n .engineVersion(\"11.9\")\n .databaseName(\"example_db\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-primary-cluster\")\n .masterUsername(\"username\")\n .masterPassword(\"somepass123\")\n .databaseName(\"example_db\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-primary-cluster-instance\")\n .clusterIdentifier(primary.id())\n .instanceClass(\"db.r4.large\")\n .dbSubnetGroupName(\"default\")\n .build());\n\n var secondary = new Cluster(\"secondary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-secondary-cluster\")\n .globalClusterIdentifier(example.id())\n .skipFinalSnapshot(true)\n .dbSubnetGroupName(\"default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryClusterInstance)\n .build());\n\n var secondaryClusterInstance = new ClusterInstance(\"secondaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-secondary-cluster-instance\")\n .clusterIdentifier(secondary.id())\n .instanceClass(\"db.r4.large\")\n .dbSubnetGroupName(\"default\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:GlobalCluster\n properties:\n globalClusterIdentifier: global-test\n engine: aurora-postgresql\n engineVersion: '11.9'\n databaseName: example_db\n primary:\n type: aws:rds:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-primary-cluster\n masterUsername: username\n masterPassword: somepass123\n databaseName: example_db\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n primaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: primary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-primary-cluster-instance\n clusterIdentifier: ${primary.id}\n instanceClass: db.r4.large\n dbSubnetGroupName: default\n secondary:\n type: aws:rds:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-secondary-cluster\n globalClusterIdentifier: ${example.id}\n skipFinalSnapshot: true\n dbSubnetGroupName: default\n options:\n dependsOn:\n - ${primaryClusterInstance}\n secondaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: secondary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-secondary-cluster-instance\n clusterIdentifier: ${secondary.id}\n instanceClass: db.r4.large\n dbSubnetGroupName: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### New Global Cluster From Existing DB Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {});\nconst exampleGlobalCluster = new aws.rds.GlobalCluster(\"example\", {\n forceDestroy: true,\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\")\nexample_global_cluster = aws.rds.GlobalCluster(\"example\",\n force_destroy=True,\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Cluster(\"example\");\n\n var exampleGlobalCluster = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n ForceDestroy = true,\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: example.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\");\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder()\n .forceDestroy(true)\n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n exampleGlobalCluster:\n type: aws:rds:GlobalCluster\n name: example\n properties:\n forceDestroy: true\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Upgrading Engine Versions\n\nWhen you upgrade the version of an `aws.rds.GlobalCluster`, the provider will attempt to in-place upgrade the engine versions of all associated clusters. Since the `aws.rds.Cluster` resource is being updated through the `aws.rds.GlobalCluster`, you are likely to get an error (`Provider produced inconsistent final plan`). To avoid this, use the `lifecycle` `ignore_changes` meta argument as shown below on the `aws.rds.Cluster`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"kyivkharkiv\",\n engine: \"aurora-mysql\",\n engineVersion: \"5.7.mysql_aurora.2.07.5\",\n});\nconst primary = new aws.rds.Cluster(\"primary\", {\n allowMajorVersionUpgrade: true,\n applyImmediately: true,\n clusterIdentifier: \"odessadnipro\",\n databaseName: \"totoro\",\n engine: example.engine,\n engineVersion: example.engineVersion,\n globalClusterIdentifier: example.id,\n masterPassword: \"satsukimae\",\n masterUsername: \"maesatsuki\",\n skipFinalSnapshot: true,\n});\nconst primaryClusterInstance = new aws.rds.ClusterInstance(\"primary\", {\n applyImmediately: true,\n clusterIdentifier: primary.id,\n engine: primary.engine,\n engineVersion: primary.engineVersion,\n identifier: \"donetsklviv\",\n instanceClass: aws.rds.InstanceType.R4_Large,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.GlobalCluster(\"example\",\n global_cluster_identifier=\"kyivkharkiv\",\n engine=\"aurora-mysql\",\n engine_version=\"5.7.mysql_aurora.2.07.5\")\nprimary = aws.rds.Cluster(\"primary\",\n allow_major_version_upgrade=True,\n apply_immediately=True,\n cluster_identifier=\"odessadnipro\",\n database_name=\"totoro\",\n engine=example.engine,\n engine_version=example.engine_version,\n global_cluster_identifier=example.id,\n master_password=\"satsukimae\",\n master_username=\"maesatsuki\",\n skip_final_snapshot=True)\nprimary_cluster_instance = aws.rds.ClusterInstance(\"primary\",\n apply_immediately=True,\n cluster_identifier=primary.id,\n engine=primary.engine,\n engine_version=primary.engine_version,\n identifier=\"donetsklviv\",\n instance_class=aws.rds.InstanceType.R4_LARGE)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"kyivkharkiv\",\n Engine = \"aurora-mysql\",\n EngineVersion = \"5.7.mysql_aurora.2.07.5\",\n });\n\n var primary = new Aws.Rds.Cluster(\"primary\", new()\n {\n AllowMajorVersionUpgrade = true,\n ApplyImmediately = true,\n ClusterIdentifier = \"odessadnipro\",\n DatabaseName = \"totoro\",\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n GlobalClusterIdentifier = example.Id,\n MasterPassword = \"satsukimae\",\n MasterUsername = \"maesatsuki\",\n SkipFinalSnapshot = true,\n });\n\n var primaryClusterInstance = new Aws.Rds.ClusterInstance(\"primary\", new()\n {\n ApplyImmediately = true,\n ClusterIdentifier = primary.Id,\n Engine = primary.Engine,\n EngineVersion = primary.EngineVersion,\n Identifier = \"donetsklviv\",\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"kyivkharkiv\"),\n\t\t\tEngine: pulumi.String(\"aurora-mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7.mysql_aurora.2.07.5\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := rds.NewCluster(ctx, \"primary\", \u0026rds.ClusterArgs{\n\t\t\tAllowMajorVersionUpgrade: pulumi.Bool(true),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: pulumi.String(\"odessadnipro\"),\n\t\t\tDatabaseName: pulumi.String(\"totoro\"),\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tMasterPassword: pulumi.String(\"satsukimae\"),\n\t\t\tMasterUsername: pulumi.String(\"maesatsuki\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"primary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tEngine: primary.Engine,\n\t\t\tEngineVersion: primary.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"donetsklviv\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalCluster(\"example\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"kyivkharkiv\")\n .engine(\"aurora-mysql\")\n .engineVersion(\"5.7.mysql_aurora.2.07.5\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder()\n .allowMajorVersionUpgrade(true)\n .applyImmediately(true)\n .clusterIdentifier(\"odessadnipro\")\n .databaseName(\"totoro\")\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .globalClusterIdentifier(example.id())\n .masterPassword(\"satsukimae\")\n .masterUsername(\"maesatsuki\")\n .skipFinalSnapshot(true)\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder()\n .applyImmediately(true)\n .clusterIdentifier(primary.id())\n .engine(primary.engine())\n .engineVersion(primary.engineVersion())\n .identifier(\"donetsklviv\")\n .instanceClass(\"db.r4.large\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:GlobalCluster\n properties:\n globalClusterIdentifier: kyivkharkiv\n engine: aurora-mysql\n engineVersion: 5.7.mysql_aurora.2.07.5\n primary:\n type: aws:rds:Cluster\n properties:\n allowMajorVersionUpgrade: true\n applyImmediately: true\n clusterIdentifier: odessadnipro\n databaseName: totoro\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n globalClusterIdentifier: ${example.id}\n masterPassword: satsukimae\n masterUsername: maesatsuki\n skipFinalSnapshot: true\n primaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: primary\n properties:\n applyImmediately: true\n clusterIdentifier: ${primary.id}\n engine: ${primary.engine}\n engineVersion: ${primary.engineVersion}\n identifier: donetsklviv\n instanceClass: db.r4.large\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_rds_global_cluster` using the RDS Global Cluster identifier. For example:\n\n```sh\n$ pulumi import aws:rds/globalCluster:GlobalCluster example example\n```\nCertain resource arguments, like `force_destroy`, only exist within this provider. If the argument is set in the the provider configuration on an imported resource, This provider will show a difference on the first plan after import to update the state value. This change is safe to apply immediately so the state matches the desired configuration.\n\nCertain resource arguments, like `source_db_cluster_identifier`, do not have an API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", + "description": "Manages an RDS Global Cluster, which is an Aurora global database spread across multiple regions. The global database contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives data from the primary cluster through high-speed replication performed by the Aurora storage subsystem.\n\nMore information about Aurora global databases can be found in the [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database-creating).\n\n## Example Usage\n\n### New MySQL Global Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"global-test\",\n engine: \"aurora\",\n engineVersion: \"5.6.mysql_aurora.1.22.2\",\n databaseName: \"example_db\",\n});\nconst primary = new aws.rds.Cluster(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-primary-cluster\",\n masterUsername: \"username\",\n masterPassword: \"somepass123\",\n databaseName: \"example_db\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n});\nconst primaryClusterInstance = new aws.rds.ClusterInstance(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-primary-cluster-instance\",\n clusterIdentifier: primary.id,\n instanceClass: aws.rds.InstanceType.R4_Large,\n dbSubnetGroupName: \"default\",\n});\nconst secondary = new aws.rds.Cluster(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-secondary-cluster\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n}, {\n dependsOn: [primaryClusterInstance],\n});\nconst secondaryClusterInstance = new aws.rds.ClusterInstance(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-secondary-cluster-instance\",\n clusterIdentifier: secondary.id,\n instanceClass: aws.rds.InstanceType.R4_Large,\n dbSubnetGroupName: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.GlobalCluster(\"example\",\n global_cluster_identifier=\"global-test\",\n engine=\"aurora\",\n engine_version=\"5.6.mysql_aurora.1.22.2\",\n database_name=\"example_db\")\nprimary = aws.rds.Cluster(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-primary-cluster\",\n master_username=\"username\",\n master_password=\"somepass123\",\n database_name=\"example_db\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\")\nprimary_cluster_instance = aws.rds.ClusterInstance(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-primary-cluster-instance\",\n cluster_identifier=primary.id,\n instance_class=aws.rds.InstanceType.R4_LARGE,\n db_subnet_group_name=\"default\")\nsecondary = aws.rds.Cluster(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-secondary-cluster\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\",\n opts = pulumi.ResourceOptions(depends_on=[primary_cluster_instance]))\nsecondary_cluster_instance = aws.rds.ClusterInstance(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-secondary-cluster-instance\",\n cluster_identifier=secondary.id,\n instance_class=aws.rds.InstanceType.R4_LARGE,\n db_subnet_group_name=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"global-test\",\n Engine = \"aurora\",\n EngineVersion = \"5.6.mysql_aurora.1.22.2\",\n DatabaseName = \"example_db\",\n });\n\n var primary = new Aws.Rds.Cluster(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-primary-cluster\",\n MasterUsername = \"username\",\n MasterPassword = \"somepass123\",\n DatabaseName = \"example_db\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n });\n\n var primaryClusterInstance = new Aws.Rds.ClusterInstance(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-primary-cluster-instance\",\n ClusterIdentifier = primary.Id,\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n DbSubnetGroupName = \"default\",\n });\n\n var secondary = new Aws.Rds.Cluster(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-secondary-cluster\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryClusterInstance,\n },\n });\n\n var secondaryClusterInstance = new Aws.Rds.ClusterInstance(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-secondary-cluster-instance\",\n ClusterIdentifier = secondary.Id,\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n DbSubnetGroupName = \"default\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"global-test\"),\n\t\t\tEngine: pulumi.String(\"aurora\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6.mysql_aurora.1.22.2\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := rds.NewCluster(ctx, \"primary\", \u0026rds.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-primary-cluster\"),\n\t\t\tMasterUsername: pulumi.String(\"username\"),\n\t\t\tMasterPassword: pulumi.String(\"somepass123\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryClusterInstance, err := rds.NewClusterInstance(ctx, \"primary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-primary-cluster-instance\"),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := rds.NewCluster(ctx, \"secondary\", \u0026rds.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-secondary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryClusterInstance,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"secondary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-secondary-cluster-instance\"),\n\t\t\tClusterIdentifier: secondary.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalCluster(\"example\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"global-test\")\n .engine(\"aurora\")\n .engineVersion(\"5.6.mysql_aurora.1.22.2\")\n .databaseName(\"example_db\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-primary-cluster\")\n .masterUsername(\"username\")\n .masterPassword(\"somepass123\")\n .databaseName(\"example_db\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-primary-cluster-instance\")\n .clusterIdentifier(primary.id())\n .instanceClass(\"db.r4.large\")\n .dbSubnetGroupName(\"default\")\n .build());\n\n var secondary = new Cluster(\"secondary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-secondary-cluster\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryClusterInstance)\n .build());\n\n var secondaryClusterInstance = new ClusterInstance(\"secondaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-secondary-cluster-instance\")\n .clusterIdentifier(secondary.id())\n .instanceClass(\"db.r4.large\")\n .dbSubnetGroupName(\"default\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:GlobalCluster\n properties:\n globalClusterIdentifier: global-test\n engine: aurora\n engineVersion: 5.6.mysql_aurora.1.22.2\n databaseName: example_db\n primary:\n type: aws:rds:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-primary-cluster\n masterUsername: username\n masterPassword: somepass123\n databaseName: example_db\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n primaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: primary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-primary-cluster-instance\n clusterIdentifier: ${primary.id}\n instanceClass: db.r4.large\n dbSubnetGroupName: default\n secondary:\n type: aws:rds:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-secondary-cluster\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n options:\n dependson:\n - ${primaryClusterInstance}\n secondaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: secondary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-secondary-cluster-instance\n clusterIdentifier: ${secondary.id}\n instanceClass: db.r4.large\n dbSubnetGroupName: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### New PostgreSQL Global Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"global-test\",\n engine: \"aurora-postgresql\",\n engineVersion: \"11.9\",\n databaseName: \"example_db\",\n});\nconst primary = new aws.rds.Cluster(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-primary-cluster\",\n masterUsername: \"username\",\n masterPassword: \"somepass123\",\n databaseName: \"example_db\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n});\nconst primaryClusterInstance = new aws.rds.ClusterInstance(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-primary-cluster-instance\",\n clusterIdentifier: primary.id,\n instanceClass: aws.rds.InstanceType.R4_Large,\n dbSubnetGroupName: \"default\",\n});\nconst secondary = new aws.rds.Cluster(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-secondary-cluster\",\n globalClusterIdentifier: example.id,\n skipFinalSnapshot: true,\n dbSubnetGroupName: \"default\",\n}, {\n dependsOn: [primaryClusterInstance],\n});\nconst secondaryClusterInstance = new aws.rds.ClusterInstance(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-secondary-cluster-instance\",\n clusterIdentifier: secondary.id,\n instanceClass: aws.rds.InstanceType.R4_Large,\n dbSubnetGroupName: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.GlobalCluster(\"example\",\n global_cluster_identifier=\"global-test\",\n engine=\"aurora-postgresql\",\n engine_version=\"11.9\",\n database_name=\"example_db\")\nprimary = aws.rds.Cluster(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-primary-cluster\",\n master_username=\"username\",\n master_password=\"somepass123\",\n database_name=\"example_db\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\")\nprimary_cluster_instance = aws.rds.ClusterInstance(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-primary-cluster-instance\",\n cluster_identifier=primary.id,\n instance_class=aws.rds.InstanceType.R4_LARGE,\n db_subnet_group_name=\"default\")\nsecondary = aws.rds.Cluster(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-secondary-cluster\",\n global_cluster_identifier=example.id,\n skip_final_snapshot=True,\n db_subnet_group_name=\"default\",\n opts = pulumi.ResourceOptions(depends_on=[primary_cluster_instance]))\nsecondary_cluster_instance = aws.rds.ClusterInstance(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-secondary-cluster-instance\",\n cluster_identifier=secondary.id,\n instance_class=aws.rds.InstanceType.R4_LARGE,\n db_subnet_group_name=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"global-test\",\n Engine = \"aurora-postgresql\",\n EngineVersion = \"11.9\",\n DatabaseName = \"example_db\",\n });\n\n var primary = new Aws.Rds.Cluster(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-primary-cluster\",\n MasterUsername = \"username\",\n MasterPassword = \"somepass123\",\n DatabaseName = \"example_db\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n });\n\n var primaryClusterInstance = new Aws.Rds.ClusterInstance(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-primary-cluster-instance\",\n ClusterIdentifier = primary.Id,\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n DbSubnetGroupName = \"default\",\n });\n\n var secondary = new Aws.Rds.Cluster(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-secondary-cluster\",\n GlobalClusterIdentifier = example.Id,\n SkipFinalSnapshot = true,\n DbSubnetGroupName = \"default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryClusterInstance,\n },\n });\n\n var secondaryClusterInstance = new Aws.Rds.ClusterInstance(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-secondary-cluster-instance\",\n ClusterIdentifier = secondary.Id,\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n DbSubnetGroupName = \"default\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"global-test\"),\n\t\t\tEngine: pulumi.String(\"aurora-postgresql\"),\n\t\t\tEngineVersion: pulumi.String(\"11.9\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := rds.NewCluster(ctx, \"primary\", \u0026rds.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-primary-cluster\"),\n\t\t\tMasterUsername: pulumi.String(\"username\"),\n\t\t\tMasterPassword: pulumi.String(\"somepass123\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryClusterInstance, err := rds.NewClusterInstance(ctx, \"primary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-primary-cluster-instance\"),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := rds.NewCluster(ctx, \"secondary\", \u0026rds.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-secondary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryClusterInstance,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"secondary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-secondary-cluster-instance\"),\n\t\t\tClusterIdentifier: secondary.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalCluster(\"example\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"global-test\")\n .engine(\"aurora-postgresql\")\n .engineVersion(\"11.9\")\n .databaseName(\"example_db\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-primary-cluster\")\n .masterUsername(\"username\")\n .masterPassword(\"somepass123\")\n .databaseName(\"example_db\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-primary-cluster-instance\")\n .clusterIdentifier(primary.id())\n .instanceClass(\"db.r4.large\")\n .dbSubnetGroupName(\"default\")\n .build());\n\n var secondary = new Cluster(\"secondary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-secondary-cluster\")\n .globalClusterIdentifier(example.id())\n .skipFinalSnapshot(true)\n .dbSubnetGroupName(\"default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryClusterInstance)\n .build());\n\n var secondaryClusterInstance = new ClusterInstance(\"secondaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-secondary-cluster-instance\")\n .clusterIdentifier(secondary.id())\n .instanceClass(\"db.r4.large\")\n .dbSubnetGroupName(\"default\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:GlobalCluster\n properties:\n globalClusterIdentifier: global-test\n engine: aurora-postgresql\n engineVersion: '11.9'\n databaseName: example_db\n primary:\n type: aws:rds:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-primary-cluster\n masterUsername: username\n masterPassword: somepass123\n databaseName: example_db\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n primaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: primary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-primary-cluster-instance\n clusterIdentifier: ${primary.id}\n instanceClass: db.r4.large\n dbSubnetGroupName: default\n secondary:\n type: aws:rds:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-secondary-cluster\n globalClusterIdentifier: ${example.id}\n skipFinalSnapshot: true\n dbSubnetGroupName: default\n options:\n dependson:\n - ${primaryClusterInstance}\n secondaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: secondary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-secondary-cluster-instance\n clusterIdentifier: ${secondary.id}\n instanceClass: db.r4.large\n dbSubnetGroupName: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### New Global Cluster From Existing DB Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {});\nconst exampleGlobalCluster = new aws.rds.GlobalCluster(\"example\", {\n forceDestroy: true,\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\")\nexample_global_cluster = aws.rds.GlobalCluster(\"example\",\n force_destroy=True,\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Cluster(\"example\");\n\n var exampleGlobalCluster = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n ForceDestroy = true,\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: example.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\");\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder()\n .forceDestroy(true)\n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n exampleGlobalCluster:\n type: aws:rds:GlobalCluster\n name: example\n properties:\n forceDestroy: true\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Upgrading Engine Versions\n\nWhen you upgrade the version of an `aws.rds.GlobalCluster`, the provider will attempt to in-place upgrade the engine versions of all associated clusters. Since the `aws.rds.Cluster` resource is being updated through the `aws.rds.GlobalCluster`, you are likely to get an error (`Provider produced inconsistent final plan`). To avoid this, use the `lifecycle` `ignore_changes` meta argument as shown below on the `aws.rds.Cluster`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"kyivkharkiv\",\n engine: \"aurora-mysql\",\n engineVersion: \"5.7.mysql_aurora.2.07.5\",\n});\nconst primary = new aws.rds.Cluster(\"primary\", {\n allowMajorVersionUpgrade: true,\n applyImmediately: true,\n clusterIdentifier: \"odessadnipro\",\n databaseName: \"totoro\",\n engine: example.engine,\n engineVersion: example.engineVersion,\n globalClusterIdentifier: example.id,\n masterPassword: \"satsukimae\",\n masterUsername: \"maesatsuki\",\n skipFinalSnapshot: true,\n});\nconst primaryClusterInstance = new aws.rds.ClusterInstance(\"primary\", {\n applyImmediately: true,\n clusterIdentifier: primary.id,\n engine: primary.engine,\n engineVersion: primary.engineVersion,\n identifier: \"donetsklviv\",\n instanceClass: aws.rds.InstanceType.R4_Large,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.GlobalCluster(\"example\",\n global_cluster_identifier=\"kyivkharkiv\",\n engine=\"aurora-mysql\",\n engine_version=\"5.7.mysql_aurora.2.07.5\")\nprimary = aws.rds.Cluster(\"primary\",\n allow_major_version_upgrade=True,\n apply_immediately=True,\n cluster_identifier=\"odessadnipro\",\n database_name=\"totoro\",\n engine=example.engine,\n engine_version=example.engine_version,\n global_cluster_identifier=example.id,\n master_password=\"satsukimae\",\n master_username=\"maesatsuki\",\n skip_final_snapshot=True)\nprimary_cluster_instance = aws.rds.ClusterInstance(\"primary\",\n apply_immediately=True,\n cluster_identifier=primary.id,\n engine=primary.engine,\n engine_version=primary.engine_version,\n identifier=\"donetsklviv\",\n instance_class=aws.rds.InstanceType.R4_LARGE)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"kyivkharkiv\",\n Engine = \"aurora-mysql\",\n EngineVersion = \"5.7.mysql_aurora.2.07.5\",\n });\n\n var primary = new Aws.Rds.Cluster(\"primary\", new()\n {\n AllowMajorVersionUpgrade = true,\n ApplyImmediately = true,\n ClusterIdentifier = \"odessadnipro\",\n DatabaseName = \"totoro\",\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n GlobalClusterIdentifier = example.Id,\n MasterPassword = \"satsukimae\",\n MasterUsername = \"maesatsuki\",\n SkipFinalSnapshot = true,\n });\n\n var primaryClusterInstance = new Aws.Rds.ClusterInstance(\"primary\", new()\n {\n ApplyImmediately = true,\n ClusterIdentifier = primary.Id,\n Engine = primary.Engine,\n EngineVersion = primary.EngineVersion,\n Identifier = \"donetsklviv\",\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"kyivkharkiv\"),\n\t\t\tEngine: pulumi.String(\"aurora-mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7.mysql_aurora.2.07.5\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := rds.NewCluster(ctx, \"primary\", \u0026rds.ClusterArgs{\n\t\t\tAllowMajorVersionUpgrade: pulumi.Bool(true),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: pulumi.String(\"odessadnipro\"),\n\t\t\tDatabaseName: pulumi.String(\"totoro\"),\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tMasterPassword: pulumi.String(\"satsukimae\"),\n\t\t\tMasterUsername: pulumi.String(\"maesatsuki\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"primary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tEngine: primary.Engine,\n\t\t\tEngineVersion: primary.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"donetsklviv\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalCluster(\"example\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"kyivkharkiv\")\n .engine(\"aurora-mysql\")\n .engineVersion(\"5.7.mysql_aurora.2.07.5\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder()\n .allowMajorVersionUpgrade(true)\n .applyImmediately(true)\n .clusterIdentifier(\"odessadnipro\")\n .databaseName(\"totoro\")\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .globalClusterIdentifier(example.id())\n .masterPassword(\"satsukimae\")\n .masterUsername(\"maesatsuki\")\n .skipFinalSnapshot(true)\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder()\n .applyImmediately(true)\n .clusterIdentifier(primary.id())\n .engine(primary.engine())\n .engineVersion(primary.engineVersion())\n .identifier(\"donetsklviv\")\n .instanceClass(\"db.r4.large\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:GlobalCluster\n properties:\n globalClusterIdentifier: kyivkharkiv\n engine: aurora-mysql\n engineVersion: 5.7.mysql_aurora.2.07.5\n primary:\n type: aws:rds:Cluster\n properties:\n allowMajorVersionUpgrade: true\n applyImmediately: true\n clusterIdentifier: odessadnipro\n databaseName: totoro\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n globalClusterIdentifier: ${example.id}\n masterPassword: satsukimae\n masterUsername: maesatsuki\n skipFinalSnapshot: true\n primaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: primary\n properties:\n applyImmediately: true\n clusterIdentifier: ${primary.id}\n engine: ${primary.engine}\n engineVersion: ${primary.engineVersion}\n identifier: donetsklviv\n instanceClass: db.r4.large\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_rds_global_cluster` using the RDS Global Cluster identifier. For example:\n\n```sh\n$ pulumi import aws:rds/globalCluster:GlobalCluster example example\n```\nCertain resource arguments, like `force_destroy`, only exist within this provider. If the argument is set in the the provider configuration on an imported resource, This provider will show a difference on the first plan after import to update the state value. This change is safe to apply immediately so the state matches the desired configuration.\n\nCertain resource arguments, like `source_db_cluster_identifier`, do not have an API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", "properties": { "arn": { "type": "string", @@ -332349,7 +332349,7 @@ } }, "aws:rds/instance:Instance": { - "description": "Provides an RDS instance resource. A DB instance is an isolated database\nenvironment in the cloud. A DB instance can contain multiple user-created\ndatabases.\n\nChanges to a DB instance can occur when you manually change a parameter, such as\n`allocated_storage`, and are reflected in the next maintenance window. Because\nof this, this provider may report a difference in its planning phase because a\nmodification has not yet taken place. You can use the `apply_immediately` flag\nto instruct the service to apply the change immediately (see documentation\nbelow).\n\nWhen upgrading the major version of an engine, `allow_major_version_upgrade` must be set to `true`.\n\n\u003e **Note:** using `apply_immediately` can result in a brief downtime as the server reboots.\nSee the AWS Docs on [RDS Instance Maintenance][instance-maintenance] for more information.\n\n\u003e **Note:** All arguments including the username and password will be stored in the raw state as plain-text.\nRead more about sensitive data instate.\n\n\n\n## RDS Instance Class Types\n\nAmazon RDS supports instance classes for the following use cases: General-purpose, Memory-optimized, Burstable Performance, and Optimized-reads.\nFor more information please read the AWS RDS documentation about [DB Instance Class Types](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)\n\n## Low-Downtime Updates\n\nBy default, RDS applies updates to DB Instances in-place, which can lead to service interruptions.\nLow-downtime updates minimize service interruptions by performing the updates with an [RDS Blue/Green deployment][blue-green] and switching over the instances when complete.\n\nLow-downtime updates are only available for DB Instances using MySQL, MariaDB and PostgreSQL,\nas other engines are not supported by RDS Blue/Green deployments.\nThey cannot be used with DB Instances with replicas.\n\nBackups must be enabled to use low-downtime updates.\n\nEnable low-downtime updates by setting `blue_green_update.enabled` to `true`.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"8.0\",\n instanceClass: aws.rds.InstanceType.T3_Micro,\n username: \"foo\",\n password: \"foobarbaz\",\n parameterGroupName: \"default.mysql8.0\",\n skipFinalSnapshot: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"8.0\",\n instance_class=aws.rds.InstanceType.T3_MICRO,\n username=\"foo\",\n password=\"foobarbaz\",\n parameter_group_name=\"default.mysql8.0\",\n skip_final_snapshot=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"8.0\",\n InstanceClass = Aws.Rds.InstanceType.T3_Micro,\n Username = \"foo\",\n Password = \"foobarbaz\",\n ParameterGroupName = \"default.mysql8.0\",\n SkipFinalSnapshot = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T3_Micro),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"foobarbaz\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql8.0\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"8.0\")\n .instanceClass(\"db.t3.micro\")\n .username(\"foo\")\n .password(\"foobarbaz\")\n .parameterGroupName(\"default.mysql8.0\")\n .skipFinalSnapshot(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '8.0'\n instanceClass: db.t3.micro\n username: foo\n password: foobarbaz\n parameterGroupName: default.mysql8.0\n skipFinalSnapshot: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for Oracle Usage with Replica\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Lookup the available instance classes for the custom engine for the region being operated in\nconst custom-oracle = aws.rds.getOrderableDbInstance({\n engine: \"custom-oracle-ee\",\n engineVersion: \"19.c.ee.002\",\n licenseModel: \"bring-your-own-license\",\n storageType: \"gp3\",\n preferredInstanceClasses: [\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n ],\n});\n// The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\nconst byId = aws.kms.getKey({\n keyId: \"example-ef278353ceba4a5a97de6784565b9f78\",\n});\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 50,\n autoMinorVersionUpgrade: false,\n customIamInstanceProfile: \"AWSRDSCustomInstanceProfile\",\n backupRetentionPeriod: 7,\n dbSubnetGroupName: dbSubnetGroupName,\n engine: custom_oracle.then(custom_oracle =\u003e custom_oracle.engine),\n engineVersion: custom_oracle.then(custom_oracle =\u003e custom_oracle.engineVersion),\n identifier: \"ee-instance-demo\",\n instanceClass: custom_oracle.then(custom_oracle =\u003e custom_oracle.instanceClass).apply((x) =\u003e aws.rds.InstanceType[x]),\n kmsKeyId: byId.then(byId =\u003e byId.arn),\n licenseModel: custom_oracle.then(custom_oracle =\u003e custom_oracle.licenseModel),\n multiAz: false,\n password: \"avoid-plaintext-passwords\",\n username: \"test\",\n storageEncrypted: true,\n});\nconst test_replica = new aws.rds.Instance(\"test-replica\", {\n replicateSourceDb: _default.identifier,\n replicaMode: \"mounted\",\n autoMinorVersionUpgrade: false,\n customIamInstanceProfile: \"AWSRDSCustomInstanceProfile\",\n backupRetentionPeriod: 7,\n identifier: \"ee-instance-replica\",\n instanceClass: custom_oracle.then(custom_oracle =\u003e custom_oracle.instanceClass).apply((x) =\u003e aws.rds.InstanceType[x]),\n kmsKeyId: byId.then(byId =\u003e byId.arn),\n multiAz: false,\n skipFinalSnapshot: true,\n storageEncrypted: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Lookup the available instance classes for the custom engine for the region being operated in\ncustom_oracle = aws.rds.get_orderable_db_instance(engine=\"custom-oracle-ee\",\n engine_version=\"19.c.ee.002\",\n license_model=\"bring-your-own-license\",\n storage_type=\"gp3\",\n preferred_instance_classes=[\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n ])\n# The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\nby_id = aws.kms.get_key(key_id=\"example-ef278353ceba4a5a97de6784565b9f78\")\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=50,\n auto_minor_version_upgrade=False,\n custom_iam_instance_profile=\"AWSRDSCustomInstanceProfile\",\n backup_retention_period=7,\n db_subnet_group_name=db_subnet_group_name,\n engine=custom_oracle.engine,\n engine_version=custom_oracle.engine_version,\n identifier=\"ee-instance-demo\",\n instance_class=custom_oracle.instance_class.apply(lambda x: aws.rds.InstanceType(x)),\n kms_key_id=by_id.arn,\n license_model=custom_oracle.license_model,\n multi_az=False,\n password=\"avoid-plaintext-passwords\",\n username=\"test\",\n storage_encrypted=True)\ntest_replica = aws.rds.Instance(\"test-replica\",\n replicate_source_db=default.identifier,\n replica_mode=\"mounted\",\n auto_minor_version_upgrade=False,\n custom_iam_instance_profile=\"AWSRDSCustomInstanceProfile\",\n backup_retention_period=7,\n identifier=\"ee-instance-replica\",\n instance_class=custom_oracle.instance_class.apply(lambda x: aws.rds.InstanceType(x)),\n kms_key_id=by_id.arn,\n multi_az=False,\n skip_final_snapshot=True,\n storage_encrypted=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Lookup the available instance classes for the custom engine for the region being operated in\n var custom_oracle = Aws.Rds.GetOrderableDbInstance.Invoke(new()\n {\n Engine = \"custom-oracle-ee\",\n EngineVersion = \"19.c.ee.002\",\n LicenseModel = \"bring-your-own-license\",\n StorageType = \"gp3\",\n PreferredInstanceClasses = new[]\n {\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n },\n });\n\n // The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\n var byId = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"example-ef278353ceba4a5a97de6784565b9f78\",\n });\n\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 50,\n AutoMinorVersionUpgrade = false,\n CustomIamInstanceProfile = \"AWSRDSCustomInstanceProfile\",\n BackupRetentionPeriod = 7,\n DbSubnetGroupName = dbSubnetGroupName,\n Engine = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.Engine)),\n EngineVersion = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.EngineVersion)),\n Identifier = \"ee-instance-demo\",\n InstanceClass = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.InstanceClass)).Apply(System.Enum.Parse\u003cAws.Rds.InstanceType\u003e),\n KmsKeyId = byId.Apply(getKeyResult =\u003e getKeyResult.Arn),\n LicenseModel = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.LicenseModel)),\n MultiAz = false,\n Password = \"avoid-plaintext-passwords\",\n Username = \"test\",\n StorageEncrypted = true,\n });\n\n var test_replica = new Aws.Rds.Instance(\"test-replica\", new()\n {\n ReplicateSourceDb = @default.Identifier,\n ReplicaMode = \"mounted\",\n AutoMinorVersionUpgrade = false,\n CustomIamInstanceProfile = \"AWSRDSCustomInstanceProfile\",\n BackupRetentionPeriod = 7,\n Identifier = \"ee-instance-replica\",\n InstanceClass = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.InstanceClass)).Apply(System.Enum.Parse\u003cAws.Rds.InstanceType\u003e),\n KmsKeyId = byId.Apply(getKeyResult =\u003e getKeyResult.Arn),\n MultiAz = false,\n SkipFinalSnapshot = true,\n StorageEncrypted = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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// Lookup the available instance classes for the custom engine for the region being operated in\n\t\tcustom_oracle, err := rds.GetOrderableDbInstance(ctx, \u0026rds.GetOrderableDbInstanceArgs{\n\t\t\tEngine: \"custom-oracle-ee\",\n\t\t\tEngineVersion: pulumi.StringRef(\"19.c.ee.002\"),\n\t\t\tLicenseModel: pulumi.StringRef(\"bring-your-own-license\"),\n\t\t\tStorageType: pulumi.StringRef(\"gp3\"),\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.r5.xlarge\",\n\t\t\t\t\"db.r5.2xlarge\",\n\t\t\t\t\"db.r5.4xlarge\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\n\t\tbyId, err := kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"example-ef278353ceba4a5a97de6784565b9f78\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(50),\n\t\t\tAutoMinorVersionUpgrade: pulumi.Bool(false),\n\t\t\tCustomIamInstanceProfile: pulumi.String(\"AWSRDSCustomInstanceProfile\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tDbSubnetGroupName: pulumi.Any(dbSubnetGroupName),\n\t\t\tEngine: pulumi.String(custom_oracle.Engine),\n\t\t\tEngineVersion: pulumi.String(custom_oracle.EngineVersion),\n\t\t\tIdentifier: pulumi.String(\"ee-instance-demo\"),\n\t\t\tInstanceClass: custom_oracle.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput),\n\t\t\tKmsKeyId: pulumi.String(byId.Arn),\n\t\t\tLicenseModel: pulumi.String(custom_oracle.LicenseModel),\n\t\t\tMultiAz: pulumi.Bool(false),\n\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\tUsername: pulumi.String(\"test\"),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"test-replica\", \u0026rds.InstanceArgs{\n\t\t\tReplicateSourceDb: _default.Identifier,\n\t\t\tReplicaMode: pulumi.String(\"mounted\"),\n\t\t\tAutoMinorVersionUpgrade: pulumi.Bool(false),\n\t\t\tCustomIamInstanceProfile: pulumi.String(\"AWSRDSCustomInstanceProfile\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tIdentifier: pulumi.String(\"ee-instance-replica\"),\n\t\t\tInstanceClass: custom_oracle.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput),\n\t\t\tKmsKeyId: pulumi.String(byId.Arn),\n\t\t\tMultiAz: pulumi.Bool(false),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetKeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Lookup the available instance classes for the custom engine for the region being operated in\n final var custom-oracle = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(\"custom-oracle-ee\")\n .engineVersion(\"19.c.ee.002\")\n .licenseModel(\"bring-your-own-license\")\n .storageType(\"gp3\")\n .preferredInstanceClasses( \n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\")\n .build());\n\n // The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\n final var byId = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"example-ef278353ceba4a5a97de6784565b9f78\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .allocatedStorage(50)\n .autoMinorVersionUpgrade(false)\n .customIamInstanceProfile(\"AWSRDSCustomInstanceProfile\")\n .backupRetentionPeriod(7)\n .dbSubnetGroupName(dbSubnetGroupName)\n .engine(custom_oracle.engine())\n .engineVersion(custom_oracle.engineVersion())\n .identifier(\"ee-instance-demo\")\n .instanceClass(custom_oracle.instanceClass())\n .kmsKeyId(byId.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .licenseModel(custom_oracle.licenseModel())\n .multiAz(false)\n .password(\"avoid-plaintext-passwords\")\n .username(\"test\")\n .storageEncrypted(true)\n .build());\n\n var test_replica = new Instance(\"test-replica\", InstanceArgs.builder()\n .replicateSourceDb(default_.identifier())\n .replicaMode(\"mounted\")\n .autoMinorVersionUpgrade(false)\n .customIamInstanceProfile(\"AWSRDSCustomInstanceProfile\")\n .backupRetentionPeriod(7)\n .identifier(\"ee-instance-replica\")\n .instanceClass(custom_oracle.instanceClass())\n .kmsKeyId(byId.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .multiAz(false)\n .skipFinalSnapshot(true)\n .storageEncrypted(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 50\n autoMinorVersionUpgrade: false # Custom for Oracle does not support minor version upgrades\n customIamInstanceProfile: AWSRDSCustomInstanceProfile\n backupRetentionPeriod: 7\n dbSubnetGroupName: ${dbSubnetGroupName}\n engine: ${[\"custom-oracle\"].engine}\n engineVersion: ${[\"custom-oracle\"].engineVersion}\n identifier: ee-instance-demo\n instanceClass: ${[\"custom-oracle\"].instanceClass}\n kmsKeyId: ${byId.arn}\n licenseModel: ${[\"custom-oracle\"].licenseModel}\n multiAz: false # Custom for Oracle does not support multi-az\n password: avoid-plaintext-passwords\n username: test\n storageEncrypted: true\n test-replica:\n type: aws:rds:Instance\n properties:\n replicateSourceDb: ${default.identifier}\n replicaMode: mounted\n autoMinorVersionUpgrade: false\n customIamInstanceProfile: AWSRDSCustomInstanceProfile\n backupRetentionPeriod: 7\n identifier: ee-instance-replica\n instanceClass: ${[\"custom-oracle\"].instanceClass}\n kmsKeyId: ${byId.arn}\n multiAz: false # Custom for Oracle does not support multi-az\n skipFinalSnapshot: true\n storageEncrypted: true\nvariables:\n # Lookup the available instance classes for the custom engine for the region being operated in\n custom-oracle:\n fn::invoke:\n function: aws:rds:getOrderableDbInstance\n arguments:\n engine: custom-oracle-ee\n engineVersion: 19.c.ee.002\n licenseModel: bring-your-own-license\n storageType: gp3\n preferredInstanceClasses:\n - db.r5.xlarge\n - db.r5.2xlarge\n - db.r5.4xlarge\n # The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\n byId:\n fn::invoke:\n function: aws:kms:getKey\n arguments:\n keyId: example-ef278353ceba4a5a97de6784565b9f78\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for SQL Server\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Lookup the available instance classes for the custom engine for the region being operated in\nconst custom-sqlserver = aws.rds.getOrderableDbInstance({\n engine: \"custom-sqlserver-se\",\n engineVersion: \"15.00.4249.2.v1\",\n storageType: \"gp3\",\n preferredInstanceClasses: [\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n ],\n});\n// The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\nconst byId = aws.kms.getKey({\n keyId: \"example-ef278353ceba4a5a97de6784565b9f78\",\n});\nconst example = new aws.rds.Instance(\"example\", {\n allocatedStorage: 500,\n autoMinorVersionUpgrade: false,\n customIamInstanceProfile: \"AWSRDSCustomSQLServerInstanceProfile\",\n backupRetentionPeriod: 7,\n dbSubnetGroupName: dbSubnetGroupName,\n engine: custom_sqlserver.then(custom_sqlserver =\u003e custom_sqlserver.engine),\n engineVersion: custom_sqlserver.then(custom_sqlserver =\u003e custom_sqlserver.engineVersion),\n identifier: \"sql-instance-demo\",\n instanceClass: custom_sqlserver.then(custom_sqlserver =\u003e custom_sqlserver.instanceClass).apply((x) =\u003e aws.rds.InstanceType[x]),\n kmsKeyId: byId.then(byId =\u003e byId.arn),\n multiAz: false,\n password: \"avoid-plaintext-passwords\",\n storageEncrypted: true,\n username: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Lookup the available instance classes for the custom engine for the region being operated in\ncustom_sqlserver = aws.rds.get_orderable_db_instance(engine=\"custom-sqlserver-se\",\n engine_version=\"15.00.4249.2.v1\",\n storage_type=\"gp3\",\n preferred_instance_classes=[\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n ])\n# The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\nby_id = aws.kms.get_key(key_id=\"example-ef278353ceba4a5a97de6784565b9f78\")\nexample = aws.rds.Instance(\"example\",\n allocated_storage=500,\n auto_minor_version_upgrade=False,\n custom_iam_instance_profile=\"AWSRDSCustomSQLServerInstanceProfile\",\n backup_retention_period=7,\n db_subnet_group_name=db_subnet_group_name,\n engine=custom_sqlserver.engine,\n engine_version=custom_sqlserver.engine_version,\n identifier=\"sql-instance-demo\",\n instance_class=custom_sqlserver.instance_class.apply(lambda x: aws.rds.InstanceType(x)),\n kms_key_id=by_id.arn,\n multi_az=False,\n password=\"avoid-plaintext-passwords\",\n storage_encrypted=True,\n username=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Lookup the available instance classes for the custom engine for the region being operated in\n var custom_sqlserver = Aws.Rds.GetOrderableDbInstance.Invoke(new()\n {\n Engine = \"custom-sqlserver-se\",\n EngineVersion = \"15.00.4249.2.v1\",\n StorageType = \"gp3\",\n PreferredInstanceClasses = new[]\n {\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n },\n });\n\n // The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\n var byId = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"example-ef278353ceba4a5a97de6784565b9f78\",\n });\n\n var example = new Aws.Rds.Instance(\"example\", new()\n {\n AllocatedStorage = 500,\n AutoMinorVersionUpgrade = false,\n CustomIamInstanceProfile = \"AWSRDSCustomSQLServerInstanceProfile\",\n BackupRetentionPeriod = 7,\n DbSubnetGroupName = dbSubnetGroupName,\n Engine = custom_sqlserver.Apply(custom_sqlserver =\u003e custom_sqlserver.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.Engine)),\n EngineVersion = custom_sqlserver.Apply(custom_sqlserver =\u003e custom_sqlserver.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.EngineVersion)),\n Identifier = \"sql-instance-demo\",\n InstanceClass = custom_sqlserver.Apply(custom_sqlserver =\u003e custom_sqlserver.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.InstanceClass)).Apply(System.Enum.Parse\u003cAws.Rds.InstanceType\u003e),\n KmsKeyId = byId.Apply(getKeyResult =\u003e getKeyResult.Arn),\n MultiAz = false,\n Password = \"avoid-plaintext-passwords\",\n StorageEncrypted = true,\n Username = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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// Lookup the available instance classes for the custom engine for the region being operated in\n\t\tcustom_sqlserver, err := rds.GetOrderableDbInstance(ctx, \u0026rds.GetOrderableDbInstanceArgs{\n\t\t\tEngine: \"custom-sqlserver-se\",\n\t\t\tEngineVersion: pulumi.StringRef(\"15.00.4249.2.v1\"),\n\t\t\tStorageType: pulumi.StringRef(\"gp3\"),\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.r5.xlarge\",\n\t\t\t\t\"db.r5.2xlarge\",\n\t\t\t\t\"db.r5.4xlarge\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\n\t\tbyId, err := kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"example-ef278353ceba4a5a97de6784565b9f78\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(500),\n\t\t\tAutoMinorVersionUpgrade: pulumi.Bool(false),\n\t\t\tCustomIamInstanceProfile: pulumi.String(\"AWSRDSCustomSQLServerInstanceProfile\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tDbSubnetGroupName: pulumi.Any(dbSubnetGroupName),\n\t\t\tEngine: pulumi.String(custom_sqlserver.Engine),\n\t\t\tEngineVersion: pulumi.String(custom_sqlserver.EngineVersion),\n\t\t\tIdentifier: pulumi.String(\"sql-instance-demo\"),\n\t\t\tInstanceClass: custom_sqlserver.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput),\n\t\t\tKmsKeyId: pulumi.String(byId.Arn),\n\t\t\tMultiAz: pulumi.Bool(false),\n\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t\tUsername: pulumi.String(\"test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetKeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Lookup the available instance classes for the custom engine for the region being operated in\n final var custom-sqlserver = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(\"custom-sqlserver-se\")\n .engineVersion(\"15.00.4249.2.v1\")\n .storageType(\"gp3\")\n .preferredInstanceClasses( \n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\")\n .build());\n\n // The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\n final var byId = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"example-ef278353ceba4a5a97de6784565b9f78\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .allocatedStorage(500)\n .autoMinorVersionUpgrade(false)\n .customIamInstanceProfile(\"AWSRDSCustomSQLServerInstanceProfile\")\n .backupRetentionPeriod(7)\n .dbSubnetGroupName(dbSubnetGroupName)\n .engine(custom_sqlserver.engine())\n .engineVersion(custom_sqlserver.engineVersion())\n .identifier(\"sql-instance-demo\")\n .instanceClass(custom_sqlserver.instanceClass())\n .kmsKeyId(byId.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .multiAz(false)\n .password(\"avoid-plaintext-passwords\")\n .storageEncrypted(true)\n .username(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 500\n autoMinorVersionUpgrade: false # Custom for SQL Server does not support minor version upgrades\n customIamInstanceProfile: AWSRDSCustomSQLServerInstanceProfile\n backupRetentionPeriod: 7\n dbSubnetGroupName: ${dbSubnetGroupName}\n engine: ${[\"custom-sqlserver\"].engine}\n engineVersion: ${[\"custom-sqlserver\"].engineVersion}\n identifier: sql-instance-demo\n instanceClass: ${[\"custom-sqlserver\"].instanceClass}\n kmsKeyId: ${byId.arn}\n multiAz: false # Custom for SQL Server does support multi-az\n password: avoid-plaintext-passwords\n storageEncrypted: true\n username: test\nvariables:\n # Lookup the available instance classes for the custom engine for the region being operated in\n custom-sqlserver:\n fn::invoke:\n function: aws:rds:getOrderableDbInstance\n arguments:\n engine: custom-sqlserver-se\n engineVersion: 15.00.4249.2.v1\n storageType: gp3\n preferredInstanceClasses:\n - db.r5.xlarge\n - db.r5.2xlarge\n - db.r5.4xlarge\n # The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\n byId:\n fn::invoke:\n function: aws:kms:getKey\n arguments:\n keyId: example-ef278353ceba4a5a97de6784565b9f78\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Db2 Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\nconst default = aws.rds.getEngineVersion({\n engine: \"db2-se\",\n});\n// Lookup the available instance classes for the engine in the region being operated in\nconst example = Promise.all([_default, _default]).then(([_default, _default1]) =\u003e aws.rds.getOrderableDbInstance({\n engine: _default.engine,\n engineVersion: _default1.version,\n licenseModel: \"bring-your-own-license\",\n storageType: \"gp3\",\n preferredInstanceClasses: [\n \"db.t3.small\",\n \"db.r6i.large\",\n \"db.m6i.large\",\n ],\n}));\n// The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\nconst exampleParameterGroup = new aws.rds.ParameterGroup(\"example\", {\n name: \"db-db2-params\",\n family: _default.then(_default =\u003e _default.parameterGroupFamily),\n parameters: [\n {\n applyMethod: \"immediate\",\n name: \"rds.ibm_customer_id\",\n value: \"0\",\n },\n {\n applyMethod: \"immediate\",\n name: \"rds.ibm_site_id\",\n value: \"0\",\n },\n ],\n});\n// Create the RDS Db2 instance, use the data sources defined to set attributes\nconst exampleInstance = new aws.rds.Instance(\"example\", {\n allocatedStorage: 100,\n backupRetentionPeriod: 7,\n dbName: \"test\",\n engine: example.then(example =\u003e example.engine),\n engineVersion: example.then(example =\u003e example.engineVersion),\n identifier: \"db2-instance-demo\",\n instanceClass: example.then(example =\u003e example.instanceClass).apply((x) =\u003e aws.rds.InstanceType[x]),\n parameterGroupName: exampleParameterGroup.name,\n password: \"avoid-plaintext-passwords\",\n username: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\ndefault = aws.rds.get_engine_version(engine=\"db2-se\")\n# Lookup the available instance classes for the engine in the region being operated in\nexample = aws.rds.get_orderable_db_instance(engine=default.engine,\n engine_version=default.version,\n license_model=\"bring-your-own-license\",\n storage_type=\"gp3\",\n preferred_instance_classes=[\n \"db.t3.small\",\n \"db.r6i.large\",\n \"db.m6i.large\",\n ])\n# The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\nexample_parameter_group = aws.rds.ParameterGroup(\"example\",\n name=\"db-db2-params\",\n family=default.parameter_group_family,\n parameters=[\n {\n \"apply_method\": \"immediate\",\n \"name\": \"rds.ibm_customer_id\",\n \"value\": \"0\",\n },\n {\n \"apply_method\": \"immediate\",\n \"name\": \"rds.ibm_site_id\",\n \"value\": \"0\",\n },\n ])\n# Create the RDS Db2 instance, use the data sources defined to set attributes\nexample_instance = aws.rds.Instance(\"example\",\n allocated_storage=100,\n backup_retention_period=7,\n db_name=\"test\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"db2-instance-demo\",\n instance_class=example.instance_class.apply(lambda x: aws.rds.InstanceType(x)),\n parameter_group_name=example_parameter_group.name,\n password=\"avoid-plaintext-passwords\",\n username=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\n var @default = Aws.Rds.GetEngineVersion.Invoke(new()\n {\n Engine = \"db2-se\",\n });\n\n // Lookup the available instance classes for the engine in the region being operated in\n var example = Aws.Rds.GetOrderableDbInstance.Invoke(new()\n {\n Engine = @default.Apply(getEngineVersionResult =\u003e getEngineVersionResult.Engine),\n EngineVersion = @default.Apply(getEngineVersionResult =\u003e getEngineVersionResult.Version),\n LicenseModel = \"bring-your-own-license\",\n StorageType = \"gp3\",\n PreferredInstanceClasses = new[]\n {\n \"db.t3.small\",\n \"db.r6i.large\",\n \"db.m6i.large\",\n },\n });\n\n // The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\n var exampleParameterGroup = new Aws.Rds.ParameterGroup(\"example\", new()\n {\n Name = \"db-db2-params\",\n Family = @default.Apply(@default =\u003e @default.Apply(getEngineVersionResult =\u003e getEngineVersionResult.ParameterGroupFamily)),\n Parameters = new[]\n {\n new Aws.Rds.Inputs.ParameterGroupParameterArgs\n {\n ApplyMethod = \"immediate\",\n Name = \"rds.ibm_customer_id\",\n Value = \"0\",\n },\n new Aws.Rds.Inputs.ParameterGroupParameterArgs\n {\n ApplyMethod = \"immediate\",\n Name = \"rds.ibm_site_id\",\n Value = \"0\",\n },\n },\n });\n\n // Create the RDS Db2 instance, use the data sources defined to set attributes\n var exampleInstance = new Aws.Rds.Instance(\"example\", new()\n {\n AllocatedStorage = 100,\n BackupRetentionPeriod = 7,\n DbName = \"test\",\n Engine = example.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.Engine),\n EngineVersion = example.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.EngineVersion),\n Identifier = \"db2-instance-demo\",\n InstanceClass = example.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.InstanceClass).Apply(System.Enum.Parse\u003cAws.Rds.InstanceType\u003e),\n ParameterGroupName = exampleParameterGroup.Name,\n Password = \"avoid-plaintext-passwords\",\n Username = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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// Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\n\t\t_default, err := rds.GetEngineVersion(ctx, \u0026rds.GetEngineVersionArgs{\n\t\t\tEngine: \"db2-se\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Lookup the available instance classes for the engine in the region being operated in\n\t\texample, err := rds.GetOrderableDbInstance(ctx, \u0026rds.GetOrderableDbInstanceArgs{\n\t\t\tEngine: _default.Engine,\n\t\t\tEngineVersion: pulumi.StringRef(_default.Version),\n\t\t\tLicenseModel: pulumi.StringRef(\"bring-your-own-license\"),\n\t\t\tStorageType: pulumi.StringRef(\"gp3\"),\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.t3.small\",\n\t\t\t\t\"db.r6i.large\",\n\t\t\t\t\"db.m6i.large\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\n\t\texampleParameterGroup, err := rds.NewParameterGroup(ctx, \"example\", \u0026rds.ParameterGroupArgs{\n\t\t\tName: pulumi.String(\"db-db2-params\"),\n\t\t\tFamily: pulumi.String(_default.ParameterGroupFamily),\n\t\t\tParameters: rds.ParameterGroupParameterArray{\n\t\t\t\t\u0026rds.ParameterGroupParameterArgs{\n\t\t\t\t\tApplyMethod: pulumi.String(\"immediate\"),\n\t\t\t\t\tName: pulumi.String(\"rds.ibm_customer_id\"),\n\t\t\t\t\tValue: pulumi.String(\"0\"),\n\t\t\t\t},\n\t\t\t\t\u0026rds.ParameterGroupParameterArgs{\n\t\t\t\t\tApplyMethod: pulumi.String(\"immediate\"),\n\t\t\t\t\tName: pulumi.String(\"rds.ibm_site_id\"),\n\t\t\t\t\tValue: pulumi.String(\"0\"),\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\t// Create the RDS Db2 instance, use the data sources defined to set attributes\n\t\t_, err = rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(100),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tDbName: pulumi.String(\"test\"),\n\t\t\tEngine: pulumi.String(example.Engine),\n\t\t\tEngineVersion: pulumi.String(example.EngineVersion),\n\t\t\tIdentifier: pulumi.String(\"db2-instance-demo\"),\n\t\t\tInstanceClass: example.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput),\n\t\t\tParameterGroupName: exampleParameterGroup.Name,\n\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\tUsername: pulumi.String(\"test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetEngineVersionArgs;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport com.pulumi.aws.rds.ParameterGroup;\nimport com.pulumi.aws.rds.ParameterGroupArgs;\nimport com.pulumi.aws.rds.inputs.ParameterGroupParameterArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\n final var default = RdsFunctions.getEngineVersion(GetEngineVersionArgs.builder()\n .engine(\"db2-se\")\n .build());\n\n // Lookup the available instance classes for the engine in the region being operated in\n final var example = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(default_.engine())\n .engineVersion(default_.version())\n .licenseModel(\"bring-your-own-license\")\n .storageType(\"gp3\")\n .preferredInstanceClasses( \n \"db.t3.small\",\n \"db.r6i.large\",\n \"db.m6i.large\")\n .build());\n\n // The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\n var exampleParameterGroup = new ParameterGroup(\"exampleParameterGroup\", ParameterGroupArgs.builder()\n .name(\"db-db2-params\")\n .family(default_.parameterGroupFamily())\n .parameters( \n ParameterGroupParameterArgs.builder()\n .applyMethod(\"immediate\")\n .name(\"rds.ibm_customer_id\")\n .value(0)\n .build(),\n ParameterGroupParameterArgs.builder()\n .applyMethod(\"immediate\")\n .name(\"rds.ibm_site_id\")\n .value(0)\n .build())\n .build());\n\n // Create the RDS Db2 instance, use the data sources defined to set attributes\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .allocatedStorage(100)\n .backupRetentionPeriod(7)\n .dbName(\"test\")\n .engine(example.applyValue(getOrderableDbInstanceResult -\u003e getOrderableDbInstanceResult.engine()))\n .engineVersion(example.applyValue(getOrderableDbInstanceResult -\u003e getOrderableDbInstanceResult.engineVersion()))\n .identifier(\"db2-instance-demo\")\n .instanceClass(example.applyValue(getOrderableDbInstanceResult -\u003e getOrderableDbInstanceResult.instanceClass()))\n .parameterGroupName(exampleParameterGroup.name())\n .password(\"avoid-plaintext-passwords\")\n .username(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\n exampleParameterGroup:\n type: aws:rds:ParameterGroup\n name: example\n properties:\n name: db-db2-params\n family: ${default.parameterGroupFamily}\n parameters:\n - applyMethod: immediate\n name: rds.ibm_customer_id\n value: 0\n - applyMethod: immediate\n name: rds.ibm_site_id\n value: 0\n # Create the RDS Db2 instance, use the data sources defined to set attributes\n exampleInstance:\n type: aws:rds:Instance\n name: example\n properties:\n allocatedStorage: 100\n backupRetentionPeriod: 7\n dbName: test\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: db2-instance-demo\n instanceClass: ${example.instanceClass}\n parameterGroupName: ${exampleParameterGroup.name}\n password: avoid-plaintext-passwords\n username: test\nvariables:\n # Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\n default:\n fn::invoke:\n function: aws:rds:getEngineVersion\n arguments:\n engine: db2-se\n # Lookup the available instance classes for the engine in the region being operated in\n example:\n fn::invoke:\n function: aws:rds:getOrderableDbInstance\n arguments:\n engine: ${default.engine}\n engineVersion: ${default.version}\n licenseModel: bring-your-own-license\n storageType: gp3\n preferredInstanceClasses:\n - db.t3.small\n - db.r6i.large\n - db.m6i.large\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Storage Autoscaling\n\nTo enable Storage Autoscaling with instances that support the feature, define the `max_allocated_storage` argument higher than the `allocated_storage` argument. This provider will automatically hide differences with the `allocated_storage` argument value if autoscaling occurs.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Instance(\"example\", {\n allocatedStorage: 50,\n maxAllocatedStorage: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Instance(\"example\",\n allocated_storage=50,\n max_allocated_storage=100)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Instance(\"example\", new()\n {\n AllocatedStorage = 50,\n MaxAllocatedStorage = 100,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(50),\n\t\t\tMaxAllocatedStorage: pulumi.Int(100),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Instance(\"example\", InstanceArgs.builder()\n .allocatedStorage(50)\n .maxAllocatedStorage(100)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 50\n maxAllocatedStorage: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managed Master Passwords via Secrets Manager, default KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `password` attribute (removal is required).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"8.0\",\n instanceClass: aws.rds.InstanceType.T3_Micro,\n manageMasterUserPassword: true,\n username: \"foo\",\n parameterGroupName: \"default.mysql8.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"8.0\",\n instance_class=aws.rds.InstanceType.T3_MICRO,\n manage_master_user_password=True,\n username=\"foo\",\n parameter_group_name=\"default.mysql8.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"8.0\",\n InstanceClass = Aws.Rds.InstanceType.T3_Micro,\n ManageMasterUserPassword = true,\n Username = \"foo\",\n ParameterGroupName = \"default.mysql8.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T3_Micro),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql8.0\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"8.0\")\n .instanceClass(\"db.t3.micro\")\n .manageMasterUserPassword(true)\n .username(\"foo\")\n .parameterGroupName(\"default.mysql8.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '8.0'\n instanceClass: db.t3.micro\n manageMasterUserPassword: true\n username: foo\n parameterGroupName: default.mysql8.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managed Master Passwords via Secrets Manager, specific KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"Example KMS Key\"});\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"8.0\",\n instanceClass: aws.rds.InstanceType.T3_Micro,\n manageMasterUserPassword: true,\n masterUserSecretKmsKeyId: example.keyId,\n username: \"foo\",\n parameterGroupName: \"default.mysql8.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"Example KMS Key\")\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"8.0\",\n instance_class=aws.rds.InstanceType.T3_MICRO,\n manage_master_user_password=True,\n master_user_secret_kms_key_id=example.key_id,\n username=\"foo\",\n parameter_group_name=\"default.mysql8.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n });\n\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"8.0\",\n InstanceClass = Aws.Rds.InstanceType.T3_Micro,\n ManageMasterUserPassword = true,\n MasterUserSecretKmsKeyId = example.KeyId,\n Username = \"foo\",\n ParameterGroupName = \"default.mysql8.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example KMS Key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T3_Micro),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUserSecretKmsKeyId: example.KeyId,\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql8.0\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"Example KMS Key\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"8.0\")\n .instanceClass(\"db.t3.micro\")\n .manageMasterUserPassword(true)\n .masterUserSecretKmsKeyId(example.keyId())\n .username(\"foo\")\n .parameterGroupName(\"default.mysql8.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '8.0'\n instanceClass: db.t3.micro\n manageMasterUserPassword: true\n masterUserSecretKmsKeyId: ${example.keyId}\n username: foo\n parameterGroupName: default.mysql8.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DB Instances using the `identifier`. For example:\n\n```sh\n$ pulumi import aws:rds/instance:Instance default mydb-rds-instance\n```\n", + "description": "Provides an RDS instance resource. A DB instance is an isolated database\nenvironment in the cloud. A DB instance can contain multiple user-created\ndatabases.\n\nChanges to a DB instance can occur when you manually change a parameter, such as\n`allocated_storage`, and are reflected in the next maintenance window. Because\nof this, this provider may report a difference in its planning phase because a\nmodification has not yet taken place. You can use the `apply_immediately` flag\nto instruct the service to apply the change immediately (see documentation\nbelow).\n\nWhen upgrading the major version of an engine, `allow_major_version_upgrade` must be set to `true`.\n\n\u003e **Note:** using `apply_immediately` can result in a brief downtime as the server reboots.\nSee the AWS Docs on [RDS Instance Maintenance][instance-maintenance] for more information.\n\n\u003e **Note:** All arguments including the username and password will be stored in the raw state as plain-text.\nRead more about sensitive data instate.\n\n\n\n## RDS Instance Class Types\n\nAmazon RDS supports instance classes for the following use cases: General-purpose, Memory-optimized, Burstable Performance, and Optimized-reads.\nFor more information please read the AWS RDS documentation about [DB Instance Class Types](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)\n\n## Low-Downtime Updates\n\nBy default, RDS applies updates to DB Instances in-place, which can lead to service interruptions.\nLow-downtime updates minimize service interruptions by performing the updates with an [RDS Blue/Green deployment][blue-green] and switching over the instances when complete.\n\nLow-downtime updates are only available for DB Instances using MySQL, MariaDB and PostgreSQL,\nas other engines are not supported by RDS Blue/Green deployments.\nThey cannot be used with DB Instances with replicas.\n\nBackups must be enabled to use low-downtime updates.\n\nEnable low-downtime updates by setting `blue_green_update.enabled` to `true`.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"8.0\",\n instanceClass: aws.rds.InstanceType.T3_Micro,\n username: \"foo\",\n password: \"foobarbaz\",\n parameterGroupName: \"default.mysql8.0\",\n skipFinalSnapshot: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"8.0\",\n instance_class=aws.rds.InstanceType.T3_MICRO,\n username=\"foo\",\n password=\"foobarbaz\",\n parameter_group_name=\"default.mysql8.0\",\n skip_final_snapshot=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"8.0\",\n InstanceClass = Aws.Rds.InstanceType.T3_Micro,\n Username = \"foo\",\n Password = \"foobarbaz\",\n ParameterGroupName = \"default.mysql8.0\",\n SkipFinalSnapshot = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T3_Micro),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"foobarbaz\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql8.0\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"8.0\")\n .instanceClass(\"db.t3.micro\")\n .username(\"foo\")\n .password(\"foobarbaz\")\n .parameterGroupName(\"default.mysql8.0\")\n .skipFinalSnapshot(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '8.0'\n instanceClass: db.t3.micro\n username: foo\n password: foobarbaz\n parameterGroupName: default.mysql8.0\n skipFinalSnapshot: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for Oracle Usage with Replica\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Lookup the available instance classes for the custom engine for the region being operated in\nconst custom-oracle = aws.rds.getOrderableDbInstance({\n engine: \"custom-oracle-ee\",\n engineVersion: \"19.c.ee.002\",\n licenseModel: \"bring-your-own-license\",\n storageType: \"gp3\",\n preferredInstanceClasses: [\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n ],\n});\n// The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\nconst byId = aws.kms.getKey({\n keyId: \"example-ef278353ceba4a5a97de6784565b9f78\",\n});\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 50,\n autoMinorVersionUpgrade: false,\n customIamInstanceProfile: \"AWSRDSCustomInstanceProfile\",\n backupRetentionPeriod: 7,\n dbSubnetGroupName: dbSubnetGroupName,\n engine: custom_oracle.then(custom_oracle =\u003e custom_oracle.engine),\n engineVersion: custom_oracle.then(custom_oracle =\u003e custom_oracle.engineVersion),\n identifier: \"ee-instance-demo\",\n instanceClass: custom_oracle.then(custom_oracle =\u003e custom_oracle.instanceClass).apply((x) =\u003e aws.rds.InstanceType[x]),\n kmsKeyId: byId.then(byId =\u003e byId.arn),\n licenseModel: custom_oracle.then(custom_oracle =\u003e custom_oracle.licenseModel),\n multiAz: false,\n password: \"avoid-plaintext-passwords\",\n username: \"test\",\n storageEncrypted: true,\n});\nconst test_replica = new aws.rds.Instance(\"test-replica\", {\n replicateSourceDb: _default.identifier,\n replicaMode: \"mounted\",\n autoMinorVersionUpgrade: false,\n customIamInstanceProfile: \"AWSRDSCustomInstanceProfile\",\n backupRetentionPeriod: 7,\n identifier: \"ee-instance-replica\",\n instanceClass: custom_oracle.then(custom_oracle =\u003e custom_oracle.instanceClass).apply((x) =\u003e aws.rds.InstanceType[x]),\n kmsKeyId: byId.then(byId =\u003e byId.arn),\n multiAz: false,\n skipFinalSnapshot: true,\n storageEncrypted: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Lookup the available instance classes for the custom engine for the region being operated in\ncustom_oracle = aws.rds.get_orderable_db_instance(engine=\"custom-oracle-ee\",\n engine_version=\"19.c.ee.002\",\n license_model=\"bring-your-own-license\",\n storage_type=\"gp3\",\n preferred_instance_classes=[\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n ])\n# The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\nby_id = aws.kms.get_key(key_id=\"example-ef278353ceba4a5a97de6784565b9f78\")\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=50,\n auto_minor_version_upgrade=False,\n custom_iam_instance_profile=\"AWSRDSCustomInstanceProfile\",\n backup_retention_period=7,\n db_subnet_group_name=db_subnet_group_name,\n engine=custom_oracle.engine,\n engine_version=custom_oracle.engine_version,\n identifier=\"ee-instance-demo\",\n instance_class=custom_oracle.instance_class.apply(lambda x: aws.rds.InstanceType(x)),\n kms_key_id=by_id.arn,\n license_model=custom_oracle.license_model,\n multi_az=False,\n password=\"avoid-plaintext-passwords\",\n username=\"test\",\n storage_encrypted=True)\ntest_replica = aws.rds.Instance(\"test-replica\",\n replicate_source_db=default.identifier,\n replica_mode=\"mounted\",\n auto_minor_version_upgrade=False,\n custom_iam_instance_profile=\"AWSRDSCustomInstanceProfile\",\n backup_retention_period=7,\n identifier=\"ee-instance-replica\",\n instance_class=custom_oracle.instance_class.apply(lambda x: aws.rds.InstanceType(x)),\n kms_key_id=by_id.arn,\n multi_az=False,\n skip_final_snapshot=True,\n storage_encrypted=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Lookup the available instance classes for the custom engine for the region being operated in\n var custom_oracle = Aws.Rds.GetOrderableDbInstance.Invoke(new()\n {\n Engine = \"custom-oracle-ee\",\n EngineVersion = \"19.c.ee.002\",\n LicenseModel = \"bring-your-own-license\",\n StorageType = \"gp3\",\n PreferredInstanceClasses = new[]\n {\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n },\n });\n\n // The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\n var byId = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"example-ef278353ceba4a5a97de6784565b9f78\",\n });\n\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 50,\n AutoMinorVersionUpgrade = false,\n CustomIamInstanceProfile = \"AWSRDSCustomInstanceProfile\",\n BackupRetentionPeriod = 7,\n DbSubnetGroupName = dbSubnetGroupName,\n Engine = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.Engine)),\n EngineVersion = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.EngineVersion)),\n Identifier = \"ee-instance-demo\",\n InstanceClass = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.InstanceClass)).Apply(System.Enum.Parse\u003cAws.Rds.InstanceType\u003e),\n KmsKeyId = byId.Apply(getKeyResult =\u003e getKeyResult.Arn),\n LicenseModel = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.LicenseModel)),\n MultiAz = false,\n Password = \"avoid-plaintext-passwords\",\n Username = \"test\",\n StorageEncrypted = true,\n });\n\n var test_replica = new Aws.Rds.Instance(\"test-replica\", new()\n {\n ReplicateSourceDb = @default.Identifier,\n ReplicaMode = \"mounted\",\n AutoMinorVersionUpgrade = false,\n CustomIamInstanceProfile = \"AWSRDSCustomInstanceProfile\",\n BackupRetentionPeriod = 7,\n Identifier = \"ee-instance-replica\",\n InstanceClass = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.InstanceClass)).Apply(System.Enum.Parse\u003cAws.Rds.InstanceType\u003e),\n KmsKeyId = byId.Apply(getKeyResult =\u003e getKeyResult.Arn),\n MultiAz = false,\n SkipFinalSnapshot = true,\n StorageEncrypted = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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// Lookup the available instance classes for the custom engine for the region being operated in\n\t\tcustom_oracle, err := rds.GetOrderableDbInstance(ctx, \u0026rds.GetOrderableDbInstanceArgs{\n\t\t\tEngine: \"custom-oracle-ee\",\n\t\t\tEngineVersion: pulumi.StringRef(\"19.c.ee.002\"),\n\t\t\tLicenseModel: pulumi.StringRef(\"bring-your-own-license\"),\n\t\t\tStorageType: pulumi.StringRef(\"gp3\"),\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.r5.xlarge\",\n\t\t\t\t\"db.r5.2xlarge\",\n\t\t\t\t\"db.r5.4xlarge\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\n\t\tbyId, err := kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"example-ef278353ceba4a5a97de6784565b9f78\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(50),\n\t\t\tAutoMinorVersionUpgrade: pulumi.Bool(false),\n\t\t\tCustomIamInstanceProfile: pulumi.String(\"AWSRDSCustomInstanceProfile\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tDbSubnetGroupName: pulumi.Any(dbSubnetGroupName),\n\t\t\tEngine: pulumi.String(custom_oracle.Engine),\n\t\t\tEngineVersion: pulumi.String(custom_oracle.EngineVersion),\n\t\t\tIdentifier: pulumi.String(\"ee-instance-demo\"),\n\t\t\tInstanceClass: custom_oracle.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput),\n\t\t\tKmsKeyId: pulumi.String(byId.Arn),\n\t\t\tLicenseModel: pulumi.String(custom_oracle.LicenseModel),\n\t\t\tMultiAz: pulumi.Bool(false),\n\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\tUsername: pulumi.String(\"test\"),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"test-replica\", \u0026rds.InstanceArgs{\n\t\t\tReplicateSourceDb: _default.Identifier,\n\t\t\tReplicaMode: pulumi.String(\"mounted\"),\n\t\t\tAutoMinorVersionUpgrade: pulumi.Bool(false),\n\t\t\tCustomIamInstanceProfile: pulumi.String(\"AWSRDSCustomInstanceProfile\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tIdentifier: pulumi.String(\"ee-instance-replica\"),\n\t\t\tInstanceClass: custom_oracle.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput),\n\t\t\tKmsKeyId: pulumi.String(byId.Arn),\n\t\t\tMultiAz: pulumi.Bool(false),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetKeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Lookup the available instance classes for the custom engine for the region being operated in\n final var custom-oracle = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(\"custom-oracle-ee\")\n .engineVersion(\"19.c.ee.002\")\n .licenseModel(\"bring-your-own-license\")\n .storageType(\"gp3\")\n .preferredInstanceClasses( \n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\")\n .build());\n\n // The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\n final var byId = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"example-ef278353ceba4a5a97de6784565b9f78\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .allocatedStorage(50)\n .autoMinorVersionUpgrade(false)\n .customIamInstanceProfile(\"AWSRDSCustomInstanceProfile\")\n .backupRetentionPeriod(7)\n .dbSubnetGroupName(dbSubnetGroupName)\n .engine(custom_oracle.engine())\n .engineVersion(custom_oracle.engineVersion())\n .identifier(\"ee-instance-demo\")\n .instanceClass(custom_oracle.instanceClass())\n .kmsKeyId(byId.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .licenseModel(custom_oracle.licenseModel())\n .multiAz(false)\n .password(\"avoid-plaintext-passwords\")\n .username(\"test\")\n .storageEncrypted(true)\n .build());\n\n var test_replica = new Instance(\"test-replica\", InstanceArgs.builder()\n .replicateSourceDb(default_.identifier())\n .replicaMode(\"mounted\")\n .autoMinorVersionUpgrade(false)\n .customIamInstanceProfile(\"AWSRDSCustomInstanceProfile\")\n .backupRetentionPeriod(7)\n .identifier(\"ee-instance-replica\")\n .instanceClass(custom_oracle.instanceClass())\n .kmsKeyId(byId.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .multiAz(false)\n .skipFinalSnapshot(true)\n .storageEncrypted(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 50\n autoMinorVersionUpgrade: false # Custom for Oracle does not support minor version upgrades\n customIamInstanceProfile: AWSRDSCustomInstanceProfile\n backupRetentionPeriod: 7\n dbSubnetGroupName: ${dbSubnetGroupName}\n engine: ${[\"custom-oracle\"].engine}\n engineVersion: ${[\"custom-oracle\"].engineVersion}\n identifier: ee-instance-demo\n instanceClass: ${[\"custom-oracle\"].instanceClass}\n kmsKeyId: ${byId.arn}\n licenseModel: ${[\"custom-oracle\"].licenseModel}\n multiAz: false # Custom for Oracle does not support multi-az\n password: avoid-plaintext-passwords\n username: test\n storageEncrypted: true\n test-replica:\n type: aws:rds:Instance\n properties:\n replicateSourceDb: ${default.identifier}\n replicaMode: mounted\n autoMinorVersionUpgrade: false\n customIamInstanceProfile: AWSRDSCustomInstanceProfile\n backupRetentionPeriod: 7\n identifier: ee-instance-replica\n instanceClass: ${[\"custom-oracle\"].instanceClass}\n kmsKeyId: ${byId.arn}\n multiAz: false # Custom for Oracle does not support multi-az\n skipFinalSnapshot: true\n storageEncrypted: true\nvariables:\n # Lookup the available instance classes for the custom engine for the region being operated in\n custom-oracle:\n fn::invoke:\n Function: aws:rds:getOrderableDbInstance\n Arguments:\n engine: custom-oracle-ee\n engineVersion: 19.c.ee.002\n licenseModel: bring-your-own-license\n storageType: gp3\n preferredInstanceClasses:\n - db.r5.xlarge\n - db.r5.2xlarge\n - db.r5.4xlarge\n # The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\n byId:\n fn::invoke:\n Function: aws:kms:getKey\n Arguments:\n keyId: example-ef278353ceba4a5a97de6784565b9f78\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for SQL Server\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Lookup the available instance classes for the custom engine for the region being operated in\nconst custom-sqlserver = aws.rds.getOrderableDbInstance({\n engine: \"custom-sqlserver-se\",\n engineVersion: \"15.00.4249.2.v1\",\n storageType: \"gp3\",\n preferredInstanceClasses: [\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n ],\n});\n// The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\nconst byId = aws.kms.getKey({\n keyId: \"example-ef278353ceba4a5a97de6784565b9f78\",\n});\nconst example = new aws.rds.Instance(\"example\", {\n allocatedStorage: 500,\n autoMinorVersionUpgrade: false,\n customIamInstanceProfile: \"AWSRDSCustomSQLServerInstanceProfile\",\n backupRetentionPeriod: 7,\n dbSubnetGroupName: dbSubnetGroupName,\n engine: custom_sqlserver.then(custom_sqlserver =\u003e custom_sqlserver.engine),\n engineVersion: custom_sqlserver.then(custom_sqlserver =\u003e custom_sqlserver.engineVersion),\n identifier: \"sql-instance-demo\",\n instanceClass: custom_sqlserver.then(custom_sqlserver =\u003e custom_sqlserver.instanceClass).apply((x) =\u003e aws.rds.InstanceType[x]),\n kmsKeyId: byId.then(byId =\u003e byId.arn),\n multiAz: false,\n password: \"avoid-plaintext-passwords\",\n storageEncrypted: true,\n username: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Lookup the available instance classes for the custom engine for the region being operated in\ncustom_sqlserver = aws.rds.get_orderable_db_instance(engine=\"custom-sqlserver-se\",\n engine_version=\"15.00.4249.2.v1\",\n storage_type=\"gp3\",\n preferred_instance_classes=[\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n ])\n# The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\nby_id = aws.kms.get_key(key_id=\"example-ef278353ceba4a5a97de6784565b9f78\")\nexample = aws.rds.Instance(\"example\",\n allocated_storage=500,\n auto_minor_version_upgrade=False,\n custom_iam_instance_profile=\"AWSRDSCustomSQLServerInstanceProfile\",\n backup_retention_period=7,\n db_subnet_group_name=db_subnet_group_name,\n engine=custom_sqlserver.engine,\n engine_version=custom_sqlserver.engine_version,\n identifier=\"sql-instance-demo\",\n instance_class=custom_sqlserver.instance_class.apply(lambda x: aws.rds.InstanceType(x)),\n kms_key_id=by_id.arn,\n multi_az=False,\n password=\"avoid-plaintext-passwords\",\n storage_encrypted=True,\n username=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Lookup the available instance classes for the custom engine for the region being operated in\n var custom_sqlserver = Aws.Rds.GetOrderableDbInstance.Invoke(new()\n {\n Engine = \"custom-sqlserver-se\",\n EngineVersion = \"15.00.4249.2.v1\",\n StorageType = \"gp3\",\n PreferredInstanceClasses = new[]\n {\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n },\n });\n\n // The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\n var byId = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"example-ef278353ceba4a5a97de6784565b9f78\",\n });\n\n var example = new Aws.Rds.Instance(\"example\", new()\n {\n AllocatedStorage = 500,\n AutoMinorVersionUpgrade = false,\n CustomIamInstanceProfile = \"AWSRDSCustomSQLServerInstanceProfile\",\n BackupRetentionPeriod = 7,\n DbSubnetGroupName = dbSubnetGroupName,\n Engine = custom_sqlserver.Apply(custom_sqlserver =\u003e custom_sqlserver.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.Engine)),\n EngineVersion = custom_sqlserver.Apply(custom_sqlserver =\u003e custom_sqlserver.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.EngineVersion)),\n Identifier = \"sql-instance-demo\",\n InstanceClass = custom_sqlserver.Apply(custom_sqlserver =\u003e custom_sqlserver.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.InstanceClass)).Apply(System.Enum.Parse\u003cAws.Rds.InstanceType\u003e),\n KmsKeyId = byId.Apply(getKeyResult =\u003e getKeyResult.Arn),\n MultiAz = false,\n Password = \"avoid-plaintext-passwords\",\n StorageEncrypted = true,\n Username = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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// Lookup the available instance classes for the custom engine for the region being operated in\n\t\tcustom_sqlserver, err := rds.GetOrderableDbInstance(ctx, \u0026rds.GetOrderableDbInstanceArgs{\n\t\t\tEngine: \"custom-sqlserver-se\",\n\t\t\tEngineVersion: pulumi.StringRef(\"15.00.4249.2.v1\"),\n\t\t\tStorageType: pulumi.StringRef(\"gp3\"),\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.r5.xlarge\",\n\t\t\t\t\"db.r5.2xlarge\",\n\t\t\t\t\"db.r5.4xlarge\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\n\t\tbyId, err := kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"example-ef278353ceba4a5a97de6784565b9f78\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(500),\n\t\t\tAutoMinorVersionUpgrade: pulumi.Bool(false),\n\t\t\tCustomIamInstanceProfile: pulumi.String(\"AWSRDSCustomSQLServerInstanceProfile\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tDbSubnetGroupName: pulumi.Any(dbSubnetGroupName),\n\t\t\tEngine: pulumi.String(custom_sqlserver.Engine),\n\t\t\tEngineVersion: pulumi.String(custom_sqlserver.EngineVersion),\n\t\t\tIdentifier: pulumi.String(\"sql-instance-demo\"),\n\t\t\tInstanceClass: custom_sqlserver.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput),\n\t\t\tKmsKeyId: pulumi.String(byId.Arn),\n\t\t\tMultiAz: pulumi.Bool(false),\n\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t\tUsername: pulumi.String(\"test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetKeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Lookup the available instance classes for the custom engine for the region being operated in\n final var custom-sqlserver = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(\"custom-sqlserver-se\")\n .engineVersion(\"15.00.4249.2.v1\")\n .storageType(\"gp3\")\n .preferredInstanceClasses( \n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\")\n .build());\n\n // The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\n final var byId = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"example-ef278353ceba4a5a97de6784565b9f78\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .allocatedStorage(500)\n .autoMinorVersionUpgrade(false)\n .customIamInstanceProfile(\"AWSRDSCustomSQLServerInstanceProfile\")\n .backupRetentionPeriod(7)\n .dbSubnetGroupName(dbSubnetGroupName)\n .engine(custom_sqlserver.engine())\n .engineVersion(custom_sqlserver.engineVersion())\n .identifier(\"sql-instance-demo\")\n .instanceClass(custom_sqlserver.instanceClass())\n .kmsKeyId(byId.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .multiAz(false)\n .password(\"avoid-plaintext-passwords\")\n .storageEncrypted(true)\n .username(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 500\n autoMinorVersionUpgrade: false # Custom for SQL Server does not support minor version upgrades\n customIamInstanceProfile: AWSRDSCustomSQLServerInstanceProfile\n backupRetentionPeriod: 7\n dbSubnetGroupName: ${dbSubnetGroupName}\n engine: ${[\"custom-sqlserver\"].engine}\n engineVersion: ${[\"custom-sqlserver\"].engineVersion}\n identifier: sql-instance-demo\n instanceClass: ${[\"custom-sqlserver\"].instanceClass}\n kmsKeyId: ${byId.arn}\n multiAz: false # Custom for SQL Server does support multi-az\n password: avoid-plaintext-passwords\n storageEncrypted: true\n username: test\nvariables:\n # Lookup the available instance classes for the custom engine for the region being operated in\n custom-sqlserver:\n fn::invoke:\n Function: aws:rds:getOrderableDbInstance\n Arguments:\n engine: custom-sqlserver-se\n engineVersion: 15.00.4249.2.v1\n storageType: gp3\n preferredInstanceClasses:\n - db.r5.xlarge\n - db.r5.2xlarge\n - db.r5.4xlarge\n # The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\n byId:\n fn::invoke:\n Function: aws:kms:getKey\n Arguments:\n keyId: example-ef278353ceba4a5a97de6784565b9f78\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Db2 Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\nconst default = aws.rds.getEngineVersion({\n engine: \"db2-se\",\n});\n// Lookup the available instance classes for the engine in the region being operated in\nconst example = Promise.all([_default, _default]).then(([_default, _default1]) =\u003e aws.rds.getOrderableDbInstance({\n engine: _default.engine,\n engineVersion: _default1.version,\n licenseModel: \"bring-your-own-license\",\n storageType: \"gp3\",\n preferredInstanceClasses: [\n \"db.t3.small\",\n \"db.r6i.large\",\n \"db.m6i.large\",\n ],\n}));\n// The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\nconst exampleParameterGroup = new aws.rds.ParameterGroup(\"example\", {\n name: \"db-db2-params\",\n family: _default.then(_default =\u003e _default.parameterGroupFamily),\n parameters: [\n {\n applyMethod: \"immediate\",\n name: \"rds.ibm_customer_id\",\n value: \"0\",\n },\n {\n applyMethod: \"immediate\",\n name: \"rds.ibm_site_id\",\n value: \"0\",\n },\n ],\n});\n// Create the RDS Db2 instance, use the data sources defined to set attributes\nconst exampleInstance = new aws.rds.Instance(\"example\", {\n allocatedStorage: 100,\n backupRetentionPeriod: 7,\n dbName: \"test\",\n engine: example.then(example =\u003e example.engine),\n engineVersion: example.then(example =\u003e example.engineVersion),\n identifier: \"db2-instance-demo\",\n instanceClass: example.then(example =\u003e example.instanceClass).apply((x) =\u003e aws.rds.InstanceType[x]),\n parameterGroupName: exampleParameterGroup.name,\n password: \"avoid-plaintext-passwords\",\n username: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\ndefault = aws.rds.get_engine_version(engine=\"db2-se\")\n# Lookup the available instance classes for the engine in the region being operated in\nexample = aws.rds.get_orderable_db_instance(engine=default.engine,\n engine_version=default.version,\n license_model=\"bring-your-own-license\",\n storage_type=\"gp3\",\n preferred_instance_classes=[\n \"db.t3.small\",\n \"db.r6i.large\",\n \"db.m6i.large\",\n ])\n# The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\nexample_parameter_group = aws.rds.ParameterGroup(\"example\",\n name=\"db-db2-params\",\n family=default.parameter_group_family,\n parameters=[\n {\n \"apply_method\": \"immediate\",\n \"name\": \"rds.ibm_customer_id\",\n \"value\": \"0\",\n },\n {\n \"apply_method\": \"immediate\",\n \"name\": \"rds.ibm_site_id\",\n \"value\": \"0\",\n },\n ])\n# Create the RDS Db2 instance, use the data sources defined to set attributes\nexample_instance = aws.rds.Instance(\"example\",\n allocated_storage=100,\n backup_retention_period=7,\n db_name=\"test\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"db2-instance-demo\",\n instance_class=example.instance_class.apply(lambda x: aws.rds.InstanceType(x)),\n parameter_group_name=example_parameter_group.name,\n password=\"avoid-plaintext-passwords\",\n username=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\n var @default = Aws.Rds.GetEngineVersion.Invoke(new()\n {\n Engine = \"db2-se\",\n });\n\n // Lookup the available instance classes for the engine in the region being operated in\n var example = Aws.Rds.GetOrderableDbInstance.Invoke(new()\n {\n Engine = @default.Apply(getEngineVersionResult =\u003e getEngineVersionResult.Engine),\n EngineVersion = @default.Apply(getEngineVersionResult =\u003e getEngineVersionResult.Version),\n LicenseModel = \"bring-your-own-license\",\n StorageType = \"gp3\",\n PreferredInstanceClasses = new[]\n {\n \"db.t3.small\",\n \"db.r6i.large\",\n \"db.m6i.large\",\n },\n });\n\n // The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\n var exampleParameterGroup = new Aws.Rds.ParameterGroup(\"example\", new()\n {\n Name = \"db-db2-params\",\n Family = @default.Apply(@default =\u003e @default.Apply(getEngineVersionResult =\u003e getEngineVersionResult.ParameterGroupFamily)),\n Parameters = new[]\n {\n new Aws.Rds.Inputs.ParameterGroupParameterArgs\n {\n ApplyMethod = \"immediate\",\n Name = \"rds.ibm_customer_id\",\n Value = \"0\",\n },\n new Aws.Rds.Inputs.ParameterGroupParameterArgs\n {\n ApplyMethod = \"immediate\",\n Name = \"rds.ibm_site_id\",\n Value = \"0\",\n },\n },\n });\n\n // Create the RDS Db2 instance, use the data sources defined to set attributes\n var exampleInstance = new Aws.Rds.Instance(\"example\", new()\n {\n AllocatedStorage = 100,\n BackupRetentionPeriod = 7,\n DbName = \"test\",\n Engine = example.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.Engine),\n EngineVersion = example.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.EngineVersion),\n Identifier = \"db2-instance-demo\",\n InstanceClass = example.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.InstanceClass).Apply(System.Enum.Parse\u003cAws.Rds.InstanceType\u003e),\n ParameterGroupName = exampleParameterGroup.Name,\n Password = \"avoid-plaintext-passwords\",\n Username = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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// Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\n\t\t_default, err := rds.GetEngineVersion(ctx, \u0026rds.GetEngineVersionArgs{\n\t\t\tEngine: \"db2-se\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Lookup the available instance classes for the engine in the region being operated in\n\t\texample, err := rds.GetOrderableDbInstance(ctx, \u0026rds.GetOrderableDbInstanceArgs{\n\t\t\tEngine: _default.Engine,\n\t\t\tEngineVersion: pulumi.StringRef(_default.Version),\n\t\t\tLicenseModel: pulumi.StringRef(\"bring-your-own-license\"),\n\t\t\tStorageType: pulumi.StringRef(\"gp3\"),\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.t3.small\",\n\t\t\t\t\"db.r6i.large\",\n\t\t\t\t\"db.m6i.large\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\n\t\texampleParameterGroup, err := rds.NewParameterGroup(ctx, \"example\", \u0026rds.ParameterGroupArgs{\n\t\t\tName: pulumi.String(\"db-db2-params\"),\n\t\t\tFamily: pulumi.String(_default.ParameterGroupFamily),\n\t\t\tParameters: rds.ParameterGroupParameterArray{\n\t\t\t\t\u0026rds.ParameterGroupParameterArgs{\n\t\t\t\t\tApplyMethod: pulumi.String(\"immediate\"),\n\t\t\t\t\tName: pulumi.String(\"rds.ibm_customer_id\"),\n\t\t\t\t\tValue: pulumi.String(\"0\"),\n\t\t\t\t},\n\t\t\t\t\u0026rds.ParameterGroupParameterArgs{\n\t\t\t\t\tApplyMethod: pulumi.String(\"immediate\"),\n\t\t\t\t\tName: pulumi.String(\"rds.ibm_site_id\"),\n\t\t\t\t\tValue: pulumi.String(\"0\"),\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\t// Create the RDS Db2 instance, use the data sources defined to set attributes\n\t\t_, err = rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(100),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tDbName: pulumi.String(\"test\"),\n\t\t\tEngine: pulumi.String(example.Engine),\n\t\t\tEngineVersion: pulumi.String(example.EngineVersion),\n\t\t\tIdentifier: pulumi.String(\"db2-instance-demo\"),\n\t\t\tInstanceClass: example.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput),\n\t\t\tParameterGroupName: exampleParameterGroup.Name,\n\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\tUsername: pulumi.String(\"test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetEngineVersionArgs;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport com.pulumi.aws.rds.ParameterGroup;\nimport com.pulumi.aws.rds.ParameterGroupArgs;\nimport com.pulumi.aws.rds.inputs.ParameterGroupParameterArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\n final var default = RdsFunctions.getEngineVersion(GetEngineVersionArgs.builder()\n .engine(\"db2-se\")\n .build());\n\n // Lookup the available instance classes for the engine in the region being operated in\n final var example = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(default_.engine())\n .engineVersion(default_.version())\n .licenseModel(\"bring-your-own-license\")\n .storageType(\"gp3\")\n .preferredInstanceClasses( \n \"db.t3.small\",\n \"db.r6i.large\",\n \"db.m6i.large\")\n .build());\n\n // The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\n var exampleParameterGroup = new ParameterGroup(\"exampleParameterGroup\", ParameterGroupArgs.builder()\n .name(\"db-db2-params\")\n .family(default_.parameterGroupFamily())\n .parameters( \n ParameterGroupParameterArgs.builder()\n .applyMethod(\"immediate\")\n .name(\"rds.ibm_customer_id\")\n .value(0)\n .build(),\n ParameterGroupParameterArgs.builder()\n .applyMethod(\"immediate\")\n .name(\"rds.ibm_site_id\")\n .value(0)\n .build())\n .build());\n\n // Create the RDS Db2 instance, use the data sources defined to set attributes\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .allocatedStorage(100)\n .backupRetentionPeriod(7)\n .dbName(\"test\")\n .engine(example.applyValue(getOrderableDbInstanceResult -\u003e getOrderableDbInstanceResult.engine()))\n .engineVersion(example.applyValue(getOrderableDbInstanceResult -\u003e getOrderableDbInstanceResult.engineVersion()))\n .identifier(\"db2-instance-demo\")\n .instanceClass(example.applyValue(getOrderableDbInstanceResult -\u003e getOrderableDbInstanceResult.instanceClass()))\n .parameterGroupName(exampleParameterGroup.name())\n .password(\"avoid-plaintext-passwords\")\n .username(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\n exampleParameterGroup:\n type: aws:rds:ParameterGroup\n name: example\n properties:\n name: db-db2-params\n family: ${default.parameterGroupFamily}\n parameters:\n - applyMethod: immediate\n name: rds.ibm_customer_id\n value: 0\n - applyMethod: immediate\n name: rds.ibm_site_id\n value: 0\n # Create the RDS Db2 instance, use the data sources defined to set attributes\n exampleInstance:\n type: aws:rds:Instance\n name: example\n properties:\n allocatedStorage: 100\n backupRetentionPeriod: 7\n dbName: test\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: db2-instance-demo\n instanceClass: ${example.instanceClass}\n parameterGroupName: ${exampleParameterGroup.name}\n password: avoid-plaintext-passwords\n username: test\nvariables:\n # Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\n default:\n fn::invoke:\n Function: aws:rds:getEngineVersion\n Arguments:\n engine: db2-se\n # Lookup the available instance classes for the engine in the region being operated in\n example:\n fn::invoke:\n Function: aws:rds:getOrderableDbInstance\n Arguments:\n engine: ${default.engine}\n engineVersion: ${default.version}\n licenseModel: bring-your-own-license\n storageType: gp3\n preferredInstanceClasses:\n - db.t3.small\n - db.r6i.large\n - db.m6i.large\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Storage Autoscaling\n\nTo enable Storage Autoscaling with instances that support the feature, define the `max_allocated_storage` argument higher than the `allocated_storage` argument. This provider will automatically hide differences with the `allocated_storage` argument value if autoscaling occurs.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Instance(\"example\", {\n allocatedStorage: 50,\n maxAllocatedStorage: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Instance(\"example\",\n allocated_storage=50,\n max_allocated_storage=100)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Instance(\"example\", new()\n {\n AllocatedStorage = 50,\n MaxAllocatedStorage = 100,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(50),\n\t\t\tMaxAllocatedStorage: pulumi.Int(100),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Instance(\"example\", InstanceArgs.builder()\n .allocatedStorage(50)\n .maxAllocatedStorage(100)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 50\n maxAllocatedStorage: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managed Master Passwords via Secrets Manager, default KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `password` attribute (removal is required).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"8.0\",\n instanceClass: aws.rds.InstanceType.T3_Micro,\n manageMasterUserPassword: true,\n username: \"foo\",\n parameterGroupName: \"default.mysql8.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"8.0\",\n instance_class=aws.rds.InstanceType.T3_MICRO,\n manage_master_user_password=True,\n username=\"foo\",\n parameter_group_name=\"default.mysql8.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"8.0\",\n InstanceClass = Aws.Rds.InstanceType.T3_Micro,\n ManageMasterUserPassword = true,\n Username = \"foo\",\n ParameterGroupName = \"default.mysql8.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T3_Micro),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql8.0\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"8.0\")\n .instanceClass(\"db.t3.micro\")\n .manageMasterUserPassword(true)\n .username(\"foo\")\n .parameterGroupName(\"default.mysql8.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '8.0'\n instanceClass: db.t3.micro\n manageMasterUserPassword: true\n username: foo\n parameterGroupName: default.mysql8.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managed Master Passwords via Secrets Manager, specific KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"Example KMS Key\"});\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"8.0\",\n instanceClass: aws.rds.InstanceType.T3_Micro,\n manageMasterUserPassword: true,\n masterUserSecretKmsKeyId: example.keyId,\n username: \"foo\",\n parameterGroupName: \"default.mysql8.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"Example KMS Key\")\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"8.0\",\n instance_class=aws.rds.InstanceType.T3_MICRO,\n manage_master_user_password=True,\n master_user_secret_kms_key_id=example.key_id,\n username=\"foo\",\n parameter_group_name=\"default.mysql8.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n });\n\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"8.0\",\n InstanceClass = Aws.Rds.InstanceType.T3_Micro,\n ManageMasterUserPassword = true,\n MasterUserSecretKmsKeyId = example.KeyId,\n Username = \"foo\",\n ParameterGroupName = \"default.mysql8.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example KMS Key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T3_Micro),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUserSecretKmsKeyId: example.KeyId,\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql8.0\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Key(\"example\", KeyArgs.builder()\n .description(\"Example KMS Key\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"8.0\")\n .instanceClass(\"db.t3.micro\")\n .manageMasterUserPassword(true)\n .masterUserSecretKmsKeyId(example.keyId())\n .username(\"foo\")\n .parameterGroupName(\"default.mysql8.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '8.0'\n instanceClass: db.t3.micro\n manageMasterUserPassword: true\n masterUserSecretKmsKeyId: ${example.keyId}\n username: foo\n parameterGroupName: default.mysql8.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DB Instances using the `identifier`. For example:\n\n```sh\n$ pulumi import aws:rds/instance:Instance default mydb-rds-instance\n```\n", "properties": { "address": { "type": "string", @@ -333597,7 +333597,7 @@ } }, "aws:rds/integration:Integration": { - "description": "Resource for managing an AWS RDS (Relational Database) zero-ETL integration. You can refer to the [User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.setting-up.html).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftserverless.Namespace(\"example\", {namespaceName: \"redshift-example\"});\nconst exampleWorkgroup = new aws.redshiftserverless.Workgroup(\"example\", {\n namespaceName: example.namespaceName,\n workgroupName: \"example-workspace\",\n baseCapacity: 8,\n publiclyAccessible: false,\n subnetIds: [\n example1.id,\n example2.id,\n example3.id,\n ],\n configParameters: [{\n parameterKey: \"enable_case_sensitive_identifier\",\n parameterValue: \"true\",\n }],\n});\nconst exampleIntegration = new aws.rds.Integration(\"example\", {\n integrationName: \"example\",\n sourceArn: exampleAwsRdsCluster.arn,\n targetArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.Namespace(\"example\", namespace_name=\"redshift-example\")\nexample_workgroup = aws.redshiftserverless.Workgroup(\"example\",\n namespace_name=example.namespace_name,\n workgroup_name=\"example-workspace\",\n base_capacity=8,\n publicly_accessible=False,\n subnet_ids=[\n example1[\"id\"],\n example2[\"id\"],\n example3[\"id\"],\n ],\n config_parameters=[{\n \"parameter_key\": \"enable_case_sensitive_identifier\",\n \"parameter_value\": \"true\",\n }])\nexample_integration = aws.rds.Integration(\"example\",\n integration_name=\"example\",\n source_arn=example_aws_rds_cluster[\"arn\"],\n target_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftServerless.Namespace(\"example\", new()\n {\n NamespaceName = \"redshift-example\",\n });\n\n var exampleWorkgroup = new Aws.RedshiftServerless.Workgroup(\"example\", new()\n {\n NamespaceName = example.NamespaceName,\n WorkgroupName = \"example-workspace\",\n BaseCapacity = 8,\n PubliclyAccessible = false,\n SubnetIds = new[]\n {\n example1.Id,\n example2.Id,\n example3.Id,\n },\n ConfigParameters = new[]\n {\n new Aws.RedshiftServerless.Inputs.WorkgroupConfigParameterArgs\n {\n ParameterKey = \"enable_case_sensitive_identifier\",\n ParameterValue = \"true\",\n },\n },\n });\n\n var exampleIntegration = new Aws.Rds.Integration(\"example\", new()\n {\n IntegrationName = \"example\",\n SourceArn = exampleAwsRdsCluster.Arn,\n TargetArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := redshiftserverless.NewNamespace(ctx, \"example\", \u0026redshiftserverless.NamespaceArgs{\n\t\t\tNamespaceName: pulumi.String(\"redshift-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redshiftserverless.NewWorkgroup(ctx, \"example\", \u0026redshiftserverless.WorkgroupArgs{\n\t\t\tNamespaceName: example.NamespaceName,\n\t\t\tWorkgroupName: pulumi.String(\"example-workspace\"),\n\t\t\tBaseCapacity: pulumi.Int(8),\n\t\t\tPubliclyAccessible: pulumi.Bool(false),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.Id,\n\t\t\t\texample3.Id,\n\t\t\t},\n\t\t\tConfigParameters: redshiftserverless.WorkgroupConfigParameterArray{\n\t\t\t\t\u0026redshiftserverless.WorkgroupConfigParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"enable_case_sensitive_identifier\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"true\"),\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\t_, err = rds.NewIntegration(ctx, \"example\", \u0026rds.IntegrationArgs{\n\t\t\tIntegrationName: pulumi.String(\"example\"),\n\t\t\tSourceArn: pulumi.Any(exampleAwsRdsCluster.Arn),\n\t\t\tTargetArn: example.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshiftserverless.Namespace;\nimport com.pulumi.aws.redshiftserverless.NamespaceArgs;\nimport com.pulumi.aws.redshiftserverless.Workgroup;\nimport com.pulumi.aws.redshiftserverless.WorkgroupArgs;\nimport com.pulumi.aws.redshiftserverless.inputs.WorkgroupConfigParameterArgs;\nimport com.pulumi.aws.rds.Integration;\nimport com.pulumi.aws.rds.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Namespace(\"example\", NamespaceArgs.builder()\n .namespaceName(\"redshift-example\")\n .build());\n\n var exampleWorkgroup = new Workgroup(\"exampleWorkgroup\", WorkgroupArgs.builder()\n .namespaceName(example.namespaceName())\n .workgroupName(\"example-workspace\")\n .baseCapacity(8)\n .publiclyAccessible(false)\n .subnetIds( \n example1.id(),\n example2.id(),\n example3.id())\n .configParameters(WorkgroupConfigParameterArgs.builder()\n .parameterKey(\"enable_case_sensitive_identifier\")\n .parameterValue(\"true\")\n .build())\n .build());\n\n var exampleIntegration = new Integration(\"exampleIntegration\", IntegrationArgs.builder()\n .integrationName(\"example\")\n .sourceArn(exampleAwsRdsCluster.arn())\n .targetArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftserverless:Namespace\n properties:\n namespaceName: redshift-example\n exampleWorkgroup:\n type: aws:redshiftserverless:Workgroup\n name: example\n properties:\n namespaceName: ${example.namespaceName}\n workgroupName: example-workspace\n baseCapacity: 8\n publiclyAccessible: false\n subnetIds:\n - ${example1.id}\n - ${example2.id}\n - ${example3.id}\n configParameters:\n - parameterKey: enable_case_sensitive_identifier\n parameterValue: 'true'\n exampleIntegration:\n type: aws:rds:Integration\n name: example\n properties:\n integrationName: example\n sourceArn: ${exampleAwsRdsCluster.arn}\n targetArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use own KMS key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst keyPolicy = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [\n {\n actions: [\"kms:*\"],\n resources: [\"*\"],\n principals: [{\n type: \"AWS\",\n identifiers: [`arn:aws:iam::${current.accountId}:root`],\n }],\n },\n {\n actions: [\"kms:CreateGrant\"],\n resources: [\"*\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"redshift.amazonaws.com\"],\n }],\n },\n ],\n}));\nconst example = new aws.kms.Key(\"example\", {\n deletionWindowInDays: 10,\n policy: keyPolicy.then(keyPolicy =\u003e keyPolicy.json),\n});\nconst exampleIntegration = new aws.rds.Integration(\"example\", {\n integrationName: \"example\",\n sourceArn: exampleAwsRdsCluster.arn,\n targetArn: exampleAwsRedshiftserverlessNamespace.arn,\n kmsKeyId: example.arn,\n additionalEncryptionContext: {\n example: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nkey_policy = aws.iam.get_policy_document(statements=[\n {\n \"actions\": [\"kms:*\"],\n \"resources\": [\"*\"],\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [f\"arn:aws:iam::{current.account_id}:root\"],\n }],\n },\n {\n \"actions\": [\"kms:CreateGrant\"],\n \"resources\": [\"*\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"redshift.amazonaws.com\"],\n }],\n },\n])\nexample = aws.kms.Key(\"example\",\n deletion_window_in_days=10,\n policy=key_policy.json)\nexample_integration = aws.rds.Integration(\"example\",\n integration_name=\"example\",\n source_arn=example_aws_rds_cluster[\"arn\"],\n target_arn=example_aws_redshiftserverless_namespace[\"arn\"],\n kms_key_id=example.arn,\n additional_encryption_context={\n \"example\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var keyPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"kms:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"kms:CreateGrant\",\n },\n Resources = new[]\n {\n \"*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"redshift.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n DeletionWindowInDays = 10,\n Policy = keyPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleIntegration = new Aws.Rds.Integration(\"example\", new()\n {\n IntegrationName = \"example\",\n SourceArn = exampleAwsRdsCluster.Arn,\n TargetArn = exampleAwsRedshiftserverlessNamespace.Arn,\n KmsKeyId = example.Arn,\n AdditionalEncryptionContext = \n {\n { \"example\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkeyPolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:CreateGrant\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"redshift.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\n\t\t\tPolicy: pulumi.String(keyPolicy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewIntegration(ctx, \"example\", \u0026rds.IntegrationArgs{\n\t\t\tIntegrationName: pulumi.String(\"example\"),\n\t\t\tSourceArn: pulumi.Any(exampleAwsRdsCluster.Arn),\n\t\t\tTargetArn: pulumi.Any(exampleAwsRedshiftserverlessNamespace.Arn),\n\t\t\tKmsKeyId: example.Arn,\n\t\t\tAdditionalEncryptionContext: pulumi.StringMap{\n\t\t\t\t\"example\": pulumi.String(\"test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.Integration;\nimport com.pulumi.aws.rds.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var keyPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions(\"kms:*\")\n .resources(\"*\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions(\"kms:CreateGrant\")\n .resources(\"*\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"redshift.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var example = new Key(\"example\", KeyArgs.builder()\n .deletionWindowInDays(10)\n .policy(keyPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleIntegration = new Integration(\"exampleIntegration\", IntegrationArgs.builder()\n .integrationName(\"example\")\n .sourceArn(exampleAwsRdsCluster.arn())\n .targetArn(exampleAwsRedshiftserverlessNamespace.arn())\n .kmsKeyId(example.arn())\n .additionalEncryptionContext(Map.of(\"example\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n deletionWindowInDays: 10\n policy: ${keyPolicy.json}\n exampleIntegration:\n type: aws:rds:Integration\n name: example\n properties:\n integrationName: example\n sourceArn: ${exampleAwsRdsCluster.arn}\n targetArn: ${exampleAwsRedshiftserverlessNamespace.arn}\n kmsKeyId: ${example.arn}\n additionalEncryptionContext:\n example: test\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n keyPolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - kms:*\n resources:\n - '*'\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n - actions:\n - kms:CreateGrant\n resources:\n - '*'\n principals:\n - type: Service\n identifiers:\n - redshift.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS (Relational Database) Integration using the `arn`. For example:\n\n```sh\n$ pulumi import aws:rds/integration:Integration example arn:aws:rds:us-west-2:123456789012:integration:abcdefgh-0000-1111-2222-123456789012\n```\n", + "description": "Resource for managing an AWS RDS (Relational Database) zero-ETL integration. You can refer to the [User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.setting-up.html).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftserverless.Namespace(\"example\", {namespaceName: \"redshift-example\"});\nconst exampleWorkgroup = new aws.redshiftserverless.Workgroup(\"example\", {\n namespaceName: example.namespaceName,\n workgroupName: \"example-workspace\",\n baseCapacity: 8,\n publiclyAccessible: false,\n subnetIds: [\n example1.id,\n example2.id,\n example3.id,\n ],\n configParameters: [{\n parameterKey: \"enable_case_sensitive_identifier\",\n parameterValue: \"true\",\n }],\n});\nconst exampleIntegration = new aws.rds.Integration(\"example\", {\n integrationName: \"example\",\n sourceArn: exampleAwsRdsCluster.arn,\n targetArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.Namespace(\"example\", namespace_name=\"redshift-example\")\nexample_workgroup = aws.redshiftserverless.Workgroup(\"example\",\n namespace_name=example.namespace_name,\n workgroup_name=\"example-workspace\",\n base_capacity=8,\n publicly_accessible=False,\n subnet_ids=[\n example1[\"id\"],\n example2[\"id\"],\n example3[\"id\"],\n ],\n config_parameters=[{\n \"parameter_key\": \"enable_case_sensitive_identifier\",\n \"parameter_value\": \"true\",\n }])\nexample_integration = aws.rds.Integration(\"example\",\n integration_name=\"example\",\n source_arn=example_aws_rds_cluster[\"arn\"],\n target_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftServerless.Namespace(\"example\", new()\n {\n NamespaceName = \"redshift-example\",\n });\n\n var exampleWorkgroup = new Aws.RedshiftServerless.Workgroup(\"example\", new()\n {\n NamespaceName = example.NamespaceName,\n WorkgroupName = \"example-workspace\",\n BaseCapacity = 8,\n PubliclyAccessible = false,\n SubnetIds = new[]\n {\n example1.Id,\n example2.Id,\n example3.Id,\n },\n ConfigParameters = new[]\n {\n new Aws.RedshiftServerless.Inputs.WorkgroupConfigParameterArgs\n {\n ParameterKey = \"enable_case_sensitive_identifier\",\n ParameterValue = \"true\",\n },\n },\n });\n\n var exampleIntegration = new Aws.Rds.Integration(\"example\", new()\n {\n IntegrationName = \"example\",\n SourceArn = exampleAwsRdsCluster.Arn,\n TargetArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := redshiftserverless.NewNamespace(ctx, \"example\", \u0026redshiftserverless.NamespaceArgs{\n\t\t\tNamespaceName: pulumi.String(\"redshift-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redshiftserverless.NewWorkgroup(ctx, \"example\", \u0026redshiftserverless.WorkgroupArgs{\n\t\t\tNamespaceName: example.NamespaceName,\n\t\t\tWorkgroupName: pulumi.String(\"example-workspace\"),\n\t\t\tBaseCapacity: pulumi.Int(8),\n\t\t\tPubliclyAccessible: pulumi.Bool(false),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.Id,\n\t\t\t\texample3.Id,\n\t\t\t},\n\t\t\tConfigParameters: redshiftserverless.WorkgroupConfigParameterArray{\n\t\t\t\t\u0026redshiftserverless.WorkgroupConfigParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"enable_case_sensitive_identifier\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"true\"),\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\t_, err = rds.NewIntegration(ctx, \"example\", \u0026rds.IntegrationArgs{\n\t\t\tIntegrationName: pulumi.String(\"example\"),\n\t\t\tSourceArn: pulumi.Any(exampleAwsRdsCluster.Arn),\n\t\t\tTargetArn: example.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshiftserverless.Namespace;\nimport com.pulumi.aws.redshiftserverless.NamespaceArgs;\nimport com.pulumi.aws.redshiftserverless.Workgroup;\nimport com.pulumi.aws.redshiftserverless.WorkgroupArgs;\nimport com.pulumi.aws.redshiftserverless.inputs.WorkgroupConfigParameterArgs;\nimport com.pulumi.aws.rds.Integration;\nimport com.pulumi.aws.rds.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Namespace(\"example\", NamespaceArgs.builder()\n .namespaceName(\"redshift-example\")\n .build());\n\n var exampleWorkgroup = new Workgroup(\"exampleWorkgroup\", WorkgroupArgs.builder()\n .namespaceName(example.namespaceName())\n .workgroupName(\"example-workspace\")\n .baseCapacity(8)\n .publiclyAccessible(false)\n .subnetIds( \n example1.id(),\n example2.id(),\n example3.id())\n .configParameters(WorkgroupConfigParameterArgs.builder()\n .parameterKey(\"enable_case_sensitive_identifier\")\n .parameterValue(\"true\")\n .build())\n .build());\n\n var exampleIntegration = new Integration(\"exampleIntegration\", IntegrationArgs.builder()\n .integrationName(\"example\")\n .sourceArn(exampleAwsRdsCluster.arn())\n .targetArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftserverless:Namespace\n properties:\n namespaceName: redshift-example\n exampleWorkgroup:\n type: aws:redshiftserverless:Workgroup\n name: example\n properties:\n namespaceName: ${example.namespaceName}\n workgroupName: example-workspace\n baseCapacity: 8\n publiclyAccessible: false\n subnetIds:\n - ${example1.id}\n - ${example2.id}\n - ${example3.id}\n configParameters:\n - parameterKey: enable_case_sensitive_identifier\n parameterValue: 'true'\n exampleIntegration:\n type: aws:rds:Integration\n name: example\n properties:\n integrationName: example\n sourceArn: ${exampleAwsRdsCluster.arn}\n targetArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use own KMS key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst keyPolicy = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [\n {\n actions: [\"kms:*\"],\n resources: [\"*\"],\n principals: [{\n type: \"AWS\",\n identifiers: [`arn:aws:iam::${current.accountId}:root`],\n }],\n },\n {\n actions: [\"kms:CreateGrant\"],\n resources: [\"*\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"redshift.amazonaws.com\"],\n }],\n },\n ],\n}));\nconst example = new aws.kms.Key(\"example\", {\n deletionWindowInDays: 10,\n policy: keyPolicy.then(keyPolicy =\u003e keyPolicy.json),\n});\nconst exampleIntegration = new aws.rds.Integration(\"example\", {\n integrationName: \"example\",\n sourceArn: exampleAwsRdsCluster.arn,\n targetArn: exampleAwsRedshiftserverlessNamespace.arn,\n kmsKeyId: example.arn,\n additionalEncryptionContext: {\n example: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nkey_policy = aws.iam.get_policy_document(statements=[\n {\n \"actions\": [\"kms:*\"],\n \"resources\": [\"*\"],\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [f\"arn:aws:iam::{current.account_id}:root\"],\n }],\n },\n {\n \"actions\": [\"kms:CreateGrant\"],\n \"resources\": [\"*\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"redshift.amazonaws.com\"],\n }],\n },\n])\nexample = aws.kms.Key(\"example\",\n deletion_window_in_days=10,\n policy=key_policy.json)\nexample_integration = aws.rds.Integration(\"example\",\n integration_name=\"example\",\n source_arn=example_aws_rds_cluster[\"arn\"],\n target_arn=example_aws_redshiftserverless_namespace[\"arn\"],\n kms_key_id=example.arn,\n additional_encryption_context={\n \"example\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var keyPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"kms:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"kms:CreateGrant\",\n },\n Resources = new[]\n {\n \"*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"redshift.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n DeletionWindowInDays = 10,\n Policy = keyPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleIntegration = new Aws.Rds.Integration(\"example\", new()\n {\n IntegrationName = \"example\",\n SourceArn = exampleAwsRdsCluster.Arn,\n TargetArn = exampleAwsRedshiftserverlessNamespace.Arn,\n KmsKeyId = example.Arn,\n AdditionalEncryptionContext = \n {\n { \"example\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkeyPolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:CreateGrant\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"redshift.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\n\t\t\tPolicy: pulumi.String(keyPolicy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewIntegration(ctx, \"example\", \u0026rds.IntegrationArgs{\n\t\t\tIntegrationName: pulumi.String(\"example\"),\n\t\t\tSourceArn: pulumi.Any(exampleAwsRdsCluster.Arn),\n\t\t\tTargetArn: pulumi.Any(exampleAwsRedshiftserverlessNamespace.Arn),\n\t\t\tKmsKeyId: example.Arn,\n\t\t\tAdditionalEncryptionContext: pulumi.StringMap{\n\t\t\t\t\"example\": pulumi.String(\"test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.Integration;\nimport com.pulumi.aws.rds.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var keyPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions(\"kms:*\")\n .resources(\"*\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions(\"kms:CreateGrant\")\n .resources(\"*\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"redshift.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var example = new Key(\"example\", KeyArgs.builder()\n .deletionWindowInDays(10)\n .policy(keyPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleIntegration = new Integration(\"exampleIntegration\", IntegrationArgs.builder()\n .integrationName(\"example\")\n .sourceArn(exampleAwsRdsCluster.arn())\n .targetArn(exampleAwsRedshiftserverlessNamespace.arn())\n .kmsKeyId(example.arn())\n .additionalEncryptionContext(Map.of(\"example\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n deletionWindowInDays: 10\n policy: ${keyPolicy.json}\n exampleIntegration:\n type: aws:rds:Integration\n name: example\n properties:\n integrationName: example\n sourceArn: ${exampleAwsRdsCluster.arn}\n targetArn: ${exampleAwsRedshiftserverlessNamespace.arn}\n kmsKeyId: ${example.arn}\n additionalEncryptionContext:\n example: test\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n keyPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - kms:*\n resources:\n - '*'\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n - actions:\n - kms:CreateGrant\n resources:\n - '*'\n principals:\n - type: Service\n identifiers:\n - redshift.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS (Relational Database) Integration using the `arn`. For example:\n\n```sh\n$ pulumi import aws:rds/integration:Integration example arn:aws:rds:us-west-2:123456789012:integration:abcdefgh-0000-1111-2222-123456789012\n```\n", "properties": { "additionalEncryptionContext": { "type": "object", @@ -334681,7 +334681,7 @@ } }, "aws:rds/reservedInstance:ReservedInstance": { - "description": "Manages an RDS DB Reserved Instance.\n\n\u003e **NOTE:** Once created, a reservation is valid for the `duration` of the provided `offering_id` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [RDS Reserved Instances Documentation](https://aws.amazon.com/rds/reserved-instances/) and [PurchaseReservedDBInstancesOffering](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PurchaseReservedDBInstancesOffering.html).\n\n\u003e **NOTE:** Due to the expense of testing this resource, we provide it as best effort. If you find it useful, and have the ability to help test or notice issues, consider reaching out to us on GitHub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getReservedInstanceOffering({\n dbInstanceClass: \"db.t2.micro\",\n duration: 31536000,\n multiAz: false,\n offeringType: \"All Upfront\",\n productDescription: \"mysql\",\n});\nconst example = new aws.rds.ReservedInstance(\"example\", {\n offeringId: test.then(test =\u003e test.offeringId),\n reservationId: \"optionalCustomReservationID\",\n instanceCount: 3,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_reserved_instance_offering(db_instance_class=\"db.t2.micro\",\n duration=31536000,\n multi_az=False,\n offering_type=\"All Upfront\",\n product_description=\"mysql\")\nexample = aws.rds.ReservedInstance(\"example\",\n offering_id=test.offering_id,\n reservation_id=\"optionalCustomReservationID\",\n instance_count=3)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetReservedInstanceOffering.Invoke(new()\n {\n DbInstanceClass = \"db.t2.micro\",\n Duration = 31536000,\n MultiAz = false,\n OfferingType = \"All Upfront\",\n ProductDescription = \"mysql\",\n });\n\n var example = new Aws.Rds.ReservedInstance(\"example\", new()\n {\n OfferingId = test.Apply(getReservedInstanceOfferingResult =\u003e getReservedInstanceOfferingResult.OfferingId),\n ReservationId = \"optionalCustomReservationID\",\n InstanceCount = 3,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := rds.GetReservedInstanceOffering(ctx, \u0026rds.GetReservedInstanceOfferingArgs{\n\t\t\tDbInstanceClass: \"db.t2.micro\",\n\t\t\tDuration: 31536000,\n\t\t\tMultiAz: false,\n\t\t\tOfferingType: \"All Upfront\",\n\t\t\tProductDescription: \"mysql\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewReservedInstance(ctx, \"example\", \u0026rds.ReservedInstanceArgs{\n\t\t\tOfferingId: pulumi.String(test.OfferingId),\n\t\t\tReservationId: pulumi.String(\"optionalCustomReservationID\"),\n\t\t\tInstanceCount: pulumi.Int(3),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetReservedInstanceOfferingArgs;\nimport com.pulumi.aws.rds.ReservedInstance;\nimport com.pulumi.aws.rds.ReservedInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RdsFunctions.getReservedInstanceOffering(GetReservedInstanceOfferingArgs.builder()\n .dbInstanceClass(\"db.t2.micro\")\n .duration(31536000)\n .multiAz(false)\n .offeringType(\"All Upfront\")\n .productDescription(\"mysql\")\n .build());\n\n var example = new ReservedInstance(\"example\", ReservedInstanceArgs.builder()\n .offeringId(test.applyValue(getReservedInstanceOfferingResult -\u003e getReservedInstanceOfferingResult.offeringId()))\n .reservationId(\"optionalCustomReservationID\")\n .instanceCount(3)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:ReservedInstance\n properties:\n offeringId: ${test.offeringId}\n reservationId: optionalCustomReservationID\n instanceCount: 3\nvariables:\n test:\n fn::invoke:\n function: aws:rds:getReservedInstanceOffering\n arguments:\n dbInstanceClass: db.t2.micro\n duration: 3.1536e+07\n multiAz: false\n offeringType: All Upfront\n productDescription: mysql\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS DB Instance Reservations using the `instance_id`. For example:\n\n```sh\n$ pulumi import aws:rds/reservedInstance:ReservedInstance reservation_instance CustomReservationID\n```\n", + "description": "Manages an RDS DB Reserved Instance.\n\n\u003e **NOTE:** Once created, a reservation is valid for the `duration` of the provided `offering_id` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [RDS Reserved Instances Documentation](https://aws.amazon.com/rds/reserved-instances/) and [PurchaseReservedDBInstancesOffering](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PurchaseReservedDBInstancesOffering.html).\n\n\u003e **NOTE:** Due to the expense of testing this resource, we provide it as best effort. If you find it useful, and have the ability to help test or notice issues, consider reaching out to us on GitHub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getReservedInstanceOffering({\n dbInstanceClass: \"db.t2.micro\",\n duration: 31536000,\n multiAz: false,\n offeringType: \"All Upfront\",\n productDescription: \"mysql\",\n});\nconst example = new aws.rds.ReservedInstance(\"example\", {\n offeringId: test.then(test =\u003e test.offeringId),\n reservationId: \"optionalCustomReservationID\",\n instanceCount: 3,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_reserved_instance_offering(db_instance_class=\"db.t2.micro\",\n duration=31536000,\n multi_az=False,\n offering_type=\"All Upfront\",\n product_description=\"mysql\")\nexample = aws.rds.ReservedInstance(\"example\",\n offering_id=test.offering_id,\n reservation_id=\"optionalCustomReservationID\",\n instance_count=3)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetReservedInstanceOffering.Invoke(new()\n {\n DbInstanceClass = \"db.t2.micro\",\n Duration = 31536000,\n MultiAz = false,\n OfferingType = \"All Upfront\",\n ProductDescription = \"mysql\",\n });\n\n var example = new Aws.Rds.ReservedInstance(\"example\", new()\n {\n OfferingId = test.Apply(getReservedInstanceOfferingResult =\u003e getReservedInstanceOfferingResult.OfferingId),\n ReservationId = \"optionalCustomReservationID\",\n InstanceCount = 3,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := rds.GetReservedInstanceOffering(ctx, \u0026rds.GetReservedInstanceOfferingArgs{\n\t\t\tDbInstanceClass: \"db.t2.micro\",\n\t\t\tDuration: 31536000,\n\t\t\tMultiAz: false,\n\t\t\tOfferingType: \"All Upfront\",\n\t\t\tProductDescription: \"mysql\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewReservedInstance(ctx, \"example\", \u0026rds.ReservedInstanceArgs{\n\t\t\tOfferingId: pulumi.String(test.OfferingId),\n\t\t\tReservationId: pulumi.String(\"optionalCustomReservationID\"),\n\t\t\tInstanceCount: pulumi.Int(3),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetReservedInstanceOfferingArgs;\nimport com.pulumi.aws.rds.ReservedInstance;\nimport com.pulumi.aws.rds.ReservedInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RdsFunctions.getReservedInstanceOffering(GetReservedInstanceOfferingArgs.builder()\n .dbInstanceClass(\"db.t2.micro\")\n .duration(31536000)\n .multiAz(false)\n .offeringType(\"All Upfront\")\n .productDescription(\"mysql\")\n .build());\n\n var example = new ReservedInstance(\"example\", ReservedInstanceArgs.builder()\n .offeringId(test.applyValue(getReservedInstanceOfferingResult -\u003e getReservedInstanceOfferingResult.offeringId()))\n .reservationId(\"optionalCustomReservationID\")\n .instanceCount(3)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:ReservedInstance\n properties:\n offeringId: ${test.offeringId}\n reservationId: optionalCustomReservationID\n instanceCount: 3\nvariables:\n test:\n fn::invoke:\n Function: aws:rds:getReservedInstanceOffering\n Arguments:\n dbInstanceClass: db.t2.micro\n duration: 3.1536e+07\n multiAz: false\n offeringType: All Upfront\n productDescription: mysql\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS DB Instance Reservations using the `instance_id`. For example:\n\n```sh\n$ pulumi import aws:rds/reservedInstance:ReservedInstance reservation_instance CustomReservationID\n```\n", "properties": { "arn": { "type": "string", @@ -337788,7 +337788,7 @@ } }, "aws:redshift/resourcePolicy:ResourcePolicy": { - "description": "Creates a new Amazon Redshift Resource Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.ResourcePolicy(\"example\", {\n resourceArn: exampleAwsRedshiftCluster.clusterNamespaceArn,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Principal: {\n AWS: \"arn:aws:iam::12345678901:root\",\n },\n Action: \"redshift:CreateInboundIntegration\",\n Resource: exampleAwsRedshiftCluster.clusterNamespaceArn,\n Sid: \"\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.redshift.ResourcePolicy(\"example\",\n resource_arn=example_aws_redshift_cluster[\"clusterNamespaceArn\"],\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::12345678901:root\",\n },\n \"Action\": \"redshift:CreateInboundIntegration\",\n \"Resource\": example_aws_redshift_cluster[\"clusterNamespaceArn\"],\n \"Sid\": \"\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.ResourcePolicy(\"example\", new()\n {\n ResourceArn = exampleAwsRedshiftCluster.ClusterNamespaceArn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"arn:aws:iam::12345678901:root\",\n },\n [\"Action\"] = \"redshift:CreateInboundIntegration\",\n [\"Resource\"] = exampleAwsRedshiftCluster.ClusterNamespaceArn,\n [\"Sid\"] = \"\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"arn:aws:iam::12345678901:root\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"redshift:CreateInboundIntegration\",\n\t\t\t\t\t\"Resource\": exampleAwsRedshiftCluster.ClusterNamespaceArn,\n\t\t\t\t\t\"Sid\": \"\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = redshift.NewResourcePolicy(ctx, \"example\", \u0026redshift.ResourcePolicyArgs{\n\t\t\tResourceArn: pulumi.Any(exampleAwsRedshiftCluster.ClusterNamespaceArn),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.ResourcePolicy;\nimport com.pulumi.aws.redshift.ResourcePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder()\n .resourceArn(exampleAwsRedshiftCluster.clusterNamespaceArn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"arn:aws:iam::12345678901:root\")\n )),\n jsonProperty(\"Action\", \"redshift:CreateInboundIntegration\"),\n jsonProperty(\"Resource\", exampleAwsRedshiftCluster.clusterNamespaceArn()),\n jsonProperty(\"Sid\", \"\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:ResourcePolicy\n properties:\n resourceArn: ${exampleAwsRedshiftCluster.clusterNamespaceArn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Principal:\n AWS: arn:aws:iam::12345678901:root\n Action: redshift:CreateInboundIntegration\n Resource: ${exampleAwsRedshiftCluster.clusterNamespaceArn}\n Sid: \"\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Resource Policies using the `resource_arn`. For example:\n\n```sh\n$ pulumi import aws:redshift/resourcePolicy:ResourcePolicy example example\n```\n", + "description": "Creates a new Amazon Redshift Resource Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.ResourcePolicy(\"example\", {\n resourceArn: exampleAwsRedshiftCluster.clusterNamespaceArn,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Principal: {\n AWS: \"arn:aws:iam::12345678901:root\",\n },\n Action: \"redshift:CreateInboundIntegration\",\n Resource: exampleAwsRedshiftCluster.clusterNamespaceArn,\n Sid: \"\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.redshift.ResourcePolicy(\"example\",\n resource_arn=example_aws_redshift_cluster[\"clusterNamespaceArn\"],\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::12345678901:root\",\n },\n \"Action\": \"redshift:CreateInboundIntegration\",\n \"Resource\": example_aws_redshift_cluster[\"clusterNamespaceArn\"],\n \"Sid\": \"\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.ResourcePolicy(\"example\", new()\n {\n ResourceArn = exampleAwsRedshiftCluster.ClusterNamespaceArn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"arn:aws:iam::12345678901:root\",\n },\n [\"Action\"] = \"redshift:CreateInboundIntegration\",\n [\"Resource\"] = exampleAwsRedshiftCluster.ClusterNamespaceArn,\n [\"Sid\"] = \"\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"arn:aws:iam::12345678901:root\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"redshift:CreateInboundIntegration\",\n\t\t\t\t\t\"Resource\": exampleAwsRedshiftCluster.ClusterNamespaceArn,\n\t\t\t\t\t\"Sid\": \"\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = redshift.NewResourcePolicy(ctx, \"example\", \u0026redshift.ResourcePolicyArgs{\n\t\t\tResourceArn: pulumi.Any(exampleAwsRedshiftCluster.ClusterNamespaceArn),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.ResourcePolicy;\nimport com.pulumi.aws.redshift.ResourcePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder()\n .resourceArn(exampleAwsRedshiftCluster.clusterNamespaceArn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"arn:aws:iam::12345678901:root\")\n )),\n jsonProperty(\"Action\", \"redshift:CreateInboundIntegration\"),\n jsonProperty(\"Resource\", exampleAwsRedshiftCluster.clusterNamespaceArn()),\n jsonProperty(\"Sid\", \"\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:ResourcePolicy\n properties:\n resourceArn: ${exampleAwsRedshiftCluster.clusterNamespaceArn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Principal:\n AWS: arn:aws:iam::12345678901:root\n Action: redshift:CreateInboundIntegration\n Resource: ${exampleAwsRedshiftCluster.clusterNamespaceArn}\n Sid:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Resource Policies using the `resource_arn`. For example:\n\n```sh\n$ pulumi import aws:redshift/resourcePolicy:ResourcePolicy example example\n```\n", "properties": { "policy": { "type": "string", @@ -337835,7 +337835,7 @@ } }, "aws:redshift/scheduledAction:ScheduledAction": { - "description": "## Example Usage\n\n### Pause Cluster Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"scheduler.redshift.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"redshift_scheduled_action\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"redshift:PauseCluster\",\n \"redshift:ResumeCluster\",\n \"redshift:ResizeCluster\",\n ],\n resources: [\"*\"],\n }],\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"redshift_scheduled_action\",\n policy: example.then(example =\u003e example.json),\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n policyArn: examplePolicy.arn,\n role: exampleRole.name,\n});\nconst exampleScheduledAction = new aws.redshift.ScheduledAction(\"example\", {\n name: \"tf-redshift-scheduled-action\",\n schedule: \"cron(00 23 * * ? *)\",\n iamRole: exampleRole.arn,\n targetAction: {\n pauseCluster: {\n clusterIdentifier: \"tf-redshift001\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"scheduler.redshift.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"redshift_scheduled_action\",\n assume_role_policy=assume_role.json)\nexample = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"redshift:PauseCluster\",\n \"redshift:ResumeCluster\",\n \"redshift:ResizeCluster\",\n ],\n \"resources\": [\"*\"],\n}])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"redshift_scheduled_action\",\n policy=example.json)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n policy_arn=example_policy.arn,\n role=example_role.name)\nexample_scheduled_action = aws.redshift.ScheduledAction(\"example\",\n name=\"tf-redshift-scheduled-action\",\n schedule=\"cron(00 23 * * ? *)\",\n iam_role=example_role.arn,\n target_action={\n \"pause_cluster\": {\n \"cluster_identifier\": \"tf-redshift001\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"scheduler.redshift.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"redshift_scheduled_action\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"redshift:PauseCluster\",\n \"redshift:ResumeCluster\",\n \"redshift:ResizeCluster\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"redshift_scheduled_action\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n PolicyArn = examplePolicy.Arn,\n Role = exampleRole.Name,\n });\n\n var exampleScheduledAction = new Aws.RedShift.ScheduledAction(\"example\", new()\n {\n Name = \"tf-redshift-scheduled-action\",\n Schedule = \"cron(00 23 * * ? *)\",\n IamRole = exampleRole.Arn,\n TargetAction = new Aws.RedShift.Inputs.ScheduledActionTargetActionArgs\n {\n PauseCluster = new Aws.RedShift.Inputs.ScheduledActionTargetActionPauseClusterArgs\n {\n ClusterIdentifier = \"tf-redshift001\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"scheduler.redshift.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"redshift_scheduled_action\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"redshift:PauseCluster\",\n\t\t\t\t\t\t\"redshift:ResumeCluster\",\n\t\t\t\t\t\t\"redshift:ResizeCluster\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"redshift_scheduled_action\"),\n\t\t\tPolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: examplePolicy.Arn,\n\t\t\tRole: exampleRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redshift.NewScheduledAction(ctx, \"example\", \u0026redshift.ScheduledActionArgs{\n\t\t\tName: pulumi.String(\"tf-redshift-scheduled-action\"),\n\t\t\tSchedule: pulumi.String(\"cron(00 23 * * ? *)\"),\n\t\t\tIamRole: exampleRole.Arn,\n\t\t\tTargetAction: \u0026redshift.ScheduledActionTargetActionArgs{\n\t\t\t\tPauseCluster: \u0026redshift.ScheduledActionTargetActionPauseClusterArgs{\n\t\t\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift001\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.redshift.ScheduledAction;\nimport com.pulumi.aws.redshift.ScheduledActionArgs;\nimport com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionArgs;\nimport com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionPauseClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"scheduler.redshift.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"redshift_scheduled_action\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"redshift:PauseCluster\",\n \"redshift:ResumeCluster\",\n \"redshift:ResizeCluster\")\n .resources(\"*\")\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"redshift_scheduled_action\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(examplePolicy.arn())\n .role(exampleRole.name())\n .build());\n\n var exampleScheduledAction = new ScheduledAction(\"exampleScheduledAction\", ScheduledActionArgs.builder()\n .name(\"tf-redshift-scheduled-action\")\n .schedule(\"cron(00 23 * * ? *)\")\n .iamRole(exampleRole.arn())\n .targetAction(ScheduledActionTargetActionArgs.builder()\n .pauseCluster(ScheduledActionTargetActionPauseClusterArgs.builder()\n .clusterIdentifier(\"tf-redshift001\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: redshift_scheduled_action\n assumeRolePolicy: ${assumeRole.json}\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: redshift_scheduled_action\n policy: ${example.json}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n policyArn: ${examplePolicy.arn}\n role: ${exampleRole.name}\n exampleScheduledAction:\n type: aws:redshift:ScheduledAction\n name: example\n properties:\n name: tf-redshift-scheduled-action\n schedule: cron(00 23 * * ? *)\n iamRole: ${exampleRole.arn}\n targetAction:\n pauseCluster:\n clusterIdentifier: tf-redshift001\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - scheduler.redshift.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - redshift:PauseCluster\n - redshift:ResumeCluster\n - redshift:ResizeCluster\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Resize Cluster Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.ScheduledAction(\"example\", {\n name: \"tf-redshift-scheduled-action\",\n schedule: \"cron(00 23 * * ? *)\",\n iamRole: exampleAwsIamRole.arn,\n targetAction: {\n resizeCluster: {\n clusterIdentifier: \"tf-redshift001\",\n clusterType: \"multi-node\",\n nodeType: \"dc1.large\",\n numberOfNodes: 2,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.ScheduledAction(\"example\",\n name=\"tf-redshift-scheduled-action\",\n schedule=\"cron(00 23 * * ? *)\",\n iam_role=example_aws_iam_role[\"arn\"],\n target_action={\n \"resize_cluster\": {\n \"cluster_identifier\": \"tf-redshift001\",\n \"cluster_type\": \"multi-node\",\n \"node_type\": \"dc1.large\",\n \"number_of_nodes\": 2,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.ScheduledAction(\"example\", new()\n {\n Name = \"tf-redshift-scheduled-action\",\n Schedule = \"cron(00 23 * * ? *)\",\n IamRole = exampleAwsIamRole.Arn,\n TargetAction = new Aws.RedShift.Inputs.ScheduledActionTargetActionArgs\n {\n ResizeCluster = new Aws.RedShift.Inputs.ScheduledActionTargetActionResizeClusterArgs\n {\n ClusterIdentifier = \"tf-redshift001\",\n ClusterType = \"multi-node\",\n NodeType = \"dc1.large\",\n NumberOfNodes = 2,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\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 := redshift.NewScheduledAction(ctx, \"example\", \u0026redshift.ScheduledActionArgs{\n\t\t\tName: pulumi.String(\"tf-redshift-scheduled-action\"),\n\t\t\tSchedule: pulumi.String(\"cron(00 23 * * ? *)\"),\n\t\t\tIamRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tTargetAction: \u0026redshift.ScheduledActionTargetActionArgs{\n\t\t\t\tResizeCluster: \u0026redshift.ScheduledActionTargetActionResizeClusterArgs{\n\t\t\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift001\"),\n\t\t\t\t\tClusterType: pulumi.String(\"multi-node\"),\n\t\t\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\t\t\tNumberOfNodes: pulumi.Int(2),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.ScheduledAction;\nimport com.pulumi.aws.redshift.ScheduledActionArgs;\nimport com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionArgs;\nimport com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionResizeClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ScheduledAction(\"example\", ScheduledActionArgs.builder()\n .name(\"tf-redshift-scheduled-action\")\n .schedule(\"cron(00 23 * * ? *)\")\n .iamRole(exampleAwsIamRole.arn())\n .targetAction(ScheduledActionTargetActionArgs.builder()\n .resizeCluster(ScheduledActionTargetActionResizeClusterArgs.builder()\n .clusterIdentifier(\"tf-redshift001\")\n .clusterType(\"multi-node\")\n .nodeType(\"dc1.large\")\n .numberOfNodes(2)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:ScheduledAction\n properties:\n name: tf-redshift-scheduled-action\n schedule: cron(00 23 * * ? *)\n iamRole: ${exampleAwsIamRole.arn}\n targetAction:\n resizeCluster:\n clusterIdentifier: tf-redshift001\n clusterType: multi-node\n nodeType: dc1.large\n numberOfNodes: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Scheduled Action using the `name`. For example:\n\n```sh\n$ pulumi import aws:redshift/scheduledAction:ScheduledAction example tf-redshift-scheduled-action\n```\n", + "description": "## Example Usage\n\n### Pause Cluster Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"scheduler.redshift.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"redshift_scheduled_action\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"redshift:PauseCluster\",\n \"redshift:ResumeCluster\",\n \"redshift:ResizeCluster\",\n ],\n resources: [\"*\"],\n }],\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"redshift_scheduled_action\",\n policy: example.then(example =\u003e example.json),\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n policyArn: examplePolicy.arn,\n role: exampleRole.name,\n});\nconst exampleScheduledAction = new aws.redshift.ScheduledAction(\"example\", {\n name: \"tf-redshift-scheduled-action\",\n schedule: \"cron(00 23 * * ? *)\",\n iamRole: exampleRole.arn,\n targetAction: {\n pauseCluster: {\n clusterIdentifier: \"tf-redshift001\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"scheduler.redshift.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"redshift_scheduled_action\",\n assume_role_policy=assume_role.json)\nexample = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"redshift:PauseCluster\",\n \"redshift:ResumeCluster\",\n \"redshift:ResizeCluster\",\n ],\n \"resources\": [\"*\"],\n}])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"redshift_scheduled_action\",\n policy=example.json)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n policy_arn=example_policy.arn,\n role=example_role.name)\nexample_scheduled_action = aws.redshift.ScheduledAction(\"example\",\n name=\"tf-redshift-scheduled-action\",\n schedule=\"cron(00 23 * * ? *)\",\n iam_role=example_role.arn,\n target_action={\n \"pause_cluster\": {\n \"cluster_identifier\": \"tf-redshift001\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"scheduler.redshift.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"redshift_scheduled_action\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"redshift:PauseCluster\",\n \"redshift:ResumeCluster\",\n \"redshift:ResizeCluster\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"redshift_scheduled_action\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n PolicyArn = examplePolicy.Arn,\n Role = exampleRole.Name,\n });\n\n var exampleScheduledAction = new Aws.RedShift.ScheduledAction(\"example\", new()\n {\n Name = \"tf-redshift-scheduled-action\",\n Schedule = \"cron(00 23 * * ? *)\",\n IamRole = exampleRole.Arn,\n TargetAction = new Aws.RedShift.Inputs.ScheduledActionTargetActionArgs\n {\n PauseCluster = new Aws.RedShift.Inputs.ScheduledActionTargetActionPauseClusterArgs\n {\n ClusterIdentifier = \"tf-redshift001\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"scheduler.redshift.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"redshift_scheduled_action\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"redshift:PauseCluster\",\n\t\t\t\t\t\t\"redshift:ResumeCluster\",\n\t\t\t\t\t\t\"redshift:ResizeCluster\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"redshift_scheduled_action\"),\n\t\t\tPolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: examplePolicy.Arn,\n\t\t\tRole: exampleRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redshift.NewScheduledAction(ctx, \"example\", \u0026redshift.ScheduledActionArgs{\n\t\t\tName: pulumi.String(\"tf-redshift-scheduled-action\"),\n\t\t\tSchedule: pulumi.String(\"cron(00 23 * * ? *)\"),\n\t\t\tIamRole: exampleRole.Arn,\n\t\t\tTargetAction: \u0026redshift.ScheduledActionTargetActionArgs{\n\t\t\t\tPauseCluster: \u0026redshift.ScheduledActionTargetActionPauseClusterArgs{\n\t\t\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift001\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.redshift.ScheduledAction;\nimport com.pulumi.aws.redshift.ScheduledActionArgs;\nimport com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionArgs;\nimport com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionPauseClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"scheduler.redshift.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"redshift_scheduled_action\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"redshift:PauseCluster\",\n \"redshift:ResumeCluster\",\n \"redshift:ResizeCluster\")\n .resources(\"*\")\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"redshift_scheduled_action\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(examplePolicy.arn())\n .role(exampleRole.name())\n .build());\n\n var exampleScheduledAction = new ScheduledAction(\"exampleScheduledAction\", ScheduledActionArgs.builder()\n .name(\"tf-redshift-scheduled-action\")\n .schedule(\"cron(00 23 * * ? *)\")\n .iamRole(exampleRole.arn())\n .targetAction(ScheduledActionTargetActionArgs.builder()\n .pauseCluster(ScheduledActionTargetActionPauseClusterArgs.builder()\n .clusterIdentifier(\"tf-redshift001\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: redshift_scheduled_action\n assumeRolePolicy: ${assumeRole.json}\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: redshift_scheduled_action\n policy: ${example.json}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n policyArn: ${examplePolicy.arn}\n role: ${exampleRole.name}\n exampleScheduledAction:\n type: aws:redshift:ScheduledAction\n name: example\n properties:\n name: tf-redshift-scheduled-action\n schedule: cron(00 23 * * ? *)\n iamRole: ${exampleRole.arn}\n targetAction:\n pauseCluster:\n clusterIdentifier: tf-redshift001\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - scheduler.redshift.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - redshift:PauseCluster\n - redshift:ResumeCluster\n - redshift:ResizeCluster\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Resize Cluster Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.ScheduledAction(\"example\", {\n name: \"tf-redshift-scheduled-action\",\n schedule: \"cron(00 23 * * ? *)\",\n iamRole: exampleAwsIamRole.arn,\n targetAction: {\n resizeCluster: {\n clusterIdentifier: \"tf-redshift001\",\n clusterType: \"multi-node\",\n nodeType: \"dc1.large\",\n numberOfNodes: 2,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.ScheduledAction(\"example\",\n name=\"tf-redshift-scheduled-action\",\n schedule=\"cron(00 23 * * ? *)\",\n iam_role=example_aws_iam_role[\"arn\"],\n target_action={\n \"resize_cluster\": {\n \"cluster_identifier\": \"tf-redshift001\",\n \"cluster_type\": \"multi-node\",\n \"node_type\": \"dc1.large\",\n \"number_of_nodes\": 2,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.ScheduledAction(\"example\", new()\n {\n Name = \"tf-redshift-scheduled-action\",\n Schedule = \"cron(00 23 * * ? *)\",\n IamRole = exampleAwsIamRole.Arn,\n TargetAction = new Aws.RedShift.Inputs.ScheduledActionTargetActionArgs\n {\n ResizeCluster = new Aws.RedShift.Inputs.ScheduledActionTargetActionResizeClusterArgs\n {\n ClusterIdentifier = \"tf-redshift001\",\n ClusterType = \"multi-node\",\n NodeType = \"dc1.large\",\n NumberOfNodes = 2,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\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 := redshift.NewScheduledAction(ctx, \"example\", \u0026redshift.ScheduledActionArgs{\n\t\t\tName: pulumi.String(\"tf-redshift-scheduled-action\"),\n\t\t\tSchedule: pulumi.String(\"cron(00 23 * * ? *)\"),\n\t\t\tIamRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tTargetAction: \u0026redshift.ScheduledActionTargetActionArgs{\n\t\t\t\tResizeCluster: \u0026redshift.ScheduledActionTargetActionResizeClusterArgs{\n\t\t\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift001\"),\n\t\t\t\t\tClusterType: pulumi.String(\"multi-node\"),\n\t\t\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\t\t\tNumberOfNodes: pulumi.Int(2),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.ScheduledAction;\nimport com.pulumi.aws.redshift.ScheduledActionArgs;\nimport com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionArgs;\nimport com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionResizeClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ScheduledAction(\"example\", ScheduledActionArgs.builder()\n .name(\"tf-redshift-scheduled-action\")\n .schedule(\"cron(00 23 * * ? *)\")\n .iamRole(exampleAwsIamRole.arn())\n .targetAction(ScheduledActionTargetActionArgs.builder()\n .resizeCluster(ScheduledActionTargetActionResizeClusterArgs.builder()\n .clusterIdentifier(\"tf-redshift001\")\n .clusterType(\"multi-node\")\n .nodeType(\"dc1.large\")\n .numberOfNodes(2)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:ScheduledAction\n properties:\n name: tf-redshift-scheduled-action\n schedule: cron(00 23 * * ? *)\n iamRole: ${exampleAwsIamRole.arn}\n targetAction:\n resizeCluster:\n clusterIdentifier: tf-redshift001\n clusterType: multi-node\n nodeType: dc1.large\n numberOfNodes: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Scheduled Action using the `name`. For example:\n\n```sh\n$ pulumi import aws:redshift/scheduledAction:ScheduledAction example tf-redshift-scheduled-action\n```\n", "properties": { "description": { "type": "string", @@ -339205,7 +339205,7 @@ } }, "aws:redshiftserverless/resourcePolicy:ResourcePolicy": { - "description": "Creates a new Amazon Redshift Serverless Resource Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftserverless.ResourcePolicy(\"example\", {\n resourceArn: exampleAwsRedshiftserverlessSnapshot.arn,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Principal: {\n AWS: [\"12345678901\"],\n },\n Action: [\"redshift-serverless:RestoreFromSnapshot\"],\n Sid: \"\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.ResourcePolicy(\"example\",\n resource_arn=example_aws_redshiftserverless_snapshot[\"arn\"],\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": [\"12345678901\"],\n },\n \"Action\": [\"redshift-serverless:RestoreFromSnapshot\"],\n \"Sid\": \"\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftServerless.ResourcePolicy(\"example\", new()\n {\n ResourceArn = exampleAwsRedshiftserverlessSnapshot.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = new[]\n {\n \"12345678901\",\n },\n },\n [\"Action\"] = new[]\n {\n \"redshift-serverless:RestoreFromSnapshot\",\n },\n [\"Sid\"] = \"\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": []string{\n\t\t\t\t\t\t\t\"12345678901\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"redshift-serverless:RestoreFromSnapshot\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = redshiftserverless.NewResourcePolicy(ctx, \"example\", \u0026redshiftserverless.ResourcePolicyArgs{\n\t\t\tResourceArn: pulumi.Any(exampleAwsRedshiftserverlessSnapshot.Arn),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshiftserverless.ResourcePolicy;\nimport com.pulumi.aws.redshiftserverless.ResourcePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder()\n .resourceArn(exampleAwsRedshiftserverlessSnapshot.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", jsonArray(\"12345678901\"))\n )),\n jsonProperty(\"Action\", jsonArray(\"redshift-serverless:RestoreFromSnapshot\")),\n jsonProperty(\"Sid\", \"\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftserverless:ResourcePolicy\n properties:\n resourceArn: ${exampleAwsRedshiftserverlessSnapshot.arn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Principal:\n AWS:\n - '12345678901'\n Action:\n - redshift-serverless:RestoreFromSnapshot\n Sid: \"\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Serverless Resource Policies using the `resource_arn`. For example:\n\n```sh\n$ pulumi import aws:redshiftserverless/resourcePolicy:ResourcePolicy example example\n```\n", + "description": "Creates a new Amazon Redshift Serverless Resource Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftserverless.ResourcePolicy(\"example\", {\n resourceArn: exampleAwsRedshiftserverlessSnapshot.arn,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Principal: {\n AWS: [\"12345678901\"],\n },\n Action: [\"redshift-serverless:RestoreFromSnapshot\"],\n Sid: \"\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.ResourcePolicy(\"example\",\n resource_arn=example_aws_redshiftserverless_snapshot[\"arn\"],\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": [\"12345678901\"],\n },\n \"Action\": [\"redshift-serverless:RestoreFromSnapshot\"],\n \"Sid\": \"\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftServerless.ResourcePolicy(\"example\", new()\n {\n ResourceArn = exampleAwsRedshiftserverlessSnapshot.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = new[]\n {\n \"12345678901\",\n },\n },\n [\"Action\"] = new[]\n {\n \"redshift-serverless:RestoreFromSnapshot\",\n },\n [\"Sid\"] = \"\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": []string{\n\t\t\t\t\t\t\t\"12345678901\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"redshift-serverless:RestoreFromSnapshot\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = redshiftserverless.NewResourcePolicy(ctx, \"example\", \u0026redshiftserverless.ResourcePolicyArgs{\n\t\t\tResourceArn: pulumi.Any(exampleAwsRedshiftserverlessSnapshot.Arn),\n\t\t\tPolicy: pulumi.String(json0),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshiftserverless.ResourcePolicy;\nimport com.pulumi.aws.redshiftserverless.ResourcePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder()\n .resourceArn(exampleAwsRedshiftserverlessSnapshot.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", jsonArray(\"12345678901\"))\n )),\n jsonProperty(\"Action\", jsonArray(\"redshift-serverless:RestoreFromSnapshot\")),\n jsonProperty(\"Sid\", \"\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftserverless:ResourcePolicy\n properties:\n resourceArn: ${exampleAwsRedshiftserverlessSnapshot.arn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Principal:\n AWS:\n - '12345678901'\n Action:\n - redshift-serverless:RestoreFromSnapshot\n Sid:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Serverless Resource Policies using the `resource_arn`. For example:\n\n```sh\n$ pulumi import aws:redshiftserverless/resourcePolicy:ResourcePolicy example example\n```\n", "properties": { "policy": { "type": "string", @@ -340325,7 +340325,7 @@ } }, "aws:resourceexplorer/view:View": { - "description": "Provides a resource to manage a Resource Explorer view.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.resourceexplorer.Index(\"example\", {type: \"LOCAL\"});\nconst exampleView = new aws.resourceexplorer.View(\"example\", {\n name: \"exampleview\",\n filters: {\n filterString: \"resourcetype:ec2:instance\",\n },\n includedProperties: [{\n name: \"tags\",\n }],\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.resourceexplorer.Index(\"example\", type=\"LOCAL\")\nexample_view = aws.resourceexplorer.View(\"example\",\n name=\"exampleview\",\n filters={\n \"filter_string\": \"resourcetype:ec2:instance\",\n },\n included_properties=[{\n \"name\": \"tags\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ResourceExplorer.Index(\"example\", new()\n {\n Type = \"LOCAL\",\n });\n\n var exampleView = new Aws.ResourceExplorer.View(\"example\", new()\n {\n Name = \"exampleview\",\n Filters = new Aws.ResourceExplorer.Inputs.ViewFiltersArgs\n {\n FilterString = \"resourcetype:ec2:instance\",\n },\n IncludedProperties = new[]\n {\n new Aws.ResourceExplorer.Inputs.ViewIncludedPropertyArgs\n {\n Name = \"tags\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourceexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := resourceexplorer.NewIndex(ctx, \"example\", \u0026resourceexplorer.IndexArgs{\n\t\t\tType: pulumi.String(\"LOCAL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourceexplorer.NewView(ctx, \"example\", \u0026resourceexplorer.ViewArgs{\n\t\t\tName: pulumi.String(\"exampleview\"),\n\t\t\tFilters: \u0026resourceexplorer.ViewFiltersArgs{\n\t\t\t\tFilterString: pulumi.String(\"resourcetype:ec2:instance\"),\n\t\t\t},\n\t\t\tIncludedProperties: resourceexplorer.ViewIncludedPropertyArray{\n\t\t\t\t\u0026resourceexplorer.ViewIncludedPropertyArgs{\n\t\t\t\t\tName: pulumi.String(\"tags\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.resourceexplorer.Index;\nimport com.pulumi.aws.resourceexplorer.IndexArgs;\nimport com.pulumi.aws.resourceexplorer.View;\nimport com.pulumi.aws.resourceexplorer.ViewArgs;\nimport com.pulumi.aws.resourceexplorer.inputs.ViewFiltersArgs;\nimport com.pulumi.aws.resourceexplorer.inputs.ViewIncludedPropertyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Index(\"example\", IndexArgs.builder()\n .type(\"LOCAL\")\n .build());\n\n var exampleView = new View(\"exampleView\", ViewArgs.builder()\n .name(\"exampleview\")\n .filters(ViewFiltersArgs.builder()\n .filterString(\"resourcetype:ec2:instance\")\n .build())\n .includedProperties(ViewIncludedPropertyArgs.builder()\n .name(\"tags\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:resourceexplorer:Index\n properties:\n type: LOCAL\n exampleView:\n type: aws:resourceexplorer:View\n name: example\n properties:\n name: exampleview\n filters:\n filterString: resourcetype:ec2:instance\n includedProperties:\n - name: tags\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Resource Explorer views using the `arn`. For example:\n\n```sh\n$ pulumi import aws:resourceexplorer/view:View example arn:aws:resource-explorer-2:us-west-2:123456789012:view/exampleview/e0914f6c-6c27-4b47-b5d4-6b28381a2421\n```\n", + "description": "Provides a resource to manage a Resource Explorer view.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.resourceexplorer.Index(\"example\", {type: \"LOCAL\"});\nconst exampleView = new aws.resourceexplorer.View(\"example\", {\n name: \"exampleview\",\n filters: {\n filterString: \"resourcetype:ec2:instance\",\n },\n includedProperties: [{\n name: \"tags\",\n }],\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.resourceexplorer.Index(\"example\", type=\"LOCAL\")\nexample_view = aws.resourceexplorer.View(\"example\",\n name=\"exampleview\",\n filters={\n \"filter_string\": \"resourcetype:ec2:instance\",\n },\n included_properties=[{\n \"name\": \"tags\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ResourceExplorer.Index(\"example\", new()\n {\n Type = \"LOCAL\",\n });\n\n var exampleView = new Aws.ResourceExplorer.View(\"example\", new()\n {\n Name = \"exampleview\",\n Filters = new Aws.ResourceExplorer.Inputs.ViewFiltersArgs\n {\n FilterString = \"resourcetype:ec2:instance\",\n },\n IncludedProperties = new[]\n {\n new Aws.ResourceExplorer.Inputs.ViewIncludedPropertyArgs\n {\n Name = \"tags\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourceexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := resourceexplorer.NewIndex(ctx, \"example\", \u0026resourceexplorer.IndexArgs{\n\t\t\tType: pulumi.String(\"LOCAL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourceexplorer.NewView(ctx, \"example\", \u0026resourceexplorer.ViewArgs{\n\t\t\tName: pulumi.String(\"exampleview\"),\n\t\t\tFilters: \u0026resourceexplorer.ViewFiltersArgs{\n\t\t\t\tFilterString: pulumi.String(\"resourcetype:ec2:instance\"),\n\t\t\t},\n\t\t\tIncludedProperties: resourceexplorer.ViewIncludedPropertyArray{\n\t\t\t\t\u0026resourceexplorer.ViewIncludedPropertyArgs{\n\t\t\t\t\tName: pulumi.String(\"tags\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.resourceexplorer.Index;\nimport com.pulumi.aws.resourceexplorer.IndexArgs;\nimport com.pulumi.aws.resourceexplorer.View;\nimport com.pulumi.aws.resourceexplorer.ViewArgs;\nimport com.pulumi.aws.resourceexplorer.inputs.ViewFiltersArgs;\nimport com.pulumi.aws.resourceexplorer.inputs.ViewIncludedPropertyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Index(\"example\", IndexArgs.builder()\n .type(\"LOCAL\")\n .build());\n\n var exampleView = new View(\"exampleView\", ViewArgs.builder()\n .name(\"exampleview\")\n .filters(ViewFiltersArgs.builder()\n .filterString(\"resourcetype:ec2:instance\")\n .build())\n .includedProperties(ViewIncludedPropertyArgs.builder()\n .name(\"tags\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:resourceexplorer:Index\n properties:\n type: LOCAL\n exampleView:\n type: aws:resourceexplorer:View\n name: example\n properties:\n name: exampleview\n filters:\n filterString: resourcetype:ec2:instance\n includedProperties:\n - name: tags\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Resource Explorer views using the `arn`. For example:\n\n```sh\n$ pulumi import aws:resourceexplorer/view:View example arn:aws:resource-explorer-2:us-west-2:123456789012:view/exampleview/e0914f6c-6c27-4b47-b5d4-6b28381a2421\n```\n", "properties": { "arn": { "type": "string", @@ -340639,7 +340639,7 @@ } }, "aws:rolesanywhere/profile:Profile": { - "description": "Resource for managing a Roles Anywhere Profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.iam.Role(\"test\", {\n name: \"test\",\n path: \"/\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n \"sts:SetSourceIdentity\",\n ],\n Principal: {\n Service: \"rolesanywhere.amazonaws.com\",\n },\n Effect: \"Allow\",\n Sid: \"\",\n }],\n }),\n});\nconst testProfile = new aws.rolesanywhere.Profile(\"test\", {\n name: \"example\",\n roleArns: [test.arn],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.iam.Role(\"test\",\n name=\"test\",\n path=\"/\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n \"sts:SetSourceIdentity\",\n ],\n \"Principal\": {\n \"Service\": \"rolesanywhere.amazonaws.com\",\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n }],\n }))\ntest_profile = aws.rolesanywhere.Profile(\"test\",\n name=\"example\",\n role_arns=[test.arn])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Iam.Role(\"test\", new()\n {\n Name = \"test\",\n Path = \"/\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n \"sts:SetSourceIdentity\",\n },\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"rolesanywhere.amazonaws.com\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n },\n },\n }),\n });\n\n var testProfile = new Aws.RolesAnywhere.Profile(\"test\", new()\n {\n Name = \"example\",\n RoleArns = new[]\n {\n test.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rolesanywhere\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t\t\"sts:SetSourceIdentity\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"rolesanywhere.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\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\tjson0 := string(tmpJSON0)\n\t\ttest, err := iam.NewRole(ctx, \"test\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rolesanywhere.NewProfile(ctx, \"test\", \u0026rolesanywhere.ProfileArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArns: pulumi.StringArray{\n\t\t\t\ttest.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.rolesanywhere.Profile;\nimport com.pulumi.aws.rolesanywhere.ProfileArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Role(\"test\", RoleArgs.builder()\n .name(\"test\")\n .path(\"/\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\", \n \"sts:SetSourceIdentity\"\n )),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"rolesanywhere.amazonaws.com\")\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\")\n )))\n )))\n .build());\n\n var testProfile = new Profile(\"testProfile\", ProfileArgs.builder()\n .name(\"example\")\n .roleArns(test.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:iam:Role\n properties:\n name: test\n path: /\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n - sts:SetSourceIdentity\n Principal:\n Service: rolesanywhere.amazonaws.com\n Effect: Allow\n Sid: \"\"\n testProfile:\n type: aws:rolesanywhere:Profile\n name: test\n properties:\n name: example\n roleArns:\n - ${test.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_rolesanywhere_profile` using its `id`. For example:\n\n```sh\n$ pulumi import aws:rolesanywhere/profile:Profile example db138a85-8925-4f9f-a409-08231233cacf\n```\n", + "description": "Resource for managing a Roles Anywhere Profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.iam.Role(\"test\", {\n name: \"test\",\n path: \"/\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n \"sts:SetSourceIdentity\",\n ],\n Principal: {\n Service: \"rolesanywhere.amazonaws.com\",\n },\n Effect: \"Allow\",\n Sid: \"\",\n }],\n }),\n});\nconst testProfile = new aws.rolesanywhere.Profile(\"test\", {\n name: \"example\",\n roleArns: [test.arn],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.iam.Role(\"test\",\n name=\"test\",\n path=\"/\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n \"sts:SetSourceIdentity\",\n ],\n \"Principal\": {\n \"Service\": \"rolesanywhere.amazonaws.com\",\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n }],\n }))\ntest_profile = aws.rolesanywhere.Profile(\"test\",\n name=\"example\",\n role_arns=[test.arn])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Iam.Role(\"test\", new()\n {\n Name = \"test\",\n Path = \"/\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n \"sts:SetSourceIdentity\",\n },\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"rolesanywhere.amazonaws.com\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n },\n },\n }),\n });\n\n var testProfile = new Aws.RolesAnywhere.Profile(\"test\", new()\n {\n Name = \"example\",\n RoleArns = new[]\n {\n test.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rolesanywhere\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t\t\"sts:SetSourceIdentity\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"rolesanywhere.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\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\tjson0 := string(tmpJSON0)\n\t\ttest, err := iam.NewRole(ctx, \"test\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rolesanywhere.NewProfile(ctx, \"test\", \u0026rolesanywhere.ProfileArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArns: pulumi.StringArray{\n\t\t\t\ttest.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.rolesanywhere.Profile;\nimport com.pulumi.aws.rolesanywhere.ProfileArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Role(\"test\", RoleArgs.builder()\n .name(\"test\")\n .path(\"/\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\", \n \"sts:SetSourceIdentity\"\n )),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"rolesanywhere.amazonaws.com\")\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\")\n )))\n )))\n .build());\n\n var testProfile = new Profile(\"testProfile\", ProfileArgs.builder()\n .name(\"example\")\n .roleArns(test.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:iam:Role\n properties:\n name: test\n path: /\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n - sts:SetSourceIdentity\n Principal:\n Service: rolesanywhere.amazonaws.com\n Effect: Allow\n Sid:\n testProfile:\n type: aws:rolesanywhere:Profile\n name: test\n properties:\n name: example\n roleArns:\n - ${test.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_rolesanywhere_profile` using its `id`. For example:\n\n```sh\n$ pulumi import aws:rolesanywhere/profile:Profile example db138a85-8925-4f9f-a409-08231233cacf\n```\n", "properties": { "arn": { "type": "string", @@ -340805,7 +340805,7 @@ } }, "aws:rolesanywhere/trustAnchor:TrustAnchor": { - "description": "Resource for managing a Roles Anywhere Trust Anchor.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acmpca.CertificateAuthority(\"example\", {\n permanentDeletionTimeInDays: 7,\n type: \"ROOT\",\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n});\nconst current = aws.getPartition({});\nconst test = new aws.acmpca.Certificate(\"test\", {\n certificateAuthorityArn: example.arn,\n certificateSigningRequest: example.certificateSigningRequest,\n signingAlgorithm: \"SHA512WITHRSA\",\n templateArn: current.then(current =\u003e `arn:${current.partition}:acm-pca:::template/RootCACertificate/V1`),\n validity: {\n type: \"YEARS\",\n value: \"1\",\n },\n});\nconst exampleCertificateAuthorityCertificate = new aws.acmpca.CertificateAuthorityCertificate(\"example\", {\n certificateAuthorityArn: example.arn,\n certificate: exampleAwsAcmpcaCertificate.certificate,\n certificateChain: exampleAwsAcmpcaCertificate.certificateChain,\n});\nconst testTrustAnchor = new aws.rolesanywhere.TrustAnchor(\"test\", {\n name: \"example\",\n source: {\n sourceData: {\n acmPcaArn: example.arn,\n },\n sourceType: \"AWS_ACM_PCA\",\n },\n}, {\n dependsOn: [exampleCertificateAuthorityCertificate],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.CertificateAuthority(\"example\",\n permanent_deletion_time_in_days=7,\n type=\"ROOT\",\n certificate_authority_configuration={\n \"key_algorithm\": \"RSA_4096\",\n \"signing_algorithm\": \"SHA512WITHRSA\",\n \"subject\": {\n \"common_name\": \"example.com\",\n },\n })\ncurrent = aws.get_partition()\ntest = aws.acmpca.Certificate(\"test\",\n certificate_authority_arn=example.arn,\n certificate_signing_request=example.certificate_signing_request,\n signing_algorithm=\"SHA512WITHRSA\",\n template_arn=f\"arn:{current.partition}:acm-pca:::template/RootCACertificate/V1\",\n validity={\n \"type\": \"YEARS\",\n \"value\": \"1\",\n })\nexample_certificate_authority_certificate = aws.acmpca.CertificateAuthorityCertificate(\"example\",\n certificate_authority_arn=example.arn,\n certificate=example_aws_acmpca_certificate[\"certificate\"],\n certificate_chain=example_aws_acmpca_certificate[\"certificateChain\"])\ntest_trust_anchor = aws.rolesanywhere.TrustAnchor(\"test\",\n name=\"example\",\n source={\n \"source_data\": {\n \"acm_pca_arn\": example.arn,\n },\n \"source_type\": \"AWS_ACM_PCA\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example_certificate_authority_certificate]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n PermanentDeletionTimeInDays = 7,\n Type = \"ROOT\",\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var test = new Aws.Acmpca.Certificate(\"test\", new()\n {\n CertificateAuthorityArn = example.Arn,\n CertificateSigningRequest = example.CertificateSigningRequest,\n SigningAlgorithm = \"SHA512WITHRSA\",\n TemplateArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:acm-pca:::template/RootCACertificate/V1\",\n Validity = new Aws.Acmpca.Inputs.CertificateValidityArgs\n {\n Type = \"YEARS\",\n Value = \"1\",\n },\n });\n\n var exampleCertificateAuthorityCertificate = new Aws.Acmpca.CertificateAuthorityCertificate(\"example\", new()\n {\n CertificateAuthorityArn = example.Arn,\n Certificate = exampleAwsAcmpcaCertificate.Certificate,\n CertificateChain = exampleAwsAcmpcaCertificate.CertificateChain,\n });\n\n var testTrustAnchor = new Aws.RolesAnywhere.TrustAnchor(\"test\", new()\n {\n Name = \"example\",\n Source = new Aws.RolesAnywhere.Inputs.TrustAnchorSourceArgs\n {\n SourceData = new Aws.RolesAnywhere.Inputs.TrustAnchorSourceSourceDataArgs\n {\n AcmPcaArn = example.Arn,\n },\n SourceType = \"AWS_ACM_PCA\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleCertificateAuthorityCertificate,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rolesanywhere\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tPermanentDeletionTimeInDays: pulumi.Int(7),\n\t\t\tType: pulumi.String(\"ROOT\"),\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\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\tcurrent, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificate(ctx, \"test\", \u0026acmpca.CertificateArgs{\n\t\t\tCertificateAuthorityArn: example.Arn,\n\t\t\tCertificateSigningRequest: example.CertificateSigningRequest,\n\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\tTemplateArn: pulumi.Sprintf(\"arn:%v:acm-pca:::template/RootCACertificate/V1\", current.Partition),\n\t\t\tValidity: \u0026acmpca.CertificateValidityArgs{\n\t\t\t\tType: pulumi.String(\"YEARS\"),\n\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificateAuthorityCertificate, err := acmpca.NewCertificateAuthorityCertificate(ctx, \"example\", \u0026acmpca.CertificateAuthorityCertificateArgs{\n\t\t\tCertificateAuthorityArn: example.Arn,\n\t\t\tCertificate: pulumi.Any(exampleAwsAcmpcaCertificate.Certificate),\n\t\t\tCertificateChain: pulumi.Any(exampleAwsAcmpcaCertificate.CertificateChain),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rolesanywhere.NewTrustAnchor(ctx, \"test\", \u0026rolesanywhere.TrustAnchorArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSource: \u0026rolesanywhere.TrustAnchorSourceArgs{\n\t\t\t\tSourceData: \u0026rolesanywhere.TrustAnchorSourceSourceDataArgs{\n\t\t\t\t\tAcmPcaArn: example.Arn,\n\t\t\t\t},\n\t\t\t\tSourceType: pulumi.String(\"AWS_ACM_PCA\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleCertificateAuthorityCertificate,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.acmpca.Certificate;\nimport com.pulumi.aws.acmpca.CertificateArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateValidityArgs;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificate;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificateArgs;\nimport com.pulumi.aws.rolesanywhere.TrustAnchor;\nimport com.pulumi.aws.rolesanywhere.TrustAnchorArgs;\nimport com.pulumi.aws.rolesanywhere.inputs.TrustAnchorSourceArgs;\nimport com.pulumi.aws.rolesanywhere.inputs.TrustAnchorSourceSourceDataArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new CertificateAuthority(\"example\", CertificateAuthorityArgs.builder()\n .permanentDeletionTimeInDays(7)\n .type(\"ROOT\")\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n var test = new Certificate(\"test\", CertificateArgs.builder()\n .certificateAuthorityArn(example.arn())\n .certificateSigningRequest(example.certificateSigningRequest())\n .signingAlgorithm(\"SHA512WITHRSA\")\n .templateArn(String.format(\"arn:%s:acm-pca:::template/RootCACertificate/V1\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .validity(CertificateValidityArgs.builder()\n .type(\"YEARS\")\n .value(1)\n .build())\n .build());\n\n var exampleCertificateAuthorityCertificate = new CertificateAuthorityCertificate(\"exampleCertificateAuthorityCertificate\", CertificateAuthorityCertificateArgs.builder()\n .certificateAuthorityArn(example.arn())\n .certificate(exampleAwsAcmpcaCertificate.certificate())\n .certificateChain(exampleAwsAcmpcaCertificate.certificateChain())\n .build());\n\n var testTrustAnchor = new TrustAnchor(\"testTrustAnchor\", TrustAnchorArgs.builder()\n .name(\"example\")\n .source(TrustAnchorSourceArgs.builder()\n .sourceData(TrustAnchorSourceSourceDataArgs.builder()\n .acmPcaArn(example.arn())\n .build())\n .sourceType(\"AWS_ACM_PCA\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleCertificateAuthorityCertificate)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthority\n properties:\n permanentDeletionTimeInDays: 7\n type: ROOT\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n test:\n type: aws:acmpca:Certificate\n properties:\n certificateAuthorityArn: ${example.arn}\n certificateSigningRequest: ${example.certificateSigningRequest}\n signingAlgorithm: SHA512WITHRSA\n templateArn: arn:${current.partition}:acm-pca:::template/RootCACertificate/V1\n validity:\n type: YEARS\n value: 1\n exampleCertificateAuthorityCertificate:\n type: aws:acmpca:CertificateAuthorityCertificate\n name: example\n properties:\n certificateAuthorityArn: ${example.arn}\n certificate: ${exampleAwsAcmpcaCertificate.certificate}\n certificateChain: ${exampleAwsAcmpcaCertificate.certificateChain}\n testTrustAnchor:\n type: aws:rolesanywhere:TrustAnchor\n name: test\n properties:\n name: example\n source:\n sourceData:\n acmPcaArn: ${example.arn}\n sourceType: AWS_ACM_PCA\n options:\n dependsOn:\n - ${exampleCertificateAuthorityCertificate}\nvariables:\n current:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_rolesanywhere_trust_anchor` using its `id`. For example:\n\n```sh\n$ pulumi import aws:rolesanywhere/trustAnchor:TrustAnchor example 92b2fbbb-984d-41a3-a765-e3cbdb69ebb1\n```\n", + "description": "Resource for managing a Roles Anywhere Trust Anchor.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acmpca.CertificateAuthority(\"example\", {\n permanentDeletionTimeInDays: 7,\n type: \"ROOT\",\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n});\nconst current = aws.getPartition({});\nconst test = new aws.acmpca.Certificate(\"test\", {\n certificateAuthorityArn: example.arn,\n certificateSigningRequest: example.certificateSigningRequest,\n signingAlgorithm: \"SHA512WITHRSA\",\n templateArn: current.then(current =\u003e `arn:${current.partition}:acm-pca:::template/RootCACertificate/V1`),\n validity: {\n type: \"YEARS\",\n value: \"1\",\n },\n});\nconst exampleCertificateAuthorityCertificate = new aws.acmpca.CertificateAuthorityCertificate(\"example\", {\n certificateAuthorityArn: example.arn,\n certificate: exampleAwsAcmpcaCertificate.certificate,\n certificateChain: exampleAwsAcmpcaCertificate.certificateChain,\n});\nconst testTrustAnchor = new aws.rolesanywhere.TrustAnchor(\"test\", {\n name: \"example\",\n source: {\n sourceData: {\n acmPcaArn: example.arn,\n },\n sourceType: \"AWS_ACM_PCA\",\n },\n}, {\n dependsOn: [exampleCertificateAuthorityCertificate],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.CertificateAuthority(\"example\",\n permanent_deletion_time_in_days=7,\n type=\"ROOT\",\n certificate_authority_configuration={\n \"key_algorithm\": \"RSA_4096\",\n \"signing_algorithm\": \"SHA512WITHRSA\",\n \"subject\": {\n \"common_name\": \"example.com\",\n },\n })\ncurrent = aws.get_partition()\ntest = aws.acmpca.Certificate(\"test\",\n certificate_authority_arn=example.arn,\n certificate_signing_request=example.certificate_signing_request,\n signing_algorithm=\"SHA512WITHRSA\",\n template_arn=f\"arn:{current.partition}:acm-pca:::template/RootCACertificate/V1\",\n validity={\n \"type\": \"YEARS\",\n \"value\": \"1\",\n })\nexample_certificate_authority_certificate = aws.acmpca.CertificateAuthorityCertificate(\"example\",\n certificate_authority_arn=example.arn,\n certificate=example_aws_acmpca_certificate[\"certificate\"],\n certificate_chain=example_aws_acmpca_certificate[\"certificateChain\"])\ntest_trust_anchor = aws.rolesanywhere.TrustAnchor(\"test\",\n name=\"example\",\n source={\n \"source_data\": {\n \"acm_pca_arn\": example.arn,\n },\n \"source_type\": \"AWS_ACM_PCA\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example_certificate_authority_certificate]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n PermanentDeletionTimeInDays = 7,\n Type = \"ROOT\",\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var test = new Aws.Acmpca.Certificate(\"test\", new()\n {\n CertificateAuthorityArn = example.Arn,\n CertificateSigningRequest = example.CertificateSigningRequest,\n SigningAlgorithm = \"SHA512WITHRSA\",\n TemplateArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:acm-pca:::template/RootCACertificate/V1\",\n Validity = new Aws.Acmpca.Inputs.CertificateValidityArgs\n {\n Type = \"YEARS\",\n Value = \"1\",\n },\n });\n\n var exampleCertificateAuthorityCertificate = new Aws.Acmpca.CertificateAuthorityCertificate(\"example\", new()\n {\n CertificateAuthorityArn = example.Arn,\n Certificate = exampleAwsAcmpcaCertificate.Certificate,\n CertificateChain = exampleAwsAcmpcaCertificate.CertificateChain,\n });\n\n var testTrustAnchor = new Aws.RolesAnywhere.TrustAnchor(\"test\", new()\n {\n Name = \"example\",\n Source = new Aws.RolesAnywhere.Inputs.TrustAnchorSourceArgs\n {\n SourceData = new Aws.RolesAnywhere.Inputs.TrustAnchorSourceSourceDataArgs\n {\n AcmPcaArn = example.Arn,\n },\n SourceType = \"AWS_ACM_PCA\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleCertificateAuthorityCertificate,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rolesanywhere\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tPermanentDeletionTimeInDays: pulumi.Int(7),\n\t\t\tType: pulumi.String(\"ROOT\"),\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\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\tcurrent, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificate(ctx, \"test\", \u0026acmpca.CertificateArgs{\n\t\t\tCertificateAuthorityArn: example.Arn,\n\t\t\tCertificateSigningRequest: example.CertificateSigningRequest,\n\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\tTemplateArn: pulumi.Sprintf(\"arn:%v:acm-pca:::template/RootCACertificate/V1\", current.Partition),\n\t\t\tValidity: \u0026acmpca.CertificateValidityArgs{\n\t\t\t\tType: pulumi.String(\"YEARS\"),\n\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificateAuthorityCertificate, err := acmpca.NewCertificateAuthorityCertificate(ctx, \"example\", \u0026acmpca.CertificateAuthorityCertificateArgs{\n\t\t\tCertificateAuthorityArn: example.Arn,\n\t\t\tCertificate: pulumi.Any(exampleAwsAcmpcaCertificate.Certificate),\n\t\t\tCertificateChain: pulumi.Any(exampleAwsAcmpcaCertificate.CertificateChain),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rolesanywhere.NewTrustAnchor(ctx, \"test\", \u0026rolesanywhere.TrustAnchorArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSource: \u0026rolesanywhere.TrustAnchorSourceArgs{\n\t\t\t\tSourceData: \u0026rolesanywhere.TrustAnchorSourceSourceDataArgs{\n\t\t\t\t\tAcmPcaArn: example.Arn,\n\t\t\t\t},\n\t\t\t\tSourceType: pulumi.String(\"AWS_ACM_PCA\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleCertificateAuthorityCertificate,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.acmpca.Certificate;\nimport com.pulumi.aws.acmpca.CertificateArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateValidityArgs;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificate;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificateArgs;\nimport com.pulumi.aws.rolesanywhere.TrustAnchor;\nimport com.pulumi.aws.rolesanywhere.TrustAnchorArgs;\nimport com.pulumi.aws.rolesanywhere.inputs.TrustAnchorSourceArgs;\nimport com.pulumi.aws.rolesanywhere.inputs.TrustAnchorSourceSourceDataArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new CertificateAuthority(\"example\", CertificateAuthorityArgs.builder()\n .permanentDeletionTimeInDays(7)\n .type(\"ROOT\")\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n var test = new Certificate(\"test\", CertificateArgs.builder()\n .certificateAuthorityArn(example.arn())\n .certificateSigningRequest(example.certificateSigningRequest())\n .signingAlgorithm(\"SHA512WITHRSA\")\n .templateArn(String.format(\"arn:%s:acm-pca:::template/RootCACertificate/V1\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .validity(CertificateValidityArgs.builder()\n .type(\"YEARS\")\n .value(1)\n .build())\n .build());\n\n var exampleCertificateAuthorityCertificate = new CertificateAuthorityCertificate(\"exampleCertificateAuthorityCertificate\", CertificateAuthorityCertificateArgs.builder()\n .certificateAuthorityArn(example.arn())\n .certificate(exampleAwsAcmpcaCertificate.certificate())\n .certificateChain(exampleAwsAcmpcaCertificate.certificateChain())\n .build());\n\n var testTrustAnchor = new TrustAnchor(\"testTrustAnchor\", TrustAnchorArgs.builder()\n .name(\"example\")\n .source(TrustAnchorSourceArgs.builder()\n .sourceData(TrustAnchorSourceSourceDataArgs.builder()\n .acmPcaArn(example.arn())\n .build())\n .sourceType(\"AWS_ACM_PCA\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleCertificateAuthorityCertificate)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthority\n properties:\n permanentDeletionTimeInDays: 7\n type: ROOT\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n test:\n type: aws:acmpca:Certificate\n properties:\n certificateAuthorityArn: ${example.arn}\n certificateSigningRequest: ${example.certificateSigningRequest}\n signingAlgorithm: SHA512WITHRSA\n templateArn: arn:${current.partition}:acm-pca:::template/RootCACertificate/V1\n validity:\n type: YEARS\n value: 1\n exampleCertificateAuthorityCertificate:\n type: aws:acmpca:CertificateAuthorityCertificate\n name: example\n properties:\n certificateAuthorityArn: ${example.arn}\n certificate: ${exampleAwsAcmpcaCertificate.certificate}\n certificateChain: ${exampleAwsAcmpcaCertificate.certificateChain}\n testTrustAnchor:\n type: aws:rolesanywhere:TrustAnchor\n name: test\n properties:\n name: example\n source:\n sourceData:\n acmPcaArn: ${example.arn}\n sourceType: AWS_ACM_PCA\n options:\n dependson:\n - ${exampleCertificateAuthorityCertificate}\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_rolesanywhere_trust_anchor` using its `id`. For example:\n\n```sh\n$ pulumi import aws:rolesanywhere/trustAnchor:TrustAnchor example 92b2fbbb-984d-41a3-a765-e3cbdb69ebb1\n```\n", "properties": { "arn": { "type": "string", @@ -341432,7 +341432,7 @@ } }, "aws:route53/hostedZoneDnsSec:HostedZoneDnsSec": { - "description": "Manages Route 53 Hosted Zone Domain Name System Security Extensions (DNSSEC). For more information about managing DNSSEC in Route 53, see the [Route 53 Developer Guide](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec.html).\n\n!\u003e **WARNING:** If you disable DNSSEC signing for your hosted zone before the DNS changes have propagated, your domain could become unavailable on the internet. When you remove the DS records, you must wait until the longest TTL for the DS records that you remove has expired before you complete the step to disable DNSSEC signing. Please refer to the [Route 53 Developer Guide - Disable DNSSEC](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec-disable.html) for a detailed breakdown on the steps required to disable DNSSEC safely for a hosted zone.\n\n\u003e **Note:** Route53 hosted zones are global resources, and as such any `aws.kms.Key` that you use as part of a signing key needs to be located in the `us-east-1` region. In the example below, the main AWS provider declaration is for `us-east-1`, however if you are provisioning your AWS resources in a different region, you will need to specify a provider alias and use that attached to the `aws.kms.Key` resource as described in the provider alias documentation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n customerMasterKeySpec: \"ECC_NIST_P256\",\n deletionWindowInDays: 7,\n keyUsage: \"SIGN_VERIFY\",\n policy: JSON.stringify({\n Statement: [\n {\n Action: [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n \"kms:Verify\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Resource: \"*\",\n Sid: \"Allow Route 53 DNSSEC Service\",\n },\n {\n Action: \"kms:*\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Resource: \"*\",\n Sid: \"Enable IAM User Permissions\",\n },\n ],\n Version: \"2012-10-17\",\n }),\n});\nconst exampleZone = new aws.route53.Zone(\"example\", {name: \"example.com\"});\nconst exampleKeySigningKey = new aws.route53.KeySigningKey(\"example\", {\n hostedZoneId: exampleZone.id,\n keyManagementServiceArn: example.arn,\n name: \"example\",\n});\nconst exampleHostedZoneDnsSec = new aws.route53.HostedZoneDnsSec(\"example\", {hostedZoneId: exampleKeySigningKey.hostedZoneId}, {\n dependsOn: [exampleKeySigningKey],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n customer_master_key_spec=\"ECC_NIST_P256\",\n deletion_window_in_days=7,\n key_usage=\"SIGN_VERIFY\",\n policy=json.dumps({\n \"Statement\": [\n {\n \"Action\": [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n \"kms:Verify\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Resource\": \"*\",\n \"Sid\": \"Allow Route 53 DNSSEC Service\",\n },\n {\n \"Action\": \"kms:*\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Resource\": \"*\",\n \"Sid\": \"Enable IAM User Permissions\",\n },\n ],\n \"Version\": \"2012-10-17\",\n }))\nexample_zone = aws.route53.Zone(\"example\", name=\"example.com\")\nexample_key_signing_key = aws.route53.KeySigningKey(\"example\",\n hosted_zone_id=example_zone.id,\n key_management_service_arn=example.arn,\n name=\"example\")\nexample_hosted_zone_dns_sec = aws.route53.HostedZoneDnsSec(\"example\", hosted_zone_id=example_key_signing_key.hosted_zone_id,\nopts = pulumi.ResourceOptions(depends_on=[example_key_signing_key]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n CustomerMasterKeySpec = \"ECC_NIST_P256\",\n DeletionWindowInDays = 7,\n KeyUsage = \"SIGN_VERIFY\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n \"kms:Verify\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Resource\"] = \"*\",\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Resource\"] = \"*\",\n [\"Sid\"] = \"Enable IAM User Permissions\",\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n var exampleZone = new Aws.Route53.Zone(\"example\", new()\n {\n Name = \"example.com\",\n });\n\n var exampleKeySigningKey = new Aws.Route53.KeySigningKey(\"example\", new()\n {\n HostedZoneId = exampleZone.Id,\n KeyManagementServiceArn = example.Arn,\n Name = \"example\",\n });\n\n var exampleHostedZoneDnsSec = new Aws.Route53.HostedZoneDnsSec(\"example\", new()\n {\n HostedZoneId = exampleKeySigningKey.HostedZoneId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleKeySigningKey,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t\t\"kms:GetPublicKey\",\n\t\t\t\t\t\t\"kms:Sign\",\n\t\t\t\t\t\t\"kms:Verify\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tCustomerMasterKeySpec: pulumi.String(\"ECC_NIST_P256\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tKeyUsage: pulumi.String(\"SIGN_VERIFY\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := route53.NewZone(ctx, \"example\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeySigningKey, err := route53.NewKeySigningKey(ctx, \"example\", \u0026route53.KeySigningKeyArgs{\n\t\t\tHostedZoneId: exampleZone.ID(),\n\t\t\tKeyManagementServiceArn: example.Arn,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewHostedZoneDnsSec(ctx, \"example\", \u0026route53.HostedZoneDnsSecArgs{\n\t\t\tHostedZoneId: exampleKeySigningKey.HostedZoneId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeySigningKey,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.KeySigningKey;\nimport com.pulumi.aws.route53.KeySigningKeyArgs;\nimport com.pulumi.aws.route53.HostedZoneDnsSec;\nimport com.pulumi.aws.route53.HostedZoneDnsSecArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .customerMasterKeySpec(\"ECC_NIST_P256\")\n .deletionWindowInDays(7)\n .keyUsage(\"SIGN_VERIFY\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"kms:DescribeKey\", \n \"kms:GetPublicKey\", \n \"kms:Sign\", \n \"kms:Verify\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service\")\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\")\n )\n )),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var exampleKeySigningKey = new KeySigningKey(\"exampleKeySigningKey\", KeySigningKeyArgs.builder()\n .hostedZoneId(exampleZone.id())\n .keyManagementServiceArn(example.arn())\n .name(\"example\")\n .build());\n\n var exampleHostedZoneDnsSec = new HostedZoneDnsSec(\"exampleHostedZoneDnsSec\", HostedZoneDnsSecArgs.builder()\n .hostedZoneId(exampleKeySigningKey.hostedZoneId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleKeySigningKey)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n customerMasterKeySpec: ECC_NIST_P256\n deletionWindowInDays: 7\n keyUsage: SIGN_VERIFY\n policy:\n fn::toJSON:\n Statement:\n - Action:\n - kms:DescribeKey\n - kms:GetPublicKey\n - kms:Sign\n - kms:Verify\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Resource: '*'\n Sid: Allow Route 53 DNSSEC Service\n - Action: kms:*\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Resource: '*'\n Sid: Enable IAM User Permissions\n Version: 2012-10-17\n exampleZone:\n type: aws:route53:Zone\n name: example\n properties:\n name: example.com\n exampleKeySigningKey:\n type: aws:route53:KeySigningKey\n name: example\n properties:\n hostedZoneId: ${exampleZone.id}\n keyManagementServiceArn: ${example.arn}\n name: example\n exampleHostedZoneDnsSec:\n type: aws:route53:HostedZoneDnsSec\n name: example\n properties:\n hostedZoneId: ${exampleKeySigningKey.hostedZoneId}\n options:\n dependsOn:\n - ${exampleKeySigningKey}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_route53_hosted_zone_dnssec` resources using the Route 53 Hosted Zone identifier. For example:\n\n```sh\n$ pulumi import aws:route53/hostedZoneDnsSec:HostedZoneDnsSec example Z1D633PJN98FT9\n```\n", + "description": "Manages Route 53 Hosted Zone Domain Name System Security Extensions (DNSSEC). For more information about managing DNSSEC in Route 53, see the [Route 53 Developer Guide](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec.html).\n\n!\u003e **WARNING:** If you disable DNSSEC signing for your hosted zone before the DNS changes have propagated, your domain could become unavailable on the internet. When you remove the DS records, you must wait until the longest TTL for the DS records that you remove has expired before you complete the step to disable DNSSEC signing. Please refer to the [Route 53 Developer Guide - Disable DNSSEC](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec-disable.html) for a detailed breakdown on the steps required to disable DNSSEC safely for a hosted zone.\n\n\u003e **Note:** Route53 hosted zones are global resources, and as such any `aws.kms.Key` that you use as part of a signing key needs to be located in the `us-east-1` region. In the example below, the main AWS provider declaration is for `us-east-1`, however if you are provisioning your AWS resources in a different region, you will need to specify a provider alias and use that attached to the `aws.kms.Key` resource as described in the provider alias documentation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n customerMasterKeySpec: \"ECC_NIST_P256\",\n deletionWindowInDays: 7,\n keyUsage: \"SIGN_VERIFY\",\n policy: JSON.stringify({\n Statement: [\n {\n Action: [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n \"kms:Verify\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Resource: \"*\",\n Sid: \"Allow Route 53 DNSSEC Service\",\n },\n {\n Action: \"kms:*\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Resource: \"*\",\n Sid: \"Enable IAM User Permissions\",\n },\n ],\n Version: \"2012-10-17\",\n }),\n});\nconst exampleZone = new aws.route53.Zone(\"example\", {name: \"example.com\"});\nconst exampleKeySigningKey = new aws.route53.KeySigningKey(\"example\", {\n hostedZoneId: exampleZone.id,\n keyManagementServiceArn: example.arn,\n name: \"example\",\n});\nconst exampleHostedZoneDnsSec = new aws.route53.HostedZoneDnsSec(\"example\", {hostedZoneId: exampleKeySigningKey.hostedZoneId}, {\n dependsOn: [exampleKeySigningKey],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n customer_master_key_spec=\"ECC_NIST_P256\",\n deletion_window_in_days=7,\n key_usage=\"SIGN_VERIFY\",\n policy=json.dumps({\n \"Statement\": [\n {\n \"Action\": [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n \"kms:Verify\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Resource\": \"*\",\n \"Sid\": \"Allow Route 53 DNSSEC Service\",\n },\n {\n \"Action\": \"kms:*\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Resource\": \"*\",\n \"Sid\": \"Enable IAM User Permissions\",\n },\n ],\n \"Version\": \"2012-10-17\",\n }))\nexample_zone = aws.route53.Zone(\"example\", name=\"example.com\")\nexample_key_signing_key = aws.route53.KeySigningKey(\"example\",\n hosted_zone_id=example_zone.id,\n key_management_service_arn=example.arn,\n name=\"example\")\nexample_hosted_zone_dns_sec = aws.route53.HostedZoneDnsSec(\"example\", hosted_zone_id=example_key_signing_key.hosted_zone_id,\nopts = pulumi.ResourceOptions(depends_on=[example_key_signing_key]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n CustomerMasterKeySpec = \"ECC_NIST_P256\",\n DeletionWindowInDays = 7,\n KeyUsage = \"SIGN_VERIFY\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n \"kms:Verify\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Resource\"] = \"*\",\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Resource\"] = \"*\",\n [\"Sid\"] = \"Enable IAM User Permissions\",\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n var exampleZone = new Aws.Route53.Zone(\"example\", new()\n {\n Name = \"example.com\",\n });\n\n var exampleKeySigningKey = new Aws.Route53.KeySigningKey(\"example\", new()\n {\n HostedZoneId = exampleZone.Id,\n KeyManagementServiceArn = example.Arn,\n Name = \"example\",\n });\n\n var exampleHostedZoneDnsSec = new Aws.Route53.HostedZoneDnsSec(\"example\", new()\n {\n HostedZoneId = exampleKeySigningKey.HostedZoneId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleKeySigningKey,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t\t\"kms:GetPublicKey\",\n\t\t\t\t\t\t\"kms:Sign\",\n\t\t\t\t\t\t\"kms:Verify\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tCustomerMasterKeySpec: pulumi.String(\"ECC_NIST_P256\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tKeyUsage: pulumi.String(\"SIGN_VERIFY\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := route53.NewZone(ctx, \"example\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeySigningKey, err := route53.NewKeySigningKey(ctx, \"example\", \u0026route53.KeySigningKeyArgs{\n\t\t\tHostedZoneId: exampleZone.ID(),\n\t\t\tKeyManagementServiceArn: example.Arn,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewHostedZoneDnsSec(ctx, \"example\", \u0026route53.HostedZoneDnsSecArgs{\n\t\t\tHostedZoneId: exampleKeySigningKey.HostedZoneId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeySigningKey,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.KeySigningKey;\nimport com.pulumi.aws.route53.KeySigningKeyArgs;\nimport com.pulumi.aws.route53.HostedZoneDnsSec;\nimport com.pulumi.aws.route53.HostedZoneDnsSecArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .customerMasterKeySpec(\"ECC_NIST_P256\")\n .deletionWindowInDays(7)\n .keyUsage(\"SIGN_VERIFY\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"kms:DescribeKey\", \n \"kms:GetPublicKey\", \n \"kms:Sign\", \n \"kms:Verify\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service\")\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\")\n )\n )),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var exampleKeySigningKey = new KeySigningKey(\"exampleKeySigningKey\", KeySigningKeyArgs.builder()\n .hostedZoneId(exampleZone.id())\n .keyManagementServiceArn(example.arn())\n .name(\"example\")\n .build());\n\n var exampleHostedZoneDnsSec = new HostedZoneDnsSec(\"exampleHostedZoneDnsSec\", HostedZoneDnsSecArgs.builder()\n .hostedZoneId(exampleKeySigningKey.hostedZoneId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleKeySigningKey)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n customerMasterKeySpec: ECC_NIST_P256\n deletionWindowInDays: 7\n keyUsage: SIGN_VERIFY\n policy:\n fn::toJSON:\n Statement:\n - Action:\n - kms:DescribeKey\n - kms:GetPublicKey\n - kms:Sign\n - kms:Verify\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Resource: '*'\n Sid: Allow Route 53 DNSSEC Service\n - Action: kms:*\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Resource: '*'\n Sid: Enable IAM User Permissions\n Version: 2012-10-17\n exampleZone:\n type: aws:route53:Zone\n name: example\n properties:\n name: example.com\n exampleKeySigningKey:\n type: aws:route53:KeySigningKey\n name: example\n properties:\n hostedZoneId: ${exampleZone.id}\n keyManagementServiceArn: ${example.arn}\n name: example\n exampleHostedZoneDnsSec:\n type: aws:route53:HostedZoneDnsSec\n name: example\n properties:\n hostedZoneId: ${exampleKeySigningKey.hostedZoneId}\n options:\n dependson:\n - ${exampleKeySigningKey}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_route53_hosted_zone_dnssec` resources using the Route 53 Hosted Zone identifier. For example:\n\n```sh\n$ pulumi import aws:route53/hostedZoneDnsSec:HostedZoneDnsSec example Z1D633PJN98FT9\n```\n", "properties": { "hostedZoneId": { "type": "string", @@ -341477,7 +341477,7 @@ } }, "aws:route53/keySigningKey:KeySigningKey": { - "description": "Manages a Route 53 Key Signing Key. To manage Domain Name System Security Extensions (DNSSEC) for a Hosted Zone, see the `aws.route53.HostedZoneDnsSec` resource. For more information about managing DNSSEC in Route 53, see the [Route 53 Developer Guide](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n customerMasterKeySpec: \"ECC_NIST_P256\",\n deletionWindowInDays: 7,\n keyUsage: \"SIGN_VERIFY\",\n policy: JSON.stringify({\n Statement: [\n {\n Action: [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Sid: \"Allow Route 53 DNSSEC Service\",\n Resource: \"*\",\n Condition: {\n StringEquals: {\n \"aws:SourceAccount\": current.then(current =\u003e current.accountId),\n },\n ArnLike: {\n \"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n {\n Action: \"kms:CreateGrant\",\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Sid: \"Allow Route 53 DNSSEC Service to CreateGrant\",\n Resource: \"*\",\n Condition: {\n Bool: {\n \"kms:GrantIsForAWSResource\": \"true\",\n },\n },\n },\n {\n Action: \"kms:*\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Resource: \"*\",\n Sid: \"Enable IAM User Permissions\",\n },\n ],\n Version: \"2012-10-17\",\n }),\n});\nconst exampleZone = new aws.route53.Zone(\"example\", {name: \"example.com\"});\nconst exampleKeySigningKey = new aws.route53.KeySigningKey(\"example\", {\n hostedZoneId: test.id,\n keyManagementServiceArn: testAwsKmsKey.arn,\n name: \"example\",\n});\nconst exampleHostedZoneDnsSec = new aws.route53.HostedZoneDnsSec(\"example\", {hostedZoneId: exampleKeySigningKey.hostedZoneId}, {\n dependsOn: [exampleKeySigningKey],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n customer_master_key_spec=\"ECC_NIST_P256\",\n deletion_window_in_days=7,\n key_usage=\"SIGN_VERIFY\",\n policy=json.dumps({\n \"Statement\": [\n {\n \"Action\": [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Sid\": \"Allow Route 53 DNSSEC Service\",\n \"Resource\": \"*\",\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": current.account_id,\n },\n \"ArnLike\": {\n \"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n {\n \"Action\": \"kms:CreateGrant\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Sid\": \"Allow Route 53 DNSSEC Service to CreateGrant\",\n \"Resource\": \"*\",\n \"Condition\": {\n \"Bool\": {\n \"kms:GrantIsForAWSResource\": \"true\",\n },\n },\n },\n {\n \"Action\": \"kms:*\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Resource\": \"*\",\n \"Sid\": \"Enable IAM User Permissions\",\n },\n ],\n \"Version\": \"2012-10-17\",\n }))\nexample_zone = aws.route53.Zone(\"example\", name=\"example.com\")\nexample_key_signing_key = aws.route53.KeySigningKey(\"example\",\n hosted_zone_id=test[\"id\"],\n key_management_service_arn=test_aws_kms_key[\"arn\"],\n name=\"example\")\nexample_hosted_zone_dns_sec = aws.route53.HostedZoneDnsSec(\"example\", hosted_zone_id=example_key_signing_key.hosted_zone_id,\nopts = pulumi.ResourceOptions(depends_on=[example_key_signing_key]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n CustomerMasterKeySpec = \"ECC_NIST_P256\",\n DeletionWindowInDays = 7,\n KeyUsage = \"SIGN_VERIFY\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service\",\n [\"Resource\"] = \"*\",\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceAccount\"] = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n [\"ArnLike\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceArn\"] = \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:CreateGrant\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service to CreateGrant\",\n [\"Resource\"] = \"*\",\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Bool\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"kms:GrantIsForAWSResource\"] = \"true\",\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Resource\"] = \"*\",\n [\"Sid\"] = \"Enable IAM User Permissions\",\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n var exampleZone = new Aws.Route53.Zone(\"example\", new()\n {\n Name = \"example.com\",\n });\n\n var exampleKeySigningKey = new Aws.Route53.KeySigningKey(\"example\", new()\n {\n HostedZoneId = test.Id,\n KeyManagementServiceArn = testAwsKmsKey.Arn,\n Name = \"example\",\n });\n\n var exampleHostedZoneDnsSec = new Aws.Route53.HostedZoneDnsSec(\"example\", new()\n {\n HostedZoneId = exampleKeySigningKey.HostedZoneId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleKeySigningKey,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t\t\"kms:GetPublicKey\",\n\t\t\t\t\t\t\"kms:Sign\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws:SourceAccount\": current.AccountId,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"ArnLike\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:CreateGrant\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service to CreateGrant\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"Bool\": map[string]interface{}{\n\t\t\t\t\t\t\t\"kms:GrantIsForAWSResource\": \"true\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tCustomerMasterKeySpec: pulumi.String(\"ECC_NIST_P256\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tKeyUsage: pulumi.String(\"SIGN_VERIFY\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewZone(ctx, \"example\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeySigningKey, err := route53.NewKeySigningKey(ctx, \"example\", \u0026route53.KeySigningKeyArgs{\n\t\t\tHostedZoneId: pulumi.Any(test.Id),\n\t\t\tKeyManagementServiceArn: pulumi.Any(testAwsKmsKey.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewHostedZoneDnsSec(ctx, \"example\", \u0026route53.HostedZoneDnsSecArgs{\n\t\t\tHostedZoneId: exampleKeySigningKey.HostedZoneId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeySigningKey,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.KeySigningKey;\nimport com.pulumi.aws.route53.KeySigningKeyArgs;\nimport com.pulumi.aws.route53.HostedZoneDnsSec;\nimport com.pulumi.aws.route53.HostedZoneDnsSecArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .customerMasterKeySpec(\"ECC_NIST_P256\")\n .deletionWindowInDays(7)\n .keyUsage(\"SIGN_VERIFY\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"kms:DescribeKey\", \n \"kms:GetPublicKey\", \n \"kms:Sign\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringEquals\", jsonObject(\n jsonProperty(\"aws:SourceAccount\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n )),\n jsonProperty(\"ArnLike\", jsonObject(\n jsonProperty(\"aws:SourceArn\", \"arn:aws:route53:::hostedzone/*\")\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:CreateGrant\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service to CreateGrant\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"Bool\", jsonObject(\n jsonProperty(\"kms:GrantIsForAWSResource\", \"true\")\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\")\n )\n )),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var exampleKeySigningKey = new KeySigningKey(\"exampleKeySigningKey\", KeySigningKeyArgs.builder()\n .hostedZoneId(test.id())\n .keyManagementServiceArn(testAwsKmsKey.arn())\n .name(\"example\")\n .build());\n\n var exampleHostedZoneDnsSec = new HostedZoneDnsSec(\"exampleHostedZoneDnsSec\", HostedZoneDnsSecArgs.builder()\n .hostedZoneId(exampleKeySigningKey.hostedZoneId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleKeySigningKey)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n customerMasterKeySpec: ECC_NIST_P256\n deletionWindowInDays: 7\n keyUsage: SIGN_VERIFY\n policy:\n fn::toJSON:\n Statement:\n - Action:\n - kms:DescribeKey\n - kms:GetPublicKey\n - kms:Sign\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Sid: Allow Route 53 DNSSEC Service\n Resource: '*'\n Condition:\n StringEquals:\n aws:SourceAccount: ${current.accountId}\n ArnLike:\n aws:SourceArn: arn:aws:route53:::hostedzone/*\n - Action: kms:CreateGrant\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Sid: Allow Route 53 DNSSEC Service to CreateGrant\n Resource: '*'\n Condition:\n Bool:\n kms:GrantIsForAWSResource: 'true'\n - Action: kms:*\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Resource: '*'\n Sid: Enable IAM User Permissions\n Version: 2012-10-17\n exampleZone:\n type: aws:route53:Zone\n name: example\n properties:\n name: example.com\n exampleKeySigningKey:\n type: aws:route53:KeySigningKey\n name: example\n properties:\n hostedZoneId: ${test.id}\n keyManagementServiceArn: ${testAwsKmsKey.arn}\n name: example\n exampleHostedZoneDnsSec:\n type: aws:route53:HostedZoneDnsSec\n name: example\n properties:\n hostedZoneId: ${exampleKeySigningKey.hostedZoneId}\n options:\n dependsOn:\n - ${exampleKeySigningKey}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_route53_key_signing_key` resources using the Route 53 Hosted Zone identifier and KMS Key identifier, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:route53/keySigningKey:KeySigningKey example Z1D633PJN98FT9,example\n```\n", + "description": "Manages a Route 53 Key Signing Key. To manage Domain Name System Security Extensions (DNSSEC) for a Hosted Zone, see the `aws.route53.HostedZoneDnsSec` resource. For more information about managing DNSSEC in Route 53, see the [Route 53 Developer Guide](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n customerMasterKeySpec: \"ECC_NIST_P256\",\n deletionWindowInDays: 7,\n keyUsage: \"SIGN_VERIFY\",\n policy: JSON.stringify({\n Statement: [\n {\n Action: [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Sid: \"Allow Route 53 DNSSEC Service\",\n Resource: \"*\",\n Condition: {\n StringEquals: {\n \"aws:SourceAccount\": current.then(current =\u003e current.accountId),\n },\n ArnLike: {\n \"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n {\n Action: \"kms:CreateGrant\",\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Sid: \"Allow Route 53 DNSSEC Service to CreateGrant\",\n Resource: \"*\",\n Condition: {\n Bool: {\n \"kms:GrantIsForAWSResource\": \"true\",\n },\n },\n },\n {\n Action: \"kms:*\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Resource: \"*\",\n Sid: \"Enable IAM User Permissions\",\n },\n ],\n Version: \"2012-10-17\",\n }),\n});\nconst exampleZone = new aws.route53.Zone(\"example\", {name: \"example.com\"});\nconst exampleKeySigningKey = new aws.route53.KeySigningKey(\"example\", {\n hostedZoneId: test.id,\n keyManagementServiceArn: testAwsKmsKey.arn,\n name: \"example\",\n});\nconst exampleHostedZoneDnsSec = new aws.route53.HostedZoneDnsSec(\"example\", {hostedZoneId: exampleKeySigningKey.hostedZoneId}, {\n dependsOn: [exampleKeySigningKey],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n customer_master_key_spec=\"ECC_NIST_P256\",\n deletion_window_in_days=7,\n key_usage=\"SIGN_VERIFY\",\n policy=json.dumps({\n \"Statement\": [\n {\n \"Action\": [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Sid\": \"Allow Route 53 DNSSEC Service\",\n \"Resource\": \"*\",\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": current.account_id,\n },\n \"ArnLike\": {\n \"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n {\n \"Action\": \"kms:CreateGrant\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Sid\": \"Allow Route 53 DNSSEC Service to CreateGrant\",\n \"Resource\": \"*\",\n \"Condition\": {\n \"Bool\": {\n \"kms:GrantIsForAWSResource\": \"true\",\n },\n },\n },\n {\n \"Action\": \"kms:*\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Resource\": \"*\",\n \"Sid\": \"Enable IAM User Permissions\",\n },\n ],\n \"Version\": \"2012-10-17\",\n }))\nexample_zone = aws.route53.Zone(\"example\", name=\"example.com\")\nexample_key_signing_key = aws.route53.KeySigningKey(\"example\",\n hosted_zone_id=test[\"id\"],\n key_management_service_arn=test_aws_kms_key[\"arn\"],\n name=\"example\")\nexample_hosted_zone_dns_sec = aws.route53.HostedZoneDnsSec(\"example\", hosted_zone_id=example_key_signing_key.hosted_zone_id,\nopts = pulumi.ResourceOptions(depends_on=[example_key_signing_key]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n CustomerMasterKeySpec = \"ECC_NIST_P256\",\n DeletionWindowInDays = 7,\n KeyUsage = \"SIGN_VERIFY\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service\",\n [\"Resource\"] = \"*\",\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceAccount\"] = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n [\"ArnLike\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceArn\"] = \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:CreateGrant\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service to CreateGrant\",\n [\"Resource\"] = \"*\",\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Bool\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"kms:GrantIsForAWSResource\"] = \"true\",\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Resource\"] = \"*\",\n [\"Sid\"] = \"Enable IAM User Permissions\",\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n var exampleZone = new Aws.Route53.Zone(\"example\", new()\n {\n Name = \"example.com\",\n });\n\n var exampleKeySigningKey = new Aws.Route53.KeySigningKey(\"example\", new()\n {\n HostedZoneId = test.Id,\n KeyManagementServiceArn = testAwsKmsKey.Arn,\n Name = \"example\",\n });\n\n var exampleHostedZoneDnsSec = new Aws.Route53.HostedZoneDnsSec(\"example\", new()\n {\n HostedZoneId = exampleKeySigningKey.HostedZoneId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleKeySigningKey,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t\t\"kms:GetPublicKey\",\n\t\t\t\t\t\t\"kms:Sign\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws:SourceAccount\": current.AccountId,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"ArnLike\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:CreateGrant\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service to CreateGrant\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"Bool\": map[string]interface{}{\n\t\t\t\t\t\t\t\"kms:GrantIsForAWSResource\": \"true\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tCustomerMasterKeySpec: pulumi.String(\"ECC_NIST_P256\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tKeyUsage: pulumi.String(\"SIGN_VERIFY\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewZone(ctx, \"example\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeySigningKey, err := route53.NewKeySigningKey(ctx, \"example\", \u0026route53.KeySigningKeyArgs{\n\t\t\tHostedZoneId: pulumi.Any(test.Id),\n\t\t\tKeyManagementServiceArn: pulumi.Any(testAwsKmsKey.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewHostedZoneDnsSec(ctx, \"example\", \u0026route53.HostedZoneDnsSecArgs{\n\t\t\tHostedZoneId: exampleKeySigningKey.HostedZoneId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeySigningKey,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.KeySigningKey;\nimport com.pulumi.aws.route53.KeySigningKeyArgs;\nimport com.pulumi.aws.route53.HostedZoneDnsSec;\nimport com.pulumi.aws.route53.HostedZoneDnsSecArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .customerMasterKeySpec(\"ECC_NIST_P256\")\n .deletionWindowInDays(7)\n .keyUsage(\"SIGN_VERIFY\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"kms:DescribeKey\", \n \"kms:GetPublicKey\", \n \"kms:Sign\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringEquals\", jsonObject(\n jsonProperty(\"aws:SourceAccount\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n )),\n jsonProperty(\"ArnLike\", jsonObject(\n jsonProperty(\"aws:SourceArn\", \"arn:aws:route53:::hostedzone/*\")\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:CreateGrant\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service to CreateGrant\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"Bool\", jsonObject(\n jsonProperty(\"kms:GrantIsForAWSResource\", \"true\")\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\")\n )\n )),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var exampleKeySigningKey = new KeySigningKey(\"exampleKeySigningKey\", KeySigningKeyArgs.builder()\n .hostedZoneId(test.id())\n .keyManagementServiceArn(testAwsKmsKey.arn())\n .name(\"example\")\n .build());\n\n var exampleHostedZoneDnsSec = new HostedZoneDnsSec(\"exampleHostedZoneDnsSec\", HostedZoneDnsSecArgs.builder()\n .hostedZoneId(exampleKeySigningKey.hostedZoneId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleKeySigningKey)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n customerMasterKeySpec: ECC_NIST_P256\n deletionWindowInDays: 7\n keyUsage: SIGN_VERIFY\n policy:\n fn::toJSON:\n Statement:\n - Action:\n - kms:DescribeKey\n - kms:GetPublicKey\n - kms:Sign\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Sid: Allow Route 53 DNSSEC Service\n Resource: '*'\n Condition:\n StringEquals:\n aws:SourceAccount: ${current.accountId}\n ArnLike:\n aws:SourceArn: arn:aws:route53:::hostedzone/*\n - Action: kms:CreateGrant\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Sid: Allow Route 53 DNSSEC Service to CreateGrant\n Resource: '*'\n Condition:\n Bool:\n kms:GrantIsForAWSResource: 'true'\n - Action: kms:*\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Resource: '*'\n Sid: Enable IAM User Permissions\n Version: 2012-10-17\n exampleZone:\n type: aws:route53:Zone\n name: example\n properties:\n name: example.com\n exampleKeySigningKey:\n type: aws:route53:KeySigningKey\n name: example\n properties:\n hostedZoneId: ${test.id}\n keyManagementServiceArn: ${testAwsKmsKey.arn}\n name: example\n exampleHostedZoneDnsSec:\n type: aws:route53:HostedZoneDnsSec\n name: example\n properties:\n hostedZoneId: ${exampleKeySigningKey.hostedZoneId}\n options:\n dependson:\n - ${exampleKeySigningKey}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_route53_key_signing_key` resources using the Route 53 Hosted Zone identifier and KMS Key identifier, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:route53/keySigningKey:KeySigningKey example Z1D633PJN98FT9,example\n```\n", "properties": { "digestAlgorithmMnemonic": { "type": "string", @@ -342001,7 +342001,7 @@ } }, "aws:route53/queryLog:QueryLog": { - "description": "Provides a Route53 query logging configuration resource.\n\n\u003e **NOTE:** There are restrictions on the configuration of query logging. Notably,\nthe CloudWatch log group must be in the `us-east-1` region,\na permissive CloudWatch log resource policy must be in place, and\nthe Route53 hosted zone must be public.\nSee [Configuring Logging for DNS Queries](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html?console_help=true#query-logs-configuring) for additional details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Example Route53 zone with query logging\nconst exampleCom = new aws.route53.Zone(\"example_com\", {name: \"example.com\"});\nconst awsRoute53ExampleCom = new aws.cloudwatch.LogGroup(\"aws_route53_example_com\", {\n name: pulumi.interpolate`/aws/route53/${exampleCom.name}`,\n retentionInDays: 30,\n});\n// Example CloudWatch log resource policy to allow Route53 to write logs\n// to any log group under /aws/route53/*\nconst route53-query-logging-policy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources: [\"arn:aws:logs:*:*:log-group:/aws/route53/*\"],\n principals: [{\n identifiers: [\"route53.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst route53_query_logging_policyLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"route53-query-logging-policy\", {\n policyDocument: route53_query_logging_policy.then(route53_query_logging_policy =\u003e route53_query_logging_policy.json),\n policyName: \"route53-query-logging-policy\",\n});\nconst exampleComQueryLog = new aws.route53.QueryLog(\"example_com\", {\n cloudwatchLogGroupArn: awsRoute53ExampleCom.arn,\n zoneId: exampleCom.zoneId,\n}, {\n dependsOn: [route53_query_logging_policyLogResourcePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Example Route53 zone with query logging\nexample_com = aws.route53.Zone(\"example_com\", name=\"example.com\")\naws_route53_example_com = aws.cloudwatch.LogGroup(\"aws_route53_example_com\",\n name=example_com.name.apply(lambda name: f\"/aws/route53/{name}\"),\n retention_in_days=30)\n# Example CloudWatch log resource policy to allow Route53 to write logs\n# to any log group under /aws/route53/*\nroute53_query_logging_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n \"resources\": [\"arn:aws:logs:*:*:log-group:/aws/route53/*\"],\n \"principals\": [{\n \"identifiers\": [\"route53.amazonaws.com\"],\n \"type\": \"Service\",\n }],\n}])\nroute53_query_logging_policy_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"route53-query-logging-policy\",\n policy_document=route53_query_logging_policy.json,\n policy_name=\"route53-query-logging-policy\")\nexample_com_query_log = aws.route53.QueryLog(\"example_com\",\n cloudwatch_log_group_arn=aws_route53_example_com.arn,\n zone_id=example_com.zone_id,\n opts = pulumi.ResourceOptions(depends_on=[route53_query_logging_policy_log_resource_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Route53 zone with query logging\n var exampleCom = new Aws.Route53.Zone(\"example_com\", new()\n {\n Name = \"example.com\",\n });\n\n var awsRoute53ExampleCom = new Aws.CloudWatch.LogGroup(\"aws_route53_example_com\", new()\n {\n Name = exampleCom.Name.Apply(name =\u003e $\"/aws/route53/{name}\"),\n RetentionInDays = 30,\n });\n\n // Example CloudWatch log resource policy to allow Route53 to write logs\n // to any log group under /aws/route53/*\n var route53_query_logging_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*:*:log-group:/aws/route53/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"route53.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var route53_query_logging_policyLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"route53-query-logging-policy\", new()\n {\n PolicyDocument = route53_query_logging_policy.Apply(route53_query_logging_policy =\u003e route53_query_logging_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n PolicyName = \"route53-query-logging-policy\",\n });\n\n var exampleComQueryLog = new Aws.Route53.QueryLog(\"example_com\", new()\n {\n CloudwatchLogGroupArn = awsRoute53ExampleCom.Arn,\n ZoneId = exampleCom.ZoneId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n route53_query_logging_policyLogResourcePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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// Example Route53 zone with query logging\n\t\texampleCom, err := route53.NewZone(ctx, \"example_com\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tawsRoute53ExampleCom, err := cloudwatch.NewLogGroup(ctx, \"aws_route53_example_com\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: exampleCom.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"/aws/route53/%v\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tRetentionInDays: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example CloudWatch log resource policy to allow Route53 to write logs\n\t\t// to any log group under /aws/route53/*\n\t\troute53_query_logging_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*:*:log-group:/aws/route53/*\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"route53.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"route53-query-logging-policy\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: pulumi.String(route53_query_logging_policy.Json),\n\t\t\tPolicyName: pulumi.String(\"route53-query-logging-policy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewQueryLog(ctx, \"example_com\", \u0026route53.QueryLogArgs{\n\t\t\tCloudwatchLogGroupArn: awsRoute53ExampleCom.Arn,\n\t\t\tZoneId: exampleCom.ZoneId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\troute53_query_logging_policyLogResourcePolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.route53.QueryLog;\nimport com.pulumi.aws.route53.QueryLogArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Example Route53 zone with query logging\n var exampleCom = new Zone(\"exampleCom\", ZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var awsRoute53ExampleCom = new LogGroup(\"awsRoute53ExampleCom\", LogGroupArgs.builder()\n .name(exampleCom.name().applyValue(name -\u003e String.format(\"/aws/route53/%s\", name)))\n .retentionInDays(30)\n .build());\n\n // Example CloudWatch log resource policy to allow Route53 to write logs\n // to any log group under /aws/route53/*\n final var route53-query-logging-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .resources(\"arn:aws:logs:*:*:log-group:/aws/route53/*\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"route53.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var route53_query_logging_policyLogResourcePolicy = new LogResourcePolicy(\"route53-query-logging-policyLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyDocument(route53_query_logging_policy.json())\n .policyName(\"route53-query-logging-policy\")\n .build());\n\n var exampleComQueryLog = new QueryLog(\"exampleComQueryLog\", QueryLogArgs.builder()\n .cloudwatchLogGroupArn(awsRoute53ExampleCom.arn())\n .zoneId(exampleCom.zoneId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(route53_query_logging_policyLogResourcePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awsRoute53ExampleCom:\n type: aws:cloudwatch:LogGroup\n name: aws_route53_example_com\n properties:\n name: /aws/route53/${exampleCom.name}\n retentionInDays: 30\n route53-query-logging-policyLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: route53-query-logging-policy\n properties:\n policyDocument: ${[\"route53-query-logging-policy\"].json}\n policyName: route53-query-logging-policy\n # Example Route53 zone with query logging\n exampleCom:\n type: aws:route53:Zone\n name: example_com\n properties:\n name: example.com\n exampleComQueryLog:\n type: aws:route53:QueryLog\n name: example_com\n properties:\n cloudwatchLogGroupArn: ${awsRoute53ExampleCom.arn}\n zoneId: ${exampleCom.zoneId}\n options:\n dependsOn:\n - ${[\"route53-query-logging-policyLogResourcePolicy\"]}\nvariables:\n # Example CloudWatch log resource policy to allow Route53 to write logs\n # to any log group under /aws/route53/*\n route53-query-logging-policy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - logs:CreateLogStream\n - logs:PutLogEvents\n resources:\n - arn:aws:logs:*:*:log-group:/aws/route53/*\n principals:\n - identifiers:\n - route53.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 query logging configurations using their ID. For example:\n\n```sh\n$ pulumi import aws:route53/queryLog:QueryLog example_com xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n```\n", + "description": "Provides a Route53 query logging configuration resource.\n\n\u003e **NOTE:** There are restrictions on the configuration of query logging. Notably,\nthe CloudWatch log group must be in the `us-east-1` region,\na permissive CloudWatch log resource policy must be in place, and\nthe Route53 hosted zone must be public.\nSee [Configuring Logging for DNS Queries](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html?console_help=true#query-logs-configuring) for additional details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Example Route53 zone with query logging\nconst exampleCom = new aws.route53.Zone(\"example_com\", {name: \"example.com\"});\nconst awsRoute53ExampleCom = new aws.cloudwatch.LogGroup(\"aws_route53_example_com\", {\n name: pulumi.interpolate`/aws/route53/${exampleCom.name}`,\n retentionInDays: 30,\n});\n// Example CloudWatch log resource policy to allow Route53 to write logs\n// to any log group under /aws/route53/*\nconst route53-query-logging-policy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources: [\"arn:aws:logs:*:*:log-group:/aws/route53/*\"],\n principals: [{\n identifiers: [\"route53.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst route53_query_logging_policyLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"route53-query-logging-policy\", {\n policyDocument: route53_query_logging_policy.then(route53_query_logging_policy =\u003e route53_query_logging_policy.json),\n policyName: \"route53-query-logging-policy\",\n});\nconst exampleComQueryLog = new aws.route53.QueryLog(\"example_com\", {\n cloudwatchLogGroupArn: awsRoute53ExampleCom.arn,\n zoneId: exampleCom.zoneId,\n}, {\n dependsOn: [route53_query_logging_policyLogResourcePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Example Route53 zone with query logging\nexample_com = aws.route53.Zone(\"example_com\", name=\"example.com\")\naws_route53_example_com = aws.cloudwatch.LogGroup(\"aws_route53_example_com\",\n name=example_com.name.apply(lambda name: f\"/aws/route53/{name}\"),\n retention_in_days=30)\n# Example CloudWatch log resource policy to allow Route53 to write logs\n# to any log group under /aws/route53/*\nroute53_query_logging_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n \"resources\": [\"arn:aws:logs:*:*:log-group:/aws/route53/*\"],\n \"principals\": [{\n \"identifiers\": [\"route53.amazonaws.com\"],\n \"type\": \"Service\",\n }],\n}])\nroute53_query_logging_policy_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"route53-query-logging-policy\",\n policy_document=route53_query_logging_policy.json,\n policy_name=\"route53-query-logging-policy\")\nexample_com_query_log = aws.route53.QueryLog(\"example_com\",\n cloudwatch_log_group_arn=aws_route53_example_com.arn,\n zone_id=example_com.zone_id,\n opts = pulumi.ResourceOptions(depends_on=[route53_query_logging_policy_log_resource_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Route53 zone with query logging\n var exampleCom = new Aws.Route53.Zone(\"example_com\", new()\n {\n Name = \"example.com\",\n });\n\n var awsRoute53ExampleCom = new Aws.CloudWatch.LogGroup(\"aws_route53_example_com\", new()\n {\n Name = exampleCom.Name.Apply(name =\u003e $\"/aws/route53/{name}\"),\n RetentionInDays = 30,\n });\n\n // Example CloudWatch log resource policy to allow Route53 to write logs\n // to any log group under /aws/route53/*\n var route53_query_logging_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*:*:log-group:/aws/route53/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"route53.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var route53_query_logging_policyLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"route53-query-logging-policy\", new()\n {\n PolicyDocument = route53_query_logging_policy.Apply(route53_query_logging_policy =\u003e route53_query_logging_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n PolicyName = \"route53-query-logging-policy\",\n });\n\n var exampleComQueryLog = new Aws.Route53.QueryLog(\"example_com\", new()\n {\n CloudwatchLogGroupArn = awsRoute53ExampleCom.Arn,\n ZoneId = exampleCom.ZoneId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n route53_query_logging_policyLogResourcePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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// Example Route53 zone with query logging\n\t\texampleCom, err := route53.NewZone(ctx, \"example_com\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tawsRoute53ExampleCom, err := cloudwatch.NewLogGroup(ctx, \"aws_route53_example_com\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: exampleCom.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"/aws/route53/%v\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tRetentionInDays: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example CloudWatch log resource policy to allow Route53 to write logs\n\t\t// to any log group under /aws/route53/*\n\t\troute53_query_logging_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*:*:log-group:/aws/route53/*\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"route53.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"route53-query-logging-policy\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: pulumi.String(route53_query_logging_policy.Json),\n\t\t\tPolicyName: pulumi.String(\"route53-query-logging-policy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewQueryLog(ctx, \"example_com\", \u0026route53.QueryLogArgs{\n\t\t\tCloudwatchLogGroupArn: awsRoute53ExampleCom.Arn,\n\t\t\tZoneId: exampleCom.ZoneId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\troute53_query_logging_policyLogResourcePolicy,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.route53.QueryLog;\nimport com.pulumi.aws.route53.QueryLogArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Example Route53 zone with query logging\n var exampleCom = new Zone(\"exampleCom\", ZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var awsRoute53ExampleCom = new LogGroup(\"awsRoute53ExampleCom\", LogGroupArgs.builder()\n .name(exampleCom.name().applyValue(name -\u003e String.format(\"/aws/route53/%s\", name)))\n .retentionInDays(30)\n .build());\n\n // Example CloudWatch log resource policy to allow Route53 to write logs\n // to any log group under /aws/route53/*\n final var route53-query-logging-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .resources(\"arn:aws:logs:*:*:log-group:/aws/route53/*\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"route53.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var route53_query_logging_policyLogResourcePolicy = new LogResourcePolicy(\"route53-query-logging-policyLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyDocument(route53_query_logging_policy.json())\n .policyName(\"route53-query-logging-policy\")\n .build());\n\n var exampleComQueryLog = new QueryLog(\"exampleComQueryLog\", QueryLogArgs.builder()\n .cloudwatchLogGroupArn(awsRoute53ExampleCom.arn())\n .zoneId(exampleCom.zoneId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(route53_query_logging_policyLogResourcePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awsRoute53ExampleCom:\n type: aws:cloudwatch:LogGroup\n name: aws_route53_example_com\n properties:\n name: /aws/route53/${exampleCom.name}\n retentionInDays: 30\n route53-query-logging-policyLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: route53-query-logging-policy\n properties:\n policyDocument: ${[\"route53-query-logging-policy\"].json}\n policyName: route53-query-logging-policy\n # Example Route53 zone with query logging\n exampleCom:\n type: aws:route53:Zone\n name: example_com\n properties:\n name: example.com\n exampleComQueryLog:\n type: aws:route53:QueryLog\n name: example_com\n properties:\n cloudwatchLogGroupArn: ${awsRoute53ExampleCom.arn}\n zoneId: ${exampleCom.zoneId}\n options:\n dependson:\n - ${[\"route53-query-logging-policyLogResourcePolicy\"]}\nvariables:\n # Example CloudWatch log resource policy to allow Route53 to write logs\n # to any log group under /aws/route53/*\n route53-query-logging-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - logs:CreateLogStream\n - logs:PutLogEvents\n resources:\n - arn:aws:logs:*:*:log-group:/aws/route53/*\n principals:\n - identifiers:\n - route53.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 query logging configurations using their ID. For example:\n\n```sh\n$ pulumi import aws:route53/queryLog:QueryLog example_com xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n```\n", "properties": { "arn": { "type": "string", @@ -344071,7 +344071,7 @@ } }, "aws:route53domains/delegationSignerRecord:DelegationSignerRecord": { - "description": "Provides a resource to manage a [delegation signer record](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec-enable-signing.html#dns-configuring-dnssec-enable-signing-step-1) in the parent DNS zone for domains registered with Route53.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n customerMasterKeySpec: \"ECC_NIST_P256\",\n deletionWindowInDays: 7,\n keyUsage: \"SIGN_VERIFY\",\n policy: JSON.stringify({\n Statement: [\n {\n Action: [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Sid: \"Allow Route 53 DNSSEC Service\",\n Resource: \"*\",\n Condition: {\n StringEquals: {\n \"aws:SourceAccount\": current.then(current =\u003e current.accountId),\n },\n ArnLike: {\n \"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n {\n Action: \"kms:CreateGrant\",\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Sid: \"Allow Route 53 DNSSEC Service to CreateGrant\",\n Resource: \"*\",\n Condition: {\n Bool: {\n \"kms:GrantIsForAWSResource\": \"true\",\n },\n },\n },\n {\n Action: \"kms:*\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Resource: \"*\",\n Sid: \"Enable IAM User Permissions\",\n },\n ],\n Version: \"2012-10-17\",\n }),\n});\nconst exampleZone = new aws.route53.Zone(\"example\", {name: \"example.com\"});\nconst exampleKeySigningKey = new aws.route53.KeySigningKey(\"example\", {\n hostedZoneId: test.id,\n keyManagementServiceArn: testAwsKmsKey.arn,\n name: \"example\",\n});\nconst exampleHostedZoneDnsSec = new aws.route53.HostedZoneDnsSec(\"example\", {hostedZoneId: exampleKeySigningKey.hostedZoneId}, {\n dependsOn: [exampleKeySigningKey],\n});\nconst exampleDelegationSignerRecord = new aws.route53domains.DelegationSignerRecord(\"example\", {\n domainName: \"example.com\",\n signingAttributes: {\n algorithm: exampleKeySigningKey.signingAlgorithmType,\n flags: exampleKeySigningKey.flag,\n publicKey: exampleKeySigningKey.publicKey,\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n customer_master_key_spec=\"ECC_NIST_P256\",\n deletion_window_in_days=7,\n key_usage=\"SIGN_VERIFY\",\n policy=json.dumps({\n \"Statement\": [\n {\n \"Action\": [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Sid\": \"Allow Route 53 DNSSEC Service\",\n \"Resource\": \"*\",\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": current.account_id,\n },\n \"ArnLike\": {\n \"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n {\n \"Action\": \"kms:CreateGrant\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Sid\": \"Allow Route 53 DNSSEC Service to CreateGrant\",\n \"Resource\": \"*\",\n \"Condition\": {\n \"Bool\": {\n \"kms:GrantIsForAWSResource\": \"true\",\n },\n },\n },\n {\n \"Action\": \"kms:*\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Resource\": \"*\",\n \"Sid\": \"Enable IAM User Permissions\",\n },\n ],\n \"Version\": \"2012-10-17\",\n }))\nexample_zone = aws.route53.Zone(\"example\", name=\"example.com\")\nexample_key_signing_key = aws.route53.KeySigningKey(\"example\",\n hosted_zone_id=test[\"id\"],\n key_management_service_arn=test_aws_kms_key[\"arn\"],\n name=\"example\")\nexample_hosted_zone_dns_sec = aws.route53.HostedZoneDnsSec(\"example\", hosted_zone_id=example_key_signing_key.hosted_zone_id,\nopts = pulumi.ResourceOptions(depends_on=[example_key_signing_key]))\nexample_delegation_signer_record = aws.route53domains.DelegationSignerRecord(\"example\",\n domain_name=\"example.com\",\n signing_attributes={\n \"algorithm\": example_key_signing_key.signing_algorithm_type,\n \"flags\": example_key_signing_key.flag,\n \"public_key\": example_key_signing_key.public_key,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n CustomerMasterKeySpec = \"ECC_NIST_P256\",\n DeletionWindowInDays = 7,\n KeyUsage = \"SIGN_VERIFY\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service\",\n [\"Resource\"] = \"*\",\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceAccount\"] = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n [\"ArnLike\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceArn\"] = \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:CreateGrant\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service to CreateGrant\",\n [\"Resource\"] = \"*\",\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Bool\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"kms:GrantIsForAWSResource\"] = \"true\",\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Resource\"] = \"*\",\n [\"Sid\"] = \"Enable IAM User Permissions\",\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n var exampleZone = new Aws.Route53.Zone(\"example\", new()\n {\n Name = \"example.com\",\n });\n\n var exampleKeySigningKey = new Aws.Route53.KeySigningKey(\"example\", new()\n {\n HostedZoneId = test.Id,\n KeyManagementServiceArn = testAwsKmsKey.Arn,\n Name = \"example\",\n });\n\n var exampleHostedZoneDnsSec = new Aws.Route53.HostedZoneDnsSec(\"example\", new()\n {\n HostedZoneId = exampleKeySigningKey.HostedZoneId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleKeySigningKey,\n },\n });\n\n var exampleDelegationSignerRecord = new Aws.Route53Domains.DelegationSignerRecord(\"example\", new()\n {\n DomainName = \"example.com\",\n SigningAttributes = new Aws.Route53Domains.Inputs.DelegationSignerRecordSigningAttributesArgs\n {\n Algorithm = exampleKeySigningKey.SigningAlgorithmType,\n Flags = exampleKeySigningKey.Flag,\n PublicKey = exampleKeySigningKey.PublicKey,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53domains\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t\t\"kms:GetPublicKey\",\n\t\t\t\t\t\t\"kms:Sign\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws:SourceAccount\": current.AccountId,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"ArnLike\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:CreateGrant\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service to CreateGrant\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"Bool\": map[string]interface{}{\n\t\t\t\t\t\t\t\"kms:GrantIsForAWSResource\": \"true\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tCustomerMasterKeySpec: pulumi.String(\"ECC_NIST_P256\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tKeyUsage: pulumi.String(\"SIGN_VERIFY\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewZone(ctx, \"example\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeySigningKey, err := route53.NewKeySigningKey(ctx, \"example\", \u0026route53.KeySigningKeyArgs{\n\t\t\tHostedZoneId: pulumi.Any(test.Id),\n\t\t\tKeyManagementServiceArn: pulumi.Any(testAwsKmsKey.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewHostedZoneDnsSec(ctx, \"example\", \u0026route53.HostedZoneDnsSecArgs{\n\t\t\tHostedZoneId: exampleKeySigningKey.HostedZoneId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeySigningKey,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53domains.NewDelegationSignerRecord(ctx, \"example\", \u0026route53domains.DelegationSignerRecordArgs{\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t\tSigningAttributes: \u0026route53domains.DelegationSignerRecordSigningAttributesArgs{\n\t\t\t\tAlgorithm: exampleKeySigningKey.SigningAlgorithmType,\n\t\t\t\tFlags: exampleKeySigningKey.Flag,\n\t\t\t\tPublicKey: exampleKeySigningKey.PublicKey,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.KeySigningKey;\nimport com.pulumi.aws.route53.KeySigningKeyArgs;\nimport com.pulumi.aws.route53.HostedZoneDnsSec;\nimport com.pulumi.aws.route53.HostedZoneDnsSecArgs;\nimport com.pulumi.aws.route53domains.DelegationSignerRecord;\nimport com.pulumi.aws.route53domains.DelegationSignerRecordArgs;\nimport com.pulumi.aws.route53domains.inputs.DelegationSignerRecordSigningAttributesArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .customerMasterKeySpec(\"ECC_NIST_P256\")\n .deletionWindowInDays(7)\n .keyUsage(\"SIGN_VERIFY\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"kms:DescribeKey\", \n \"kms:GetPublicKey\", \n \"kms:Sign\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringEquals\", jsonObject(\n jsonProperty(\"aws:SourceAccount\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n )),\n jsonProperty(\"ArnLike\", jsonObject(\n jsonProperty(\"aws:SourceArn\", \"arn:aws:route53:::hostedzone/*\")\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:CreateGrant\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service to CreateGrant\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"Bool\", jsonObject(\n jsonProperty(\"kms:GrantIsForAWSResource\", \"true\")\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\")\n )\n )),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var exampleKeySigningKey = new KeySigningKey(\"exampleKeySigningKey\", KeySigningKeyArgs.builder()\n .hostedZoneId(test.id())\n .keyManagementServiceArn(testAwsKmsKey.arn())\n .name(\"example\")\n .build());\n\n var exampleHostedZoneDnsSec = new HostedZoneDnsSec(\"exampleHostedZoneDnsSec\", HostedZoneDnsSecArgs.builder()\n .hostedZoneId(exampleKeySigningKey.hostedZoneId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleKeySigningKey)\n .build());\n\n var exampleDelegationSignerRecord = new DelegationSignerRecord(\"exampleDelegationSignerRecord\", DelegationSignerRecordArgs.builder()\n .domainName(\"example.com\")\n .signingAttributes(DelegationSignerRecordSigningAttributesArgs.builder()\n .algorithm(exampleKeySigningKey.signingAlgorithmType())\n .flags(exampleKeySigningKey.flag())\n .publicKey(exampleKeySigningKey.publicKey())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n customerMasterKeySpec: ECC_NIST_P256\n deletionWindowInDays: 7\n keyUsage: SIGN_VERIFY\n policy:\n fn::toJSON:\n Statement:\n - Action:\n - kms:DescribeKey\n - kms:GetPublicKey\n - kms:Sign\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Sid: Allow Route 53 DNSSEC Service\n Resource: '*'\n Condition:\n StringEquals:\n aws:SourceAccount: ${current.accountId}\n ArnLike:\n aws:SourceArn: arn:aws:route53:::hostedzone/*\n - Action: kms:CreateGrant\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Sid: Allow Route 53 DNSSEC Service to CreateGrant\n Resource: '*'\n Condition:\n Bool:\n kms:GrantIsForAWSResource: 'true'\n - Action: kms:*\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Resource: '*'\n Sid: Enable IAM User Permissions\n Version: 2012-10-17\n exampleZone:\n type: aws:route53:Zone\n name: example\n properties:\n name: example.com\n exampleKeySigningKey:\n type: aws:route53:KeySigningKey\n name: example\n properties:\n hostedZoneId: ${test.id}\n keyManagementServiceArn: ${testAwsKmsKey.arn}\n name: example\n exampleHostedZoneDnsSec:\n type: aws:route53:HostedZoneDnsSec\n name: example\n properties:\n hostedZoneId: ${exampleKeySigningKey.hostedZoneId}\n options:\n dependsOn:\n - ${exampleKeySigningKey}\n exampleDelegationSignerRecord:\n type: aws:route53domains:DelegationSignerRecord\n name: example\n properties:\n domainName: example.com\n signingAttributes:\n algorithm: ${exampleKeySigningKey.signingAlgorithmType}\n flags: ${exampleKeySigningKey.flag}\n publicKey: ${exampleKeySigningKey.publicKey}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import delegation signer records using the domain name and DNSSEC key ID, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:route53domains/delegationSignerRecord:DelegationSignerRecord example example.com,40DE3534F5324DBDAC598ACEDB5B1E26A5368732D9C791D1347E4FBDDF6FC343\n```\n", + "description": "Provides a resource to manage a [delegation signer record](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec-enable-signing.html#dns-configuring-dnssec-enable-signing-step-1) in the parent DNS zone for domains registered with Route53.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n customerMasterKeySpec: \"ECC_NIST_P256\",\n deletionWindowInDays: 7,\n keyUsage: \"SIGN_VERIFY\",\n policy: JSON.stringify({\n Statement: [\n {\n Action: [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Sid: \"Allow Route 53 DNSSEC Service\",\n Resource: \"*\",\n Condition: {\n StringEquals: {\n \"aws:SourceAccount\": current.then(current =\u003e current.accountId),\n },\n ArnLike: {\n \"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n {\n Action: \"kms:CreateGrant\",\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Sid: \"Allow Route 53 DNSSEC Service to CreateGrant\",\n Resource: \"*\",\n Condition: {\n Bool: {\n \"kms:GrantIsForAWSResource\": \"true\",\n },\n },\n },\n {\n Action: \"kms:*\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Resource: \"*\",\n Sid: \"Enable IAM User Permissions\",\n },\n ],\n Version: \"2012-10-17\",\n }),\n});\nconst exampleZone = new aws.route53.Zone(\"example\", {name: \"example.com\"});\nconst exampleKeySigningKey = new aws.route53.KeySigningKey(\"example\", {\n hostedZoneId: test.id,\n keyManagementServiceArn: testAwsKmsKey.arn,\n name: \"example\",\n});\nconst exampleHostedZoneDnsSec = new aws.route53.HostedZoneDnsSec(\"example\", {hostedZoneId: exampleKeySigningKey.hostedZoneId}, {\n dependsOn: [exampleKeySigningKey],\n});\nconst exampleDelegationSignerRecord = new aws.route53domains.DelegationSignerRecord(\"example\", {\n domainName: \"example.com\",\n signingAttributes: {\n algorithm: exampleKeySigningKey.signingAlgorithmType,\n flags: exampleKeySigningKey.flag,\n publicKey: exampleKeySigningKey.publicKey,\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n customer_master_key_spec=\"ECC_NIST_P256\",\n deletion_window_in_days=7,\n key_usage=\"SIGN_VERIFY\",\n policy=json.dumps({\n \"Statement\": [\n {\n \"Action\": [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Sid\": \"Allow Route 53 DNSSEC Service\",\n \"Resource\": \"*\",\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": current.account_id,\n },\n \"ArnLike\": {\n \"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n {\n \"Action\": \"kms:CreateGrant\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Sid\": \"Allow Route 53 DNSSEC Service to CreateGrant\",\n \"Resource\": \"*\",\n \"Condition\": {\n \"Bool\": {\n \"kms:GrantIsForAWSResource\": \"true\",\n },\n },\n },\n {\n \"Action\": \"kms:*\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Resource\": \"*\",\n \"Sid\": \"Enable IAM User Permissions\",\n },\n ],\n \"Version\": \"2012-10-17\",\n }))\nexample_zone = aws.route53.Zone(\"example\", name=\"example.com\")\nexample_key_signing_key = aws.route53.KeySigningKey(\"example\",\n hosted_zone_id=test[\"id\"],\n key_management_service_arn=test_aws_kms_key[\"arn\"],\n name=\"example\")\nexample_hosted_zone_dns_sec = aws.route53.HostedZoneDnsSec(\"example\", hosted_zone_id=example_key_signing_key.hosted_zone_id,\nopts = pulumi.ResourceOptions(depends_on=[example_key_signing_key]))\nexample_delegation_signer_record = aws.route53domains.DelegationSignerRecord(\"example\",\n domain_name=\"example.com\",\n signing_attributes={\n \"algorithm\": example_key_signing_key.signing_algorithm_type,\n \"flags\": example_key_signing_key.flag,\n \"public_key\": example_key_signing_key.public_key,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n CustomerMasterKeySpec = \"ECC_NIST_P256\",\n DeletionWindowInDays = 7,\n KeyUsage = \"SIGN_VERIFY\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service\",\n [\"Resource\"] = \"*\",\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceAccount\"] = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n [\"ArnLike\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceArn\"] = \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:CreateGrant\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service to CreateGrant\",\n [\"Resource\"] = \"*\",\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Bool\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"kms:GrantIsForAWSResource\"] = \"true\",\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Resource\"] = \"*\",\n [\"Sid\"] = \"Enable IAM User Permissions\",\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n var exampleZone = new Aws.Route53.Zone(\"example\", new()\n {\n Name = \"example.com\",\n });\n\n var exampleKeySigningKey = new Aws.Route53.KeySigningKey(\"example\", new()\n {\n HostedZoneId = test.Id,\n KeyManagementServiceArn = testAwsKmsKey.Arn,\n Name = \"example\",\n });\n\n var exampleHostedZoneDnsSec = new Aws.Route53.HostedZoneDnsSec(\"example\", new()\n {\n HostedZoneId = exampleKeySigningKey.HostedZoneId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleKeySigningKey,\n },\n });\n\n var exampleDelegationSignerRecord = new Aws.Route53Domains.DelegationSignerRecord(\"example\", new()\n {\n DomainName = \"example.com\",\n SigningAttributes = new Aws.Route53Domains.Inputs.DelegationSignerRecordSigningAttributesArgs\n {\n Algorithm = exampleKeySigningKey.SigningAlgorithmType,\n Flags = exampleKeySigningKey.Flag,\n PublicKey = exampleKeySigningKey.PublicKey,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53domains\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t\t\"kms:GetPublicKey\",\n\t\t\t\t\t\t\"kms:Sign\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws:SourceAccount\": current.AccountId,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"ArnLike\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:CreateGrant\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service to CreateGrant\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"Bool\": map[string]interface{}{\n\t\t\t\t\t\t\t\"kms:GrantIsForAWSResource\": \"true\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tCustomerMasterKeySpec: pulumi.String(\"ECC_NIST_P256\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tKeyUsage: pulumi.String(\"SIGN_VERIFY\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewZone(ctx, \"example\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeySigningKey, err := route53.NewKeySigningKey(ctx, \"example\", \u0026route53.KeySigningKeyArgs{\n\t\t\tHostedZoneId: pulumi.Any(test.Id),\n\t\t\tKeyManagementServiceArn: pulumi.Any(testAwsKmsKey.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewHostedZoneDnsSec(ctx, \"example\", \u0026route53.HostedZoneDnsSecArgs{\n\t\t\tHostedZoneId: exampleKeySigningKey.HostedZoneId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeySigningKey,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53domains.NewDelegationSignerRecord(ctx, \"example\", \u0026route53domains.DelegationSignerRecordArgs{\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t\tSigningAttributes: \u0026route53domains.DelegationSignerRecordSigningAttributesArgs{\n\t\t\t\tAlgorithm: exampleKeySigningKey.SigningAlgorithmType,\n\t\t\t\tFlags: exampleKeySigningKey.Flag,\n\t\t\t\tPublicKey: exampleKeySigningKey.PublicKey,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.KeySigningKey;\nimport com.pulumi.aws.route53.KeySigningKeyArgs;\nimport com.pulumi.aws.route53.HostedZoneDnsSec;\nimport com.pulumi.aws.route53.HostedZoneDnsSecArgs;\nimport com.pulumi.aws.route53domains.DelegationSignerRecord;\nimport com.pulumi.aws.route53domains.DelegationSignerRecordArgs;\nimport com.pulumi.aws.route53domains.inputs.DelegationSignerRecordSigningAttributesArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .customerMasterKeySpec(\"ECC_NIST_P256\")\n .deletionWindowInDays(7)\n .keyUsage(\"SIGN_VERIFY\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"kms:DescribeKey\", \n \"kms:GetPublicKey\", \n \"kms:Sign\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringEquals\", jsonObject(\n jsonProperty(\"aws:SourceAccount\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n )),\n jsonProperty(\"ArnLike\", jsonObject(\n jsonProperty(\"aws:SourceArn\", \"arn:aws:route53:::hostedzone/*\")\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:CreateGrant\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service to CreateGrant\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"Bool\", jsonObject(\n jsonProperty(\"kms:GrantIsForAWSResource\", \"true\")\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\")\n )\n )),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var exampleKeySigningKey = new KeySigningKey(\"exampleKeySigningKey\", KeySigningKeyArgs.builder()\n .hostedZoneId(test.id())\n .keyManagementServiceArn(testAwsKmsKey.arn())\n .name(\"example\")\n .build());\n\n var exampleHostedZoneDnsSec = new HostedZoneDnsSec(\"exampleHostedZoneDnsSec\", HostedZoneDnsSecArgs.builder()\n .hostedZoneId(exampleKeySigningKey.hostedZoneId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleKeySigningKey)\n .build());\n\n var exampleDelegationSignerRecord = new DelegationSignerRecord(\"exampleDelegationSignerRecord\", DelegationSignerRecordArgs.builder()\n .domainName(\"example.com\")\n .signingAttributes(DelegationSignerRecordSigningAttributesArgs.builder()\n .algorithm(exampleKeySigningKey.signingAlgorithmType())\n .flags(exampleKeySigningKey.flag())\n .publicKey(exampleKeySigningKey.publicKey())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n customerMasterKeySpec: ECC_NIST_P256\n deletionWindowInDays: 7\n keyUsage: SIGN_VERIFY\n policy:\n fn::toJSON:\n Statement:\n - Action:\n - kms:DescribeKey\n - kms:GetPublicKey\n - kms:Sign\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Sid: Allow Route 53 DNSSEC Service\n Resource: '*'\n Condition:\n StringEquals:\n aws:SourceAccount: ${current.accountId}\n ArnLike:\n aws:SourceArn: arn:aws:route53:::hostedzone/*\n - Action: kms:CreateGrant\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Sid: Allow Route 53 DNSSEC Service to CreateGrant\n Resource: '*'\n Condition:\n Bool:\n kms:GrantIsForAWSResource: 'true'\n - Action: kms:*\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Resource: '*'\n Sid: Enable IAM User Permissions\n Version: 2012-10-17\n exampleZone:\n type: aws:route53:Zone\n name: example\n properties:\n name: example.com\n exampleKeySigningKey:\n type: aws:route53:KeySigningKey\n name: example\n properties:\n hostedZoneId: ${test.id}\n keyManagementServiceArn: ${testAwsKmsKey.arn}\n name: example\n exampleHostedZoneDnsSec:\n type: aws:route53:HostedZoneDnsSec\n name: example\n properties:\n hostedZoneId: ${exampleKeySigningKey.hostedZoneId}\n options:\n dependson:\n - ${exampleKeySigningKey}\n exampleDelegationSignerRecord:\n type: aws:route53domains:DelegationSignerRecord\n name: example\n properties:\n domainName: example.com\n signingAttributes:\n algorithm: ${exampleKeySigningKey.signingAlgorithmType}\n flags: ${exampleKeySigningKey.flag}\n publicKey: ${exampleKeySigningKey.publicKey}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import delegation signer records using the domain name and DNSSEC key ID, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:route53domains/delegationSignerRecord:DelegationSignerRecord example example.com,40DE3534F5324DBDAC598ACEDB5B1E26A5368732D9C791D1347E4FBDDF6FC343\n```\n", "properties": { "dnssecKeyId": { "type": "string", @@ -345805,7 +345805,7 @@ } }, "aws:s3/bucket:Bucket": { - "description": "Provides a S3 bucket resource.\n\n\u003e **NOTE:** Please use [aws.s3.BucketV2](https://www.pulumi.com/registry/packages/aws/api-docs/s3/bucketv2) instead.\nThis resource is maintained for backwards compatibility only. Please see [BucketV2 Migration\nGuide](https://www.pulumi.com/registry/packages/aws/how-to-guides/bucketv2-migration/) for instructions on migrating\nexisting Bucket resources to BucketV2.\n\n## Example Usage\n\n### Private Bucket w/ Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"my-tf-test-bucket\",\n acl: aws.s3.CannedAcl.Private,\n tags: {\n Name: \"My bucket\",\n Environment: \"Dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.Bucket(\"b\",\n bucket=\"my-tf-test-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n tags={\n \"Name\": \"My bucket\",\n \"Environment\": \"Dev\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"my-tf-test-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n Tags = \n {\n { \"Name\", \"My bucket\" },\n { \"Environment\", \"Dev\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"My bucket\"),\n\t\t\t\t\"Environment\": pulumi.String(\"Dev\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var b = new Bucket(\"b\", BucketArgs.builder()\n .bucket(\"my-tf-test-bucket\")\n .acl(\"private\")\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"My bucket\"),\n Map.entry(\"Environment\", \"Dev\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:s3:Bucket\n properties:\n bucket: my-tf-test-bucket\n acl: private\n tags:\n Name: My bucket\n Environment: Dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Static Website Hosting\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"s3-website-test.mydomain.com\",\n acl: aws.s3.CannedAcl.PublicRead,\n policy: std.file({\n input: \"policy.json\",\n }).then(invoke =\u003e invoke.result),\n website: {\n indexDocument: \"index.html\",\n errorDocument: \"error.html\",\n routingRules: `[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n}]\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nb = aws.s3.Bucket(\"b\",\n bucket=\"s3-website-test.mydomain.com\",\n acl=aws.s3.CannedAcl.PUBLIC_READ,\n policy=std.file(input=\"policy.json\").result,\n website={\n \"index_document\": \"index.html\",\n \"error_document\": \"error.html\",\n \"routing_rules\": \"\"\"[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n}]\n\"\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"s3-website-test.mydomain.com\",\n Acl = Aws.S3.CannedAcl.PublicRead,\n Policy = Std.File.Invoke(new()\n {\n Input = \"policy.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Website = new Aws.S3.Inputs.BucketWebsiteArgs\n {\n IndexDocument = \"index.html\",\n ErrorDocument = \"error.html\",\n RoutingRules = @\"[{\n \"\"Condition\"\": {\n \"\"KeyPrefixEquals\"\": \"\"docs/\"\"\n },\n \"\"Redirect\"\": {\n \"\"ReplaceKeyPrefixWith\"\": \"\"documents/\"\"\n }\n}]\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"policy.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"s3-website-test.mydomain.com\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPublicRead),\n\t\t\tPolicy: pulumi.String(invokeFile.Result),\n\t\t\tWebsite: \u0026s3.BucketWebsiteArgs{\n\t\t\t\tIndexDocument: pulumi.String(\"index.html\"),\n\t\t\t\tErrorDocument: pulumi.String(\"error.html\"),\n\t\t\t\tRoutingRules: pulumi.Any(`[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n}]\n`),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketWebsiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var b = new Bucket(\"b\", BucketArgs.builder()\n .bucket(\"s3-website-test.mydomain.com\")\n .acl(\"public-read\")\n .policy(StdFunctions.file(FileArgs.builder()\n .input(\"policy.json\")\n .build()).result())\n .website(BucketWebsiteArgs.builder()\n .indexDocument(\"index.html\")\n .errorDocument(\"error.html\")\n .routingRules(\"\"\"\n[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n}]\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:s3:Bucket\n properties:\n bucket: s3-website-test.mydomain.com\n acl: public-read\n policy:\n fn::invoke:\n function: std:file\n arguments:\n input: policy.json\n return: result\n website:\n indexDocument: index.html\n errorDocument: error.html\n routingRules: |\n [{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n }]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using CORS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"s3-website-test.mydomain.com\",\n acl: aws.s3.CannedAcl.PublicRead,\n corsRules: [{\n allowedHeaders: [\"*\"],\n allowedMethods: [\n \"PUT\",\n \"POST\",\n ],\n allowedOrigins: [\"https://s3-website-test.mydomain.com\"],\n exposeHeaders: [\"ETag\"],\n maxAgeSeconds: 3000,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.Bucket(\"b\",\n bucket=\"s3-website-test.mydomain.com\",\n acl=aws.s3.CannedAcl.PUBLIC_READ,\n cors_rules=[{\n \"allowed_headers\": [\"*\"],\n \"allowed_methods\": [\n \"PUT\",\n \"POST\",\n ],\n \"allowed_origins\": [\"https://s3-website-test.mydomain.com\"],\n \"expose_headers\": [\"ETag\"],\n \"max_age_seconds\": 3000,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"s3-website-test.mydomain.com\",\n Acl = Aws.S3.CannedAcl.PublicRead,\n CorsRules = new[]\n {\n new Aws.S3.Inputs.BucketCorsRuleArgs\n {\n AllowedHeaders = new[]\n {\n \"*\",\n },\n AllowedMethods = new[]\n {\n \"PUT\",\n \"POST\",\n },\n AllowedOrigins = new[]\n {\n \"https://s3-website-test.mydomain.com\",\n },\n ExposeHeaders = new[]\n {\n \"ETag\",\n },\n MaxAgeSeconds = 3000,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"s3-website-test.mydomain.com\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPublicRead),\n\t\t\tCorsRules: s3.BucketCorsRuleArray{\n\t\t\t\t\u0026s3.BucketCorsRuleArgs{\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"https://s3-website-test.mydomain.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tExposeHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ETag\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Int(3000),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketCorsRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var b = new Bucket(\"b\", BucketArgs.builder()\n .bucket(\"s3-website-test.mydomain.com\")\n .acl(\"public-read\")\n .corsRules(BucketCorsRuleArgs.builder()\n .allowedHeaders(\"*\")\n .allowedMethods( \n \"PUT\",\n \"POST\")\n .allowedOrigins(\"https://s3-website-test.mydomain.com\")\n .exposeHeaders(\"ETag\")\n .maxAgeSeconds(3000)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:s3:Bucket\n properties:\n bucket: s3-website-test.mydomain.com\n acl: public-read\n corsRules:\n - allowedHeaders:\n - '*'\n allowedMethods:\n - PUT\n - POST\n allowedOrigins:\n - https://s3-website-test.mydomain.com\n exposeHeaders:\n - ETag\n maxAgeSeconds: 3000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using versioning\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"my-tf-test-bucket\",\n acl: aws.s3.CannedAcl.Private,\n versioning: {\n enabled: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.Bucket(\"b\",\n bucket=\"my-tf-test-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n versioning={\n \"enabled\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"my-tf-test-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n Versioning = new Aws.S3.Inputs.BucketVersioningArgs\n {\n Enabled = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tVersioning: \u0026s3.BucketVersioningArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketVersioningArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var b = new Bucket(\"b\", BucketArgs.builder()\n .bucket(\"my-tf-test-bucket\")\n .acl(\"private\")\n .versioning(BucketVersioningArgs.builder()\n .enabled(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:s3:Bucket\n properties:\n bucket: my-tf-test-bucket\n acl: private\n versioning:\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst logBucket = new aws.s3.Bucket(\"log_bucket\", {\n bucket: \"my-tf-log-bucket\",\n acl: aws.s3.CannedAcl.LogDeliveryWrite,\n});\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"my-tf-test-bucket\",\n acl: aws.s3.CannedAcl.Private,\n loggings: [{\n targetBucket: logBucket.id,\n targetPrefix: \"log/\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlog_bucket = aws.s3.Bucket(\"log_bucket\",\n bucket=\"my-tf-log-bucket\",\n acl=aws.s3.CannedAcl.LOG_DELIVERY_WRITE)\nb = aws.s3.Bucket(\"b\",\n bucket=\"my-tf-test-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n loggings=[{\n \"target_bucket\": log_bucket.id,\n \"target_prefix\": \"log/\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var logBucket = new Aws.S3.Bucket(\"log_bucket\", new()\n {\n BucketName = \"my-tf-log-bucket\",\n Acl = Aws.S3.CannedAcl.LogDeliveryWrite,\n });\n\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"my-tf-test-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n Loggings = new[]\n {\n new Aws.S3.Inputs.BucketLoggingArgs\n {\n TargetBucket = logBucket.Id,\n TargetPrefix = \"log/\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlogBucket, err := s3.NewBucket(ctx, \"log_bucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-log-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclLogDeliveryWrite),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tLoggings: s3.BucketLoggingArray{\n\t\t\t\t\u0026s3.BucketLoggingArgs{\n\t\t\t\t\tTargetBucket: logBucket.ID(),\n\t\t\t\t\tTargetPrefix: pulumi.String(\"log/\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketLoggingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var logBucket = new Bucket(\"logBucket\", BucketArgs.builder()\n .bucket(\"my-tf-log-bucket\")\n .acl(\"log-delivery-write\")\n .build());\n\n var b = new Bucket(\"b\", BucketArgs.builder()\n .bucket(\"my-tf-test-bucket\")\n .acl(\"private\")\n .loggings(BucketLoggingArgs.builder()\n .targetBucket(logBucket.id())\n .targetPrefix(\"log/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n logBucket:\n type: aws:s3:Bucket\n name: log_bucket\n properties:\n bucket: my-tf-log-bucket\n acl: log-delivery-write\n b:\n type: aws:s3:Bucket\n properties:\n bucket: my-tf-test-bucket\n acl: private\n loggings:\n - targetBucket: ${logBucket.id}\n targetPrefix: log/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using object lifecycle\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.Bucket(\"bucket\", {\n bucket: \"my-bucket\",\n acl: aws.s3.CannedAcl.Private,\n lifecycleRules: [\n {\n id: \"log\",\n enabled: true,\n prefix: \"log/\",\n tags: {\n rule: \"log\",\n autoclean: \"true\",\n },\n transitions: [\n {\n days: 30,\n storageClass: \"STANDARD_IA\",\n },\n {\n days: 60,\n storageClass: \"GLACIER\",\n },\n ],\n expiration: {\n days: 90,\n },\n },\n {\n id: \"tmp\",\n prefix: \"tmp/\",\n enabled: true,\n expiration: {\n date: \"2016-01-12\",\n },\n },\n ],\n});\nconst versioningBucket = new aws.s3.Bucket(\"versioning_bucket\", {\n bucket: \"my-versioning-bucket\",\n acl: aws.s3.CannedAcl.Private,\n versioning: {\n enabled: true,\n },\n lifecycleRules: [{\n prefix: \"config/\",\n enabled: true,\n noncurrentVersionTransitions: [\n {\n days: 30,\n storageClass: \"STANDARD_IA\",\n },\n {\n days: 60,\n storageClass: \"GLACIER\",\n },\n ],\n noncurrentVersionExpiration: {\n days: 90,\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.Bucket(\"bucket\",\n bucket=\"my-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n lifecycle_rules=[\n {\n \"id\": \"log\",\n \"enabled\": True,\n \"prefix\": \"log/\",\n \"tags\": {\n \"rule\": \"log\",\n \"autoclean\": \"true\",\n },\n \"transitions\": [\n {\n \"days\": 30,\n \"storage_class\": \"STANDARD_IA\",\n },\n {\n \"days\": 60,\n \"storage_class\": \"GLACIER\",\n },\n ],\n \"expiration\": {\n \"days\": 90,\n },\n },\n {\n \"id\": \"tmp\",\n \"prefix\": \"tmp/\",\n \"enabled\": True,\n \"expiration\": {\n \"date\": \"2016-01-12\",\n },\n },\n ])\nversioning_bucket = aws.s3.Bucket(\"versioning_bucket\",\n bucket=\"my-versioning-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n versioning={\n \"enabled\": True,\n },\n lifecycle_rules=[{\n \"prefix\": \"config/\",\n \"enabled\": True,\n \"noncurrent_version_transitions\": [\n {\n \"days\": 30,\n \"storage_class\": \"STANDARD_IA\",\n },\n {\n \"days\": 60,\n \"storage_class\": \"GLACIER\",\n },\n ],\n \"noncurrent_version_expiration\": {\n \"days\": 90,\n },\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.Bucket(\"bucket\", new()\n {\n BucketName = \"my-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n LifecycleRules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"log\",\n Enabled = true,\n Prefix = \"log/\",\n Tags = \n {\n { \"rule\", \"log\" },\n { \"autoclean\", \"true\" },\n },\n Transitions = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleRuleTransitionArgs\n {\n Days = 30,\n StorageClass = \"STANDARD_IA\",\n },\n new Aws.S3.Inputs.BucketLifecycleRuleTransitionArgs\n {\n Days = 60,\n StorageClass = \"GLACIER\",\n },\n },\n Expiration = new Aws.S3.Inputs.BucketLifecycleRuleExpirationArgs\n {\n Days = 90,\n },\n },\n new Aws.S3.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"tmp\",\n Prefix = \"tmp/\",\n Enabled = true,\n Expiration = new Aws.S3.Inputs.BucketLifecycleRuleExpirationArgs\n {\n Date = \"2016-01-12\",\n },\n },\n },\n });\n\n var versioningBucket = new Aws.S3.Bucket(\"versioning_bucket\", new()\n {\n BucketName = \"my-versioning-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n Versioning = new Aws.S3.Inputs.BucketVersioningArgs\n {\n Enabled = true,\n },\n LifecycleRules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleRuleArgs\n {\n Prefix = \"config/\",\n Enabled = true,\n NoncurrentVersionTransitions = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleRuleNoncurrentVersionTransitionArgs\n {\n Days = 30,\n StorageClass = \"STANDARD_IA\",\n },\n new Aws.S3.Inputs.BucketLifecycleRuleNoncurrentVersionTransitionArgs\n {\n Days = 60,\n StorageClass = \"GLACIER\",\n },\n },\n NoncurrentVersionExpiration = new Aws.S3.Inputs.BucketLifecycleRuleNoncurrentVersionExpirationArgs\n {\n Days = 90,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucket(ctx, \"bucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tLifecycleRules: s3.BucketLifecycleRuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"log\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tPrefix: pulumi.String(\"log/\"),\n\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\"rule\": pulumi.String(\"log\"),\n\t\t\t\t\t\t\"autoclean\": pulumi.String(\"true\"),\n\t\t\t\t\t},\n\t\t\t\t\tTransitions: s3.BucketLifecycleRuleTransitionArray{\n\t\t\t\t\t\t\u0026s3.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026s3.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"GLACIER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tExpiration: \u0026s3.BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(90),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"tmp\"),\n\t\t\t\t\tPrefix: pulumi.String(\"tmp/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpiration: \u0026s3.BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2016-01-12\"),\n\t\t\t\t\t},\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\t_, err = s3.NewBucket(ctx, \"versioning_bucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-versioning-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tVersioning: \u0026s3.BucketVersioningArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tLifecycleRules: s3.BucketLifecycleRuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleRuleArgs{\n\t\t\t\t\tPrefix: pulumi.String(\"config/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tNoncurrentVersionTransitions: s3.BucketLifecycleRuleNoncurrentVersionTransitionArray{\n\t\t\t\t\t\t\u0026s3.BucketLifecycleRuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026s3.BucketLifecycleRuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"GLACIER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionExpiration: \u0026s3.BucketLifecycleRuleNoncurrentVersionExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(90),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleRuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleRuleExpirationArgs;\nimport com.pulumi.aws.s3.inputs.BucketVersioningArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleRuleNoncurrentVersionExpirationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bucket = new Bucket(\"bucket\", BucketArgs.builder()\n .bucket(\"my-bucket\")\n .acl(\"private\")\n .lifecycleRules( \n BucketLifecycleRuleArgs.builder()\n .id(\"log\")\n .enabled(true)\n .prefix(\"log/\")\n .tags(Map.ofEntries(\n Map.entry(\"rule\", \"log\"),\n Map.entry(\"autoclean\", \"true\")\n ))\n .transitions( \n BucketLifecycleRuleTransitionArgs.builder()\n .days(30)\n .storageClass(\"STANDARD_IA\")\n .build(),\n BucketLifecycleRuleTransitionArgs.builder()\n .days(60)\n .storageClass(\"GLACIER\")\n .build())\n .expiration(BucketLifecycleRuleExpirationArgs.builder()\n .days(90)\n .build())\n .build(),\n BucketLifecycleRuleArgs.builder()\n .id(\"tmp\")\n .prefix(\"tmp/\")\n .enabled(true)\n .expiration(BucketLifecycleRuleExpirationArgs.builder()\n .date(\"2016-01-12\")\n .build())\n .build())\n .build());\n\n var versioningBucket = new Bucket(\"versioningBucket\", BucketArgs.builder()\n .bucket(\"my-versioning-bucket\")\n .acl(\"private\")\n .versioning(BucketVersioningArgs.builder()\n .enabled(true)\n .build())\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .prefix(\"config/\")\n .enabled(true)\n .noncurrentVersionTransitions( \n BucketLifecycleRuleNoncurrentVersionTransitionArgs.builder()\n .days(30)\n .storageClass(\"STANDARD_IA\")\n .build(),\n BucketLifecycleRuleNoncurrentVersionTransitionArgs.builder()\n .days(60)\n .storageClass(\"GLACIER\")\n .build())\n .noncurrentVersionExpiration(BucketLifecycleRuleNoncurrentVersionExpirationArgs.builder()\n .days(90)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:Bucket\n properties:\n bucket: my-bucket\n acl: private\n lifecycleRules:\n - id: log\n enabled: true\n prefix: log/\n tags:\n rule: log\n autoclean: 'true'\n transitions:\n - days: 30\n storageClass: STANDARD_IA\n - days: 60\n storageClass: GLACIER\n expiration:\n days: 90\n - id: tmp\n prefix: tmp/\n enabled: true\n expiration:\n date: 2016-01-12\n versioningBucket:\n type: aws:s3:Bucket\n name: versioning_bucket\n properties:\n bucket: my-versioning-bucket\n acl: private\n versioning:\n enabled: true\n lifecycleRules:\n - prefix: config/\n enabled: true\n noncurrentVersionTransitions:\n - days: 30\n storageClass: STANDARD_IA\n - days: 60\n storageClass: GLACIER\n noncurrentVersionExpiration:\n days: 90\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using replication configuration\n\n\u003e **NOTE:** See the `aws.s3.BucketReplicationConfig` resource to support bi-directional replication configuration and additional features.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replication = new aws.iam.Role(\"replication\", {\n name: \"tf-iam-role-replication-12345\",\n assumeRolePolicy: `{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n`,\n});\nconst destination = new aws.s3.Bucket(\"destination\", {\n bucket: \"tf-test-bucket-destination-12345\",\n versioning: {\n enabled: true,\n },\n});\nconst source = new aws.s3.Bucket(\"source\", {\n bucket: \"tf-test-bucket-source-12345\",\n acl: aws.s3.CannedAcl.Private,\n versioning: {\n enabled: true,\n },\n replicationConfiguration: {\n role: replication.arn,\n rules: [{\n id: \"foobar\",\n status: \"Enabled\",\n filter: {\n tags: {},\n },\n destination: {\n bucket: destination.arn,\n storageClass: \"STANDARD\",\n replicationTime: {\n status: \"Enabled\",\n minutes: 15,\n },\n metrics: {\n status: \"Enabled\",\n minutes: 15,\n },\n },\n }],\n },\n});\nconst replicationPolicy = new aws.iam.Policy(\"replication\", {\n name: \"tf-iam-role-policy-replication-12345\",\n policy: pulumi.interpolate`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"${source.arn}\"\n ]\n },\n {\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"${source.arn}/*\"\n ]\n },\n {\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"${destination.arn}/*\"\n }\n ]\n}\n`,\n});\nconst replicationRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"replication\", {\n role: replication.name,\n policyArn: replicationPolicy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplication = aws.iam.Role(\"replication\",\n name=\"tf-iam-role-replication-12345\",\n assume_role_policy=\"\"\"{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n\"\"\")\ndestination = aws.s3.Bucket(\"destination\",\n bucket=\"tf-test-bucket-destination-12345\",\n versioning={\n \"enabled\": True,\n })\nsource = aws.s3.Bucket(\"source\",\n bucket=\"tf-test-bucket-source-12345\",\n acl=aws.s3.CannedAcl.PRIVATE,\n versioning={\n \"enabled\": True,\n },\n replication_configuration={\n \"role\": replication.arn,\n \"rules\": [{\n \"id\": \"foobar\",\n \"status\": \"Enabled\",\n \"filter\": {\n \"tags\": {},\n },\n \"destination\": {\n \"bucket\": destination.arn,\n \"storage_class\": \"STANDARD\",\n \"replication_time\": {\n \"status\": \"Enabled\",\n \"minutes\": 15,\n },\n \"metrics\": {\n \"status\": \"Enabled\",\n \"minutes\": 15,\n },\n },\n }],\n })\nreplication_policy = aws.iam.Policy(\"replication\",\n name=\"tf-iam-role-policy-replication-12345\",\n policy=pulumi.Output.all(\n sourceArn=source.arn,\n sourceArn1=source.arn,\n destinationArn=destination.arn\n).apply(lambda resolved_outputs: f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {{\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"{resolved_outputs['sourceArn']}\"\n ]\n }},\n {{\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"{resolved_outputs['sourceArn1']}/*\"\n ]\n }},\n {{\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"{resolved_outputs['destinationArn']}/*\"\n }}\n ]\n}}\n\"\"\")\n)\nreplication_role_policy_attachment = aws.iam.RolePolicyAttachment(\"replication\",\n role=replication.name,\n policy_arn=replication_policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replication = new Aws.Iam.Role(\"replication\", new()\n {\n Name = \"tf-iam-role-replication-12345\",\n AssumeRolePolicy = @\"{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {\n \"\"Action\"\": \"\"sts:AssumeRole\"\",\n \"\"Principal\"\": {\n \"\"Service\"\": \"\"s3.amazonaws.com\"\"\n },\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Sid\"\": \"\"\"\"\n }\n ]\n}\n\",\n });\n\n var destination = new Aws.S3.Bucket(\"destination\", new()\n {\n BucketName = \"tf-test-bucket-destination-12345\",\n Versioning = new Aws.S3.Inputs.BucketVersioningArgs\n {\n Enabled = true,\n },\n });\n\n var source = new Aws.S3.Bucket(\"source\", new()\n {\n BucketName = \"tf-test-bucket-source-12345\",\n Acl = Aws.S3.CannedAcl.Private,\n Versioning = new Aws.S3.Inputs.BucketVersioningArgs\n {\n Enabled = true,\n },\n ReplicationConfiguration = new Aws.S3.Inputs.BucketReplicationConfigurationArgs\n {\n Role = replication.Arn,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketReplicationConfigurationRuleArgs\n {\n Id = \"foobar\",\n Status = \"Enabled\",\n Filter = new Aws.S3.Inputs.BucketReplicationConfigurationRuleFilterArgs\n {\n Tags = null,\n },\n Destination = new Aws.S3.Inputs.BucketReplicationConfigurationRuleDestinationArgs\n {\n Bucket = destination.Arn,\n StorageClass = \"STANDARD\",\n ReplicationTime = new Aws.S3.Inputs.BucketReplicationConfigurationRuleDestinationReplicationTimeArgs\n {\n Status = \"Enabled\",\n Minutes = 15,\n },\n Metrics = new Aws.S3.Inputs.BucketReplicationConfigurationRuleDestinationMetricsArgs\n {\n Status = \"Enabled\",\n Minutes = 15,\n },\n },\n },\n },\n },\n });\n\n var replicationPolicy = new Aws.Iam.Policy(\"replication\", new()\n {\n Name = \"tf-iam-role-policy-replication-12345\",\n PolicyDocument = Output.Tuple(source.Arn, source.Arn, destination.Arn).Apply(values =\u003e\n {\n var sourceArn = values.Item1;\n var sourceArn1 = values.Item2;\n var destinationArn = values.Item3;\n return @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {{\n \"\"Action\"\": [\n \"\"s3:GetReplicationConfiguration\"\",\n \"\"s3:ListBucket\"\"\n ],\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Resource\"\": [\n \"\"{sourceArn}\"\"\n ]\n }},\n {{\n \"\"Action\"\": [\n \"\"s3:GetObjectVersionForReplication\"\",\n \"\"s3:GetObjectVersionAcl\"\",\n \"\"s3:GetObjectVersionTagging\"\"\n ],\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Resource\"\": [\n \"\"{sourceArn1}/*\"\"\n ]\n }},\n {{\n \"\"Action\"\": [\n \"\"s3:ReplicateObject\"\",\n \"\"s3:ReplicateDelete\"\",\n \"\"s3:ReplicateTags\"\"\n ],\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Resource\"\": \"\"{destinationArn}/*\"\"\n }}\n ]\n}}\n\";\n }),\n });\n\n var replicationRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"replication\", new()\n {\n Role = replication.Name,\n PolicyArn = replicationPolicy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treplication, err := iam.NewRole(ctx, \"replication\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"tf-iam-role-replication-12345\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdestination, err := s3.NewBucket(ctx, \"destination\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-destination-12345\"),\n\t\t\tVersioning: \u0026s3.BucketVersioningArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := s3.NewBucket(ctx, \"source\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-source-12345\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tVersioning: \u0026s3.BucketVersioningArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tReplicationConfiguration: \u0026s3.BucketReplicationConfigurationArgs{\n\t\t\t\tRole: replication.Arn,\n\t\t\t\tRules: s3.BucketReplicationConfigurationRuleArray{\n\t\t\t\t\t\u0026s3.BucketReplicationConfigurationRuleArgs{\n\t\t\t\t\t\tId: pulumi.String(\"foobar\"),\n\t\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t\tFilter: \u0026s3.BucketReplicationConfigurationRuleFilterArgs{\n\t\t\t\t\t\t\tTags: pulumi.StringMap{},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDestination: \u0026s3.BucketReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\tBucket: destination.Arn,\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\t\t\t\t\tReplicationTime: \u0026s3.BucketReplicationConfigurationRuleDestinationReplicationTimeArgs{\n\t\t\t\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t\t\t\tMinutes: pulumi.Int(15),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMetrics: \u0026s3.BucketReplicationConfigurationRuleDestinationMetricsArgs{\n\t\t\t\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t\t\t\tMinutes: pulumi.Int(15),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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\treplicationPolicy, err := iam.NewPolicy(ctx, \"replication\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"tf-iam-role-policy-replication-12345\"),\n\t\t\tPolicy: pulumi.All(source.Arn, source.Arn, destination.Arn).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tsourceArn := _args[0].(string)\n\t\t\t\tsourceArn1 := _args[1].(string)\n\t\t\t\tdestinationArn := _args[2].(string)\n\t\t\t\treturn fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"%v\"\n ]\n },\n {\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"%v/*\"\n ]\n },\n {\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"%v/*\"\n }\n ]\n}\n`, sourceArn, sourceArn1, destinationArn), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"replication\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: replication.Name,\n\t\t\tPolicyArn: replicationPolicy.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketVersioningArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigurationArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var replication = new Role(\"replication\", RoleArgs.builder()\n .name(\"tf-iam-role-replication-12345\")\n .assumeRolePolicy(\"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n \"\"\")\n .build());\n\n var destination = new Bucket(\"destination\", BucketArgs.builder()\n .bucket(\"tf-test-bucket-destination-12345\")\n .versioning(BucketVersioningArgs.builder()\n .enabled(true)\n .build())\n .build());\n\n var source = new Bucket(\"source\", BucketArgs.builder()\n .bucket(\"tf-test-bucket-source-12345\")\n .acl(\"private\")\n .versioning(BucketVersioningArgs.builder()\n .enabled(true)\n .build())\n .replicationConfiguration(BucketReplicationConfigurationArgs.builder()\n .role(replication.arn())\n .rules(BucketReplicationConfigurationRuleArgs.builder()\n .id(\"foobar\")\n .status(\"Enabled\")\n .filter(BucketReplicationConfigurationRuleFilterArgs.builder()\n .tags()\n .build())\n .destination(BucketReplicationConfigurationRuleDestinationArgs.builder()\n .bucket(destination.arn())\n .storageClass(\"STANDARD\")\n .replicationTime(BucketReplicationConfigurationRuleDestinationReplicationTimeArgs.builder()\n .status(\"Enabled\")\n .minutes(15)\n .build())\n .metrics(BucketReplicationConfigurationRuleDestinationMetricsArgs.builder()\n .status(\"Enabled\")\n .minutes(15)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n var replicationPolicy = new Policy(\"replicationPolicy\", PolicyArgs.builder()\n .name(\"tf-iam-role-policy-replication-12345\")\n .policy(Output.tuple(source.arn(), source.arn(), destination.arn()).applyValue(values -\u003e {\n var sourceArn = values.t1;\n var sourceArn1 = values.t2;\n var destinationArn = values.t3;\n return \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"%s\"\n ]\n },\n {\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"%s/*\"\n ]\n },\n {\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"%s/*\"\n }\n ]\n}\n\", sourceArn,sourceArn1,destinationArn);\n }))\n .build());\n\n var replicationRolePolicyAttachment = new RolePolicyAttachment(\"replicationRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(replication.name())\n .policyArn(replicationPolicy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replication:\n type: aws:iam:Role\n properties:\n name: tf-iam-role-replication-12345\n assumeRolePolicy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n }\n replicationPolicy:\n type: aws:iam:Policy\n name: replication\n properties:\n name: tf-iam-role-policy-replication-12345\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"${source.arn}\"\n ]\n },\n {\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"${source.arn}/*\"\n ]\n },\n {\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"${destination.arn}/*\"\n }\n ]\n }\n replicationRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: replication\n properties:\n role: ${replication.name}\n policyArn: ${replicationPolicy.arn}\n destination:\n type: aws:s3:Bucket\n properties:\n bucket: tf-test-bucket-destination-12345\n versioning:\n enabled: true\n source:\n type: aws:s3:Bucket\n properties:\n bucket: tf-test-bucket-source-12345\n acl: private\n versioning:\n enabled: true\n replicationConfiguration:\n role: ${replication.arn}\n rules:\n - id: foobar\n status: Enabled\n filter:\n tags: {}\n destination:\n bucket: ${destination.arn}\n storageClass: STANDARD\n replicationTime:\n status: Enabled\n minutes: 15\n metrics:\n status: Enabled\n minutes: 15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Default Server Side Encryption\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mykey = new aws.kms.Key(\"mykey\", {\n description: \"This key is used to encrypt bucket objects\",\n deletionWindowInDays: 10,\n});\nconst mybucket = new aws.s3.Bucket(\"mybucket\", {\n bucket: \"mybucket\",\n serverSideEncryptionConfiguration: {\n rule: {\n applyServerSideEncryptionByDefault: {\n kmsMasterKeyId: mykey.arn,\n sseAlgorithm: \"aws:kms\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmykey = aws.kms.Key(\"mykey\",\n description=\"This key is used to encrypt bucket objects\",\n deletion_window_in_days=10)\nmybucket = aws.s3.Bucket(\"mybucket\",\n bucket=\"mybucket\",\n server_side_encryption_configuration={\n \"rule\": {\n \"apply_server_side_encryption_by_default\": {\n \"kms_master_key_id\": mykey.arn,\n \"sse_algorithm\": \"aws:kms\",\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mykey = new Aws.Kms.Key(\"mykey\", new()\n {\n Description = \"This key is used to encrypt bucket objects\",\n DeletionWindowInDays = 10,\n });\n\n var mybucket = new Aws.S3.Bucket(\"mybucket\", new()\n {\n BucketName = \"mybucket\",\n ServerSideEncryptionConfiguration = new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationArgs\n {\n Rule = new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationRuleArgs\n {\n ApplyServerSideEncryptionByDefault = new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs\n {\n KmsMasterKeyId = mykey.Arn,\n SseAlgorithm = \"aws:kms\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmykey, err := kms.NewKey(ctx, \"mykey\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"This key is used to encrypt bucket objects\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucket(ctx, \"mybucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t\tServerSideEncryptionConfiguration: \u0026s3.BucketServerSideEncryptionConfigurationArgs{\n\t\t\t\tRule: \u0026s3.BucketServerSideEncryptionConfigurationRuleArgs{\n\t\t\t\t\tApplyServerSideEncryptionByDefault: \u0026s3.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs{\n\t\t\t\t\t\tKmsMasterKeyId: mykey.Arn,\n\t\t\t\t\t\tSseAlgorithm: pulumi.String(\"aws:kms\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationArgs;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationRuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mykey = new Key(\"mykey\", KeyArgs.builder()\n .description(\"This key is used to encrypt bucket objects\")\n .deletionWindowInDays(10)\n .build());\n\n var mybucket = new Bucket(\"mybucket\", BucketArgs.builder()\n .bucket(\"mybucket\")\n .serverSideEncryptionConfiguration(BucketServerSideEncryptionConfigurationArgs.builder()\n .rule(BucketServerSideEncryptionConfigurationRuleArgs.builder()\n .applyServerSideEncryptionByDefault(BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs.builder()\n .kmsMasterKeyId(mykey.arn())\n .sseAlgorithm(\"aws:kms\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mykey:\n type: aws:kms:Key\n properties:\n description: This key is used to encrypt bucket objects\n deletionWindowInDays: 10\n mybucket:\n type: aws:s3:Bucket\n properties:\n bucket: mybucket\n serverSideEncryptionConfiguration:\n rule:\n applyServerSideEncryptionByDefault:\n kmsMasterKeyId: ${mykey.arn}\n sseAlgorithm: aws:kms\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using ACL policy grants\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst currentUser = aws.s3.getCanonicalUserId({});\nconst bucket = new aws.s3.Bucket(\"bucket\", {\n bucket: \"mybucket\",\n grants: [\n {\n id: currentUser.then(currentUser =\u003e currentUser.id),\n type: \"CanonicalUser\",\n permissions: [\"FULL_CONTROL\"],\n },\n {\n type: \"Group\",\n permissions: [\n \"READ_ACP\",\n \"WRITE\",\n ],\n uri: \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent_user = aws.s3.get_canonical_user_id()\nbucket = aws.s3.Bucket(\"bucket\",\n bucket=\"mybucket\",\n grants=[\n {\n \"id\": current_user.id,\n \"type\": \"CanonicalUser\",\n \"permissions\": [\"FULL_CONTROL\"],\n },\n {\n \"type\": \"Group\",\n \"permissions\": [\n \"READ_ACP\",\n \"WRITE\",\n ],\n \"uri\": \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var currentUser = Aws.S3.GetCanonicalUserId.Invoke();\n\n var bucket = new Aws.S3.Bucket(\"bucket\", new()\n {\n BucketName = \"mybucket\",\n Grants = new[]\n {\n new Aws.S3.Inputs.BucketGrantArgs\n {\n Id = currentUser.Apply(getCanonicalUserIdResult =\u003e getCanonicalUserIdResult.Id),\n Type = \"CanonicalUser\",\n Permissions = new[]\n {\n \"FULL_CONTROL\",\n },\n },\n new Aws.S3.Inputs.BucketGrantArgs\n {\n Type = \"Group\",\n Permissions = new[]\n {\n \"READ_ACP\",\n \"WRITE\",\n },\n Uri = \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrentUser, err := s3.GetCanonicalUserId(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucket(ctx, \"bucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t\tGrants: s3.BucketGrantArray{\n\t\t\t\t\u0026s3.BucketGrantArgs{\n\t\t\t\t\tId: pulumi.String(currentUser.Id),\n\t\t\t\t\tType: pulumi.String(\"CanonicalUser\"),\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"FULL_CONTROL\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketGrantArgs{\n\t\t\t\t\tType: pulumi.String(\"Group\"),\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"READ_ACP\"),\n\t\t\t\t\t\tpulumi.String(\"WRITE\"),\n\t\t\t\t\t},\n\t\t\t\t\tUri: pulumi.String(\"http://acs.amazonaws.com/groups/s3/LogDelivery\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketGrantArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var currentUser = S3Functions.getCanonicalUserId();\n\n var bucket = new Bucket(\"bucket\", BucketArgs.builder()\n .bucket(\"mybucket\")\n .grants( \n BucketGrantArgs.builder()\n .id(currentUser.applyValue(getCanonicalUserIdResult -\u003e getCanonicalUserIdResult.id()))\n .type(\"CanonicalUser\")\n .permissions(\"FULL_CONTROL\")\n .build(),\n BucketGrantArgs.builder()\n .type(\"Group\")\n .permissions( \n \"READ_ACP\",\n \"WRITE\")\n .uri(\"http://acs.amazonaws.com/groups/s3/LogDelivery\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:Bucket\n properties:\n bucket: mybucket\n grants:\n - id: ${currentUser.id}\n type: CanonicalUser\n permissions:\n - FULL_CONTROL\n - type: Group\n permissions:\n - READ_ACP\n - WRITE\n uri: http://acs.amazonaws.com/groups/s3/LogDelivery\nvariables:\n currentUser:\n fn::invoke:\n function: aws:s3:getCanonicalUserId\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nS3 bucket can be imported using the `bucket`, e.g.,\n\n```sh\n$ pulumi import aws:s3/bucket:Bucket bucket bucket-name\n```\nThe `policy` argument is not imported and will be deprecated in a future version of the provider. Use the `aws_s3_bucket_policy` resource to manage the S3 Bucket Policy instead.\n\n", + "description": "Provides a S3 bucket resource.\n\n\u003e **NOTE:** Please use [aws.s3.BucketV2](https://www.pulumi.com/registry/packages/aws/api-docs/s3/bucketv2) instead.\nThis resource is maintained for backwards compatibility only. Please see [BucketV2 Migration\nGuide](https://www.pulumi.com/registry/packages/aws/how-to-guides/bucketv2-migration/) for instructions on migrating\nexisting Bucket resources to BucketV2.\n\n## Example Usage\n\n### Private Bucket w/ Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"my-tf-test-bucket\",\n acl: aws.s3.CannedAcl.Private,\n tags: {\n Name: \"My bucket\",\n Environment: \"Dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.Bucket(\"b\",\n bucket=\"my-tf-test-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n tags={\n \"Name\": \"My bucket\",\n \"Environment\": \"Dev\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"my-tf-test-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n Tags = \n {\n { \"Name\", \"My bucket\" },\n { \"Environment\", \"Dev\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"My bucket\"),\n\t\t\t\t\"Environment\": pulumi.String(\"Dev\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var b = new Bucket(\"b\", BucketArgs.builder()\n .bucket(\"my-tf-test-bucket\")\n .acl(\"private\")\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"My bucket\"),\n Map.entry(\"Environment\", \"Dev\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:s3:Bucket\n properties:\n bucket: my-tf-test-bucket\n acl: private\n tags:\n Name: My bucket\n Environment: Dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Static Website Hosting\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"s3-website-test.mydomain.com\",\n acl: aws.s3.CannedAcl.PublicRead,\n policy: std.file({\n input: \"policy.json\",\n }).then(invoke =\u003e invoke.result),\n website: {\n indexDocument: \"index.html\",\n errorDocument: \"error.html\",\n routingRules: `[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n}]\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nb = aws.s3.Bucket(\"b\",\n bucket=\"s3-website-test.mydomain.com\",\n acl=aws.s3.CannedAcl.PUBLIC_READ,\n policy=std.file(input=\"policy.json\").result,\n website={\n \"index_document\": \"index.html\",\n \"error_document\": \"error.html\",\n \"routing_rules\": \"\"\"[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n}]\n\"\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"s3-website-test.mydomain.com\",\n Acl = Aws.S3.CannedAcl.PublicRead,\n Policy = Std.File.Invoke(new()\n {\n Input = \"policy.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Website = new Aws.S3.Inputs.BucketWebsiteArgs\n {\n IndexDocument = \"index.html\",\n ErrorDocument = \"error.html\",\n RoutingRules = @\"[{\n \"\"Condition\"\": {\n \"\"KeyPrefixEquals\"\": \"\"docs/\"\"\n },\n \"\"Redirect\"\": {\n \"\"ReplaceKeyPrefixWith\"\": \"\"documents/\"\"\n }\n}]\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"policy.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"s3-website-test.mydomain.com\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPublicRead),\n\t\t\tPolicy: pulumi.String(invokeFile.Result),\n\t\t\tWebsite: \u0026s3.BucketWebsiteArgs{\n\t\t\t\tIndexDocument: pulumi.String(\"index.html\"),\n\t\t\t\tErrorDocument: pulumi.String(\"error.html\"),\n\t\t\t\tRoutingRules: pulumi.Any(`[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n}]\n`),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketWebsiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var b = new Bucket(\"b\", BucketArgs.builder()\n .bucket(\"s3-website-test.mydomain.com\")\n .acl(\"public-read\")\n .policy(StdFunctions.file(FileArgs.builder()\n .input(\"policy.json\")\n .build()).result())\n .website(BucketWebsiteArgs.builder()\n .indexDocument(\"index.html\")\n .errorDocument(\"error.html\")\n .routingRules(\"\"\"\n[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n}]\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:s3:Bucket\n properties:\n bucket: s3-website-test.mydomain.com\n acl: public-read\n policy:\n fn::invoke:\n Function: std:file\n Arguments:\n input: policy.json\n Return: result\n website:\n indexDocument: index.html\n errorDocument: error.html\n routingRules: |\n [{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n }]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using CORS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"s3-website-test.mydomain.com\",\n acl: aws.s3.CannedAcl.PublicRead,\n corsRules: [{\n allowedHeaders: [\"*\"],\n allowedMethods: [\n \"PUT\",\n \"POST\",\n ],\n allowedOrigins: [\"https://s3-website-test.mydomain.com\"],\n exposeHeaders: [\"ETag\"],\n maxAgeSeconds: 3000,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.Bucket(\"b\",\n bucket=\"s3-website-test.mydomain.com\",\n acl=aws.s3.CannedAcl.PUBLIC_READ,\n cors_rules=[{\n \"allowed_headers\": [\"*\"],\n \"allowed_methods\": [\n \"PUT\",\n \"POST\",\n ],\n \"allowed_origins\": [\"https://s3-website-test.mydomain.com\"],\n \"expose_headers\": [\"ETag\"],\n \"max_age_seconds\": 3000,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"s3-website-test.mydomain.com\",\n Acl = Aws.S3.CannedAcl.PublicRead,\n CorsRules = new[]\n {\n new Aws.S3.Inputs.BucketCorsRuleArgs\n {\n AllowedHeaders = new[]\n {\n \"*\",\n },\n AllowedMethods = new[]\n {\n \"PUT\",\n \"POST\",\n },\n AllowedOrigins = new[]\n {\n \"https://s3-website-test.mydomain.com\",\n },\n ExposeHeaders = new[]\n {\n \"ETag\",\n },\n MaxAgeSeconds = 3000,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"s3-website-test.mydomain.com\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPublicRead),\n\t\t\tCorsRules: s3.BucketCorsRuleArray{\n\t\t\t\t\u0026s3.BucketCorsRuleArgs{\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"https://s3-website-test.mydomain.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tExposeHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ETag\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Int(3000),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketCorsRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var b = new Bucket(\"b\", BucketArgs.builder()\n .bucket(\"s3-website-test.mydomain.com\")\n .acl(\"public-read\")\n .corsRules(BucketCorsRuleArgs.builder()\n .allowedHeaders(\"*\")\n .allowedMethods( \n \"PUT\",\n \"POST\")\n .allowedOrigins(\"https://s3-website-test.mydomain.com\")\n .exposeHeaders(\"ETag\")\n .maxAgeSeconds(3000)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:s3:Bucket\n properties:\n bucket: s3-website-test.mydomain.com\n acl: public-read\n corsRules:\n - allowedHeaders:\n - '*'\n allowedMethods:\n - PUT\n - POST\n allowedOrigins:\n - https://s3-website-test.mydomain.com\n exposeHeaders:\n - ETag\n maxAgeSeconds: 3000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using versioning\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"my-tf-test-bucket\",\n acl: aws.s3.CannedAcl.Private,\n versioning: {\n enabled: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.Bucket(\"b\",\n bucket=\"my-tf-test-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n versioning={\n \"enabled\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"my-tf-test-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n Versioning = new Aws.S3.Inputs.BucketVersioningArgs\n {\n Enabled = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tVersioning: \u0026s3.BucketVersioningArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketVersioningArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var b = new Bucket(\"b\", BucketArgs.builder()\n .bucket(\"my-tf-test-bucket\")\n .acl(\"private\")\n .versioning(BucketVersioningArgs.builder()\n .enabled(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:s3:Bucket\n properties:\n bucket: my-tf-test-bucket\n acl: private\n versioning:\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst logBucket = new aws.s3.Bucket(\"log_bucket\", {\n bucket: \"my-tf-log-bucket\",\n acl: aws.s3.CannedAcl.LogDeliveryWrite,\n});\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"my-tf-test-bucket\",\n acl: aws.s3.CannedAcl.Private,\n loggings: [{\n targetBucket: logBucket.id,\n targetPrefix: \"log/\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlog_bucket = aws.s3.Bucket(\"log_bucket\",\n bucket=\"my-tf-log-bucket\",\n acl=aws.s3.CannedAcl.LOG_DELIVERY_WRITE)\nb = aws.s3.Bucket(\"b\",\n bucket=\"my-tf-test-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n loggings=[{\n \"target_bucket\": log_bucket.id,\n \"target_prefix\": \"log/\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var logBucket = new Aws.S3.Bucket(\"log_bucket\", new()\n {\n BucketName = \"my-tf-log-bucket\",\n Acl = Aws.S3.CannedAcl.LogDeliveryWrite,\n });\n\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"my-tf-test-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n Loggings = new[]\n {\n new Aws.S3.Inputs.BucketLoggingArgs\n {\n TargetBucket = logBucket.Id,\n TargetPrefix = \"log/\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlogBucket, err := s3.NewBucket(ctx, \"log_bucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-log-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclLogDeliveryWrite),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tLoggings: s3.BucketLoggingArray{\n\t\t\t\t\u0026s3.BucketLoggingArgs{\n\t\t\t\t\tTargetBucket: logBucket.ID(),\n\t\t\t\t\tTargetPrefix: pulumi.String(\"log/\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketLoggingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var logBucket = new Bucket(\"logBucket\", BucketArgs.builder()\n .bucket(\"my-tf-log-bucket\")\n .acl(\"log-delivery-write\")\n .build());\n\n var b = new Bucket(\"b\", BucketArgs.builder()\n .bucket(\"my-tf-test-bucket\")\n .acl(\"private\")\n .loggings(BucketLoggingArgs.builder()\n .targetBucket(logBucket.id())\n .targetPrefix(\"log/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n logBucket:\n type: aws:s3:Bucket\n name: log_bucket\n properties:\n bucket: my-tf-log-bucket\n acl: log-delivery-write\n b:\n type: aws:s3:Bucket\n properties:\n bucket: my-tf-test-bucket\n acl: private\n loggings:\n - targetBucket: ${logBucket.id}\n targetPrefix: log/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using object lifecycle\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.Bucket(\"bucket\", {\n bucket: \"my-bucket\",\n acl: aws.s3.CannedAcl.Private,\n lifecycleRules: [\n {\n id: \"log\",\n enabled: true,\n prefix: \"log/\",\n tags: {\n rule: \"log\",\n autoclean: \"true\",\n },\n transitions: [\n {\n days: 30,\n storageClass: \"STANDARD_IA\",\n },\n {\n days: 60,\n storageClass: \"GLACIER\",\n },\n ],\n expiration: {\n days: 90,\n },\n },\n {\n id: \"tmp\",\n prefix: \"tmp/\",\n enabled: true,\n expiration: {\n date: \"2016-01-12\",\n },\n },\n ],\n});\nconst versioningBucket = new aws.s3.Bucket(\"versioning_bucket\", {\n bucket: \"my-versioning-bucket\",\n acl: aws.s3.CannedAcl.Private,\n versioning: {\n enabled: true,\n },\n lifecycleRules: [{\n prefix: \"config/\",\n enabled: true,\n noncurrentVersionTransitions: [\n {\n days: 30,\n storageClass: \"STANDARD_IA\",\n },\n {\n days: 60,\n storageClass: \"GLACIER\",\n },\n ],\n noncurrentVersionExpiration: {\n days: 90,\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.Bucket(\"bucket\",\n bucket=\"my-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n lifecycle_rules=[\n {\n \"id\": \"log\",\n \"enabled\": True,\n \"prefix\": \"log/\",\n \"tags\": {\n \"rule\": \"log\",\n \"autoclean\": \"true\",\n },\n \"transitions\": [\n {\n \"days\": 30,\n \"storage_class\": \"STANDARD_IA\",\n },\n {\n \"days\": 60,\n \"storage_class\": \"GLACIER\",\n },\n ],\n \"expiration\": {\n \"days\": 90,\n },\n },\n {\n \"id\": \"tmp\",\n \"prefix\": \"tmp/\",\n \"enabled\": True,\n \"expiration\": {\n \"date\": \"2016-01-12\",\n },\n },\n ])\nversioning_bucket = aws.s3.Bucket(\"versioning_bucket\",\n bucket=\"my-versioning-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n versioning={\n \"enabled\": True,\n },\n lifecycle_rules=[{\n \"prefix\": \"config/\",\n \"enabled\": True,\n \"noncurrent_version_transitions\": [\n {\n \"days\": 30,\n \"storage_class\": \"STANDARD_IA\",\n },\n {\n \"days\": 60,\n \"storage_class\": \"GLACIER\",\n },\n ],\n \"noncurrent_version_expiration\": {\n \"days\": 90,\n },\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.Bucket(\"bucket\", new()\n {\n BucketName = \"my-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n LifecycleRules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"log\",\n Enabled = true,\n Prefix = \"log/\",\n Tags = \n {\n { \"rule\", \"log\" },\n { \"autoclean\", \"true\" },\n },\n Transitions = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleRuleTransitionArgs\n {\n Days = 30,\n StorageClass = \"STANDARD_IA\",\n },\n new Aws.S3.Inputs.BucketLifecycleRuleTransitionArgs\n {\n Days = 60,\n StorageClass = \"GLACIER\",\n },\n },\n Expiration = new Aws.S3.Inputs.BucketLifecycleRuleExpirationArgs\n {\n Days = 90,\n },\n },\n new Aws.S3.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"tmp\",\n Prefix = \"tmp/\",\n Enabled = true,\n Expiration = new Aws.S3.Inputs.BucketLifecycleRuleExpirationArgs\n {\n Date = \"2016-01-12\",\n },\n },\n },\n });\n\n var versioningBucket = new Aws.S3.Bucket(\"versioning_bucket\", new()\n {\n BucketName = \"my-versioning-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n Versioning = new Aws.S3.Inputs.BucketVersioningArgs\n {\n Enabled = true,\n },\n LifecycleRules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleRuleArgs\n {\n Prefix = \"config/\",\n Enabled = true,\n NoncurrentVersionTransitions = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleRuleNoncurrentVersionTransitionArgs\n {\n Days = 30,\n StorageClass = \"STANDARD_IA\",\n },\n new Aws.S3.Inputs.BucketLifecycleRuleNoncurrentVersionTransitionArgs\n {\n Days = 60,\n StorageClass = \"GLACIER\",\n },\n },\n NoncurrentVersionExpiration = new Aws.S3.Inputs.BucketLifecycleRuleNoncurrentVersionExpirationArgs\n {\n Days = 90,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucket(ctx, \"bucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tLifecycleRules: s3.BucketLifecycleRuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"log\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tPrefix: pulumi.String(\"log/\"),\n\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\"rule\": pulumi.String(\"log\"),\n\t\t\t\t\t\t\"autoclean\": pulumi.String(\"true\"),\n\t\t\t\t\t},\n\t\t\t\t\tTransitions: s3.BucketLifecycleRuleTransitionArray{\n\t\t\t\t\t\t\u0026s3.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026s3.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"GLACIER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tExpiration: \u0026s3.BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(90),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"tmp\"),\n\t\t\t\t\tPrefix: pulumi.String(\"tmp/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpiration: \u0026s3.BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2016-01-12\"),\n\t\t\t\t\t},\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\t_, err = s3.NewBucket(ctx, \"versioning_bucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-versioning-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tVersioning: \u0026s3.BucketVersioningArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tLifecycleRules: s3.BucketLifecycleRuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleRuleArgs{\n\t\t\t\t\tPrefix: pulumi.String(\"config/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tNoncurrentVersionTransitions: s3.BucketLifecycleRuleNoncurrentVersionTransitionArray{\n\t\t\t\t\t\t\u0026s3.BucketLifecycleRuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026s3.BucketLifecycleRuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"GLACIER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionExpiration: \u0026s3.BucketLifecycleRuleNoncurrentVersionExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(90),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleRuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleRuleExpirationArgs;\nimport com.pulumi.aws.s3.inputs.BucketVersioningArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleRuleNoncurrentVersionExpirationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bucket = new Bucket(\"bucket\", BucketArgs.builder()\n .bucket(\"my-bucket\")\n .acl(\"private\")\n .lifecycleRules( \n BucketLifecycleRuleArgs.builder()\n .id(\"log\")\n .enabled(true)\n .prefix(\"log/\")\n .tags(Map.ofEntries(\n Map.entry(\"rule\", \"log\"),\n Map.entry(\"autoclean\", \"true\")\n ))\n .transitions( \n BucketLifecycleRuleTransitionArgs.builder()\n .days(30)\n .storageClass(\"STANDARD_IA\")\n .build(),\n BucketLifecycleRuleTransitionArgs.builder()\n .days(60)\n .storageClass(\"GLACIER\")\n .build())\n .expiration(BucketLifecycleRuleExpirationArgs.builder()\n .days(90)\n .build())\n .build(),\n BucketLifecycleRuleArgs.builder()\n .id(\"tmp\")\n .prefix(\"tmp/\")\n .enabled(true)\n .expiration(BucketLifecycleRuleExpirationArgs.builder()\n .date(\"2016-01-12\")\n .build())\n .build())\n .build());\n\n var versioningBucket = new Bucket(\"versioningBucket\", BucketArgs.builder()\n .bucket(\"my-versioning-bucket\")\n .acl(\"private\")\n .versioning(BucketVersioningArgs.builder()\n .enabled(true)\n .build())\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .prefix(\"config/\")\n .enabled(true)\n .noncurrentVersionTransitions( \n BucketLifecycleRuleNoncurrentVersionTransitionArgs.builder()\n .days(30)\n .storageClass(\"STANDARD_IA\")\n .build(),\n BucketLifecycleRuleNoncurrentVersionTransitionArgs.builder()\n .days(60)\n .storageClass(\"GLACIER\")\n .build())\n .noncurrentVersionExpiration(BucketLifecycleRuleNoncurrentVersionExpirationArgs.builder()\n .days(90)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:Bucket\n properties:\n bucket: my-bucket\n acl: private\n lifecycleRules:\n - id: log\n enabled: true\n prefix: log/\n tags:\n rule: log\n autoclean: 'true'\n transitions:\n - days: 30\n storageClass: STANDARD_IA\n - days: 60\n storageClass: GLACIER\n expiration:\n days: 90\n - id: tmp\n prefix: tmp/\n enabled: true\n expiration:\n date: 2016-01-12\n versioningBucket:\n type: aws:s3:Bucket\n name: versioning_bucket\n properties:\n bucket: my-versioning-bucket\n acl: private\n versioning:\n enabled: true\n lifecycleRules:\n - prefix: config/\n enabled: true\n noncurrentVersionTransitions:\n - days: 30\n storageClass: STANDARD_IA\n - days: 60\n storageClass: GLACIER\n noncurrentVersionExpiration:\n days: 90\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using replication configuration\n\n\u003e **NOTE:** See the `aws.s3.BucketReplicationConfig` resource to support bi-directional replication configuration and additional features.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replication = new aws.iam.Role(\"replication\", {\n name: \"tf-iam-role-replication-12345\",\n assumeRolePolicy: `{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n`,\n});\nconst destination = new aws.s3.Bucket(\"destination\", {\n bucket: \"tf-test-bucket-destination-12345\",\n versioning: {\n enabled: true,\n },\n});\nconst source = new aws.s3.Bucket(\"source\", {\n bucket: \"tf-test-bucket-source-12345\",\n acl: aws.s3.CannedAcl.Private,\n versioning: {\n enabled: true,\n },\n replicationConfiguration: {\n role: replication.arn,\n rules: [{\n id: \"foobar\",\n status: \"Enabled\",\n filter: {\n tags: {},\n },\n destination: {\n bucket: destination.arn,\n storageClass: \"STANDARD\",\n replicationTime: {\n status: \"Enabled\",\n minutes: 15,\n },\n metrics: {\n status: \"Enabled\",\n minutes: 15,\n },\n },\n }],\n },\n});\nconst replicationPolicy = new aws.iam.Policy(\"replication\", {\n name: \"tf-iam-role-policy-replication-12345\",\n policy: pulumi.interpolate`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"${source.arn}\"\n ]\n },\n {\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"${source.arn}/*\"\n ]\n },\n {\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"${destination.arn}/*\"\n }\n ]\n}\n`,\n});\nconst replicationRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"replication\", {\n role: replication.name,\n policyArn: replicationPolicy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplication = aws.iam.Role(\"replication\",\n name=\"tf-iam-role-replication-12345\",\n assume_role_policy=\"\"\"{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n\"\"\")\ndestination = aws.s3.Bucket(\"destination\",\n bucket=\"tf-test-bucket-destination-12345\",\n versioning={\n \"enabled\": True,\n })\nsource = aws.s3.Bucket(\"source\",\n bucket=\"tf-test-bucket-source-12345\",\n acl=aws.s3.CannedAcl.PRIVATE,\n versioning={\n \"enabled\": True,\n },\n replication_configuration={\n \"role\": replication.arn,\n \"rules\": [{\n \"id\": \"foobar\",\n \"status\": \"Enabled\",\n \"filter\": {\n \"tags\": {},\n },\n \"destination\": {\n \"bucket\": destination.arn,\n \"storage_class\": \"STANDARD\",\n \"replication_time\": {\n \"status\": \"Enabled\",\n \"minutes\": 15,\n },\n \"metrics\": {\n \"status\": \"Enabled\",\n \"minutes\": 15,\n },\n },\n }],\n })\nreplication_policy = aws.iam.Policy(\"replication\",\n name=\"tf-iam-role-policy-replication-12345\",\n policy=pulumi.Output.all(\n sourceArn=source.arn,\n sourceArn1=source.arn,\n destinationArn=destination.arn\n).apply(lambda resolved_outputs: f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {{\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"{resolved_outputs['sourceArn']}\"\n ]\n }},\n {{\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"{resolved_outputs['sourceArn1']}/*\"\n ]\n }},\n {{\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"{resolved_outputs['destinationArn']}/*\"\n }}\n ]\n}}\n\"\"\")\n)\nreplication_role_policy_attachment = aws.iam.RolePolicyAttachment(\"replication\",\n role=replication.name,\n policy_arn=replication_policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replication = new Aws.Iam.Role(\"replication\", new()\n {\n Name = \"tf-iam-role-replication-12345\",\n AssumeRolePolicy = @\"{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {\n \"\"Action\"\": \"\"sts:AssumeRole\"\",\n \"\"Principal\"\": {\n \"\"Service\"\": \"\"s3.amazonaws.com\"\"\n },\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Sid\"\": \"\"\"\"\n }\n ]\n}\n\",\n });\n\n var destination = new Aws.S3.Bucket(\"destination\", new()\n {\n BucketName = \"tf-test-bucket-destination-12345\",\n Versioning = new Aws.S3.Inputs.BucketVersioningArgs\n {\n Enabled = true,\n },\n });\n\n var source = new Aws.S3.Bucket(\"source\", new()\n {\n BucketName = \"tf-test-bucket-source-12345\",\n Acl = Aws.S3.CannedAcl.Private,\n Versioning = new Aws.S3.Inputs.BucketVersioningArgs\n {\n Enabled = true,\n },\n ReplicationConfiguration = new Aws.S3.Inputs.BucketReplicationConfigurationArgs\n {\n Role = replication.Arn,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketReplicationConfigurationRuleArgs\n {\n Id = \"foobar\",\n Status = \"Enabled\",\n Filter = new Aws.S3.Inputs.BucketReplicationConfigurationRuleFilterArgs\n {\n Tags = null,\n },\n Destination = new Aws.S3.Inputs.BucketReplicationConfigurationRuleDestinationArgs\n {\n Bucket = destination.Arn,\n StorageClass = \"STANDARD\",\n ReplicationTime = new Aws.S3.Inputs.BucketReplicationConfigurationRuleDestinationReplicationTimeArgs\n {\n Status = \"Enabled\",\n Minutes = 15,\n },\n Metrics = new Aws.S3.Inputs.BucketReplicationConfigurationRuleDestinationMetricsArgs\n {\n Status = \"Enabled\",\n Minutes = 15,\n },\n },\n },\n },\n },\n });\n\n var replicationPolicy = new Aws.Iam.Policy(\"replication\", new()\n {\n Name = \"tf-iam-role-policy-replication-12345\",\n PolicyDocument = Output.Tuple(source.Arn, source.Arn, destination.Arn).Apply(values =\u003e\n {\n var sourceArn = values.Item1;\n var sourceArn1 = values.Item2;\n var destinationArn = values.Item3;\n return @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {{\n \"\"Action\"\": [\n \"\"s3:GetReplicationConfiguration\"\",\n \"\"s3:ListBucket\"\"\n ],\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Resource\"\": [\n \"\"{sourceArn}\"\"\n ]\n }},\n {{\n \"\"Action\"\": [\n \"\"s3:GetObjectVersionForReplication\"\",\n \"\"s3:GetObjectVersionAcl\"\",\n \"\"s3:GetObjectVersionTagging\"\"\n ],\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Resource\"\": [\n \"\"{sourceArn1}/*\"\"\n ]\n }},\n {{\n \"\"Action\"\": [\n \"\"s3:ReplicateObject\"\",\n \"\"s3:ReplicateDelete\"\",\n \"\"s3:ReplicateTags\"\"\n ],\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Resource\"\": \"\"{destinationArn}/*\"\"\n }}\n ]\n}}\n\";\n }),\n });\n\n var replicationRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"replication\", new()\n {\n Role = replication.Name,\n PolicyArn = replicationPolicy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treplication, err := iam.NewRole(ctx, \"replication\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"tf-iam-role-replication-12345\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdestination, err := s3.NewBucket(ctx, \"destination\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-destination-12345\"),\n\t\t\tVersioning: \u0026s3.BucketVersioningArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := s3.NewBucket(ctx, \"source\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-source-12345\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tVersioning: \u0026s3.BucketVersioningArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tReplicationConfiguration: \u0026s3.BucketReplicationConfigurationArgs{\n\t\t\t\tRole: replication.Arn,\n\t\t\t\tRules: s3.BucketReplicationConfigurationRuleArray{\n\t\t\t\t\t\u0026s3.BucketReplicationConfigurationRuleArgs{\n\t\t\t\t\t\tId: pulumi.String(\"foobar\"),\n\t\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t\tFilter: \u0026s3.BucketReplicationConfigurationRuleFilterArgs{\n\t\t\t\t\t\t\tTags: pulumi.StringMap{},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDestination: \u0026s3.BucketReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\tBucket: destination.Arn,\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\t\t\t\t\tReplicationTime: \u0026s3.BucketReplicationConfigurationRuleDestinationReplicationTimeArgs{\n\t\t\t\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t\t\t\tMinutes: pulumi.Int(15),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMetrics: \u0026s3.BucketReplicationConfigurationRuleDestinationMetricsArgs{\n\t\t\t\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t\t\t\tMinutes: pulumi.Int(15),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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\treplicationPolicy, err := iam.NewPolicy(ctx, \"replication\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"tf-iam-role-policy-replication-12345\"),\n\t\t\tPolicy: pulumi.All(source.Arn, source.Arn, destination.Arn).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tsourceArn := _args[0].(string)\n\t\t\t\tsourceArn1 := _args[1].(string)\n\t\t\t\tdestinationArn := _args[2].(string)\n\t\t\t\treturn fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"%v\"\n ]\n },\n {\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"%v/*\"\n ]\n },\n {\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"%v/*\"\n }\n ]\n}\n`, sourceArn, sourceArn1, destinationArn), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"replication\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: replication.Name,\n\t\t\tPolicyArn: replicationPolicy.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketVersioningArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigurationArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var replication = new Role(\"replication\", RoleArgs.builder()\n .name(\"tf-iam-role-replication-12345\")\n .assumeRolePolicy(\"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n \"\"\")\n .build());\n\n var destination = new Bucket(\"destination\", BucketArgs.builder()\n .bucket(\"tf-test-bucket-destination-12345\")\n .versioning(BucketVersioningArgs.builder()\n .enabled(true)\n .build())\n .build());\n\n var source = new Bucket(\"source\", BucketArgs.builder()\n .bucket(\"tf-test-bucket-source-12345\")\n .acl(\"private\")\n .versioning(BucketVersioningArgs.builder()\n .enabled(true)\n .build())\n .replicationConfiguration(BucketReplicationConfigurationArgs.builder()\n .role(replication.arn())\n .rules(BucketReplicationConfigurationRuleArgs.builder()\n .id(\"foobar\")\n .status(\"Enabled\")\n .filter(BucketReplicationConfigurationRuleFilterArgs.builder()\n .tags()\n .build())\n .destination(BucketReplicationConfigurationRuleDestinationArgs.builder()\n .bucket(destination.arn())\n .storageClass(\"STANDARD\")\n .replicationTime(BucketReplicationConfigurationRuleDestinationReplicationTimeArgs.builder()\n .status(\"Enabled\")\n .minutes(15)\n .build())\n .metrics(BucketReplicationConfigurationRuleDestinationMetricsArgs.builder()\n .status(\"Enabled\")\n .minutes(15)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n var replicationPolicy = new Policy(\"replicationPolicy\", PolicyArgs.builder()\n .name(\"tf-iam-role-policy-replication-12345\")\n .policy(Output.tuple(source.arn(), source.arn(), destination.arn()).applyValue(values -\u003e {\n var sourceArn = values.t1;\n var sourceArn1 = values.t2;\n var destinationArn = values.t3;\n return \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"%s\"\n ]\n },\n {\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"%s/*\"\n ]\n },\n {\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"%s/*\"\n }\n ]\n}\n\", sourceArn,sourceArn1,destinationArn);\n }))\n .build());\n\n var replicationRolePolicyAttachment = new RolePolicyAttachment(\"replicationRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(replication.name())\n .policyArn(replicationPolicy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replication:\n type: aws:iam:Role\n properties:\n name: tf-iam-role-replication-12345\n assumeRolePolicy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n }\n replicationPolicy:\n type: aws:iam:Policy\n name: replication\n properties:\n name: tf-iam-role-policy-replication-12345\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"${source.arn}\"\n ]\n },\n {\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"${source.arn}/*\"\n ]\n },\n {\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"${destination.arn}/*\"\n }\n ]\n }\n replicationRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: replication\n properties:\n role: ${replication.name}\n policyArn: ${replicationPolicy.arn}\n destination:\n type: aws:s3:Bucket\n properties:\n bucket: tf-test-bucket-destination-12345\n versioning:\n enabled: true\n source:\n type: aws:s3:Bucket\n properties:\n bucket: tf-test-bucket-source-12345\n acl: private\n versioning:\n enabled: true\n replicationConfiguration:\n role: ${replication.arn}\n rules:\n - id: foobar\n status: Enabled\n filter:\n tags: {}\n destination:\n bucket: ${destination.arn}\n storageClass: STANDARD\n replicationTime:\n status: Enabled\n minutes: 15\n metrics:\n status: Enabled\n minutes: 15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Default Server Side Encryption\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mykey = new aws.kms.Key(\"mykey\", {\n description: \"This key is used to encrypt bucket objects\",\n deletionWindowInDays: 10,\n});\nconst mybucket = new aws.s3.Bucket(\"mybucket\", {\n bucket: \"mybucket\",\n serverSideEncryptionConfiguration: {\n rule: {\n applyServerSideEncryptionByDefault: {\n kmsMasterKeyId: mykey.arn,\n sseAlgorithm: \"aws:kms\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmykey = aws.kms.Key(\"mykey\",\n description=\"This key is used to encrypt bucket objects\",\n deletion_window_in_days=10)\nmybucket = aws.s3.Bucket(\"mybucket\",\n bucket=\"mybucket\",\n server_side_encryption_configuration={\n \"rule\": {\n \"apply_server_side_encryption_by_default\": {\n \"kms_master_key_id\": mykey.arn,\n \"sse_algorithm\": \"aws:kms\",\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mykey = new Aws.Kms.Key(\"mykey\", new()\n {\n Description = \"This key is used to encrypt bucket objects\",\n DeletionWindowInDays = 10,\n });\n\n var mybucket = new Aws.S3.Bucket(\"mybucket\", new()\n {\n BucketName = \"mybucket\",\n ServerSideEncryptionConfiguration = new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationArgs\n {\n Rule = new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationRuleArgs\n {\n ApplyServerSideEncryptionByDefault = new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs\n {\n KmsMasterKeyId = mykey.Arn,\n SseAlgorithm = \"aws:kms\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmykey, err := kms.NewKey(ctx, \"mykey\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"This key is used to encrypt bucket objects\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucket(ctx, \"mybucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t\tServerSideEncryptionConfiguration: \u0026s3.BucketServerSideEncryptionConfigurationArgs{\n\t\t\t\tRule: \u0026s3.BucketServerSideEncryptionConfigurationRuleArgs{\n\t\t\t\t\tApplyServerSideEncryptionByDefault: \u0026s3.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs{\n\t\t\t\t\t\tKmsMasterKeyId: mykey.Arn,\n\t\t\t\t\t\tSseAlgorithm: pulumi.String(\"aws:kms\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationArgs;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationRuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mykey = new Key(\"mykey\", KeyArgs.builder()\n .description(\"This key is used to encrypt bucket objects\")\n .deletionWindowInDays(10)\n .build());\n\n var mybucket = new Bucket(\"mybucket\", BucketArgs.builder()\n .bucket(\"mybucket\")\n .serverSideEncryptionConfiguration(BucketServerSideEncryptionConfigurationArgs.builder()\n .rule(BucketServerSideEncryptionConfigurationRuleArgs.builder()\n .applyServerSideEncryptionByDefault(BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs.builder()\n .kmsMasterKeyId(mykey.arn())\n .sseAlgorithm(\"aws:kms\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mykey:\n type: aws:kms:Key\n properties:\n description: This key is used to encrypt bucket objects\n deletionWindowInDays: 10\n mybucket:\n type: aws:s3:Bucket\n properties:\n bucket: mybucket\n serverSideEncryptionConfiguration:\n rule:\n applyServerSideEncryptionByDefault:\n kmsMasterKeyId: ${mykey.arn}\n sseAlgorithm: aws:kms\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using ACL policy grants\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst currentUser = aws.s3.getCanonicalUserId({});\nconst bucket = new aws.s3.Bucket(\"bucket\", {\n bucket: \"mybucket\",\n grants: [\n {\n id: currentUser.then(currentUser =\u003e currentUser.id),\n type: \"CanonicalUser\",\n permissions: [\"FULL_CONTROL\"],\n },\n {\n type: \"Group\",\n permissions: [\n \"READ_ACP\",\n \"WRITE\",\n ],\n uri: \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent_user = aws.s3.get_canonical_user_id()\nbucket = aws.s3.Bucket(\"bucket\",\n bucket=\"mybucket\",\n grants=[\n {\n \"id\": current_user.id,\n \"type\": \"CanonicalUser\",\n \"permissions\": [\"FULL_CONTROL\"],\n },\n {\n \"type\": \"Group\",\n \"permissions\": [\n \"READ_ACP\",\n \"WRITE\",\n ],\n \"uri\": \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var currentUser = Aws.S3.GetCanonicalUserId.Invoke();\n\n var bucket = new Aws.S3.Bucket(\"bucket\", new()\n {\n BucketName = \"mybucket\",\n Grants = new[]\n {\n new Aws.S3.Inputs.BucketGrantArgs\n {\n Id = currentUser.Apply(getCanonicalUserIdResult =\u003e getCanonicalUserIdResult.Id),\n Type = \"CanonicalUser\",\n Permissions = new[]\n {\n \"FULL_CONTROL\",\n },\n },\n new Aws.S3.Inputs.BucketGrantArgs\n {\n Type = \"Group\",\n Permissions = new[]\n {\n \"READ_ACP\",\n \"WRITE\",\n },\n Uri = \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrentUser, err := s3.GetCanonicalUserId(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucket(ctx, \"bucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t\tGrants: s3.BucketGrantArray{\n\t\t\t\t\u0026s3.BucketGrantArgs{\n\t\t\t\t\tId: pulumi.String(currentUser.Id),\n\t\t\t\t\tType: pulumi.String(\"CanonicalUser\"),\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"FULL_CONTROL\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketGrantArgs{\n\t\t\t\t\tType: pulumi.String(\"Group\"),\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"READ_ACP\"),\n\t\t\t\t\t\tpulumi.String(\"WRITE\"),\n\t\t\t\t\t},\n\t\t\t\t\tUri: pulumi.String(\"http://acs.amazonaws.com/groups/s3/LogDelivery\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketGrantArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var currentUser = S3Functions.getCanonicalUserId();\n\n var bucket = new Bucket(\"bucket\", BucketArgs.builder()\n .bucket(\"mybucket\")\n .grants( \n BucketGrantArgs.builder()\n .id(currentUser.applyValue(getCanonicalUserIdResult -\u003e getCanonicalUserIdResult.id()))\n .type(\"CanonicalUser\")\n .permissions(\"FULL_CONTROL\")\n .build(),\n BucketGrantArgs.builder()\n .type(\"Group\")\n .permissions( \n \"READ_ACP\",\n \"WRITE\")\n .uri(\"http://acs.amazonaws.com/groups/s3/LogDelivery\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:Bucket\n properties:\n bucket: mybucket\n grants:\n - id: ${currentUser.id}\n type: CanonicalUser\n permissions:\n - FULL_CONTROL\n - type: Group\n permissions:\n - READ_ACP\n - WRITE\n uri: http://acs.amazonaws.com/groups/s3/LogDelivery\nvariables:\n currentUser:\n fn::invoke:\n Function: aws:s3:getCanonicalUserId\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nS3 bucket can be imported using the `bucket`, e.g.,\n\n```sh\n$ pulumi import aws:s3/bucket:Bucket bucket bucket-name\n```\nThe `policy` argument is not imported and will be deprecated in a future version of the provider. Use the `aws_s3_bucket_policy` resource to manage the S3 Bucket Policy instead.\n\n", "properties": { "accelerationStatus": { "type": "string", @@ -346286,7 +346286,7 @@ } }, "aws:s3/bucketAclV2:BucketAclV2": { - "description": "Provides an S3 bucket ACL resource.\n\n\u003e **Note:** destroy does not delete the S3 Bucket ACL but does remove the resource from state.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### With `private` ACL\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-tf-example-bucket\"});\nconst exampleBucketOwnershipControls = new aws.s3.BucketOwnershipControls(\"example\", {\n bucket: example.id,\n rule: {\n objectOwnership: \"BucketOwnerPreferred\",\n },\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n acl: \"private\",\n}, {\n dependsOn: [exampleBucketOwnershipControls],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-tf-example-bucket\")\nexample_bucket_ownership_controls = aws.s3.BucketOwnershipControls(\"example\",\n bucket=example.id,\n rule={\n \"object_ownership\": \"BucketOwnerPreferred\",\n })\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n acl=\"private\",\n opts = pulumi.ResourceOptions(depends_on=[example_bucket_ownership_controls]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-example-bucket\",\n });\n\n var exampleBucketOwnershipControls = new Aws.S3.BucketOwnershipControls(\"example\", new()\n {\n Bucket = example.Id,\n Rule = new Aws.S3.Inputs.BucketOwnershipControlsRuleArgs\n {\n ObjectOwnership = \"BucketOwnerPreferred\",\n },\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n Acl = \"private\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketOwnershipControls,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketOwnershipControls, err := s3.NewBucketOwnershipControls(ctx, \"example\", \u0026s3.BucketOwnershipControlsArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tRule: \u0026s3.BucketOwnershipControlsRuleArgs{\n\t\t\t\tObjectOwnership: pulumi.String(\"BucketOwnerPreferred\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketOwnershipControls,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketOwnershipControls;\nimport com.pulumi.aws.s3.BucketOwnershipControlsArgs;\nimport com.pulumi.aws.s3.inputs.BucketOwnershipControlsRuleArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"my-tf-example-bucket\")\n .build());\n\n var exampleBucketOwnershipControls = new BucketOwnershipControls(\"exampleBucketOwnershipControls\", BucketOwnershipControlsArgs.builder()\n .bucket(example.id())\n .rule(BucketOwnershipControlsRuleArgs.builder()\n .objectOwnership(\"BucketOwnerPreferred\")\n .build())\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(example.id())\n .acl(\"private\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketOwnershipControls)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-example-bucket\n exampleBucketOwnershipControls:\n type: aws:s3:BucketOwnershipControls\n name: example\n properties:\n bucket: ${example.id}\n rule:\n objectOwnership: BucketOwnerPreferred\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n acl: private\n options:\n dependsOn:\n - ${exampleBucketOwnershipControls}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With `public-read` ACL\n\n\u003e This example explicitly disables the default S3 bucket security settings. This\nshould be done with caution, as all bucket objects become publicly exposed.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-tf-example-bucket\"});\nconst exampleBucketOwnershipControls = new aws.s3.BucketOwnershipControls(\"example\", {\n bucket: example.id,\n rule: {\n objectOwnership: \"BucketOwnerPreferred\",\n },\n});\nconst exampleBucketPublicAccessBlock = new aws.s3.BucketPublicAccessBlock(\"example\", {\n bucket: example.id,\n blockPublicAcls: false,\n blockPublicPolicy: false,\n ignorePublicAcls: false,\n restrictPublicBuckets: false,\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n acl: \"public-read\",\n}, {\n dependsOn: [\n exampleBucketOwnershipControls,\n exampleBucketPublicAccessBlock,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-tf-example-bucket\")\nexample_bucket_ownership_controls = aws.s3.BucketOwnershipControls(\"example\",\n bucket=example.id,\n rule={\n \"object_ownership\": \"BucketOwnerPreferred\",\n })\nexample_bucket_public_access_block = aws.s3.BucketPublicAccessBlock(\"example\",\n bucket=example.id,\n block_public_acls=False,\n block_public_policy=False,\n ignore_public_acls=False,\n restrict_public_buckets=False)\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n acl=\"public-read\",\n opts = pulumi.ResourceOptions(depends_on=[\n example_bucket_ownership_controls,\n example_bucket_public_access_block,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-example-bucket\",\n });\n\n var exampleBucketOwnershipControls = new Aws.S3.BucketOwnershipControls(\"example\", new()\n {\n Bucket = example.Id,\n Rule = new Aws.S3.Inputs.BucketOwnershipControlsRuleArgs\n {\n ObjectOwnership = \"BucketOwnerPreferred\",\n },\n });\n\n var exampleBucketPublicAccessBlock = new Aws.S3.BucketPublicAccessBlock(\"example\", new()\n {\n Bucket = example.Id,\n BlockPublicAcls = false,\n BlockPublicPolicy = false,\n IgnorePublicAcls = false,\n RestrictPublicBuckets = false,\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n Acl = \"public-read\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketOwnershipControls,\n exampleBucketPublicAccessBlock,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketOwnershipControls, err := s3.NewBucketOwnershipControls(ctx, \"example\", \u0026s3.BucketOwnershipControlsArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tRule: \u0026s3.BucketOwnershipControlsRuleArgs{\n\t\t\t\tObjectOwnership: pulumi.String(\"BucketOwnerPreferred\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketPublicAccessBlock, err := s3.NewBucketPublicAccessBlock(ctx, \"example\", \u0026s3.BucketPublicAccessBlockArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tBlockPublicAcls: pulumi.Bool(false),\n\t\t\tBlockPublicPolicy: pulumi.Bool(false),\n\t\t\tIgnorePublicAcls: pulumi.Bool(false),\n\t\t\tRestrictPublicBuckets: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketOwnershipControls,\n\t\t\texampleBucketPublicAccessBlock,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketOwnershipControls;\nimport com.pulumi.aws.s3.BucketOwnershipControlsArgs;\nimport com.pulumi.aws.s3.inputs.BucketOwnershipControlsRuleArgs;\nimport com.pulumi.aws.s3.BucketPublicAccessBlock;\nimport com.pulumi.aws.s3.BucketPublicAccessBlockArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"my-tf-example-bucket\")\n .build());\n\n var exampleBucketOwnershipControls = new BucketOwnershipControls(\"exampleBucketOwnershipControls\", BucketOwnershipControlsArgs.builder()\n .bucket(example.id())\n .rule(BucketOwnershipControlsRuleArgs.builder()\n .objectOwnership(\"BucketOwnerPreferred\")\n .build())\n .build());\n\n var exampleBucketPublicAccessBlock = new BucketPublicAccessBlock(\"exampleBucketPublicAccessBlock\", BucketPublicAccessBlockArgs.builder()\n .bucket(example.id())\n .blockPublicAcls(false)\n .blockPublicPolicy(false)\n .ignorePublicAcls(false)\n .restrictPublicBuckets(false)\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(example.id())\n .acl(\"public-read\")\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n exampleBucketOwnershipControls,\n exampleBucketPublicAccessBlock)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-example-bucket\n exampleBucketOwnershipControls:\n type: aws:s3:BucketOwnershipControls\n name: example\n properties:\n bucket: ${example.id}\n rule:\n objectOwnership: BucketOwnerPreferred\n exampleBucketPublicAccessBlock:\n type: aws:s3:BucketPublicAccessBlock\n name: example\n properties:\n bucket: ${example.id}\n blockPublicAcls: false\n blockPublicPolicy: false\n ignorePublicAcls: false\n restrictPublicBuckets: false\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n acl: public-read\n options:\n dependsOn:\n - ${exampleBucketOwnershipControls}\n - ${exampleBucketPublicAccessBlock}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Grants\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.s3.getCanonicalUserId({});\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-tf-example-bucket\"});\nconst exampleBucketOwnershipControls = new aws.s3.BucketOwnershipControls(\"example\", {\n bucket: example.id,\n rule: {\n objectOwnership: \"BucketOwnerPreferred\",\n },\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n accessControlPolicy: {\n grants: [\n {\n grantee: {\n id: current.then(current =\u003e current.id),\n type: \"CanonicalUser\",\n },\n permission: \"READ\",\n },\n {\n grantee: {\n type: \"Group\",\n uri: \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n permission: \"READ_ACP\",\n },\n ],\n owner: {\n id: current.then(current =\u003e current.id),\n },\n },\n}, {\n dependsOn: [exampleBucketOwnershipControls],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.s3.get_canonical_user_id()\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-tf-example-bucket\")\nexample_bucket_ownership_controls = aws.s3.BucketOwnershipControls(\"example\",\n bucket=example.id,\n rule={\n \"object_ownership\": \"BucketOwnerPreferred\",\n })\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n access_control_policy={\n \"grants\": [\n {\n \"grantee\": {\n \"id\": current.id,\n \"type\": \"CanonicalUser\",\n },\n \"permission\": \"READ\",\n },\n {\n \"grantee\": {\n \"type\": \"Group\",\n \"uri\": \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n \"permission\": \"READ_ACP\",\n },\n ],\n \"owner\": {\n \"id\": current.id,\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_bucket_ownership_controls]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.S3.GetCanonicalUserId.Invoke();\n\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-example-bucket\",\n });\n\n var exampleBucketOwnershipControls = new Aws.S3.BucketOwnershipControls(\"example\", new()\n {\n Bucket = example.Id,\n Rule = new Aws.S3.Inputs.BucketOwnershipControlsRuleArgs\n {\n ObjectOwnership = \"BucketOwnerPreferred\",\n },\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n AccessControlPolicy = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyArgs\n {\n Grants = new[]\n {\n new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantArgs\n {\n Grantee = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantGranteeArgs\n {\n Id = current.Apply(getCanonicalUserIdResult =\u003e getCanonicalUserIdResult.Id),\n Type = \"CanonicalUser\",\n },\n Permission = \"READ\",\n },\n new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantArgs\n {\n Grantee = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantGranteeArgs\n {\n Type = \"Group\",\n Uri = \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n Permission = \"READ_ACP\",\n },\n },\n Owner = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyOwnerArgs\n {\n Id = current.Apply(getCanonicalUserIdResult =\u003e getCanonicalUserIdResult.Id),\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketOwnershipControls,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := s3.GetCanonicalUserId(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketOwnershipControls, err := s3.NewBucketOwnershipControls(ctx, \"example\", \u0026s3.BucketOwnershipControlsArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tRule: \u0026s3.BucketOwnershipControlsRuleArgs{\n\t\t\t\tObjectOwnership: pulumi.String(\"BucketOwnerPreferred\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAccessControlPolicy: \u0026s3.BucketAclV2AccessControlPolicyArgs{\n\t\t\t\tGrants: s3.BucketAclV2AccessControlPolicyGrantArray{\n\t\t\t\t\t\u0026s3.BucketAclV2AccessControlPolicyGrantArgs{\n\t\t\t\t\t\tGrantee: \u0026s3.BucketAclV2AccessControlPolicyGrantGranteeArgs{\n\t\t\t\t\t\t\tId: pulumi.String(current.Id),\n\t\t\t\t\t\t\tType: pulumi.String(\"CanonicalUser\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPermission: pulumi.String(\"READ\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026s3.BucketAclV2AccessControlPolicyGrantArgs{\n\t\t\t\t\t\tGrantee: \u0026s3.BucketAclV2AccessControlPolicyGrantGranteeArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Group\"),\n\t\t\t\t\t\t\tUri: pulumi.String(\"http://acs.amazonaws.com/groups/s3/LogDelivery\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPermission: pulumi.String(\"READ_ACP\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tOwner: \u0026s3.BucketAclV2AccessControlPolicyOwnerArgs{\n\t\t\t\t\tId: pulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketOwnershipControls,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketOwnershipControls;\nimport com.pulumi.aws.s3.BucketOwnershipControlsArgs;\nimport com.pulumi.aws.s3.inputs.BucketOwnershipControlsRuleArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.inputs.BucketAclV2AccessControlPolicyArgs;\nimport com.pulumi.aws.s3.inputs.BucketAclV2AccessControlPolicyOwnerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = S3Functions.getCanonicalUserId();\n\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"my-tf-example-bucket\")\n .build());\n\n var exampleBucketOwnershipControls = new BucketOwnershipControls(\"exampleBucketOwnershipControls\", BucketOwnershipControlsArgs.builder()\n .bucket(example.id())\n .rule(BucketOwnershipControlsRuleArgs.builder()\n .objectOwnership(\"BucketOwnerPreferred\")\n .build())\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(example.id())\n .accessControlPolicy(BucketAclV2AccessControlPolicyArgs.builder()\n .grants( \n BucketAclV2AccessControlPolicyGrantArgs.builder()\n .grantee(BucketAclV2AccessControlPolicyGrantGranteeArgs.builder()\n .id(current.applyValue(getCanonicalUserIdResult -\u003e getCanonicalUserIdResult.id()))\n .type(\"CanonicalUser\")\n .build())\n .permission(\"READ\")\n .build(),\n BucketAclV2AccessControlPolicyGrantArgs.builder()\n .grantee(BucketAclV2AccessControlPolicyGrantGranteeArgs.builder()\n .type(\"Group\")\n .uri(\"http://acs.amazonaws.com/groups/s3/LogDelivery\")\n .build())\n .permission(\"READ_ACP\")\n .build())\n .owner(BucketAclV2AccessControlPolicyOwnerArgs.builder()\n .id(current.applyValue(getCanonicalUserIdResult -\u003e getCanonicalUserIdResult.id()))\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketOwnershipControls)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-example-bucket\n exampleBucketOwnershipControls:\n type: aws:s3:BucketOwnershipControls\n name: example\n properties:\n bucket: ${example.id}\n rule:\n objectOwnership: BucketOwnerPreferred\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n accessControlPolicy:\n grants:\n - grantee:\n id: ${current.id}\n type: CanonicalUser\n permission: READ\n - grantee:\n type: Group\n uri: http://acs.amazonaws.com/groups/s3/LogDelivery\n permission: READ_ACP\n owner:\n id: ${current.id}\n options:\n dependsOn:\n - ${exampleBucketOwnershipControls}\nvariables:\n current:\n fn::invoke:\n function: aws:s3:getCanonicalUserId\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket is the _same_ account used to configure the AWS Provider, and the source bucket is __configured__ with a\n[canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), import using the `bucket` and `acl` separated by a comma (`,`):\n\nIf the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __not configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\nIf the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __configured__ with a\n[canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket`, `expected_bucket_owner`, and `acl` separated by commas (`,`):\n\n__Using `pulumi import` to import__ using `bucket`, `expected_bucket_owner`, and/or `acl`, depending on your situation. For example:\n\nIf the owner (account ID) of the source bucket is the _same_ account used to configure the AWS Provider, and the source bucket is __not configured__ with a\n[canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketAclV2:BucketAclV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket is the _same_ account used to configure the AWS Provider, and the source bucket is __configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), import using the `bucket` and `acl` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketAclV2:BucketAclV2 example bucket-name,private\n```\nIf the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __not configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketAclV2:BucketAclV2 example bucket-name,123456789012\n```\nIf the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket`, `expected_bucket_owner`, and `acl` separated by commas (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketAclV2:BucketAclV2 example bucket-name,123456789012,private\n```\n", + "description": "Provides an S3 bucket ACL resource.\n\n\u003e **Note:** destroy does not delete the S3 Bucket ACL but does remove the resource from state.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### With `private` ACL\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-tf-example-bucket\"});\nconst exampleBucketOwnershipControls = new aws.s3.BucketOwnershipControls(\"example\", {\n bucket: example.id,\n rule: {\n objectOwnership: \"BucketOwnerPreferred\",\n },\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n acl: \"private\",\n}, {\n dependsOn: [exampleBucketOwnershipControls],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-tf-example-bucket\")\nexample_bucket_ownership_controls = aws.s3.BucketOwnershipControls(\"example\",\n bucket=example.id,\n rule={\n \"object_ownership\": \"BucketOwnerPreferred\",\n })\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n acl=\"private\",\n opts = pulumi.ResourceOptions(depends_on=[example_bucket_ownership_controls]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-example-bucket\",\n });\n\n var exampleBucketOwnershipControls = new Aws.S3.BucketOwnershipControls(\"example\", new()\n {\n Bucket = example.Id,\n Rule = new Aws.S3.Inputs.BucketOwnershipControlsRuleArgs\n {\n ObjectOwnership = \"BucketOwnerPreferred\",\n },\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n Acl = \"private\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketOwnershipControls,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketOwnershipControls, err := s3.NewBucketOwnershipControls(ctx, \"example\", \u0026s3.BucketOwnershipControlsArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tRule: \u0026s3.BucketOwnershipControlsRuleArgs{\n\t\t\t\tObjectOwnership: pulumi.String(\"BucketOwnerPreferred\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketOwnershipControls,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketOwnershipControls;\nimport com.pulumi.aws.s3.BucketOwnershipControlsArgs;\nimport com.pulumi.aws.s3.inputs.BucketOwnershipControlsRuleArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"my-tf-example-bucket\")\n .build());\n\n var exampleBucketOwnershipControls = new BucketOwnershipControls(\"exampleBucketOwnershipControls\", BucketOwnershipControlsArgs.builder()\n .bucket(example.id())\n .rule(BucketOwnershipControlsRuleArgs.builder()\n .objectOwnership(\"BucketOwnerPreferred\")\n .build())\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(example.id())\n .acl(\"private\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketOwnershipControls)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-example-bucket\n exampleBucketOwnershipControls:\n type: aws:s3:BucketOwnershipControls\n name: example\n properties:\n bucket: ${example.id}\n rule:\n objectOwnership: BucketOwnerPreferred\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n acl: private\n options:\n dependson:\n - ${exampleBucketOwnershipControls}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With `public-read` ACL\n\n\u003e This example explicitly disables the default S3 bucket security settings. This\nshould be done with caution, as all bucket objects become publicly exposed.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-tf-example-bucket\"});\nconst exampleBucketOwnershipControls = new aws.s3.BucketOwnershipControls(\"example\", {\n bucket: example.id,\n rule: {\n objectOwnership: \"BucketOwnerPreferred\",\n },\n});\nconst exampleBucketPublicAccessBlock = new aws.s3.BucketPublicAccessBlock(\"example\", {\n bucket: example.id,\n blockPublicAcls: false,\n blockPublicPolicy: false,\n ignorePublicAcls: false,\n restrictPublicBuckets: false,\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n acl: \"public-read\",\n}, {\n dependsOn: [\n exampleBucketOwnershipControls,\n exampleBucketPublicAccessBlock,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-tf-example-bucket\")\nexample_bucket_ownership_controls = aws.s3.BucketOwnershipControls(\"example\",\n bucket=example.id,\n rule={\n \"object_ownership\": \"BucketOwnerPreferred\",\n })\nexample_bucket_public_access_block = aws.s3.BucketPublicAccessBlock(\"example\",\n bucket=example.id,\n block_public_acls=False,\n block_public_policy=False,\n ignore_public_acls=False,\n restrict_public_buckets=False)\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n acl=\"public-read\",\n opts = pulumi.ResourceOptions(depends_on=[\n example_bucket_ownership_controls,\n example_bucket_public_access_block,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-example-bucket\",\n });\n\n var exampleBucketOwnershipControls = new Aws.S3.BucketOwnershipControls(\"example\", new()\n {\n Bucket = example.Id,\n Rule = new Aws.S3.Inputs.BucketOwnershipControlsRuleArgs\n {\n ObjectOwnership = \"BucketOwnerPreferred\",\n },\n });\n\n var exampleBucketPublicAccessBlock = new Aws.S3.BucketPublicAccessBlock(\"example\", new()\n {\n Bucket = example.Id,\n BlockPublicAcls = false,\n BlockPublicPolicy = false,\n IgnorePublicAcls = false,\n RestrictPublicBuckets = false,\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n Acl = \"public-read\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketOwnershipControls,\n exampleBucketPublicAccessBlock,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketOwnershipControls, err := s3.NewBucketOwnershipControls(ctx, \"example\", \u0026s3.BucketOwnershipControlsArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tRule: \u0026s3.BucketOwnershipControlsRuleArgs{\n\t\t\t\tObjectOwnership: pulumi.String(\"BucketOwnerPreferred\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketPublicAccessBlock, err := s3.NewBucketPublicAccessBlock(ctx, \"example\", \u0026s3.BucketPublicAccessBlockArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tBlockPublicAcls: pulumi.Bool(false),\n\t\t\tBlockPublicPolicy: pulumi.Bool(false),\n\t\t\tIgnorePublicAcls: pulumi.Bool(false),\n\t\t\tRestrictPublicBuckets: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketOwnershipControls,\n\t\t\texampleBucketPublicAccessBlock,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketOwnershipControls;\nimport com.pulumi.aws.s3.BucketOwnershipControlsArgs;\nimport com.pulumi.aws.s3.inputs.BucketOwnershipControlsRuleArgs;\nimport com.pulumi.aws.s3.BucketPublicAccessBlock;\nimport com.pulumi.aws.s3.BucketPublicAccessBlockArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"my-tf-example-bucket\")\n .build());\n\n var exampleBucketOwnershipControls = new BucketOwnershipControls(\"exampleBucketOwnershipControls\", BucketOwnershipControlsArgs.builder()\n .bucket(example.id())\n .rule(BucketOwnershipControlsRuleArgs.builder()\n .objectOwnership(\"BucketOwnerPreferred\")\n .build())\n .build());\n\n var exampleBucketPublicAccessBlock = new BucketPublicAccessBlock(\"exampleBucketPublicAccessBlock\", BucketPublicAccessBlockArgs.builder()\n .bucket(example.id())\n .blockPublicAcls(false)\n .blockPublicPolicy(false)\n .ignorePublicAcls(false)\n .restrictPublicBuckets(false)\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(example.id())\n .acl(\"public-read\")\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n exampleBucketOwnershipControls,\n exampleBucketPublicAccessBlock)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-example-bucket\n exampleBucketOwnershipControls:\n type: aws:s3:BucketOwnershipControls\n name: example\n properties:\n bucket: ${example.id}\n rule:\n objectOwnership: BucketOwnerPreferred\n exampleBucketPublicAccessBlock:\n type: aws:s3:BucketPublicAccessBlock\n name: example\n properties:\n bucket: ${example.id}\n blockPublicAcls: false\n blockPublicPolicy: false\n ignorePublicAcls: false\n restrictPublicBuckets: false\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n acl: public-read\n options:\n dependson:\n - ${exampleBucketOwnershipControls}\n - ${exampleBucketPublicAccessBlock}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Grants\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.s3.getCanonicalUserId({});\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-tf-example-bucket\"});\nconst exampleBucketOwnershipControls = new aws.s3.BucketOwnershipControls(\"example\", {\n bucket: example.id,\n rule: {\n objectOwnership: \"BucketOwnerPreferred\",\n },\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n accessControlPolicy: {\n grants: [\n {\n grantee: {\n id: current.then(current =\u003e current.id),\n type: \"CanonicalUser\",\n },\n permission: \"READ\",\n },\n {\n grantee: {\n type: \"Group\",\n uri: \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n permission: \"READ_ACP\",\n },\n ],\n owner: {\n id: current.then(current =\u003e current.id),\n },\n },\n}, {\n dependsOn: [exampleBucketOwnershipControls],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.s3.get_canonical_user_id()\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-tf-example-bucket\")\nexample_bucket_ownership_controls = aws.s3.BucketOwnershipControls(\"example\",\n bucket=example.id,\n rule={\n \"object_ownership\": \"BucketOwnerPreferred\",\n })\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n access_control_policy={\n \"grants\": [\n {\n \"grantee\": {\n \"id\": current.id,\n \"type\": \"CanonicalUser\",\n },\n \"permission\": \"READ\",\n },\n {\n \"grantee\": {\n \"type\": \"Group\",\n \"uri\": \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n \"permission\": \"READ_ACP\",\n },\n ],\n \"owner\": {\n \"id\": current.id,\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_bucket_ownership_controls]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.S3.GetCanonicalUserId.Invoke();\n\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-example-bucket\",\n });\n\n var exampleBucketOwnershipControls = new Aws.S3.BucketOwnershipControls(\"example\", new()\n {\n Bucket = example.Id,\n Rule = new Aws.S3.Inputs.BucketOwnershipControlsRuleArgs\n {\n ObjectOwnership = \"BucketOwnerPreferred\",\n },\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n AccessControlPolicy = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyArgs\n {\n Grants = new[]\n {\n new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantArgs\n {\n Grantee = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantGranteeArgs\n {\n Id = current.Apply(getCanonicalUserIdResult =\u003e getCanonicalUserIdResult.Id),\n Type = \"CanonicalUser\",\n },\n Permission = \"READ\",\n },\n new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantArgs\n {\n Grantee = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantGranteeArgs\n {\n Type = \"Group\",\n Uri = \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n Permission = \"READ_ACP\",\n },\n },\n Owner = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyOwnerArgs\n {\n Id = current.Apply(getCanonicalUserIdResult =\u003e getCanonicalUserIdResult.Id),\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketOwnershipControls,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := s3.GetCanonicalUserId(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketOwnershipControls, err := s3.NewBucketOwnershipControls(ctx, \"example\", \u0026s3.BucketOwnershipControlsArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tRule: \u0026s3.BucketOwnershipControlsRuleArgs{\n\t\t\t\tObjectOwnership: pulumi.String(\"BucketOwnerPreferred\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAccessControlPolicy: \u0026s3.BucketAclV2AccessControlPolicyArgs{\n\t\t\t\tGrants: s3.BucketAclV2AccessControlPolicyGrantArray{\n\t\t\t\t\t\u0026s3.BucketAclV2AccessControlPolicyGrantArgs{\n\t\t\t\t\t\tGrantee: \u0026s3.BucketAclV2AccessControlPolicyGrantGranteeArgs{\n\t\t\t\t\t\t\tId: pulumi.String(current.Id),\n\t\t\t\t\t\t\tType: pulumi.String(\"CanonicalUser\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPermission: pulumi.String(\"READ\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026s3.BucketAclV2AccessControlPolicyGrantArgs{\n\t\t\t\t\t\tGrantee: \u0026s3.BucketAclV2AccessControlPolicyGrantGranteeArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Group\"),\n\t\t\t\t\t\t\tUri: pulumi.String(\"http://acs.amazonaws.com/groups/s3/LogDelivery\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPermission: pulumi.String(\"READ_ACP\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tOwner: \u0026s3.BucketAclV2AccessControlPolicyOwnerArgs{\n\t\t\t\t\tId: pulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketOwnershipControls,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketOwnershipControls;\nimport com.pulumi.aws.s3.BucketOwnershipControlsArgs;\nimport com.pulumi.aws.s3.inputs.BucketOwnershipControlsRuleArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.inputs.BucketAclV2AccessControlPolicyArgs;\nimport com.pulumi.aws.s3.inputs.BucketAclV2AccessControlPolicyOwnerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = S3Functions.getCanonicalUserId();\n\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"my-tf-example-bucket\")\n .build());\n\n var exampleBucketOwnershipControls = new BucketOwnershipControls(\"exampleBucketOwnershipControls\", BucketOwnershipControlsArgs.builder()\n .bucket(example.id())\n .rule(BucketOwnershipControlsRuleArgs.builder()\n .objectOwnership(\"BucketOwnerPreferred\")\n .build())\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(example.id())\n .accessControlPolicy(BucketAclV2AccessControlPolicyArgs.builder()\n .grants( \n BucketAclV2AccessControlPolicyGrantArgs.builder()\n .grantee(BucketAclV2AccessControlPolicyGrantGranteeArgs.builder()\n .id(current.applyValue(getCanonicalUserIdResult -\u003e getCanonicalUserIdResult.id()))\n .type(\"CanonicalUser\")\n .build())\n .permission(\"READ\")\n .build(),\n BucketAclV2AccessControlPolicyGrantArgs.builder()\n .grantee(BucketAclV2AccessControlPolicyGrantGranteeArgs.builder()\n .type(\"Group\")\n .uri(\"http://acs.amazonaws.com/groups/s3/LogDelivery\")\n .build())\n .permission(\"READ_ACP\")\n .build())\n .owner(BucketAclV2AccessControlPolicyOwnerArgs.builder()\n .id(current.applyValue(getCanonicalUserIdResult -\u003e getCanonicalUserIdResult.id()))\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketOwnershipControls)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-example-bucket\n exampleBucketOwnershipControls:\n type: aws:s3:BucketOwnershipControls\n name: example\n properties:\n bucket: ${example.id}\n rule:\n objectOwnership: BucketOwnerPreferred\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n accessControlPolicy:\n grants:\n - grantee:\n id: ${current.id}\n type: CanonicalUser\n permission: READ\n - grantee:\n type: Group\n uri: http://acs.amazonaws.com/groups/s3/LogDelivery\n permission: READ_ACP\n owner:\n id: ${current.id}\n options:\n dependson:\n - ${exampleBucketOwnershipControls}\nvariables:\n current:\n fn::invoke:\n Function: aws:s3:getCanonicalUserId\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket is the _same_ account used to configure the AWS Provider, and the source bucket is __configured__ with a\n[canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), import using the `bucket` and `acl` separated by a comma (`,`):\n\nIf the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __not configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\nIf the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __configured__ with a\n[canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket`, `expected_bucket_owner`, and `acl` separated by commas (`,`):\n\n__Using `pulumi import` to import__ using `bucket`, `expected_bucket_owner`, and/or `acl`, depending on your situation. For example:\n\nIf the owner (account ID) of the source bucket is the _same_ account used to configure the AWS Provider, and the source bucket is __not configured__ with a\n[canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketAclV2:BucketAclV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket is the _same_ account used to configure the AWS Provider, and the source bucket is __configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), import using the `bucket` and `acl` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketAclV2:BucketAclV2 example bucket-name,private\n```\nIf the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __not configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketAclV2:BucketAclV2 example bucket-name,123456789012\n```\nIf the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket`, `expected_bucket_owner`, and `acl` separated by commas (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketAclV2:BucketAclV2 example bucket-name,123456789012,private\n```\n", "properties": { "accessControlPolicy": { "$ref": "#/types/aws:s3/BucketAclV2AccessControlPolicy:BucketAclV2AccessControlPolicy", @@ -346523,7 +346523,7 @@ } }, "aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2": { - "description": "Provides an independent configuration resource for S3 bucket [lifecycle configuration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html).\n\nAn S3 Lifecycle configuration consists of one or more Lifecycle rules. Each rule consists of the following:\n\n* Rule metadata (`id` and `status`)\n* Filter identifying objects to which the rule applies\n* One or more transition or expiration actions\n\nFor more information see the Amazon S3 User Guide on [`Lifecycle Configuration Elements`](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html).\n\n\u003e S3 Buckets only support a single lifecycle configuration. Declaring multiple `aws.s3.BucketLifecycleConfigurationV2` resources to the same S3 Bucket will cause a perpetual difference in configuration.\n\n\u003e Lifecycle configurations may take some time to fully propagate to all AWS S3 systems.\nRunning Pulumi operations shortly after creating a lifecycle configuration may result in changes that affect configuration idempotence.\nSee the Amazon S3 User Guide on [setting lifecycle configuration on a bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html).\n\n## Example Usage\n\n### With neither a filter nor prefix specified\n\nThe Lifecycle rule applies to a subset of objects based on the key name prefix (`\"\"`).\n\nThis configuration is intended to replicate the default behavior of the `lifecycle_rule`\nparameter in the AWS Provider `aws.s3.BucketV2` resource prior to `v4.0`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[{\n \"id\": \"rule-1\",\n \"status\": \"Enabled\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying an empty filter\n\nThe Lifecycle rule applies to all objects in the bucket.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {},\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[{\n \"id\": \"rule-1\",\n \"filter\": {},\n \"status\": \"Enabled\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = null,\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter()\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter: {}\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter using key prefixes\n\nThe Lifecycle rule applies to a subset of objects based on the key name prefix (`logs/`).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n prefix: \"logs/\",\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[{\n \"id\": \"rule-1\",\n \"filter\": {\n \"prefix\": \"logs/\",\n },\n \"status\": \"Enabled\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"logs/\",\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"logs/\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"logs/\")\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n prefix: logs/\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIf you want to apply a Lifecycle action to a subset of objects based on different key name prefixes, specify separate rules.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [\n {\n id: \"rule-1\",\n filter: {\n prefix: \"logs/\",\n },\n status: \"Enabled\",\n },\n {\n id: \"rule-2\",\n filter: {\n prefix: \"tmp/\",\n },\n status: \"Enabled\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[\n {\n \"id\": \"rule-1\",\n \"filter\": {\n \"prefix\": \"logs/\",\n },\n \"status\": \"Enabled\",\n },\n {\n \"id\": \"rule-2\",\n \"filter\": {\n \"prefix\": \"tmp/\",\n },\n \"status\": \"Enabled\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"logs/\",\n },\n Status = \"Enabled\",\n },\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-2\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"tmp/\",\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"logs/\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-2\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"tmp/\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules( \n BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"logs/\")\n .build())\n .status(\"Enabled\")\n .build(),\n BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-2\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"tmp/\")\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n prefix: logs/\n status: Enabled\n - id: rule-2\n filter:\n prefix: tmp/\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on an object tag\n\nThe Lifecycle rule specifies a filter based on a tag key and value. The rule then applies only to a subset of objects with the specific tag.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n tag: {\n key: \"Name\",\n value: \"Staging\",\n },\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[{\n \"id\": \"rule-1\",\n \"filter\": {\n \"tag\": {\n \"key\": \"Name\",\n \"value\": \"Staging\",\n },\n },\n \"status\": \"Enabled\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Tag = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterTagArgs\n {\n Key = \"Name\",\n Value = \"Staging\",\n },\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tTag: \u0026s3.BucketLifecycleConfigurationV2RuleFilterTagArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"Name\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"Staging\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .tag(BucketLifecycleConfigurationV2RuleFilterTagArgs.builder()\n .key(\"Name\")\n .value(\"Staging\")\n .build())\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n tag:\n key: Name\n value: Staging\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on multiple tags\n\nThe Lifecycle rule directs Amazon S3 to perform lifecycle actions on objects with two tags (with the specific tag keys and values). Notice `tags` is wrapped in the `and` configuration block.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n and: {\n tags: {\n Key1: \"Value1\",\n Key2: \"Value2\",\n },\n },\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[{\n \"id\": \"rule-1\",\n \"filter\": {\n \"and_\": {\n \"tags\": {\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\",\n },\n },\n },\n \"status\": \"Enabled\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n And = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs\n {\n Tags = \n {\n { \"Key1\", \"Value1\" },\n { \"Key2\", \"Value2\" },\n },\n },\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tAnd: \u0026s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{\n\t\t\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\n\t\t\t\t\t\t\t\t\"Key2\": pulumi.String(\"Value2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .and(BucketLifecycleConfigurationV2RuleFilterAndArgs.builder()\n .tags(Map.ofEntries(\n Map.entry(\"Key1\", \"Value1\"),\n Map.entry(\"Key2\", \"Value2\")\n ))\n .build())\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n and:\n tags:\n Key1: Value1\n Key2: Value2\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on both prefix and one or more tags\n\nThe Lifecycle rule directs Amazon S3 to perform lifecycle actions on objects with the specified prefix and two tags (with the specific tag keys and values). Notice both `prefix` and `tags` are wrapped in the `and` configuration block.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n and: {\n prefix: \"logs/\",\n tags: {\n Key1: \"Value1\",\n Key2: \"Value2\",\n },\n },\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[{\n \"id\": \"rule-1\",\n \"filter\": {\n \"and_\": {\n \"prefix\": \"logs/\",\n \"tags\": {\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\",\n },\n },\n },\n \"status\": \"Enabled\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n And = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs\n {\n Prefix = \"logs/\",\n Tags = \n {\n { \"Key1\", \"Value1\" },\n { \"Key2\", \"Value2\" },\n },\n },\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tAnd: \u0026s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{\n\t\t\t\t\t\t\tPrefix: pulumi.String(\"logs/\"),\n\t\t\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\n\t\t\t\t\t\t\t\t\"Key2\": pulumi.String(\"Value2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .and(BucketLifecycleConfigurationV2RuleFilterAndArgs.builder()\n .prefix(\"logs/\")\n .tags(Map.ofEntries(\n Map.entry(\"Key1\", \"Value1\"),\n Map.entry(\"Key2\", \"Value2\")\n ))\n .build())\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n and:\n prefix: logs/\n tags:\n Key1: Value1\n Key2: Value2\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on object size\n\nObject size values are in bytes. Maximum filter size is 5TB. Amazon S3 applies a default behavior to your Lifecycle configuration that prevents objects smaller than 128 KB from being transitioned to any storage class. You can allow smaller objects to transition by adding a minimum size (`object_size_greater_than`) or a maximum size (`object_size_less_than`) filter that specifies a smaller size to the configuration. This example allows any object smaller than 128 KB to transition to the S3 Glacier Instant Retrieval storage class:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"Allow small object transitions\",\n filter: {\n objectSizeGreaterThan: \"1\",\n },\n status: \"Enabled\",\n transitions: [{\n days: 365,\n storageClass: \"GLACIER_IR\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[{\n \"id\": \"Allow small object transitions\",\n \"filter\": {\n \"object_size_greater_than\": \"1\",\n },\n \"status\": \"Enabled\",\n \"transitions\": [{\n \"days\": 365,\n \"storage_class\": \"GLACIER_IR\",\n }],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"Allow small object transitions\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n ObjectSizeGreaterThan = \"1\",\n },\n Status = \"Enabled\",\n Transitions = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleTransitionArgs\n {\n Days = 365,\n StorageClass = \"GLACIER_IR\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"Allow small object transitions\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tObjectSizeGreaterThan: pulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tTransitions: s3.BucketLifecycleConfigurationV2RuleTransitionArray{\n\t\t\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(365),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"GLACIER_IR\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"Allow small object transitions\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .objectSizeGreaterThan(1)\n .build())\n .status(\"Enabled\")\n .transitions(BucketLifecycleConfigurationV2RuleTransitionArgs.builder()\n .days(365)\n .storageClass(\"GLACIER_IR\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: Allow small object transitions\n filter:\n objectSizeGreaterThan: 1\n status: Enabled\n transitions:\n - days: 365\n storageClass: GLACIER_IR\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on object size range and prefix\n\nThe `object_size_greater_than` must be less than the `object_size_less_than`. Notice both the object size range and prefix are wrapped in the `and` configuration block.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n and: {\n prefix: \"logs/\",\n objectSizeGreaterThan: 500,\n objectSizeLessThan: 64000,\n },\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[{\n \"id\": \"rule-1\",\n \"filter\": {\n \"and_\": {\n \"prefix\": \"logs/\",\n \"object_size_greater_than\": 500,\n \"object_size_less_than\": 64000,\n },\n },\n \"status\": \"Enabled\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n And = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs\n {\n Prefix = \"logs/\",\n ObjectSizeGreaterThan = 500,\n ObjectSizeLessThan = 64000,\n },\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tAnd: \u0026s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{\n\t\t\t\t\t\t\tPrefix: pulumi.String(\"logs/\"),\n\t\t\t\t\t\t\tObjectSizeGreaterThan: pulumi.Int(500),\n\t\t\t\t\t\t\tObjectSizeLessThan: pulumi.Int(64000),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .and(BucketLifecycleConfigurationV2RuleFilterAndArgs.builder()\n .prefix(\"logs/\")\n .objectSizeGreaterThan(500)\n .objectSizeLessThan(64000)\n .build())\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n and:\n prefix: logs/\n objectSizeGreaterThan: 500\n objectSizeLessThan: 64000\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating a Lifecycle Configuration for a bucket with versioning\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"my-bucket\"});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\nconst bucket_config = new aws.s3.BucketLifecycleConfigurationV2(\"bucket-config\", {\n bucket: bucket.id,\n rules: [\n {\n id: \"log\",\n expiration: {\n days: 90,\n },\n filter: {\n and: {\n prefix: \"log/\",\n tags: {\n rule: \"log\",\n autoclean: \"true\",\n },\n },\n },\n status: \"Enabled\",\n transitions: [\n {\n days: 30,\n storageClass: \"STANDARD_IA\",\n },\n {\n days: 60,\n storageClass: \"GLACIER\",\n },\n ],\n },\n {\n id: \"tmp\",\n filter: {\n prefix: \"tmp/\",\n },\n expiration: {\n date: \"2023-01-13T00:00:00Z\",\n },\n status: \"Enabled\",\n },\n ],\n});\nconst versioningBucket = new aws.s3.BucketV2(\"versioning_bucket\", {bucket: \"my-versioning-bucket\"});\nconst versioningBucketAcl = new aws.s3.BucketAclV2(\"versioning_bucket_acl\", {\n bucket: versioningBucket.id,\n acl: \"private\",\n});\nconst versioning = new aws.s3.BucketVersioningV2(\"versioning\", {\n bucket: versioningBucket.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst versioning_bucket_config = new aws.s3.BucketLifecycleConfigurationV2(\"versioning-bucket-config\", {\n bucket: versioningBucket.id,\n rules: [{\n id: \"config\",\n filter: {\n prefix: \"config/\",\n },\n noncurrentVersionExpiration: {\n noncurrentDays: 90,\n },\n noncurrentVersionTransitions: [\n {\n noncurrentDays: 30,\n storageClass: \"STANDARD_IA\",\n },\n {\n noncurrentDays: 60,\n storageClass: \"GLACIER\",\n },\n ],\n status: \"Enabled\",\n }],\n}, {\n dependsOn: [versioning],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"my-bucket\")\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\nbucket_config = aws.s3.BucketLifecycleConfigurationV2(\"bucket-config\",\n bucket=bucket.id,\n rules=[\n {\n \"id\": \"log\",\n \"expiration\": {\n \"days\": 90,\n },\n \"filter\": {\n \"and_\": {\n \"prefix\": \"log/\",\n \"tags\": {\n \"rule\": \"log\",\n \"autoclean\": \"true\",\n },\n },\n },\n \"status\": \"Enabled\",\n \"transitions\": [\n {\n \"days\": 30,\n \"storage_class\": \"STANDARD_IA\",\n },\n {\n \"days\": 60,\n \"storage_class\": \"GLACIER\",\n },\n ],\n },\n {\n \"id\": \"tmp\",\n \"filter\": {\n \"prefix\": \"tmp/\",\n },\n \"expiration\": {\n \"date\": \"2023-01-13T00:00:00Z\",\n },\n \"status\": \"Enabled\",\n },\n ])\nversioning_bucket = aws.s3.BucketV2(\"versioning_bucket\", bucket=\"my-versioning-bucket\")\nversioning_bucket_acl = aws.s3.BucketAclV2(\"versioning_bucket_acl\",\n bucket=versioning_bucket.id,\n acl=\"private\")\nversioning = aws.s3.BucketVersioningV2(\"versioning\",\n bucket=versioning_bucket.id,\n versioning_configuration={\n \"status\": \"Enabled\",\n })\nversioning_bucket_config = aws.s3.BucketLifecycleConfigurationV2(\"versioning-bucket-config\",\n bucket=versioning_bucket.id,\n rules=[{\n \"id\": \"config\",\n \"filter\": {\n \"prefix\": \"config/\",\n },\n \"noncurrent_version_expiration\": {\n \"noncurrent_days\": 90,\n },\n \"noncurrent_version_transitions\": [\n {\n \"noncurrent_days\": 30,\n \"storage_class\": \"STANDARD_IA\",\n },\n {\n \"noncurrent_days\": 60,\n \"storage_class\": \"GLACIER\",\n },\n ],\n \"status\": \"Enabled\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[versioning]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"my-bucket\",\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n var bucket_config = new Aws.S3.BucketLifecycleConfigurationV2(\"bucket-config\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"log\",\n Expiration = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleExpirationArgs\n {\n Days = 90,\n },\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n And = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs\n {\n Prefix = \"log/\",\n Tags = \n {\n { \"rule\", \"log\" },\n { \"autoclean\", \"true\" },\n },\n },\n },\n Status = \"Enabled\",\n Transitions = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleTransitionArgs\n {\n Days = 30,\n StorageClass = \"STANDARD_IA\",\n },\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleTransitionArgs\n {\n Days = 60,\n StorageClass = \"GLACIER\",\n },\n },\n },\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"tmp\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"tmp/\",\n },\n Expiration = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleExpirationArgs\n {\n Date = \"2023-01-13T00:00:00Z\",\n },\n Status = \"Enabled\",\n },\n },\n });\n\n var versioningBucket = new Aws.S3.BucketV2(\"versioning_bucket\", new()\n {\n Bucket = \"my-versioning-bucket\",\n });\n\n var versioningBucketAcl = new Aws.S3.BucketAclV2(\"versioning_bucket_acl\", new()\n {\n Bucket = versioningBucket.Id,\n Acl = \"private\",\n });\n\n var versioning = new Aws.S3.BucketVersioningV2(\"versioning\", new()\n {\n Bucket = versioningBucket.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var versioning_bucket_config = new Aws.S3.BucketLifecycleConfigurationV2(\"versioning-bucket-config\", new()\n {\n Bucket = versioningBucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"config\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"config/\",\n },\n NoncurrentVersionExpiration = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs\n {\n NoncurrentDays = 90,\n },\n NoncurrentVersionTransitions = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs\n {\n NoncurrentDays = 30,\n StorageClass = \"STANDARD_IA\",\n },\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs\n {\n NoncurrentDays = 60,\n StorageClass = \"GLACIER\",\n },\n },\n Status = \"Enabled\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n versioning,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketLifecycleConfigurationV2(ctx, \"bucket-config\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"log\"),\n\t\t\t\t\tExpiration: \u0026s3.BucketLifecycleConfigurationV2RuleExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(90),\n\t\t\t\t\t},\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tAnd: \u0026s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{\n\t\t\t\t\t\t\tPrefix: pulumi.String(\"log/\"),\n\t\t\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"rule\": pulumi.String(\"log\"),\n\t\t\t\t\t\t\t\t\"autoclean\": pulumi.String(\"true\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tTransitions: s3.BucketLifecycleConfigurationV2RuleTransitionArray{\n\t\t\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"GLACIER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"tmp\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"tmp/\"),\n\t\t\t\t\t},\n\t\t\t\t\tExpiration: \u0026s3.BucketLifecycleConfigurationV2RuleExpirationArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-01-13T00:00:00Z\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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\tversioningBucket, err := s3.NewBucketV2(ctx, \"versioning_bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-versioning-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"versioning_bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: versioningBucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tversioning, err := s3.NewBucketVersioningV2(ctx, \"versioning\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: versioningBucket.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketLifecycleConfigurationV2(ctx, \"versioning-bucket-config\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: versioningBucket.ID(),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"config\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"config/\"),\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionExpiration: \u0026s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs{\n\t\t\t\t\t\tNoncurrentDays: pulumi.Int(90),\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionTransitions: s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArray{\n\t\t\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tNoncurrentDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tNoncurrentDays: pulumi.Int(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"GLACIER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tversioning,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleExpirationArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"my-bucket\")\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder()\n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n var bucket_config = new BucketLifecycleConfigurationV2(\"bucket-config\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules( \n BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"log\")\n .expiration(BucketLifecycleConfigurationV2RuleExpirationArgs.builder()\n .days(90)\n .build())\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .and(BucketLifecycleConfigurationV2RuleFilterAndArgs.builder()\n .prefix(\"log/\")\n .tags(Map.ofEntries(\n Map.entry(\"rule\", \"log\"),\n Map.entry(\"autoclean\", \"true\")\n ))\n .build())\n .build())\n .status(\"Enabled\")\n .transitions( \n BucketLifecycleConfigurationV2RuleTransitionArgs.builder()\n .days(30)\n .storageClass(\"STANDARD_IA\")\n .build(),\n BucketLifecycleConfigurationV2RuleTransitionArgs.builder()\n .days(60)\n .storageClass(\"GLACIER\")\n .build())\n .build(),\n BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"tmp\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"tmp/\")\n .build())\n .expiration(BucketLifecycleConfigurationV2RuleExpirationArgs.builder()\n .date(\"2023-01-13T00:00:00Z\")\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n var versioningBucket = new BucketV2(\"versioningBucket\", BucketV2Args.builder()\n .bucket(\"my-versioning-bucket\")\n .build());\n\n var versioningBucketAcl = new BucketAclV2(\"versioningBucketAcl\", BucketAclV2Args.builder()\n .bucket(versioningBucket.id())\n .acl(\"private\")\n .build());\n\n var versioning = new BucketVersioningV2(\"versioning\", BucketVersioningV2Args.builder()\n .bucket(versioningBucket.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var versioning_bucket_config = new BucketLifecycleConfigurationV2(\"versioning-bucket-config\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(versioningBucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"config\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"config/\")\n .build())\n .noncurrentVersionExpiration(BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs.builder()\n .noncurrentDays(90)\n .build())\n .noncurrentVersionTransitions( \n BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs.builder()\n .noncurrentDays(30)\n .storageClass(\"STANDARD_IA\")\n .build(),\n BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs.builder()\n .noncurrentDays(60)\n .storageClass(\"GLACIER\")\n .build())\n .status(\"Enabled\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(versioning)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: my-bucket\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n bucket-config:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: log\n expiration:\n days: 90\n filter:\n and:\n prefix: log/\n tags:\n rule: log\n autoclean: 'true'\n status: Enabled\n transitions:\n - days: 30\n storageClass: STANDARD_IA\n - days: 60\n storageClass: GLACIER\n - id: tmp\n filter:\n prefix: tmp/\n expiration:\n date: 2023-01-13T00:00:00Z\n status: Enabled\n versioningBucket:\n type: aws:s3:BucketV2\n name: versioning_bucket\n properties:\n bucket: my-versioning-bucket\n versioningBucketAcl:\n type: aws:s3:BucketAclV2\n name: versioning_bucket_acl\n properties:\n bucket: ${versioningBucket.id}\n acl: private\n versioning:\n type: aws:s3:BucketVersioningV2\n properties:\n bucket: ${versioningBucket.id}\n versioningConfiguration:\n status: Enabled\n versioning-bucket-config:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${versioningBucket.id}\n rules:\n - id: config\n filter:\n prefix: config/\n noncurrentVersionExpiration:\n noncurrentDays: 90\n noncurrentVersionTransitions:\n - noncurrentDays: 30\n storageClass: STANDARD_IA\n - noncurrentDays: 60\n storageClass: GLACIER\n status: Enabled\n options:\n dependsOn:\n - ${versioning}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\nUsing `pulumi import`, import an S3 bucket lifecycle configuration using the `bucket` or the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2 example bucket-name,123456789012\n```\n", + "description": "Provides an independent configuration resource for S3 bucket [lifecycle configuration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html).\n\nAn S3 Lifecycle configuration consists of one or more Lifecycle rules. Each rule consists of the following:\n\n* Rule metadata (`id` and `status`)\n* Filter identifying objects to which the rule applies\n* One or more transition or expiration actions\n\nFor more information see the Amazon S3 User Guide on [`Lifecycle Configuration Elements`](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html).\n\n\u003e S3 Buckets only support a single lifecycle configuration. Declaring multiple `aws.s3.BucketLifecycleConfigurationV2` resources to the same S3 Bucket will cause a perpetual difference in configuration.\n\n\u003e Lifecycle configurations may take some time to fully propagate to all AWS S3 systems.\nRunning Pulumi operations shortly after creating a lifecycle configuration may result in changes that affect configuration idempotence.\nSee the Amazon S3 User Guide on [setting lifecycle configuration on a bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html).\n\n## Example Usage\n\n### With neither a filter nor prefix specified\n\nThe Lifecycle rule applies to a subset of objects based on the key name prefix (`\"\"`).\n\nThis configuration is intended to replicate the default behavior of the `lifecycle_rule`\nparameter in the AWS Provider `aws.s3.BucketV2` resource prior to `v4.0`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[{\n \"id\": \"rule-1\",\n \"status\": \"Enabled\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying an empty filter\n\nThe Lifecycle rule applies to all objects in the bucket.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {},\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[{\n \"id\": \"rule-1\",\n \"filter\": {},\n \"status\": \"Enabled\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = null,\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter()\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter: {}\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter using key prefixes\n\nThe Lifecycle rule applies to a subset of objects based on the key name prefix (`logs/`).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n prefix: \"logs/\",\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[{\n \"id\": \"rule-1\",\n \"filter\": {\n \"prefix\": \"logs/\",\n },\n \"status\": \"Enabled\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"logs/\",\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"logs/\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"logs/\")\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n prefix: logs/\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIf you want to apply a Lifecycle action to a subset of objects based on different key name prefixes, specify separate rules.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [\n {\n id: \"rule-1\",\n filter: {\n prefix: \"logs/\",\n },\n status: \"Enabled\",\n },\n {\n id: \"rule-2\",\n filter: {\n prefix: \"tmp/\",\n },\n status: \"Enabled\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[\n {\n \"id\": \"rule-1\",\n \"filter\": {\n \"prefix\": \"logs/\",\n },\n \"status\": \"Enabled\",\n },\n {\n \"id\": \"rule-2\",\n \"filter\": {\n \"prefix\": \"tmp/\",\n },\n \"status\": \"Enabled\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"logs/\",\n },\n Status = \"Enabled\",\n },\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-2\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"tmp/\",\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"logs/\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-2\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"tmp/\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules( \n BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"logs/\")\n .build())\n .status(\"Enabled\")\n .build(),\n BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-2\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"tmp/\")\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n prefix: logs/\n status: Enabled\n - id: rule-2\n filter:\n prefix: tmp/\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on an object tag\n\nThe Lifecycle rule specifies a filter based on a tag key and value. The rule then applies only to a subset of objects with the specific tag.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n tag: {\n key: \"Name\",\n value: \"Staging\",\n },\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[{\n \"id\": \"rule-1\",\n \"filter\": {\n \"tag\": {\n \"key\": \"Name\",\n \"value\": \"Staging\",\n },\n },\n \"status\": \"Enabled\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Tag = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterTagArgs\n {\n Key = \"Name\",\n Value = \"Staging\",\n },\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tTag: \u0026s3.BucketLifecycleConfigurationV2RuleFilterTagArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"Name\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"Staging\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .tag(BucketLifecycleConfigurationV2RuleFilterTagArgs.builder()\n .key(\"Name\")\n .value(\"Staging\")\n .build())\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n tag:\n key: Name\n value: Staging\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on multiple tags\n\nThe Lifecycle rule directs Amazon S3 to perform lifecycle actions on objects with two tags (with the specific tag keys and values). Notice `tags` is wrapped in the `and` configuration block.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n and: {\n tags: {\n Key1: \"Value1\",\n Key2: \"Value2\",\n },\n },\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[{\n \"id\": \"rule-1\",\n \"filter\": {\n \"and_\": {\n \"tags\": {\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\",\n },\n },\n },\n \"status\": \"Enabled\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n And = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs\n {\n Tags = \n {\n { \"Key1\", \"Value1\" },\n { \"Key2\", \"Value2\" },\n },\n },\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tAnd: \u0026s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{\n\t\t\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\n\t\t\t\t\t\t\t\t\"Key2\": pulumi.String(\"Value2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .and(BucketLifecycleConfigurationV2RuleFilterAndArgs.builder()\n .tags(Map.ofEntries(\n Map.entry(\"Key1\", \"Value1\"),\n Map.entry(\"Key2\", \"Value2\")\n ))\n .build())\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n and:\n tags:\n Key1: Value1\n Key2: Value2\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on both prefix and one or more tags\n\nThe Lifecycle rule directs Amazon S3 to perform lifecycle actions on objects with the specified prefix and two tags (with the specific tag keys and values). Notice both `prefix` and `tags` are wrapped in the `and` configuration block.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n and: {\n prefix: \"logs/\",\n tags: {\n Key1: \"Value1\",\n Key2: \"Value2\",\n },\n },\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[{\n \"id\": \"rule-1\",\n \"filter\": {\n \"and_\": {\n \"prefix\": \"logs/\",\n \"tags\": {\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\",\n },\n },\n },\n \"status\": \"Enabled\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n And = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs\n {\n Prefix = \"logs/\",\n Tags = \n {\n { \"Key1\", \"Value1\" },\n { \"Key2\", \"Value2\" },\n },\n },\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tAnd: \u0026s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{\n\t\t\t\t\t\t\tPrefix: pulumi.String(\"logs/\"),\n\t\t\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\n\t\t\t\t\t\t\t\t\"Key2\": pulumi.String(\"Value2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .and(BucketLifecycleConfigurationV2RuleFilterAndArgs.builder()\n .prefix(\"logs/\")\n .tags(Map.ofEntries(\n Map.entry(\"Key1\", \"Value1\"),\n Map.entry(\"Key2\", \"Value2\")\n ))\n .build())\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n and:\n prefix: logs/\n tags:\n Key1: Value1\n Key2: Value2\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on object size\n\nObject size values are in bytes. Maximum filter size is 5TB. Amazon S3 applies a default behavior to your Lifecycle configuration that prevents objects smaller than 128 KB from being transitioned to any storage class. You can allow smaller objects to transition by adding a minimum size (`object_size_greater_than`) or a maximum size (`object_size_less_than`) filter that specifies a smaller size to the configuration. This example allows any object smaller than 128 KB to transition to the S3 Glacier Instant Retrieval storage class:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"Allow small object transitions\",\n filter: {\n objectSizeGreaterThan: \"1\",\n },\n status: \"Enabled\",\n transitions: [{\n days: 365,\n storageClass: \"GLACIER_IR\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[{\n \"id\": \"Allow small object transitions\",\n \"filter\": {\n \"object_size_greater_than\": \"1\",\n },\n \"status\": \"Enabled\",\n \"transitions\": [{\n \"days\": 365,\n \"storage_class\": \"GLACIER_IR\",\n }],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"Allow small object transitions\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n ObjectSizeGreaterThan = \"1\",\n },\n Status = \"Enabled\",\n Transitions = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleTransitionArgs\n {\n Days = 365,\n StorageClass = \"GLACIER_IR\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"Allow small object transitions\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tObjectSizeGreaterThan: pulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tTransitions: s3.BucketLifecycleConfigurationV2RuleTransitionArray{\n\t\t\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(365),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"GLACIER_IR\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"Allow small object transitions\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .objectSizeGreaterThan(1)\n .build())\n .status(\"Enabled\")\n .transitions(BucketLifecycleConfigurationV2RuleTransitionArgs.builder()\n .days(365)\n .storageClass(\"GLACIER_IR\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: Allow small object transitions\n filter:\n objectSizeGreaterThan: 1\n status: Enabled\n transitions:\n - days: 365\n storageClass: GLACIER_IR\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on object size range and prefix\n\nThe `object_size_greater_than` must be less than the `object_size_less_than`. Notice both the object size range and prefix are wrapped in the `and` configuration block.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n and: {\n prefix: \"logs/\",\n objectSizeGreaterThan: 500,\n objectSizeLessThan: 64000,\n },\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[{\n \"id\": \"rule-1\",\n \"filter\": {\n \"and_\": {\n \"prefix\": \"logs/\",\n \"object_size_greater_than\": 500,\n \"object_size_less_than\": 64000,\n },\n },\n \"status\": \"Enabled\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n And = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs\n {\n Prefix = \"logs/\",\n ObjectSizeGreaterThan = 500,\n ObjectSizeLessThan = 64000,\n },\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tAnd: \u0026s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{\n\t\t\t\t\t\t\tPrefix: pulumi.String(\"logs/\"),\n\t\t\t\t\t\t\tObjectSizeGreaterThan: pulumi.Int(500),\n\t\t\t\t\t\t\tObjectSizeLessThan: pulumi.Int(64000),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .and(BucketLifecycleConfigurationV2RuleFilterAndArgs.builder()\n .prefix(\"logs/\")\n .objectSizeGreaterThan(500)\n .objectSizeLessThan(64000)\n .build())\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n and:\n prefix: logs/\n objectSizeGreaterThan: 500\n objectSizeLessThan: 64000\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating a Lifecycle Configuration for a bucket with versioning\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"my-bucket\"});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\nconst bucket_config = new aws.s3.BucketLifecycleConfigurationV2(\"bucket-config\", {\n bucket: bucket.id,\n rules: [\n {\n id: \"log\",\n expiration: {\n days: 90,\n },\n filter: {\n and: {\n prefix: \"log/\",\n tags: {\n rule: \"log\",\n autoclean: \"true\",\n },\n },\n },\n status: \"Enabled\",\n transitions: [\n {\n days: 30,\n storageClass: \"STANDARD_IA\",\n },\n {\n days: 60,\n storageClass: \"GLACIER\",\n },\n ],\n },\n {\n id: \"tmp\",\n filter: {\n prefix: \"tmp/\",\n },\n expiration: {\n date: \"2023-01-13T00:00:00Z\",\n },\n status: \"Enabled\",\n },\n ],\n});\nconst versioningBucket = new aws.s3.BucketV2(\"versioning_bucket\", {bucket: \"my-versioning-bucket\"});\nconst versioningBucketAcl = new aws.s3.BucketAclV2(\"versioning_bucket_acl\", {\n bucket: versioningBucket.id,\n acl: \"private\",\n});\nconst versioning = new aws.s3.BucketVersioningV2(\"versioning\", {\n bucket: versioningBucket.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst versioning_bucket_config = new aws.s3.BucketLifecycleConfigurationV2(\"versioning-bucket-config\", {\n bucket: versioningBucket.id,\n rules: [{\n id: \"config\",\n filter: {\n prefix: \"config/\",\n },\n noncurrentVersionExpiration: {\n noncurrentDays: 90,\n },\n noncurrentVersionTransitions: [\n {\n noncurrentDays: 30,\n storageClass: \"STANDARD_IA\",\n },\n {\n noncurrentDays: 60,\n storageClass: \"GLACIER\",\n },\n ],\n status: \"Enabled\",\n }],\n}, {\n dependsOn: [versioning],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"my-bucket\")\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\nbucket_config = aws.s3.BucketLifecycleConfigurationV2(\"bucket-config\",\n bucket=bucket.id,\n rules=[\n {\n \"id\": \"log\",\n \"expiration\": {\n \"days\": 90,\n },\n \"filter\": {\n \"and_\": {\n \"prefix\": \"log/\",\n \"tags\": {\n \"rule\": \"log\",\n \"autoclean\": \"true\",\n },\n },\n },\n \"status\": \"Enabled\",\n \"transitions\": [\n {\n \"days\": 30,\n \"storage_class\": \"STANDARD_IA\",\n },\n {\n \"days\": 60,\n \"storage_class\": \"GLACIER\",\n },\n ],\n },\n {\n \"id\": \"tmp\",\n \"filter\": {\n \"prefix\": \"tmp/\",\n },\n \"expiration\": {\n \"date\": \"2023-01-13T00:00:00Z\",\n },\n \"status\": \"Enabled\",\n },\n ])\nversioning_bucket = aws.s3.BucketV2(\"versioning_bucket\", bucket=\"my-versioning-bucket\")\nversioning_bucket_acl = aws.s3.BucketAclV2(\"versioning_bucket_acl\",\n bucket=versioning_bucket.id,\n acl=\"private\")\nversioning = aws.s3.BucketVersioningV2(\"versioning\",\n bucket=versioning_bucket.id,\n versioning_configuration={\n \"status\": \"Enabled\",\n })\nversioning_bucket_config = aws.s3.BucketLifecycleConfigurationV2(\"versioning-bucket-config\",\n bucket=versioning_bucket.id,\n rules=[{\n \"id\": \"config\",\n \"filter\": {\n \"prefix\": \"config/\",\n },\n \"noncurrent_version_expiration\": {\n \"noncurrent_days\": 90,\n },\n \"noncurrent_version_transitions\": [\n {\n \"noncurrent_days\": 30,\n \"storage_class\": \"STANDARD_IA\",\n },\n {\n \"noncurrent_days\": 60,\n \"storage_class\": \"GLACIER\",\n },\n ],\n \"status\": \"Enabled\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[versioning]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"my-bucket\",\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n var bucket_config = new Aws.S3.BucketLifecycleConfigurationV2(\"bucket-config\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"log\",\n Expiration = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleExpirationArgs\n {\n Days = 90,\n },\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n And = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs\n {\n Prefix = \"log/\",\n Tags = \n {\n { \"rule\", \"log\" },\n { \"autoclean\", \"true\" },\n },\n },\n },\n Status = \"Enabled\",\n Transitions = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleTransitionArgs\n {\n Days = 30,\n StorageClass = \"STANDARD_IA\",\n },\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleTransitionArgs\n {\n Days = 60,\n StorageClass = \"GLACIER\",\n },\n },\n },\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"tmp\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"tmp/\",\n },\n Expiration = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleExpirationArgs\n {\n Date = \"2023-01-13T00:00:00Z\",\n },\n Status = \"Enabled\",\n },\n },\n });\n\n var versioningBucket = new Aws.S3.BucketV2(\"versioning_bucket\", new()\n {\n Bucket = \"my-versioning-bucket\",\n });\n\n var versioningBucketAcl = new Aws.S3.BucketAclV2(\"versioning_bucket_acl\", new()\n {\n Bucket = versioningBucket.Id,\n Acl = \"private\",\n });\n\n var versioning = new Aws.S3.BucketVersioningV2(\"versioning\", new()\n {\n Bucket = versioningBucket.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var versioning_bucket_config = new Aws.S3.BucketLifecycleConfigurationV2(\"versioning-bucket-config\", new()\n {\n Bucket = versioningBucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"config\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"config/\",\n },\n NoncurrentVersionExpiration = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs\n {\n NoncurrentDays = 90,\n },\n NoncurrentVersionTransitions = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs\n {\n NoncurrentDays = 30,\n StorageClass = \"STANDARD_IA\",\n },\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs\n {\n NoncurrentDays = 60,\n StorageClass = \"GLACIER\",\n },\n },\n Status = \"Enabled\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n versioning,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketLifecycleConfigurationV2(ctx, \"bucket-config\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"log\"),\n\t\t\t\t\tExpiration: \u0026s3.BucketLifecycleConfigurationV2RuleExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(90),\n\t\t\t\t\t},\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tAnd: \u0026s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{\n\t\t\t\t\t\t\tPrefix: pulumi.String(\"log/\"),\n\t\t\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"rule\": pulumi.String(\"log\"),\n\t\t\t\t\t\t\t\t\"autoclean\": pulumi.String(\"true\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tTransitions: s3.BucketLifecycleConfigurationV2RuleTransitionArray{\n\t\t\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"GLACIER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"tmp\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"tmp/\"),\n\t\t\t\t\t},\n\t\t\t\t\tExpiration: \u0026s3.BucketLifecycleConfigurationV2RuleExpirationArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-01-13T00:00:00Z\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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\tversioningBucket, err := s3.NewBucketV2(ctx, \"versioning_bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-versioning-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"versioning_bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: versioningBucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tversioning, err := s3.NewBucketVersioningV2(ctx, \"versioning\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: versioningBucket.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketLifecycleConfigurationV2(ctx, \"versioning-bucket-config\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: versioningBucket.ID(),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"config\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"config/\"),\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionExpiration: \u0026s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs{\n\t\t\t\t\t\tNoncurrentDays: pulumi.Int(90),\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionTransitions: s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArray{\n\t\t\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tNoncurrentDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tNoncurrentDays: pulumi.Int(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"GLACIER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tversioning,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleExpirationArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"my-bucket\")\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder()\n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n var bucket_config = new BucketLifecycleConfigurationV2(\"bucket-config\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules( \n BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"log\")\n .expiration(BucketLifecycleConfigurationV2RuleExpirationArgs.builder()\n .days(90)\n .build())\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .and(BucketLifecycleConfigurationV2RuleFilterAndArgs.builder()\n .prefix(\"log/\")\n .tags(Map.ofEntries(\n Map.entry(\"rule\", \"log\"),\n Map.entry(\"autoclean\", \"true\")\n ))\n .build())\n .build())\n .status(\"Enabled\")\n .transitions( \n BucketLifecycleConfigurationV2RuleTransitionArgs.builder()\n .days(30)\n .storageClass(\"STANDARD_IA\")\n .build(),\n BucketLifecycleConfigurationV2RuleTransitionArgs.builder()\n .days(60)\n .storageClass(\"GLACIER\")\n .build())\n .build(),\n BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"tmp\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"tmp/\")\n .build())\n .expiration(BucketLifecycleConfigurationV2RuleExpirationArgs.builder()\n .date(\"2023-01-13T00:00:00Z\")\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n var versioningBucket = new BucketV2(\"versioningBucket\", BucketV2Args.builder()\n .bucket(\"my-versioning-bucket\")\n .build());\n\n var versioningBucketAcl = new BucketAclV2(\"versioningBucketAcl\", BucketAclV2Args.builder()\n .bucket(versioningBucket.id())\n .acl(\"private\")\n .build());\n\n var versioning = new BucketVersioningV2(\"versioning\", BucketVersioningV2Args.builder()\n .bucket(versioningBucket.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var versioning_bucket_config = new BucketLifecycleConfigurationV2(\"versioning-bucket-config\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(versioningBucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"config\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"config/\")\n .build())\n .noncurrentVersionExpiration(BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs.builder()\n .noncurrentDays(90)\n .build())\n .noncurrentVersionTransitions( \n BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs.builder()\n .noncurrentDays(30)\n .storageClass(\"STANDARD_IA\")\n .build(),\n BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs.builder()\n .noncurrentDays(60)\n .storageClass(\"GLACIER\")\n .build())\n .status(\"Enabled\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(versioning)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: my-bucket\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n bucket-config:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: log\n expiration:\n days: 90\n filter:\n and:\n prefix: log/\n tags:\n rule: log\n autoclean: 'true'\n status: Enabled\n transitions:\n - days: 30\n storageClass: STANDARD_IA\n - days: 60\n storageClass: GLACIER\n - id: tmp\n filter:\n prefix: tmp/\n expiration:\n date: 2023-01-13T00:00:00Z\n status: Enabled\n versioningBucket:\n type: aws:s3:BucketV2\n name: versioning_bucket\n properties:\n bucket: my-versioning-bucket\n versioningBucketAcl:\n type: aws:s3:BucketAclV2\n name: versioning_bucket_acl\n properties:\n bucket: ${versioningBucket.id}\n acl: private\n versioning:\n type: aws:s3:BucketVersioningV2\n properties:\n bucket: ${versioningBucket.id}\n versioningConfiguration:\n status: Enabled\n versioning-bucket-config:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${versioningBucket.id}\n rules:\n - id: config\n filter:\n prefix: config/\n noncurrentVersionExpiration:\n noncurrentDays: 90\n noncurrentVersionTransitions:\n - noncurrentDays: 30\n storageClass: STANDARD_IA\n - noncurrentDays: 60\n storageClass: GLACIER\n status: Enabled\n options:\n dependson:\n - ${versioning}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\nUsing `pulumi import`, import an S3 bucket lifecycle configuration using the `bucket` or the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2 example bucket-name,123456789012\n```\n", "properties": { "bucket": { "type": "string", @@ -346774,7 +346774,7 @@ } }, "aws:s3/bucketNotification:BucketNotification": { - "description": "Manages a S3 Bucket Notification Configuration. For additional information, see the [Configuring S3 Event Notifications section in the Amazon S3 Developer Guide](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html).\n\n\u003e **NOTE:** S3 Buckets only support a single notification configuration resource. Declaring multiple `aws.s3.BucketNotification` resources to the same S3 Bucket will cause a perpetual difference in configuration. This resource will overwrite any existing event notifications configured for the S3 bucket it's associated with. See the example \"Trigger multiple Lambda functions\" for an option of how to configure multiple triggers within this resource.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Add notification configuration to SNS Topic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst topic = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"s3.amazonaws.com\"],\n }],\n actions: [\"SNS:Publish\"],\n resources: [\"arn:aws:sns:*:*:s3-event-notification-topic\"],\n conditions: [{\n test: \"ArnLike\",\n variable: \"aws:SourceArn\",\n values: [bucket.arn],\n }],\n }],\n});\nconst topicTopic = new aws.sns.Topic(\"topic\", {\n name: \"s3-event-notification-topic\",\n policy: topic.apply(topic =\u003e topic.json),\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n topics: [{\n topicArn: topicTopic.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterSuffix: \".log\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\ntopic = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"s3.amazonaws.com\"],\n }],\n \"actions\": [\"SNS:Publish\"],\n \"resources\": [\"arn:aws:sns:*:*:s3-event-notification-topic\"],\n \"conditions\": [{\n \"test\": \"ArnLike\",\n \"variable\": \"aws:SourceArn\",\n \"values\": [bucket.arn],\n }],\n}])\ntopic_topic = aws.sns.Topic(\"topic\",\n name=\"s3-event-notification-topic\",\n policy=topic.json)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n topics=[{\n \"topic_arn\": topic_topic.arn,\n \"events\": [\"s3:ObjectCreated:*\"],\n \"filter_suffix\": \".log\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var topic = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"s3.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Resources = new[]\n {\n \"arn:aws:sns:*:*:s3-event-notification-topic\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnLike\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n bucket.Arn,\n },\n },\n },\n },\n },\n });\n\n var topicTopic = new Aws.Sns.Topic(\"topic\", new()\n {\n Name = \"s3-event-notification-topic\",\n Policy = topic.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n Topics = new[]\n {\n new Aws.S3.Inputs.BucketNotificationTopicArgs\n {\n TopicArn = topicTopic.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterSuffix = \".log\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttopic := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"s3.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"SNS:Publish\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"arn:aws:sns:*:*:s3-event-notification-topic\"),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"ArnLike\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tbucket.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\ttopicTopic, err := sns.NewTopic(ctx, \"topic\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"s3-event-notification-topic\"),\n\t\t\tPolicy: pulumi.String(topic.ApplyT(func(topic iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026topic.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tTopics: s3.BucketNotificationTopicArray{\n\t\t\t\t\u0026s3.BucketNotificationTopicArgs{\n\t\t\t\t\tTopicArn: topicTopic.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"your-bucket-name\")\n .build());\n\n final var topic = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"s3.amazonaws.com\")\n .build())\n .actions(\"SNS:Publish\")\n .resources(\"arn:aws:sns:*:*:s3-event-notification-topic\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnLike\")\n .variable(\"aws:SourceArn\")\n .values(bucket.arn())\n .build())\n .build())\n .build());\n\n var topicTopic = new Topic(\"topicTopic\", TopicArgs.builder()\n .name(\"s3-event-notification-topic\")\n .policy(topic.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(topic -\u003e topic.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder()\n .bucket(bucket.id())\n .topics(BucketNotificationTopicArgs.builder()\n .topicArn(topicTopic.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterSuffix(\".log\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n topicTopic:\n type: aws:sns:Topic\n name: topic\n properties:\n name: s3-event-notification-topic\n policy: ${topic.json}\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n topics:\n - topicArn: ${topicTopic.arn}\n events:\n - s3:ObjectCreated:*\n filterSuffix: .log\nvariables:\n topic:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - s3.amazonaws.com\n actions:\n - SNS:Publish\n resources:\n - arn:aws:sns:*:*:s3-event-notification-topic\n conditions:\n - test: ArnLike\n variable: aws:SourceArn\n values:\n - ${bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add notification configuration to SQS Queue\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst queue = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"sqs:SendMessage\"],\n resources: [\"arn:aws:sqs:*:*:s3-event-notification-queue\"],\n conditions: [{\n test: \"ArnEquals\",\n variable: \"aws:SourceArn\",\n values: [bucket.arn],\n }],\n }],\n});\nconst queueQueue = new aws.sqs.Queue(\"queue\", {\n name: \"s3-event-notification-queue\",\n policy: queue.apply(queue =\u003e queue.json),\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n queues: [{\n queueArn: queueQueue.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterSuffix: \".log\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nqueue = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"sqs:SendMessage\"],\n \"resources\": [\"arn:aws:sqs:*:*:s3-event-notification-queue\"],\n \"conditions\": [{\n \"test\": \"ArnEquals\",\n \"variable\": \"aws:SourceArn\",\n \"values\": [bucket.arn],\n }],\n}])\nqueue_queue = aws.sqs.Queue(\"queue\",\n name=\"s3-event-notification-queue\",\n policy=queue.json)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n queues=[{\n \"queue_arn\": queue_queue.arn,\n \"events\": [\"s3:ObjectCreated:*\"],\n \"filter_suffix\": \".log\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var queue = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"sqs:SendMessage\",\n },\n Resources = new[]\n {\n \"arn:aws:sqs:*:*:s3-event-notification-queue\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n bucket.Arn,\n },\n },\n },\n },\n },\n });\n\n var queueQueue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"s3-event-notification-queue\",\n Policy = queue.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n Queues = new[]\n {\n new Aws.S3.Inputs.BucketNotificationQueueArgs\n {\n QueueArn = queueQueue.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterSuffix = \".log\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqueue := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sqs:SendMessage\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"arn:aws:sqs:*:*:s3-event-notification-queue\"),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"ArnEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tbucket.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tqueueQueue, err := sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"s3-event-notification-queue\"),\n\t\t\tPolicy: pulumi.String(queue.ApplyT(func(queue iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026queue.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tQueues: s3.BucketNotificationQueueArray{\n\t\t\t\t\u0026s3.BucketNotificationQueueArgs{\n\t\t\t\t\tQueueArn: queueQueue.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"your-bucket-name\")\n .build());\n\n final var queue = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"sqs:SendMessage\")\n .resources(\"arn:aws:sqs:*:*:s3-event-notification-queue\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .variable(\"aws:SourceArn\")\n .values(bucket.arn())\n .build())\n .build())\n .build());\n\n var queueQueue = new Queue(\"queueQueue\", QueueArgs.builder()\n .name(\"s3-event-notification-queue\")\n .policy(queue.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(queue -\u003e queue.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder()\n .bucket(bucket.id())\n .queues(BucketNotificationQueueArgs.builder()\n .queueArn(queueQueue.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterSuffix(\".log\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queueQueue:\n type: aws:sqs:Queue\n name: queue\n properties:\n name: s3-event-notification-queue\n policy: ${queue.json}\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n queues:\n - queueArn: ${queueQueue.arn}\n events:\n - s3:ObjectCreated:*\n filterSuffix: .log\nvariables:\n queue:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - sqs:SendMessage\n resources:\n - arn:aws:sqs:*:*:s3-event-notification-queue\n conditions:\n - test: ArnEquals\n variable: aws:SourceArn\n values:\n - ${bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add notification configuration to Lambda Function\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst func = new aws.lambda.Function(\"func\", {\n code: new pulumi.asset.FileArchive(\"your-function.zip\"),\n name: \"example_lambda_name\",\n role: iamForLambda.arn,\n handler: \"exports.example\",\n runtime: aws.lambda.Runtime.NodeJS20dX,\n});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst allowBucket = new aws.lambda.Permission(\"allow_bucket\", {\n statementId: \"AllowExecutionFromS3Bucket\",\n action: \"lambda:InvokeFunction\",\n \"function\": func.arn,\n principal: \"s3.amazonaws.com\",\n sourceArn: bucket.arn,\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n lambdaFunctions: [{\n lambdaFunctionArn: func.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"AWSLogs/\",\n filterSuffix: \".log\",\n }],\n}, {\n dependsOn: [allowBucket],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"lambda.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=assume_role.json)\nfunc = aws.lambda_.Function(\"func\",\n code=pulumi.FileArchive(\"your-function.zip\"),\n name=\"example_lambda_name\",\n role=iam_for_lambda.arn,\n handler=\"exports.example\",\n runtime=aws.lambda_.Runtime.NODE_JS20D_X)\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nallow_bucket = aws.lambda_.Permission(\"allow_bucket\",\n statement_id=\"AllowExecutionFromS3Bucket\",\n action=\"lambda:InvokeFunction\",\n function=func.arn,\n principal=\"s3.amazonaws.com\",\n source_arn=bucket.arn)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n lambda_functions=[{\n \"lambda_function_arn\": func.arn,\n \"events\": [\"s3:ObjectCreated:*\"],\n \"filter_prefix\": \"AWSLogs/\",\n \"filter_suffix\": \".log\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[allow_bucket]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var func = new Aws.Lambda.Function(\"func\", new()\n {\n Code = new FileArchive(\"your-function.zip\"),\n Name = \"example_lambda_name\",\n Role = iamForLambda.Arn,\n Handler = \"exports.example\",\n Runtime = Aws.Lambda.Runtime.NodeJS20dX,\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var allowBucket = new Aws.Lambda.Permission(\"allow_bucket\", new()\n {\n StatementId = \"AllowExecutionFromS3Bucket\",\n Action = \"lambda:InvokeFunction\",\n Function = func.Arn,\n Principal = \"s3.amazonaws.com\",\n SourceArn = bucket.Arn,\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n LambdaFunctions = new[]\n {\n new Aws.S3.Inputs.BucketNotificationLambdaFunctionArgs\n {\n LambdaFunctionArn = func.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"AWSLogs/\",\n FilterSuffix = \".log\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n allowBucket,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"func\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"your-function.zip\"),\n\t\t\tName: pulumi.String(\"example_lambda_name\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.example\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS20dX),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tallowBucket, err := lambda.NewPermission(ctx, \"allow_bucket\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromS3Bucket\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: _func.Arn,\n\t\t\tPrincipal: pulumi.String(\"s3.amazonaws.com\"),\n\t\t\tSourceArn: bucket.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tLambdaFunctions: s3.BucketNotificationLambdaFunctionArray{\n\t\t\t\t\u0026s3.BucketNotificationLambdaFunctionArgs{\n\t\t\t\t\tLambdaFunctionArn: _func.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"AWSLogs/\"),\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tallowBucket,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationLambdaFunctionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder()\n .name(\"iam_for_lambda\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var func = new Function(\"func\", FunctionArgs.builder()\n .code(new FileArchive(\"your-function.zip\"))\n .name(\"example_lambda_name\")\n .role(iamForLambda.arn())\n .handler(\"exports.example\")\n .runtime(\"nodejs20.x\")\n .build());\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"your-bucket-name\")\n .build());\n\n var allowBucket = new Permission(\"allowBucket\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromS3Bucket\")\n .action(\"lambda:InvokeFunction\")\n .function(func.arn())\n .principal(\"s3.amazonaws.com\")\n .sourceArn(bucket.arn())\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder()\n .bucket(bucket.id())\n .lambdaFunctions(BucketNotificationLambdaFunctionArgs.builder()\n .lambdaFunctionArn(func.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"AWSLogs/\")\n .filterSuffix(\".log\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(allowBucket)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy: ${assumeRole.json}\n allowBucket:\n type: aws:lambda:Permission\n name: allow_bucket\n properties:\n statementId: AllowExecutionFromS3Bucket\n action: lambda:InvokeFunction\n function: ${func.arn}\n principal: s3.amazonaws.com\n sourceArn: ${bucket.arn}\n func:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: your-function.zip\n name: example_lambda_name\n role: ${iamForLambda.arn}\n handler: exports.example\n runtime: nodejs20.x\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n lambdaFunctions:\n - lambdaFunctionArn: ${func.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: AWSLogs/\n filterSuffix: .log\n options:\n dependsOn:\n - ${allowBucket}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Trigger multiple Lambda functions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst func1 = new aws.lambda.Function(\"func1\", {\n code: new pulumi.asset.FileArchive(\"your-function1.zip\"),\n name: \"example_lambda_name1\",\n role: iamForLambda.arn,\n handler: \"exports.example\",\n runtime: aws.lambda.Runtime.NodeJS20dX,\n});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst allowBucket1 = new aws.lambda.Permission(\"allow_bucket1\", {\n statementId: \"AllowExecutionFromS3Bucket1\",\n action: \"lambda:InvokeFunction\",\n \"function\": func1.arn,\n principal: \"s3.amazonaws.com\",\n sourceArn: bucket.arn,\n});\nconst func2 = new aws.lambda.Function(\"func2\", {\n code: new pulumi.asset.FileArchive(\"your-function2.zip\"),\n name: \"example_lambda_name2\",\n role: iamForLambda.arn,\n handler: \"exports.example\",\n});\nconst allowBucket2 = new aws.lambda.Permission(\"allow_bucket2\", {\n statementId: \"AllowExecutionFromS3Bucket2\",\n action: \"lambda:InvokeFunction\",\n \"function\": func2.arn,\n principal: \"s3.amazonaws.com\",\n sourceArn: bucket.arn,\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n lambdaFunctions: [\n {\n lambdaFunctionArn: func1.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"AWSLogs/\",\n filterSuffix: \".log\",\n },\n {\n lambdaFunctionArn: func2.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"OtherLogs/\",\n filterSuffix: \".log\",\n },\n ],\n}, {\n dependsOn: [\n allowBucket1,\n allowBucket2,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"lambda.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=assume_role.json)\nfunc1 = aws.lambda_.Function(\"func1\",\n code=pulumi.FileArchive(\"your-function1.zip\"),\n name=\"example_lambda_name1\",\n role=iam_for_lambda.arn,\n handler=\"exports.example\",\n runtime=aws.lambda_.Runtime.NODE_JS20D_X)\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nallow_bucket1 = aws.lambda_.Permission(\"allow_bucket1\",\n statement_id=\"AllowExecutionFromS3Bucket1\",\n action=\"lambda:InvokeFunction\",\n function=func1.arn,\n principal=\"s3.amazonaws.com\",\n source_arn=bucket.arn)\nfunc2 = aws.lambda_.Function(\"func2\",\n code=pulumi.FileArchive(\"your-function2.zip\"),\n name=\"example_lambda_name2\",\n role=iam_for_lambda.arn,\n handler=\"exports.example\")\nallow_bucket2 = aws.lambda_.Permission(\"allow_bucket2\",\n statement_id=\"AllowExecutionFromS3Bucket2\",\n action=\"lambda:InvokeFunction\",\n function=func2.arn,\n principal=\"s3.amazonaws.com\",\n source_arn=bucket.arn)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n lambda_functions=[\n {\n \"lambda_function_arn\": func1.arn,\n \"events\": [\"s3:ObjectCreated:*\"],\n \"filter_prefix\": \"AWSLogs/\",\n \"filter_suffix\": \".log\",\n },\n {\n \"lambda_function_arn\": func2.arn,\n \"events\": [\"s3:ObjectCreated:*\"],\n \"filter_prefix\": \"OtherLogs/\",\n \"filter_suffix\": \".log\",\n },\n ],\n opts = pulumi.ResourceOptions(depends_on=[\n allow_bucket1,\n allow_bucket2,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var func1 = new Aws.Lambda.Function(\"func1\", new()\n {\n Code = new FileArchive(\"your-function1.zip\"),\n Name = \"example_lambda_name1\",\n Role = iamForLambda.Arn,\n Handler = \"exports.example\",\n Runtime = Aws.Lambda.Runtime.NodeJS20dX,\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var allowBucket1 = new Aws.Lambda.Permission(\"allow_bucket1\", new()\n {\n StatementId = \"AllowExecutionFromS3Bucket1\",\n Action = \"lambda:InvokeFunction\",\n Function = func1.Arn,\n Principal = \"s3.amazonaws.com\",\n SourceArn = bucket.Arn,\n });\n\n var func2 = new Aws.Lambda.Function(\"func2\", new()\n {\n Code = new FileArchive(\"your-function2.zip\"),\n Name = \"example_lambda_name2\",\n Role = iamForLambda.Arn,\n Handler = \"exports.example\",\n });\n\n var allowBucket2 = new Aws.Lambda.Permission(\"allow_bucket2\", new()\n {\n StatementId = \"AllowExecutionFromS3Bucket2\",\n Action = \"lambda:InvokeFunction\",\n Function = func2.Arn,\n Principal = \"s3.amazonaws.com\",\n SourceArn = bucket.Arn,\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n LambdaFunctions = new[]\n {\n new Aws.S3.Inputs.BucketNotificationLambdaFunctionArgs\n {\n LambdaFunctionArn = func1.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"AWSLogs/\",\n FilterSuffix = \".log\",\n },\n new Aws.S3.Inputs.BucketNotificationLambdaFunctionArgs\n {\n LambdaFunctionArn = func2.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"OtherLogs/\",\n FilterSuffix = \".log\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n allowBucket1,\n allowBucket2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfunc1, err := lambda.NewFunction(ctx, \"func1\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"your-function1.zip\"),\n\t\t\tName: pulumi.String(\"example_lambda_name1\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.example\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS20dX),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tallowBucket1, err := lambda.NewPermission(ctx, \"allow_bucket1\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromS3Bucket1\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: func1.Arn,\n\t\t\tPrincipal: pulumi.String(\"s3.amazonaws.com\"),\n\t\t\tSourceArn: bucket.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfunc2, err := lambda.NewFunction(ctx, \"func2\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"your-function2.zip\"),\n\t\t\tName: pulumi.String(\"example_lambda_name2\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tallowBucket2, err := lambda.NewPermission(ctx, \"allow_bucket2\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromS3Bucket2\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: func2.Arn,\n\t\t\tPrincipal: pulumi.String(\"s3.amazonaws.com\"),\n\t\t\tSourceArn: bucket.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tLambdaFunctions: s3.BucketNotificationLambdaFunctionArray{\n\t\t\t\t\u0026s3.BucketNotificationLambdaFunctionArgs{\n\t\t\t\t\tLambdaFunctionArn: func1.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"AWSLogs/\"),\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketNotificationLambdaFunctionArgs{\n\t\t\t\t\tLambdaFunctionArn: func2.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"OtherLogs/\"),\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tallowBucket1,\n\t\t\tallowBucket2,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationLambdaFunctionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder()\n .name(\"iam_for_lambda\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var func1 = new Function(\"func1\", FunctionArgs.builder()\n .code(new FileArchive(\"your-function1.zip\"))\n .name(\"example_lambda_name1\")\n .role(iamForLambda.arn())\n .handler(\"exports.example\")\n .runtime(\"nodejs20.x\")\n .build());\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"your-bucket-name\")\n .build());\n\n var allowBucket1 = new Permission(\"allowBucket1\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromS3Bucket1\")\n .action(\"lambda:InvokeFunction\")\n .function(func1.arn())\n .principal(\"s3.amazonaws.com\")\n .sourceArn(bucket.arn())\n .build());\n\n var func2 = new Function(\"func2\", FunctionArgs.builder()\n .code(new FileArchive(\"your-function2.zip\"))\n .name(\"example_lambda_name2\")\n .role(iamForLambda.arn())\n .handler(\"exports.example\")\n .build());\n\n var allowBucket2 = new Permission(\"allowBucket2\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromS3Bucket2\")\n .action(\"lambda:InvokeFunction\")\n .function(func2.arn())\n .principal(\"s3.amazonaws.com\")\n .sourceArn(bucket.arn())\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder()\n .bucket(bucket.id())\n .lambdaFunctions( \n BucketNotificationLambdaFunctionArgs.builder()\n .lambdaFunctionArn(func1.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"AWSLogs/\")\n .filterSuffix(\".log\")\n .build(),\n BucketNotificationLambdaFunctionArgs.builder()\n .lambdaFunctionArn(func2.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"OtherLogs/\")\n .filterSuffix(\".log\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n allowBucket1,\n allowBucket2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy: ${assumeRole.json}\n allowBucket1:\n type: aws:lambda:Permission\n name: allow_bucket1\n properties:\n statementId: AllowExecutionFromS3Bucket1\n action: lambda:InvokeFunction\n function: ${func1.arn}\n principal: s3.amazonaws.com\n sourceArn: ${bucket.arn}\n func1:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: your-function1.zip\n name: example_lambda_name1\n role: ${iamForLambda.arn}\n handler: exports.example\n runtime: nodejs20.x\n allowBucket2:\n type: aws:lambda:Permission\n name: allow_bucket2\n properties:\n statementId: AllowExecutionFromS3Bucket2\n action: lambda:InvokeFunction\n function: ${func2.arn}\n principal: s3.amazonaws.com\n sourceArn: ${bucket.arn}\n func2:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: your-function2.zip\n name: example_lambda_name2\n role: ${iamForLambda.arn}\n handler: exports.example\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n lambdaFunctions:\n - lambdaFunctionArn: ${func1.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: AWSLogs/\n filterSuffix: .log\n - lambdaFunctionArn: ${func2.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: OtherLogs/\n filterSuffix: .log\n options:\n dependsOn:\n - ${allowBucket1}\n - ${allowBucket2}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add multiple notification configurations to SQS Queue\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst queue = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"sqs:SendMessage\"],\n resources: [\"arn:aws:sqs:*:*:s3-event-notification-queue\"],\n conditions: [{\n test: \"ArnEquals\",\n variable: \"aws:SourceArn\",\n values: [bucket.arn],\n }],\n }],\n});\nconst queueQueue = new aws.sqs.Queue(\"queue\", {\n name: \"s3-event-notification-queue\",\n policy: queue.apply(queue =\u003e queue.json),\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n queues: [\n {\n id: \"image-upload-event\",\n queueArn: queueQueue.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"images/\",\n },\n {\n id: \"video-upload-event\",\n queueArn: queueQueue.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"videos/\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nqueue = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"sqs:SendMessage\"],\n \"resources\": [\"arn:aws:sqs:*:*:s3-event-notification-queue\"],\n \"conditions\": [{\n \"test\": \"ArnEquals\",\n \"variable\": \"aws:SourceArn\",\n \"values\": [bucket.arn],\n }],\n}])\nqueue_queue = aws.sqs.Queue(\"queue\",\n name=\"s3-event-notification-queue\",\n policy=queue.json)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n queues=[\n {\n \"id\": \"image-upload-event\",\n \"queue_arn\": queue_queue.arn,\n \"events\": [\"s3:ObjectCreated:*\"],\n \"filter_prefix\": \"images/\",\n },\n {\n \"id\": \"video-upload-event\",\n \"queue_arn\": queue_queue.arn,\n \"events\": [\"s3:ObjectCreated:*\"],\n \"filter_prefix\": \"videos/\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var queue = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"sqs:SendMessage\",\n },\n Resources = new[]\n {\n \"arn:aws:sqs:*:*:s3-event-notification-queue\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n bucket.Arn,\n },\n },\n },\n },\n },\n });\n\n var queueQueue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"s3-event-notification-queue\",\n Policy = queue.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n Queues = new[]\n {\n new Aws.S3.Inputs.BucketNotificationQueueArgs\n {\n Id = \"image-upload-event\",\n QueueArn = queueQueue.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"images/\",\n },\n new Aws.S3.Inputs.BucketNotificationQueueArgs\n {\n Id = \"video-upload-event\",\n QueueArn = queueQueue.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"videos/\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqueue := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sqs:SendMessage\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"arn:aws:sqs:*:*:s3-event-notification-queue\"),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"ArnEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tbucket.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tqueueQueue, err := sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"s3-event-notification-queue\"),\n\t\t\tPolicy: pulumi.String(queue.ApplyT(func(queue iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026queue.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tQueues: s3.BucketNotificationQueueArray{\n\t\t\t\t\u0026s3.BucketNotificationQueueArgs{\n\t\t\t\t\tId: pulumi.String(\"image-upload-event\"),\n\t\t\t\t\tQueueArn: queueQueue.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"images/\"),\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketNotificationQueueArgs{\n\t\t\t\t\tId: pulumi.String(\"video-upload-event\"),\n\t\t\t\t\tQueueArn: queueQueue.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"videos/\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"your-bucket-name\")\n .build());\n\n final var queue = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"sqs:SendMessage\")\n .resources(\"arn:aws:sqs:*:*:s3-event-notification-queue\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .variable(\"aws:SourceArn\")\n .values(bucket.arn())\n .build())\n .build())\n .build());\n\n var queueQueue = new Queue(\"queueQueue\", QueueArgs.builder()\n .name(\"s3-event-notification-queue\")\n .policy(queue.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(queue -\u003e queue.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder()\n .bucket(bucket.id())\n .queues( \n BucketNotificationQueueArgs.builder()\n .id(\"image-upload-event\")\n .queueArn(queueQueue.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"images/\")\n .build(),\n BucketNotificationQueueArgs.builder()\n .id(\"video-upload-event\")\n .queueArn(queueQueue.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"videos/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queueQueue:\n type: aws:sqs:Queue\n name: queue\n properties:\n name: s3-event-notification-queue\n policy: ${queue.json}\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n queues:\n - id: image-upload-event\n queueArn: ${queueQueue.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: images/\n - id: video-upload-event\n queueArn: ${queueQueue.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: videos/\nvariables:\n queue:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - sqs:SendMessage\n resources:\n - arn:aws:sqs:*:*:s3-event-notification-queue\n conditions:\n - test: ArnEquals\n variable: aws:SourceArn\n values:\n - ${bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFor JSON syntax, use an array instead of defining the `queue` key twice.\n\n```json\n{\n\t\"bucket\": \"${aws_s3_bucket.bucket.id}\",\n\t\"queue\": [\n\t\t{\n\t\t\t\"id\": \"image-upload-event\",\n\t\t\t\"queue_arn\": \"${aws_sqs_queue.queue.arn}\",\n\t\t\t\"events\": [\"s3:ObjectCreated:*\"],\n\t\t\t\"filter_prefix\": \"images/\"\n\t\t},\n\t\t{\n\t\t\t\"id\": \"video-upload-event\",\n\t\t\t\"queue_arn\": \"${aws_sqs_queue.queue.arn}\",\n\t\t\t\"events\": [\"s3:ObjectCreated:*\"],\n\t\t\t\"filter_prefix\": \"videos/\"\n\t\t}\n\t]\n}\n```\n\n### Emit events to EventBridge\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n eventbridge: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n eventbridge=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n Eventbridge = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tEventbridge: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"your-bucket-name\")\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder()\n .bucket(bucket.id())\n .eventbridge(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n eventbridge: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket notification using the `bucket`. For example:\n\n```sh\n$ pulumi import aws:s3/bucketNotification:BucketNotification bucket_notification bucket-name\n```\n", + "description": "Manages a S3 Bucket Notification Configuration. For additional information, see the [Configuring S3 Event Notifications section in the Amazon S3 Developer Guide](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html).\n\n\u003e **NOTE:** S3 Buckets only support a single notification configuration resource. Declaring multiple `aws.s3.BucketNotification` resources to the same S3 Bucket will cause a perpetual difference in configuration. This resource will overwrite any existing event notifications configured for the S3 bucket it's associated with. See the example \"Trigger multiple Lambda functions\" for an option of how to configure multiple triggers within this resource.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Add notification configuration to SNS Topic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst topic = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"s3.amazonaws.com\"],\n }],\n actions: [\"SNS:Publish\"],\n resources: [\"arn:aws:sns:*:*:s3-event-notification-topic\"],\n conditions: [{\n test: \"ArnLike\",\n variable: \"aws:SourceArn\",\n values: [bucket.arn],\n }],\n }],\n});\nconst topicTopic = new aws.sns.Topic(\"topic\", {\n name: \"s3-event-notification-topic\",\n policy: topic.apply(topic =\u003e topic.json),\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n topics: [{\n topicArn: topicTopic.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterSuffix: \".log\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\ntopic = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"s3.amazonaws.com\"],\n }],\n \"actions\": [\"SNS:Publish\"],\n \"resources\": [\"arn:aws:sns:*:*:s3-event-notification-topic\"],\n \"conditions\": [{\n \"test\": \"ArnLike\",\n \"variable\": \"aws:SourceArn\",\n \"values\": [bucket.arn],\n }],\n}])\ntopic_topic = aws.sns.Topic(\"topic\",\n name=\"s3-event-notification-topic\",\n policy=topic.json)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n topics=[{\n \"topic_arn\": topic_topic.arn,\n \"events\": [\"s3:ObjectCreated:*\"],\n \"filter_suffix\": \".log\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var topic = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"s3.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Resources = new[]\n {\n \"arn:aws:sns:*:*:s3-event-notification-topic\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnLike\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n bucket.Arn,\n },\n },\n },\n },\n },\n });\n\n var topicTopic = new Aws.Sns.Topic(\"topic\", new()\n {\n Name = \"s3-event-notification-topic\",\n Policy = topic.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n Topics = new[]\n {\n new Aws.S3.Inputs.BucketNotificationTopicArgs\n {\n TopicArn = topicTopic.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterSuffix = \".log\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttopic := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"s3.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"SNS:Publish\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"arn:aws:sns:*:*:s3-event-notification-topic\"),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"ArnLike\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tbucket.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\ttopicTopic, err := sns.NewTopic(ctx, \"topic\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"s3-event-notification-topic\"),\n\t\t\tPolicy: pulumi.String(topic.ApplyT(func(topic iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026topic.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tTopics: s3.BucketNotificationTopicArray{\n\t\t\t\t\u0026s3.BucketNotificationTopicArgs{\n\t\t\t\t\tTopicArn: topicTopic.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"your-bucket-name\")\n .build());\n\n final var topic = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"s3.amazonaws.com\")\n .build())\n .actions(\"SNS:Publish\")\n .resources(\"arn:aws:sns:*:*:s3-event-notification-topic\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnLike\")\n .variable(\"aws:SourceArn\")\n .values(bucket.arn())\n .build())\n .build())\n .build());\n\n var topicTopic = new Topic(\"topicTopic\", TopicArgs.builder()\n .name(\"s3-event-notification-topic\")\n .policy(topic.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(topic -\u003e topic.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder()\n .bucket(bucket.id())\n .topics(BucketNotificationTopicArgs.builder()\n .topicArn(topicTopic.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterSuffix(\".log\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n topicTopic:\n type: aws:sns:Topic\n name: topic\n properties:\n name: s3-event-notification-topic\n policy: ${topic.json}\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n topics:\n - topicArn: ${topicTopic.arn}\n events:\n - s3:ObjectCreated:*\n filterSuffix: .log\nvariables:\n topic:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - s3.amazonaws.com\n actions:\n - SNS:Publish\n resources:\n - arn:aws:sns:*:*:s3-event-notification-topic\n conditions:\n - test: ArnLike\n variable: aws:SourceArn\n values:\n - ${bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add notification configuration to SQS Queue\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst queue = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"sqs:SendMessage\"],\n resources: [\"arn:aws:sqs:*:*:s3-event-notification-queue\"],\n conditions: [{\n test: \"ArnEquals\",\n variable: \"aws:SourceArn\",\n values: [bucket.arn],\n }],\n }],\n});\nconst queueQueue = new aws.sqs.Queue(\"queue\", {\n name: \"s3-event-notification-queue\",\n policy: queue.apply(queue =\u003e queue.json),\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n queues: [{\n queueArn: queueQueue.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterSuffix: \".log\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nqueue = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"sqs:SendMessage\"],\n \"resources\": [\"arn:aws:sqs:*:*:s3-event-notification-queue\"],\n \"conditions\": [{\n \"test\": \"ArnEquals\",\n \"variable\": \"aws:SourceArn\",\n \"values\": [bucket.arn],\n }],\n}])\nqueue_queue = aws.sqs.Queue(\"queue\",\n name=\"s3-event-notification-queue\",\n policy=queue.json)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n queues=[{\n \"queue_arn\": queue_queue.arn,\n \"events\": [\"s3:ObjectCreated:*\"],\n \"filter_suffix\": \".log\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var queue = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"sqs:SendMessage\",\n },\n Resources = new[]\n {\n \"arn:aws:sqs:*:*:s3-event-notification-queue\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n bucket.Arn,\n },\n },\n },\n },\n },\n });\n\n var queueQueue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"s3-event-notification-queue\",\n Policy = queue.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n Queues = new[]\n {\n new Aws.S3.Inputs.BucketNotificationQueueArgs\n {\n QueueArn = queueQueue.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterSuffix = \".log\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqueue := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sqs:SendMessage\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"arn:aws:sqs:*:*:s3-event-notification-queue\"),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"ArnEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tbucket.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tqueueQueue, err := sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"s3-event-notification-queue\"),\n\t\t\tPolicy: pulumi.String(queue.ApplyT(func(queue iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026queue.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tQueues: s3.BucketNotificationQueueArray{\n\t\t\t\t\u0026s3.BucketNotificationQueueArgs{\n\t\t\t\t\tQueueArn: queueQueue.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"your-bucket-name\")\n .build());\n\n final var queue = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"sqs:SendMessage\")\n .resources(\"arn:aws:sqs:*:*:s3-event-notification-queue\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .variable(\"aws:SourceArn\")\n .values(bucket.arn())\n .build())\n .build())\n .build());\n\n var queueQueue = new Queue(\"queueQueue\", QueueArgs.builder()\n .name(\"s3-event-notification-queue\")\n .policy(queue.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(queue -\u003e queue.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder()\n .bucket(bucket.id())\n .queues(BucketNotificationQueueArgs.builder()\n .queueArn(queueQueue.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterSuffix(\".log\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queueQueue:\n type: aws:sqs:Queue\n name: queue\n properties:\n name: s3-event-notification-queue\n policy: ${queue.json}\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n queues:\n - queueArn: ${queueQueue.arn}\n events:\n - s3:ObjectCreated:*\n filterSuffix: .log\nvariables:\n queue:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - sqs:SendMessage\n resources:\n - arn:aws:sqs:*:*:s3-event-notification-queue\n conditions:\n - test: ArnEquals\n variable: aws:SourceArn\n values:\n - ${bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add notification configuration to Lambda Function\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst func = new aws.lambda.Function(\"func\", {\n code: new pulumi.asset.FileArchive(\"your-function.zip\"),\n name: \"example_lambda_name\",\n role: iamForLambda.arn,\n handler: \"exports.example\",\n runtime: aws.lambda.Runtime.NodeJS20dX,\n});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst allowBucket = new aws.lambda.Permission(\"allow_bucket\", {\n statementId: \"AllowExecutionFromS3Bucket\",\n action: \"lambda:InvokeFunction\",\n \"function\": func.arn,\n principal: \"s3.amazonaws.com\",\n sourceArn: bucket.arn,\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n lambdaFunctions: [{\n lambdaFunctionArn: func.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"AWSLogs/\",\n filterSuffix: \".log\",\n }],\n}, {\n dependsOn: [allowBucket],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"lambda.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=assume_role.json)\nfunc = aws.lambda_.Function(\"func\",\n code=pulumi.FileArchive(\"your-function.zip\"),\n name=\"example_lambda_name\",\n role=iam_for_lambda.arn,\n handler=\"exports.example\",\n runtime=aws.lambda_.Runtime.NODE_JS20D_X)\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nallow_bucket = aws.lambda_.Permission(\"allow_bucket\",\n statement_id=\"AllowExecutionFromS3Bucket\",\n action=\"lambda:InvokeFunction\",\n function=func.arn,\n principal=\"s3.amazonaws.com\",\n source_arn=bucket.arn)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n lambda_functions=[{\n \"lambda_function_arn\": func.arn,\n \"events\": [\"s3:ObjectCreated:*\"],\n \"filter_prefix\": \"AWSLogs/\",\n \"filter_suffix\": \".log\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[allow_bucket]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var func = new Aws.Lambda.Function(\"func\", new()\n {\n Code = new FileArchive(\"your-function.zip\"),\n Name = \"example_lambda_name\",\n Role = iamForLambda.Arn,\n Handler = \"exports.example\",\n Runtime = Aws.Lambda.Runtime.NodeJS20dX,\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var allowBucket = new Aws.Lambda.Permission(\"allow_bucket\", new()\n {\n StatementId = \"AllowExecutionFromS3Bucket\",\n Action = \"lambda:InvokeFunction\",\n Function = func.Arn,\n Principal = \"s3.amazonaws.com\",\n SourceArn = bucket.Arn,\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n LambdaFunctions = new[]\n {\n new Aws.S3.Inputs.BucketNotificationLambdaFunctionArgs\n {\n LambdaFunctionArn = func.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"AWSLogs/\",\n FilterSuffix = \".log\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n allowBucket,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"func\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"your-function.zip\"),\n\t\t\tName: pulumi.String(\"example_lambda_name\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.example\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS20dX),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tallowBucket, err := lambda.NewPermission(ctx, \"allow_bucket\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromS3Bucket\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: _func.Arn,\n\t\t\tPrincipal: pulumi.String(\"s3.amazonaws.com\"),\n\t\t\tSourceArn: bucket.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tLambdaFunctions: s3.BucketNotificationLambdaFunctionArray{\n\t\t\t\t\u0026s3.BucketNotificationLambdaFunctionArgs{\n\t\t\t\t\tLambdaFunctionArn: _func.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"AWSLogs/\"),\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tallowBucket,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationLambdaFunctionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder()\n .name(\"iam_for_lambda\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var func = new Function(\"func\", FunctionArgs.builder()\n .code(new FileArchive(\"your-function.zip\"))\n .name(\"example_lambda_name\")\n .role(iamForLambda.arn())\n .handler(\"exports.example\")\n .runtime(\"nodejs20.x\")\n .build());\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"your-bucket-name\")\n .build());\n\n var allowBucket = new Permission(\"allowBucket\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromS3Bucket\")\n .action(\"lambda:InvokeFunction\")\n .function(func.arn())\n .principal(\"s3.amazonaws.com\")\n .sourceArn(bucket.arn())\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder()\n .bucket(bucket.id())\n .lambdaFunctions(BucketNotificationLambdaFunctionArgs.builder()\n .lambdaFunctionArn(func.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"AWSLogs/\")\n .filterSuffix(\".log\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(allowBucket)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy: ${assumeRole.json}\n allowBucket:\n type: aws:lambda:Permission\n name: allow_bucket\n properties:\n statementId: AllowExecutionFromS3Bucket\n action: lambda:InvokeFunction\n function: ${func.arn}\n principal: s3.amazonaws.com\n sourceArn: ${bucket.arn}\n func:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: your-function.zip\n name: example_lambda_name\n role: ${iamForLambda.arn}\n handler: exports.example\n runtime: nodejs20.x\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n lambdaFunctions:\n - lambdaFunctionArn: ${func.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: AWSLogs/\n filterSuffix: .log\n options:\n dependson:\n - ${allowBucket}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Trigger multiple Lambda functions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst func1 = new aws.lambda.Function(\"func1\", {\n code: new pulumi.asset.FileArchive(\"your-function1.zip\"),\n name: \"example_lambda_name1\",\n role: iamForLambda.arn,\n handler: \"exports.example\",\n runtime: aws.lambda.Runtime.NodeJS20dX,\n});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst allowBucket1 = new aws.lambda.Permission(\"allow_bucket1\", {\n statementId: \"AllowExecutionFromS3Bucket1\",\n action: \"lambda:InvokeFunction\",\n \"function\": func1.arn,\n principal: \"s3.amazonaws.com\",\n sourceArn: bucket.arn,\n});\nconst func2 = new aws.lambda.Function(\"func2\", {\n code: new pulumi.asset.FileArchive(\"your-function2.zip\"),\n name: \"example_lambda_name2\",\n role: iamForLambda.arn,\n handler: \"exports.example\",\n});\nconst allowBucket2 = new aws.lambda.Permission(\"allow_bucket2\", {\n statementId: \"AllowExecutionFromS3Bucket2\",\n action: \"lambda:InvokeFunction\",\n \"function\": func2.arn,\n principal: \"s3.amazonaws.com\",\n sourceArn: bucket.arn,\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n lambdaFunctions: [\n {\n lambdaFunctionArn: func1.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"AWSLogs/\",\n filterSuffix: \".log\",\n },\n {\n lambdaFunctionArn: func2.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"OtherLogs/\",\n filterSuffix: \".log\",\n },\n ],\n}, {\n dependsOn: [\n allowBucket1,\n allowBucket2,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"lambda.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=assume_role.json)\nfunc1 = aws.lambda_.Function(\"func1\",\n code=pulumi.FileArchive(\"your-function1.zip\"),\n name=\"example_lambda_name1\",\n role=iam_for_lambda.arn,\n handler=\"exports.example\",\n runtime=aws.lambda_.Runtime.NODE_JS20D_X)\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nallow_bucket1 = aws.lambda_.Permission(\"allow_bucket1\",\n statement_id=\"AllowExecutionFromS3Bucket1\",\n action=\"lambda:InvokeFunction\",\n function=func1.arn,\n principal=\"s3.amazonaws.com\",\n source_arn=bucket.arn)\nfunc2 = aws.lambda_.Function(\"func2\",\n code=pulumi.FileArchive(\"your-function2.zip\"),\n name=\"example_lambda_name2\",\n role=iam_for_lambda.arn,\n handler=\"exports.example\")\nallow_bucket2 = aws.lambda_.Permission(\"allow_bucket2\",\n statement_id=\"AllowExecutionFromS3Bucket2\",\n action=\"lambda:InvokeFunction\",\n function=func2.arn,\n principal=\"s3.amazonaws.com\",\n source_arn=bucket.arn)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n lambda_functions=[\n {\n \"lambda_function_arn\": func1.arn,\n \"events\": [\"s3:ObjectCreated:*\"],\n \"filter_prefix\": \"AWSLogs/\",\n \"filter_suffix\": \".log\",\n },\n {\n \"lambda_function_arn\": func2.arn,\n \"events\": [\"s3:ObjectCreated:*\"],\n \"filter_prefix\": \"OtherLogs/\",\n \"filter_suffix\": \".log\",\n },\n ],\n opts = pulumi.ResourceOptions(depends_on=[\n allow_bucket1,\n allow_bucket2,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var func1 = new Aws.Lambda.Function(\"func1\", new()\n {\n Code = new FileArchive(\"your-function1.zip\"),\n Name = \"example_lambda_name1\",\n Role = iamForLambda.Arn,\n Handler = \"exports.example\",\n Runtime = Aws.Lambda.Runtime.NodeJS20dX,\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var allowBucket1 = new Aws.Lambda.Permission(\"allow_bucket1\", new()\n {\n StatementId = \"AllowExecutionFromS3Bucket1\",\n Action = \"lambda:InvokeFunction\",\n Function = func1.Arn,\n Principal = \"s3.amazonaws.com\",\n SourceArn = bucket.Arn,\n });\n\n var func2 = new Aws.Lambda.Function(\"func2\", new()\n {\n Code = new FileArchive(\"your-function2.zip\"),\n Name = \"example_lambda_name2\",\n Role = iamForLambda.Arn,\n Handler = \"exports.example\",\n });\n\n var allowBucket2 = new Aws.Lambda.Permission(\"allow_bucket2\", new()\n {\n StatementId = \"AllowExecutionFromS3Bucket2\",\n Action = \"lambda:InvokeFunction\",\n Function = func2.Arn,\n Principal = \"s3.amazonaws.com\",\n SourceArn = bucket.Arn,\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n LambdaFunctions = new[]\n {\n new Aws.S3.Inputs.BucketNotificationLambdaFunctionArgs\n {\n LambdaFunctionArn = func1.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"AWSLogs/\",\n FilterSuffix = \".log\",\n },\n new Aws.S3.Inputs.BucketNotificationLambdaFunctionArgs\n {\n LambdaFunctionArn = func2.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"OtherLogs/\",\n FilterSuffix = \".log\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n allowBucket1,\n allowBucket2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfunc1, err := lambda.NewFunction(ctx, \"func1\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"your-function1.zip\"),\n\t\t\tName: pulumi.String(\"example_lambda_name1\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.example\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS20dX),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tallowBucket1, err := lambda.NewPermission(ctx, \"allow_bucket1\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromS3Bucket1\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: func1.Arn,\n\t\t\tPrincipal: pulumi.String(\"s3.amazonaws.com\"),\n\t\t\tSourceArn: bucket.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfunc2, err := lambda.NewFunction(ctx, \"func2\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"your-function2.zip\"),\n\t\t\tName: pulumi.String(\"example_lambda_name2\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tallowBucket2, err := lambda.NewPermission(ctx, \"allow_bucket2\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromS3Bucket2\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: func2.Arn,\n\t\t\tPrincipal: pulumi.String(\"s3.amazonaws.com\"),\n\t\t\tSourceArn: bucket.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tLambdaFunctions: s3.BucketNotificationLambdaFunctionArray{\n\t\t\t\t\u0026s3.BucketNotificationLambdaFunctionArgs{\n\t\t\t\t\tLambdaFunctionArn: func1.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"AWSLogs/\"),\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketNotificationLambdaFunctionArgs{\n\t\t\t\t\tLambdaFunctionArn: func2.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"OtherLogs/\"),\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tallowBucket1,\n\t\t\tallowBucket2,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationLambdaFunctionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder()\n .name(\"iam_for_lambda\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var func1 = new Function(\"func1\", FunctionArgs.builder()\n .code(new FileArchive(\"your-function1.zip\"))\n .name(\"example_lambda_name1\")\n .role(iamForLambda.arn())\n .handler(\"exports.example\")\n .runtime(\"nodejs20.x\")\n .build());\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"your-bucket-name\")\n .build());\n\n var allowBucket1 = new Permission(\"allowBucket1\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromS3Bucket1\")\n .action(\"lambda:InvokeFunction\")\n .function(func1.arn())\n .principal(\"s3.amazonaws.com\")\n .sourceArn(bucket.arn())\n .build());\n\n var func2 = new Function(\"func2\", FunctionArgs.builder()\n .code(new FileArchive(\"your-function2.zip\"))\n .name(\"example_lambda_name2\")\n .role(iamForLambda.arn())\n .handler(\"exports.example\")\n .build());\n\n var allowBucket2 = new Permission(\"allowBucket2\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromS3Bucket2\")\n .action(\"lambda:InvokeFunction\")\n .function(func2.arn())\n .principal(\"s3.amazonaws.com\")\n .sourceArn(bucket.arn())\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder()\n .bucket(bucket.id())\n .lambdaFunctions( \n BucketNotificationLambdaFunctionArgs.builder()\n .lambdaFunctionArn(func1.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"AWSLogs/\")\n .filterSuffix(\".log\")\n .build(),\n BucketNotificationLambdaFunctionArgs.builder()\n .lambdaFunctionArn(func2.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"OtherLogs/\")\n .filterSuffix(\".log\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n allowBucket1,\n allowBucket2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy: ${assumeRole.json}\n allowBucket1:\n type: aws:lambda:Permission\n name: allow_bucket1\n properties:\n statementId: AllowExecutionFromS3Bucket1\n action: lambda:InvokeFunction\n function: ${func1.arn}\n principal: s3.amazonaws.com\n sourceArn: ${bucket.arn}\n func1:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: your-function1.zip\n name: example_lambda_name1\n role: ${iamForLambda.arn}\n handler: exports.example\n runtime: nodejs20.x\n allowBucket2:\n type: aws:lambda:Permission\n name: allow_bucket2\n properties:\n statementId: AllowExecutionFromS3Bucket2\n action: lambda:InvokeFunction\n function: ${func2.arn}\n principal: s3.amazonaws.com\n sourceArn: ${bucket.arn}\n func2:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: your-function2.zip\n name: example_lambda_name2\n role: ${iamForLambda.arn}\n handler: exports.example\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n lambdaFunctions:\n - lambdaFunctionArn: ${func1.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: AWSLogs/\n filterSuffix: .log\n - lambdaFunctionArn: ${func2.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: OtherLogs/\n filterSuffix: .log\n options:\n dependson:\n - ${allowBucket1}\n - ${allowBucket2}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add multiple notification configurations to SQS Queue\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst queue = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"sqs:SendMessage\"],\n resources: [\"arn:aws:sqs:*:*:s3-event-notification-queue\"],\n conditions: [{\n test: \"ArnEquals\",\n variable: \"aws:SourceArn\",\n values: [bucket.arn],\n }],\n }],\n});\nconst queueQueue = new aws.sqs.Queue(\"queue\", {\n name: \"s3-event-notification-queue\",\n policy: queue.apply(queue =\u003e queue.json),\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n queues: [\n {\n id: \"image-upload-event\",\n queueArn: queueQueue.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"images/\",\n },\n {\n id: \"video-upload-event\",\n queueArn: queueQueue.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"videos/\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nqueue = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"sqs:SendMessage\"],\n \"resources\": [\"arn:aws:sqs:*:*:s3-event-notification-queue\"],\n \"conditions\": [{\n \"test\": \"ArnEquals\",\n \"variable\": \"aws:SourceArn\",\n \"values\": [bucket.arn],\n }],\n}])\nqueue_queue = aws.sqs.Queue(\"queue\",\n name=\"s3-event-notification-queue\",\n policy=queue.json)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n queues=[\n {\n \"id\": \"image-upload-event\",\n \"queue_arn\": queue_queue.arn,\n \"events\": [\"s3:ObjectCreated:*\"],\n \"filter_prefix\": \"images/\",\n },\n {\n \"id\": \"video-upload-event\",\n \"queue_arn\": queue_queue.arn,\n \"events\": [\"s3:ObjectCreated:*\"],\n \"filter_prefix\": \"videos/\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var queue = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"sqs:SendMessage\",\n },\n Resources = new[]\n {\n \"arn:aws:sqs:*:*:s3-event-notification-queue\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n bucket.Arn,\n },\n },\n },\n },\n },\n });\n\n var queueQueue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"s3-event-notification-queue\",\n Policy = queue.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n Queues = new[]\n {\n new Aws.S3.Inputs.BucketNotificationQueueArgs\n {\n Id = \"image-upload-event\",\n QueueArn = queueQueue.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"images/\",\n },\n new Aws.S3.Inputs.BucketNotificationQueueArgs\n {\n Id = \"video-upload-event\",\n QueueArn = queueQueue.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"videos/\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqueue := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sqs:SendMessage\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"arn:aws:sqs:*:*:s3-event-notification-queue\"),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"ArnEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tbucket.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tqueueQueue, err := sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"s3-event-notification-queue\"),\n\t\t\tPolicy: pulumi.String(queue.ApplyT(func(queue iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026queue.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tQueues: s3.BucketNotificationQueueArray{\n\t\t\t\t\u0026s3.BucketNotificationQueueArgs{\n\t\t\t\t\tId: pulumi.String(\"image-upload-event\"),\n\t\t\t\t\tQueueArn: queueQueue.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"images/\"),\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketNotificationQueueArgs{\n\t\t\t\t\tId: pulumi.String(\"video-upload-event\"),\n\t\t\t\t\tQueueArn: queueQueue.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"videos/\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"your-bucket-name\")\n .build());\n\n final var queue = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"sqs:SendMessage\")\n .resources(\"arn:aws:sqs:*:*:s3-event-notification-queue\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .variable(\"aws:SourceArn\")\n .values(bucket.arn())\n .build())\n .build())\n .build());\n\n var queueQueue = new Queue(\"queueQueue\", QueueArgs.builder()\n .name(\"s3-event-notification-queue\")\n .policy(queue.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(queue -\u003e queue.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder()\n .bucket(bucket.id())\n .queues( \n BucketNotificationQueueArgs.builder()\n .id(\"image-upload-event\")\n .queueArn(queueQueue.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"images/\")\n .build(),\n BucketNotificationQueueArgs.builder()\n .id(\"video-upload-event\")\n .queueArn(queueQueue.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"videos/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queueQueue:\n type: aws:sqs:Queue\n name: queue\n properties:\n name: s3-event-notification-queue\n policy: ${queue.json}\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n queues:\n - id: image-upload-event\n queueArn: ${queueQueue.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: images/\n - id: video-upload-event\n queueArn: ${queueQueue.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: videos/\nvariables:\n queue:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - sqs:SendMessage\n resources:\n - arn:aws:sqs:*:*:s3-event-notification-queue\n conditions:\n - test: ArnEquals\n variable: aws:SourceArn\n values:\n - ${bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFor JSON syntax, use an array instead of defining the `queue` key twice.\n\n```json\n{\n\t\"bucket\": \"${aws_s3_bucket.bucket.id}\",\n\t\"queue\": [\n\t\t{\n\t\t\t\"id\": \"image-upload-event\",\n\t\t\t\"queue_arn\": \"${aws_sqs_queue.queue.arn}\",\n\t\t\t\"events\": [\"s3:ObjectCreated:*\"],\n\t\t\t\"filter_prefix\": \"images/\"\n\t\t},\n\t\t{\n\t\t\t\"id\": \"video-upload-event\",\n\t\t\t\"queue_arn\": \"${aws_sqs_queue.queue.arn}\",\n\t\t\t\"events\": [\"s3:ObjectCreated:*\"],\n\t\t\t\"filter_prefix\": \"videos/\"\n\t\t}\n\t]\n}\n```\n\n### Emit events to EventBridge\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n eventbridge: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n eventbridge=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n Eventbridge = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tEventbridge: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"your-bucket-name\")\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder()\n .bucket(bucket.id())\n .eventbridge(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n eventbridge: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket notification using the `bucket`. For example:\n\n```sh\n$ pulumi import aws:s3/bucketNotification:BucketNotification bucket_notification bucket-name\n```\n", "properties": { "bucket": { "type": "string", @@ -346882,7 +346882,7 @@ } }, "aws:s3/bucketObject:BucketObject": { - "description": "Provides an S3 object resource.\n\n## Example Usage\n\n### Uploading a file to a bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst object = new aws.s3.BucketObject(\"object\", {\n bucket: \"your_bucket_name\",\n key: \"new_object_key\",\n source: new pulumi.asset.FileAsset(\"path/to/file\"),\n etag: std.filemd5({\n input: \"path/to/file\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nobject = aws.s3.BucketObject(\"object\",\n bucket=\"your_bucket_name\",\n key=\"new_object_key\",\n source=pulumi.FileAsset(\"path/to/file\"),\n etag=std.filemd5(input=\"path/to/file\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @object = new Aws.S3.BucketObject(\"object\", new()\n {\n Bucket = \"your_bucket_name\",\n Key = \"new_object_key\",\n Source = new FileAsset(\"path/to/file\"),\n Etag = Std.Filemd5.Invoke(new()\n {\n Input = \"path/to/file\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilemd5, err := std.Filemd5(ctx, \u0026std.Filemd5Args{\n\t\t\tInput: \"path/to/file\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"object\", \u0026s3.BucketObjectArgs{\n\t\t\tBucket: pulumi.Any(\"your_bucket_name\"),\n\t\t\tKey: pulumi.String(\"new_object_key\"),\n\t\t\tSource: pulumi.NewFileAsset(\"path/to/file\"),\n\t\t\tEtag: pulumi.String(invokeFilemd5.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var object = new BucketObject(\"object\", BucketObjectArgs.builder()\n .bucket(\"your_bucket_name\")\n .key(\"new_object_key\")\n .source(new FileAsset(\"path/to/file\"))\n .etag(StdFunctions.filemd5(Filemd5Args.builder()\n .input(\"path/to/file\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n object:\n type: aws:s3:BucketObject\n properties:\n bucket: your_bucket_name\n key: new_object_key\n source:\n fn::FileAsset: path/to/file\n etag:\n fn::invoke:\n function: std:filemd5\n arguments:\n input: path/to/file\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Encrypting with KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplekms = new aws.kms.Key(\"examplekms\", {\n description: \"KMS key 1\",\n deletionWindowInDays: 7,\n});\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObject = new aws.s3.BucketObject(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n kmsKeyId: examplekms.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplekms = aws.kms.Key(\"examplekms\",\n description=\"KMS key 1\",\n deletion_window_in_days=7)\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_object = aws.s3.BucketObject(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n kms_key_id=examplekms.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplekms = new Aws.Kms.Key(\"examplekms\", new()\n {\n Description = \"KMS key 1\",\n DeletionWindowInDays = 7,\n });\n\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObject = new Aws.S3.BucketObject(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n KmsKeyId = examplekms.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplekms, err := kms.NewKey(ctx, \"examplekms\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS key 1\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tKmsKeyId: examplekms.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplekms = new Key(\"examplekms\", KeyArgs.builder()\n .description(\"KMS key 1\")\n .deletionWindowInDays(7)\n .build());\n\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObject = new BucketObject(\"exampleBucketObject\", BucketObjectArgs.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .kmsKeyId(examplekms.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplekms:\n type: aws:kms:Key\n properties:\n description: KMS key 1\n deletionWindowInDays: 7\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObject:\n type: aws:s3:BucketObject\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n kmsKeyId: ${examplekms.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Side Encryption with S3 Default Master Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObject = new aws.s3.BucketObject(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n serverSideEncryption: \"aws:kms\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_object = aws.s3.BucketObject(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n server_side_encryption=\"aws:kms\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObject = new Aws.S3.BucketObject(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n ServerSideEncryption = \"aws:kms\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tServerSideEncryption: pulumi.String(\"aws:kms\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObject = new BucketObject(\"exampleBucketObject\", BucketObjectArgs.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .serverSideEncryption(\"aws:kms\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObject:\n type: aws:s3:BucketObject\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n serverSideEncryption: aws:kms\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Side Encryption with AWS-Managed Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObject = new aws.s3.BucketObject(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n serverSideEncryption: \"AES256\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_object = aws.s3.BucketObject(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n server_side_encryption=\"AES256\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObject = new Aws.S3.BucketObject(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n ServerSideEncryption = \"AES256\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tServerSideEncryption: pulumi.String(\"AES256\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObject = new BucketObject(\"exampleBucketObject\", BucketObjectArgs.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .serverSideEncryption(\"AES256\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObject:\n type: aws:s3:BucketObject\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n serverSideEncryption: AES256\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Object Lock\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {\n bucket: \"examplebuckettftest\",\n objectLockEnabled: true,\n});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"example\", {\n bucket: examplebucket.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst exampleBucketObject = new aws.s3.BucketObject(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"important.txt\"),\n objectLockLegalHoldStatus: \"ON\",\n objectLockMode: \"GOVERNANCE\",\n objectLockRetainUntilDate: \"2021-12-31T23:59:60Z\",\n forceDestroy: true,\n}, {\n dependsOn: [exampleBucketVersioningV2],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\",\n bucket=\"examplebuckettftest\",\n object_lock_enabled=True)\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"example\",\n bucket=examplebucket.id,\n versioning_configuration={\n \"status\": \"Enabled\",\n })\nexample_bucket_object = aws.s3.BucketObject(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"important.txt\"),\n object_lock_legal_hold_status=\"ON\",\n object_lock_mode=\"GOVERNANCE\",\n object_lock_retain_until_date=\"2021-12-31T23:59:60Z\",\n force_destroy=True,\n opts = pulumi.ResourceOptions(depends_on=[example_bucket_versioning_v2]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n ObjectLockEnabled = true,\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var exampleBucketObject = new Aws.S3.BucketObject(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"important.txt\"),\n ObjectLockLegalHoldStatus = \"ON\",\n ObjectLockMode = \"GOVERNANCE\",\n ObjectLockRetainUntilDate = \"2021-12-31T23:59:60Z\",\n ForceDestroy = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketVersioningV2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t\tObjectLockEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"example\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"important.txt\"),\n\t\t\tObjectLockLegalHoldStatus: pulumi.String(\"ON\"),\n\t\t\tObjectLockMode: pulumi.String(\"GOVERNANCE\"),\n\t\t\tObjectLockRetainUntilDate: pulumi.String(\"2021-12-31T23:59:60Z\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketVersioningV2,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .objectLockEnabled(true)\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketVersioningV2 = new BucketVersioningV2(\"exampleBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(examplebucket.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var exampleBucketObject = new BucketObject(\"exampleBucketObject\", BucketObjectArgs.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"important.txt\"))\n .objectLockLegalHoldStatus(\"ON\")\n .objectLockMode(\"GOVERNANCE\")\n .objectLockRetainUntilDate(\"2021-12-31T23:59:60Z\")\n .forceDestroy(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketVersioningV2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n objectLockEnabled: true\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: example\n properties:\n bucket: ${examplebucket.id}\n versioningConfiguration:\n status: Enabled\n exampleBucketObject:\n type: aws:s3:BucketObject\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: important.txt\n objectLockLegalHoldStatus: ON\n objectLockMode: GOVERNANCE\n objectLockRetainUntilDate: 2021-12-31T23:59:60Z\n forceDestroy: true\n options:\n dependsOn:\n - ${exampleBucketVersioningV2}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport using S3 URL syntax:\n\n__Using `pulumi import` to import__ objects using the `id` or S3 URL. For example:\n\nImport using the `id`, which is the bucket name and the key together:\n\n```sh\n$ pulumi import aws:s3/bucketObject:BucketObject example some-bucket-name/some/key.txt\n```\nImport using S3 URL syntax:\n\n```sh\n$ pulumi import aws:s3/bucketObject:BucketObject example s3://some-bucket-name/some/key.txt\n```\n", + "description": "Provides an S3 object resource.\n\n## Example Usage\n\n### Uploading a file to a bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst object = new aws.s3.BucketObject(\"object\", {\n bucket: \"your_bucket_name\",\n key: \"new_object_key\",\n source: new pulumi.asset.FileAsset(\"path/to/file\"),\n etag: std.filemd5({\n input: \"path/to/file\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nobject = aws.s3.BucketObject(\"object\",\n bucket=\"your_bucket_name\",\n key=\"new_object_key\",\n source=pulumi.FileAsset(\"path/to/file\"),\n etag=std.filemd5(input=\"path/to/file\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @object = new Aws.S3.BucketObject(\"object\", new()\n {\n Bucket = \"your_bucket_name\",\n Key = \"new_object_key\",\n Source = new FileAsset(\"path/to/file\"),\n Etag = Std.Filemd5.Invoke(new()\n {\n Input = \"path/to/file\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilemd5, err := std.Filemd5(ctx, \u0026std.Filemd5Args{\n\t\t\tInput: \"path/to/file\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"object\", \u0026s3.BucketObjectArgs{\n\t\t\tBucket: pulumi.Any(\"your_bucket_name\"),\n\t\t\tKey: pulumi.String(\"new_object_key\"),\n\t\t\tSource: pulumi.NewFileAsset(\"path/to/file\"),\n\t\t\tEtag: pulumi.String(invokeFilemd5.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var object = new BucketObject(\"object\", BucketObjectArgs.builder()\n .bucket(\"your_bucket_name\")\n .key(\"new_object_key\")\n .source(new FileAsset(\"path/to/file\"))\n .etag(StdFunctions.filemd5(Filemd5Args.builder()\n .input(\"path/to/file\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n object:\n type: aws:s3:BucketObject\n properties:\n bucket: your_bucket_name\n key: new_object_key\n source:\n fn::FileAsset: path/to/file\n etag:\n fn::invoke:\n Function: std:filemd5\n Arguments:\n input: path/to/file\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Encrypting with KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplekms = new aws.kms.Key(\"examplekms\", {\n description: \"KMS key 1\",\n deletionWindowInDays: 7,\n});\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObject = new aws.s3.BucketObject(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n kmsKeyId: examplekms.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplekms = aws.kms.Key(\"examplekms\",\n description=\"KMS key 1\",\n deletion_window_in_days=7)\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_object = aws.s3.BucketObject(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n kms_key_id=examplekms.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplekms = new Aws.Kms.Key(\"examplekms\", new()\n {\n Description = \"KMS key 1\",\n DeletionWindowInDays = 7,\n });\n\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObject = new Aws.S3.BucketObject(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n KmsKeyId = examplekms.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplekms, err := kms.NewKey(ctx, \"examplekms\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS key 1\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tKmsKeyId: examplekms.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplekms = new Key(\"examplekms\", KeyArgs.builder()\n .description(\"KMS key 1\")\n .deletionWindowInDays(7)\n .build());\n\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObject = new BucketObject(\"exampleBucketObject\", BucketObjectArgs.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .kmsKeyId(examplekms.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplekms:\n type: aws:kms:Key\n properties:\n description: KMS key 1\n deletionWindowInDays: 7\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObject:\n type: aws:s3:BucketObject\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n kmsKeyId: ${examplekms.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Side Encryption with S3 Default Master Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObject = new aws.s3.BucketObject(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n serverSideEncryption: \"aws:kms\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_object = aws.s3.BucketObject(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n server_side_encryption=\"aws:kms\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObject = new Aws.S3.BucketObject(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n ServerSideEncryption = \"aws:kms\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tServerSideEncryption: pulumi.String(\"aws:kms\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObject = new BucketObject(\"exampleBucketObject\", BucketObjectArgs.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .serverSideEncryption(\"aws:kms\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObject:\n type: aws:s3:BucketObject\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n serverSideEncryption: aws:kms\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Side Encryption with AWS-Managed Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObject = new aws.s3.BucketObject(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n serverSideEncryption: \"AES256\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_object = aws.s3.BucketObject(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n server_side_encryption=\"AES256\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObject = new Aws.S3.BucketObject(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n ServerSideEncryption = \"AES256\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tServerSideEncryption: pulumi.String(\"AES256\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObject = new BucketObject(\"exampleBucketObject\", BucketObjectArgs.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .serverSideEncryption(\"AES256\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObject:\n type: aws:s3:BucketObject\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n serverSideEncryption: AES256\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Object Lock\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {\n bucket: \"examplebuckettftest\",\n objectLockEnabled: true,\n});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"example\", {\n bucket: examplebucket.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst exampleBucketObject = new aws.s3.BucketObject(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"important.txt\"),\n objectLockLegalHoldStatus: \"ON\",\n objectLockMode: \"GOVERNANCE\",\n objectLockRetainUntilDate: \"2021-12-31T23:59:60Z\",\n forceDestroy: true,\n}, {\n dependsOn: [exampleBucketVersioningV2],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\",\n bucket=\"examplebuckettftest\",\n object_lock_enabled=True)\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"example\",\n bucket=examplebucket.id,\n versioning_configuration={\n \"status\": \"Enabled\",\n })\nexample_bucket_object = aws.s3.BucketObject(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"important.txt\"),\n object_lock_legal_hold_status=\"ON\",\n object_lock_mode=\"GOVERNANCE\",\n object_lock_retain_until_date=\"2021-12-31T23:59:60Z\",\n force_destroy=True,\n opts = pulumi.ResourceOptions(depends_on=[example_bucket_versioning_v2]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n ObjectLockEnabled = true,\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var exampleBucketObject = new Aws.S3.BucketObject(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"important.txt\"),\n ObjectLockLegalHoldStatus = \"ON\",\n ObjectLockMode = \"GOVERNANCE\",\n ObjectLockRetainUntilDate = \"2021-12-31T23:59:60Z\",\n ForceDestroy = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketVersioningV2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t\tObjectLockEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"example\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"important.txt\"),\n\t\t\tObjectLockLegalHoldStatus: pulumi.String(\"ON\"),\n\t\t\tObjectLockMode: pulumi.String(\"GOVERNANCE\"),\n\t\t\tObjectLockRetainUntilDate: pulumi.String(\"2021-12-31T23:59:60Z\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketVersioningV2,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .objectLockEnabled(true)\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketVersioningV2 = new BucketVersioningV2(\"exampleBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(examplebucket.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var exampleBucketObject = new BucketObject(\"exampleBucketObject\", BucketObjectArgs.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"important.txt\"))\n .objectLockLegalHoldStatus(\"ON\")\n .objectLockMode(\"GOVERNANCE\")\n .objectLockRetainUntilDate(\"2021-12-31T23:59:60Z\")\n .forceDestroy(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketVersioningV2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n objectLockEnabled: true\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: example\n properties:\n bucket: ${examplebucket.id}\n versioningConfiguration:\n status: Enabled\n exampleBucketObject:\n type: aws:s3:BucketObject\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: important.txt\n objectLockLegalHoldStatus: ON\n objectLockMode: GOVERNANCE\n objectLockRetainUntilDate: 2021-12-31T23:59:60Z\n forceDestroy: true\n options:\n dependson:\n - ${exampleBucketVersioningV2}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport using S3 URL syntax:\n\n__Using `pulumi import` to import__ objects using the `id` or S3 URL. For example:\n\nImport using the `id`, which is the bucket name and the key together:\n\n```sh\n$ pulumi import aws:s3/bucketObject:BucketObject example some-bucket-name/some/key.txt\n```\nImport using S3 URL syntax:\n\n```sh\n$ pulumi import aws:s3/bucketObject:BucketObject example s3://some-bucket-name/some/key.txt\n```\n", "properties": { "acl": { "type": "string", @@ -347359,7 +347359,7 @@ } }, "aws:s3/bucketObjectv2:BucketObjectv2": { - "description": "Provides an S3 object resource.\n\n## Example Usage\n\n### Uploading a file to a bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst object = new aws.s3.BucketObjectv2(\"object\", {\n bucket: \"your_bucket_name\",\n key: \"new_object_key\",\n source: new pulumi.asset.FileAsset(\"path/to/file\"),\n etag: std.filemd5({\n input: \"path/to/file\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nobject = aws.s3.BucketObjectv2(\"object\",\n bucket=\"your_bucket_name\",\n key=\"new_object_key\",\n source=pulumi.FileAsset(\"path/to/file\"),\n etag=std.filemd5(input=\"path/to/file\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @object = new Aws.S3.BucketObjectv2(\"object\", new()\n {\n Bucket = \"your_bucket_name\",\n Key = \"new_object_key\",\n Source = new FileAsset(\"path/to/file\"),\n Etag = Std.Filemd5.Invoke(new()\n {\n Input = \"path/to/file\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilemd5, err := std.Filemd5(ctx, \u0026std.Filemd5Args{\n\t\t\tInput: \"path/to/file\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"object\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: pulumi.Any(\"your_bucket_name\"),\n\t\t\tKey: pulumi.String(\"new_object_key\"),\n\t\t\tSource: pulumi.NewFileAsset(\"path/to/file\"),\n\t\t\tEtag: pulumi.String(invokeFilemd5.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var object = new BucketObjectv2(\"object\", BucketObjectv2Args.builder()\n .bucket(\"your_bucket_name\")\n .key(\"new_object_key\")\n .source(new FileAsset(\"path/to/file\"))\n .etag(StdFunctions.filemd5(Filemd5Args.builder()\n .input(\"path/to/file\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n object:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: your_bucket_name\n key: new_object_key\n source:\n fn::FileAsset: path/to/file\n etag:\n fn::invoke:\n function: std:filemd5\n arguments:\n input: path/to/file\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Encrypting with KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplekms = new aws.kms.Key(\"examplekms\", {\n description: \"KMS key 1\",\n deletionWindowInDays: 7,\n});\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n kmsKeyId: examplekms.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplekms = aws.kms.Key(\"examplekms\",\n description=\"KMS key 1\",\n deletion_window_in_days=7)\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n kms_key_id=examplekms.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplekms = new Aws.Kms.Key(\"examplekms\", new()\n {\n Description = \"KMS key 1\",\n DeletionWindowInDays = 7,\n });\n\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n KmsKeyId = examplekms.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplekms, err := kms.NewKey(ctx, \"examplekms\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS key 1\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tKmsKeyId: examplekms.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplekms = new Key(\"examplekms\", KeyArgs.builder()\n .description(\"KMS key 1\")\n .deletionWindowInDays(7)\n .build());\n\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .kmsKeyId(examplekms.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplekms:\n type: aws:kms:Key\n properties:\n description: KMS key 1\n deletionWindowInDays: 7\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n kmsKeyId: ${examplekms.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Side Encryption with S3 Default Master Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n serverSideEncryption: \"aws:kms\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n server_side_encryption=\"aws:kms\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n ServerSideEncryption = \"aws:kms\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tServerSideEncryption: pulumi.String(\"aws:kms\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .serverSideEncryption(\"aws:kms\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n serverSideEncryption: aws:kms\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Side Encryption with AWS-Managed Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n serverSideEncryption: \"AES256\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n server_side_encryption=\"AES256\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n ServerSideEncryption = \"AES256\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tServerSideEncryption: pulumi.String(\"AES256\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .serverSideEncryption(\"AES256\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n serverSideEncryption: AES256\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Object Lock\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {\n bucket: \"examplebuckettftest\",\n objectLockEnabled: true,\n});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"example\", {\n bucket: examplebucket.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst examplebucketObject = new aws.s3.BucketObjectv2(\"examplebucket_object\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"important.txt\"),\n objectLockLegalHoldStatus: \"ON\",\n objectLockMode: \"GOVERNANCE\",\n objectLockRetainUntilDate: \"2021-12-31T23:59:60Z\",\n forceDestroy: true,\n}, {\n dependsOn: [exampleBucketVersioningV2],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\",\n bucket=\"examplebuckettftest\",\n object_lock_enabled=True)\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"example\",\n bucket=examplebucket.id,\n versioning_configuration={\n \"status\": \"Enabled\",\n })\nexamplebucket_object = aws.s3.BucketObjectv2(\"examplebucket_object\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"important.txt\"),\n object_lock_legal_hold_status=\"ON\",\n object_lock_mode=\"GOVERNANCE\",\n object_lock_retain_until_date=\"2021-12-31T23:59:60Z\",\n force_destroy=True,\n opts = pulumi.ResourceOptions(depends_on=[example_bucket_versioning_v2]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n ObjectLockEnabled = true,\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var examplebucketObject = new Aws.S3.BucketObjectv2(\"examplebucket_object\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"important.txt\"),\n ObjectLockLegalHoldStatus = \"ON\",\n ObjectLockMode = \"GOVERNANCE\",\n ObjectLockRetainUntilDate = \"2021-12-31T23:59:60Z\",\n ForceDestroy = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketVersioningV2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t\tObjectLockEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"example\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"examplebucket_object\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"important.txt\"),\n\t\t\tObjectLockLegalHoldStatus: pulumi.String(\"ON\"),\n\t\t\tObjectLockMode: pulumi.String(\"GOVERNANCE\"),\n\t\t\tObjectLockRetainUntilDate: pulumi.String(\"2021-12-31T23:59:60Z\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketVersioningV2,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .objectLockEnabled(true)\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketVersioningV2 = new BucketVersioningV2(\"exampleBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(examplebucket.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var examplebucketObject = new BucketObjectv2(\"examplebucketObject\", BucketObjectv2Args.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"important.txt\"))\n .objectLockLegalHoldStatus(\"ON\")\n .objectLockMode(\"GOVERNANCE\")\n .objectLockRetainUntilDate(\"2021-12-31T23:59:60Z\")\n .forceDestroy(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketVersioningV2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n objectLockEnabled: true\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: example\n properties:\n bucket: ${examplebucket.id}\n versioningConfiguration:\n status: Enabled\n examplebucketObject:\n type: aws:s3:BucketObjectv2\n name: examplebucket_object\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: important.txt\n objectLockLegalHoldStatus: ON\n objectLockMode: GOVERNANCE\n objectLockRetainUntilDate: 2021-12-31T23:59:60Z\n forceDestroy: true\n options:\n dependsOn:\n - ${exampleBucketVersioningV2}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ignoring Provider `default_tags`\n\nS3 objects support a [maximum of 10 tags](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html).\nIf the resource's own `tags` and the provider-level `default_tags` would together lead to more than 10 tags on an S3 object, use the `override_provider` configuration block to suppress any provider-level `default_tags`.\n\n\u003e S3 objects stored in Amazon S3 Express directory buckets do not support tags, so any provider-level `default_tags` must be suppressed.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst examplebucketObject = new aws.s3.BucketObjectv2(\"examplebucket_object\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"important.txt\"),\n tags: {\n Env: \"test\",\n },\n overrideProvider: {\n defaultTags: {\n tags: {},\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexamplebucket_object = aws.s3.BucketObjectv2(\"examplebucket_object\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"important.txt\"),\n tags={\n \"Env\": \"test\",\n },\n override_provider={\n \"default_tags\": {\n \"tags\": {},\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var examplebucketObject = new Aws.S3.BucketObjectv2(\"examplebucket_object\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"important.txt\"),\n Tags = \n {\n { \"Env\", \"test\" },\n },\n OverrideProvider = new Aws.S3.Inputs.BucketObjectv2OverrideProviderArgs\n {\n DefaultTags = new Aws.S3.Inputs.BucketObjectv2OverrideProviderDefaultTagsArgs\n {\n Tags = null,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"examplebucket_object\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"important.txt\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t\tOverrideProvider: \u0026s3.BucketObjectv2OverrideProviderArgs{\n\t\t\t\tDefaultTags: \u0026s3.BucketObjectv2OverrideProviderDefaultTagsArgs{\n\t\t\t\t\tTags: pulumi.StringMap{},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.s3.inputs.BucketObjectv2OverrideProviderArgs;\nimport com.pulumi.aws.s3.inputs.BucketObjectv2OverrideProviderDefaultTagsArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var examplebucketObject = new BucketObjectv2(\"examplebucketObject\", BucketObjectv2Args.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"important.txt\"))\n .tags(Map.of(\"Env\", \"test\"))\n .overrideProvider(BucketObjectv2OverrideProviderArgs.builder()\n .defaultTags(BucketObjectv2OverrideProviderDefaultTagsArgs.builder()\n .tags()\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n examplebucketObject:\n type: aws:s3:BucketObjectv2\n name: examplebucket_object\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: important.txt\n tags:\n Env: test\n overrideProvider:\n defaultTags:\n tags: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport using S3 URL syntax:\n\n__Using `pulumi import` to import__ objects using the `id` or S3 URL. For example:\n\nImport using the `id`, which is the bucket name and the key together:\n\n```sh\n$ pulumi import aws:s3/bucketObjectv2:BucketObjectv2 example some-bucket-name/some/key.txt\n```\nImport using S3 URL syntax:\n\n```sh\n$ pulumi import aws:s3/bucketObjectv2:BucketObjectv2 example s3://some-bucket-name/some/key.txt\n```\n", + "description": "Provides an S3 object resource.\n\n## Example Usage\n\n### Uploading a file to a bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst object = new aws.s3.BucketObjectv2(\"object\", {\n bucket: \"your_bucket_name\",\n key: \"new_object_key\",\n source: new pulumi.asset.FileAsset(\"path/to/file\"),\n etag: std.filemd5({\n input: \"path/to/file\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nobject = aws.s3.BucketObjectv2(\"object\",\n bucket=\"your_bucket_name\",\n key=\"new_object_key\",\n source=pulumi.FileAsset(\"path/to/file\"),\n etag=std.filemd5(input=\"path/to/file\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @object = new Aws.S3.BucketObjectv2(\"object\", new()\n {\n Bucket = \"your_bucket_name\",\n Key = \"new_object_key\",\n Source = new FileAsset(\"path/to/file\"),\n Etag = Std.Filemd5.Invoke(new()\n {\n Input = \"path/to/file\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilemd5, err := std.Filemd5(ctx, \u0026std.Filemd5Args{\n\t\t\tInput: \"path/to/file\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"object\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: pulumi.Any(\"your_bucket_name\"),\n\t\t\tKey: pulumi.String(\"new_object_key\"),\n\t\t\tSource: pulumi.NewFileAsset(\"path/to/file\"),\n\t\t\tEtag: pulumi.String(invokeFilemd5.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var object = new BucketObjectv2(\"object\", BucketObjectv2Args.builder()\n .bucket(\"your_bucket_name\")\n .key(\"new_object_key\")\n .source(new FileAsset(\"path/to/file\"))\n .etag(StdFunctions.filemd5(Filemd5Args.builder()\n .input(\"path/to/file\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n object:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: your_bucket_name\n key: new_object_key\n source:\n fn::FileAsset: path/to/file\n etag:\n fn::invoke:\n Function: std:filemd5\n Arguments:\n input: path/to/file\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Encrypting with KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplekms = new aws.kms.Key(\"examplekms\", {\n description: \"KMS key 1\",\n deletionWindowInDays: 7,\n});\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n kmsKeyId: examplekms.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplekms = aws.kms.Key(\"examplekms\",\n description=\"KMS key 1\",\n deletion_window_in_days=7)\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n kms_key_id=examplekms.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplekms = new Aws.Kms.Key(\"examplekms\", new()\n {\n Description = \"KMS key 1\",\n DeletionWindowInDays = 7,\n });\n\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n KmsKeyId = examplekms.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplekms, err := kms.NewKey(ctx, \"examplekms\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS key 1\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tKmsKeyId: examplekms.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplekms = new Key(\"examplekms\", KeyArgs.builder()\n .description(\"KMS key 1\")\n .deletionWindowInDays(7)\n .build());\n\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .kmsKeyId(examplekms.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplekms:\n type: aws:kms:Key\n properties:\n description: KMS key 1\n deletionWindowInDays: 7\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n kmsKeyId: ${examplekms.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Side Encryption with S3 Default Master Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n serverSideEncryption: \"aws:kms\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n server_side_encryption=\"aws:kms\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n ServerSideEncryption = \"aws:kms\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tServerSideEncryption: pulumi.String(\"aws:kms\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .serverSideEncryption(\"aws:kms\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n serverSideEncryption: aws:kms\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Side Encryption with AWS-Managed Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n serverSideEncryption: \"AES256\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n server_side_encryption=\"AES256\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n ServerSideEncryption = \"AES256\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tServerSideEncryption: pulumi.String(\"AES256\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .serverSideEncryption(\"AES256\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n serverSideEncryption: AES256\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Object Lock\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {\n bucket: \"examplebuckettftest\",\n objectLockEnabled: true,\n});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"example\", {\n bucket: examplebucket.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst examplebucketObject = new aws.s3.BucketObjectv2(\"examplebucket_object\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"important.txt\"),\n objectLockLegalHoldStatus: \"ON\",\n objectLockMode: \"GOVERNANCE\",\n objectLockRetainUntilDate: \"2021-12-31T23:59:60Z\",\n forceDestroy: true,\n}, {\n dependsOn: [exampleBucketVersioningV2],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\",\n bucket=\"examplebuckettftest\",\n object_lock_enabled=True)\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"example\",\n bucket=examplebucket.id,\n versioning_configuration={\n \"status\": \"Enabled\",\n })\nexamplebucket_object = aws.s3.BucketObjectv2(\"examplebucket_object\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"important.txt\"),\n object_lock_legal_hold_status=\"ON\",\n object_lock_mode=\"GOVERNANCE\",\n object_lock_retain_until_date=\"2021-12-31T23:59:60Z\",\n force_destroy=True,\n opts = pulumi.ResourceOptions(depends_on=[example_bucket_versioning_v2]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n ObjectLockEnabled = true,\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var examplebucketObject = new Aws.S3.BucketObjectv2(\"examplebucket_object\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"important.txt\"),\n ObjectLockLegalHoldStatus = \"ON\",\n ObjectLockMode = \"GOVERNANCE\",\n ObjectLockRetainUntilDate = \"2021-12-31T23:59:60Z\",\n ForceDestroy = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketVersioningV2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t\tObjectLockEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"example\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"examplebucket_object\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"important.txt\"),\n\t\t\tObjectLockLegalHoldStatus: pulumi.String(\"ON\"),\n\t\t\tObjectLockMode: pulumi.String(\"GOVERNANCE\"),\n\t\t\tObjectLockRetainUntilDate: pulumi.String(\"2021-12-31T23:59:60Z\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketVersioningV2,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .objectLockEnabled(true)\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketVersioningV2 = new BucketVersioningV2(\"exampleBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(examplebucket.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var examplebucketObject = new BucketObjectv2(\"examplebucketObject\", BucketObjectv2Args.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"important.txt\"))\n .objectLockLegalHoldStatus(\"ON\")\n .objectLockMode(\"GOVERNANCE\")\n .objectLockRetainUntilDate(\"2021-12-31T23:59:60Z\")\n .forceDestroy(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketVersioningV2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n objectLockEnabled: true\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: example\n properties:\n bucket: ${examplebucket.id}\n versioningConfiguration:\n status: Enabled\n examplebucketObject:\n type: aws:s3:BucketObjectv2\n name: examplebucket_object\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: important.txt\n objectLockLegalHoldStatus: ON\n objectLockMode: GOVERNANCE\n objectLockRetainUntilDate: 2021-12-31T23:59:60Z\n forceDestroy: true\n options:\n dependson:\n - ${exampleBucketVersioningV2}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ignoring Provider `default_tags`\n\nS3 objects support a [maximum of 10 tags](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html).\nIf the resource's own `tags` and the provider-level `default_tags` would together lead to more than 10 tags on an S3 object, use the `override_provider` configuration block to suppress any provider-level `default_tags`.\n\n\u003e S3 objects stored in Amazon S3 Express directory buckets do not support tags, so any provider-level `default_tags` must be suppressed.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst examplebucketObject = new aws.s3.BucketObjectv2(\"examplebucket_object\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"important.txt\"),\n tags: {\n Env: \"test\",\n },\n overrideProvider: {\n defaultTags: {\n tags: {},\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexamplebucket_object = aws.s3.BucketObjectv2(\"examplebucket_object\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"important.txt\"),\n tags={\n \"Env\": \"test\",\n },\n override_provider={\n \"default_tags\": {\n \"tags\": {},\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var examplebucketObject = new Aws.S3.BucketObjectv2(\"examplebucket_object\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"important.txt\"),\n Tags = \n {\n { \"Env\", \"test\" },\n },\n OverrideProvider = new Aws.S3.Inputs.BucketObjectv2OverrideProviderArgs\n {\n DefaultTags = new Aws.S3.Inputs.BucketObjectv2OverrideProviderDefaultTagsArgs\n {\n Tags = null,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"examplebucket_object\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"important.txt\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t\tOverrideProvider: \u0026s3.BucketObjectv2OverrideProviderArgs{\n\t\t\t\tDefaultTags: \u0026s3.BucketObjectv2OverrideProviderDefaultTagsArgs{\n\t\t\t\t\tTags: pulumi.StringMap{},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.s3.inputs.BucketObjectv2OverrideProviderArgs;\nimport com.pulumi.aws.s3.inputs.BucketObjectv2OverrideProviderDefaultTagsArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var examplebucketObject = new BucketObjectv2(\"examplebucketObject\", BucketObjectv2Args.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"important.txt\"))\n .tags(Map.of(\"Env\", \"test\"))\n .overrideProvider(BucketObjectv2OverrideProviderArgs.builder()\n .defaultTags(BucketObjectv2OverrideProviderDefaultTagsArgs.builder()\n .tags()\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n examplebucketObject:\n type: aws:s3:BucketObjectv2\n name: examplebucket_object\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: important.txt\n tags:\n Env: test\n overrideProvider:\n defaultTags:\n tags: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport using S3 URL syntax:\n\n__Using `pulumi import` to import__ objects using the `id` or S3 URL. For example:\n\nImport using the `id`, which is the bucket name and the key together:\n\n```sh\n$ pulumi import aws:s3/bucketObjectv2:BucketObjectv2 example some-bucket-name/some/key.txt\n```\nImport using S3 URL syntax:\n\n```sh\n$ pulumi import aws:s3/bucketObjectv2:BucketObjectv2 example s3://some-bucket-name/some/key.txt\n```\n", "properties": { "acl": { "type": "string", @@ -347861,7 +347861,7 @@ } }, "aws:s3/bucketPolicy:BucketPolicy": { - "description": "Attaches a policy to an S3 bucket resource.\n\n\u003e Policies can be attached to both S3 general purpose buckets and S3 directory buckets.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-tf-test-bucket\"});\nconst allowAccessFromAnotherAccount = aws.iam.getPolicyDocumentOutput({\n statements: [{\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n actions: [\n \"s3:GetObject\",\n \"s3:ListBucket\",\n ],\n resources: [\n example.arn,\n pulumi.interpolate`${example.arn}/*`,\n ],\n }],\n});\nconst allowAccessFromAnotherAccountBucketPolicy = new aws.s3.BucketPolicy(\"allow_access_from_another_account\", {\n bucket: example.id,\n policy: allowAccessFromAnotherAccount.apply(allowAccessFromAnotherAccount =\u003e allowAccessFromAnotherAccount.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-tf-test-bucket\")\nallow_access_from_another_account = aws.iam.get_policy_document_output(statements=[{\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"123456789012\"],\n }],\n \"actions\": [\n \"s3:GetObject\",\n \"s3:ListBucket\",\n ],\n \"resources\": [\n example.arn,\n example.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n}])\nallow_access_from_another_account_bucket_policy = aws.s3.BucketPolicy(\"allow_access_from_another_account\",\n bucket=example.id,\n policy=allow_access_from_another_account.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-test-bucket\",\n });\n\n var allowAccessFromAnotherAccount = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetObject\",\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n example.Arn,\n $\"{example.Arn}/*\",\n },\n },\n },\n });\n\n var allowAccessFromAnotherAccountBucketPolicy = new Aws.S3.BucketPolicy(\"allow_access_from_another_account\", new()\n {\n Bucket = example.Id,\n Policy = allowAccessFromAnotherAccount.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tallowAccessFromAnotherAccount := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn,\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = s3.NewBucketPolicy(ctx, \"allow_access_from_another_account\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tPolicy: pulumi.String(allowAccessFromAnotherAccount.ApplyT(func(allowAccessFromAnotherAccount iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026allowAccessFromAnotherAccount.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"my-tf-test-bucket\")\n .build());\n\n final var allowAccessFromAnotherAccount = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .actions( \n \"s3:GetObject\",\n \"s3:ListBucket\")\n .resources( \n example.arn(),\n example.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var allowAccessFromAnotherAccountBucketPolicy = new BucketPolicy(\"allowAccessFromAnotherAccountBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(example.id())\n .policy(allowAccessFromAnotherAccount.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowAccessFromAnotherAccount -\u003e allowAccessFromAnotherAccount.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-test-bucket\n allowAccessFromAnotherAccountBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_access_from_another_account\n properties:\n bucket: ${example.id}\n policy: ${allowAccessFromAnotherAccount.json}\nvariables:\n allowAccessFromAnotherAccount:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - principals:\n - type: AWS\n identifiers:\n - '123456789012'\n actions:\n - s3:GetObject\n - s3:ListBucket\n resources:\n - ${example.arn}\n - ${example.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket policies using the bucket name. For example:\n\n```sh\n$ pulumi import aws:s3/bucketPolicy:BucketPolicy allow_access_from_another_account my-tf-test-bucket\n```\n", + "description": "Attaches a policy to an S3 bucket resource.\n\n\u003e Policies can be attached to both S3 general purpose buckets and S3 directory buckets.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-tf-test-bucket\"});\nconst allowAccessFromAnotherAccount = aws.iam.getPolicyDocumentOutput({\n statements: [{\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n actions: [\n \"s3:GetObject\",\n \"s3:ListBucket\",\n ],\n resources: [\n example.arn,\n pulumi.interpolate`${example.arn}/*`,\n ],\n }],\n});\nconst allowAccessFromAnotherAccountBucketPolicy = new aws.s3.BucketPolicy(\"allow_access_from_another_account\", {\n bucket: example.id,\n policy: allowAccessFromAnotherAccount.apply(allowAccessFromAnotherAccount =\u003e allowAccessFromAnotherAccount.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-tf-test-bucket\")\nallow_access_from_another_account = aws.iam.get_policy_document_output(statements=[{\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"123456789012\"],\n }],\n \"actions\": [\n \"s3:GetObject\",\n \"s3:ListBucket\",\n ],\n \"resources\": [\n example.arn,\n example.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n}])\nallow_access_from_another_account_bucket_policy = aws.s3.BucketPolicy(\"allow_access_from_another_account\",\n bucket=example.id,\n policy=allow_access_from_another_account.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-test-bucket\",\n });\n\n var allowAccessFromAnotherAccount = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetObject\",\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n example.Arn,\n $\"{example.Arn}/*\",\n },\n },\n },\n });\n\n var allowAccessFromAnotherAccountBucketPolicy = new Aws.S3.BucketPolicy(\"allow_access_from_another_account\", new()\n {\n Bucket = example.Id,\n Policy = allowAccessFromAnotherAccount.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tallowAccessFromAnotherAccount := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn,\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = s3.NewBucketPolicy(ctx, \"allow_access_from_another_account\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tPolicy: pulumi.String(allowAccessFromAnotherAccount.ApplyT(func(allowAccessFromAnotherAccount iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026allowAccessFromAnotherAccount.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"my-tf-test-bucket\")\n .build());\n\n final var allowAccessFromAnotherAccount = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .actions( \n \"s3:GetObject\",\n \"s3:ListBucket\")\n .resources( \n example.arn(),\n example.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var allowAccessFromAnotherAccountBucketPolicy = new BucketPolicy(\"allowAccessFromAnotherAccountBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(example.id())\n .policy(allowAccessFromAnotherAccount.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowAccessFromAnotherAccount -\u003e allowAccessFromAnotherAccount.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-test-bucket\n allowAccessFromAnotherAccountBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_access_from_another_account\n properties:\n bucket: ${example.id}\n policy: ${allowAccessFromAnotherAccount.json}\nvariables:\n allowAccessFromAnotherAccount:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - principals:\n - type: AWS\n identifiers:\n - '123456789012'\n actions:\n - s3:GetObject\n - s3:ListBucket\n resources:\n - ${example.arn}\n - ${example.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket policies using the bucket name. For example:\n\n```sh\n$ pulumi import aws:s3/bucketPolicy:BucketPolicy allow_access_from_another_account my-tf-test-bucket\n```\n", "properties": { "bucket": { "type": "string", @@ -348007,7 +348007,7 @@ } }, "aws:s3/bucketReplicationConfig:BucketReplicationConfig": { - "description": "Provides an independent configuration resource for S3 bucket [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html).\n\n\u003e **NOTE:** S3 Buckets only support a single replication configuration. Declaring multiple `aws.s3.BucketReplicationConfig` resources to the same S3 Bucket will cause a perpetual difference in configuration.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Using replication configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"s3.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst replicationRole = new aws.iam.Role(\"replication\", {\n name: \"tf-iam-role-replication-12345\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst destination = new aws.s3.BucketV2(\"destination\", {bucket: \"tf-test-bucket-destination-12345\"});\nconst source = new aws.s3.BucketV2(\"source\", {bucket: \"tf-test-bucket-source-12345\"});\nconst replication = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\",\n ],\n resources: [source.arn],\n },\n {\n effect: \"Allow\",\n actions: [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\",\n ],\n resources: [pulumi.interpolate`${source.arn}/*`],\n },\n {\n effect: \"Allow\",\n actions: [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\",\n ],\n resources: [pulumi.interpolate`${destination.arn}/*`],\n },\n ],\n});\nconst replicationPolicy = new aws.iam.Policy(\"replication\", {\n name: \"tf-iam-role-policy-replication-12345\",\n policy: replication.apply(replication =\u003e replication.json),\n});\nconst replicationRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"replication\", {\n role: replicationRole.name,\n policyArn: replicationPolicy.arn,\n});\nconst destinationBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"destination\", {\n bucket: destination.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst sourceBucketAcl = new aws.s3.BucketAclV2(\"source_bucket_acl\", {\n bucket: source.id,\n acl: \"private\",\n});\nconst sourceBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"source\", {\n bucket: source.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst replicationBucketReplicationConfig = new aws.s3.BucketReplicationConfig(\"replication\", {\n role: replicationRole.arn,\n bucket: source.id,\n rules: [{\n id: \"foobar\",\n filter: {\n prefix: \"foo\",\n },\n status: \"Enabled\",\n destination: {\n bucket: destination.arn,\n storageClass: \"STANDARD\",\n },\n }],\n}, {\n dependsOn: [sourceBucketVersioningV2],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"s3.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nreplication_role = aws.iam.Role(\"replication\",\n name=\"tf-iam-role-replication-12345\",\n assume_role_policy=assume_role.json)\ndestination = aws.s3.BucketV2(\"destination\", bucket=\"tf-test-bucket-destination-12345\")\nsource = aws.s3.BucketV2(\"source\", bucket=\"tf-test-bucket-source-12345\")\nreplication = aws.iam.get_policy_document_output(statements=[\n {\n \"effect\": \"Allow\",\n \"actions\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\",\n ],\n \"resources\": [source.arn],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\",\n ],\n \"resources\": [source.arn.apply(lambda arn: f\"{arn}/*\")],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\",\n ],\n \"resources\": [destination.arn.apply(lambda arn: f\"{arn}/*\")],\n },\n])\nreplication_policy = aws.iam.Policy(\"replication\",\n name=\"tf-iam-role-policy-replication-12345\",\n policy=replication.json)\nreplication_role_policy_attachment = aws.iam.RolePolicyAttachment(\"replication\",\n role=replication_role.name,\n policy_arn=replication_policy.arn)\ndestination_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"destination\",\n bucket=destination.id,\n versioning_configuration={\n \"status\": \"Enabled\",\n })\nsource_bucket_acl = aws.s3.BucketAclV2(\"source_bucket_acl\",\n bucket=source.id,\n acl=\"private\")\nsource_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"source\",\n bucket=source.id,\n versioning_configuration={\n \"status\": \"Enabled\",\n })\nreplication_bucket_replication_config = aws.s3.BucketReplicationConfig(\"replication\",\n role=replication_role.arn,\n bucket=source.id,\n rules=[{\n \"id\": \"foobar\",\n \"filter\": {\n \"prefix\": \"foo\",\n },\n \"status\": \"Enabled\",\n \"destination\": {\n \"bucket\": destination.arn,\n \"storage_class\": \"STANDARD\",\n },\n }],\n opts = pulumi.ResourceOptions(depends_on=[source_bucket_versioning_v2]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"s3.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var replicationRole = new Aws.Iam.Role(\"replication\", new()\n {\n Name = \"tf-iam-role-replication-12345\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var destination = new Aws.S3.BucketV2(\"destination\", new()\n {\n Bucket = \"tf-test-bucket-destination-12345\",\n });\n\n var source = new Aws.S3.BucketV2(\"source\", new()\n {\n Bucket = \"tf-test-bucket-source-12345\",\n });\n\n var replication = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n source.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\",\n },\n Resources = new[]\n {\n $\"{source.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\",\n },\n Resources = new[]\n {\n $\"{destination.Arn}/*\",\n },\n },\n },\n });\n\n var replicationPolicy = new Aws.Iam.Policy(\"replication\", new()\n {\n Name = \"tf-iam-role-policy-replication-12345\",\n PolicyDocument = replication.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var replicationRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"replication\", new()\n {\n Role = replicationRole.Name,\n PolicyArn = replicationPolicy.Arn,\n });\n\n var destinationBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"destination\", new()\n {\n Bucket = destination.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var sourceBucketAcl = new Aws.S3.BucketAclV2(\"source_bucket_acl\", new()\n {\n Bucket = source.Id,\n Acl = \"private\",\n });\n\n var sourceBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"source\", new()\n {\n Bucket = source.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var replicationBucketReplicationConfig = new Aws.S3.BucketReplicationConfig(\"replication\", new()\n {\n Role = replicationRole.Arn,\n Bucket = source.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketReplicationConfigRuleArgs\n {\n Id = \"foobar\",\n Filter = new Aws.S3.Inputs.BucketReplicationConfigRuleFilterArgs\n {\n Prefix = \"foo\",\n },\n Status = \"Enabled\",\n Destination = new Aws.S3.Inputs.BucketReplicationConfigRuleDestinationArgs\n {\n Bucket = destination.Arn,\n StorageClass = \"STANDARD\",\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n sourceBucketVersioningV2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"s3.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treplicationRole, err := iam.NewRole(ctx, \"replication\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"tf-iam-role-replication-12345\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdestination, err := s3.NewBucketV2(ctx, \"destination\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-destination-12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := s3.NewBucketV2(ctx, \"source\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-source-12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treplication := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetReplicationConfiguration\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tsource.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetObjectVersionForReplication\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetObjectVersionAcl\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetObjectVersionTagging\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tsource.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ReplicateObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ReplicateDelete\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ReplicateTags\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tdestination.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\treplicationPolicy, err := iam.NewPolicy(ctx, \"replication\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"tf-iam-role-policy-replication-12345\"),\n\t\t\tPolicy: pulumi.String(replication.ApplyT(func(replication iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026replication.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"replication\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: replicationRole.Name,\n\t\t\tPolicyArn: replicationPolicy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketVersioningV2(ctx, \"destination\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: destination.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"source_bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: source.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsourceBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"source\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: source.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketReplicationConfig(ctx, \"replication\", \u0026s3.BucketReplicationConfigArgs{\n\t\t\tRole: replicationRole.Arn,\n\t\t\tBucket: source.ID(),\n\t\t\tRules: s3.BucketReplicationConfigRuleArray{\n\t\t\t\t\u0026s3.BucketReplicationConfigRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"foobar\"),\n\t\t\t\t\tFilter: \u0026s3.BucketReplicationConfigRuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"foo\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tDestination: \u0026s3.BucketReplicationConfigRuleDestinationArgs{\n\t\t\t\t\t\tBucket: destination.Arn,\n\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsourceBucketVersioningV2,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketReplicationConfig;\nimport com.pulumi.aws.s3.BucketReplicationConfigArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleDestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"s3.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var replicationRole = new Role(\"replicationRole\", RoleArgs.builder()\n .name(\"tf-iam-role-replication-12345\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var destination = new BucketV2(\"destination\", BucketV2Args.builder()\n .bucket(\"tf-test-bucket-destination-12345\")\n .build());\n\n var source = new BucketV2(\"source\", BucketV2Args.builder()\n .bucket(\"tf-test-bucket-source-12345\")\n .build());\n\n final var replication = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\")\n .resources(source.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\")\n .resources(source.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\")\n .resources(destination.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var replicationPolicy = new Policy(\"replicationPolicy\", PolicyArgs.builder()\n .name(\"tf-iam-role-policy-replication-12345\")\n .policy(replication.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(replication -\u003e replication.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var replicationRolePolicyAttachment = new RolePolicyAttachment(\"replicationRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(replicationRole.name())\n .policyArn(replicationPolicy.arn())\n .build());\n\n var destinationBucketVersioningV2 = new BucketVersioningV2(\"destinationBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(destination.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var sourceBucketAcl = new BucketAclV2(\"sourceBucketAcl\", BucketAclV2Args.builder()\n .bucket(source.id())\n .acl(\"private\")\n .build());\n\n var sourceBucketVersioningV2 = new BucketVersioningV2(\"sourceBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(source.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var replicationBucketReplicationConfig = new BucketReplicationConfig(\"replicationBucketReplicationConfig\", BucketReplicationConfigArgs.builder()\n .role(replicationRole.arn())\n .bucket(source.id())\n .rules(BucketReplicationConfigRuleArgs.builder()\n .id(\"foobar\")\n .filter(BucketReplicationConfigRuleFilterArgs.builder()\n .prefix(\"foo\")\n .build())\n .status(\"Enabled\")\n .destination(BucketReplicationConfigRuleDestinationArgs.builder()\n .bucket(destination.arn())\n .storageClass(\"STANDARD\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(sourceBucketVersioningV2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replicationRole:\n type: aws:iam:Role\n name: replication\n properties:\n name: tf-iam-role-replication-12345\n assumeRolePolicy: ${assumeRole.json}\n replicationPolicy:\n type: aws:iam:Policy\n name: replication\n properties:\n name: tf-iam-role-policy-replication-12345\n policy: ${replication.json}\n replicationRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: replication\n properties:\n role: ${replicationRole.name}\n policyArn: ${replicationPolicy.arn}\n destination:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket-destination-12345\n destinationBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: destination\n properties:\n bucket: ${destination.id}\n versioningConfiguration:\n status: Enabled\n source:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket-source-12345\n sourceBucketAcl:\n type: aws:s3:BucketAclV2\n name: source_bucket_acl\n properties:\n bucket: ${source.id}\n acl: private\n sourceBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: source\n properties:\n bucket: ${source.id}\n versioningConfiguration:\n status: Enabled\n replicationBucketReplicationConfig:\n type: aws:s3:BucketReplicationConfig\n name: replication\n properties:\n role: ${replicationRole.arn}\n bucket: ${source.id}\n rules:\n - id: foobar\n filter:\n prefix: foo\n status: Enabled\n destination:\n bucket: ${destination.arn}\n storageClass: STANDARD\n options:\n dependsOn:\n - ${sourceBucketVersioningV2}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - s3.amazonaws.com\n actions:\n - sts:AssumeRole\n replication:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - s3:GetReplicationConfiguration\n - s3:ListBucket\n resources:\n - ${source.arn}\n - effect: Allow\n actions:\n - s3:GetObjectVersionForReplication\n - s3:GetObjectVersionAcl\n - s3:GetObjectVersionTagging\n resources:\n - ${source.arn}/*\n - effect: Allow\n actions:\n - s3:ReplicateObject\n - s3:ReplicateDelete\n - s3:ReplicateTags\n resources:\n - ${destination.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Bi-Directional Replication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ... other configuration ...\nconst east = new aws.s3.BucketV2(\"east\", {bucket: \"tf-test-bucket-east-12345\"});\nconst eastBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"east\", {\n bucket: east.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst west = new aws.s3.BucketV2(\"west\", {bucket: \"tf-test-bucket-west-12345\"});\nconst westBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"west\", {\n bucket: west.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst eastToWest = new aws.s3.BucketReplicationConfig(\"east_to_west\", {\n role: eastReplication.arn,\n bucket: east.id,\n rules: [{\n id: \"foobar\",\n filter: {\n prefix: \"foo\",\n },\n status: \"Enabled\",\n destination: {\n bucket: west.arn,\n storageClass: \"STANDARD\",\n },\n }],\n}, {\n dependsOn: [eastBucketVersioningV2],\n});\nconst westToEast = new aws.s3.BucketReplicationConfig(\"west_to_east\", {\n role: westReplication.arn,\n bucket: west.id,\n rules: [{\n id: \"foobar\",\n filter: {\n prefix: \"foo\",\n },\n status: \"Enabled\",\n destination: {\n bucket: east.arn,\n storageClass: \"STANDARD\",\n },\n }],\n}, {\n dependsOn: [westBucketVersioningV2],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ... other configuration ...\neast = aws.s3.BucketV2(\"east\", bucket=\"tf-test-bucket-east-12345\")\neast_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"east\",\n bucket=east.id,\n versioning_configuration={\n \"status\": \"Enabled\",\n })\nwest = aws.s3.BucketV2(\"west\", bucket=\"tf-test-bucket-west-12345\")\nwest_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"west\",\n bucket=west.id,\n versioning_configuration={\n \"status\": \"Enabled\",\n })\neast_to_west = aws.s3.BucketReplicationConfig(\"east_to_west\",\n role=east_replication[\"arn\"],\n bucket=east.id,\n rules=[{\n \"id\": \"foobar\",\n \"filter\": {\n \"prefix\": \"foo\",\n },\n \"status\": \"Enabled\",\n \"destination\": {\n \"bucket\": west.arn,\n \"storage_class\": \"STANDARD\",\n },\n }],\n opts = pulumi.ResourceOptions(depends_on=[east_bucket_versioning_v2]))\nwest_to_east = aws.s3.BucketReplicationConfig(\"west_to_east\",\n role=west_replication[\"arn\"],\n bucket=west.id,\n rules=[{\n \"id\": \"foobar\",\n \"filter\": {\n \"prefix\": \"foo\",\n },\n \"status\": \"Enabled\",\n \"destination\": {\n \"bucket\": east.arn,\n \"storage_class\": \"STANDARD\",\n },\n }],\n opts = pulumi.ResourceOptions(depends_on=[west_bucket_versioning_v2]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ... other configuration ...\n var east = new Aws.S3.BucketV2(\"east\", new()\n {\n Bucket = \"tf-test-bucket-east-12345\",\n });\n\n var eastBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"east\", new()\n {\n Bucket = east.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var west = new Aws.S3.BucketV2(\"west\", new()\n {\n Bucket = \"tf-test-bucket-west-12345\",\n });\n\n var westBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"west\", new()\n {\n Bucket = west.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var eastToWest = new Aws.S3.BucketReplicationConfig(\"east_to_west\", new()\n {\n Role = eastReplication.Arn,\n Bucket = east.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketReplicationConfigRuleArgs\n {\n Id = \"foobar\",\n Filter = new Aws.S3.Inputs.BucketReplicationConfigRuleFilterArgs\n {\n Prefix = \"foo\",\n },\n Status = \"Enabled\",\n Destination = new Aws.S3.Inputs.BucketReplicationConfigRuleDestinationArgs\n {\n Bucket = west.Arn,\n StorageClass = \"STANDARD\",\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n eastBucketVersioningV2,\n },\n });\n\n var westToEast = new Aws.S3.BucketReplicationConfig(\"west_to_east\", new()\n {\n Role = westReplication.Arn,\n Bucket = west.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketReplicationConfigRuleArgs\n {\n Id = \"foobar\",\n Filter = new Aws.S3.Inputs.BucketReplicationConfigRuleFilterArgs\n {\n Prefix = \"foo\",\n },\n Status = \"Enabled\",\n Destination = new Aws.S3.Inputs.BucketReplicationConfigRuleDestinationArgs\n {\n Bucket = east.Arn,\n StorageClass = \"STANDARD\",\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n westBucketVersioningV2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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// ... other configuration ...\n\t\teast, err := s3.NewBucketV2(ctx, \"east\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-east-12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teastBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"east\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: east.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twest, err := s3.NewBucketV2(ctx, \"west\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-west-12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twestBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"west\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: west.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketReplicationConfig(ctx, \"east_to_west\", \u0026s3.BucketReplicationConfigArgs{\n\t\t\tRole: pulumi.Any(eastReplication.Arn),\n\t\t\tBucket: east.ID(),\n\t\t\tRules: s3.BucketReplicationConfigRuleArray{\n\t\t\t\t\u0026s3.BucketReplicationConfigRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"foobar\"),\n\t\t\t\t\tFilter: \u0026s3.BucketReplicationConfigRuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"foo\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tDestination: \u0026s3.BucketReplicationConfigRuleDestinationArgs{\n\t\t\t\t\t\tBucket: west.Arn,\n\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\teastBucketVersioningV2,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketReplicationConfig(ctx, \"west_to_east\", \u0026s3.BucketReplicationConfigArgs{\n\t\t\tRole: pulumi.Any(westReplication.Arn),\n\t\t\tBucket: west.ID(),\n\t\t\tRules: s3.BucketReplicationConfigRuleArray{\n\t\t\t\t\u0026s3.BucketReplicationConfigRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"foobar\"),\n\t\t\t\t\tFilter: \u0026s3.BucketReplicationConfigRuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"foo\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tDestination: \u0026s3.BucketReplicationConfigRuleDestinationArgs{\n\t\t\t\t\t\tBucket: east.Arn,\n\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\twestBucketVersioningV2,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketReplicationConfig;\nimport com.pulumi.aws.s3.BucketReplicationConfigArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleDestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ... other configuration ...\n var east = new BucketV2(\"east\", BucketV2Args.builder()\n .bucket(\"tf-test-bucket-east-12345\")\n .build());\n\n var eastBucketVersioningV2 = new BucketVersioningV2(\"eastBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(east.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var west = new BucketV2(\"west\", BucketV2Args.builder()\n .bucket(\"tf-test-bucket-west-12345\")\n .build());\n\n var westBucketVersioningV2 = new BucketVersioningV2(\"westBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(west.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var eastToWest = new BucketReplicationConfig(\"eastToWest\", BucketReplicationConfigArgs.builder()\n .role(eastReplication.arn())\n .bucket(east.id())\n .rules(BucketReplicationConfigRuleArgs.builder()\n .id(\"foobar\")\n .filter(BucketReplicationConfigRuleFilterArgs.builder()\n .prefix(\"foo\")\n .build())\n .status(\"Enabled\")\n .destination(BucketReplicationConfigRuleDestinationArgs.builder()\n .bucket(west.arn())\n .storageClass(\"STANDARD\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(eastBucketVersioningV2)\n .build());\n\n var westToEast = new BucketReplicationConfig(\"westToEast\", BucketReplicationConfigArgs.builder()\n .role(westReplication.arn())\n .bucket(west.id())\n .rules(BucketReplicationConfigRuleArgs.builder()\n .id(\"foobar\")\n .filter(BucketReplicationConfigRuleFilterArgs.builder()\n .prefix(\"foo\")\n .build())\n .status(\"Enabled\")\n .destination(BucketReplicationConfigRuleDestinationArgs.builder()\n .bucket(east.arn())\n .storageClass(\"STANDARD\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(westBucketVersioningV2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # ... other configuration ...\n east:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket-east-12345\n eastBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: east\n properties:\n bucket: ${east.id}\n versioningConfiguration:\n status: Enabled\n west:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket-west-12345\n westBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: west\n properties:\n bucket: ${west.id}\n versioningConfiguration:\n status: Enabled\n eastToWest:\n type: aws:s3:BucketReplicationConfig\n name: east_to_west\n properties:\n role: ${eastReplication.arn}\n bucket: ${east.id}\n rules:\n - id: foobar\n filter:\n prefix: foo\n status: Enabled\n destination:\n bucket: ${west.arn}\n storageClass: STANDARD\n options:\n dependsOn:\n - ${eastBucketVersioningV2}\n westToEast:\n type: aws:s3:BucketReplicationConfig\n name: west_to_east\n properties:\n role: ${westReplication.arn}\n bucket: ${west.id}\n rules:\n - id: foobar\n filter:\n prefix: foo\n status: Enabled\n destination:\n bucket: ${east.arn}\n storageClass: STANDARD\n options:\n dependsOn:\n - ${westBucketVersioningV2}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket replication configuration using the `bucket`. For example:\n\n```sh\n$ pulumi import aws:s3/bucketReplicationConfig:BucketReplicationConfig replication bucket-name\n```\n", + "description": "Provides an independent configuration resource for S3 bucket [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html).\n\n\u003e **NOTE:** S3 Buckets only support a single replication configuration. Declaring multiple `aws.s3.BucketReplicationConfig` resources to the same S3 Bucket will cause a perpetual difference in configuration.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Using replication configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"s3.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst replicationRole = new aws.iam.Role(\"replication\", {\n name: \"tf-iam-role-replication-12345\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst destination = new aws.s3.BucketV2(\"destination\", {bucket: \"tf-test-bucket-destination-12345\"});\nconst source = new aws.s3.BucketV2(\"source\", {bucket: \"tf-test-bucket-source-12345\"});\nconst replication = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\",\n ],\n resources: [source.arn],\n },\n {\n effect: \"Allow\",\n actions: [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\",\n ],\n resources: [pulumi.interpolate`${source.arn}/*`],\n },\n {\n effect: \"Allow\",\n actions: [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\",\n ],\n resources: [pulumi.interpolate`${destination.arn}/*`],\n },\n ],\n});\nconst replicationPolicy = new aws.iam.Policy(\"replication\", {\n name: \"tf-iam-role-policy-replication-12345\",\n policy: replication.apply(replication =\u003e replication.json),\n});\nconst replicationRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"replication\", {\n role: replicationRole.name,\n policyArn: replicationPolicy.arn,\n});\nconst destinationBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"destination\", {\n bucket: destination.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst sourceBucketAcl = new aws.s3.BucketAclV2(\"source_bucket_acl\", {\n bucket: source.id,\n acl: \"private\",\n});\nconst sourceBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"source\", {\n bucket: source.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst replicationBucketReplicationConfig = new aws.s3.BucketReplicationConfig(\"replication\", {\n role: replicationRole.arn,\n bucket: source.id,\n rules: [{\n id: \"foobar\",\n filter: {\n prefix: \"foo\",\n },\n status: \"Enabled\",\n destination: {\n bucket: destination.arn,\n storageClass: \"STANDARD\",\n },\n }],\n}, {\n dependsOn: [sourceBucketVersioningV2],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"s3.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nreplication_role = aws.iam.Role(\"replication\",\n name=\"tf-iam-role-replication-12345\",\n assume_role_policy=assume_role.json)\ndestination = aws.s3.BucketV2(\"destination\", bucket=\"tf-test-bucket-destination-12345\")\nsource = aws.s3.BucketV2(\"source\", bucket=\"tf-test-bucket-source-12345\")\nreplication = aws.iam.get_policy_document_output(statements=[\n {\n \"effect\": \"Allow\",\n \"actions\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\",\n ],\n \"resources\": [source.arn],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\",\n ],\n \"resources\": [source.arn.apply(lambda arn: f\"{arn}/*\")],\n },\n {\n \"effect\": \"Allow\",\n \"actions\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\",\n ],\n \"resources\": [destination.arn.apply(lambda arn: f\"{arn}/*\")],\n },\n])\nreplication_policy = aws.iam.Policy(\"replication\",\n name=\"tf-iam-role-policy-replication-12345\",\n policy=replication.json)\nreplication_role_policy_attachment = aws.iam.RolePolicyAttachment(\"replication\",\n role=replication_role.name,\n policy_arn=replication_policy.arn)\ndestination_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"destination\",\n bucket=destination.id,\n versioning_configuration={\n \"status\": \"Enabled\",\n })\nsource_bucket_acl = aws.s3.BucketAclV2(\"source_bucket_acl\",\n bucket=source.id,\n acl=\"private\")\nsource_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"source\",\n bucket=source.id,\n versioning_configuration={\n \"status\": \"Enabled\",\n })\nreplication_bucket_replication_config = aws.s3.BucketReplicationConfig(\"replication\",\n role=replication_role.arn,\n bucket=source.id,\n rules=[{\n \"id\": \"foobar\",\n \"filter\": {\n \"prefix\": \"foo\",\n },\n \"status\": \"Enabled\",\n \"destination\": {\n \"bucket\": destination.arn,\n \"storage_class\": \"STANDARD\",\n },\n }],\n opts = pulumi.ResourceOptions(depends_on=[source_bucket_versioning_v2]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"s3.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var replicationRole = new Aws.Iam.Role(\"replication\", new()\n {\n Name = \"tf-iam-role-replication-12345\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var destination = new Aws.S3.BucketV2(\"destination\", new()\n {\n Bucket = \"tf-test-bucket-destination-12345\",\n });\n\n var source = new Aws.S3.BucketV2(\"source\", new()\n {\n Bucket = \"tf-test-bucket-source-12345\",\n });\n\n var replication = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n source.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\",\n },\n Resources = new[]\n {\n $\"{source.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\",\n },\n Resources = new[]\n {\n $\"{destination.Arn}/*\",\n },\n },\n },\n });\n\n var replicationPolicy = new Aws.Iam.Policy(\"replication\", new()\n {\n Name = \"tf-iam-role-policy-replication-12345\",\n PolicyDocument = replication.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var replicationRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"replication\", new()\n {\n Role = replicationRole.Name,\n PolicyArn = replicationPolicy.Arn,\n });\n\n var destinationBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"destination\", new()\n {\n Bucket = destination.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var sourceBucketAcl = new Aws.S3.BucketAclV2(\"source_bucket_acl\", new()\n {\n Bucket = source.Id,\n Acl = \"private\",\n });\n\n var sourceBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"source\", new()\n {\n Bucket = source.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var replicationBucketReplicationConfig = new Aws.S3.BucketReplicationConfig(\"replication\", new()\n {\n Role = replicationRole.Arn,\n Bucket = source.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketReplicationConfigRuleArgs\n {\n Id = \"foobar\",\n Filter = new Aws.S3.Inputs.BucketReplicationConfigRuleFilterArgs\n {\n Prefix = \"foo\",\n },\n Status = \"Enabled\",\n Destination = new Aws.S3.Inputs.BucketReplicationConfigRuleDestinationArgs\n {\n Bucket = destination.Arn,\n StorageClass = \"STANDARD\",\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n sourceBucketVersioningV2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"s3.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treplicationRole, err := iam.NewRole(ctx, \"replication\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"tf-iam-role-replication-12345\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdestination, err := s3.NewBucketV2(ctx, \"destination\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-destination-12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := s3.NewBucketV2(ctx, \"source\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-source-12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treplication := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetReplicationConfiguration\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tsource.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetObjectVersionForReplication\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetObjectVersionAcl\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetObjectVersionTagging\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tsource.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ReplicateObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ReplicateDelete\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ReplicateTags\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tdestination.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\treplicationPolicy, err := iam.NewPolicy(ctx, \"replication\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"tf-iam-role-policy-replication-12345\"),\n\t\t\tPolicy: pulumi.String(replication.ApplyT(func(replication iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026replication.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"replication\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: replicationRole.Name,\n\t\t\tPolicyArn: replicationPolicy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketVersioningV2(ctx, \"destination\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: destination.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"source_bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: source.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsourceBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"source\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: source.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketReplicationConfig(ctx, \"replication\", \u0026s3.BucketReplicationConfigArgs{\n\t\t\tRole: replicationRole.Arn,\n\t\t\tBucket: source.ID(),\n\t\t\tRules: s3.BucketReplicationConfigRuleArray{\n\t\t\t\t\u0026s3.BucketReplicationConfigRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"foobar\"),\n\t\t\t\t\tFilter: \u0026s3.BucketReplicationConfigRuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"foo\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tDestination: \u0026s3.BucketReplicationConfigRuleDestinationArgs{\n\t\t\t\t\t\tBucket: destination.Arn,\n\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsourceBucketVersioningV2,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketReplicationConfig;\nimport com.pulumi.aws.s3.BucketReplicationConfigArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleDestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"s3.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var replicationRole = new Role(\"replicationRole\", RoleArgs.builder()\n .name(\"tf-iam-role-replication-12345\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var destination = new BucketV2(\"destination\", BucketV2Args.builder()\n .bucket(\"tf-test-bucket-destination-12345\")\n .build());\n\n var source = new BucketV2(\"source\", BucketV2Args.builder()\n .bucket(\"tf-test-bucket-source-12345\")\n .build());\n\n final var replication = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\")\n .resources(source.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\")\n .resources(source.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\")\n .resources(destination.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var replicationPolicy = new Policy(\"replicationPolicy\", PolicyArgs.builder()\n .name(\"tf-iam-role-policy-replication-12345\")\n .policy(replication.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(replication -\u003e replication.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var replicationRolePolicyAttachment = new RolePolicyAttachment(\"replicationRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(replicationRole.name())\n .policyArn(replicationPolicy.arn())\n .build());\n\n var destinationBucketVersioningV2 = new BucketVersioningV2(\"destinationBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(destination.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var sourceBucketAcl = new BucketAclV2(\"sourceBucketAcl\", BucketAclV2Args.builder()\n .bucket(source.id())\n .acl(\"private\")\n .build());\n\n var sourceBucketVersioningV2 = new BucketVersioningV2(\"sourceBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(source.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var replicationBucketReplicationConfig = new BucketReplicationConfig(\"replicationBucketReplicationConfig\", BucketReplicationConfigArgs.builder()\n .role(replicationRole.arn())\n .bucket(source.id())\n .rules(BucketReplicationConfigRuleArgs.builder()\n .id(\"foobar\")\n .filter(BucketReplicationConfigRuleFilterArgs.builder()\n .prefix(\"foo\")\n .build())\n .status(\"Enabled\")\n .destination(BucketReplicationConfigRuleDestinationArgs.builder()\n .bucket(destination.arn())\n .storageClass(\"STANDARD\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(sourceBucketVersioningV2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replicationRole:\n type: aws:iam:Role\n name: replication\n properties:\n name: tf-iam-role-replication-12345\n assumeRolePolicy: ${assumeRole.json}\n replicationPolicy:\n type: aws:iam:Policy\n name: replication\n properties:\n name: tf-iam-role-policy-replication-12345\n policy: ${replication.json}\n replicationRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: replication\n properties:\n role: ${replicationRole.name}\n policyArn: ${replicationPolicy.arn}\n destination:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket-destination-12345\n destinationBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: destination\n properties:\n bucket: ${destination.id}\n versioningConfiguration:\n status: Enabled\n source:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket-source-12345\n sourceBucketAcl:\n type: aws:s3:BucketAclV2\n name: source_bucket_acl\n properties:\n bucket: ${source.id}\n acl: private\n sourceBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: source\n properties:\n bucket: ${source.id}\n versioningConfiguration:\n status: Enabled\n replicationBucketReplicationConfig:\n type: aws:s3:BucketReplicationConfig\n name: replication\n properties:\n role: ${replicationRole.arn}\n bucket: ${source.id}\n rules:\n - id: foobar\n filter:\n prefix: foo\n status: Enabled\n destination:\n bucket: ${destination.arn}\n storageClass: STANDARD\n options:\n dependson:\n - ${sourceBucketVersioningV2}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - s3.amazonaws.com\n actions:\n - sts:AssumeRole\n replication:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - s3:GetReplicationConfiguration\n - s3:ListBucket\n resources:\n - ${source.arn}\n - effect: Allow\n actions:\n - s3:GetObjectVersionForReplication\n - s3:GetObjectVersionAcl\n - s3:GetObjectVersionTagging\n resources:\n - ${source.arn}/*\n - effect: Allow\n actions:\n - s3:ReplicateObject\n - s3:ReplicateDelete\n - s3:ReplicateTags\n resources:\n - ${destination.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Bi-Directional Replication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ... other configuration ...\nconst east = new aws.s3.BucketV2(\"east\", {bucket: \"tf-test-bucket-east-12345\"});\nconst eastBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"east\", {\n bucket: east.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst west = new aws.s3.BucketV2(\"west\", {bucket: \"tf-test-bucket-west-12345\"});\nconst westBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"west\", {\n bucket: west.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst eastToWest = new aws.s3.BucketReplicationConfig(\"east_to_west\", {\n role: eastReplication.arn,\n bucket: east.id,\n rules: [{\n id: \"foobar\",\n filter: {\n prefix: \"foo\",\n },\n status: \"Enabled\",\n destination: {\n bucket: west.arn,\n storageClass: \"STANDARD\",\n },\n }],\n}, {\n dependsOn: [eastBucketVersioningV2],\n});\nconst westToEast = new aws.s3.BucketReplicationConfig(\"west_to_east\", {\n role: westReplication.arn,\n bucket: west.id,\n rules: [{\n id: \"foobar\",\n filter: {\n prefix: \"foo\",\n },\n status: \"Enabled\",\n destination: {\n bucket: east.arn,\n storageClass: \"STANDARD\",\n },\n }],\n}, {\n dependsOn: [westBucketVersioningV2],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ... other configuration ...\neast = aws.s3.BucketV2(\"east\", bucket=\"tf-test-bucket-east-12345\")\neast_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"east\",\n bucket=east.id,\n versioning_configuration={\n \"status\": \"Enabled\",\n })\nwest = aws.s3.BucketV2(\"west\", bucket=\"tf-test-bucket-west-12345\")\nwest_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"west\",\n bucket=west.id,\n versioning_configuration={\n \"status\": \"Enabled\",\n })\neast_to_west = aws.s3.BucketReplicationConfig(\"east_to_west\",\n role=east_replication[\"arn\"],\n bucket=east.id,\n rules=[{\n \"id\": \"foobar\",\n \"filter\": {\n \"prefix\": \"foo\",\n },\n \"status\": \"Enabled\",\n \"destination\": {\n \"bucket\": west.arn,\n \"storage_class\": \"STANDARD\",\n },\n }],\n opts = pulumi.ResourceOptions(depends_on=[east_bucket_versioning_v2]))\nwest_to_east = aws.s3.BucketReplicationConfig(\"west_to_east\",\n role=west_replication[\"arn\"],\n bucket=west.id,\n rules=[{\n \"id\": \"foobar\",\n \"filter\": {\n \"prefix\": \"foo\",\n },\n \"status\": \"Enabled\",\n \"destination\": {\n \"bucket\": east.arn,\n \"storage_class\": \"STANDARD\",\n },\n }],\n opts = pulumi.ResourceOptions(depends_on=[west_bucket_versioning_v2]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ... other configuration ...\n var east = new Aws.S3.BucketV2(\"east\", new()\n {\n Bucket = \"tf-test-bucket-east-12345\",\n });\n\n var eastBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"east\", new()\n {\n Bucket = east.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var west = new Aws.S3.BucketV2(\"west\", new()\n {\n Bucket = \"tf-test-bucket-west-12345\",\n });\n\n var westBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"west\", new()\n {\n Bucket = west.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var eastToWest = new Aws.S3.BucketReplicationConfig(\"east_to_west\", new()\n {\n Role = eastReplication.Arn,\n Bucket = east.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketReplicationConfigRuleArgs\n {\n Id = \"foobar\",\n Filter = new Aws.S3.Inputs.BucketReplicationConfigRuleFilterArgs\n {\n Prefix = \"foo\",\n },\n Status = \"Enabled\",\n Destination = new Aws.S3.Inputs.BucketReplicationConfigRuleDestinationArgs\n {\n Bucket = west.Arn,\n StorageClass = \"STANDARD\",\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n eastBucketVersioningV2,\n },\n });\n\n var westToEast = new Aws.S3.BucketReplicationConfig(\"west_to_east\", new()\n {\n Role = westReplication.Arn,\n Bucket = west.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketReplicationConfigRuleArgs\n {\n Id = \"foobar\",\n Filter = new Aws.S3.Inputs.BucketReplicationConfigRuleFilterArgs\n {\n Prefix = \"foo\",\n },\n Status = \"Enabled\",\n Destination = new Aws.S3.Inputs.BucketReplicationConfigRuleDestinationArgs\n {\n Bucket = east.Arn,\n StorageClass = \"STANDARD\",\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n westBucketVersioningV2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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// ... other configuration ...\n\t\teast, err := s3.NewBucketV2(ctx, \"east\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-east-12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teastBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"east\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: east.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twest, err := s3.NewBucketV2(ctx, \"west\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-west-12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twestBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"west\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: west.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketReplicationConfig(ctx, \"east_to_west\", \u0026s3.BucketReplicationConfigArgs{\n\t\t\tRole: pulumi.Any(eastReplication.Arn),\n\t\t\tBucket: east.ID(),\n\t\t\tRules: s3.BucketReplicationConfigRuleArray{\n\t\t\t\t\u0026s3.BucketReplicationConfigRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"foobar\"),\n\t\t\t\t\tFilter: \u0026s3.BucketReplicationConfigRuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"foo\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tDestination: \u0026s3.BucketReplicationConfigRuleDestinationArgs{\n\t\t\t\t\t\tBucket: west.Arn,\n\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\teastBucketVersioningV2,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketReplicationConfig(ctx, \"west_to_east\", \u0026s3.BucketReplicationConfigArgs{\n\t\t\tRole: pulumi.Any(westReplication.Arn),\n\t\t\tBucket: west.ID(),\n\t\t\tRules: s3.BucketReplicationConfigRuleArray{\n\t\t\t\t\u0026s3.BucketReplicationConfigRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"foobar\"),\n\t\t\t\t\tFilter: \u0026s3.BucketReplicationConfigRuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"foo\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tDestination: \u0026s3.BucketReplicationConfigRuleDestinationArgs{\n\t\t\t\t\t\tBucket: east.Arn,\n\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\twestBucketVersioningV2,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketReplicationConfig;\nimport com.pulumi.aws.s3.BucketReplicationConfigArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleDestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ... other configuration ...\n var east = new BucketV2(\"east\", BucketV2Args.builder()\n .bucket(\"tf-test-bucket-east-12345\")\n .build());\n\n var eastBucketVersioningV2 = new BucketVersioningV2(\"eastBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(east.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var west = new BucketV2(\"west\", BucketV2Args.builder()\n .bucket(\"tf-test-bucket-west-12345\")\n .build());\n\n var westBucketVersioningV2 = new BucketVersioningV2(\"westBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(west.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var eastToWest = new BucketReplicationConfig(\"eastToWest\", BucketReplicationConfigArgs.builder()\n .role(eastReplication.arn())\n .bucket(east.id())\n .rules(BucketReplicationConfigRuleArgs.builder()\n .id(\"foobar\")\n .filter(BucketReplicationConfigRuleFilterArgs.builder()\n .prefix(\"foo\")\n .build())\n .status(\"Enabled\")\n .destination(BucketReplicationConfigRuleDestinationArgs.builder()\n .bucket(west.arn())\n .storageClass(\"STANDARD\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(eastBucketVersioningV2)\n .build());\n\n var westToEast = new BucketReplicationConfig(\"westToEast\", BucketReplicationConfigArgs.builder()\n .role(westReplication.arn())\n .bucket(west.id())\n .rules(BucketReplicationConfigRuleArgs.builder()\n .id(\"foobar\")\n .filter(BucketReplicationConfigRuleFilterArgs.builder()\n .prefix(\"foo\")\n .build())\n .status(\"Enabled\")\n .destination(BucketReplicationConfigRuleDestinationArgs.builder()\n .bucket(east.arn())\n .storageClass(\"STANDARD\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(westBucketVersioningV2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # ... other configuration ...\n east:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket-east-12345\n eastBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: east\n properties:\n bucket: ${east.id}\n versioningConfiguration:\n status: Enabled\n west:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket-west-12345\n westBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: west\n properties:\n bucket: ${west.id}\n versioningConfiguration:\n status: Enabled\n eastToWest:\n type: aws:s3:BucketReplicationConfig\n name: east_to_west\n properties:\n role: ${eastReplication.arn}\n bucket: ${east.id}\n rules:\n - id: foobar\n filter:\n prefix: foo\n status: Enabled\n destination:\n bucket: ${west.arn}\n storageClass: STANDARD\n options:\n dependson:\n - ${eastBucketVersioningV2}\n westToEast:\n type: aws:s3:BucketReplicationConfig\n name: west_to_east\n properties:\n role: ${westReplication.arn}\n bucket: ${west.id}\n rules:\n - id: foobar\n filter:\n prefix: foo\n status: Enabled\n destination:\n bucket: ${east.arn}\n storageClass: STANDARD\n options:\n dependson:\n - ${westBucketVersioningV2}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket replication configuration using the `bucket`. For example:\n\n```sh\n$ pulumi import aws:s3/bucketReplicationConfig:BucketReplicationConfig replication bucket-name\n```\n", "properties": { "bucket": { "type": "string", @@ -349787,7 +349787,7 @@ } }, "aws:s3control/accessGrant:AccessGrant": { - "description": "Provides a resource to manage an S3 Access Grant.\nEach access grant has its own ID and gives an IAM user or role or a directory user, or group (the grantee) access to a registered location. You determine the level of access, such as `READ` or `READWRITE`.\nBefore you can create a grant, you must have an S3 Access Grants instance in the same Region as the S3 data.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.AccessGrantsInstance(\"example\", {});\nconst exampleAccessGrantsLocation = new aws.s3control.AccessGrantsLocation(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n locationScope: `s3://${exampleAwsS3Bucket.bucket}/prefixA*`,\n}, {\n dependsOn: [example],\n});\nconst exampleAccessGrant = new aws.s3control.AccessGrant(\"example\", {\n accessGrantsLocationId: exampleAccessGrantsLocation.accessGrantsLocationId,\n permission: \"READ\",\n accessGrantsLocationConfiguration: {\n s3SubPrefix: \"prefixB*\",\n },\n grantee: {\n granteeType: \"IAM\",\n granteeIdentifier: exampleAwsIamUser.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.AccessGrantsInstance(\"example\")\nexample_access_grants_location = aws.s3control.AccessGrantsLocation(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n location_scope=f\"s3://{example_aws_s3_bucket['bucket']}/prefixA*\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\nexample_access_grant = aws.s3control.AccessGrant(\"example\",\n access_grants_location_id=example_access_grants_location.access_grants_location_id,\n permission=\"READ\",\n access_grants_location_configuration={\n \"s3_sub_prefix\": \"prefixB*\",\n },\n grantee={\n \"grantee_type\": \"IAM\",\n \"grantee_identifier\": example_aws_iam_user[\"arn\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsLocation = new Aws.S3Control.AccessGrantsLocation(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n LocationScope = $\"s3://{exampleAwsS3Bucket.Bucket}/prefixA*\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleAccessGrant = new Aws.S3Control.AccessGrant(\"example\", new()\n {\n AccessGrantsLocationId = exampleAccessGrantsLocation.AccessGrantsLocationId,\n Permission = \"READ\",\n AccessGrantsLocationConfiguration = new Aws.S3Control.Inputs.AccessGrantAccessGrantsLocationConfigurationArgs\n {\n S3SubPrefix = \"prefixB*\",\n },\n Grantee = new Aws.S3Control.Inputs.AccessGrantGranteeArgs\n {\n GranteeType = \"IAM\",\n GranteeIdentifier = exampleAwsIamUser.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3control.NewAccessGrantsInstance(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccessGrantsLocation, err := s3control.NewAccessGrantsLocation(ctx, \"example\", \u0026s3control.AccessGrantsLocationArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tLocationScope: pulumi.Sprintf(\"s3://%v/prefixA*\", exampleAwsS3Bucket.Bucket),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewAccessGrant(ctx, \"example\", \u0026s3control.AccessGrantArgs{\n\t\t\tAccessGrantsLocationId: exampleAccessGrantsLocation.AccessGrantsLocationId,\n\t\t\tPermission: pulumi.String(\"READ\"),\n\t\t\tAccessGrantsLocationConfiguration: \u0026s3control.AccessGrantAccessGrantsLocationConfigurationArgs{\n\t\t\t\tS3SubPrefix: pulumi.String(\"prefixB*\"),\n\t\t\t},\n\t\t\tGrantee: \u0026s3control.AccessGrantGranteeArgs{\n\t\t\t\tGranteeType: pulumi.String(\"IAM\"),\n\t\t\t\tGranteeIdentifier: pulumi.Any(exampleAwsIamUser.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3control.AccessGrantsInstance;\nimport com.pulumi.aws.s3control.AccessGrantsLocation;\nimport com.pulumi.aws.s3control.AccessGrantsLocationArgs;\nimport com.pulumi.aws.s3control.AccessGrant;\nimport com.pulumi.aws.s3control.AccessGrantArgs;\nimport com.pulumi.aws.s3control.inputs.AccessGrantAccessGrantsLocationConfigurationArgs;\nimport com.pulumi.aws.s3control.inputs.AccessGrantGranteeArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsLocation = new AccessGrantsLocation(\"exampleAccessGrantsLocation\", AccessGrantsLocationArgs.builder()\n .iamRoleArn(exampleAwsIamRole.arn())\n .locationScope(String.format(\"s3://%s/prefixA*\", exampleAwsS3Bucket.bucket()))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleAccessGrant = new AccessGrant(\"exampleAccessGrant\", AccessGrantArgs.builder()\n .accessGrantsLocationId(exampleAccessGrantsLocation.accessGrantsLocationId())\n .permission(\"READ\")\n .accessGrantsLocationConfiguration(AccessGrantAccessGrantsLocationConfigurationArgs.builder()\n .s3SubPrefix(\"prefixB*\")\n .build())\n .grantee(AccessGrantGranteeArgs.builder()\n .granteeType(\"IAM\")\n .granteeIdentifier(exampleAwsIamUser.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:AccessGrantsInstance\n exampleAccessGrantsLocation:\n type: aws:s3control:AccessGrantsLocation\n name: example\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n locationScope: s3://${exampleAwsS3Bucket.bucket}/prefixA*\n options:\n dependsOn:\n - ${example}\n exampleAccessGrant:\n type: aws:s3control:AccessGrant\n name: example\n properties:\n accessGrantsLocationId: ${exampleAccessGrantsLocation.accessGrantsLocationId}\n permission: READ\n accessGrantsLocationConfiguration:\n s3SubPrefix: prefixB*\n grantee:\n granteeType: IAM\n granteeIdentifier: ${exampleAwsIamUser.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Access Grants using the `account_id` and `access_grant_id`, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:s3control/accessGrant:AccessGrant example 123456789012,04549c5e-2f3c-4a07-824d-2cafe720aa22\n```\n", + "description": "Provides a resource to manage an S3 Access Grant.\nEach access grant has its own ID and gives an IAM user or role or a directory user, or group (the grantee) access to a registered location. You determine the level of access, such as `READ` or `READWRITE`.\nBefore you can create a grant, you must have an S3 Access Grants instance in the same Region as the S3 data.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.AccessGrantsInstance(\"example\", {});\nconst exampleAccessGrantsLocation = new aws.s3control.AccessGrantsLocation(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n locationScope: `s3://${exampleAwsS3Bucket.bucket}/prefixA*`,\n}, {\n dependsOn: [example],\n});\nconst exampleAccessGrant = new aws.s3control.AccessGrant(\"example\", {\n accessGrantsLocationId: exampleAccessGrantsLocation.accessGrantsLocationId,\n permission: \"READ\",\n accessGrantsLocationConfiguration: {\n s3SubPrefix: \"prefixB*\",\n },\n grantee: {\n granteeType: \"IAM\",\n granteeIdentifier: exampleAwsIamUser.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.AccessGrantsInstance(\"example\")\nexample_access_grants_location = aws.s3control.AccessGrantsLocation(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n location_scope=f\"s3://{example_aws_s3_bucket['bucket']}/prefixA*\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\nexample_access_grant = aws.s3control.AccessGrant(\"example\",\n access_grants_location_id=example_access_grants_location.access_grants_location_id,\n permission=\"READ\",\n access_grants_location_configuration={\n \"s3_sub_prefix\": \"prefixB*\",\n },\n grantee={\n \"grantee_type\": \"IAM\",\n \"grantee_identifier\": example_aws_iam_user[\"arn\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsLocation = new Aws.S3Control.AccessGrantsLocation(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n LocationScope = $\"s3://{exampleAwsS3Bucket.Bucket}/prefixA*\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleAccessGrant = new Aws.S3Control.AccessGrant(\"example\", new()\n {\n AccessGrantsLocationId = exampleAccessGrantsLocation.AccessGrantsLocationId,\n Permission = \"READ\",\n AccessGrantsLocationConfiguration = new Aws.S3Control.Inputs.AccessGrantAccessGrantsLocationConfigurationArgs\n {\n S3SubPrefix = \"prefixB*\",\n },\n Grantee = new Aws.S3Control.Inputs.AccessGrantGranteeArgs\n {\n GranteeType = \"IAM\",\n GranteeIdentifier = exampleAwsIamUser.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3control.NewAccessGrantsInstance(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccessGrantsLocation, err := s3control.NewAccessGrantsLocation(ctx, \"example\", \u0026s3control.AccessGrantsLocationArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tLocationScope: pulumi.Sprintf(\"s3://%v/prefixA*\", exampleAwsS3Bucket.Bucket),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewAccessGrant(ctx, \"example\", \u0026s3control.AccessGrantArgs{\n\t\t\tAccessGrantsLocationId: exampleAccessGrantsLocation.AccessGrantsLocationId,\n\t\t\tPermission: pulumi.String(\"READ\"),\n\t\t\tAccessGrantsLocationConfiguration: \u0026s3control.AccessGrantAccessGrantsLocationConfigurationArgs{\n\t\t\t\tS3SubPrefix: pulumi.String(\"prefixB*\"),\n\t\t\t},\n\t\t\tGrantee: \u0026s3control.AccessGrantGranteeArgs{\n\t\t\t\tGranteeType: pulumi.String(\"IAM\"),\n\t\t\t\tGranteeIdentifier: pulumi.Any(exampleAwsIamUser.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3control.AccessGrantsInstance;\nimport com.pulumi.aws.s3control.AccessGrantsLocation;\nimport com.pulumi.aws.s3control.AccessGrantsLocationArgs;\nimport com.pulumi.aws.s3control.AccessGrant;\nimport com.pulumi.aws.s3control.AccessGrantArgs;\nimport com.pulumi.aws.s3control.inputs.AccessGrantAccessGrantsLocationConfigurationArgs;\nimport com.pulumi.aws.s3control.inputs.AccessGrantGranteeArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsLocation = new AccessGrantsLocation(\"exampleAccessGrantsLocation\", AccessGrantsLocationArgs.builder()\n .iamRoleArn(exampleAwsIamRole.arn())\n .locationScope(String.format(\"s3://%s/prefixA*\", exampleAwsS3Bucket.bucket()))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleAccessGrant = new AccessGrant(\"exampleAccessGrant\", AccessGrantArgs.builder()\n .accessGrantsLocationId(exampleAccessGrantsLocation.accessGrantsLocationId())\n .permission(\"READ\")\n .accessGrantsLocationConfiguration(AccessGrantAccessGrantsLocationConfigurationArgs.builder()\n .s3SubPrefix(\"prefixB*\")\n .build())\n .grantee(AccessGrantGranteeArgs.builder()\n .granteeType(\"IAM\")\n .granteeIdentifier(exampleAwsIamUser.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:AccessGrantsInstance\n exampleAccessGrantsLocation:\n type: aws:s3control:AccessGrantsLocation\n name: example\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n locationScope: s3://${exampleAwsS3Bucket.bucket}/prefixA*\n options:\n dependson:\n - ${example}\n exampleAccessGrant:\n type: aws:s3control:AccessGrant\n name: example\n properties:\n accessGrantsLocationId: ${exampleAccessGrantsLocation.accessGrantsLocationId}\n permission: READ\n accessGrantsLocationConfiguration:\n s3SubPrefix: prefixB*\n grantee:\n granteeType: IAM\n granteeIdentifier: ${exampleAwsIamUser.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Access Grants using the `account_id` and `access_grant_id`, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:s3control/accessGrant:AccessGrant example 123456789012,04549c5e-2f3c-4a07-824d-2cafe720aa22\n```\n", "properties": { "accessGrantArn": { "type": "string", @@ -350086,7 +350086,7 @@ } }, "aws:s3control/accessGrantsLocation:AccessGrantsLocation": { - "description": "Provides a resource to manage an S3 Access Grants location.\nA location is an S3 resource (bucket or prefix) in a permission grant that the grantee can access.\nThe S3 data must be in the same Region as your S3 Access Grants instance.\nWhen you register a location, you must include the IAM role that has permission to manage the S3 location that you are registering.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.AccessGrantsInstance(\"example\", {});\nconst exampleAccessGrantsLocation = new aws.s3control.AccessGrantsLocation(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n locationScope: \"s3://\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.AccessGrantsInstance(\"example\")\nexample_access_grants_location = aws.s3control.AccessGrantsLocation(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n location_scope=\"s3://\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsLocation = new Aws.S3Control.AccessGrantsLocation(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n LocationScope = \"s3://\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3control.NewAccessGrantsInstance(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewAccessGrantsLocation(ctx, \"example\", \u0026s3control.AccessGrantsLocationArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tLocationScope: pulumi.String(\"s3://\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3control.AccessGrantsInstance;\nimport com.pulumi.aws.s3control.AccessGrantsLocation;\nimport com.pulumi.aws.s3control.AccessGrantsLocationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsLocation = new AccessGrantsLocation(\"exampleAccessGrantsLocation\", AccessGrantsLocationArgs.builder()\n .iamRoleArn(exampleAwsIamRole.arn())\n .locationScope(\"s3://\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:AccessGrantsInstance\n exampleAccessGrantsLocation:\n type: aws:s3control:AccessGrantsLocation\n name: example\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n locationScope: s3://\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Access Grants locations using the `account_id` and `access_grants_location_id`, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:s3control/accessGrantsLocation:AccessGrantsLocation example 123456789012,default\n```\n", + "description": "Provides a resource to manage an S3 Access Grants location.\nA location is an S3 resource (bucket or prefix) in a permission grant that the grantee can access.\nThe S3 data must be in the same Region as your S3 Access Grants instance.\nWhen you register a location, you must include the IAM role that has permission to manage the S3 location that you are registering.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.AccessGrantsInstance(\"example\", {});\nconst exampleAccessGrantsLocation = new aws.s3control.AccessGrantsLocation(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n locationScope: \"s3://\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.AccessGrantsInstance(\"example\")\nexample_access_grants_location = aws.s3control.AccessGrantsLocation(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n location_scope=\"s3://\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsLocation = new Aws.S3Control.AccessGrantsLocation(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n LocationScope = \"s3://\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3control.NewAccessGrantsInstance(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewAccessGrantsLocation(ctx, \"example\", \u0026s3control.AccessGrantsLocationArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tLocationScope: pulumi.String(\"s3://\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3control.AccessGrantsInstance;\nimport com.pulumi.aws.s3control.AccessGrantsLocation;\nimport com.pulumi.aws.s3control.AccessGrantsLocationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsLocation = new AccessGrantsLocation(\"exampleAccessGrantsLocation\", AccessGrantsLocationArgs.builder()\n .iamRoleArn(exampleAwsIamRole.arn())\n .locationScope(\"s3://\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:AccessGrantsInstance\n exampleAccessGrantsLocation:\n type: aws:s3control:AccessGrantsLocation\n name: example\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n locationScope: s3://\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Access Grants locations using the `account_id` and `access_grants_location_id`, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:s3control/accessGrantsLocation:AccessGrantsLocation example 123456789012,default\n```\n", "properties": { "accessGrantsLocationArn": { "type": "string", @@ -350782,7 +350782,7 @@ } }, "aws:s3control/storageLensConfiguration:StorageLensConfiguration": { - "description": "Provides a resource to manage an S3 Storage Lens configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.s3control.StorageLensConfiguration(\"example\", {\n configId: \"example-1\",\n storageLensConfiguration: {\n enabled: true,\n accountLevel: {\n activityMetrics: {\n enabled: true,\n },\n bucketLevel: {\n activityMetrics: {\n enabled: true,\n },\n },\n },\n dataExport: {\n cloudWatchMetrics: {\n enabled: true,\n },\n s3BucketDestination: {\n accountId: current.then(current =\u003e current.accountId),\n arn: target.arn,\n format: \"CSV\",\n outputSchemaVersion: \"V_1\",\n encryption: {\n sseS3s: [{}],\n },\n },\n },\n exclude: {\n buckets: [\n b1.arn,\n b2.arn,\n ],\n regions: [\"us-east-2\"],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.s3control.StorageLensConfiguration(\"example\",\n config_id=\"example-1\",\n storage_lens_configuration={\n \"enabled\": True,\n \"account_level\": {\n \"activity_metrics\": {\n \"enabled\": True,\n },\n \"bucket_level\": {\n \"activity_metrics\": {\n \"enabled\": True,\n },\n },\n },\n \"data_export\": {\n \"cloud_watch_metrics\": {\n \"enabled\": True,\n },\n \"s3_bucket_destination\": {\n \"account_id\": current.account_id,\n \"arn\": target[\"arn\"],\n \"format\": \"CSV\",\n \"output_schema_version\": \"V_1\",\n \"encryption\": {\n \"sse_s3s\": [{}],\n },\n },\n },\n \"exclude\": {\n \"buckets\": [\n b1[\"arn\"],\n b2[\"arn\"],\n ],\n \"regions\": [\"us-east-2\"],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.S3Control.StorageLensConfiguration(\"example\", new()\n {\n ConfigId = \"example-1\",\n StorageLensConfigurationDetail = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationArgs\n {\n Enabled = true,\n AccountLevel = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs\n {\n ActivityMetrics = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs\n {\n Enabled = true,\n },\n BucketLevel = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs\n {\n ActivityMetrics = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs\n {\n Enabled = true,\n },\n },\n },\n DataExport = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportArgs\n {\n CloudWatchMetrics = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs\n {\n Enabled = true,\n },\n S3BucketDestination = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs\n {\n AccountId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Arn = target.Arn,\n Format = \"CSV\",\n OutputSchemaVersion = \"V_1\",\n Encryption = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs\n {\n SseS3s = new[]\n {\n null,\n },\n },\n },\n },\n Exclude = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationExcludeArgs\n {\n Buckets = new[]\n {\n b1.Arn,\n b2.Arn,\n },\n Regions = new[]\n {\n \"us-east-2\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewStorageLensConfiguration(ctx, \"example\", \u0026s3control.StorageLensConfigurationArgs{\n\t\t\tConfigId: pulumi.String(\"example-1\"),\n\t\t\tStorageLensConfiguration: \u0026s3control.StorageLensConfigurationStorageLensConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tAccountLevel: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs{\n\t\t\t\t\tActivityMetrics: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tBucketLevel: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs{\n\t\t\t\t\t\tActivityMetrics: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDataExport: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportArgs{\n\t\t\t\t\tCloudWatchMetrics: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tS3BucketDestination: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs{\n\t\t\t\t\t\tAccountId: pulumi.String(current.AccountId),\n\t\t\t\t\t\tArn: pulumi.Any(target.Arn),\n\t\t\t\t\t\tFormat: pulumi.String(\"CSV\"),\n\t\t\t\t\t\tOutputSchemaVersion: pulumi.String(\"V_1\"),\n\t\t\t\t\t\tEncryption: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs{\n\t\t\t\t\t\t\tSseS3s: s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Array{\n\t\t\t\t\t\t\t\t\u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tExclude: \u0026s3control.StorageLensConfigurationStorageLensConfigurationExcludeArgs{\n\t\t\t\t\tBuckets: pulumi.StringArray{\n\t\t\t\t\t\tb1.Arn,\n\t\t\t\t\t\tb2.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tRegions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"us-east-2\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.s3control.StorageLensConfiguration;\nimport com.pulumi.aws.s3control.StorageLensConfigurationArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationExcludeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new StorageLensConfiguration(\"example\", StorageLensConfigurationArgs.builder()\n .configId(\"example-1\")\n .storageLensConfiguration(StorageLensConfigurationStorageLensConfigurationArgs.builder()\n .enabled(true)\n .accountLevel(StorageLensConfigurationStorageLensConfigurationAccountLevelArgs.builder()\n .activityMetrics(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs.builder()\n .enabled(true)\n .build())\n .bucketLevel(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs.builder()\n .activityMetrics(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs.builder()\n .enabled(true)\n .build())\n .build())\n .build())\n .dataExport(StorageLensConfigurationStorageLensConfigurationDataExportArgs.builder()\n .cloudWatchMetrics(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs.builder()\n .enabled(true)\n .build())\n .s3BucketDestination(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs.builder()\n .accountId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .arn(target.arn())\n .format(\"CSV\")\n .outputSchemaVersion(\"V_1\")\n .encryption(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs.builder()\n .sseS3s()\n .build())\n .build())\n .build())\n .exclude(StorageLensConfigurationStorageLensConfigurationExcludeArgs.builder()\n .buckets( \n b1.arn(),\n b2.arn())\n .regions(\"us-east-2\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:StorageLensConfiguration\n properties:\n configId: example-1\n storageLensConfiguration:\n enabled: true\n accountLevel:\n activityMetrics:\n enabled: true\n bucketLevel:\n activityMetrics:\n enabled: true\n dataExport:\n cloudWatchMetrics:\n enabled: true\n s3BucketDestination:\n accountId: ${current.accountId}\n arn: ${target.arn}\n format: CSV\n outputSchemaVersion: V_1\n encryption:\n sseS3s:\n - {}\n exclude:\n buckets:\n - ${b1.arn}\n - ${b2.arn}\n regions:\n - us-east-2\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Storage Lens configurations using the `account_id` and `config_id`, separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:s3control/storageLensConfiguration:StorageLensConfiguration example 123456789012:example-1\n```\n", + "description": "Provides a resource to manage an S3 Storage Lens configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.s3control.StorageLensConfiguration(\"example\", {\n configId: \"example-1\",\n storageLensConfiguration: {\n enabled: true,\n accountLevel: {\n activityMetrics: {\n enabled: true,\n },\n bucketLevel: {\n activityMetrics: {\n enabled: true,\n },\n },\n },\n dataExport: {\n cloudWatchMetrics: {\n enabled: true,\n },\n s3BucketDestination: {\n accountId: current.then(current =\u003e current.accountId),\n arn: target.arn,\n format: \"CSV\",\n outputSchemaVersion: \"V_1\",\n encryption: {\n sseS3s: [{}],\n },\n },\n },\n exclude: {\n buckets: [\n b1.arn,\n b2.arn,\n ],\n regions: [\"us-east-2\"],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.s3control.StorageLensConfiguration(\"example\",\n config_id=\"example-1\",\n storage_lens_configuration={\n \"enabled\": True,\n \"account_level\": {\n \"activity_metrics\": {\n \"enabled\": True,\n },\n \"bucket_level\": {\n \"activity_metrics\": {\n \"enabled\": True,\n },\n },\n },\n \"data_export\": {\n \"cloud_watch_metrics\": {\n \"enabled\": True,\n },\n \"s3_bucket_destination\": {\n \"account_id\": current.account_id,\n \"arn\": target[\"arn\"],\n \"format\": \"CSV\",\n \"output_schema_version\": \"V_1\",\n \"encryption\": {\n \"sse_s3s\": [{}],\n },\n },\n },\n \"exclude\": {\n \"buckets\": [\n b1[\"arn\"],\n b2[\"arn\"],\n ],\n \"regions\": [\"us-east-2\"],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.S3Control.StorageLensConfiguration(\"example\", new()\n {\n ConfigId = \"example-1\",\n StorageLensConfigurationDetail = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationArgs\n {\n Enabled = true,\n AccountLevel = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs\n {\n ActivityMetrics = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs\n {\n Enabled = true,\n },\n BucketLevel = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs\n {\n ActivityMetrics = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs\n {\n Enabled = true,\n },\n },\n },\n DataExport = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportArgs\n {\n CloudWatchMetrics = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs\n {\n Enabled = true,\n },\n S3BucketDestination = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs\n {\n AccountId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Arn = target.Arn,\n Format = \"CSV\",\n OutputSchemaVersion = \"V_1\",\n Encryption = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs\n {\n SseS3s = new[]\n {\n null,\n },\n },\n },\n },\n Exclude = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationExcludeArgs\n {\n Buckets = new[]\n {\n b1.Arn,\n b2.Arn,\n },\n Regions = new[]\n {\n \"us-east-2\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewStorageLensConfiguration(ctx, \"example\", \u0026s3control.StorageLensConfigurationArgs{\n\t\t\tConfigId: pulumi.String(\"example-1\"),\n\t\t\tStorageLensConfiguration: \u0026s3control.StorageLensConfigurationStorageLensConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tAccountLevel: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs{\n\t\t\t\t\tActivityMetrics: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tBucketLevel: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs{\n\t\t\t\t\t\tActivityMetrics: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDataExport: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportArgs{\n\t\t\t\t\tCloudWatchMetrics: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tS3BucketDestination: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs{\n\t\t\t\t\t\tAccountId: pulumi.String(current.AccountId),\n\t\t\t\t\t\tArn: pulumi.Any(target.Arn),\n\t\t\t\t\t\tFormat: pulumi.String(\"CSV\"),\n\t\t\t\t\t\tOutputSchemaVersion: pulumi.String(\"V_1\"),\n\t\t\t\t\t\tEncryption: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs{\n\t\t\t\t\t\t\tSseS3s: s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Array{\n\t\t\t\t\t\t\t\t\u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tExclude: \u0026s3control.StorageLensConfigurationStorageLensConfigurationExcludeArgs{\n\t\t\t\t\tBuckets: pulumi.StringArray{\n\t\t\t\t\t\tb1.Arn,\n\t\t\t\t\t\tb2.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tRegions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"us-east-2\"),\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.s3control.StorageLensConfiguration;\nimport com.pulumi.aws.s3control.StorageLensConfigurationArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationExcludeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new StorageLensConfiguration(\"example\", StorageLensConfigurationArgs.builder()\n .configId(\"example-1\")\n .storageLensConfiguration(StorageLensConfigurationStorageLensConfigurationArgs.builder()\n .enabled(true)\n .accountLevel(StorageLensConfigurationStorageLensConfigurationAccountLevelArgs.builder()\n .activityMetrics(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs.builder()\n .enabled(true)\n .build())\n .bucketLevel(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs.builder()\n .activityMetrics(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs.builder()\n .enabled(true)\n .build())\n .build())\n .build())\n .dataExport(StorageLensConfigurationStorageLensConfigurationDataExportArgs.builder()\n .cloudWatchMetrics(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs.builder()\n .enabled(true)\n .build())\n .s3BucketDestination(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs.builder()\n .accountId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .arn(target.arn())\n .format(\"CSV\")\n .outputSchemaVersion(\"V_1\")\n .encryption(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs.builder()\n .sseS3s()\n .build())\n .build())\n .build())\n .exclude(StorageLensConfigurationStorageLensConfigurationExcludeArgs.builder()\n .buckets( \n b1.arn(),\n b2.arn())\n .regions(\"us-east-2\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:StorageLensConfiguration\n properties:\n configId: example-1\n storageLensConfiguration:\n enabled: true\n accountLevel:\n activityMetrics:\n enabled: true\n bucketLevel:\n activityMetrics:\n enabled: true\n dataExport:\n cloudWatchMetrics:\n enabled: true\n s3BucketDestination:\n accountId: ${current.accountId}\n arn: ${target.arn}\n format: CSV\n outputSchemaVersion: V_1\n encryption:\n sseS3s:\n - {}\n exclude:\n buckets:\n - ${b1.arn}\n - ${b2.arn}\n regions:\n - us-east-2\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Storage Lens configurations using the `account_id` and `config_id`, separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:s3control/storageLensConfiguration:StorageLensConfiguration example 123456789012:example-1\n```\n", "properties": { "accountId": { "type": "string", @@ -351372,7 +351372,7 @@ } }, "aws:s3tables/tableBucketPolicy:TableBucketPolicy": { - "description": "Resource for managing an Amazon S3 Tables Table Bucket Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{}],\n});\nconst exampleTableBucketPolicy = new aws.s3tables.TableBucketPolicy(\"example\", {\n resourcePolicy: example.then(example =\u003e example.json),\n tableBucketArn: exampleAwsS3tablesTableBucket.arn,\n});\nconst test = new aws.s3tables.TableBucket(\"test\", {name: \"example-bucket\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[{}])\nexample_table_bucket_policy = aws.s3tables.TableBucketPolicy(\"example\",\n resource_policy=example.json,\n table_bucket_arn=example_aws_s3tables_table_bucket[\"arn\"])\ntest = aws.s3tables.TableBucket(\"test\", name=\"example-bucket\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n null,\n },\n });\n\n var exampleTableBucketPolicy = new Aws.S3Tables.TableBucketPolicy(\"example\", new()\n {\n ResourcePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n TableBucketArn = exampleAwsS3tablesTableBucket.Arn,\n });\n\n var test = new Aws.S3Tables.TableBucket(\"test\", new()\n {\n Name = \"example-bucket\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3tables\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3tables.NewTableBucketPolicy(ctx, \"example\", \u0026s3tables.TableBucketPolicyArgs{\n\t\t\tResourcePolicy: pulumi.String(example.Json),\n\t\t\tTableBucketArn: pulumi.Any(exampleAwsS3tablesTableBucket.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3tables.NewTableBucket(ctx, \"test\", \u0026s3tables.TableBucketArgs{\n\t\t\tName: pulumi.String(\"example-bucket\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3tables.TableBucketPolicy;\nimport com.pulumi.aws.s3tables.TableBucketPolicyArgs;\nimport com.pulumi.aws.s3tables.TableBucket;\nimport com.pulumi.aws.s3tables.TableBucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements()\n .build());\n\n var exampleTableBucketPolicy = new TableBucketPolicy(\"exampleTableBucketPolicy\", TableBucketPolicyArgs.builder()\n .resourcePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .tableBucketArn(exampleAwsS3tablesTableBucket.arn())\n .build());\n\n var test = new TableBucket(\"test\", TableBucketArgs.builder()\n .name(\"example-bucket\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTableBucketPolicy:\n type: aws:s3tables:TableBucketPolicy\n name: example\n properties:\n resourcePolicy: ${example.json}\n tableBucketArn: ${exampleAwsS3tablesTableBucket.arn}\n test:\n type: aws:s3tables:TableBucket\n properties:\n name: example-bucket\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Tables Table Bucket Policy using the `table_bucket_arn`. For example:\n\n```sh\n$ pulumi import aws:s3tables/tableBucketPolicy:TableBucketPolicy example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace'\n```\n", + "description": "Resource for managing an Amazon S3 Tables Table Bucket Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{}],\n});\nconst exampleTableBucketPolicy = new aws.s3tables.TableBucketPolicy(\"example\", {\n resourcePolicy: example.then(example =\u003e example.json),\n tableBucketArn: exampleAwsS3tablesTableBucket.arn,\n});\nconst test = new aws.s3tables.TableBucket(\"test\", {name: \"example-bucket\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[{}])\nexample_table_bucket_policy = aws.s3tables.TableBucketPolicy(\"example\",\n resource_policy=example.json,\n table_bucket_arn=example_aws_s3tables_table_bucket[\"arn\"])\ntest = aws.s3tables.TableBucket(\"test\", name=\"example-bucket\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n null,\n },\n });\n\n var exampleTableBucketPolicy = new Aws.S3Tables.TableBucketPolicy(\"example\", new()\n {\n ResourcePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n TableBucketArn = exampleAwsS3tablesTableBucket.Arn,\n });\n\n var test = new Aws.S3Tables.TableBucket(\"test\", new()\n {\n Name = \"example-bucket\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3tables\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3tables.NewTableBucketPolicy(ctx, \"example\", \u0026s3tables.TableBucketPolicyArgs{\n\t\t\tResourcePolicy: pulumi.String(example.Json),\n\t\t\tTableBucketArn: pulumi.Any(exampleAwsS3tablesTableBucket.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3tables.NewTableBucket(ctx, \"test\", \u0026s3tables.TableBucketArgs{\n\t\t\tName: pulumi.String(\"example-bucket\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3tables.TableBucketPolicy;\nimport com.pulumi.aws.s3tables.TableBucketPolicyArgs;\nimport com.pulumi.aws.s3tables.TableBucket;\nimport com.pulumi.aws.s3tables.TableBucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements()\n .build());\n\n var exampleTableBucketPolicy = new TableBucketPolicy(\"exampleTableBucketPolicy\", TableBucketPolicyArgs.builder()\n .resourcePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .tableBucketArn(exampleAwsS3tablesTableBucket.arn())\n .build());\n\n var test = new TableBucket(\"test\", TableBucketArgs.builder()\n .name(\"example-bucket\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTableBucketPolicy:\n type: aws:s3tables:TableBucketPolicy\n name: example\n properties:\n resourcePolicy: ${example.json}\n tableBucketArn: ${exampleAwsS3tablesTableBucket.arn}\n test:\n type: aws:s3tables:TableBucket\n properties:\n name: example-bucket\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Tables Table Bucket Policy using the `table_bucket_arn`. For example:\n\n```sh\n$ pulumi import aws:s3tables/tableBucketPolicy:TableBucketPolicy example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace'\n```\n", "properties": { "resourcePolicy": { "type": "string", @@ -351417,7 +351417,7 @@ } }, "aws:s3tables/tablePolicy:TablePolicy": { - "description": "Resource for managing an Amazon S3 Tables Table Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3tables.TablePolicy;\nimport com.pulumi.aws.s3tables.TablePolicyArgs;\nimport com.pulumi.aws.s3tables.TableBucket;\nimport com.pulumi.aws.s3tables.TableBucketArgs;\nimport com.pulumi.aws.s3tables.Namespace;\nimport com.pulumi.aws.s3tables.NamespaceArgs;\nimport com.pulumi.aws.s3tables.Table;\nimport com.pulumi.aws.s3tables.TableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements()\n .build());\n\n var exampleTablePolicy = new TablePolicy(\"exampleTablePolicy\", TablePolicyArgs.builder()\n .resourcePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(test.name())\n .namespace(test.namespace())\n .tableBucketArn(test.tableBucketArn())\n .build());\n\n var exampleTableBucket = new TableBucket(\"exampleTableBucket\", TableBucketArgs.builder()\n .name(\"example-bucket\")\n .build());\n\n var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n .namespace(\"example-namespace\")\n .tableBucketArn(exampleTableBucket.arn())\n .build());\n\n var exampleTable = new Table(\"exampleTable\", TableArgs.builder()\n .name(\"example-table\")\n .namespace(exampleNamespace)\n .tableBucketArn(exampleNamespace.tableBucketArn())\n .format(\"ICEBERG\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTablePolicy:\n type: aws:s3tables:TablePolicy\n name: example\n properties:\n resourcePolicy: ${example.json}\n name: ${test.name}\n namespace: ${test.namespace}\n tableBucketArn: ${test.tableBucketArn}\n exampleTable:\n type: aws:s3tables:Table\n name: example\n properties:\n name: example-table\n namespace: ${exampleNamespace}\n tableBucketArn: ${exampleNamespace.tableBucketArn}\n format: ICEBERG\n exampleNamespace:\n type: aws:s3tables:Namespace\n name: example\n properties:\n namespace:\n - example-namespace\n tableBucketArn: ${exampleTableBucket.arn}\n exampleTableBucket:\n type: aws:s3tables:TableBucket\n name: example\n properties:\n name: example-bucket\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Tables Table Policy using the `table_bucket_arn`, the value of `namespace`, and the value of `name`, separated by a semicolon (`;`). For example:\n\n```sh\n$ pulumi import aws:s3tables/tablePolicy:TablePolicy example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace;example-table'\n```\n", + "description": "Resource for managing an Amazon S3 Tables Table Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3tables.TablePolicy;\nimport com.pulumi.aws.s3tables.TablePolicyArgs;\nimport com.pulumi.aws.s3tables.TableBucket;\nimport com.pulumi.aws.s3tables.TableBucketArgs;\nimport com.pulumi.aws.s3tables.Namespace;\nimport com.pulumi.aws.s3tables.NamespaceArgs;\nimport com.pulumi.aws.s3tables.Table;\nimport com.pulumi.aws.s3tables.TableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements()\n .build());\n\n var exampleTablePolicy = new TablePolicy(\"exampleTablePolicy\", TablePolicyArgs.builder()\n .resourcePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(test.name())\n .namespace(test.namespace())\n .tableBucketArn(test.tableBucketArn())\n .build());\n\n var exampleTableBucket = new TableBucket(\"exampleTableBucket\", TableBucketArgs.builder()\n .name(\"example-bucket\")\n .build());\n\n var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n .namespace(\"example-namespace\")\n .tableBucketArn(exampleTableBucket.arn())\n .build());\n\n var exampleTable = new Table(\"exampleTable\", TableArgs.builder()\n .name(\"example-table\")\n .namespace(exampleNamespace)\n .tableBucketArn(exampleNamespace.tableBucketArn())\n .format(\"ICEBERG\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTablePolicy:\n type: aws:s3tables:TablePolicy\n name: example\n properties:\n resourcePolicy: ${example.json}\n name: ${test.name}\n namespace: ${test.namespace}\n tableBucketArn: ${test.tableBucketArn}\n exampleTable:\n type: aws:s3tables:Table\n name: example\n properties:\n name: example-table\n namespace: ${exampleNamespace}\n tableBucketArn: ${exampleNamespace.tableBucketArn}\n format: ICEBERG\n exampleNamespace:\n type: aws:s3tables:Namespace\n name: example\n properties:\n namespace:\n - example-namespace\n tableBucketArn: ${exampleTableBucket.arn}\n exampleTableBucket:\n type: aws:s3tables:TableBucket\n name: example\n properties:\n name: example-bucket\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Tables Table Policy using the `table_bucket_arn`, the value of `namespace`, and the value of `name`, separated by a semicolon (`;`). For example:\n\n```sh\n$ pulumi import aws:s3tables/tablePolicy:TablePolicy example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace;example-table'\n```\n", "properties": { "name": { "type": "string", @@ -351760,7 +351760,7 @@ } }, "aws:sagemaker/codeRepository:CodeRepository": { - "description": "Provides a SageMaker Code Repository resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.CodeRepository(\"example\", {\n codeRepositoryName: \"example\",\n gitConfig: {\n repositoryUrl: \"https://github.com/github/docs.git\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.CodeRepository(\"example\",\n code_repository_name=\"example\",\n git_config={\n \"repository_url\": \"https://github.com/github/docs.git\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.CodeRepository(\"example\", new()\n {\n CodeRepositoryName = \"example\",\n GitConfig = new Aws.Sagemaker.Inputs.CodeRepositoryGitConfigArgs\n {\n RepositoryUrl = \"https://github.com/github/docs.git\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\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 := sagemaker.NewCodeRepository(ctx, \"example\", \u0026sagemaker.CodeRepositoryArgs{\n\t\t\tCodeRepositoryName: pulumi.String(\"example\"),\n\t\t\tGitConfig: \u0026sagemaker.CodeRepositoryGitConfigArgs{\n\t\t\t\tRepositoryUrl: pulumi.String(\"https://github.com/github/docs.git\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sagemaker.CodeRepository;\nimport com.pulumi.aws.sagemaker.CodeRepositoryArgs;\nimport com.pulumi.aws.sagemaker.inputs.CodeRepositoryGitConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new CodeRepository(\"example\", CodeRepositoryArgs.builder()\n .codeRepositoryName(\"example\")\n .gitConfig(CodeRepositoryGitConfigArgs.builder()\n .repositoryUrl(\"https://github.com/github/docs.git\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:CodeRepository\n properties:\n codeRepositoryName: example\n gitConfig:\n repositoryUrl: https://github.com/github/docs.git\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with Secret\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.secretsmanager.Secret(\"example\", {name: \"example\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n username: \"example\",\n password: \"example\",\n }),\n});\nconst exampleCodeRepository = new aws.sagemaker.CodeRepository(\"example\", {\n codeRepositoryName: \"example\",\n gitConfig: {\n repositoryUrl: \"https://github.com/github/docs.git\",\n secretArn: example.arn,\n },\n}, {\n dependsOn: [exampleSecretVersion],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"username\": \"example\",\n \"password\": \"example\",\n }))\nexample_code_repository = aws.sagemaker.CodeRepository(\"example\",\n code_repository_name=\"example\",\n git_config={\n \"repository_url\": \"https://github.com/github/docs.git\",\n \"secret_arn\": example.arn,\n },\n opts = pulumi.ResourceOptions(depends_on=[example_secret_version]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = example.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"example\",\n [\"password\"] = \"example\",\n }),\n });\n\n var exampleCodeRepository = new Aws.Sagemaker.CodeRepository(\"example\", new()\n {\n CodeRepositoryName = \"example\",\n GitConfig = new Aws.Sagemaker.Inputs.CodeRepositoryGitConfigArgs\n {\n RepositoryUrl = \"https://github.com/github/docs.git\",\n SecretArn = example.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleSecretVersion,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"username\": \"example\",\n\t\t\t\"password\": \"example\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleSecretVersion, err := secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: example.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewCodeRepository(ctx, \"example\", \u0026sagemaker.CodeRepositoryArgs{\n\t\t\tCodeRepositoryName: pulumi.String(\"example\"),\n\t\t\tGitConfig: \u0026sagemaker.CodeRepositoryGitConfigArgs{\n\t\t\t\tRepositoryUrl: pulumi.String(\"https://github.com/github/docs.git\"),\n\t\t\t\tSecretArn: example.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSecretVersion,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.sagemaker.CodeRepository;\nimport com.pulumi.aws.sagemaker.CodeRepositoryArgs;\nimport com.pulumi.aws.sagemaker.inputs.CodeRepositoryGitConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Secret(\"example\", SecretArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"example\"),\n jsonProperty(\"password\", \"example\")\n )))\n .build());\n\n var exampleCodeRepository = new CodeRepository(\"exampleCodeRepository\", CodeRepositoryArgs.builder()\n .codeRepositoryName(\"example\")\n .gitConfig(CodeRepositoryGitConfigArgs.builder()\n .repositoryUrl(\"https://github.com/github/docs.git\")\n .secretArn(example.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleSecretVersion)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n username: example\n password: example\n exampleCodeRepository:\n type: aws:sagemaker:CodeRepository\n name: example\n properties:\n codeRepositoryName: example\n gitConfig:\n repositoryUrl: https://github.com/github/docs.git\n secretArn: ${example.arn}\n options:\n dependsOn:\n - ${exampleSecretVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Code Repositories using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/codeRepository:CodeRepository test_code_repository my-code-repo\n```\n", + "description": "Provides a SageMaker Code Repository resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.CodeRepository(\"example\", {\n codeRepositoryName: \"example\",\n gitConfig: {\n repositoryUrl: \"https://github.com/github/docs.git\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.CodeRepository(\"example\",\n code_repository_name=\"example\",\n git_config={\n \"repository_url\": \"https://github.com/github/docs.git\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.CodeRepository(\"example\", new()\n {\n CodeRepositoryName = \"example\",\n GitConfig = new Aws.Sagemaker.Inputs.CodeRepositoryGitConfigArgs\n {\n RepositoryUrl = \"https://github.com/github/docs.git\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\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 := sagemaker.NewCodeRepository(ctx, \"example\", \u0026sagemaker.CodeRepositoryArgs{\n\t\t\tCodeRepositoryName: pulumi.String(\"example\"),\n\t\t\tGitConfig: \u0026sagemaker.CodeRepositoryGitConfigArgs{\n\t\t\t\tRepositoryUrl: pulumi.String(\"https://github.com/github/docs.git\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sagemaker.CodeRepository;\nimport com.pulumi.aws.sagemaker.CodeRepositoryArgs;\nimport com.pulumi.aws.sagemaker.inputs.CodeRepositoryGitConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new CodeRepository(\"example\", CodeRepositoryArgs.builder()\n .codeRepositoryName(\"example\")\n .gitConfig(CodeRepositoryGitConfigArgs.builder()\n .repositoryUrl(\"https://github.com/github/docs.git\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:CodeRepository\n properties:\n codeRepositoryName: example\n gitConfig:\n repositoryUrl: https://github.com/github/docs.git\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with Secret\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.secretsmanager.Secret(\"example\", {name: \"example\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n username: \"example\",\n password: \"example\",\n }),\n});\nconst exampleCodeRepository = new aws.sagemaker.CodeRepository(\"example\", {\n codeRepositoryName: \"example\",\n gitConfig: {\n repositoryUrl: \"https://github.com/github/docs.git\",\n secretArn: example.arn,\n },\n}, {\n dependsOn: [exampleSecretVersion],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"username\": \"example\",\n \"password\": \"example\",\n }))\nexample_code_repository = aws.sagemaker.CodeRepository(\"example\",\n code_repository_name=\"example\",\n git_config={\n \"repository_url\": \"https://github.com/github/docs.git\",\n \"secret_arn\": example.arn,\n },\n opts = pulumi.ResourceOptions(depends_on=[example_secret_version]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = example.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"example\",\n [\"password\"] = \"example\",\n }),\n });\n\n var exampleCodeRepository = new Aws.Sagemaker.CodeRepository(\"example\", new()\n {\n CodeRepositoryName = \"example\",\n GitConfig = new Aws.Sagemaker.Inputs.CodeRepositoryGitConfigArgs\n {\n RepositoryUrl = \"https://github.com/github/docs.git\",\n SecretArn = example.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleSecretVersion,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"username\": \"example\",\n\t\t\t\"password\": \"example\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleSecretVersion, err := secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: example.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewCodeRepository(ctx, \"example\", \u0026sagemaker.CodeRepositoryArgs{\n\t\t\tCodeRepositoryName: pulumi.String(\"example\"),\n\t\t\tGitConfig: \u0026sagemaker.CodeRepositoryGitConfigArgs{\n\t\t\t\tRepositoryUrl: pulumi.String(\"https://github.com/github/docs.git\"),\n\t\t\t\tSecretArn: example.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSecretVersion,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.sagemaker.CodeRepository;\nimport com.pulumi.aws.sagemaker.CodeRepositoryArgs;\nimport com.pulumi.aws.sagemaker.inputs.CodeRepositoryGitConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Secret(\"example\", SecretArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"example\"),\n jsonProperty(\"password\", \"example\")\n )))\n .build());\n\n var exampleCodeRepository = new CodeRepository(\"exampleCodeRepository\", CodeRepositoryArgs.builder()\n .codeRepositoryName(\"example\")\n .gitConfig(CodeRepositoryGitConfigArgs.builder()\n .repositoryUrl(\"https://github.com/github/docs.git\")\n .secretArn(example.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleSecretVersion)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n username: example\n password: example\n exampleCodeRepository:\n type: aws:sagemaker:CodeRepository\n name: example\n properties:\n codeRepositoryName: example\n gitConfig:\n repositoryUrl: https://github.com/github/docs.git\n secretArn: ${example.arn}\n options:\n dependson:\n - ${exampleSecretVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Code Repositories using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/codeRepository:CodeRepository test_code_repository my-code-repo\n```\n", "properties": { "arn": { "type": "string", @@ -352271,7 +352271,7 @@ } }, "aws:sagemaker/domain:Domain": { - "description": "Provides a SageMaker Domain resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"sagemaker.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n path: \"/\",\n assumeRolePolicy: example.then(example =\u003e example.json),\n});\nconst exampleDomain = new aws.sagemaker.Domain(\"example\", {\n domainName: \"example\",\n authMode: \"IAM\",\n vpcId: exampleAwsVpc.id,\n subnetIds: [exampleAwsSubnet.id],\n defaultUserSettings: {\n executionRole: exampleRole.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"sagemaker.amazonaws.com\"],\n }],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n path=\"/\",\n assume_role_policy=example.json)\nexample_domain = aws.sagemaker.Domain(\"example\",\n domain_name=\"example\",\n auth_mode=\"IAM\",\n vpc_id=example_aws_vpc[\"id\"],\n subnet_ids=[example_aws_subnet[\"id\"]],\n default_user_settings={\n \"execution_role\": example_role.arn,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"sagemaker.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n Path = \"/\",\n AssumeRolePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDomain = new Aws.Sagemaker.Domain(\"example\", new()\n {\n DomainName = \"example\",\n AuthMode = \"IAM\",\n VpcId = exampleAwsVpc.Id,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n DefaultUserSettings = new Aws.Sagemaker.Inputs.DomainDefaultUserSettingsArgs\n {\n ExecutionRole = exampleRole.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"sagemaker.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewDomain(ctx, \"example\", \u0026sagemaker.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tAuthMode: pulumi.String(\"IAM\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tDefaultUserSettings: \u0026sagemaker.DomainDefaultUserSettingsArgs{\n\t\t\t\tExecutionRole: exampleRole.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.sagemaker.Domain;\nimport com.pulumi.aws.sagemaker.DomainArgs;\nimport com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"sagemaker.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .path(\"/\")\n .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domainName(\"example\")\n .authMode(\"IAM\")\n .vpcId(exampleAwsVpc.id())\n .subnetIds(exampleAwsSubnet.id())\n .defaultUserSettings(DomainDefaultUserSettingsArgs.builder()\n .executionRole(exampleRole.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDomain:\n type: aws:sagemaker:Domain\n name: example\n properties:\n domainName: example\n authMode: IAM\n vpcId: ${exampleAwsVpc.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n defaultUserSettings:\n executionRole: ${exampleRole.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n path: /\n assumeRolePolicy: ${example.json}\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - sagemaker.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Custom Images\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sagemaker.Image;\nimport com.pulumi.aws.sagemaker.ImageArgs;\nimport com.pulumi.aws.sagemaker.AppImageConfig;\nimport com.pulumi.aws.sagemaker.AppImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs;\nimport com.pulumi.aws.sagemaker.ImageVersion;\nimport com.pulumi.aws.sagemaker.ImageVersionArgs;\nimport com.pulumi.aws.sagemaker.Domain;\nimport com.pulumi.aws.sagemaker.DomainArgs;\nimport com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsArgs;\nimport com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsKernelGatewayAppSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Image(\"example\", ImageArgs.builder()\n .imageName(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .build());\n\n var exampleAppImageConfig = new AppImageConfig(\"exampleAppImageConfig\", AppImageConfigArgs.builder()\n .appImageConfigName(\"example\")\n .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder()\n .kernelSpecs(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build());\n\n var exampleImageVersion = new ImageVersion(\"exampleImageVersion\", ImageVersionArgs.builder()\n .imageName(example.id())\n .baseImage(\"base-image\")\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domainName(\"example\")\n .authMode(\"IAM\")\n .vpcId(exampleAwsVpc.id())\n .subnetIds(exampleAwsSubnet.id())\n .defaultUserSettings(DomainDefaultUserSettingsArgs.builder()\n .executionRole(exampleAwsIamRole.arn())\n .kernelGatewayAppSettings(DomainDefaultUserSettingsKernelGatewayAppSettingsArgs.builder()\n .customImages(DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArgs.builder()\n .appImageConfigName(exampleAppImageConfig.appImageConfigName())\n .imageName(exampleImageVersion.imageName())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Image\n properties:\n imageName: example\n roleArn: ${exampleAwsIamRole.arn}\n exampleAppImageConfig:\n type: aws:sagemaker:AppImageConfig\n name: example\n properties:\n appImageConfigName: example\n kernelGatewayImageConfig:\n kernelSpecs:\n - name: example\n exampleImageVersion:\n type: aws:sagemaker:ImageVersion\n name: example\n properties:\n imageName: ${example.id}\n baseImage: base-image\n exampleDomain:\n type: aws:sagemaker:Domain\n name: example\n properties:\n domainName: example\n authMode: IAM\n vpcId: ${exampleAwsVpc.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n defaultUserSettings:\n executionRole: ${exampleAwsIamRole.arn}\n kernelGatewayAppSettings:\n customImages:\n - appImageConfigName: ${exampleAppImageConfig.appImageConfigName}\n imageName: ${exampleImageVersion.imageName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Domains using the `id`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/domain:Domain test_domain d-8jgsjtilstu8\n```\n", + "description": "Provides a SageMaker Domain resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"sagemaker.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n path: \"/\",\n assumeRolePolicy: example.then(example =\u003e example.json),\n});\nconst exampleDomain = new aws.sagemaker.Domain(\"example\", {\n domainName: \"example\",\n authMode: \"IAM\",\n vpcId: exampleAwsVpc.id,\n subnetIds: [exampleAwsSubnet.id],\n defaultUserSettings: {\n executionRole: exampleRole.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"sagemaker.amazonaws.com\"],\n }],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n path=\"/\",\n assume_role_policy=example.json)\nexample_domain = aws.sagemaker.Domain(\"example\",\n domain_name=\"example\",\n auth_mode=\"IAM\",\n vpc_id=example_aws_vpc[\"id\"],\n subnet_ids=[example_aws_subnet[\"id\"]],\n default_user_settings={\n \"execution_role\": example_role.arn,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"sagemaker.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n Path = \"/\",\n AssumeRolePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDomain = new Aws.Sagemaker.Domain(\"example\", new()\n {\n DomainName = \"example\",\n AuthMode = \"IAM\",\n VpcId = exampleAwsVpc.Id,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n DefaultUserSettings = new Aws.Sagemaker.Inputs.DomainDefaultUserSettingsArgs\n {\n ExecutionRole = exampleRole.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"sagemaker.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewDomain(ctx, \"example\", \u0026sagemaker.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tAuthMode: pulumi.String(\"IAM\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tDefaultUserSettings: \u0026sagemaker.DomainDefaultUserSettingsArgs{\n\t\t\t\tExecutionRole: exampleRole.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.sagemaker.Domain;\nimport com.pulumi.aws.sagemaker.DomainArgs;\nimport com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"sagemaker.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .path(\"/\")\n .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domainName(\"example\")\n .authMode(\"IAM\")\n .vpcId(exampleAwsVpc.id())\n .subnetIds(exampleAwsSubnet.id())\n .defaultUserSettings(DomainDefaultUserSettingsArgs.builder()\n .executionRole(exampleRole.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDomain:\n type: aws:sagemaker:Domain\n name: example\n properties:\n domainName: example\n authMode: IAM\n vpcId: ${exampleAwsVpc.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n defaultUserSettings:\n executionRole: ${exampleRole.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n path: /\n assumeRolePolicy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - sagemaker.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Custom Images\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sagemaker.Image;\nimport com.pulumi.aws.sagemaker.ImageArgs;\nimport com.pulumi.aws.sagemaker.AppImageConfig;\nimport com.pulumi.aws.sagemaker.AppImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs;\nimport com.pulumi.aws.sagemaker.ImageVersion;\nimport com.pulumi.aws.sagemaker.ImageVersionArgs;\nimport com.pulumi.aws.sagemaker.Domain;\nimport com.pulumi.aws.sagemaker.DomainArgs;\nimport com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsArgs;\nimport com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsKernelGatewayAppSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Image(\"example\", ImageArgs.builder()\n .imageName(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .build());\n\n var exampleAppImageConfig = new AppImageConfig(\"exampleAppImageConfig\", AppImageConfigArgs.builder()\n .appImageConfigName(\"example\")\n .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder()\n .kernelSpecs(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build());\n\n var exampleImageVersion = new ImageVersion(\"exampleImageVersion\", ImageVersionArgs.builder()\n .imageName(example.id())\n .baseImage(\"base-image\")\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domainName(\"example\")\n .authMode(\"IAM\")\n .vpcId(exampleAwsVpc.id())\n .subnetIds(exampleAwsSubnet.id())\n .defaultUserSettings(DomainDefaultUserSettingsArgs.builder()\n .executionRole(exampleAwsIamRole.arn())\n .kernelGatewayAppSettings(DomainDefaultUserSettingsKernelGatewayAppSettingsArgs.builder()\n .customImages(DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArgs.builder()\n .appImageConfigName(exampleAppImageConfig.appImageConfigName())\n .imageName(exampleImageVersion.imageName())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Image\n properties:\n imageName: example\n roleArn: ${exampleAwsIamRole.arn}\n exampleAppImageConfig:\n type: aws:sagemaker:AppImageConfig\n name: example\n properties:\n appImageConfigName: example\n kernelGatewayImageConfig:\n kernelSpecs:\n - name: example\n exampleImageVersion:\n type: aws:sagemaker:ImageVersion\n name: example\n properties:\n imageName: ${example.id}\n baseImage: base-image\n exampleDomain:\n type: aws:sagemaker:Domain\n name: example\n properties:\n domainName: example\n authMode: IAM\n vpcId: ${exampleAwsVpc.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n defaultUserSettings:\n executionRole: ${exampleAwsIamRole.arn}\n kernelGatewayAppSettings:\n customImages:\n - appImageConfigName: ${exampleAppImageConfig.appImageConfigName}\n imageName: ${exampleImageVersion.imageName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Domains using the `id`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/domain:Domain test_domain d-8jgsjtilstu8\n```\n", "properties": { "appNetworkAccessType": { "type": "string", @@ -353342,7 +353342,7 @@ } }, "aws:sagemaker/humanTaskUI:HumanTaskUI": { - "description": "Provides a SageMaker Human Task UI resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.sagemaker.HumanTaskUI(\"example\", {\n humanTaskUiName: \"example\",\n uiTemplate: {\n content: std.file({\n input: \"sagemaker-human-task-ui-template.html\",\n }).then(invoke =\u003e invoke.result),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.sagemaker.HumanTaskUI(\"example\",\n human_task_ui_name=\"example\",\n ui_template={\n \"content\": std.file(input=\"sagemaker-human-task-ui-template.html\").result,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.HumanTaskUI(\"example\", new()\n {\n HumanTaskUiName = \"example\",\n UiTemplate = new Aws.Sagemaker.Inputs.HumanTaskUIUiTemplateArgs\n {\n Content = Std.File.Invoke(new()\n {\n Input = \"sagemaker-human-task-ui-template.html\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"sagemaker-human-task-ui-template.html\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewHumanTaskUI(ctx, \"example\", \u0026sagemaker.HumanTaskUIArgs{\n\t\t\tHumanTaskUiName: pulumi.String(\"example\"),\n\t\t\tUiTemplate: \u0026sagemaker.HumanTaskUIUiTemplateArgs{\n\t\t\t\tContent: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sagemaker.HumanTaskUI;\nimport com.pulumi.aws.sagemaker.HumanTaskUIArgs;\nimport com.pulumi.aws.sagemaker.inputs.HumanTaskUIUiTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new HumanTaskUI(\"example\", HumanTaskUIArgs.builder()\n .humanTaskUiName(\"example\")\n .uiTemplate(HumanTaskUIUiTemplateArgs.builder()\n .content(StdFunctions.file(FileArgs.builder()\n .input(\"sagemaker-human-task-ui-template.html\")\n .build()).result())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:HumanTaskUI\n properties:\n humanTaskUiName: example\n uiTemplate:\n content:\n fn::invoke:\n function: std:file\n arguments:\n input: sagemaker-human-task-ui-template.html\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Human Task UIs using the `human_task_ui_name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/humanTaskUI:HumanTaskUI example example\n```\n", + "description": "Provides a SageMaker Human Task UI resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.sagemaker.HumanTaskUI(\"example\", {\n humanTaskUiName: \"example\",\n uiTemplate: {\n content: std.file({\n input: \"sagemaker-human-task-ui-template.html\",\n }).then(invoke =\u003e invoke.result),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.sagemaker.HumanTaskUI(\"example\",\n human_task_ui_name=\"example\",\n ui_template={\n \"content\": std.file(input=\"sagemaker-human-task-ui-template.html\").result,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.HumanTaskUI(\"example\", new()\n {\n HumanTaskUiName = \"example\",\n UiTemplate = new Aws.Sagemaker.Inputs.HumanTaskUIUiTemplateArgs\n {\n Content = Std.File.Invoke(new()\n {\n Input = \"sagemaker-human-task-ui-template.html\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"sagemaker-human-task-ui-template.html\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewHumanTaskUI(ctx, \"example\", \u0026sagemaker.HumanTaskUIArgs{\n\t\t\tHumanTaskUiName: pulumi.String(\"example\"),\n\t\t\tUiTemplate: \u0026sagemaker.HumanTaskUIUiTemplateArgs{\n\t\t\t\tContent: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sagemaker.HumanTaskUI;\nimport com.pulumi.aws.sagemaker.HumanTaskUIArgs;\nimport com.pulumi.aws.sagemaker.inputs.HumanTaskUIUiTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new HumanTaskUI(\"example\", HumanTaskUIArgs.builder()\n .humanTaskUiName(\"example\")\n .uiTemplate(HumanTaskUIUiTemplateArgs.builder()\n .content(StdFunctions.file(FileArgs.builder()\n .input(\"sagemaker-human-task-ui-template.html\")\n .build()).result())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:HumanTaskUI\n properties:\n humanTaskUiName: example\n uiTemplate:\n content:\n fn::invoke:\n Function: std:file\n Arguments:\n input: sagemaker-human-task-ui-template.html\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Human Task UIs using the `human_task_ui_name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/humanTaskUI:HumanTaskUI example example\n```\n", "properties": { "arn": { "type": "string", @@ -353812,7 +353812,7 @@ } }, "aws:sagemaker/model:Model": { - "description": "Provides a SageMaker model resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"sagemaker.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst test = aws.sagemaker.getPrebuiltEcrImage({\n repositoryName: \"kmeans\",\n});\nconst example = new aws.sagemaker.Model(\"example\", {\n name: \"my-model\",\n executionRoleArn: exampleRole.arn,\n primaryContainer: {\n image: test.then(test =\u003e test.registryPath),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"sagemaker.amazonaws.com\"],\n }],\n}])\nexample_role = aws.iam.Role(\"example\", assume_role_policy=assume_role.json)\ntest = aws.sagemaker.get_prebuilt_ecr_image(repository_name=\"kmeans\")\nexample = aws.sagemaker.Model(\"example\",\n name=\"my-model\",\n execution_role_arn=example_role.arn,\n primary_container={\n \"image\": test.registry_path,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"sagemaker.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var test = Aws.Sagemaker.GetPrebuiltEcrImage.Invoke(new()\n {\n RepositoryName = \"kmeans\",\n });\n\n var example = new Aws.Sagemaker.Model(\"example\", new()\n {\n Name = \"my-model\",\n ExecutionRoleArn = exampleRole.Arn,\n PrimaryContainer = new Aws.Sagemaker.Inputs.ModelPrimaryContainerArgs\n {\n Image = test.Apply(getPrebuiltEcrImageResult =\u003e getPrebuiltEcrImageResult.RegistryPath),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"sagemaker.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := sagemaker.GetPrebuiltEcrImage(ctx, \u0026sagemaker.GetPrebuiltEcrImageArgs{\n\t\t\tRepositoryName: \"kmeans\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewModel(ctx, \"example\", \u0026sagemaker.ModelArgs{\n\t\t\tName: pulumi.String(\"my-model\"),\n\t\t\tExecutionRoleArn: exampleRole.Arn,\n\t\t\tPrimaryContainer: \u0026sagemaker.ModelPrimaryContainerArgs{\n\t\t\t\tImage: pulumi.String(test.RegistryPath),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.sagemaker.SagemakerFunctions;\nimport com.pulumi.aws.sagemaker.inputs.GetPrebuiltEcrImageArgs;\nimport com.pulumi.aws.sagemaker.Model;\nimport com.pulumi.aws.sagemaker.ModelArgs;\nimport com.pulumi.aws.sagemaker.inputs.ModelPrimaryContainerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"sagemaker.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var test = SagemakerFunctions.getPrebuiltEcrImage(GetPrebuiltEcrImageArgs.builder()\n .repositoryName(\"kmeans\")\n .build());\n\n var example = new Model(\"example\", ModelArgs.builder()\n .name(\"my-model\")\n .executionRoleArn(exampleRole.arn())\n .primaryContainer(ModelPrimaryContainerArgs.builder()\n .image(test.applyValue(getPrebuiltEcrImageResult -\u003e getPrebuiltEcrImageResult.registryPath()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Model\n properties:\n name: my-model\n executionRoleArn: ${exampleRole.arn}\n primaryContainer:\n image: ${test.registryPath}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - sagemaker.amazonaws.com\n test:\n fn::invoke:\n function: aws:sagemaker:getPrebuiltEcrImage\n arguments:\n repositoryName: kmeans\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Inference Execution Config\n\n* `mode` - (Required) How containers in a multi-container are run. The following values are valid `Serial` and `Direct`.\n\n## Import\n\nUsing `pulumi import`, import models using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/model:Model test_model model-foo\n```\n", + "description": "Provides a SageMaker model resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"sagemaker.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst test = aws.sagemaker.getPrebuiltEcrImage({\n repositoryName: \"kmeans\",\n});\nconst example = new aws.sagemaker.Model(\"example\", {\n name: \"my-model\",\n executionRoleArn: exampleRole.arn,\n primaryContainer: {\n image: test.then(test =\u003e test.registryPath),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"sagemaker.amazonaws.com\"],\n }],\n}])\nexample_role = aws.iam.Role(\"example\", assume_role_policy=assume_role.json)\ntest = aws.sagemaker.get_prebuilt_ecr_image(repository_name=\"kmeans\")\nexample = aws.sagemaker.Model(\"example\",\n name=\"my-model\",\n execution_role_arn=example_role.arn,\n primary_container={\n \"image\": test.registry_path,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"sagemaker.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var test = Aws.Sagemaker.GetPrebuiltEcrImage.Invoke(new()\n {\n RepositoryName = \"kmeans\",\n });\n\n var example = new Aws.Sagemaker.Model(\"example\", new()\n {\n Name = \"my-model\",\n ExecutionRoleArn = exampleRole.Arn,\n PrimaryContainer = new Aws.Sagemaker.Inputs.ModelPrimaryContainerArgs\n {\n Image = test.Apply(getPrebuiltEcrImageResult =\u003e getPrebuiltEcrImageResult.RegistryPath),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"sagemaker.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := sagemaker.GetPrebuiltEcrImage(ctx, \u0026sagemaker.GetPrebuiltEcrImageArgs{\n\t\t\tRepositoryName: \"kmeans\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewModel(ctx, \"example\", \u0026sagemaker.ModelArgs{\n\t\t\tName: pulumi.String(\"my-model\"),\n\t\t\tExecutionRoleArn: exampleRole.Arn,\n\t\t\tPrimaryContainer: \u0026sagemaker.ModelPrimaryContainerArgs{\n\t\t\t\tImage: pulumi.String(test.RegistryPath),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.sagemaker.SagemakerFunctions;\nimport com.pulumi.aws.sagemaker.inputs.GetPrebuiltEcrImageArgs;\nimport com.pulumi.aws.sagemaker.Model;\nimport com.pulumi.aws.sagemaker.ModelArgs;\nimport com.pulumi.aws.sagemaker.inputs.ModelPrimaryContainerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"sagemaker.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var test = SagemakerFunctions.getPrebuiltEcrImage(GetPrebuiltEcrImageArgs.builder()\n .repositoryName(\"kmeans\")\n .build());\n\n var example = new Model(\"example\", ModelArgs.builder()\n .name(\"my-model\")\n .executionRoleArn(exampleRole.arn())\n .primaryContainer(ModelPrimaryContainerArgs.builder()\n .image(test.applyValue(getPrebuiltEcrImageResult -\u003e getPrebuiltEcrImageResult.registryPath()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Model\n properties:\n name: my-model\n executionRoleArn: ${exampleRole.arn}\n primaryContainer:\n image: ${test.registryPath}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - sagemaker.amazonaws.com\n test:\n fn::invoke:\n Function: aws:sagemaker:getPrebuiltEcrImage\n Arguments:\n repositoryName: kmeans\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Inference Execution Config\n\n* `mode` - (Required) How containers in a multi-container are run. The following values are valid `Serial` and `Direct`.\n\n## Import\n\nUsing `pulumi import`, import models using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/model:Model test_model model-foo\n```\n", "properties": { "arn": { "type": "string", @@ -354522,7 +354522,7 @@ } }, "aws:sagemaker/notebookInstanceLifecycleConfiguration:NotebookInstanceLifecycleConfiguration": { - "description": "Provides a lifecycle configuration for SageMaker Notebook Instances.\n\n## Example Usage\n\nUsage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst lc = new aws.sagemaker.NotebookInstanceLifecycleConfiguration(\"lc\", {\n name: \"foo\",\n onCreate: std.base64encode({\n input: \"echo foo\",\n }).then(invoke =\u003e invoke.result),\n onStart: std.base64encode({\n input: \"echo bar\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nlc = aws.sagemaker.NotebookInstanceLifecycleConfiguration(\"lc\",\n name=\"foo\",\n on_create=std.base64encode(input=\"echo foo\").result,\n on_start=std.base64encode(input=\"echo bar\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lc = new Aws.Sagemaker.NotebookInstanceLifecycleConfiguration(\"lc\", new()\n {\n Name = \"foo\",\n OnCreate = Std.Base64encode.Invoke(new()\n {\n Input = \"echo foo\",\n }).Apply(invoke =\u003e invoke.Result),\n OnStart = Std.Base64encode.Invoke(new()\n {\n Input = \"echo bar\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"echo foo\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode1, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"echo bar\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewNotebookInstanceLifecycleConfiguration(ctx, \"lc\", \u0026sagemaker.NotebookInstanceLifecycleConfigurationArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tOnCreate: pulumi.String(invokeBase64encode.Result),\n\t\t\tOnStart: pulumi.String(invokeBase64encode1.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sagemaker.NotebookInstanceLifecycleConfiguration;\nimport com.pulumi.aws.sagemaker.NotebookInstanceLifecycleConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var lc = new NotebookInstanceLifecycleConfiguration(\"lc\", NotebookInstanceLifecycleConfigurationArgs.builder()\n .name(\"foo\")\n .onCreate(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"echo foo\")\n .build()).result())\n .onStart(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"echo bar\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lc:\n type: aws:sagemaker:NotebookInstanceLifecycleConfiguration\n properties:\n name: foo\n onCreate:\n fn::invoke:\n function: std:base64encode\n arguments:\n input: echo foo\n return: result\n onStart:\n fn::invoke:\n function: std:base64encode\n arguments:\n input: echo bar\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import models using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/notebookInstanceLifecycleConfiguration:NotebookInstanceLifecycleConfiguration lc foo\n```\n", + "description": "Provides a lifecycle configuration for SageMaker Notebook Instances.\n\n## Example Usage\n\nUsage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst lc = new aws.sagemaker.NotebookInstanceLifecycleConfiguration(\"lc\", {\n name: \"foo\",\n onCreate: std.base64encode({\n input: \"echo foo\",\n }).then(invoke =\u003e invoke.result),\n onStart: std.base64encode({\n input: \"echo bar\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nlc = aws.sagemaker.NotebookInstanceLifecycleConfiguration(\"lc\",\n name=\"foo\",\n on_create=std.base64encode(input=\"echo foo\").result,\n on_start=std.base64encode(input=\"echo bar\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lc = new Aws.Sagemaker.NotebookInstanceLifecycleConfiguration(\"lc\", new()\n {\n Name = \"foo\",\n OnCreate = Std.Base64encode.Invoke(new()\n {\n Input = \"echo foo\",\n }).Apply(invoke =\u003e invoke.Result),\n OnStart = Std.Base64encode.Invoke(new()\n {\n Input = \"echo bar\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"echo foo\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode1, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"echo bar\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewNotebookInstanceLifecycleConfiguration(ctx, \"lc\", \u0026sagemaker.NotebookInstanceLifecycleConfigurationArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tOnCreate: pulumi.String(invokeBase64encode.Result),\n\t\t\tOnStart: pulumi.String(invokeBase64encode1.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sagemaker.NotebookInstanceLifecycleConfiguration;\nimport com.pulumi.aws.sagemaker.NotebookInstanceLifecycleConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var lc = new NotebookInstanceLifecycleConfiguration(\"lc\", NotebookInstanceLifecycleConfigurationArgs.builder()\n .name(\"foo\")\n .onCreate(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"echo foo\")\n .build()).result())\n .onStart(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"echo bar\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lc:\n type: aws:sagemaker:NotebookInstanceLifecycleConfiguration\n properties:\n name: foo\n onCreate:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: echo foo\n Return: result\n onStart:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: echo bar\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import models using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/notebookInstanceLifecycleConfiguration:NotebookInstanceLifecycleConfiguration lc foo\n```\n", "properties": { "arn": { "type": "string", @@ -355047,7 +355047,7 @@ } }, "aws:sagemaker/studioLifecycleConfig:StudioLifecycleConfig": { - "description": "Provides a SageMaker Studio Lifecycle Config resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.sagemaker.StudioLifecycleConfig(\"example\", {\n studioLifecycleConfigName: \"example\",\n studioLifecycleConfigAppType: \"JupyterServer\",\n studioLifecycleConfigContent: std.base64encode({\n input: \"echo Hello\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.sagemaker.StudioLifecycleConfig(\"example\",\n studio_lifecycle_config_name=\"example\",\n studio_lifecycle_config_app_type=\"JupyterServer\",\n studio_lifecycle_config_content=std.base64encode(input=\"echo Hello\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.StudioLifecycleConfig(\"example\", new()\n {\n StudioLifecycleConfigName = \"example\",\n StudioLifecycleConfigAppType = \"JupyterServer\",\n StudioLifecycleConfigContent = Std.Base64encode.Invoke(new()\n {\n Input = \"echo Hello\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"echo Hello\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewStudioLifecycleConfig(ctx, \"example\", \u0026sagemaker.StudioLifecycleConfigArgs{\n\t\t\tStudioLifecycleConfigName: pulumi.String(\"example\"),\n\t\t\tStudioLifecycleConfigAppType: pulumi.String(\"JupyterServer\"),\n\t\t\tStudioLifecycleConfigContent: pulumi.String(invokeBase64encode.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sagemaker.StudioLifecycleConfig;\nimport com.pulumi.aws.sagemaker.StudioLifecycleConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new StudioLifecycleConfig(\"example\", StudioLifecycleConfigArgs.builder()\n .studioLifecycleConfigName(\"example\")\n .studioLifecycleConfigAppType(\"JupyterServer\")\n .studioLifecycleConfigContent(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"echo Hello\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:StudioLifecycleConfig\n properties:\n studioLifecycleConfigName: example\n studioLifecycleConfigAppType: JupyterServer\n studioLifecycleConfigContent:\n fn::invoke:\n function: std:base64encode\n arguments:\n input: echo Hello\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Studio Lifecycle Configs using the `studio_lifecycle_config_name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/studioLifecycleConfig:StudioLifecycleConfig example example\n```\n", + "description": "Provides a SageMaker Studio Lifecycle Config resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.sagemaker.StudioLifecycleConfig(\"example\", {\n studioLifecycleConfigName: \"example\",\n studioLifecycleConfigAppType: \"JupyterServer\",\n studioLifecycleConfigContent: std.base64encode({\n input: \"echo Hello\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.sagemaker.StudioLifecycleConfig(\"example\",\n studio_lifecycle_config_name=\"example\",\n studio_lifecycle_config_app_type=\"JupyterServer\",\n studio_lifecycle_config_content=std.base64encode(input=\"echo Hello\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.StudioLifecycleConfig(\"example\", new()\n {\n StudioLifecycleConfigName = \"example\",\n StudioLifecycleConfigAppType = \"JupyterServer\",\n StudioLifecycleConfigContent = Std.Base64encode.Invoke(new()\n {\n Input = \"echo Hello\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"echo Hello\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewStudioLifecycleConfig(ctx, \"example\", \u0026sagemaker.StudioLifecycleConfigArgs{\n\t\t\tStudioLifecycleConfigName: pulumi.String(\"example\"),\n\t\t\tStudioLifecycleConfigAppType: pulumi.String(\"JupyterServer\"),\n\t\t\tStudioLifecycleConfigContent: pulumi.String(invokeBase64encode.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sagemaker.StudioLifecycleConfig;\nimport com.pulumi.aws.sagemaker.StudioLifecycleConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new StudioLifecycleConfig(\"example\", StudioLifecycleConfigArgs.builder()\n .studioLifecycleConfigName(\"example\")\n .studioLifecycleConfigAppType(\"JupyterServer\")\n .studioLifecycleConfigContent(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"echo Hello\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:StudioLifecycleConfig\n properties:\n studioLifecycleConfigName: example\n studioLifecycleConfigAppType: JupyterServer\n studioLifecycleConfigContent:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: echo Hello\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Studio Lifecycle Configs using the `studio_lifecycle_config_name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/studioLifecycleConfig:StudioLifecycleConfig example example\n```\n", "properties": { "arn": { "type": "string", @@ -356056,7 +356056,7 @@ } }, "aws:schemas/registryPolicy:RegistryPolicy": { - "description": "Resource for managing an AWS EventBridge Schemas Registry Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"example\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"109876543210\"],\n }],\n actions: [\"schemas:*\"],\n resources: [\n \"arn:aws:schemas:us-east-1:123456789012:registry/example\",\n \"arn:aws:schemas:us-east-1:123456789012:schema/example*\",\n ],\n }],\n});\nconst exampleRegistryPolicy = new aws.schemas.RegistryPolicy(\"example\", {\n registryName: \"example\",\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"example\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"109876543210\"],\n }],\n \"actions\": [\"schemas:*\"],\n \"resources\": [\n \"arn:aws:schemas:us-east-1:123456789012:registry/example\",\n \"arn:aws:schemas:us-east-1:123456789012:schema/example*\",\n ],\n}])\nexample_registry_policy = aws.schemas.RegistryPolicy(\"example\",\n registry_name=\"example\",\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"example\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"109876543210\",\n },\n },\n },\n Actions = new[]\n {\n \"schemas:*\",\n },\n Resources = new[]\n {\n \"arn:aws:schemas:us-east-1:123456789012:registry/example\",\n \"arn:aws:schemas:us-east-1:123456789012:schema/example*\",\n },\n },\n },\n });\n\n var exampleRegistryPolicy = new Aws.Schemas.RegistryPolicy(\"example\", new()\n {\n RegistryName = \"example\",\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/schemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"example\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"109876543210\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"schemas:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:schemas:us-east-1:123456789012:registry/example\",\n\t\t\t\t\t\t\"arn:aws:schemas:us-east-1:123456789012:schema/example*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = schemas.NewRegistryPolicy(ctx, \"example\", \u0026schemas.RegistryPolicyArgs{\n\t\t\tRegistryName: pulumi.String(\"example\"),\n\t\t\tPolicy: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.schemas.RegistryPolicy;\nimport com.pulumi.aws.schemas.RegistryPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"example\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"109876543210\")\n .build())\n .actions(\"schemas:*\")\n .resources( \n \"arn:aws:schemas:us-east-1:123456789012:registry/example\",\n \"arn:aws:schemas:us-east-1:123456789012:schema/example*\")\n .build())\n .build());\n\n var exampleRegistryPolicy = new RegistryPolicy(\"exampleRegistryPolicy\", RegistryPolicyArgs.builder()\n .registryName(\"example\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRegistryPolicy:\n type: aws:schemas:RegistryPolicy\n name: example\n properties:\n registryName: example\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: example\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '109876543210'\n actions:\n - schemas:*\n resources:\n - arn:aws:schemas:us-east-1:123456789012:registry/example\n - arn:aws:schemas:us-east-1:123456789012:schema/example*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge Schema Registry Policy using the `registry_name`. For example:\n\n```sh\n$ pulumi import aws:schemas/registryPolicy:RegistryPolicy example example\n```\n", + "description": "Resource for managing an AWS EventBridge Schemas Registry Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"example\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"109876543210\"],\n }],\n actions: [\"schemas:*\"],\n resources: [\n \"arn:aws:schemas:us-east-1:123456789012:registry/example\",\n \"arn:aws:schemas:us-east-1:123456789012:schema/example*\",\n ],\n }],\n});\nconst exampleRegistryPolicy = new aws.schemas.RegistryPolicy(\"example\", {\n registryName: \"example\",\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"example\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"109876543210\"],\n }],\n \"actions\": [\"schemas:*\"],\n \"resources\": [\n \"arn:aws:schemas:us-east-1:123456789012:registry/example\",\n \"arn:aws:schemas:us-east-1:123456789012:schema/example*\",\n ],\n}])\nexample_registry_policy = aws.schemas.RegistryPolicy(\"example\",\n registry_name=\"example\",\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"example\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"109876543210\",\n },\n },\n },\n Actions = new[]\n {\n \"schemas:*\",\n },\n Resources = new[]\n {\n \"arn:aws:schemas:us-east-1:123456789012:registry/example\",\n \"arn:aws:schemas:us-east-1:123456789012:schema/example*\",\n },\n },\n },\n });\n\n var exampleRegistryPolicy = new Aws.Schemas.RegistryPolicy(\"example\", new()\n {\n RegistryName = \"example\",\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/schemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"example\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"109876543210\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"schemas:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:schemas:us-east-1:123456789012:registry/example\",\n\t\t\t\t\t\t\"arn:aws:schemas:us-east-1:123456789012:schema/example*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = schemas.NewRegistryPolicy(ctx, \"example\", \u0026schemas.RegistryPolicyArgs{\n\t\t\tRegistryName: pulumi.String(\"example\"),\n\t\t\tPolicy: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.schemas.RegistryPolicy;\nimport com.pulumi.aws.schemas.RegistryPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"example\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"109876543210\")\n .build())\n .actions(\"schemas:*\")\n .resources( \n \"arn:aws:schemas:us-east-1:123456789012:registry/example\",\n \"arn:aws:schemas:us-east-1:123456789012:schema/example*\")\n .build())\n .build());\n\n var exampleRegistryPolicy = new RegistryPolicy(\"exampleRegistryPolicy\", RegistryPolicyArgs.builder()\n .registryName(\"example\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRegistryPolicy:\n type: aws:schemas:RegistryPolicy\n name: example\n properties:\n registryName: example\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: example\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '109876543210'\n actions:\n - schemas:*\n resources:\n - arn:aws:schemas:us-east-1:123456789012:registry/example\n - arn:aws:schemas:us-east-1:123456789012:schema/example*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge Schema Registry Policy using the `registry_name`. For example:\n\n```sh\n$ pulumi import aws:schemas/registryPolicy:RegistryPolicy example example\n```\n", "properties": { "policy": { "type": "string", @@ -356440,7 +356440,7 @@ } }, "aws:secretsmanager/secretPolicy:SecretPolicy": { - "description": "Provides a resource to manage AWS Secrets Manager secret policy.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleSecret = new aws.secretsmanager.Secret(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"EnableAnotherAWSAccountToReadTheSecret\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"arn:aws:iam::123456789012:root\"],\n }],\n actions: [\"secretsmanager:GetSecretValue\"],\n resources: [\"*\"],\n }],\n});\nconst exampleSecretPolicy = new aws.secretsmanager.SecretPolicy(\"example\", {\n secretArn: exampleSecret.arn,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_secret = aws.secretsmanager.Secret(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"EnableAnotherAWSAccountToReadTheSecret\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"arn:aws:iam::123456789012:root\"],\n }],\n \"actions\": [\"secretsmanager:GetSecretValue\"],\n \"resources\": [\"*\"],\n}])\nexample_secret_policy = aws.secretsmanager.SecretPolicy(\"example\",\n secret_arn=example_secret.arn,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleSecret = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"EnableAnotherAWSAccountToReadTheSecret\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"arn:aws:iam::123456789012:root\",\n },\n },\n },\n Actions = new[]\n {\n \"secretsmanager:GetSecretValue\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleSecretPolicy = new Aws.SecretsManager.SecretPolicy(\"example\", new()\n {\n SecretArn = exampleSecret.Arn,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleSecret, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"EnableAnotherAWSAccountToReadTheSecret\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"arn:aws:iam::123456789012:root\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"secretsmanager:GetSecretValue\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = secretsmanager.NewSecretPolicy(ctx, \"example\", \u0026secretsmanager.SecretPolicyArgs{\n\t\t\tSecretArn: exampleSecret.Arn,\n\t\t\tPolicy: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.secretsmanager.SecretPolicy;\nimport com.pulumi.aws.secretsmanager.SecretPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleSecret = new Secret(\"exampleSecret\", SecretArgs.builder()\n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"EnableAnotherAWSAccountToReadTheSecret\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"arn:aws:iam::123456789012:root\")\n .build())\n .actions(\"secretsmanager:GetSecretValue\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleSecretPolicy = new SecretPolicy(\"exampleSecretPolicy\", SecretPolicyArgs.builder()\n .secretArn(exampleSecret.arn())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleSecret:\n type: aws:secretsmanager:Secret\n name: example\n properties:\n name: example\n exampleSecretPolicy:\n type: aws:secretsmanager:SecretPolicy\n name: example\n properties:\n secretArn: ${exampleSecret.arn}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: EnableAnotherAWSAccountToReadTheSecret\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::123456789012:root\n actions:\n - secretsmanager:GetSecretValue\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_secretsmanager_secret_policy` using the secret Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:secretsmanager/secretPolicy:SecretPolicy example arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\n```\n", + "description": "Provides a resource to manage AWS Secrets Manager secret policy.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleSecret = new aws.secretsmanager.Secret(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"EnableAnotherAWSAccountToReadTheSecret\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"arn:aws:iam::123456789012:root\"],\n }],\n actions: [\"secretsmanager:GetSecretValue\"],\n resources: [\"*\"],\n }],\n});\nconst exampleSecretPolicy = new aws.secretsmanager.SecretPolicy(\"example\", {\n secretArn: exampleSecret.arn,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_secret = aws.secretsmanager.Secret(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"EnableAnotherAWSAccountToReadTheSecret\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"arn:aws:iam::123456789012:root\"],\n }],\n \"actions\": [\"secretsmanager:GetSecretValue\"],\n \"resources\": [\"*\"],\n}])\nexample_secret_policy = aws.secretsmanager.SecretPolicy(\"example\",\n secret_arn=example_secret.arn,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleSecret = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"EnableAnotherAWSAccountToReadTheSecret\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"arn:aws:iam::123456789012:root\",\n },\n },\n },\n Actions = new[]\n {\n \"secretsmanager:GetSecretValue\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleSecretPolicy = new Aws.SecretsManager.SecretPolicy(\"example\", new()\n {\n SecretArn = exampleSecret.Arn,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleSecret, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"EnableAnotherAWSAccountToReadTheSecret\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"arn:aws:iam::123456789012:root\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"secretsmanager:GetSecretValue\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = secretsmanager.NewSecretPolicy(ctx, \"example\", \u0026secretsmanager.SecretPolicyArgs{\n\t\t\tSecretArn: exampleSecret.Arn,\n\t\t\tPolicy: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.secretsmanager.SecretPolicy;\nimport com.pulumi.aws.secretsmanager.SecretPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleSecret = new Secret(\"exampleSecret\", SecretArgs.builder()\n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"EnableAnotherAWSAccountToReadTheSecret\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"arn:aws:iam::123456789012:root\")\n .build())\n .actions(\"secretsmanager:GetSecretValue\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleSecretPolicy = new SecretPolicy(\"exampleSecretPolicy\", SecretPolicyArgs.builder()\n .secretArn(exampleSecret.arn())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleSecret:\n type: aws:secretsmanager:Secret\n name: example\n properties:\n name: example\n exampleSecretPolicy:\n type: aws:secretsmanager:SecretPolicy\n name: example\n properties:\n secretArn: ${exampleSecret.arn}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: EnableAnotherAWSAccountToReadTheSecret\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::123456789012:root\n actions:\n - secretsmanager:GetSecretValue\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_secretsmanager_secret_policy` using the secret Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:secretsmanager/secretPolicy:SecretPolicy example arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\n```\n", "properties": { "blockPublicPolicy": { "type": "boolean", @@ -356749,7 +356749,7 @@ } }, "aws:securityhub/actionTarget:ActionTarget": { - "description": "Creates Security Hub custom action.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleActionTarget = new aws.securityhub.ActionTarget(\"example\", {\n name: \"Send notification to chat\",\n identifier: \"SendToChat\",\n description: \"This is custom action sends selected findings to chat\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_action_target = aws.securityhub.ActionTarget(\"example\",\n name=\"Send notification to chat\",\n identifier=\"SendToChat\",\n description=\"This is custom action sends selected findings to chat\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleActionTarget = new Aws.SecurityHub.ActionTarget(\"example\", new()\n {\n Name = \"Send notification to chat\",\n Identifier = \"SendToChat\",\n Description = \"This is custom action sends selected findings to chat\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewActionTarget(ctx, \"example\", \u0026securityhub.ActionTargetArgs{\n\t\t\tName: pulumi.String(\"Send notification to chat\"),\n\t\t\tIdentifier: pulumi.String(\"SendToChat\"),\n\t\t\tDescription: pulumi.String(\"This is custom action sends selected findings to chat\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.ActionTarget;\nimport com.pulumi.aws.securityhub.ActionTargetArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleActionTarget = new ActionTarget(\"exampleActionTarget\", ActionTargetArgs.builder()\n .name(\"Send notification to chat\")\n .identifier(\"SendToChat\")\n .description(\"This is custom action sends selected findings to chat\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleActionTarget:\n type: aws:securityhub:ActionTarget\n name: example\n properties:\n name: Send notification to chat\n identifier: SendToChat\n description: This is custom action sends selected findings to chat\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub custom action using the action target ARN. For example:\n\n```sh\n$ pulumi import aws:securityhub/actionTarget:ActionTarget example arn:aws:securityhub:eu-west-1:312940875350:action/custom/a\n```\n", + "description": "Creates Security Hub custom action.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleActionTarget = new aws.securityhub.ActionTarget(\"example\", {\n name: \"Send notification to chat\",\n identifier: \"SendToChat\",\n description: \"This is custom action sends selected findings to chat\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_action_target = aws.securityhub.ActionTarget(\"example\",\n name=\"Send notification to chat\",\n identifier=\"SendToChat\",\n description=\"This is custom action sends selected findings to chat\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleActionTarget = new Aws.SecurityHub.ActionTarget(\"example\", new()\n {\n Name = \"Send notification to chat\",\n Identifier = \"SendToChat\",\n Description = \"This is custom action sends selected findings to chat\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewActionTarget(ctx, \"example\", \u0026securityhub.ActionTargetArgs{\n\t\t\tName: pulumi.String(\"Send notification to chat\"),\n\t\t\tIdentifier: pulumi.String(\"SendToChat\"),\n\t\t\tDescription: pulumi.String(\"This is custom action sends selected findings to chat\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.ActionTarget;\nimport com.pulumi.aws.securityhub.ActionTargetArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleActionTarget = new ActionTarget(\"exampleActionTarget\", ActionTargetArgs.builder()\n .name(\"Send notification to chat\")\n .identifier(\"SendToChat\")\n .description(\"This is custom action sends selected findings to chat\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleActionTarget:\n type: aws:securityhub:ActionTarget\n name: example\n properties:\n name: Send notification to chat\n identifier: SendToChat\n description: This is custom action sends selected findings to chat\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub custom action using the action target ARN. For example:\n\n```sh\n$ pulumi import aws:securityhub/actionTarget:ActionTarget example arn:aws:securityhub:eu-west-1:312940875350:action/custom/a\n```\n", "properties": { "arn": { "type": "string", @@ -356978,7 +356978,7 @@ } }, "aws:securityhub/configurationPolicy:ConfigurationPolicy": { - "description": "Manages Security Hub configuration policy\n\n\u003e **NOTE:** This resource requires `aws.securityhub.OrganizationConfiguration` to be configured of type `CENTRAL`. More information about Security Hub central configuration and configuration policies can be found in the [How Security Hub configuration policies work](https://docs.aws.amazon.com/securityhub/latest/userguide/configuration-policies-overview.html) documentation.\n\n## Example Usage\n\n### Default standards enabled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.FindingAggregator(\"example\", {linkingMode: \"ALL_REGIONS\"});\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {\n autoEnable: false,\n autoEnableStandards: \"NONE\",\n organizationConfiguration: {\n configurationType: \"CENTRAL\",\n },\n}, {\n dependsOn: [example],\n});\nconst exampleConfigurationPolicy = new aws.securityhub.ConfigurationPolicy(\"example\", {\n name: \"Example\",\n description: \"This is an example configuration policy\",\n configurationPolicy: {\n serviceEnabled: true,\n enabledStandardArns: [\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n securityControlsConfiguration: {\n disabledControlIdentifiers: [],\n },\n },\n}, {\n dependsOn: [exampleOrganizationConfiguration],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.FindingAggregator(\"example\", linking_mode=\"ALL_REGIONS\")\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\",\n auto_enable=False,\n auto_enable_standards=\"NONE\",\n organization_configuration={\n \"configuration_type\": \"CENTRAL\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example]))\nexample_configuration_policy = aws.securityhub.ConfigurationPolicy(\"example\",\n name=\"Example\",\n description=\"This is an example configuration policy\",\n configuration_policy={\n \"service_enabled\": True,\n \"enabled_standard_arns\": [\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n \"security_controls_configuration\": {\n \"disabled_control_identifiers\": [],\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_organization_configuration]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS\",\n });\n\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = false,\n AutoEnableStandards = \"NONE\",\n OrganizationConfigurationDetails = new Aws.SecurityHub.Inputs.OrganizationConfigurationOrganizationConfigurationArgs\n {\n ConfigurationType = \"CENTRAL\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleConfigurationPolicy = new Aws.SecurityHub.ConfigurationPolicy(\"example\", new()\n {\n Name = \"Example\",\n Description = \"This is an example configuration policy\",\n ConfigurationPolicyDetails = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicyArgs\n {\n ServiceEnabled = true,\n EnabledStandardArns = new[]\n {\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n },\n SecurityControlsConfiguration = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs\n {\n DisabledControlIdentifiers = new() { },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleOrganizationConfiguration,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleOrganizationConfiguration, err := securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(false),\n\t\t\tAutoEnableStandards: pulumi.String(\"NONE\"),\n\t\t\tOrganizationConfiguration: \u0026securityhub.OrganizationConfigurationOrganizationConfigurationArgs{\n\t\t\t\tConfigurationType: pulumi.String(\"CENTRAL\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewConfigurationPolicy(ctx, \"example\", \u0026securityhub.ConfigurationPolicyArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"This is an example configuration policy\"),\n\t\t\tConfigurationPolicy: \u0026securityhub.ConfigurationPolicyConfigurationPolicyArgs{\n\t\t\t\tServiceEnabled: pulumi.Bool(true),\n\t\t\t\tEnabledStandardArns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\"),\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t\t\t},\n\t\t\t\tSecurityControlsConfiguration: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs{\n\t\t\t\t\tDisabledControlIdentifiers: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleOrganizationConfiguration,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.inputs.OrganizationConfigurationOrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.ConfigurationPolicy;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new FindingAggregator(\"example\", FindingAggregatorArgs.builder()\n .linkingMode(\"ALL_REGIONS\")\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder()\n .autoEnable(false)\n .autoEnableStandards(\"NONE\")\n .organizationConfiguration(OrganizationConfigurationOrganizationConfigurationArgs.builder()\n .configurationType(\"CENTRAL\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleConfigurationPolicy = new ConfigurationPolicy(\"exampleConfigurationPolicy\", ConfigurationPolicyArgs.builder()\n .name(\"Example\")\n .description(\"This is an example configuration policy\")\n .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder()\n .serviceEnabled(true)\n .enabledStandardArns( \n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .securityControlsConfiguration(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs.builder()\n .disabledControlIdentifiers()\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleOrganizationConfiguration)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:FindingAggregator\n properties:\n linkingMode: ALL_REGIONS\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: false\n autoEnableStandards: NONE\n organizationConfiguration:\n configurationType: CENTRAL\n options:\n dependsOn:\n - ${example}\n exampleConfigurationPolicy:\n type: aws:securityhub:ConfigurationPolicy\n name: example\n properties:\n name: Example\n description: This is an example configuration policy\n configurationPolicy:\n serviceEnabled: true\n enabledStandardArns:\n - arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\n - arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n securityControlsConfiguration:\n disabledControlIdentifiers: []\n options:\n dependsOn:\n - ${exampleOrganizationConfiguration}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Disabled Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst disabled = new aws.securityhub.ConfigurationPolicy(\"disabled\", {\n name: \"Disabled\",\n description: \"This is an example of disabled configuration policy\",\n configurationPolicy: {\n serviceEnabled: false,\n },\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndisabled = aws.securityhub.ConfigurationPolicy(\"disabled\",\n name=\"Disabled\",\n description=\"This is an example of disabled configuration policy\",\n configuration_policy={\n \"service_enabled\": False,\n },\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var disabled = new Aws.SecurityHub.ConfigurationPolicy(\"disabled\", new()\n {\n Name = \"Disabled\",\n Description = \"This is an example of disabled configuration policy\",\n ConfigurationPolicyDetails = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicyArgs\n {\n ServiceEnabled = false,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\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 := securityhub.NewConfigurationPolicy(ctx, \"disabled\", \u0026securityhub.ConfigurationPolicyArgs{\n\t\t\tName: pulumi.String(\"Disabled\"),\n\t\t\tDescription: pulumi.String(\"This is an example of disabled configuration policy\"),\n\t\t\tConfigurationPolicy: \u0026securityhub.ConfigurationPolicyConfigurationPolicyArgs{\n\t\t\t\tServiceEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.ConfigurationPolicy;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var disabled = new ConfigurationPolicy(\"disabled\", ConfigurationPolicyArgs.builder()\n .name(\"Disabled\")\n .description(\"This is an example of disabled configuration policy\")\n .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder()\n .serviceEnabled(false)\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n disabled:\n type: aws:securityhub:ConfigurationPolicy\n properties:\n name: Disabled\n description: This is an example of disabled configuration policy\n configurationPolicy:\n serviceEnabled: false\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Control Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst disabled = new aws.securityhub.ConfigurationPolicy(\"disabled\", {\n name: \"Custom Controls\",\n description: \"This is an example of configuration policy with custom control settings\",\n configurationPolicy: {\n serviceEnabled: true,\n enabledStandardArns: [\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n securityControlsConfiguration: {\n enabledControlIdentifiers: [\n \"APIGateway.1\",\n \"IAM.7\",\n ],\n securityControlCustomParameters: [\n {\n securityControlId: \"APIGateway.1\",\n parameters: [{\n name: \"loggingLevel\",\n valueType: \"CUSTOM\",\n \"enum\": {\n value: \"INFO\",\n },\n }],\n },\n {\n securityControlId: \"IAM.7\",\n parameters: [\n {\n name: \"RequireLowercaseCharacters\",\n valueType: \"CUSTOM\",\n bool: {\n value: false,\n },\n },\n {\n name: \"MaxPasswordAge\",\n valueType: \"CUSTOM\",\n int: {\n value: 60,\n },\n },\n ],\n },\n ],\n },\n },\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndisabled = aws.securityhub.ConfigurationPolicy(\"disabled\",\n name=\"Custom Controls\",\n description=\"This is an example of configuration policy with custom control settings\",\n configuration_policy={\n \"service_enabled\": True,\n \"enabled_standard_arns\": [\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n \"security_controls_configuration\": {\n \"enabled_control_identifiers\": [\n \"APIGateway.1\",\n \"IAM.7\",\n ],\n \"security_control_custom_parameters\": [\n {\n \"security_control_id\": \"APIGateway.1\",\n \"parameters\": [{\n \"name\": \"loggingLevel\",\n \"value_type\": \"CUSTOM\",\n \"enum\": {\n \"value\": \"INFO\",\n },\n }],\n },\n {\n \"security_control_id\": \"IAM.7\",\n \"parameters\": [\n {\n \"name\": \"RequireLowercaseCharacters\",\n \"value_type\": \"CUSTOM\",\n \"bool\": {\n \"value\": False,\n },\n },\n {\n \"name\": \"MaxPasswordAge\",\n \"value_type\": \"CUSTOM\",\n \"int\": {\n \"value\": 60,\n },\n },\n ],\n },\n ],\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var disabled = new Aws.SecurityHub.ConfigurationPolicy(\"disabled\", new()\n {\n Name = \"Custom Controls\",\n Description = \"This is an example of configuration policy with custom control settings\",\n ConfigurationPolicyDetails = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicyArgs\n {\n ServiceEnabled = true,\n EnabledStandardArns = new[]\n {\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n },\n SecurityControlsConfiguration = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs\n {\n EnabledControlIdentifiers = new[]\n {\n \"APIGateway.1\",\n \"IAM.7\",\n },\n SecurityControlCustomParameters = new[]\n {\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs\n {\n SecurityControlId = \"APIGateway.1\",\n Parameters = new[]\n {\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs\n {\n Name = \"loggingLevel\",\n ValueType = \"CUSTOM\",\n Enum = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterEnumArgs\n {\n Value = \"INFO\",\n },\n },\n },\n },\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs\n {\n SecurityControlId = \"IAM.7\",\n Parameters = new[]\n {\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs\n {\n Name = \"RequireLowercaseCharacters\",\n ValueType = \"CUSTOM\",\n Bool = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterBoolArgs\n {\n Value = false,\n },\n },\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs\n {\n Name = \"MaxPasswordAge\",\n ValueType = \"CUSTOM\",\n Int = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterIntArgs\n {\n Value = 60,\n },\n },\n },\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\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 := securityhub.NewConfigurationPolicy(ctx, \"disabled\", \u0026securityhub.ConfigurationPolicyArgs{\n\t\t\tName: pulumi.String(\"Custom Controls\"),\n\t\t\tDescription: pulumi.String(\"This is an example of configuration policy with custom control settings\"),\n\t\t\tConfigurationPolicy: \u0026securityhub.ConfigurationPolicyConfigurationPolicyArgs{\n\t\t\t\tServiceEnabled: pulumi.Bool(true),\n\t\t\t\tEnabledStandardArns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\"),\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t\t\t},\n\t\t\t\tSecurityControlsConfiguration: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs{\n\t\t\t\t\tEnabledControlIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"APIGateway.1\"),\n\t\t\t\t\t\tpulumi.String(\"IAM.7\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecurityControlCustomParameters: securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArray{\n\t\t\t\t\t\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs{\n\t\t\t\t\t\t\tSecurityControlId: pulumi.String(\"APIGateway.1\"),\n\t\t\t\t\t\t\tParameters: securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArray{\n\t\t\t\t\t\t\t\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"loggingLevel\"),\n\t\t\t\t\t\t\t\t\tValueType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\t\t\t\tEnum: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterEnumArgs{\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"INFO\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs{\n\t\t\t\t\t\t\tSecurityControlId: pulumi.String(\"IAM.7\"),\n\t\t\t\t\t\t\tParameters: securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArray{\n\t\t\t\t\t\t\t\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"RequireLowercaseCharacters\"),\n\t\t\t\t\t\t\t\t\tValueType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\t\t\t\tBool: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterBoolArgs{\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"MaxPasswordAge\"),\n\t\t\t\t\t\t\t\t\tValueType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\t\t\t\tInt: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterIntArgs{\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Int(60),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.ConfigurationPolicy;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var disabled = new ConfigurationPolicy(\"disabled\", ConfigurationPolicyArgs.builder()\n .name(\"Custom Controls\")\n .description(\"This is an example of configuration policy with custom control settings\")\n .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder()\n .serviceEnabled(true)\n .enabledStandardArns( \n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .securityControlsConfiguration(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs.builder()\n .enabledControlIdentifiers( \n \"APIGateway.1\",\n \"IAM.7\")\n .securityControlCustomParameters( \n ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs.builder()\n .securityControlId(\"APIGateway.1\")\n .parameters(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs.builder()\n .name(\"loggingLevel\")\n .valueType(\"CUSTOM\")\n .enum_(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterEnumArgs.builder()\n .value(\"INFO\")\n .build())\n .build())\n .build(),\n ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs.builder()\n .securityControlId(\"IAM.7\")\n .parameters( \n ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs.builder()\n .name(\"RequireLowercaseCharacters\")\n .valueType(\"CUSTOM\")\n .bool(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterBoolArgs.builder()\n .value(false)\n .build())\n .build(),\n ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs.builder()\n .name(\"MaxPasswordAge\")\n .valueType(\"CUSTOM\")\n .int_(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterIntArgs.builder()\n .value(60)\n .build())\n .build())\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n disabled:\n type: aws:securityhub:ConfigurationPolicy\n properties:\n name: Custom Controls\n description: This is an example of configuration policy with custom control settings\n configurationPolicy:\n serviceEnabled: true\n enabledStandardArns:\n - arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\n - arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n securityControlsConfiguration:\n enabledControlIdentifiers:\n - APIGateway.1\n - IAM.7\n securityControlCustomParameters:\n - securityControlId: APIGateway.1\n parameters:\n - name: loggingLevel\n valueType: CUSTOM\n enum:\n value: INFO\n - securityControlId: IAM.7\n parameters:\n - name: RequireLowercaseCharacters\n valueType: CUSTOM\n bool:\n value: false\n - name: MaxPasswordAge\n valueType: CUSTOM\n int:\n value: 60\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub enabled account using the universally unique identifier (UUID) of the policy. For example:\n\n```sh\n$ pulumi import aws:securityhub/configurationPolicy:ConfigurationPolicy example \"00000000-1111-2222-3333-444444444444\"\n```\n", + "description": "Manages Security Hub configuration policy\n\n\u003e **NOTE:** This resource requires `aws.securityhub.OrganizationConfiguration` to be configured of type `CENTRAL`. More information about Security Hub central configuration and configuration policies can be found in the [How Security Hub configuration policies work](https://docs.aws.amazon.com/securityhub/latest/userguide/configuration-policies-overview.html) documentation.\n\n## Example Usage\n\n### Default standards enabled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.FindingAggregator(\"example\", {linkingMode: \"ALL_REGIONS\"});\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {\n autoEnable: false,\n autoEnableStandards: \"NONE\",\n organizationConfiguration: {\n configurationType: \"CENTRAL\",\n },\n}, {\n dependsOn: [example],\n});\nconst exampleConfigurationPolicy = new aws.securityhub.ConfigurationPolicy(\"example\", {\n name: \"Example\",\n description: \"This is an example configuration policy\",\n configurationPolicy: {\n serviceEnabled: true,\n enabledStandardArns: [\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n securityControlsConfiguration: {\n disabledControlIdentifiers: [],\n },\n },\n}, {\n dependsOn: [exampleOrganizationConfiguration],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.FindingAggregator(\"example\", linking_mode=\"ALL_REGIONS\")\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\",\n auto_enable=False,\n auto_enable_standards=\"NONE\",\n organization_configuration={\n \"configuration_type\": \"CENTRAL\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example]))\nexample_configuration_policy = aws.securityhub.ConfigurationPolicy(\"example\",\n name=\"Example\",\n description=\"This is an example configuration policy\",\n configuration_policy={\n \"service_enabled\": True,\n \"enabled_standard_arns\": [\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n \"security_controls_configuration\": {\n \"disabled_control_identifiers\": [],\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_organization_configuration]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS\",\n });\n\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = false,\n AutoEnableStandards = \"NONE\",\n OrganizationConfigurationDetails = new Aws.SecurityHub.Inputs.OrganizationConfigurationOrganizationConfigurationArgs\n {\n ConfigurationType = \"CENTRAL\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleConfigurationPolicy = new Aws.SecurityHub.ConfigurationPolicy(\"example\", new()\n {\n Name = \"Example\",\n Description = \"This is an example configuration policy\",\n ConfigurationPolicyDetails = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicyArgs\n {\n ServiceEnabled = true,\n EnabledStandardArns = new[]\n {\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n },\n SecurityControlsConfiguration = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs\n {\n DisabledControlIdentifiers = new() { },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleOrganizationConfiguration,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleOrganizationConfiguration, err := securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(false),\n\t\t\tAutoEnableStandards: pulumi.String(\"NONE\"),\n\t\t\tOrganizationConfiguration: \u0026securityhub.OrganizationConfigurationOrganizationConfigurationArgs{\n\t\t\t\tConfigurationType: pulumi.String(\"CENTRAL\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewConfigurationPolicy(ctx, \"example\", \u0026securityhub.ConfigurationPolicyArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"This is an example configuration policy\"),\n\t\t\tConfigurationPolicy: \u0026securityhub.ConfigurationPolicyConfigurationPolicyArgs{\n\t\t\t\tServiceEnabled: pulumi.Bool(true),\n\t\t\t\tEnabledStandardArns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\"),\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t\t\t},\n\t\t\t\tSecurityControlsConfiguration: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs{\n\t\t\t\t\tDisabledControlIdentifiers: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleOrganizationConfiguration,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.inputs.OrganizationConfigurationOrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.ConfigurationPolicy;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new FindingAggregator(\"example\", FindingAggregatorArgs.builder()\n .linkingMode(\"ALL_REGIONS\")\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder()\n .autoEnable(false)\n .autoEnableStandards(\"NONE\")\n .organizationConfiguration(OrganizationConfigurationOrganizationConfigurationArgs.builder()\n .configurationType(\"CENTRAL\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleConfigurationPolicy = new ConfigurationPolicy(\"exampleConfigurationPolicy\", ConfigurationPolicyArgs.builder()\n .name(\"Example\")\n .description(\"This is an example configuration policy\")\n .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder()\n .serviceEnabled(true)\n .enabledStandardArns( \n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .securityControlsConfiguration(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs.builder()\n .disabledControlIdentifiers()\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleOrganizationConfiguration)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:FindingAggregator\n properties:\n linkingMode: ALL_REGIONS\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: false\n autoEnableStandards: NONE\n organizationConfiguration:\n configurationType: CENTRAL\n options:\n dependson:\n - ${example}\n exampleConfigurationPolicy:\n type: aws:securityhub:ConfigurationPolicy\n name: example\n properties:\n name: Example\n description: This is an example configuration policy\n configurationPolicy:\n serviceEnabled: true\n enabledStandardArns:\n - arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\n - arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n securityControlsConfiguration:\n disabledControlIdentifiers: []\n options:\n dependson:\n - ${exampleOrganizationConfiguration}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Disabled Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst disabled = new aws.securityhub.ConfigurationPolicy(\"disabled\", {\n name: \"Disabled\",\n description: \"This is an example of disabled configuration policy\",\n configurationPolicy: {\n serviceEnabled: false,\n },\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndisabled = aws.securityhub.ConfigurationPolicy(\"disabled\",\n name=\"Disabled\",\n description=\"This is an example of disabled configuration policy\",\n configuration_policy={\n \"service_enabled\": False,\n },\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var disabled = new Aws.SecurityHub.ConfigurationPolicy(\"disabled\", new()\n {\n Name = \"Disabled\",\n Description = \"This is an example of disabled configuration policy\",\n ConfigurationPolicyDetails = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicyArgs\n {\n ServiceEnabled = false,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\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 := securityhub.NewConfigurationPolicy(ctx, \"disabled\", \u0026securityhub.ConfigurationPolicyArgs{\n\t\t\tName: pulumi.String(\"Disabled\"),\n\t\t\tDescription: pulumi.String(\"This is an example of disabled configuration policy\"),\n\t\t\tConfigurationPolicy: \u0026securityhub.ConfigurationPolicyConfigurationPolicyArgs{\n\t\t\t\tServiceEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.ConfigurationPolicy;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var disabled = new ConfigurationPolicy(\"disabled\", ConfigurationPolicyArgs.builder()\n .name(\"Disabled\")\n .description(\"This is an example of disabled configuration policy\")\n .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder()\n .serviceEnabled(false)\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n disabled:\n type: aws:securityhub:ConfigurationPolicy\n properties:\n name: Disabled\n description: This is an example of disabled configuration policy\n configurationPolicy:\n serviceEnabled: false\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Control Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst disabled = new aws.securityhub.ConfigurationPolicy(\"disabled\", {\n name: \"Custom Controls\",\n description: \"This is an example of configuration policy with custom control settings\",\n configurationPolicy: {\n serviceEnabled: true,\n enabledStandardArns: [\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n securityControlsConfiguration: {\n enabledControlIdentifiers: [\n \"APIGateway.1\",\n \"IAM.7\",\n ],\n securityControlCustomParameters: [\n {\n securityControlId: \"APIGateway.1\",\n parameters: [{\n name: \"loggingLevel\",\n valueType: \"CUSTOM\",\n \"enum\": {\n value: \"INFO\",\n },\n }],\n },\n {\n securityControlId: \"IAM.7\",\n parameters: [\n {\n name: \"RequireLowercaseCharacters\",\n valueType: \"CUSTOM\",\n bool: {\n value: false,\n },\n },\n {\n name: \"MaxPasswordAge\",\n valueType: \"CUSTOM\",\n int: {\n value: 60,\n },\n },\n ],\n },\n ],\n },\n },\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndisabled = aws.securityhub.ConfigurationPolicy(\"disabled\",\n name=\"Custom Controls\",\n description=\"This is an example of configuration policy with custom control settings\",\n configuration_policy={\n \"service_enabled\": True,\n \"enabled_standard_arns\": [\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n \"security_controls_configuration\": {\n \"enabled_control_identifiers\": [\n \"APIGateway.1\",\n \"IAM.7\",\n ],\n \"security_control_custom_parameters\": [\n {\n \"security_control_id\": \"APIGateway.1\",\n \"parameters\": [{\n \"name\": \"loggingLevel\",\n \"value_type\": \"CUSTOM\",\n \"enum\": {\n \"value\": \"INFO\",\n },\n }],\n },\n {\n \"security_control_id\": \"IAM.7\",\n \"parameters\": [\n {\n \"name\": \"RequireLowercaseCharacters\",\n \"value_type\": \"CUSTOM\",\n \"bool\": {\n \"value\": False,\n },\n },\n {\n \"name\": \"MaxPasswordAge\",\n \"value_type\": \"CUSTOM\",\n \"int\": {\n \"value\": 60,\n },\n },\n ],\n },\n ],\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var disabled = new Aws.SecurityHub.ConfigurationPolicy(\"disabled\", new()\n {\n Name = \"Custom Controls\",\n Description = \"This is an example of configuration policy with custom control settings\",\n ConfigurationPolicyDetails = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicyArgs\n {\n ServiceEnabled = true,\n EnabledStandardArns = new[]\n {\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n },\n SecurityControlsConfiguration = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs\n {\n EnabledControlIdentifiers = new[]\n {\n \"APIGateway.1\",\n \"IAM.7\",\n },\n SecurityControlCustomParameters = new[]\n {\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs\n {\n SecurityControlId = \"APIGateway.1\",\n Parameters = new[]\n {\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs\n {\n Name = \"loggingLevel\",\n ValueType = \"CUSTOM\",\n Enum = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterEnumArgs\n {\n Value = \"INFO\",\n },\n },\n },\n },\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs\n {\n SecurityControlId = \"IAM.7\",\n Parameters = new[]\n {\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs\n {\n Name = \"RequireLowercaseCharacters\",\n ValueType = \"CUSTOM\",\n Bool = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterBoolArgs\n {\n Value = false,\n },\n },\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs\n {\n Name = \"MaxPasswordAge\",\n ValueType = \"CUSTOM\",\n Int = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterIntArgs\n {\n Value = 60,\n },\n },\n },\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\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 := securityhub.NewConfigurationPolicy(ctx, \"disabled\", \u0026securityhub.ConfigurationPolicyArgs{\n\t\t\tName: pulumi.String(\"Custom Controls\"),\n\t\t\tDescription: pulumi.String(\"This is an example of configuration policy with custom control settings\"),\n\t\t\tConfigurationPolicy: \u0026securityhub.ConfigurationPolicyConfigurationPolicyArgs{\n\t\t\t\tServiceEnabled: pulumi.Bool(true),\n\t\t\t\tEnabledStandardArns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\"),\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t\t\t},\n\t\t\t\tSecurityControlsConfiguration: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs{\n\t\t\t\t\tEnabledControlIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"APIGateway.1\"),\n\t\t\t\t\t\tpulumi.String(\"IAM.7\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecurityControlCustomParameters: securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArray{\n\t\t\t\t\t\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs{\n\t\t\t\t\t\t\tSecurityControlId: pulumi.String(\"APIGateway.1\"),\n\t\t\t\t\t\t\tParameters: securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArray{\n\t\t\t\t\t\t\t\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"loggingLevel\"),\n\t\t\t\t\t\t\t\t\tValueType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\t\t\t\tEnum: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterEnumArgs{\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"INFO\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs{\n\t\t\t\t\t\t\tSecurityControlId: pulumi.String(\"IAM.7\"),\n\t\t\t\t\t\t\tParameters: securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArray{\n\t\t\t\t\t\t\t\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"RequireLowercaseCharacters\"),\n\t\t\t\t\t\t\t\t\tValueType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\t\t\t\tBool: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterBoolArgs{\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"MaxPasswordAge\"),\n\t\t\t\t\t\t\t\t\tValueType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\t\t\t\tInt: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterIntArgs{\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Int(60),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.ConfigurationPolicy;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var disabled = new ConfigurationPolicy(\"disabled\", ConfigurationPolicyArgs.builder()\n .name(\"Custom Controls\")\n .description(\"This is an example of configuration policy with custom control settings\")\n .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder()\n .serviceEnabled(true)\n .enabledStandardArns( \n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .securityControlsConfiguration(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs.builder()\n .enabledControlIdentifiers( \n \"APIGateway.1\",\n \"IAM.7\")\n .securityControlCustomParameters( \n ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs.builder()\n .securityControlId(\"APIGateway.1\")\n .parameters(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs.builder()\n .name(\"loggingLevel\")\n .valueType(\"CUSTOM\")\n .enum_(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterEnumArgs.builder()\n .value(\"INFO\")\n .build())\n .build())\n .build(),\n ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs.builder()\n .securityControlId(\"IAM.7\")\n .parameters( \n ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs.builder()\n .name(\"RequireLowercaseCharacters\")\n .valueType(\"CUSTOM\")\n .bool(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterBoolArgs.builder()\n .value(false)\n .build())\n .build(),\n ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs.builder()\n .name(\"MaxPasswordAge\")\n .valueType(\"CUSTOM\")\n .int_(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterIntArgs.builder()\n .value(60)\n .build())\n .build())\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n disabled:\n type: aws:securityhub:ConfigurationPolicy\n properties:\n name: Custom Controls\n description: This is an example of configuration policy with custom control settings\n configurationPolicy:\n serviceEnabled: true\n enabledStandardArns:\n - arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\n - arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n securityControlsConfiguration:\n enabledControlIdentifiers:\n - APIGateway.1\n - IAM.7\n securityControlCustomParameters:\n - securityControlId: APIGateway.1\n parameters:\n - name: loggingLevel\n valueType: CUSTOM\n enum:\n value: INFO\n - securityControlId: IAM.7\n parameters:\n - name: RequireLowercaseCharacters\n valueType: CUSTOM\n bool:\n value: false\n - name: MaxPasswordAge\n valueType: CUSTOM\n int:\n value: 60\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub enabled account using the universally unique identifier (UUID) of the policy. For example:\n\n```sh\n$ pulumi import aws:securityhub/configurationPolicy:ConfigurationPolicy example \"00000000-1111-2222-3333-444444444444\"\n```\n", "properties": { "arn": { "type": "string" @@ -357056,7 +357056,7 @@ } }, "aws:securityhub/configurationPolicyAssociation:ConfigurationPolicyAssociation": { - "description": "Manages Security Hub configuration policy associations.\n\n\u003e **NOTE:** This resource requires `aws.securityhub.OrganizationConfiguration` to be configured with type `CENTRAL`. More information about Security Hub central configuration and configuration policies can be found in the [How Security Hub configuration policies work](https://docs.aws.amazon.com/securityhub/latest/userguide/configuration-policies-overview.html) documentation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.FindingAggregator(\"example\", {linkingMode: \"ALL_REGIONS\"});\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {\n autoEnable: false,\n autoEnableStandards: \"NONE\",\n organizationConfiguration: {\n configurationType: \"CENTRAL\",\n },\n}, {\n dependsOn: [example],\n});\nconst exampleConfigurationPolicy = new aws.securityhub.ConfigurationPolicy(\"example\", {\n name: \"Example\",\n description: \"This is an example configuration policy\",\n configurationPolicy: {\n serviceEnabled: true,\n enabledStandardArns: [\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n securityControlsConfiguration: {\n disabledControlIdentifiers: [],\n },\n },\n}, {\n dependsOn: [exampleOrganizationConfiguration],\n});\nconst accountExample = new aws.securityhub.ConfigurationPolicyAssociation(\"account_example\", {\n targetId: \"123456789012\",\n policyId: exampleConfigurationPolicy.id,\n});\nconst rootExample = new aws.securityhub.ConfigurationPolicyAssociation(\"root_example\", {\n targetId: \"r-abcd\",\n policyId: exampleConfigurationPolicy.id,\n});\nconst ouExample = new aws.securityhub.ConfigurationPolicyAssociation(\"ou_example\", {\n targetId: \"ou-abcd-12345678\",\n policyId: exampleConfigurationPolicy.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.FindingAggregator(\"example\", linking_mode=\"ALL_REGIONS\")\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\",\n auto_enable=False,\n auto_enable_standards=\"NONE\",\n organization_configuration={\n \"configuration_type\": \"CENTRAL\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example]))\nexample_configuration_policy = aws.securityhub.ConfigurationPolicy(\"example\",\n name=\"Example\",\n description=\"This is an example configuration policy\",\n configuration_policy={\n \"service_enabled\": True,\n \"enabled_standard_arns\": [\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n \"security_controls_configuration\": {\n \"disabled_control_identifiers\": [],\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_organization_configuration]))\naccount_example = aws.securityhub.ConfigurationPolicyAssociation(\"account_example\",\n target_id=\"123456789012\",\n policy_id=example_configuration_policy.id)\nroot_example = aws.securityhub.ConfigurationPolicyAssociation(\"root_example\",\n target_id=\"r-abcd\",\n policy_id=example_configuration_policy.id)\nou_example = aws.securityhub.ConfigurationPolicyAssociation(\"ou_example\",\n target_id=\"ou-abcd-12345678\",\n policy_id=example_configuration_policy.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS\",\n });\n\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = false,\n AutoEnableStandards = \"NONE\",\n OrganizationConfigurationDetails = new Aws.SecurityHub.Inputs.OrganizationConfigurationOrganizationConfigurationArgs\n {\n ConfigurationType = \"CENTRAL\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleConfigurationPolicy = new Aws.SecurityHub.ConfigurationPolicy(\"example\", new()\n {\n Name = \"Example\",\n Description = \"This is an example configuration policy\",\n ConfigurationPolicyDetails = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicyArgs\n {\n ServiceEnabled = true,\n EnabledStandardArns = new[]\n {\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n },\n SecurityControlsConfiguration = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs\n {\n DisabledControlIdentifiers = new() { },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleOrganizationConfiguration,\n },\n });\n\n var accountExample = new Aws.SecurityHub.ConfigurationPolicyAssociation(\"account_example\", new()\n {\n TargetId = \"123456789012\",\n PolicyId = exampleConfigurationPolicy.Id,\n });\n\n var rootExample = new Aws.SecurityHub.ConfigurationPolicyAssociation(\"root_example\", new()\n {\n TargetId = \"r-abcd\",\n PolicyId = exampleConfigurationPolicy.Id,\n });\n\n var ouExample = new Aws.SecurityHub.ConfigurationPolicyAssociation(\"ou_example\", new()\n {\n TargetId = \"ou-abcd-12345678\",\n PolicyId = exampleConfigurationPolicy.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleOrganizationConfiguration, err := securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(false),\n\t\t\tAutoEnableStandards: pulumi.String(\"NONE\"),\n\t\t\tOrganizationConfiguration: \u0026securityhub.OrganizationConfigurationOrganizationConfigurationArgs{\n\t\t\t\tConfigurationType: pulumi.String(\"CENTRAL\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleConfigurationPolicy, err := securityhub.NewConfigurationPolicy(ctx, \"example\", \u0026securityhub.ConfigurationPolicyArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"This is an example configuration policy\"),\n\t\t\tConfigurationPolicy: \u0026securityhub.ConfigurationPolicyConfigurationPolicyArgs{\n\t\t\t\tServiceEnabled: pulumi.Bool(true),\n\t\t\t\tEnabledStandardArns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\"),\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t\t\t},\n\t\t\t\tSecurityControlsConfiguration: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs{\n\t\t\t\t\tDisabledControlIdentifiers: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleOrganizationConfiguration,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewConfigurationPolicyAssociation(ctx, \"account_example\", \u0026securityhub.ConfigurationPolicyAssociationArgs{\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tPolicyId: exampleConfigurationPolicy.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewConfigurationPolicyAssociation(ctx, \"root_example\", \u0026securityhub.ConfigurationPolicyAssociationArgs{\n\t\t\tTargetId: pulumi.String(\"r-abcd\"),\n\t\t\tPolicyId: exampleConfigurationPolicy.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewConfigurationPolicyAssociation(ctx, \"ou_example\", \u0026securityhub.ConfigurationPolicyAssociationArgs{\n\t\t\tTargetId: pulumi.String(\"ou-abcd-12345678\"),\n\t\t\tPolicyId: exampleConfigurationPolicy.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.inputs.OrganizationConfigurationOrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.ConfigurationPolicy;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyAssociation;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyAssociationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new FindingAggregator(\"example\", FindingAggregatorArgs.builder()\n .linkingMode(\"ALL_REGIONS\")\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder()\n .autoEnable(false)\n .autoEnableStandards(\"NONE\")\n .organizationConfiguration(OrganizationConfigurationOrganizationConfigurationArgs.builder()\n .configurationType(\"CENTRAL\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleConfigurationPolicy = new ConfigurationPolicy(\"exampleConfigurationPolicy\", ConfigurationPolicyArgs.builder()\n .name(\"Example\")\n .description(\"This is an example configuration policy\")\n .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder()\n .serviceEnabled(true)\n .enabledStandardArns( \n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .securityControlsConfiguration(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs.builder()\n .disabledControlIdentifiers()\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleOrganizationConfiguration)\n .build());\n\n var accountExample = new ConfigurationPolicyAssociation(\"accountExample\", ConfigurationPolicyAssociationArgs.builder()\n .targetId(\"123456789012\")\n .policyId(exampleConfigurationPolicy.id())\n .build());\n\n var rootExample = new ConfigurationPolicyAssociation(\"rootExample\", ConfigurationPolicyAssociationArgs.builder()\n .targetId(\"r-abcd\")\n .policyId(exampleConfigurationPolicy.id())\n .build());\n\n var ouExample = new ConfigurationPolicyAssociation(\"ouExample\", ConfigurationPolicyAssociationArgs.builder()\n .targetId(\"ou-abcd-12345678\")\n .policyId(exampleConfigurationPolicy.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:FindingAggregator\n properties:\n linkingMode: ALL_REGIONS\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: false\n autoEnableStandards: NONE\n organizationConfiguration:\n configurationType: CENTRAL\n options:\n dependsOn:\n - ${example}\n exampleConfigurationPolicy:\n type: aws:securityhub:ConfigurationPolicy\n name: example\n properties:\n name: Example\n description: This is an example configuration policy\n configurationPolicy:\n serviceEnabled: true\n enabledStandardArns:\n - arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\n - arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n securityControlsConfiguration:\n disabledControlIdentifiers: []\n options:\n dependsOn:\n - ${exampleOrganizationConfiguration}\n accountExample:\n type: aws:securityhub:ConfigurationPolicyAssociation\n name: account_example\n properties:\n targetId: '123456789012'\n policyId: ${exampleConfigurationPolicy.id}\n rootExample:\n type: aws:securityhub:ConfigurationPolicyAssociation\n name: root_example\n properties:\n targetId: r-abcd\n policyId: ${exampleConfigurationPolicy.id}\n ouExample:\n type: aws:securityhub:ConfigurationPolicyAssociation\n name: ou_example\n properties:\n targetId: ou-abcd-12345678\n policyId: ${exampleConfigurationPolicy.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub enabled account using the target id. For example:\n\n```sh\n$ pulumi import aws:securityhub/configurationPolicyAssociation:ConfigurationPolicyAssociation example_account_association 123456789012\n```\n", + "description": "Manages Security Hub configuration policy associations.\n\n\u003e **NOTE:** This resource requires `aws.securityhub.OrganizationConfiguration` to be configured with type `CENTRAL`. More information about Security Hub central configuration and configuration policies can be found in the [How Security Hub configuration policies work](https://docs.aws.amazon.com/securityhub/latest/userguide/configuration-policies-overview.html) documentation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.FindingAggregator(\"example\", {linkingMode: \"ALL_REGIONS\"});\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {\n autoEnable: false,\n autoEnableStandards: \"NONE\",\n organizationConfiguration: {\n configurationType: \"CENTRAL\",\n },\n}, {\n dependsOn: [example],\n});\nconst exampleConfigurationPolicy = new aws.securityhub.ConfigurationPolicy(\"example\", {\n name: \"Example\",\n description: \"This is an example configuration policy\",\n configurationPolicy: {\n serviceEnabled: true,\n enabledStandardArns: [\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n securityControlsConfiguration: {\n disabledControlIdentifiers: [],\n },\n },\n}, {\n dependsOn: [exampleOrganizationConfiguration],\n});\nconst accountExample = new aws.securityhub.ConfigurationPolicyAssociation(\"account_example\", {\n targetId: \"123456789012\",\n policyId: exampleConfigurationPolicy.id,\n});\nconst rootExample = new aws.securityhub.ConfigurationPolicyAssociation(\"root_example\", {\n targetId: \"r-abcd\",\n policyId: exampleConfigurationPolicy.id,\n});\nconst ouExample = new aws.securityhub.ConfigurationPolicyAssociation(\"ou_example\", {\n targetId: \"ou-abcd-12345678\",\n policyId: exampleConfigurationPolicy.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.FindingAggregator(\"example\", linking_mode=\"ALL_REGIONS\")\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\",\n auto_enable=False,\n auto_enable_standards=\"NONE\",\n organization_configuration={\n \"configuration_type\": \"CENTRAL\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example]))\nexample_configuration_policy = aws.securityhub.ConfigurationPolicy(\"example\",\n name=\"Example\",\n description=\"This is an example configuration policy\",\n configuration_policy={\n \"service_enabled\": True,\n \"enabled_standard_arns\": [\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n \"security_controls_configuration\": {\n \"disabled_control_identifiers\": [],\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_organization_configuration]))\naccount_example = aws.securityhub.ConfigurationPolicyAssociation(\"account_example\",\n target_id=\"123456789012\",\n policy_id=example_configuration_policy.id)\nroot_example = aws.securityhub.ConfigurationPolicyAssociation(\"root_example\",\n target_id=\"r-abcd\",\n policy_id=example_configuration_policy.id)\nou_example = aws.securityhub.ConfigurationPolicyAssociation(\"ou_example\",\n target_id=\"ou-abcd-12345678\",\n policy_id=example_configuration_policy.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS\",\n });\n\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = false,\n AutoEnableStandards = \"NONE\",\n OrganizationConfigurationDetails = new Aws.SecurityHub.Inputs.OrganizationConfigurationOrganizationConfigurationArgs\n {\n ConfigurationType = \"CENTRAL\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleConfigurationPolicy = new Aws.SecurityHub.ConfigurationPolicy(\"example\", new()\n {\n Name = \"Example\",\n Description = \"This is an example configuration policy\",\n ConfigurationPolicyDetails = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicyArgs\n {\n ServiceEnabled = true,\n EnabledStandardArns = new[]\n {\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n },\n SecurityControlsConfiguration = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs\n {\n DisabledControlIdentifiers = new() { },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleOrganizationConfiguration,\n },\n });\n\n var accountExample = new Aws.SecurityHub.ConfigurationPolicyAssociation(\"account_example\", new()\n {\n TargetId = \"123456789012\",\n PolicyId = exampleConfigurationPolicy.Id,\n });\n\n var rootExample = new Aws.SecurityHub.ConfigurationPolicyAssociation(\"root_example\", new()\n {\n TargetId = \"r-abcd\",\n PolicyId = exampleConfigurationPolicy.Id,\n });\n\n var ouExample = new Aws.SecurityHub.ConfigurationPolicyAssociation(\"ou_example\", new()\n {\n TargetId = \"ou-abcd-12345678\",\n PolicyId = exampleConfigurationPolicy.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleOrganizationConfiguration, err := securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(false),\n\t\t\tAutoEnableStandards: pulumi.String(\"NONE\"),\n\t\t\tOrganizationConfiguration: \u0026securityhub.OrganizationConfigurationOrganizationConfigurationArgs{\n\t\t\t\tConfigurationType: pulumi.String(\"CENTRAL\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleConfigurationPolicy, err := securityhub.NewConfigurationPolicy(ctx, \"example\", \u0026securityhub.ConfigurationPolicyArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"This is an example configuration policy\"),\n\t\t\tConfigurationPolicy: \u0026securityhub.ConfigurationPolicyConfigurationPolicyArgs{\n\t\t\t\tServiceEnabled: pulumi.Bool(true),\n\t\t\t\tEnabledStandardArns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\"),\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t\t\t},\n\t\t\t\tSecurityControlsConfiguration: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs{\n\t\t\t\t\tDisabledControlIdentifiers: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleOrganizationConfiguration,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewConfigurationPolicyAssociation(ctx, \"account_example\", \u0026securityhub.ConfigurationPolicyAssociationArgs{\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tPolicyId: exampleConfigurationPolicy.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewConfigurationPolicyAssociation(ctx, \"root_example\", \u0026securityhub.ConfigurationPolicyAssociationArgs{\n\t\t\tTargetId: pulumi.String(\"r-abcd\"),\n\t\t\tPolicyId: exampleConfigurationPolicy.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewConfigurationPolicyAssociation(ctx, \"ou_example\", \u0026securityhub.ConfigurationPolicyAssociationArgs{\n\t\t\tTargetId: pulumi.String(\"ou-abcd-12345678\"),\n\t\t\tPolicyId: exampleConfigurationPolicy.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.inputs.OrganizationConfigurationOrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.ConfigurationPolicy;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyAssociation;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyAssociationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new FindingAggregator(\"example\", FindingAggregatorArgs.builder()\n .linkingMode(\"ALL_REGIONS\")\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder()\n .autoEnable(false)\n .autoEnableStandards(\"NONE\")\n .organizationConfiguration(OrganizationConfigurationOrganizationConfigurationArgs.builder()\n .configurationType(\"CENTRAL\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleConfigurationPolicy = new ConfigurationPolicy(\"exampleConfigurationPolicy\", ConfigurationPolicyArgs.builder()\n .name(\"Example\")\n .description(\"This is an example configuration policy\")\n .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder()\n .serviceEnabled(true)\n .enabledStandardArns( \n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .securityControlsConfiguration(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs.builder()\n .disabledControlIdentifiers()\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleOrganizationConfiguration)\n .build());\n\n var accountExample = new ConfigurationPolicyAssociation(\"accountExample\", ConfigurationPolicyAssociationArgs.builder()\n .targetId(\"123456789012\")\n .policyId(exampleConfigurationPolicy.id())\n .build());\n\n var rootExample = new ConfigurationPolicyAssociation(\"rootExample\", ConfigurationPolicyAssociationArgs.builder()\n .targetId(\"r-abcd\")\n .policyId(exampleConfigurationPolicy.id())\n .build());\n\n var ouExample = new ConfigurationPolicyAssociation(\"ouExample\", ConfigurationPolicyAssociationArgs.builder()\n .targetId(\"ou-abcd-12345678\")\n .policyId(exampleConfigurationPolicy.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:FindingAggregator\n properties:\n linkingMode: ALL_REGIONS\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: false\n autoEnableStandards: NONE\n organizationConfiguration:\n configurationType: CENTRAL\n options:\n dependson:\n - ${example}\n exampleConfigurationPolicy:\n type: aws:securityhub:ConfigurationPolicy\n name: example\n properties:\n name: Example\n description: This is an example configuration policy\n configurationPolicy:\n serviceEnabled: true\n enabledStandardArns:\n - arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\n - arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n securityControlsConfiguration:\n disabledControlIdentifiers: []\n options:\n dependson:\n - ${exampleOrganizationConfiguration}\n accountExample:\n type: aws:securityhub:ConfigurationPolicyAssociation\n name: account_example\n properties:\n targetId: '123456789012'\n policyId: ${exampleConfigurationPolicy.id}\n rootExample:\n type: aws:securityhub:ConfigurationPolicyAssociation\n name: root_example\n properties:\n targetId: r-abcd\n policyId: ${exampleConfigurationPolicy.id}\n ouExample:\n type: aws:securityhub:ConfigurationPolicyAssociation\n name: ou_example\n properties:\n targetId: ou-abcd-12345678\n policyId: ${exampleConfigurationPolicy.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub enabled account using the target id. For example:\n\n```sh\n$ pulumi import aws:securityhub/configurationPolicyAssociation:ConfigurationPolicyAssociation example_account_association 123456789012\n```\n", "properties": { "policyId": { "type": "string", @@ -357103,7 +357103,7 @@ } }, "aws:securityhub/findingAggregator:FindingAggregator": { - "description": "Manages a Security Hub finding aggregator. Security Hub needs to be enabled in a region in order for the aggregator to pull through findings.\n\n## Example Usage\n\n### All Regions Usage\n\nThe following example will enable the aggregator for every region.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"example\", {linkingMode: \"ALL_REGIONS\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"example\", linking_mode=\"ALL_REGIONS\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder()\n .linkingMode(\"ALL_REGIONS\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n name: example\n properties:\n linkingMode: ALL_REGIONS\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### All Regions Except Specified Regions Usage\n\nThe following example will enable the aggregator for every region except those specified in `specified_regions`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"example\", {\n linkingMode: \"ALL_REGIONS_EXCEPT_SPECIFIED\",\n specifiedRegions: [\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"example\",\n linking_mode=\"ALL_REGIONS_EXCEPT_SPECIFIED\",\n specified_regions=[\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS_EXCEPT_SPECIFIED\",\n SpecifiedRegions = new[]\n {\n \"eu-west-1\",\n \"eu-west-2\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS_EXCEPT_SPECIFIED\"),\n\t\t\tSpecifiedRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\tpulumi.String(\"eu-west-2\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder()\n .linkingMode(\"ALL_REGIONS_EXCEPT_SPECIFIED\")\n .specifiedRegions( \n \"eu-west-1\",\n \"eu-west-2\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n name: example\n properties:\n linkingMode: ALL_REGIONS_EXCEPT_SPECIFIED\n specifiedRegions:\n - eu-west-1\n - eu-west-2\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specified Regions Usage\n\nThe following example will enable the aggregator for every region specified in `specified_regions`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"example\", {\n linkingMode: \"SPECIFIED_REGIONS\",\n specifiedRegions: [\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"example\",\n linking_mode=\"SPECIFIED_REGIONS\",\n specified_regions=[\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"SPECIFIED_REGIONS\",\n SpecifiedRegions = new[]\n {\n \"eu-west-1\",\n \"eu-west-2\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"SPECIFIED_REGIONS\"),\n\t\t\tSpecifiedRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\tpulumi.String(\"eu-west-2\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder()\n .linkingMode(\"SPECIFIED_REGIONS\")\n .specifiedRegions( \n \"eu-west-1\",\n \"eu-west-2\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n name: example\n properties:\n linkingMode: SPECIFIED_REGIONS\n specifiedRegions:\n - eu-west-1\n - eu-west-2\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub finding aggregator using the `arn`. For example:\n\n```sh\n$ pulumi import aws:securityhub/findingAggregator:FindingAggregator example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456\n```\n", + "description": "Manages a Security Hub finding aggregator. Security Hub needs to be enabled in a region in order for the aggregator to pull through findings.\n\n## Example Usage\n\n### All Regions Usage\n\nThe following example will enable the aggregator for every region.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"example\", {linkingMode: \"ALL_REGIONS\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"example\", linking_mode=\"ALL_REGIONS\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder()\n .linkingMode(\"ALL_REGIONS\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n name: example\n properties:\n linkingMode: ALL_REGIONS\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### All Regions Except Specified Regions Usage\n\nThe following example will enable the aggregator for every region except those specified in `specified_regions`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"example\", {\n linkingMode: \"ALL_REGIONS_EXCEPT_SPECIFIED\",\n specifiedRegions: [\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"example\",\n linking_mode=\"ALL_REGIONS_EXCEPT_SPECIFIED\",\n specified_regions=[\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS_EXCEPT_SPECIFIED\",\n SpecifiedRegions = new[]\n {\n \"eu-west-1\",\n \"eu-west-2\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS_EXCEPT_SPECIFIED\"),\n\t\t\tSpecifiedRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\tpulumi.String(\"eu-west-2\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder()\n .linkingMode(\"ALL_REGIONS_EXCEPT_SPECIFIED\")\n .specifiedRegions( \n \"eu-west-1\",\n \"eu-west-2\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n name: example\n properties:\n linkingMode: ALL_REGIONS_EXCEPT_SPECIFIED\n specifiedRegions:\n - eu-west-1\n - eu-west-2\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specified Regions Usage\n\nThe following example will enable the aggregator for every region specified in `specified_regions`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"example\", {\n linkingMode: \"SPECIFIED_REGIONS\",\n specifiedRegions: [\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"example\",\n linking_mode=\"SPECIFIED_REGIONS\",\n specified_regions=[\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"SPECIFIED_REGIONS\",\n SpecifiedRegions = new[]\n {\n \"eu-west-1\",\n \"eu-west-2\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"SPECIFIED_REGIONS\"),\n\t\t\tSpecifiedRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\tpulumi.String(\"eu-west-2\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder()\n .linkingMode(\"SPECIFIED_REGIONS\")\n .specifiedRegions( \n \"eu-west-1\",\n \"eu-west-2\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n name: example\n properties:\n linkingMode: SPECIFIED_REGIONS\n specifiedRegions:\n - eu-west-1\n - eu-west-2\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub finding aggregator using the `arn`. For example:\n\n```sh\n$ pulumi import aws:securityhub/findingAggregator:FindingAggregator example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456\n```\n", "properties": { "linkingMode": { "type": "string", @@ -357155,7 +357155,7 @@ } }, "aws:securityhub/insight:Insight": { - "description": "Provides a Security Hub custom insight resource. See the [Managing custom insights section](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-custom-insights.html) of the AWS User Guide for more information.\n\n## Example Usage\n\n### Filter by AWS account ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n awsAccountIds: [\n {\n comparison: \"EQUALS\",\n value: \"1234567890\",\n },\n {\n comparison: \"EQUALS\",\n value: \"09876543210\",\n },\n ],\n },\n groupByAttribute: \"AwsAccountId\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters={\n \"aws_account_ids\": [\n {\n \"comparison\": \"EQUALS\",\n \"value\": \"1234567890\",\n },\n {\n \"comparison\": \"EQUALS\",\n \"value\": \"09876543210\",\n },\n ],\n },\n group_by_attribute=\"AwsAccountId\",\n name=\"example-insight\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n AwsAccountIds = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersAwsAccountIdArgs\n {\n Comparison = \"EQUALS\",\n Value = \"1234567890\",\n },\n new Aws.SecurityHub.Inputs.InsightFiltersAwsAccountIdArgs\n {\n Comparison = \"EQUALS\",\n Value = \"09876543210\",\n },\n },\n },\n GroupByAttribute = \"AwsAccountId\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tAwsAccountIds: securityhub.InsightFiltersAwsAccountIdArray{\n\t\t\t\t\t\u0026securityhub.InsightFiltersAwsAccountIdArgs{\n\t\t\t\t\t\tComparison: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\tValue: pulumi.String(\"1234567890\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026securityhub.InsightFiltersAwsAccountIdArgs{\n\t\t\t\t\t\tComparison: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\tValue: pulumi.String(\"09876543210\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupByAttribute: pulumi.String(\"AwsAccountId\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder()\n .filters(InsightFiltersArgs.builder()\n .awsAccountIds( \n InsightFiltersAwsAccountIdArgs.builder()\n .comparison(\"EQUALS\")\n .value(\"1234567890\")\n .build(),\n InsightFiltersAwsAccountIdArgs.builder()\n .comparison(\"EQUALS\")\n .value(\"09876543210\")\n .build())\n .build())\n .groupByAttribute(\"AwsAccountId\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n awsAccountIds:\n - comparison: EQUALS\n value: '1234567890'\n - comparison: EQUALS\n value: '09876543210'\n groupByAttribute: AwsAccountId\n name: example-insight\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by date range\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n createdAts: [{\n dateRange: {\n unit: \"DAYS\",\n value: 5,\n },\n }],\n },\n groupByAttribute: \"CreatedAt\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters={\n \"created_ats\": [{\n \"date_range\": {\n \"unit\": \"DAYS\",\n \"value\": 5,\n },\n }],\n },\n group_by_attribute=\"CreatedAt\",\n name=\"example-insight\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n CreatedAts = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersCreatedAtArgs\n {\n DateRange = new Aws.SecurityHub.Inputs.InsightFiltersCreatedAtDateRangeArgs\n {\n Unit = \"DAYS\",\n Value = 5,\n },\n },\n },\n },\n GroupByAttribute = \"CreatedAt\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tCreatedAts: securityhub.InsightFiltersCreatedAtArray{\n\t\t\t\t\t\u0026securityhub.InsightFiltersCreatedAtArgs{\n\t\t\t\t\t\tDateRange: \u0026securityhub.InsightFiltersCreatedAtDateRangeArgs{\n\t\t\t\t\t\t\tUnit: pulumi.String(\"DAYS\"),\n\t\t\t\t\t\t\tValue: pulumi.Int(5),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupByAttribute: pulumi.String(\"CreatedAt\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder()\n .filters(InsightFiltersArgs.builder()\n .createdAts(InsightFiltersCreatedAtArgs.builder()\n .dateRange(InsightFiltersCreatedAtDateRangeArgs.builder()\n .unit(\"DAYS\")\n .value(5)\n .build())\n .build())\n .build())\n .groupByAttribute(\"CreatedAt\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n createdAts:\n - dateRange:\n unit: DAYS\n value: 5\n groupByAttribute: CreatedAt\n name: example-insight\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by destination IPv4 address\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n networkDestinationIpv4s: [{\n cidr: \"10.0.0.0/16\",\n }],\n },\n groupByAttribute: \"NetworkDestinationIpV4\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters={\n \"network_destination_ipv4s\": [{\n \"cidr\": \"10.0.0.0/16\",\n }],\n },\n group_by_attribute=\"NetworkDestinationIpV4\",\n name=\"example-insight\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n NetworkDestinationIpv4s = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersNetworkDestinationIpv4Args\n {\n Cidr = \"10.0.0.0/16\",\n },\n },\n },\n GroupByAttribute = \"NetworkDestinationIpV4\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tNetworkDestinationIpv4s: securityhub.InsightFiltersNetworkDestinationIpv4Array{\n\t\t\t\t\t\u0026securityhub.InsightFiltersNetworkDestinationIpv4Args{\n\t\t\t\t\t\tCidr: pulumi.String(\"10.0.0.0/16\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupByAttribute: pulumi.String(\"NetworkDestinationIpV4\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder()\n .filters(InsightFiltersArgs.builder()\n .networkDestinationIpv4s(InsightFiltersNetworkDestinationIpv4Args.builder()\n .cidr(\"10.0.0.0/16\")\n .build())\n .build())\n .groupByAttribute(\"NetworkDestinationIpV4\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n networkDestinationIpv4s:\n - cidr: 10.0.0.0/16\n groupByAttribute: NetworkDestinationIpV4\n name: example-insight\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by finding's confidence\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n confidences: [{\n gte: \"80\",\n }],\n },\n groupByAttribute: \"Confidence\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters={\n \"confidences\": [{\n \"gte\": \"80\",\n }],\n },\n group_by_attribute=\"Confidence\",\n name=\"example-insight\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n Confidences = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersConfidenceArgs\n {\n Gte = \"80\",\n },\n },\n },\n GroupByAttribute = \"Confidence\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tConfidences: securityhub.InsightFiltersConfidenceArray{\n\t\t\t\t\t\u0026securityhub.InsightFiltersConfidenceArgs{\n\t\t\t\t\t\tGte: pulumi.String(\"80\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupByAttribute: pulumi.String(\"Confidence\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder()\n .filters(InsightFiltersArgs.builder()\n .confidences(InsightFiltersConfidenceArgs.builder()\n .gte(\"80\")\n .build())\n .build())\n .groupByAttribute(\"Confidence\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n confidences:\n - gte: '80'\n groupByAttribute: Confidence\n name: example-insight\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by resource tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n resourceTags: [{\n comparison: \"EQUALS\",\n key: \"Environment\",\n value: \"Production\",\n }],\n },\n groupByAttribute: \"ResourceTags\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters={\n \"resource_tags\": [{\n \"comparison\": \"EQUALS\",\n \"key\": \"Environment\",\n \"value\": \"Production\",\n }],\n },\n group_by_attribute=\"ResourceTags\",\n name=\"example-insight\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n ResourceTags = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersResourceTagArgs\n {\n Comparison = \"EQUALS\",\n Key = \"Environment\",\n Value = \"Production\",\n },\n },\n },\n GroupByAttribute = \"ResourceTags\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tResourceTags: securityhub.InsightFiltersResourceTagArray{\n\t\t\t\t\t\u0026securityhub.InsightFiltersResourceTagArgs{\n\t\t\t\t\t\tComparison: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\tKey: pulumi.String(\"Environment\"),\n\t\t\t\t\t\tValue: pulumi.String(\"Production\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupByAttribute: pulumi.String(\"ResourceTags\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder()\n .filters(InsightFiltersArgs.builder()\n .resourceTags(InsightFiltersResourceTagArgs.builder()\n .comparison(\"EQUALS\")\n .key(\"Environment\")\n .value(\"Production\")\n .build())\n .build())\n .groupByAttribute(\"ResourceTags\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n resourceTags:\n - comparison: EQUALS\n key: Environment\n value: Production\n groupByAttribute: ResourceTags\n name: example-insight\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub insights using the ARN. For example:\n\n```sh\n$ pulumi import aws:securityhub/insight:Insight example arn:aws:securityhub:us-west-2:1234567890:insight/1234567890/custom/91299ed7-abd0-4e44-a858-d0b15e37141a\n```\n", + "description": "Provides a Security Hub custom insight resource. See the [Managing custom insights section](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-custom-insights.html) of the AWS User Guide for more information.\n\n## Example Usage\n\n### Filter by AWS account ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n awsAccountIds: [\n {\n comparison: \"EQUALS\",\n value: \"1234567890\",\n },\n {\n comparison: \"EQUALS\",\n value: \"09876543210\",\n },\n ],\n },\n groupByAttribute: \"AwsAccountId\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters={\n \"aws_account_ids\": [\n {\n \"comparison\": \"EQUALS\",\n \"value\": \"1234567890\",\n },\n {\n \"comparison\": \"EQUALS\",\n \"value\": \"09876543210\",\n },\n ],\n },\n group_by_attribute=\"AwsAccountId\",\n name=\"example-insight\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n AwsAccountIds = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersAwsAccountIdArgs\n {\n Comparison = \"EQUALS\",\n Value = \"1234567890\",\n },\n new Aws.SecurityHub.Inputs.InsightFiltersAwsAccountIdArgs\n {\n Comparison = \"EQUALS\",\n Value = \"09876543210\",\n },\n },\n },\n GroupByAttribute = \"AwsAccountId\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tAwsAccountIds: securityhub.InsightFiltersAwsAccountIdArray{\n\t\t\t\t\t\u0026securityhub.InsightFiltersAwsAccountIdArgs{\n\t\t\t\t\t\tComparison: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\tValue: pulumi.String(\"1234567890\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026securityhub.InsightFiltersAwsAccountIdArgs{\n\t\t\t\t\t\tComparison: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\tValue: pulumi.String(\"09876543210\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupByAttribute: pulumi.String(\"AwsAccountId\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder()\n .filters(InsightFiltersArgs.builder()\n .awsAccountIds( \n InsightFiltersAwsAccountIdArgs.builder()\n .comparison(\"EQUALS\")\n .value(\"1234567890\")\n .build(),\n InsightFiltersAwsAccountIdArgs.builder()\n .comparison(\"EQUALS\")\n .value(\"09876543210\")\n .build())\n .build())\n .groupByAttribute(\"AwsAccountId\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n awsAccountIds:\n - comparison: EQUALS\n value: '1234567890'\n - comparison: EQUALS\n value: '09876543210'\n groupByAttribute: AwsAccountId\n name: example-insight\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by date range\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n createdAts: [{\n dateRange: {\n unit: \"DAYS\",\n value: 5,\n },\n }],\n },\n groupByAttribute: \"CreatedAt\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters={\n \"created_ats\": [{\n \"date_range\": {\n \"unit\": \"DAYS\",\n \"value\": 5,\n },\n }],\n },\n group_by_attribute=\"CreatedAt\",\n name=\"example-insight\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n CreatedAts = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersCreatedAtArgs\n {\n DateRange = new Aws.SecurityHub.Inputs.InsightFiltersCreatedAtDateRangeArgs\n {\n Unit = \"DAYS\",\n Value = 5,\n },\n },\n },\n },\n GroupByAttribute = \"CreatedAt\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tCreatedAts: securityhub.InsightFiltersCreatedAtArray{\n\t\t\t\t\t\u0026securityhub.InsightFiltersCreatedAtArgs{\n\t\t\t\t\t\tDateRange: \u0026securityhub.InsightFiltersCreatedAtDateRangeArgs{\n\t\t\t\t\t\t\tUnit: pulumi.String(\"DAYS\"),\n\t\t\t\t\t\t\tValue: pulumi.Int(5),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupByAttribute: pulumi.String(\"CreatedAt\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder()\n .filters(InsightFiltersArgs.builder()\n .createdAts(InsightFiltersCreatedAtArgs.builder()\n .dateRange(InsightFiltersCreatedAtDateRangeArgs.builder()\n .unit(\"DAYS\")\n .value(5)\n .build())\n .build())\n .build())\n .groupByAttribute(\"CreatedAt\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n createdAts:\n - dateRange:\n unit: DAYS\n value: 5\n groupByAttribute: CreatedAt\n name: example-insight\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by destination IPv4 address\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n networkDestinationIpv4s: [{\n cidr: \"10.0.0.0/16\",\n }],\n },\n groupByAttribute: \"NetworkDestinationIpV4\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters={\n \"network_destination_ipv4s\": [{\n \"cidr\": \"10.0.0.0/16\",\n }],\n },\n group_by_attribute=\"NetworkDestinationIpV4\",\n name=\"example-insight\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n NetworkDestinationIpv4s = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersNetworkDestinationIpv4Args\n {\n Cidr = \"10.0.0.0/16\",\n },\n },\n },\n GroupByAttribute = \"NetworkDestinationIpV4\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tNetworkDestinationIpv4s: securityhub.InsightFiltersNetworkDestinationIpv4Array{\n\t\t\t\t\t\u0026securityhub.InsightFiltersNetworkDestinationIpv4Args{\n\t\t\t\t\t\tCidr: pulumi.String(\"10.0.0.0/16\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupByAttribute: pulumi.String(\"NetworkDestinationIpV4\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder()\n .filters(InsightFiltersArgs.builder()\n .networkDestinationIpv4s(InsightFiltersNetworkDestinationIpv4Args.builder()\n .cidr(\"10.0.0.0/16\")\n .build())\n .build())\n .groupByAttribute(\"NetworkDestinationIpV4\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n networkDestinationIpv4s:\n - cidr: 10.0.0.0/16\n groupByAttribute: NetworkDestinationIpV4\n name: example-insight\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by finding's confidence\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n confidences: [{\n gte: \"80\",\n }],\n },\n groupByAttribute: \"Confidence\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters={\n \"confidences\": [{\n \"gte\": \"80\",\n }],\n },\n group_by_attribute=\"Confidence\",\n name=\"example-insight\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n Confidences = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersConfidenceArgs\n {\n Gte = \"80\",\n },\n },\n },\n GroupByAttribute = \"Confidence\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tConfidences: securityhub.InsightFiltersConfidenceArray{\n\t\t\t\t\t\u0026securityhub.InsightFiltersConfidenceArgs{\n\t\t\t\t\t\tGte: pulumi.String(\"80\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupByAttribute: pulumi.String(\"Confidence\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder()\n .filters(InsightFiltersArgs.builder()\n .confidences(InsightFiltersConfidenceArgs.builder()\n .gte(\"80\")\n .build())\n .build())\n .groupByAttribute(\"Confidence\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n confidences:\n - gte: '80'\n groupByAttribute: Confidence\n name: example-insight\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by resource tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n resourceTags: [{\n comparison: \"EQUALS\",\n key: \"Environment\",\n value: \"Production\",\n }],\n },\n groupByAttribute: \"ResourceTags\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters={\n \"resource_tags\": [{\n \"comparison\": \"EQUALS\",\n \"key\": \"Environment\",\n \"value\": \"Production\",\n }],\n },\n group_by_attribute=\"ResourceTags\",\n name=\"example-insight\",\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n ResourceTags = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersResourceTagArgs\n {\n Comparison = \"EQUALS\",\n Key = \"Environment\",\n Value = \"Production\",\n },\n },\n },\n GroupByAttribute = \"ResourceTags\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tResourceTags: securityhub.InsightFiltersResourceTagArray{\n\t\t\t\t\t\u0026securityhub.InsightFiltersResourceTagArgs{\n\t\t\t\t\t\tComparison: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\tKey: pulumi.String(\"Environment\"),\n\t\t\t\t\t\tValue: pulumi.String(\"Production\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupByAttribute: pulumi.String(\"ResourceTags\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder()\n .filters(InsightFiltersArgs.builder()\n .resourceTags(InsightFiltersResourceTagArgs.builder()\n .comparison(\"EQUALS\")\n .key(\"Environment\")\n .value(\"Production\")\n .build())\n .build())\n .groupByAttribute(\"ResourceTags\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n resourceTags:\n - comparison: EQUALS\n key: Environment\n value: Production\n groupByAttribute: ResourceTags\n name: example-insight\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub insights using the ARN. For example:\n\n```sh\n$ pulumi import aws:securityhub/insight:Insight example arn:aws:securityhub:us-west-2:1234567890:insight/1234567890/custom/91299ed7-abd0-4e44-a858-d0b15e37141a\n```\n", "properties": { "arn": { "type": "string", @@ -357222,7 +357222,7 @@ } }, "aws:securityhub/inviteAccepter:InviteAccepter": { - "description": "\u003e **Note:** AWS accounts can only be associated with a single Security Hub master account. Destroying this resource will disassociate the member account from the master account.\n\nAccepts a Security Hub invitation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleMember = new aws.securityhub.Member(\"example\", {\n accountId: \"123456789012\",\n email: \"example@example.com\",\n invite: true,\n});\nconst invitee = new aws.securityhub.Account(\"invitee\", {});\nconst inviteeInviteAccepter = new aws.securityhub.InviteAccepter(\"invitee\", {masterId: exampleMember.masterId}, {\n dependsOn: [invitee],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_member = aws.securityhub.Member(\"example\",\n account_id=\"123456789012\",\n email=\"example@example.com\",\n invite=True)\ninvitee = aws.securityhub.Account(\"invitee\")\ninvitee_invite_accepter = aws.securityhub.InviteAccepter(\"invitee\", master_id=example_member.master_id,\nopts = pulumi.ResourceOptions(depends_on=[invitee]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleMember = new Aws.SecurityHub.Member(\"example\", new()\n {\n AccountId = \"123456789012\",\n Email = \"example@example.com\",\n Invite = true,\n });\n\n var invitee = new Aws.SecurityHub.Account(\"invitee\");\n\n var inviteeInviteAccepter = new Aws.SecurityHub.InviteAccepter(\"invitee\", new()\n {\n MasterId = exampleMember.MasterId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n invitee,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\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 := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMember, err := securityhub.NewMember(ctx, \"example\", \u0026securityhub.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tEmail: pulumi.String(\"example@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvitee, err := securityhub.NewAccount(ctx, \"invitee\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInviteAccepter(ctx, \"invitee\", \u0026securityhub.InviteAccepterArgs{\n\t\t\tMasterId: exampleMember.MasterId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tinvitee,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Member;\nimport com.pulumi.aws.securityhub.MemberArgs;\nimport com.pulumi.aws.securityhub.InviteAccepter;\nimport com.pulumi.aws.securityhub.InviteAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleMember = new Member(\"exampleMember\", MemberArgs.builder()\n .accountId(\"123456789012\")\n .email(\"example@example.com\")\n .invite(true)\n .build());\n\n var invitee = new Account(\"invitee\");\n\n var inviteeInviteAccepter = new InviteAccepter(\"inviteeInviteAccepter\", InviteAccepterArgs.builder()\n .masterId(exampleMember.masterId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(invitee)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleMember:\n type: aws:securityhub:Member\n name: example\n properties:\n accountId: '123456789012'\n email: example@example.com\n invite: true\n invitee:\n type: aws:securityhub:Account\n inviteeInviteAccepter:\n type: aws:securityhub:InviteAccepter\n name: invitee\n properties:\n masterId: ${exampleMember.masterId}\n options:\n dependsOn:\n - ${invitee}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub invite acceptance using the account ID. For example:\n\n```sh\n$ pulumi import aws:securityhub/inviteAccepter:InviteAccepter example 123456789012\n```\n", + "description": "\u003e **Note:** AWS accounts can only be associated with a single Security Hub master account. Destroying this resource will disassociate the member account from the master account.\n\nAccepts a Security Hub invitation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleMember = new aws.securityhub.Member(\"example\", {\n accountId: \"123456789012\",\n email: \"example@example.com\",\n invite: true,\n});\nconst invitee = new aws.securityhub.Account(\"invitee\", {});\nconst inviteeInviteAccepter = new aws.securityhub.InviteAccepter(\"invitee\", {masterId: exampleMember.masterId}, {\n dependsOn: [invitee],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_member = aws.securityhub.Member(\"example\",\n account_id=\"123456789012\",\n email=\"example@example.com\",\n invite=True)\ninvitee = aws.securityhub.Account(\"invitee\")\ninvitee_invite_accepter = aws.securityhub.InviteAccepter(\"invitee\", master_id=example_member.master_id,\nopts = pulumi.ResourceOptions(depends_on=[invitee]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleMember = new Aws.SecurityHub.Member(\"example\", new()\n {\n AccountId = \"123456789012\",\n Email = \"example@example.com\",\n Invite = true,\n });\n\n var invitee = new Aws.SecurityHub.Account(\"invitee\");\n\n var inviteeInviteAccepter = new Aws.SecurityHub.InviteAccepter(\"invitee\", new()\n {\n MasterId = exampleMember.MasterId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n invitee,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\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 := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMember, err := securityhub.NewMember(ctx, \"example\", \u0026securityhub.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tEmail: pulumi.String(\"example@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvitee, err := securityhub.NewAccount(ctx, \"invitee\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInviteAccepter(ctx, \"invitee\", \u0026securityhub.InviteAccepterArgs{\n\t\t\tMasterId: exampleMember.MasterId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tinvitee,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Member;\nimport com.pulumi.aws.securityhub.MemberArgs;\nimport com.pulumi.aws.securityhub.InviteAccepter;\nimport com.pulumi.aws.securityhub.InviteAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleMember = new Member(\"exampleMember\", MemberArgs.builder()\n .accountId(\"123456789012\")\n .email(\"example@example.com\")\n .invite(true)\n .build());\n\n var invitee = new Account(\"invitee\");\n\n var inviteeInviteAccepter = new InviteAccepter(\"inviteeInviteAccepter\", InviteAccepterArgs.builder()\n .masterId(exampleMember.masterId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(invitee)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleMember:\n type: aws:securityhub:Member\n name: example\n properties:\n accountId: '123456789012'\n email: example@example.com\n invite: true\n invitee:\n type: aws:securityhub:Account\n inviteeInviteAccepter:\n type: aws:securityhub:InviteAccepter\n name: invitee\n properties:\n masterId: ${exampleMember.masterId}\n options:\n dependson:\n - ${invitee}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub invite acceptance using the account ID. For example:\n\n```sh\n$ pulumi import aws:securityhub/inviteAccepter:InviteAccepter example 123456789012\n```\n", "properties": { "invitationId": { "type": "string", @@ -357264,7 +357264,7 @@ } }, "aws:securityhub/member:Member": { - "description": "Provides a Security Hub member resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleMember = new aws.securityhub.Member(\"example\", {\n accountId: \"123456789012\",\n email: \"example@example.com\",\n invite: true,\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_member = aws.securityhub.Member(\"example\",\n account_id=\"123456789012\",\n email=\"example@example.com\",\n invite=True,\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleMember = new Aws.SecurityHub.Member(\"example\", new()\n {\n AccountId = \"123456789012\",\n Email = \"example@example.com\",\n Invite = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewMember(ctx, \"example\", \u0026securityhub.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tEmail: pulumi.String(\"example@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Member;\nimport com.pulumi.aws.securityhub.MemberArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleMember = new Member(\"exampleMember\", MemberArgs.builder()\n .accountId(\"123456789012\")\n .email(\"example@example.com\")\n .invite(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleMember:\n type: aws:securityhub:Member\n name: example\n properties:\n accountId: '123456789012'\n email: example@example.com\n invite: true\n options:\n dependsOn:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub members using their account ID. For example:\n\n```sh\n$ pulumi import aws:securityhub/member:Member example 123456789012\n```\n", + "description": "Provides a Security Hub member resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleMember = new aws.securityhub.Member(\"example\", {\n accountId: \"123456789012\",\n email: \"example@example.com\",\n invite: true,\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_member = aws.securityhub.Member(\"example\",\n account_id=\"123456789012\",\n email=\"example@example.com\",\n invite=True,\n opts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleMember = new Aws.SecurityHub.Member(\"example\", new()\n {\n AccountId = \"123456789012\",\n Email = \"example@example.com\",\n Invite = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewMember(ctx, \"example\", \u0026securityhub.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tEmail: pulumi.String(\"example@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Member;\nimport com.pulumi.aws.securityhub.MemberArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleMember = new Member(\"exampleMember\", MemberArgs.builder()\n .accountId(\"123456789012\")\n .email(\"example@example.com\")\n .invite(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleMember:\n type: aws:securityhub:Member\n name: example\n properties:\n accountId: '123456789012'\n email: example@example.com\n invite: true\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub members using their account ID. For example:\n\n```sh\n$ pulumi import aws:securityhub/member:Member example 123456789012\n```\n", "properties": { "accountId": { "type": "string", @@ -357343,7 +357343,7 @@ } }, "aws:securityhub/organizationAdminAccount:OrganizationAdminAccount": { - "description": "Manages a Security Hub administrator account for an organization. The AWS account utilizing this resource must be an Organizations primary account. More information about Organizations support in Security Hub can be found in the [Security Hub User Guide](https://docs.aws.amazon.com/securityhub/latest/userguide/designate-orgs-admin-account.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"securityhub.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleAccount = new aws.securityhub.Account(\"example\", {});\nconst exampleOrganizationAdminAccount = new aws.securityhub.OrganizationAdminAccount(\"example\", {adminAccountId: \"123456789012\"}, {\n dependsOn: [example],\n});\n// Auto enable security hub in organization member accounts\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {autoEnable: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"securityhub.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_account = aws.securityhub.Account(\"example\")\nexample_organization_admin_account = aws.securityhub.OrganizationAdminAccount(\"example\", admin_account_id=\"123456789012\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\n# Auto enable security hub in organization member accounts\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\", auto_enable=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"securityhub.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleAccount = new Aws.SecurityHub.Account(\"example\");\n\n var exampleOrganizationAdminAccount = new Aws.SecurityHub.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n // Auto enable security hub in organization member accounts\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"securityhub.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationAdminAccount(ctx, \"example\", \u0026securityhub.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Auto enable security hub in organization member accounts\n\t\t_, err = securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccount;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccountArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"securityhub.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\");\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder()\n .adminAccountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n // Auto enable security hub in organization member accounts\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder()\n .autoEnable(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - securityhub.amazonaws.com\n featureSet: ALL\n exampleAccount:\n type: aws:securityhub:Account\n name: example\n exampleOrganizationAdminAccount:\n type: aws:securityhub:OrganizationAdminAccount\n name: example\n properties:\n adminAccountId: '123456789012'\n options:\n dependsOn:\n - ${example}\n # Auto enable security hub in organization member accounts\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub Organization Admin Accounts using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:securityhub/organizationAdminAccount:OrganizationAdminAccount example 123456789012\n```\n", + "description": "Manages a Security Hub administrator account for an organization. The AWS account utilizing this resource must be an Organizations primary account. More information about Organizations support in Security Hub can be found in the [Security Hub User Guide](https://docs.aws.amazon.com/securityhub/latest/userguide/designate-orgs-admin-account.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"securityhub.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleAccount = new aws.securityhub.Account(\"example\", {});\nconst exampleOrganizationAdminAccount = new aws.securityhub.OrganizationAdminAccount(\"example\", {adminAccountId: \"123456789012\"}, {\n dependsOn: [example],\n});\n// Auto enable security hub in organization member accounts\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {autoEnable: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"securityhub.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_account = aws.securityhub.Account(\"example\")\nexample_organization_admin_account = aws.securityhub.OrganizationAdminAccount(\"example\", admin_account_id=\"123456789012\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\n# Auto enable security hub in organization member accounts\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\", auto_enable=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"securityhub.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleAccount = new Aws.SecurityHub.Account(\"example\");\n\n var exampleOrganizationAdminAccount = new Aws.SecurityHub.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n // Auto enable security hub in organization member accounts\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"securityhub.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationAdminAccount(ctx, \"example\", \u0026securityhub.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Auto enable security hub in organization member accounts\n\t\t_, err = securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccount;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccountArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"securityhub.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\");\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder()\n .adminAccountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n // Auto enable security hub in organization member accounts\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder()\n .autoEnable(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - securityhub.amazonaws.com\n featureSet: ALL\n exampleAccount:\n type: aws:securityhub:Account\n name: example\n exampleOrganizationAdminAccount:\n type: aws:securityhub:OrganizationAdminAccount\n name: example\n properties:\n adminAccountId: '123456789012'\n options:\n dependson:\n - ${example}\n # Auto enable security hub in organization member accounts\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub Organization Admin Accounts using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:securityhub/organizationAdminAccount:OrganizationAdminAccount example 123456789012\n```\n", "properties": { "adminAccountId": { "type": "string", @@ -357376,7 +357376,7 @@ } }, "aws:securityhub/organizationConfiguration:OrganizationConfiguration": { - "description": "Manages the Security Hub Organization Configuration.\n\n\u003e **NOTE:** This resource requires an `aws.securityhub.OrganizationAdminAccount` to be configured (not necessarily with Pulumi). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation.\n\n\u003e **NOTE:** In order to set the `configuration_type` to `CENTRAL`, the delegated admin must be a member account of the organization and not the management account. Central configuration also requires an `aws.securityhub.FindingAggregator` to be configured.\n\n\u003e **NOTE:** This is an advanced AWS resource. Pulumi will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the Pulumi program.\n\n\u003e **NOTE:** Deleting this resource resets security hub to a local organization configuration with auto enable false.\n\n## Example Usage\n\n### Local Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"securityhub.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleOrganizationAdminAccount = new aws.securityhub.OrganizationAdminAccount(\"example\", {adminAccountId: \"123456789012\"}, {\n dependsOn: [example],\n});\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {autoEnable: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"securityhub.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_organization_admin_account = aws.securityhub.OrganizationAdminAccount(\"example\", admin_account_id=\"123456789012\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\", auto_enable=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"securityhub.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleOrganizationAdminAccount = new Aws.SecurityHub.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"securityhub.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationAdminAccount(ctx, \"example\", \u0026securityhub.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccount;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccountArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"securityhub.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder()\n .adminAccountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder()\n .autoEnable(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - securityhub.amazonaws.com\n featureSet: ALL\n exampleOrganizationAdminAccount:\n type: aws:securityhub:OrganizationAdminAccount\n name: example\n properties:\n adminAccountId: '123456789012'\n options:\n dependsOn:\n - ${example}\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Central Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.OrganizationAdminAccount(\"example\", {adminAccountId: \"123456789012\"}, {\n dependsOn: [exampleAwsOrganizationsOrganization],\n});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"example\", {linkingMode: \"ALL_REGIONS\"}, {\n dependsOn: [example],\n});\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {\n autoEnable: false,\n autoEnableStandards: \"NONE\",\n organizationConfiguration: {\n configurationType: \"CENTRAL\",\n },\n}, {\n dependsOn: [exampleFindingAggregator],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.OrganizationAdminAccount(\"example\", admin_account_id=\"123456789012\",\nopts = pulumi.ResourceOptions(depends_on=[example_aws_organizations_organization]))\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"example\", linking_mode=\"ALL_REGIONS\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\",\n auto_enable=False,\n auto_enable_standards=\"NONE\",\n organization_configuration={\n \"configuration_type\": \"CENTRAL\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example_finding_aggregator]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsOrganizationsOrganization,\n },\n });\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = false,\n AutoEnableStandards = \"NONE\",\n OrganizationConfigurationDetails = new Aws.SecurityHub.Inputs.OrganizationConfigurationOrganizationConfigurationArgs\n {\n ConfigurationType = \"CENTRAL\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleFindingAggregator,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewOrganizationAdminAccount(ctx, \"example\", \u0026securityhub.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsOrganizationsOrganization,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFindingAggregator, err := securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(false),\n\t\t\tAutoEnableStandards: pulumi.String(\"NONE\"),\n\t\t\tOrganizationConfiguration: \u0026securityhub.OrganizationConfigurationOrganizationConfigurationArgs{\n\t\t\t\tConfigurationType: pulumi.String(\"CENTRAL\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleFindingAggregator,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccount;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccountArgs;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.inputs.OrganizationConfigurationOrganizationConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new OrganizationAdminAccount(\"example\", OrganizationAdminAccountArgs.builder()\n .adminAccountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsOrganizationsOrganization)\n .build());\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder()\n .linkingMode(\"ALL_REGIONS\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder()\n .autoEnable(false)\n .autoEnableStandards(\"NONE\")\n .organizationConfiguration(OrganizationConfigurationOrganizationConfigurationArgs.builder()\n .configurationType(\"CENTRAL\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleFindingAggregator)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:OrganizationAdminAccount\n properties:\n adminAccountId: '123456789012'\n options:\n dependsOn:\n - ${exampleAwsOrganizationsOrganization}\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n name: example\n properties:\n linkingMode: ALL_REGIONS\n options:\n dependsOn:\n - ${example}\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: false\n autoEnableStandards: NONE\n organizationConfiguration:\n configurationType: CENTRAL\n options:\n dependsOn:\n - ${exampleFindingAggregator}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:securityhub/organizationConfiguration:OrganizationConfiguration example 123456789012\n```\n", + "description": "Manages the Security Hub Organization Configuration.\n\n\u003e **NOTE:** This resource requires an `aws.securityhub.OrganizationAdminAccount` to be configured (not necessarily with Pulumi). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation.\n\n\u003e **NOTE:** In order to set the `configuration_type` to `CENTRAL`, the delegated admin must be a member account of the organization and not the management account. Central configuration also requires an `aws.securityhub.FindingAggregator` to be configured.\n\n\u003e **NOTE:** This is an advanced AWS resource. Pulumi will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the Pulumi program.\n\n\u003e **NOTE:** Deleting this resource resets security hub to a local organization configuration with auto enable false.\n\n## Example Usage\n\n### Local Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"securityhub.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleOrganizationAdminAccount = new aws.securityhub.OrganizationAdminAccount(\"example\", {adminAccountId: \"123456789012\"}, {\n dependsOn: [example],\n});\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {autoEnable: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"securityhub.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_organization_admin_account = aws.securityhub.OrganizationAdminAccount(\"example\", admin_account_id=\"123456789012\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\", auto_enable=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"securityhub.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleOrganizationAdminAccount = new Aws.SecurityHub.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"securityhub.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationAdminAccount(ctx, \"example\", \u0026securityhub.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccount;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccountArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"securityhub.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder()\n .adminAccountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder()\n .autoEnable(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - securityhub.amazonaws.com\n featureSet: ALL\n exampleOrganizationAdminAccount:\n type: aws:securityhub:OrganizationAdminAccount\n name: example\n properties:\n adminAccountId: '123456789012'\n options:\n dependson:\n - ${example}\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Central Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.OrganizationAdminAccount(\"example\", {adminAccountId: \"123456789012\"}, {\n dependsOn: [exampleAwsOrganizationsOrganization],\n});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"example\", {linkingMode: \"ALL_REGIONS\"}, {\n dependsOn: [example],\n});\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {\n autoEnable: false,\n autoEnableStandards: \"NONE\",\n organizationConfiguration: {\n configurationType: \"CENTRAL\",\n },\n}, {\n dependsOn: [exampleFindingAggregator],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.OrganizationAdminAccount(\"example\", admin_account_id=\"123456789012\",\nopts = pulumi.ResourceOptions(depends_on=[example_aws_organizations_organization]))\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"example\", linking_mode=\"ALL_REGIONS\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\",\n auto_enable=False,\n auto_enable_standards=\"NONE\",\n organization_configuration={\n \"configuration_type\": \"CENTRAL\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example_finding_aggregator]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsOrganizationsOrganization,\n },\n });\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = false,\n AutoEnableStandards = \"NONE\",\n OrganizationConfigurationDetails = new Aws.SecurityHub.Inputs.OrganizationConfigurationOrganizationConfigurationArgs\n {\n ConfigurationType = \"CENTRAL\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleFindingAggregator,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewOrganizationAdminAccount(ctx, \"example\", \u0026securityhub.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsOrganizationsOrganization,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFindingAggregator, err := securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(false),\n\t\t\tAutoEnableStandards: pulumi.String(\"NONE\"),\n\t\t\tOrganizationConfiguration: \u0026securityhub.OrganizationConfigurationOrganizationConfigurationArgs{\n\t\t\t\tConfigurationType: pulumi.String(\"CENTRAL\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleFindingAggregator,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccount;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccountArgs;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.inputs.OrganizationConfigurationOrganizationConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new OrganizationAdminAccount(\"example\", OrganizationAdminAccountArgs.builder()\n .adminAccountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsOrganizationsOrganization)\n .build());\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder()\n .linkingMode(\"ALL_REGIONS\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder()\n .autoEnable(false)\n .autoEnableStandards(\"NONE\")\n .organizationConfiguration(OrganizationConfigurationOrganizationConfigurationArgs.builder()\n .configurationType(\"CENTRAL\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleFindingAggregator)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:OrganizationAdminAccount\n properties:\n adminAccountId: '123456789012'\n options:\n dependson:\n - ${exampleAwsOrganizationsOrganization}\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n name: example\n properties:\n linkingMode: ALL_REGIONS\n options:\n dependson:\n - ${example}\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: false\n autoEnableStandards: NONE\n organizationConfiguration:\n configurationType: CENTRAL\n options:\n dependson:\n - ${exampleFindingAggregator}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:securityhub/organizationConfiguration:OrganizationConfiguration example 123456789012\n```\n", "properties": { "autoEnable": { "type": "boolean", @@ -357448,7 +357448,7 @@ } }, "aws:securityhub/productSubscription:ProductSubscription": { - "description": "Subscribes to a Security Hub product.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst current = aws.getRegion({});\nconst exampleProductSubscription = new aws.securityhub.ProductSubscription(\"example\", {productArn: current.then(current =\u003e `arn:aws:securityhub:${current.name}:733251395267:product/alertlogic/althreatmanagement`)}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncurrent = aws.get_region()\nexample_product_subscription = aws.securityhub.ProductSubscription(\"example\", product_arn=f\"arn:aws:securityhub:{current.name}:733251395267:product/alertlogic/althreatmanagement\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var current = Aws.GetRegion.Invoke();\n\n var exampleProductSubscription = new Aws.SecurityHub.ProductSubscription(\"example\", new()\n {\n ProductArn = $\"arn:aws:securityhub:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:733251395267:product/alertlogic/althreatmanagement\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewProductSubscription(ctx, \"example\", \u0026securityhub.ProductSubscriptionArgs{\n\t\t\tProductArn: pulumi.Sprintf(\"arn:aws:securityhub:%v:733251395267:product/alertlogic/althreatmanagement\", current.Name),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.securityhub.ProductSubscription;\nimport com.pulumi.aws.securityhub.ProductSubscriptionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n final var current = AwsFunctions.getRegion();\n\n var exampleProductSubscription = new ProductSubscription(\"exampleProductSubscription\", ProductSubscriptionArgs.builder()\n .productArn(String.format(\"arn:aws:securityhub:%s:733251395267:product/alertlogic/althreatmanagement\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleProductSubscription:\n type: aws:securityhub:ProductSubscription\n name: example\n properties:\n productArn: arn:aws:securityhub:${current.name}:733251395267:product/alertlogic/althreatmanagement\n options:\n dependsOn:\n - ${example}\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub product subscriptions using `product_arn,arn`. For example:\n\n```sh\n$ pulumi import aws:securityhub/productSubscription:ProductSubscription example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement\n```\n", + "description": "Subscribes to a Security Hub product.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst current = aws.getRegion({});\nconst exampleProductSubscription = new aws.securityhub.ProductSubscription(\"example\", {productArn: current.then(current =\u003e `arn:aws:securityhub:${current.name}:733251395267:product/alertlogic/althreatmanagement`)}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncurrent = aws.get_region()\nexample_product_subscription = aws.securityhub.ProductSubscription(\"example\", product_arn=f\"arn:aws:securityhub:{current.name}:733251395267:product/alertlogic/althreatmanagement\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var current = Aws.GetRegion.Invoke();\n\n var exampleProductSubscription = new Aws.SecurityHub.ProductSubscription(\"example\", new()\n {\n ProductArn = $\"arn:aws:securityhub:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:733251395267:product/alertlogic/althreatmanagement\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewProductSubscription(ctx, \"example\", \u0026securityhub.ProductSubscriptionArgs{\n\t\t\tProductArn: pulumi.Sprintf(\"arn:aws:securityhub:%v:733251395267:product/alertlogic/althreatmanagement\", current.Name),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.securityhub.ProductSubscription;\nimport com.pulumi.aws.securityhub.ProductSubscriptionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n final var current = AwsFunctions.getRegion();\n\n var exampleProductSubscription = new ProductSubscription(\"exampleProductSubscription\", ProductSubscriptionArgs.builder()\n .productArn(String.format(\"arn:aws:securityhub:%s:733251395267:product/alertlogic/althreatmanagement\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleProductSubscription:\n type: aws:securityhub:ProductSubscription\n name: example\n properties:\n productArn: arn:aws:securityhub:${current.name}:733251395267:product/alertlogic/althreatmanagement\n options:\n dependson:\n - ${example}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub product subscriptions using `product_arn,arn`. For example:\n\n```sh\n$ pulumi import aws:securityhub/productSubscription:ProductSubscription example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement\n```\n", "properties": { "arn": { "type": "string", @@ -357490,7 +357490,7 @@ } }, "aws:securityhub/standardsControl:StandardsControl": { - "description": "Disable/enable Security Hub standards control in the current region.\n\nThe `aws.securityhub.StandardsControl` behaves differently from normal resources, in that\nPulumi does not _create_ this resource, but instead \"adopts\" it\ninto management. When you _delete_ this resource configuration, Pulumi \"abandons\" resource as is and just removes it from the state.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst cisAwsFoundationsBenchmark = new aws.securityhub.StandardsSubscription(\"cis_aws_foundations_benchmark\", {standardsArn: \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"}, {\n dependsOn: [example],\n});\nconst ensureIamPasswordPolicyPreventsPasswordReuse = new aws.securityhub.StandardsControl(\"ensure_iam_password_policy_prevents_password_reuse\", {\n standardsControlArn: \"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\",\n controlStatus: \"DISABLED\",\n disabledReason: \"We handle password policies within Okta\",\n}, {\n dependsOn: [cisAwsFoundationsBenchmark],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncis_aws_foundations_benchmark = aws.securityhub.StandardsSubscription(\"cis_aws_foundations_benchmark\", standards_arn=\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\nensure_iam_password_policy_prevents_password_reuse = aws.securityhub.StandardsControl(\"ensure_iam_password_policy_prevents_password_reuse\",\n standards_control_arn=\"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\",\n control_status=\"DISABLED\",\n disabled_reason=\"We handle password policies within Okta\",\n opts = pulumi.ResourceOptions(depends_on=[cis_aws_foundations_benchmark]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new Aws.SecurityHub.StandardsSubscription(\"cis_aws_foundations_benchmark\", new()\n {\n StandardsArn = \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var ensureIamPasswordPolicyPreventsPasswordReuse = new Aws.SecurityHub.StandardsControl(\"ensure_iam_password_policy_prevents_password_reuse\", new()\n {\n StandardsControlArn = \"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\",\n ControlStatus = \"DISABLED\",\n DisabledReason = \"We handle password policies within Okta\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n cisAwsFoundationsBenchmark,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcisAwsFoundationsBenchmark, err := securityhub.NewStandardsSubscription(ctx, \"cis_aws_foundations_benchmark\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsControl(ctx, \"ensure_iam_password_policy_prevents_password_reuse\", \u0026securityhub.StandardsControlArgs{\n\t\t\tStandardsControlArn: pulumi.String(\"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\"),\n\t\t\tControlStatus: pulumi.String(\"DISABLED\"),\n\t\t\tDisabledReason: pulumi.String(\"We handle password policies within Okta\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tcisAwsFoundationsBenchmark,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.StandardsSubscription;\nimport com.pulumi.aws.securityhub.StandardsSubscriptionArgs;\nimport com.pulumi.aws.securityhub.StandardsControl;\nimport com.pulumi.aws.securityhub.StandardsControlArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new StandardsSubscription(\"cisAwsFoundationsBenchmark\", StandardsSubscriptionArgs.builder()\n .standardsArn(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var ensureIamPasswordPolicyPreventsPasswordReuse = new StandardsControl(\"ensureIamPasswordPolicyPreventsPasswordReuse\", StandardsControlArgs.builder()\n .standardsControlArn(\"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\")\n .controlStatus(\"DISABLED\")\n .disabledReason(\"We handle password policies within Okta\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(cisAwsFoundationsBenchmark)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n cisAwsFoundationsBenchmark:\n type: aws:securityhub:StandardsSubscription\n name: cis_aws_foundations_benchmark\n properties:\n standardsArn: arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n options:\n dependsOn:\n - ${example}\n ensureIamPasswordPolicyPreventsPasswordReuse:\n type: aws:securityhub:StandardsControl\n name: ensure_iam_password_policy_prevents_password_reuse\n properties:\n standardsControlArn: arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\n controlStatus: DISABLED\n disabledReason: We handle password policies within Okta\n options:\n dependsOn:\n - ${cisAwsFoundationsBenchmark}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Disable/enable Security Hub standards control in the current region.\n\nThe `aws.securityhub.StandardsControl` behaves differently from normal resources, in that\nPulumi does not _create_ this resource, but instead \"adopts\" it\ninto management. When you _delete_ this resource configuration, Pulumi \"abandons\" resource as is and just removes it from the state.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst cisAwsFoundationsBenchmark = new aws.securityhub.StandardsSubscription(\"cis_aws_foundations_benchmark\", {standardsArn: \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"}, {\n dependsOn: [example],\n});\nconst ensureIamPasswordPolicyPreventsPasswordReuse = new aws.securityhub.StandardsControl(\"ensure_iam_password_policy_prevents_password_reuse\", {\n standardsControlArn: \"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\",\n controlStatus: \"DISABLED\",\n disabledReason: \"We handle password policies within Okta\",\n}, {\n dependsOn: [cisAwsFoundationsBenchmark],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncis_aws_foundations_benchmark = aws.securityhub.StandardsSubscription(\"cis_aws_foundations_benchmark\", standards_arn=\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\nensure_iam_password_policy_prevents_password_reuse = aws.securityhub.StandardsControl(\"ensure_iam_password_policy_prevents_password_reuse\",\n standards_control_arn=\"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\",\n control_status=\"DISABLED\",\n disabled_reason=\"We handle password policies within Okta\",\n opts = pulumi.ResourceOptions(depends_on=[cis_aws_foundations_benchmark]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new Aws.SecurityHub.StandardsSubscription(\"cis_aws_foundations_benchmark\", new()\n {\n StandardsArn = \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var ensureIamPasswordPolicyPreventsPasswordReuse = new Aws.SecurityHub.StandardsControl(\"ensure_iam_password_policy_prevents_password_reuse\", new()\n {\n StandardsControlArn = \"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\",\n ControlStatus = \"DISABLED\",\n DisabledReason = \"We handle password policies within Okta\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n cisAwsFoundationsBenchmark,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcisAwsFoundationsBenchmark, err := securityhub.NewStandardsSubscription(ctx, \"cis_aws_foundations_benchmark\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsControl(ctx, \"ensure_iam_password_policy_prevents_password_reuse\", \u0026securityhub.StandardsControlArgs{\n\t\t\tStandardsControlArn: pulumi.String(\"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\"),\n\t\t\tControlStatus: pulumi.String(\"DISABLED\"),\n\t\t\tDisabledReason: pulumi.String(\"We handle password policies within Okta\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tcisAwsFoundationsBenchmark,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.StandardsSubscription;\nimport com.pulumi.aws.securityhub.StandardsSubscriptionArgs;\nimport com.pulumi.aws.securityhub.StandardsControl;\nimport com.pulumi.aws.securityhub.StandardsControlArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new StandardsSubscription(\"cisAwsFoundationsBenchmark\", StandardsSubscriptionArgs.builder()\n .standardsArn(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var ensureIamPasswordPolicyPreventsPasswordReuse = new StandardsControl(\"ensureIamPasswordPolicyPreventsPasswordReuse\", StandardsControlArgs.builder()\n .standardsControlArn(\"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\")\n .controlStatus(\"DISABLED\")\n .disabledReason(\"We handle password policies within Okta\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(cisAwsFoundationsBenchmark)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n cisAwsFoundationsBenchmark:\n type: aws:securityhub:StandardsSubscription\n name: cis_aws_foundations_benchmark\n properties:\n standardsArn: arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n options:\n dependson:\n - ${example}\n ensureIamPasswordPolicyPreventsPasswordReuse:\n type: aws:securityhub:StandardsControl\n name: ensure_iam_password_policy_prevents_password_reuse\n properties:\n standardsControlArn: arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\n controlStatus: DISABLED\n disabledReason: We handle password policies within Okta\n options:\n dependson:\n - ${cisAwsFoundationsBenchmark}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "controlId": { "type": "string", @@ -357619,7 +357619,7 @@ } }, "aws:securityhub/standardsControlAssociation:StandardsControlAssociation": { - "description": "## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst cisAwsFoundationsBenchmark = new aws.securityhub.StandardsSubscription(\"cis_aws_foundations_benchmark\", {standardsArn: \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"}, {\n dependsOn: [example],\n});\nconst cisAwsFoundationsBenchmarkDisableIam1 = new aws.securityhub.StandardsControlAssociation(\"cis_aws_foundations_benchmark_disable_iam_1\", {\n standardsArn: cisAwsFoundationsBenchmark.standardsArn,\n securityControlId: \"IAM.1\",\n associationStatus: \"DISABLED\",\n updatedReason: \"Not needed\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncis_aws_foundations_benchmark = aws.securityhub.StandardsSubscription(\"cis_aws_foundations_benchmark\", standards_arn=\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\ncis_aws_foundations_benchmark_disable_iam1 = aws.securityhub.StandardsControlAssociation(\"cis_aws_foundations_benchmark_disable_iam_1\",\n standards_arn=cis_aws_foundations_benchmark.standards_arn,\n security_control_id=\"IAM.1\",\n association_status=\"DISABLED\",\n updated_reason=\"Not needed\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new Aws.SecurityHub.StandardsSubscription(\"cis_aws_foundations_benchmark\", new()\n {\n StandardsArn = \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var cisAwsFoundationsBenchmarkDisableIam1 = new Aws.SecurityHub.StandardsControlAssociation(\"cis_aws_foundations_benchmark_disable_iam_1\", new()\n {\n StandardsArn = cisAwsFoundationsBenchmark.StandardsArn,\n SecurityControlId = \"IAM.1\",\n AssociationStatus = \"DISABLED\",\n UpdatedReason = \"Not needed\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcisAwsFoundationsBenchmark, err := securityhub.NewStandardsSubscription(ctx, \"cis_aws_foundations_benchmark\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsControlAssociation(ctx, \"cis_aws_foundations_benchmark_disable_iam_1\", \u0026securityhub.StandardsControlAssociationArgs{\n\t\t\tStandardsArn: cisAwsFoundationsBenchmark.StandardsArn,\n\t\t\tSecurityControlId: pulumi.String(\"IAM.1\"),\n\t\t\tAssociationStatus: pulumi.String(\"DISABLED\"),\n\t\t\tUpdatedReason: pulumi.String(\"Not needed\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.StandardsSubscription;\nimport com.pulumi.aws.securityhub.StandardsSubscriptionArgs;\nimport com.pulumi.aws.securityhub.StandardsControlAssociation;\nimport com.pulumi.aws.securityhub.StandardsControlAssociationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new StandardsSubscription(\"cisAwsFoundationsBenchmark\", StandardsSubscriptionArgs.builder()\n .standardsArn(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var cisAwsFoundationsBenchmarkDisableIam1 = new StandardsControlAssociation(\"cisAwsFoundationsBenchmarkDisableIam1\", StandardsControlAssociationArgs.builder()\n .standardsArn(cisAwsFoundationsBenchmark.standardsArn())\n .securityControlId(\"IAM.1\")\n .associationStatus(\"DISABLED\")\n .updatedReason(\"Not needed\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n cisAwsFoundationsBenchmark:\n type: aws:securityhub:StandardsSubscription\n name: cis_aws_foundations_benchmark\n properties:\n standardsArn: arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n options:\n dependsOn:\n - ${example}\n cisAwsFoundationsBenchmarkDisableIam1:\n type: aws:securityhub:StandardsControlAssociation\n name: cis_aws_foundations_benchmark_disable_iam_1\n properties:\n standardsArn: ${cisAwsFoundationsBenchmark.standardsArn}\n securityControlId: IAM.1\n associationStatus: DISABLED\n updatedReason: Not needed\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n", + "description": "## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst cisAwsFoundationsBenchmark = new aws.securityhub.StandardsSubscription(\"cis_aws_foundations_benchmark\", {standardsArn: \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"}, {\n dependsOn: [example],\n});\nconst cisAwsFoundationsBenchmarkDisableIam1 = new aws.securityhub.StandardsControlAssociation(\"cis_aws_foundations_benchmark_disable_iam_1\", {\n standardsArn: cisAwsFoundationsBenchmark.standardsArn,\n securityControlId: \"IAM.1\",\n associationStatus: \"DISABLED\",\n updatedReason: \"Not needed\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncis_aws_foundations_benchmark = aws.securityhub.StandardsSubscription(\"cis_aws_foundations_benchmark\", standards_arn=\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\ncis_aws_foundations_benchmark_disable_iam1 = aws.securityhub.StandardsControlAssociation(\"cis_aws_foundations_benchmark_disable_iam_1\",\n standards_arn=cis_aws_foundations_benchmark.standards_arn,\n security_control_id=\"IAM.1\",\n association_status=\"DISABLED\",\n updated_reason=\"Not needed\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new Aws.SecurityHub.StandardsSubscription(\"cis_aws_foundations_benchmark\", new()\n {\n StandardsArn = \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var cisAwsFoundationsBenchmarkDisableIam1 = new Aws.SecurityHub.StandardsControlAssociation(\"cis_aws_foundations_benchmark_disable_iam_1\", new()\n {\n StandardsArn = cisAwsFoundationsBenchmark.StandardsArn,\n SecurityControlId = \"IAM.1\",\n AssociationStatus = \"DISABLED\",\n UpdatedReason = \"Not needed\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcisAwsFoundationsBenchmark, err := securityhub.NewStandardsSubscription(ctx, \"cis_aws_foundations_benchmark\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsControlAssociation(ctx, \"cis_aws_foundations_benchmark_disable_iam_1\", \u0026securityhub.StandardsControlAssociationArgs{\n\t\t\tStandardsArn: cisAwsFoundationsBenchmark.StandardsArn,\n\t\t\tSecurityControlId: pulumi.String(\"IAM.1\"),\n\t\t\tAssociationStatus: pulumi.String(\"DISABLED\"),\n\t\t\tUpdatedReason: pulumi.String(\"Not needed\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.StandardsSubscription;\nimport com.pulumi.aws.securityhub.StandardsSubscriptionArgs;\nimport com.pulumi.aws.securityhub.StandardsControlAssociation;\nimport com.pulumi.aws.securityhub.StandardsControlAssociationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new StandardsSubscription(\"cisAwsFoundationsBenchmark\", StandardsSubscriptionArgs.builder()\n .standardsArn(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var cisAwsFoundationsBenchmarkDisableIam1 = new StandardsControlAssociation(\"cisAwsFoundationsBenchmarkDisableIam1\", StandardsControlAssociationArgs.builder()\n .standardsArn(cisAwsFoundationsBenchmark.standardsArn())\n .securityControlId(\"IAM.1\")\n .associationStatus(\"DISABLED\")\n .updatedReason(\"Not needed\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n cisAwsFoundationsBenchmark:\n type: aws:securityhub:StandardsSubscription\n name: cis_aws_foundations_benchmark\n properties:\n standardsArn: arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n options:\n dependson:\n - ${example}\n cisAwsFoundationsBenchmarkDisableIam1:\n type: aws:securityhub:StandardsControlAssociation\n name: cis_aws_foundations_benchmark_disable_iam_1\n properties:\n standardsArn: ${cisAwsFoundationsBenchmark.standardsArn}\n securityControlId: IAM.1\n associationStatus: DISABLED\n updatedReason: Not needed\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n", "properties": { "associationStatus": { "type": "string", @@ -357690,7 +357690,7 @@ } }, "aws:securityhub/standardsSubscription:StandardsSubscription": { - "description": "Subscribes to a Security Hub standard.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst current = aws.getRegion({});\nconst cis = new aws.securityhub.StandardsSubscription(\"cis\", {standardsArn: \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"}, {\n dependsOn: [example],\n});\nconst pci321 = new aws.securityhub.StandardsSubscription(\"pci_321\", {standardsArn: current.then(current =\u003e `arn:aws:securityhub:${current.name}::standards/pci-dss/v/3.2.1`)}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncurrent = aws.get_region()\ncis = aws.securityhub.StandardsSubscription(\"cis\", standards_arn=\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\npci321 = aws.securityhub.StandardsSubscription(\"pci_321\", standards_arn=f\"arn:aws:securityhub:{current.name}::standards/pci-dss/v/3.2.1\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var current = Aws.GetRegion.Invoke();\n\n var cis = new Aws.SecurityHub.StandardsSubscription(\"cis\", new()\n {\n StandardsArn = \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var pci321 = new Aws.SecurityHub.StandardsSubscription(\"pci_321\", new()\n {\n StandardsArn = $\"arn:aws:securityhub:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}::standards/pci-dss/v/3.2.1\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsSubscription(ctx, \"cis\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsSubscription(ctx, \"pci_321\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.Sprintf(\"arn:aws:securityhub:%v::standards/pci-dss/v/3.2.1\", current.Name),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.securityhub.StandardsSubscription;\nimport com.pulumi.aws.securityhub.StandardsSubscriptionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n final var current = AwsFunctions.getRegion();\n\n var cis = new StandardsSubscription(\"cis\", StandardsSubscriptionArgs.builder()\n .standardsArn(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var pci321 = new StandardsSubscription(\"pci321\", StandardsSubscriptionArgs.builder()\n .standardsArn(String.format(\"arn:aws:securityhub:%s::standards/pci-dss/v/3.2.1\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n cis:\n type: aws:securityhub:StandardsSubscription\n properties:\n standardsArn: arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n options:\n dependsOn:\n - ${example}\n pci321:\n type: aws:securityhub:StandardsSubscription\n name: pci_321\n properties:\n standardsArn: arn:aws:securityhub:${current.name}::standards/pci-dss/v/3.2.1\n options:\n dependsOn:\n - ${example}\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub standards subscriptions using the standards subscription ARN. For example:\n\n```sh\n$ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0\n```\n```sh\n$ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1\n```\n```sh\n$ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0\n```\n", + "description": "Subscribes to a Security Hub standard.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst current = aws.getRegion({});\nconst cis = new aws.securityhub.StandardsSubscription(\"cis\", {standardsArn: \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"}, {\n dependsOn: [example],\n});\nconst pci321 = new aws.securityhub.StandardsSubscription(\"pci_321\", {standardsArn: current.then(current =\u003e `arn:aws:securityhub:${current.name}::standards/pci-dss/v/3.2.1`)}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncurrent = aws.get_region()\ncis = aws.securityhub.StandardsSubscription(\"cis\", standards_arn=\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\npci321 = aws.securityhub.StandardsSubscription(\"pci_321\", standards_arn=f\"arn:aws:securityhub:{current.name}::standards/pci-dss/v/3.2.1\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var current = Aws.GetRegion.Invoke();\n\n var cis = new Aws.SecurityHub.StandardsSubscription(\"cis\", new()\n {\n StandardsArn = \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var pci321 = new Aws.SecurityHub.StandardsSubscription(\"pci_321\", new()\n {\n StandardsArn = $\"arn:aws:securityhub:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}::standards/pci-dss/v/3.2.1\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsSubscription(ctx, \"cis\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsSubscription(ctx, \"pci_321\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.Sprintf(\"arn:aws:securityhub:%v::standards/pci-dss/v/3.2.1\", current.Name),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.securityhub.StandardsSubscription;\nimport com.pulumi.aws.securityhub.StandardsSubscriptionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n final var current = AwsFunctions.getRegion();\n\n var cis = new StandardsSubscription(\"cis\", StandardsSubscriptionArgs.builder()\n .standardsArn(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var pci321 = new StandardsSubscription(\"pci321\", StandardsSubscriptionArgs.builder()\n .standardsArn(String.format(\"arn:aws:securityhub:%s::standards/pci-dss/v/3.2.1\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n cis:\n type: aws:securityhub:StandardsSubscription\n properties:\n standardsArn: arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n options:\n dependson:\n - ${example}\n pci321:\n type: aws:securityhub:StandardsSubscription\n name: pci_321\n properties:\n standardsArn: arn:aws:securityhub:${current.name}::standards/pci-dss/v/3.2.1\n options:\n dependson:\n - ${example}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub standards subscriptions using the standards subscription ARN. For example:\n\n```sh\n$ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0\n```\n```sh\n$ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1\n```\n```sh\n$ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0\n```\n", "properties": { "standardsArn": { "type": "string", @@ -357723,7 +357723,7 @@ } }, "aws:securitylake/awsLogSource:AwsLogSource": { - "description": "Resource for managing an Amazon Security Lake AWS Log Source.\n\n\u003e **NOTE:** A single `aws.securitylake.AwsLogSource` should be used to configure a log source across all regions and accounts.\n\n\u003e **NOTE:** The underlying `aws.securitylake.DataLake` must be configured before creating the `aws.securitylake.AwsLogSource`. Use a `depends_on` statement.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.AwsLogSource(\"example\", {source: {\n accounts: [\"123456789012\"],\n regions: [\"eu-west-1\"],\n sourceName: \"ROUTE53\",\n}}, {\n dependsOn: [exampleAwsSecuritylakeDataLake],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.AwsLogSource(\"example\", source={\n \"accounts\": [\"123456789012\"],\n \"regions\": [\"eu-west-1\"],\n \"source_name\": \"ROUTE53\",\n},\nopts = pulumi.ResourceOptions(depends_on=[example_aws_securitylake_data_lake]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.AwsLogSource(\"example\", new()\n {\n Source = new Aws.SecurityLake.Inputs.AwsLogSourceSourceArgs\n {\n Accounts = new[]\n {\n \"123456789012\",\n },\n Regions = new[]\n {\n \"eu-west-1\",\n },\n SourceName = \"ROUTE53\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecuritylakeDataLake,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\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 := securitylake.NewAwsLogSource(ctx, \"example\", \u0026securitylake.AwsLogSourceArgs{\n\t\t\tSource: \u0026securitylake.AwsLogSourceSourceArgs{\n\t\t\t\tAccounts: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t\t},\n\t\t\t\tRegions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\t},\n\t\t\t\tSourceName: pulumi.String(\"ROUTE53\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecuritylakeDataLake,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securitylake.AwsLogSource;\nimport com.pulumi.aws.securitylake.AwsLogSourceArgs;\nimport com.pulumi.aws.securitylake.inputs.AwsLogSourceSourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AwsLogSource(\"example\", AwsLogSourceArgs.builder()\n .source(AwsLogSourceSourceArgs.builder()\n .accounts(\"123456789012\")\n .regions(\"eu-west-1\")\n .sourceName(\"ROUTE53\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecuritylakeDataLake)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:AwsLogSource\n properties:\n source:\n accounts:\n - '123456789012'\n regions:\n - eu-west-1\n sourceName: ROUTE53\n options:\n dependsOn:\n - ${exampleAwsSecuritylakeDataLake}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS log sources using the source name. For example:\n\n```sh\n$ pulumi import aws:securitylake/awsLogSource:AwsLogSource example ROUTE53\n```\n", + "description": "Resource for managing an Amazon Security Lake AWS Log Source.\n\n\u003e **NOTE:** A single `aws.securitylake.AwsLogSource` should be used to configure a log source across all regions and accounts.\n\n\u003e **NOTE:** The underlying `aws.securitylake.DataLake` must be configured before creating the `aws.securitylake.AwsLogSource`. Use a `depends_on` statement.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.AwsLogSource(\"example\", {source: {\n accounts: [\"123456789012\"],\n regions: [\"eu-west-1\"],\n sourceName: \"ROUTE53\",\n}}, {\n dependsOn: [exampleAwsSecuritylakeDataLake],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.AwsLogSource(\"example\", source={\n \"accounts\": [\"123456789012\"],\n \"regions\": [\"eu-west-1\"],\n \"source_name\": \"ROUTE53\",\n},\nopts = pulumi.ResourceOptions(depends_on=[example_aws_securitylake_data_lake]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.AwsLogSource(\"example\", new()\n {\n Source = new Aws.SecurityLake.Inputs.AwsLogSourceSourceArgs\n {\n Accounts = new[]\n {\n \"123456789012\",\n },\n Regions = new[]\n {\n \"eu-west-1\",\n },\n SourceName = \"ROUTE53\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecuritylakeDataLake,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\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 := securitylake.NewAwsLogSource(ctx, \"example\", \u0026securitylake.AwsLogSourceArgs{\n\t\t\tSource: \u0026securitylake.AwsLogSourceSourceArgs{\n\t\t\t\tAccounts: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t\t},\n\t\t\t\tRegions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\t},\n\t\t\t\tSourceName: pulumi.String(\"ROUTE53\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecuritylakeDataLake,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securitylake.AwsLogSource;\nimport com.pulumi.aws.securitylake.AwsLogSourceArgs;\nimport com.pulumi.aws.securitylake.inputs.AwsLogSourceSourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AwsLogSource(\"example\", AwsLogSourceArgs.builder()\n .source(AwsLogSourceSourceArgs.builder()\n .accounts(\"123456789012\")\n .regions(\"eu-west-1\")\n .sourceName(\"ROUTE53\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecuritylakeDataLake)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:AwsLogSource\n properties:\n source:\n accounts:\n - '123456789012'\n regions:\n - eu-west-1\n sourceName: ROUTE53\n options:\n dependson:\n - ${exampleAwsSecuritylakeDataLake}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS log sources using the source name. For example:\n\n```sh\n$ pulumi import aws:securitylake/awsLogSource:AwsLogSource example ROUTE53\n```\n", "properties": { "source": { "$ref": "#/types/aws:securitylake/AwsLogSourceSource:AwsLogSourceSource", @@ -357748,7 +357748,7 @@ } }, "aws:securitylake/customLogSource:CustomLogSource": { - "description": "Resource for managing an AWS Security Lake Custom Log Source.\n\n\u003e **NOTE:** The underlying `aws.securitylake.DataLake` must be configured before creating the `aws.securitylake.CustomLogSource`. Use a `depends_on` statement.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.CustomLogSource(\"example\", {\n sourceName: \"example-name\",\n sourceVersion: \"1.0\",\n eventClasses: [\"FILE_ACTIVITY\"],\n configuration: {\n crawlerConfiguration: {\n roleArn: customLog.arn,\n },\n providerIdentity: {\n externalId: \"example-id\",\n principal: \"123456789012\",\n },\n },\n}, {\n dependsOn: [exampleAwsSecuritylakeDataLake],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.CustomLogSource(\"example\",\n source_name=\"example-name\",\n source_version=\"1.0\",\n event_classes=[\"FILE_ACTIVITY\"],\n configuration={\n \"crawler_configuration\": {\n \"role_arn\": custom_log[\"arn\"],\n },\n \"provider_identity\": {\n \"external_id\": \"example-id\",\n \"principal\": \"123456789012\",\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_securitylake_data_lake]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.CustomLogSource(\"example\", new()\n {\n SourceName = \"example-name\",\n SourceVersion = \"1.0\",\n EventClasses = new[]\n {\n \"FILE_ACTIVITY\",\n },\n Configuration = new Aws.SecurityLake.Inputs.CustomLogSourceConfigurationArgs\n {\n CrawlerConfiguration = new Aws.SecurityLake.Inputs.CustomLogSourceConfigurationCrawlerConfigurationArgs\n {\n RoleArn = customLog.Arn,\n },\n ProviderIdentity = new Aws.SecurityLake.Inputs.CustomLogSourceConfigurationProviderIdentityArgs\n {\n ExternalId = \"example-id\",\n Principal = \"123456789012\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecuritylakeDataLake,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\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 := securitylake.NewCustomLogSource(ctx, \"example\", \u0026securitylake.CustomLogSourceArgs{\n\t\t\tSourceName: pulumi.String(\"example-name\"),\n\t\t\tSourceVersion: pulumi.String(\"1.0\"),\n\t\t\tEventClasses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FILE_ACTIVITY\"),\n\t\t\t},\n\t\t\tConfiguration: \u0026securitylake.CustomLogSourceConfigurationArgs{\n\t\t\t\tCrawlerConfiguration: \u0026securitylake.CustomLogSourceConfigurationCrawlerConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(customLog.Arn),\n\t\t\t\t},\n\t\t\t\tProviderIdentity: \u0026securitylake.CustomLogSourceConfigurationProviderIdentityArgs{\n\t\t\t\t\tExternalId: pulumi.String(\"example-id\"),\n\t\t\t\t\tPrincipal: pulumi.String(\"123456789012\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecuritylakeDataLake,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securitylake.CustomLogSource;\nimport com.pulumi.aws.securitylake.CustomLogSourceArgs;\nimport com.pulumi.aws.securitylake.inputs.CustomLogSourceConfigurationArgs;\nimport com.pulumi.aws.securitylake.inputs.CustomLogSourceConfigurationCrawlerConfigurationArgs;\nimport com.pulumi.aws.securitylake.inputs.CustomLogSourceConfigurationProviderIdentityArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new CustomLogSource(\"example\", CustomLogSourceArgs.builder()\n .sourceName(\"example-name\")\n .sourceVersion(\"1.0\")\n .eventClasses(\"FILE_ACTIVITY\")\n .configuration(CustomLogSourceConfigurationArgs.builder()\n .crawlerConfiguration(CustomLogSourceConfigurationCrawlerConfigurationArgs.builder()\n .roleArn(customLog.arn())\n .build())\n .providerIdentity(CustomLogSourceConfigurationProviderIdentityArgs.builder()\n .externalId(\"example-id\")\n .principal(\"123456789012\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecuritylakeDataLake)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:CustomLogSource\n properties:\n sourceName: example-name\n sourceVersion: '1.0'\n eventClasses:\n - FILE_ACTIVITY\n configuration:\n crawlerConfiguration:\n roleArn: ${customLog.arn}\n providerIdentity:\n externalId: example-id\n principal: '123456789012'\n options:\n dependsOn:\n - ${exampleAwsSecuritylakeDataLake}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Custom log sources using the source name. For example:\n\n```sh\n$ pulumi import aws:securitylake/customLogSource:CustomLogSource example example-name\n```\n", + "description": "Resource for managing an AWS Security Lake Custom Log Source.\n\n\u003e **NOTE:** The underlying `aws.securitylake.DataLake` must be configured before creating the `aws.securitylake.CustomLogSource`. Use a `depends_on` statement.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.CustomLogSource(\"example\", {\n sourceName: \"example-name\",\n sourceVersion: \"1.0\",\n eventClasses: [\"FILE_ACTIVITY\"],\n configuration: {\n crawlerConfiguration: {\n roleArn: customLog.arn,\n },\n providerIdentity: {\n externalId: \"example-id\",\n principal: \"123456789012\",\n },\n },\n}, {\n dependsOn: [exampleAwsSecuritylakeDataLake],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.CustomLogSource(\"example\",\n source_name=\"example-name\",\n source_version=\"1.0\",\n event_classes=[\"FILE_ACTIVITY\"],\n configuration={\n \"crawler_configuration\": {\n \"role_arn\": custom_log[\"arn\"],\n },\n \"provider_identity\": {\n \"external_id\": \"example-id\",\n \"principal\": \"123456789012\",\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_securitylake_data_lake]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.CustomLogSource(\"example\", new()\n {\n SourceName = \"example-name\",\n SourceVersion = \"1.0\",\n EventClasses = new[]\n {\n \"FILE_ACTIVITY\",\n },\n Configuration = new Aws.SecurityLake.Inputs.CustomLogSourceConfigurationArgs\n {\n CrawlerConfiguration = new Aws.SecurityLake.Inputs.CustomLogSourceConfigurationCrawlerConfigurationArgs\n {\n RoleArn = customLog.Arn,\n },\n ProviderIdentity = new Aws.SecurityLake.Inputs.CustomLogSourceConfigurationProviderIdentityArgs\n {\n ExternalId = \"example-id\",\n Principal = \"123456789012\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecuritylakeDataLake,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\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 := securitylake.NewCustomLogSource(ctx, \"example\", \u0026securitylake.CustomLogSourceArgs{\n\t\t\tSourceName: pulumi.String(\"example-name\"),\n\t\t\tSourceVersion: pulumi.String(\"1.0\"),\n\t\t\tEventClasses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FILE_ACTIVITY\"),\n\t\t\t},\n\t\t\tConfiguration: \u0026securitylake.CustomLogSourceConfigurationArgs{\n\t\t\t\tCrawlerConfiguration: \u0026securitylake.CustomLogSourceConfigurationCrawlerConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(customLog.Arn),\n\t\t\t\t},\n\t\t\t\tProviderIdentity: \u0026securitylake.CustomLogSourceConfigurationProviderIdentityArgs{\n\t\t\t\t\tExternalId: pulumi.String(\"example-id\"),\n\t\t\t\t\tPrincipal: pulumi.String(\"123456789012\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecuritylakeDataLake,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securitylake.CustomLogSource;\nimport com.pulumi.aws.securitylake.CustomLogSourceArgs;\nimport com.pulumi.aws.securitylake.inputs.CustomLogSourceConfigurationArgs;\nimport com.pulumi.aws.securitylake.inputs.CustomLogSourceConfigurationCrawlerConfigurationArgs;\nimport com.pulumi.aws.securitylake.inputs.CustomLogSourceConfigurationProviderIdentityArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new CustomLogSource(\"example\", CustomLogSourceArgs.builder()\n .sourceName(\"example-name\")\n .sourceVersion(\"1.0\")\n .eventClasses(\"FILE_ACTIVITY\")\n .configuration(CustomLogSourceConfigurationArgs.builder()\n .crawlerConfiguration(CustomLogSourceConfigurationCrawlerConfigurationArgs.builder()\n .roleArn(customLog.arn())\n .build())\n .providerIdentity(CustomLogSourceConfigurationProviderIdentityArgs.builder()\n .externalId(\"example-id\")\n .principal(\"123456789012\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecuritylakeDataLake)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:CustomLogSource\n properties:\n sourceName: example-name\n sourceVersion: '1.0'\n eventClasses:\n - FILE_ACTIVITY\n configuration:\n crawlerConfiguration:\n roleArn: ${customLog.arn}\n providerIdentity:\n externalId: example-id\n principal: '123456789012'\n options:\n dependson:\n - ${exampleAwsSecuritylakeDataLake}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Custom log sources using the source name. For example:\n\n```sh\n$ pulumi import aws:securitylake/customLogSource:CustomLogSource example example-name\n```\n", "properties": { "attributes": { "type": "array", @@ -357963,7 +357963,7 @@ } }, "aws:securitylake/subscriber:Subscriber": { - "description": "Resource for managing an AWS Security Lake Subscriber.\n\n\u003e **NOTE:** The underlying `aws.securitylake.DataLake` must be configured before creating the `aws.securitylake.Subscriber`. Use a `depends_on` statement.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.Subscriber(\"example\", {\n subscriberName: \"example-name\",\n accessType: \"S3\",\n source: {\n awsLogSourceResource: {\n sourceName: \"ROUTE53\",\n sourceVersion: \"1.0\",\n },\n },\n subscriberIdentity: {\n externalId: \"example\",\n principal: \"1234567890\",\n },\n}, {\n dependsOn: [exampleAwsSecuritylakeDataLake],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.Subscriber(\"example\",\n subscriber_name=\"example-name\",\n access_type=\"S3\",\n source={\n \"aws_log_source_resource\": {\n \"source_name\": \"ROUTE53\",\n \"source_version\": \"1.0\",\n },\n },\n subscriber_identity={\n \"external_id\": \"example\",\n \"principal\": \"1234567890\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_securitylake_data_lake]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.Subscriber(\"example\", new()\n {\n SubscriberName = \"example-name\",\n AccessType = \"S3\",\n Source = new Aws.SecurityLake.Inputs.SubscriberSourceArgs\n {\n AwsLogSourceResource = new Aws.SecurityLake.Inputs.SubscriberSourceAwsLogSourceResourceArgs\n {\n SourceName = \"ROUTE53\",\n SourceVersion = \"1.0\",\n },\n },\n SubscriberIdentity = new Aws.SecurityLake.Inputs.SubscriberSubscriberIdentityArgs\n {\n ExternalId = \"example\",\n Principal = \"1234567890\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecuritylakeDataLake,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\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 := securitylake.NewSubscriber(ctx, \"example\", \u0026securitylake.SubscriberArgs{\n\t\t\tSubscriberName: pulumi.String(\"example-name\"),\n\t\t\tAccessType: pulumi.String(\"S3\"),\n\t\t\tSource: \u0026securitylake.SubscriberSourceArgs{\n\t\t\t\tAwsLogSourceResource: \u0026securitylake.SubscriberSourceAwsLogSourceResourceArgs{\n\t\t\t\t\tSourceName: pulumi.String(\"ROUTE53\"),\n\t\t\t\t\tSourceVersion: pulumi.String(\"1.0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSubscriberIdentity: \u0026securitylake.SubscriberSubscriberIdentityArgs{\n\t\t\t\tExternalId: pulumi.String(\"example\"),\n\t\t\t\tPrincipal: pulumi.String(\"1234567890\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecuritylakeDataLake,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securitylake.Subscriber;\nimport com.pulumi.aws.securitylake.SubscriberArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberSourceArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberSourceAwsLogSourceResourceArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberSubscriberIdentityArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Subscriber(\"example\", SubscriberArgs.builder()\n .subscriberName(\"example-name\")\n .accessType(\"S3\")\n .source(SubscriberSourceArgs.builder()\n .awsLogSourceResource(SubscriberSourceAwsLogSourceResourceArgs.builder()\n .sourceName(\"ROUTE53\")\n .sourceVersion(\"1.0\")\n .build())\n .build())\n .subscriberIdentity(SubscriberSubscriberIdentityArgs.builder()\n .externalId(\"example\")\n .principal(\"1234567890\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecuritylakeDataLake)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:Subscriber\n properties:\n subscriberName: example-name\n accessType: S3\n source:\n awsLogSourceResource:\n sourceName: ROUTE53\n sourceVersion: '1.0'\n subscriberIdentity:\n externalId: example\n principal: '1234567890'\n options:\n dependsOn:\n - ${exampleAwsSecuritylakeDataLake}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Lake subscriber using the subscriber ID. For example:\n\n```sh\n$ pulumi import aws:securitylake/subscriber:Subscriber example 9f3bfe79-d543-474d-a93c-f3846805d208\n```\n", + "description": "Resource for managing an AWS Security Lake Subscriber.\n\n\u003e **NOTE:** The underlying `aws.securitylake.DataLake` must be configured before creating the `aws.securitylake.Subscriber`. Use a `depends_on` statement.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.Subscriber(\"example\", {\n subscriberName: \"example-name\",\n accessType: \"S3\",\n source: {\n awsLogSourceResource: {\n sourceName: \"ROUTE53\",\n sourceVersion: \"1.0\",\n },\n },\n subscriberIdentity: {\n externalId: \"example\",\n principal: \"1234567890\",\n },\n}, {\n dependsOn: [exampleAwsSecuritylakeDataLake],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.Subscriber(\"example\",\n subscriber_name=\"example-name\",\n access_type=\"S3\",\n source={\n \"aws_log_source_resource\": {\n \"source_name\": \"ROUTE53\",\n \"source_version\": \"1.0\",\n },\n },\n subscriber_identity={\n \"external_id\": \"example\",\n \"principal\": \"1234567890\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_securitylake_data_lake]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.Subscriber(\"example\", new()\n {\n SubscriberName = \"example-name\",\n AccessType = \"S3\",\n Source = new Aws.SecurityLake.Inputs.SubscriberSourceArgs\n {\n AwsLogSourceResource = new Aws.SecurityLake.Inputs.SubscriberSourceAwsLogSourceResourceArgs\n {\n SourceName = \"ROUTE53\",\n SourceVersion = \"1.0\",\n },\n },\n SubscriberIdentity = new Aws.SecurityLake.Inputs.SubscriberSubscriberIdentityArgs\n {\n ExternalId = \"example\",\n Principal = \"1234567890\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecuritylakeDataLake,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\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 := securitylake.NewSubscriber(ctx, \"example\", \u0026securitylake.SubscriberArgs{\n\t\t\tSubscriberName: pulumi.String(\"example-name\"),\n\t\t\tAccessType: pulumi.String(\"S3\"),\n\t\t\tSource: \u0026securitylake.SubscriberSourceArgs{\n\t\t\t\tAwsLogSourceResource: \u0026securitylake.SubscriberSourceAwsLogSourceResourceArgs{\n\t\t\t\t\tSourceName: pulumi.String(\"ROUTE53\"),\n\t\t\t\t\tSourceVersion: pulumi.String(\"1.0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSubscriberIdentity: \u0026securitylake.SubscriberSubscriberIdentityArgs{\n\t\t\t\tExternalId: pulumi.String(\"example\"),\n\t\t\t\tPrincipal: pulumi.String(\"1234567890\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecuritylakeDataLake,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securitylake.Subscriber;\nimport com.pulumi.aws.securitylake.SubscriberArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberSourceArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberSourceAwsLogSourceResourceArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberSubscriberIdentityArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Subscriber(\"example\", SubscriberArgs.builder()\n .subscriberName(\"example-name\")\n .accessType(\"S3\")\n .source(SubscriberSourceArgs.builder()\n .awsLogSourceResource(SubscriberSourceAwsLogSourceResourceArgs.builder()\n .sourceName(\"ROUTE53\")\n .sourceVersion(\"1.0\")\n .build())\n .build())\n .subscriberIdentity(SubscriberSubscriberIdentityArgs.builder()\n .externalId(\"example\")\n .principal(\"1234567890\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecuritylakeDataLake)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:Subscriber\n properties:\n subscriberName: example-name\n accessType: S3\n source:\n awsLogSourceResource:\n sourceName: ROUTE53\n sourceVersion: '1.0'\n subscriberIdentity:\n externalId: example\n principal: '1234567890'\n options:\n dependson:\n - ${exampleAwsSecuritylakeDataLake}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Lake subscriber using the subscriber ID. For example:\n\n```sh\n$ pulumi import aws:securitylake/subscriber:Subscriber example 9f3bfe79-d543-474d-a93c-f3846805d208\n```\n", "properties": { "accessType": { "type": "string", @@ -358212,7 +358212,7 @@ } }, "aws:serverlessrepository/cloudFormationStack:CloudFormationStack": { - "description": "Deploys an Application CloudFormation Stack from the Serverless Application Repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getPartition({});\nconst currentGetRegion = aws.getRegion({});\nconst postgres_rotator = new aws.serverlessrepository.CloudFormationStack(\"postgres-rotator\", {\n name: \"postgres-rotator\",\n applicationId: \"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\",\n capabilities: [\n \"CAPABILITY_IAM\",\n \"CAPABILITY_RESOURCE_POLICY\",\n ],\n parameters: {\n functionName: \"func-postgres-rotator\",\n endpoint: Promise.all([currentGetRegion, current]).then(([currentGetRegion, current]) =\u003e `secretsmanager.${currentGetRegion.name}.${current.dnsSuffix}`),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_partition()\ncurrent_get_region = aws.get_region()\npostgres_rotator = aws.serverlessrepository.CloudFormationStack(\"postgres-rotator\",\n name=\"postgres-rotator\",\n application_id=\"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\",\n capabilities=[\n \"CAPABILITY_IAM\",\n \"CAPABILITY_RESOURCE_POLICY\",\n ],\n parameters={\n \"functionName\": \"func-postgres-rotator\",\n \"endpoint\": f\"secretsmanager.{current_get_region.name}.{current.dns_suffix}\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetPartition.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var postgres_rotator = new Aws.ServerlessRepository.CloudFormationStack(\"postgres-rotator\", new()\n {\n Name = \"postgres-rotator\",\n ApplicationId = \"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\",\n Capabilities = new[]\n {\n \"CAPABILITY_IAM\",\n \"CAPABILITY_RESOURCE_POLICY\",\n },\n Parameters = \n {\n { \"functionName\", \"func-postgres-rotator\" },\n { \"endpoint\", Output.Tuple(currentGetRegion, current).Apply(values =\u003e\n {\n var currentGetRegion = values.Item1;\n var current = values.Item2;\n return $\"secretsmanager.{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}.{current.Apply(getPartitionResult =\u003e getPartitionResult.DnsSuffix)}\";\n }) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/serverlessrepository\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = serverlessrepository.NewCloudFormationStack(ctx, \"postgres-rotator\", \u0026serverlessrepository.CloudFormationStackArgs{\n\t\t\tName: pulumi.String(\"postgres-rotator\"),\n\t\t\tApplicationId: pulumi.String(\"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\"),\n\t\t\tCapabilities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CAPABILITY_IAM\"),\n\t\t\t\tpulumi.String(\"CAPABILITY_RESOURCE_POLICY\"),\n\t\t\t},\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"functionName\": pulumi.String(\"func-postgres-rotator\"),\n\t\t\t\t\"endpoint\": pulumi.Sprintf(\"secretsmanager.%v.%v\", currentGetRegion.Name, current.DnsSuffix),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.serverlessrepository.CloudFormationStack;\nimport com.pulumi.aws.serverlessrepository.CloudFormationStackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n var postgres_rotator = new CloudFormationStack(\"postgres-rotator\", CloudFormationStackArgs.builder()\n .name(\"postgres-rotator\")\n .applicationId(\"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\")\n .capabilities( \n \"CAPABILITY_IAM\",\n \"CAPABILITY_RESOURCE_POLICY\")\n .parameters(Map.ofEntries(\n Map.entry(\"functionName\", \"func-postgres-rotator\"),\n Map.entry(\"endpoint\", String.format(\"secretsmanager.%s.%s\", currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getPartitionResult -\u003e getPartitionResult.dnsSuffix())))\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgres-rotator:\n type: aws:serverlessrepository:CloudFormationStack\n properties:\n name: postgres-rotator\n applicationId: arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\n capabilities:\n - CAPABILITY_IAM\n - CAPABILITY_RESOURCE_POLICY\n parameters:\n functionName: func-postgres-rotator\n endpoint: secretsmanager.${currentGetRegion.name}.${current.dnsSuffix}\nvariables:\n current:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n currentGetRegion:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Serverless Application Repository Stack using the CloudFormation Stack name (with or without the `serverlessrepo-` prefix) or the CloudFormation Stack ID. For example:\n\n```sh\n$ pulumi import aws:serverlessrepository/cloudFormationStack:CloudFormationStack example serverlessrepo-postgres-rotator\n```\n", + "description": "Deploys an Application CloudFormation Stack from the Serverless Application Repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getPartition({});\nconst currentGetRegion = aws.getRegion({});\nconst postgres_rotator = new aws.serverlessrepository.CloudFormationStack(\"postgres-rotator\", {\n name: \"postgres-rotator\",\n applicationId: \"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\",\n capabilities: [\n \"CAPABILITY_IAM\",\n \"CAPABILITY_RESOURCE_POLICY\",\n ],\n parameters: {\n functionName: \"func-postgres-rotator\",\n endpoint: Promise.all([currentGetRegion, current]).then(([currentGetRegion, current]) =\u003e `secretsmanager.${currentGetRegion.name}.${current.dnsSuffix}`),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_partition()\ncurrent_get_region = aws.get_region()\npostgres_rotator = aws.serverlessrepository.CloudFormationStack(\"postgres-rotator\",\n name=\"postgres-rotator\",\n application_id=\"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\",\n capabilities=[\n \"CAPABILITY_IAM\",\n \"CAPABILITY_RESOURCE_POLICY\",\n ],\n parameters={\n \"functionName\": \"func-postgres-rotator\",\n \"endpoint\": f\"secretsmanager.{current_get_region.name}.{current.dns_suffix}\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetPartition.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var postgres_rotator = new Aws.ServerlessRepository.CloudFormationStack(\"postgres-rotator\", new()\n {\n Name = \"postgres-rotator\",\n ApplicationId = \"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\",\n Capabilities = new[]\n {\n \"CAPABILITY_IAM\",\n \"CAPABILITY_RESOURCE_POLICY\",\n },\n Parameters = \n {\n { \"functionName\", \"func-postgres-rotator\" },\n { \"endpoint\", Output.Tuple(currentGetRegion, current).Apply(values =\u003e\n {\n var currentGetRegion = values.Item1;\n var current = values.Item2;\n return $\"secretsmanager.{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}.{current.Apply(getPartitionResult =\u003e getPartitionResult.DnsSuffix)}\";\n }) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/serverlessrepository\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = serverlessrepository.NewCloudFormationStack(ctx, \"postgres-rotator\", \u0026serverlessrepository.CloudFormationStackArgs{\n\t\t\tName: pulumi.String(\"postgres-rotator\"),\n\t\t\tApplicationId: pulumi.String(\"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\"),\n\t\t\tCapabilities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CAPABILITY_IAM\"),\n\t\t\t\tpulumi.String(\"CAPABILITY_RESOURCE_POLICY\"),\n\t\t\t},\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"functionName\": pulumi.String(\"func-postgres-rotator\"),\n\t\t\t\t\"endpoint\": pulumi.Sprintf(\"secretsmanager.%v.%v\", currentGetRegion.Name, current.DnsSuffix),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.serverlessrepository.CloudFormationStack;\nimport com.pulumi.aws.serverlessrepository.CloudFormationStackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n var postgres_rotator = new CloudFormationStack(\"postgres-rotator\", CloudFormationStackArgs.builder()\n .name(\"postgres-rotator\")\n .applicationId(\"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\")\n .capabilities( \n \"CAPABILITY_IAM\",\n \"CAPABILITY_RESOURCE_POLICY\")\n .parameters(Map.ofEntries(\n Map.entry(\"functionName\", \"func-postgres-rotator\"),\n Map.entry(\"endpoint\", String.format(\"secretsmanager.%s.%s\", currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getPartitionResult -\u003e getPartitionResult.dnsSuffix())))\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgres-rotator:\n type: aws:serverlessrepository:CloudFormationStack\n properties:\n name: postgres-rotator\n applicationId: arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\n capabilities:\n - CAPABILITY_IAM\n - CAPABILITY_RESOURCE_POLICY\n parameters:\n functionName: func-postgres-rotator\n endpoint: secretsmanager.${currentGetRegion.name}.${current.dnsSuffix}\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Serverless Application Repository Stack using the CloudFormation Stack name (with or without the `serverlessrepo-` prefix) or the CloudFormation Stack ID. For example:\n\n```sh\n$ pulumi import aws:serverlessrepository/cloudFormationStack:CloudFormationStack example serverlessrepo-postgres-rotator\n```\n", "properties": { "applicationId": { "type": "string", @@ -361054,7 +361054,7 @@ } }, "aws:ses/domainIdentityVerification:DomainIdentityVerification": { - "description": "Represents a successful verification of an SES domain identity.\n\nMost commonly, this resource is used together with `aws.route53.Record` and\n`aws.ses.DomainIdentity` to request an SES domain identity,\ndeploy the required DNS verification records, and wait for verification to complete.\n\n\u003e **WARNING:** This resource implements a part of the verification workflow. It does not represent a real-world entity in AWS, therefore changing or deleting this resource on its own has no immediate effect.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ses.DomainIdentity(\"example\", {domain: \"example.com\"});\nconst exampleAmazonsesVerificationRecord = new aws.route53.Record(\"example_amazonses_verification_record\", {\n zoneId: exampleAwsRoute53Zone.zoneId,\n name: pulumi.interpolate`_amazonses.${example.id}`,\n type: aws.route53.RecordType.TXT,\n ttl: 600,\n records: [example.verificationToken],\n});\nconst exampleVerification = new aws.ses.DomainIdentityVerification(\"example_verification\", {domain: example.id}, {\n dependsOn: [exampleAmazonsesVerificationRecord],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ses.DomainIdentity(\"example\", domain=\"example.com\")\nexample_amazonses_verification_record = aws.route53.Record(\"example_amazonses_verification_record\",\n zone_id=example_aws_route53_zone[\"zoneId\"],\n name=example.id.apply(lambda id: f\"_amazonses.{id}\"),\n type=aws.route53.RecordType.TXT,\n ttl=600,\n records=[example.verification_token])\nexample_verification = aws.ses.DomainIdentityVerification(\"example_verification\", domain=example.id,\nopts = pulumi.ResourceOptions(depends_on=[example_amazonses_verification_record]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ses.DomainIdentity(\"example\", new()\n {\n Domain = \"example.com\",\n });\n\n var exampleAmazonsesVerificationRecord = new Aws.Route53.Record(\"example_amazonses_verification_record\", new()\n {\n ZoneId = exampleAwsRoute53Zone.ZoneId,\n Name = example.Id.Apply(id =\u003e $\"_amazonses.{id}\"),\n Type = Aws.Route53.RecordType.TXT,\n Ttl = 600,\n Records = new[]\n {\n example.VerificationToken,\n },\n });\n\n var exampleVerification = new Aws.Ses.DomainIdentityVerification(\"example_verification\", new()\n {\n Domain = example.Id,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAmazonsesVerificationRecord,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ses.NewDomainIdentity(ctx, \"example\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAmazonsesVerificationRecord, err := route53.NewRecord(ctx, \"example_amazonses_verification_record\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(exampleAwsRoute53Zone.ZoneId),\n\t\t\tName: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"_amazonses.%v\", id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tType: pulumi.String(route53.RecordTypeTXT),\n\t\t\tTtl: pulumi.Int(600),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\texample.VerificationToken,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ses.NewDomainIdentityVerification(ctx, \"example_verification\", \u0026ses.DomainIdentityVerificationArgs{\n\t\t\tDomain: example.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAmazonsesVerificationRecord,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.ses.DomainIdentityVerification;\nimport com.pulumi.aws.ses.DomainIdentityVerificationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DomainIdentity(\"example\", DomainIdentityArgs.builder()\n .domain(\"example.com\")\n .build());\n\n var exampleAmazonsesVerificationRecord = new Record(\"exampleAmazonsesVerificationRecord\", RecordArgs.builder()\n .zoneId(exampleAwsRoute53Zone.zoneId())\n .name(example.id().applyValue(id -\u003e String.format(\"_amazonses.%s\", id)))\n .type(\"TXT\")\n .ttl(\"600\")\n .records(example.verificationToken())\n .build());\n\n var exampleVerification = new DomainIdentityVerification(\"exampleVerification\", DomainIdentityVerificationArgs.builder()\n .domain(example.id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAmazonsesVerificationRecord)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ses:DomainIdentity\n properties:\n domain: example.com\n exampleAmazonsesVerificationRecord:\n type: aws:route53:Record\n name: example_amazonses_verification_record\n properties:\n zoneId: ${exampleAwsRoute53Zone.zoneId}\n name: _amazonses.${example.id}\n type: TXT\n ttl: '600'\n records:\n - ${example.verificationToken}\n exampleVerification:\n type: aws:ses:DomainIdentityVerification\n name: example_verification\n properties:\n domain: ${example.id}\n options:\n dependsOn:\n - ${exampleAmazonsesVerificationRecord}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Represents a successful verification of an SES domain identity.\n\nMost commonly, this resource is used together with `aws.route53.Record` and\n`aws.ses.DomainIdentity` to request an SES domain identity,\ndeploy the required DNS verification records, and wait for verification to complete.\n\n\u003e **WARNING:** This resource implements a part of the verification workflow. It does not represent a real-world entity in AWS, therefore changing or deleting this resource on its own has no immediate effect.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ses.DomainIdentity(\"example\", {domain: \"example.com\"});\nconst exampleAmazonsesVerificationRecord = new aws.route53.Record(\"example_amazonses_verification_record\", {\n zoneId: exampleAwsRoute53Zone.zoneId,\n name: pulumi.interpolate`_amazonses.${example.id}`,\n type: aws.route53.RecordType.TXT,\n ttl: 600,\n records: [example.verificationToken],\n});\nconst exampleVerification = new aws.ses.DomainIdentityVerification(\"example_verification\", {domain: example.id}, {\n dependsOn: [exampleAmazonsesVerificationRecord],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ses.DomainIdentity(\"example\", domain=\"example.com\")\nexample_amazonses_verification_record = aws.route53.Record(\"example_amazonses_verification_record\",\n zone_id=example_aws_route53_zone[\"zoneId\"],\n name=example.id.apply(lambda id: f\"_amazonses.{id}\"),\n type=aws.route53.RecordType.TXT,\n ttl=600,\n records=[example.verification_token])\nexample_verification = aws.ses.DomainIdentityVerification(\"example_verification\", domain=example.id,\nopts = pulumi.ResourceOptions(depends_on=[example_amazonses_verification_record]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ses.DomainIdentity(\"example\", new()\n {\n Domain = \"example.com\",\n });\n\n var exampleAmazonsesVerificationRecord = new Aws.Route53.Record(\"example_amazonses_verification_record\", new()\n {\n ZoneId = exampleAwsRoute53Zone.ZoneId,\n Name = example.Id.Apply(id =\u003e $\"_amazonses.{id}\"),\n Type = Aws.Route53.RecordType.TXT,\n Ttl = 600,\n Records = new[]\n {\n example.VerificationToken,\n },\n });\n\n var exampleVerification = new Aws.Ses.DomainIdentityVerification(\"example_verification\", new()\n {\n Domain = example.Id,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAmazonsesVerificationRecord,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ses.NewDomainIdentity(ctx, \"example\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAmazonsesVerificationRecord, err := route53.NewRecord(ctx, \"example_amazonses_verification_record\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(exampleAwsRoute53Zone.ZoneId),\n\t\t\tName: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"_amazonses.%v\", id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tType: pulumi.String(route53.RecordTypeTXT),\n\t\t\tTtl: pulumi.Int(600),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\texample.VerificationToken,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ses.NewDomainIdentityVerification(ctx, \"example_verification\", \u0026ses.DomainIdentityVerificationArgs{\n\t\t\tDomain: example.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAmazonsesVerificationRecord,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.ses.DomainIdentityVerification;\nimport com.pulumi.aws.ses.DomainIdentityVerificationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DomainIdentity(\"example\", DomainIdentityArgs.builder()\n .domain(\"example.com\")\n .build());\n\n var exampleAmazonsesVerificationRecord = new Record(\"exampleAmazonsesVerificationRecord\", RecordArgs.builder()\n .zoneId(exampleAwsRoute53Zone.zoneId())\n .name(example.id().applyValue(id -\u003e String.format(\"_amazonses.%s\", id)))\n .type(\"TXT\")\n .ttl(\"600\")\n .records(example.verificationToken())\n .build());\n\n var exampleVerification = new DomainIdentityVerification(\"exampleVerification\", DomainIdentityVerificationArgs.builder()\n .domain(example.id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAmazonsesVerificationRecord)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ses:DomainIdentity\n properties:\n domain: example.com\n exampleAmazonsesVerificationRecord:\n type: aws:route53:Record\n name: example_amazonses_verification_record\n properties:\n zoneId: ${exampleAwsRoute53Zone.zoneId}\n name: _amazonses.${example.id}\n type: TXT\n ttl: '600'\n records:\n - ${example.verificationToken}\n exampleVerification:\n type: aws:ses:DomainIdentityVerification\n name: example_verification\n properties:\n domain: ${example.id}\n options:\n dependson:\n - ${exampleAmazonsesVerificationRecord}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -361358,7 +361358,7 @@ } }, "aws:ses/identityPolicy:IdentityPolicy": { - "description": "Manages a SES Identity Policy. More information about SES Sending Authorization Policies can be found in the [SES Developer Guide](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-policies.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleDomainIdentity = new aws.ses.DomainIdentity(\"example\", {domain: \"example.com\"});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\n \"SES:SendEmail\",\n \"SES:SendRawEmail\",\n ],\n resources: [exampleDomainIdentity.arn],\n principals: [{\n identifiers: [\"*\"],\n type: \"AWS\",\n }],\n }],\n});\nconst exampleIdentityPolicy = new aws.ses.IdentityPolicy(\"example\", {\n identity: exampleDomainIdentity.arn,\n name: \"example\",\n policy: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_domain_identity = aws.ses.DomainIdentity(\"example\", domain=\"example.com\")\nexample = aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\n \"SES:SendEmail\",\n \"SES:SendRawEmail\",\n ],\n \"resources\": [example_domain_identity.arn],\n \"principals\": [{\n \"identifiers\": [\"*\"],\n \"type\": \"AWS\",\n }],\n}])\nexample_identity_policy = aws.ses.IdentityPolicy(\"example\",\n identity=example_domain_identity.arn,\n name=\"example\",\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDomainIdentity = new Aws.Ses.DomainIdentity(\"example\", new()\n {\n Domain = \"example.com\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SES:SendEmail\",\n \"SES:SendRawEmail\",\n },\n Resources = new[]\n {\n exampleDomainIdentity.Arn,\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"*\",\n },\n Type = \"AWS\",\n },\n },\n },\n },\n });\n\n var exampleIdentityPolicy = new Aws.Ses.IdentityPolicy(\"example\", new()\n {\n Identity = exampleDomainIdentity.Arn,\n Name = \"example\",\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDomainIdentity, err := ses.NewDomainIdentity(ctx, \"example\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"SES:SendEmail\"),\n\t\t\t\t\t\tpulumi.String(\"SES:SendRawEmail\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleDomainIdentity.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = ses.NewIdentityPolicy(ctx, \"example\", \u0026ses.IdentityPolicyArgs{\n\t\t\tIdentity: exampleDomainIdentity.Arn,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ses.IdentityPolicy;\nimport com.pulumi.aws.ses.IdentityPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleDomainIdentity = new DomainIdentity(\"exampleDomainIdentity\", DomainIdentityArgs.builder()\n .domain(\"example.com\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"SES:SendEmail\",\n \"SES:SendRawEmail\")\n .resources(exampleDomainIdentity.arn())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"*\")\n .type(\"AWS\")\n .build())\n .build())\n .build());\n\n var exampleIdentityPolicy = new IdentityPolicy(\"exampleIdentityPolicy\", IdentityPolicyArgs.builder()\n .identity(exampleDomainIdentity.arn())\n .name(\"example\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDomainIdentity:\n type: aws:ses:DomainIdentity\n name: example\n properties:\n domain: example.com\n exampleIdentityPolicy:\n type: aws:ses:IdentityPolicy\n name: example\n properties:\n identity: ${exampleDomainIdentity.arn}\n name: example\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - SES:SendEmail\n - SES:SendRawEmail\n resources:\n - ${exampleDomainIdentity.arn}\n principals:\n - identifiers:\n - '*'\n type: AWS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES Identity Policies using the identity and policy name, separated by a pipe character (`|`). For example:\n\n```sh\n$ pulumi import aws:ses/identityPolicy:IdentityPolicy example 'example.com|example'\n```\n", + "description": "Manages a SES Identity Policy. More information about SES Sending Authorization Policies can be found in the [SES Developer Guide](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-policies.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleDomainIdentity = new aws.ses.DomainIdentity(\"example\", {domain: \"example.com\"});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\n \"SES:SendEmail\",\n \"SES:SendRawEmail\",\n ],\n resources: [exampleDomainIdentity.arn],\n principals: [{\n identifiers: [\"*\"],\n type: \"AWS\",\n }],\n }],\n});\nconst exampleIdentityPolicy = new aws.ses.IdentityPolicy(\"example\", {\n identity: exampleDomainIdentity.arn,\n name: \"example\",\n policy: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_domain_identity = aws.ses.DomainIdentity(\"example\", domain=\"example.com\")\nexample = aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\n \"SES:SendEmail\",\n \"SES:SendRawEmail\",\n ],\n \"resources\": [example_domain_identity.arn],\n \"principals\": [{\n \"identifiers\": [\"*\"],\n \"type\": \"AWS\",\n }],\n}])\nexample_identity_policy = aws.ses.IdentityPolicy(\"example\",\n identity=example_domain_identity.arn,\n name=\"example\",\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDomainIdentity = new Aws.Ses.DomainIdentity(\"example\", new()\n {\n Domain = \"example.com\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SES:SendEmail\",\n \"SES:SendRawEmail\",\n },\n Resources = new[]\n {\n exampleDomainIdentity.Arn,\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"*\",\n },\n Type = \"AWS\",\n },\n },\n },\n },\n });\n\n var exampleIdentityPolicy = new Aws.Ses.IdentityPolicy(\"example\", new()\n {\n Identity = exampleDomainIdentity.Arn,\n Name = \"example\",\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDomainIdentity, err := ses.NewDomainIdentity(ctx, \"example\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"SES:SendEmail\"),\n\t\t\t\t\t\tpulumi.String(\"SES:SendRawEmail\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleDomainIdentity.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = ses.NewIdentityPolicy(ctx, \"example\", \u0026ses.IdentityPolicyArgs{\n\t\t\tIdentity: exampleDomainIdentity.Arn,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ses.IdentityPolicy;\nimport com.pulumi.aws.ses.IdentityPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleDomainIdentity = new DomainIdentity(\"exampleDomainIdentity\", DomainIdentityArgs.builder()\n .domain(\"example.com\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"SES:SendEmail\",\n \"SES:SendRawEmail\")\n .resources(exampleDomainIdentity.arn())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"*\")\n .type(\"AWS\")\n .build())\n .build())\n .build());\n\n var exampleIdentityPolicy = new IdentityPolicy(\"exampleIdentityPolicy\", IdentityPolicyArgs.builder()\n .identity(exampleDomainIdentity.arn())\n .name(\"example\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDomainIdentity:\n type: aws:ses:DomainIdentity\n name: example\n properties:\n domain: example.com\n exampleIdentityPolicy:\n type: aws:ses:IdentityPolicy\n name: example\n properties:\n identity: ${exampleDomainIdentity.arn}\n name: example\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - SES:SendEmail\n - SES:SendRawEmail\n resources:\n - ${exampleDomainIdentity.arn}\n principals:\n - identifiers:\n - '*'\n type: AWS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES Identity Policies using the identity and policy name, separated by a pipe character (`|`). For example:\n\n```sh\n$ pulumi import aws:ses/identityPolicy:IdentityPolicy example 'example.com|example'\n```\n", "properties": { "identity": { "type": "string", @@ -362192,7 +362192,7 @@ } }, "aws:sesv2/configurationSetEventDestination:ConfigurationSetEventDestination": { - "description": "Resource for managing an AWS SESv2 (Simple Email V2) Configuration Set Event Destination.\n\n## Example Usage\n\n### CloudWatch Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {configurationSetName: \"example\"});\nconst exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: example.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n cloudWatchDestination: {\n dimensionConfigurations: [{\n defaultDimensionValue: \"example\",\n dimensionName: \"example\",\n dimensionValueSource: \"MESSAGE_TAG\",\n }],\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\", configuration_set_name=\"example\")\nexample_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example.configuration_set_name,\n event_destination_name=\"example\",\n event_destination={\n \"cloud_watch_destination\": {\n \"dimension_configurations\": [{\n \"default_dimension_value\": \"example\",\n \"dimension_name\": \"example\",\n \"dimension_value_source\": \"MESSAGE_TAG\",\n }],\n },\n \"enabled\": True,\n \"matching_event_types\": [\"SEND\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n });\n\n var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = example.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n CloudWatchDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs\n {\n DimensionConfigurations = new[]\n {\n new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs\n {\n DefaultDimensionValue = \"example\",\n DimensionName = \"example\",\n DimensionValueSource = \"MESSAGE_TAG\",\n },\n },\n },\n Enabled = true,\n MatchingEventTypes = new[]\n {\n \"SEND\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: example.ConfigurationSetName,\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tCloudWatchDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs{\n\t\t\t\t\tDimensionConfigurations: sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArray{\n\t\t\t\t\t\t\u0026sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs{\n\t\t\t\t\t\t\tDefaultDimensionValue: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tDimensionName: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tDimensionValueSource: pulumi.String(\"MESSAGE_TAG\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMatchingEventTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SEND\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestination;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder()\n .configurationSetName(\"example\")\n .build());\n\n var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination(\"exampleConfigurationSetEventDestination\", ConfigurationSetEventDestinationArgs.builder()\n .configurationSetName(example.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .cloudWatchDestination(ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs.builder()\n .dimensionConfigurations(ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs.builder()\n .defaultDimensionValue(\"example\")\n .dimensionName(\"example\")\n .dimensionValueSource(\"MESSAGE_TAG\")\n .build())\n .build())\n .enabled(true)\n .matchingEventTypes(\"SEND\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n exampleConfigurationSetEventDestination:\n type: aws:sesv2:ConfigurationSetEventDestination\n name: example\n properties:\n configurationSetName: ${example.configurationSetName}\n eventDestinationName: example\n eventDestination:\n cloudWatchDestination:\n dimensionConfigurations:\n - defaultDimensionValue: example\n dimensionName: example\n dimensionValueSource: MESSAGE_TAG\n enabled: true\n matchingEventTypes:\n - SEND\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### EventBridge Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst default = aws.cloudwatch.getEventBus({\n name: \"default\",\n});\nconst example = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: exampleAwsSesv2ConfigurationSet.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n eventBridgeDestination: {\n eventBusArn: _default.then(_default =\u003e _default.arn),\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.cloudwatch.get_event_bus(name=\"default\")\nexample = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example_aws_sesv2_configuration_set[\"configurationSetName\"],\n event_destination_name=\"example\",\n event_destination={\n \"event_bridge_destination\": {\n \"event_bus_arn\": default.arn,\n },\n \"enabled\": True,\n \"matching_event_types\": [\"SEND\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.CloudWatch.GetEventBus.Invoke(new()\n {\n Name = \"default\",\n });\n\n var example = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = exampleAwsSesv2ConfigurationSet.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n EventBridgeDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs\n {\n EventBusArn = @default.Apply(@default =\u003e @default.Apply(getEventBusResult =\u003e getEventBusResult.Arn)),\n },\n Enabled = true,\n MatchingEventTypes = new[]\n {\n \"SEND\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\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_default, err := cloudwatch.LookupEventBus(ctx, \u0026cloudwatch.LookupEventBusArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: pulumi.Any(exampleAwsSesv2ConfigurationSet.ConfigurationSetName),\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tEventBridgeDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs{\n\t\t\t\t\tEventBusArn: pulumi.String(_default.Arn),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMatchingEventTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SEND\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetEventBusArgs;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestination;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = CloudwatchFunctions.getEventBus(GetEventBusArgs.builder()\n .name(\"default\")\n .build());\n\n var example = new ConfigurationSetEventDestination(\"example\", ConfigurationSetEventDestinationArgs.builder()\n .configurationSetName(exampleAwsSesv2ConfigurationSet.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .eventBridgeDestination(ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs.builder()\n .eventBusArn(default_.arn())\n .build())\n .enabled(true)\n .matchingEventTypes(\"SEND\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSetEventDestination\n properties:\n configurationSetName: ${exampleAwsSesv2ConfigurationSet.configurationSetName}\n eventDestinationName: example\n eventDestination:\n eventBridgeDestination:\n eventBusArn: ${default.arn}\n enabled: true\n matchingEventTypes:\n - SEND\nvariables:\n default:\n fn::invoke:\n function: aws:cloudwatch:getEventBus\n arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Kinesis Firehose Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {configurationSetName: \"example\"});\nconst exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: example.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n kinesisFirehoseDestination: {\n deliveryStreamArn: exampleAwsKinesisFirehoseDeliveryStream.arn,\n iamRoleArn: exampleAwsIamRole.arn,\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\", configuration_set_name=\"example\")\nexample_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example.configuration_set_name,\n event_destination_name=\"example\",\n event_destination={\n \"kinesis_firehose_destination\": {\n \"delivery_stream_arn\": example_aws_kinesis_firehose_delivery_stream[\"arn\"],\n \"iam_role_arn\": example_aws_iam_role[\"arn\"],\n },\n \"enabled\": True,\n \"matching_event_types\": [\"SEND\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n });\n\n var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = example.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n KinesisFirehoseDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs\n {\n DeliveryStreamArn = exampleAwsKinesisFirehoseDeliveryStream.Arn,\n IamRoleArn = exampleAwsIamRole.Arn,\n },\n Enabled = true,\n MatchingEventTypes = new[]\n {\n \"SEND\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: example.ConfigurationSetName,\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tKinesisFirehoseDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs{\n\t\t\t\t\tDeliveryStreamArn: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),\n\t\t\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMatchingEventTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SEND\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestination;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder()\n .configurationSetName(\"example\")\n .build());\n\n var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination(\"exampleConfigurationSetEventDestination\", ConfigurationSetEventDestinationArgs.builder()\n .configurationSetName(example.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .kinesisFirehoseDestination(ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs.builder()\n .deliveryStreamArn(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .iamRoleArn(exampleAwsIamRole.arn())\n .build())\n .enabled(true)\n .matchingEventTypes(\"SEND\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n exampleConfigurationSetEventDestination:\n type: aws:sesv2:ConfigurationSetEventDestination\n name: example\n properties:\n configurationSetName: ${example.configurationSetName}\n eventDestinationName: example\n eventDestination:\n kinesisFirehoseDestination:\n deliveryStreamArn: ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n iamRoleArn: ${exampleAwsIamRole.arn}\n enabled: true\n matchingEventTypes:\n - SEND\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Pinpoint Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {configurationSetName: \"example\"});\nconst exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: example.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n pinpointDestination: {\n applicationArn: exampleAwsPinpointApp.arn,\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\", configuration_set_name=\"example\")\nexample_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example.configuration_set_name,\n event_destination_name=\"example\",\n event_destination={\n \"pinpoint_destination\": {\n \"application_arn\": example_aws_pinpoint_app[\"arn\"],\n },\n \"enabled\": True,\n \"matching_event_types\": [\"SEND\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n });\n\n var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = example.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n PinpointDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs\n {\n ApplicationArn = exampleAwsPinpointApp.Arn,\n },\n Enabled = true,\n MatchingEventTypes = new[]\n {\n \"SEND\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: example.ConfigurationSetName,\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tPinpointDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs{\n\t\t\t\t\tApplicationArn: pulumi.Any(exampleAwsPinpointApp.Arn),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMatchingEventTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SEND\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestination;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder()\n .configurationSetName(\"example\")\n .build());\n\n var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination(\"exampleConfigurationSetEventDestination\", ConfigurationSetEventDestinationArgs.builder()\n .configurationSetName(example.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .pinpointDestination(ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs.builder()\n .applicationArn(exampleAwsPinpointApp.arn())\n .build())\n .enabled(true)\n .matchingEventTypes(\"SEND\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n exampleConfigurationSetEventDestination:\n type: aws:sesv2:ConfigurationSetEventDestination\n name: example\n properties:\n configurationSetName: ${example.configurationSetName}\n eventDestinationName: example\n eventDestination:\n pinpointDestination:\n applicationArn: ${exampleAwsPinpointApp.arn}\n enabled: true\n matchingEventTypes:\n - SEND\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SNS Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {configurationSetName: \"example\"});\nconst exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: example.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n snsDestination: {\n topicArn: exampleAwsSnsTopic.arn,\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\", configuration_set_name=\"example\")\nexample_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example.configuration_set_name,\n event_destination_name=\"example\",\n event_destination={\n \"sns_destination\": {\n \"topic_arn\": example_aws_sns_topic[\"arn\"],\n },\n \"enabled\": True,\n \"matching_event_types\": [\"SEND\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n });\n\n var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = example.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n SnsDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs\n {\n TopicArn = exampleAwsSnsTopic.Arn,\n },\n Enabled = true,\n MatchingEventTypes = new[]\n {\n \"SEND\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: example.ConfigurationSetName,\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tSnsDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs{\n\t\t\t\t\tTopicArn: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMatchingEventTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SEND\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestination;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder()\n .configurationSetName(\"example\")\n .build());\n\n var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination(\"exampleConfigurationSetEventDestination\", ConfigurationSetEventDestinationArgs.builder()\n .configurationSetName(example.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .snsDestination(ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs.builder()\n .topicArn(exampleAwsSnsTopic.arn())\n .build())\n .enabled(true)\n .matchingEventTypes(\"SEND\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n exampleConfigurationSetEventDestination:\n type: aws:sesv2:ConfigurationSetEventDestination\n name: example\n properties:\n configurationSetName: ${example.configurationSetName}\n eventDestinationName: example\n eventDestination:\n snsDestination:\n topicArn: ${exampleAwsSnsTopic.arn}\n enabled: true\n matchingEventTypes:\n - SEND\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Configuration Set Event Destination using the `id` (`configuration_set_name|event_destination_name`). For example:\n\n```sh\n$ pulumi import aws:sesv2/configurationSetEventDestination:ConfigurationSetEventDestination example example_configuration_set|example_event_destination\n```\n", + "description": "Resource for managing an AWS SESv2 (Simple Email V2) Configuration Set Event Destination.\n\n## Example Usage\n\n### CloudWatch Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {configurationSetName: \"example\"});\nconst exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: example.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n cloudWatchDestination: {\n dimensionConfigurations: [{\n defaultDimensionValue: \"example\",\n dimensionName: \"example\",\n dimensionValueSource: \"MESSAGE_TAG\",\n }],\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\", configuration_set_name=\"example\")\nexample_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example.configuration_set_name,\n event_destination_name=\"example\",\n event_destination={\n \"cloud_watch_destination\": {\n \"dimension_configurations\": [{\n \"default_dimension_value\": \"example\",\n \"dimension_name\": \"example\",\n \"dimension_value_source\": \"MESSAGE_TAG\",\n }],\n },\n \"enabled\": True,\n \"matching_event_types\": [\"SEND\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n });\n\n var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = example.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n CloudWatchDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs\n {\n DimensionConfigurations = new[]\n {\n new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs\n {\n DefaultDimensionValue = \"example\",\n DimensionName = \"example\",\n DimensionValueSource = \"MESSAGE_TAG\",\n },\n },\n },\n Enabled = true,\n MatchingEventTypes = new[]\n {\n \"SEND\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: example.ConfigurationSetName,\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tCloudWatchDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs{\n\t\t\t\t\tDimensionConfigurations: sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArray{\n\t\t\t\t\t\t\u0026sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs{\n\t\t\t\t\t\t\tDefaultDimensionValue: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tDimensionName: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tDimensionValueSource: pulumi.String(\"MESSAGE_TAG\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMatchingEventTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SEND\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestination;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder()\n .configurationSetName(\"example\")\n .build());\n\n var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination(\"exampleConfigurationSetEventDestination\", ConfigurationSetEventDestinationArgs.builder()\n .configurationSetName(example.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .cloudWatchDestination(ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs.builder()\n .dimensionConfigurations(ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs.builder()\n .defaultDimensionValue(\"example\")\n .dimensionName(\"example\")\n .dimensionValueSource(\"MESSAGE_TAG\")\n .build())\n .build())\n .enabled(true)\n .matchingEventTypes(\"SEND\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n exampleConfigurationSetEventDestination:\n type: aws:sesv2:ConfigurationSetEventDestination\n name: example\n properties:\n configurationSetName: ${example.configurationSetName}\n eventDestinationName: example\n eventDestination:\n cloudWatchDestination:\n dimensionConfigurations:\n - defaultDimensionValue: example\n dimensionName: example\n dimensionValueSource: MESSAGE_TAG\n enabled: true\n matchingEventTypes:\n - SEND\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### EventBridge Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst default = aws.cloudwatch.getEventBus({\n name: \"default\",\n});\nconst example = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: exampleAwsSesv2ConfigurationSet.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n eventBridgeDestination: {\n eventBusArn: _default.then(_default =\u003e _default.arn),\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.cloudwatch.get_event_bus(name=\"default\")\nexample = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example_aws_sesv2_configuration_set[\"configurationSetName\"],\n event_destination_name=\"example\",\n event_destination={\n \"event_bridge_destination\": {\n \"event_bus_arn\": default.arn,\n },\n \"enabled\": True,\n \"matching_event_types\": [\"SEND\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.CloudWatch.GetEventBus.Invoke(new()\n {\n Name = \"default\",\n });\n\n var example = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = exampleAwsSesv2ConfigurationSet.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n EventBridgeDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs\n {\n EventBusArn = @default.Apply(@default =\u003e @default.Apply(getEventBusResult =\u003e getEventBusResult.Arn)),\n },\n Enabled = true,\n MatchingEventTypes = new[]\n {\n \"SEND\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\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_default, err := cloudwatch.LookupEventBus(ctx, \u0026cloudwatch.LookupEventBusArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: pulumi.Any(exampleAwsSesv2ConfigurationSet.ConfigurationSetName),\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tEventBridgeDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs{\n\t\t\t\t\tEventBusArn: pulumi.String(_default.Arn),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMatchingEventTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SEND\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetEventBusArgs;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestination;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = CloudwatchFunctions.getEventBus(GetEventBusArgs.builder()\n .name(\"default\")\n .build());\n\n var example = new ConfigurationSetEventDestination(\"example\", ConfigurationSetEventDestinationArgs.builder()\n .configurationSetName(exampleAwsSesv2ConfigurationSet.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .eventBridgeDestination(ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs.builder()\n .eventBusArn(default_.arn())\n .build())\n .enabled(true)\n .matchingEventTypes(\"SEND\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSetEventDestination\n properties:\n configurationSetName: ${exampleAwsSesv2ConfigurationSet.configurationSetName}\n eventDestinationName: example\n eventDestination:\n eventBridgeDestination:\n eventBusArn: ${default.arn}\n enabled: true\n matchingEventTypes:\n - SEND\nvariables:\n default:\n fn::invoke:\n Function: aws:cloudwatch:getEventBus\n Arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Kinesis Firehose Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {configurationSetName: \"example\"});\nconst exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: example.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n kinesisFirehoseDestination: {\n deliveryStreamArn: exampleAwsKinesisFirehoseDeliveryStream.arn,\n iamRoleArn: exampleAwsIamRole.arn,\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\", configuration_set_name=\"example\")\nexample_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example.configuration_set_name,\n event_destination_name=\"example\",\n event_destination={\n \"kinesis_firehose_destination\": {\n \"delivery_stream_arn\": example_aws_kinesis_firehose_delivery_stream[\"arn\"],\n \"iam_role_arn\": example_aws_iam_role[\"arn\"],\n },\n \"enabled\": True,\n \"matching_event_types\": [\"SEND\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n });\n\n var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = example.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n KinesisFirehoseDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs\n {\n DeliveryStreamArn = exampleAwsKinesisFirehoseDeliveryStream.Arn,\n IamRoleArn = exampleAwsIamRole.Arn,\n },\n Enabled = true,\n MatchingEventTypes = new[]\n {\n \"SEND\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: example.ConfigurationSetName,\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tKinesisFirehoseDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs{\n\t\t\t\t\tDeliveryStreamArn: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),\n\t\t\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMatchingEventTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SEND\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestination;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder()\n .configurationSetName(\"example\")\n .build());\n\n var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination(\"exampleConfigurationSetEventDestination\", ConfigurationSetEventDestinationArgs.builder()\n .configurationSetName(example.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .kinesisFirehoseDestination(ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs.builder()\n .deliveryStreamArn(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .iamRoleArn(exampleAwsIamRole.arn())\n .build())\n .enabled(true)\n .matchingEventTypes(\"SEND\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n exampleConfigurationSetEventDestination:\n type: aws:sesv2:ConfigurationSetEventDestination\n name: example\n properties:\n configurationSetName: ${example.configurationSetName}\n eventDestinationName: example\n eventDestination:\n kinesisFirehoseDestination:\n deliveryStreamArn: ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n iamRoleArn: ${exampleAwsIamRole.arn}\n enabled: true\n matchingEventTypes:\n - SEND\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Pinpoint Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {configurationSetName: \"example\"});\nconst exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: example.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n pinpointDestination: {\n applicationArn: exampleAwsPinpointApp.arn,\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\", configuration_set_name=\"example\")\nexample_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example.configuration_set_name,\n event_destination_name=\"example\",\n event_destination={\n \"pinpoint_destination\": {\n \"application_arn\": example_aws_pinpoint_app[\"arn\"],\n },\n \"enabled\": True,\n \"matching_event_types\": [\"SEND\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n });\n\n var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = example.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n PinpointDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs\n {\n ApplicationArn = exampleAwsPinpointApp.Arn,\n },\n Enabled = true,\n MatchingEventTypes = new[]\n {\n \"SEND\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: example.ConfigurationSetName,\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tPinpointDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs{\n\t\t\t\t\tApplicationArn: pulumi.Any(exampleAwsPinpointApp.Arn),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMatchingEventTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SEND\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestination;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder()\n .configurationSetName(\"example\")\n .build());\n\n var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination(\"exampleConfigurationSetEventDestination\", ConfigurationSetEventDestinationArgs.builder()\n .configurationSetName(example.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .pinpointDestination(ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs.builder()\n .applicationArn(exampleAwsPinpointApp.arn())\n .build())\n .enabled(true)\n .matchingEventTypes(\"SEND\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n exampleConfigurationSetEventDestination:\n type: aws:sesv2:ConfigurationSetEventDestination\n name: example\n properties:\n configurationSetName: ${example.configurationSetName}\n eventDestinationName: example\n eventDestination:\n pinpointDestination:\n applicationArn: ${exampleAwsPinpointApp.arn}\n enabled: true\n matchingEventTypes:\n - SEND\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SNS Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {configurationSetName: \"example\"});\nconst exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: example.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n snsDestination: {\n topicArn: exampleAwsSnsTopic.arn,\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\", configuration_set_name=\"example\")\nexample_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example.configuration_set_name,\n event_destination_name=\"example\",\n event_destination={\n \"sns_destination\": {\n \"topic_arn\": example_aws_sns_topic[\"arn\"],\n },\n \"enabled\": True,\n \"matching_event_types\": [\"SEND\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n });\n\n var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = example.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n SnsDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs\n {\n TopicArn = exampleAwsSnsTopic.Arn,\n },\n Enabled = true,\n MatchingEventTypes = new[]\n {\n \"SEND\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: example.ConfigurationSetName,\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tSnsDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs{\n\t\t\t\t\tTopicArn: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMatchingEventTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SEND\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestination;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder()\n .configurationSetName(\"example\")\n .build());\n\n var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination(\"exampleConfigurationSetEventDestination\", ConfigurationSetEventDestinationArgs.builder()\n .configurationSetName(example.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .snsDestination(ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs.builder()\n .topicArn(exampleAwsSnsTopic.arn())\n .build())\n .enabled(true)\n .matchingEventTypes(\"SEND\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n exampleConfigurationSetEventDestination:\n type: aws:sesv2:ConfigurationSetEventDestination\n name: example\n properties:\n configurationSetName: ${example.configurationSetName}\n eventDestinationName: example\n eventDestination:\n snsDestination:\n topicArn: ${exampleAwsSnsTopic.arn}\n enabled: true\n matchingEventTypes:\n - SEND\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Configuration Set Event Destination using the `id` (`configuration_set_name|event_destination_name`). For example:\n\n```sh\n$ pulumi import aws:sesv2/configurationSetEventDestination:ConfigurationSetEventDestination example example_configuration_set|example_event_destination\n```\n", "properties": { "configurationSetName": { "type": "string", @@ -363237,7 +363237,7 @@ } }, "aws:shield/applicationLayerAutomaticResponse:ApplicationLayerAutomaticResponse": { - "description": "Resource for managing an AWS Shield Application Layer Automatic Response for automatic DDoS mitigation.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst config = new pulumi.Config();\n// The Cloudfront Distribution on which to enable the Application Layer Automatic Response.\nconst distributionId = config.require(\"distributionId\");\nconst example = new aws.shield.ApplicationLayerAutomaticResponse(\"example\", {\n resourceArn: Promise.all([currentGetPartition, currentGetCallerIdentity]).then(([currentGetPartition, currentGetCallerIdentity]) =\u003e `arn:${currentGetPartition.partition}:cloudfront:${currentGetCallerIdentity.accountId}:distribution/${distributionId}`),\n action: \"COUNT\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\nconfig = pulumi.Config()\n# The Cloudfront Distribution on which to enable the Application Layer Automatic Response.\ndistribution_id = config.require(\"distributionId\")\nexample = aws.shield.ApplicationLayerAutomaticResponse(\"example\",\n resource_arn=f\"arn:{current_get_partition.partition}:cloudfront:{current_get_caller_identity.account_id}:distribution/{distribution_id}\",\n action=\"COUNT\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var config = new Config();\n // The Cloudfront Distribution on which to enable the Application Layer Automatic Response.\n var distributionId = config.Require(\"distributionId\");\n var example = new Aws.Shield.ApplicationLayerAutomaticResponse(\"example\", new()\n {\n ResourceArn = Output.Tuple(currentGetPartition, currentGetCallerIdentity).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:cloudfront:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:distribution/{distributionId}\";\n }),\n Action = \"COUNT\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\t// The Cloudfront Distribution on which to enable the Application Layer Automatic Response.\n\t\tdistributionId := cfg.Require(\"distributionId\")\n\t\t_, err = shield.NewApplicationLayerAutomaticResponse(ctx, \"example\", \u0026shield.ApplicationLayerAutomaticResponseArgs{\n\t\t\tResourceArn: pulumi.Sprintf(\"arn:%v:cloudfront:%v:distribution/%v\", currentGetPartition.Partition, currentGetCallerIdentity.AccountId, distributionId),\n\t\t\tAction: pulumi.String(\"COUNT\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.shield.ApplicationLayerAutomaticResponse;\nimport com.pulumi.aws.shield.ApplicationLayerAutomaticResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n final var distributionId = config.get(\"distributionId\");\n var example = new ApplicationLayerAutomaticResponse(\"example\", ApplicationLayerAutomaticResponseArgs.builder()\n .resourceArn(String.format(\"arn:%s:cloudfront:%s:distribution/%s\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),distributionId))\n .action(\"COUNT\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n distributionId:\n type: string\nresources:\n example:\n type: aws:shield:ApplicationLayerAutomaticResponse\n properties:\n resourceArn: arn:${currentGetPartition.partition}:cloudfront:${currentGetCallerIdentity.accountId}:distribution/${distributionId}\n action: COUNT\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n currentGetPartition:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Resource for managing an AWS Shield Application Layer Automatic Response for automatic DDoS mitigation.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst config = new pulumi.Config();\n// The Cloudfront Distribution on which to enable the Application Layer Automatic Response.\nconst distributionId = config.require(\"distributionId\");\nconst example = new aws.shield.ApplicationLayerAutomaticResponse(\"example\", {\n resourceArn: Promise.all([currentGetPartition, currentGetCallerIdentity]).then(([currentGetPartition, currentGetCallerIdentity]) =\u003e `arn:${currentGetPartition.partition}:cloudfront:${currentGetCallerIdentity.accountId}:distribution/${distributionId}`),\n action: \"COUNT\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\nconfig = pulumi.Config()\n# The Cloudfront Distribution on which to enable the Application Layer Automatic Response.\ndistribution_id = config.require(\"distributionId\")\nexample = aws.shield.ApplicationLayerAutomaticResponse(\"example\",\n resource_arn=f\"arn:{current_get_partition.partition}:cloudfront:{current_get_caller_identity.account_id}:distribution/{distribution_id}\",\n action=\"COUNT\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var config = new Config();\n // The Cloudfront Distribution on which to enable the Application Layer Automatic Response.\n var distributionId = config.Require(\"distributionId\");\n var example = new Aws.Shield.ApplicationLayerAutomaticResponse(\"example\", new()\n {\n ResourceArn = Output.Tuple(currentGetPartition, currentGetCallerIdentity).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:cloudfront:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:distribution/{distributionId}\";\n }),\n Action = \"COUNT\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\t// The Cloudfront Distribution on which to enable the Application Layer Automatic Response.\n\t\tdistributionId := cfg.Require(\"distributionId\")\n\t\t_, err = shield.NewApplicationLayerAutomaticResponse(ctx, \"example\", \u0026shield.ApplicationLayerAutomaticResponseArgs{\n\t\t\tResourceArn: pulumi.Sprintf(\"arn:%v:cloudfront:%v:distribution/%v\", currentGetPartition.Partition, currentGetCallerIdentity.AccountId, distributionId),\n\t\t\tAction: pulumi.String(\"COUNT\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.shield.ApplicationLayerAutomaticResponse;\nimport com.pulumi.aws.shield.ApplicationLayerAutomaticResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n final var distributionId = config.get(\"distributionId\");\n var example = new ApplicationLayerAutomaticResponse(\"example\", ApplicationLayerAutomaticResponseArgs.builder()\n .resourceArn(String.format(\"arn:%s:cloudfront:%s:distribution/%s\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),distributionId))\n .action(\"COUNT\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n distributionId:\n type: string\nresources:\n example:\n type: aws:shield:ApplicationLayerAutomaticResponse\n properties:\n resourceArn: arn:${currentGetPartition.partition}:cloudfront:${currentGetCallerIdentity.accountId}:distribution/${distributionId}\n action: COUNT\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "action": { "type": "string", @@ -363345,7 +363345,7 @@ } }, "aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation": { - "description": "Authorizes the Shield Response Team (SRT) using the specified role, to access your AWS account to assist with DDoS attack mitigation during potential attacks.\nFor more information see [Configure AWS SRT Support](https://docs.aws.amazon.com/waf/latest/developerguide/authorize-srt.html)\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example-role\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"\",\n Effect: \"Allow\",\n Principal: {\n Service: \"drt.shield.amazonaws.com\",\n },\n Action: \"sts:AssumeRole\",\n }],\n }),\n});\nconst example = new aws.shield.DrtAccessRoleArnAssociation(\"example\", {roleArn: exampleRole.arn});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n role: exampleRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_role = aws.iam.Role(\"example\",\n name=\"example-role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"drt.shield.amazonaws.com\",\n },\n \"Action\": \"sts:AssumeRole\",\n }],\n }))\nexample = aws.shield.DrtAccessRoleArnAssociation(\"example\", role_arn=example_role.arn)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n role=example_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example-role\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"drt.shield.amazonaws.com\",\n },\n [\"Action\"] = \"sts:AssumeRole\",\n },\n },\n }),\n });\n\n var example = new Aws.Shield.DrtAccessRoleArnAssociation(\"example\", new()\n {\n RoleArn = exampleRole.Arn,\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = exampleRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"drt.shield.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\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\tjson0 := string(tmpJSON0)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewDrtAccessRoleArnAssociation(ctx, \"example\", \u0026shield.DrtAccessRoleArnAssociationArgs{\n\t\t\tRoleArn: exampleRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: exampleRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociation;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociationArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example-role\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"drt.shield.amazonaws.com\")\n )),\n jsonProperty(\"Action\", \"sts:AssumeRole\")\n )))\n )))\n .build());\n\n var example = new DrtAccessRoleArnAssociation(\"example\", DrtAccessRoleArnAssociationArgs.builder()\n .roleArn(exampleRole.arn())\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(exampleRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:shield:DrtAccessRoleArnAssociation\n properties:\n roleArn: ${exampleRole.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example-role\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: \"\"\n Effect: Allow\n Principal:\n Service: drt.shield.amazonaws.com\n Action: sts:AssumeRole\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n role: ${exampleRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield DRT access role ARN association using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation example 123456789012\n```\n", + "description": "Authorizes the Shield Response Team (SRT) using the specified role, to access your AWS account to assist with DDoS attack mitigation during potential attacks.\nFor more information see [Configure AWS SRT Support](https://docs.aws.amazon.com/waf/latest/developerguide/authorize-srt.html)\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example-role\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"\",\n Effect: \"Allow\",\n Principal: {\n Service: \"drt.shield.amazonaws.com\",\n },\n Action: \"sts:AssumeRole\",\n }],\n }),\n});\nconst example = new aws.shield.DrtAccessRoleArnAssociation(\"example\", {roleArn: exampleRole.arn});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n role: exampleRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_role = aws.iam.Role(\"example\",\n name=\"example-role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"drt.shield.amazonaws.com\",\n },\n \"Action\": \"sts:AssumeRole\",\n }],\n }))\nexample = aws.shield.DrtAccessRoleArnAssociation(\"example\", role_arn=example_role.arn)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n role=example_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example-role\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"drt.shield.amazonaws.com\",\n },\n [\"Action\"] = \"sts:AssumeRole\",\n },\n },\n }),\n });\n\n var example = new Aws.Shield.DrtAccessRoleArnAssociation(\"example\", new()\n {\n RoleArn = exampleRole.Arn,\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = exampleRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"drt.shield.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\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\tjson0 := string(tmpJSON0)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewDrtAccessRoleArnAssociation(ctx, \"example\", \u0026shield.DrtAccessRoleArnAssociationArgs{\n\t\t\tRoleArn: exampleRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: exampleRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociation;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociationArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example-role\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"drt.shield.amazonaws.com\")\n )),\n jsonProperty(\"Action\", \"sts:AssumeRole\")\n )))\n )))\n .build());\n\n var example = new DrtAccessRoleArnAssociation(\"example\", DrtAccessRoleArnAssociationArgs.builder()\n .roleArn(exampleRole.arn())\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(exampleRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:shield:DrtAccessRoleArnAssociation\n properties:\n roleArn: ${exampleRole.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example-role\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid:\n Effect: Allow\n Principal:\n Service: drt.shield.amazonaws.com\n Action: sts:AssumeRole\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n role: ${exampleRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield DRT access role ARN association using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation example 123456789012\n```\n", "properties": { "roleArn": { "type": "string", @@ -363385,7 +363385,7 @@ } }, "aws:shield/proactiveEngagement:ProactiveEngagement": { - "description": "Resource for managing a AWS Shield Proactive Engagement.\nProactive engagement authorizes the Shield Response Team (SRT) to use email and phone to notify contacts about escalations to the SRT and to initiate proactive customer support.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example-role\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"\",\n Effect: \"Allow\",\n Principal: {\n Service: \"drt.shield.amazonaws.com\",\n },\n Action: \"sts:AssumeRole\",\n }],\n }),\n});\nconst exampleDrtAccessRoleArnAssociation = new aws.shield.DrtAccessRoleArnAssociation(\"example\", {roleArn: exampleRole.arn});\nconst example = new aws.shield.ProactiveEngagement(\"example\", {\n enabled: true,\n emergencyContacts: [\n {\n contactNotes: \"Notes\",\n emailAddress: \"contact1@example.com\",\n phoneNumber: \"+12358132134\",\n },\n {\n contactNotes: \"Notes 2\",\n emailAddress: \"contact2@example.com\",\n phoneNumber: \"+12358132134\",\n },\n ],\n}, {\n dependsOn: [exampleDrtAccessRoleArnAssociation],\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n role: exampleRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\",\n});\nconst exampleProtectionGroup = new aws.shield.ProtectionGroup(\"example\", {\n protectionGroupId: \"example\",\n aggregation: \"MAX\",\n pattern: \"ALL\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_role = aws.iam.Role(\"example\",\n name=\"example-role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"drt.shield.amazonaws.com\",\n },\n \"Action\": \"sts:AssumeRole\",\n }],\n }))\nexample_drt_access_role_arn_association = aws.shield.DrtAccessRoleArnAssociation(\"example\", role_arn=example_role.arn)\nexample = aws.shield.ProactiveEngagement(\"example\",\n enabled=True,\n emergency_contacts=[\n {\n \"contact_notes\": \"Notes\",\n \"email_address\": \"contact1@example.com\",\n \"phone_number\": \"+12358132134\",\n },\n {\n \"contact_notes\": \"Notes 2\",\n \"email_address\": \"contact2@example.com\",\n \"phone_number\": \"+12358132134\",\n },\n ],\n opts = pulumi.ResourceOptions(depends_on=[example_drt_access_role_arn_association]))\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n role=example_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\")\nexample_protection_group = aws.shield.ProtectionGroup(\"example\",\n protection_group_id=\"example\",\n aggregation=\"MAX\",\n pattern=\"ALL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example-role\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"drt.shield.amazonaws.com\",\n },\n [\"Action\"] = \"sts:AssumeRole\",\n },\n },\n }),\n });\n\n var exampleDrtAccessRoleArnAssociation = new Aws.Shield.DrtAccessRoleArnAssociation(\"example\", new()\n {\n RoleArn = exampleRole.Arn,\n });\n\n var example = new Aws.Shield.ProactiveEngagement(\"example\", new()\n {\n Enabled = true,\n EmergencyContacts = new[]\n {\n new Aws.Shield.Inputs.ProactiveEngagementEmergencyContactArgs\n {\n ContactNotes = \"Notes\",\n EmailAddress = \"contact1@example.com\",\n PhoneNumber = \"+12358132134\",\n },\n new Aws.Shield.Inputs.ProactiveEngagementEmergencyContactArgs\n {\n ContactNotes = \"Notes 2\",\n EmailAddress = \"contact2@example.com\",\n PhoneNumber = \"+12358132134\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleDrtAccessRoleArnAssociation,\n },\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = exampleRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\",\n });\n\n var exampleProtectionGroup = new Aws.Shield.ProtectionGroup(\"example\", new()\n {\n ProtectionGroupId = \"example\",\n Aggregation = \"MAX\",\n Pattern = \"ALL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"drt.shield.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\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\tjson0 := string(tmpJSON0)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDrtAccessRoleArnAssociation, err := shield.NewDrtAccessRoleArnAssociation(ctx, \"example\", \u0026shield.DrtAccessRoleArnAssociationArgs{\n\t\t\tRoleArn: exampleRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProactiveEngagement(ctx, \"example\", \u0026shield.ProactiveEngagementArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tEmergencyContacts: shield.ProactiveEngagementEmergencyContactArray{\n\t\t\t\t\u0026shield.ProactiveEngagementEmergencyContactArgs{\n\t\t\t\t\tContactNotes: pulumi.String(\"Notes\"),\n\t\t\t\t\tEmailAddress: pulumi.String(\"contact1@example.com\"),\n\t\t\t\t\tPhoneNumber: pulumi.String(\"+12358132134\"),\n\t\t\t\t},\n\t\t\t\t\u0026shield.ProactiveEngagementEmergencyContactArgs{\n\t\t\t\t\tContactNotes: pulumi.String(\"Notes 2\"),\n\t\t\t\t\tEmailAddress: pulumi.String(\"contact2@example.com\"),\n\t\t\t\t\tPhoneNumber: pulumi.String(\"+12358132134\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleDrtAccessRoleArnAssociation,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: exampleRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProtectionGroup(ctx, \"example\", \u0026shield.ProtectionGroupArgs{\n\t\t\tProtectionGroupId: pulumi.String(\"example\"),\n\t\t\tAggregation: pulumi.String(\"MAX\"),\n\t\t\tPattern: pulumi.String(\"ALL\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociation;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociationArgs;\nimport com.pulumi.aws.shield.ProactiveEngagement;\nimport com.pulumi.aws.shield.ProactiveEngagementArgs;\nimport com.pulumi.aws.shield.inputs.ProactiveEngagementEmergencyContactArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.shield.ProtectionGroup;\nimport com.pulumi.aws.shield.ProtectionGroupArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example-role\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"drt.shield.amazonaws.com\")\n )),\n jsonProperty(\"Action\", \"sts:AssumeRole\")\n )))\n )))\n .build());\n\n var exampleDrtAccessRoleArnAssociation = new DrtAccessRoleArnAssociation(\"exampleDrtAccessRoleArnAssociation\", DrtAccessRoleArnAssociationArgs.builder()\n .roleArn(exampleRole.arn())\n .build());\n\n var example = new ProactiveEngagement(\"example\", ProactiveEngagementArgs.builder()\n .enabled(true)\n .emergencyContacts( \n ProactiveEngagementEmergencyContactArgs.builder()\n .contactNotes(\"Notes\")\n .emailAddress(\"contact1@example.com\")\n .phoneNumber(\"+12358132134\")\n .build(),\n ProactiveEngagementEmergencyContactArgs.builder()\n .contactNotes(\"Notes 2\")\n .emailAddress(\"contact2@example.com\")\n .phoneNumber(\"+12358132134\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleDrtAccessRoleArnAssociation)\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(exampleRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\")\n .build());\n\n var exampleProtectionGroup = new ProtectionGroup(\"exampleProtectionGroup\", ProtectionGroupArgs.builder()\n .protectionGroupId(\"example\")\n .aggregation(\"MAX\")\n .pattern(\"ALL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:shield:ProactiveEngagement\n properties:\n enabled: true\n emergencyContacts:\n - contactNotes: Notes\n emailAddress: contact1@example.com\n phoneNumber: '+12358132134'\n - contactNotes: Notes 2\n emailAddress: contact2@example.com\n phoneNumber: '+12358132134'\n options:\n dependsOn:\n - ${exampleDrtAccessRoleArnAssociation}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example-role\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: \"\"\n Effect: Allow\n Principal:\n Service: drt.shield.amazonaws.com\n Action: sts:AssumeRole\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n role: ${exampleRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\n exampleDrtAccessRoleArnAssociation:\n type: aws:shield:DrtAccessRoleArnAssociation\n name: example\n properties:\n roleArn: ${exampleRole.arn}\n exampleProtectionGroup:\n type: aws:shield:ProtectionGroup\n name: example\n properties:\n protectionGroupId: example\n aggregation: MAX\n pattern: ALL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield proactive engagement using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:shield/proactiveEngagement:ProactiveEngagement example 123456789012\n```\n", + "description": "Resource for managing a AWS Shield Proactive Engagement.\nProactive engagement authorizes the Shield Response Team (SRT) to use email and phone to notify contacts about escalations to the SRT and to initiate proactive customer support.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example-role\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"\",\n Effect: \"Allow\",\n Principal: {\n Service: \"drt.shield.amazonaws.com\",\n },\n Action: \"sts:AssumeRole\",\n }],\n }),\n});\nconst exampleDrtAccessRoleArnAssociation = new aws.shield.DrtAccessRoleArnAssociation(\"example\", {roleArn: exampleRole.arn});\nconst example = new aws.shield.ProactiveEngagement(\"example\", {\n enabled: true,\n emergencyContacts: [\n {\n contactNotes: \"Notes\",\n emailAddress: \"contact1@example.com\",\n phoneNumber: \"+12358132134\",\n },\n {\n contactNotes: \"Notes 2\",\n emailAddress: \"contact2@example.com\",\n phoneNumber: \"+12358132134\",\n },\n ],\n}, {\n dependsOn: [exampleDrtAccessRoleArnAssociation],\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n role: exampleRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\",\n});\nconst exampleProtectionGroup = new aws.shield.ProtectionGroup(\"example\", {\n protectionGroupId: \"example\",\n aggregation: \"MAX\",\n pattern: \"ALL\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_role = aws.iam.Role(\"example\",\n name=\"example-role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"drt.shield.amazonaws.com\",\n },\n \"Action\": \"sts:AssumeRole\",\n }],\n }))\nexample_drt_access_role_arn_association = aws.shield.DrtAccessRoleArnAssociation(\"example\", role_arn=example_role.arn)\nexample = aws.shield.ProactiveEngagement(\"example\",\n enabled=True,\n emergency_contacts=[\n {\n \"contact_notes\": \"Notes\",\n \"email_address\": \"contact1@example.com\",\n \"phone_number\": \"+12358132134\",\n },\n {\n \"contact_notes\": \"Notes 2\",\n \"email_address\": \"contact2@example.com\",\n \"phone_number\": \"+12358132134\",\n },\n ],\n opts = pulumi.ResourceOptions(depends_on=[example_drt_access_role_arn_association]))\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n role=example_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\")\nexample_protection_group = aws.shield.ProtectionGroup(\"example\",\n protection_group_id=\"example\",\n aggregation=\"MAX\",\n pattern=\"ALL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example-role\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"drt.shield.amazonaws.com\",\n },\n [\"Action\"] = \"sts:AssumeRole\",\n },\n },\n }),\n });\n\n var exampleDrtAccessRoleArnAssociation = new Aws.Shield.DrtAccessRoleArnAssociation(\"example\", new()\n {\n RoleArn = exampleRole.Arn,\n });\n\n var example = new Aws.Shield.ProactiveEngagement(\"example\", new()\n {\n Enabled = true,\n EmergencyContacts = new[]\n {\n new Aws.Shield.Inputs.ProactiveEngagementEmergencyContactArgs\n {\n ContactNotes = \"Notes\",\n EmailAddress = \"contact1@example.com\",\n PhoneNumber = \"+12358132134\",\n },\n new Aws.Shield.Inputs.ProactiveEngagementEmergencyContactArgs\n {\n ContactNotes = \"Notes 2\",\n EmailAddress = \"contact2@example.com\",\n PhoneNumber = \"+12358132134\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleDrtAccessRoleArnAssociation,\n },\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = exampleRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\",\n });\n\n var exampleProtectionGroup = new Aws.Shield.ProtectionGroup(\"example\", new()\n {\n ProtectionGroupId = \"example\",\n Aggregation = \"MAX\",\n Pattern = \"ALL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"drt.shield.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\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\tjson0 := string(tmpJSON0)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDrtAccessRoleArnAssociation, err := shield.NewDrtAccessRoleArnAssociation(ctx, \"example\", \u0026shield.DrtAccessRoleArnAssociationArgs{\n\t\t\tRoleArn: exampleRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProactiveEngagement(ctx, \"example\", \u0026shield.ProactiveEngagementArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tEmergencyContacts: shield.ProactiveEngagementEmergencyContactArray{\n\t\t\t\t\u0026shield.ProactiveEngagementEmergencyContactArgs{\n\t\t\t\t\tContactNotes: pulumi.String(\"Notes\"),\n\t\t\t\t\tEmailAddress: pulumi.String(\"contact1@example.com\"),\n\t\t\t\t\tPhoneNumber: pulumi.String(\"+12358132134\"),\n\t\t\t\t},\n\t\t\t\t\u0026shield.ProactiveEngagementEmergencyContactArgs{\n\t\t\t\t\tContactNotes: pulumi.String(\"Notes 2\"),\n\t\t\t\t\tEmailAddress: pulumi.String(\"contact2@example.com\"),\n\t\t\t\t\tPhoneNumber: pulumi.String(\"+12358132134\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleDrtAccessRoleArnAssociation,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: exampleRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProtectionGroup(ctx, \"example\", \u0026shield.ProtectionGroupArgs{\n\t\t\tProtectionGroupId: pulumi.String(\"example\"),\n\t\t\tAggregation: pulumi.String(\"MAX\"),\n\t\t\tPattern: pulumi.String(\"ALL\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociation;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociationArgs;\nimport com.pulumi.aws.shield.ProactiveEngagement;\nimport com.pulumi.aws.shield.ProactiveEngagementArgs;\nimport com.pulumi.aws.shield.inputs.ProactiveEngagementEmergencyContactArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.shield.ProtectionGroup;\nimport com.pulumi.aws.shield.ProtectionGroupArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example-role\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"drt.shield.amazonaws.com\")\n )),\n jsonProperty(\"Action\", \"sts:AssumeRole\")\n )))\n )))\n .build());\n\n var exampleDrtAccessRoleArnAssociation = new DrtAccessRoleArnAssociation(\"exampleDrtAccessRoleArnAssociation\", DrtAccessRoleArnAssociationArgs.builder()\n .roleArn(exampleRole.arn())\n .build());\n\n var example = new ProactiveEngagement(\"example\", ProactiveEngagementArgs.builder()\n .enabled(true)\n .emergencyContacts( \n ProactiveEngagementEmergencyContactArgs.builder()\n .contactNotes(\"Notes\")\n .emailAddress(\"contact1@example.com\")\n .phoneNumber(\"+12358132134\")\n .build(),\n ProactiveEngagementEmergencyContactArgs.builder()\n .contactNotes(\"Notes 2\")\n .emailAddress(\"contact2@example.com\")\n .phoneNumber(\"+12358132134\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleDrtAccessRoleArnAssociation)\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(exampleRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\")\n .build());\n\n var exampleProtectionGroup = new ProtectionGroup(\"exampleProtectionGroup\", ProtectionGroupArgs.builder()\n .protectionGroupId(\"example\")\n .aggregation(\"MAX\")\n .pattern(\"ALL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:shield:ProactiveEngagement\n properties:\n enabled: true\n emergencyContacts:\n - contactNotes: Notes\n emailAddress: contact1@example.com\n phoneNumber: '+12358132134'\n - contactNotes: Notes 2\n emailAddress: contact2@example.com\n phoneNumber: '+12358132134'\n options:\n dependson:\n - ${exampleDrtAccessRoleArnAssociation}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example-role\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid:\n Effect: Allow\n Principal:\n Service: drt.shield.amazonaws.com\n Action: sts:AssumeRole\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n role: ${exampleRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\n exampleDrtAccessRoleArnAssociation:\n type: aws:shield:DrtAccessRoleArnAssociation\n name: example\n properties:\n roleArn: ${exampleRole.arn}\n exampleProtectionGroup:\n type: aws:shield:ProtectionGroup\n name: example\n properties:\n protectionGroupId: example\n aggregation: MAX\n pattern: ALL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield proactive engagement using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:shield/proactiveEngagement:ProactiveEngagement example 123456789012\n```\n", "properties": { "emergencyContacts": { "type": "array", @@ -363437,7 +363437,7 @@ } }, "aws:shield/protection:Protection": { - "description": "Enables AWS Shield Advanced for a specific AWS resource.\nThe resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, AWS Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.\n\n## Example Usage\n\n### Create protection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({});\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst example = new aws.ec2.Eip(\"example\", {domain: \"vpc\"});\nconst exampleProtection = new aws.shield.Protection(\"example\", {\n name: \"example\",\n resourceArn: pulumi.all([current, currentGetCallerIdentity, example.id]).apply(([current, currentGetCallerIdentity, id]) =\u003e `arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${id}`),\n tags: {\n Environment: \"Dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones()\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample = aws.ec2.Eip(\"example\", domain=\"vpc\")\nexample_protection = aws.shield.Protection(\"example\",\n name=\"example\",\n resource_arn=example.id.apply(lambda id: f\"arn:aws:ec2:{current.name}:{current_get_caller_identity.account_id}:eip-allocation/{id}\"),\n tags={\n \"Environment\": \"Dev\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke();\n\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.Eip(\"example\", new()\n {\n Domain = \"vpc\",\n });\n\n var exampleProtection = new Aws.Shield.Protection(\"example\", new()\n {\n Name = \"example\",\n ResourceArn = Output.Tuple(current, currentGetCallerIdentity, example.Id).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n var id = values.Item3;\n return $\"arn:aws:ec2:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:eip-allocation/{id}\";\n }),\n Tags = \n {\n { \"Environment\", \"Dev\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\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 := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewEip(ctx, \"example\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProtection(ctx, \"example\", \u0026shield.ProtectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tResourceArn: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"arn:aws:ec2:%v:%v:eip-allocation/%v\", current.Name, currentGetCallerIdentity.AccountId, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Dev\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.aws.shield.Protection;\nimport com.pulumi.aws.shield.ProtectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones();\n\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var example = new Eip(\"example\", EipArgs.builder()\n .domain(\"vpc\")\n .build());\n\n var exampleProtection = new Protection(\"exampleProtection\", ProtectionArgs.builder()\n .name(\"example\")\n .resourceArn(example.id().applyValue(id -\u003e String.format(\"arn:aws:ec2:%s:%s:eip-allocation/%s\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),id)))\n .tags(Map.of(\"Environment\", \"Dev\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n exampleProtection:\n type: aws:shield:Protection\n name: example\n properties:\n name: example\n resourceArn: arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${example.id}\n tags:\n Environment: Dev\nvariables:\n available:\n fn::invoke:\n function: aws:getAvailabilityZones\n arguments: {}\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield protection resources using specifying their ID. For example:\n\n```sh\n$ pulumi import aws:shield/protection:Protection example ff9592dc-22f3-4e88-afa1-7b29fde9669a\n```\n", + "description": "Enables AWS Shield Advanced for a specific AWS resource.\nThe resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, AWS Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.\n\n## Example Usage\n\n### Create protection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({});\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst example = new aws.ec2.Eip(\"example\", {domain: \"vpc\"});\nconst exampleProtection = new aws.shield.Protection(\"example\", {\n name: \"example\",\n resourceArn: pulumi.all([current, currentGetCallerIdentity, example.id]).apply(([current, currentGetCallerIdentity, id]) =\u003e `arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${id}`),\n tags: {\n Environment: \"Dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones()\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample = aws.ec2.Eip(\"example\", domain=\"vpc\")\nexample_protection = aws.shield.Protection(\"example\",\n name=\"example\",\n resource_arn=example.id.apply(lambda id: f\"arn:aws:ec2:{current.name}:{current_get_caller_identity.account_id}:eip-allocation/{id}\"),\n tags={\n \"Environment\": \"Dev\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke();\n\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.Eip(\"example\", new()\n {\n Domain = \"vpc\",\n });\n\n var exampleProtection = new Aws.Shield.Protection(\"example\", new()\n {\n Name = \"example\",\n ResourceArn = Output.Tuple(current, currentGetCallerIdentity, example.Id).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n var id = values.Item3;\n return $\"arn:aws:ec2:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:eip-allocation/{id}\";\n }),\n Tags = \n {\n { \"Environment\", \"Dev\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\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 := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewEip(ctx, \"example\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProtection(ctx, \"example\", \u0026shield.ProtectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tResourceArn: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"arn:aws:ec2:%v:%v:eip-allocation/%v\", current.Name, currentGetCallerIdentity.AccountId, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Dev\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.aws.shield.Protection;\nimport com.pulumi.aws.shield.ProtectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones();\n\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var example = new Eip(\"example\", EipArgs.builder()\n .domain(\"vpc\")\n .build());\n\n var exampleProtection = new Protection(\"exampleProtection\", ProtectionArgs.builder()\n .name(\"example\")\n .resourceArn(example.id().applyValue(id -\u003e String.format(\"arn:aws:ec2:%s:%s:eip-allocation/%s\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),id)))\n .tags(Map.of(\"Environment\", \"Dev\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n exampleProtection:\n type: aws:shield:Protection\n name: example\n properties:\n name: example\n resourceArn: arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${example.id}\n tags:\n Environment: Dev\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments: {}\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield protection resources using specifying their ID. For example:\n\n```sh\n$ pulumi import aws:shield/protection:Protection example ff9592dc-22f3-4e88-afa1-7b29fde9669a\n```\n", "properties": { "arn": { "type": "string", @@ -363532,7 +363532,7 @@ } }, "aws:shield/protectionGroup:ProtectionGroup": { - "description": "Creates a grouping of protected resources so they can be handled as a collective.\nThis resource grouping improves the accuracy of detection and reduces false positives. For more information see\n[Managing AWS Shield Advanced protection groups](https://docs.aws.amazon.com/waf/latest/developerguide/manage-protection-group.html)\n\n## Example Usage\n\n### Create protection group for all resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.shield.ProtectionGroup(\"example\", {\n protectionGroupId: \"example\",\n aggregation: \"MAX\",\n pattern: \"ALL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.shield.ProtectionGroup(\"example\",\n protection_group_id=\"example\",\n aggregation=\"MAX\",\n pattern=\"ALL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Shield.ProtectionGroup(\"example\", new()\n {\n ProtectionGroupId = \"example\",\n Aggregation = \"MAX\",\n Pattern = \"ALL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\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 := shield.NewProtectionGroup(ctx, \"example\", \u0026shield.ProtectionGroupArgs{\n\t\t\tProtectionGroupId: pulumi.String(\"example\"),\n\t\t\tAggregation: pulumi.String(\"MAX\"),\n\t\t\tPattern: pulumi.String(\"ALL\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.shield.ProtectionGroup;\nimport com.pulumi.aws.shield.ProtectionGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ProtectionGroup(\"example\", ProtectionGroupArgs.builder()\n .protectionGroupId(\"example\")\n .aggregation(\"MAX\")\n .pattern(\"ALL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:shield:ProtectionGroup\n properties:\n protectionGroupId: example\n aggregation: MAX\n pattern: ALL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create protection group for arbitrary number of resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst example = new aws.ec2.Eip(\"example\", {domain: \"vpc\"});\nconst exampleProtection = new aws.shield.Protection(\"example\", {\n name: \"example\",\n resourceArn: pulumi.all([current, currentGetCallerIdentity, example.id]).apply(([current, currentGetCallerIdentity, id]) =\u003e `arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${id}`),\n});\nconst exampleProtectionGroup = new aws.shield.ProtectionGroup(\"example\", {\n protectionGroupId: \"example\",\n aggregation: \"MEAN\",\n pattern: \"ARBITRARY\",\n members: [pulumi.all([current, currentGetCallerIdentity, example.id]).apply(([current, currentGetCallerIdentity, id]) =\u003e `arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${id}`)],\n}, {\n dependsOn: [exampleProtection],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample = aws.ec2.Eip(\"example\", domain=\"vpc\")\nexample_protection = aws.shield.Protection(\"example\",\n name=\"example\",\n resource_arn=example.id.apply(lambda id: f\"arn:aws:ec2:{current.name}:{current_get_caller_identity.account_id}:eip-allocation/{id}\"))\nexample_protection_group = aws.shield.ProtectionGroup(\"example\",\n protection_group_id=\"example\",\n aggregation=\"MEAN\",\n pattern=\"ARBITRARY\",\n members=[example.id.apply(lambda id: f\"arn:aws:ec2:{current.name}:{current_get_caller_identity.account_id}:eip-allocation/{id}\")],\n opts = pulumi.ResourceOptions(depends_on=[example_protection]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.Eip(\"example\", new()\n {\n Domain = \"vpc\",\n });\n\n var exampleProtection = new Aws.Shield.Protection(\"example\", new()\n {\n Name = \"example\",\n ResourceArn = Output.Tuple(current, currentGetCallerIdentity, example.Id).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n var id = values.Item3;\n return $\"arn:aws:ec2:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:eip-allocation/{id}\";\n }),\n });\n\n var exampleProtectionGroup = new Aws.Shield.ProtectionGroup(\"example\", new()\n {\n ProtectionGroupId = \"example\",\n Aggregation = \"MEAN\",\n Pattern = \"ARBITRARY\",\n Members = new[]\n {\n Output.Tuple(current, currentGetCallerIdentity, example.Id).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n var id = values.Item3;\n return $\"arn:aws:ec2:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:eip-allocation/{id}\";\n }),\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleProtection,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewEip(ctx, \"example\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProtection, err := shield.NewProtection(ctx, \"example\", \u0026shield.ProtectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tResourceArn: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"arn:aws:ec2:%v:%v:eip-allocation/%v\", current.Name, currentGetCallerIdentity.AccountId, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProtectionGroup(ctx, \"example\", \u0026shield.ProtectionGroupArgs{\n\t\t\tProtectionGroupId: pulumi.String(\"example\"),\n\t\t\tAggregation: pulumi.String(\"MEAN\"),\n\t\t\tPattern: pulumi.String(\"ARBITRARY\"),\n\t\t\tMembers: pulumi.StringArray{\n\t\t\t\texample.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:ec2:%v:%v:eip-allocation/%v\", current.Name, currentGetCallerIdentity.AccountId, id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleProtection,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.aws.shield.Protection;\nimport com.pulumi.aws.shield.ProtectionArgs;\nimport com.pulumi.aws.shield.ProtectionGroup;\nimport com.pulumi.aws.shield.ProtectionGroupArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var example = new Eip(\"example\", EipArgs.builder()\n .domain(\"vpc\")\n .build());\n\n var exampleProtection = new Protection(\"exampleProtection\", ProtectionArgs.builder()\n .name(\"example\")\n .resourceArn(example.id().applyValue(id -\u003e String.format(\"arn:aws:ec2:%s:%s:eip-allocation/%s\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),id)))\n .build());\n\n var exampleProtectionGroup = new ProtectionGroup(\"exampleProtectionGroup\", ProtectionGroupArgs.builder()\n .protectionGroupId(\"example\")\n .aggregation(\"MEAN\")\n .pattern(\"ARBITRARY\")\n .members(example.id().applyValue(id -\u003e String.format(\"arn:aws:ec2:%s:%s:eip-allocation/%s\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),id)))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleProtection)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n exampleProtection:\n type: aws:shield:Protection\n name: example\n properties:\n name: example\n resourceArn: arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${example.id}\n exampleProtectionGroup:\n type: aws:shield:ProtectionGroup\n name: example\n properties:\n protectionGroupId: example\n aggregation: MEAN\n pattern: ARBITRARY\n members:\n - arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${example.id}\n options:\n dependsOn:\n - ${exampleProtection}\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create protection group for a type of resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.shield.ProtectionGroup(\"example\", {\n protectionGroupId: \"example\",\n aggregation: \"SUM\",\n pattern: \"BY_RESOURCE_TYPE\",\n resourceType: \"ELASTIC_IP_ALLOCATION\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.shield.ProtectionGroup(\"example\",\n protection_group_id=\"example\",\n aggregation=\"SUM\",\n pattern=\"BY_RESOURCE_TYPE\",\n resource_type=\"ELASTIC_IP_ALLOCATION\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Shield.ProtectionGroup(\"example\", new()\n {\n ProtectionGroupId = \"example\",\n Aggregation = \"SUM\",\n Pattern = \"BY_RESOURCE_TYPE\",\n ResourceType = \"ELASTIC_IP_ALLOCATION\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\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 := shield.NewProtectionGroup(ctx, \"example\", \u0026shield.ProtectionGroupArgs{\n\t\t\tProtectionGroupId: pulumi.String(\"example\"),\n\t\t\tAggregation: pulumi.String(\"SUM\"),\n\t\t\tPattern: pulumi.String(\"BY_RESOURCE_TYPE\"),\n\t\t\tResourceType: pulumi.String(\"ELASTIC_IP_ALLOCATION\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.shield.ProtectionGroup;\nimport com.pulumi.aws.shield.ProtectionGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ProtectionGroup(\"example\", ProtectionGroupArgs.builder()\n .protectionGroupId(\"example\")\n .aggregation(\"SUM\")\n .pattern(\"BY_RESOURCE_TYPE\")\n .resourceType(\"ELASTIC_IP_ALLOCATION\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:shield:ProtectionGroup\n properties:\n protectionGroupId: example\n aggregation: SUM\n pattern: BY_RESOURCE_TYPE\n resourceType: ELASTIC_IP_ALLOCATION\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield protection group resources using their protection group id. For example:\n\n```sh\n$ pulumi import aws:shield/protectionGroup:ProtectionGroup example example\n```\n", + "description": "Creates a grouping of protected resources so they can be handled as a collective.\nThis resource grouping improves the accuracy of detection and reduces false positives. For more information see\n[Managing AWS Shield Advanced protection groups](https://docs.aws.amazon.com/waf/latest/developerguide/manage-protection-group.html)\n\n## Example Usage\n\n### Create protection group for all resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.shield.ProtectionGroup(\"example\", {\n protectionGroupId: \"example\",\n aggregation: \"MAX\",\n pattern: \"ALL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.shield.ProtectionGroup(\"example\",\n protection_group_id=\"example\",\n aggregation=\"MAX\",\n pattern=\"ALL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Shield.ProtectionGroup(\"example\", new()\n {\n ProtectionGroupId = \"example\",\n Aggregation = \"MAX\",\n Pattern = \"ALL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\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 := shield.NewProtectionGroup(ctx, \"example\", \u0026shield.ProtectionGroupArgs{\n\t\t\tProtectionGroupId: pulumi.String(\"example\"),\n\t\t\tAggregation: pulumi.String(\"MAX\"),\n\t\t\tPattern: pulumi.String(\"ALL\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.shield.ProtectionGroup;\nimport com.pulumi.aws.shield.ProtectionGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ProtectionGroup(\"example\", ProtectionGroupArgs.builder()\n .protectionGroupId(\"example\")\n .aggregation(\"MAX\")\n .pattern(\"ALL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:shield:ProtectionGroup\n properties:\n protectionGroupId: example\n aggregation: MAX\n pattern: ALL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create protection group for arbitrary number of resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst example = new aws.ec2.Eip(\"example\", {domain: \"vpc\"});\nconst exampleProtection = new aws.shield.Protection(\"example\", {\n name: \"example\",\n resourceArn: pulumi.all([current, currentGetCallerIdentity, example.id]).apply(([current, currentGetCallerIdentity, id]) =\u003e `arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${id}`),\n});\nconst exampleProtectionGroup = new aws.shield.ProtectionGroup(\"example\", {\n protectionGroupId: \"example\",\n aggregation: \"MEAN\",\n pattern: \"ARBITRARY\",\n members: [pulumi.all([current, currentGetCallerIdentity, example.id]).apply(([current, currentGetCallerIdentity, id]) =\u003e `arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${id}`)],\n}, {\n dependsOn: [exampleProtection],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample = aws.ec2.Eip(\"example\", domain=\"vpc\")\nexample_protection = aws.shield.Protection(\"example\",\n name=\"example\",\n resource_arn=example.id.apply(lambda id: f\"arn:aws:ec2:{current.name}:{current_get_caller_identity.account_id}:eip-allocation/{id}\"))\nexample_protection_group = aws.shield.ProtectionGroup(\"example\",\n protection_group_id=\"example\",\n aggregation=\"MEAN\",\n pattern=\"ARBITRARY\",\n members=[example.id.apply(lambda id: f\"arn:aws:ec2:{current.name}:{current_get_caller_identity.account_id}:eip-allocation/{id}\")],\n opts = pulumi.ResourceOptions(depends_on=[example_protection]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.Eip(\"example\", new()\n {\n Domain = \"vpc\",\n });\n\n var exampleProtection = new Aws.Shield.Protection(\"example\", new()\n {\n Name = \"example\",\n ResourceArn = Output.Tuple(current, currentGetCallerIdentity, example.Id).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n var id = values.Item3;\n return $\"arn:aws:ec2:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:eip-allocation/{id}\";\n }),\n });\n\n var exampleProtectionGroup = new Aws.Shield.ProtectionGroup(\"example\", new()\n {\n ProtectionGroupId = \"example\",\n Aggregation = \"MEAN\",\n Pattern = \"ARBITRARY\",\n Members = new[]\n {\n Output.Tuple(current, currentGetCallerIdentity, example.Id).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n var id = values.Item3;\n return $\"arn:aws:ec2:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:eip-allocation/{id}\";\n }),\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleProtection,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewEip(ctx, \"example\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProtection, err := shield.NewProtection(ctx, \"example\", \u0026shield.ProtectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tResourceArn: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"arn:aws:ec2:%v:%v:eip-allocation/%v\", current.Name, currentGetCallerIdentity.AccountId, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProtectionGroup(ctx, \"example\", \u0026shield.ProtectionGroupArgs{\n\t\t\tProtectionGroupId: pulumi.String(\"example\"),\n\t\t\tAggregation: pulumi.String(\"MEAN\"),\n\t\t\tPattern: pulumi.String(\"ARBITRARY\"),\n\t\t\tMembers: pulumi.StringArray{\n\t\t\t\texample.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:ec2:%v:%v:eip-allocation/%v\", current.Name, currentGetCallerIdentity.AccountId, id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleProtection,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.aws.shield.Protection;\nimport com.pulumi.aws.shield.ProtectionArgs;\nimport com.pulumi.aws.shield.ProtectionGroup;\nimport com.pulumi.aws.shield.ProtectionGroupArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var example = new Eip(\"example\", EipArgs.builder()\n .domain(\"vpc\")\n .build());\n\n var exampleProtection = new Protection(\"exampleProtection\", ProtectionArgs.builder()\n .name(\"example\")\n .resourceArn(example.id().applyValue(id -\u003e String.format(\"arn:aws:ec2:%s:%s:eip-allocation/%s\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),id)))\n .build());\n\n var exampleProtectionGroup = new ProtectionGroup(\"exampleProtectionGroup\", ProtectionGroupArgs.builder()\n .protectionGroupId(\"example\")\n .aggregation(\"MEAN\")\n .pattern(\"ARBITRARY\")\n .members(example.id().applyValue(id -\u003e String.format(\"arn:aws:ec2:%s:%s:eip-allocation/%s\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),id)))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleProtection)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n exampleProtection:\n type: aws:shield:Protection\n name: example\n properties:\n name: example\n resourceArn: arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${example.id}\n exampleProtectionGroup:\n type: aws:shield:ProtectionGroup\n name: example\n properties:\n protectionGroupId: example\n aggregation: MEAN\n pattern: ARBITRARY\n members:\n - arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${example.id}\n options:\n dependson:\n - ${exampleProtection}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create protection group for a type of resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.shield.ProtectionGroup(\"example\", {\n protectionGroupId: \"example\",\n aggregation: \"SUM\",\n pattern: \"BY_RESOURCE_TYPE\",\n resourceType: \"ELASTIC_IP_ALLOCATION\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.shield.ProtectionGroup(\"example\",\n protection_group_id=\"example\",\n aggregation=\"SUM\",\n pattern=\"BY_RESOURCE_TYPE\",\n resource_type=\"ELASTIC_IP_ALLOCATION\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Shield.ProtectionGroup(\"example\", new()\n {\n ProtectionGroupId = \"example\",\n Aggregation = \"SUM\",\n Pattern = \"BY_RESOURCE_TYPE\",\n ResourceType = \"ELASTIC_IP_ALLOCATION\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\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 := shield.NewProtectionGroup(ctx, \"example\", \u0026shield.ProtectionGroupArgs{\n\t\t\tProtectionGroupId: pulumi.String(\"example\"),\n\t\t\tAggregation: pulumi.String(\"SUM\"),\n\t\t\tPattern: pulumi.String(\"BY_RESOURCE_TYPE\"),\n\t\t\tResourceType: pulumi.String(\"ELASTIC_IP_ALLOCATION\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.shield.ProtectionGroup;\nimport com.pulumi.aws.shield.ProtectionGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ProtectionGroup(\"example\", ProtectionGroupArgs.builder()\n .protectionGroupId(\"example\")\n .aggregation(\"SUM\")\n .pattern(\"BY_RESOURCE_TYPE\")\n .resourceType(\"ELASTIC_IP_ALLOCATION\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:shield:ProtectionGroup\n properties:\n protectionGroupId: example\n aggregation: SUM\n pattern: BY_RESOURCE_TYPE\n resourceType: ELASTIC_IP_ALLOCATION\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield protection group resources using their protection group id. For example:\n\n```sh\n$ pulumi import aws:shield/protectionGroup:ProtectionGroup example example\n```\n", "properties": { "aggregation": { "type": "string", @@ -363673,7 +363673,7 @@ } }, "aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation": { - "description": "Creates an association between a Route53 Health Check and a Shield Advanced protected resource.\nThis association uses the health of your applications to improve responsiveness and accuracy in attack detection and mitigation.\n\nBlog post: [AWS Shield Advanced now supports Health Based Detection](https://aws.amazon.com/about-aws/whats-new/2020/02/aws-shield-advanced-now-supports-health-based-detection/)\n\n## Example Usage\n\n### Create an association between a protected EIP and a Route53 Health Check\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst example = new aws.ec2.Eip(\"example\", {\n domain: \"vpc\",\n tags: {\n Name: \"example\",\n },\n});\nconst exampleProtection = new aws.shield.Protection(\"example\", {\n name: \"example-protection\",\n resourceArn: pulumi.all([currentGetPartition, current, currentGetCallerIdentity, example.id]).apply(([currentGetPartition, current, currentGetCallerIdentity, id]) =\u003e `arn:${currentGetPartition.partition}:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${id}`),\n});\nconst exampleHealthCheck = new aws.route53.HealthCheck(\"example\", {\n ipAddress: example.publicIp,\n port: 80,\n type: \"HTTP\",\n resourcePath: \"/ready\",\n failureThreshold: 3,\n requestInterval: 30,\n tags: {\n Name: \"tf-example-health-check\",\n },\n});\nconst exampleProtectionHealthCheckAssociation = new aws.shield.ProtectionHealthCheckAssociation(\"example\", {\n healthCheckArn: exampleHealthCheck.arn,\n shieldProtectionId: exampleProtection.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\nexample = aws.ec2.Eip(\"example\",\n domain=\"vpc\",\n tags={\n \"Name\": \"example\",\n })\nexample_protection = aws.shield.Protection(\"example\",\n name=\"example-protection\",\n resource_arn=example.id.apply(lambda id: f\"arn:{current_get_partition.partition}:ec2:{current.name}:{current_get_caller_identity.account_id}:eip-allocation/{id}\"))\nexample_health_check = aws.route53.HealthCheck(\"example\",\n ip_address=example.public_ip,\n port=80,\n type=\"HTTP\",\n resource_path=\"/ready\",\n failure_threshold=3,\n request_interval=30,\n tags={\n \"Name\": \"tf-example-health-check\",\n })\nexample_protection_health_check_association = aws.shield.ProtectionHealthCheckAssociation(\"example\",\n health_check_arn=example_health_check.arn,\n shield_protection_id=example_protection.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var example = new Aws.Ec2.Eip(\"example\", new()\n {\n Domain = \"vpc\",\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n var exampleProtection = new Aws.Shield.Protection(\"example\", new()\n {\n Name = \"example-protection\",\n ResourceArn = Output.Tuple(currentGetPartition, current, currentGetCallerIdentity, example.Id).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var current = values.Item2;\n var currentGetCallerIdentity = values.Item3;\n var id = values.Item4;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:ec2:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:eip-allocation/{id}\";\n }),\n });\n\n var exampleHealthCheck = new Aws.Route53.HealthCheck(\"example\", new()\n {\n IpAddress = example.PublicIp,\n Port = 80,\n Type = \"HTTP\",\n ResourcePath = \"/ready\",\n FailureThreshold = 3,\n RequestInterval = 30,\n Tags = \n {\n { \"Name\", \"tf-example-health-check\" },\n },\n });\n\n var exampleProtectionHealthCheckAssociation = new Aws.Shield.ProtectionHealthCheckAssociation(\"example\", new()\n {\n HealthCheckArn = exampleHealthCheck.Arn,\n ShieldProtectionId = exampleProtection.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewEip(ctx, \"example\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProtection, err := shield.NewProtection(ctx, \"example\", \u0026shield.ProtectionArgs{\n\t\t\tName: pulumi.String(\"example-protection\"),\n\t\t\tResourceArn: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"arn:%v:ec2:%v:%v:eip-allocation/%v\", currentGetPartition.Partition, current.Name, currentGetCallerIdentity.AccountId, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHealthCheck, err := route53.NewHealthCheck(ctx, \"example\", \u0026route53.HealthCheckArgs{\n\t\t\tIpAddress: example.PublicIp,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tType: pulumi.String(\"HTTP\"),\n\t\t\tResourcePath: pulumi.String(\"/ready\"),\n\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\tRequestInterval: pulumi.Int(30),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example-health-check\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProtectionHealthCheckAssociation(ctx, \"example\", \u0026shield.ProtectionHealthCheckAssociationArgs{\n\t\t\tHealthCheckArn: exampleHealthCheck.Arn,\n\t\t\tShieldProtectionId: exampleProtection.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.aws.shield.Protection;\nimport com.pulumi.aws.shield.ProtectionArgs;\nimport com.pulumi.aws.route53.HealthCheck;\nimport com.pulumi.aws.route53.HealthCheckArgs;\nimport com.pulumi.aws.shield.ProtectionHealthCheckAssociation;\nimport com.pulumi.aws.shield.ProtectionHealthCheckAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n var example = new Eip(\"example\", EipArgs.builder()\n .domain(\"vpc\")\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n var exampleProtection = new Protection(\"exampleProtection\", ProtectionArgs.builder()\n .name(\"example-protection\")\n .resourceArn(example.id().applyValue(id -\u003e String.format(\"arn:%s:ec2:%s:%s:eip-allocation/%s\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),id)))\n .build());\n\n var exampleHealthCheck = new HealthCheck(\"exampleHealthCheck\", HealthCheckArgs.builder()\n .ipAddress(example.publicIp())\n .port(80)\n .type(\"HTTP\")\n .resourcePath(\"/ready\")\n .failureThreshold(\"3\")\n .requestInterval(\"30\")\n .tags(Map.of(\"Name\", \"tf-example-health-check\"))\n .build());\n\n var exampleProtectionHealthCheckAssociation = new ProtectionHealthCheckAssociation(\"exampleProtectionHealthCheckAssociation\", ProtectionHealthCheckAssociationArgs.builder()\n .healthCheckArn(exampleHealthCheck.arn())\n .shieldProtectionId(exampleProtection.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n tags:\n Name: example\n exampleProtection:\n type: aws:shield:Protection\n name: example\n properties:\n name: example-protection\n resourceArn: arn:${currentGetPartition.partition}:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${example.id}\n exampleHealthCheck:\n type: aws:route53:HealthCheck\n name: example\n properties:\n ipAddress: ${example.publicIp}\n port: 80\n type: HTTP\n resourcePath: /ready\n failureThreshold: '3'\n requestInterval: '30'\n tags:\n Name: tf-example-health-check\n exampleProtectionHealthCheckAssociation:\n type: aws:shield:ProtectionHealthCheckAssociation\n name: example\n properties:\n healthCheckArn: ${exampleHealthCheck.arn}\n shieldProtectionId: ${exampleProtection.id}\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n currentGetPartition:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield protection health check association resources using the `shield_protection_id` and `health_check_arn`. For example:\n\n```sh\n$ pulumi import aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation example ff9592dc-22f3-4e88-afa1-7b29fde9669a+arn:aws:route53:::healthcheck/3742b175-edb9-46bc-9359-f53e3b794b1b\n```\n", + "description": "Creates an association between a Route53 Health Check and a Shield Advanced protected resource.\nThis association uses the health of your applications to improve responsiveness and accuracy in attack detection and mitigation.\n\nBlog post: [AWS Shield Advanced now supports Health Based Detection](https://aws.amazon.com/about-aws/whats-new/2020/02/aws-shield-advanced-now-supports-health-based-detection/)\n\n## Example Usage\n\n### Create an association between a protected EIP and a Route53 Health Check\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst example = new aws.ec2.Eip(\"example\", {\n domain: \"vpc\",\n tags: {\n Name: \"example\",\n },\n});\nconst exampleProtection = new aws.shield.Protection(\"example\", {\n name: \"example-protection\",\n resourceArn: pulumi.all([currentGetPartition, current, currentGetCallerIdentity, example.id]).apply(([currentGetPartition, current, currentGetCallerIdentity, id]) =\u003e `arn:${currentGetPartition.partition}:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${id}`),\n});\nconst exampleHealthCheck = new aws.route53.HealthCheck(\"example\", {\n ipAddress: example.publicIp,\n port: 80,\n type: \"HTTP\",\n resourcePath: \"/ready\",\n failureThreshold: 3,\n requestInterval: 30,\n tags: {\n Name: \"tf-example-health-check\",\n },\n});\nconst exampleProtectionHealthCheckAssociation = new aws.shield.ProtectionHealthCheckAssociation(\"example\", {\n healthCheckArn: exampleHealthCheck.arn,\n shieldProtectionId: exampleProtection.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\nexample = aws.ec2.Eip(\"example\",\n domain=\"vpc\",\n tags={\n \"Name\": \"example\",\n })\nexample_protection = aws.shield.Protection(\"example\",\n name=\"example-protection\",\n resource_arn=example.id.apply(lambda id: f\"arn:{current_get_partition.partition}:ec2:{current.name}:{current_get_caller_identity.account_id}:eip-allocation/{id}\"))\nexample_health_check = aws.route53.HealthCheck(\"example\",\n ip_address=example.public_ip,\n port=80,\n type=\"HTTP\",\n resource_path=\"/ready\",\n failure_threshold=3,\n request_interval=30,\n tags={\n \"Name\": \"tf-example-health-check\",\n })\nexample_protection_health_check_association = aws.shield.ProtectionHealthCheckAssociation(\"example\",\n health_check_arn=example_health_check.arn,\n shield_protection_id=example_protection.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var example = new Aws.Ec2.Eip(\"example\", new()\n {\n Domain = \"vpc\",\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n var exampleProtection = new Aws.Shield.Protection(\"example\", new()\n {\n Name = \"example-protection\",\n ResourceArn = Output.Tuple(currentGetPartition, current, currentGetCallerIdentity, example.Id).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var current = values.Item2;\n var currentGetCallerIdentity = values.Item3;\n var id = values.Item4;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:ec2:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:eip-allocation/{id}\";\n }),\n });\n\n var exampleHealthCheck = new Aws.Route53.HealthCheck(\"example\", new()\n {\n IpAddress = example.PublicIp,\n Port = 80,\n Type = \"HTTP\",\n ResourcePath = \"/ready\",\n FailureThreshold = 3,\n RequestInterval = 30,\n Tags = \n {\n { \"Name\", \"tf-example-health-check\" },\n },\n });\n\n var exampleProtectionHealthCheckAssociation = new Aws.Shield.ProtectionHealthCheckAssociation(\"example\", new()\n {\n HealthCheckArn = exampleHealthCheck.Arn,\n ShieldProtectionId = exampleProtection.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewEip(ctx, \"example\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProtection, err := shield.NewProtection(ctx, \"example\", \u0026shield.ProtectionArgs{\n\t\t\tName: pulumi.String(\"example-protection\"),\n\t\t\tResourceArn: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"arn:%v:ec2:%v:%v:eip-allocation/%v\", currentGetPartition.Partition, current.Name, currentGetCallerIdentity.AccountId, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHealthCheck, err := route53.NewHealthCheck(ctx, \"example\", \u0026route53.HealthCheckArgs{\n\t\t\tIpAddress: example.PublicIp,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tType: pulumi.String(\"HTTP\"),\n\t\t\tResourcePath: pulumi.String(\"/ready\"),\n\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\tRequestInterval: pulumi.Int(30),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example-health-check\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProtectionHealthCheckAssociation(ctx, \"example\", \u0026shield.ProtectionHealthCheckAssociationArgs{\n\t\t\tHealthCheckArn: exampleHealthCheck.Arn,\n\t\t\tShieldProtectionId: exampleProtection.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.aws.shield.Protection;\nimport com.pulumi.aws.shield.ProtectionArgs;\nimport com.pulumi.aws.route53.HealthCheck;\nimport com.pulumi.aws.route53.HealthCheckArgs;\nimport com.pulumi.aws.shield.ProtectionHealthCheckAssociation;\nimport com.pulumi.aws.shield.ProtectionHealthCheckAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n var example = new Eip(\"example\", EipArgs.builder()\n .domain(\"vpc\")\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n var exampleProtection = new Protection(\"exampleProtection\", ProtectionArgs.builder()\n .name(\"example-protection\")\n .resourceArn(example.id().applyValue(id -\u003e String.format(\"arn:%s:ec2:%s:%s:eip-allocation/%s\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),id)))\n .build());\n\n var exampleHealthCheck = new HealthCheck(\"exampleHealthCheck\", HealthCheckArgs.builder()\n .ipAddress(example.publicIp())\n .port(80)\n .type(\"HTTP\")\n .resourcePath(\"/ready\")\n .failureThreshold(\"3\")\n .requestInterval(\"30\")\n .tags(Map.of(\"Name\", \"tf-example-health-check\"))\n .build());\n\n var exampleProtectionHealthCheckAssociation = new ProtectionHealthCheckAssociation(\"exampleProtectionHealthCheckAssociation\", ProtectionHealthCheckAssociationArgs.builder()\n .healthCheckArn(exampleHealthCheck.arn())\n .shieldProtectionId(exampleProtection.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n tags:\n Name: example\n exampleProtection:\n type: aws:shield:Protection\n name: example\n properties:\n name: example-protection\n resourceArn: arn:${currentGetPartition.partition}:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${example.id}\n exampleHealthCheck:\n type: aws:route53:HealthCheck\n name: example\n properties:\n ipAddress: ${example.publicIp}\n port: 80\n type: HTTP\n resourcePath: /ready\n failureThreshold: '3'\n requestInterval: '30'\n tags:\n Name: tf-example-health-check\n exampleProtectionHealthCheckAssociation:\n type: aws:shield:ProtectionHealthCheckAssociation\n name: example\n properties:\n healthCheckArn: ${exampleHealthCheck.arn}\n shieldProtectionId: ${exampleProtection.id}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield protection health check association resources using the `shield_protection_id` and `health_check_arn`. For example:\n\n```sh\n$ pulumi import aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation example ff9592dc-22f3-4e88-afa1-7b29fde9669a+arn:aws:route53:::healthcheck/3742b175-edb9-46bc-9359-f53e3b794b1b\n```\n", "properties": { "healthCheckArn": { "type": "string", @@ -365039,7 +365039,7 @@ } }, "aws:sns/topicPolicy:TopicPolicy": { - "description": "Provides an SNS topic policy resource\n\n\u003e **NOTE:** If a Principal is specified as just an AWS account ID rather than an ARN, AWS silently converts it to the ARN for the root user, causing future deployments to differ. To avoid this problem, just specify the full ARN, e.g. `arn:aws:iam::123456789012:root`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.sns.Topic(\"test\", {name: \"my-topic-with-policy\"});\nconst snsTopicPolicy = test.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n policyId: \"__default_policy_ID\",\n statements: [{\n actions: [\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n conditions: [{\n test: \"StringEquals\",\n variable: \"AWS:SourceOwner\",\n values: [account_id],\n }],\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [arn],\n sid: \"__default_statement_ID\",\n }],\n}));\nconst _default = new aws.sns.TopicPolicy(\"default\", {\n arn: test.arn,\n policy: snsTopicPolicy.apply(snsTopicPolicy =\u003e snsTopicPolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.sns.Topic(\"test\", name=\"my-topic-with-policy\")\nsns_topic_policy = test.arn.apply(lambda arn: aws.iam.get_policy_document_output(policy_id=\"__default_policy_ID\",\n statements=[{\n \"actions\": [\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"AWS:SourceOwner\",\n \"values\": [account_id],\n }],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"resources\": [arn],\n \"sid\": \"__default_statement_ID\",\n }]))\ndefault = aws.sns.TopicPolicy(\"default\",\n arn=test.arn,\n policy=sns_topic_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Sns.Topic(\"test\", new()\n {\n Name = \"my-topic-with-policy\",\n });\n\n var snsTopicPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = \"__default_policy_ID\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"AWS:SourceOwner\",\n Values = new[]\n {\n account_id,\n },\n },\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n test.Arn,\n },\n Sid = \"__default_statement_ID\",\n },\n },\n });\n\n var @default = new Aws.Sns.TopicPolicy(\"default\", new()\n {\n Arn = test.Arn,\n Policy = snsTopicPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntest, err := sns.NewTopic(ctx, \"test\", \u0026sns.TopicArgs{\nName: pulumi.String(\"my-topic-with-policy\"),\n})\nif err != nil {\nreturn err\n}\nsnsTopicPolicy := test.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nPolicyId: \"__default_policy_ID\",\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:SetTopicAttributes\",\n\"SNS:RemovePermission\",\n\"SNS:Receive\",\n\"SNS:Publish\",\n\"SNS:ListSubscriptionsByTopic\",\n\"SNS:GetTopicAttributes\",\n\"SNS:DeleteTopic\",\n\"SNS:AddPermission\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"AWS:SourceOwner\",\nValues: interface{}{\naccount_id,\n},\n},\n},\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: interface{}{\narn,\n},\nSid: \"__default_statement_ID\",\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"default\", \u0026sns.TopicPolicyArgs{\nArn: test.Arn,\nPolicy: pulumi.String(snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026snsTopicPolicy.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Topic(\"test\", TopicArgs.builder()\n .name(\"my-topic-with-policy\")\n .build());\n\n final var snsTopicPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(\"__default_policy_ID\")\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"AWS:SourceOwner\")\n .values(account_id)\n .build())\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(test.arn())\n .sid(\"__default_statement_ID\")\n .build())\n .build());\n\n var default_ = new TopicPolicy(\"default\", TopicPolicyArgs.builder()\n .arn(test.arn())\n .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(snsTopicPolicy -\u003e snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:sns:Topic\n properties:\n name: my-topic-with-policy\n default:\n type: aws:sns:TopicPolicy\n properties:\n arn: ${test.arn}\n policy: ${snsTopicPolicy.json}\nvariables:\n snsTopicPolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n policyId: __default_policy_ID\n statements:\n - actions:\n - SNS:Subscribe\n - SNS:SetTopicAttributes\n - SNS:RemovePermission\n - SNS:Receive\n - SNS:Publish\n - SNS:ListSubscriptionsByTopic\n - SNS:GetTopicAttributes\n - SNS:DeleteTopic\n - SNS:AddPermission\n conditions:\n - test: StringEquals\n variable: AWS:SourceOwner\n values:\n - ${[\"account-id\"]}\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - ${test.arn}\n sid: __default_statement_ID\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SNS Topic Policy using the topic ARN. For example:\n\n```sh\n$ pulumi import aws:sns/topicPolicy:TopicPolicy user_updates arn:aws:sns:us-west-2:123456789012:my-topic\n```\n", + "description": "Provides an SNS topic policy resource\n\n\u003e **NOTE:** If a Principal is specified as just an AWS account ID rather than an ARN, AWS silently converts it to the ARN for the root user, causing future deployments to differ. To avoid this problem, just specify the full ARN, e.g. `arn:aws:iam::123456789012:root`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.sns.Topic(\"test\", {name: \"my-topic-with-policy\"});\nconst snsTopicPolicy = test.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n policyId: \"__default_policy_ID\",\n statements: [{\n actions: [\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n conditions: [{\n test: \"StringEquals\",\n variable: \"AWS:SourceOwner\",\n values: [account_id],\n }],\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [arn],\n sid: \"__default_statement_ID\",\n }],\n}));\nconst _default = new aws.sns.TopicPolicy(\"default\", {\n arn: test.arn,\n policy: snsTopicPolicy.apply(snsTopicPolicy =\u003e snsTopicPolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.sns.Topic(\"test\", name=\"my-topic-with-policy\")\nsns_topic_policy = test.arn.apply(lambda arn: aws.iam.get_policy_document_output(policy_id=\"__default_policy_ID\",\n statements=[{\n \"actions\": [\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"AWS:SourceOwner\",\n \"values\": [account_id],\n }],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"resources\": [arn],\n \"sid\": \"__default_statement_ID\",\n }]))\ndefault = aws.sns.TopicPolicy(\"default\",\n arn=test.arn,\n policy=sns_topic_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Sns.Topic(\"test\", new()\n {\n Name = \"my-topic-with-policy\",\n });\n\n var snsTopicPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = \"__default_policy_ID\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"AWS:SourceOwner\",\n Values = new[]\n {\n account_id,\n },\n },\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n test.Arn,\n },\n Sid = \"__default_statement_ID\",\n },\n },\n });\n\n var @default = new Aws.Sns.TopicPolicy(\"default\", new()\n {\n Arn = test.Arn,\n Policy = snsTopicPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntest, err := sns.NewTopic(ctx, \"test\", \u0026sns.TopicArgs{\nName: pulumi.String(\"my-topic-with-policy\"),\n})\nif err != nil {\nreturn err\n}\nsnsTopicPolicy := test.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nPolicyId: \"__default_policy_ID\",\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:SetTopicAttributes\",\n\"SNS:RemovePermission\",\n\"SNS:Receive\",\n\"SNS:Publish\",\n\"SNS:ListSubscriptionsByTopic\",\n\"SNS:GetTopicAttributes\",\n\"SNS:DeleteTopic\",\n\"SNS:AddPermission\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"AWS:SourceOwner\",\nValues: interface{}{\naccount_id,\n},\n},\n},\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: interface{}{\narn,\n},\nSid: \"__default_statement_ID\",\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"default\", \u0026sns.TopicPolicyArgs{\nArn: test.Arn,\nPolicy: pulumi.String(snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026snsTopicPolicy.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Topic(\"test\", TopicArgs.builder()\n .name(\"my-topic-with-policy\")\n .build());\n\n final var snsTopicPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(\"__default_policy_ID\")\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"AWS:SourceOwner\")\n .values(account_id)\n .build())\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(test.arn())\n .sid(\"__default_statement_ID\")\n .build())\n .build());\n\n var default_ = new TopicPolicy(\"default\", TopicPolicyArgs.builder()\n .arn(test.arn())\n .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(snsTopicPolicy -\u003e snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:sns:Topic\n properties:\n name: my-topic-with-policy\n default:\n type: aws:sns:TopicPolicy\n properties:\n arn: ${test.arn}\n policy: ${snsTopicPolicy.json}\nvariables:\n snsTopicPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n policyId: __default_policy_ID\n statements:\n - actions:\n - SNS:Subscribe\n - SNS:SetTopicAttributes\n - SNS:RemovePermission\n - SNS:Receive\n - SNS:Publish\n - SNS:ListSubscriptionsByTopic\n - SNS:GetTopicAttributes\n - SNS:DeleteTopic\n - SNS:AddPermission\n conditions:\n - test: StringEquals\n variable: AWS:SourceOwner\n values:\n - ${[\"account-id\"]}\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - ${test.arn}\n sid: __default_statement_ID\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SNS Topic Policy using the topic ARN. For example:\n\n```sh\n$ pulumi import aws:sns/topicPolicy:TopicPolicy user_updates arn:aws:sns:us-west-2:123456789012:my-topic\n```\n", "properties": { "arn": { "type": "string", @@ -365113,7 +365113,7 @@ } }, "aws:sns/topicSubscription:TopicSubscription": { - "description": "Provides a resource for subscribing to SNS topics. Requires that an SNS topic exist for the subscription to attach to. This resource allows you to automatically place messages sent to SNS topics in SQS queues, send them as HTTP(S) POST requests to a given endpoint, send SMS messages, or notify devices / applications. The most likely use case for provider users will probably be SQS queues.\n\n\u003e **NOTE:** If the SNS topic and SQS queue are in different AWS regions, the `aws.sns.TopicSubscription` must use an AWS provider that is in the same region as the SNS topic. If the `aws.sns.TopicSubscription` uses a provider with a different region than the SNS topic, this provider will fail to create the subscription.\n\n\u003e **NOTE:** Setup of cross-account subscriptions from SNS topics to SQS queues requires the provider to have access to BOTH accounts.\n\n\u003e **NOTE:** If an SNS topic and SQS queue are in different AWS accounts but the same region, the `aws.sns.TopicSubscription` must use the AWS provider for the account with the SQS queue. If `aws.sns.TopicSubscription` uses a Provider with a different account than the SQS queue, this provider creates the subscription but does not keep state and tries to re-create the subscription at every `apply`.\n\n\u003e **NOTE:** If an SNS topic and SQS queue are in different AWS accounts and different AWS regions, the subscription needs to be initiated from the account with the SQS queue but in the region of the SNS topic.\n\n\u003e **NOTE:** You cannot unsubscribe to a subscription that is pending confirmation. If you use `email`, `email-json`, or `http`/`https` (without auto-confirmation enabled), until the subscription is confirmed (e.g., outside of this provider), AWS does not allow this provider to delete / unsubscribe the subscription. If you `destroy` an unconfirmed subscription, this provider will remove the subscription from its state but the subscription will still exist in AWS. However, if you delete an SNS topic, SNS [deletes all the subscriptions](https://docs.aws.amazon.com/sns/latest/dg/sns-delete-subscription-topic.html) associated with the topic. Also, you can import a subscription after confirmation and then have the capability to delete it.\n\n## Example Usage\n\nYou can directly supply a topic and ARN by hand in the `topic_arn` property along with the queue ARN:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst userUpdatesSqsTarget = new aws.sns.TopicSubscription(\"user_updates_sqs_target\", {\n topic: \"arn:aws:sns:us-west-2:432981146916:user-updates-topic\",\n protocol: \"sqs\",\n endpoint: \"arn:aws:sqs:us-west-2:432981146916:queue-too\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser_updates_sqs_target = aws.sns.TopicSubscription(\"user_updates_sqs_target\",\n topic=\"arn:aws:sns:us-west-2:432981146916:user-updates-topic\",\n protocol=\"sqs\",\n endpoint=\"arn:aws:sqs:us-west-2:432981146916:queue-too\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userUpdatesSqsTarget = new Aws.Sns.TopicSubscription(\"user_updates_sqs_target\", new()\n {\n Topic = \"arn:aws:sns:us-west-2:432981146916:user-updates-topic\",\n Protocol = \"sqs\",\n Endpoint = \"arn:aws:sqs:us-west-2:432981146916:queue-too\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\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 := sns.NewTopicSubscription(ctx, \"user_updates_sqs_target\", \u0026sns.TopicSubscriptionArgs{\n\t\t\tTopic: pulumi.Any(\"arn:aws:sns:us-west-2:432981146916:user-updates-topic\"),\n\t\t\tProtocol: pulumi.String(\"sqs\"),\n\t\t\tEndpoint: pulumi.String(\"arn:aws:sqs:us-west-2:432981146916:queue-too\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var userUpdatesSqsTarget = new TopicSubscription(\"userUpdatesSqsTarget\", TopicSubscriptionArgs.builder()\n .topic(\"arn:aws:sns:us-west-2:432981146916:user-updates-topic\")\n .protocol(\"sqs\")\n .endpoint(\"arn:aws:sqs:us-west-2:432981146916:queue-too\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userUpdatesSqsTarget:\n type: aws:sns:TopicSubscription\n name: user_updates_sqs_target\n properties:\n topic: arn:aws:sns:us-west-2:432981146916:user-updates-topic\n protocol: sqs\n endpoint: arn:aws:sqs:us-west-2:432981146916:queue-too\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAlternatively you can use the ARN properties of a managed SNS topic and SQS queue:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst userUpdates = new aws.sns.Topic(\"user_updates\", {name: \"user-updates-topic\"});\nconst userUpdatesQueue = new aws.sqs.Queue(\"user_updates_queue\", {name: \"user-updates-queue\"});\nconst userUpdatesSqsTarget = new aws.sns.TopicSubscription(\"user_updates_sqs_target\", {\n topic: userUpdates.arn,\n protocol: \"sqs\",\n endpoint: userUpdatesQueue.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser_updates = aws.sns.Topic(\"user_updates\", name=\"user-updates-topic\")\nuser_updates_queue = aws.sqs.Queue(\"user_updates_queue\", name=\"user-updates-queue\")\nuser_updates_sqs_target = aws.sns.TopicSubscription(\"user_updates_sqs_target\",\n topic=user_updates.arn,\n protocol=\"sqs\",\n endpoint=user_updates_queue.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userUpdates = new Aws.Sns.Topic(\"user_updates\", new()\n {\n Name = \"user-updates-topic\",\n });\n\n var userUpdatesQueue = new Aws.Sqs.Queue(\"user_updates_queue\", new()\n {\n Name = \"user-updates-queue\",\n });\n\n var userUpdatesSqsTarget = new Aws.Sns.TopicSubscription(\"user_updates_sqs_target\", new()\n {\n Topic = userUpdates.Arn,\n Protocol = \"sqs\",\n Endpoint = userUpdatesQueue.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuserUpdates, err := sns.NewTopic(ctx, \"user_updates\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"user-updates-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuserUpdatesQueue, err := sqs.NewQueue(ctx, \"user_updates_queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"user-updates-queue\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sns.NewTopicSubscription(ctx, \"user_updates_sqs_target\", \u0026sns.TopicSubscriptionArgs{\n\t\t\tTopic: userUpdates.Arn,\n\t\t\tProtocol: pulumi.String(\"sqs\"),\n\t\t\tEndpoint: userUpdatesQueue.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var userUpdates = new Topic(\"userUpdates\", TopicArgs.builder()\n .name(\"user-updates-topic\")\n .build());\n\n var userUpdatesQueue = new Queue(\"userUpdatesQueue\", QueueArgs.builder()\n .name(\"user-updates-queue\")\n .build());\n\n var userUpdatesSqsTarget = new TopicSubscription(\"userUpdatesSqsTarget\", TopicSubscriptionArgs.builder()\n .topic(userUpdates.arn())\n .protocol(\"sqs\")\n .endpoint(userUpdatesQueue.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userUpdates:\n type: aws:sns:Topic\n name: user_updates\n properties:\n name: user-updates-topic\n userUpdatesQueue:\n type: aws:sqs:Queue\n name: user_updates_queue\n properties:\n name: user-updates-queue\n userUpdatesSqsTarget:\n type: aws:sns:TopicSubscription\n name: user_updates_sqs_target\n properties:\n topic: ${userUpdates.arn}\n protocol: sqs\n endpoint: ${userUpdatesQueue.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can subscribe SNS topics to SQS queues in different Amazon accounts and regions:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst sns = config.getObject(\"sns\") || {\n \"account-id\": \"111111111111\",\n displayName: \"example\",\n name: \"example-sns-topic\",\n region: \"us-west-1\",\n \"role-name\": \"service/service\",\n};\nconst sqs = config.getObject(\"sqs\") || {\n \"account-id\": \"222222222222\",\n name: \"example-sqs-queue\",\n region: \"us-east-1\",\n \"role-name\": \"service/service\",\n};\nconst sns-topic-policy = aws.iam.getPolicyDocument({\n policyId: \"__default_policy_ID\",\n statements: [\n {\n actions: [\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n conditions: [{\n test: \"StringEquals\",\n variable: \"AWS:SourceOwner\",\n values: [sns[\"account-id\"]],\n }],\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [`arn:aws:sns:${sns.region}:${sns[\"account-id\"]}:${sns.name}`],\n sid: \"__default_statement_ID\",\n },\n {\n actions: [\n \"SNS:Subscribe\",\n \"SNS:Receive\",\n ],\n conditions: [{\n test: \"StringLike\",\n variable: \"SNS:Endpoint\",\n values: [`arn:aws:sqs:${sqs.region}:${sqs[\"account-id\"]}:${sqs.name}`],\n }],\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [`arn:aws:sns:${sns.region}:${sns[\"account-id\"]}:${sns.name}`],\n sid: \"__console_sub_0\",\n },\n ],\n});\nconst sqs-queue-policy = aws.iam.getPolicyDocument({\n policyId: `arn:aws:sqs:${sqs.region}:${sqs[\"account-id\"]}:${sqs.name}/SQSDefaultPolicy`,\n statements: [{\n sid: \"example-sns-topic\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n actions: [\"SQS:SendMessage\"],\n resources: [`arn:aws:sqs:${sqs.region}:${sqs[\"account-id\"]}:${sqs.name}`],\n conditions: [{\n test: \"ArnEquals\",\n variable: \"aws:SourceArn\",\n values: [`arn:aws:sns:${sns.region}:${sns[\"account-id\"]}:${sns.name}`],\n }],\n }],\n});\nconst sns_topic = new aws.sns.Topic(\"sns-topic\", {\n name: sns.name,\n displayName: sns.display_name,\n policy: sns_topic_policy.then(sns_topic_policy =\u003e sns_topic_policy.json),\n});\nconst sqs_queue = new aws.sqs.Queue(\"sqs-queue\", {\n name: sqs.name,\n policy: sqs_queue_policy.then(sqs_queue_policy =\u003e sqs_queue_policy.json),\n});\nconst sns_topicTopicSubscription = new aws.sns.TopicSubscription(\"sns-topic\", {\n topic: sns_topic.arn,\n protocol: \"sqs\",\n endpoint: sqs_queue.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsns = config.get_object(\"sns\")\nif sns is None:\n sns = {\n \"account-id\": \"111111111111\",\n \"displayName\": \"example\",\n \"name\": \"example-sns-topic\",\n \"region\": \"us-west-1\",\n \"role-name\": \"service/service\",\n }\nsqs = config.get_object(\"sqs\")\nif sqs is None:\n sqs = {\n \"account-id\": \"222222222222\",\n \"name\": \"example-sqs-queue\",\n \"region\": \"us-east-1\",\n \"role-name\": \"service/service\",\n }\nsns_topic_policy = aws.iam.get_policy_document(policy_id=\"__default_policy_ID\",\n statements=[\n {\n \"actions\": [\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"AWS:SourceOwner\",\n \"values\": [sns[\"account-id\"]],\n }],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"resources\": [f\"arn:aws:sns:{sns['region']}:{sns['account-id']}:{sns['name']}\"],\n \"sid\": \"__default_statement_ID\",\n },\n {\n \"actions\": [\n \"SNS:Subscribe\",\n \"SNS:Receive\",\n ],\n \"conditions\": [{\n \"test\": \"StringLike\",\n \"variable\": \"SNS:Endpoint\",\n \"values\": [f\"arn:aws:sqs:{sqs['region']}:{sqs['account-id']}:{sqs['name']}\"],\n }],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"resources\": [f\"arn:aws:sns:{sns['region']}:{sns['account-id']}:{sns['name']}\"],\n \"sid\": \"__console_sub_0\",\n },\n ])\nsqs_queue_policy = aws.iam.get_policy_document(policy_id=f\"arn:aws:sqs:{sqs['region']}:{sqs['account-id']}:{sqs['name']}/SQSDefaultPolicy\",\n statements=[{\n \"sid\": \"example-sns-topic\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"SQS:SendMessage\"],\n \"resources\": [f\"arn:aws:sqs:{sqs['region']}:{sqs['account-id']}:{sqs['name']}\"],\n \"conditions\": [{\n \"test\": \"ArnEquals\",\n \"variable\": \"aws:SourceArn\",\n \"values\": [f\"arn:aws:sns:{sns['region']}:{sns['account-id']}:{sns['name']}\"],\n }],\n }])\nsns_topic = aws.sns.Topic(\"sns-topic\",\n name=sns[\"name\"],\n display_name=sns[\"display_name\"],\n policy=sns_topic_policy.json)\nsqs_queue = aws.sqs.Queue(\"sqs-queue\",\n name=sqs[\"name\"],\n policy=sqs_queue_policy.json)\nsns_topic_topic_subscription = aws.sns.TopicSubscription(\"sns-topic\",\n topic=sns_topic.arn,\n protocol=\"sqs\",\n endpoint=sqs_queue.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var sns = config.GetObject\u003cdynamic\u003e(\"sns\") ?? \n {\n { \"account-id\", \"111111111111\" },\n { \"displayName\", \"example\" },\n { \"name\", \"example-sns-topic\" },\n { \"region\", \"us-west-1\" },\n { \"role-name\", \"service/service\" },\n };\n var sqs = config.GetObject\u003cdynamic\u003e(\"sqs\") ?? \n {\n { \"account-id\", \"222222222222\" },\n { \"name\", \"example-sqs-queue\" },\n { \"region\", \"us-east-1\" },\n { \"role-name\", \"service/service\" },\n };\n var sns_topic_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = \"__default_policy_ID\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"AWS:SourceOwner\",\n Values = new[]\n {\n sns.Account_id,\n },\n },\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n $\"arn:aws:sns:{sns.Region}:{sns.Account_id}:{sns.Name}\",\n },\n Sid = \"__default_statement_ID\",\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:Receive\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringLike\",\n Variable = \"SNS:Endpoint\",\n Values = new[]\n {\n $\"arn:aws:sqs:{sqs.Region}:{sqs.Account_id}:{sqs.Name}\",\n },\n },\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n $\"arn:aws:sns:{sns.Region}:{sns.Account_id}:{sns.Name}\",\n },\n Sid = \"__console_sub_0\",\n },\n },\n });\n\n var sqs_queue_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = $\"arn:aws:sqs:{sqs.Region}:{sqs.Account_id}:{sqs.Name}/SQSDefaultPolicy\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"example-sns-topic\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"SQS:SendMessage\",\n },\n Resources = new[]\n {\n $\"arn:aws:sqs:{sqs.Region}:{sqs.Account_id}:{sqs.Name}\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n $\"arn:aws:sns:{sns.Region}:{sns.Account_id}:{sns.Name}\",\n },\n },\n },\n },\n },\n });\n\n var sns_topic = new Aws.Sns.Topic(\"sns-topic\", new()\n {\n Name = sns.Name,\n DisplayName = sns.Display_name,\n Policy = sns_topic_policy.Apply(sns_topic_policy =\u003e sns_topic_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n var sqs_queue = new Aws.Sqs.Queue(\"sqs-queue\", new()\n {\n Name = sqs.Name,\n Policy = sqs_queue_policy.Apply(sqs_queue_policy =\u003e sqs_queue_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n var sns_topicTopicSubscription = new Aws.Sns.TopicSubscription(\"sns-topic\", new()\n {\n Topic = sns_topic.Arn,\n Protocol = \"sqs\",\n Endpoint = sqs_queue.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nsns := map[string]interface{}{\n\"account-id\": \"111111111111\",\n\"displayName\": \"example\",\n\"name\": \"example-sns-topic\",\n\"region\": \"us-west-1\",\n\"role-name\": \"service/service\",\n};\nif param := cfg.GetObject(\"sns\"); param != nil {\nsns = param\n}\nsqs := map[string]interface{}{\n\"account-id\": \"222222222222\",\n\"name\": \"example-sqs-queue\",\n\"region\": \"us-east-1\",\n\"role-name\": \"service/service\",\n};\nif param := cfg.GetObject(\"sqs\"); param != nil {\nsqs = param\n}\nsns_topic_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nPolicyId: pulumi.StringRef(\"__default_policy_ID\"),\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:SetTopicAttributes\",\n\"SNS:RemovePermission\",\n\"SNS:Publish\",\n\"SNS:ListSubscriptionsByTopic\",\n\"SNS:GetTopicAttributes\",\n\"SNS:DeleteTopic\",\n\"SNS:AddPermission\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"AWS:SourceOwner\",\nValues: interface{}{\nsns.AccountId,\n},\n},\n},\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: []string{\nfmt.Sprintf(\"arn:aws:sns:%v:%v:%v\", sns.Region, sns.AccountId, sns.Name),\n},\nSid: pulumi.StringRef(\"__default_statement_ID\"),\n},\n{\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:Receive\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringLike\",\nVariable: \"SNS:Endpoint\",\nValues: []string{\nfmt.Sprintf(\"arn:aws:sqs:%v:%v:%v\", sqs.Region, sqs.AccountId, sqs.Name),\n},\n},\n},\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: []string{\nfmt.Sprintf(\"arn:aws:sns:%v:%v:%v\", sns.Region, sns.AccountId, sns.Name),\n},\nSid: pulumi.StringRef(\"__console_sub_0\"),\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nsqs_queue_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nPolicyId: pulumi.StringRef(fmt.Sprintf(\"arn:aws:sqs:%v:%v:%v/SQSDefaultPolicy\", sqs.Region, sqs.AccountId, sqs.Name)),\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"example-sns-topic\"),\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nActions: []string{\n\"SQS:SendMessage\",\n},\nResources: []string{\nfmt.Sprintf(\"arn:aws:sqs:%v:%v:%v\", sqs.Region, sqs.AccountId, sqs.Name),\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"ArnEquals\",\nVariable: \"aws:SourceArn\",\nValues: []string{\nfmt.Sprintf(\"arn:aws:sns:%v:%v:%v\", sns.Region, sns.AccountId, sns.Name),\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = sns.NewTopic(ctx, \"sns-topic\", \u0026sns.TopicArgs{\nName: pulumi.Any(sns.Name),\nDisplayName: pulumi.Any(sns.Display_name),\nPolicy: pulumi.String(sns_topic_policy.Json),\n})\nif err != nil {\nreturn err\n}\n_, err = sqs.NewQueue(ctx, \"sqs-queue\", \u0026sqs.QueueArgs{\nName: pulumi.Any(sqs.Name),\nPolicy: pulumi.String(sqs_queue_policy.Json),\n})\nif err != nil {\nreturn err\n}\n_, err = sns.NewTopicSubscription(ctx, \"sns-topic\", \u0026sns.TopicSubscriptionArgs{\nTopic: sns_topic.Arn,\nProtocol: pulumi.String(\"sqs\"),\nEndpoint: sqs_queue.Arn,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var sns = config.get(\"sns\").orElse(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));\n final var sqs = config.get(\"sqs\").orElse(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));\n final var sns-topic-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(\"__default_policy_ID\")\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"AWS:SourceOwner\")\n .values(sns.account-id())\n .build())\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(String.format(\"arn:aws:sns:%s:%s:%s\", sns.region(),sns.account-id(),sns.name()))\n .sid(\"__default_statement_ID\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"SNS:Subscribe\",\n \"SNS:Receive\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringLike\")\n .variable(\"SNS:Endpoint\")\n .values(String.format(\"arn:aws:sqs:%s:%s:%s\", sqs.region(),sqs.account-id(),sqs.name()))\n .build())\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(String.format(\"arn:aws:sns:%s:%s:%s\", sns.region(),sns.account-id(),sns.name()))\n .sid(\"__console_sub_0\")\n .build())\n .build());\n\n final var sqs-queue-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(String.format(\"arn:aws:sqs:%s:%s:%s/SQSDefaultPolicy\", sqs.region(),sqs.account-id(),sqs.name()))\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"example-sns-topic\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .actions(\"SQS:SendMessage\")\n .resources(String.format(\"arn:aws:sqs:%s:%s:%s\", sqs.region(),sqs.account-id(),sqs.name()))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .variable(\"aws:SourceArn\")\n .values(String.format(\"arn:aws:sns:%s:%s:%s\", sns.region(),sns.account-id(),sns.name()))\n .build())\n .build())\n .build());\n\n var sns_topic = new Topic(\"sns-topic\", TopicArgs.builder()\n .name(sns.name())\n .displayName(sns.display_name())\n .policy(sns_topic_policy.json())\n .build());\n\n var sqs_queue = new Queue(\"sqs-queue\", QueueArgs.builder()\n .name(sqs.name())\n .policy(sqs_queue_policy.json())\n .build());\n\n var sns_topicTopicSubscription = new TopicSubscription(\"sns-topicTopicSubscription\", TopicSubscriptionArgs.builder()\n .topic(sns_topic.arn())\n .protocol(\"sqs\")\n .endpoint(sqs_queue.arn())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n sns:\n type: dynamic\n default:\n account-id: '111111111111'\n displayName: example\n name: example-sns-topic\n region: us-west-1\n role-name: service/service\n sqs:\n type: dynamic\n default:\n account-id: '222222222222'\n name: example-sqs-queue\n region: us-east-1\n role-name: service/service\nresources:\n sns-topic:\n type: aws:sns:Topic\n properties:\n name: ${sns.name}\n displayName: ${sns.display_name}\n policy: ${[\"sns-topic-policy\"].json}\n sqs-queue:\n type: aws:sqs:Queue\n properties:\n name: ${sqs.name}\n policy: ${[\"sqs-queue-policy\"].json}\n sns-topicTopicSubscription:\n type: aws:sns:TopicSubscription\n name: sns-topic\n properties:\n topic: ${[\"sns-topic\"].arn}\n protocol: sqs\n endpoint: ${[\"sqs-queue\"].arn}\nvariables:\n sns-topic-policy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n policyId: __default_policy_ID\n statements:\n - actions:\n - SNS:Subscribe\n - SNS:SetTopicAttributes\n - SNS:RemovePermission\n - SNS:Publish\n - SNS:ListSubscriptionsByTopic\n - SNS:GetTopicAttributes\n - SNS:DeleteTopic\n - SNS:AddPermission\n conditions:\n - test: StringEquals\n variable: AWS:SourceOwner\n values:\n - ${sns\"account-id\"[%!s(MISSING)]}\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - arn:aws:sns:${sns.region}:${sns\"account-id\"[%!s(MISSING)]}:${sns.name}\n sid: __default_statement_ID\n - actions:\n - SNS:Subscribe\n - SNS:Receive\n conditions:\n - test: StringLike\n variable: SNS:Endpoint\n values:\n - arn:aws:sqs:${sqs.region}:${sqs\"account-id\"[%!s(MISSING)]}:${sqs.name}\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - arn:aws:sns:${sns.region}:${sns\"account-id\"[%!s(MISSING)]}:${sns.name}\n sid: __console_sub_0\n sqs-queue-policy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n policyId: arn:aws:sqs:${sqs.region}:${sqs\"account-id\"[%!s(MISSING)]}:${sqs.name}/SQSDefaultPolicy\n statements:\n - sid: example-sns-topic\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n actions:\n - SQS:SendMessage\n resources:\n - arn:aws:sqs:${sqs.region}:${sqs\"account-id\"[%!s(MISSING)]}:${sqs.name}\n conditions:\n - test: ArnEquals\n variable: aws:SourceArn\n values:\n - arn:aws:sns:${sns.region}:${sns\"account-id\"[%!s(MISSING)]}:${sns.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SNS Topic Subscriptions using the subscription `arn`. For example:\n\n```sh\n$ pulumi import aws:sns/topicSubscription:TopicSubscription user_updates_sqs_target arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f\n```\n", + "description": "Provides a resource for subscribing to SNS topics. Requires that an SNS topic exist for the subscription to attach to. This resource allows you to automatically place messages sent to SNS topics in SQS queues, send them as HTTP(S) POST requests to a given endpoint, send SMS messages, or notify devices / applications. The most likely use case for provider users will probably be SQS queues.\n\n\u003e **NOTE:** If the SNS topic and SQS queue are in different AWS regions, the `aws.sns.TopicSubscription` must use an AWS provider that is in the same region as the SNS topic. If the `aws.sns.TopicSubscription` uses a provider with a different region than the SNS topic, this provider will fail to create the subscription.\n\n\u003e **NOTE:** Setup of cross-account subscriptions from SNS topics to SQS queues requires the provider to have access to BOTH accounts.\n\n\u003e **NOTE:** If an SNS topic and SQS queue are in different AWS accounts but the same region, the `aws.sns.TopicSubscription` must use the AWS provider for the account with the SQS queue. If `aws.sns.TopicSubscription` uses a Provider with a different account than the SQS queue, this provider creates the subscription but does not keep state and tries to re-create the subscription at every `apply`.\n\n\u003e **NOTE:** If an SNS topic and SQS queue are in different AWS accounts and different AWS regions, the subscription needs to be initiated from the account with the SQS queue but in the region of the SNS topic.\n\n\u003e **NOTE:** You cannot unsubscribe to a subscription that is pending confirmation. If you use `email`, `email-json`, or `http`/`https` (without auto-confirmation enabled), until the subscription is confirmed (e.g., outside of this provider), AWS does not allow this provider to delete / unsubscribe the subscription. If you `destroy` an unconfirmed subscription, this provider will remove the subscription from its state but the subscription will still exist in AWS. However, if you delete an SNS topic, SNS [deletes all the subscriptions](https://docs.aws.amazon.com/sns/latest/dg/sns-delete-subscription-topic.html) associated with the topic. Also, you can import a subscription after confirmation and then have the capability to delete it.\n\n## Example Usage\n\nYou can directly supply a topic and ARN by hand in the `topic_arn` property along with the queue ARN:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst userUpdatesSqsTarget = new aws.sns.TopicSubscription(\"user_updates_sqs_target\", {\n topic: \"arn:aws:sns:us-west-2:432981146916:user-updates-topic\",\n protocol: \"sqs\",\n endpoint: \"arn:aws:sqs:us-west-2:432981146916:queue-too\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser_updates_sqs_target = aws.sns.TopicSubscription(\"user_updates_sqs_target\",\n topic=\"arn:aws:sns:us-west-2:432981146916:user-updates-topic\",\n protocol=\"sqs\",\n endpoint=\"arn:aws:sqs:us-west-2:432981146916:queue-too\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userUpdatesSqsTarget = new Aws.Sns.TopicSubscription(\"user_updates_sqs_target\", new()\n {\n Topic = \"arn:aws:sns:us-west-2:432981146916:user-updates-topic\",\n Protocol = \"sqs\",\n Endpoint = \"arn:aws:sqs:us-west-2:432981146916:queue-too\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\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 := sns.NewTopicSubscription(ctx, \"user_updates_sqs_target\", \u0026sns.TopicSubscriptionArgs{\n\t\t\tTopic: pulumi.Any(\"arn:aws:sns:us-west-2:432981146916:user-updates-topic\"),\n\t\t\tProtocol: pulumi.String(\"sqs\"),\n\t\t\tEndpoint: pulumi.String(\"arn:aws:sqs:us-west-2:432981146916:queue-too\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var userUpdatesSqsTarget = new TopicSubscription(\"userUpdatesSqsTarget\", TopicSubscriptionArgs.builder()\n .topic(\"arn:aws:sns:us-west-2:432981146916:user-updates-topic\")\n .protocol(\"sqs\")\n .endpoint(\"arn:aws:sqs:us-west-2:432981146916:queue-too\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userUpdatesSqsTarget:\n type: aws:sns:TopicSubscription\n name: user_updates_sqs_target\n properties:\n topic: arn:aws:sns:us-west-2:432981146916:user-updates-topic\n protocol: sqs\n endpoint: arn:aws:sqs:us-west-2:432981146916:queue-too\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAlternatively you can use the ARN properties of a managed SNS topic and SQS queue:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst userUpdates = new aws.sns.Topic(\"user_updates\", {name: \"user-updates-topic\"});\nconst userUpdatesQueue = new aws.sqs.Queue(\"user_updates_queue\", {name: \"user-updates-queue\"});\nconst userUpdatesSqsTarget = new aws.sns.TopicSubscription(\"user_updates_sqs_target\", {\n topic: userUpdates.arn,\n protocol: \"sqs\",\n endpoint: userUpdatesQueue.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser_updates = aws.sns.Topic(\"user_updates\", name=\"user-updates-topic\")\nuser_updates_queue = aws.sqs.Queue(\"user_updates_queue\", name=\"user-updates-queue\")\nuser_updates_sqs_target = aws.sns.TopicSubscription(\"user_updates_sqs_target\",\n topic=user_updates.arn,\n protocol=\"sqs\",\n endpoint=user_updates_queue.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userUpdates = new Aws.Sns.Topic(\"user_updates\", new()\n {\n Name = \"user-updates-topic\",\n });\n\n var userUpdatesQueue = new Aws.Sqs.Queue(\"user_updates_queue\", new()\n {\n Name = \"user-updates-queue\",\n });\n\n var userUpdatesSqsTarget = new Aws.Sns.TopicSubscription(\"user_updates_sqs_target\", new()\n {\n Topic = userUpdates.Arn,\n Protocol = \"sqs\",\n Endpoint = userUpdatesQueue.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuserUpdates, err := sns.NewTopic(ctx, \"user_updates\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"user-updates-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuserUpdatesQueue, err := sqs.NewQueue(ctx, \"user_updates_queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"user-updates-queue\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sns.NewTopicSubscription(ctx, \"user_updates_sqs_target\", \u0026sns.TopicSubscriptionArgs{\n\t\t\tTopic: userUpdates.Arn,\n\t\t\tProtocol: pulumi.String(\"sqs\"),\n\t\t\tEndpoint: userUpdatesQueue.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var userUpdates = new Topic(\"userUpdates\", TopicArgs.builder()\n .name(\"user-updates-topic\")\n .build());\n\n var userUpdatesQueue = new Queue(\"userUpdatesQueue\", QueueArgs.builder()\n .name(\"user-updates-queue\")\n .build());\n\n var userUpdatesSqsTarget = new TopicSubscription(\"userUpdatesSqsTarget\", TopicSubscriptionArgs.builder()\n .topic(userUpdates.arn())\n .protocol(\"sqs\")\n .endpoint(userUpdatesQueue.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userUpdates:\n type: aws:sns:Topic\n name: user_updates\n properties:\n name: user-updates-topic\n userUpdatesQueue:\n type: aws:sqs:Queue\n name: user_updates_queue\n properties:\n name: user-updates-queue\n userUpdatesSqsTarget:\n type: aws:sns:TopicSubscription\n name: user_updates_sqs_target\n properties:\n topic: ${userUpdates.arn}\n protocol: sqs\n endpoint: ${userUpdatesQueue.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can subscribe SNS topics to SQS queues in different Amazon accounts and regions:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst sns = config.getObject(\"sns\") || {\n \"account-id\": \"111111111111\",\n displayName: \"example\",\n name: \"example-sns-topic\",\n region: \"us-west-1\",\n \"role-name\": \"service/service\",\n};\nconst sqs = config.getObject(\"sqs\") || {\n \"account-id\": \"222222222222\",\n name: \"example-sqs-queue\",\n region: \"us-east-1\",\n \"role-name\": \"service/service\",\n};\nconst sns-topic-policy = aws.iam.getPolicyDocument({\n policyId: \"__default_policy_ID\",\n statements: [\n {\n actions: [\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n conditions: [{\n test: \"StringEquals\",\n variable: \"AWS:SourceOwner\",\n values: [sns[\"account-id\"]],\n }],\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [`arn:aws:sns:${sns.region}:${sns[\"account-id\"]}:${sns.name}`],\n sid: \"__default_statement_ID\",\n },\n {\n actions: [\n \"SNS:Subscribe\",\n \"SNS:Receive\",\n ],\n conditions: [{\n test: \"StringLike\",\n variable: \"SNS:Endpoint\",\n values: [`arn:aws:sqs:${sqs.region}:${sqs[\"account-id\"]}:${sqs.name}`],\n }],\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [`arn:aws:sns:${sns.region}:${sns[\"account-id\"]}:${sns.name}`],\n sid: \"__console_sub_0\",\n },\n ],\n});\nconst sqs-queue-policy = aws.iam.getPolicyDocument({\n policyId: `arn:aws:sqs:${sqs.region}:${sqs[\"account-id\"]}:${sqs.name}/SQSDefaultPolicy`,\n statements: [{\n sid: \"example-sns-topic\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n actions: [\"SQS:SendMessage\"],\n resources: [`arn:aws:sqs:${sqs.region}:${sqs[\"account-id\"]}:${sqs.name}`],\n conditions: [{\n test: \"ArnEquals\",\n variable: \"aws:SourceArn\",\n values: [`arn:aws:sns:${sns.region}:${sns[\"account-id\"]}:${sns.name}`],\n }],\n }],\n});\nconst sns_topic = new aws.sns.Topic(\"sns-topic\", {\n name: sns.name,\n displayName: sns.display_name,\n policy: sns_topic_policy.then(sns_topic_policy =\u003e sns_topic_policy.json),\n});\nconst sqs_queue = new aws.sqs.Queue(\"sqs-queue\", {\n name: sqs.name,\n policy: sqs_queue_policy.then(sqs_queue_policy =\u003e sqs_queue_policy.json),\n});\nconst sns_topicTopicSubscription = new aws.sns.TopicSubscription(\"sns-topic\", {\n topic: sns_topic.arn,\n protocol: \"sqs\",\n endpoint: sqs_queue.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsns = config.get_object(\"sns\")\nif sns is None:\n sns = {\n \"account-id\": \"111111111111\",\n \"displayName\": \"example\",\n \"name\": \"example-sns-topic\",\n \"region\": \"us-west-1\",\n \"role-name\": \"service/service\",\n }\nsqs = config.get_object(\"sqs\")\nif sqs is None:\n sqs = {\n \"account-id\": \"222222222222\",\n \"name\": \"example-sqs-queue\",\n \"region\": \"us-east-1\",\n \"role-name\": \"service/service\",\n }\nsns_topic_policy = aws.iam.get_policy_document(policy_id=\"__default_policy_ID\",\n statements=[\n {\n \"actions\": [\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"AWS:SourceOwner\",\n \"values\": [sns[\"account-id\"]],\n }],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"resources\": [f\"arn:aws:sns:{sns['region']}:{sns['account-id']}:{sns['name']}\"],\n \"sid\": \"__default_statement_ID\",\n },\n {\n \"actions\": [\n \"SNS:Subscribe\",\n \"SNS:Receive\",\n ],\n \"conditions\": [{\n \"test\": \"StringLike\",\n \"variable\": \"SNS:Endpoint\",\n \"values\": [f\"arn:aws:sqs:{sqs['region']}:{sqs['account-id']}:{sqs['name']}\"],\n }],\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"resources\": [f\"arn:aws:sns:{sns['region']}:{sns['account-id']}:{sns['name']}\"],\n \"sid\": \"__console_sub_0\",\n },\n ])\nsqs_queue_policy = aws.iam.get_policy_document(policy_id=f\"arn:aws:sqs:{sqs['region']}:{sqs['account-id']}:{sqs['name']}/SQSDefaultPolicy\",\n statements=[{\n \"sid\": \"example-sns-topic\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"SQS:SendMessage\"],\n \"resources\": [f\"arn:aws:sqs:{sqs['region']}:{sqs['account-id']}:{sqs['name']}\"],\n \"conditions\": [{\n \"test\": \"ArnEquals\",\n \"variable\": \"aws:SourceArn\",\n \"values\": [f\"arn:aws:sns:{sns['region']}:{sns['account-id']}:{sns['name']}\"],\n }],\n }])\nsns_topic = aws.sns.Topic(\"sns-topic\",\n name=sns[\"name\"],\n display_name=sns[\"display_name\"],\n policy=sns_topic_policy.json)\nsqs_queue = aws.sqs.Queue(\"sqs-queue\",\n name=sqs[\"name\"],\n policy=sqs_queue_policy.json)\nsns_topic_topic_subscription = aws.sns.TopicSubscription(\"sns-topic\",\n topic=sns_topic.arn,\n protocol=\"sqs\",\n endpoint=sqs_queue.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var sns = config.GetObject\u003cdynamic\u003e(\"sns\") ?? \n {\n { \"account-id\", \"111111111111\" },\n { \"displayName\", \"example\" },\n { \"name\", \"example-sns-topic\" },\n { \"region\", \"us-west-1\" },\n { \"role-name\", \"service/service\" },\n };\n var sqs = config.GetObject\u003cdynamic\u003e(\"sqs\") ?? \n {\n { \"account-id\", \"222222222222\" },\n { \"name\", \"example-sqs-queue\" },\n { \"region\", \"us-east-1\" },\n { \"role-name\", \"service/service\" },\n };\n var sns_topic_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = \"__default_policy_ID\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"AWS:SourceOwner\",\n Values = new[]\n {\n sns.Account_id,\n },\n },\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n $\"arn:aws:sns:{sns.Region}:{sns.Account_id}:{sns.Name}\",\n },\n Sid = \"__default_statement_ID\",\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:Receive\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringLike\",\n Variable = \"SNS:Endpoint\",\n Values = new[]\n {\n $\"arn:aws:sqs:{sqs.Region}:{sqs.Account_id}:{sqs.Name}\",\n },\n },\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n $\"arn:aws:sns:{sns.Region}:{sns.Account_id}:{sns.Name}\",\n },\n Sid = \"__console_sub_0\",\n },\n },\n });\n\n var sqs_queue_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = $\"arn:aws:sqs:{sqs.Region}:{sqs.Account_id}:{sqs.Name}/SQSDefaultPolicy\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"example-sns-topic\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"SQS:SendMessage\",\n },\n Resources = new[]\n {\n $\"arn:aws:sqs:{sqs.Region}:{sqs.Account_id}:{sqs.Name}\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n $\"arn:aws:sns:{sns.Region}:{sns.Account_id}:{sns.Name}\",\n },\n },\n },\n },\n },\n });\n\n var sns_topic = new Aws.Sns.Topic(\"sns-topic\", new()\n {\n Name = sns.Name,\n DisplayName = sns.Display_name,\n Policy = sns_topic_policy.Apply(sns_topic_policy =\u003e sns_topic_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n var sqs_queue = new Aws.Sqs.Queue(\"sqs-queue\", new()\n {\n Name = sqs.Name,\n Policy = sqs_queue_policy.Apply(sqs_queue_policy =\u003e sqs_queue_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n var sns_topicTopicSubscription = new Aws.Sns.TopicSubscription(\"sns-topic\", new()\n {\n Topic = sns_topic.Arn,\n Protocol = \"sqs\",\n Endpoint = sqs_queue.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nsns := map[string]interface{}{\n\"account-id\": \"111111111111\",\n\"displayName\": \"example\",\n\"name\": \"example-sns-topic\",\n\"region\": \"us-west-1\",\n\"role-name\": \"service/service\",\n};\nif param := cfg.GetObject(\"sns\"); param != nil {\nsns = param\n}\nsqs := map[string]interface{}{\n\"account-id\": \"222222222222\",\n\"name\": \"example-sqs-queue\",\n\"region\": \"us-east-1\",\n\"role-name\": \"service/service\",\n};\nif param := cfg.GetObject(\"sqs\"); param != nil {\nsqs = param\n}\nsns_topic_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nPolicyId: pulumi.StringRef(\"__default_policy_ID\"),\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:SetTopicAttributes\",\n\"SNS:RemovePermission\",\n\"SNS:Publish\",\n\"SNS:ListSubscriptionsByTopic\",\n\"SNS:GetTopicAttributes\",\n\"SNS:DeleteTopic\",\n\"SNS:AddPermission\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"AWS:SourceOwner\",\nValues: interface{}{\nsns.AccountId,\n},\n},\n},\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: []string{\nfmt.Sprintf(\"arn:aws:sns:%v:%v:%v\", sns.Region, sns.AccountId, sns.Name),\n},\nSid: pulumi.StringRef(\"__default_statement_ID\"),\n},\n{\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:Receive\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringLike\",\nVariable: \"SNS:Endpoint\",\nValues: []string{\nfmt.Sprintf(\"arn:aws:sqs:%v:%v:%v\", sqs.Region, sqs.AccountId, sqs.Name),\n},\n},\n},\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: []string{\nfmt.Sprintf(\"arn:aws:sns:%v:%v:%v\", sns.Region, sns.AccountId, sns.Name),\n},\nSid: pulumi.StringRef(\"__console_sub_0\"),\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nsqs_queue_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nPolicyId: pulumi.StringRef(fmt.Sprintf(\"arn:aws:sqs:%v:%v:%v/SQSDefaultPolicy\", sqs.Region, sqs.AccountId, sqs.Name)),\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"example-sns-topic\"),\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nActions: []string{\n\"SQS:SendMessage\",\n},\nResources: []string{\nfmt.Sprintf(\"arn:aws:sqs:%v:%v:%v\", sqs.Region, sqs.AccountId, sqs.Name),\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"ArnEquals\",\nVariable: \"aws:SourceArn\",\nValues: []string{\nfmt.Sprintf(\"arn:aws:sns:%v:%v:%v\", sns.Region, sns.AccountId, sns.Name),\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = sns.NewTopic(ctx, \"sns-topic\", \u0026sns.TopicArgs{\nName: pulumi.Any(sns.Name),\nDisplayName: pulumi.Any(sns.Display_name),\nPolicy: pulumi.String(sns_topic_policy.Json),\n})\nif err != nil {\nreturn err\n}\n_, err = sqs.NewQueue(ctx, \"sqs-queue\", \u0026sqs.QueueArgs{\nName: pulumi.Any(sqs.Name),\nPolicy: pulumi.String(sqs_queue_policy.Json),\n})\nif err != nil {\nreturn err\n}\n_, err = sns.NewTopicSubscription(ctx, \"sns-topic\", \u0026sns.TopicSubscriptionArgs{\nTopic: sns_topic.Arn,\nProtocol: pulumi.String(\"sqs\"),\nEndpoint: sqs_queue.Arn,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var sns = config.get(\"sns\").orElse(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));\n final var sqs = config.get(\"sqs\").orElse(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));\n final var sns-topic-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(\"__default_policy_ID\")\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"AWS:SourceOwner\")\n .values(sns.account-id())\n .build())\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(String.format(\"arn:aws:sns:%s:%s:%s\", sns.region(),sns.account-id(),sns.name()))\n .sid(\"__default_statement_ID\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"SNS:Subscribe\",\n \"SNS:Receive\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringLike\")\n .variable(\"SNS:Endpoint\")\n .values(String.format(\"arn:aws:sqs:%s:%s:%s\", sqs.region(),sqs.account-id(),sqs.name()))\n .build())\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(String.format(\"arn:aws:sns:%s:%s:%s\", sns.region(),sns.account-id(),sns.name()))\n .sid(\"__console_sub_0\")\n .build())\n .build());\n\n final var sqs-queue-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(String.format(\"arn:aws:sqs:%s:%s:%s/SQSDefaultPolicy\", sqs.region(),sqs.account-id(),sqs.name()))\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"example-sns-topic\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .actions(\"SQS:SendMessage\")\n .resources(String.format(\"arn:aws:sqs:%s:%s:%s\", sqs.region(),sqs.account-id(),sqs.name()))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .variable(\"aws:SourceArn\")\n .values(String.format(\"arn:aws:sns:%s:%s:%s\", sns.region(),sns.account-id(),sns.name()))\n .build())\n .build())\n .build());\n\n var sns_topic = new Topic(\"sns-topic\", TopicArgs.builder()\n .name(sns.name())\n .displayName(sns.display_name())\n .policy(sns_topic_policy.json())\n .build());\n\n var sqs_queue = new Queue(\"sqs-queue\", QueueArgs.builder()\n .name(sqs.name())\n .policy(sqs_queue_policy.json())\n .build());\n\n var sns_topicTopicSubscription = new TopicSubscription(\"sns-topicTopicSubscription\", TopicSubscriptionArgs.builder()\n .topic(sns_topic.arn())\n .protocol(\"sqs\")\n .endpoint(sqs_queue.arn())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n sns:\n type: dynamic\n default:\n account-id: '111111111111'\n displayName: example\n name: example-sns-topic\n region: us-west-1\n role-name: service/service\n sqs:\n type: dynamic\n default:\n account-id: '222222222222'\n name: example-sqs-queue\n region: us-east-1\n role-name: service/service\nresources:\n sns-topic:\n type: aws:sns:Topic\n properties:\n name: ${sns.name}\n displayName: ${sns.display_name}\n policy: ${[\"sns-topic-policy\"].json}\n sqs-queue:\n type: aws:sqs:Queue\n properties:\n name: ${sqs.name}\n policy: ${[\"sqs-queue-policy\"].json}\n sns-topicTopicSubscription:\n type: aws:sns:TopicSubscription\n name: sns-topic\n properties:\n topic: ${[\"sns-topic\"].arn}\n protocol: sqs\n endpoint: ${[\"sqs-queue\"].arn}\nvariables:\n sns-topic-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n policyId: __default_policy_ID\n statements:\n - actions:\n - SNS:Subscribe\n - SNS:SetTopicAttributes\n - SNS:RemovePermission\n - SNS:Publish\n - SNS:ListSubscriptionsByTopic\n - SNS:GetTopicAttributes\n - SNS:DeleteTopic\n - SNS:AddPermission\n conditions:\n - test: StringEquals\n variable: AWS:SourceOwner\n values:\n - ${sns\"account-id\"[%!s(MISSING)]}\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - arn:aws:sns:${sns.region}:${sns\"account-id\"[%!s(MISSING)]}:${sns.name}\n sid: __default_statement_ID\n - actions:\n - SNS:Subscribe\n - SNS:Receive\n conditions:\n - test: StringLike\n variable: SNS:Endpoint\n values:\n - arn:aws:sqs:${sqs.region}:${sqs\"account-id\"[%!s(MISSING)]}:${sqs.name}\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - arn:aws:sns:${sns.region}:${sns\"account-id\"[%!s(MISSING)]}:${sns.name}\n sid: __console_sub_0\n sqs-queue-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n policyId: arn:aws:sqs:${sqs.region}:${sqs\"account-id\"[%!s(MISSING)]}:${sqs.name}/SQSDefaultPolicy\n statements:\n - sid: example-sns-topic\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n actions:\n - SQS:SendMessage\n resources:\n - arn:aws:sqs:${sqs.region}:${sqs\"account-id\"[%!s(MISSING)]}:${sqs.name}\n conditions:\n - test: ArnEquals\n variable: aws:SourceArn\n values:\n - arn:aws:sns:${sns.region}:${sns\"account-id\"[%!s(MISSING)]}:${sns.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SNS Topic Subscriptions using the subscription `arn`. For example:\n\n```sh\n$ pulumi import aws:sns/topicSubscription:TopicSubscription user_updates_sqs_target arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f\n```\n", "properties": { "arn": { "type": "string", @@ -365631,7 +365631,7 @@ } }, "aws:sqs/queuePolicy:QueuePolicy": { - "description": "Allows you to set a policy of an SQS Queue\nwhile referencing ARN of the queue within the policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst q = new aws.sqs.Queue(\"q\", {name: \"examplequeue\"});\nconst test = q.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"First\",\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"sqs:SendMessage\"],\n resources: [arn],\n conditions: [{\n test: \"ArnEquals\",\n variable: \"aws:SourceArn\",\n values: [example.arn],\n }],\n }],\n}));\nconst testQueuePolicy = new aws.sqs.QueuePolicy(\"test\", {\n queueUrl: q.id,\n policy: test.apply(test =\u003e test.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nq = aws.sqs.Queue(\"q\", name=\"examplequeue\")\ntest = q.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[{\n \"sid\": \"First\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"sqs:SendMessage\"],\n \"resources\": [arn],\n \"conditions\": [{\n \"test\": \"ArnEquals\",\n \"variable\": \"aws:SourceArn\",\n \"values\": [example[\"arn\"]],\n }],\n}]))\ntest_queue_policy = aws.sqs.QueuePolicy(\"test\",\n queue_url=q.id,\n policy=test.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var q = new Aws.Sqs.Queue(\"q\", new()\n {\n Name = \"examplequeue\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"First\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"sqs:SendMessage\",\n },\n Resources = new[]\n {\n q.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n example.Arn,\n },\n },\n },\n },\n },\n });\n\n var testQueuePolicy = new Aws.Sqs.QueuePolicy(\"test\", new()\n {\n QueueUrl = q.Id,\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nq, err := sqs.NewQueue(ctx, \"q\", \u0026sqs.QueueArgs{\nName: pulumi.String(\"examplequeue\"),\n})\nif err != nil {\nreturn err\n}\ntest := q.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: \"First\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"*\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nActions: []string{\n\"sqs:SendMessage\",\n},\nResources: []string{\narn,\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"ArnEquals\",\nVariable: \"aws:SourceArn\",\nValues: interface{}{\nexample.Arn,\n},\n},\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sqs.NewQueuePolicy(ctx, \"test\", \u0026sqs.QueuePolicyArgs{\nQueueUrl: q.ID(),\nPolicy: pulumi.String(test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026test.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sqs.QueuePolicy;\nimport com.pulumi.aws.sqs.QueuePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var q = new Queue(\"q\", QueueArgs.builder()\n .name(\"examplequeue\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"First\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"sqs:SendMessage\")\n .resources(q.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .variable(\"aws:SourceArn\")\n .values(example.arn())\n .build())\n .build())\n .build());\n\n var testQueuePolicy = new QueuePolicy(\"testQueuePolicy\", QueuePolicyArgs.builder()\n .queueUrl(q.id())\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n q:\n type: aws:sqs:Queue\n properties:\n name: examplequeue\n testQueuePolicy:\n type: aws:sqs:QueuePolicy\n name: test\n properties:\n queueUrl: ${q.id}\n policy: ${test.json}\nvariables:\n test:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: First\n effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - sqs:SendMessage\n resources:\n - ${q.arn}\n conditions:\n - test: ArnEquals\n variable: aws:SourceArn\n values:\n - ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SQS Queue Policies using the queue URL. For example:\n\n```sh\n$ pulumi import aws:sqs/queuePolicy:QueuePolicy test https://queue.amazonaws.com/123456789012/myqueue\n```\n", + "description": "Allows you to set a policy of an SQS Queue\nwhile referencing ARN of the queue within the policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst q = new aws.sqs.Queue(\"q\", {name: \"examplequeue\"});\nconst test = q.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"First\",\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"sqs:SendMessage\"],\n resources: [arn],\n conditions: [{\n test: \"ArnEquals\",\n variable: \"aws:SourceArn\",\n values: [example.arn],\n }],\n }],\n}));\nconst testQueuePolicy = new aws.sqs.QueuePolicy(\"test\", {\n queueUrl: q.id,\n policy: test.apply(test =\u003e test.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nq = aws.sqs.Queue(\"q\", name=\"examplequeue\")\ntest = q.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[{\n \"sid\": \"First\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"*\",\n \"identifiers\": [\"*\"],\n }],\n \"actions\": [\"sqs:SendMessage\"],\n \"resources\": [arn],\n \"conditions\": [{\n \"test\": \"ArnEquals\",\n \"variable\": \"aws:SourceArn\",\n \"values\": [example[\"arn\"]],\n }],\n}]))\ntest_queue_policy = aws.sqs.QueuePolicy(\"test\",\n queue_url=q.id,\n policy=test.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var q = new Aws.Sqs.Queue(\"q\", new()\n {\n Name = \"examplequeue\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"First\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"sqs:SendMessage\",\n },\n Resources = new[]\n {\n q.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n example.Arn,\n },\n },\n },\n },\n },\n });\n\n var testQueuePolicy = new Aws.Sqs.QueuePolicy(\"test\", new()\n {\n QueueUrl = q.Id,\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nq, err := sqs.NewQueue(ctx, \"q\", \u0026sqs.QueueArgs{\nName: pulumi.String(\"examplequeue\"),\n})\nif err != nil {\nreturn err\n}\ntest := q.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: \"First\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"*\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nActions: []string{\n\"sqs:SendMessage\",\n},\nResources: []string{\narn,\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"ArnEquals\",\nVariable: \"aws:SourceArn\",\nValues: interface{}{\nexample.Arn,\n},\n},\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sqs.NewQueuePolicy(ctx, \"test\", \u0026sqs.QueuePolicyArgs{\nQueueUrl: q.ID(),\nPolicy: pulumi.String(test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026test.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sqs.QueuePolicy;\nimport com.pulumi.aws.sqs.QueuePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var q = new Queue(\"q\", QueueArgs.builder()\n .name(\"examplequeue\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"First\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"sqs:SendMessage\")\n .resources(q.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .variable(\"aws:SourceArn\")\n .values(example.arn())\n .build())\n .build())\n .build());\n\n var testQueuePolicy = new QueuePolicy(\"testQueuePolicy\", QueuePolicyArgs.builder()\n .queueUrl(q.id())\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n q:\n type: aws:sqs:Queue\n properties:\n name: examplequeue\n testQueuePolicy:\n type: aws:sqs:QueuePolicy\n name: test\n properties:\n queueUrl: ${q.id}\n policy: ${test.json}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: First\n effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - sqs:SendMessage\n resources:\n - ${q.arn}\n conditions:\n - test: ArnEquals\n variable: aws:SourceArn\n values:\n - ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SQS Queue Policies using the queue URL. For example:\n\n```sh\n$ pulumi import aws:sqs/queuePolicy:QueuePolicy test https://queue.amazonaws.com/123456789012/myqueue\n```\n", "properties": { "policy": { "type": "string", @@ -365820,7 +365820,7 @@ } }, "aws:ssm/activation:Activation": { - "description": "Registers an on-premises server or virtual machine with Amazon EC2 so that it can be managed using Run Command.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ssm.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst testRole = new aws.iam.Role(\"test_role\", {\n name: \"test_role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testAttach = new aws.iam.RolePolicyAttachment(\"test_attach\", {\n role: testRole.name,\n policyArn: \"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\",\n});\nconst foo = new aws.ssm.Activation(\"foo\", {\n name: \"test_ssm_activation\",\n description: \"Test\",\n iamRole: testRole.id,\n registrationLimit: 5,\n}, {\n dependsOn: [testAttach],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"ssm.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\ntest_role = aws.iam.Role(\"test_role\",\n name=\"test_role\",\n assume_role_policy=assume_role.json)\ntest_attach = aws.iam.RolePolicyAttachment(\"test_attach\",\n role=test_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\")\nfoo = aws.ssm.Activation(\"foo\",\n name=\"test_ssm_activation\",\n description=\"Test\",\n iam_role=test_role.id,\n registration_limit=5,\n opts = pulumi.ResourceOptions(depends_on=[test_attach]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ssm.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test_role\", new()\n {\n Name = \"test_role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testAttach = new Aws.Iam.RolePolicyAttachment(\"test_attach\", new()\n {\n Role = testRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\",\n });\n\n var foo = new Aws.Ssm.Activation(\"foo\", new()\n {\n Name = \"test_ssm_activation\",\n Description = \"Test\",\n IamRole = testRole.Id,\n RegistrationLimit = 5,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testAttach,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ssm.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestAttach, err := iam.NewRolePolicyAttachment(ctx, \"test_attach\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: testRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewActivation(ctx, \"foo\", \u0026ssm.ActivationArgs{\n\t\t\tName: pulumi.String(\"test_ssm_activation\"),\n\t\t\tDescription: pulumi.String(\"Test\"),\n\t\t\tIamRole: testRole.ID(),\n\t\t\tRegistrationLimit: pulumi.Int(5),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAttach,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.ssm.Activation;\nimport com.pulumi.aws.ssm.ActivationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ssm.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"test_role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testAttach = new RolePolicyAttachment(\"testAttach\", RolePolicyAttachmentArgs.builder()\n .role(testRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\")\n .build());\n\n var foo = new Activation(\"foo\", ActivationArgs.builder()\n .name(\"test_ssm_activation\")\n .description(\"Test\")\n .iamRole(testRole.id())\n .registrationLimit(\"5\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(testAttach)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: aws:iam:Role\n name: test_role\n properties:\n name: test_role\n assumeRolePolicy: ${assumeRole.json}\n testAttach:\n type: aws:iam:RolePolicyAttachment\n name: test_attach\n properties:\n role: ${testRole.name}\n policyArn: arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\n foo:\n type: aws:ssm:Activation\n properties:\n name: test_ssm_activation\n description: Test\n iamRole: ${testRole.id}\n registrationLimit: '5'\n options:\n dependsOn:\n - ${testAttach}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ssm.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS SSM Activation using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssm/activation:Activation example e488f2f6-e686-4afb-8a04-ef6dfEXAMPLE\n```\n-\u003e __Note:__ The `activation_code` attribute cannot be imported.\n\n", + "description": "Registers an on-premises server or virtual machine with Amazon EC2 so that it can be managed using Run Command.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ssm.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst testRole = new aws.iam.Role(\"test_role\", {\n name: \"test_role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testAttach = new aws.iam.RolePolicyAttachment(\"test_attach\", {\n role: testRole.name,\n policyArn: \"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\",\n});\nconst foo = new aws.ssm.Activation(\"foo\", {\n name: \"test_ssm_activation\",\n description: \"Test\",\n iamRole: testRole.id,\n registrationLimit: 5,\n}, {\n dependsOn: [testAttach],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"ssm.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\ntest_role = aws.iam.Role(\"test_role\",\n name=\"test_role\",\n assume_role_policy=assume_role.json)\ntest_attach = aws.iam.RolePolicyAttachment(\"test_attach\",\n role=test_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\")\nfoo = aws.ssm.Activation(\"foo\",\n name=\"test_ssm_activation\",\n description=\"Test\",\n iam_role=test_role.id,\n registration_limit=5,\n opts = pulumi.ResourceOptions(depends_on=[test_attach]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ssm.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test_role\", new()\n {\n Name = \"test_role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testAttach = new Aws.Iam.RolePolicyAttachment(\"test_attach\", new()\n {\n Role = testRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\",\n });\n\n var foo = new Aws.Ssm.Activation(\"foo\", new()\n {\n Name = \"test_ssm_activation\",\n Description = \"Test\",\n IamRole = testRole.Id,\n RegistrationLimit = 5,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testAttach,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ssm.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestAttach, err := iam.NewRolePolicyAttachment(ctx, \"test_attach\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: testRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewActivation(ctx, \"foo\", \u0026ssm.ActivationArgs{\n\t\t\tName: pulumi.String(\"test_ssm_activation\"),\n\t\t\tDescription: pulumi.String(\"Test\"),\n\t\t\tIamRole: testRole.ID(),\n\t\t\tRegistrationLimit: pulumi.Int(5),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAttach,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.ssm.Activation;\nimport com.pulumi.aws.ssm.ActivationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ssm.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"test_role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testAttach = new RolePolicyAttachment(\"testAttach\", RolePolicyAttachmentArgs.builder()\n .role(testRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\")\n .build());\n\n var foo = new Activation(\"foo\", ActivationArgs.builder()\n .name(\"test_ssm_activation\")\n .description(\"Test\")\n .iamRole(testRole.id())\n .registrationLimit(\"5\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(testAttach)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: aws:iam:Role\n name: test_role\n properties:\n name: test_role\n assumeRolePolicy: ${assumeRole.json}\n testAttach:\n type: aws:iam:RolePolicyAttachment\n name: test_attach\n properties:\n role: ${testRole.name}\n policyArn: arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\n foo:\n type: aws:ssm:Activation\n properties:\n name: test_ssm_activation\n description: Test\n iamRole: ${testRole.id}\n registrationLimit: '5'\n options:\n dependson:\n - ${testAttach}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ssm.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS SSM Activation using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssm/activation:Activation example e488f2f6-e686-4afb-8a04-ef6dfEXAMPLE\n```\n-\u003e __Note:__ The `activation_code` attribute cannot be imported.\n\n", "properties": { "activationCode": { "type": "string", @@ -366259,7 +366259,7 @@ } }, "aws:ssm/contactsRotation:ContactsRotation": { - "description": "## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.ContactsRotation(\"example\", {\n contactIds: [exampleAwsSsmcontactsContact.arn],\n name: \"rotation\",\n recurrence: {\n numberOfOnCalls: 1,\n recurrenceMultiplier: 1,\n dailySettings: [{\n hourOfDay: 9,\n minuteOfHour: 0,\n }],\n },\n timeZoneId: \"Australia/Sydney\",\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.ContactsRotation(\"example\",\n contact_ids=[example_aws_ssmcontacts_contact[\"arn\"]],\n name=\"rotation\",\n recurrence={\n \"number_of_on_calls\": 1,\n \"recurrence_multiplier\": 1,\n \"daily_settings\": [{\n \"hour_of_day\": 9,\n \"minute_of_hour\": 0,\n }],\n },\n time_zone_id=\"Australia/Sydney\",\n opts = pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.ContactsRotation(\"example\", new()\n {\n ContactIds = new[]\n {\n exampleAwsSsmcontactsContact.Arn,\n },\n Name = \"rotation\",\n Recurrence = new Aws.Ssm.Inputs.ContactsRotationRecurrenceArgs\n {\n NumberOfOnCalls = 1,\n RecurrenceMultiplier = 1,\n DailySettings = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceDailySettingArgs\n {\n HourOfDay = 9,\n MinuteOfHour = 0,\n },\n },\n },\n TimeZoneId = \"Australia/Sydney\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.NewContactsRotation(ctx, \"example\", \u0026ssm.ContactsRotationArgs{\n\t\t\tContactIds: pulumi.StringArray{\n\t\t\t\texampleAwsSsmcontactsContact.Arn,\n\t\t\t},\n\t\t\tName: pulumi.String(\"rotation\"),\n\t\t\tRecurrence: \u0026ssm.ContactsRotationRecurrenceArgs{\n\t\t\t\tNumberOfOnCalls: pulumi.Int(1),\n\t\t\t\tRecurrenceMultiplier: pulumi.Int(1),\n\t\t\t\tDailySettings: ssm.ContactsRotationRecurrenceDailySettingArray{\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceDailySettingArgs{\n\t\t\t\t\t\tHourOfDay: pulumi.Int(9),\n\t\t\t\t\t\tMinuteOfHour: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeZoneId: pulumi.String(\"Australia/Sydney\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.ContactsRotation;\nimport com.pulumi.aws.ssm.ContactsRotationArgs;\nimport com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ContactsRotation(\"example\", ContactsRotationArgs.builder()\n .contactIds(exampleAwsSsmcontactsContact.arn())\n .name(\"rotation\")\n .recurrence(ContactsRotationRecurrenceArgs.builder()\n .numberOfOnCalls(1)\n .recurrenceMultiplier(1)\n .dailySettings(ContactsRotationRecurrenceDailySettingArgs.builder()\n .hourOfDay(9)\n .minuteOfHour(0)\n .build())\n .build())\n .timeZoneId(\"Australia/Sydney\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:ContactsRotation\n properties:\n contactIds:\n - ${exampleAwsSsmcontactsContact.arn}\n name: rotation\n recurrence:\n numberOfOnCalls: 1\n recurrenceMultiplier: 1\n dailySettings:\n - hourOfDay: 9\n minuteOfHour: 0\n timeZoneId: Australia/Sydney\n options:\n dependsOn:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with Weekly Settings and Shift Coverages Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.ContactsRotation(\"example\", {\n contactIds: [exampleAwsSsmcontactsContact.arn],\n name: \"rotation\",\n recurrence: {\n numberOfOnCalls: 1,\n recurrenceMultiplier: 1,\n weeklySettings: [\n {\n dayOfWeek: \"WED\",\n handOffTime: {\n hourOfDay: 4,\n minuteOfHour: 25,\n },\n },\n {\n dayOfWeek: \"FRI\",\n handOffTime: {\n hourOfDay: 15,\n minuteOfHour: 57,\n },\n },\n ],\n shiftCoverages: [{\n mapBlockKey: \"MON\",\n coverageTimes: [{\n start: {\n hourOfDay: 1,\n minuteOfHour: 0,\n },\n end: {\n hourOfDay: 23,\n minuteOfHour: 0,\n },\n }],\n }],\n },\n startTime: \"2023-07-20T02:21:49+00:00\",\n timeZoneId: \"Australia/Sydney\",\n tags: {\n key1: \"tag1\",\n key2: \"tag2\",\n },\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.ContactsRotation(\"example\",\n contact_ids=[example_aws_ssmcontacts_contact[\"arn\"]],\n name=\"rotation\",\n recurrence={\n \"number_of_on_calls\": 1,\n \"recurrence_multiplier\": 1,\n \"weekly_settings\": [\n {\n \"day_of_week\": \"WED\",\n \"hand_off_time\": {\n \"hour_of_day\": 4,\n \"minute_of_hour\": 25,\n },\n },\n {\n \"day_of_week\": \"FRI\",\n \"hand_off_time\": {\n \"hour_of_day\": 15,\n \"minute_of_hour\": 57,\n },\n },\n ],\n \"shift_coverages\": [{\n \"map_block_key\": \"MON\",\n \"coverage_times\": [{\n \"start\": {\n \"hour_of_day\": 1,\n \"minute_of_hour\": 0,\n },\n \"end\": {\n \"hour_of_day\": 23,\n \"minute_of_hour\": 0,\n },\n }],\n }],\n },\n start_time=\"2023-07-20T02:21:49+00:00\",\n time_zone_id=\"Australia/Sydney\",\n tags={\n \"key1\": \"tag1\",\n \"key2\": \"tag2\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.ContactsRotation(\"example\", new()\n {\n ContactIds = new[]\n {\n exampleAwsSsmcontactsContact.Arn,\n },\n Name = \"rotation\",\n Recurrence = new Aws.Ssm.Inputs.ContactsRotationRecurrenceArgs\n {\n NumberOfOnCalls = 1,\n RecurrenceMultiplier = 1,\n WeeklySettings = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingArgs\n {\n DayOfWeek = \"WED\",\n HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs\n {\n HourOfDay = 4,\n MinuteOfHour = 25,\n },\n },\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingArgs\n {\n DayOfWeek = \"FRI\",\n HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs\n {\n HourOfDay = 15,\n MinuteOfHour = 57,\n },\n },\n },\n ShiftCoverages = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageArgs\n {\n MapBlockKey = \"MON\",\n CoverageTimes = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs\n {\n Start = new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs\n {\n HourOfDay = 1,\n MinuteOfHour = 0,\n },\n End = new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs\n {\n HourOfDay = 23,\n MinuteOfHour = 0,\n },\n },\n },\n },\n },\n },\n StartTime = \"2023-07-20T02:21:49+00:00\",\n TimeZoneId = \"Australia/Sydney\",\n Tags = \n {\n { \"key1\", \"tag1\" },\n { \"key2\", \"tag2\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.NewContactsRotation(ctx, \"example\", \u0026ssm.ContactsRotationArgs{\n\t\t\tContactIds: pulumi.StringArray{\n\t\t\t\texampleAwsSsmcontactsContact.Arn,\n\t\t\t},\n\t\t\tName: pulumi.String(\"rotation\"),\n\t\t\tRecurrence: \u0026ssm.ContactsRotationRecurrenceArgs{\n\t\t\t\tNumberOfOnCalls: pulumi.Int(1),\n\t\t\t\tRecurrenceMultiplier: pulumi.Int(1),\n\t\t\t\tWeeklySettings: ssm.ContactsRotationRecurrenceWeeklySettingArray{\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceWeeklySettingArgs{\n\t\t\t\t\t\tDayOfWeek: pulumi.String(\"WED\"),\n\t\t\t\t\t\tHandOffTime: \u0026ssm.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs{\n\t\t\t\t\t\t\tHourOfDay: pulumi.Int(4),\n\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(25),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceWeeklySettingArgs{\n\t\t\t\t\t\tDayOfWeek: pulumi.String(\"FRI\"),\n\t\t\t\t\t\tHandOffTime: \u0026ssm.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs{\n\t\t\t\t\t\t\tHourOfDay: pulumi.Int(15),\n\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(57),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tShiftCoverages: ssm.ContactsRotationRecurrenceShiftCoverageArray{\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceShiftCoverageArgs{\n\t\t\t\t\t\tMapBlockKey: pulumi.String(\"MON\"),\n\t\t\t\t\t\tCoverageTimes: ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeArray{\n\t\t\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs{\n\t\t\t\t\t\t\t\tStart: \u0026ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs{\n\t\t\t\t\t\t\t\t\tHourOfDay: pulumi.Int(1),\n\t\t\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(0),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tEnd: \u0026ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs{\n\t\t\t\t\t\t\t\t\tHourOfDay: pulumi.Int(23),\n\t\t\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(0),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStartTime: pulumi.String(\"2023-07-20T02:21:49+00:00\"),\n\t\t\tTimeZoneId: pulumi.String(\"Australia/Sydney\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key1\": pulumi.String(\"tag1\"),\n\t\t\t\t\"key2\": pulumi.String(\"tag2\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.ContactsRotation;\nimport com.pulumi.aws.ssm.ContactsRotationArgs;\nimport com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ContactsRotation(\"example\", ContactsRotationArgs.builder()\n .contactIds(exampleAwsSsmcontactsContact.arn())\n .name(\"rotation\")\n .recurrence(ContactsRotationRecurrenceArgs.builder()\n .numberOfOnCalls(1)\n .recurrenceMultiplier(1)\n .weeklySettings( \n ContactsRotationRecurrenceWeeklySettingArgs.builder()\n .dayOfWeek(\"WED\")\n .handOffTime(ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs.builder()\n .hourOfDay(4)\n .minuteOfHour(25)\n .build())\n .build(),\n ContactsRotationRecurrenceWeeklySettingArgs.builder()\n .dayOfWeek(\"FRI\")\n .handOffTime(ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs.builder()\n .hourOfDay(15)\n .minuteOfHour(57)\n .build())\n .build())\n .shiftCoverages(ContactsRotationRecurrenceShiftCoverageArgs.builder()\n .mapBlockKey(\"MON\")\n .coverageTimes(ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs.builder()\n .start(ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs.builder()\n .hourOfDay(1)\n .minuteOfHour(0)\n .build())\n .end(ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs.builder()\n .hourOfDay(23)\n .minuteOfHour(0)\n .build())\n .build())\n .build())\n .build())\n .startTime(\"2023-07-20T02:21:49+00:00\")\n .timeZoneId(\"Australia/Sydney\")\n .tags(Map.ofEntries(\n Map.entry(\"key1\", \"tag1\"),\n Map.entry(\"key2\", \"tag2\")\n ))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:ContactsRotation\n properties:\n contactIds:\n - ${exampleAwsSsmcontactsContact.arn}\n name: rotation\n recurrence:\n numberOfOnCalls: 1\n recurrenceMultiplier: 1\n weeklySettings:\n - dayOfWeek: WED\n handOffTime:\n hourOfDay: 4\n minuteOfHour: 25\n - dayOfWeek: FRI\n handOffTime:\n hourOfDay: 15\n minuteOfHour: 57\n shiftCoverages:\n - mapBlockKey: MON\n coverageTimes:\n - start:\n hourOfDay: 1\n minuteOfHour: 0\n end:\n hourOfDay: 23\n minuteOfHour: 0\n startTime: 2023-07-20T02:21:49+00:00\n timeZoneId: Australia/Sydney\n tags:\n key1: tag1\n key2: tag2\n options:\n dependsOn:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with Monthly Settings Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.ContactsRotation(\"example\", {\n contactIds: [exampleAwsSsmcontactsContact.arn],\n name: \"rotation\",\n recurrence: {\n numberOfOnCalls: 1,\n recurrenceMultiplier: 1,\n monthlySettings: [\n {\n dayOfMonth: 20,\n handOffTime: {\n hourOfDay: 8,\n minuteOfHour: 0,\n },\n },\n {\n dayOfMonth: 13,\n handOffTime: {\n hourOfDay: 12,\n minuteOfHour: 34,\n },\n },\n ],\n },\n timeZoneId: \"Australia/Sydney\",\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.ContactsRotation(\"example\",\n contact_ids=[example_aws_ssmcontacts_contact[\"arn\"]],\n name=\"rotation\",\n recurrence={\n \"number_of_on_calls\": 1,\n \"recurrence_multiplier\": 1,\n \"monthly_settings\": [\n {\n \"day_of_month\": 20,\n \"hand_off_time\": {\n \"hour_of_day\": 8,\n \"minute_of_hour\": 0,\n },\n },\n {\n \"day_of_month\": 13,\n \"hand_off_time\": {\n \"hour_of_day\": 12,\n \"minute_of_hour\": 34,\n },\n },\n ],\n },\n time_zone_id=\"Australia/Sydney\",\n opts = pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.ContactsRotation(\"example\", new()\n {\n ContactIds = new[]\n {\n exampleAwsSsmcontactsContact.Arn,\n },\n Name = \"rotation\",\n Recurrence = new Aws.Ssm.Inputs.ContactsRotationRecurrenceArgs\n {\n NumberOfOnCalls = 1,\n RecurrenceMultiplier = 1,\n MonthlySettings = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingArgs\n {\n DayOfMonth = 20,\n HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs\n {\n HourOfDay = 8,\n MinuteOfHour = 0,\n },\n },\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingArgs\n {\n DayOfMonth = 13,\n HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs\n {\n HourOfDay = 12,\n MinuteOfHour = 34,\n },\n },\n },\n },\n TimeZoneId = \"Australia/Sydney\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.NewContactsRotation(ctx, \"example\", \u0026ssm.ContactsRotationArgs{\n\t\t\tContactIds: pulumi.StringArray{\n\t\t\t\texampleAwsSsmcontactsContact.Arn,\n\t\t\t},\n\t\t\tName: pulumi.String(\"rotation\"),\n\t\t\tRecurrence: \u0026ssm.ContactsRotationRecurrenceArgs{\n\t\t\t\tNumberOfOnCalls: pulumi.Int(1),\n\t\t\t\tRecurrenceMultiplier: pulumi.Int(1),\n\t\t\t\tMonthlySettings: ssm.ContactsRotationRecurrenceMonthlySettingArray{\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceMonthlySettingArgs{\n\t\t\t\t\t\tDayOfMonth: pulumi.Int(20),\n\t\t\t\t\t\tHandOffTime: \u0026ssm.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs{\n\t\t\t\t\t\t\tHourOfDay: pulumi.Int(8),\n\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceMonthlySettingArgs{\n\t\t\t\t\t\tDayOfMonth: pulumi.Int(13),\n\t\t\t\t\t\tHandOffTime: \u0026ssm.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs{\n\t\t\t\t\t\t\tHourOfDay: pulumi.Int(12),\n\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(34),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeZoneId: pulumi.String(\"Australia/Sydney\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.ContactsRotation;\nimport com.pulumi.aws.ssm.ContactsRotationArgs;\nimport com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ContactsRotation(\"example\", ContactsRotationArgs.builder()\n .contactIds(exampleAwsSsmcontactsContact.arn())\n .name(\"rotation\")\n .recurrence(ContactsRotationRecurrenceArgs.builder()\n .numberOfOnCalls(1)\n .recurrenceMultiplier(1)\n .monthlySettings( \n ContactsRotationRecurrenceMonthlySettingArgs.builder()\n .dayOfMonth(20)\n .handOffTime(ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs.builder()\n .hourOfDay(8)\n .minuteOfHour(0)\n .build())\n .build(),\n ContactsRotationRecurrenceMonthlySettingArgs.builder()\n .dayOfMonth(13)\n .handOffTime(ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs.builder()\n .hourOfDay(12)\n .minuteOfHour(34)\n .build())\n .build())\n .build())\n .timeZoneId(\"Australia/Sydney\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:ContactsRotation\n properties:\n contactIds:\n - ${exampleAwsSsmcontactsContact.arn}\n name: rotation\n recurrence:\n numberOfOnCalls: 1\n recurrenceMultiplier: 1\n monthlySettings:\n - dayOfMonth: 20\n handOffTime:\n hourOfDay: 8\n minuteOfHour: 0\n - dayOfMonth: 13\n handOffTime:\n hourOfDay: 12\n minuteOfHour: 34\n timeZoneId: Australia/Sydney\n options:\n dependsOn:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeGuru Profiler Profiling Group using the `arn`. For example:\n\n```sh\n$ pulumi import aws:ssm/contactsRotation:ContactsRotation example arn:aws:ssm-contacts:us-east-1:012345678910:rotation/example\n```\n", + "description": "## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.ContactsRotation(\"example\", {\n contactIds: [exampleAwsSsmcontactsContact.arn],\n name: \"rotation\",\n recurrence: {\n numberOfOnCalls: 1,\n recurrenceMultiplier: 1,\n dailySettings: [{\n hourOfDay: 9,\n minuteOfHour: 0,\n }],\n },\n timeZoneId: \"Australia/Sydney\",\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.ContactsRotation(\"example\",\n contact_ids=[example_aws_ssmcontacts_contact[\"arn\"]],\n name=\"rotation\",\n recurrence={\n \"number_of_on_calls\": 1,\n \"recurrence_multiplier\": 1,\n \"daily_settings\": [{\n \"hour_of_day\": 9,\n \"minute_of_hour\": 0,\n }],\n },\n time_zone_id=\"Australia/Sydney\",\n opts = pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.ContactsRotation(\"example\", new()\n {\n ContactIds = new[]\n {\n exampleAwsSsmcontactsContact.Arn,\n },\n Name = \"rotation\",\n Recurrence = new Aws.Ssm.Inputs.ContactsRotationRecurrenceArgs\n {\n NumberOfOnCalls = 1,\n RecurrenceMultiplier = 1,\n DailySettings = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceDailySettingArgs\n {\n HourOfDay = 9,\n MinuteOfHour = 0,\n },\n },\n },\n TimeZoneId = \"Australia/Sydney\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.NewContactsRotation(ctx, \"example\", \u0026ssm.ContactsRotationArgs{\n\t\t\tContactIds: pulumi.StringArray{\n\t\t\t\texampleAwsSsmcontactsContact.Arn,\n\t\t\t},\n\t\t\tName: pulumi.String(\"rotation\"),\n\t\t\tRecurrence: \u0026ssm.ContactsRotationRecurrenceArgs{\n\t\t\t\tNumberOfOnCalls: pulumi.Int(1),\n\t\t\t\tRecurrenceMultiplier: pulumi.Int(1),\n\t\t\t\tDailySettings: ssm.ContactsRotationRecurrenceDailySettingArray{\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceDailySettingArgs{\n\t\t\t\t\t\tHourOfDay: pulumi.Int(9),\n\t\t\t\t\t\tMinuteOfHour: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeZoneId: pulumi.String(\"Australia/Sydney\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.ContactsRotation;\nimport com.pulumi.aws.ssm.ContactsRotationArgs;\nimport com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ContactsRotation(\"example\", ContactsRotationArgs.builder()\n .contactIds(exampleAwsSsmcontactsContact.arn())\n .name(\"rotation\")\n .recurrence(ContactsRotationRecurrenceArgs.builder()\n .numberOfOnCalls(1)\n .recurrenceMultiplier(1)\n .dailySettings(ContactsRotationRecurrenceDailySettingArgs.builder()\n .hourOfDay(9)\n .minuteOfHour(0)\n .build())\n .build())\n .timeZoneId(\"Australia/Sydney\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:ContactsRotation\n properties:\n contactIds:\n - ${exampleAwsSsmcontactsContact.arn}\n name: rotation\n recurrence:\n numberOfOnCalls: 1\n recurrenceMultiplier: 1\n dailySettings:\n - hourOfDay: 9\n minuteOfHour: 0\n timeZoneId: Australia/Sydney\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with Weekly Settings and Shift Coverages Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.ContactsRotation(\"example\", {\n contactIds: [exampleAwsSsmcontactsContact.arn],\n name: \"rotation\",\n recurrence: {\n numberOfOnCalls: 1,\n recurrenceMultiplier: 1,\n weeklySettings: [\n {\n dayOfWeek: \"WED\",\n handOffTime: {\n hourOfDay: 4,\n minuteOfHour: 25,\n },\n },\n {\n dayOfWeek: \"FRI\",\n handOffTime: {\n hourOfDay: 15,\n minuteOfHour: 57,\n },\n },\n ],\n shiftCoverages: [{\n mapBlockKey: \"MON\",\n coverageTimes: [{\n start: {\n hourOfDay: 1,\n minuteOfHour: 0,\n },\n end: {\n hourOfDay: 23,\n minuteOfHour: 0,\n },\n }],\n }],\n },\n startTime: \"2023-07-20T02:21:49+00:00\",\n timeZoneId: \"Australia/Sydney\",\n tags: {\n key1: \"tag1\",\n key2: \"tag2\",\n },\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.ContactsRotation(\"example\",\n contact_ids=[example_aws_ssmcontacts_contact[\"arn\"]],\n name=\"rotation\",\n recurrence={\n \"number_of_on_calls\": 1,\n \"recurrence_multiplier\": 1,\n \"weekly_settings\": [\n {\n \"day_of_week\": \"WED\",\n \"hand_off_time\": {\n \"hour_of_day\": 4,\n \"minute_of_hour\": 25,\n },\n },\n {\n \"day_of_week\": \"FRI\",\n \"hand_off_time\": {\n \"hour_of_day\": 15,\n \"minute_of_hour\": 57,\n },\n },\n ],\n \"shift_coverages\": [{\n \"map_block_key\": \"MON\",\n \"coverage_times\": [{\n \"start\": {\n \"hour_of_day\": 1,\n \"minute_of_hour\": 0,\n },\n \"end\": {\n \"hour_of_day\": 23,\n \"minute_of_hour\": 0,\n },\n }],\n }],\n },\n start_time=\"2023-07-20T02:21:49+00:00\",\n time_zone_id=\"Australia/Sydney\",\n tags={\n \"key1\": \"tag1\",\n \"key2\": \"tag2\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.ContactsRotation(\"example\", new()\n {\n ContactIds = new[]\n {\n exampleAwsSsmcontactsContact.Arn,\n },\n Name = \"rotation\",\n Recurrence = new Aws.Ssm.Inputs.ContactsRotationRecurrenceArgs\n {\n NumberOfOnCalls = 1,\n RecurrenceMultiplier = 1,\n WeeklySettings = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingArgs\n {\n DayOfWeek = \"WED\",\n HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs\n {\n HourOfDay = 4,\n MinuteOfHour = 25,\n },\n },\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingArgs\n {\n DayOfWeek = \"FRI\",\n HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs\n {\n HourOfDay = 15,\n MinuteOfHour = 57,\n },\n },\n },\n ShiftCoverages = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageArgs\n {\n MapBlockKey = \"MON\",\n CoverageTimes = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs\n {\n Start = new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs\n {\n HourOfDay = 1,\n MinuteOfHour = 0,\n },\n End = new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs\n {\n HourOfDay = 23,\n MinuteOfHour = 0,\n },\n },\n },\n },\n },\n },\n StartTime = \"2023-07-20T02:21:49+00:00\",\n TimeZoneId = \"Australia/Sydney\",\n Tags = \n {\n { \"key1\", \"tag1\" },\n { \"key2\", \"tag2\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.NewContactsRotation(ctx, \"example\", \u0026ssm.ContactsRotationArgs{\n\t\t\tContactIds: pulumi.StringArray{\n\t\t\t\texampleAwsSsmcontactsContact.Arn,\n\t\t\t},\n\t\t\tName: pulumi.String(\"rotation\"),\n\t\t\tRecurrence: \u0026ssm.ContactsRotationRecurrenceArgs{\n\t\t\t\tNumberOfOnCalls: pulumi.Int(1),\n\t\t\t\tRecurrenceMultiplier: pulumi.Int(1),\n\t\t\t\tWeeklySettings: ssm.ContactsRotationRecurrenceWeeklySettingArray{\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceWeeklySettingArgs{\n\t\t\t\t\t\tDayOfWeek: pulumi.String(\"WED\"),\n\t\t\t\t\t\tHandOffTime: \u0026ssm.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs{\n\t\t\t\t\t\t\tHourOfDay: pulumi.Int(4),\n\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(25),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceWeeklySettingArgs{\n\t\t\t\t\t\tDayOfWeek: pulumi.String(\"FRI\"),\n\t\t\t\t\t\tHandOffTime: \u0026ssm.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs{\n\t\t\t\t\t\t\tHourOfDay: pulumi.Int(15),\n\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(57),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tShiftCoverages: ssm.ContactsRotationRecurrenceShiftCoverageArray{\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceShiftCoverageArgs{\n\t\t\t\t\t\tMapBlockKey: pulumi.String(\"MON\"),\n\t\t\t\t\t\tCoverageTimes: ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeArray{\n\t\t\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs{\n\t\t\t\t\t\t\t\tStart: \u0026ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs{\n\t\t\t\t\t\t\t\t\tHourOfDay: pulumi.Int(1),\n\t\t\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(0),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tEnd: \u0026ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs{\n\t\t\t\t\t\t\t\t\tHourOfDay: pulumi.Int(23),\n\t\t\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(0),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStartTime: pulumi.String(\"2023-07-20T02:21:49+00:00\"),\n\t\t\tTimeZoneId: pulumi.String(\"Australia/Sydney\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key1\": pulumi.String(\"tag1\"),\n\t\t\t\t\"key2\": pulumi.String(\"tag2\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.ContactsRotation;\nimport com.pulumi.aws.ssm.ContactsRotationArgs;\nimport com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ContactsRotation(\"example\", ContactsRotationArgs.builder()\n .contactIds(exampleAwsSsmcontactsContact.arn())\n .name(\"rotation\")\n .recurrence(ContactsRotationRecurrenceArgs.builder()\n .numberOfOnCalls(1)\n .recurrenceMultiplier(1)\n .weeklySettings( \n ContactsRotationRecurrenceWeeklySettingArgs.builder()\n .dayOfWeek(\"WED\")\n .handOffTime(ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs.builder()\n .hourOfDay(4)\n .minuteOfHour(25)\n .build())\n .build(),\n ContactsRotationRecurrenceWeeklySettingArgs.builder()\n .dayOfWeek(\"FRI\")\n .handOffTime(ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs.builder()\n .hourOfDay(15)\n .minuteOfHour(57)\n .build())\n .build())\n .shiftCoverages(ContactsRotationRecurrenceShiftCoverageArgs.builder()\n .mapBlockKey(\"MON\")\n .coverageTimes(ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs.builder()\n .start(ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs.builder()\n .hourOfDay(1)\n .minuteOfHour(0)\n .build())\n .end(ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs.builder()\n .hourOfDay(23)\n .minuteOfHour(0)\n .build())\n .build())\n .build())\n .build())\n .startTime(\"2023-07-20T02:21:49+00:00\")\n .timeZoneId(\"Australia/Sydney\")\n .tags(Map.ofEntries(\n Map.entry(\"key1\", \"tag1\"),\n Map.entry(\"key2\", \"tag2\")\n ))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:ContactsRotation\n properties:\n contactIds:\n - ${exampleAwsSsmcontactsContact.arn}\n name: rotation\n recurrence:\n numberOfOnCalls: 1\n recurrenceMultiplier: 1\n weeklySettings:\n - dayOfWeek: WED\n handOffTime:\n hourOfDay: 4\n minuteOfHour: 25\n - dayOfWeek: FRI\n handOffTime:\n hourOfDay: 15\n minuteOfHour: 57\n shiftCoverages:\n - mapBlockKey: MON\n coverageTimes:\n - start:\n hourOfDay: 1\n minuteOfHour: 0\n end:\n hourOfDay: 23\n minuteOfHour: 0\n startTime: 2023-07-20T02:21:49+00:00\n timeZoneId: Australia/Sydney\n tags:\n key1: tag1\n key2: tag2\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with Monthly Settings Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.ContactsRotation(\"example\", {\n contactIds: [exampleAwsSsmcontactsContact.arn],\n name: \"rotation\",\n recurrence: {\n numberOfOnCalls: 1,\n recurrenceMultiplier: 1,\n monthlySettings: [\n {\n dayOfMonth: 20,\n handOffTime: {\n hourOfDay: 8,\n minuteOfHour: 0,\n },\n },\n {\n dayOfMonth: 13,\n handOffTime: {\n hourOfDay: 12,\n minuteOfHour: 34,\n },\n },\n ],\n },\n timeZoneId: \"Australia/Sydney\",\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.ContactsRotation(\"example\",\n contact_ids=[example_aws_ssmcontacts_contact[\"arn\"]],\n name=\"rotation\",\n recurrence={\n \"number_of_on_calls\": 1,\n \"recurrence_multiplier\": 1,\n \"monthly_settings\": [\n {\n \"day_of_month\": 20,\n \"hand_off_time\": {\n \"hour_of_day\": 8,\n \"minute_of_hour\": 0,\n },\n },\n {\n \"day_of_month\": 13,\n \"hand_off_time\": {\n \"hour_of_day\": 12,\n \"minute_of_hour\": 34,\n },\n },\n ],\n },\n time_zone_id=\"Australia/Sydney\",\n opts = pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.ContactsRotation(\"example\", new()\n {\n ContactIds = new[]\n {\n exampleAwsSsmcontactsContact.Arn,\n },\n Name = \"rotation\",\n Recurrence = new Aws.Ssm.Inputs.ContactsRotationRecurrenceArgs\n {\n NumberOfOnCalls = 1,\n RecurrenceMultiplier = 1,\n MonthlySettings = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingArgs\n {\n DayOfMonth = 20,\n HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs\n {\n HourOfDay = 8,\n MinuteOfHour = 0,\n },\n },\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingArgs\n {\n DayOfMonth = 13,\n HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs\n {\n HourOfDay = 12,\n MinuteOfHour = 34,\n },\n },\n },\n },\n TimeZoneId = \"Australia/Sydney\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.NewContactsRotation(ctx, \"example\", \u0026ssm.ContactsRotationArgs{\n\t\t\tContactIds: pulumi.StringArray{\n\t\t\t\texampleAwsSsmcontactsContact.Arn,\n\t\t\t},\n\t\t\tName: pulumi.String(\"rotation\"),\n\t\t\tRecurrence: \u0026ssm.ContactsRotationRecurrenceArgs{\n\t\t\t\tNumberOfOnCalls: pulumi.Int(1),\n\t\t\t\tRecurrenceMultiplier: pulumi.Int(1),\n\t\t\t\tMonthlySettings: ssm.ContactsRotationRecurrenceMonthlySettingArray{\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceMonthlySettingArgs{\n\t\t\t\t\t\tDayOfMonth: pulumi.Int(20),\n\t\t\t\t\t\tHandOffTime: \u0026ssm.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs{\n\t\t\t\t\t\t\tHourOfDay: pulumi.Int(8),\n\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceMonthlySettingArgs{\n\t\t\t\t\t\tDayOfMonth: pulumi.Int(13),\n\t\t\t\t\t\tHandOffTime: \u0026ssm.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs{\n\t\t\t\t\t\t\tHourOfDay: pulumi.Int(12),\n\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(34),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeZoneId: pulumi.String(\"Australia/Sydney\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.ContactsRotation;\nimport com.pulumi.aws.ssm.ContactsRotationArgs;\nimport com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ContactsRotation(\"example\", ContactsRotationArgs.builder()\n .contactIds(exampleAwsSsmcontactsContact.arn())\n .name(\"rotation\")\n .recurrence(ContactsRotationRecurrenceArgs.builder()\n .numberOfOnCalls(1)\n .recurrenceMultiplier(1)\n .monthlySettings( \n ContactsRotationRecurrenceMonthlySettingArgs.builder()\n .dayOfMonth(20)\n .handOffTime(ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs.builder()\n .hourOfDay(8)\n .minuteOfHour(0)\n .build())\n .build(),\n ContactsRotationRecurrenceMonthlySettingArgs.builder()\n .dayOfMonth(13)\n .handOffTime(ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs.builder()\n .hourOfDay(12)\n .minuteOfHour(34)\n .build())\n .build())\n .build())\n .timeZoneId(\"Australia/Sydney\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:ContactsRotation\n properties:\n contactIds:\n - ${exampleAwsSsmcontactsContact.arn}\n name: rotation\n recurrence:\n numberOfOnCalls: 1\n recurrenceMultiplier: 1\n monthlySettings:\n - dayOfMonth: 20\n handOffTime:\n hourOfDay: 8\n minuteOfHour: 0\n - dayOfMonth: 13\n handOffTime:\n hourOfDay: 12\n minuteOfHour: 34\n timeZoneId: Australia/Sydney\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeGuru Profiler Profiling Group using the `arn`. For example:\n\n```sh\n$ pulumi import aws:ssm/contactsRotation:ContactsRotation example arn:aws:ssm-contacts:us-east-1:012345678910:rotation/example\n```\n", "properties": { "arn": { "type": "string", @@ -367058,7 +367058,7 @@ } }, "aws:ssm/maintenanceWindowTask:MaintenanceWindowTask": { - "description": "Provides an SSM Maintenance Window Task resource\n\n## Example Usage\n\n### Automation Tasks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.MaintenanceWindowTask(\"example\", {\n maxConcurrency: \"2\",\n maxErrors: \"1\",\n priority: 1,\n taskArn: \"AWS-RestartEC2Instance\",\n taskType: \"AUTOMATION\",\n windowId: exampleAwsSsmMaintenanceWindow.id,\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n taskInvocationParameters: {\n automationParameters: {\n documentVersion: \"$LATEST\",\n parameters: [{\n name: \"InstanceId\",\n values: [exampleAwsInstance.id],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.MaintenanceWindowTask(\"example\",\n max_concurrency=\"2\",\n max_errors=\"1\",\n priority=1,\n task_arn=\"AWS-RestartEC2Instance\",\n task_type=\"AUTOMATION\",\n window_id=example_aws_ssm_maintenance_window[\"id\"],\n targets=[{\n \"key\": \"InstanceIds\",\n \"values\": [example_aws_instance[\"id\"]],\n }],\n task_invocation_parameters={\n \"automation_parameters\": {\n \"document_version\": \"$LATEST\",\n \"parameters\": [{\n \"name\": \"InstanceId\",\n \"values\": [example_aws_instance[\"id\"]],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.MaintenanceWindowTask(\"example\", new()\n {\n MaxConcurrency = \"2\",\n MaxErrors = \"1\",\n Priority = 1,\n TaskArn = \"AWS-RestartEC2Instance\",\n TaskType = \"AUTOMATION\",\n WindowId = exampleAwsSsmMaintenanceWindow.Id,\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n TaskInvocationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersArgs\n {\n AutomationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs\n {\n DocumentVersion = \"$LATEST\",\n Parameters = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArgs\n {\n Name = \"InstanceId\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.NewMaintenanceWindowTask(ctx, \"example\", \u0026ssm.MaintenanceWindowTaskArgs{\n\t\t\tMaxConcurrency: pulumi.String(\"2\"),\n\t\t\tMaxErrors: pulumi.String(\"1\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTaskArn: pulumi.String(\"AWS-RestartEC2Instance\"),\n\t\t\tTaskType: pulumi.String(\"AUTOMATION\"),\n\t\t\tWindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id),\n\t\t\tTargets: ssm.MaintenanceWindowTaskTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTaskTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaskInvocationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{\n\t\t\t\tAutomationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs{\n\t\t\t\t\tDocumentVersion: pulumi.String(\"$LATEST\"),\n\t\t\t\t\tParameters: ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArray{\n\t\t\t\t\t\t\u0026ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"InstanceId\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\texampleAwsInstance.Id,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.MaintenanceWindowTask;\nimport com.pulumi.aws.ssm.MaintenanceWindowTaskArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new MaintenanceWindowTask(\"example\", MaintenanceWindowTaskArgs.builder()\n .maxConcurrency(2)\n .maxErrors(1)\n .priority(1)\n .taskArn(\"AWS-RestartEC2Instance\")\n .taskType(\"AUTOMATION\")\n .windowId(exampleAwsSsmMaintenanceWindow.id())\n .targets(MaintenanceWindowTaskTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .taskInvocationParameters(MaintenanceWindowTaskTaskInvocationParametersArgs.builder()\n .automationParameters(MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs.builder()\n .documentVersion(\"$LATEST\")\n .parameters(MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArgs.builder()\n .name(\"InstanceId\")\n .values(exampleAwsInstance.id())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:MaintenanceWindowTask\n properties:\n maxConcurrency: 2\n maxErrors: 1\n priority: 1\n taskArn: AWS-RestartEC2Instance\n taskType: AUTOMATION\n windowId: ${exampleAwsSsmMaintenanceWindow.id}\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n taskInvocationParameters:\n automationParameters:\n documentVersion: $LATEST\n parameters:\n - name: InstanceId\n values:\n - ${exampleAwsInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Tasks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.ssm.MaintenanceWindowTask(\"example\", {\n maxConcurrency: \"2\",\n maxErrors: \"1\",\n priority: 1,\n taskArn: exampleAwsLambdaFunction.arn,\n taskType: \"LAMBDA\",\n windowId: exampleAwsSsmMaintenanceWindow.id,\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n taskInvocationParameters: {\n lambdaParameters: {\n clientContext: std.base64encode({\n input: \"{\\\"key1\\\":\\\"value1\\\"}\",\n }).then(invoke =\u003e invoke.result),\n payload: \"{\\\"key1\\\":\\\"value1\\\"}\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.ssm.MaintenanceWindowTask(\"example\",\n max_concurrency=\"2\",\n max_errors=\"1\",\n priority=1,\n task_arn=example_aws_lambda_function[\"arn\"],\n task_type=\"LAMBDA\",\n window_id=example_aws_ssm_maintenance_window[\"id\"],\n targets=[{\n \"key\": \"InstanceIds\",\n \"values\": [example_aws_instance[\"id\"]],\n }],\n task_invocation_parameters={\n \"lambda_parameters\": {\n \"client_context\": std.base64encode(input=\"{\\\"key1\\\":\\\"value1\\\"}\").result,\n \"payload\": \"{\\\"key1\\\":\\\"value1\\\"}\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.MaintenanceWindowTask(\"example\", new()\n {\n MaxConcurrency = \"2\",\n MaxErrors = \"1\",\n Priority = 1,\n TaskArn = exampleAwsLambdaFunction.Arn,\n TaskType = \"LAMBDA\",\n WindowId = exampleAwsSsmMaintenanceWindow.Id,\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n TaskInvocationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersArgs\n {\n LambdaParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs\n {\n ClientContext = Std.Base64encode.Invoke(new()\n {\n Input = \"{\\\"key1\\\":\\\"value1\\\"}\",\n }).Apply(invoke =\u003e invoke.Result),\n Payload = \"{\\\"key1\\\":\\\"value1\\\"}\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"{\\\"key1\\\":\\\"value1\\\"}\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewMaintenanceWindowTask(ctx, \"example\", \u0026ssm.MaintenanceWindowTaskArgs{\n\t\t\tMaxConcurrency: pulumi.String(\"2\"),\n\t\t\tMaxErrors: pulumi.String(\"1\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTaskArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tTaskType: pulumi.String(\"LAMBDA\"),\n\t\t\tWindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id),\n\t\t\tTargets: ssm.MaintenanceWindowTaskTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTaskTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaskInvocationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{\n\t\t\t\tLambdaParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs{\n\t\t\t\t\tClientContext: pulumi.String(invokeBase64encode.Result),\n\t\t\t\t\tPayload: pulumi.String(\"{\\\"key1\\\":\\\"value1\\\"}\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.MaintenanceWindowTask;\nimport com.pulumi.aws.ssm.MaintenanceWindowTaskArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new MaintenanceWindowTask(\"example\", MaintenanceWindowTaskArgs.builder()\n .maxConcurrency(2)\n .maxErrors(1)\n .priority(1)\n .taskArn(exampleAwsLambdaFunction.arn())\n .taskType(\"LAMBDA\")\n .windowId(exampleAwsSsmMaintenanceWindow.id())\n .targets(MaintenanceWindowTaskTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .taskInvocationParameters(MaintenanceWindowTaskTaskInvocationParametersArgs.builder()\n .lambdaParameters(MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs.builder()\n .clientContext(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"{\\\"key1\\\":\\\"value1\\\"}\")\n .build()).result())\n .payload(\"{\\\"key1\\\":\\\"value1\\\"}\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:MaintenanceWindowTask\n properties:\n maxConcurrency: 2\n maxErrors: 1\n priority: 1\n taskArn: ${exampleAwsLambdaFunction.arn}\n taskType: LAMBDA\n windowId: ${exampleAwsSsmMaintenanceWindow.id}\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n taskInvocationParameters:\n lambdaParameters:\n clientContext:\n fn::invoke:\n function: std:base64encode\n arguments:\n input: '{\"key1\":\"value1\"}'\n return: result\n payload: '{\"key1\":\"value1\"}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Run Command Tasks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.MaintenanceWindowTask(\"example\", {\n maxConcurrency: \"2\",\n maxErrors: \"1\",\n priority: 1,\n taskArn: \"AWS-RunShellScript\",\n taskType: \"RUN_COMMAND\",\n windowId: exampleAwsSsmMaintenanceWindow.id,\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n taskInvocationParameters: {\n runCommandParameters: {\n outputS3Bucket: exampleAwsS3Bucket.id,\n outputS3KeyPrefix: \"output\",\n serviceRoleArn: exampleAwsIamRole.arn,\n timeoutSeconds: 600,\n notificationConfig: {\n notificationArn: exampleAwsSnsTopic.arn,\n notificationEvents: [\"All\"],\n notificationType: \"Command\",\n },\n parameters: [{\n name: \"commands\",\n values: [\"date\"],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.MaintenanceWindowTask(\"example\",\n max_concurrency=\"2\",\n max_errors=\"1\",\n priority=1,\n task_arn=\"AWS-RunShellScript\",\n task_type=\"RUN_COMMAND\",\n window_id=example_aws_ssm_maintenance_window[\"id\"],\n targets=[{\n \"key\": \"InstanceIds\",\n \"values\": [example_aws_instance[\"id\"]],\n }],\n task_invocation_parameters={\n \"run_command_parameters\": {\n \"output_s3_bucket\": example_aws_s3_bucket[\"id\"],\n \"output_s3_key_prefix\": \"output\",\n \"service_role_arn\": example_aws_iam_role[\"arn\"],\n \"timeout_seconds\": 600,\n \"notification_config\": {\n \"notification_arn\": example_aws_sns_topic[\"arn\"],\n \"notification_events\": [\"All\"],\n \"notification_type\": \"Command\",\n },\n \"parameters\": [{\n \"name\": \"commands\",\n \"values\": [\"date\"],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.MaintenanceWindowTask(\"example\", new()\n {\n MaxConcurrency = \"2\",\n MaxErrors = \"1\",\n Priority = 1,\n TaskArn = \"AWS-RunShellScript\",\n TaskType = \"RUN_COMMAND\",\n WindowId = exampleAwsSsmMaintenanceWindow.Id,\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n TaskInvocationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersArgs\n {\n RunCommandParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs\n {\n OutputS3Bucket = exampleAwsS3Bucket.Id,\n OutputS3KeyPrefix = \"output\",\n ServiceRoleArn = exampleAwsIamRole.Arn,\n TimeoutSeconds = 600,\n NotificationConfig = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs\n {\n NotificationArn = exampleAwsSnsTopic.Arn,\n NotificationEvents = new[]\n {\n \"All\",\n },\n NotificationType = \"Command\",\n },\n Parameters = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArgs\n {\n Name = \"commands\",\n Values = new[]\n {\n \"date\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.NewMaintenanceWindowTask(ctx, \"example\", \u0026ssm.MaintenanceWindowTaskArgs{\n\t\t\tMaxConcurrency: pulumi.String(\"2\"),\n\t\t\tMaxErrors: pulumi.String(\"1\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTaskArn: pulumi.String(\"AWS-RunShellScript\"),\n\t\t\tTaskType: pulumi.String(\"RUN_COMMAND\"),\n\t\t\tWindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id),\n\t\t\tTargets: ssm.MaintenanceWindowTaskTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTaskTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaskInvocationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{\n\t\t\t\tRunCommandParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs{\n\t\t\t\t\tOutputS3Bucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tOutputS3KeyPrefix: pulumi.String(\"output\"),\n\t\t\t\t\tServiceRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\t\tTimeoutSeconds: pulumi.Int(600),\n\t\t\t\t\tNotificationConfig: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs{\n\t\t\t\t\t\tNotificationArn: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\t\t\t\tNotificationEvents: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"All\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tNotificationType: pulumi.String(\"Command\"),\n\t\t\t\t\t},\n\t\t\t\t\tParameters: ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArray{\n\t\t\t\t\t\t\u0026ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"commands\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"date\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.MaintenanceWindowTask;\nimport com.pulumi.aws.ssm.MaintenanceWindowTaskArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new MaintenanceWindowTask(\"example\", MaintenanceWindowTaskArgs.builder()\n .maxConcurrency(2)\n .maxErrors(1)\n .priority(1)\n .taskArn(\"AWS-RunShellScript\")\n .taskType(\"RUN_COMMAND\")\n .windowId(exampleAwsSsmMaintenanceWindow.id())\n .targets(MaintenanceWindowTaskTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .taskInvocationParameters(MaintenanceWindowTaskTaskInvocationParametersArgs.builder()\n .runCommandParameters(MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs.builder()\n .outputS3Bucket(exampleAwsS3Bucket.id())\n .outputS3KeyPrefix(\"output\")\n .serviceRoleArn(exampleAwsIamRole.arn())\n .timeoutSeconds(600)\n .notificationConfig(MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs.builder()\n .notificationArn(exampleAwsSnsTopic.arn())\n .notificationEvents(\"All\")\n .notificationType(\"Command\")\n .build())\n .parameters(MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArgs.builder()\n .name(\"commands\")\n .values(\"date\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:MaintenanceWindowTask\n properties:\n maxConcurrency: 2\n maxErrors: 1\n priority: 1\n taskArn: AWS-RunShellScript\n taskType: RUN_COMMAND\n windowId: ${exampleAwsSsmMaintenanceWindow.id}\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n taskInvocationParameters:\n runCommandParameters:\n outputS3Bucket: ${exampleAwsS3Bucket.id}\n outputS3KeyPrefix: output\n serviceRoleArn: ${exampleAwsIamRole.arn}\n timeoutSeconds: 600\n notificationConfig:\n notificationArn: ${exampleAwsSnsTopic.arn}\n notificationEvents:\n - All\n notificationType: Command\n parameters:\n - name: commands\n values:\n - date\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Step Function Tasks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.MaintenanceWindowTask(\"example\", {\n maxConcurrency: \"2\",\n maxErrors: \"1\",\n priority: 1,\n taskArn: exampleAwsSfnActivity.id,\n taskType: \"STEP_FUNCTIONS\",\n windowId: exampleAwsSsmMaintenanceWindow.id,\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n taskInvocationParameters: {\n stepFunctionsParameters: {\n input: \"{\\\"key1\\\":\\\"value1\\\"}\",\n name: \"example\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.MaintenanceWindowTask(\"example\",\n max_concurrency=\"2\",\n max_errors=\"1\",\n priority=1,\n task_arn=example_aws_sfn_activity[\"id\"],\n task_type=\"STEP_FUNCTIONS\",\n window_id=example_aws_ssm_maintenance_window[\"id\"],\n targets=[{\n \"key\": \"InstanceIds\",\n \"values\": [example_aws_instance[\"id\"]],\n }],\n task_invocation_parameters={\n \"step_functions_parameters\": {\n \"input\": \"{\\\"key1\\\":\\\"value1\\\"}\",\n \"name\": \"example\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.MaintenanceWindowTask(\"example\", new()\n {\n MaxConcurrency = \"2\",\n MaxErrors = \"1\",\n Priority = 1,\n TaskArn = exampleAwsSfnActivity.Id,\n TaskType = \"STEP_FUNCTIONS\",\n WindowId = exampleAwsSsmMaintenanceWindow.Id,\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n TaskInvocationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersArgs\n {\n StepFunctionsParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs\n {\n Input = \"{\\\"key1\\\":\\\"value1\\\"}\",\n Name = \"example\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.NewMaintenanceWindowTask(ctx, \"example\", \u0026ssm.MaintenanceWindowTaskArgs{\n\t\t\tMaxConcurrency: pulumi.String(\"2\"),\n\t\t\tMaxErrors: pulumi.String(\"1\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTaskArn: pulumi.Any(exampleAwsSfnActivity.Id),\n\t\t\tTaskType: pulumi.String(\"STEP_FUNCTIONS\"),\n\t\t\tWindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id),\n\t\t\tTargets: ssm.MaintenanceWindowTaskTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTaskTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaskInvocationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{\n\t\t\t\tStepFunctionsParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs{\n\t\t\t\t\tInput: pulumi.String(\"{\\\"key1\\\":\\\"value1\\\"}\"),\n\t\t\t\t\tName: pulumi.String(\"example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.MaintenanceWindowTask;\nimport com.pulumi.aws.ssm.MaintenanceWindowTaskArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new MaintenanceWindowTask(\"example\", MaintenanceWindowTaskArgs.builder()\n .maxConcurrency(2)\n .maxErrors(1)\n .priority(1)\n .taskArn(exampleAwsSfnActivity.id())\n .taskType(\"STEP_FUNCTIONS\")\n .windowId(exampleAwsSsmMaintenanceWindow.id())\n .targets(MaintenanceWindowTaskTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .taskInvocationParameters(MaintenanceWindowTaskTaskInvocationParametersArgs.builder()\n .stepFunctionsParameters(MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs.builder()\n .input(\"{\\\"key1\\\":\\\"value1\\\"}\")\n .name(\"example\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:MaintenanceWindowTask\n properties:\n maxConcurrency: 2\n maxErrors: 1\n priority: 1\n taskArn: ${exampleAwsSfnActivity.id}\n taskType: STEP_FUNCTIONS\n windowId: ${exampleAwsSsmMaintenanceWindow.id}\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n taskInvocationParameters:\n stepFunctionsParameters:\n input: '{\"key1\":\"value1\"}'\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Maintenance Window Task using the `window_id` and `window_task_id` separated by `/`. For example:\n\n```sh\n$ pulumi import aws:ssm/maintenanceWindowTask:MaintenanceWindowTask task \u003cwindow_id\u003e/\u003cwindow_task_id\u003e\n```\n", + "description": "Provides an SSM Maintenance Window Task resource\n\n## Example Usage\n\n### Automation Tasks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.MaintenanceWindowTask(\"example\", {\n maxConcurrency: \"2\",\n maxErrors: \"1\",\n priority: 1,\n taskArn: \"AWS-RestartEC2Instance\",\n taskType: \"AUTOMATION\",\n windowId: exampleAwsSsmMaintenanceWindow.id,\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n taskInvocationParameters: {\n automationParameters: {\n documentVersion: \"$LATEST\",\n parameters: [{\n name: \"InstanceId\",\n values: [exampleAwsInstance.id],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.MaintenanceWindowTask(\"example\",\n max_concurrency=\"2\",\n max_errors=\"1\",\n priority=1,\n task_arn=\"AWS-RestartEC2Instance\",\n task_type=\"AUTOMATION\",\n window_id=example_aws_ssm_maintenance_window[\"id\"],\n targets=[{\n \"key\": \"InstanceIds\",\n \"values\": [example_aws_instance[\"id\"]],\n }],\n task_invocation_parameters={\n \"automation_parameters\": {\n \"document_version\": \"$LATEST\",\n \"parameters\": [{\n \"name\": \"InstanceId\",\n \"values\": [example_aws_instance[\"id\"]],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.MaintenanceWindowTask(\"example\", new()\n {\n MaxConcurrency = \"2\",\n MaxErrors = \"1\",\n Priority = 1,\n TaskArn = \"AWS-RestartEC2Instance\",\n TaskType = \"AUTOMATION\",\n WindowId = exampleAwsSsmMaintenanceWindow.Id,\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n TaskInvocationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersArgs\n {\n AutomationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs\n {\n DocumentVersion = \"$LATEST\",\n Parameters = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArgs\n {\n Name = \"InstanceId\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.NewMaintenanceWindowTask(ctx, \"example\", \u0026ssm.MaintenanceWindowTaskArgs{\n\t\t\tMaxConcurrency: pulumi.String(\"2\"),\n\t\t\tMaxErrors: pulumi.String(\"1\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTaskArn: pulumi.String(\"AWS-RestartEC2Instance\"),\n\t\t\tTaskType: pulumi.String(\"AUTOMATION\"),\n\t\t\tWindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id),\n\t\t\tTargets: ssm.MaintenanceWindowTaskTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTaskTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaskInvocationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{\n\t\t\t\tAutomationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs{\n\t\t\t\t\tDocumentVersion: pulumi.String(\"$LATEST\"),\n\t\t\t\t\tParameters: ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArray{\n\t\t\t\t\t\t\u0026ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"InstanceId\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\texampleAwsInstance.Id,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.MaintenanceWindowTask;\nimport com.pulumi.aws.ssm.MaintenanceWindowTaskArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new MaintenanceWindowTask(\"example\", MaintenanceWindowTaskArgs.builder()\n .maxConcurrency(2)\n .maxErrors(1)\n .priority(1)\n .taskArn(\"AWS-RestartEC2Instance\")\n .taskType(\"AUTOMATION\")\n .windowId(exampleAwsSsmMaintenanceWindow.id())\n .targets(MaintenanceWindowTaskTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .taskInvocationParameters(MaintenanceWindowTaskTaskInvocationParametersArgs.builder()\n .automationParameters(MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs.builder()\n .documentVersion(\"$LATEST\")\n .parameters(MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArgs.builder()\n .name(\"InstanceId\")\n .values(exampleAwsInstance.id())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:MaintenanceWindowTask\n properties:\n maxConcurrency: 2\n maxErrors: 1\n priority: 1\n taskArn: AWS-RestartEC2Instance\n taskType: AUTOMATION\n windowId: ${exampleAwsSsmMaintenanceWindow.id}\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n taskInvocationParameters:\n automationParameters:\n documentVersion: $LATEST\n parameters:\n - name: InstanceId\n values:\n - ${exampleAwsInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Tasks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.ssm.MaintenanceWindowTask(\"example\", {\n maxConcurrency: \"2\",\n maxErrors: \"1\",\n priority: 1,\n taskArn: exampleAwsLambdaFunction.arn,\n taskType: \"LAMBDA\",\n windowId: exampleAwsSsmMaintenanceWindow.id,\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n taskInvocationParameters: {\n lambdaParameters: {\n clientContext: std.base64encode({\n input: \"{\\\"key1\\\":\\\"value1\\\"}\",\n }).then(invoke =\u003e invoke.result),\n payload: \"{\\\"key1\\\":\\\"value1\\\"}\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.ssm.MaintenanceWindowTask(\"example\",\n max_concurrency=\"2\",\n max_errors=\"1\",\n priority=1,\n task_arn=example_aws_lambda_function[\"arn\"],\n task_type=\"LAMBDA\",\n window_id=example_aws_ssm_maintenance_window[\"id\"],\n targets=[{\n \"key\": \"InstanceIds\",\n \"values\": [example_aws_instance[\"id\"]],\n }],\n task_invocation_parameters={\n \"lambda_parameters\": {\n \"client_context\": std.base64encode(input=\"{\\\"key1\\\":\\\"value1\\\"}\").result,\n \"payload\": \"{\\\"key1\\\":\\\"value1\\\"}\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.MaintenanceWindowTask(\"example\", new()\n {\n MaxConcurrency = \"2\",\n MaxErrors = \"1\",\n Priority = 1,\n TaskArn = exampleAwsLambdaFunction.Arn,\n TaskType = \"LAMBDA\",\n WindowId = exampleAwsSsmMaintenanceWindow.Id,\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n TaskInvocationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersArgs\n {\n LambdaParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs\n {\n ClientContext = Std.Base64encode.Invoke(new()\n {\n Input = \"{\\\"key1\\\":\\\"value1\\\"}\",\n }).Apply(invoke =\u003e invoke.Result),\n Payload = \"{\\\"key1\\\":\\\"value1\\\"}\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"{\\\"key1\\\":\\\"value1\\\"}\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewMaintenanceWindowTask(ctx, \"example\", \u0026ssm.MaintenanceWindowTaskArgs{\n\t\t\tMaxConcurrency: pulumi.String(\"2\"),\n\t\t\tMaxErrors: pulumi.String(\"1\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTaskArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tTaskType: pulumi.String(\"LAMBDA\"),\n\t\t\tWindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id),\n\t\t\tTargets: ssm.MaintenanceWindowTaskTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTaskTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaskInvocationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{\n\t\t\t\tLambdaParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs{\n\t\t\t\t\tClientContext: pulumi.String(invokeBase64encode.Result),\n\t\t\t\t\tPayload: pulumi.String(\"{\\\"key1\\\":\\\"value1\\\"}\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.MaintenanceWindowTask;\nimport com.pulumi.aws.ssm.MaintenanceWindowTaskArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new MaintenanceWindowTask(\"example\", MaintenanceWindowTaskArgs.builder()\n .maxConcurrency(2)\n .maxErrors(1)\n .priority(1)\n .taskArn(exampleAwsLambdaFunction.arn())\n .taskType(\"LAMBDA\")\n .windowId(exampleAwsSsmMaintenanceWindow.id())\n .targets(MaintenanceWindowTaskTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .taskInvocationParameters(MaintenanceWindowTaskTaskInvocationParametersArgs.builder()\n .lambdaParameters(MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs.builder()\n .clientContext(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"{\\\"key1\\\":\\\"value1\\\"}\")\n .build()).result())\n .payload(\"{\\\"key1\\\":\\\"value1\\\"}\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:MaintenanceWindowTask\n properties:\n maxConcurrency: 2\n maxErrors: 1\n priority: 1\n taskArn: ${exampleAwsLambdaFunction.arn}\n taskType: LAMBDA\n windowId: ${exampleAwsSsmMaintenanceWindow.id}\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n taskInvocationParameters:\n lambdaParameters:\n clientContext:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: '{\"key1\":\"value1\"}'\n Return: result\n payload: '{\"key1\":\"value1\"}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Run Command Tasks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.MaintenanceWindowTask(\"example\", {\n maxConcurrency: \"2\",\n maxErrors: \"1\",\n priority: 1,\n taskArn: \"AWS-RunShellScript\",\n taskType: \"RUN_COMMAND\",\n windowId: exampleAwsSsmMaintenanceWindow.id,\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n taskInvocationParameters: {\n runCommandParameters: {\n outputS3Bucket: exampleAwsS3Bucket.id,\n outputS3KeyPrefix: \"output\",\n serviceRoleArn: exampleAwsIamRole.arn,\n timeoutSeconds: 600,\n notificationConfig: {\n notificationArn: exampleAwsSnsTopic.arn,\n notificationEvents: [\"All\"],\n notificationType: \"Command\",\n },\n parameters: [{\n name: \"commands\",\n values: [\"date\"],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.MaintenanceWindowTask(\"example\",\n max_concurrency=\"2\",\n max_errors=\"1\",\n priority=1,\n task_arn=\"AWS-RunShellScript\",\n task_type=\"RUN_COMMAND\",\n window_id=example_aws_ssm_maintenance_window[\"id\"],\n targets=[{\n \"key\": \"InstanceIds\",\n \"values\": [example_aws_instance[\"id\"]],\n }],\n task_invocation_parameters={\n \"run_command_parameters\": {\n \"output_s3_bucket\": example_aws_s3_bucket[\"id\"],\n \"output_s3_key_prefix\": \"output\",\n \"service_role_arn\": example_aws_iam_role[\"arn\"],\n \"timeout_seconds\": 600,\n \"notification_config\": {\n \"notification_arn\": example_aws_sns_topic[\"arn\"],\n \"notification_events\": [\"All\"],\n \"notification_type\": \"Command\",\n },\n \"parameters\": [{\n \"name\": \"commands\",\n \"values\": [\"date\"],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.MaintenanceWindowTask(\"example\", new()\n {\n MaxConcurrency = \"2\",\n MaxErrors = \"1\",\n Priority = 1,\n TaskArn = \"AWS-RunShellScript\",\n TaskType = \"RUN_COMMAND\",\n WindowId = exampleAwsSsmMaintenanceWindow.Id,\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n TaskInvocationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersArgs\n {\n RunCommandParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs\n {\n OutputS3Bucket = exampleAwsS3Bucket.Id,\n OutputS3KeyPrefix = \"output\",\n ServiceRoleArn = exampleAwsIamRole.Arn,\n TimeoutSeconds = 600,\n NotificationConfig = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs\n {\n NotificationArn = exampleAwsSnsTopic.Arn,\n NotificationEvents = new[]\n {\n \"All\",\n },\n NotificationType = \"Command\",\n },\n Parameters = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArgs\n {\n Name = \"commands\",\n Values = new[]\n {\n \"date\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.NewMaintenanceWindowTask(ctx, \"example\", \u0026ssm.MaintenanceWindowTaskArgs{\n\t\t\tMaxConcurrency: pulumi.String(\"2\"),\n\t\t\tMaxErrors: pulumi.String(\"1\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTaskArn: pulumi.String(\"AWS-RunShellScript\"),\n\t\t\tTaskType: pulumi.String(\"RUN_COMMAND\"),\n\t\t\tWindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id),\n\t\t\tTargets: ssm.MaintenanceWindowTaskTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTaskTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaskInvocationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{\n\t\t\t\tRunCommandParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs{\n\t\t\t\t\tOutputS3Bucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tOutputS3KeyPrefix: pulumi.String(\"output\"),\n\t\t\t\t\tServiceRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\t\tTimeoutSeconds: pulumi.Int(600),\n\t\t\t\t\tNotificationConfig: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs{\n\t\t\t\t\t\tNotificationArn: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\t\t\t\tNotificationEvents: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"All\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tNotificationType: pulumi.String(\"Command\"),\n\t\t\t\t\t},\n\t\t\t\t\tParameters: ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArray{\n\t\t\t\t\t\t\u0026ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"commands\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"date\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.MaintenanceWindowTask;\nimport com.pulumi.aws.ssm.MaintenanceWindowTaskArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new MaintenanceWindowTask(\"example\", MaintenanceWindowTaskArgs.builder()\n .maxConcurrency(2)\n .maxErrors(1)\n .priority(1)\n .taskArn(\"AWS-RunShellScript\")\n .taskType(\"RUN_COMMAND\")\n .windowId(exampleAwsSsmMaintenanceWindow.id())\n .targets(MaintenanceWindowTaskTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .taskInvocationParameters(MaintenanceWindowTaskTaskInvocationParametersArgs.builder()\n .runCommandParameters(MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs.builder()\n .outputS3Bucket(exampleAwsS3Bucket.id())\n .outputS3KeyPrefix(\"output\")\n .serviceRoleArn(exampleAwsIamRole.arn())\n .timeoutSeconds(600)\n .notificationConfig(MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs.builder()\n .notificationArn(exampleAwsSnsTopic.arn())\n .notificationEvents(\"All\")\n .notificationType(\"Command\")\n .build())\n .parameters(MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArgs.builder()\n .name(\"commands\")\n .values(\"date\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:MaintenanceWindowTask\n properties:\n maxConcurrency: 2\n maxErrors: 1\n priority: 1\n taskArn: AWS-RunShellScript\n taskType: RUN_COMMAND\n windowId: ${exampleAwsSsmMaintenanceWindow.id}\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n taskInvocationParameters:\n runCommandParameters:\n outputS3Bucket: ${exampleAwsS3Bucket.id}\n outputS3KeyPrefix: output\n serviceRoleArn: ${exampleAwsIamRole.arn}\n timeoutSeconds: 600\n notificationConfig:\n notificationArn: ${exampleAwsSnsTopic.arn}\n notificationEvents:\n - All\n notificationType: Command\n parameters:\n - name: commands\n values:\n - date\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Step Function Tasks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.MaintenanceWindowTask(\"example\", {\n maxConcurrency: \"2\",\n maxErrors: \"1\",\n priority: 1,\n taskArn: exampleAwsSfnActivity.id,\n taskType: \"STEP_FUNCTIONS\",\n windowId: exampleAwsSsmMaintenanceWindow.id,\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n taskInvocationParameters: {\n stepFunctionsParameters: {\n input: \"{\\\"key1\\\":\\\"value1\\\"}\",\n name: \"example\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.MaintenanceWindowTask(\"example\",\n max_concurrency=\"2\",\n max_errors=\"1\",\n priority=1,\n task_arn=example_aws_sfn_activity[\"id\"],\n task_type=\"STEP_FUNCTIONS\",\n window_id=example_aws_ssm_maintenance_window[\"id\"],\n targets=[{\n \"key\": \"InstanceIds\",\n \"values\": [example_aws_instance[\"id\"]],\n }],\n task_invocation_parameters={\n \"step_functions_parameters\": {\n \"input\": \"{\\\"key1\\\":\\\"value1\\\"}\",\n \"name\": \"example\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.MaintenanceWindowTask(\"example\", new()\n {\n MaxConcurrency = \"2\",\n MaxErrors = \"1\",\n Priority = 1,\n TaskArn = exampleAwsSfnActivity.Id,\n TaskType = \"STEP_FUNCTIONS\",\n WindowId = exampleAwsSsmMaintenanceWindow.Id,\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n TaskInvocationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersArgs\n {\n StepFunctionsParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs\n {\n Input = \"{\\\"key1\\\":\\\"value1\\\"}\",\n Name = \"example\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.NewMaintenanceWindowTask(ctx, \"example\", \u0026ssm.MaintenanceWindowTaskArgs{\n\t\t\tMaxConcurrency: pulumi.String(\"2\"),\n\t\t\tMaxErrors: pulumi.String(\"1\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTaskArn: pulumi.Any(exampleAwsSfnActivity.Id),\n\t\t\tTaskType: pulumi.String(\"STEP_FUNCTIONS\"),\n\t\t\tWindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id),\n\t\t\tTargets: ssm.MaintenanceWindowTaskTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTaskTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaskInvocationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{\n\t\t\t\tStepFunctionsParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs{\n\t\t\t\t\tInput: pulumi.String(\"{\\\"key1\\\":\\\"value1\\\"}\"),\n\t\t\t\t\tName: pulumi.String(\"example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.MaintenanceWindowTask;\nimport com.pulumi.aws.ssm.MaintenanceWindowTaskArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new MaintenanceWindowTask(\"example\", MaintenanceWindowTaskArgs.builder()\n .maxConcurrency(2)\n .maxErrors(1)\n .priority(1)\n .taskArn(exampleAwsSfnActivity.id())\n .taskType(\"STEP_FUNCTIONS\")\n .windowId(exampleAwsSsmMaintenanceWindow.id())\n .targets(MaintenanceWindowTaskTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .taskInvocationParameters(MaintenanceWindowTaskTaskInvocationParametersArgs.builder()\n .stepFunctionsParameters(MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs.builder()\n .input(\"{\\\"key1\\\":\\\"value1\\\"}\")\n .name(\"example\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:MaintenanceWindowTask\n properties:\n maxConcurrency: 2\n maxErrors: 1\n priority: 1\n taskArn: ${exampleAwsSfnActivity.id}\n taskType: STEP_FUNCTIONS\n windowId: ${exampleAwsSsmMaintenanceWindow.id}\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n taskInvocationParameters:\n stepFunctionsParameters:\n input: '{\"key1\":\"value1\"}'\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Maintenance Window Task using the `window_id` and `window_task_id` separated by `/`. For example:\n\n```sh\n$ pulumi import aws:ssm/maintenanceWindowTask:MaintenanceWindowTask task \u003cwindow_id\u003e/\u003cwindow_task_id\u003e\n```\n", "properties": { "arn": { "type": "string", @@ -367932,7 +367932,7 @@ } }, "aws:ssm/resourceDataSync:ResourceDataSync": { - "description": "Provides a SSM resource data sync.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst hogeBucketV2 = new aws.s3.BucketV2(\"hoge\", {bucket: \"tf-test-bucket-1234\"});\nconst hoge = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"SSMBucketPermissionsCheck\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ssm.amazonaws.com\"],\n }],\n actions: [\"s3:GetBucketAcl\"],\n resources: [\"arn:aws:s3:::tf-test-bucket-1234\"],\n },\n {\n sid: \"SSMBucketDelivery\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ssm.amazonaws.com\"],\n }],\n actions: [\"s3:PutObject\"],\n resources: [\"arn:aws:s3:::tf-test-bucket-1234/*\"],\n conditions: [{\n test: \"StringEquals\",\n variable: \"s3:x-amz-acl\",\n values: [\"bucket-owner-full-control\"],\n }],\n },\n ],\n});\nconst hogeBucketPolicy = new aws.s3.BucketPolicy(\"hoge\", {\n bucket: hogeBucketV2.id,\n policy: hoge.then(hoge =\u003e hoge.json),\n});\nconst foo = new aws.ssm.ResourceDataSync(\"foo\", {\n name: \"foo\",\n s3Destination: {\n bucketName: hogeBucketV2.bucket,\n region: hogeBucketV2.region,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nhoge_bucket_v2 = aws.s3.BucketV2(\"hoge\", bucket=\"tf-test-bucket-1234\")\nhoge = aws.iam.get_policy_document(statements=[\n {\n \"sid\": \"SSMBucketPermissionsCheck\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"ssm.amazonaws.com\"],\n }],\n \"actions\": [\"s3:GetBucketAcl\"],\n \"resources\": [\"arn:aws:s3:::tf-test-bucket-1234\"],\n },\n {\n \"sid\": \"SSMBucketDelivery\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"ssm.amazonaws.com\"],\n }],\n \"actions\": [\"s3:PutObject\"],\n \"resources\": [\"arn:aws:s3:::tf-test-bucket-1234/*\"],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"s3:x-amz-acl\",\n \"values\": [\"bucket-owner-full-control\"],\n }],\n },\n])\nhoge_bucket_policy = aws.s3.BucketPolicy(\"hoge\",\n bucket=hoge_bucket_v2.id,\n policy=hoge.json)\nfoo = aws.ssm.ResourceDataSync(\"foo\",\n name=\"foo\",\n s3_destination={\n \"bucket_name\": hoge_bucket_v2.bucket,\n \"region\": hoge_bucket_v2.region,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var hogeBucketV2 = new Aws.S3.BucketV2(\"hoge\", new()\n {\n Bucket = \"tf-test-bucket-1234\",\n });\n\n var hoge = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SSMBucketPermissionsCheck\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ssm.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::tf-test-bucket-1234\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SSMBucketDelivery\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ssm.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::tf-test-bucket-1234/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"s3:x-amz-acl\",\n Values = new[]\n {\n \"bucket-owner-full-control\",\n },\n },\n },\n },\n },\n });\n\n var hogeBucketPolicy = new Aws.S3.BucketPolicy(\"hoge\", new()\n {\n Bucket = hogeBucketV2.Id,\n Policy = hoge.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = new Aws.Ssm.ResourceDataSync(\"foo\", new()\n {\n Name = \"foo\",\n S3Destination = new Aws.Ssm.Inputs.ResourceDataSyncS3DestinationArgs\n {\n BucketName = hogeBucketV2.Bucket,\n Region = hogeBucketV2.Region,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\thogeBucketV2, err := s3.NewBucketV2(ctx, \"hoge\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\thoge, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"SSMBucketPermissionsCheck\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ssm.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:GetBucketAcl\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::tf-test-bucket-1234\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"SSMBucketDelivery\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ssm.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:PutObject\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::tf-test-bucket-1234/*\",\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"StringEquals\",\n\t\t\t\t\t\t\tVariable: \"s3:x-amz-acl\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"bucket-owner-full-control\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketPolicy(ctx, \"hoge\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: hogeBucketV2.ID(),\n\t\t\tPolicy: pulumi.String(hoge.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewResourceDataSync(ctx, \"foo\", \u0026ssm.ResourceDataSyncArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tS3Destination: \u0026ssm.ResourceDataSyncS3DestinationArgs{\n\t\t\t\tBucketName: hogeBucketV2.Bucket,\n\t\t\t\tRegion: hogeBucketV2.Region,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.ssm.ResourceDataSync;\nimport com.pulumi.aws.ssm.ResourceDataSyncArgs;\nimport com.pulumi.aws.ssm.inputs.ResourceDataSyncS3DestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var hogeBucketV2 = new BucketV2(\"hogeBucketV2\", BucketV2Args.builder()\n .bucket(\"tf-test-bucket-1234\")\n .build());\n\n final var hoge = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"SSMBucketPermissionsCheck\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ssm.amazonaws.com\")\n .build())\n .actions(\"s3:GetBucketAcl\")\n .resources(\"arn:aws:s3:::tf-test-bucket-1234\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"SSMBucketDelivery\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ssm.amazonaws.com\")\n .build())\n .actions(\"s3:PutObject\")\n .resources(\"arn:aws:s3:::tf-test-bucket-1234/*\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"s3:x-amz-acl\")\n .values(\"bucket-owner-full-control\")\n .build())\n .build())\n .build());\n\n var hogeBucketPolicy = new BucketPolicy(\"hogeBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(hogeBucketV2.id())\n .policy(hoge.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var foo = new ResourceDataSync(\"foo\", ResourceDataSyncArgs.builder()\n .name(\"foo\")\n .s3Destination(ResourceDataSyncS3DestinationArgs.builder()\n .bucketName(hogeBucketV2.bucket())\n .region(hogeBucketV2.region())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n hogeBucketV2:\n type: aws:s3:BucketV2\n name: hoge\n properties:\n bucket: tf-test-bucket-1234\n hogeBucketPolicy:\n type: aws:s3:BucketPolicy\n name: hoge\n properties:\n bucket: ${hogeBucketV2.id}\n policy: ${hoge.json}\n foo:\n type: aws:ssm:ResourceDataSync\n properties:\n name: foo\n s3Destination:\n bucketName: ${hogeBucketV2.bucket}\n region: ${hogeBucketV2.region}\nvariables:\n hoge:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: SSMBucketPermissionsCheck\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - ssm.amazonaws.com\n actions:\n - s3:GetBucketAcl\n resources:\n - arn:aws:s3:::tf-test-bucket-1234\n - sid: SSMBucketDelivery\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - ssm.amazonaws.com\n actions:\n - s3:PutObject\n resources:\n - arn:aws:s3:::tf-test-bucket-1234/*\n conditions:\n - test: StringEquals\n variable: s3:x-amz-acl\n values:\n - bucket-owner-full-control\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM resource data sync using the `name`. For example:\n\n```sh\n$ pulumi import aws:ssm/resourceDataSync:ResourceDataSync example example-name\n```\n", + "description": "Provides a SSM resource data sync.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst hogeBucketV2 = new aws.s3.BucketV2(\"hoge\", {bucket: \"tf-test-bucket-1234\"});\nconst hoge = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"SSMBucketPermissionsCheck\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ssm.amazonaws.com\"],\n }],\n actions: [\"s3:GetBucketAcl\"],\n resources: [\"arn:aws:s3:::tf-test-bucket-1234\"],\n },\n {\n sid: \"SSMBucketDelivery\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ssm.amazonaws.com\"],\n }],\n actions: [\"s3:PutObject\"],\n resources: [\"arn:aws:s3:::tf-test-bucket-1234/*\"],\n conditions: [{\n test: \"StringEquals\",\n variable: \"s3:x-amz-acl\",\n values: [\"bucket-owner-full-control\"],\n }],\n },\n ],\n});\nconst hogeBucketPolicy = new aws.s3.BucketPolicy(\"hoge\", {\n bucket: hogeBucketV2.id,\n policy: hoge.then(hoge =\u003e hoge.json),\n});\nconst foo = new aws.ssm.ResourceDataSync(\"foo\", {\n name: \"foo\",\n s3Destination: {\n bucketName: hogeBucketV2.bucket,\n region: hogeBucketV2.region,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nhoge_bucket_v2 = aws.s3.BucketV2(\"hoge\", bucket=\"tf-test-bucket-1234\")\nhoge = aws.iam.get_policy_document(statements=[\n {\n \"sid\": \"SSMBucketPermissionsCheck\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"ssm.amazonaws.com\"],\n }],\n \"actions\": [\"s3:GetBucketAcl\"],\n \"resources\": [\"arn:aws:s3:::tf-test-bucket-1234\"],\n },\n {\n \"sid\": \"SSMBucketDelivery\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"ssm.amazonaws.com\"],\n }],\n \"actions\": [\"s3:PutObject\"],\n \"resources\": [\"arn:aws:s3:::tf-test-bucket-1234/*\"],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"s3:x-amz-acl\",\n \"values\": [\"bucket-owner-full-control\"],\n }],\n },\n])\nhoge_bucket_policy = aws.s3.BucketPolicy(\"hoge\",\n bucket=hoge_bucket_v2.id,\n policy=hoge.json)\nfoo = aws.ssm.ResourceDataSync(\"foo\",\n name=\"foo\",\n s3_destination={\n \"bucket_name\": hoge_bucket_v2.bucket,\n \"region\": hoge_bucket_v2.region,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var hogeBucketV2 = new Aws.S3.BucketV2(\"hoge\", new()\n {\n Bucket = \"tf-test-bucket-1234\",\n });\n\n var hoge = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SSMBucketPermissionsCheck\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ssm.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::tf-test-bucket-1234\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SSMBucketDelivery\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ssm.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::tf-test-bucket-1234/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"s3:x-amz-acl\",\n Values = new[]\n {\n \"bucket-owner-full-control\",\n },\n },\n },\n },\n },\n });\n\n var hogeBucketPolicy = new Aws.S3.BucketPolicy(\"hoge\", new()\n {\n Bucket = hogeBucketV2.Id,\n Policy = hoge.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = new Aws.Ssm.ResourceDataSync(\"foo\", new()\n {\n Name = \"foo\",\n S3Destination = new Aws.Ssm.Inputs.ResourceDataSyncS3DestinationArgs\n {\n BucketName = hogeBucketV2.Bucket,\n Region = hogeBucketV2.Region,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\thogeBucketV2, err := s3.NewBucketV2(ctx, \"hoge\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\thoge, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"SSMBucketPermissionsCheck\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ssm.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:GetBucketAcl\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::tf-test-bucket-1234\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"SSMBucketDelivery\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ssm.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:PutObject\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::tf-test-bucket-1234/*\",\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"StringEquals\",\n\t\t\t\t\t\t\tVariable: \"s3:x-amz-acl\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"bucket-owner-full-control\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketPolicy(ctx, \"hoge\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: hogeBucketV2.ID(),\n\t\t\tPolicy: pulumi.String(hoge.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewResourceDataSync(ctx, \"foo\", \u0026ssm.ResourceDataSyncArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tS3Destination: \u0026ssm.ResourceDataSyncS3DestinationArgs{\n\t\t\t\tBucketName: hogeBucketV2.Bucket,\n\t\t\t\tRegion: hogeBucketV2.Region,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.ssm.ResourceDataSync;\nimport com.pulumi.aws.ssm.ResourceDataSyncArgs;\nimport com.pulumi.aws.ssm.inputs.ResourceDataSyncS3DestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var hogeBucketV2 = new BucketV2(\"hogeBucketV2\", BucketV2Args.builder()\n .bucket(\"tf-test-bucket-1234\")\n .build());\n\n final var hoge = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"SSMBucketPermissionsCheck\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ssm.amazonaws.com\")\n .build())\n .actions(\"s3:GetBucketAcl\")\n .resources(\"arn:aws:s3:::tf-test-bucket-1234\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"SSMBucketDelivery\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ssm.amazonaws.com\")\n .build())\n .actions(\"s3:PutObject\")\n .resources(\"arn:aws:s3:::tf-test-bucket-1234/*\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"s3:x-amz-acl\")\n .values(\"bucket-owner-full-control\")\n .build())\n .build())\n .build());\n\n var hogeBucketPolicy = new BucketPolicy(\"hogeBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(hogeBucketV2.id())\n .policy(hoge.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var foo = new ResourceDataSync(\"foo\", ResourceDataSyncArgs.builder()\n .name(\"foo\")\n .s3Destination(ResourceDataSyncS3DestinationArgs.builder()\n .bucketName(hogeBucketV2.bucket())\n .region(hogeBucketV2.region())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n hogeBucketV2:\n type: aws:s3:BucketV2\n name: hoge\n properties:\n bucket: tf-test-bucket-1234\n hogeBucketPolicy:\n type: aws:s3:BucketPolicy\n name: hoge\n properties:\n bucket: ${hogeBucketV2.id}\n policy: ${hoge.json}\n foo:\n type: aws:ssm:ResourceDataSync\n properties:\n name: foo\n s3Destination:\n bucketName: ${hogeBucketV2.bucket}\n region: ${hogeBucketV2.region}\nvariables:\n hoge:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: SSMBucketPermissionsCheck\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - ssm.amazonaws.com\n actions:\n - s3:GetBucketAcl\n resources:\n - arn:aws:s3:::tf-test-bucket-1234\n - sid: SSMBucketDelivery\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - ssm.amazonaws.com\n actions:\n - s3:PutObject\n resources:\n - arn:aws:s3:::tf-test-bucket-1234/*\n conditions:\n - test: StringEquals\n variable: s3:x-amz-acl\n values:\n - bucket-owner-full-control\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM resource data sync using the `name`. For example:\n\n```sh\n$ pulumi import aws:ssm/resourceDataSync:ResourceDataSync example example-name\n```\n", "properties": { "name": { "type": "string", @@ -368043,7 +368043,7 @@ } }, "aws:ssmcontacts/contact:Contact": { - "description": "Resource for managing an AWS SSM Contact.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmcontacts.Contact(\"example\", {\n alias: \"alias\",\n type: \"PERSONAL\",\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmcontacts.Contact(\"example\",\n alias=\"alias\",\n type=\"PERSONAL\",\n opts = pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmContacts.Contact(\"example\", new()\n {\n Alias = \"alias\",\n Type = \"PERSONAL\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\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 := ssmcontacts.NewContact(ctx, \"example\", \u0026ssmcontacts.ContactArgs{\n\t\t\tAlias: pulumi.String(\"alias\"),\n\t\t\tType: pulumi.String(\"PERSONAL\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmcontacts.Contact;\nimport com.pulumi.aws.ssmcontacts.ContactArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Contact(\"example\", ContactArgs.builder()\n .alias(\"alias\")\n .type(\"PERSONAL\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmcontacts:Contact\n properties:\n alias: alias\n type: PERSONAL\n options:\n dependsOn:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage With All Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmcontacts.Contact(\"example\", {\n alias: \"alias\",\n displayName: \"displayName\",\n type: \"ESCALATION\",\n tags: {\n key: \"value\",\n },\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmcontacts.Contact(\"example\",\n alias=\"alias\",\n display_name=\"displayName\",\n type=\"ESCALATION\",\n tags={\n \"key\": \"value\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmContacts.Contact(\"example\", new()\n {\n Alias = \"alias\",\n DisplayName = \"displayName\",\n Type = \"ESCALATION\",\n Tags = \n {\n { \"key\", \"value\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\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 := ssmcontacts.NewContact(ctx, \"example\", \u0026ssmcontacts.ContactArgs{\n\t\t\tAlias: pulumi.String(\"alias\"),\n\t\t\tDisplayName: pulumi.String(\"displayName\"),\n\t\t\tType: pulumi.String(\"ESCALATION\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmcontacts.Contact;\nimport com.pulumi.aws.ssmcontacts.ContactArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Contact(\"example\", ContactArgs.builder()\n .alias(\"alias\")\n .displayName(\"displayName\")\n .type(\"ESCALATION\")\n .tags(Map.of(\"key\", \"value\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmcontacts:Contact\n properties:\n alias: alias\n displayName: displayName\n type: ESCALATION\n tags:\n key: value\n options:\n dependsOn:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM Contact using the `ARN`. For example:\n\n```sh\n$ pulumi import aws:ssmcontacts/contact:Contact example {ARNValue}\n```\n", + "description": "Resource for managing an AWS SSM Contact.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmcontacts.Contact(\"example\", {\n alias: \"alias\",\n type: \"PERSONAL\",\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmcontacts.Contact(\"example\",\n alias=\"alias\",\n type=\"PERSONAL\",\n opts = pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmContacts.Contact(\"example\", new()\n {\n Alias = \"alias\",\n Type = \"PERSONAL\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\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 := ssmcontacts.NewContact(ctx, \"example\", \u0026ssmcontacts.ContactArgs{\n\t\t\tAlias: pulumi.String(\"alias\"),\n\t\t\tType: pulumi.String(\"PERSONAL\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmcontacts.Contact;\nimport com.pulumi.aws.ssmcontacts.ContactArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Contact(\"example\", ContactArgs.builder()\n .alias(\"alias\")\n .type(\"PERSONAL\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmcontacts:Contact\n properties:\n alias: alias\n type: PERSONAL\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage With All Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmcontacts.Contact(\"example\", {\n alias: \"alias\",\n displayName: \"displayName\",\n type: \"ESCALATION\",\n tags: {\n key: \"value\",\n },\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmcontacts.Contact(\"example\",\n alias=\"alias\",\n display_name=\"displayName\",\n type=\"ESCALATION\",\n tags={\n \"key\": \"value\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmContacts.Contact(\"example\", new()\n {\n Alias = \"alias\",\n DisplayName = \"displayName\",\n Type = \"ESCALATION\",\n Tags = \n {\n { \"key\", \"value\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\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 := ssmcontacts.NewContact(ctx, \"example\", \u0026ssmcontacts.ContactArgs{\n\t\t\tAlias: pulumi.String(\"alias\"),\n\t\t\tDisplayName: pulumi.String(\"displayName\"),\n\t\t\tType: pulumi.String(\"ESCALATION\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmcontacts.Contact;\nimport com.pulumi.aws.ssmcontacts.ContactArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Contact(\"example\", ContactArgs.builder()\n .alias(\"alias\")\n .displayName(\"displayName\")\n .type(\"ESCALATION\")\n .tags(Map.of(\"key\", \"value\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmcontacts:Contact\n properties:\n alias: alias\n displayName: displayName\n type: ESCALATION\n tags:\n key: value\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM Contact using the `ARN`. For example:\n\n```sh\n$ pulumi import aws:ssmcontacts/contact:Contact example {ARNValue}\n```\n", "properties": { "alias": { "type": "string", @@ -368418,7 +368418,7 @@ } }, "aws:ssmincidents/responsePlan:ResponsePlan": { - "description": "Provides a resource to manage response plans in AWS Systems Manager Incident Manager.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmincidents.ResponsePlan(\"example\", {\n name: \"name\",\n incidentTemplate: {\n title: \"title\",\n impact: 3,\n },\n tags: {\n key: \"value\",\n },\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmincidents.ResponsePlan(\"example\",\n name=\"name\",\n incident_template={\n \"title\": \"title\",\n \"impact\": 3,\n },\n tags={\n \"key\": \"value\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmIncidents.ResponsePlan(\"example\", new()\n {\n Name = \"name\",\n IncidentTemplate = new Aws.SsmIncidents.Inputs.ResponsePlanIncidentTemplateArgs\n {\n Title = \"title\",\n Impact = 3,\n },\n Tags = \n {\n { \"key\", \"value\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmincidents\"\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 := ssmincidents.NewResponsePlan(ctx, \"example\", \u0026ssmincidents.ResponsePlanArgs{\n\t\t\tName: pulumi.String(\"name\"),\n\t\t\tIncidentTemplate: \u0026ssmincidents.ResponsePlanIncidentTemplateArgs{\n\t\t\t\tTitle: pulumi.String(\"title\"),\n\t\t\t\tImpact: pulumi.Int(3),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmincidents.ResponsePlan;\nimport com.pulumi.aws.ssmincidents.ResponsePlanArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ResponsePlanIncidentTemplateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResponsePlan(\"example\", ResponsePlanArgs.builder()\n .name(\"name\")\n .incidentTemplate(ResponsePlanIncidentTemplateArgs.builder()\n .title(\"title\")\n .impact(\"3\")\n .build())\n .tags(Map.of(\"key\", \"value\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmincidents:ResponsePlan\n properties:\n name: name\n incidentTemplate:\n title: title\n impact: '3'\n tags:\n key: value\n options:\n dependsOn:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage With All Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmincidents.ResponsePlan(\"example\", {\n name: \"name\",\n incidentTemplate: {\n title: \"title\",\n impact: 3,\n dedupeString: \"dedupe\",\n incidentTags: {\n key: \"value\",\n },\n notificationTargets: [\n {\n snsTopicArn: example1.arn,\n },\n {\n snsTopicArn: example2.arn,\n },\n ],\n summary: \"summary\",\n },\n displayName: \"display name\",\n chatChannels: [topic.arn],\n engagements: [\"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\"],\n action: {\n ssmAutomations: [{\n documentName: document1.name,\n roleArn: role1.arn,\n documentVersion: \"version1\",\n targetAccount: \"RESPONSE_PLAN_OWNER_ACCOUNT\",\n parameters: [\n {\n name: \"key\",\n values: [\n \"value1\",\n \"value2\",\n ],\n },\n {\n name: \"foo\",\n values: [\"bar\"],\n },\n ],\n dynamicParameters: {\n someKey: \"INVOLVED_RESOURCES\",\n anotherKey: \"INCIDENT_RECORD_ARN\",\n },\n }],\n },\n integration: {\n pagerduties: [{\n name: \"pagerdutyIntergration\",\n serviceId: \"example\",\n secretId: \"example\",\n }],\n },\n tags: {\n key: \"value\",\n },\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmincidents.ResponsePlan(\"example\",\n name=\"name\",\n incident_template={\n \"title\": \"title\",\n \"impact\": 3,\n \"dedupe_string\": \"dedupe\",\n \"incident_tags\": {\n \"key\": \"value\",\n },\n \"notification_targets\": [\n {\n \"sns_topic_arn\": example1[\"arn\"],\n },\n {\n \"sns_topic_arn\": example2[\"arn\"],\n },\n ],\n \"summary\": \"summary\",\n },\n display_name=\"display name\",\n chat_channels=[topic[\"arn\"]],\n engagements=[\"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\"],\n action={\n \"ssm_automations\": [{\n \"document_name\": document1[\"name\"],\n \"role_arn\": role1[\"arn\"],\n \"document_version\": \"version1\",\n \"target_account\": \"RESPONSE_PLAN_OWNER_ACCOUNT\",\n \"parameters\": [\n {\n \"name\": \"key\",\n \"values\": [\n \"value1\",\n \"value2\",\n ],\n },\n {\n \"name\": \"foo\",\n \"values\": [\"bar\"],\n },\n ],\n \"dynamic_parameters\": {\n \"someKey\": \"INVOLVED_RESOURCES\",\n \"anotherKey\": \"INCIDENT_RECORD_ARN\",\n },\n }],\n },\n integration={\n \"pagerduties\": [{\n \"name\": \"pagerdutyIntergration\",\n \"service_id\": \"example\",\n \"secret_id\": \"example\",\n }],\n },\n tags={\n \"key\": \"value\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmIncidents.ResponsePlan(\"example\", new()\n {\n Name = \"name\",\n IncidentTemplate = new Aws.SsmIncidents.Inputs.ResponsePlanIncidentTemplateArgs\n {\n Title = \"title\",\n Impact = 3,\n DedupeString = \"dedupe\",\n IncidentTags = \n {\n { \"key\", \"value\" },\n },\n NotificationTargets = new[]\n {\n new Aws.SsmIncidents.Inputs.ResponsePlanIncidentTemplateNotificationTargetArgs\n {\n SnsTopicArn = example1.Arn,\n },\n new Aws.SsmIncidents.Inputs.ResponsePlanIncidentTemplateNotificationTargetArgs\n {\n SnsTopicArn = example2.Arn,\n },\n },\n Summary = \"summary\",\n },\n DisplayName = \"display name\",\n ChatChannels = new[]\n {\n topic.Arn,\n },\n Engagements = new[]\n {\n \"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\",\n },\n Action = new Aws.SsmIncidents.Inputs.ResponsePlanActionArgs\n {\n SsmAutomations = new[]\n {\n new Aws.SsmIncidents.Inputs.ResponsePlanActionSsmAutomationArgs\n {\n DocumentName = document1.Name,\n RoleArn = role1.Arn,\n DocumentVersion = \"version1\",\n TargetAccount = \"RESPONSE_PLAN_OWNER_ACCOUNT\",\n Parameters = new[]\n {\n new Aws.SsmIncidents.Inputs.ResponsePlanActionSsmAutomationParameterArgs\n {\n Name = \"key\",\n Values = new[]\n {\n \"value1\",\n \"value2\",\n },\n },\n new Aws.SsmIncidents.Inputs.ResponsePlanActionSsmAutomationParameterArgs\n {\n Name = \"foo\",\n Values = new[]\n {\n \"bar\",\n },\n },\n },\n DynamicParameters = \n {\n { \"someKey\", \"INVOLVED_RESOURCES\" },\n { \"anotherKey\", \"INCIDENT_RECORD_ARN\" },\n },\n },\n },\n },\n Integration = new Aws.SsmIncidents.Inputs.ResponsePlanIntegrationArgs\n {\n Pagerduties = new[]\n {\n new Aws.SsmIncidents.Inputs.ResponsePlanIntegrationPagerdutyArgs\n {\n Name = \"pagerdutyIntergration\",\n ServiceId = \"example\",\n SecretId = \"example\",\n },\n },\n },\n Tags = \n {\n { \"key\", \"value\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmincidents\"\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 := ssmincidents.NewResponsePlan(ctx, \"example\", \u0026ssmincidents.ResponsePlanArgs{\n\t\t\tName: pulumi.String(\"name\"),\n\t\t\tIncidentTemplate: \u0026ssmincidents.ResponsePlanIncidentTemplateArgs{\n\t\t\t\tTitle: pulumi.String(\"title\"),\n\t\t\t\tImpact: pulumi.Int(3),\n\t\t\t\tDedupeString: pulumi.String(\"dedupe\"),\n\t\t\t\tIncidentTags: pulumi.StringMap{\n\t\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t\t},\n\t\t\t\tNotificationTargets: ssmincidents.ResponsePlanIncidentTemplateNotificationTargetArray{\n\t\t\t\t\t\u0026ssmincidents.ResponsePlanIncidentTemplateNotificationTargetArgs{\n\t\t\t\t\t\tSnsTopicArn: pulumi.Any(example1.Arn),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026ssmincidents.ResponsePlanIncidentTemplateNotificationTargetArgs{\n\t\t\t\t\t\tSnsTopicArn: pulumi.Any(example2.Arn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSummary: pulumi.String(\"summary\"),\n\t\t\t},\n\t\t\tDisplayName: pulumi.String(\"display name\"),\n\t\t\tChatChannels: pulumi.StringArray{\n\t\t\t\ttopic.Arn,\n\t\t\t},\n\t\t\tEngagements: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\"),\n\t\t\t},\n\t\t\tAction: \u0026ssmincidents.ResponsePlanActionArgs{\n\t\t\t\tSsmAutomations: ssmincidents.ResponsePlanActionSsmAutomationArray{\n\t\t\t\t\t\u0026ssmincidents.ResponsePlanActionSsmAutomationArgs{\n\t\t\t\t\t\tDocumentName: pulumi.Any(document1.Name),\n\t\t\t\t\t\tRoleArn: pulumi.Any(role1.Arn),\n\t\t\t\t\t\tDocumentVersion: pulumi.String(\"version1\"),\n\t\t\t\t\t\tTargetAccount: pulumi.String(\"RESPONSE_PLAN_OWNER_ACCOUNT\"),\n\t\t\t\t\t\tParameters: ssmincidents.ResponsePlanActionSsmAutomationParameterArray{\n\t\t\t\t\t\t\t\u0026ssmincidents.ResponsePlanActionSsmAutomationParameterArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"key\"),\n\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"value1\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"value2\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026ssmincidents.ResponsePlanActionSsmAutomationParameterArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"foo\"),\n\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"bar\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDynamicParameters: pulumi.StringMap{\n\t\t\t\t\t\t\t\"someKey\": pulumi.String(\"INVOLVED_RESOURCES\"),\n\t\t\t\t\t\t\t\"anotherKey\": pulumi.String(\"INCIDENT_RECORD_ARN\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tIntegration: \u0026ssmincidents.ResponsePlanIntegrationArgs{\n\t\t\t\tPagerduties: ssmincidents.ResponsePlanIntegrationPagerdutyArray{\n\t\t\t\t\t\u0026ssmincidents.ResponsePlanIntegrationPagerdutyArgs{\n\t\t\t\t\t\tName: pulumi.String(\"pagerdutyIntergration\"),\n\t\t\t\t\t\tServiceId: pulumi.String(\"example\"),\n\t\t\t\t\t\tSecretId: pulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmincidents.ResponsePlan;\nimport com.pulumi.aws.ssmincidents.ResponsePlanArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ResponsePlanIncidentTemplateArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ResponsePlanActionArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ResponsePlanIntegrationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResponsePlan(\"example\", ResponsePlanArgs.builder()\n .name(\"name\")\n .incidentTemplate(ResponsePlanIncidentTemplateArgs.builder()\n .title(\"title\")\n .impact(\"3\")\n .dedupeString(\"dedupe\")\n .incidentTags(Map.of(\"key\", \"value\"))\n .notificationTargets( \n ResponsePlanIncidentTemplateNotificationTargetArgs.builder()\n .snsTopicArn(example1.arn())\n .build(),\n ResponsePlanIncidentTemplateNotificationTargetArgs.builder()\n .snsTopicArn(example2.arn())\n .build())\n .summary(\"summary\")\n .build())\n .displayName(\"display name\")\n .chatChannels(topic.arn())\n .engagements(\"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\")\n .action(ResponsePlanActionArgs.builder()\n .ssmAutomations(ResponsePlanActionSsmAutomationArgs.builder()\n .documentName(document1.name())\n .roleArn(role1.arn())\n .documentVersion(\"version1\")\n .targetAccount(\"RESPONSE_PLAN_OWNER_ACCOUNT\")\n .parameters( \n ResponsePlanActionSsmAutomationParameterArgs.builder()\n .name(\"key\")\n .values( \n \"value1\",\n \"value2\")\n .build(),\n ResponsePlanActionSsmAutomationParameterArgs.builder()\n .name(\"foo\")\n .values(\"bar\")\n .build())\n .dynamicParameters(Map.ofEntries(\n Map.entry(\"someKey\", \"INVOLVED_RESOURCES\"),\n Map.entry(\"anotherKey\", \"INCIDENT_RECORD_ARN\")\n ))\n .build())\n .build())\n .integration(ResponsePlanIntegrationArgs.builder()\n .pagerduties(ResponsePlanIntegrationPagerdutyArgs.builder()\n .name(\"pagerdutyIntergration\")\n .serviceId(\"example\")\n .secretId(\"example\")\n .build())\n .build())\n .tags(Map.of(\"key\", \"value\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmincidents:ResponsePlan\n properties:\n name: name\n incidentTemplate:\n title: title\n impact: '3'\n dedupeString: dedupe\n incidentTags:\n key: value\n notificationTargets:\n - snsTopicArn: ${example1.arn}\n - snsTopicArn: ${example2.arn}\n summary: summary\n displayName: display name\n chatChannels:\n - ${topic.arn}\n engagements:\n - arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\n action:\n ssmAutomations:\n - documentName: ${document1.name}\n roleArn: ${role1.arn}\n documentVersion: version1\n targetAccount: RESPONSE_PLAN_OWNER_ACCOUNT\n parameters:\n - name: key\n values:\n - value1\n - value2\n - name: foo\n values:\n - bar\n dynamicParameters:\n someKey: INVOLVED_RESOURCES\n anotherKey: INCIDENT_RECORD_ARN\n integration:\n pagerduties:\n - name: pagerdutyIntergration\n serviceId: example\n secretId: example\n tags:\n key: value\n options:\n dependsOn:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an Incident Manager response plan using the response plan ARN. You can find the response plan ARN in the AWS Management Console. For example:\n\n```sh\n$ pulumi import aws:ssmincidents/responsePlan:ResponsePlan responsePlanName ARNValue\n```\n", + "description": "Provides a resource to manage response plans in AWS Systems Manager Incident Manager.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmincidents.ResponsePlan(\"example\", {\n name: \"name\",\n incidentTemplate: {\n title: \"title\",\n impact: 3,\n },\n tags: {\n key: \"value\",\n },\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmincidents.ResponsePlan(\"example\",\n name=\"name\",\n incident_template={\n \"title\": \"title\",\n \"impact\": 3,\n },\n tags={\n \"key\": \"value\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmIncidents.ResponsePlan(\"example\", new()\n {\n Name = \"name\",\n IncidentTemplate = new Aws.SsmIncidents.Inputs.ResponsePlanIncidentTemplateArgs\n {\n Title = \"title\",\n Impact = 3,\n },\n Tags = \n {\n { \"key\", \"value\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmincidents\"\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 := ssmincidents.NewResponsePlan(ctx, \"example\", \u0026ssmincidents.ResponsePlanArgs{\n\t\t\tName: pulumi.String(\"name\"),\n\t\t\tIncidentTemplate: \u0026ssmincidents.ResponsePlanIncidentTemplateArgs{\n\t\t\t\tTitle: pulumi.String(\"title\"),\n\t\t\t\tImpact: pulumi.Int(3),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmincidents.ResponsePlan;\nimport com.pulumi.aws.ssmincidents.ResponsePlanArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ResponsePlanIncidentTemplateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResponsePlan(\"example\", ResponsePlanArgs.builder()\n .name(\"name\")\n .incidentTemplate(ResponsePlanIncidentTemplateArgs.builder()\n .title(\"title\")\n .impact(\"3\")\n .build())\n .tags(Map.of(\"key\", \"value\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmincidents:ResponsePlan\n properties:\n name: name\n incidentTemplate:\n title: title\n impact: '3'\n tags:\n key: value\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage With All Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmincidents.ResponsePlan(\"example\", {\n name: \"name\",\n incidentTemplate: {\n title: \"title\",\n impact: 3,\n dedupeString: \"dedupe\",\n incidentTags: {\n key: \"value\",\n },\n notificationTargets: [\n {\n snsTopicArn: example1.arn,\n },\n {\n snsTopicArn: example2.arn,\n },\n ],\n summary: \"summary\",\n },\n displayName: \"display name\",\n chatChannels: [topic.arn],\n engagements: [\"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\"],\n action: {\n ssmAutomations: [{\n documentName: document1.name,\n roleArn: role1.arn,\n documentVersion: \"version1\",\n targetAccount: \"RESPONSE_PLAN_OWNER_ACCOUNT\",\n parameters: [\n {\n name: \"key\",\n values: [\n \"value1\",\n \"value2\",\n ],\n },\n {\n name: \"foo\",\n values: [\"bar\"],\n },\n ],\n dynamicParameters: {\n someKey: \"INVOLVED_RESOURCES\",\n anotherKey: \"INCIDENT_RECORD_ARN\",\n },\n }],\n },\n integration: {\n pagerduties: [{\n name: \"pagerdutyIntergration\",\n serviceId: \"example\",\n secretId: \"example\",\n }],\n },\n tags: {\n key: \"value\",\n },\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmincidents.ResponsePlan(\"example\",\n name=\"name\",\n incident_template={\n \"title\": \"title\",\n \"impact\": 3,\n \"dedupe_string\": \"dedupe\",\n \"incident_tags\": {\n \"key\": \"value\",\n },\n \"notification_targets\": [\n {\n \"sns_topic_arn\": example1[\"arn\"],\n },\n {\n \"sns_topic_arn\": example2[\"arn\"],\n },\n ],\n \"summary\": \"summary\",\n },\n display_name=\"display name\",\n chat_channels=[topic[\"arn\"]],\n engagements=[\"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\"],\n action={\n \"ssm_automations\": [{\n \"document_name\": document1[\"name\"],\n \"role_arn\": role1[\"arn\"],\n \"document_version\": \"version1\",\n \"target_account\": \"RESPONSE_PLAN_OWNER_ACCOUNT\",\n \"parameters\": [\n {\n \"name\": \"key\",\n \"values\": [\n \"value1\",\n \"value2\",\n ],\n },\n {\n \"name\": \"foo\",\n \"values\": [\"bar\"],\n },\n ],\n \"dynamic_parameters\": {\n \"someKey\": \"INVOLVED_RESOURCES\",\n \"anotherKey\": \"INCIDENT_RECORD_ARN\",\n },\n }],\n },\n integration={\n \"pagerduties\": [{\n \"name\": \"pagerdutyIntergration\",\n \"service_id\": \"example\",\n \"secret_id\": \"example\",\n }],\n },\n tags={\n \"key\": \"value\",\n },\n opts = pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmIncidents.ResponsePlan(\"example\", new()\n {\n Name = \"name\",\n IncidentTemplate = new Aws.SsmIncidents.Inputs.ResponsePlanIncidentTemplateArgs\n {\n Title = \"title\",\n Impact = 3,\n DedupeString = \"dedupe\",\n IncidentTags = \n {\n { \"key\", \"value\" },\n },\n NotificationTargets = new[]\n {\n new Aws.SsmIncidents.Inputs.ResponsePlanIncidentTemplateNotificationTargetArgs\n {\n SnsTopicArn = example1.Arn,\n },\n new Aws.SsmIncidents.Inputs.ResponsePlanIncidentTemplateNotificationTargetArgs\n {\n SnsTopicArn = example2.Arn,\n },\n },\n Summary = \"summary\",\n },\n DisplayName = \"display name\",\n ChatChannels = new[]\n {\n topic.Arn,\n },\n Engagements = new[]\n {\n \"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\",\n },\n Action = new Aws.SsmIncidents.Inputs.ResponsePlanActionArgs\n {\n SsmAutomations = new[]\n {\n new Aws.SsmIncidents.Inputs.ResponsePlanActionSsmAutomationArgs\n {\n DocumentName = document1.Name,\n RoleArn = role1.Arn,\n DocumentVersion = \"version1\",\n TargetAccount = \"RESPONSE_PLAN_OWNER_ACCOUNT\",\n Parameters = new[]\n {\n new Aws.SsmIncidents.Inputs.ResponsePlanActionSsmAutomationParameterArgs\n {\n Name = \"key\",\n Values = new[]\n {\n \"value1\",\n \"value2\",\n },\n },\n new Aws.SsmIncidents.Inputs.ResponsePlanActionSsmAutomationParameterArgs\n {\n Name = \"foo\",\n Values = new[]\n {\n \"bar\",\n },\n },\n },\n DynamicParameters = \n {\n { \"someKey\", \"INVOLVED_RESOURCES\" },\n { \"anotherKey\", \"INCIDENT_RECORD_ARN\" },\n },\n },\n },\n },\n Integration = new Aws.SsmIncidents.Inputs.ResponsePlanIntegrationArgs\n {\n Pagerduties = new[]\n {\n new Aws.SsmIncidents.Inputs.ResponsePlanIntegrationPagerdutyArgs\n {\n Name = \"pagerdutyIntergration\",\n ServiceId = \"example\",\n SecretId = \"example\",\n },\n },\n },\n Tags = \n {\n { \"key\", \"value\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmincidents\"\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 := ssmincidents.NewResponsePlan(ctx, \"example\", \u0026ssmincidents.ResponsePlanArgs{\n\t\t\tName: pulumi.String(\"name\"),\n\t\t\tIncidentTemplate: \u0026ssmincidents.ResponsePlanIncidentTemplateArgs{\n\t\t\t\tTitle: pulumi.String(\"title\"),\n\t\t\t\tImpact: pulumi.Int(3),\n\t\t\t\tDedupeString: pulumi.String(\"dedupe\"),\n\t\t\t\tIncidentTags: pulumi.StringMap{\n\t\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t\t},\n\t\t\t\tNotificationTargets: ssmincidents.ResponsePlanIncidentTemplateNotificationTargetArray{\n\t\t\t\t\t\u0026ssmincidents.ResponsePlanIncidentTemplateNotificationTargetArgs{\n\t\t\t\t\t\tSnsTopicArn: pulumi.Any(example1.Arn),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026ssmincidents.ResponsePlanIncidentTemplateNotificationTargetArgs{\n\t\t\t\t\t\tSnsTopicArn: pulumi.Any(example2.Arn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSummary: pulumi.String(\"summary\"),\n\t\t\t},\n\t\t\tDisplayName: pulumi.String(\"display name\"),\n\t\t\tChatChannels: pulumi.StringArray{\n\t\t\t\ttopic.Arn,\n\t\t\t},\n\t\t\tEngagements: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\"),\n\t\t\t},\n\t\t\tAction: \u0026ssmincidents.ResponsePlanActionArgs{\n\t\t\t\tSsmAutomations: ssmincidents.ResponsePlanActionSsmAutomationArray{\n\t\t\t\t\t\u0026ssmincidents.ResponsePlanActionSsmAutomationArgs{\n\t\t\t\t\t\tDocumentName: pulumi.Any(document1.Name),\n\t\t\t\t\t\tRoleArn: pulumi.Any(role1.Arn),\n\t\t\t\t\t\tDocumentVersion: pulumi.String(\"version1\"),\n\t\t\t\t\t\tTargetAccount: pulumi.String(\"RESPONSE_PLAN_OWNER_ACCOUNT\"),\n\t\t\t\t\t\tParameters: ssmincidents.ResponsePlanActionSsmAutomationParameterArray{\n\t\t\t\t\t\t\t\u0026ssmincidents.ResponsePlanActionSsmAutomationParameterArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"key\"),\n\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"value1\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"value2\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026ssmincidents.ResponsePlanActionSsmAutomationParameterArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"foo\"),\n\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"bar\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDynamicParameters: pulumi.StringMap{\n\t\t\t\t\t\t\t\"someKey\": pulumi.String(\"INVOLVED_RESOURCES\"),\n\t\t\t\t\t\t\t\"anotherKey\": pulumi.String(\"INCIDENT_RECORD_ARN\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tIntegration: \u0026ssmincidents.ResponsePlanIntegrationArgs{\n\t\t\t\tPagerduties: ssmincidents.ResponsePlanIntegrationPagerdutyArray{\n\t\t\t\t\t\u0026ssmincidents.ResponsePlanIntegrationPagerdutyArgs{\n\t\t\t\t\t\tName: pulumi.String(\"pagerdutyIntergration\"),\n\t\t\t\t\t\tServiceId: pulumi.String(\"example\"),\n\t\t\t\t\t\tSecretId: pulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmincidents.ResponsePlan;\nimport com.pulumi.aws.ssmincidents.ResponsePlanArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ResponsePlanIncidentTemplateArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ResponsePlanActionArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ResponsePlanIntegrationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResponsePlan(\"example\", ResponsePlanArgs.builder()\n .name(\"name\")\n .incidentTemplate(ResponsePlanIncidentTemplateArgs.builder()\n .title(\"title\")\n .impact(\"3\")\n .dedupeString(\"dedupe\")\n .incidentTags(Map.of(\"key\", \"value\"))\n .notificationTargets( \n ResponsePlanIncidentTemplateNotificationTargetArgs.builder()\n .snsTopicArn(example1.arn())\n .build(),\n ResponsePlanIncidentTemplateNotificationTargetArgs.builder()\n .snsTopicArn(example2.arn())\n .build())\n .summary(\"summary\")\n .build())\n .displayName(\"display name\")\n .chatChannels(topic.arn())\n .engagements(\"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\")\n .action(ResponsePlanActionArgs.builder()\n .ssmAutomations(ResponsePlanActionSsmAutomationArgs.builder()\n .documentName(document1.name())\n .roleArn(role1.arn())\n .documentVersion(\"version1\")\n .targetAccount(\"RESPONSE_PLAN_OWNER_ACCOUNT\")\n .parameters( \n ResponsePlanActionSsmAutomationParameterArgs.builder()\n .name(\"key\")\n .values( \n \"value1\",\n \"value2\")\n .build(),\n ResponsePlanActionSsmAutomationParameterArgs.builder()\n .name(\"foo\")\n .values(\"bar\")\n .build())\n .dynamicParameters(Map.ofEntries(\n Map.entry(\"someKey\", \"INVOLVED_RESOURCES\"),\n Map.entry(\"anotherKey\", \"INCIDENT_RECORD_ARN\")\n ))\n .build())\n .build())\n .integration(ResponsePlanIntegrationArgs.builder()\n .pagerduties(ResponsePlanIntegrationPagerdutyArgs.builder()\n .name(\"pagerdutyIntergration\")\n .serviceId(\"example\")\n .secretId(\"example\")\n .build())\n .build())\n .tags(Map.of(\"key\", \"value\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmincidents:ResponsePlan\n properties:\n name: name\n incidentTemplate:\n title: title\n impact: '3'\n dedupeString: dedupe\n incidentTags:\n key: value\n notificationTargets:\n - snsTopicArn: ${example1.arn}\n - snsTopicArn: ${example2.arn}\n summary: summary\n displayName: display name\n chatChannels:\n - ${topic.arn}\n engagements:\n - arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\n action:\n ssmAutomations:\n - documentName: ${document1.name}\n roleArn: ${role1.arn}\n documentVersion: version1\n targetAccount: RESPONSE_PLAN_OWNER_ACCOUNT\n parameters:\n - name: key\n values:\n - value1\n - value2\n - name: foo\n values:\n - bar\n dynamicParameters:\n someKey: INVOLVED_RESOURCES\n anotherKey: INCIDENT_RECORD_ARN\n integration:\n pagerduties:\n - name: pagerdutyIntergration\n serviceId: example\n secretId: example\n tags:\n key: value\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an Incident Manager response plan using the response plan ARN. You can find the response plan ARN in the AWS Management Console. For example:\n\n```sh\n$ pulumi import aws:ssmincidents/responsePlan:ResponsePlan responsePlanName ARNValue\n```\n", "properties": { "action": { "$ref": "#/types/aws:ssmincidents/ResponsePlanAction:ResponsePlanAction" @@ -368568,7 +368568,7 @@ } }, "aws:ssoadmin/accountAssignment:AccountAssignment": { - "description": "Provides a Single Sign-On (SSO) Account Assignment resource\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleGetPermissionSet = example.then(example =\u003e aws.ssoadmin.getPermissionSet({\n instanceArn: example.arns?.[0],\n name: \"AWSReadOnlyAccess\",\n}));\nconst exampleGetGroup = example.then(example =\u003e aws.identitystore.getGroup({\n identityStoreId: example.identityStoreIds?.[0],\n alternateIdentifier: {\n uniqueAttribute: {\n attributePath: \"DisplayName\",\n attributeValue: \"ExampleGroup\",\n },\n },\n}));\nconst exampleAccountAssignment = new aws.ssoadmin.AccountAssignment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: exampleGetPermissionSet.then(exampleGetPermissionSet =\u003e exampleGetPermissionSet.arn),\n principalId: exampleGetGroup.then(exampleGetGroup =\u003e exampleGetGroup.groupId),\n principalType: \"GROUP\",\n targetId: \"123456789012\",\n targetType: \"AWS_ACCOUNT\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_get_permission_set = aws.ssoadmin.get_permission_set(instance_arn=example.arns[0],\n name=\"AWSReadOnlyAccess\")\nexample_get_group = aws.identitystore.get_group(identity_store_id=example.identity_store_ids[0],\n alternate_identifier={\n \"unique_attribute\": {\n \"attribute_path\": \"DisplayName\",\n \"attribute_value\": \"ExampleGroup\",\n },\n })\nexample_account_assignment = aws.ssoadmin.AccountAssignment(\"example\",\n instance_arn=example.arns[0],\n permission_set_arn=example_get_permission_set.arn,\n principal_id=example_get_group.group_id,\n principal_type=\"GROUP\",\n target_id=\"123456789012\",\n target_type=\"AWS_ACCOUNT\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleGetPermissionSet = Aws.SsoAdmin.GetPermissionSet.Invoke(new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n Name = \"AWSReadOnlyAccess\",\n });\n\n var exampleGetGroup = Aws.IdentityStore.GetGroup.Invoke(new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n AlternateIdentifier = new Aws.IdentityStore.Inputs.GetGroupAlternateIdentifierInputArgs\n {\n UniqueAttribute = new Aws.IdentityStore.Inputs.GetGroupAlternateIdentifierUniqueAttributeInputArgs\n {\n AttributePath = \"DisplayName\",\n AttributeValue = \"ExampleGroup\",\n },\n },\n });\n\n var exampleAccountAssignment = new Aws.SsoAdmin.AccountAssignment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = exampleGetPermissionSet.Apply(getPermissionSetResult =\u003e getPermissionSetResult.Arn),\n PrincipalId = exampleGetGroup.Apply(getGroupResult =\u003e getGroupResult.GroupId),\n PrincipalType = \"GROUP\",\n TargetId = \"123456789012\",\n TargetType = \"AWS_ACCOUNT\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetPermissionSet, err := ssoadmin.LookupPermissionSet(ctx, \u0026ssoadmin.LookupPermissionSetArgs{\n\t\t\tInstanceArn: example.Arns[0],\n\t\t\tName: pulumi.StringRef(\"AWSReadOnlyAccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetGroup, err := identitystore.LookupGroup(ctx, \u0026identitystore.LookupGroupArgs{\n\t\t\tIdentityStoreId: example.IdentityStoreIds[0],\n\t\t\tAlternateIdentifier: identitystore.GetGroupAlternateIdentifier{\n\t\t\t\tUniqueAttribute: identitystore.GetGroupAlternateIdentifierUniqueAttribute{\n\t\t\t\t\tAttributePath: \"DisplayName\",\n\t\t\t\t\tAttributeValue: \"ExampleGroup\",\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewAccountAssignment(ctx, \"example\", \u0026ssoadmin.AccountAssignmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: pulumi.String(exampleGetPermissionSet.Arn),\n\t\t\tPrincipalId: pulumi.String(exampleGetGroup.GroupId),\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tTargetType: pulumi.String(\"AWS_ACCOUNT\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.inputs.GetPermissionSetArgs;\nimport com.pulumi.aws.identitystore.IdentitystoreFunctions;\nimport com.pulumi.aws.identitystore.inputs.GetGroupArgs;\nimport com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierArgs;\nimport com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierUniqueAttributeArgs;\nimport com.pulumi.aws.ssoadmin.AccountAssignment;\nimport com.pulumi.aws.ssoadmin.AccountAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n final var exampleGetPermissionSet = SsoadminFunctions.getPermissionSet(GetPermissionSetArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .name(\"AWSReadOnlyAccess\")\n .build());\n\n final var exampleGetGroup = IdentitystoreFunctions.getGroup(GetGroupArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .alternateIdentifier(GetGroupAlternateIdentifierArgs.builder()\n .uniqueAttribute(GetGroupAlternateIdentifierUniqueAttributeArgs.builder()\n .attributePath(\"DisplayName\")\n .attributeValue(\"ExampleGroup\")\n .build())\n .build())\n .build());\n\n var exampleAccountAssignment = new AccountAssignment(\"exampleAccountAssignment\", AccountAssignmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(exampleGetPermissionSet.applyValue(getPermissionSetResult -\u003e getPermissionSetResult.arn()))\n .principalId(exampleGetGroup.applyValue(getGroupResult -\u003e getGroupResult.groupId()))\n .principalType(\"GROUP\")\n .targetId(\"123456789012\")\n .targetType(\"AWS_ACCOUNT\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAccountAssignment:\n type: aws:ssoadmin:AccountAssignment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${exampleGetPermissionSet.arn}\n principalId: ${exampleGetGroup.groupId}\n principalType: GROUP\n targetId: '123456789012'\n targetType: AWS_ACCOUNT\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n exampleGetPermissionSet:\n fn::invoke:\n function: aws:ssoadmin:getPermissionSet\n arguments:\n instanceArn: ${example.arns[0]}\n name: AWSReadOnlyAccess\n exampleGetGroup:\n fn::invoke:\n function: aws:identitystore:getGroup\n arguments:\n identityStoreId: ${example.identityStoreIds[0]}\n alternateIdentifier:\n uniqueAttribute:\n attributePath: DisplayName\n attributeValue: ExampleGroup\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Managed Policy Attachment\n\n\u003e Because destruction of a managed policy attachment resource also re-provisions the associated permission set to all accounts, explicitly indicating the dependency with the account assignment resource via the `depends_on` meta argument is necessary to ensure proper deletion order when these resources are used together.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleGroup = new aws.identitystore.Group(\"example\", {\n identityStoreId: example.then(example =\u003e example.identityStoreIds?.[0]),\n displayName: \"Admin\",\n description: \"Admin Group\",\n});\nconst accountAssignment = new aws.ssoadmin.AccountAssignment(\"account_assignment\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: examplePermissionSet.arn,\n principalId: exampleGroup.groupId,\n principalType: \"GROUP\",\n targetId: \"123456789012\",\n targetType: \"AWS_ACCOUNT\",\n});\nconst exampleManagedPolicyAttachment = new aws.ssoadmin.ManagedPolicyAttachment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n managedPolicyArn: \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permissionSetArn: examplePermissionSet.arn,\n}, {\n dependsOn: [exampleAwsSsoadminAccountAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_group = aws.identitystore.Group(\"example\",\n identity_store_id=example.identity_store_ids[0],\n display_name=\"Admin\",\n description=\"Admin Group\")\naccount_assignment = aws.ssoadmin.AccountAssignment(\"account_assignment\",\n instance_arn=example.arns[0],\n permission_set_arn=example_permission_set.arn,\n principal_id=example_group.group_id,\n principal_type=\"GROUP\",\n target_id=\"123456789012\",\n target_type=\"AWS_ACCOUNT\")\nexample_managed_policy_attachment = aws.ssoadmin.ManagedPolicyAttachment(\"example\",\n instance_arn=example.arns[0],\n managed_policy_arn=\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permission_set_arn=example_permission_set.arn,\n opts = pulumi.ResourceOptions(depends_on=[example_aws_ssoadmin_account_assignment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleGroup = new Aws.IdentityStore.Group(\"example\", new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n DisplayName = \"Admin\",\n Description = \"Admin Group\",\n });\n\n var accountAssignment = new Aws.SsoAdmin.AccountAssignment(\"account_assignment\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = examplePermissionSet.Arn,\n PrincipalId = exampleGroup.GroupId,\n PrincipalType = \"GROUP\",\n TargetId = \"123456789012\",\n TargetType = \"AWS_ACCOUNT\",\n });\n\n var exampleManagedPolicyAttachment = new Aws.SsoAdmin.ManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n PermissionSetArn = examplePermissionSet.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsoadminAccountAssignment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := identitystore.NewGroup(ctx, \"example\", \u0026identitystore.GroupArgs{\n\t\t\tIdentityStoreId: pulumi.String(example.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"Admin\"),\n\t\t\tDescription: pulumi.String(\"Admin Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewAccountAssignment(ctx, \"account_assignment\", \u0026ssoadmin.AccountAssignmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tPrincipalId: exampleGroup.GroupId,\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tTargetType: pulumi.String(\"AWS_ACCOUNT\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.ManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\"),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsoadminAccountAssignment,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.identitystore.Group;\nimport com.pulumi.aws.identitystore.GroupArgs;\nimport com.pulumi.aws.ssoadmin.AccountAssignment;\nimport com.pulumi.aws.ssoadmin.AccountAssignmentArgs;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .displayName(\"Admin\")\n .description(\"Admin Group\")\n .build());\n\n var accountAssignment = new AccountAssignment(\"accountAssignment\", AccountAssignmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(examplePermissionSet.arn())\n .principalId(exampleGroup.groupId())\n .principalType(\"GROUP\")\n .targetId(\"123456789012\")\n .targetType(\"AWS_ACCOUNT\")\n .build());\n\n var exampleManagedPolicyAttachment = new ManagedPolicyAttachment(\"exampleManagedPolicyAttachment\", ManagedPolicyAttachmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .managedPolicyArn(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\")\n .permissionSetArn(examplePermissionSet.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsoadminAccountAssignment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n exampleGroup:\n type: aws:identitystore:Group\n name: example\n properties:\n identityStoreId: ${example.identityStoreIds[0]}\n displayName: Admin\n description: Admin Group\n accountAssignment:\n type: aws:ssoadmin:AccountAssignment\n name: account_assignment\n properties:\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${examplePermissionSet.arn}\n principalId: ${exampleGroup.groupId}\n principalType: GROUP\n targetId: '123456789012'\n targetType: AWS_ACCOUNT\n exampleManagedPolicyAttachment:\n type: aws:ssoadmin:ManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n managedPolicyArn: arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\n permissionSetArn: ${examplePermissionSet.arn}\n options:\n dependsOn:\n - ${exampleAwsSsoadminAccountAssignment}\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Account Assignments using the `principal_id`, `principal_type`, `target_id`, `target_type`, `permission_set_arn`, `instance_arn` separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/accountAssignment:AccountAssignment example f81d4fae-7dec-11d0-a765-00a0c91e6bf6,GROUP,1234567890,AWS_ACCOUNT,arn:aws:sso:::permissionSet/ssoins-0123456789abcdef/ps-0123456789abcdef,arn:aws:sso:::instance/ssoins-0123456789abcdef\n```\n", + "description": "Provides a Single Sign-On (SSO) Account Assignment resource\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleGetPermissionSet = example.then(example =\u003e aws.ssoadmin.getPermissionSet({\n instanceArn: example.arns?.[0],\n name: \"AWSReadOnlyAccess\",\n}));\nconst exampleGetGroup = example.then(example =\u003e aws.identitystore.getGroup({\n identityStoreId: example.identityStoreIds?.[0],\n alternateIdentifier: {\n uniqueAttribute: {\n attributePath: \"DisplayName\",\n attributeValue: \"ExampleGroup\",\n },\n },\n}));\nconst exampleAccountAssignment = new aws.ssoadmin.AccountAssignment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: exampleGetPermissionSet.then(exampleGetPermissionSet =\u003e exampleGetPermissionSet.arn),\n principalId: exampleGetGroup.then(exampleGetGroup =\u003e exampleGetGroup.groupId),\n principalType: \"GROUP\",\n targetId: \"123456789012\",\n targetType: \"AWS_ACCOUNT\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_get_permission_set = aws.ssoadmin.get_permission_set(instance_arn=example.arns[0],\n name=\"AWSReadOnlyAccess\")\nexample_get_group = aws.identitystore.get_group(identity_store_id=example.identity_store_ids[0],\n alternate_identifier={\n \"unique_attribute\": {\n \"attribute_path\": \"DisplayName\",\n \"attribute_value\": \"ExampleGroup\",\n },\n })\nexample_account_assignment = aws.ssoadmin.AccountAssignment(\"example\",\n instance_arn=example.arns[0],\n permission_set_arn=example_get_permission_set.arn,\n principal_id=example_get_group.group_id,\n principal_type=\"GROUP\",\n target_id=\"123456789012\",\n target_type=\"AWS_ACCOUNT\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleGetPermissionSet = Aws.SsoAdmin.GetPermissionSet.Invoke(new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n Name = \"AWSReadOnlyAccess\",\n });\n\n var exampleGetGroup = Aws.IdentityStore.GetGroup.Invoke(new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n AlternateIdentifier = new Aws.IdentityStore.Inputs.GetGroupAlternateIdentifierInputArgs\n {\n UniqueAttribute = new Aws.IdentityStore.Inputs.GetGroupAlternateIdentifierUniqueAttributeInputArgs\n {\n AttributePath = \"DisplayName\",\n AttributeValue = \"ExampleGroup\",\n },\n },\n });\n\n var exampleAccountAssignment = new Aws.SsoAdmin.AccountAssignment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = exampleGetPermissionSet.Apply(getPermissionSetResult =\u003e getPermissionSetResult.Arn),\n PrincipalId = exampleGetGroup.Apply(getGroupResult =\u003e getGroupResult.GroupId),\n PrincipalType = \"GROUP\",\n TargetId = \"123456789012\",\n TargetType = \"AWS_ACCOUNT\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetPermissionSet, err := ssoadmin.LookupPermissionSet(ctx, \u0026ssoadmin.LookupPermissionSetArgs{\n\t\t\tInstanceArn: example.Arns[0],\n\t\t\tName: pulumi.StringRef(\"AWSReadOnlyAccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetGroup, err := identitystore.LookupGroup(ctx, \u0026identitystore.LookupGroupArgs{\n\t\t\tIdentityStoreId: example.IdentityStoreIds[0],\n\t\t\tAlternateIdentifier: identitystore.GetGroupAlternateIdentifier{\n\t\t\t\tUniqueAttribute: identitystore.GetGroupAlternateIdentifierUniqueAttribute{\n\t\t\t\t\tAttributePath: \"DisplayName\",\n\t\t\t\t\tAttributeValue: \"ExampleGroup\",\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewAccountAssignment(ctx, \"example\", \u0026ssoadmin.AccountAssignmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: pulumi.String(exampleGetPermissionSet.Arn),\n\t\t\tPrincipalId: pulumi.String(exampleGetGroup.GroupId),\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tTargetType: pulumi.String(\"AWS_ACCOUNT\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.inputs.GetPermissionSetArgs;\nimport com.pulumi.aws.identitystore.IdentitystoreFunctions;\nimport com.pulumi.aws.identitystore.inputs.GetGroupArgs;\nimport com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierArgs;\nimport com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierUniqueAttributeArgs;\nimport com.pulumi.aws.ssoadmin.AccountAssignment;\nimport com.pulumi.aws.ssoadmin.AccountAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n final var exampleGetPermissionSet = SsoadminFunctions.getPermissionSet(GetPermissionSetArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .name(\"AWSReadOnlyAccess\")\n .build());\n\n final var exampleGetGroup = IdentitystoreFunctions.getGroup(GetGroupArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .alternateIdentifier(GetGroupAlternateIdentifierArgs.builder()\n .uniqueAttribute(GetGroupAlternateIdentifierUniqueAttributeArgs.builder()\n .attributePath(\"DisplayName\")\n .attributeValue(\"ExampleGroup\")\n .build())\n .build())\n .build());\n\n var exampleAccountAssignment = new AccountAssignment(\"exampleAccountAssignment\", AccountAssignmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(exampleGetPermissionSet.applyValue(getPermissionSetResult -\u003e getPermissionSetResult.arn()))\n .principalId(exampleGetGroup.applyValue(getGroupResult -\u003e getGroupResult.groupId()))\n .principalType(\"GROUP\")\n .targetId(\"123456789012\")\n .targetType(\"AWS_ACCOUNT\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAccountAssignment:\n type: aws:ssoadmin:AccountAssignment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${exampleGetPermissionSet.arn}\n principalId: ${exampleGetGroup.groupId}\n principalType: GROUP\n targetId: '123456789012'\n targetType: AWS_ACCOUNT\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n exampleGetPermissionSet:\n fn::invoke:\n Function: aws:ssoadmin:getPermissionSet\n Arguments:\n instanceArn: ${example.arns[0]}\n name: AWSReadOnlyAccess\n exampleGetGroup:\n fn::invoke:\n Function: aws:identitystore:getGroup\n Arguments:\n identityStoreId: ${example.identityStoreIds[0]}\n alternateIdentifier:\n uniqueAttribute:\n attributePath: DisplayName\n attributeValue: ExampleGroup\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Managed Policy Attachment\n\n\u003e Because destruction of a managed policy attachment resource also re-provisions the associated permission set to all accounts, explicitly indicating the dependency with the account assignment resource via the `depends_on` meta argument is necessary to ensure proper deletion order when these resources are used together.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleGroup = new aws.identitystore.Group(\"example\", {\n identityStoreId: example.then(example =\u003e example.identityStoreIds?.[0]),\n displayName: \"Admin\",\n description: \"Admin Group\",\n});\nconst accountAssignment = new aws.ssoadmin.AccountAssignment(\"account_assignment\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: examplePermissionSet.arn,\n principalId: exampleGroup.groupId,\n principalType: \"GROUP\",\n targetId: \"123456789012\",\n targetType: \"AWS_ACCOUNT\",\n});\nconst exampleManagedPolicyAttachment = new aws.ssoadmin.ManagedPolicyAttachment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n managedPolicyArn: \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permissionSetArn: examplePermissionSet.arn,\n}, {\n dependsOn: [exampleAwsSsoadminAccountAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_group = aws.identitystore.Group(\"example\",\n identity_store_id=example.identity_store_ids[0],\n display_name=\"Admin\",\n description=\"Admin Group\")\naccount_assignment = aws.ssoadmin.AccountAssignment(\"account_assignment\",\n instance_arn=example.arns[0],\n permission_set_arn=example_permission_set.arn,\n principal_id=example_group.group_id,\n principal_type=\"GROUP\",\n target_id=\"123456789012\",\n target_type=\"AWS_ACCOUNT\")\nexample_managed_policy_attachment = aws.ssoadmin.ManagedPolicyAttachment(\"example\",\n instance_arn=example.arns[0],\n managed_policy_arn=\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permission_set_arn=example_permission_set.arn,\n opts = pulumi.ResourceOptions(depends_on=[example_aws_ssoadmin_account_assignment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleGroup = new Aws.IdentityStore.Group(\"example\", new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n DisplayName = \"Admin\",\n Description = \"Admin Group\",\n });\n\n var accountAssignment = new Aws.SsoAdmin.AccountAssignment(\"account_assignment\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = examplePermissionSet.Arn,\n PrincipalId = exampleGroup.GroupId,\n PrincipalType = \"GROUP\",\n TargetId = \"123456789012\",\n TargetType = \"AWS_ACCOUNT\",\n });\n\n var exampleManagedPolicyAttachment = new Aws.SsoAdmin.ManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n PermissionSetArn = examplePermissionSet.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsoadminAccountAssignment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := identitystore.NewGroup(ctx, \"example\", \u0026identitystore.GroupArgs{\n\t\t\tIdentityStoreId: pulumi.String(example.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"Admin\"),\n\t\t\tDescription: pulumi.String(\"Admin Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewAccountAssignment(ctx, \"account_assignment\", \u0026ssoadmin.AccountAssignmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tPrincipalId: exampleGroup.GroupId,\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tTargetType: pulumi.String(\"AWS_ACCOUNT\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.ManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\"),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsoadminAccountAssignment,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.identitystore.Group;\nimport com.pulumi.aws.identitystore.GroupArgs;\nimport com.pulumi.aws.ssoadmin.AccountAssignment;\nimport com.pulumi.aws.ssoadmin.AccountAssignmentArgs;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .displayName(\"Admin\")\n .description(\"Admin Group\")\n .build());\n\n var accountAssignment = new AccountAssignment(\"accountAssignment\", AccountAssignmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(examplePermissionSet.arn())\n .principalId(exampleGroup.groupId())\n .principalType(\"GROUP\")\n .targetId(\"123456789012\")\n .targetType(\"AWS_ACCOUNT\")\n .build());\n\n var exampleManagedPolicyAttachment = new ManagedPolicyAttachment(\"exampleManagedPolicyAttachment\", ManagedPolicyAttachmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .managedPolicyArn(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\")\n .permissionSetArn(examplePermissionSet.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsoadminAccountAssignment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n exampleGroup:\n type: aws:identitystore:Group\n name: example\n properties:\n identityStoreId: ${example.identityStoreIds[0]}\n displayName: Admin\n description: Admin Group\n accountAssignment:\n type: aws:ssoadmin:AccountAssignment\n name: account_assignment\n properties:\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${examplePermissionSet.arn}\n principalId: ${exampleGroup.groupId}\n principalType: GROUP\n targetId: '123456789012'\n targetType: AWS_ACCOUNT\n exampleManagedPolicyAttachment:\n type: aws:ssoadmin:ManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n managedPolicyArn: arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\n permissionSetArn: ${examplePermissionSet.arn}\n options:\n dependson:\n - ${exampleAwsSsoadminAccountAssignment}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Account Assignments using the `principal_id`, `principal_type`, `target_id`, `target_type`, `permission_set_arn`, `instance_arn` separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/accountAssignment:AccountAssignment example f81d4fae-7dec-11d0-a765-00a0c91e6bf6,GROUP,1234567890,AWS_ACCOUNT,arn:aws:sso:::permissionSet/ssoins-0123456789abcdef/ps-0123456789abcdef,arn:aws:sso:::instance/ssoins-0123456789abcdef\n```\n", "properties": { "instanceArn": { "type": "string", @@ -368679,7 +368679,7 @@ } }, "aws:ssoadmin/application:Application": { - "description": "Resource for managing an AWS SSO Admin Application.\n\n\u003e The `CreateApplication` API only supports custom OAuth 2.0 applications.\nCreation of 3rd party SAML or OAuth 2.0 applications require setup to be done through the associated app service or AWS console.\nSee this issue for additional context.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleApplication = new aws.ssoadmin.Application(\"example\", {\n name: \"example\",\n applicationProviderArn: \"arn:aws:sso::aws:applicationProvider/custom\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_application = aws.ssoadmin.Application(\"example\",\n name=\"example\",\n application_provider_arn=\"arn:aws:sso::aws:applicationProvider/custom\",\n instance_arn=example.arns[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleApplication = new Aws.SsoAdmin.Application(\"example\", new()\n {\n Name = \"example\",\n ApplicationProviderArn = \"arn:aws:sso::aws:applicationProvider/custom\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewApplication(ctx, \"example\", \u0026ssoadmin.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tApplicationProviderArn: pulumi.String(\"arn:aws:sso::aws:applicationProvider/custom\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.Application;\nimport com.pulumi.aws.ssoadmin.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n .name(\"example\")\n .applicationProviderArn(\"arn:aws:sso::aws:applicationProvider/custom\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleApplication:\n type: aws:ssoadmin:Application\n name: example\n properties:\n name: example\n applicationProviderArn: arn:aws:sso::aws:applicationProvider/custom\n instanceArn: ${example.arns[0]}\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Portal Options\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleApplication = new aws.ssoadmin.Application(\"example\", {\n name: \"example\",\n applicationProviderArn: \"arn:aws:sso::aws:applicationProvider/custom\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n portalOptions: {\n visibility: \"ENABLED\",\n signInOptions: {\n applicationUrl: \"http://example.com\",\n origin: \"APPLICATION\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_application = aws.ssoadmin.Application(\"example\",\n name=\"example\",\n application_provider_arn=\"arn:aws:sso::aws:applicationProvider/custom\",\n instance_arn=example.arns[0],\n portal_options={\n \"visibility\": \"ENABLED\",\n \"sign_in_options\": {\n \"application_url\": \"http://example.com\",\n \"origin\": \"APPLICATION\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleApplication = new Aws.SsoAdmin.Application(\"example\", new()\n {\n Name = \"example\",\n ApplicationProviderArn = \"arn:aws:sso::aws:applicationProvider/custom\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PortalOptions = new Aws.SsoAdmin.Inputs.ApplicationPortalOptionsArgs\n {\n Visibility = \"ENABLED\",\n SignInOptions = new Aws.SsoAdmin.Inputs.ApplicationPortalOptionsSignInOptionsArgs\n {\n ApplicationUrl = \"http://example.com\",\n Origin = \"APPLICATION\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewApplication(ctx, \"example\", \u0026ssoadmin.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tApplicationProviderArn: pulumi.String(\"arn:aws:sso::aws:applicationProvider/custom\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPortalOptions: \u0026ssoadmin.ApplicationPortalOptionsArgs{\n\t\t\t\tVisibility: pulumi.String(\"ENABLED\"),\n\t\t\t\tSignInOptions: \u0026ssoadmin.ApplicationPortalOptionsSignInOptionsArgs{\n\t\t\t\t\tApplicationUrl: pulumi.String(\"http://example.com\"),\n\t\t\t\t\tOrigin: pulumi.String(\"APPLICATION\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.Application;\nimport com.pulumi.aws.ssoadmin.ApplicationArgs;\nimport com.pulumi.aws.ssoadmin.inputs.ApplicationPortalOptionsArgs;\nimport com.pulumi.aws.ssoadmin.inputs.ApplicationPortalOptionsSignInOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n .name(\"example\")\n .applicationProviderArn(\"arn:aws:sso::aws:applicationProvider/custom\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .portalOptions(ApplicationPortalOptionsArgs.builder()\n .visibility(\"ENABLED\")\n .signInOptions(ApplicationPortalOptionsSignInOptionsArgs.builder()\n .applicationUrl(\"http://example.com\")\n .origin(\"APPLICATION\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleApplication:\n type: aws:ssoadmin:Application\n name: example\n properties:\n name: example\n applicationProviderArn: arn:aws:sso::aws:applicationProvider/custom\n instanceArn: ${example.arns[0]}\n portalOptions:\n visibility: ENABLED\n signInOptions:\n applicationUrl: http://example.com\n origin: APPLICATION\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Application using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/application:Application example arn:aws:sso::123456789012:application/id-12345678\n```\n", + "description": "Resource for managing an AWS SSO Admin Application.\n\n\u003e The `CreateApplication` API only supports custom OAuth 2.0 applications.\nCreation of 3rd party SAML or OAuth 2.0 applications require setup to be done through the associated app service or AWS console.\nSee this issue for additional context.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleApplication = new aws.ssoadmin.Application(\"example\", {\n name: \"example\",\n applicationProviderArn: \"arn:aws:sso::aws:applicationProvider/custom\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_application = aws.ssoadmin.Application(\"example\",\n name=\"example\",\n application_provider_arn=\"arn:aws:sso::aws:applicationProvider/custom\",\n instance_arn=example.arns[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleApplication = new Aws.SsoAdmin.Application(\"example\", new()\n {\n Name = \"example\",\n ApplicationProviderArn = \"arn:aws:sso::aws:applicationProvider/custom\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewApplication(ctx, \"example\", \u0026ssoadmin.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tApplicationProviderArn: pulumi.String(\"arn:aws:sso::aws:applicationProvider/custom\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.Application;\nimport com.pulumi.aws.ssoadmin.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n .name(\"example\")\n .applicationProviderArn(\"arn:aws:sso::aws:applicationProvider/custom\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleApplication:\n type: aws:ssoadmin:Application\n name: example\n properties:\n name: example\n applicationProviderArn: arn:aws:sso::aws:applicationProvider/custom\n instanceArn: ${example.arns[0]}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Portal Options\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleApplication = new aws.ssoadmin.Application(\"example\", {\n name: \"example\",\n applicationProviderArn: \"arn:aws:sso::aws:applicationProvider/custom\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n portalOptions: {\n visibility: \"ENABLED\",\n signInOptions: {\n applicationUrl: \"http://example.com\",\n origin: \"APPLICATION\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_application = aws.ssoadmin.Application(\"example\",\n name=\"example\",\n application_provider_arn=\"arn:aws:sso::aws:applicationProvider/custom\",\n instance_arn=example.arns[0],\n portal_options={\n \"visibility\": \"ENABLED\",\n \"sign_in_options\": {\n \"application_url\": \"http://example.com\",\n \"origin\": \"APPLICATION\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleApplication = new Aws.SsoAdmin.Application(\"example\", new()\n {\n Name = \"example\",\n ApplicationProviderArn = \"arn:aws:sso::aws:applicationProvider/custom\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PortalOptions = new Aws.SsoAdmin.Inputs.ApplicationPortalOptionsArgs\n {\n Visibility = \"ENABLED\",\n SignInOptions = new Aws.SsoAdmin.Inputs.ApplicationPortalOptionsSignInOptionsArgs\n {\n ApplicationUrl = \"http://example.com\",\n Origin = \"APPLICATION\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewApplication(ctx, \"example\", \u0026ssoadmin.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tApplicationProviderArn: pulumi.String(\"arn:aws:sso::aws:applicationProvider/custom\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPortalOptions: \u0026ssoadmin.ApplicationPortalOptionsArgs{\n\t\t\t\tVisibility: pulumi.String(\"ENABLED\"),\n\t\t\t\tSignInOptions: \u0026ssoadmin.ApplicationPortalOptionsSignInOptionsArgs{\n\t\t\t\t\tApplicationUrl: pulumi.String(\"http://example.com\"),\n\t\t\t\t\tOrigin: pulumi.String(\"APPLICATION\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.Application;\nimport com.pulumi.aws.ssoadmin.ApplicationArgs;\nimport com.pulumi.aws.ssoadmin.inputs.ApplicationPortalOptionsArgs;\nimport com.pulumi.aws.ssoadmin.inputs.ApplicationPortalOptionsSignInOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n .name(\"example\")\n .applicationProviderArn(\"arn:aws:sso::aws:applicationProvider/custom\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .portalOptions(ApplicationPortalOptionsArgs.builder()\n .visibility(\"ENABLED\")\n .signInOptions(ApplicationPortalOptionsSignInOptionsArgs.builder()\n .applicationUrl(\"http://example.com\")\n .origin(\"APPLICATION\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleApplication:\n type: aws:ssoadmin:Application\n name: example\n properties:\n name: example\n applicationProviderArn: arn:aws:sso::aws:applicationProvider/custom\n instanceArn: ${example.arns[0]}\n portalOptions:\n visibility: ENABLED\n signInOptions:\n applicationUrl: http://example.com\n origin: APPLICATION\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Application using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/application:Application example arn:aws:sso::123456789012:application/id-12345678\n```\n", "properties": { "applicationAccount": { "type": "string", @@ -368842,7 +368842,7 @@ } }, "aws:ssoadmin/applicationAccessScope:ApplicationAccessScope": { - "description": "Resource for managing an AWS SSO Admin Application Access Scope.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleApplication = new aws.ssoadmin.Application(\"example\", {\n name: \"example\",\n applicationProviderArn: \"arn:aws:sso::aws:applicationProvider/custom\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleApplicationAccessScope = new aws.ssoadmin.ApplicationAccessScope(\"example\", {\n applicationArn: exampleApplication.applicationArn,\n authorizedTargets: [\"arn:aws:sso::123456789012:application/ssoins-123456789012/apl-123456789012\"],\n scope: \"sso:account:access\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_application = aws.ssoadmin.Application(\"example\",\n name=\"example\",\n application_provider_arn=\"arn:aws:sso::aws:applicationProvider/custom\",\n instance_arn=example.arns[0])\nexample_application_access_scope = aws.ssoadmin.ApplicationAccessScope(\"example\",\n application_arn=example_application.application_arn,\n authorized_targets=[\"arn:aws:sso::123456789012:application/ssoins-123456789012/apl-123456789012\"],\n scope=\"sso:account:access\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleApplication = new Aws.SsoAdmin.Application(\"example\", new()\n {\n Name = \"example\",\n ApplicationProviderArn = \"arn:aws:sso::aws:applicationProvider/custom\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleApplicationAccessScope = new Aws.SsoAdmin.ApplicationAccessScope(\"example\", new()\n {\n ApplicationArn = exampleApplication.ApplicationArn,\n AuthorizedTargets = new[]\n {\n \"arn:aws:sso::123456789012:application/ssoins-123456789012/apl-123456789012\",\n },\n Scope = \"sso:account:access\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := ssoadmin.NewApplication(ctx, \"example\", \u0026ssoadmin.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tApplicationProviderArn: pulumi.String(\"arn:aws:sso::aws:applicationProvider/custom\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewApplicationAccessScope(ctx, \"example\", \u0026ssoadmin.ApplicationAccessScopeArgs{\n\t\t\tApplicationArn: exampleApplication.ApplicationArn,\n\t\t\tAuthorizedTargets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:sso::123456789012:application/ssoins-123456789012/apl-123456789012\"),\n\t\t\t},\n\t\t\tScope: pulumi.String(\"sso:account:access\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.Application;\nimport com.pulumi.aws.ssoadmin.ApplicationArgs;\nimport com.pulumi.aws.ssoadmin.ApplicationAccessScope;\nimport com.pulumi.aws.ssoadmin.ApplicationAccessScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n .name(\"example\")\n .applicationProviderArn(\"arn:aws:sso::aws:applicationProvider/custom\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleApplicationAccessScope = new ApplicationAccessScope(\"exampleApplicationAccessScope\", ApplicationAccessScopeArgs.builder()\n .applicationArn(exampleApplication.applicationArn())\n .authorizedTargets(\"arn:aws:sso::123456789012:application/ssoins-123456789012/apl-123456789012\")\n .scope(\"sso:account:access\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleApplication:\n type: aws:ssoadmin:Application\n name: example\n properties:\n name: example\n applicationProviderArn: arn:aws:sso::aws:applicationProvider/custom\n instanceArn: ${example.arns[0]}\n exampleApplicationAccessScope:\n type: aws:ssoadmin:ApplicationAccessScope\n name: example\n properties:\n applicationArn: ${exampleApplication.applicationArn}\n authorizedTargets:\n - arn:aws:sso::123456789012:application/ssoins-123456789012/apl-123456789012\n scope: sso:account:access\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Application Access Scope using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/applicationAccessScope:ApplicationAccessScope example arn:aws:sso::123456789012:application/ssoins-123456789012/apl-123456789012,sso:account:access\n```\n", + "description": "Resource for managing an AWS SSO Admin Application Access Scope.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleApplication = new aws.ssoadmin.Application(\"example\", {\n name: \"example\",\n applicationProviderArn: \"arn:aws:sso::aws:applicationProvider/custom\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleApplicationAccessScope = new aws.ssoadmin.ApplicationAccessScope(\"example\", {\n applicationArn: exampleApplication.applicationArn,\n authorizedTargets: [\"arn:aws:sso::123456789012:application/ssoins-123456789012/apl-123456789012\"],\n scope: \"sso:account:access\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_application = aws.ssoadmin.Application(\"example\",\n name=\"example\",\n application_provider_arn=\"arn:aws:sso::aws:applicationProvider/custom\",\n instance_arn=example.arns[0])\nexample_application_access_scope = aws.ssoadmin.ApplicationAccessScope(\"example\",\n application_arn=example_application.application_arn,\n authorized_targets=[\"arn:aws:sso::123456789012:application/ssoins-123456789012/apl-123456789012\"],\n scope=\"sso:account:access\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleApplication = new Aws.SsoAdmin.Application(\"example\", new()\n {\n Name = \"example\",\n ApplicationProviderArn = \"arn:aws:sso::aws:applicationProvider/custom\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleApplicationAccessScope = new Aws.SsoAdmin.ApplicationAccessScope(\"example\", new()\n {\n ApplicationArn = exampleApplication.ApplicationArn,\n AuthorizedTargets = new[]\n {\n \"arn:aws:sso::123456789012:application/ssoins-123456789012/apl-123456789012\",\n },\n Scope = \"sso:account:access\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := ssoadmin.NewApplication(ctx, \"example\", \u0026ssoadmin.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tApplicationProviderArn: pulumi.String(\"arn:aws:sso::aws:applicationProvider/custom\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewApplicationAccessScope(ctx, \"example\", \u0026ssoadmin.ApplicationAccessScopeArgs{\n\t\t\tApplicationArn: exampleApplication.ApplicationArn,\n\t\t\tAuthorizedTargets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:sso::123456789012:application/ssoins-123456789012/apl-123456789012\"),\n\t\t\t},\n\t\t\tScope: pulumi.String(\"sso:account:access\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.Application;\nimport com.pulumi.aws.ssoadmin.ApplicationArgs;\nimport com.pulumi.aws.ssoadmin.ApplicationAccessScope;\nimport com.pulumi.aws.ssoadmin.ApplicationAccessScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n .name(\"example\")\n .applicationProviderArn(\"arn:aws:sso::aws:applicationProvider/custom\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleApplicationAccessScope = new ApplicationAccessScope(\"exampleApplicationAccessScope\", ApplicationAccessScopeArgs.builder()\n .applicationArn(exampleApplication.applicationArn())\n .authorizedTargets(\"arn:aws:sso::123456789012:application/ssoins-123456789012/apl-123456789012\")\n .scope(\"sso:account:access\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleApplication:\n type: aws:ssoadmin:Application\n name: example\n properties:\n name: example\n applicationProviderArn: arn:aws:sso::aws:applicationProvider/custom\n instanceArn: ${example.arns[0]}\n exampleApplicationAccessScope:\n type: aws:ssoadmin:ApplicationAccessScope\n name: example\n properties:\n applicationArn: ${exampleApplication.applicationArn}\n authorizedTargets:\n - arn:aws:sso::123456789012:application/ssoins-123456789012/apl-123456789012\n scope: sso:account:access\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Application Access Scope using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/applicationAccessScope:ApplicationAccessScope example arn:aws:sso::123456789012:application/ssoins-123456789012/apl-123456789012,sso:account:access\n```\n", "properties": { "applicationArn": { "type": "string", @@ -369012,7 +369012,7 @@ } }, "aws:ssoadmin/customerManagedPolicyAttachment:CustomerManagedPolicyAttachment": { - "description": "Provides a customer managed policy attachment for a Single Sign-On (SSO) Permission Set resource\n\n\u003e **NOTE:** Creating this resource will automatically [Provision the Permission Set](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ProvisionPermissionSet.html) to apply the corresponding updates to all assigned accounts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"TestPolicy\",\n description: \"My test policy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\nconst exampleCustomerManagedPolicyAttachment = new aws.ssoadmin.CustomerManagedPolicyAttachment(\"example\", {\n instanceArn: examplePermissionSet.instanceArn,\n permissionSetArn: examplePermissionSet.arn,\n customerManagedPolicyReference: {\n name: examplePolicy.name,\n path: \"/\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"TestPolicy\",\n description=\"My test policy\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\nexample_customer_managed_policy_attachment = aws.ssoadmin.CustomerManagedPolicyAttachment(\"example\",\n instance_arn=example_permission_set.instance_arn,\n permission_set_arn=example_permission_set.arn,\n customer_managed_policy_reference={\n \"name\": example_policy.name,\n \"path\": \"/\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"TestPolicy\",\n Description = \"My test policy\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var exampleCustomerManagedPolicyAttachment = new Aws.SsoAdmin.CustomerManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = examplePermissionSet.InstanceArn,\n PermissionSetArn = examplePermissionSet.Arn,\n CustomerManagedPolicyReference = new Aws.SsoAdmin.Inputs.CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs\n {\n Name = examplePolicy.Name,\n Path = \"/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"TestPolicy\"),\n\t\t\tDescription: pulumi.String(\"My test policy\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewCustomerManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.CustomerManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: examplePermissionSet.InstanceArn,\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tCustomerManagedPolicyReference: \u0026ssoadmin.CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs{\n\t\t\t\tName: examplePolicy.Name,\n\t\t\t\tPath: pulumi.String(\"/\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.ssoadmin.CustomerManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.CustomerManagedPolicyAttachmentArgs;\nimport com.pulumi.aws.ssoadmin.inputs.CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"TestPolicy\")\n .description(\"My test policy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var exampleCustomerManagedPolicyAttachment = new CustomerManagedPolicyAttachment(\"exampleCustomerManagedPolicyAttachment\", CustomerManagedPolicyAttachmentArgs.builder()\n .instanceArn(examplePermissionSet.instanceArn())\n .permissionSetArn(examplePermissionSet.arn())\n .customerManagedPolicyReference(CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs.builder()\n .name(examplePolicy.name())\n .path(\"/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: TestPolicy\n description: My test policy\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n exampleCustomerManagedPolicyAttachment:\n type: aws:ssoadmin:CustomerManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${examplePermissionSet.instanceArn}\n permissionSetArn: ${examplePermissionSet.arn}\n customerManagedPolicyReference:\n name: ${examplePolicy.name}\n path: /\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Managed Policy Attachments using the `name`, `path`, `permission_set_arn`, and `instance_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/customerManagedPolicyAttachment:CustomerManagedPolicyAttachment example TestPolicy,/,arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", + "description": "Provides a customer managed policy attachment for a Single Sign-On (SSO) Permission Set resource\n\n\u003e **NOTE:** Creating this resource will automatically [Provision the Permission Set](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ProvisionPermissionSet.html) to apply the corresponding updates to all assigned accounts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"TestPolicy\",\n description: \"My test policy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\nconst exampleCustomerManagedPolicyAttachment = new aws.ssoadmin.CustomerManagedPolicyAttachment(\"example\", {\n instanceArn: examplePermissionSet.instanceArn,\n permissionSetArn: examplePermissionSet.arn,\n customerManagedPolicyReference: {\n name: examplePolicy.name,\n path: \"/\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"TestPolicy\",\n description=\"My test policy\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\nexample_customer_managed_policy_attachment = aws.ssoadmin.CustomerManagedPolicyAttachment(\"example\",\n instance_arn=example_permission_set.instance_arn,\n permission_set_arn=example_permission_set.arn,\n customer_managed_policy_reference={\n \"name\": example_policy.name,\n \"path\": \"/\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"TestPolicy\",\n Description = \"My test policy\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var exampleCustomerManagedPolicyAttachment = new Aws.SsoAdmin.CustomerManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = examplePermissionSet.InstanceArn,\n PermissionSetArn = examplePermissionSet.Arn,\n CustomerManagedPolicyReference = new Aws.SsoAdmin.Inputs.CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs\n {\n Name = examplePolicy.Name,\n Path = \"/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"TestPolicy\"),\n\t\t\tDescription: pulumi.String(\"My test policy\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewCustomerManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.CustomerManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: examplePermissionSet.InstanceArn,\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tCustomerManagedPolicyReference: \u0026ssoadmin.CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs{\n\t\t\t\tName: examplePolicy.Name,\n\t\t\t\tPath: pulumi.String(\"/\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.ssoadmin.CustomerManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.CustomerManagedPolicyAttachmentArgs;\nimport com.pulumi.aws.ssoadmin.inputs.CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"TestPolicy\")\n .description(\"My test policy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var exampleCustomerManagedPolicyAttachment = new CustomerManagedPolicyAttachment(\"exampleCustomerManagedPolicyAttachment\", CustomerManagedPolicyAttachmentArgs.builder()\n .instanceArn(examplePermissionSet.instanceArn())\n .permissionSetArn(examplePermissionSet.arn())\n .customerManagedPolicyReference(CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs.builder()\n .name(examplePolicy.name())\n .path(\"/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: TestPolicy\n description: My test policy\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n exampleCustomerManagedPolicyAttachment:\n type: aws:ssoadmin:CustomerManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${examplePermissionSet.instanceArn}\n permissionSetArn: ${examplePermissionSet.arn}\n customerManagedPolicyReference:\n name: ${examplePolicy.name}\n path: /\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Managed Policy Attachments using the `name`, `path`, `permission_set_arn`, and `instance_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/customerManagedPolicyAttachment:CustomerManagedPolicyAttachment example TestPolicy,/,arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", "properties": { "customerManagedPolicyReference": { "$ref": "#/types/aws:ssoadmin/CustomerManagedPolicyAttachmentCustomerManagedPolicyReference:CustomerManagedPolicyAttachmentCustomerManagedPolicyReference", @@ -369077,7 +369077,7 @@ } }, "aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes": { - "description": "Provides a Single Sign-On (SSO) ABAC Resource: https://docs.aws.amazon.com/singlesignon/latest/userguide/abac.html\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleInstanceAccessControlAttributes = new aws.ssoadmin.InstanceAccessControlAttributes(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n attributes: [\n {\n key: \"name\",\n values: [{\n sources: [\"${path:name.givenName}\"],\n }],\n },\n {\n key: \"last\",\n values: [{\n sources: [\"${path:name.familyName}\"],\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_instance_access_control_attributes = aws.ssoadmin.InstanceAccessControlAttributes(\"example\",\n instance_arn=example.arns[0],\n attributes=[\n {\n \"key\": \"name\",\n \"values\": [{\n \"sources\": [\"${path:name.givenName}\"],\n }],\n },\n {\n \"key\": \"last\",\n \"values\": [{\n \"sources\": [\"${path:name.familyName}\"],\n }],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleInstanceAccessControlAttributes = new Aws.SsoAdmin.InstanceAccessControlAttributes(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n Attributes = new[]\n {\n new Aws.SsoAdmin.Inputs.InstanceAccessControlAttributesAttributeArgs\n {\n Key = \"name\",\n Values = new[]\n {\n new Aws.SsoAdmin.Inputs.InstanceAccessControlAttributesAttributeValueArgs\n {\n Sources = new[]\n {\n \"${path:name.givenName}\",\n },\n },\n },\n },\n new Aws.SsoAdmin.Inputs.InstanceAccessControlAttributesAttributeArgs\n {\n Key = \"last\",\n Values = new[]\n {\n new Aws.SsoAdmin.Inputs.InstanceAccessControlAttributesAttributeValueArgs\n {\n Sources = new[]\n {\n \"${path:name.familyName}\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewInstanceAccessControlAttributes(ctx, \"example\", \u0026ssoadmin.InstanceAccessControlAttributesArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tAttributes: ssoadmin.InstanceAccessControlAttributesAttributeArray{\n\t\t\t\t\u0026ssoadmin.InstanceAccessControlAttributesAttributeArgs{\n\t\t\t\t\tKey: pulumi.String(\"name\"),\n\t\t\t\t\tValues: ssoadmin.InstanceAccessControlAttributesAttributeValueArray{\n\t\t\t\t\t\t\u0026ssoadmin.InstanceAccessControlAttributesAttributeValueArgs{\n\t\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"${path:name.givenName}\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026ssoadmin.InstanceAccessControlAttributesAttributeArgs{\n\t\t\t\t\tKey: pulumi.String(\"last\"),\n\t\t\t\t\tValues: ssoadmin.InstanceAccessControlAttributesAttributeValueArray{\n\t\t\t\t\t\t\u0026ssoadmin.InstanceAccessControlAttributesAttributeValueArgs{\n\t\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"${path:name.familyName}\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.InstanceAccessControlAttributes;\nimport com.pulumi.aws.ssoadmin.InstanceAccessControlAttributesArgs;\nimport com.pulumi.aws.ssoadmin.inputs.InstanceAccessControlAttributesAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var exampleInstanceAccessControlAttributes = new InstanceAccessControlAttributes(\"exampleInstanceAccessControlAttributes\", InstanceAccessControlAttributesArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .attributes( \n InstanceAccessControlAttributesAttributeArgs.builder()\n .key(\"name\")\n .values(InstanceAccessControlAttributesAttributeValueArgs.builder()\n .sources(\"${path:name.givenName}\")\n .build())\n .build(),\n InstanceAccessControlAttributesAttributeArgs.builder()\n .key(\"last\")\n .values(InstanceAccessControlAttributesAttributeValueArgs.builder()\n .sources(\"${path:name.familyName}\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstanceAccessControlAttributes:\n type: aws:ssoadmin:InstanceAccessControlAttributes\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n attributes:\n - key: name\n values:\n - sources:\n - $${path:name.givenName}\n - key: last\n values:\n - sources:\n - $${path:name.familyName}\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Account Assignments using the `instance_arn`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes example arn:aws:sso:::instance/ssoins-0123456789abcdef\n```\n", + "description": "Provides a Single Sign-On (SSO) ABAC Resource: https://docs.aws.amazon.com/singlesignon/latest/userguide/abac.html\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleInstanceAccessControlAttributes = new aws.ssoadmin.InstanceAccessControlAttributes(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n attributes: [\n {\n key: \"name\",\n values: [{\n sources: [\"${path:name.givenName}\"],\n }],\n },\n {\n key: \"last\",\n values: [{\n sources: [\"${path:name.familyName}\"],\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_instance_access_control_attributes = aws.ssoadmin.InstanceAccessControlAttributes(\"example\",\n instance_arn=example.arns[0],\n attributes=[\n {\n \"key\": \"name\",\n \"values\": [{\n \"sources\": [\"${path:name.givenName}\"],\n }],\n },\n {\n \"key\": \"last\",\n \"values\": [{\n \"sources\": [\"${path:name.familyName}\"],\n }],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleInstanceAccessControlAttributes = new Aws.SsoAdmin.InstanceAccessControlAttributes(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n Attributes = new[]\n {\n new Aws.SsoAdmin.Inputs.InstanceAccessControlAttributesAttributeArgs\n {\n Key = \"name\",\n Values = new[]\n {\n new Aws.SsoAdmin.Inputs.InstanceAccessControlAttributesAttributeValueArgs\n {\n Sources = new[]\n {\n \"${path:name.givenName}\",\n },\n },\n },\n },\n new Aws.SsoAdmin.Inputs.InstanceAccessControlAttributesAttributeArgs\n {\n Key = \"last\",\n Values = new[]\n {\n new Aws.SsoAdmin.Inputs.InstanceAccessControlAttributesAttributeValueArgs\n {\n Sources = new[]\n {\n \"${path:name.familyName}\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewInstanceAccessControlAttributes(ctx, \"example\", \u0026ssoadmin.InstanceAccessControlAttributesArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tAttributes: ssoadmin.InstanceAccessControlAttributesAttributeArray{\n\t\t\t\t\u0026ssoadmin.InstanceAccessControlAttributesAttributeArgs{\n\t\t\t\t\tKey: pulumi.String(\"name\"),\n\t\t\t\t\tValues: ssoadmin.InstanceAccessControlAttributesAttributeValueArray{\n\t\t\t\t\t\t\u0026ssoadmin.InstanceAccessControlAttributesAttributeValueArgs{\n\t\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"${path:name.givenName}\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026ssoadmin.InstanceAccessControlAttributesAttributeArgs{\n\t\t\t\t\tKey: pulumi.String(\"last\"),\n\t\t\t\t\tValues: ssoadmin.InstanceAccessControlAttributesAttributeValueArray{\n\t\t\t\t\t\t\u0026ssoadmin.InstanceAccessControlAttributesAttributeValueArgs{\n\t\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"${path:name.familyName}\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.InstanceAccessControlAttributes;\nimport com.pulumi.aws.ssoadmin.InstanceAccessControlAttributesArgs;\nimport com.pulumi.aws.ssoadmin.inputs.InstanceAccessControlAttributesAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var exampleInstanceAccessControlAttributes = new InstanceAccessControlAttributes(\"exampleInstanceAccessControlAttributes\", InstanceAccessControlAttributesArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .attributes( \n InstanceAccessControlAttributesAttributeArgs.builder()\n .key(\"name\")\n .values(InstanceAccessControlAttributesAttributeValueArgs.builder()\n .sources(\"${path:name.givenName}\")\n .build())\n .build(),\n InstanceAccessControlAttributesAttributeArgs.builder()\n .key(\"last\")\n .values(InstanceAccessControlAttributesAttributeValueArgs.builder()\n .sources(\"${path:name.familyName}\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstanceAccessControlAttributes:\n type: aws:ssoadmin:InstanceAccessControlAttributes\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n attributes:\n - key: name\n values:\n - sources:\n - ${path:name.givenName}\n - key: last\n values:\n - sources:\n - ${path:name.familyName}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Account Assignments using the `instance_arn`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes example arn:aws:sso:::instance/ssoins-0123456789abcdef\n```\n", "properties": { "attributes": { "type": "array", @@ -369147,7 +369147,7 @@ } }, "aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment": { - "description": "Provides an IAM managed policy for a Single Sign-On (SSO) Permission Set resource\n\n\u003e **NOTE:** Creating this resource will automatically [Provision the Permission Set](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ProvisionPermissionSet.html) to apply the corresponding updates to all assigned accounts.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleManagedPolicyAttachment = new aws.ssoadmin.ManagedPolicyAttachment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n managedPolicyArn: \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permissionSetArn: examplePermissionSet.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_managed_policy_attachment = aws.ssoadmin.ManagedPolicyAttachment(\"example\",\n instance_arn=example.arns[0],\n managed_policy_arn=\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permission_set_arn=example_permission_set.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleManagedPolicyAttachment = new Aws.SsoAdmin.ManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n PermissionSetArn = examplePermissionSet.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.ManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\"),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleManagedPolicyAttachment = new ManagedPolicyAttachment(\"exampleManagedPolicyAttachment\", ManagedPolicyAttachmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .managedPolicyArn(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\")\n .permissionSetArn(examplePermissionSet.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n exampleManagedPolicyAttachment:\n type: aws:ssoadmin:ManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n managedPolicyArn: arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\n permissionSetArn: ${examplePermissionSet.arn}\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Account Assignment\n\n\u003e Because destruction of a managed policy attachment resource also re-provisions the associated permission set to all accounts, explicitly indicating the dependency with the account assignment resource via the `depends_on` meta argument is necessary to ensure proper deletion order when these resources are used together.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleGroup = new aws.identitystore.Group(\"example\", {\n identityStoreId: example.then(example =\u003e example.identityStoreIds?.[0]),\n displayName: \"Admin\",\n description: \"Admin Group\",\n});\nconst accountAssignment = new aws.ssoadmin.AccountAssignment(\"account_assignment\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: examplePermissionSet.arn,\n principalId: exampleGroup.groupId,\n principalType: \"GROUP\",\n targetId: \"123456789012\",\n targetType: \"AWS_ACCOUNT\",\n});\nconst exampleManagedPolicyAttachment = new aws.ssoadmin.ManagedPolicyAttachment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n managedPolicyArn: \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permissionSetArn: examplePermissionSet.arn,\n}, {\n dependsOn: [exampleAwsSsoadminAccountAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_group = aws.identitystore.Group(\"example\",\n identity_store_id=example.identity_store_ids[0],\n display_name=\"Admin\",\n description=\"Admin Group\")\naccount_assignment = aws.ssoadmin.AccountAssignment(\"account_assignment\",\n instance_arn=example.arns[0],\n permission_set_arn=example_permission_set.arn,\n principal_id=example_group.group_id,\n principal_type=\"GROUP\",\n target_id=\"123456789012\",\n target_type=\"AWS_ACCOUNT\")\nexample_managed_policy_attachment = aws.ssoadmin.ManagedPolicyAttachment(\"example\",\n instance_arn=example.arns[0],\n managed_policy_arn=\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permission_set_arn=example_permission_set.arn,\n opts = pulumi.ResourceOptions(depends_on=[example_aws_ssoadmin_account_assignment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleGroup = new Aws.IdentityStore.Group(\"example\", new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n DisplayName = \"Admin\",\n Description = \"Admin Group\",\n });\n\n var accountAssignment = new Aws.SsoAdmin.AccountAssignment(\"account_assignment\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = examplePermissionSet.Arn,\n PrincipalId = exampleGroup.GroupId,\n PrincipalType = \"GROUP\",\n TargetId = \"123456789012\",\n TargetType = \"AWS_ACCOUNT\",\n });\n\n var exampleManagedPolicyAttachment = new Aws.SsoAdmin.ManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n PermissionSetArn = examplePermissionSet.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsoadminAccountAssignment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := identitystore.NewGroup(ctx, \"example\", \u0026identitystore.GroupArgs{\n\t\t\tIdentityStoreId: pulumi.String(example.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"Admin\"),\n\t\t\tDescription: pulumi.String(\"Admin Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewAccountAssignment(ctx, \"account_assignment\", \u0026ssoadmin.AccountAssignmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tPrincipalId: exampleGroup.GroupId,\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tTargetType: pulumi.String(\"AWS_ACCOUNT\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.ManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\"),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsoadminAccountAssignment,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.identitystore.Group;\nimport com.pulumi.aws.identitystore.GroupArgs;\nimport com.pulumi.aws.ssoadmin.AccountAssignment;\nimport com.pulumi.aws.ssoadmin.AccountAssignmentArgs;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .displayName(\"Admin\")\n .description(\"Admin Group\")\n .build());\n\n var accountAssignment = new AccountAssignment(\"accountAssignment\", AccountAssignmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(examplePermissionSet.arn())\n .principalId(exampleGroup.groupId())\n .principalType(\"GROUP\")\n .targetId(\"123456789012\")\n .targetType(\"AWS_ACCOUNT\")\n .build());\n\n var exampleManagedPolicyAttachment = new ManagedPolicyAttachment(\"exampleManagedPolicyAttachment\", ManagedPolicyAttachmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .managedPolicyArn(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\")\n .permissionSetArn(examplePermissionSet.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsoadminAccountAssignment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n exampleGroup:\n type: aws:identitystore:Group\n name: example\n properties:\n identityStoreId: ${example.identityStoreIds[0]}\n displayName: Admin\n description: Admin Group\n accountAssignment:\n type: aws:ssoadmin:AccountAssignment\n name: account_assignment\n properties:\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${examplePermissionSet.arn}\n principalId: ${exampleGroup.groupId}\n principalType: GROUP\n targetId: '123456789012'\n targetType: AWS_ACCOUNT\n exampleManagedPolicyAttachment:\n type: aws:ssoadmin:ManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n managedPolicyArn: arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\n permissionSetArn: ${examplePermissionSet.arn}\n options:\n dependsOn:\n - ${exampleAwsSsoadminAccountAssignment}\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Managed Policy Attachments using the `managed_policy_arn`, `permission_set_arn`, and `instance_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment example arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup,arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", + "description": "Provides an IAM managed policy for a Single Sign-On (SSO) Permission Set resource\n\n\u003e **NOTE:** Creating this resource will automatically [Provision the Permission Set](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ProvisionPermissionSet.html) to apply the corresponding updates to all assigned accounts.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleManagedPolicyAttachment = new aws.ssoadmin.ManagedPolicyAttachment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n managedPolicyArn: \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permissionSetArn: examplePermissionSet.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_managed_policy_attachment = aws.ssoadmin.ManagedPolicyAttachment(\"example\",\n instance_arn=example.arns[0],\n managed_policy_arn=\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permission_set_arn=example_permission_set.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleManagedPolicyAttachment = new Aws.SsoAdmin.ManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n PermissionSetArn = examplePermissionSet.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.ManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\"),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleManagedPolicyAttachment = new ManagedPolicyAttachment(\"exampleManagedPolicyAttachment\", ManagedPolicyAttachmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .managedPolicyArn(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\")\n .permissionSetArn(examplePermissionSet.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n exampleManagedPolicyAttachment:\n type: aws:ssoadmin:ManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n managedPolicyArn: arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\n permissionSetArn: ${examplePermissionSet.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Account Assignment\n\n\u003e Because destruction of a managed policy attachment resource also re-provisions the associated permission set to all accounts, explicitly indicating the dependency with the account assignment resource via the `depends_on` meta argument is necessary to ensure proper deletion order when these resources are used together.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleGroup = new aws.identitystore.Group(\"example\", {\n identityStoreId: example.then(example =\u003e example.identityStoreIds?.[0]),\n displayName: \"Admin\",\n description: \"Admin Group\",\n});\nconst accountAssignment = new aws.ssoadmin.AccountAssignment(\"account_assignment\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: examplePermissionSet.arn,\n principalId: exampleGroup.groupId,\n principalType: \"GROUP\",\n targetId: \"123456789012\",\n targetType: \"AWS_ACCOUNT\",\n});\nconst exampleManagedPolicyAttachment = new aws.ssoadmin.ManagedPolicyAttachment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n managedPolicyArn: \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permissionSetArn: examplePermissionSet.arn,\n}, {\n dependsOn: [exampleAwsSsoadminAccountAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_group = aws.identitystore.Group(\"example\",\n identity_store_id=example.identity_store_ids[0],\n display_name=\"Admin\",\n description=\"Admin Group\")\naccount_assignment = aws.ssoadmin.AccountAssignment(\"account_assignment\",\n instance_arn=example.arns[0],\n permission_set_arn=example_permission_set.arn,\n principal_id=example_group.group_id,\n principal_type=\"GROUP\",\n target_id=\"123456789012\",\n target_type=\"AWS_ACCOUNT\")\nexample_managed_policy_attachment = aws.ssoadmin.ManagedPolicyAttachment(\"example\",\n instance_arn=example.arns[0],\n managed_policy_arn=\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permission_set_arn=example_permission_set.arn,\n opts = pulumi.ResourceOptions(depends_on=[example_aws_ssoadmin_account_assignment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleGroup = new Aws.IdentityStore.Group(\"example\", new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n DisplayName = \"Admin\",\n Description = \"Admin Group\",\n });\n\n var accountAssignment = new Aws.SsoAdmin.AccountAssignment(\"account_assignment\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = examplePermissionSet.Arn,\n PrincipalId = exampleGroup.GroupId,\n PrincipalType = \"GROUP\",\n TargetId = \"123456789012\",\n TargetType = \"AWS_ACCOUNT\",\n });\n\n var exampleManagedPolicyAttachment = new Aws.SsoAdmin.ManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n PermissionSetArn = examplePermissionSet.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsoadminAccountAssignment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := identitystore.NewGroup(ctx, \"example\", \u0026identitystore.GroupArgs{\n\t\t\tIdentityStoreId: pulumi.String(example.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"Admin\"),\n\t\t\tDescription: pulumi.String(\"Admin Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewAccountAssignment(ctx, \"account_assignment\", \u0026ssoadmin.AccountAssignmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tPrincipalId: exampleGroup.GroupId,\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tTargetType: pulumi.String(\"AWS_ACCOUNT\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.ManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\"),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsoadminAccountAssignment,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.identitystore.Group;\nimport com.pulumi.aws.identitystore.GroupArgs;\nimport com.pulumi.aws.ssoadmin.AccountAssignment;\nimport com.pulumi.aws.ssoadmin.AccountAssignmentArgs;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .displayName(\"Admin\")\n .description(\"Admin Group\")\n .build());\n\n var accountAssignment = new AccountAssignment(\"accountAssignment\", AccountAssignmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(examplePermissionSet.arn())\n .principalId(exampleGroup.groupId())\n .principalType(\"GROUP\")\n .targetId(\"123456789012\")\n .targetType(\"AWS_ACCOUNT\")\n .build());\n\n var exampleManagedPolicyAttachment = new ManagedPolicyAttachment(\"exampleManagedPolicyAttachment\", ManagedPolicyAttachmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .managedPolicyArn(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\")\n .permissionSetArn(examplePermissionSet.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsoadminAccountAssignment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n exampleGroup:\n type: aws:identitystore:Group\n name: example\n properties:\n identityStoreId: ${example.identityStoreIds[0]}\n displayName: Admin\n description: Admin Group\n accountAssignment:\n type: aws:ssoadmin:AccountAssignment\n name: account_assignment\n properties:\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${examplePermissionSet.arn}\n principalId: ${exampleGroup.groupId}\n principalType: GROUP\n targetId: '123456789012'\n targetType: AWS_ACCOUNT\n exampleManagedPolicyAttachment:\n type: aws:ssoadmin:ManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n managedPolicyArn: arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\n permissionSetArn: ${examplePermissionSet.arn}\n options:\n dependson:\n - ${exampleAwsSsoadminAccountAssignment}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Managed Policy Attachments using the `managed_policy_arn`, `permission_set_arn`, and `instance_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment example arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup,arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", "properties": { "instanceArn": { "type": "string", @@ -369221,7 +369221,7 @@ } }, "aws:ssoadmin/permissionSet:PermissionSet": { - "description": "Provides a Single Sign-On (SSO) Permission Set resource\n\n\u003e **NOTE:** Updating this resource will automatically [Provision the Permission Set](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ProvisionPermissionSet.html) to apply the corresponding updates to all assigned accounts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n description: \"An example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n relayState: \"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\",\n sessionDuration: \"PT2H\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n description=\"An example\",\n instance_arn=example.arns[0],\n relay_state=\"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\",\n session_duration=\"PT2H\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n Description = \"An example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n RelayState = \"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\",\n SessionDuration = \"PT2H\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"An example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tRelayState: pulumi.String(\"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\"),\n\t\t\tSessionDuration: pulumi.String(\"PT2H\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .description(\"An example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .relayState(\"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\")\n .sessionDuration(\"PT2H\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n description: An example\n instanceArn: ${example.arns[0]}\n relayState: https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\n sessionDuration: PT2H\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Permission Sets using the `arn` and `instance_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/permissionSet:PermissionSet example arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", + "description": "Provides a Single Sign-On (SSO) Permission Set resource\n\n\u003e **NOTE:** Updating this resource will automatically [Provision the Permission Set](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ProvisionPermissionSet.html) to apply the corresponding updates to all assigned accounts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n description: \"An example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n relayState: \"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\",\n sessionDuration: \"PT2H\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n description=\"An example\",\n instance_arn=example.arns[0],\n relay_state=\"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\",\n session_duration=\"PT2H\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n Description = \"An example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n RelayState = \"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\",\n SessionDuration = \"PT2H\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"An example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tRelayState: pulumi.String(\"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\"),\n\t\t\tSessionDuration: pulumi.String(\"PT2H\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .description(\"An example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .relayState(\"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\")\n .sessionDuration(\"PT2H\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n description: An example\n instanceArn: ${example.arns[0]}\n relayState: https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\n sessionDuration: PT2H\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Permission Sets using the `arn` and `instance_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/permissionSet:PermissionSet example arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", "properties": { "arn": { "type": "string", @@ -369361,7 +369361,7 @@ } }, "aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleGetPolicyDocument = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"1\",\n actions: [\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n ],\n resources: [\"arn:aws:s3:::*\"],\n }],\n});\nconst examplePermissionSetInlinePolicy = new aws.ssoadmin.PermissionSetInlinePolicy(\"example\", {\n inlinePolicy: exampleGetPolicyDocument.then(exampleGetPolicyDocument =\u003e exampleGetPolicyDocument.json),\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: examplePermissionSet.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_get_policy_document = aws.iam.get_policy_document(statements=[{\n \"sid\": \"1\",\n \"actions\": [\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n ],\n \"resources\": [\"arn:aws:s3:::*\"],\n}])\nexample_permission_set_inline_policy = aws.ssoadmin.PermissionSetInlinePolicy(\"example\",\n inline_policy=example_get_policy_document.json,\n instance_arn=example.arns[0],\n permission_set_arn=example_permission_set.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleGetPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"1\",\n Actions = new[]\n {\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::*\",\n },\n },\n },\n });\n\n var examplePermissionSetInlinePolicy = new Aws.SsoAdmin.PermissionSetInlinePolicy(\"example\", new()\n {\n InlinePolicy = exampleGetPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = examplePermissionSet.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"1\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:ListAllMyBuckets\",\n\t\t\t\t\t\t\"s3:GetBucketLocation\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewPermissionSetInlinePolicy(ctx, \"example\", \u0026ssoadmin.PermissionSetInlinePolicyArgs{\n\t\t\tInlinePolicy: pulumi.String(exampleGetPolicyDocument.Json),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ssoadmin.PermissionSetInlinePolicy;\nimport com.pulumi.aws.ssoadmin.PermissionSetInlinePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n final var exampleGetPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"1\")\n .actions( \n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\")\n .resources(\"arn:aws:s3:::*\")\n .build())\n .build());\n\n var examplePermissionSetInlinePolicy = new PermissionSetInlinePolicy(\"examplePermissionSetInlinePolicy\", PermissionSetInlinePolicyArgs.builder()\n .inlinePolicy(exampleGetPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(examplePermissionSet.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n examplePermissionSetInlinePolicy:\n type: aws:ssoadmin:PermissionSetInlinePolicy\n name: example\n properties:\n inlinePolicy: ${exampleGetPolicyDocument.json}\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${examplePermissionSet.arn}\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n exampleGetPolicyDocument:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: '1'\n actions:\n - s3:ListAllMyBuckets\n - s3:GetBucketLocation\n resources:\n - arn:aws:s3:::*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Permission Set Inline Policies using the `permission_set_arn` and `instance_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy example arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleGetPolicyDocument = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"1\",\n actions: [\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n ],\n resources: [\"arn:aws:s3:::*\"],\n }],\n});\nconst examplePermissionSetInlinePolicy = new aws.ssoadmin.PermissionSetInlinePolicy(\"example\", {\n inlinePolicy: exampleGetPolicyDocument.then(exampleGetPolicyDocument =\u003e exampleGetPolicyDocument.json),\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: examplePermissionSet.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_get_policy_document = aws.iam.get_policy_document(statements=[{\n \"sid\": \"1\",\n \"actions\": [\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n ],\n \"resources\": [\"arn:aws:s3:::*\"],\n}])\nexample_permission_set_inline_policy = aws.ssoadmin.PermissionSetInlinePolicy(\"example\",\n inline_policy=example_get_policy_document.json,\n instance_arn=example.arns[0],\n permission_set_arn=example_permission_set.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleGetPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"1\",\n Actions = new[]\n {\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::*\",\n },\n },\n },\n });\n\n var examplePermissionSetInlinePolicy = new Aws.SsoAdmin.PermissionSetInlinePolicy(\"example\", new()\n {\n InlinePolicy = exampleGetPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = examplePermissionSet.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"1\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:ListAllMyBuckets\",\n\t\t\t\t\t\t\"s3:GetBucketLocation\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewPermissionSetInlinePolicy(ctx, \"example\", \u0026ssoadmin.PermissionSetInlinePolicyArgs{\n\t\t\tInlinePolicy: pulumi.String(exampleGetPolicyDocument.Json),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ssoadmin.PermissionSetInlinePolicy;\nimport com.pulumi.aws.ssoadmin.PermissionSetInlinePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n final var exampleGetPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"1\")\n .actions( \n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\")\n .resources(\"arn:aws:s3:::*\")\n .build())\n .build());\n\n var examplePermissionSetInlinePolicy = new PermissionSetInlinePolicy(\"examplePermissionSetInlinePolicy\", PermissionSetInlinePolicyArgs.builder()\n .inlinePolicy(exampleGetPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(examplePermissionSet.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n examplePermissionSetInlinePolicy:\n type: aws:ssoadmin:PermissionSetInlinePolicy\n name: example\n properties:\n inlinePolicy: ${exampleGetPolicyDocument.json}\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${examplePermissionSet.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n exampleGetPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: '1'\n actions:\n - s3:ListAllMyBuckets\n - s3:GetBucketLocation\n resources:\n - arn:aws:s3:::*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Permission Set Inline Policies using the `permission_set_arn` and `instance_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy example arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", "properties": { "inlinePolicy": { "type": "string", @@ -369424,7 +369424,7 @@ } }, "aws:ssoadmin/permissionsBoundaryAttachment:PermissionsBoundaryAttachment": { - "description": "Attaches a permissions boundary policy to a Single Sign-On (SSO) Permission Set resource.\n\n\u003e **NOTE:** A permission set can have at most one permissions boundary attached; using more than one `aws.ssoadmin.PermissionsBoundaryAttachment` references the same permission set will show a permanent difference.\n\n## Example Usage\n\n### Attaching a customer-managed policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"TestPolicy\",\n description: \"My test policy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\nconst examplePermissionsBoundaryAttachment = new aws.ssoadmin.PermissionsBoundaryAttachment(\"example\", {\n instanceArn: examplePermissionSet.instanceArn,\n permissionSetArn: examplePermissionSet.arn,\n permissionsBoundary: {\n customerManagedPolicyReference: {\n name: examplePolicy.name,\n path: \"/\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"TestPolicy\",\n description=\"My test policy\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\nexample_permissions_boundary_attachment = aws.ssoadmin.PermissionsBoundaryAttachment(\"example\",\n instance_arn=example_permission_set.instance_arn,\n permission_set_arn=example_permission_set.arn,\n permissions_boundary={\n \"customer_managed_policy_reference\": {\n \"name\": example_policy.name,\n \"path\": \"/\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"TestPolicy\",\n Description = \"My test policy\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var examplePermissionsBoundaryAttachment = new Aws.SsoAdmin.PermissionsBoundaryAttachment(\"example\", new()\n {\n InstanceArn = examplePermissionSet.InstanceArn,\n PermissionSetArn = examplePermissionSet.Arn,\n PermissionsBoundary = new Aws.SsoAdmin.Inputs.PermissionsBoundaryAttachmentPermissionsBoundaryArgs\n {\n CustomerManagedPolicyReference = new Aws.SsoAdmin.Inputs.PermissionsBoundaryAttachmentPermissionsBoundaryCustomerManagedPolicyReferenceArgs\n {\n Name = examplePolicy.Name,\n Path = \"/\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"TestPolicy\"),\n\t\t\tDescription: pulumi.String(\"My test policy\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewPermissionsBoundaryAttachment(ctx, \"example\", \u0026ssoadmin.PermissionsBoundaryAttachmentArgs{\n\t\t\tInstanceArn: examplePermissionSet.InstanceArn,\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tPermissionsBoundary: \u0026ssoadmin.PermissionsBoundaryAttachmentPermissionsBoundaryArgs{\n\t\t\t\tCustomerManagedPolicyReference: \u0026ssoadmin.PermissionsBoundaryAttachmentPermissionsBoundaryCustomerManagedPolicyReferenceArgs{\n\t\t\t\t\tName: examplePolicy.Name,\n\t\t\t\t\tPath: pulumi.String(\"/\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.ssoadmin.PermissionsBoundaryAttachment;\nimport com.pulumi.aws.ssoadmin.PermissionsBoundaryAttachmentArgs;\nimport com.pulumi.aws.ssoadmin.inputs.PermissionsBoundaryAttachmentPermissionsBoundaryArgs;\nimport com.pulumi.aws.ssoadmin.inputs.PermissionsBoundaryAttachmentPermissionsBoundaryCustomerManagedPolicyReferenceArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"TestPolicy\")\n .description(\"My test policy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var examplePermissionsBoundaryAttachment = new PermissionsBoundaryAttachment(\"examplePermissionsBoundaryAttachment\", PermissionsBoundaryAttachmentArgs.builder()\n .instanceArn(examplePermissionSet.instanceArn())\n .permissionSetArn(examplePermissionSet.arn())\n .permissionsBoundary(PermissionsBoundaryAttachmentPermissionsBoundaryArgs.builder()\n .customerManagedPolicyReference(PermissionsBoundaryAttachmentPermissionsBoundaryCustomerManagedPolicyReferenceArgs.builder()\n .name(examplePolicy.name())\n .path(\"/\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: TestPolicy\n description: My test policy\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n examplePermissionsBoundaryAttachment:\n type: aws:ssoadmin:PermissionsBoundaryAttachment\n name: example\n properties:\n instanceArn: ${examplePermissionSet.instanceArn}\n permissionSetArn: ${examplePermissionSet.arn}\n permissionsBoundary:\n customerManagedPolicyReference:\n name: ${examplePolicy.name}\n path: /\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Attaching an AWS-managed policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssoadmin.PermissionsBoundaryAttachment(\"example\", {\n instanceArn: exampleAwsSsoadminPermissionSet.instanceArn,\n permissionSetArn: exampleAwsSsoadminPermissionSet.arn,\n permissionsBoundary: {\n managedPolicyArn: \"arn:aws:iam::aws:policy/ReadOnlyAccess\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.PermissionsBoundaryAttachment(\"example\",\n instance_arn=example_aws_ssoadmin_permission_set[\"instanceArn\"],\n permission_set_arn=example_aws_ssoadmin_permission_set[\"arn\"],\n permissions_boundary={\n \"managed_policy_arn\": \"arn:aws:iam::aws:policy/ReadOnlyAccess\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsoAdmin.PermissionsBoundaryAttachment(\"example\", new()\n {\n InstanceArn = exampleAwsSsoadminPermissionSet.InstanceArn,\n PermissionSetArn = exampleAwsSsoadminPermissionSet.Arn,\n PermissionsBoundary = new Aws.SsoAdmin.Inputs.PermissionsBoundaryAttachmentPermissionsBoundaryArgs\n {\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/ReadOnlyAccess\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\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 := ssoadmin.NewPermissionsBoundaryAttachment(ctx, \"example\", \u0026ssoadmin.PermissionsBoundaryAttachmentArgs{\n\t\t\tInstanceArn: pulumi.Any(exampleAwsSsoadminPermissionSet.InstanceArn),\n\t\t\tPermissionSetArn: pulumi.Any(exampleAwsSsoadminPermissionSet.Arn),\n\t\t\tPermissionsBoundary: \u0026ssoadmin.PermissionsBoundaryAttachmentPermissionsBoundaryArgs{\n\t\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/ReadOnlyAccess\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.PermissionsBoundaryAttachment;\nimport com.pulumi.aws.ssoadmin.PermissionsBoundaryAttachmentArgs;\nimport com.pulumi.aws.ssoadmin.inputs.PermissionsBoundaryAttachmentPermissionsBoundaryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new PermissionsBoundaryAttachment(\"example\", PermissionsBoundaryAttachmentArgs.builder()\n .instanceArn(exampleAwsSsoadminPermissionSet.instanceArn())\n .permissionSetArn(exampleAwsSsoadminPermissionSet.arn())\n .permissionsBoundary(PermissionsBoundaryAttachmentPermissionsBoundaryArgs.builder()\n .managedPolicyArn(\"arn:aws:iam::aws:policy/ReadOnlyAccess\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssoadmin:PermissionsBoundaryAttachment\n properties:\n instanceArn: ${exampleAwsSsoadminPermissionSet.instanceArn}\n permissionSetArn: ${exampleAwsSsoadminPermissionSet.arn}\n permissionsBoundary:\n managedPolicyArn: arn:aws:iam::aws:policy/ReadOnlyAccess\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Permissions Boundary Attachments using the `permission_set_arn` and `instance_arn`, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/permissionsBoundaryAttachment:PermissionsBoundaryAttachment example arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", + "description": "Attaches a permissions boundary policy to a Single Sign-On (SSO) Permission Set resource.\n\n\u003e **NOTE:** A permission set can have at most one permissions boundary attached; using more than one `aws.ssoadmin.PermissionsBoundaryAttachment` references the same permission set will show a permanent difference.\n\n## Example Usage\n\n### Attaching a customer-managed policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"TestPolicy\",\n description: \"My test policy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\nconst examplePermissionsBoundaryAttachment = new aws.ssoadmin.PermissionsBoundaryAttachment(\"example\", {\n instanceArn: examplePermissionSet.instanceArn,\n permissionSetArn: examplePermissionSet.arn,\n permissionsBoundary: {\n customerManagedPolicyReference: {\n name: examplePolicy.name,\n path: \"/\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"TestPolicy\",\n description=\"My test policy\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\nexample_permissions_boundary_attachment = aws.ssoadmin.PermissionsBoundaryAttachment(\"example\",\n instance_arn=example_permission_set.instance_arn,\n permission_set_arn=example_permission_set.arn,\n permissions_boundary={\n \"customer_managed_policy_reference\": {\n \"name\": example_policy.name,\n \"path\": \"/\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"TestPolicy\",\n Description = \"My test policy\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var examplePermissionsBoundaryAttachment = new Aws.SsoAdmin.PermissionsBoundaryAttachment(\"example\", new()\n {\n InstanceArn = examplePermissionSet.InstanceArn,\n PermissionSetArn = examplePermissionSet.Arn,\n PermissionsBoundary = new Aws.SsoAdmin.Inputs.PermissionsBoundaryAttachmentPermissionsBoundaryArgs\n {\n CustomerManagedPolicyReference = new Aws.SsoAdmin.Inputs.PermissionsBoundaryAttachmentPermissionsBoundaryCustomerManagedPolicyReferenceArgs\n {\n Name = examplePolicy.Name,\n Path = \"/\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson0 := string(tmpJSON0)\n\t\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"TestPolicy\"),\n\t\t\tDescription: pulumi.String(\"My test policy\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewPermissionsBoundaryAttachment(ctx, \"example\", \u0026ssoadmin.PermissionsBoundaryAttachmentArgs{\n\t\t\tInstanceArn: examplePermissionSet.InstanceArn,\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tPermissionsBoundary: \u0026ssoadmin.PermissionsBoundaryAttachmentPermissionsBoundaryArgs{\n\t\t\t\tCustomerManagedPolicyReference: \u0026ssoadmin.PermissionsBoundaryAttachmentPermissionsBoundaryCustomerManagedPolicyReferenceArgs{\n\t\t\t\t\tName: examplePolicy.Name,\n\t\t\t\t\tPath: pulumi.String(\"/\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.ssoadmin.PermissionsBoundaryAttachment;\nimport com.pulumi.aws.ssoadmin.PermissionsBoundaryAttachmentArgs;\nimport com.pulumi.aws.ssoadmin.inputs.PermissionsBoundaryAttachmentPermissionsBoundaryArgs;\nimport com.pulumi.aws.ssoadmin.inputs.PermissionsBoundaryAttachmentPermissionsBoundaryCustomerManagedPolicyReferenceArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"TestPolicy\")\n .description(\"My test policy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var examplePermissionsBoundaryAttachment = new PermissionsBoundaryAttachment(\"examplePermissionsBoundaryAttachment\", PermissionsBoundaryAttachmentArgs.builder()\n .instanceArn(examplePermissionSet.instanceArn())\n .permissionSetArn(examplePermissionSet.arn())\n .permissionsBoundary(PermissionsBoundaryAttachmentPermissionsBoundaryArgs.builder()\n .customerManagedPolicyReference(PermissionsBoundaryAttachmentPermissionsBoundaryCustomerManagedPolicyReferenceArgs.builder()\n .name(examplePolicy.name())\n .path(\"/\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: TestPolicy\n description: My test policy\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n examplePermissionsBoundaryAttachment:\n type: aws:ssoadmin:PermissionsBoundaryAttachment\n name: example\n properties:\n instanceArn: ${examplePermissionSet.instanceArn}\n permissionSetArn: ${examplePermissionSet.arn}\n permissionsBoundary:\n customerManagedPolicyReference:\n name: ${examplePolicy.name}\n path: /\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Attaching an AWS-managed policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssoadmin.PermissionsBoundaryAttachment(\"example\", {\n instanceArn: exampleAwsSsoadminPermissionSet.instanceArn,\n permissionSetArn: exampleAwsSsoadminPermissionSet.arn,\n permissionsBoundary: {\n managedPolicyArn: \"arn:aws:iam::aws:policy/ReadOnlyAccess\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.PermissionsBoundaryAttachment(\"example\",\n instance_arn=example_aws_ssoadmin_permission_set[\"instanceArn\"],\n permission_set_arn=example_aws_ssoadmin_permission_set[\"arn\"],\n permissions_boundary={\n \"managed_policy_arn\": \"arn:aws:iam::aws:policy/ReadOnlyAccess\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsoAdmin.PermissionsBoundaryAttachment(\"example\", new()\n {\n InstanceArn = exampleAwsSsoadminPermissionSet.InstanceArn,\n PermissionSetArn = exampleAwsSsoadminPermissionSet.Arn,\n PermissionsBoundary = new Aws.SsoAdmin.Inputs.PermissionsBoundaryAttachmentPermissionsBoundaryArgs\n {\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/ReadOnlyAccess\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\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 := ssoadmin.NewPermissionsBoundaryAttachment(ctx, \"example\", \u0026ssoadmin.PermissionsBoundaryAttachmentArgs{\n\t\t\tInstanceArn: pulumi.Any(exampleAwsSsoadminPermissionSet.InstanceArn),\n\t\t\tPermissionSetArn: pulumi.Any(exampleAwsSsoadminPermissionSet.Arn),\n\t\t\tPermissionsBoundary: \u0026ssoadmin.PermissionsBoundaryAttachmentPermissionsBoundaryArgs{\n\t\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/ReadOnlyAccess\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.PermissionsBoundaryAttachment;\nimport com.pulumi.aws.ssoadmin.PermissionsBoundaryAttachmentArgs;\nimport com.pulumi.aws.ssoadmin.inputs.PermissionsBoundaryAttachmentPermissionsBoundaryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new PermissionsBoundaryAttachment(\"example\", PermissionsBoundaryAttachmentArgs.builder()\n .instanceArn(exampleAwsSsoadminPermissionSet.instanceArn())\n .permissionSetArn(exampleAwsSsoadminPermissionSet.arn())\n .permissionsBoundary(PermissionsBoundaryAttachmentPermissionsBoundaryArgs.builder()\n .managedPolicyArn(\"arn:aws:iam::aws:policy/ReadOnlyAccess\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssoadmin:PermissionsBoundaryAttachment\n properties:\n instanceArn: ${exampleAwsSsoadminPermissionSet.instanceArn}\n permissionSetArn: ${exampleAwsSsoadminPermissionSet.arn}\n permissionsBoundary:\n managedPolicyArn: arn:aws:iam::aws:policy/ReadOnlyAccess\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Permissions Boundary Attachments using the `permission_set_arn` and `instance_arn`, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/permissionsBoundaryAttachment:PermissionsBoundaryAttachment example arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", "properties": { "instanceArn": { "type": "string", @@ -369489,7 +369489,7 @@ } }, "aws:ssoadmin/trustedTokenIssuer:TrustedTokenIssuer": { - "description": "Resource for managing an AWS SSO Admin Trusted Token Issuer.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleTrustedTokenIssuer = new aws.ssoadmin.TrustedTokenIssuer(\"example\", {\n name: \"example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n trustedTokenIssuerType: \"OIDC_JWT\",\n trustedTokenIssuerConfiguration: {\n oidcJwtConfiguration: {\n claimAttributePath: \"email\",\n identityStoreAttributePath: \"emails.value\",\n issuerUrl: \"https://example.com\",\n jwksRetrievalOption: \"OPEN_ID_DISCOVERY\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_trusted_token_issuer = aws.ssoadmin.TrustedTokenIssuer(\"example\",\n name=\"example\",\n instance_arn=example.arns[0],\n trusted_token_issuer_type=\"OIDC_JWT\",\n trusted_token_issuer_configuration={\n \"oidc_jwt_configuration\": {\n \"claim_attribute_path\": \"email\",\n \"identity_store_attribute_path\": \"emails.value\",\n \"issuer_url\": \"https://example.com\",\n \"jwks_retrieval_option\": \"OPEN_ID_DISCOVERY\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleTrustedTokenIssuer = new Aws.SsoAdmin.TrustedTokenIssuer(\"example\", new()\n {\n Name = \"example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n TrustedTokenIssuerType = \"OIDC_JWT\",\n TrustedTokenIssuerConfiguration = new Aws.SsoAdmin.Inputs.TrustedTokenIssuerTrustedTokenIssuerConfigurationArgs\n {\n OidcJwtConfiguration = new Aws.SsoAdmin.Inputs.TrustedTokenIssuerTrustedTokenIssuerConfigurationOidcJwtConfigurationArgs\n {\n ClaimAttributePath = \"email\",\n IdentityStoreAttributePath = \"emails.value\",\n IssuerUrl = \"https://example.com\",\n JwksRetrievalOption = \"OPEN_ID_DISCOVERY\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewTrustedTokenIssuer(ctx, \"example\", \u0026ssoadmin.TrustedTokenIssuerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tTrustedTokenIssuerType: pulumi.String(\"OIDC_JWT\"),\n\t\t\tTrustedTokenIssuerConfiguration: \u0026ssoadmin.TrustedTokenIssuerTrustedTokenIssuerConfigurationArgs{\n\t\t\t\tOidcJwtConfiguration: \u0026ssoadmin.TrustedTokenIssuerTrustedTokenIssuerConfigurationOidcJwtConfigurationArgs{\n\t\t\t\t\tClaimAttributePath: pulumi.String(\"email\"),\n\t\t\t\t\tIdentityStoreAttributePath: pulumi.String(\"emails.value\"),\n\t\t\t\t\tIssuerUrl: pulumi.String(\"https://example.com\"),\n\t\t\t\t\tJwksRetrievalOption: pulumi.String(\"OPEN_ID_DISCOVERY\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.TrustedTokenIssuer;\nimport com.pulumi.aws.ssoadmin.TrustedTokenIssuerArgs;\nimport com.pulumi.aws.ssoadmin.inputs.TrustedTokenIssuerTrustedTokenIssuerConfigurationArgs;\nimport com.pulumi.aws.ssoadmin.inputs.TrustedTokenIssuerTrustedTokenIssuerConfigurationOidcJwtConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var exampleTrustedTokenIssuer = new TrustedTokenIssuer(\"exampleTrustedTokenIssuer\", TrustedTokenIssuerArgs.builder()\n .name(\"example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .trustedTokenIssuerType(\"OIDC_JWT\")\n .trustedTokenIssuerConfiguration(TrustedTokenIssuerTrustedTokenIssuerConfigurationArgs.builder()\n .oidcJwtConfiguration(TrustedTokenIssuerTrustedTokenIssuerConfigurationOidcJwtConfigurationArgs.builder()\n .claimAttributePath(\"email\")\n .identityStoreAttributePath(\"emails.value\")\n .issuerUrl(\"https://example.com\")\n .jwksRetrievalOption(\"OPEN_ID_DISCOVERY\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTrustedTokenIssuer:\n type: aws:ssoadmin:TrustedTokenIssuer\n name: example\n properties:\n name: example\n instanceArn: ${example.arns[0]}\n trustedTokenIssuerType: OIDC_JWT\n trustedTokenIssuerConfiguration:\n oidcJwtConfiguration:\n claimAttributePath: email\n identityStoreAttributePath: emails.value\n issuerUrl: https://example.com\n jwksRetrievalOption: OPEN_ID_DISCOVERY\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Trusted Token Issuer using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/trustedTokenIssuer:TrustedTokenIssuer example arn:aws:sso::123456789012:trustedTokenIssuer/ssoins-lu1ye3gew4mbc7ju/tti-2657c556-9707-11ee-b9d1-0242ac120002\n```\n", + "description": "Resource for managing an AWS SSO Admin Trusted Token Issuer.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleTrustedTokenIssuer = new aws.ssoadmin.TrustedTokenIssuer(\"example\", {\n name: \"example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n trustedTokenIssuerType: \"OIDC_JWT\",\n trustedTokenIssuerConfiguration: {\n oidcJwtConfiguration: {\n claimAttributePath: \"email\",\n identityStoreAttributePath: \"emails.value\",\n issuerUrl: \"https://example.com\",\n jwksRetrievalOption: \"OPEN_ID_DISCOVERY\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_trusted_token_issuer = aws.ssoadmin.TrustedTokenIssuer(\"example\",\n name=\"example\",\n instance_arn=example.arns[0],\n trusted_token_issuer_type=\"OIDC_JWT\",\n trusted_token_issuer_configuration={\n \"oidc_jwt_configuration\": {\n \"claim_attribute_path\": \"email\",\n \"identity_store_attribute_path\": \"emails.value\",\n \"issuer_url\": \"https://example.com\",\n \"jwks_retrieval_option\": \"OPEN_ID_DISCOVERY\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleTrustedTokenIssuer = new Aws.SsoAdmin.TrustedTokenIssuer(\"example\", new()\n {\n Name = \"example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n TrustedTokenIssuerType = \"OIDC_JWT\",\n TrustedTokenIssuerConfiguration = new Aws.SsoAdmin.Inputs.TrustedTokenIssuerTrustedTokenIssuerConfigurationArgs\n {\n OidcJwtConfiguration = new Aws.SsoAdmin.Inputs.TrustedTokenIssuerTrustedTokenIssuerConfigurationOidcJwtConfigurationArgs\n {\n ClaimAttributePath = \"email\",\n IdentityStoreAttributePath = \"emails.value\",\n IssuerUrl = \"https://example.com\",\n JwksRetrievalOption = \"OPEN_ID_DISCOVERY\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewTrustedTokenIssuer(ctx, \"example\", \u0026ssoadmin.TrustedTokenIssuerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tTrustedTokenIssuerType: pulumi.String(\"OIDC_JWT\"),\n\t\t\tTrustedTokenIssuerConfiguration: \u0026ssoadmin.TrustedTokenIssuerTrustedTokenIssuerConfigurationArgs{\n\t\t\t\tOidcJwtConfiguration: \u0026ssoadmin.TrustedTokenIssuerTrustedTokenIssuerConfigurationOidcJwtConfigurationArgs{\n\t\t\t\t\tClaimAttributePath: pulumi.String(\"email\"),\n\t\t\t\t\tIdentityStoreAttributePath: pulumi.String(\"emails.value\"),\n\t\t\t\t\tIssuerUrl: pulumi.String(\"https://example.com\"),\n\t\t\t\t\tJwksRetrievalOption: pulumi.String(\"OPEN_ID_DISCOVERY\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.TrustedTokenIssuer;\nimport com.pulumi.aws.ssoadmin.TrustedTokenIssuerArgs;\nimport com.pulumi.aws.ssoadmin.inputs.TrustedTokenIssuerTrustedTokenIssuerConfigurationArgs;\nimport com.pulumi.aws.ssoadmin.inputs.TrustedTokenIssuerTrustedTokenIssuerConfigurationOidcJwtConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var exampleTrustedTokenIssuer = new TrustedTokenIssuer(\"exampleTrustedTokenIssuer\", TrustedTokenIssuerArgs.builder()\n .name(\"example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .trustedTokenIssuerType(\"OIDC_JWT\")\n .trustedTokenIssuerConfiguration(TrustedTokenIssuerTrustedTokenIssuerConfigurationArgs.builder()\n .oidcJwtConfiguration(TrustedTokenIssuerTrustedTokenIssuerConfigurationOidcJwtConfigurationArgs.builder()\n .claimAttributePath(\"email\")\n .identityStoreAttributePath(\"emails.value\")\n .issuerUrl(\"https://example.com\")\n .jwksRetrievalOption(\"OPEN_ID_DISCOVERY\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTrustedTokenIssuer:\n type: aws:ssoadmin:TrustedTokenIssuer\n name: example\n properties:\n name: example\n instanceArn: ${example.arns[0]}\n trustedTokenIssuerType: OIDC_JWT\n trustedTokenIssuerConfiguration:\n oidcJwtConfiguration:\n claimAttributePath: email\n identityStoreAttributePath: emails.value\n issuerUrl: https://example.com\n jwksRetrievalOption: OPEN_ID_DISCOVERY\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Trusted Token Issuer using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/trustedTokenIssuer:TrustedTokenIssuer example arn:aws:sso::123456789012:trustedTokenIssuer/ssoins-lu1ye3gew4mbc7ju/tti-2657c556-9707-11ee-b9d1-0242ac120002\n```\n", "properties": { "arn": { "type": "string", @@ -369905,7 +369905,7 @@ } }, "aws:storagegateway/fileSystemAssociation:FileSystemAssociation": { - "description": "Associate an Amazon FSx file system with the FSx File Gateway. After the association process is complete, the file shares on the Amazon FSx file system are available for access through the gateway. This operation only supports the FSx File Gateway type.\n\n[FSx File Gateway requirements](https://docs.aws.amazon.com/filegateway/latest/filefsxw/Requirements.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.FileSystemAssociation(\"example\", {\n gatewayArn: exampleAwsStoragegatewayGateway.arn,\n locationArn: exampleAwsFsxWindowsFileSystem.arn,\n username: \"Admin\",\n password: \"avoid-plaintext-passwords\",\n auditDestinationArn: exampleAwsS3Bucket.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.FileSystemAssociation(\"example\",\n gateway_arn=example_aws_storagegateway_gateway[\"arn\"],\n location_arn=example_aws_fsx_windows_file_system[\"arn\"],\n username=\"Admin\",\n password=\"avoid-plaintext-passwords\",\n audit_destination_arn=example_aws_s3_bucket[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.FileSystemAssociation(\"example\", new()\n {\n GatewayArn = exampleAwsStoragegatewayGateway.Arn,\n LocationArn = exampleAwsFsxWindowsFileSystem.Arn,\n Username = \"Admin\",\n Password = \"avoid-plaintext-passwords\",\n AuditDestinationArn = exampleAwsS3Bucket.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\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 := storagegateway.NewFileSystemAssociation(ctx, \"example\", \u0026storagegateway.FileSystemAssociationArgs{\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn),\n\t\t\tLocationArn: pulumi.Any(exampleAwsFsxWindowsFileSystem.Arn),\n\t\t\tUsername: pulumi.String(\"Admin\"),\n\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\tAuditDestinationArn: pulumi.Any(exampleAwsS3Bucket.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.FileSystemAssociation;\nimport com.pulumi.aws.storagegateway.FileSystemAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new FileSystemAssociation(\"example\", FileSystemAssociationArgs.builder()\n .gatewayArn(exampleAwsStoragegatewayGateway.arn())\n .locationArn(exampleAwsFsxWindowsFileSystem.arn())\n .username(\"Admin\")\n .password(\"avoid-plaintext-passwords\")\n .auditDestinationArn(exampleAwsS3Bucket.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:FileSystemAssociation\n properties:\n gatewayArn: ${exampleAwsStoragegatewayGateway.arn}\n locationArn: ${exampleAwsFsxWindowsFileSystem.arn}\n username: Admin\n password: avoid-plaintext-passwords\n auditDestinationArn: ${exampleAwsS3Bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Required Services Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst awsServiceStoragegatewayAmiFILES3Latest = aws.ssm.getParameter({\n name: \"/aws/service/storagegateway/ami/FILE_S3/latest\",\n});\nconst test = new aws.ec2.Instance(\"test\", {\n ami: awsServiceStoragegatewayAmiFILES3Latest.then(awsServiceStoragegatewayAmiFILES3Latest =\u003e awsServiceStoragegatewayAmiFILES3Latest.value),\n associatePublicIpAddress: true,\n instanceType: aws.ec2.InstanceType[available.instanceType],\n vpcSecurityGroupIds: [testAwsSecurityGroup.id],\n subnetId: testAwsSubnet[0].id,\n}, {\n dependsOn: [\n testAwsRoute,\n testAwsVpcDhcpOptionsAssociation,\n ],\n});\nconst testGateway = new aws.storagegateway.Gateway(\"test\", {\n gatewayIpAddress: test.publicIp,\n gatewayName: \"test-sgw\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"FILE_FSX_SMB\",\n smbActiveDirectorySettings: {\n domainName: testAwsDirectoryServiceDirectory.name,\n password: testAwsDirectoryServiceDirectory.password,\n username: \"Admin\",\n },\n});\nconst testWindowsFileSystem = new aws.fsx.WindowsFileSystem(\"test\", {\n activeDirectoryId: testAwsDirectoryServiceDirectory.id,\n securityGroupIds: [testAwsSecurityGroup.id],\n skipFinalBackup: true,\n storageCapacity: 32,\n subnetIds: [testAwsSubnet[0].id],\n throughputCapacity: 8,\n});\nconst fsx = new aws.storagegateway.FileSystemAssociation(\"fsx\", {\n gatewayArn: testGateway.arn,\n locationArn: testWindowsFileSystem.arn,\n username: \"Admin\",\n password: testAwsDirectoryServiceDirectory.password,\n cacheAttributes: {\n cacheStaleTimeoutInSeconds: 400,\n },\n auditDestinationArn: testAwsCloudwatchLogGroup.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naws_service_storagegateway_ami_files3_latest = aws.ssm.get_parameter(name=\"/aws/service/storagegateway/ami/FILE_S3/latest\")\ntest = aws.ec2.Instance(\"test\",\n ami=aws_service_storagegateway_ami_files3_latest.value,\n associate_public_ip_address=True,\n instance_type=aws.ec2.InstanceType(available[\"instanceType\"]),\n vpc_security_group_ids=[test_aws_security_group[\"id\"]],\n subnet_id=test_aws_subnet[0][\"id\"],\n opts = pulumi.ResourceOptions(depends_on=[\n test_aws_route,\n test_aws_vpc_dhcp_options_association,\n ]))\ntest_gateway = aws.storagegateway.Gateway(\"test\",\n gateway_ip_address=test.public_ip,\n gateway_name=\"test-sgw\",\n gateway_timezone=\"GMT\",\n gateway_type=\"FILE_FSX_SMB\",\n smb_active_directory_settings={\n \"domain_name\": test_aws_directory_service_directory[\"name\"],\n \"password\": test_aws_directory_service_directory[\"password\"],\n \"username\": \"Admin\",\n })\ntest_windows_file_system = aws.fsx.WindowsFileSystem(\"test\",\n active_directory_id=test_aws_directory_service_directory[\"id\"],\n security_group_ids=[test_aws_security_group[\"id\"]],\n skip_final_backup=True,\n storage_capacity=32,\n subnet_ids=[test_aws_subnet[0][\"id\"]],\n throughput_capacity=8)\nfsx = aws.storagegateway.FileSystemAssociation(\"fsx\",\n gateway_arn=test_gateway.arn,\n location_arn=test_windows_file_system.arn,\n username=\"Admin\",\n password=test_aws_directory_service_directory[\"password\"],\n cache_attributes={\n \"cache_stale_timeout_in_seconds\": 400,\n },\n audit_destination_arn=test_aws_cloudwatch_log_group[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awsServiceStoragegatewayAmiFILES3Latest = Aws.Ssm.GetParameter.Invoke(new()\n {\n Name = \"/aws/service/storagegateway/ami/FILE_S3/latest\",\n });\n\n var test = new Aws.Ec2.Instance(\"test\", new()\n {\n Ami = awsServiceStoragegatewayAmiFILES3Latest.Apply(getParameterResult =\u003e getParameterResult.Value),\n AssociatePublicIpAddress = true,\n InstanceType = System.Enum.Parse\u003cAws.Ec2.InstanceType\u003e(available.InstanceType),\n VpcSecurityGroupIds = new[]\n {\n testAwsSecurityGroup.Id,\n },\n SubnetId = testAwsSubnet[0].Id,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testAwsRoute,\n testAwsVpcDhcpOptionsAssociation,\n },\n });\n\n var testGateway = new Aws.StorageGateway.Gateway(\"test\", new()\n {\n GatewayIpAddress = test.PublicIp,\n GatewayName = \"test-sgw\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"FILE_FSX_SMB\",\n SmbActiveDirectorySettings = new Aws.StorageGateway.Inputs.GatewaySmbActiveDirectorySettingsArgs\n {\n DomainName = testAwsDirectoryServiceDirectory.Name,\n Password = testAwsDirectoryServiceDirectory.Password,\n Username = \"Admin\",\n },\n });\n\n var testWindowsFileSystem = new Aws.Fsx.WindowsFileSystem(\"test\", new()\n {\n ActiveDirectoryId = testAwsDirectoryServiceDirectory.Id,\n SecurityGroupIds = new[]\n {\n testAwsSecurityGroup.Id,\n },\n SkipFinalBackup = true,\n StorageCapacity = 32,\n SubnetIds = new[]\n {\n testAwsSubnet[0].Id,\n },\n ThroughputCapacity = 8,\n });\n\n var fsx = new Aws.StorageGateway.FileSystemAssociation(\"fsx\", new()\n {\n GatewayArn = testGateway.Arn,\n LocationArn = testWindowsFileSystem.Arn,\n Username = \"Admin\",\n Password = testAwsDirectoryServiceDirectory.Password,\n CacheAttributes = new Aws.StorageGateway.Inputs.FileSystemAssociationCacheAttributesArgs\n {\n CacheStaleTimeoutInSeconds = 400,\n },\n AuditDestinationArn = testAwsCloudwatchLogGroup.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawsServiceStoragegatewayAmiFILES3Latest, err := ssm.LookupParameter(ctx, \u0026ssm.LookupParameterArgs{\n\t\t\tName: \"/aws/service/storagegateway/ami/FILE_S3/latest\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := ec2.NewInstance(ctx, \"test\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(awsServiceStoragegatewayAmiFILES3Latest.Value),\n\t\t\tAssociatePublicIpAddress: pulumi.Bool(true),\n\t\t\tInstanceType: ec2.InstanceType(available.InstanceType),\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\ttestAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tSubnetId: pulumi.Any(testAwsSubnet[0].Id),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAwsRoute,\n\t\t\ttestAwsVpcDhcpOptionsAssociation,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestGateway, err := storagegateway.NewGateway(ctx, \"test\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: test.PublicIp,\n\t\t\tGatewayName: pulumi.String(\"test-sgw\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"FILE_FSX_SMB\"),\n\t\t\tSmbActiveDirectorySettings: \u0026storagegateway.GatewaySmbActiveDirectorySettingsArgs{\n\t\t\t\tDomainName: pulumi.Any(testAwsDirectoryServiceDirectory.Name),\n\t\t\t\tPassword: pulumi.Any(testAwsDirectoryServiceDirectory.Password),\n\t\t\t\tUsername: pulumi.String(\"Admin\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestWindowsFileSystem, err := fsx.NewWindowsFileSystem(ctx, \"test\", \u0026fsx.WindowsFileSystemArgs{\n\t\t\tActiveDirectoryId: pulumi.Any(testAwsDirectoryServiceDirectory.Id),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\ttestAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tSkipFinalBackup: pulumi.Bool(true),\n\t\t\tStorageCapacity: pulumi.Int(32),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\ttestAwsSubnet[0].Id,\n\t\t\t},\n\t\t\tThroughputCapacity: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storagegateway.NewFileSystemAssociation(ctx, \"fsx\", \u0026storagegateway.FileSystemAssociationArgs{\n\t\t\tGatewayArn: testGateway.Arn,\n\t\t\tLocationArn: testWindowsFileSystem.Arn,\n\t\t\tUsername: pulumi.String(\"Admin\"),\n\t\t\tPassword: pulumi.Any(testAwsDirectoryServiceDirectory.Password),\n\t\t\tCacheAttributes: \u0026storagegateway.FileSystemAssociationCacheAttributesArgs{\n\t\t\t\tCacheStaleTimeoutInSeconds: pulumi.Int(400),\n\t\t\t},\n\t\t\tAuditDestinationArn: pulumi.Any(testAwsCloudwatchLogGroup.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetParameterArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport com.pulumi.aws.storagegateway.inputs.GatewaySmbActiveDirectorySettingsArgs;\nimport com.pulumi.aws.fsx.WindowsFileSystem;\nimport com.pulumi.aws.fsx.WindowsFileSystemArgs;\nimport com.pulumi.aws.storagegateway.FileSystemAssociation;\nimport com.pulumi.aws.storagegateway.FileSystemAssociationArgs;\nimport com.pulumi.aws.storagegateway.inputs.FileSystemAssociationCacheAttributesArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var awsServiceStoragegatewayAmiFILES3Latest = SsmFunctions.getParameter(GetParameterArgs.builder()\n .name(\"/aws/service/storagegateway/ami/FILE_S3/latest\")\n .build());\n\n var test = new Instance(\"test\", InstanceArgs.builder()\n .ami(awsServiceStoragegatewayAmiFILES3Latest.applyValue(getParameterResult -\u003e getParameterResult.value()))\n .associatePublicIpAddress(true)\n .instanceType(available.instanceType())\n .vpcSecurityGroupIds(testAwsSecurityGroup.id())\n .subnetId(testAwsSubnet[0].id())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n testAwsRoute,\n testAwsVpcDhcpOptionsAssociation)\n .build());\n\n var testGateway = new Gateway(\"testGateway\", GatewayArgs.builder()\n .gatewayIpAddress(test.publicIp())\n .gatewayName(\"test-sgw\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"FILE_FSX_SMB\")\n .smbActiveDirectorySettings(GatewaySmbActiveDirectorySettingsArgs.builder()\n .domainName(testAwsDirectoryServiceDirectory.name())\n .password(testAwsDirectoryServiceDirectory.password())\n .username(\"Admin\")\n .build())\n .build());\n\n var testWindowsFileSystem = new WindowsFileSystem(\"testWindowsFileSystem\", WindowsFileSystemArgs.builder()\n .activeDirectoryId(testAwsDirectoryServiceDirectory.id())\n .securityGroupIds(testAwsSecurityGroup.id())\n .skipFinalBackup(true)\n .storageCapacity(32)\n .subnetIds(testAwsSubnet[0].id())\n .throughputCapacity(8)\n .build());\n\n var fsx = new FileSystemAssociation(\"fsx\", FileSystemAssociationArgs.builder()\n .gatewayArn(testGateway.arn())\n .locationArn(testWindowsFileSystem.arn())\n .username(\"Admin\")\n .password(testAwsDirectoryServiceDirectory.password())\n .cacheAttributes(FileSystemAssociationCacheAttributesArgs.builder()\n .cacheStaleTimeoutInSeconds(400)\n .build())\n .auditDestinationArn(testAwsCloudwatchLogGroup.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:Instance\n properties:\n ami: ${awsServiceStoragegatewayAmiFILES3Latest.value}\n associatePublicIpAddress: true\n instanceType: ${available.instanceType}\n vpcSecurityGroupIds:\n - ${testAwsSecurityGroup.id}\n subnetId: ${testAwsSubnet[0].id}\n options:\n dependsOn:\n - ${testAwsRoute}\n - ${testAwsVpcDhcpOptionsAssociation}\n testGateway:\n type: aws:storagegateway:Gateway\n name: test\n properties:\n gatewayIpAddress: ${test.publicIp}\n gatewayName: test-sgw\n gatewayTimezone: GMT\n gatewayType: FILE_FSX_SMB\n smbActiveDirectorySettings:\n domainName: ${testAwsDirectoryServiceDirectory.name}\n password: ${testAwsDirectoryServiceDirectory.password}\n username: Admin\n testWindowsFileSystem:\n type: aws:fsx:WindowsFileSystem\n name: test\n properties:\n activeDirectoryId: ${testAwsDirectoryServiceDirectory.id}\n securityGroupIds:\n - ${testAwsSecurityGroup.id}\n skipFinalBackup: true\n storageCapacity: 32\n subnetIds:\n - ${testAwsSubnet[0].id}\n throughputCapacity: 8\n fsx:\n type: aws:storagegateway:FileSystemAssociation\n properties:\n gatewayArn: ${testGateway.arn}\n locationArn: ${testWindowsFileSystem.arn}\n username: Admin\n password: ${testAwsDirectoryServiceDirectory.password}\n cacheAttributes:\n cacheStaleTimeoutInSeconds: 400\n auditDestinationArn: ${testAwsCloudwatchLogGroup.arn}\nvariables:\n awsServiceStoragegatewayAmiFILES3Latest:\n fn::invoke:\n function: aws:ssm:getParameter\n arguments:\n name: /aws/service/storagegateway/ami/FILE_S3/latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_file_system_association` using the FSx file system association Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:storagegateway/fileSystemAssociation:FileSystemAssociation example arn:aws:storagegateway:us-east-1:123456789012:fs-association/fsa-0DA347732FDB40125\n```\n", + "description": "Associate an Amazon FSx file system with the FSx File Gateway. After the association process is complete, the file shares on the Amazon FSx file system are available for access through the gateway. This operation only supports the FSx File Gateway type.\n\n[FSx File Gateway requirements](https://docs.aws.amazon.com/filegateway/latest/filefsxw/Requirements.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.FileSystemAssociation(\"example\", {\n gatewayArn: exampleAwsStoragegatewayGateway.arn,\n locationArn: exampleAwsFsxWindowsFileSystem.arn,\n username: \"Admin\",\n password: \"avoid-plaintext-passwords\",\n auditDestinationArn: exampleAwsS3Bucket.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.FileSystemAssociation(\"example\",\n gateway_arn=example_aws_storagegateway_gateway[\"arn\"],\n location_arn=example_aws_fsx_windows_file_system[\"arn\"],\n username=\"Admin\",\n password=\"avoid-plaintext-passwords\",\n audit_destination_arn=example_aws_s3_bucket[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.FileSystemAssociation(\"example\", new()\n {\n GatewayArn = exampleAwsStoragegatewayGateway.Arn,\n LocationArn = exampleAwsFsxWindowsFileSystem.Arn,\n Username = \"Admin\",\n Password = \"avoid-plaintext-passwords\",\n AuditDestinationArn = exampleAwsS3Bucket.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\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 := storagegateway.NewFileSystemAssociation(ctx, \"example\", \u0026storagegateway.FileSystemAssociationArgs{\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn),\n\t\t\tLocationArn: pulumi.Any(exampleAwsFsxWindowsFileSystem.Arn),\n\t\t\tUsername: pulumi.String(\"Admin\"),\n\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\tAuditDestinationArn: pulumi.Any(exampleAwsS3Bucket.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.FileSystemAssociation;\nimport com.pulumi.aws.storagegateway.FileSystemAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new FileSystemAssociation(\"example\", FileSystemAssociationArgs.builder()\n .gatewayArn(exampleAwsStoragegatewayGateway.arn())\n .locationArn(exampleAwsFsxWindowsFileSystem.arn())\n .username(\"Admin\")\n .password(\"avoid-plaintext-passwords\")\n .auditDestinationArn(exampleAwsS3Bucket.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:FileSystemAssociation\n properties:\n gatewayArn: ${exampleAwsStoragegatewayGateway.arn}\n locationArn: ${exampleAwsFsxWindowsFileSystem.arn}\n username: Admin\n password: avoid-plaintext-passwords\n auditDestinationArn: ${exampleAwsS3Bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Required Services Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst awsServiceStoragegatewayAmiFILES3Latest = aws.ssm.getParameter({\n name: \"/aws/service/storagegateway/ami/FILE_S3/latest\",\n});\nconst test = new aws.ec2.Instance(\"test\", {\n ami: awsServiceStoragegatewayAmiFILES3Latest.then(awsServiceStoragegatewayAmiFILES3Latest =\u003e awsServiceStoragegatewayAmiFILES3Latest.value),\n associatePublicIpAddress: true,\n instanceType: aws.ec2.InstanceType[available.instanceType],\n vpcSecurityGroupIds: [testAwsSecurityGroup.id],\n subnetId: testAwsSubnet[0].id,\n}, {\n dependsOn: [\n testAwsRoute,\n testAwsVpcDhcpOptionsAssociation,\n ],\n});\nconst testGateway = new aws.storagegateway.Gateway(\"test\", {\n gatewayIpAddress: test.publicIp,\n gatewayName: \"test-sgw\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"FILE_FSX_SMB\",\n smbActiveDirectorySettings: {\n domainName: testAwsDirectoryServiceDirectory.name,\n password: testAwsDirectoryServiceDirectory.password,\n username: \"Admin\",\n },\n});\nconst testWindowsFileSystem = new aws.fsx.WindowsFileSystem(\"test\", {\n activeDirectoryId: testAwsDirectoryServiceDirectory.id,\n securityGroupIds: [testAwsSecurityGroup.id],\n skipFinalBackup: true,\n storageCapacity: 32,\n subnetIds: [testAwsSubnet[0].id],\n throughputCapacity: 8,\n});\nconst fsx = new aws.storagegateway.FileSystemAssociation(\"fsx\", {\n gatewayArn: testGateway.arn,\n locationArn: testWindowsFileSystem.arn,\n username: \"Admin\",\n password: testAwsDirectoryServiceDirectory.password,\n cacheAttributes: {\n cacheStaleTimeoutInSeconds: 400,\n },\n auditDestinationArn: testAwsCloudwatchLogGroup.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naws_service_storagegateway_ami_files3_latest = aws.ssm.get_parameter(name=\"/aws/service/storagegateway/ami/FILE_S3/latest\")\ntest = aws.ec2.Instance(\"test\",\n ami=aws_service_storagegateway_ami_files3_latest.value,\n associate_public_ip_address=True,\n instance_type=aws.ec2.InstanceType(available[\"instanceType\"]),\n vpc_security_group_ids=[test_aws_security_group[\"id\"]],\n subnet_id=test_aws_subnet[0][\"id\"],\n opts = pulumi.ResourceOptions(depends_on=[\n test_aws_route,\n test_aws_vpc_dhcp_options_association,\n ]))\ntest_gateway = aws.storagegateway.Gateway(\"test\",\n gateway_ip_address=test.public_ip,\n gateway_name=\"test-sgw\",\n gateway_timezone=\"GMT\",\n gateway_type=\"FILE_FSX_SMB\",\n smb_active_directory_settings={\n \"domain_name\": test_aws_directory_service_directory[\"name\"],\n \"password\": test_aws_directory_service_directory[\"password\"],\n \"username\": \"Admin\",\n })\ntest_windows_file_system = aws.fsx.WindowsFileSystem(\"test\",\n active_directory_id=test_aws_directory_service_directory[\"id\"],\n security_group_ids=[test_aws_security_group[\"id\"]],\n skip_final_backup=True,\n storage_capacity=32,\n subnet_ids=[test_aws_subnet[0][\"id\"]],\n throughput_capacity=8)\nfsx = aws.storagegateway.FileSystemAssociation(\"fsx\",\n gateway_arn=test_gateway.arn,\n location_arn=test_windows_file_system.arn,\n username=\"Admin\",\n password=test_aws_directory_service_directory[\"password\"],\n cache_attributes={\n \"cache_stale_timeout_in_seconds\": 400,\n },\n audit_destination_arn=test_aws_cloudwatch_log_group[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awsServiceStoragegatewayAmiFILES3Latest = Aws.Ssm.GetParameter.Invoke(new()\n {\n Name = \"/aws/service/storagegateway/ami/FILE_S3/latest\",\n });\n\n var test = new Aws.Ec2.Instance(\"test\", new()\n {\n Ami = awsServiceStoragegatewayAmiFILES3Latest.Apply(getParameterResult =\u003e getParameterResult.Value),\n AssociatePublicIpAddress = true,\n InstanceType = System.Enum.Parse\u003cAws.Ec2.InstanceType\u003e(available.InstanceType),\n VpcSecurityGroupIds = new[]\n {\n testAwsSecurityGroup.Id,\n },\n SubnetId = testAwsSubnet[0].Id,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testAwsRoute,\n testAwsVpcDhcpOptionsAssociation,\n },\n });\n\n var testGateway = new Aws.StorageGateway.Gateway(\"test\", new()\n {\n GatewayIpAddress = test.PublicIp,\n GatewayName = \"test-sgw\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"FILE_FSX_SMB\",\n SmbActiveDirectorySettings = new Aws.StorageGateway.Inputs.GatewaySmbActiveDirectorySettingsArgs\n {\n DomainName = testAwsDirectoryServiceDirectory.Name,\n Password = testAwsDirectoryServiceDirectory.Password,\n Username = \"Admin\",\n },\n });\n\n var testWindowsFileSystem = new Aws.Fsx.WindowsFileSystem(\"test\", new()\n {\n ActiveDirectoryId = testAwsDirectoryServiceDirectory.Id,\n SecurityGroupIds = new[]\n {\n testAwsSecurityGroup.Id,\n },\n SkipFinalBackup = true,\n StorageCapacity = 32,\n SubnetIds = new[]\n {\n testAwsSubnet[0].Id,\n },\n ThroughputCapacity = 8,\n });\n\n var fsx = new Aws.StorageGateway.FileSystemAssociation(\"fsx\", new()\n {\n GatewayArn = testGateway.Arn,\n LocationArn = testWindowsFileSystem.Arn,\n Username = \"Admin\",\n Password = testAwsDirectoryServiceDirectory.Password,\n CacheAttributes = new Aws.StorageGateway.Inputs.FileSystemAssociationCacheAttributesArgs\n {\n CacheStaleTimeoutInSeconds = 400,\n },\n AuditDestinationArn = testAwsCloudwatchLogGroup.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawsServiceStoragegatewayAmiFILES3Latest, err := ssm.LookupParameter(ctx, \u0026ssm.LookupParameterArgs{\n\t\t\tName: \"/aws/service/storagegateway/ami/FILE_S3/latest\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := ec2.NewInstance(ctx, \"test\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(awsServiceStoragegatewayAmiFILES3Latest.Value),\n\t\t\tAssociatePublicIpAddress: pulumi.Bool(true),\n\t\t\tInstanceType: ec2.InstanceType(available.InstanceType),\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\ttestAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tSubnetId: pulumi.Any(testAwsSubnet[0].Id),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAwsRoute,\n\t\t\ttestAwsVpcDhcpOptionsAssociation,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestGateway, err := storagegateway.NewGateway(ctx, \"test\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: test.PublicIp,\n\t\t\tGatewayName: pulumi.String(\"test-sgw\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"FILE_FSX_SMB\"),\n\t\t\tSmbActiveDirectorySettings: \u0026storagegateway.GatewaySmbActiveDirectorySettingsArgs{\n\t\t\t\tDomainName: pulumi.Any(testAwsDirectoryServiceDirectory.Name),\n\t\t\t\tPassword: pulumi.Any(testAwsDirectoryServiceDirectory.Password),\n\t\t\t\tUsername: pulumi.String(\"Admin\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestWindowsFileSystem, err := fsx.NewWindowsFileSystem(ctx, \"test\", \u0026fsx.WindowsFileSystemArgs{\n\t\t\tActiveDirectoryId: pulumi.Any(testAwsDirectoryServiceDirectory.Id),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\ttestAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tSkipFinalBackup: pulumi.Bool(true),\n\t\t\tStorageCapacity: pulumi.Int(32),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\ttestAwsSubnet[0].Id,\n\t\t\t},\n\t\t\tThroughputCapacity: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storagegateway.NewFileSystemAssociation(ctx, \"fsx\", \u0026storagegateway.FileSystemAssociationArgs{\n\t\t\tGatewayArn: testGateway.Arn,\n\t\t\tLocationArn: testWindowsFileSystem.Arn,\n\t\t\tUsername: pulumi.String(\"Admin\"),\n\t\t\tPassword: pulumi.Any(testAwsDirectoryServiceDirectory.Password),\n\t\t\tCacheAttributes: \u0026storagegateway.FileSystemAssociationCacheAttributesArgs{\n\t\t\t\tCacheStaleTimeoutInSeconds: pulumi.Int(400),\n\t\t\t},\n\t\t\tAuditDestinationArn: pulumi.Any(testAwsCloudwatchLogGroup.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetParameterArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport com.pulumi.aws.storagegateway.inputs.GatewaySmbActiveDirectorySettingsArgs;\nimport com.pulumi.aws.fsx.WindowsFileSystem;\nimport com.pulumi.aws.fsx.WindowsFileSystemArgs;\nimport com.pulumi.aws.storagegateway.FileSystemAssociation;\nimport com.pulumi.aws.storagegateway.FileSystemAssociationArgs;\nimport com.pulumi.aws.storagegateway.inputs.FileSystemAssociationCacheAttributesArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var awsServiceStoragegatewayAmiFILES3Latest = SsmFunctions.getParameter(GetParameterArgs.builder()\n .name(\"/aws/service/storagegateway/ami/FILE_S3/latest\")\n .build());\n\n var test = new Instance(\"test\", InstanceArgs.builder()\n .ami(awsServiceStoragegatewayAmiFILES3Latest.applyValue(getParameterResult -\u003e getParameterResult.value()))\n .associatePublicIpAddress(true)\n .instanceType(available.instanceType())\n .vpcSecurityGroupIds(testAwsSecurityGroup.id())\n .subnetId(testAwsSubnet[0].id())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n testAwsRoute,\n testAwsVpcDhcpOptionsAssociation)\n .build());\n\n var testGateway = new Gateway(\"testGateway\", GatewayArgs.builder()\n .gatewayIpAddress(test.publicIp())\n .gatewayName(\"test-sgw\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"FILE_FSX_SMB\")\n .smbActiveDirectorySettings(GatewaySmbActiveDirectorySettingsArgs.builder()\n .domainName(testAwsDirectoryServiceDirectory.name())\n .password(testAwsDirectoryServiceDirectory.password())\n .username(\"Admin\")\n .build())\n .build());\n\n var testWindowsFileSystem = new WindowsFileSystem(\"testWindowsFileSystem\", WindowsFileSystemArgs.builder()\n .activeDirectoryId(testAwsDirectoryServiceDirectory.id())\n .securityGroupIds(testAwsSecurityGroup.id())\n .skipFinalBackup(true)\n .storageCapacity(32)\n .subnetIds(testAwsSubnet[0].id())\n .throughputCapacity(8)\n .build());\n\n var fsx = new FileSystemAssociation(\"fsx\", FileSystemAssociationArgs.builder()\n .gatewayArn(testGateway.arn())\n .locationArn(testWindowsFileSystem.arn())\n .username(\"Admin\")\n .password(testAwsDirectoryServiceDirectory.password())\n .cacheAttributes(FileSystemAssociationCacheAttributesArgs.builder()\n .cacheStaleTimeoutInSeconds(400)\n .build())\n .auditDestinationArn(testAwsCloudwatchLogGroup.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:Instance\n properties:\n ami: ${awsServiceStoragegatewayAmiFILES3Latest.value}\n associatePublicIpAddress: true\n instanceType: ${available.instanceType}\n vpcSecurityGroupIds:\n - ${testAwsSecurityGroup.id}\n subnetId: ${testAwsSubnet[0].id}\n options:\n dependson:\n - ${testAwsRoute}\n - ${testAwsVpcDhcpOptionsAssociation}\n testGateway:\n type: aws:storagegateway:Gateway\n name: test\n properties:\n gatewayIpAddress: ${test.publicIp}\n gatewayName: test-sgw\n gatewayTimezone: GMT\n gatewayType: FILE_FSX_SMB\n smbActiveDirectorySettings:\n domainName: ${testAwsDirectoryServiceDirectory.name}\n password: ${testAwsDirectoryServiceDirectory.password}\n username: Admin\n testWindowsFileSystem:\n type: aws:fsx:WindowsFileSystem\n name: test\n properties:\n activeDirectoryId: ${testAwsDirectoryServiceDirectory.id}\n securityGroupIds:\n - ${testAwsSecurityGroup.id}\n skipFinalBackup: true\n storageCapacity: 32\n subnetIds:\n - ${testAwsSubnet[0].id}\n throughputCapacity: 8\n fsx:\n type: aws:storagegateway:FileSystemAssociation\n properties:\n gatewayArn: ${testGateway.arn}\n locationArn: ${testWindowsFileSystem.arn}\n username: Admin\n password: ${testAwsDirectoryServiceDirectory.password}\n cacheAttributes:\n cacheStaleTimeoutInSeconds: 400\n auditDestinationArn: ${testAwsCloudwatchLogGroup.arn}\nvariables:\n awsServiceStoragegatewayAmiFILES3Latest:\n fn::invoke:\n Function: aws:ssm:getParameter\n Arguments:\n name: /aws/service/storagegateway/ami/FILE_S3/latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_file_system_association` using the FSx file system association Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:storagegateway/fileSystemAssociation:FileSystemAssociation example arn:aws:storagegateway:us-east-1:123456789012:fs-association/fsa-0DA347732FDB40125\n```\n", "properties": { "arn": { "type": "string", @@ -370056,7 +370056,7 @@ } }, "aws:storagegateway/gateway:Gateway": { - "description": "Manages an AWS Storage Gateway file, tape, or volume gateway in the provider region.\n\n\u003e **NOTE:** The Storage Gateway API requires the gateway to be connected to properly return information after activation. If you are receiving `The specified gateway is not connected` errors during resource creation (gateway activation), ensure your gateway instance meets the [Storage Gateway requirements](https://docs.aws.amazon.com/storagegateway/latest/userguide/Requirements.html).\n\n## Example Usage\n\n### Local Cache\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testVolumeAttachment = new aws.ec2.VolumeAttachment(\"test\", {\n deviceName: \"/dev/xvdb\",\n volumeId: testAwsEbsVolume.id,\n instanceId: testAwsInstance.id,\n});\nconst test = aws.storagegateway.getLocalDisk({\n diskNode: testAwsVolumeAttachment.deviceName,\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\nconst testCache = new aws.storagegateway.Cache(\"test\", {\n diskId: test.then(test =\u003e test.diskId),\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_volume_attachment = aws.ec2.VolumeAttachment(\"test\",\n device_name=\"/dev/xvdb\",\n volume_id=test_aws_ebs_volume[\"id\"],\n instance_id=test_aws_instance[\"id\"])\ntest = aws.storagegateway.get_local_disk(disk_node=test_aws_volume_attachment[\"deviceName\"],\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\ntest_cache = aws.storagegateway.Cache(\"test\",\n disk_id=test.disk_id,\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testVolumeAttachment = new Aws.Ec2.VolumeAttachment(\"test\", new()\n {\n DeviceName = \"/dev/xvdb\",\n VolumeId = testAwsEbsVolume.Id,\n InstanceId = testAwsInstance.Id,\n });\n\n var test = Aws.StorageGateway.GetLocalDisk.Invoke(new()\n {\n DiskNode = testAwsVolumeAttachment.DeviceName,\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n var testCache = new Aws.StorageGateway.Cache(\"test\", new()\n {\n DiskId = test.Apply(getLocalDiskResult =\u003e getLocalDiskResult.DiskId),\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\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 := ec2.NewVolumeAttachment(ctx, \"test\", \u0026ec2.VolumeAttachmentArgs{\n\t\t\tDeviceName: pulumi.String(\"/dev/xvdb\"),\n\t\t\tVolumeId: pulumi.Any(testAwsEbsVolume.Id),\n\t\t\tInstanceId: pulumi.Any(testAwsInstance.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := storagegateway.GetLocalDisk(ctx, \u0026storagegateway.GetLocalDiskArgs{\n\t\t\tDiskNode: pulumi.StringRef(testAwsVolumeAttachment.DeviceName),\n\t\t\tGatewayArn: testAwsStoragegatewayGateway.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storagegateway.NewCache(ctx, \"test\", \u0026storagegateway.CacheArgs{\n\t\t\tDiskId: pulumi.String(test.DiskId),\n\t\t\tGatewayArn: pulumi.Any(testAwsStoragegatewayGateway.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VolumeAttachment;\nimport com.pulumi.aws.ec2.VolumeAttachmentArgs;\nimport com.pulumi.aws.storagegateway.StoragegatewayFunctions;\nimport com.pulumi.aws.storagegateway.inputs.GetLocalDiskArgs;\nimport com.pulumi.aws.storagegateway.Cache;\nimport com.pulumi.aws.storagegateway.CacheArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testVolumeAttachment = new VolumeAttachment(\"testVolumeAttachment\", VolumeAttachmentArgs.builder()\n .deviceName(\"/dev/xvdb\")\n .volumeId(testAwsEbsVolume.id())\n .instanceId(testAwsInstance.id())\n .build());\n\n final var test = StoragegatewayFunctions.getLocalDisk(GetLocalDiskArgs.builder()\n .diskNode(testAwsVolumeAttachment.deviceName())\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n var testCache = new Cache(\"testCache\", CacheArgs.builder()\n .diskId(test.applyValue(getLocalDiskResult -\u003e getLocalDiskResult.diskId()))\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVolumeAttachment:\n type: aws:ec2:VolumeAttachment\n name: test\n properties:\n deviceName: /dev/xvdb\n volumeId: ${testAwsEbsVolume.id}\n instanceId: ${testAwsInstance.id}\n testCache:\n type: aws:storagegateway:Cache\n name: test\n properties:\n diskId: ${test.diskId}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\nvariables:\n test:\n fn::invoke:\n function: aws:storagegateway:getLocalDisk\n arguments:\n diskNode: ${testAwsVolumeAttachment.deviceName}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### FSx File Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"FILE_FSX_SMB\",\n smbActiveDirectorySettings: {\n domainName: \"corp.example.com\",\n password: \"avoid-plaintext-passwords\",\n username: \"Admin\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"FILE_FSX_SMB\",\n smb_active_directory_settings={\n \"domain_name\": \"corp.example.com\",\n \"password\": \"avoid-plaintext-passwords\",\n \"username\": \"Admin\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"FILE_FSX_SMB\",\n SmbActiveDirectorySettings = new Aws.StorageGateway.Inputs.GatewaySmbActiveDirectorySettingsArgs\n {\n DomainName = \"corp.example.com\",\n Password = \"avoid-plaintext-passwords\",\n Username = \"Admin\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"FILE_FSX_SMB\"),\n\t\t\tSmbActiveDirectorySettings: \u0026storagegateway.GatewaySmbActiveDirectorySettingsArgs{\n\t\t\t\tDomainName: pulumi.String(\"corp.example.com\"),\n\t\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\t\tUsername: pulumi.String(\"Admin\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport com.pulumi.aws.storagegateway.inputs.GatewaySmbActiveDirectorySettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder()\n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"FILE_FSX_SMB\")\n .smbActiveDirectorySettings(GatewaySmbActiveDirectorySettingsArgs.builder()\n .domainName(\"corp.example.com\")\n .password(\"avoid-plaintext-passwords\")\n .username(\"Admin\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: FILE_FSX_SMB\n smbActiveDirectorySettings:\n domainName: corp.example.com\n password: avoid-plaintext-passwords\n username: Admin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 File Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"FILE_S3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"FILE_S3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"FILE_S3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"FILE_S3\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder()\n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"FILE_S3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: FILE_S3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Tape Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"VTL\",\n mediumChangerType: \"AWS-Gateway-VTL\",\n tapeDriveType: \"IBM-ULT3580-TD5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"VTL\",\n medium_changer_type=\"AWS-Gateway-VTL\",\n tape_drive_type=\"IBM-ULT3580-TD5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"VTL\",\n MediumChangerType = \"AWS-Gateway-VTL\",\n TapeDriveType = \"IBM-ULT3580-TD5\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"VTL\"),\n\t\t\tMediumChangerType: pulumi.String(\"AWS-Gateway-VTL\"),\n\t\t\tTapeDriveType: pulumi.String(\"IBM-ULT3580-TD5\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder()\n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"VTL\")\n .mediumChangerType(\"AWS-Gateway-VTL\")\n .tapeDriveType(\"IBM-ULT3580-TD5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: VTL\n mediumChangerType: AWS-Gateway-VTL\n tapeDriveType: IBM-ULT3580-TD5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Volume Gateway (Cached)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"CACHED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"CACHED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"CACHED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"CACHED\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder()\n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"CACHED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: CACHED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Volume Gateway (Stored)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"STORED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"STORED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"STORED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"STORED\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder()\n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"STORED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: STORED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_gateway` using the gateway Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:storagegateway/gateway:Gateway example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678\n```\nCertain resource arguments, like `gateway_ip_address` do not have a Storage Gateway API method for reading the information after creation, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", + "description": "Manages an AWS Storage Gateway file, tape, or volume gateway in the provider region.\n\n\u003e **NOTE:** The Storage Gateway API requires the gateway to be connected to properly return information after activation. If you are receiving `The specified gateway is not connected` errors during resource creation (gateway activation), ensure your gateway instance meets the [Storage Gateway requirements](https://docs.aws.amazon.com/storagegateway/latest/userguide/Requirements.html).\n\n## Example Usage\n\n### Local Cache\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testVolumeAttachment = new aws.ec2.VolumeAttachment(\"test\", {\n deviceName: \"/dev/xvdb\",\n volumeId: testAwsEbsVolume.id,\n instanceId: testAwsInstance.id,\n});\nconst test = aws.storagegateway.getLocalDisk({\n diskNode: testAwsVolumeAttachment.deviceName,\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\nconst testCache = new aws.storagegateway.Cache(\"test\", {\n diskId: test.then(test =\u003e test.diskId),\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_volume_attachment = aws.ec2.VolumeAttachment(\"test\",\n device_name=\"/dev/xvdb\",\n volume_id=test_aws_ebs_volume[\"id\"],\n instance_id=test_aws_instance[\"id\"])\ntest = aws.storagegateway.get_local_disk(disk_node=test_aws_volume_attachment[\"deviceName\"],\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\ntest_cache = aws.storagegateway.Cache(\"test\",\n disk_id=test.disk_id,\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testVolumeAttachment = new Aws.Ec2.VolumeAttachment(\"test\", new()\n {\n DeviceName = \"/dev/xvdb\",\n VolumeId = testAwsEbsVolume.Id,\n InstanceId = testAwsInstance.Id,\n });\n\n var test = Aws.StorageGateway.GetLocalDisk.Invoke(new()\n {\n DiskNode = testAwsVolumeAttachment.DeviceName,\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n var testCache = new Aws.StorageGateway.Cache(\"test\", new()\n {\n DiskId = test.Apply(getLocalDiskResult =\u003e getLocalDiskResult.DiskId),\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\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 := ec2.NewVolumeAttachment(ctx, \"test\", \u0026ec2.VolumeAttachmentArgs{\n\t\t\tDeviceName: pulumi.String(\"/dev/xvdb\"),\n\t\t\tVolumeId: pulumi.Any(testAwsEbsVolume.Id),\n\t\t\tInstanceId: pulumi.Any(testAwsInstance.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := storagegateway.GetLocalDisk(ctx, \u0026storagegateway.GetLocalDiskArgs{\n\t\t\tDiskNode: pulumi.StringRef(testAwsVolumeAttachment.DeviceName),\n\t\t\tGatewayArn: testAwsStoragegatewayGateway.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storagegateway.NewCache(ctx, \"test\", \u0026storagegateway.CacheArgs{\n\t\t\tDiskId: pulumi.String(test.DiskId),\n\t\t\tGatewayArn: pulumi.Any(testAwsStoragegatewayGateway.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VolumeAttachment;\nimport com.pulumi.aws.ec2.VolumeAttachmentArgs;\nimport com.pulumi.aws.storagegateway.StoragegatewayFunctions;\nimport com.pulumi.aws.storagegateway.inputs.GetLocalDiskArgs;\nimport com.pulumi.aws.storagegateway.Cache;\nimport com.pulumi.aws.storagegateway.CacheArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testVolumeAttachment = new VolumeAttachment(\"testVolumeAttachment\", VolumeAttachmentArgs.builder()\n .deviceName(\"/dev/xvdb\")\n .volumeId(testAwsEbsVolume.id())\n .instanceId(testAwsInstance.id())\n .build());\n\n final var test = StoragegatewayFunctions.getLocalDisk(GetLocalDiskArgs.builder()\n .diskNode(testAwsVolumeAttachment.deviceName())\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n var testCache = new Cache(\"testCache\", CacheArgs.builder()\n .diskId(test.applyValue(getLocalDiskResult -\u003e getLocalDiskResult.diskId()))\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVolumeAttachment:\n type: aws:ec2:VolumeAttachment\n name: test\n properties:\n deviceName: /dev/xvdb\n volumeId: ${testAwsEbsVolume.id}\n instanceId: ${testAwsInstance.id}\n testCache:\n type: aws:storagegateway:Cache\n name: test\n properties:\n diskId: ${test.diskId}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\nvariables:\n test:\n fn::invoke:\n Function: aws:storagegateway:getLocalDisk\n Arguments:\n diskNode: ${testAwsVolumeAttachment.deviceName}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### FSx File Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"FILE_FSX_SMB\",\n smbActiveDirectorySettings: {\n domainName: \"corp.example.com\",\n password: \"avoid-plaintext-passwords\",\n username: \"Admin\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"FILE_FSX_SMB\",\n smb_active_directory_settings={\n \"domain_name\": \"corp.example.com\",\n \"password\": \"avoid-plaintext-passwords\",\n \"username\": \"Admin\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"FILE_FSX_SMB\",\n SmbActiveDirectorySettings = new Aws.StorageGateway.Inputs.GatewaySmbActiveDirectorySettingsArgs\n {\n DomainName = \"corp.example.com\",\n Password = \"avoid-plaintext-passwords\",\n Username = \"Admin\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"FILE_FSX_SMB\"),\n\t\t\tSmbActiveDirectorySettings: \u0026storagegateway.GatewaySmbActiveDirectorySettingsArgs{\n\t\t\t\tDomainName: pulumi.String(\"corp.example.com\"),\n\t\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\t\tUsername: pulumi.String(\"Admin\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport com.pulumi.aws.storagegateway.inputs.GatewaySmbActiveDirectorySettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder()\n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"FILE_FSX_SMB\")\n .smbActiveDirectorySettings(GatewaySmbActiveDirectorySettingsArgs.builder()\n .domainName(\"corp.example.com\")\n .password(\"avoid-plaintext-passwords\")\n .username(\"Admin\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: FILE_FSX_SMB\n smbActiveDirectorySettings:\n domainName: corp.example.com\n password: avoid-plaintext-passwords\n username: Admin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 File Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"FILE_S3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"FILE_S3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"FILE_S3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"FILE_S3\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder()\n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"FILE_S3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: FILE_S3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Tape Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"VTL\",\n mediumChangerType: \"AWS-Gateway-VTL\",\n tapeDriveType: \"IBM-ULT3580-TD5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"VTL\",\n medium_changer_type=\"AWS-Gateway-VTL\",\n tape_drive_type=\"IBM-ULT3580-TD5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"VTL\",\n MediumChangerType = \"AWS-Gateway-VTL\",\n TapeDriveType = \"IBM-ULT3580-TD5\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"VTL\"),\n\t\t\tMediumChangerType: pulumi.String(\"AWS-Gateway-VTL\"),\n\t\t\tTapeDriveType: pulumi.String(\"IBM-ULT3580-TD5\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder()\n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"VTL\")\n .mediumChangerType(\"AWS-Gateway-VTL\")\n .tapeDriveType(\"IBM-ULT3580-TD5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: VTL\n mediumChangerType: AWS-Gateway-VTL\n tapeDriveType: IBM-ULT3580-TD5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Volume Gateway (Cached)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"CACHED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"CACHED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"CACHED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"CACHED\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder()\n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"CACHED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: CACHED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Volume Gateway (Stored)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"STORED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"STORED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"STORED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"STORED\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder()\n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"STORED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: STORED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_gateway` using the gateway Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:storagegateway/gateway:Gateway example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678\n```\nCertain resource arguments, like `gateway_ip_address` do not have a Storage Gateway API method for reading the information after creation, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", "properties": { "activationKey": { "type": "string", @@ -371532,7 +371532,7 @@ } }, "aws:storagegateway/uploadBuffer:UploadBuffer": { - "description": "Manages an AWS Storage Gateway upload buffer.\n\n\u003e **NOTE:** The Storage Gateway API provides no method to remove an upload buffer disk. Destroying this resource does not perform any Storage Gateway actions.\n\n## Example Usage\n\n### Cached and VTL Gateway Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.storagegateway.getLocalDisk({\n diskNode: testAwsVolumeAttachment.deviceName,\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\nconst testUploadBuffer = new aws.storagegateway.UploadBuffer(\"test\", {\n diskPath: test.then(test =\u003e test.diskPath),\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.storagegateway.get_local_disk(disk_node=test_aws_volume_attachment[\"deviceName\"],\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\ntest_upload_buffer = aws.storagegateway.UploadBuffer(\"test\",\n disk_path=test.disk_path,\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.StorageGateway.GetLocalDisk.Invoke(new()\n {\n DiskNode = testAwsVolumeAttachment.DeviceName,\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n var testUploadBuffer = new Aws.StorageGateway.UploadBuffer(\"test\", new()\n {\n DiskPath = test.Apply(getLocalDiskResult =\u003e getLocalDiskResult.DiskPath),\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := storagegateway.GetLocalDisk(ctx, \u0026storagegateway.GetLocalDiskArgs{\n\t\t\tDiskNode: pulumi.StringRef(testAwsVolumeAttachment.DeviceName),\n\t\t\tGatewayArn: testAwsStoragegatewayGateway.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storagegateway.NewUploadBuffer(ctx, \"test\", \u0026storagegateway.UploadBufferArgs{\n\t\t\tDiskPath: pulumi.String(test.DiskPath),\n\t\t\tGatewayArn: pulumi.Any(testAwsStoragegatewayGateway.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.StoragegatewayFunctions;\nimport com.pulumi.aws.storagegateway.inputs.GetLocalDiskArgs;\nimport com.pulumi.aws.storagegateway.UploadBuffer;\nimport com.pulumi.aws.storagegateway.UploadBufferArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = StoragegatewayFunctions.getLocalDisk(GetLocalDiskArgs.builder()\n .diskNode(testAwsVolumeAttachment.deviceName())\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n var testUploadBuffer = new UploadBuffer(\"testUploadBuffer\", UploadBufferArgs.builder()\n .diskPath(test.applyValue(getLocalDiskResult -\u003e getLocalDiskResult.diskPath()))\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testUploadBuffer:\n type: aws:storagegateway:UploadBuffer\n name: test\n properties:\n diskPath: ${test.diskPath}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\nvariables:\n test:\n fn::invoke:\n function: aws:storagegateway:getLocalDisk\n arguments:\n diskNode: ${testAwsVolumeAttachment.deviceName}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stored Gateway Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.storagegateway.getLocalDisk({\n diskNode: testAwsVolumeAttachment.deviceName,\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\nconst example = new aws.storagegateway.UploadBuffer(\"example\", {\n diskId: exampleAwsStoragegatewayLocalDisk.id,\n gatewayArn: exampleAwsStoragegatewayGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.storagegateway.get_local_disk(disk_node=test_aws_volume_attachment[\"deviceName\"],\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\nexample = aws.storagegateway.UploadBuffer(\"example\",\n disk_id=example_aws_storagegateway_local_disk[\"id\"],\n gateway_arn=example_aws_storagegateway_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.StorageGateway.GetLocalDisk.Invoke(new()\n {\n DiskNode = testAwsVolumeAttachment.DeviceName,\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n var example = new Aws.StorageGateway.UploadBuffer(\"example\", new()\n {\n DiskId = exampleAwsStoragegatewayLocalDisk.Id,\n GatewayArn = exampleAwsStoragegatewayGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\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 := storagegateway.GetLocalDisk(ctx, \u0026storagegateway.GetLocalDiskArgs{\n\t\t\tDiskNode: pulumi.StringRef(testAwsVolumeAttachment.DeviceName),\n\t\t\tGatewayArn: testAwsStoragegatewayGateway.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storagegateway.NewUploadBuffer(ctx, \"example\", \u0026storagegateway.UploadBufferArgs{\n\t\t\tDiskId: pulumi.Any(exampleAwsStoragegatewayLocalDisk.Id),\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.StoragegatewayFunctions;\nimport com.pulumi.aws.storagegateway.inputs.GetLocalDiskArgs;\nimport com.pulumi.aws.storagegateway.UploadBuffer;\nimport com.pulumi.aws.storagegateway.UploadBufferArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = StoragegatewayFunctions.getLocalDisk(GetLocalDiskArgs.builder()\n .diskNode(testAwsVolumeAttachment.deviceName())\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n var example = new UploadBuffer(\"example\", UploadBufferArgs.builder()\n .diskId(exampleAwsStoragegatewayLocalDisk.id())\n .gatewayArn(exampleAwsStoragegatewayGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:UploadBuffer\n properties:\n diskId: ${exampleAwsStoragegatewayLocalDisk.id}\n gatewayArn: ${exampleAwsStoragegatewayGateway.arn}\nvariables:\n test:\n fn::invoke:\n function: aws:storagegateway:getLocalDisk\n arguments:\n diskNode: ${testAwsVolumeAttachment.deviceName}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_upload_buffer` using the gateway Amazon Resource Name (ARN) and local disk identifier separated with a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:storagegateway/uploadBuffer:UploadBuffer example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678:pci-0000:03:00.0-scsi-0:0:0:0\n```\n", + "description": "Manages an AWS Storage Gateway upload buffer.\n\n\u003e **NOTE:** The Storage Gateway API provides no method to remove an upload buffer disk. Destroying this resource does not perform any Storage Gateway actions.\n\n## Example Usage\n\n### Cached and VTL Gateway Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.storagegateway.getLocalDisk({\n diskNode: testAwsVolumeAttachment.deviceName,\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\nconst testUploadBuffer = new aws.storagegateway.UploadBuffer(\"test\", {\n diskPath: test.then(test =\u003e test.diskPath),\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.storagegateway.get_local_disk(disk_node=test_aws_volume_attachment[\"deviceName\"],\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\ntest_upload_buffer = aws.storagegateway.UploadBuffer(\"test\",\n disk_path=test.disk_path,\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.StorageGateway.GetLocalDisk.Invoke(new()\n {\n DiskNode = testAwsVolumeAttachment.DeviceName,\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n var testUploadBuffer = new Aws.StorageGateway.UploadBuffer(\"test\", new()\n {\n DiskPath = test.Apply(getLocalDiskResult =\u003e getLocalDiskResult.DiskPath),\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := storagegateway.GetLocalDisk(ctx, \u0026storagegateway.GetLocalDiskArgs{\n\t\t\tDiskNode: pulumi.StringRef(testAwsVolumeAttachment.DeviceName),\n\t\t\tGatewayArn: testAwsStoragegatewayGateway.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storagegateway.NewUploadBuffer(ctx, \"test\", \u0026storagegateway.UploadBufferArgs{\n\t\t\tDiskPath: pulumi.String(test.DiskPath),\n\t\t\tGatewayArn: pulumi.Any(testAwsStoragegatewayGateway.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.StoragegatewayFunctions;\nimport com.pulumi.aws.storagegateway.inputs.GetLocalDiskArgs;\nimport com.pulumi.aws.storagegateway.UploadBuffer;\nimport com.pulumi.aws.storagegateway.UploadBufferArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = StoragegatewayFunctions.getLocalDisk(GetLocalDiskArgs.builder()\n .diskNode(testAwsVolumeAttachment.deviceName())\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n var testUploadBuffer = new UploadBuffer(\"testUploadBuffer\", UploadBufferArgs.builder()\n .diskPath(test.applyValue(getLocalDiskResult -\u003e getLocalDiskResult.diskPath()))\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testUploadBuffer:\n type: aws:storagegateway:UploadBuffer\n name: test\n properties:\n diskPath: ${test.diskPath}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\nvariables:\n test:\n fn::invoke:\n Function: aws:storagegateway:getLocalDisk\n Arguments:\n diskNode: ${testAwsVolumeAttachment.deviceName}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stored Gateway Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.storagegateway.getLocalDisk({\n diskNode: testAwsVolumeAttachment.deviceName,\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\nconst example = new aws.storagegateway.UploadBuffer(\"example\", {\n diskId: exampleAwsStoragegatewayLocalDisk.id,\n gatewayArn: exampleAwsStoragegatewayGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.storagegateway.get_local_disk(disk_node=test_aws_volume_attachment[\"deviceName\"],\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\nexample = aws.storagegateway.UploadBuffer(\"example\",\n disk_id=example_aws_storagegateway_local_disk[\"id\"],\n gateway_arn=example_aws_storagegateway_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.StorageGateway.GetLocalDisk.Invoke(new()\n {\n DiskNode = testAwsVolumeAttachment.DeviceName,\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n var example = new Aws.StorageGateway.UploadBuffer(\"example\", new()\n {\n DiskId = exampleAwsStoragegatewayLocalDisk.Id,\n GatewayArn = exampleAwsStoragegatewayGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\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 := storagegateway.GetLocalDisk(ctx, \u0026storagegateway.GetLocalDiskArgs{\n\t\t\tDiskNode: pulumi.StringRef(testAwsVolumeAttachment.DeviceName),\n\t\t\tGatewayArn: testAwsStoragegatewayGateway.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storagegateway.NewUploadBuffer(ctx, \"example\", \u0026storagegateway.UploadBufferArgs{\n\t\t\tDiskId: pulumi.Any(exampleAwsStoragegatewayLocalDisk.Id),\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.StoragegatewayFunctions;\nimport com.pulumi.aws.storagegateway.inputs.GetLocalDiskArgs;\nimport com.pulumi.aws.storagegateway.UploadBuffer;\nimport com.pulumi.aws.storagegateway.UploadBufferArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = StoragegatewayFunctions.getLocalDisk(GetLocalDiskArgs.builder()\n .diskNode(testAwsVolumeAttachment.deviceName())\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n var example = new UploadBuffer(\"example\", UploadBufferArgs.builder()\n .diskId(exampleAwsStoragegatewayLocalDisk.id())\n .gatewayArn(exampleAwsStoragegatewayGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:UploadBuffer\n properties:\n diskId: ${exampleAwsStoragegatewayLocalDisk.id}\n gatewayArn: ${exampleAwsStoragegatewayGateway.arn}\nvariables:\n test:\n fn::invoke:\n Function: aws:storagegateway:getLocalDisk\n Arguments:\n diskNode: ${testAwsVolumeAttachment.deviceName}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_upload_buffer` using the gateway Amazon Resource Name (ARN) and local disk identifier separated with a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:storagegateway/uploadBuffer:UploadBuffer example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678:pci-0000:03:00.0-scsi-0:0:0:0\n```\n", "properties": { "diskId": { "type": "string", @@ -372243,7 +372243,7 @@ } }, "aws:timestreaminfluxdb/dbInstance:DbInstance": { - "description": "Resource for managing an Amazon Timestream for InfluxDB database instance.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.timestreaminfluxdb.DbInstance(\"example\", {\n allocatedStorage: 20,\n bucket: \"example-bucket-name\",\n dbInstanceType: \"db.influx.medium\",\n username: \"admin\",\n password: \"example-password\",\n organization: \"organization\",\n vpcSubnetIds: [exampleid],\n vpcSecurityGroupIds: [exampleAwsSecurityGroup.id],\n name: \"example-db-instance\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.timestreaminfluxdb.DbInstance(\"example\",\n allocated_storage=20,\n bucket=\"example-bucket-name\",\n db_instance_type=\"db.influx.medium\",\n username=\"admin\",\n password=\"example-password\",\n organization=\"organization\",\n vpc_subnet_ids=[exampleid],\n vpc_security_group_ids=[example_aws_security_group[\"id\"]],\n name=\"example-db-instance\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.TimestreamInfluxDB.DbInstance(\"example\", new()\n {\n AllocatedStorage = 20,\n Bucket = \"example-bucket-name\",\n DbInstanceType = \"db.influx.medium\",\n Username = \"admin\",\n Password = \"example-password\",\n Organization = \"organization\",\n VpcSubnetIds = new[]\n {\n exampleid,\n },\n VpcSecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n Name = \"example-db-instance\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreaminfluxdb\"\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 := timestreaminfluxdb.NewDbInstance(ctx, \"example\", \u0026timestreaminfluxdb.DbInstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(20),\n\t\t\tBucket: pulumi.String(\"example-bucket-name\"),\n\t\t\tDbInstanceType: pulumi.String(\"db.influx.medium\"),\n\t\t\tUsername: pulumi.String(\"admin\"),\n\t\t\tPassword: pulumi.String(\"example-password\"),\n\t\t\tOrganization: pulumi.String(\"organization\"),\n\t\t\tVpcSubnetIds: pulumi.StringArray{\n\t\t\t\texampleid,\n\t\t\t},\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tName: pulumi.String(\"example-db-instance\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.timestreaminfluxdb.DbInstance;\nimport com.pulumi.aws.timestreaminfluxdb.DbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DbInstance(\"example\", DbInstanceArgs.builder()\n .allocatedStorage(20)\n .bucket(\"example-bucket-name\")\n .dbInstanceType(\"db.influx.medium\")\n .username(\"admin\")\n .password(\"example-password\")\n .organization(\"organization\")\n .vpcSubnetIds(exampleid)\n .vpcSecurityGroupIds(exampleAwsSecurityGroup.id())\n .name(\"example-db-instance\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:timestreaminfluxdb:DbInstance\n properties:\n allocatedStorage: 20\n bucket: example-bucket-name\n dbInstanceType: db.influx.medium\n username: admin\n password: example-password\n organization: organization\n vpcSubnetIds:\n - ${exampleid}\n vpcSecurityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n name: example-db-instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with Prerequisite Resources\n\nAll Timestream for InfluxDB instances require a VPC, subnet, and security group. The following example shows how these prerequisite resources can be created and used with `aws.timestreaminfluxdb.DbInstance`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleSubnet = new aws.ec2.Subnet(\"example\", {\n vpcId: example.id,\n cidrBlock: \"10.0.1.0/24\",\n});\nconst exampleSecurityGroup = new aws.ec2.SecurityGroup(\"example\", {\n name: \"example\",\n vpcId: example.id,\n});\nconst exampleDbInstance = new aws.timestreaminfluxdb.DbInstance(\"example\", {\n allocatedStorage: 20,\n bucket: \"example-bucket-name\",\n dbInstanceType: \"db.influx.medium\",\n username: \"admin\",\n password: \"example-password\",\n organization: \"organization\",\n vpcSubnetIds: [exampleSubnet.id],\n vpcSecurityGroupIds: [exampleSecurityGroup.id],\n name: \"example-db-instance\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_subnet = aws.ec2.Subnet(\"example\",\n vpc_id=example.id,\n cidr_block=\"10.0.1.0/24\")\nexample_security_group = aws.ec2.SecurityGroup(\"example\",\n name=\"example\",\n vpc_id=example.id)\nexample_db_instance = aws.timestreaminfluxdb.DbInstance(\"example\",\n allocated_storage=20,\n bucket=\"example-bucket-name\",\n db_instance_type=\"db.influx.medium\",\n username=\"admin\",\n password=\"example-password\",\n organization=\"organization\",\n vpc_subnet_ids=[example_subnet.id],\n vpc_security_group_ids=[example_security_group.id],\n name=\"example-db-instance\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleSubnet = new Aws.Ec2.Subnet(\"example\", new()\n {\n VpcId = example.Id,\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var exampleSecurityGroup = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = \"example\",\n VpcId = example.Id,\n });\n\n var exampleDbInstance = new Aws.TimestreamInfluxDB.DbInstance(\"example\", new()\n {\n AllocatedStorage = 20,\n Bucket = \"example-bucket-name\",\n DbInstanceType = \"db.influx.medium\",\n Username = \"admin\",\n Password = \"example-password\",\n Organization = \"organization\",\n VpcSubnetIds = new[]\n {\n exampleSubnet.Id,\n },\n VpcSecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n Name = \"example-db-instance\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreaminfluxdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tVpcId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = timestreaminfluxdb.NewDbInstance(ctx, \"example\", \u0026timestreaminfluxdb.DbInstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(20),\n\t\t\tBucket: pulumi.String(\"example-bucket-name\"),\n\t\t\tDbInstanceType: pulumi.String(\"db.influx.medium\"),\n\t\t\tUsername: pulumi.String(\"admin\"),\n\t\t\tPassword: pulumi.String(\"example-password\"),\n\t\t\tOrganization: pulumi.String(\"organization\"),\n\t\t\tVpcSubnetIds: pulumi.StringArray{\n\t\t\t\texampleSubnet.ID(),\n\t\t\t},\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example-db-instance\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.timestreaminfluxdb.DbInstance;\nimport com.pulumi.aws.timestreaminfluxdb.DbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Vpc(\"example\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n .vpcId(example.id())\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"example\")\n .vpcId(example.id())\n .build());\n\n var exampleDbInstance = new DbInstance(\"exampleDbInstance\", DbInstanceArgs.builder()\n .allocatedStorage(20)\n .bucket(\"example-bucket-name\")\n .dbInstanceType(\"db.influx.medium\")\n .username(\"admin\")\n .password(\"example-password\")\n .organization(\"organization\")\n .vpcSubnetIds(exampleSubnet.id())\n .vpcSecurityGroupIds(exampleSecurityGroup.id())\n .name(\"example-db-instance\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n exampleSubnet:\n type: aws:ec2:Subnet\n name: example\n properties:\n vpcId: ${example.id}\n cidrBlock: 10.0.1.0/24\n exampleSecurityGroup:\n type: aws:ec2:SecurityGroup\n name: example\n properties:\n name: example\n vpcId: ${example.id}\n exampleDbInstance:\n type: aws:timestreaminfluxdb:DbInstance\n name: example\n properties:\n allocatedStorage: 20\n bucket: example-bucket-name\n dbInstanceType: db.influx.medium\n username: admin\n password: example-password\n organization: organization\n vpcSubnetIds:\n - ${exampleSubnet.id}\n vpcSecurityGroupIds:\n - ${exampleSecurityGroup.id}\n name: example-db-instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with S3 Log Delivery Enabled\n\nYou can use an S3 bucket to store logs generated by your Timestream for InfluxDB instance. The following example shows what resources and arguments are required to configure an S3 bucket for logging, including the IAM policy that needs to be set in order to allow Timestream for InfluxDB to place logs in your S3 bucket. The configuration of the required VPC, security group, and subnet have been left out of the example for brevity.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example-s3-bucket\"});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"s3:PutObject\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"timestream-influxdb.amazonaws.com\"],\n }],\n resources: [pulumi.interpolate`${exampleBucketV2.arn}/*`],\n }],\n});\nconst exampleBucketPolicy = new aws.s3.BucketPolicy(\"example\", {\n bucket: exampleBucketV2.id,\n policy: example.apply(example =\u003e example.json),\n});\nconst exampleDbInstance = new aws.timestreaminfluxdb.DbInstance(\"example\", {\n allocatedStorage: 20,\n bucket: \"example-bucket-name\",\n dbInstanceType: \"db.influx.medium\",\n username: \"admin\",\n password: \"example-password\",\n organization: \"organization\",\n vpcSubnetIds: [exampleAwsSubnet.id],\n vpcSecurityGroupIds: [exampleAwsSecurityGroup.id],\n name: \"example-db-instance\",\n logDeliveryConfiguration: {\n s3Configuration: {\n bucketName: exampleBucketV2.name,\n enabled: true,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example-s3-bucket\")\nexample = aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\"s3:PutObject\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"timestream-influxdb.amazonaws.com\"],\n }],\n \"resources\": [example_bucket_v2.arn.apply(lambda arn: f\"{arn}/*\")],\n}])\nexample_bucket_policy = aws.s3.BucketPolicy(\"example\",\n bucket=example_bucket_v2.id,\n policy=example.json)\nexample_db_instance = aws.timestreaminfluxdb.DbInstance(\"example\",\n allocated_storage=20,\n bucket=\"example-bucket-name\",\n db_instance_type=\"db.influx.medium\",\n username=\"admin\",\n password=\"example-password\",\n organization=\"organization\",\n vpc_subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_security_group_ids=[example_aws_security_group[\"id\"]],\n name=\"example-db-instance\",\n log_delivery_configuration={\n \"s3_configuration\": {\n \"bucket_name\": example_bucket_v2.name,\n \"enabled\": True,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-s3-bucket\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"timestream-influxdb.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n $\"{exampleBucketV2.Arn}/*\",\n },\n },\n },\n });\n\n var exampleBucketPolicy = new Aws.S3.BucketPolicy(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDbInstance = new Aws.TimestreamInfluxDB.DbInstance(\"example\", new()\n {\n AllocatedStorage = 20,\n Bucket = \"example-bucket-name\",\n DbInstanceType = \"db.influx.medium\",\n Username = \"admin\",\n Password = \"example-password\",\n Organization = \"organization\",\n VpcSubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcSecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n Name = \"example-db-instance\",\n LogDeliveryConfiguration = new Aws.TimestreamInfluxDB.Inputs.DbInstanceLogDeliveryConfigurationArgs\n {\n S3Configuration = new Aws.TimestreamInfluxDB.Inputs.DbInstanceLogDeliveryConfigurationS3ConfigurationArgs\n {\n BucketName = exampleBucketV2.Name,\n Enabled = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreaminfluxdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-s3-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"timestream-influxdb.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = s3.NewBucketPolicy(ctx, \"example\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = timestreaminfluxdb.NewDbInstance(ctx, \"example\", \u0026timestreaminfluxdb.DbInstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(20),\n\t\t\tBucket: pulumi.String(\"example-bucket-name\"),\n\t\t\tDbInstanceType: pulumi.String(\"db.influx.medium\"),\n\t\t\tUsername: pulumi.String(\"admin\"),\n\t\t\tPassword: pulumi.String(\"example-password\"),\n\t\t\tOrganization: pulumi.String(\"organization\"),\n\t\t\tVpcSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tName: pulumi.String(\"example-db-instance\"),\n\t\t\tLogDeliveryConfiguration: \u0026timestreaminfluxdb.DbInstanceLogDeliveryConfigurationArgs{\n\t\t\t\tS3Configuration: \u0026timestreaminfluxdb.DbInstanceLogDeliveryConfigurationS3ConfigurationArgs{\n\t\t\t\t\tBucketName: exampleBucketV2.Name,\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.timestreaminfluxdb.DbInstance;\nimport com.pulumi.aws.timestreaminfluxdb.DbInstanceArgs;\nimport com.pulumi.aws.timestreaminfluxdb.inputs.DbInstanceLogDeliveryConfigurationArgs;\nimport com.pulumi.aws.timestreaminfluxdb.inputs.DbInstanceLogDeliveryConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example-s3-bucket\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"s3:PutObject\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"timestream-influxdb.amazonaws.com\")\n .build())\n .resources(exampleBucketV2.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var exampleBucketPolicy = new BucketPolicy(\"exampleBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(exampleBucketV2.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleDbInstance = new DbInstance(\"exampleDbInstance\", DbInstanceArgs.builder()\n .allocatedStorage(20)\n .bucket(\"example-bucket-name\")\n .dbInstanceType(\"db.influx.medium\")\n .username(\"admin\")\n .password(\"example-password\")\n .organization(\"organization\")\n .vpcSubnetIds(exampleAwsSubnet.id())\n .vpcSecurityGroupIds(exampleAwsSecurityGroup.id())\n .name(\"example-db-instance\")\n .logDeliveryConfiguration(DbInstanceLogDeliveryConfigurationArgs.builder()\n .s3Configuration(DbInstanceLogDeliveryConfigurationS3ConfigurationArgs.builder()\n .bucketName(exampleBucketV2.name())\n .enabled(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example-s3-bucket\n exampleBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n policy: ${example.json}\n exampleDbInstance:\n type: aws:timestreaminfluxdb:DbInstance\n name: example\n properties:\n allocatedStorage: 20\n bucket: example-bucket-name\n dbInstanceType: db.influx.medium\n username: admin\n password: example-password\n organization: organization\n vpcSubnetIds:\n - ${exampleAwsSubnet.id}\n vpcSecurityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n name: example-db-instance\n logDeliveryConfiguration:\n s3Configuration:\n bucketName: ${exampleBucketV2.name}\n enabled: true\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - s3:PutObject\n principals:\n - type: Service\n identifiers:\n - timestream-influxdb.amazonaws.com\n resources:\n - ${exampleBucketV2.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with MultiAZ Deployment\n\nTo use multi-region availability, at least two subnets must be created in different availability zones and used with your Timestream for InfluxDB instance.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example1 = new aws.ec2.Subnet(\"example_1\", {\n vpcId: exampleAwsVpc.id,\n cidrBlock: \"10.0.1.0/24\",\n availabilityZone: \"us-west-2a\",\n});\nconst example2 = new aws.ec2.Subnet(\"example_2\", {\n vpcId: exampleAwsVpc.id,\n cidrBlock: \"10.0.2.0/24\",\n availabilityZone: \"us-west-2b\",\n});\nconst example = new aws.timestreaminfluxdb.DbInstance(\"example\", {\n allocatedStorage: 20,\n bucket: \"example-bucket-name\",\n dbInstanceType: \"db.influx.medium\",\n deploymentType: \"WITH_MULTIAZ_STANDBY\",\n username: \"admin\",\n password: \"example-password\",\n organization: \"organization\",\n vpcSubnetIds: [\n example1.id,\n example2.id,\n ],\n vpcSecurityGroupIds: [exampleAwsSecurityGroup.id],\n name: \"example-db-instance\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample1 = aws.ec2.Subnet(\"example_1\",\n vpc_id=example_aws_vpc[\"id\"],\n cidr_block=\"10.0.1.0/24\",\n availability_zone=\"us-west-2a\")\nexample2 = aws.ec2.Subnet(\"example_2\",\n vpc_id=example_aws_vpc[\"id\"],\n cidr_block=\"10.0.2.0/24\",\n availability_zone=\"us-west-2b\")\nexample = aws.timestreaminfluxdb.DbInstance(\"example\",\n allocated_storage=20,\n bucket=\"example-bucket-name\",\n db_instance_type=\"db.influx.medium\",\n deployment_type=\"WITH_MULTIAZ_STANDBY\",\n username=\"admin\",\n password=\"example-password\",\n organization=\"organization\",\n vpc_subnet_ids=[\n example1.id,\n example2.id,\n ],\n vpc_security_group_ids=[example_aws_security_group[\"id\"]],\n name=\"example-db-instance\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example1 = new Aws.Ec2.Subnet(\"example_1\", new()\n {\n VpcId = exampleAwsVpc.Id,\n CidrBlock = \"10.0.1.0/24\",\n AvailabilityZone = \"us-west-2a\",\n });\n\n var example2 = new Aws.Ec2.Subnet(\"example_2\", new()\n {\n VpcId = exampleAwsVpc.Id,\n CidrBlock = \"10.0.2.0/24\",\n AvailabilityZone = \"us-west-2b\",\n });\n\n var example = new Aws.TimestreamInfluxDB.DbInstance(\"example\", new()\n {\n AllocatedStorage = 20,\n Bucket = \"example-bucket-name\",\n DbInstanceType = \"db.influx.medium\",\n DeploymentType = \"WITH_MULTIAZ_STANDBY\",\n Username = \"admin\",\n Password = \"example-password\",\n Organization = \"organization\",\n VpcSubnetIds = new[]\n {\n example1.Id,\n example2.Id,\n },\n VpcSecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n Name = \"example-db-instance\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreaminfluxdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample1, err := ec2.NewSubnet(ctx, \"example_1\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := ec2.NewSubnet(ctx, \"example_2\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2b\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = timestreaminfluxdb.NewDbInstance(ctx, \"example\", \u0026timestreaminfluxdb.DbInstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(20),\n\t\t\tBucket: pulumi.String(\"example-bucket-name\"),\n\t\t\tDbInstanceType: pulumi.String(\"db.influx.medium\"),\n\t\t\tDeploymentType: pulumi.String(\"WITH_MULTIAZ_STANDBY\"),\n\t\t\tUsername: pulumi.String(\"admin\"),\n\t\t\tPassword: pulumi.String(\"example-password\"),\n\t\t\tOrganization: pulumi.String(\"organization\"),\n\t\t\tVpcSubnetIds: pulumi.StringArray{\n\t\t\t\texample1.ID(),\n\t\t\t\texample2.ID(),\n\t\t\t},\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tName: pulumi.String(\"example-db-instance\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.timestreaminfluxdb.DbInstance;\nimport com.pulumi.aws.timestreaminfluxdb.DbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example1 = new Subnet(\"example1\", SubnetArgs.builder()\n .vpcId(exampleAwsVpc.id())\n .cidrBlock(\"10.0.1.0/24\")\n .availabilityZone(\"us-west-2a\")\n .build());\n\n var example2 = new Subnet(\"example2\", SubnetArgs.builder()\n .vpcId(exampleAwsVpc.id())\n .cidrBlock(\"10.0.2.0/24\")\n .availabilityZone(\"us-west-2b\")\n .build());\n\n var example = new DbInstance(\"example\", DbInstanceArgs.builder()\n .allocatedStorage(20)\n .bucket(\"example-bucket-name\")\n .dbInstanceType(\"db.influx.medium\")\n .deploymentType(\"WITH_MULTIAZ_STANDBY\")\n .username(\"admin\")\n .password(\"example-password\")\n .organization(\"organization\")\n .vpcSubnetIds( \n example1.id(),\n example2.id())\n .vpcSecurityGroupIds(exampleAwsSecurityGroup.id())\n .name(\"example-db-instance\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example1:\n type: aws:ec2:Subnet\n name: example_1\n properties:\n vpcId: ${exampleAwsVpc.id}\n cidrBlock: 10.0.1.0/24\n availabilityZone: us-west-2a\n example2:\n type: aws:ec2:Subnet\n name: example_2\n properties:\n vpcId: ${exampleAwsVpc.id}\n cidrBlock: 10.0.2.0/24\n availabilityZone: us-west-2b\n example:\n type: aws:timestreaminfluxdb:DbInstance\n properties:\n allocatedStorage: 20\n bucket: example-bucket-name\n dbInstanceType: db.influx.medium\n deploymentType: WITH_MULTIAZ_STANDBY\n username: admin\n password: example-password\n organization: organization\n vpcSubnetIds:\n - ${example1.id}\n - ${example2.id}\n vpcSecurityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n name: example-db-instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Timestream for InfluxDB Db Instance using its identifier. For example:\n\n```sh\n$ pulumi import aws:timestreaminfluxdb/dbInstance:DbInstance example 12345abcde\n```\n", + "description": "Resource for managing an Amazon Timestream for InfluxDB database instance.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.timestreaminfluxdb.DbInstance(\"example\", {\n allocatedStorage: 20,\n bucket: \"example-bucket-name\",\n dbInstanceType: \"db.influx.medium\",\n username: \"admin\",\n password: \"example-password\",\n organization: \"organization\",\n vpcSubnetIds: [exampleid],\n vpcSecurityGroupIds: [exampleAwsSecurityGroup.id],\n name: \"example-db-instance\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.timestreaminfluxdb.DbInstance(\"example\",\n allocated_storage=20,\n bucket=\"example-bucket-name\",\n db_instance_type=\"db.influx.medium\",\n username=\"admin\",\n password=\"example-password\",\n organization=\"organization\",\n vpc_subnet_ids=[exampleid],\n vpc_security_group_ids=[example_aws_security_group[\"id\"]],\n name=\"example-db-instance\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.TimestreamInfluxDB.DbInstance(\"example\", new()\n {\n AllocatedStorage = 20,\n Bucket = \"example-bucket-name\",\n DbInstanceType = \"db.influx.medium\",\n Username = \"admin\",\n Password = \"example-password\",\n Organization = \"organization\",\n VpcSubnetIds = new[]\n {\n exampleid,\n },\n VpcSecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n Name = \"example-db-instance\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreaminfluxdb\"\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 := timestreaminfluxdb.NewDbInstance(ctx, \"example\", \u0026timestreaminfluxdb.DbInstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(20),\n\t\t\tBucket: pulumi.String(\"example-bucket-name\"),\n\t\t\tDbInstanceType: pulumi.String(\"db.influx.medium\"),\n\t\t\tUsername: pulumi.String(\"admin\"),\n\t\t\tPassword: pulumi.String(\"example-password\"),\n\t\t\tOrganization: pulumi.String(\"organization\"),\n\t\t\tVpcSubnetIds: pulumi.StringArray{\n\t\t\t\texampleid,\n\t\t\t},\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tName: pulumi.String(\"example-db-instance\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.timestreaminfluxdb.DbInstance;\nimport com.pulumi.aws.timestreaminfluxdb.DbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DbInstance(\"example\", DbInstanceArgs.builder()\n .allocatedStorage(20)\n .bucket(\"example-bucket-name\")\n .dbInstanceType(\"db.influx.medium\")\n .username(\"admin\")\n .password(\"example-password\")\n .organization(\"organization\")\n .vpcSubnetIds(exampleid)\n .vpcSecurityGroupIds(exampleAwsSecurityGroup.id())\n .name(\"example-db-instance\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:timestreaminfluxdb:DbInstance\n properties:\n allocatedStorage: 20\n bucket: example-bucket-name\n dbInstanceType: db.influx.medium\n username: admin\n password: example-password\n organization: organization\n vpcSubnetIds:\n - ${exampleid}\n vpcSecurityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n name: example-db-instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with Prerequisite Resources\n\nAll Timestream for InfluxDB instances require a VPC, subnet, and security group. The following example shows how these prerequisite resources can be created and used with `aws.timestreaminfluxdb.DbInstance`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleSubnet = new aws.ec2.Subnet(\"example\", {\n vpcId: example.id,\n cidrBlock: \"10.0.1.0/24\",\n});\nconst exampleSecurityGroup = new aws.ec2.SecurityGroup(\"example\", {\n name: \"example\",\n vpcId: example.id,\n});\nconst exampleDbInstance = new aws.timestreaminfluxdb.DbInstance(\"example\", {\n allocatedStorage: 20,\n bucket: \"example-bucket-name\",\n dbInstanceType: \"db.influx.medium\",\n username: \"admin\",\n password: \"example-password\",\n organization: \"organization\",\n vpcSubnetIds: [exampleSubnet.id],\n vpcSecurityGroupIds: [exampleSecurityGroup.id],\n name: \"example-db-instance\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_subnet = aws.ec2.Subnet(\"example\",\n vpc_id=example.id,\n cidr_block=\"10.0.1.0/24\")\nexample_security_group = aws.ec2.SecurityGroup(\"example\",\n name=\"example\",\n vpc_id=example.id)\nexample_db_instance = aws.timestreaminfluxdb.DbInstance(\"example\",\n allocated_storage=20,\n bucket=\"example-bucket-name\",\n db_instance_type=\"db.influx.medium\",\n username=\"admin\",\n password=\"example-password\",\n organization=\"organization\",\n vpc_subnet_ids=[example_subnet.id],\n vpc_security_group_ids=[example_security_group.id],\n name=\"example-db-instance\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleSubnet = new Aws.Ec2.Subnet(\"example\", new()\n {\n VpcId = example.Id,\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var exampleSecurityGroup = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = \"example\",\n VpcId = example.Id,\n });\n\n var exampleDbInstance = new Aws.TimestreamInfluxDB.DbInstance(\"example\", new()\n {\n AllocatedStorage = 20,\n Bucket = \"example-bucket-name\",\n DbInstanceType = \"db.influx.medium\",\n Username = \"admin\",\n Password = \"example-password\",\n Organization = \"organization\",\n VpcSubnetIds = new[]\n {\n exampleSubnet.Id,\n },\n VpcSecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n Name = \"example-db-instance\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreaminfluxdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tVpcId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = timestreaminfluxdb.NewDbInstance(ctx, \"example\", \u0026timestreaminfluxdb.DbInstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(20),\n\t\t\tBucket: pulumi.String(\"example-bucket-name\"),\n\t\t\tDbInstanceType: pulumi.String(\"db.influx.medium\"),\n\t\t\tUsername: pulumi.String(\"admin\"),\n\t\t\tPassword: pulumi.String(\"example-password\"),\n\t\t\tOrganization: pulumi.String(\"organization\"),\n\t\t\tVpcSubnetIds: pulumi.StringArray{\n\t\t\t\texampleSubnet.ID(),\n\t\t\t},\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example-db-instance\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.timestreaminfluxdb.DbInstance;\nimport com.pulumi.aws.timestreaminfluxdb.DbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Vpc(\"example\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n .vpcId(example.id())\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"example\")\n .vpcId(example.id())\n .build());\n\n var exampleDbInstance = new DbInstance(\"exampleDbInstance\", DbInstanceArgs.builder()\n .allocatedStorage(20)\n .bucket(\"example-bucket-name\")\n .dbInstanceType(\"db.influx.medium\")\n .username(\"admin\")\n .password(\"example-password\")\n .organization(\"organization\")\n .vpcSubnetIds(exampleSubnet.id())\n .vpcSecurityGroupIds(exampleSecurityGroup.id())\n .name(\"example-db-instance\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n exampleSubnet:\n type: aws:ec2:Subnet\n name: example\n properties:\n vpcId: ${example.id}\n cidrBlock: 10.0.1.0/24\n exampleSecurityGroup:\n type: aws:ec2:SecurityGroup\n name: example\n properties:\n name: example\n vpcId: ${example.id}\n exampleDbInstance:\n type: aws:timestreaminfluxdb:DbInstance\n name: example\n properties:\n allocatedStorage: 20\n bucket: example-bucket-name\n dbInstanceType: db.influx.medium\n username: admin\n password: example-password\n organization: organization\n vpcSubnetIds:\n - ${exampleSubnet.id}\n vpcSecurityGroupIds:\n - ${exampleSecurityGroup.id}\n name: example-db-instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with S3 Log Delivery Enabled\n\nYou can use an S3 bucket to store logs generated by your Timestream for InfluxDB instance. The following example shows what resources and arguments are required to configure an S3 bucket for logging, including the IAM policy that needs to be set in order to allow Timestream for InfluxDB to place logs in your S3 bucket. The configuration of the required VPC, security group, and subnet have been left out of the example for brevity.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example-s3-bucket\"});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"s3:PutObject\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"timestream-influxdb.amazonaws.com\"],\n }],\n resources: [pulumi.interpolate`${exampleBucketV2.arn}/*`],\n }],\n});\nconst exampleBucketPolicy = new aws.s3.BucketPolicy(\"example\", {\n bucket: exampleBucketV2.id,\n policy: example.apply(example =\u003e example.json),\n});\nconst exampleDbInstance = new aws.timestreaminfluxdb.DbInstance(\"example\", {\n allocatedStorage: 20,\n bucket: \"example-bucket-name\",\n dbInstanceType: \"db.influx.medium\",\n username: \"admin\",\n password: \"example-password\",\n organization: \"organization\",\n vpcSubnetIds: [exampleAwsSubnet.id],\n vpcSecurityGroupIds: [exampleAwsSecurityGroup.id],\n name: \"example-db-instance\",\n logDeliveryConfiguration: {\n s3Configuration: {\n bucketName: exampleBucketV2.name,\n enabled: true,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example-s3-bucket\")\nexample = aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\"s3:PutObject\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"timestream-influxdb.amazonaws.com\"],\n }],\n \"resources\": [example_bucket_v2.arn.apply(lambda arn: f\"{arn}/*\")],\n}])\nexample_bucket_policy = aws.s3.BucketPolicy(\"example\",\n bucket=example_bucket_v2.id,\n policy=example.json)\nexample_db_instance = aws.timestreaminfluxdb.DbInstance(\"example\",\n allocated_storage=20,\n bucket=\"example-bucket-name\",\n db_instance_type=\"db.influx.medium\",\n username=\"admin\",\n password=\"example-password\",\n organization=\"organization\",\n vpc_subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_security_group_ids=[example_aws_security_group[\"id\"]],\n name=\"example-db-instance\",\n log_delivery_configuration={\n \"s3_configuration\": {\n \"bucket_name\": example_bucket_v2.name,\n \"enabled\": True,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-s3-bucket\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"timestream-influxdb.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n $\"{exampleBucketV2.Arn}/*\",\n },\n },\n },\n });\n\n var exampleBucketPolicy = new Aws.S3.BucketPolicy(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDbInstance = new Aws.TimestreamInfluxDB.DbInstance(\"example\", new()\n {\n AllocatedStorage = 20,\n Bucket = \"example-bucket-name\",\n DbInstanceType = \"db.influx.medium\",\n Username = \"admin\",\n Password = \"example-password\",\n Organization = \"organization\",\n VpcSubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcSecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n Name = \"example-db-instance\",\n LogDeliveryConfiguration = new Aws.TimestreamInfluxDB.Inputs.DbInstanceLogDeliveryConfigurationArgs\n {\n S3Configuration = new Aws.TimestreamInfluxDB.Inputs.DbInstanceLogDeliveryConfigurationS3ConfigurationArgs\n {\n BucketName = exampleBucketV2.Name,\n Enabled = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreaminfluxdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-s3-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"timestream-influxdb.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = s3.NewBucketPolicy(ctx, \"example\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = timestreaminfluxdb.NewDbInstance(ctx, \"example\", \u0026timestreaminfluxdb.DbInstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(20),\n\t\t\tBucket: pulumi.String(\"example-bucket-name\"),\n\t\t\tDbInstanceType: pulumi.String(\"db.influx.medium\"),\n\t\t\tUsername: pulumi.String(\"admin\"),\n\t\t\tPassword: pulumi.String(\"example-password\"),\n\t\t\tOrganization: pulumi.String(\"organization\"),\n\t\t\tVpcSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tName: pulumi.String(\"example-db-instance\"),\n\t\t\tLogDeliveryConfiguration: \u0026timestreaminfluxdb.DbInstanceLogDeliveryConfigurationArgs{\n\t\t\t\tS3Configuration: \u0026timestreaminfluxdb.DbInstanceLogDeliveryConfigurationS3ConfigurationArgs{\n\t\t\t\t\tBucketName: exampleBucketV2.Name,\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.timestreaminfluxdb.DbInstance;\nimport com.pulumi.aws.timestreaminfluxdb.DbInstanceArgs;\nimport com.pulumi.aws.timestreaminfluxdb.inputs.DbInstanceLogDeliveryConfigurationArgs;\nimport com.pulumi.aws.timestreaminfluxdb.inputs.DbInstanceLogDeliveryConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example-s3-bucket\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"s3:PutObject\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"timestream-influxdb.amazonaws.com\")\n .build())\n .resources(exampleBucketV2.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var exampleBucketPolicy = new BucketPolicy(\"exampleBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(exampleBucketV2.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleDbInstance = new DbInstance(\"exampleDbInstance\", DbInstanceArgs.builder()\n .allocatedStorage(20)\n .bucket(\"example-bucket-name\")\n .dbInstanceType(\"db.influx.medium\")\n .username(\"admin\")\n .password(\"example-password\")\n .organization(\"organization\")\n .vpcSubnetIds(exampleAwsSubnet.id())\n .vpcSecurityGroupIds(exampleAwsSecurityGroup.id())\n .name(\"example-db-instance\")\n .logDeliveryConfiguration(DbInstanceLogDeliveryConfigurationArgs.builder()\n .s3Configuration(DbInstanceLogDeliveryConfigurationS3ConfigurationArgs.builder()\n .bucketName(exampleBucketV2.name())\n .enabled(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example-s3-bucket\n exampleBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n policy: ${example.json}\n exampleDbInstance:\n type: aws:timestreaminfluxdb:DbInstance\n name: example\n properties:\n allocatedStorage: 20\n bucket: example-bucket-name\n dbInstanceType: db.influx.medium\n username: admin\n password: example-password\n organization: organization\n vpcSubnetIds:\n - ${exampleAwsSubnet.id}\n vpcSecurityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n name: example-db-instance\n logDeliveryConfiguration:\n s3Configuration:\n bucketName: ${exampleBucketV2.name}\n enabled: true\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - s3:PutObject\n principals:\n - type: Service\n identifiers:\n - timestream-influxdb.amazonaws.com\n resources:\n - ${exampleBucketV2.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with MultiAZ Deployment\n\nTo use multi-region availability, at least two subnets must be created in different availability zones and used with your Timestream for InfluxDB instance.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example1 = new aws.ec2.Subnet(\"example_1\", {\n vpcId: exampleAwsVpc.id,\n cidrBlock: \"10.0.1.0/24\",\n availabilityZone: \"us-west-2a\",\n});\nconst example2 = new aws.ec2.Subnet(\"example_2\", {\n vpcId: exampleAwsVpc.id,\n cidrBlock: \"10.0.2.0/24\",\n availabilityZone: \"us-west-2b\",\n});\nconst example = new aws.timestreaminfluxdb.DbInstance(\"example\", {\n allocatedStorage: 20,\n bucket: \"example-bucket-name\",\n dbInstanceType: \"db.influx.medium\",\n deploymentType: \"WITH_MULTIAZ_STANDBY\",\n username: \"admin\",\n password: \"example-password\",\n organization: \"organization\",\n vpcSubnetIds: [\n example1.id,\n example2.id,\n ],\n vpcSecurityGroupIds: [exampleAwsSecurityGroup.id],\n name: \"example-db-instance\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample1 = aws.ec2.Subnet(\"example_1\",\n vpc_id=example_aws_vpc[\"id\"],\n cidr_block=\"10.0.1.0/24\",\n availability_zone=\"us-west-2a\")\nexample2 = aws.ec2.Subnet(\"example_2\",\n vpc_id=example_aws_vpc[\"id\"],\n cidr_block=\"10.0.2.0/24\",\n availability_zone=\"us-west-2b\")\nexample = aws.timestreaminfluxdb.DbInstance(\"example\",\n allocated_storage=20,\n bucket=\"example-bucket-name\",\n db_instance_type=\"db.influx.medium\",\n deployment_type=\"WITH_MULTIAZ_STANDBY\",\n username=\"admin\",\n password=\"example-password\",\n organization=\"organization\",\n vpc_subnet_ids=[\n example1.id,\n example2.id,\n ],\n vpc_security_group_ids=[example_aws_security_group[\"id\"]],\n name=\"example-db-instance\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example1 = new Aws.Ec2.Subnet(\"example_1\", new()\n {\n VpcId = exampleAwsVpc.Id,\n CidrBlock = \"10.0.1.0/24\",\n AvailabilityZone = \"us-west-2a\",\n });\n\n var example2 = new Aws.Ec2.Subnet(\"example_2\", new()\n {\n VpcId = exampleAwsVpc.Id,\n CidrBlock = \"10.0.2.0/24\",\n AvailabilityZone = \"us-west-2b\",\n });\n\n var example = new Aws.TimestreamInfluxDB.DbInstance(\"example\", new()\n {\n AllocatedStorage = 20,\n Bucket = \"example-bucket-name\",\n DbInstanceType = \"db.influx.medium\",\n DeploymentType = \"WITH_MULTIAZ_STANDBY\",\n Username = \"admin\",\n Password = \"example-password\",\n Organization = \"organization\",\n VpcSubnetIds = new[]\n {\n example1.Id,\n example2.Id,\n },\n VpcSecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n Name = \"example-db-instance\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreaminfluxdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample1, err := ec2.NewSubnet(ctx, \"example_1\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := ec2.NewSubnet(ctx, \"example_2\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2b\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = timestreaminfluxdb.NewDbInstance(ctx, \"example\", \u0026timestreaminfluxdb.DbInstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(20),\n\t\t\tBucket: pulumi.String(\"example-bucket-name\"),\n\t\t\tDbInstanceType: pulumi.String(\"db.influx.medium\"),\n\t\t\tDeploymentType: pulumi.String(\"WITH_MULTIAZ_STANDBY\"),\n\t\t\tUsername: pulumi.String(\"admin\"),\n\t\t\tPassword: pulumi.String(\"example-password\"),\n\t\t\tOrganization: pulumi.String(\"organization\"),\n\t\t\tVpcSubnetIds: pulumi.StringArray{\n\t\t\t\texample1.ID(),\n\t\t\t\texample2.ID(),\n\t\t\t},\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tName: pulumi.String(\"example-db-instance\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.timestreaminfluxdb.DbInstance;\nimport com.pulumi.aws.timestreaminfluxdb.DbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example1 = new Subnet(\"example1\", SubnetArgs.builder()\n .vpcId(exampleAwsVpc.id())\n .cidrBlock(\"10.0.1.0/24\")\n .availabilityZone(\"us-west-2a\")\n .build());\n\n var example2 = new Subnet(\"example2\", SubnetArgs.builder()\n .vpcId(exampleAwsVpc.id())\n .cidrBlock(\"10.0.2.0/24\")\n .availabilityZone(\"us-west-2b\")\n .build());\n\n var example = new DbInstance(\"example\", DbInstanceArgs.builder()\n .allocatedStorage(20)\n .bucket(\"example-bucket-name\")\n .dbInstanceType(\"db.influx.medium\")\n .deploymentType(\"WITH_MULTIAZ_STANDBY\")\n .username(\"admin\")\n .password(\"example-password\")\n .organization(\"organization\")\n .vpcSubnetIds( \n example1.id(),\n example2.id())\n .vpcSecurityGroupIds(exampleAwsSecurityGroup.id())\n .name(\"example-db-instance\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example1:\n type: aws:ec2:Subnet\n name: example_1\n properties:\n vpcId: ${exampleAwsVpc.id}\n cidrBlock: 10.0.1.0/24\n availabilityZone: us-west-2a\n example2:\n type: aws:ec2:Subnet\n name: example_2\n properties:\n vpcId: ${exampleAwsVpc.id}\n cidrBlock: 10.0.2.0/24\n availabilityZone: us-west-2b\n example:\n type: aws:timestreaminfluxdb:DbInstance\n properties:\n allocatedStorage: 20\n bucket: example-bucket-name\n dbInstanceType: db.influx.medium\n deploymentType: WITH_MULTIAZ_STANDBY\n username: admin\n password: example-password\n organization: organization\n vpcSubnetIds:\n - ${example1.id}\n - ${example2.id}\n vpcSecurityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n name: example-db-instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Timestream for InfluxDB Db Instance using its identifier. For example:\n\n```sh\n$ pulumi import aws:timestreaminfluxdb/dbInstance:DbInstance example 12345abcde\n```\n", "properties": { "allocatedStorage": { "type": "integer", @@ -372800,7 +372800,7 @@ } }, "aws:transcribe/languageModel:LanguageModel": { - "description": "Resource for managing an AWS Transcribe LanguageModel.\n\n\u003e This resource can take a significant amount of time to provision. See Language Model [FAQ](https://aws.amazon.com/transcribe/faqs/) for more details.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"transcribe.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: example.then(example =\u003e example.json),\n});\nconst testPolicy = new aws.iam.RolePolicy(\"test_policy\", {\n name: \"example\",\n role: exampleRole.id,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"s3:GetObject\",\n \"s3:ListBucket\",\n ],\n Effect: \"Allow\",\n Resource: [\"*\"],\n }],\n }),\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {\n bucket: \"example-transcribe\",\n forceDestroy: true,\n});\nconst object = new aws.s3.BucketObjectv2(\"object\", {\n bucket: exampleBucketV2.id,\n key: \"transcribe/test1.txt\",\n source: new pulumi.asset.FileAsset(\"test1.txt\"),\n});\nconst exampleLanguageModel = new aws.transcribe.LanguageModel(\"example\", {\n modelName: \"example\",\n baseModelName: \"NarrowBand\",\n inputDataConfig: {\n dataAccessRoleArn: exampleRole.arn,\n s3Uri: pulumi.interpolate`s3://${exampleBucketV2.id}/transcribe/`,\n },\n languageCode: \"en-US\",\n tags: {\n ENVIRONMENT: \"development\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"transcribe.amazonaws.com\"],\n }],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=example.json)\ntest_policy = aws.iam.RolePolicy(\"test_policy\",\n name=\"example\",\n role=example_role.id,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"s3:GetObject\",\n \"s3:ListBucket\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\"*\"],\n }],\n }))\nexample_bucket_v2 = aws.s3.BucketV2(\"example\",\n bucket=\"example-transcribe\",\n force_destroy=True)\nobject = aws.s3.BucketObjectv2(\"object\",\n bucket=example_bucket_v2.id,\n key=\"transcribe/test1.txt\",\n source=pulumi.FileAsset(\"test1.txt\"))\nexample_language_model = aws.transcribe.LanguageModel(\"example\",\n model_name=\"example\",\n base_model_name=\"NarrowBand\",\n input_data_config={\n \"data_access_role_arn\": example_role.arn,\n \"s3_uri\": example_bucket_v2.id.apply(lambda id: f\"s3://{id}/transcribe/\"),\n },\n language_code=\"en-US\",\n tags={\n \"ENVIRONMENT\": \"development\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transcribe.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testPolicy = new Aws.Iam.RolePolicy(\"test_policy\", new()\n {\n Name = \"example\",\n Role = exampleRole.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"s3:GetObject\",\n \"s3:ListBucket\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = new[]\n {\n \"*\",\n },\n },\n },\n }),\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-transcribe\",\n ForceDestroy = true,\n });\n\n var @object = new Aws.S3.BucketObjectv2(\"object\", new()\n {\n Bucket = exampleBucketV2.Id,\n Key = \"transcribe/test1.txt\",\n Source = new FileAsset(\"test1.txt\"),\n });\n\n var exampleLanguageModel = new Aws.Transcribe.LanguageModel(\"example\", new()\n {\n ModelName = \"example\",\n BaseModelName = \"NarrowBand\",\n InputDataConfig = new Aws.Transcribe.Inputs.LanguageModelInputDataConfigArgs\n {\n DataAccessRoleArn = exampleRole.Arn,\n S3Uri = exampleBucketV2.Id.Apply(id =\u003e $\"s3://{id}/transcribe/\"),\n },\n LanguageCode = \"en-US\",\n Tags = \n {\n { \"ENVIRONMENT\", \"development\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transcribe\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transcribe.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"s3:GetObject\",\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\t_, err = iam.NewRolePolicy(ctx, \"test_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: exampleRole.ID(),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-transcribe\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"object\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tKey: pulumi.String(\"transcribe/test1.txt\"),\n\t\t\tSource: pulumi.NewFileAsset(\"test1.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transcribe.NewLanguageModel(ctx, \"example\", \u0026transcribe.LanguageModelArgs{\n\t\t\tModelName: pulumi.String(\"example\"),\n\t\t\tBaseModelName: pulumi.String(\"NarrowBand\"),\n\t\t\tInputDataConfig: \u0026transcribe.LanguageModelInputDataConfigArgs{\n\t\t\t\tDataAccessRoleArn: exampleRole.Arn,\n\t\t\t\tS3Uri: exampleBucketV2.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/transcribe/\", id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENVIRONMENT\": pulumi.String(\"development\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.transcribe.LanguageModel;\nimport com.pulumi.aws.transcribe.LanguageModelArgs;\nimport com.pulumi.aws.transcribe.inputs.LanguageModelInputDataConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transcribe.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testPolicy = new RolePolicy(\"testPolicy\", RolePolicyArgs.builder()\n .name(\"example\")\n .role(exampleRole.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"s3:GetObject\", \n \"s3:ListBucket\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", jsonArray(\"*\"))\n )))\n )))\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example-transcribe\")\n .forceDestroy(true)\n .build());\n\n var object = new BucketObjectv2(\"object\", BucketObjectv2Args.builder()\n .bucket(exampleBucketV2.id())\n .key(\"transcribe/test1.txt\")\n .source(new FileAsset(\"test1.txt\"))\n .build());\n\n var exampleLanguageModel = new LanguageModel(\"exampleLanguageModel\", LanguageModelArgs.builder()\n .modelName(\"example\")\n .baseModelName(\"NarrowBand\")\n .inputDataConfig(LanguageModelInputDataConfigArgs.builder()\n .dataAccessRoleArn(exampleRole.arn())\n .s3Uri(exampleBucketV2.id().applyValue(id -\u003e String.format(\"s3://%s/transcribe/\", id)))\n .build())\n .languageCode(\"en-US\")\n .tags(Map.of(\"ENVIRONMENT\", \"development\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${example.json}\n testPolicy:\n type: aws:iam:RolePolicy\n name: test_policy\n properties:\n name: example\n role: ${exampleRole.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - s3:GetObject\n - s3:ListBucket\n Effect: Allow\n Resource:\n - '*'\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example-transcribe\n forceDestroy: true\n object:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${exampleBucketV2.id}\n key: transcribe/test1.txt\n source:\n fn::FileAsset: test1.txt\n exampleLanguageModel:\n type: aws:transcribe:LanguageModel\n name: example\n properties:\n modelName: example\n baseModelName: NarrowBand\n inputDataConfig:\n dataAccessRoleArn: ${exampleRole.arn}\n s3Uri: s3://${exampleBucketV2.id}/transcribe/\n languageCode: en-US\n tags:\n ENVIRONMENT: development\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - transcribe.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transcribe LanguageModel using the `model_name`. For example:\n\n```sh\n$ pulumi import aws:transcribe/languageModel:LanguageModel example example-name\n```\n", + "description": "Resource for managing an AWS Transcribe LanguageModel.\n\n\u003e This resource can take a significant amount of time to provision. See Language Model [FAQ](https://aws.amazon.com/transcribe/faqs/) for more details.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"transcribe.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: example.then(example =\u003e example.json),\n});\nconst testPolicy = new aws.iam.RolePolicy(\"test_policy\", {\n name: \"example\",\n role: exampleRole.id,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"s3:GetObject\",\n \"s3:ListBucket\",\n ],\n Effect: \"Allow\",\n Resource: [\"*\"],\n }],\n }),\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {\n bucket: \"example-transcribe\",\n forceDestroy: true,\n});\nconst object = new aws.s3.BucketObjectv2(\"object\", {\n bucket: exampleBucketV2.id,\n key: \"transcribe/test1.txt\",\n source: new pulumi.asset.FileAsset(\"test1.txt\"),\n});\nconst exampleLanguageModel = new aws.transcribe.LanguageModel(\"example\", {\n modelName: \"example\",\n baseModelName: \"NarrowBand\",\n inputDataConfig: {\n dataAccessRoleArn: exampleRole.arn,\n s3Uri: pulumi.interpolate`s3://${exampleBucketV2.id}/transcribe/`,\n },\n languageCode: \"en-US\",\n tags: {\n ENVIRONMENT: \"development\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"transcribe.amazonaws.com\"],\n }],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=example.json)\ntest_policy = aws.iam.RolePolicy(\"test_policy\",\n name=\"example\",\n role=example_role.id,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"s3:GetObject\",\n \"s3:ListBucket\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\"*\"],\n }],\n }))\nexample_bucket_v2 = aws.s3.BucketV2(\"example\",\n bucket=\"example-transcribe\",\n force_destroy=True)\nobject = aws.s3.BucketObjectv2(\"object\",\n bucket=example_bucket_v2.id,\n key=\"transcribe/test1.txt\",\n source=pulumi.FileAsset(\"test1.txt\"))\nexample_language_model = aws.transcribe.LanguageModel(\"example\",\n model_name=\"example\",\n base_model_name=\"NarrowBand\",\n input_data_config={\n \"data_access_role_arn\": example_role.arn,\n \"s3_uri\": example_bucket_v2.id.apply(lambda id: f\"s3://{id}/transcribe/\"),\n },\n language_code=\"en-US\",\n tags={\n \"ENVIRONMENT\": \"development\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transcribe.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testPolicy = new Aws.Iam.RolePolicy(\"test_policy\", new()\n {\n Name = \"example\",\n Role = exampleRole.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"s3:GetObject\",\n \"s3:ListBucket\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = new[]\n {\n \"*\",\n },\n },\n },\n }),\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-transcribe\",\n ForceDestroy = true,\n });\n\n var @object = new Aws.S3.BucketObjectv2(\"object\", new()\n {\n Bucket = exampleBucketV2.Id,\n Key = \"transcribe/test1.txt\",\n Source = new FileAsset(\"test1.txt\"),\n });\n\n var exampleLanguageModel = new Aws.Transcribe.LanguageModel(\"example\", new()\n {\n ModelName = \"example\",\n BaseModelName = \"NarrowBand\",\n InputDataConfig = new Aws.Transcribe.Inputs.LanguageModelInputDataConfigArgs\n {\n DataAccessRoleArn = exampleRole.Arn,\n S3Uri = exampleBucketV2.Id.Apply(id =\u003e $\"s3://{id}/transcribe/\"),\n },\n LanguageCode = \"en-US\",\n Tags = \n {\n { \"ENVIRONMENT\", \"development\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transcribe\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transcribe.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"s3:GetObject\",\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\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\tjson0 := string(tmpJSON0)\n\t\t_, err = iam.NewRolePolicy(ctx, \"test_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: exampleRole.ID(),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-transcribe\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"object\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tKey: pulumi.String(\"transcribe/test1.txt\"),\n\t\t\tSource: pulumi.NewFileAsset(\"test1.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transcribe.NewLanguageModel(ctx, \"example\", \u0026transcribe.LanguageModelArgs{\n\t\t\tModelName: pulumi.String(\"example\"),\n\t\t\tBaseModelName: pulumi.String(\"NarrowBand\"),\n\t\t\tInputDataConfig: \u0026transcribe.LanguageModelInputDataConfigArgs{\n\t\t\t\tDataAccessRoleArn: exampleRole.Arn,\n\t\t\t\tS3Uri: exampleBucketV2.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/transcribe/\", id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENVIRONMENT\": pulumi.String(\"development\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.transcribe.LanguageModel;\nimport com.pulumi.aws.transcribe.LanguageModelArgs;\nimport com.pulumi.aws.transcribe.inputs.LanguageModelInputDataConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transcribe.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testPolicy = new RolePolicy(\"testPolicy\", RolePolicyArgs.builder()\n .name(\"example\")\n .role(exampleRole.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"s3:GetObject\", \n \"s3:ListBucket\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", jsonArray(\"*\"))\n )))\n )))\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example-transcribe\")\n .forceDestroy(true)\n .build());\n\n var object = new BucketObjectv2(\"object\", BucketObjectv2Args.builder()\n .bucket(exampleBucketV2.id())\n .key(\"transcribe/test1.txt\")\n .source(new FileAsset(\"test1.txt\"))\n .build());\n\n var exampleLanguageModel = new LanguageModel(\"exampleLanguageModel\", LanguageModelArgs.builder()\n .modelName(\"example\")\n .baseModelName(\"NarrowBand\")\n .inputDataConfig(LanguageModelInputDataConfigArgs.builder()\n .dataAccessRoleArn(exampleRole.arn())\n .s3Uri(exampleBucketV2.id().applyValue(id -\u003e String.format(\"s3://%s/transcribe/\", id)))\n .build())\n .languageCode(\"en-US\")\n .tags(Map.of(\"ENVIRONMENT\", \"development\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${example.json}\n testPolicy:\n type: aws:iam:RolePolicy\n name: test_policy\n properties:\n name: example\n role: ${exampleRole.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - s3:GetObject\n - s3:ListBucket\n Effect: Allow\n Resource:\n - '*'\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example-transcribe\n forceDestroy: true\n object:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${exampleBucketV2.id}\n key: transcribe/test1.txt\n source:\n fn::FileAsset: test1.txt\n exampleLanguageModel:\n type: aws:transcribe:LanguageModel\n name: example\n properties:\n modelName: example\n baseModelName: NarrowBand\n inputDataConfig:\n dataAccessRoleArn: ${exampleRole.arn}\n s3Uri: s3://${exampleBucketV2.id}/transcribe/\n languageCode: en-US\n tags:\n ENVIRONMENT: development\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - transcribe.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transcribe LanguageModel using the `model_name`. For example:\n\n```sh\n$ pulumi import aws:transcribe/languageModel:LanguageModel example example-name\n```\n", "properties": { "arn": { "type": "string", @@ -372923,7 +372923,7 @@ } }, "aws:transcribe/medicalVocabulary:MedicalVocabulary": { - "description": "Resource for managing an AWS Transcribe MedicalVocabulary.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {\n bucket: \"example-medical-vocab-123\",\n forceDestroy: true,\n});\nconst object = new aws.s3.BucketObjectv2(\"object\", {\n bucket: example.id,\n key: \"transcribe/test1.txt\",\n source: new pulumi.asset.FileAsset(\"test.txt\"),\n});\nconst exampleMedicalVocabulary = new aws.transcribe.MedicalVocabulary(\"example\", {\n vocabularyName: \"example\",\n languageCode: \"en-US\",\n vocabularyFileUri: pulumi.interpolate`s3://${example.id}/${object.key}`,\n tags: {\n tag1: \"value1\",\n tag2: \"value3\",\n },\n}, {\n dependsOn: [object],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\",\n bucket=\"example-medical-vocab-123\",\n force_destroy=True)\nobject = aws.s3.BucketObjectv2(\"object\",\n bucket=example.id,\n key=\"transcribe/test1.txt\",\n source=pulumi.FileAsset(\"test.txt\"))\nexample_medical_vocabulary = aws.transcribe.MedicalVocabulary(\"example\",\n vocabulary_name=\"example\",\n language_code=\"en-US\",\n vocabulary_file_uri=pulumi.Output.all(\n id=example.id,\n key=object.key\n).apply(lambda resolved_outputs: f\"s3://{resolved_outputs['id']}/{resolved_outputs['key']}\")\n,\n tags={\n \"tag1\": \"value1\",\n \"tag2\": \"value3\",\n },\n opts = pulumi.ResourceOptions(depends_on=[object]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-medical-vocab-123\",\n ForceDestroy = true,\n });\n\n var @object = new Aws.S3.BucketObjectv2(\"object\", new()\n {\n Bucket = example.Id,\n Key = \"transcribe/test1.txt\",\n Source = new FileAsset(\"test.txt\"),\n });\n\n var exampleMedicalVocabulary = new Aws.Transcribe.MedicalVocabulary(\"example\", new()\n {\n VocabularyName = \"example\",\n LanguageCode = \"en-US\",\n VocabularyFileUri = Output.Tuple(example.Id, @object.Key).Apply(values =\u003e\n {\n var id = values.Item1;\n var key = values.Item2;\n return $\"s3://{id}/{key}\";\n }),\n Tags = \n {\n { \"tag1\", \"value1\" },\n { \"tag2\", \"value3\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n @object,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transcribe\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-medical-vocab-123\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tobject, err := s3.NewBucketObjectv2(ctx, \"object\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tKey: pulumi.String(\"transcribe/test1.txt\"),\n\t\t\tSource: pulumi.NewFileAsset(\"test.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transcribe.NewMedicalVocabulary(ctx, \"example\", \u0026transcribe.MedicalVocabularyArgs{\n\t\t\tVocabularyName: pulumi.String(\"example\"),\n\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\tVocabularyFileUri: pulumi.All(example.ID(), object.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", id, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\n\t\t\t\t\"tag2\": pulumi.String(\"value3\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tobject,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.transcribe.MedicalVocabulary;\nimport com.pulumi.aws.transcribe.MedicalVocabularyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example-medical-vocab-123\")\n .forceDestroy(true)\n .build());\n\n var object = new BucketObjectv2(\"object\", BucketObjectv2Args.builder()\n .bucket(example.id())\n .key(\"transcribe/test1.txt\")\n .source(new FileAsset(\"test.txt\"))\n .build());\n\n var exampleMedicalVocabulary = new MedicalVocabulary(\"exampleMedicalVocabulary\", MedicalVocabularyArgs.builder()\n .vocabularyName(\"example\")\n .languageCode(\"en-US\")\n .vocabularyFileUri(Output.tuple(example.id(), object.key()).applyValue(values -\u003e {\n var id = values.t1;\n var key = values.t2;\n return String.format(\"s3://%s/%s\", id,key);\n }))\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"value1\"),\n Map.entry(\"tag2\", \"value3\")\n ))\n .build(), CustomResourceOptions.builder()\n .dependsOn(object)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example-medical-vocab-123\n forceDestroy: true\n object:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${example.id}\n key: transcribe/test1.txt\n source:\n fn::FileAsset: test.txt\n exampleMedicalVocabulary:\n type: aws:transcribe:MedicalVocabulary\n name: example\n properties:\n vocabularyName: example\n languageCode: en-US\n vocabularyFileUri: s3://${example.id}/${object.key}\n tags:\n tag1: value1\n tag2: value3\n options:\n dependsOn:\n - ${object}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transcribe MedicalVocabulary using the `vocabulary_name`. For example:\n\n```sh\n$ pulumi import aws:transcribe/medicalVocabulary:MedicalVocabulary example example-name\n```\n", + "description": "Resource for managing an AWS Transcribe MedicalVocabulary.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {\n bucket: \"example-medical-vocab-123\",\n forceDestroy: true,\n});\nconst object = new aws.s3.BucketObjectv2(\"object\", {\n bucket: example.id,\n key: \"transcribe/test1.txt\",\n source: new pulumi.asset.FileAsset(\"test.txt\"),\n});\nconst exampleMedicalVocabulary = new aws.transcribe.MedicalVocabulary(\"example\", {\n vocabularyName: \"example\",\n languageCode: \"en-US\",\n vocabularyFileUri: pulumi.interpolate`s3://${example.id}/${object.key}`,\n tags: {\n tag1: \"value1\",\n tag2: \"value3\",\n },\n}, {\n dependsOn: [object],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\",\n bucket=\"example-medical-vocab-123\",\n force_destroy=True)\nobject = aws.s3.BucketObjectv2(\"object\",\n bucket=example.id,\n key=\"transcribe/test1.txt\",\n source=pulumi.FileAsset(\"test.txt\"))\nexample_medical_vocabulary = aws.transcribe.MedicalVocabulary(\"example\",\n vocabulary_name=\"example\",\n language_code=\"en-US\",\n vocabulary_file_uri=pulumi.Output.all(\n id=example.id,\n key=object.key\n).apply(lambda resolved_outputs: f\"s3://{resolved_outputs['id']}/{resolved_outputs['key']}\")\n,\n tags={\n \"tag1\": \"value1\",\n \"tag2\": \"value3\",\n },\n opts = pulumi.ResourceOptions(depends_on=[object]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-medical-vocab-123\",\n ForceDestroy = true,\n });\n\n var @object = new Aws.S3.BucketObjectv2(\"object\", new()\n {\n Bucket = example.Id,\n Key = \"transcribe/test1.txt\",\n Source = new FileAsset(\"test.txt\"),\n });\n\n var exampleMedicalVocabulary = new Aws.Transcribe.MedicalVocabulary(\"example\", new()\n {\n VocabularyName = \"example\",\n LanguageCode = \"en-US\",\n VocabularyFileUri = Output.Tuple(example.Id, @object.Key).Apply(values =\u003e\n {\n var id = values.Item1;\n var key = values.Item2;\n return $\"s3://{id}/{key}\";\n }),\n Tags = \n {\n { \"tag1\", \"value1\" },\n { \"tag2\", \"value3\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n @object,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transcribe\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-medical-vocab-123\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tobject, err := s3.NewBucketObjectv2(ctx, \"object\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tKey: pulumi.String(\"transcribe/test1.txt\"),\n\t\t\tSource: pulumi.NewFileAsset(\"test.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transcribe.NewMedicalVocabulary(ctx, \"example\", \u0026transcribe.MedicalVocabularyArgs{\n\t\t\tVocabularyName: pulumi.String(\"example\"),\n\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\tVocabularyFileUri: pulumi.All(example.ID(), object.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", id, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\n\t\t\t\t\"tag2\": pulumi.String(\"value3\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tobject,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.transcribe.MedicalVocabulary;\nimport com.pulumi.aws.transcribe.MedicalVocabularyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example-medical-vocab-123\")\n .forceDestroy(true)\n .build());\n\n var object = new BucketObjectv2(\"object\", BucketObjectv2Args.builder()\n .bucket(example.id())\n .key(\"transcribe/test1.txt\")\n .source(new FileAsset(\"test.txt\"))\n .build());\n\n var exampleMedicalVocabulary = new MedicalVocabulary(\"exampleMedicalVocabulary\", MedicalVocabularyArgs.builder()\n .vocabularyName(\"example\")\n .languageCode(\"en-US\")\n .vocabularyFileUri(Output.tuple(example.id(), object.key()).applyValue(values -\u003e {\n var id = values.t1;\n var key = values.t2;\n return String.format(\"s3://%s/%s\", id,key);\n }))\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"value1\"),\n Map.entry(\"tag2\", \"value3\")\n ))\n .build(), CustomResourceOptions.builder()\n .dependsOn(object)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example-medical-vocab-123\n forceDestroy: true\n object:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${example.id}\n key: transcribe/test1.txt\n source:\n fn::FileAsset: test.txt\n exampleMedicalVocabulary:\n type: aws:transcribe:MedicalVocabulary\n name: example\n properties:\n vocabularyName: example\n languageCode: en-US\n vocabularyFileUri: s3://${example.id}/${object.key}\n tags:\n tag1: value1\n tag2: value3\n options:\n dependson:\n - ${object}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transcribe MedicalVocabulary using the `vocabulary_name`. For example:\n\n```sh\n$ pulumi import aws:transcribe/medicalVocabulary:MedicalVocabulary example example-name\n```\n", "properties": { "arn": { "type": "string", @@ -373040,7 +373040,7 @@ } }, "aws:transcribe/vocabulary:Vocabulary": { - "description": "Resource for managing an AWS Transcribe Vocabulary.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {\n bucket: \"example-vocab-123\",\n forceDestroy: true,\n});\nconst object = new aws.s3.BucketObjectv2(\"object\", {\n bucket: example.id,\n key: \"transcribe/test1.txt\",\n source: new pulumi.asset.FileAsset(\"test.txt\"),\n});\nconst exampleVocabulary = new aws.transcribe.Vocabulary(\"example\", {\n vocabularyName: \"example\",\n languageCode: \"en-US\",\n vocabularyFileUri: pulumi.interpolate`s3://${example.id}/${object.key}`,\n tags: {\n tag1: \"value1\",\n tag2: \"value3\",\n },\n}, {\n dependsOn: [object],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\",\n bucket=\"example-vocab-123\",\n force_destroy=True)\nobject = aws.s3.BucketObjectv2(\"object\",\n bucket=example.id,\n key=\"transcribe/test1.txt\",\n source=pulumi.FileAsset(\"test.txt\"))\nexample_vocabulary = aws.transcribe.Vocabulary(\"example\",\n vocabulary_name=\"example\",\n language_code=\"en-US\",\n vocabulary_file_uri=pulumi.Output.all(\n id=example.id,\n key=object.key\n).apply(lambda resolved_outputs: f\"s3://{resolved_outputs['id']}/{resolved_outputs['key']}\")\n,\n tags={\n \"tag1\": \"value1\",\n \"tag2\": \"value3\",\n },\n opts = pulumi.ResourceOptions(depends_on=[object]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-vocab-123\",\n ForceDestroy = true,\n });\n\n var @object = new Aws.S3.BucketObjectv2(\"object\", new()\n {\n Bucket = example.Id,\n Key = \"transcribe/test1.txt\",\n Source = new FileAsset(\"test.txt\"),\n });\n\n var exampleVocabulary = new Aws.Transcribe.Vocabulary(\"example\", new()\n {\n VocabularyName = \"example\",\n LanguageCode = \"en-US\",\n VocabularyFileUri = Output.Tuple(example.Id, @object.Key).Apply(values =\u003e\n {\n var id = values.Item1;\n var key = values.Item2;\n return $\"s3://{id}/{key}\";\n }),\n Tags = \n {\n { \"tag1\", \"value1\" },\n { \"tag2\", \"value3\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n @object,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transcribe\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-vocab-123\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tobject, err := s3.NewBucketObjectv2(ctx, \"object\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tKey: pulumi.String(\"transcribe/test1.txt\"),\n\t\t\tSource: pulumi.NewFileAsset(\"test.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transcribe.NewVocabulary(ctx, \"example\", \u0026transcribe.VocabularyArgs{\n\t\t\tVocabularyName: pulumi.String(\"example\"),\n\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\tVocabularyFileUri: pulumi.All(example.ID(), object.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", id, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\n\t\t\t\t\"tag2\": pulumi.String(\"value3\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tobject,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.transcribe.Vocabulary;\nimport com.pulumi.aws.transcribe.VocabularyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example-vocab-123\")\n .forceDestroy(true)\n .build());\n\n var object = new BucketObjectv2(\"object\", BucketObjectv2Args.builder()\n .bucket(example.id())\n .key(\"transcribe/test1.txt\")\n .source(new FileAsset(\"test.txt\"))\n .build());\n\n var exampleVocabulary = new Vocabulary(\"exampleVocabulary\", VocabularyArgs.builder()\n .vocabularyName(\"example\")\n .languageCode(\"en-US\")\n .vocabularyFileUri(Output.tuple(example.id(), object.key()).applyValue(values -\u003e {\n var id = values.t1;\n var key = values.t2;\n return String.format(\"s3://%s/%s\", id,key);\n }))\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"value1\"),\n Map.entry(\"tag2\", \"value3\")\n ))\n .build(), CustomResourceOptions.builder()\n .dependsOn(object)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example-vocab-123\n forceDestroy: true\n object:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${example.id}\n key: transcribe/test1.txt\n source:\n fn::FileAsset: test.txt\n exampleVocabulary:\n type: aws:transcribe:Vocabulary\n name: example\n properties:\n vocabularyName: example\n languageCode: en-US\n vocabularyFileUri: s3://${example.id}/${object.key}\n tags:\n tag1: value1\n tag2: value3\n options:\n dependsOn:\n - ${object}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transcribe Vocabulary using the `vocabulary_name`. For example:\n\n```sh\n$ pulumi import aws:transcribe/vocabulary:Vocabulary example example-name\n```\n", + "description": "Resource for managing an AWS Transcribe Vocabulary.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {\n bucket: \"example-vocab-123\",\n forceDestroy: true,\n});\nconst object = new aws.s3.BucketObjectv2(\"object\", {\n bucket: example.id,\n key: \"transcribe/test1.txt\",\n source: new pulumi.asset.FileAsset(\"test.txt\"),\n});\nconst exampleVocabulary = new aws.transcribe.Vocabulary(\"example\", {\n vocabularyName: \"example\",\n languageCode: \"en-US\",\n vocabularyFileUri: pulumi.interpolate`s3://${example.id}/${object.key}`,\n tags: {\n tag1: \"value1\",\n tag2: \"value3\",\n },\n}, {\n dependsOn: [object],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\",\n bucket=\"example-vocab-123\",\n force_destroy=True)\nobject = aws.s3.BucketObjectv2(\"object\",\n bucket=example.id,\n key=\"transcribe/test1.txt\",\n source=pulumi.FileAsset(\"test.txt\"))\nexample_vocabulary = aws.transcribe.Vocabulary(\"example\",\n vocabulary_name=\"example\",\n language_code=\"en-US\",\n vocabulary_file_uri=pulumi.Output.all(\n id=example.id,\n key=object.key\n).apply(lambda resolved_outputs: f\"s3://{resolved_outputs['id']}/{resolved_outputs['key']}\")\n,\n tags={\n \"tag1\": \"value1\",\n \"tag2\": \"value3\",\n },\n opts = pulumi.ResourceOptions(depends_on=[object]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-vocab-123\",\n ForceDestroy = true,\n });\n\n var @object = new Aws.S3.BucketObjectv2(\"object\", new()\n {\n Bucket = example.Id,\n Key = \"transcribe/test1.txt\",\n Source = new FileAsset(\"test.txt\"),\n });\n\n var exampleVocabulary = new Aws.Transcribe.Vocabulary(\"example\", new()\n {\n VocabularyName = \"example\",\n LanguageCode = \"en-US\",\n VocabularyFileUri = Output.Tuple(example.Id, @object.Key).Apply(values =\u003e\n {\n var id = values.Item1;\n var key = values.Item2;\n return $\"s3://{id}/{key}\";\n }),\n Tags = \n {\n { \"tag1\", \"value1\" },\n { \"tag2\", \"value3\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n @object,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transcribe\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-vocab-123\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tobject, err := s3.NewBucketObjectv2(ctx, \"object\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tKey: pulumi.String(\"transcribe/test1.txt\"),\n\t\t\tSource: pulumi.NewFileAsset(\"test.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transcribe.NewVocabulary(ctx, \"example\", \u0026transcribe.VocabularyArgs{\n\t\t\tVocabularyName: pulumi.String(\"example\"),\n\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\tVocabularyFileUri: pulumi.All(example.ID(), object.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", id, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\n\t\t\t\t\"tag2\": pulumi.String(\"value3\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tobject,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.transcribe.Vocabulary;\nimport com.pulumi.aws.transcribe.VocabularyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example-vocab-123\")\n .forceDestroy(true)\n .build());\n\n var object = new BucketObjectv2(\"object\", BucketObjectv2Args.builder()\n .bucket(example.id())\n .key(\"transcribe/test1.txt\")\n .source(new FileAsset(\"test.txt\"))\n .build());\n\n var exampleVocabulary = new Vocabulary(\"exampleVocabulary\", VocabularyArgs.builder()\n .vocabularyName(\"example\")\n .languageCode(\"en-US\")\n .vocabularyFileUri(Output.tuple(example.id(), object.key()).applyValue(values -\u003e {\n var id = values.t1;\n var key = values.t2;\n return String.format(\"s3://%s/%s\", id,key);\n }))\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"value1\"),\n Map.entry(\"tag2\", \"value3\")\n ))\n .build(), CustomResourceOptions.builder()\n .dependsOn(object)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example-vocab-123\n forceDestroy: true\n object:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${example.id}\n key: transcribe/test1.txt\n source:\n fn::FileAsset: test.txt\n exampleVocabulary:\n type: aws:transcribe:Vocabulary\n name: example\n properties:\n vocabularyName: example\n languageCode: en-US\n vocabularyFileUri: s3://${example.id}/${object.key}\n tags:\n tag1: value1\n tag2: value3\n options:\n dependson:\n - ${object}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transcribe Vocabulary using the `vocabulary_name`. For example:\n\n```sh\n$ pulumi import aws:transcribe/vocabulary:Vocabulary example example-name\n```\n", "properties": { "arn": { "type": "string", @@ -374058,7 +374058,7 @@ } }, "aws:transfer/server:Server": { - "description": "Provides a AWS Transfer Server resource.\n\n\u003e **NOTE on AWS IAM permissions:** If the `endpoint_type` is set to `VPC`, the `ec2:DescribeVpcEndpoints` and `ec2:ModifyVpcEndpoint` [actions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) are used.\n\n\u003e **NOTE:** Use the `aws.transfer.Tag` resource to manage the system tags used for [custom hostnames](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-dns.html#tag-custom-hostname-cdk).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {tags: {\n Name: \"Example\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\", tags={\n \"Name\": \"Example\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n Tags = \n {\n { \"Name\", \"Example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder()\n .tags(Map.of(\"Name\", \"Example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n tags:\n Name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Security Policy Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {securityPolicyName: \"TransferSecurityPolicy-2020-06\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\", security_policy_name=\"TransferSecurityPolicy-2020-06\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n SecurityPolicyName = \"TransferSecurityPolicy-2020-06\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tSecurityPolicyName: pulumi.String(\"TransferSecurityPolicy-2020-06\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder()\n .securityPolicyName(\"TransferSecurityPolicy-2020-06\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n securityPolicyName: TransferSecurityPolicy-2020-06\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC Endpoint\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n endpointType: \"VPC\",\n endpointDetails: {\n addressAllocationIds: [exampleAwsEip.id],\n subnetIds: [exampleAwsSubnet.id],\n vpcId: exampleAwsVpc.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n endpoint_type=\"VPC\",\n endpoint_details={\n \"address_allocation_ids\": [example_aws_eip[\"id\"]],\n \"subnet_ids\": [example_aws_subnet[\"id\"]],\n \"vpc_id\": example_aws_vpc[\"id\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n EndpointType = \"VPC\",\n EndpointDetails = new Aws.Transfer.Inputs.ServerEndpointDetailsArgs\n {\n AddressAllocationIds = new[]\n {\n exampleAwsEip.Id,\n },\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcId = exampleAwsVpc.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tEndpointType: pulumi.String(\"VPC\"),\n\t\t\tEndpointDetails: \u0026transfer.ServerEndpointDetailsArgs{\n\t\t\t\tAddressAllocationIds: pulumi.StringArray{\n\t\t\t\t\texampleAwsEip.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\texampleAwsSubnet.Id,\n\t\t\t\t},\n\t\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.transfer.inputs.ServerEndpointDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder()\n .endpointType(\"VPC\")\n .endpointDetails(ServerEndpointDetailsArgs.builder()\n .addressAllocationIds(exampleAwsEip.id())\n .subnetIds(exampleAwsSubnet.id())\n .vpcId(exampleAwsVpc.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n endpointType: VPC\n endpointDetails:\n addressAllocationIds:\n - ${exampleAwsEip.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcId: ${exampleAwsVpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS Directory authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n identityProviderType: \"AWS_DIRECTORY_SERVICE\",\n directoryId: exampleAwsDirectoryServiceDirectory.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n identity_provider_type=\"AWS_DIRECTORY_SERVICE\",\n directory_id=example_aws_directory_service_directory[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"AWS_DIRECTORY_SERVICE\",\n DirectoryId = exampleAwsDirectoryServiceDirectory.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"AWS_DIRECTORY_SERVICE\"),\n\t\t\tDirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder()\n .identityProviderType(\"AWS_DIRECTORY_SERVICE\")\n .directoryId(exampleAwsDirectoryServiceDirectory.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n identityProviderType: AWS_DIRECTORY_SERVICE\n directoryId: ${exampleAwsDirectoryServiceDirectory.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS Lambda authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n identityProviderType: \"AWS_LAMBDA\",\n \"function\": exampleAwsLambdaIdentityProvider.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n identity_provider_type=\"AWS_LAMBDA\",\n function=example_aws_lambda_identity_provider[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"AWS_LAMBDA\",\n Function = exampleAwsLambdaIdentityProvider.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"AWS_LAMBDA\"),\n\t\t\tFunction: pulumi.Any(exampleAwsLambdaIdentityProvider.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder()\n .identityProviderType(\"AWS_LAMBDA\")\n .function(exampleAwsLambdaIdentityProvider.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n identityProviderType: AWS_LAMBDA\n function: ${exampleAwsLambdaIdentityProvider.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Protocols\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n endpointType: \"VPC\",\n endpointDetails: {\n subnetIds: [exampleAwsSubnet.id],\n vpcId: exampleAwsVpc.id,\n },\n protocols: [\n \"FTP\",\n \"FTPS\",\n ],\n certificate: exampleAwsAcmCertificate.arn,\n identityProviderType: \"API_GATEWAY\",\n url: `${exampleAwsApiGatewayDeployment.invokeUrl}${exampleAwsApiGatewayResource.path}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n endpoint_type=\"VPC\",\n endpoint_details={\n \"subnet_ids\": [example_aws_subnet[\"id\"]],\n \"vpc_id\": example_aws_vpc[\"id\"],\n },\n protocols=[\n \"FTP\",\n \"FTPS\",\n ],\n certificate=example_aws_acm_certificate[\"arn\"],\n identity_provider_type=\"API_GATEWAY\",\n url=f\"{example_aws_api_gateway_deployment['invokeUrl']}{example_aws_api_gateway_resource['path']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n EndpointType = \"VPC\",\n EndpointDetails = new Aws.Transfer.Inputs.ServerEndpointDetailsArgs\n {\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcId = exampleAwsVpc.Id,\n },\n Protocols = new[]\n {\n \"FTP\",\n \"FTPS\",\n },\n Certificate = exampleAwsAcmCertificate.Arn,\n IdentityProviderType = \"API_GATEWAY\",\n Url = $\"{exampleAwsApiGatewayDeployment.InvokeUrl}{exampleAwsApiGatewayResource.Path}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tEndpointType: pulumi.String(\"VPC\"),\n\t\t\tEndpointDetails: \u0026transfer.ServerEndpointDetailsArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\texampleAwsSubnet.Id,\n\t\t\t\t},\n\t\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\t},\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FTP\"),\n\t\t\t\tpulumi.String(\"FTPS\"),\n\t\t\t},\n\t\t\tCertificate: pulumi.Any(exampleAwsAcmCertificate.Arn),\n\t\t\tIdentityProviderType: pulumi.String(\"API_GATEWAY\"),\n\t\t\tUrl: pulumi.Sprintf(\"%v%v\", exampleAwsApiGatewayDeployment.InvokeUrl, exampleAwsApiGatewayResource.Path),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.transfer.inputs.ServerEndpointDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder()\n .endpointType(\"VPC\")\n .endpointDetails(ServerEndpointDetailsArgs.builder()\n .subnetIds(exampleAwsSubnet.id())\n .vpcId(exampleAwsVpc.id())\n .build())\n .protocols( \n \"FTP\",\n \"FTPS\")\n .certificate(exampleAwsAcmCertificate.arn())\n .identityProviderType(\"API_GATEWAY\")\n .url(String.format(\"%s%s\", exampleAwsApiGatewayDeployment.invokeUrl(),exampleAwsApiGatewayResource.path()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n endpointType: VPC\n endpointDetails:\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcId: ${exampleAwsVpc.id}\n protocols:\n - FTP\n - FTPS\n certificate: ${exampleAwsAcmCertificate.arn}\n identityProviderType: API_GATEWAY\n url: ${exampleAwsApiGatewayDeployment.invokeUrl}${exampleAwsApiGatewayResource.path}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Structured Logging Destinations\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst transfer = new aws.cloudwatch.LogGroup(\"transfer\", {namePrefix: \"transfer_test_\"});\nconst transferAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"transfer.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForTransfer = new aws.iam.Role(\"iam_for_transfer\", {\n namePrefix: \"iam_for_transfer_\",\n assumeRolePolicy: transferAssumeRole.then(transferAssumeRole =\u003e transferAssumeRole.json),\n managedPolicyArns: [\"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\"],\n});\nconst transferServer = new aws.transfer.Server(\"transfer\", {\n endpointType: \"PUBLIC\",\n loggingRole: iamForTransfer.arn,\n protocols: [\"SFTP\"],\n structuredLogDestinations: [pulumi.interpolate`${transfer.arn}:*`],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntransfer = aws.cloudwatch.LogGroup(\"transfer\", name_prefix=\"transfer_test_\")\ntransfer_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"transfer.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\niam_for_transfer = aws.iam.Role(\"iam_for_transfer\",\n name_prefix=\"iam_for_transfer_\",\n assume_role_policy=transfer_assume_role.json,\n managed_policy_arns=[\"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\"])\ntransfer_server = aws.transfer.Server(\"transfer\",\n endpoint_type=\"PUBLIC\",\n logging_role=iam_for_transfer.arn,\n protocols=[\"SFTP\"],\n structured_log_destinations=[transfer.arn.apply(lambda arn: f\"{arn}:*\")])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var transfer = new Aws.CloudWatch.LogGroup(\"transfer\", new()\n {\n NamePrefix = \"transfer_test_\",\n });\n\n var transferAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transfer.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForTransfer = new Aws.Iam.Role(\"iam_for_transfer\", new()\n {\n NamePrefix = \"iam_for_transfer_\",\n AssumeRolePolicy = transferAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n ManagedPolicyArns = new[]\n {\n \"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\",\n },\n });\n\n var transferServer = new Aws.Transfer.Server(\"transfer\", new()\n {\n EndpointType = \"PUBLIC\",\n LoggingRole = iamForTransfer.Arn,\n Protocols = new[]\n {\n \"SFTP\",\n },\n StructuredLogDestinations = new[]\n {\n transfer.Arn.Apply(arn =\u003e $\"{arn}:*\"),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttransfer, err := cloudwatch.NewLogGroup(ctx, \"transfer\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tNamePrefix: pulumi.String(\"transfer_test_\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttransferAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transfer.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForTransfer, err := iam.NewRole(ctx, \"iam_for_transfer\", \u0026iam.RoleArgs{\n\t\t\tNamePrefix: pulumi.String(\"iam_for_transfer_\"),\n\t\t\tAssumeRolePolicy: pulumi.String(transferAssumeRole.Json),\n\t\t\tManagedPolicyArns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewServer(ctx, \"transfer\", \u0026transfer.ServerArgs{\n\t\t\tEndpointType: pulumi.String(\"PUBLIC\"),\n\t\t\tLoggingRole: iamForTransfer.Arn,\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SFTP\"),\n\t\t\t},\n\t\t\tStructuredLogDestinations: pulumi.StringArray{\n\t\t\t\ttransfer.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var transfer = new LogGroup(\"transfer\", LogGroupArgs.builder()\n .namePrefix(\"transfer_test_\")\n .build());\n\n final var transferAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transfer.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForTransfer = new Role(\"iamForTransfer\", RoleArgs.builder()\n .namePrefix(\"iam_for_transfer_\")\n .assumeRolePolicy(transferAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .managedPolicyArns(\"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\")\n .build());\n\n var transferServer = new Server(\"transferServer\", ServerArgs.builder()\n .endpointType(\"PUBLIC\")\n .loggingRole(iamForTransfer.arn())\n .protocols(\"SFTP\")\n .structuredLogDestinations(transfer.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n transfer:\n type: aws:cloudwatch:LogGroup\n properties:\n namePrefix: transfer_test_\n iamForTransfer:\n type: aws:iam:Role\n name: iam_for_transfer\n properties:\n namePrefix: iam_for_transfer_\n assumeRolePolicy: ${transferAssumeRole.json}\n managedPolicyArns:\n - arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\n transferServer:\n type: aws:transfer:Server\n name: transfer\n properties:\n endpointType: PUBLIC\n loggingRole: ${iamForTransfer.arn}\n protocols:\n - SFTP\n structuredLogDestinations:\n - ${transfer.arn}:*\nvariables:\n transferAssumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - transfer.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIn Terraform v1.5.0 and later, use an `import` Block to import Transfer Servers using the server `id`. For example:\n\nUsing `pulumi import`, import Transfer Servers using the server `id`. For example:\n\n```sh\n$ pulumi import aws:transfer/server:Server example s-12345678\n```\nCertain resource arguments, such as `host_key`, cannot be read via the API and imported into the provider. This provider will display a difference for these arguments the first run after import if declared in the provider configuration for an imported resource.\n\n", + "description": "Provides a AWS Transfer Server resource.\n\n\u003e **NOTE on AWS IAM permissions:** If the `endpoint_type` is set to `VPC`, the `ec2:DescribeVpcEndpoints` and `ec2:ModifyVpcEndpoint` [actions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) are used.\n\n\u003e **NOTE:** Use the `aws.transfer.Tag` resource to manage the system tags used for [custom hostnames](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-dns.html#tag-custom-hostname-cdk).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {tags: {\n Name: \"Example\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\", tags={\n \"Name\": \"Example\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n Tags = \n {\n { \"Name\", \"Example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder()\n .tags(Map.of(\"Name\", \"Example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n tags:\n Name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Security Policy Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {securityPolicyName: \"TransferSecurityPolicy-2020-06\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\", security_policy_name=\"TransferSecurityPolicy-2020-06\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n SecurityPolicyName = \"TransferSecurityPolicy-2020-06\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tSecurityPolicyName: pulumi.String(\"TransferSecurityPolicy-2020-06\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder()\n .securityPolicyName(\"TransferSecurityPolicy-2020-06\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n securityPolicyName: TransferSecurityPolicy-2020-06\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC Endpoint\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n endpointType: \"VPC\",\n endpointDetails: {\n addressAllocationIds: [exampleAwsEip.id],\n subnetIds: [exampleAwsSubnet.id],\n vpcId: exampleAwsVpc.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n endpoint_type=\"VPC\",\n endpoint_details={\n \"address_allocation_ids\": [example_aws_eip[\"id\"]],\n \"subnet_ids\": [example_aws_subnet[\"id\"]],\n \"vpc_id\": example_aws_vpc[\"id\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n EndpointType = \"VPC\",\n EndpointDetails = new Aws.Transfer.Inputs.ServerEndpointDetailsArgs\n {\n AddressAllocationIds = new[]\n {\n exampleAwsEip.Id,\n },\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcId = exampleAwsVpc.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tEndpointType: pulumi.String(\"VPC\"),\n\t\t\tEndpointDetails: \u0026transfer.ServerEndpointDetailsArgs{\n\t\t\t\tAddressAllocationIds: pulumi.StringArray{\n\t\t\t\t\texampleAwsEip.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\texampleAwsSubnet.Id,\n\t\t\t\t},\n\t\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.transfer.inputs.ServerEndpointDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder()\n .endpointType(\"VPC\")\n .endpointDetails(ServerEndpointDetailsArgs.builder()\n .addressAllocationIds(exampleAwsEip.id())\n .subnetIds(exampleAwsSubnet.id())\n .vpcId(exampleAwsVpc.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n endpointType: VPC\n endpointDetails:\n addressAllocationIds:\n - ${exampleAwsEip.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcId: ${exampleAwsVpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS Directory authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n identityProviderType: \"AWS_DIRECTORY_SERVICE\",\n directoryId: exampleAwsDirectoryServiceDirectory.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n identity_provider_type=\"AWS_DIRECTORY_SERVICE\",\n directory_id=example_aws_directory_service_directory[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"AWS_DIRECTORY_SERVICE\",\n DirectoryId = exampleAwsDirectoryServiceDirectory.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"AWS_DIRECTORY_SERVICE\"),\n\t\t\tDirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder()\n .identityProviderType(\"AWS_DIRECTORY_SERVICE\")\n .directoryId(exampleAwsDirectoryServiceDirectory.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n identityProviderType: AWS_DIRECTORY_SERVICE\n directoryId: ${exampleAwsDirectoryServiceDirectory.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS Lambda authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n identityProviderType: \"AWS_LAMBDA\",\n \"function\": exampleAwsLambdaIdentityProvider.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n identity_provider_type=\"AWS_LAMBDA\",\n function=example_aws_lambda_identity_provider[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"AWS_LAMBDA\",\n Function = exampleAwsLambdaIdentityProvider.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"AWS_LAMBDA\"),\n\t\t\tFunction: pulumi.Any(exampleAwsLambdaIdentityProvider.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder()\n .identityProviderType(\"AWS_LAMBDA\")\n .function(exampleAwsLambdaIdentityProvider.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n identityProviderType: AWS_LAMBDA\n function: ${exampleAwsLambdaIdentityProvider.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Protocols\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n endpointType: \"VPC\",\n endpointDetails: {\n subnetIds: [exampleAwsSubnet.id],\n vpcId: exampleAwsVpc.id,\n },\n protocols: [\n \"FTP\",\n \"FTPS\",\n ],\n certificate: exampleAwsAcmCertificate.arn,\n identityProviderType: \"API_GATEWAY\",\n url: `${exampleAwsApiGatewayDeployment.invokeUrl}${exampleAwsApiGatewayResource.path}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n endpoint_type=\"VPC\",\n endpoint_details={\n \"subnet_ids\": [example_aws_subnet[\"id\"]],\n \"vpc_id\": example_aws_vpc[\"id\"],\n },\n protocols=[\n \"FTP\",\n \"FTPS\",\n ],\n certificate=example_aws_acm_certificate[\"arn\"],\n identity_provider_type=\"API_GATEWAY\",\n url=f\"{example_aws_api_gateway_deployment['invokeUrl']}{example_aws_api_gateway_resource['path']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n EndpointType = \"VPC\",\n EndpointDetails = new Aws.Transfer.Inputs.ServerEndpointDetailsArgs\n {\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcId = exampleAwsVpc.Id,\n },\n Protocols = new[]\n {\n \"FTP\",\n \"FTPS\",\n },\n Certificate = exampleAwsAcmCertificate.Arn,\n IdentityProviderType = \"API_GATEWAY\",\n Url = $\"{exampleAwsApiGatewayDeployment.InvokeUrl}{exampleAwsApiGatewayResource.Path}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tEndpointType: pulumi.String(\"VPC\"),\n\t\t\tEndpointDetails: \u0026transfer.ServerEndpointDetailsArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\texampleAwsSubnet.Id,\n\t\t\t\t},\n\t\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\t},\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FTP\"),\n\t\t\t\tpulumi.String(\"FTPS\"),\n\t\t\t},\n\t\t\tCertificate: pulumi.Any(exampleAwsAcmCertificate.Arn),\n\t\t\tIdentityProviderType: pulumi.String(\"API_GATEWAY\"),\n\t\t\tUrl: pulumi.Sprintf(\"%v%v\", exampleAwsApiGatewayDeployment.InvokeUrl, exampleAwsApiGatewayResource.Path),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.transfer.inputs.ServerEndpointDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder()\n .endpointType(\"VPC\")\n .endpointDetails(ServerEndpointDetailsArgs.builder()\n .subnetIds(exampleAwsSubnet.id())\n .vpcId(exampleAwsVpc.id())\n .build())\n .protocols( \n \"FTP\",\n \"FTPS\")\n .certificate(exampleAwsAcmCertificate.arn())\n .identityProviderType(\"API_GATEWAY\")\n .url(String.format(\"%s%s\", exampleAwsApiGatewayDeployment.invokeUrl(),exampleAwsApiGatewayResource.path()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n endpointType: VPC\n endpointDetails:\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcId: ${exampleAwsVpc.id}\n protocols:\n - FTP\n - FTPS\n certificate: ${exampleAwsAcmCertificate.arn}\n identityProviderType: API_GATEWAY\n url: ${exampleAwsApiGatewayDeployment.invokeUrl}${exampleAwsApiGatewayResource.path}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Structured Logging Destinations\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst transfer = new aws.cloudwatch.LogGroup(\"transfer\", {namePrefix: \"transfer_test_\"});\nconst transferAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"transfer.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForTransfer = new aws.iam.Role(\"iam_for_transfer\", {\n namePrefix: \"iam_for_transfer_\",\n assumeRolePolicy: transferAssumeRole.then(transferAssumeRole =\u003e transferAssumeRole.json),\n managedPolicyArns: [\"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\"],\n});\nconst transferServer = new aws.transfer.Server(\"transfer\", {\n endpointType: \"PUBLIC\",\n loggingRole: iamForTransfer.arn,\n protocols: [\"SFTP\"],\n structuredLogDestinations: [pulumi.interpolate`${transfer.arn}:*`],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntransfer = aws.cloudwatch.LogGroup(\"transfer\", name_prefix=\"transfer_test_\")\ntransfer_assume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"transfer.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\niam_for_transfer = aws.iam.Role(\"iam_for_transfer\",\n name_prefix=\"iam_for_transfer_\",\n assume_role_policy=transfer_assume_role.json,\n managed_policy_arns=[\"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\"])\ntransfer_server = aws.transfer.Server(\"transfer\",\n endpoint_type=\"PUBLIC\",\n logging_role=iam_for_transfer.arn,\n protocols=[\"SFTP\"],\n structured_log_destinations=[transfer.arn.apply(lambda arn: f\"{arn}:*\")])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var transfer = new Aws.CloudWatch.LogGroup(\"transfer\", new()\n {\n NamePrefix = \"transfer_test_\",\n });\n\n var transferAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transfer.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForTransfer = new Aws.Iam.Role(\"iam_for_transfer\", new()\n {\n NamePrefix = \"iam_for_transfer_\",\n AssumeRolePolicy = transferAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n ManagedPolicyArns = new[]\n {\n \"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\",\n },\n });\n\n var transferServer = new Aws.Transfer.Server(\"transfer\", new()\n {\n EndpointType = \"PUBLIC\",\n LoggingRole = iamForTransfer.Arn,\n Protocols = new[]\n {\n \"SFTP\",\n },\n StructuredLogDestinations = new[]\n {\n transfer.Arn.Apply(arn =\u003e $\"{arn}:*\"),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttransfer, err := cloudwatch.NewLogGroup(ctx, \"transfer\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tNamePrefix: pulumi.String(\"transfer_test_\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttransferAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transfer.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForTransfer, err := iam.NewRole(ctx, \"iam_for_transfer\", \u0026iam.RoleArgs{\n\t\t\tNamePrefix: pulumi.String(\"iam_for_transfer_\"),\n\t\t\tAssumeRolePolicy: pulumi.String(transferAssumeRole.Json),\n\t\t\tManagedPolicyArns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewServer(ctx, \"transfer\", \u0026transfer.ServerArgs{\n\t\t\tEndpointType: pulumi.String(\"PUBLIC\"),\n\t\t\tLoggingRole: iamForTransfer.Arn,\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SFTP\"),\n\t\t\t},\n\t\t\tStructuredLogDestinations: pulumi.StringArray{\n\t\t\t\ttransfer.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var transfer = new LogGroup(\"transfer\", LogGroupArgs.builder()\n .namePrefix(\"transfer_test_\")\n .build());\n\n final var transferAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transfer.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForTransfer = new Role(\"iamForTransfer\", RoleArgs.builder()\n .namePrefix(\"iam_for_transfer_\")\n .assumeRolePolicy(transferAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .managedPolicyArns(\"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\")\n .build());\n\n var transferServer = new Server(\"transferServer\", ServerArgs.builder()\n .endpointType(\"PUBLIC\")\n .loggingRole(iamForTransfer.arn())\n .protocols(\"SFTP\")\n .structuredLogDestinations(transfer.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n transfer:\n type: aws:cloudwatch:LogGroup\n properties:\n namePrefix: transfer_test_\n iamForTransfer:\n type: aws:iam:Role\n name: iam_for_transfer\n properties:\n namePrefix: iam_for_transfer_\n assumeRolePolicy: ${transferAssumeRole.json}\n managedPolicyArns:\n - arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\n transferServer:\n type: aws:transfer:Server\n name: transfer\n properties:\n endpointType: PUBLIC\n loggingRole: ${iamForTransfer.arn}\n protocols:\n - SFTP\n structuredLogDestinations:\n - ${transfer.arn}:*\nvariables:\n transferAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - transfer.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIn Terraform v1.5.0 and later, use an `import` Block to import Transfer Servers using the server `id`. For example:\n\nUsing `pulumi import`, import Transfer Servers using the server `id`. For example:\n\n```sh\n$ pulumi import aws:transfer/server:Server example s-12345678\n```\nCertain resource arguments, such as `host_key`, cannot be read via the API and imported into the provider. This provider will display a difference for these arguments the first run after import if declared in the provider configuration for an imported resource.\n\n", "properties": { "arn": { "type": "string", @@ -374425,7 +374425,7 @@ } }, "aws:transfer/sshKey:SshKey": { - "description": "Provides a AWS Transfer User SSH Key resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\nimport * as tls from \"@pulumi/tls\";\n\nconst examplePrivateKey = new tls.PrivateKey(\"example\", {\n algorithm: \"RSA\",\n rsaBits: 4096,\n});\nconst exampleServer = new aws.transfer.Server(\"example\", {\n identityProviderType: \"SERVICE_MANAGED\",\n tags: {\n NAME: \"tf-acc-test-transfer-server\",\n },\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"transfer.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"tf-test-transfer-user-iam-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleUser = new aws.transfer.User(\"example\", {\n serverId: exampleServer.id,\n userName: \"tftestuser\",\n role: exampleRole.arn,\n tags: {\n NAME: \"tftestuser\",\n },\n});\nconst exampleSshKey = new aws.transfer.SshKey(\"example\", {\n serverId: exampleServer.id,\n userName: exampleUser.userName,\n body: std.trimspaceOutput({\n input: examplePrivateKey.publicKeyOpenssh,\n }).apply(invoke =\u003e invoke.result),\n});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"AllowFullAccesstoS3\",\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n }],\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n name: \"tf-test-transfer-user-iam-policy\",\n role: exampleRole.id,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\nimport pulumi_tls as tls\n\nexample_private_key = tls.PrivateKey(\"example\",\n algorithm=\"RSA\",\n rsa_bits=4096)\nexample_server = aws.transfer.Server(\"example\",\n identity_provider_type=\"SERVICE_MANAGED\",\n tags={\n \"NAME\": \"tf-acc-test-transfer-server\",\n })\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"transfer.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"tf-test-transfer-user-iam-role\",\n assume_role_policy=assume_role.json)\nexample_user = aws.transfer.User(\"example\",\n server_id=example_server.id,\n user_name=\"tftestuser\",\n role=example_role.arn,\n tags={\n \"NAME\": \"tftestuser\",\n })\nexample_ssh_key = aws.transfer.SshKey(\"example\",\n server_id=example_server.id,\n user_name=example_user.user_name,\n body=std.trimspace_output(input=example_private_key.public_key_openssh).apply(lambda invoke: invoke.result))\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"AllowFullAccesstoS3\",\n \"effect\": \"Allow\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\"*\"],\n}])\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n name=\"tf-test-transfer-user-iam-policy\",\n role=example_role.id,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplePrivateKey = new Tls.PrivateKey(\"example\", new()\n {\n Algorithm = \"RSA\",\n RsaBits = 4096,\n });\n\n var exampleServer = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"SERVICE_MANAGED\",\n Tags = \n {\n { \"NAME\", \"tf-acc-test-transfer-server\" },\n },\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transfer.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"tf-test-transfer-user-iam-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleUser = new Aws.Transfer.User(\"example\", new()\n {\n ServerId = exampleServer.Id,\n UserName = \"tftestuser\",\n Role = exampleRole.Arn,\n Tags = \n {\n { \"NAME\", \"tftestuser\" },\n },\n });\n\n var exampleSshKey = new Aws.Transfer.SshKey(\"example\", new()\n {\n ServerId = exampleServer.Id,\n UserName = exampleUser.UserName,\n Body = Std.Trimspace.Invoke(new()\n {\n Input = examplePrivateKey.PublicKeyOpenssh,\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AllowFullAccesstoS3\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Name = \"tf-test-transfer-user-iam-policy\",\n Role = exampleRole.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplePrivateKey, err := tls.NewPrivateKey(ctx, \"example\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t\tRsaBits: pulumi.Int(4096),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"NAME\": pulumi.String(\"tf-acc-test-transfer-server\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transfer.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"tf-test-transfer-user-iam-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := transfer.NewUser(ctx, \"example\", \u0026transfer.UserArgs{\n\t\t\tServerId: exampleServer.ID(),\n\t\t\tUserName: pulumi.String(\"tftestuser\"),\n\t\t\tRole: exampleRole.Arn,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"NAME\": pulumi.String(\"tftestuser\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewSshKey(ctx, \"example\", \u0026transfer.SshKeyArgs{\n\t\t\tServerId: exampleServer.ID(),\n\t\t\tUserName: exampleUser.UserName,\n\t\t\tBody: pulumi.String(std.TrimspaceOutput(ctx, std.TrimspaceOutputArgs{\n\t\t\t\tInput: examplePrivateKey.PublicKeyOpenssh,\n\t\t\t}, nil).ApplyT(func(invoke std.TrimspaceResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"AllowFullAccesstoS3\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"tf-test-transfer-user-iam-policy\"),\n\t\t\tRole: exampleRole.ID(),\n\t\t\tPolicy: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.transfer.User;\nimport com.pulumi.aws.transfer.UserArgs;\nimport com.pulumi.aws.transfer.SshKey;\nimport com.pulumi.aws.transfer.SshKeyArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplePrivateKey = new PrivateKey(\"examplePrivateKey\", PrivateKeyArgs.builder()\n .algorithm(\"RSA\")\n .rsaBits(4096)\n .build());\n\n var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n .identityProviderType(\"SERVICE_MANAGED\")\n .tags(Map.of(\"NAME\", \"tf-acc-test-transfer-server\"))\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transfer.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"tf-test-transfer-user-iam-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n .serverId(exampleServer.id())\n .userName(\"tftestuser\")\n .role(exampleRole.arn())\n .tags(Map.of(\"NAME\", \"tftestuser\"))\n .build());\n\n var exampleSshKey = new SshKey(\"exampleSshKey\", SshKeyArgs.builder()\n .serverId(exampleServer.id())\n .userName(exampleUser.userName())\n .body(StdFunctions.trimspace().applyValue(invoke -\u003e invoke.result()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AllowFullAccesstoS3\")\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .name(\"tf-test-transfer-user-iam-policy\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePrivateKey:\n type: tls:PrivateKey\n name: example\n properties:\n algorithm: RSA\n rsaBits: 4096\n exampleSshKey:\n type: aws:transfer:SshKey\n name: example\n properties:\n serverId: ${exampleServer.id}\n userName: ${exampleUser.userName}\n body:\n fn::invoke:\n function: std:trimspace\n arguments:\n input: ${examplePrivateKey.publicKeyOpenssh}\n return: result\n exampleServer:\n type: aws:transfer:Server\n name: example\n properties:\n identityProviderType: SERVICE_MANAGED\n tags:\n NAME: tf-acc-test-transfer-server\n exampleUser:\n type: aws:transfer:User\n name: example\n properties:\n serverId: ${exampleServer.id}\n userName: tftestuser\n role: ${exampleRole.arn}\n tags:\n NAME: tftestuser\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: tf-test-transfer-user-iam-role\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: tf-test-transfer-user-iam-policy\n role: ${exampleRole.id}\n policy: ${example.json}\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - transfer.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: AllowFullAccesstoS3\n effect: Allow\n actions:\n - s3:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer SSH Public Key using the `server_id` and `user_name` and `ssh_public_key_id` separated by `/`. For example:\n\n```sh\n$ pulumi import aws:transfer/sshKey:SshKey bar s-12345678/test-username/key-12345\n```\n", + "description": "Provides a AWS Transfer User SSH Key resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\nimport * as tls from \"@pulumi/tls\";\n\nconst examplePrivateKey = new tls.PrivateKey(\"example\", {\n algorithm: \"RSA\",\n rsaBits: 4096,\n});\nconst exampleServer = new aws.transfer.Server(\"example\", {\n identityProviderType: \"SERVICE_MANAGED\",\n tags: {\n NAME: \"tf-acc-test-transfer-server\",\n },\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"transfer.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"tf-test-transfer-user-iam-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleUser = new aws.transfer.User(\"example\", {\n serverId: exampleServer.id,\n userName: \"tftestuser\",\n role: exampleRole.arn,\n tags: {\n NAME: \"tftestuser\",\n },\n});\nconst exampleSshKey = new aws.transfer.SshKey(\"example\", {\n serverId: exampleServer.id,\n userName: exampleUser.userName,\n body: std.trimspaceOutput({\n input: examplePrivateKey.publicKeyOpenssh,\n }).apply(invoke =\u003e invoke.result),\n});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"AllowFullAccesstoS3\",\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n }],\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n name: \"tf-test-transfer-user-iam-policy\",\n role: exampleRole.id,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\nimport pulumi_tls as tls\n\nexample_private_key = tls.PrivateKey(\"example\",\n algorithm=\"RSA\",\n rsa_bits=4096)\nexample_server = aws.transfer.Server(\"example\",\n identity_provider_type=\"SERVICE_MANAGED\",\n tags={\n \"NAME\": \"tf-acc-test-transfer-server\",\n })\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"transfer.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample_role = aws.iam.Role(\"example\",\n name=\"tf-test-transfer-user-iam-role\",\n assume_role_policy=assume_role.json)\nexample_user = aws.transfer.User(\"example\",\n server_id=example_server.id,\n user_name=\"tftestuser\",\n role=example_role.arn,\n tags={\n \"NAME\": \"tftestuser\",\n })\nexample_ssh_key = aws.transfer.SshKey(\"example\",\n server_id=example_server.id,\n user_name=example_user.user_name,\n body=std.trimspace_output(input=example_private_key.public_key_openssh).apply(lambda invoke: invoke.result))\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"AllowFullAccesstoS3\",\n \"effect\": \"Allow\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\"*\"],\n}])\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n name=\"tf-test-transfer-user-iam-policy\",\n role=example_role.id,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplePrivateKey = new Tls.PrivateKey(\"example\", new()\n {\n Algorithm = \"RSA\",\n RsaBits = 4096,\n });\n\n var exampleServer = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"SERVICE_MANAGED\",\n Tags = \n {\n { \"NAME\", \"tf-acc-test-transfer-server\" },\n },\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transfer.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"tf-test-transfer-user-iam-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleUser = new Aws.Transfer.User(\"example\", new()\n {\n ServerId = exampleServer.Id,\n UserName = \"tftestuser\",\n Role = exampleRole.Arn,\n Tags = \n {\n { \"NAME\", \"tftestuser\" },\n },\n });\n\n var exampleSshKey = new Aws.Transfer.SshKey(\"example\", new()\n {\n ServerId = exampleServer.Id,\n UserName = exampleUser.UserName,\n Body = Std.Trimspace.Invoke(new()\n {\n Input = examplePrivateKey.PublicKeyOpenssh,\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AllowFullAccesstoS3\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Name = \"tf-test-transfer-user-iam-policy\",\n Role = exampleRole.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplePrivateKey, err := tls.NewPrivateKey(ctx, \"example\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t\tRsaBits: pulumi.Int(4096),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"NAME\": pulumi.String(\"tf-acc-test-transfer-server\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transfer.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"tf-test-transfer-user-iam-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := transfer.NewUser(ctx, \"example\", \u0026transfer.UserArgs{\n\t\t\tServerId: exampleServer.ID(),\n\t\t\tUserName: pulumi.String(\"tftestuser\"),\n\t\t\tRole: exampleRole.Arn,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"NAME\": pulumi.String(\"tftestuser\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewSshKey(ctx, \"example\", \u0026transfer.SshKeyArgs{\n\t\t\tServerId: exampleServer.ID(),\n\t\t\tUserName: exampleUser.UserName,\n\t\t\tBody: pulumi.String(std.TrimspaceOutput(ctx, std.TrimspaceOutputArgs{\n\t\t\t\tInput: examplePrivateKey.PublicKeyOpenssh,\n\t\t\t}, nil).ApplyT(func(invoke std.TrimspaceResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"AllowFullAccesstoS3\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"tf-test-transfer-user-iam-policy\"),\n\t\t\tRole: exampleRole.ID(),\n\t\t\tPolicy: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.transfer.User;\nimport com.pulumi.aws.transfer.UserArgs;\nimport com.pulumi.aws.transfer.SshKey;\nimport com.pulumi.aws.transfer.SshKeyArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var examplePrivateKey = new PrivateKey(\"examplePrivateKey\", PrivateKeyArgs.builder()\n .algorithm(\"RSA\")\n .rsaBits(4096)\n .build());\n\n var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n .identityProviderType(\"SERVICE_MANAGED\")\n .tags(Map.of(\"NAME\", \"tf-acc-test-transfer-server\"))\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transfer.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"tf-test-transfer-user-iam-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n .serverId(exampleServer.id())\n .userName(\"tftestuser\")\n .role(exampleRole.arn())\n .tags(Map.of(\"NAME\", \"tftestuser\"))\n .build());\n\n var exampleSshKey = new SshKey(\"exampleSshKey\", SshKeyArgs.builder()\n .serverId(exampleServer.id())\n .userName(exampleUser.userName())\n .body(StdFunctions.trimspace().applyValue(invoke -\u003e invoke.result()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AllowFullAccesstoS3\")\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .name(\"tf-test-transfer-user-iam-policy\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePrivateKey:\n type: tls:PrivateKey\n name: example\n properties:\n algorithm: RSA\n rsaBits: 4096\n exampleSshKey:\n type: aws:transfer:SshKey\n name: example\n properties:\n serverId: ${exampleServer.id}\n userName: ${exampleUser.userName}\n body:\n fn::invoke:\n Function: std:trimspace\n Arguments:\n input: ${examplePrivateKey.publicKeyOpenssh}\n Return: result\n exampleServer:\n type: aws:transfer:Server\n name: example\n properties:\n identityProviderType: SERVICE_MANAGED\n tags:\n NAME: tf-acc-test-transfer-server\n exampleUser:\n type: aws:transfer:User\n name: example\n properties:\n serverId: ${exampleServer.id}\n userName: tftestuser\n role: ${exampleRole.arn}\n tags:\n NAME: tftestuser\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: tf-test-transfer-user-iam-role\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: tf-test-transfer-user-iam-policy\n role: ${exampleRole.id}\n policy: ${example.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - transfer.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AllowFullAccesstoS3\n effect: Allow\n actions:\n - s3:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer SSH Public Key using the `server_id` and `user_name` and `ssh_public_key_id` separated by `/`. For example:\n\n```sh\n$ pulumi import aws:transfer/sshKey:SshKey bar s-12345678/test-username/key-12345\n```\n", "properties": { "body": { "type": "string", @@ -374560,7 +374560,7 @@ } }, "aws:transfer/user:User": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fooServer = new aws.transfer.Server(\"foo\", {\n identityProviderType: \"SERVICE_MANAGED\",\n tags: {\n NAME: \"tf-acc-test-transfer-server\",\n },\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"transfer.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst fooRole = new aws.iam.Role(\"foo\", {\n name: \"tf-test-transfer-user-iam-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst foo = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"AllowFullAccesstoS3\",\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n }],\n});\nconst fooRolePolicy = new aws.iam.RolePolicy(\"foo\", {\n name: \"tf-test-transfer-user-iam-policy\",\n role: fooRole.id,\n policy: foo.then(foo =\u003e foo.json),\n});\nconst fooUser = new aws.transfer.User(\"foo\", {\n serverId: fooServer.id,\n userName: \"tftestuser\",\n role: fooRole.arn,\n homeDirectoryType: \"LOGICAL\",\n homeDirectoryMappings: [{\n entry: \"/test.pdf\",\n target: \"/bucket3/test-path/tftestuser.pdf\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo_server = aws.transfer.Server(\"foo\",\n identity_provider_type=\"SERVICE_MANAGED\",\n tags={\n \"NAME\": \"tf-acc-test-transfer-server\",\n })\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"transfer.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nfoo_role = aws.iam.Role(\"foo\",\n name=\"tf-test-transfer-user-iam-role\",\n assume_role_policy=assume_role.json)\nfoo = aws.iam.get_policy_document(statements=[{\n \"sid\": \"AllowFullAccesstoS3\",\n \"effect\": \"Allow\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\"*\"],\n}])\nfoo_role_policy = aws.iam.RolePolicy(\"foo\",\n name=\"tf-test-transfer-user-iam-policy\",\n role=foo_role.id,\n policy=foo.json)\nfoo_user = aws.transfer.User(\"foo\",\n server_id=foo_server.id,\n user_name=\"tftestuser\",\n role=foo_role.arn,\n home_directory_type=\"LOGICAL\",\n home_directory_mappings=[{\n \"entry\": \"/test.pdf\",\n \"target\": \"/bucket3/test-path/tftestuser.pdf\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooServer = new Aws.Transfer.Server(\"foo\", new()\n {\n IdentityProviderType = \"SERVICE_MANAGED\",\n Tags = \n {\n { \"NAME\", \"tf-acc-test-transfer-server\" },\n },\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transfer.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var fooRole = new Aws.Iam.Role(\"foo\", new()\n {\n Name = \"tf-test-transfer-user-iam-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AllowFullAccesstoS3\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var fooRolePolicy = new Aws.Iam.RolePolicy(\"foo\", new()\n {\n Name = \"tf-test-transfer-user-iam-policy\",\n Role = fooRole.Id,\n Policy = foo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var fooUser = new Aws.Transfer.User(\"foo\", new()\n {\n ServerId = fooServer.Id,\n UserName = \"tftestuser\",\n Role = fooRole.Arn,\n HomeDirectoryType = \"LOGICAL\",\n HomeDirectoryMappings = new[]\n {\n new Aws.Transfer.Inputs.UserHomeDirectoryMappingArgs\n {\n Entry = \"/test.pdf\",\n Target = \"/bucket3/test-path/tftestuser.pdf\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooServer, err := transfer.NewServer(ctx, \"foo\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"NAME\": pulumi.String(\"tf-acc-test-transfer-server\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transfer.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooRole, err := iam.NewRole(ctx, \"foo\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"tf-test-transfer-user-iam-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"AllowFullAccesstoS3\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"foo\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"tf-test-transfer-user-iam-policy\"),\n\t\t\tRole: fooRole.ID(),\n\t\t\tPolicy: pulumi.String(foo.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewUser(ctx, \"foo\", \u0026transfer.UserArgs{\n\t\t\tServerId: fooServer.ID(),\n\t\t\tUserName: pulumi.String(\"tftestuser\"),\n\t\t\tRole: fooRole.Arn,\n\t\t\tHomeDirectoryType: pulumi.String(\"LOGICAL\"),\n\t\t\tHomeDirectoryMappings: transfer.UserHomeDirectoryMappingArray{\n\t\t\t\t\u0026transfer.UserHomeDirectoryMappingArgs{\n\t\t\t\t\tEntry: pulumi.String(\"/test.pdf\"),\n\t\t\t\t\tTarget: pulumi.String(\"/bucket3/test-path/tftestuser.pdf\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.transfer.User;\nimport com.pulumi.aws.transfer.UserArgs;\nimport com.pulumi.aws.transfer.inputs.UserHomeDirectoryMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fooServer = new Server(\"fooServer\", ServerArgs.builder()\n .identityProviderType(\"SERVICE_MANAGED\")\n .tags(Map.of(\"NAME\", \"tf-acc-test-transfer-server\"))\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transfer.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var fooRole = new Role(\"fooRole\", RoleArgs.builder()\n .name(\"tf-test-transfer-user-iam-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var foo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AllowFullAccesstoS3\")\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var fooRolePolicy = new RolePolicy(\"fooRolePolicy\", RolePolicyArgs.builder()\n .name(\"tf-test-transfer-user-iam-policy\")\n .role(fooRole.id())\n .policy(foo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var fooUser = new User(\"fooUser\", UserArgs.builder()\n .serverId(fooServer.id())\n .userName(\"tftestuser\")\n .role(fooRole.arn())\n .homeDirectoryType(\"LOGICAL\")\n .homeDirectoryMappings(UserHomeDirectoryMappingArgs.builder()\n .entry(\"/test.pdf\")\n .target(\"/bucket3/test-path/tftestuser.pdf\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooServer:\n type: aws:transfer:Server\n name: foo\n properties:\n identityProviderType: SERVICE_MANAGED\n tags:\n NAME: tf-acc-test-transfer-server\n fooRole:\n type: aws:iam:Role\n name: foo\n properties:\n name: tf-test-transfer-user-iam-role\n assumeRolePolicy: ${assumeRole.json}\n fooRolePolicy:\n type: aws:iam:RolePolicy\n name: foo\n properties:\n name: tf-test-transfer-user-iam-policy\n role: ${fooRole.id}\n policy: ${foo.json}\n fooUser:\n type: aws:transfer:User\n name: foo\n properties:\n serverId: ${fooServer.id}\n userName: tftestuser\n role: ${fooRole.arn}\n homeDirectoryType: LOGICAL\n homeDirectoryMappings:\n - entry: /test.pdf\n target: /bucket3/test-path/tftestuser.pdf\nvariables:\n assumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - transfer.amazonaws.com\n actions:\n - sts:AssumeRole\n foo:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: AllowFullAccesstoS3\n effect: Allow\n actions:\n - s3:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer Users using the `server_id` and `user_name` separated by `/`. For example:\n\n```sh\n$ pulumi import aws:transfer/user:User bar s-12345678/test-username\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fooServer = new aws.transfer.Server(\"foo\", {\n identityProviderType: \"SERVICE_MANAGED\",\n tags: {\n NAME: \"tf-acc-test-transfer-server\",\n },\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"transfer.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst fooRole = new aws.iam.Role(\"foo\", {\n name: \"tf-test-transfer-user-iam-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst foo = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"AllowFullAccesstoS3\",\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n }],\n});\nconst fooRolePolicy = new aws.iam.RolePolicy(\"foo\", {\n name: \"tf-test-transfer-user-iam-policy\",\n role: fooRole.id,\n policy: foo.then(foo =\u003e foo.json),\n});\nconst fooUser = new aws.transfer.User(\"foo\", {\n serverId: fooServer.id,\n userName: \"tftestuser\",\n role: fooRole.arn,\n homeDirectoryType: \"LOGICAL\",\n homeDirectoryMappings: [{\n entry: \"/test.pdf\",\n target: \"/bucket3/test-path/tftestuser.pdf\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo_server = aws.transfer.Server(\"foo\",\n identity_provider_type=\"SERVICE_MANAGED\",\n tags={\n \"NAME\": \"tf-acc-test-transfer-server\",\n })\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"transfer.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nfoo_role = aws.iam.Role(\"foo\",\n name=\"tf-test-transfer-user-iam-role\",\n assume_role_policy=assume_role.json)\nfoo = aws.iam.get_policy_document(statements=[{\n \"sid\": \"AllowFullAccesstoS3\",\n \"effect\": \"Allow\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\"*\"],\n}])\nfoo_role_policy = aws.iam.RolePolicy(\"foo\",\n name=\"tf-test-transfer-user-iam-policy\",\n role=foo_role.id,\n policy=foo.json)\nfoo_user = aws.transfer.User(\"foo\",\n server_id=foo_server.id,\n user_name=\"tftestuser\",\n role=foo_role.arn,\n home_directory_type=\"LOGICAL\",\n home_directory_mappings=[{\n \"entry\": \"/test.pdf\",\n \"target\": \"/bucket3/test-path/tftestuser.pdf\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooServer = new Aws.Transfer.Server(\"foo\", new()\n {\n IdentityProviderType = \"SERVICE_MANAGED\",\n Tags = \n {\n { \"NAME\", \"tf-acc-test-transfer-server\" },\n },\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transfer.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var fooRole = new Aws.Iam.Role(\"foo\", new()\n {\n Name = \"tf-test-transfer-user-iam-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AllowFullAccesstoS3\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var fooRolePolicy = new Aws.Iam.RolePolicy(\"foo\", new()\n {\n Name = \"tf-test-transfer-user-iam-policy\",\n Role = fooRole.Id,\n Policy = foo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var fooUser = new Aws.Transfer.User(\"foo\", new()\n {\n ServerId = fooServer.Id,\n UserName = \"tftestuser\",\n Role = fooRole.Arn,\n HomeDirectoryType = \"LOGICAL\",\n HomeDirectoryMappings = new[]\n {\n new Aws.Transfer.Inputs.UserHomeDirectoryMappingArgs\n {\n Entry = \"/test.pdf\",\n Target = \"/bucket3/test-path/tftestuser.pdf\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooServer, err := transfer.NewServer(ctx, \"foo\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"NAME\": pulumi.String(\"tf-acc-test-transfer-server\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transfer.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooRole, err := iam.NewRole(ctx, \"foo\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"tf-test-transfer-user-iam-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"AllowFullAccesstoS3\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"foo\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"tf-test-transfer-user-iam-policy\"),\n\t\t\tRole: fooRole.ID(),\n\t\t\tPolicy: pulumi.String(foo.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewUser(ctx, \"foo\", \u0026transfer.UserArgs{\n\t\t\tServerId: fooServer.ID(),\n\t\t\tUserName: pulumi.String(\"tftestuser\"),\n\t\t\tRole: fooRole.Arn,\n\t\t\tHomeDirectoryType: pulumi.String(\"LOGICAL\"),\n\t\t\tHomeDirectoryMappings: transfer.UserHomeDirectoryMappingArray{\n\t\t\t\t\u0026transfer.UserHomeDirectoryMappingArgs{\n\t\t\t\t\tEntry: pulumi.String(\"/test.pdf\"),\n\t\t\t\t\tTarget: pulumi.String(\"/bucket3/test-path/tftestuser.pdf\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.transfer.User;\nimport com.pulumi.aws.transfer.UserArgs;\nimport com.pulumi.aws.transfer.inputs.UserHomeDirectoryMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fooServer = new Server(\"fooServer\", ServerArgs.builder()\n .identityProviderType(\"SERVICE_MANAGED\")\n .tags(Map.of(\"NAME\", \"tf-acc-test-transfer-server\"))\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transfer.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var fooRole = new Role(\"fooRole\", RoleArgs.builder()\n .name(\"tf-test-transfer-user-iam-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var foo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AllowFullAccesstoS3\")\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var fooRolePolicy = new RolePolicy(\"fooRolePolicy\", RolePolicyArgs.builder()\n .name(\"tf-test-transfer-user-iam-policy\")\n .role(fooRole.id())\n .policy(foo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var fooUser = new User(\"fooUser\", UserArgs.builder()\n .serverId(fooServer.id())\n .userName(\"tftestuser\")\n .role(fooRole.arn())\n .homeDirectoryType(\"LOGICAL\")\n .homeDirectoryMappings(UserHomeDirectoryMappingArgs.builder()\n .entry(\"/test.pdf\")\n .target(\"/bucket3/test-path/tftestuser.pdf\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooServer:\n type: aws:transfer:Server\n name: foo\n properties:\n identityProviderType: SERVICE_MANAGED\n tags:\n NAME: tf-acc-test-transfer-server\n fooRole:\n type: aws:iam:Role\n name: foo\n properties:\n name: tf-test-transfer-user-iam-role\n assumeRolePolicy: ${assumeRole.json}\n fooRolePolicy:\n type: aws:iam:RolePolicy\n name: foo\n properties:\n name: tf-test-transfer-user-iam-policy\n role: ${fooRole.id}\n policy: ${foo.json}\n fooUser:\n type: aws:transfer:User\n name: foo\n properties:\n serverId: ${fooServer.id}\n userName: tftestuser\n role: ${fooRole.arn}\n homeDirectoryType: LOGICAL\n homeDirectoryMappings:\n - entry: /test.pdf\n target: /bucket3/test-path/tftestuser.pdf\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - transfer.amazonaws.com\n actions:\n - sts:AssumeRole\n foo:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AllowFullAccesstoS3\n effect: Allow\n actions:\n - s3:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer Users using the `server_id` and `user_name` separated by `/`. For example:\n\n```sh\n$ pulumi import aws:transfer/user:User bar s-12345678/test-username\n```\n", "properties": { "arn": { "type": "string", @@ -374739,7 +374739,7 @@ } }, "aws:transfer/workflow:Workflow": { - "description": "Provides a AWS Transfer Workflow resource.\n\n## Example Usage\n\n### Basic single step example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Workflow(\"example\", {steps: [{\n deleteStepDetails: {\n name: \"example\",\n sourceFileLocation: \"${original.file}\",\n },\n type: \"DELETE\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Workflow(\"example\", steps=[{\n \"delete_step_details\": {\n \"name\": \"example\",\n \"source_file_location\": \"${original.file}\",\n },\n \"type\": \"DELETE\",\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Workflow(\"example\", new()\n {\n Steps = new[]\n {\n new Aws.Transfer.Inputs.WorkflowStepArgs\n {\n DeleteStepDetails = new Aws.Transfer.Inputs.WorkflowStepDeleteStepDetailsArgs\n {\n Name = \"example\",\n SourceFileLocation = \"${original.file}\",\n },\n Type = \"DELETE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\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 := transfer.NewWorkflow(ctx, \"example\", \u0026transfer.WorkflowArgs{\n\t\t\tSteps: transfer.WorkflowStepArray{\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tDeleteStepDetails: \u0026transfer.WorkflowStepDeleteStepDetailsArgs{\n\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\tSourceFileLocation: pulumi.String(\"${original.file}\"),\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"DELETE\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Workflow;\nimport com.pulumi.aws.transfer.WorkflowArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepDeleteStepDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Workflow(\"example\", WorkflowArgs.builder()\n .steps(WorkflowStepArgs.builder()\n .deleteStepDetails(WorkflowStepDeleteStepDetailsArgs.builder()\n .name(\"example\")\n .sourceFileLocation(\"${original.file}\")\n .build())\n .type(\"DELETE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Workflow\n properties:\n steps:\n - deleteStepDetails:\n name: example\n sourceFileLocation: $${original.file}\n type: DELETE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multistep example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Workflow(\"example\", {steps: [\n {\n customStepDetails: {\n name: \"example\",\n sourceFileLocation: \"${original.file}\",\n target: exampleAwsLambdaFunction.arn,\n timeoutSeconds: 60,\n },\n type: \"CUSTOM\",\n },\n {\n tagStepDetails: {\n name: \"example\",\n sourceFileLocation: \"${original.file}\",\n tags: [{\n key: \"Name\",\n value: \"Hello World\",\n }],\n },\n type: \"TAG\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Workflow(\"example\", steps=[\n {\n \"custom_step_details\": {\n \"name\": \"example\",\n \"source_file_location\": \"${original.file}\",\n \"target\": example_aws_lambda_function[\"arn\"],\n \"timeout_seconds\": 60,\n },\n \"type\": \"CUSTOM\",\n },\n {\n \"tag_step_details\": {\n \"name\": \"example\",\n \"source_file_location\": \"${original.file}\",\n \"tags\": [{\n \"key\": \"Name\",\n \"value\": \"Hello World\",\n }],\n },\n \"type\": \"TAG\",\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Workflow(\"example\", new()\n {\n Steps = new[]\n {\n new Aws.Transfer.Inputs.WorkflowStepArgs\n {\n CustomStepDetails = new Aws.Transfer.Inputs.WorkflowStepCustomStepDetailsArgs\n {\n Name = \"example\",\n SourceFileLocation = \"${original.file}\",\n Target = exampleAwsLambdaFunction.Arn,\n TimeoutSeconds = 60,\n },\n Type = \"CUSTOM\",\n },\n new Aws.Transfer.Inputs.WorkflowStepArgs\n {\n TagStepDetails = new Aws.Transfer.Inputs.WorkflowStepTagStepDetailsArgs\n {\n Name = \"example\",\n SourceFileLocation = \"${original.file}\",\n Tags = new[]\n {\n new Aws.Transfer.Inputs.WorkflowStepTagStepDetailsTagArgs\n {\n Key = \"Name\",\n Value = \"Hello World\",\n },\n },\n },\n Type = \"TAG\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\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 := transfer.NewWorkflow(ctx, \"example\", \u0026transfer.WorkflowArgs{\n\t\t\tSteps: transfer.WorkflowStepArray{\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tCustomStepDetails: \u0026transfer.WorkflowStepCustomStepDetailsArgs{\n\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\tSourceFileLocation: pulumi.String(\"${original.file}\"),\n\t\t\t\t\t\tTarget: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\t\t\t\tTimeoutSeconds: pulumi.Int(60),\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t},\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tTagStepDetails: \u0026transfer.WorkflowStepTagStepDetailsArgs{\n\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\tSourceFileLocation: pulumi.String(\"${original.file}\"),\n\t\t\t\t\t\tTags: transfer.WorkflowStepTagStepDetailsTagArray{\n\t\t\t\t\t\t\t\u0026transfer.WorkflowStepTagStepDetailsTagArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"Name\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"Hello World\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"TAG\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Workflow;\nimport com.pulumi.aws.transfer.WorkflowArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepCustomStepDetailsArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepTagStepDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Workflow(\"example\", WorkflowArgs.builder()\n .steps( \n WorkflowStepArgs.builder()\n .customStepDetails(WorkflowStepCustomStepDetailsArgs.builder()\n .name(\"example\")\n .sourceFileLocation(\"${original.file}\")\n .target(exampleAwsLambdaFunction.arn())\n .timeoutSeconds(60)\n .build())\n .type(\"CUSTOM\")\n .build(),\n WorkflowStepArgs.builder()\n .tagStepDetails(WorkflowStepTagStepDetailsArgs.builder()\n .name(\"example\")\n .sourceFileLocation(\"${original.file}\")\n .tags(WorkflowStepTagStepDetailsTagArgs.builder()\n .key(\"Name\")\n .value(\"Hello World\")\n .build())\n .build())\n .type(\"TAG\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Workflow\n properties:\n steps:\n - customStepDetails:\n name: example\n sourceFileLocation: $${original.file}\n target: ${exampleAwsLambdaFunction.arn}\n timeoutSeconds: 60\n type: CUSTOM\n - tagStepDetails:\n name: example\n sourceFileLocation: $${original.file}\n tags:\n - key: Name\n value: Hello World\n type: TAG\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer Workflows using the `worflow_id`. For example:\n\n```sh\n$ pulumi import aws:transfer/workflow:Workflow example example\n```\n", + "description": "Provides a AWS Transfer Workflow resource.\n\n## Example Usage\n\n### Basic single step example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Workflow(\"example\", {steps: [{\n deleteStepDetails: {\n name: \"example\",\n sourceFileLocation: \"${original.file}\",\n },\n type: \"DELETE\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Workflow(\"example\", steps=[{\n \"delete_step_details\": {\n \"name\": \"example\",\n \"source_file_location\": \"${original.file}\",\n },\n \"type\": \"DELETE\",\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Workflow(\"example\", new()\n {\n Steps = new[]\n {\n new Aws.Transfer.Inputs.WorkflowStepArgs\n {\n DeleteStepDetails = new Aws.Transfer.Inputs.WorkflowStepDeleteStepDetailsArgs\n {\n Name = \"example\",\n SourceFileLocation = \"${original.file}\",\n },\n Type = \"DELETE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\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 := transfer.NewWorkflow(ctx, \"example\", \u0026transfer.WorkflowArgs{\n\t\t\tSteps: transfer.WorkflowStepArray{\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tDeleteStepDetails: \u0026transfer.WorkflowStepDeleteStepDetailsArgs{\n\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\tSourceFileLocation: pulumi.String(\"${original.file}\"),\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"DELETE\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Workflow;\nimport com.pulumi.aws.transfer.WorkflowArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepDeleteStepDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Workflow(\"example\", WorkflowArgs.builder()\n .steps(WorkflowStepArgs.builder()\n .deleteStepDetails(WorkflowStepDeleteStepDetailsArgs.builder()\n .name(\"example\")\n .sourceFileLocation(\"${original.file}\")\n .build())\n .type(\"DELETE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Workflow\n properties:\n steps:\n - deleteStepDetails:\n name: example\n sourceFileLocation: ${original.file}\n type: DELETE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multistep example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Workflow(\"example\", {steps: [\n {\n customStepDetails: {\n name: \"example\",\n sourceFileLocation: \"${original.file}\",\n target: exampleAwsLambdaFunction.arn,\n timeoutSeconds: 60,\n },\n type: \"CUSTOM\",\n },\n {\n tagStepDetails: {\n name: \"example\",\n sourceFileLocation: \"${original.file}\",\n tags: [{\n key: \"Name\",\n value: \"Hello World\",\n }],\n },\n type: \"TAG\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Workflow(\"example\", steps=[\n {\n \"custom_step_details\": {\n \"name\": \"example\",\n \"source_file_location\": \"${original.file}\",\n \"target\": example_aws_lambda_function[\"arn\"],\n \"timeout_seconds\": 60,\n },\n \"type\": \"CUSTOM\",\n },\n {\n \"tag_step_details\": {\n \"name\": \"example\",\n \"source_file_location\": \"${original.file}\",\n \"tags\": [{\n \"key\": \"Name\",\n \"value\": \"Hello World\",\n }],\n },\n \"type\": \"TAG\",\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Workflow(\"example\", new()\n {\n Steps = new[]\n {\n new Aws.Transfer.Inputs.WorkflowStepArgs\n {\n CustomStepDetails = new Aws.Transfer.Inputs.WorkflowStepCustomStepDetailsArgs\n {\n Name = \"example\",\n SourceFileLocation = \"${original.file}\",\n Target = exampleAwsLambdaFunction.Arn,\n TimeoutSeconds = 60,\n },\n Type = \"CUSTOM\",\n },\n new Aws.Transfer.Inputs.WorkflowStepArgs\n {\n TagStepDetails = new Aws.Transfer.Inputs.WorkflowStepTagStepDetailsArgs\n {\n Name = \"example\",\n SourceFileLocation = \"${original.file}\",\n Tags = new[]\n {\n new Aws.Transfer.Inputs.WorkflowStepTagStepDetailsTagArgs\n {\n Key = \"Name\",\n Value = \"Hello World\",\n },\n },\n },\n Type = \"TAG\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\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 := transfer.NewWorkflow(ctx, \"example\", \u0026transfer.WorkflowArgs{\n\t\t\tSteps: transfer.WorkflowStepArray{\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tCustomStepDetails: \u0026transfer.WorkflowStepCustomStepDetailsArgs{\n\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\tSourceFileLocation: pulumi.String(\"${original.file}\"),\n\t\t\t\t\t\tTarget: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\t\t\t\tTimeoutSeconds: pulumi.Int(60),\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t},\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tTagStepDetails: \u0026transfer.WorkflowStepTagStepDetailsArgs{\n\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\tSourceFileLocation: pulumi.String(\"${original.file}\"),\n\t\t\t\t\t\tTags: transfer.WorkflowStepTagStepDetailsTagArray{\n\t\t\t\t\t\t\t\u0026transfer.WorkflowStepTagStepDetailsTagArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"Name\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"Hello World\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"TAG\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Workflow;\nimport com.pulumi.aws.transfer.WorkflowArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepCustomStepDetailsArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepTagStepDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Workflow(\"example\", WorkflowArgs.builder()\n .steps( \n WorkflowStepArgs.builder()\n .customStepDetails(WorkflowStepCustomStepDetailsArgs.builder()\n .name(\"example\")\n .sourceFileLocation(\"${original.file}\")\n .target(exampleAwsLambdaFunction.arn())\n .timeoutSeconds(60)\n .build())\n .type(\"CUSTOM\")\n .build(),\n WorkflowStepArgs.builder()\n .tagStepDetails(WorkflowStepTagStepDetailsArgs.builder()\n .name(\"example\")\n .sourceFileLocation(\"${original.file}\")\n .tags(WorkflowStepTagStepDetailsTagArgs.builder()\n .key(\"Name\")\n .value(\"Hello World\")\n .build())\n .build())\n .type(\"TAG\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Workflow\n properties:\n steps:\n - customStepDetails:\n name: example\n sourceFileLocation: ${original.file}\n target: ${exampleAwsLambdaFunction.arn}\n timeoutSeconds: 60\n type: CUSTOM\n - tagStepDetails:\n name: example\n sourceFileLocation: ${original.file}\n tags:\n - key: Name\n value: Hello World\n type: TAG\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer Workflows using the `worflow_id`. For example:\n\n```sh\n$ pulumi import aws:transfer/workflow:Workflow example example\n```\n", "properties": { "arn": { "type": "string", @@ -376966,7 +376966,7 @@ } }, "aws:vpclattice/resourcePolicy:ResourcePolicy": { - "description": "Resource for managing an AWS VPC Lattice Resource Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst example = new aws.vpclattice.ServiceNetwork(\"example\", {name: \"example-vpclattice-service-network\"});\nconst exampleResourcePolicy = new aws.vpclattice.ResourcePolicy(\"example\", {\n resourceArn: example.arn,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"test-pol-principals-6\",\n Effect: \"Allow\",\n Principal: {\n AWS: Promise.all([currentGetPartition, current]).then(([currentGetPartition, current]) =\u003e `arn:${currentGetPartition.partition}:iam::${current.accountId}:root`),\n },\n Action: [\n \"vpc-lattice:CreateServiceNetworkVpcAssociation\",\n \"vpc-lattice:CreateServiceNetworkServiceAssociation\",\n \"vpc-lattice:GetServiceNetwork\",\n ],\n Resource: example.arn,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\nexample = aws.vpclattice.ServiceNetwork(\"example\", name=\"example-vpclattice-service-network\")\nexample_resource_policy = aws.vpclattice.ResourcePolicy(\"example\",\n resource_arn=example.arn,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"test-pol-principals-6\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:{current_get_partition.partition}:iam::{current.account_id}:root\",\n },\n \"Action\": [\n \"vpc-lattice:CreateServiceNetworkVpcAssociation\",\n \"vpc-lattice:CreateServiceNetworkServiceAssociation\",\n \"vpc-lattice:GetServiceNetwork\",\n ],\n \"Resource\": example.arn,\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var example = new Aws.VpcLattice.ServiceNetwork(\"example\", new()\n {\n Name = \"example-vpclattice-service-network\",\n });\n\n var exampleResourcePolicy = new Aws.VpcLattice.ResourcePolicy(\"example\", new()\n {\n ResourceArn = example.Arn,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"test-pol-principals-6\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = Output.Tuple(currentGetPartition, current).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var current = values.Item2;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\";\n }),\n },\n [\"Action\"] = new[]\n {\n \"vpc-lattice:CreateServiceNetworkVpcAssociation\",\n \"vpc-lattice:CreateServiceNetworkServiceAssociation\",\n \"vpc-lattice:GetServiceNetwork\",\n },\n [\"Resource\"] = example.Arn,\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpclattice.NewServiceNetwork(ctx, \"example\", \u0026vpclattice.ServiceNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vpclattice-service-network\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpclattice.NewResourcePolicy(ctx, \"example\", \u0026vpclattice.ResourcePolicyArgs{\n\t\t\tResourceArn: example.Arn,\n\t\t\tPolicy: example.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"test-pol-principals-6\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:%v:iam::%v:root\", currentGetPartition.Partition, current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"vpc-lattice:CreateServiceNetworkVpcAssociation\",\n\t\t\t\t\t\t\t\t\"vpc-lattice:CreateServiceNetworkServiceAssociation\",\n\t\t\t\t\t\t\t\t\"vpc-lattice:GetServiceNetwork\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.vpclattice.ServiceNetwork;\nimport com.pulumi.aws.vpclattice.ServiceNetworkArgs;\nimport com.pulumi.aws.vpclattice.ResourcePolicy;\nimport com.pulumi.aws.vpclattice.ResourcePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n var example = new ServiceNetwork(\"example\", ServiceNetworkArgs.builder()\n .name(\"example-vpclattice-service-network\")\n .build());\n\n var exampleResourcePolicy = new ResourcePolicy(\"exampleResourcePolicy\", ResourcePolicyArgs.builder()\n .resourceArn(example.arn())\n .policy(example.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"test-pol-principals-6\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:%s:iam::%s:root\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"vpc-lattice:CreateServiceNetworkVpcAssociation\", \n \"vpc-lattice:CreateServiceNetworkServiceAssociation\", \n \"vpc-lattice:GetServiceNetwork\"\n )),\n jsonProperty(\"Resource\", arn)\n )))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:ServiceNetwork\n properties:\n name: example-vpclattice-service-network\n exampleResourcePolicy:\n type: aws:vpclattice:ResourcePolicy\n name: example\n properties:\n resourceArn: ${example.arn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: test-pol-principals-6\n Effect: Allow\n Principal:\n AWS: arn:${currentGetPartition.partition}:iam::${current.accountId}:root\n Action:\n - vpc-lattice:CreateServiceNetworkVpcAssociation\n - vpc-lattice:CreateServiceNetworkServiceAssociation\n - vpc-lattice:GetServiceNetwork\n Resource: ${example.arn}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n currentGetPartition:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Resource Policy using the `resource_arn`. For example:\n\n```sh\n$ pulumi import aws:vpclattice/resourcePolicy:ResourcePolicy example rft-8012925589\n```\n", + "description": "Resource for managing an AWS VPC Lattice Resource Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst example = new aws.vpclattice.ServiceNetwork(\"example\", {name: \"example-vpclattice-service-network\"});\nconst exampleResourcePolicy = new aws.vpclattice.ResourcePolicy(\"example\", {\n resourceArn: example.arn,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"test-pol-principals-6\",\n Effect: \"Allow\",\n Principal: {\n AWS: Promise.all([currentGetPartition, current]).then(([currentGetPartition, current]) =\u003e `arn:${currentGetPartition.partition}:iam::${current.accountId}:root`),\n },\n Action: [\n \"vpc-lattice:CreateServiceNetworkVpcAssociation\",\n \"vpc-lattice:CreateServiceNetworkServiceAssociation\",\n \"vpc-lattice:GetServiceNetwork\",\n ],\n Resource: example.arn,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\nexample = aws.vpclattice.ServiceNetwork(\"example\", name=\"example-vpclattice-service-network\")\nexample_resource_policy = aws.vpclattice.ResourcePolicy(\"example\",\n resource_arn=example.arn,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"test-pol-principals-6\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:{current_get_partition.partition}:iam::{current.account_id}:root\",\n },\n \"Action\": [\n \"vpc-lattice:CreateServiceNetworkVpcAssociation\",\n \"vpc-lattice:CreateServiceNetworkServiceAssociation\",\n \"vpc-lattice:GetServiceNetwork\",\n ],\n \"Resource\": example.arn,\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var example = new Aws.VpcLattice.ServiceNetwork(\"example\", new()\n {\n Name = \"example-vpclattice-service-network\",\n });\n\n var exampleResourcePolicy = new Aws.VpcLattice.ResourcePolicy(\"example\", new()\n {\n ResourceArn = example.Arn,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"test-pol-principals-6\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = Output.Tuple(currentGetPartition, current).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var current = values.Item2;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\";\n }),\n },\n [\"Action\"] = new[]\n {\n \"vpc-lattice:CreateServiceNetworkVpcAssociation\",\n \"vpc-lattice:CreateServiceNetworkServiceAssociation\",\n \"vpc-lattice:GetServiceNetwork\",\n },\n [\"Resource\"] = example.Arn,\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpclattice.NewServiceNetwork(ctx, \"example\", \u0026vpclattice.ServiceNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vpclattice-service-network\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpclattice.NewResourcePolicy(ctx, \"example\", \u0026vpclattice.ResourcePolicyArgs{\n\t\t\tResourceArn: example.Arn,\n\t\t\tPolicy: example.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"test-pol-principals-6\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:%v:iam::%v:root\", currentGetPartition.Partition, current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"vpc-lattice:CreateServiceNetworkVpcAssociation\",\n\t\t\t\t\t\t\t\t\"vpc-lattice:CreateServiceNetworkServiceAssociation\",\n\t\t\t\t\t\t\t\t\"vpc-lattice:GetServiceNetwork\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.vpclattice.ServiceNetwork;\nimport com.pulumi.aws.vpclattice.ServiceNetworkArgs;\nimport com.pulumi.aws.vpclattice.ResourcePolicy;\nimport com.pulumi.aws.vpclattice.ResourcePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n var example = new ServiceNetwork(\"example\", ServiceNetworkArgs.builder()\n .name(\"example-vpclattice-service-network\")\n .build());\n\n var exampleResourcePolicy = new ResourcePolicy(\"exampleResourcePolicy\", ResourcePolicyArgs.builder()\n .resourceArn(example.arn())\n .policy(example.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"test-pol-principals-6\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:%s:iam::%s:root\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"vpc-lattice:CreateServiceNetworkVpcAssociation\", \n \"vpc-lattice:CreateServiceNetworkServiceAssociation\", \n \"vpc-lattice:GetServiceNetwork\"\n )),\n jsonProperty(\"Resource\", arn)\n )))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:ServiceNetwork\n properties:\n name: example-vpclattice-service-network\n exampleResourcePolicy:\n type: aws:vpclattice:ResourcePolicy\n name: example\n properties:\n resourceArn: ${example.arn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: test-pol-principals-6\n Effect: Allow\n Principal:\n AWS: arn:${currentGetPartition.partition}:iam::${current.accountId}:root\n Action:\n - vpc-lattice:CreateServiceNetworkVpcAssociation\n - vpc-lattice:CreateServiceNetworkServiceAssociation\n - vpc-lattice:GetServiceNetwork\n Resource: ${example.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Resource Policy using the `resource_arn`. For example:\n\n```sh\n$ pulumi import aws:vpclattice/resourcePolicy:ResourcePolicy example rft-8012925589\n```\n", "properties": { "policy": { "type": "string", @@ -377852,7 +377852,7 @@ } }, "aws:waf/rateBasedRule:RateBasedRule": { - "description": "Provides a WAF Rate Based Rule Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.waf.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.waf.RateBasedRule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n rateKey: \"IP\",\n rateLimit: 100,\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n}, {\n dependsOn: [ipset],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.waf.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[{\n \"type\": \"IPV4\",\n \"value\": \"192.0.7.0/24\",\n }])\nwafrule = aws.waf.RateBasedRule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n rate_key=\"IP\",\n rate_limit=100,\n predicates=[{\n \"data_id\": ipset.id,\n \"negated\": False,\n \"type\": \"IPMatch\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[ipset]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.Waf.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.Waf.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.Waf.RateBasedRule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n RateKey = \"IP\",\n RateLimit = 100,\n Predicates = new[]\n {\n new Aws.Waf.Inputs.RateBasedRulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := waf.NewIpSet(ctx, \"ipset\", \u0026waf.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: waf.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026waf.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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\t_, err = waf.NewRateBasedRule(ctx, \"wafrule\", \u0026waf.RateBasedRuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tRateKey: pulumi.String(\"IP\"),\n\t\t\tRateLimit: pulumi.Int(100),\n\t\t\tPredicates: waf.RateBasedRulePredicateArray{\n\t\t\t\t\u0026waf.RateBasedRulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.IpSet;\nimport com.pulumi.aws.waf.IpSetArgs;\nimport com.pulumi.aws.waf.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.waf.RateBasedRule;\nimport com.pulumi.aws.waf.RateBasedRuleArgs;\nimport com.pulumi.aws.waf.inputs.RateBasedRulePredicateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new RateBasedRule(\"wafrule\", RateBasedRuleArgs.builder()\n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .rateKey(\"IP\")\n .rateLimit(100)\n .predicates(RateBasedRulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ipset)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:waf:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:waf:RateBasedRule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n rateKey: IP\n rateLimit: 100\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n options:\n dependsOn:\n - ${ipset}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Rated Based Rule using the id. For example:\n\n```sh\n$ pulumi import aws:waf/rateBasedRule:RateBasedRule wafrule a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Rate Based Rule Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.waf.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.waf.RateBasedRule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n rateKey: \"IP\",\n rateLimit: 100,\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n}, {\n dependsOn: [ipset],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.waf.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[{\n \"type\": \"IPV4\",\n \"value\": \"192.0.7.0/24\",\n }])\nwafrule = aws.waf.RateBasedRule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n rate_key=\"IP\",\n rate_limit=100,\n predicates=[{\n \"data_id\": ipset.id,\n \"negated\": False,\n \"type\": \"IPMatch\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[ipset]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.Waf.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.Waf.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.Waf.RateBasedRule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n RateKey = \"IP\",\n RateLimit = 100,\n Predicates = new[]\n {\n new Aws.Waf.Inputs.RateBasedRulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := waf.NewIpSet(ctx, \"ipset\", \u0026waf.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: waf.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026waf.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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\t_, err = waf.NewRateBasedRule(ctx, \"wafrule\", \u0026waf.RateBasedRuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tRateKey: pulumi.String(\"IP\"),\n\t\t\tRateLimit: pulumi.Int(100),\n\t\t\tPredicates: waf.RateBasedRulePredicateArray{\n\t\t\t\t\u0026waf.RateBasedRulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.IpSet;\nimport com.pulumi.aws.waf.IpSetArgs;\nimport com.pulumi.aws.waf.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.waf.RateBasedRule;\nimport com.pulumi.aws.waf.RateBasedRuleArgs;\nimport com.pulumi.aws.waf.inputs.RateBasedRulePredicateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new RateBasedRule(\"wafrule\", RateBasedRuleArgs.builder()\n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .rateKey(\"IP\")\n .rateLimit(100)\n .predicates(RateBasedRulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ipset)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:waf:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:waf:RateBasedRule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n rateKey: IP\n rateLimit: 100\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n options:\n dependson:\n - ${ipset}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Rated Based Rule using the id. For example:\n\n```sh\n$ pulumi import aws:waf/rateBasedRule:RateBasedRule wafrule a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "arn": { "type": "string", @@ -378116,7 +378116,7 @@ } }, "aws:waf/rule:Rule": { - "description": "Provides a WAF Rule Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.waf.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.waf.Rule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n}, {\n dependsOn: [ipset],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.waf.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[{\n \"type\": \"IPV4\",\n \"value\": \"192.0.7.0/24\",\n }])\nwafrule = aws.waf.Rule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n predicates=[{\n \"data_id\": ipset.id,\n \"negated\": False,\n \"type\": \"IPMatch\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[ipset]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.Waf.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.Waf.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.Waf.Rule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n Predicates = new[]\n {\n new Aws.Waf.Inputs.RulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := waf.NewIpSet(ctx, \"ipset\", \u0026waf.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: waf.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026waf.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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\t_, err = waf.NewRule(ctx, \"wafrule\", \u0026waf.RuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tPredicates: waf.RulePredicateArray{\n\t\t\t\t\u0026waf.RulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.IpSet;\nimport com.pulumi.aws.waf.IpSetArgs;\nimport com.pulumi.aws.waf.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.waf.Rule;\nimport com.pulumi.aws.waf.RuleArgs;\nimport com.pulumi.aws.waf.inputs.RulePredicateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new Rule(\"wafrule\", RuleArgs.builder()\n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .predicates(RulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ipset)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:waf:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:waf:Rule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n options:\n dependsOn:\n - ${ipset}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF rules using the id. For example:\n\n```sh\n$ pulumi import aws:waf/rule:Rule example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Rule Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.waf.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.waf.Rule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n}, {\n dependsOn: [ipset],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.waf.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[{\n \"type\": \"IPV4\",\n \"value\": \"192.0.7.0/24\",\n }])\nwafrule = aws.waf.Rule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n predicates=[{\n \"data_id\": ipset.id,\n \"negated\": False,\n \"type\": \"IPMatch\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[ipset]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.Waf.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.Waf.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.Waf.Rule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n Predicates = new[]\n {\n new Aws.Waf.Inputs.RulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := waf.NewIpSet(ctx, \"ipset\", \u0026waf.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: waf.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026waf.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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\t_, err = waf.NewRule(ctx, \"wafrule\", \u0026waf.RuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tPredicates: waf.RulePredicateArray{\n\t\t\t\t\u0026waf.RulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.IpSet;\nimport com.pulumi.aws.waf.IpSetArgs;\nimport com.pulumi.aws.waf.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.waf.Rule;\nimport com.pulumi.aws.waf.RuleArgs;\nimport com.pulumi.aws.waf.inputs.RulePredicateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new Rule(\"wafrule\", RuleArgs.builder()\n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .predicates(RulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ipset)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:waf:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:waf:Rule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n options:\n dependson:\n - ${ipset}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF rules using the id. For example:\n\n```sh\n$ pulumi import aws:waf/rule:Rule example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "arn": { "type": "string", @@ -378459,7 +378459,7 @@ } }, "aws:waf/webAcl:WebAcl": { - "description": "Provides a WAF Web ACL Resource\n\n## Example Usage\n\nThis example blocks requests coming from `192.0.7.0/24` and allows everything else.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.waf.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.waf.Rule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n}, {\n dependsOn: [ipset],\n});\nconst wafAcl = new aws.waf.WebAcl(\"waf_acl\", {\n name: \"tfWebACL\",\n metricName: \"tfWebACL\",\n defaultAction: {\n type: \"ALLOW\",\n },\n rules: [{\n action: {\n type: \"BLOCK\",\n },\n priority: 1,\n ruleId: wafrule.id,\n type: \"REGULAR\",\n }],\n}, {\n dependsOn: [\n ipset,\n wafrule,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.waf.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[{\n \"type\": \"IPV4\",\n \"value\": \"192.0.7.0/24\",\n }])\nwafrule = aws.waf.Rule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n predicates=[{\n \"data_id\": ipset.id,\n \"negated\": False,\n \"type\": \"IPMatch\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[ipset]))\nwaf_acl = aws.waf.WebAcl(\"waf_acl\",\n name=\"tfWebACL\",\n metric_name=\"tfWebACL\",\n default_action={\n \"type\": \"ALLOW\",\n },\n rules=[{\n \"action\": {\n \"type\": \"BLOCK\",\n },\n \"priority\": 1,\n \"rule_id\": wafrule.id,\n \"type\": \"REGULAR\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[\n ipset,\n wafrule,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.Waf.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.Waf.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.Waf.Rule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n Predicates = new[]\n {\n new Aws.Waf.Inputs.RulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n },\n });\n\n var wafAcl = new Aws.Waf.WebAcl(\"waf_acl\", new()\n {\n Name = \"tfWebACL\",\n MetricName = \"tfWebACL\",\n DefaultAction = new Aws.Waf.Inputs.WebAclDefaultActionArgs\n {\n Type = \"ALLOW\",\n },\n Rules = new[]\n {\n new Aws.Waf.Inputs.WebAclRuleArgs\n {\n Action = new Aws.Waf.Inputs.WebAclRuleActionArgs\n {\n Type = \"BLOCK\",\n },\n Priority = 1,\n RuleId = wafrule.Id,\n Type = \"REGULAR\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n wafrule,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := waf.NewIpSet(ctx, \"ipset\", \u0026waf.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: waf.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026waf.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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\twafrule, err := waf.NewRule(ctx, \"wafrule\", \u0026waf.RuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tPredicates: waf.RulePredicateArray{\n\t\t\t\t\u0026waf.RulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = waf.NewWebAcl(ctx, \"waf_acl\", \u0026waf.WebAclArgs{\n\t\t\tName: pulumi.String(\"tfWebACL\"),\n\t\t\tMetricName: pulumi.String(\"tfWebACL\"),\n\t\t\tDefaultAction: \u0026waf.WebAclDefaultActionArgs{\n\t\t\t\tType: pulumi.String(\"ALLOW\"),\n\t\t\t},\n\t\t\tRules: waf.WebAclRuleArray{\n\t\t\t\t\u0026waf.WebAclRuleArgs{\n\t\t\t\t\tAction: \u0026waf.WebAclRuleActionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"BLOCK\"),\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: wafrule.ID(),\n\t\t\t\t\tType: pulumi.String(\"REGULAR\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\n\t\t\twafrule,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.IpSet;\nimport com.pulumi.aws.waf.IpSetArgs;\nimport com.pulumi.aws.waf.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.waf.Rule;\nimport com.pulumi.aws.waf.RuleArgs;\nimport com.pulumi.aws.waf.inputs.RulePredicateArgs;\nimport com.pulumi.aws.waf.WebAcl;\nimport com.pulumi.aws.waf.WebAclArgs;\nimport com.pulumi.aws.waf.inputs.WebAclDefaultActionArgs;\nimport com.pulumi.aws.waf.inputs.WebAclRuleArgs;\nimport com.pulumi.aws.waf.inputs.WebAclRuleActionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new Rule(\"wafrule\", RuleArgs.builder()\n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .predicates(RulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ipset)\n .build());\n\n var wafAcl = new WebAcl(\"wafAcl\", WebAclArgs.builder()\n .name(\"tfWebACL\")\n .metricName(\"tfWebACL\")\n .defaultAction(WebAclDefaultActionArgs.builder()\n .type(\"ALLOW\")\n .build())\n .rules(WebAclRuleArgs.builder()\n .action(WebAclRuleActionArgs.builder()\n .type(\"BLOCK\")\n .build())\n .priority(1)\n .ruleId(wafrule.id())\n .type(\"REGULAR\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n ipset,\n wafrule)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:waf:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:waf:Rule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n options:\n dependsOn:\n - ${ipset}\n wafAcl:\n type: aws:waf:WebAcl\n name: waf_acl\n properties:\n name: tfWebACL\n metricName: tfWebACL\n defaultAction:\n type: ALLOW\n rules:\n - action:\n type: BLOCK\n priority: 1\n ruleId: ${wafrule.id}\n type: REGULAR\n options:\n dependsOn:\n - ${ipset}\n - ${wafrule}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging\n\n\u003e *NOTE:* The Kinesis Firehose Delivery Stream name must begin with `aws-waf-logs-` and be located in `us-east-1` region. See the [AWS WAF Developer Guide](https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) for more information about enabling WAF logging.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.waf.WebAcl(\"example\", {loggingConfiguration: {\n logDestination: exampleAwsKinesisFirehoseDeliveryStream.arn,\n redactedFields: {\n fieldToMatches: [\n {\n type: \"URI\",\n },\n {\n data: \"referer\",\n type: \"HEADER\",\n },\n ],\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.waf.WebAcl(\"example\", logging_configuration={\n \"log_destination\": example_aws_kinesis_firehose_delivery_stream[\"arn\"],\n \"redacted_fields\": {\n \"field_to_matches\": [\n {\n \"type\": \"URI\",\n },\n {\n \"data\": \"referer\",\n \"type\": \"HEADER\",\n },\n ],\n },\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Waf.WebAcl(\"example\", new()\n {\n LoggingConfiguration = new Aws.Waf.Inputs.WebAclLoggingConfigurationArgs\n {\n LogDestination = exampleAwsKinesisFirehoseDeliveryStream.Arn,\n RedactedFields = new Aws.Waf.Inputs.WebAclLoggingConfigurationRedactedFieldsArgs\n {\n FieldToMatches = new[]\n {\n new Aws.Waf.Inputs.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs\n {\n Type = \"URI\",\n },\n new Aws.Waf.Inputs.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs\n {\n Data = \"referer\",\n Type = \"HEADER\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\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 := waf.NewWebAcl(ctx, \"example\", \u0026waf.WebAclArgs{\n\t\t\tLoggingConfiguration: \u0026waf.WebAclLoggingConfigurationArgs{\n\t\t\t\tLogDestination: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),\n\t\t\t\tRedactedFields: \u0026waf.WebAclLoggingConfigurationRedactedFieldsArgs{\n\t\t\t\t\tFieldToMatches: waf.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArray{\n\t\t\t\t\t\t\u0026waf.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"URI\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026waf.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs{\n\t\t\t\t\t\t\tData: pulumi.String(\"referer\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"HEADER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.WebAcl;\nimport com.pulumi.aws.waf.WebAclArgs;\nimport com.pulumi.aws.waf.inputs.WebAclLoggingConfigurationArgs;\nimport com.pulumi.aws.waf.inputs.WebAclLoggingConfigurationRedactedFieldsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new WebAcl(\"example\", WebAclArgs.builder()\n .loggingConfiguration(WebAclLoggingConfigurationArgs.builder()\n .logDestination(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .redactedFields(WebAclLoggingConfigurationRedactedFieldsArgs.builder()\n .fieldToMatches( \n WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs.builder()\n .type(\"URI\")\n .build(),\n WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs.builder()\n .data(\"referer\")\n .type(\"HEADER\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:waf:WebAcl\n properties:\n loggingConfiguration:\n logDestination: ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n redactedFields:\n fieldToMatches:\n - type: URI\n - data: referer\n type: HEADER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Web ACL using the `id`. For example:\n\n```sh\n$ pulumi import aws:waf/webAcl:WebAcl main 0c8e583e-18f3-4c13-9e2a-67c4805d2f94\n```\n", + "description": "Provides a WAF Web ACL Resource\n\n## Example Usage\n\nThis example blocks requests coming from `192.0.7.0/24` and allows everything else.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.waf.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.waf.Rule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n}, {\n dependsOn: [ipset],\n});\nconst wafAcl = new aws.waf.WebAcl(\"waf_acl\", {\n name: \"tfWebACL\",\n metricName: \"tfWebACL\",\n defaultAction: {\n type: \"ALLOW\",\n },\n rules: [{\n action: {\n type: \"BLOCK\",\n },\n priority: 1,\n ruleId: wafrule.id,\n type: \"REGULAR\",\n }],\n}, {\n dependsOn: [\n ipset,\n wafrule,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.waf.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[{\n \"type\": \"IPV4\",\n \"value\": \"192.0.7.0/24\",\n }])\nwafrule = aws.waf.Rule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n predicates=[{\n \"data_id\": ipset.id,\n \"negated\": False,\n \"type\": \"IPMatch\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[ipset]))\nwaf_acl = aws.waf.WebAcl(\"waf_acl\",\n name=\"tfWebACL\",\n metric_name=\"tfWebACL\",\n default_action={\n \"type\": \"ALLOW\",\n },\n rules=[{\n \"action\": {\n \"type\": \"BLOCK\",\n },\n \"priority\": 1,\n \"rule_id\": wafrule.id,\n \"type\": \"REGULAR\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[\n ipset,\n wafrule,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.Waf.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.Waf.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.Waf.Rule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n Predicates = new[]\n {\n new Aws.Waf.Inputs.RulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n },\n });\n\n var wafAcl = new Aws.Waf.WebAcl(\"waf_acl\", new()\n {\n Name = \"tfWebACL\",\n MetricName = \"tfWebACL\",\n DefaultAction = new Aws.Waf.Inputs.WebAclDefaultActionArgs\n {\n Type = \"ALLOW\",\n },\n Rules = new[]\n {\n new Aws.Waf.Inputs.WebAclRuleArgs\n {\n Action = new Aws.Waf.Inputs.WebAclRuleActionArgs\n {\n Type = \"BLOCK\",\n },\n Priority = 1,\n RuleId = wafrule.Id,\n Type = \"REGULAR\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n wafrule,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := waf.NewIpSet(ctx, \"ipset\", \u0026waf.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: waf.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026waf.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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\twafrule, err := waf.NewRule(ctx, \"wafrule\", \u0026waf.RuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tPredicates: waf.RulePredicateArray{\n\t\t\t\t\u0026waf.RulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = waf.NewWebAcl(ctx, \"waf_acl\", \u0026waf.WebAclArgs{\n\t\t\tName: pulumi.String(\"tfWebACL\"),\n\t\t\tMetricName: pulumi.String(\"tfWebACL\"),\n\t\t\tDefaultAction: \u0026waf.WebAclDefaultActionArgs{\n\t\t\t\tType: pulumi.String(\"ALLOW\"),\n\t\t\t},\n\t\t\tRules: waf.WebAclRuleArray{\n\t\t\t\t\u0026waf.WebAclRuleArgs{\n\t\t\t\t\tAction: \u0026waf.WebAclRuleActionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"BLOCK\"),\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: wafrule.ID(),\n\t\t\t\t\tType: pulumi.String(\"REGULAR\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\n\t\t\twafrule,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.IpSet;\nimport com.pulumi.aws.waf.IpSetArgs;\nimport com.pulumi.aws.waf.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.waf.Rule;\nimport com.pulumi.aws.waf.RuleArgs;\nimport com.pulumi.aws.waf.inputs.RulePredicateArgs;\nimport com.pulumi.aws.waf.WebAcl;\nimport com.pulumi.aws.waf.WebAclArgs;\nimport com.pulumi.aws.waf.inputs.WebAclDefaultActionArgs;\nimport com.pulumi.aws.waf.inputs.WebAclRuleArgs;\nimport com.pulumi.aws.waf.inputs.WebAclRuleActionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new Rule(\"wafrule\", RuleArgs.builder()\n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .predicates(RulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ipset)\n .build());\n\n var wafAcl = new WebAcl(\"wafAcl\", WebAclArgs.builder()\n .name(\"tfWebACL\")\n .metricName(\"tfWebACL\")\n .defaultAction(WebAclDefaultActionArgs.builder()\n .type(\"ALLOW\")\n .build())\n .rules(WebAclRuleArgs.builder()\n .action(WebAclRuleActionArgs.builder()\n .type(\"BLOCK\")\n .build())\n .priority(1)\n .ruleId(wafrule.id())\n .type(\"REGULAR\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n ipset,\n wafrule)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:waf:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:waf:Rule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n options:\n dependson:\n - ${ipset}\n wafAcl:\n type: aws:waf:WebAcl\n name: waf_acl\n properties:\n name: tfWebACL\n metricName: tfWebACL\n defaultAction:\n type: ALLOW\n rules:\n - action:\n type: BLOCK\n priority: 1\n ruleId: ${wafrule.id}\n type: REGULAR\n options:\n dependson:\n - ${ipset}\n - ${wafrule}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging\n\n\u003e *NOTE:* The Kinesis Firehose Delivery Stream name must begin with `aws-waf-logs-` and be located in `us-east-1` region. See the [AWS WAF Developer Guide](https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) for more information about enabling WAF logging.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.waf.WebAcl(\"example\", {loggingConfiguration: {\n logDestination: exampleAwsKinesisFirehoseDeliveryStream.arn,\n redactedFields: {\n fieldToMatches: [\n {\n type: \"URI\",\n },\n {\n data: \"referer\",\n type: \"HEADER\",\n },\n ],\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.waf.WebAcl(\"example\", logging_configuration={\n \"log_destination\": example_aws_kinesis_firehose_delivery_stream[\"arn\"],\n \"redacted_fields\": {\n \"field_to_matches\": [\n {\n \"type\": \"URI\",\n },\n {\n \"data\": \"referer\",\n \"type\": \"HEADER\",\n },\n ],\n },\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Waf.WebAcl(\"example\", new()\n {\n LoggingConfiguration = new Aws.Waf.Inputs.WebAclLoggingConfigurationArgs\n {\n LogDestination = exampleAwsKinesisFirehoseDeliveryStream.Arn,\n RedactedFields = new Aws.Waf.Inputs.WebAclLoggingConfigurationRedactedFieldsArgs\n {\n FieldToMatches = new[]\n {\n new Aws.Waf.Inputs.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs\n {\n Type = \"URI\",\n },\n new Aws.Waf.Inputs.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs\n {\n Data = \"referer\",\n Type = \"HEADER\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\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 := waf.NewWebAcl(ctx, \"example\", \u0026waf.WebAclArgs{\n\t\t\tLoggingConfiguration: \u0026waf.WebAclLoggingConfigurationArgs{\n\t\t\t\tLogDestination: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),\n\t\t\t\tRedactedFields: \u0026waf.WebAclLoggingConfigurationRedactedFieldsArgs{\n\t\t\t\t\tFieldToMatches: waf.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArray{\n\t\t\t\t\t\t\u0026waf.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"URI\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026waf.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs{\n\t\t\t\t\t\t\tData: pulumi.String(\"referer\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"HEADER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.WebAcl;\nimport com.pulumi.aws.waf.WebAclArgs;\nimport com.pulumi.aws.waf.inputs.WebAclLoggingConfigurationArgs;\nimport com.pulumi.aws.waf.inputs.WebAclLoggingConfigurationRedactedFieldsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new WebAcl(\"example\", WebAclArgs.builder()\n .loggingConfiguration(WebAclLoggingConfigurationArgs.builder()\n .logDestination(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .redactedFields(WebAclLoggingConfigurationRedactedFieldsArgs.builder()\n .fieldToMatches( \n WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs.builder()\n .type(\"URI\")\n .build(),\n WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs.builder()\n .data(\"referer\")\n .type(\"HEADER\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:waf:WebAcl\n properties:\n loggingConfiguration:\n logDestination: ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n redactedFields:\n fieldToMatches:\n - type: URI\n - data: referer\n type: HEADER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Web ACL using the `id`. For example:\n\n```sh\n$ pulumi import aws:waf/webAcl:WebAcl main 0c8e583e-18f3-4c13-9e2a-67c4805d2f94\n```\n", "properties": { "arn": { "type": "string", @@ -378823,7 +378823,7 @@ } }, "aws:wafregional/rateBasedRule:RateBasedRule": { - "description": "Provides a WAF Rate Based Rule Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.wafregional.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.wafregional.RateBasedRule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n rateKey: \"IP\",\n rateLimit: 100,\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n}, {\n dependsOn: [ipset],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.wafregional.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[{\n \"type\": \"IPV4\",\n \"value\": \"192.0.7.0/24\",\n }])\nwafrule = aws.wafregional.RateBasedRule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n rate_key=\"IP\",\n rate_limit=100,\n predicates=[{\n \"data_id\": ipset.id,\n \"negated\": False,\n \"type\": \"IPMatch\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[ipset]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.WafRegional.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.WafRegional.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.WafRegional.RateBasedRule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n RateKey = \"IP\",\n RateLimit = 100,\n Predicates = new[]\n {\n new Aws.WafRegional.Inputs.RateBasedRulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := wafregional.NewIpSet(ctx, \"ipset\", \u0026wafregional.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: wafregional.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026wafregional.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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\t_, err = wafregional.NewRateBasedRule(ctx, \"wafrule\", \u0026wafregional.RateBasedRuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tRateKey: pulumi.String(\"IP\"),\n\t\t\tRateLimit: pulumi.Int(100),\n\t\t\tPredicates: wafregional.RateBasedRulePredicateArray{\n\t\t\t\t\u0026wafregional.RateBasedRulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafregional.IpSet;\nimport com.pulumi.aws.wafregional.IpSetArgs;\nimport com.pulumi.aws.wafregional.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.wafregional.RateBasedRule;\nimport com.pulumi.aws.wafregional.RateBasedRuleArgs;\nimport com.pulumi.aws.wafregional.inputs.RateBasedRulePredicateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new RateBasedRule(\"wafrule\", RateBasedRuleArgs.builder()\n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .rateKey(\"IP\")\n .rateLimit(100)\n .predicates(RateBasedRulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ipset)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:wafregional:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:wafregional:RateBasedRule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n rateKey: IP\n rateLimit: 100\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n options:\n dependsOn:\n - ${ipset}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Rate Based Rule using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/rateBasedRule:RateBasedRule wafrule a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Rate Based Rule Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.wafregional.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.wafregional.RateBasedRule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n rateKey: \"IP\",\n rateLimit: 100,\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n}, {\n dependsOn: [ipset],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.wafregional.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[{\n \"type\": \"IPV4\",\n \"value\": \"192.0.7.0/24\",\n }])\nwafrule = aws.wafregional.RateBasedRule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n rate_key=\"IP\",\n rate_limit=100,\n predicates=[{\n \"data_id\": ipset.id,\n \"negated\": False,\n \"type\": \"IPMatch\",\n }],\n opts = pulumi.ResourceOptions(depends_on=[ipset]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.WafRegional.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.WafRegional.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.WafRegional.RateBasedRule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n RateKey = \"IP\",\n RateLimit = 100,\n Predicates = new[]\n {\n new Aws.WafRegional.Inputs.RateBasedRulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := wafregional.NewIpSet(ctx, \"ipset\", \u0026wafregional.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: wafregional.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026wafregional.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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\t_, err = wafregional.NewRateBasedRule(ctx, \"wafrule\", \u0026wafregional.RateBasedRuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tRateKey: pulumi.String(\"IP\"),\n\t\t\tRateLimit: pulumi.Int(100),\n\t\t\tPredicates: wafregional.RateBasedRulePredicateArray{\n\t\t\t\t\u0026wafregional.RateBasedRulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafregional.IpSet;\nimport com.pulumi.aws.wafregional.IpSetArgs;\nimport com.pulumi.aws.wafregional.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.wafregional.RateBasedRule;\nimport com.pulumi.aws.wafregional.RateBasedRuleArgs;\nimport com.pulumi.aws.wafregional.inputs.RateBasedRulePredicateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new RateBasedRule(\"wafrule\", RateBasedRuleArgs.builder()\n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .rateKey(\"IP\")\n .rateLimit(100)\n .predicates(RateBasedRulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ipset)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:wafregional:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:wafregional:RateBasedRule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n rateKey: IP\n rateLimit: 100\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n options:\n dependson:\n - ${ipset}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Rate Based Rule using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/rateBasedRule:RateBasedRule wafrule a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "arn": { "type": "string", @@ -379552,7 +379552,7 @@ } }, "aws:wafregional/webAclAssociation:WebAclAssociation": { - "description": "Manages an association with WAF Regional Web ACL.\n\n\u003e **Note:** An Application Load Balancer can only be associated with one WAF Regional WebACL.\n\n## Example Usage\n\n### Application Load Balancer Association\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.wafregional.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst foo = new aws.wafregional.Rule(\"foo\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n});\nconst fooWebAcl = new aws.wafregional.WebAcl(\"foo\", {\n name: \"foo\",\n metricName: \"foo\",\n defaultAction: {\n type: \"ALLOW\",\n },\n rules: [{\n action: {\n type: \"BLOCK\",\n },\n priority: 1,\n ruleId: foo.id,\n }],\n});\nconst fooVpc = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.1.0.0/16\"});\nconst available = aws.getAvailabilityZones({});\nconst fooSubnet = new aws.ec2.Subnet(\"foo\", {\n vpcId: fooVpc.id,\n cidrBlock: \"10.1.1.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\nconst bar = new aws.ec2.Subnet(\"bar\", {\n vpcId: fooVpc.id,\n cidrBlock: \"10.1.2.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[1]),\n});\nconst fooLoadBalancer = new aws.alb.LoadBalancer(\"foo\", {\n internal: true,\n subnets: [\n fooSubnet.id,\n bar.id,\n ],\n});\nconst fooWebAclAssociation = new aws.wafregional.WebAclAssociation(\"foo\", {\n resourceArn: fooLoadBalancer.arn,\n webAclId: fooWebAcl.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.wafregional.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[{\n \"type\": \"IPV4\",\n \"value\": \"192.0.7.0/24\",\n }])\nfoo = aws.wafregional.Rule(\"foo\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n predicates=[{\n \"data_id\": ipset.id,\n \"negated\": False,\n \"type\": \"IPMatch\",\n }])\nfoo_web_acl = aws.wafregional.WebAcl(\"foo\",\n name=\"foo\",\n metric_name=\"foo\",\n default_action={\n \"type\": \"ALLOW\",\n },\n rules=[{\n \"action\": {\n \"type\": \"BLOCK\",\n },\n \"priority\": 1,\n \"rule_id\": foo.id,\n }])\nfoo_vpc = aws.ec2.Vpc(\"foo\", cidr_block=\"10.1.0.0/16\")\navailable = aws.get_availability_zones()\nfoo_subnet = aws.ec2.Subnet(\"foo\",\n vpc_id=foo_vpc.id,\n cidr_block=\"10.1.1.0/24\",\n availability_zone=available.names[0])\nbar = aws.ec2.Subnet(\"bar\",\n vpc_id=foo_vpc.id,\n cidr_block=\"10.1.2.0/24\",\n availability_zone=available.names[1])\nfoo_load_balancer = aws.alb.LoadBalancer(\"foo\",\n internal=True,\n subnets=[\n foo_subnet.id,\n bar.id,\n ])\nfoo_web_acl_association = aws.wafregional.WebAclAssociation(\"foo\",\n resource_arn=foo_load_balancer.arn,\n web_acl_id=foo_web_acl.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.WafRegional.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.WafRegional.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var foo = new Aws.WafRegional.Rule(\"foo\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n Predicates = new[]\n {\n new Aws.WafRegional.Inputs.RulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n });\n\n var fooWebAcl = new Aws.WafRegional.WebAcl(\"foo\", new()\n {\n Name = \"foo\",\n MetricName = \"foo\",\n DefaultAction = new Aws.WafRegional.Inputs.WebAclDefaultActionArgs\n {\n Type = \"ALLOW\",\n },\n Rules = new[]\n {\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Action = new Aws.WafRegional.Inputs.WebAclRuleActionArgs\n {\n Type = \"BLOCK\",\n },\n Priority = 1,\n RuleId = foo.Id,\n },\n },\n });\n\n var fooVpc = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var available = Aws.GetAvailabilityZones.Invoke();\n\n var fooSubnet = new Aws.Ec2.Subnet(\"foo\", new()\n {\n VpcId = fooVpc.Id,\n CidrBlock = \"10.1.1.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var bar = new Aws.Ec2.Subnet(\"bar\", new()\n {\n VpcId = fooVpc.Id,\n CidrBlock = \"10.1.2.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n });\n\n var fooLoadBalancer = new Aws.Alb.LoadBalancer(\"foo\", new()\n {\n Internal = true,\n Subnets = new[]\n {\n fooSubnet.Id,\n bar.Id,\n },\n });\n\n var fooWebAclAssociation = new Aws.WafRegional.WebAclAssociation(\"foo\", new()\n {\n ResourceArn = fooLoadBalancer.Arn,\n WebAclId = fooWebAcl.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/alb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := wafregional.NewIpSet(ctx, \"ipset\", \u0026wafregional.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: wafregional.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026wafregional.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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\tfoo, err := wafregional.NewRule(ctx, \"foo\", \u0026wafregional.RuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tPredicates: wafregional.RulePredicateArray{\n\t\t\t\t\u0026wafregional.RulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\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\tfooWebAcl, err := wafregional.NewWebAcl(ctx, \"foo\", \u0026wafregional.WebAclArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tMetricName: pulumi.String(\"foo\"),\n\t\t\tDefaultAction: \u0026wafregional.WebAclDefaultActionArgs{\n\t\t\t\tType: pulumi.String(\"ALLOW\"),\n\t\t\t},\n\t\t\tRules: wafregional.WebAclRuleArray{\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tAction: \u0026wafregional.WebAclRuleActionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"BLOCK\"),\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: foo.ID(),\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\tfooVpc, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooSubnet, err := ec2.NewSubnet(ctx, \"foo\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: fooVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.1.1.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewSubnet(ctx, \"bar\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: fooVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.1.2.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[1]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooLoadBalancer, err := alb.NewLoadBalancer(ctx, \"foo\", \u0026alb.LoadBalancerArgs{\n\t\t\tInternal: pulumi.Bool(true),\n\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\tfooSubnet.ID(),\n\t\t\t\tbar.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafregional.NewWebAclAssociation(ctx, \"foo\", \u0026wafregional.WebAclAssociationArgs{\n\t\t\tResourceArn: fooLoadBalancer.Arn,\n\t\t\tWebAclId: fooWebAcl.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafregional.IpSet;\nimport com.pulumi.aws.wafregional.IpSetArgs;\nimport com.pulumi.aws.wafregional.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.wafregional.Rule;\nimport com.pulumi.aws.wafregional.RuleArgs;\nimport com.pulumi.aws.wafregional.inputs.RulePredicateArgs;\nimport com.pulumi.aws.wafregional.WebAcl;\nimport com.pulumi.aws.wafregional.WebAclArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclDefaultActionArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleActionArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.alb.LoadBalancer;\nimport com.pulumi.aws.alb.LoadBalancerArgs;\nimport com.pulumi.aws.wafregional.WebAclAssociation;\nimport com.pulumi.aws.wafregional.WebAclAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var foo = new Rule(\"foo\", RuleArgs.builder()\n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .predicates(RulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build());\n\n var fooWebAcl = new WebAcl(\"fooWebAcl\", WebAclArgs.builder()\n .name(\"foo\")\n .metricName(\"foo\")\n .defaultAction(WebAclDefaultActionArgs.builder()\n .type(\"ALLOW\")\n .build())\n .rules(WebAclRuleArgs.builder()\n .action(WebAclRuleActionArgs.builder()\n .type(\"BLOCK\")\n .build())\n .priority(1)\n .ruleId(foo.id())\n .build())\n .build());\n\n var fooVpc = new Vpc(\"fooVpc\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n final var available = AwsFunctions.getAvailabilityZones();\n\n var fooSubnet = new Subnet(\"fooSubnet\", SubnetArgs.builder()\n .vpcId(fooVpc.id())\n .cidrBlock(\"10.1.1.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var bar = new Subnet(\"bar\", SubnetArgs.builder()\n .vpcId(fooVpc.id())\n .cidrBlock(\"10.1.2.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .build());\n\n var fooLoadBalancer = new LoadBalancer(\"fooLoadBalancer\", LoadBalancerArgs.builder()\n .internal(true)\n .subnets( \n fooSubnet.id(),\n bar.id())\n .build());\n\n var fooWebAclAssociation = new WebAclAssociation(\"fooWebAclAssociation\", WebAclAssociationArgs.builder()\n .resourceArn(fooLoadBalancer.arn())\n .webAclId(fooWebAcl.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:wafregional:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n foo:\n type: aws:wafregional:Rule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n fooWebAcl:\n type: aws:wafregional:WebAcl\n name: foo\n properties:\n name: foo\n metricName: foo\n defaultAction:\n type: ALLOW\n rules:\n - action:\n type: BLOCK\n priority: 1\n ruleId: ${foo.id}\n fooVpc:\n type: aws:ec2:Vpc\n name: foo\n properties:\n cidrBlock: 10.1.0.0/16\n fooSubnet:\n type: aws:ec2:Subnet\n name: foo\n properties:\n vpcId: ${fooVpc.id}\n cidrBlock: 10.1.1.0/24\n availabilityZone: ${available.names[0]}\n bar:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${fooVpc.id}\n cidrBlock: 10.1.2.0/24\n availabilityZone: ${available.names[1]}\n fooLoadBalancer:\n type: aws:alb:LoadBalancer\n name: foo\n properties:\n internal: true\n subnets:\n - ${fooSubnet.id}\n - ${bar.id}\n fooWebAclAssociation:\n type: aws:wafregional:WebAclAssociation\n name: foo\n properties:\n resourceArn: ${fooLoadBalancer.arn}\n webAclId: ${fooWebAcl.id}\nvariables:\n available:\n fn::invoke:\n function: aws:getAvailabilityZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Web ACL Association using their `web_acl_id:resource_arn`. For example:\n\n```sh\n$ pulumi import aws:wafregional/webAclAssociation:WebAclAssociation foo web_acl_id:resource_arn\n```\n", + "description": "Manages an association with WAF Regional Web ACL.\n\n\u003e **Note:** An Application Load Balancer can only be associated with one WAF Regional WebACL.\n\n## Example Usage\n\n### Application Load Balancer Association\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.wafregional.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst foo = new aws.wafregional.Rule(\"foo\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n});\nconst fooWebAcl = new aws.wafregional.WebAcl(\"foo\", {\n name: \"foo\",\n metricName: \"foo\",\n defaultAction: {\n type: \"ALLOW\",\n },\n rules: [{\n action: {\n type: \"BLOCK\",\n },\n priority: 1,\n ruleId: foo.id,\n }],\n});\nconst fooVpc = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.1.0.0/16\"});\nconst available = aws.getAvailabilityZones({});\nconst fooSubnet = new aws.ec2.Subnet(\"foo\", {\n vpcId: fooVpc.id,\n cidrBlock: \"10.1.1.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\nconst bar = new aws.ec2.Subnet(\"bar\", {\n vpcId: fooVpc.id,\n cidrBlock: \"10.1.2.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[1]),\n});\nconst fooLoadBalancer = new aws.alb.LoadBalancer(\"foo\", {\n internal: true,\n subnets: [\n fooSubnet.id,\n bar.id,\n ],\n});\nconst fooWebAclAssociation = new aws.wafregional.WebAclAssociation(\"foo\", {\n resourceArn: fooLoadBalancer.arn,\n webAclId: fooWebAcl.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.wafregional.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[{\n \"type\": \"IPV4\",\n \"value\": \"192.0.7.0/24\",\n }])\nfoo = aws.wafregional.Rule(\"foo\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n predicates=[{\n \"data_id\": ipset.id,\n \"negated\": False,\n \"type\": \"IPMatch\",\n }])\nfoo_web_acl = aws.wafregional.WebAcl(\"foo\",\n name=\"foo\",\n metric_name=\"foo\",\n default_action={\n \"type\": \"ALLOW\",\n },\n rules=[{\n \"action\": {\n \"type\": \"BLOCK\",\n },\n \"priority\": 1,\n \"rule_id\": foo.id,\n }])\nfoo_vpc = aws.ec2.Vpc(\"foo\", cidr_block=\"10.1.0.0/16\")\navailable = aws.get_availability_zones()\nfoo_subnet = aws.ec2.Subnet(\"foo\",\n vpc_id=foo_vpc.id,\n cidr_block=\"10.1.1.0/24\",\n availability_zone=available.names[0])\nbar = aws.ec2.Subnet(\"bar\",\n vpc_id=foo_vpc.id,\n cidr_block=\"10.1.2.0/24\",\n availability_zone=available.names[1])\nfoo_load_balancer = aws.alb.LoadBalancer(\"foo\",\n internal=True,\n subnets=[\n foo_subnet.id,\n bar.id,\n ])\nfoo_web_acl_association = aws.wafregional.WebAclAssociation(\"foo\",\n resource_arn=foo_load_balancer.arn,\n web_acl_id=foo_web_acl.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.WafRegional.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.WafRegional.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var foo = new Aws.WafRegional.Rule(\"foo\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n Predicates = new[]\n {\n new Aws.WafRegional.Inputs.RulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n });\n\n var fooWebAcl = new Aws.WafRegional.WebAcl(\"foo\", new()\n {\n Name = \"foo\",\n MetricName = \"foo\",\n DefaultAction = new Aws.WafRegional.Inputs.WebAclDefaultActionArgs\n {\n Type = \"ALLOW\",\n },\n Rules = new[]\n {\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Action = new Aws.WafRegional.Inputs.WebAclRuleActionArgs\n {\n Type = \"BLOCK\",\n },\n Priority = 1,\n RuleId = foo.Id,\n },\n },\n });\n\n var fooVpc = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var available = Aws.GetAvailabilityZones.Invoke();\n\n var fooSubnet = new Aws.Ec2.Subnet(\"foo\", new()\n {\n VpcId = fooVpc.Id,\n CidrBlock = \"10.1.1.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var bar = new Aws.Ec2.Subnet(\"bar\", new()\n {\n VpcId = fooVpc.Id,\n CidrBlock = \"10.1.2.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n });\n\n var fooLoadBalancer = new Aws.Alb.LoadBalancer(\"foo\", new()\n {\n Internal = true,\n Subnets = new[]\n {\n fooSubnet.Id,\n bar.Id,\n },\n });\n\n var fooWebAclAssociation = new Aws.WafRegional.WebAclAssociation(\"foo\", new()\n {\n ResourceArn = fooLoadBalancer.Arn,\n WebAclId = fooWebAcl.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/alb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := wafregional.NewIpSet(ctx, \"ipset\", \u0026wafregional.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: wafregional.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026wafregional.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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\tfoo, err := wafregional.NewRule(ctx, \"foo\", \u0026wafregional.RuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tPredicates: wafregional.RulePredicateArray{\n\t\t\t\t\u0026wafregional.RulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\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\tfooWebAcl, err := wafregional.NewWebAcl(ctx, \"foo\", \u0026wafregional.WebAclArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tMetricName: pulumi.String(\"foo\"),\n\t\t\tDefaultAction: \u0026wafregional.WebAclDefaultActionArgs{\n\t\t\t\tType: pulumi.String(\"ALLOW\"),\n\t\t\t},\n\t\t\tRules: wafregional.WebAclRuleArray{\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tAction: \u0026wafregional.WebAclRuleActionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"BLOCK\"),\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: foo.ID(),\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\tfooVpc, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooSubnet, err := ec2.NewSubnet(ctx, \"foo\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: fooVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.1.1.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewSubnet(ctx, \"bar\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: fooVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.1.2.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[1]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooLoadBalancer, err := alb.NewLoadBalancer(ctx, \"foo\", \u0026alb.LoadBalancerArgs{\n\t\t\tInternal: pulumi.Bool(true),\n\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\tfooSubnet.ID(),\n\t\t\t\tbar.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafregional.NewWebAclAssociation(ctx, \"foo\", \u0026wafregional.WebAclAssociationArgs{\n\t\t\tResourceArn: fooLoadBalancer.Arn,\n\t\t\tWebAclId: fooWebAcl.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafregional.IpSet;\nimport com.pulumi.aws.wafregional.IpSetArgs;\nimport com.pulumi.aws.wafregional.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.wafregional.Rule;\nimport com.pulumi.aws.wafregional.RuleArgs;\nimport com.pulumi.aws.wafregional.inputs.RulePredicateArgs;\nimport com.pulumi.aws.wafregional.WebAcl;\nimport com.pulumi.aws.wafregional.WebAclArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclDefaultActionArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleActionArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.alb.LoadBalancer;\nimport com.pulumi.aws.alb.LoadBalancerArgs;\nimport com.pulumi.aws.wafregional.WebAclAssociation;\nimport com.pulumi.aws.wafregional.WebAclAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var foo = new Rule(\"foo\", RuleArgs.builder()\n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .predicates(RulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build());\n\n var fooWebAcl = new WebAcl(\"fooWebAcl\", WebAclArgs.builder()\n .name(\"foo\")\n .metricName(\"foo\")\n .defaultAction(WebAclDefaultActionArgs.builder()\n .type(\"ALLOW\")\n .build())\n .rules(WebAclRuleArgs.builder()\n .action(WebAclRuleActionArgs.builder()\n .type(\"BLOCK\")\n .build())\n .priority(1)\n .ruleId(foo.id())\n .build())\n .build());\n\n var fooVpc = new Vpc(\"fooVpc\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n final var available = AwsFunctions.getAvailabilityZones();\n\n var fooSubnet = new Subnet(\"fooSubnet\", SubnetArgs.builder()\n .vpcId(fooVpc.id())\n .cidrBlock(\"10.1.1.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var bar = new Subnet(\"bar\", SubnetArgs.builder()\n .vpcId(fooVpc.id())\n .cidrBlock(\"10.1.2.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .build());\n\n var fooLoadBalancer = new LoadBalancer(\"fooLoadBalancer\", LoadBalancerArgs.builder()\n .internal(true)\n .subnets( \n fooSubnet.id(),\n bar.id())\n .build());\n\n var fooWebAclAssociation = new WebAclAssociation(\"fooWebAclAssociation\", WebAclAssociationArgs.builder()\n .resourceArn(fooLoadBalancer.arn())\n .webAclId(fooWebAcl.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:wafregional:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n foo:\n type: aws:wafregional:Rule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n fooWebAcl:\n type: aws:wafregional:WebAcl\n name: foo\n properties:\n name: foo\n metricName: foo\n defaultAction:\n type: ALLOW\n rules:\n - action:\n type: BLOCK\n priority: 1\n ruleId: ${foo.id}\n fooVpc:\n type: aws:ec2:Vpc\n name: foo\n properties:\n cidrBlock: 10.1.0.0/16\n fooSubnet:\n type: aws:ec2:Subnet\n name: foo\n properties:\n vpcId: ${fooVpc.id}\n cidrBlock: 10.1.1.0/24\n availabilityZone: ${available.names[0]}\n bar:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${fooVpc.id}\n cidrBlock: 10.1.2.0/24\n availabilityZone: ${available.names[1]}\n fooLoadBalancer:\n type: aws:alb:LoadBalancer\n name: foo\n properties:\n internal: true\n subnets:\n - ${fooSubnet.id}\n - ${bar.id}\n fooWebAclAssociation:\n type: aws:wafregional:WebAclAssociation\n name: foo\n properties:\n resourceArn: ${fooLoadBalancer.arn}\n webAclId: ${fooWebAcl.id}\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Web ACL Association using their `web_acl_id:resource_arn`. For example:\n\n```sh\n$ pulumi import aws:wafregional/webAclAssociation:WebAclAssociation foo web_acl_id:resource_arn\n```\n", "properties": { "resourceArn": { "type": "string", @@ -380545,7 +380545,7 @@ } }, "aws:worklink/fleet:Fleet": { - "description": "Provides a AWS WorkLink Fleet resource.\n\n!\u003e **WARNING:** The `aws.worklink.Fleet` resource has been deprecated and will be removed in a future version. Use Amazon WorkSpaces Secure Browser instead.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.worklink.Fleet(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.worklink.Fleet(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WorkLink.Fleet(\"example\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/worklink\"\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 := worklink.NewFleet(ctx, \"example\", \u0026worklink.FleetArgs{\n\t\t\tName: pulumi.String(\"example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.worklink.Fleet;\nimport com.pulumi.aws.worklink.FleetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Fleet(\"example\", FleetArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:worklink:Fleet\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nNetwork Configuration Usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.worklink.Fleet(\"example\", {\n name: \"example\",\n network: {\n vpcId: testAwsVpc.id,\n subnetIds: [testAwsSubnet.map(__item =\u003e __item.id)],\n securityGroupIds: [test.id],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.worklink.Fleet(\"example\",\n name=\"example\",\n network={\n \"vpc_id\": test_aws_vpc[\"id\"],\n \"subnet_ids\": [[__item[\"id\"] for __item in test_aws_subnet]],\n \"security_group_ids\": [test[\"id\"]],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WorkLink.Fleet(\"example\", new()\n {\n Name = \"example\",\n Network = new Aws.WorkLink.Inputs.FleetNetworkArgs\n {\n VpcId = testAwsVpc.Id,\n SubnetIds = new[]\n {\n testAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n },\n SecurityGroupIds = new[]\n {\n test.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/worklink\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := worklink.NewFleet(ctx, \"example\", \u0026worklink.FleetArgs{\nName: pulumi.String(\"example\"),\nNetwork: \u0026worklink.FleetNetworkArgs{\nVpcId: pulumi.Any(testAwsVpc.Id),\nSubnetIds: pulumi.StringArray{\npulumi.String(%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:4,25-44)),\n},\nSecurityGroupIds: pulumi.StringArray{\ntest.Id,\n},\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.worklink.Fleet;\nimport com.pulumi.aws.worklink.FleetArgs;\nimport com.pulumi.aws.worklink.inputs.FleetNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Fleet(\"example\", FleetArgs.builder()\n .name(\"example\")\n .network(FleetNetworkArgs.builder()\n .vpcId(testAwsVpc.id())\n .subnetIds(testAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroupIds(test.id())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIdentity Provider Configuration Usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst test = new aws.worklink.Fleet(\"test\", {\n name: \"tf-worklink-fleet\",\n identityProvider: {\n type: \"SAML\",\n samlMetadata: std.file({\n input: \"saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest = aws.worklink.Fleet(\"test\",\n name=\"tf-worklink-fleet\",\n identity_provider={\n \"type\": \"SAML\",\n \"saml_metadata\": std.file(input=\"saml-metadata.xml\").result,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.WorkLink.Fleet(\"test\", new()\n {\n Name = \"tf-worklink-fleet\",\n IdentityProvider = new Aws.WorkLink.Inputs.FleetIdentityProviderArgs\n {\n Type = \"SAML\",\n SamlMetadata = Std.File.Invoke(new()\n {\n Input = \"saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/worklink\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = worklink.NewFleet(ctx, \"test\", \u0026worklink.FleetArgs{\n\t\t\tName: pulumi.String(\"tf-worklink-fleet\"),\n\t\t\tIdentityProvider: \u0026worklink.FleetIdentityProviderArgs{\n\t\t\t\tType: pulumi.String(\"SAML\"),\n\t\t\t\tSamlMetadata: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.worklink.Fleet;\nimport com.pulumi.aws.worklink.FleetArgs;\nimport com.pulumi.aws.worklink.inputs.FleetIdentityProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Fleet(\"test\", FleetArgs.builder()\n .name(\"tf-worklink-fleet\")\n .identityProvider(FleetIdentityProviderArgs.builder()\n .type(\"SAML\")\n .samlMetadata(StdFunctions.file(FileArgs.builder()\n .input(\"saml-metadata.xml\")\n .build()).result())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:worklink:Fleet\n properties:\n name: tf-worklink-fleet\n identityProvider:\n type: SAML\n samlMetadata:\n fn::invoke:\n function: std:file\n arguments:\n input: saml-metadata.xml\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WorkLink using the ARN. For example:\n\n```sh\n$ pulumi import aws:worklink/fleet:Fleet test arn:aws:worklink::123456789012:fleet/example\n```\n", + "description": "Provides a AWS WorkLink Fleet resource.\n\n!\u003e **WARNING:** The `aws.worklink.Fleet` resource has been deprecated and will be removed in a future version. Use Amazon WorkSpaces Secure Browser instead.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.worklink.Fleet(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.worklink.Fleet(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WorkLink.Fleet(\"example\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/worklink\"\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 := worklink.NewFleet(ctx, \"example\", \u0026worklink.FleetArgs{\n\t\t\tName: pulumi.String(\"example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.worklink.Fleet;\nimport com.pulumi.aws.worklink.FleetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Fleet(\"example\", FleetArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:worklink:Fleet\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nNetwork Configuration Usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.worklink.Fleet(\"example\", {\n name: \"example\",\n network: {\n vpcId: testAwsVpc.id,\n subnetIds: [testAwsSubnet.map(__item =\u003e __item.id)],\n securityGroupIds: [test.id],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.worklink.Fleet(\"example\",\n name=\"example\",\n network={\n \"vpc_id\": test_aws_vpc[\"id\"],\n \"subnet_ids\": [[__item[\"id\"] for __item in test_aws_subnet]],\n \"security_group_ids\": [test[\"id\"]],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WorkLink.Fleet(\"example\", new()\n {\n Name = \"example\",\n Network = new Aws.WorkLink.Inputs.FleetNetworkArgs\n {\n VpcId = testAwsVpc.Id,\n SubnetIds = new[]\n {\n testAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n },\n SecurityGroupIds = new[]\n {\n test.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/worklink\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := worklink.NewFleet(ctx, \"example\", \u0026worklink.FleetArgs{\nName: pulumi.String(\"example\"),\nNetwork: \u0026worklink.FleetNetworkArgs{\nVpcId: pulumi.Any(testAwsVpc.Id),\nSubnetIds: pulumi.StringArray{\npulumi.String(%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:4,25-44)),\n},\nSecurityGroupIds: pulumi.StringArray{\ntest.Id,\n},\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.worklink.Fleet;\nimport com.pulumi.aws.worklink.FleetArgs;\nimport com.pulumi.aws.worklink.inputs.FleetNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Fleet(\"example\", FleetArgs.builder()\n .name(\"example\")\n .network(FleetNetworkArgs.builder()\n .vpcId(testAwsVpc.id())\n .subnetIds(testAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroupIds(test.id())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIdentity Provider Configuration Usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst test = new aws.worklink.Fleet(\"test\", {\n name: \"tf-worklink-fleet\",\n identityProvider: {\n type: \"SAML\",\n samlMetadata: std.file({\n input: \"saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest = aws.worklink.Fleet(\"test\",\n name=\"tf-worklink-fleet\",\n identity_provider={\n \"type\": \"SAML\",\n \"saml_metadata\": std.file(input=\"saml-metadata.xml\").result,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.WorkLink.Fleet(\"test\", new()\n {\n Name = \"tf-worklink-fleet\",\n IdentityProvider = new Aws.WorkLink.Inputs.FleetIdentityProviderArgs\n {\n Type = \"SAML\",\n SamlMetadata = Std.File.Invoke(new()\n {\n Input = \"saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/worklink\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = worklink.NewFleet(ctx, \"test\", \u0026worklink.FleetArgs{\n\t\t\tName: pulumi.String(\"tf-worklink-fleet\"),\n\t\t\tIdentityProvider: \u0026worklink.FleetIdentityProviderArgs{\n\t\t\t\tType: pulumi.String(\"SAML\"),\n\t\t\t\tSamlMetadata: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.worklink.Fleet;\nimport com.pulumi.aws.worklink.FleetArgs;\nimport com.pulumi.aws.worklink.inputs.FleetIdentityProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Fleet(\"test\", FleetArgs.builder()\n .name(\"tf-worklink-fleet\")\n .identityProvider(FleetIdentityProviderArgs.builder()\n .type(\"SAML\")\n .samlMetadata(StdFunctions.file(FileArgs.builder()\n .input(\"saml-metadata.xml\")\n .build()).result())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:worklink:Fleet\n properties:\n name: tf-worklink-fleet\n identityProvider:\n type: SAML\n samlMetadata:\n fn::invoke:\n Function: std:file\n Arguments:\n input: saml-metadata.xml\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WorkLink using the ARN. For example:\n\n```sh\n$ pulumi import aws:worklink/fleet:Fleet test arn:aws:worklink::123456789012:fleet/example\n```\n", "properties": { "arn": { "type": "string", @@ -380683,7 +380683,7 @@ } }, "aws:worklink/websiteCertificateAuthorityAssociation:WebsiteCertificateAuthorityAssociation": { - "description": "Provides a AWS WorkLink Website Certificate Authority Association resource.\n\n!\u003e **WARNING:** The `aws.worklink.WebsiteCertificateAuthorityAssociation` resource has been deprecated and will be removed in a future version. Use Amazon WorkSpaces Secure Browser instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.worklink.Fleet(\"example\", {name: \"example\"});\nconst test = new aws.worklink.WebsiteCertificateAuthorityAssociation(\"test\", {\n fleetArn: testAwsWorklinkFleet.arn,\n certificate: std.file({\n input: \"certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.worklink.Fleet(\"example\", name=\"example\")\ntest = aws.worklink.WebsiteCertificateAuthorityAssociation(\"test\",\n fleet_arn=test_aws_worklink_fleet[\"arn\"],\n certificate=std.file(input=\"certificate.pem\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WorkLink.Fleet(\"example\", new()\n {\n Name = \"example\",\n });\n\n var test = new Aws.WorkLink.WebsiteCertificateAuthorityAssociation(\"test\", new()\n {\n FleetArn = testAwsWorklinkFleet.Arn,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/worklink\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\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 := worklink.NewFleet(ctx, \"example\", \u0026worklink.FleetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = worklink.NewWebsiteCertificateAuthorityAssociation(ctx, \"test\", \u0026worklink.WebsiteCertificateAuthorityAssociationArgs{\n\t\t\tFleetArn: pulumi.Any(testAwsWorklinkFleet.Arn),\n\t\t\tCertificate: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.worklink.Fleet;\nimport com.pulumi.aws.worklink.FleetArgs;\nimport com.pulumi.aws.worklink.WebsiteCertificateAuthorityAssociation;\nimport com.pulumi.aws.worklink.WebsiteCertificateAuthorityAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Fleet(\"example\", FleetArgs.builder()\n .name(\"example\")\n .build());\n\n var test = new WebsiteCertificateAuthorityAssociation(\"test\", WebsiteCertificateAuthorityAssociationArgs.builder()\n .fleetArn(testAwsWorklinkFleet.arn())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"certificate.pem\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:worklink:Fleet\n properties:\n name: example\n test:\n type: aws:worklink:WebsiteCertificateAuthorityAssociation\n properties:\n fleetArn: ${testAwsWorklinkFleet.arn}\n certificate:\n fn::invoke:\n function: std:file\n arguments:\n input: certificate.pem\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WorkLink Website Certificate Authority using `FLEET-ARN,WEBSITE-CA-ID`. For example:\n\n```sh\n$ pulumi import aws:worklink/websiteCertificateAuthorityAssociation:WebsiteCertificateAuthorityAssociation example arn:aws:worklink::123456789012:fleet/example,abcdefghijk\n```\n", + "description": "Provides a AWS WorkLink Website Certificate Authority Association resource.\n\n!\u003e **WARNING:** The `aws.worklink.WebsiteCertificateAuthorityAssociation` resource has been deprecated and will be removed in a future version. Use Amazon WorkSpaces Secure Browser instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.worklink.Fleet(\"example\", {name: \"example\"});\nconst test = new aws.worklink.WebsiteCertificateAuthorityAssociation(\"test\", {\n fleetArn: testAwsWorklinkFleet.arn,\n certificate: std.file({\n input: \"certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.worklink.Fleet(\"example\", name=\"example\")\ntest = aws.worklink.WebsiteCertificateAuthorityAssociation(\"test\",\n fleet_arn=test_aws_worklink_fleet[\"arn\"],\n certificate=std.file(input=\"certificate.pem\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WorkLink.Fleet(\"example\", new()\n {\n Name = \"example\",\n });\n\n var test = new Aws.WorkLink.WebsiteCertificateAuthorityAssociation(\"test\", new()\n {\n FleetArn = testAwsWorklinkFleet.Arn,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/worklink\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\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 := worklink.NewFleet(ctx, \"example\", \u0026worklink.FleetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = worklink.NewWebsiteCertificateAuthorityAssociation(ctx, \"test\", \u0026worklink.WebsiteCertificateAuthorityAssociationArgs{\n\t\t\tFleetArn: pulumi.Any(testAwsWorklinkFleet.Arn),\n\t\t\tCertificate: pulumi.String(invokeFile.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.worklink.Fleet;\nimport com.pulumi.aws.worklink.FleetArgs;\nimport com.pulumi.aws.worklink.WebsiteCertificateAuthorityAssociation;\nimport com.pulumi.aws.worklink.WebsiteCertificateAuthorityAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Fleet(\"example\", FleetArgs.builder()\n .name(\"example\")\n .build());\n\n var test = new WebsiteCertificateAuthorityAssociation(\"test\", WebsiteCertificateAuthorityAssociationArgs.builder()\n .fleetArn(testAwsWorklinkFleet.arn())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"certificate.pem\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:worklink:Fleet\n properties:\n name: example\n test:\n type: aws:worklink:WebsiteCertificateAuthorityAssociation\n properties:\n fleetArn: ${testAwsWorklinkFleet.arn}\n certificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: certificate.pem\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WorkLink Website Certificate Authority using `FLEET-ARN,WEBSITE-CA-ID`. For example:\n\n```sh\n$ pulumi import aws:worklink/websiteCertificateAuthorityAssociation:WebsiteCertificateAuthorityAssociation example arn:aws:worklink::123456789012:fleet/example,abcdefghijk\n```\n", "properties": { "certificate": { "type": "string", @@ -380851,7 +380851,7 @@ } }, "aws:workspaces/directory:Directory": { - "description": "Provides a WorkSpaces directory in AWS WorkSpaces Service.\n\n\u003e **NOTE:** AWS WorkSpaces service requires [`workspaces_DefaultRole`](https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-access-control.html#create-default-role) IAM role to operate normally.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleA = new aws.ec2.Subnet(\"example_a\", {\n vpcId: exampleVpc.id,\n availabilityZone: \"us-east-1a\",\n cidrBlock: \"10.0.0.0/24\",\n});\nconst exampleB = new aws.ec2.Subnet(\"example_b\", {\n vpcId: exampleVpc.id,\n availabilityZone: \"us-east-1b\",\n cidrBlock: \"10.0.1.0/24\",\n});\nconst exampleDirectory = new aws.directoryservice.Directory(\"example\", {\n name: \"corp.example.com\",\n password: \"#S1ncerely\",\n size: \"Small\",\n vpcSettings: {\n vpcId: exampleVpc.id,\n subnetIds: [\n exampleA.id,\n exampleB.id,\n ],\n },\n});\nconst workspaces = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"workspaces.amazonaws.com\"],\n }],\n }],\n});\nconst workspacesDefault = new aws.iam.Role(\"workspaces_default\", {\n name: \"workspaces_DefaultRole\",\n assumeRolePolicy: workspaces.then(workspaces =\u003e workspaces.json),\n});\nconst workspacesDefaultServiceAccess = new aws.iam.RolePolicyAttachment(\"workspaces_default_service_access\", {\n role: workspacesDefault.name,\n policyArn: \"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\",\n});\nconst workspacesDefaultSelfServiceAccess = new aws.iam.RolePolicyAttachment(\"workspaces_default_self_service_access\", {\n role: workspacesDefault.name,\n policyArn: \"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\",\n});\nconst exampleC = new aws.ec2.Subnet(\"example_c\", {\n vpcId: exampleVpc.id,\n availabilityZone: \"us-east-1c\",\n cidrBlock: \"10.0.2.0/24\",\n});\nconst exampleD = new aws.ec2.Subnet(\"example_d\", {\n vpcId: exampleVpc.id,\n availabilityZone: \"us-east-1d\",\n cidrBlock: \"10.0.3.0/24\",\n});\nconst example = new aws.workspaces.Directory(\"example\", {\n directoryId: exampleDirectory.id,\n subnetIds: [\n exampleC.id,\n exampleD.id,\n ],\n tags: {\n Example: \"true\",\n },\n samlProperties: {\n userAccessUrl: \"https://sso.example.com/\",\n status: \"ENABLED\",\n },\n selfServicePermissions: {\n changeComputeType: true,\n increaseVolumeSize: true,\n rebuildWorkspace: true,\n restartWorkspace: true,\n switchRunningMode: true,\n },\n workspaceAccessProperties: {\n deviceTypeAndroid: \"ALLOW\",\n deviceTypeChromeos: \"ALLOW\",\n deviceTypeIos: \"ALLOW\",\n deviceTypeLinux: \"DENY\",\n deviceTypeOsx: \"ALLOW\",\n deviceTypeWeb: \"DENY\",\n deviceTypeWindows: \"DENY\",\n deviceTypeZeroclient: \"DENY\",\n },\n workspaceCreationProperties: {\n customSecurityGroupId: exampleAwsSecurityGroup.id,\n defaultOu: \"OU=AWS,DC=Workgroup,DC=Example,DC=com\",\n enableInternetAccess: true,\n enableMaintenanceMode: true,\n userEnabledAsLocalAdministrator: true,\n },\n}, {\n dependsOn: [\n workspacesDefaultServiceAccess,\n workspacesDefaultSelfServiceAccess,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_a = aws.ec2.Subnet(\"example_a\",\n vpc_id=example_vpc.id,\n availability_zone=\"us-east-1a\",\n cidr_block=\"10.0.0.0/24\")\nexample_b = aws.ec2.Subnet(\"example_b\",\n vpc_id=example_vpc.id,\n availability_zone=\"us-east-1b\",\n cidr_block=\"10.0.1.0/24\")\nexample_directory = aws.directoryservice.Directory(\"example\",\n name=\"corp.example.com\",\n password=\"#S1ncerely\",\n size=\"Small\",\n vpc_settings={\n \"vpc_id\": example_vpc.id,\n \"subnet_ids\": [\n example_a.id,\n example_b.id,\n ],\n })\nworkspaces = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"workspaces.amazonaws.com\"],\n }],\n}])\nworkspaces_default = aws.iam.Role(\"workspaces_default\",\n name=\"workspaces_DefaultRole\",\n assume_role_policy=workspaces.json)\nworkspaces_default_service_access = aws.iam.RolePolicyAttachment(\"workspaces_default_service_access\",\n role=workspaces_default.name,\n policy_arn=\"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\")\nworkspaces_default_self_service_access = aws.iam.RolePolicyAttachment(\"workspaces_default_self_service_access\",\n role=workspaces_default.name,\n policy_arn=\"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\")\nexample_c = aws.ec2.Subnet(\"example_c\",\n vpc_id=example_vpc.id,\n availability_zone=\"us-east-1c\",\n cidr_block=\"10.0.2.0/24\")\nexample_d = aws.ec2.Subnet(\"example_d\",\n vpc_id=example_vpc.id,\n availability_zone=\"us-east-1d\",\n cidr_block=\"10.0.3.0/24\")\nexample = aws.workspaces.Directory(\"example\",\n directory_id=example_directory.id,\n subnet_ids=[\n example_c.id,\n example_d.id,\n ],\n tags={\n \"Example\": \"true\",\n },\n saml_properties={\n \"user_access_url\": \"https://sso.example.com/\",\n \"status\": \"ENABLED\",\n },\n self_service_permissions={\n \"change_compute_type\": True,\n \"increase_volume_size\": True,\n \"rebuild_workspace\": True,\n \"restart_workspace\": True,\n \"switch_running_mode\": True,\n },\n workspace_access_properties={\n \"device_type_android\": \"ALLOW\",\n \"device_type_chromeos\": \"ALLOW\",\n \"device_type_ios\": \"ALLOW\",\n \"device_type_linux\": \"DENY\",\n \"device_type_osx\": \"ALLOW\",\n \"device_type_web\": \"DENY\",\n \"device_type_windows\": \"DENY\",\n \"device_type_zeroclient\": \"DENY\",\n },\n workspace_creation_properties={\n \"custom_security_group_id\": example_aws_security_group[\"id\"],\n \"default_ou\": \"OU=AWS,DC=Workgroup,DC=Example,DC=com\",\n \"enable_internet_access\": True,\n \"enable_maintenance_mode\": True,\n \"user_enabled_as_local_administrator\": True,\n },\n opts = pulumi.ResourceOptions(depends_on=[\n workspaces_default_service_access,\n workspaces_default_self_service_access,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleA = new Aws.Ec2.Subnet(\"example_a\", new()\n {\n VpcId = exampleVpc.Id,\n AvailabilityZone = \"us-east-1a\",\n CidrBlock = \"10.0.0.0/24\",\n });\n\n var exampleB = new Aws.Ec2.Subnet(\"example_b\", new()\n {\n VpcId = exampleVpc.Id,\n AvailabilityZone = \"us-east-1b\",\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var exampleDirectory = new Aws.DirectoryService.Directory(\"example\", new()\n {\n Name = \"corp.example.com\",\n Password = \"#S1ncerely\",\n Size = \"Small\",\n VpcSettings = new Aws.DirectoryService.Inputs.DirectoryVpcSettingsArgs\n {\n VpcId = exampleVpc.Id,\n SubnetIds = new[]\n {\n exampleA.Id,\n exampleB.Id,\n },\n },\n });\n\n var workspaces = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"workspaces.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var workspacesDefault = new Aws.Iam.Role(\"workspaces_default\", new()\n {\n Name = \"workspaces_DefaultRole\",\n AssumeRolePolicy = workspaces.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var workspacesDefaultServiceAccess = new Aws.Iam.RolePolicyAttachment(\"workspaces_default_service_access\", new()\n {\n Role = workspacesDefault.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\",\n });\n\n var workspacesDefaultSelfServiceAccess = new Aws.Iam.RolePolicyAttachment(\"workspaces_default_self_service_access\", new()\n {\n Role = workspacesDefault.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\",\n });\n\n var exampleC = new Aws.Ec2.Subnet(\"example_c\", new()\n {\n VpcId = exampleVpc.Id,\n AvailabilityZone = \"us-east-1c\",\n CidrBlock = \"10.0.2.0/24\",\n });\n\n var exampleD = new Aws.Ec2.Subnet(\"example_d\", new()\n {\n VpcId = exampleVpc.Id,\n AvailabilityZone = \"us-east-1d\",\n CidrBlock = \"10.0.3.0/24\",\n });\n\n var example = new Aws.Workspaces.Directory(\"example\", new()\n {\n DirectoryId = exampleDirectory.Id,\n SubnetIds = new[]\n {\n exampleC.Id,\n exampleD.Id,\n },\n Tags = \n {\n { \"Example\", \"true\" },\n },\n SamlProperties = new Aws.Workspaces.Inputs.DirectorySamlPropertiesArgs\n {\n UserAccessUrl = \"https://sso.example.com/\",\n Status = \"ENABLED\",\n },\n SelfServicePermissions = new Aws.Workspaces.Inputs.DirectorySelfServicePermissionsArgs\n {\n ChangeComputeType = true,\n IncreaseVolumeSize = true,\n RebuildWorkspace = true,\n RestartWorkspace = true,\n SwitchRunningMode = true,\n },\n WorkspaceAccessProperties = new Aws.Workspaces.Inputs.DirectoryWorkspaceAccessPropertiesArgs\n {\n DeviceTypeAndroid = \"ALLOW\",\n DeviceTypeChromeos = \"ALLOW\",\n DeviceTypeIos = \"ALLOW\",\n DeviceTypeLinux = \"DENY\",\n DeviceTypeOsx = \"ALLOW\",\n DeviceTypeWeb = \"DENY\",\n DeviceTypeWindows = \"DENY\",\n DeviceTypeZeroclient = \"DENY\",\n },\n WorkspaceCreationProperties = new Aws.Workspaces.Inputs.DirectoryWorkspaceCreationPropertiesArgs\n {\n CustomSecurityGroupId = exampleAwsSecurityGroup.Id,\n DefaultOu = \"OU=AWS,DC=Workgroup,DC=Example,DC=com\",\n EnableInternetAccess = true,\n EnableMaintenanceMode = true,\n UserEnabledAsLocalAdministrator = true,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n workspacesDefaultServiceAccess,\n workspacesDefaultSelfServiceAccess,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleA, err := ec2.NewSubnet(ctx, \"example_a\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1a\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleB, err := ec2.NewSubnet(ctx, \"example_b\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1b\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDirectory, err := directoryservice.NewDirectory(ctx, \"example\", \u0026directoryservice.DirectoryArgs{\n\t\t\tName: pulumi.String(\"corp.example.com\"),\n\t\t\tPassword: pulumi.String(\"#S1ncerely\"),\n\t\t\tSize: pulumi.String(\"Small\"),\n\t\t\tVpcSettings: \u0026directoryservice.DirectoryVpcSettingsArgs{\n\t\t\t\tVpcId: exampleVpc.ID(),\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\texampleA.ID(),\n\t\t\t\t\texampleB.ID(),\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\tworkspaces, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"workspaces.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspacesDefault, err := iam.NewRole(ctx, \"workspaces_default\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"workspaces_DefaultRole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(workspaces.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspacesDefaultServiceAccess, err := iam.NewRolePolicyAttachment(ctx, \"workspaces_default_service_access\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: workspacesDefault.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspacesDefaultSelfServiceAccess, err := iam.NewRolePolicyAttachment(ctx, \"workspaces_default_self_service_access\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: workspacesDefault.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleC, err := ec2.NewSubnet(ctx, \"example_c\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1c\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleD, err := ec2.NewSubnet(ctx, \"example_d\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1d\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = workspaces.NewDirectory(ctx, \"example\", \u0026workspaces.DirectoryArgs{\n\t\t\tDirectoryId: exampleDirectory.ID(),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleC.ID(),\n\t\t\t\texampleD.ID(),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Example\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t\tSamlProperties: \u0026workspaces.DirectorySamlPropertiesArgs{\n\t\t\t\tUserAccessUrl: pulumi.String(\"https://sso.example.com/\"),\n\t\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\t},\n\t\t\tSelfServicePermissions: \u0026workspaces.DirectorySelfServicePermissionsArgs{\n\t\t\t\tChangeComputeType: pulumi.Bool(true),\n\t\t\t\tIncreaseVolumeSize: pulumi.Bool(true),\n\t\t\t\tRebuildWorkspace: pulumi.Bool(true),\n\t\t\t\tRestartWorkspace: pulumi.Bool(true),\n\t\t\t\tSwitchRunningMode: pulumi.Bool(true),\n\t\t\t},\n\t\t\tWorkspaceAccessProperties: \u0026workspaces.DirectoryWorkspaceAccessPropertiesArgs{\n\t\t\t\tDeviceTypeAndroid: pulumi.String(\"ALLOW\"),\n\t\t\t\tDeviceTypeChromeos: pulumi.String(\"ALLOW\"),\n\t\t\t\tDeviceTypeIos: pulumi.String(\"ALLOW\"),\n\t\t\t\tDeviceTypeLinux: pulumi.String(\"DENY\"),\n\t\t\t\tDeviceTypeOsx: pulumi.String(\"ALLOW\"),\n\t\t\t\tDeviceTypeWeb: pulumi.String(\"DENY\"),\n\t\t\t\tDeviceTypeWindows: pulumi.String(\"DENY\"),\n\t\t\t\tDeviceTypeZeroclient: pulumi.String(\"DENY\"),\n\t\t\t},\n\t\t\tWorkspaceCreationProperties: \u0026workspaces.DirectoryWorkspaceCreationPropertiesArgs{\n\t\t\t\tCustomSecurityGroupId: pulumi.Any(exampleAwsSecurityGroup.Id),\n\t\t\t\tDefaultOu: pulumi.String(\"OU=AWS,DC=Workgroup,DC=Example,DC=com\"),\n\t\t\t\tEnableInternetAccess: pulumi.Bool(true),\n\t\t\t\tEnableMaintenanceMode: pulumi.Bool(true),\n\t\t\t\tUserEnabledAsLocalAdministrator: pulumi.Bool(true),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tworkspacesDefaultServiceAccess,\n\t\t\tworkspacesDefaultSelfServiceAccess,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.directoryservice.Directory;\nimport com.pulumi.aws.directoryservice.DirectoryArgs;\nimport com.pulumi.aws.directoryservice.inputs.DirectoryVpcSettingsArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.workspaces.Directory;\nimport com.pulumi.aws.workspaces.DirectoryArgs;\nimport com.pulumi.aws.workspaces.inputs.DirectorySamlPropertiesArgs;\nimport com.pulumi.aws.workspaces.inputs.DirectorySelfServicePermissionsArgs;\nimport com.pulumi.aws.workspaces.inputs.DirectoryWorkspaceAccessPropertiesArgs;\nimport com.pulumi.aws.workspaces.inputs.DirectoryWorkspaceCreationPropertiesArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleA = new Subnet(\"exampleA\", SubnetArgs.builder()\n .vpcId(exampleVpc.id())\n .availabilityZone(\"us-east-1a\")\n .cidrBlock(\"10.0.0.0/24\")\n .build());\n\n var exampleB = new Subnet(\"exampleB\", SubnetArgs.builder()\n .vpcId(exampleVpc.id())\n .availabilityZone(\"us-east-1b\")\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var exampleDirectory = new Directory(\"exampleDirectory\", DirectoryArgs.builder()\n .name(\"corp.example.com\")\n .password(\"#S1ncerely\")\n .size(\"Small\")\n .vpcSettings(DirectoryVpcSettingsArgs.builder()\n .vpcId(exampleVpc.id())\n .subnetIds( \n exampleA.id(),\n exampleB.id())\n .build())\n .build());\n\n final var workspaces = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"workspaces.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var workspacesDefault = new Role(\"workspacesDefault\", RoleArgs.builder()\n .name(\"workspaces_DefaultRole\")\n .assumeRolePolicy(workspaces.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var workspacesDefaultServiceAccess = new RolePolicyAttachment(\"workspacesDefaultServiceAccess\", RolePolicyAttachmentArgs.builder()\n .role(workspacesDefault.name())\n .policyArn(\"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\")\n .build());\n\n var workspacesDefaultSelfServiceAccess = new RolePolicyAttachment(\"workspacesDefaultSelfServiceAccess\", RolePolicyAttachmentArgs.builder()\n .role(workspacesDefault.name())\n .policyArn(\"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\")\n .build());\n\n var exampleC = new Subnet(\"exampleC\", SubnetArgs.builder()\n .vpcId(exampleVpc.id())\n .availabilityZone(\"us-east-1c\")\n .cidrBlock(\"10.0.2.0/24\")\n .build());\n\n var exampleD = new Subnet(\"exampleD\", SubnetArgs.builder()\n .vpcId(exampleVpc.id())\n .availabilityZone(\"us-east-1d\")\n .cidrBlock(\"10.0.3.0/24\")\n .build());\n\n var example = new Directory(\"example\", DirectoryArgs.builder()\n .directoryId(exampleDirectory.id())\n .subnetIds( \n exampleC.id(),\n exampleD.id())\n .tags(Map.of(\"Example\", true))\n .samlProperties(DirectorySamlPropertiesArgs.builder()\n .userAccessUrl(\"https://sso.example.com/\")\n .status(\"ENABLED\")\n .build())\n .selfServicePermissions(DirectorySelfServicePermissionsArgs.builder()\n .changeComputeType(true)\n .increaseVolumeSize(true)\n .rebuildWorkspace(true)\n .restartWorkspace(true)\n .switchRunningMode(true)\n .build())\n .workspaceAccessProperties(DirectoryWorkspaceAccessPropertiesArgs.builder()\n .deviceTypeAndroid(\"ALLOW\")\n .deviceTypeChromeos(\"ALLOW\")\n .deviceTypeIos(\"ALLOW\")\n .deviceTypeLinux(\"DENY\")\n .deviceTypeOsx(\"ALLOW\")\n .deviceTypeWeb(\"DENY\")\n .deviceTypeWindows(\"DENY\")\n .deviceTypeZeroclient(\"DENY\")\n .build())\n .workspaceCreationProperties(DirectoryWorkspaceCreationPropertiesArgs.builder()\n .customSecurityGroupId(exampleAwsSecurityGroup.id())\n .defaultOu(\"OU=AWS,DC=Workgroup,DC=Example,DC=com\")\n .enableInternetAccess(true)\n .enableMaintenanceMode(true)\n .userEnabledAsLocalAdministrator(true)\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n workspacesDefaultServiceAccess,\n workspacesDefaultSelfServiceAccess)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:workspaces:Directory\n properties:\n directoryId: ${exampleDirectory.id}\n subnetIds:\n - ${exampleC.id}\n - ${exampleD.id}\n tags:\n Example: true\n samlProperties:\n userAccessUrl: https://sso.example.com/\n status: ENABLED\n selfServicePermissions:\n changeComputeType: true\n increaseVolumeSize: true\n rebuildWorkspace: true\n restartWorkspace: true\n switchRunningMode: true\n workspaceAccessProperties:\n deviceTypeAndroid: ALLOW\n deviceTypeChromeos: ALLOW\n deviceTypeIos: ALLOW\n deviceTypeLinux: DENY\n deviceTypeOsx: ALLOW\n deviceTypeWeb: DENY\n deviceTypeWindows: DENY\n deviceTypeZeroclient: DENY\n workspaceCreationProperties:\n customSecurityGroupId: ${exampleAwsSecurityGroup.id}\n defaultOu: OU=AWS,DC=Workgroup,DC=Example,DC=com\n enableInternetAccess: true\n enableMaintenanceMode: true\n userEnabledAsLocalAdministrator: true\n options:\n dependsOn:\n - ${workspacesDefaultServiceAccess}\n - ${workspacesDefaultSelfServiceAccess}\n exampleDirectory:\n type: aws:directoryservice:Directory\n name: example\n properties:\n name: corp.example.com\n password: '#S1ncerely'\n size: Small\n vpcSettings:\n vpcId: ${exampleVpc.id}\n subnetIds:\n - ${exampleA.id}\n - ${exampleB.id}\n workspacesDefault:\n type: aws:iam:Role\n name: workspaces_default\n properties:\n name: workspaces_DefaultRole\n assumeRolePolicy: ${workspaces.json}\n workspacesDefaultServiceAccess:\n type: aws:iam:RolePolicyAttachment\n name: workspaces_default_service_access\n properties:\n role: ${workspacesDefault.name}\n policyArn: arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\n workspacesDefaultSelfServiceAccess:\n type: aws:iam:RolePolicyAttachment\n name: workspaces_default_self_service_access\n properties:\n role: ${workspacesDefault.name}\n policyArn: arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.0.0.0/16\n exampleA:\n type: aws:ec2:Subnet\n name: example_a\n properties:\n vpcId: ${exampleVpc.id}\n availabilityZone: us-east-1a\n cidrBlock: 10.0.0.0/24\n exampleB:\n type: aws:ec2:Subnet\n name: example_b\n properties:\n vpcId: ${exampleVpc.id}\n availabilityZone: us-east-1b\n cidrBlock: 10.0.1.0/24\n exampleC:\n type: aws:ec2:Subnet\n name: example_c\n properties:\n vpcId: ${exampleVpc.id}\n availabilityZone: us-east-1c\n cidrBlock: 10.0.2.0/24\n exampleD:\n type: aws:ec2:Subnet\n name: example_d\n properties:\n vpcId: ${exampleVpc.id}\n availabilityZone: us-east-1d\n cidrBlock: 10.0.3.0/24\nvariables:\n workspaces:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - workspaces.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### IP Groups\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleIpGroup = new aws.workspaces.IpGroup(\"example\", {name: \"example\"});\nconst example = new aws.workspaces.Directory(\"example\", {\n directoryId: exampleAwsDirectoryServiceDirectory.id,\n ipGroupIds: [exampleIpGroup.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_ip_group = aws.workspaces.IpGroup(\"example\", name=\"example\")\nexample = aws.workspaces.Directory(\"example\",\n directory_id=example_aws_directory_service_directory[\"id\"],\n ip_group_ids=[example_ip_group.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleIpGroup = new Aws.Workspaces.IpGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = new Aws.Workspaces.Directory(\"example\", new()\n {\n DirectoryId = exampleAwsDirectoryServiceDirectory.Id,\n IpGroupIds = new[]\n {\n exampleIpGroup.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleIpGroup, err := workspaces.NewIpGroup(ctx, \"example\", \u0026workspaces.IpGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = workspaces.NewDirectory(ctx, \"example\", \u0026workspaces.DirectoryArgs{\n\t\t\tDirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),\n\t\t\tIpGroupIds: pulumi.StringArray{\n\t\t\t\texampleIpGroup.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.workspaces.IpGroup;\nimport com.pulumi.aws.workspaces.IpGroupArgs;\nimport com.pulumi.aws.workspaces.Directory;\nimport com.pulumi.aws.workspaces.DirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleIpGroup = new IpGroup(\"exampleIpGroup\", IpGroupArgs.builder()\n .name(\"example\")\n .build());\n\n var example = new Directory(\"example\", DirectoryArgs.builder()\n .directoryId(exampleAwsDirectoryServiceDirectory.id())\n .ipGroupIds(exampleIpGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:workspaces:Directory\n properties:\n directoryId: ${exampleAwsDirectoryServiceDirectory.id}\n ipGroupIds:\n - ${exampleIpGroup.id}\n exampleIpGroup:\n type: aws:workspaces:IpGroup\n name: example\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Workspaces directory using the directory ID. For example:\n\n```sh\n$ pulumi import aws:workspaces/directory:Directory main d-4444444444\n```\n", + "description": "Provides a WorkSpaces directory in AWS WorkSpaces Service.\n\n\u003e **NOTE:** AWS WorkSpaces service requires [`workspaces_DefaultRole`](https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-access-control.html#create-default-role) IAM role to operate normally.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleA = new aws.ec2.Subnet(\"example_a\", {\n vpcId: exampleVpc.id,\n availabilityZone: \"us-east-1a\",\n cidrBlock: \"10.0.0.0/24\",\n});\nconst exampleB = new aws.ec2.Subnet(\"example_b\", {\n vpcId: exampleVpc.id,\n availabilityZone: \"us-east-1b\",\n cidrBlock: \"10.0.1.0/24\",\n});\nconst exampleDirectory = new aws.directoryservice.Directory(\"example\", {\n name: \"corp.example.com\",\n password: \"#S1ncerely\",\n size: \"Small\",\n vpcSettings: {\n vpcId: exampleVpc.id,\n subnetIds: [\n exampleA.id,\n exampleB.id,\n ],\n },\n});\nconst workspaces = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"workspaces.amazonaws.com\"],\n }],\n }],\n});\nconst workspacesDefault = new aws.iam.Role(\"workspaces_default\", {\n name: \"workspaces_DefaultRole\",\n assumeRolePolicy: workspaces.then(workspaces =\u003e workspaces.json),\n});\nconst workspacesDefaultServiceAccess = new aws.iam.RolePolicyAttachment(\"workspaces_default_service_access\", {\n role: workspacesDefault.name,\n policyArn: \"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\",\n});\nconst workspacesDefaultSelfServiceAccess = new aws.iam.RolePolicyAttachment(\"workspaces_default_self_service_access\", {\n role: workspacesDefault.name,\n policyArn: \"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\",\n});\nconst exampleC = new aws.ec2.Subnet(\"example_c\", {\n vpcId: exampleVpc.id,\n availabilityZone: \"us-east-1c\",\n cidrBlock: \"10.0.2.0/24\",\n});\nconst exampleD = new aws.ec2.Subnet(\"example_d\", {\n vpcId: exampleVpc.id,\n availabilityZone: \"us-east-1d\",\n cidrBlock: \"10.0.3.0/24\",\n});\nconst example = new aws.workspaces.Directory(\"example\", {\n directoryId: exampleDirectory.id,\n subnetIds: [\n exampleC.id,\n exampleD.id,\n ],\n tags: {\n Example: \"true\",\n },\n samlProperties: {\n userAccessUrl: \"https://sso.example.com/\",\n status: \"ENABLED\",\n },\n selfServicePermissions: {\n changeComputeType: true,\n increaseVolumeSize: true,\n rebuildWorkspace: true,\n restartWorkspace: true,\n switchRunningMode: true,\n },\n workspaceAccessProperties: {\n deviceTypeAndroid: \"ALLOW\",\n deviceTypeChromeos: \"ALLOW\",\n deviceTypeIos: \"ALLOW\",\n deviceTypeLinux: \"DENY\",\n deviceTypeOsx: \"ALLOW\",\n deviceTypeWeb: \"DENY\",\n deviceTypeWindows: \"DENY\",\n deviceTypeZeroclient: \"DENY\",\n },\n workspaceCreationProperties: {\n customSecurityGroupId: exampleAwsSecurityGroup.id,\n defaultOu: \"OU=AWS,DC=Workgroup,DC=Example,DC=com\",\n enableInternetAccess: true,\n enableMaintenanceMode: true,\n userEnabledAsLocalAdministrator: true,\n },\n}, {\n dependsOn: [\n workspacesDefaultServiceAccess,\n workspacesDefaultSelfServiceAccess,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_a = aws.ec2.Subnet(\"example_a\",\n vpc_id=example_vpc.id,\n availability_zone=\"us-east-1a\",\n cidr_block=\"10.0.0.0/24\")\nexample_b = aws.ec2.Subnet(\"example_b\",\n vpc_id=example_vpc.id,\n availability_zone=\"us-east-1b\",\n cidr_block=\"10.0.1.0/24\")\nexample_directory = aws.directoryservice.Directory(\"example\",\n name=\"corp.example.com\",\n password=\"#S1ncerely\",\n size=\"Small\",\n vpc_settings={\n \"vpc_id\": example_vpc.id,\n \"subnet_ids\": [\n example_a.id,\n example_b.id,\n ],\n })\nworkspaces = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"workspaces.amazonaws.com\"],\n }],\n}])\nworkspaces_default = aws.iam.Role(\"workspaces_default\",\n name=\"workspaces_DefaultRole\",\n assume_role_policy=workspaces.json)\nworkspaces_default_service_access = aws.iam.RolePolicyAttachment(\"workspaces_default_service_access\",\n role=workspaces_default.name,\n policy_arn=\"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\")\nworkspaces_default_self_service_access = aws.iam.RolePolicyAttachment(\"workspaces_default_self_service_access\",\n role=workspaces_default.name,\n policy_arn=\"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\")\nexample_c = aws.ec2.Subnet(\"example_c\",\n vpc_id=example_vpc.id,\n availability_zone=\"us-east-1c\",\n cidr_block=\"10.0.2.0/24\")\nexample_d = aws.ec2.Subnet(\"example_d\",\n vpc_id=example_vpc.id,\n availability_zone=\"us-east-1d\",\n cidr_block=\"10.0.3.0/24\")\nexample = aws.workspaces.Directory(\"example\",\n directory_id=example_directory.id,\n subnet_ids=[\n example_c.id,\n example_d.id,\n ],\n tags={\n \"Example\": \"true\",\n },\n saml_properties={\n \"user_access_url\": \"https://sso.example.com/\",\n \"status\": \"ENABLED\",\n },\n self_service_permissions={\n \"change_compute_type\": True,\n \"increase_volume_size\": True,\n \"rebuild_workspace\": True,\n \"restart_workspace\": True,\n \"switch_running_mode\": True,\n },\n workspace_access_properties={\n \"device_type_android\": \"ALLOW\",\n \"device_type_chromeos\": \"ALLOW\",\n \"device_type_ios\": \"ALLOW\",\n \"device_type_linux\": \"DENY\",\n \"device_type_osx\": \"ALLOW\",\n \"device_type_web\": \"DENY\",\n \"device_type_windows\": \"DENY\",\n \"device_type_zeroclient\": \"DENY\",\n },\n workspace_creation_properties={\n \"custom_security_group_id\": example_aws_security_group[\"id\"],\n \"default_ou\": \"OU=AWS,DC=Workgroup,DC=Example,DC=com\",\n \"enable_internet_access\": True,\n \"enable_maintenance_mode\": True,\n \"user_enabled_as_local_administrator\": True,\n },\n opts = pulumi.ResourceOptions(depends_on=[\n workspaces_default_service_access,\n workspaces_default_self_service_access,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleA = new Aws.Ec2.Subnet(\"example_a\", new()\n {\n VpcId = exampleVpc.Id,\n AvailabilityZone = \"us-east-1a\",\n CidrBlock = \"10.0.0.0/24\",\n });\n\n var exampleB = new Aws.Ec2.Subnet(\"example_b\", new()\n {\n VpcId = exampleVpc.Id,\n AvailabilityZone = \"us-east-1b\",\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var exampleDirectory = new Aws.DirectoryService.Directory(\"example\", new()\n {\n Name = \"corp.example.com\",\n Password = \"#S1ncerely\",\n Size = \"Small\",\n VpcSettings = new Aws.DirectoryService.Inputs.DirectoryVpcSettingsArgs\n {\n VpcId = exampleVpc.Id,\n SubnetIds = new[]\n {\n exampleA.Id,\n exampleB.Id,\n },\n },\n });\n\n var workspaces = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"workspaces.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var workspacesDefault = new Aws.Iam.Role(\"workspaces_default\", new()\n {\n Name = \"workspaces_DefaultRole\",\n AssumeRolePolicy = workspaces.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var workspacesDefaultServiceAccess = new Aws.Iam.RolePolicyAttachment(\"workspaces_default_service_access\", new()\n {\n Role = workspacesDefault.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\",\n });\n\n var workspacesDefaultSelfServiceAccess = new Aws.Iam.RolePolicyAttachment(\"workspaces_default_self_service_access\", new()\n {\n Role = workspacesDefault.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\",\n });\n\n var exampleC = new Aws.Ec2.Subnet(\"example_c\", new()\n {\n VpcId = exampleVpc.Id,\n AvailabilityZone = \"us-east-1c\",\n CidrBlock = \"10.0.2.0/24\",\n });\n\n var exampleD = new Aws.Ec2.Subnet(\"example_d\", new()\n {\n VpcId = exampleVpc.Id,\n AvailabilityZone = \"us-east-1d\",\n CidrBlock = \"10.0.3.0/24\",\n });\n\n var example = new Aws.Workspaces.Directory(\"example\", new()\n {\n DirectoryId = exampleDirectory.Id,\n SubnetIds = new[]\n {\n exampleC.Id,\n exampleD.Id,\n },\n Tags = \n {\n { \"Example\", \"true\" },\n },\n SamlProperties = new Aws.Workspaces.Inputs.DirectorySamlPropertiesArgs\n {\n UserAccessUrl = \"https://sso.example.com/\",\n Status = \"ENABLED\",\n },\n SelfServicePermissions = new Aws.Workspaces.Inputs.DirectorySelfServicePermissionsArgs\n {\n ChangeComputeType = true,\n IncreaseVolumeSize = true,\n RebuildWorkspace = true,\n RestartWorkspace = true,\n SwitchRunningMode = true,\n },\n WorkspaceAccessProperties = new Aws.Workspaces.Inputs.DirectoryWorkspaceAccessPropertiesArgs\n {\n DeviceTypeAndroid = \"ALLOW\",\n DeviceTypeChromeos = \"ALLOW\",\n DeviceTypeIos = \"ALLOW\",\n DeviceTypeLinux = \"DENY\",\n DeviceTypeOsx = \"ALLOW\",\n DeviceTypeWeb = \"DENY\",\n DeviceTypeWindows = \"DENY\",\n DeviceTypeZeroclient = \"DENY\",\n },\n WorkspaceCreationProperties = new Aws.Workspaces.Inputs.DirectoryWorkspaceCreationPropertiesArgs\n {\n CustomSecurityGroupId = exampleAwsSecurityGroup.Id,\n DefaultOu = \"OU=AWS,DC=Workgroup,DC=Example,DC=com\",\n EnableInternetAccess = true,\n EnableMaintenanceMode = true,\n UserEnabledAsLocalAdministrator = true,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n workspacesDefaultServiceAccess,\n workspacesDefaultSelfServiceAccess,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleA, err := ec2.NewSubnet(ctx, \"example_a\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1a\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleB, err := ec2.NewSubnet(ctx, \"example_b\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1b\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDirectory, err := directoryservice.NewDirectory(ctx, \"example\", \u0026directoryservice.DirectoryArgs{\n\t\t\tName: pulumi.String(\"corp.example.com\"),\n\t\t\tPassword: pulumi.String(\"#S1ncerely\"),\n\t\t\tSize: pulumi.String(\"Small\"),\n\t\t\tVpcSettings: \u0026directoryservice.DirectoryVpcSettingsArgs{\n\t\t\t\tVpcId: exampleVpc.ID(),\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\texampleA.ID(),\n\t\t\t\t\texampleB.ID(),\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\tworkspaces, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"workspaces.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspacesDefault, err := iam.NewRole(ctx, \"workspaces_default\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"workspaces_DefaultRole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(workspaces.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspacesDefaultServiceAccess, err := iam.NewRolePolicyAttachment(ctx, \"workspaces_default_service_access\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: workspacesDefault.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspacesDefaultSelfServiceAccess, err := iam.NewRolePolicyAttachment(ctx, \"workspaces_default_self_service_access\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: workspacesDefault.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleC, err := ec2.NewSubnet(ctx, \"example_c\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1c\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleD, err := ec2.NewSubnet(ctx, \"example_d\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1d\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = workspaces.NewDirectory(ctx, \"example\", \u0026workspaces.DirectoryArgs{\n\t\t\tDirectoryId: exampleDirectory.ID(),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleC.ID(),\n\t\t\t\texampleD.ID(),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Example\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t\tSamlProperties: \u0026workspaces.DirectorySamlPropertiesArgs{\n\t\t\t\tUserAccessUrl: pulumi.String(\"https://sso.example.com/\"),\n\t\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\t},\n\t\t\tSelfServicePermissions: \u0026workspaces.DirectorySelfServicePermissionsArgs{\n\t\t\t\tChangeComputeType: pulumi.Bool(true),\n\t\t\t\tIncreaseVolumeSize: pulumi.Bool(true),\n\t\t\t\tRebuildWorkspace: pulumi.Bool(true),\n\t\t\t\tRestartWorkspace: pulumi.Bool(true),\n\t\t\t\tSwitchRunningMode: pulumi.Bool(true),\n\t\t\t},\n\t\t\tWorkspaceAccessProperties: \u0026workspaces.DirectoryWorkspaceAccessPropertiesArgs{\n\t\t\t\tDeviceTypeAndroid: pulumi.String(\"ALLOW\"),\n\t\t\t\tDeviceTypeChromeos: pulumi.String(\"ALLOW\"),\n\t\t\t\tDeviceTypeIos: pulumi.String(\"ALLOW\"),\n\t\t\t\tDeviceTypeLinux: pulumi.String(\"DENY\"),\n\t\t\t\tDeviceTypeOsx: pulumi.String(\"ALLOW\"),\n\t\t\t\tDeviceTypeWeb: pulumi.String(\"DENY\"),\n\t\t\t\tDeviceTypeWindows: pulumi.String(\"DENY\"),\n\t\t\t\tDeviceTypeZeroclient: pulumi.String(\"DENY\"),\n\t\t\t},\n\t\t\tWorkspaceCreationProperties: \u0026workspaces.DirectoryWorkspaceCreationPropertiesArgs{\n\t\t\t\tCustomSecurityGroupId: pulumi.Any(exampleAwsSecurityGroup.Id),\n\t\t\t\tDefaultOu: pulumi.String(\"OU=AWS,DC=Workgroup,DC=Example,DC=com\"),\n\t\t\t\tEnableInternetAccess: pulumi.Bool(true),\n\t\t\t\tEnableMaintenanceMode: pulumi.Bool(true),\n\t\t\t\tUserEnabledAsLocalAdministrator: pulumi.Bool(true),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tworkspacesDefaultServiceAccess,\n\t\t\tworkspacesDefaultSelfServiceAccess,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.directoryservice.Directory;\nimport com.pulumi.aws.directoryservice.DirectoryArgs;\nimport com.pulumi.aws.directoryservice.inputs.DirectoryVpcSettingsArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.workspaces.Directory;\nimport com.pulumi.aws.workspaces.DirectoryArgs;\nimport com.pulumi.aws.workspaces.inputs.DirectorySamlPropertiesArgs;\nimport com.pulumi.aws.workspaces.inputs.DirectorySelfServicePermissionsArgs;\nimport com.pulumi.aws.workspaces.inputs.DirectoryWorkspaceAccessPropertiesArgs;\nimport com.pulumi.aws.workspaces.inputs.DirectoryWorkspaceCreationPropertiesArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleA = new Subnet(\"exampleA\", SubnetArgs.builder()\n .vpcId(exampleVpc.id())\n .availabilityZone(\"us-east-1a\")\n .cidrBlock(\"10.0.0.0/24\")\n .build());\n\n var exampleB = new Subnet(\"exampleB\", SubnetArgs.builder()\n .vpcId(exampleVpc.id())\n .availabilityZone(\"us-east-1b\")\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var exampleDirectory = new Directory(\"exampleDirectory\", DirectoryArgs.builder()\n .name(\"corp.example.com\")\n .password(\"#S1ncerely\")\n .size(\"Small\")\n .vpcSettings(DirectoryVpcSettingsArgs.builder()\n .vpcId(exampleVpc.id())\n .subnetIds( \n exampleA.id(),\n exampleB.id())\n .build())\n .build());\n\n final var workspaces = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"workspaces.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var workspacesDefault = new Role(\"workspacesDefault\", RoleArgs.builder()\n .name(\"workspaces_DefaultRole\")\n .assumeRolePolicy(workspaces.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var workspacesDefaultServiceAccess = new RolePolicyAttachment(\"workspacesDefaultServiceAccess\", RolePolicyAttachmentArgs.builder()\n .role(workspacesDefault.name())\n .policyArn(\"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\")\n .build());\n\n var workspacesDefaultSelfServiceAccess = new RolePolicyAttachment(\"workspacesDefaultSelfServiceAccess\", RolePolicyAttachmentArgs.builder()\n .role(workspacesDefault.name())\n .policyArn(\"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\")\n .build());\n\n var exampleC = new Subnet(\"exampleC\", SubnetArgs.builder()\n .vpcId(exampleVpc.id())\n .availabilityZone(\"us-east-1c\")\n .cidrBlock(\"10.0.2.0/24\")\n .build());\n\n var exampleD = new Subnet(\"exampleD\", SubnetArgs.builder()\n .vpcId(exampleVpc.id())\n .availabilityZone(\"us-east-1d\")\n .cidrBlock(\"10.0.3.0/24\")\n .build());\n\n var example = new Directory(\"example\", DirectoryArgs.builder()\n .directoryId(exampleDirectory.id())\n .subnetIds( \n exampleC.id(),\n exampleD.id())\n .tags(Map.of(\"Example\", true))\n .samlProperties(DirectorySamlPropertiesArgs.builder()\n .userAccessUrl(\"https://sso.example.com/\")\n .status(\"ENABLED\")\n .build())\n .selfServicePermissions(DirectorySelfServicePermissionsArgs.builder()\n .changeComputeType(true)\n .increaseVolumeSize(true)\n .rebuildWorkspace(true)\n .restartWorkspace(true)\n .switchRunningMode(true)\n .build())\n .workspaceAccessProperties(DirectoryWorkspaceAccessPropertiesArgs.builder()\n .deviceTypeAndroid(\"ALLOW\")\n .deviceTypeChromeos(\"ALLOW\")\n .deviceTypeIos(\"ALLOW\")\n .deviceTypeLinux(\"DENY\")\n .deviceTypeOsx(\"ALLOW\")\n .deviceTypeWeb(\"DENY\")\n .deviceTypeWindows(\"DENY\")\n .deviceTypeZeroclient(\"DENY\")\n .build())\n .workspaceCreationProperties(DirectoryWorkspaceCreationPropertiesArgs.builder()\n .customSecurityGroupId(exampleAwsSecurityGroup.id())\n .defaultOu(\"OU=AWS,DC=Workgroup,DC=Example,DC=com\")\n .enableInternetAccess(true)\n .enableMaintenanceMode(true)\n .userEnabledAsLocalAdministrator(true)\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n workspacesDefaultServiceAccess,\n workspacesDefaultSelfServiceAccess)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:workspaces:Directory\n properties:\n directoryId: ${exampleDirectory.id}\n subnetIds:\n - ${exampleC.id}\n - ${exampleD.id}\n tags:\n Example: true\n samlProperties:\n userAccessUrl: https://sso.example.com/\n status: ENABLED\n selfServicePermissions:\n changeComputeType: true\n increaseVolumeSize: true\n rebuildWorkspace: true\n restartWorkspace: true\n switchRunningMode: true\n workspaceAccessProperties:\n deviceTypeAndroid: ALLOW\n deviceTypeChromeos: ALLOW\n deviceTypeIos: ALLOW\n deviceTypeLinux: DENY\n deviceTypeOsx: ALLOW\n deviceTypeWeb: DENY\n deviceTypeWindows: DENY\n deviceTypeZeroclient: DENY\n workspaceCreationProperties:\n customSecurityGroupId: ${exampleAwsSecurityGroup.id}\n defaultOu: OU=AWS,DC=Workgroup,DC=Example,DC=com\n enableInternetAccess: true\n enableMaintenanceMode: true\n userEnabledAsLocalAdministrator: true\n options:\n dependson:\n - ${workspacesDefaultServiceAccess}\n - ${workspacesDefaultSelfServiceAccess}\n exampleDirectory:\n type: aws:directoryservice:Directory\n name: example\n properties:\n name: corp.example.com\n password: '#S1ncerely'\n size: Small\n vpcSettings:\n vpcId: ${exampleVpc.id}\n subnetIds:\n - ${exampleA.id}\n - ${exampleB.id}\n workspacesDefault:\n type: aws:iam:Role\n name: workspaces_default\n properties:\n name: workspaces_DefaultRole\n assumeRolePolicy: ${workspaces.json}\n workspacesDefaultServiceAccess:\n type: aws:iam:RolePolicyAttachment\n name: workspaces_default_service_access\n properties:\n role: ${workspacesDefault.name}\n policyArn: arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\n workspacesDefaultSelfServiceAccess:\n type: aws:iam:RolePolicyAttachment\n name: workspaces_default_self_service_access\n properties:\n role: ${workspacesDefault.name}\n policyArn: arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.0.0.0/16\n exampleA:\n type: aws:ec2:Subnet\n name: example_a\n properties:\n vpcId: ${exampleVpc.id}\n availabilityZone: us-east-1a\n cidrBlock: 10.0.0.0/24\n exampleB:\n type: aws:ec2:Subnet\n name: example_b\n properties:\n vpcId: ${exampleVpc.id}\n availabilityZone: us-east-1b\n cidrBlock: 10.0.1.0/24\n exampleC:\n type: aws:ec2:Subnet\n name: example_c\n properties:\n vpcId: ${exampleVpc.id}\n availabilityZone: us-east-1c\n cidrBlock: 10.0.2.0/24\n exampleD:\n type: aws:ec2:Subnet\n name: example_d\n properties:\n vpcId: ${exampleVpc.id}\n availabilityZone: us-east-1d\n cidrBlock: 10.0.3.0/24\nvariables:\n workspaces:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - workspaces.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### IP Groups\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleIpGroup = new aws.workspaces.IpGroup(\"example\", {name: \"example\"});\nconst example = new aws.workspaces.Directory(\"example\", {\n directoryId: exampleAwsDirectoryServiceDirectory.id,\n ipGroupIds: [exampleIpGroup.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_ip_group = aws.workspaces.IpGroup(\"example\", name=\"example\")\nexample = aws.workspaces.Directory(\"example\",\n directory_id=example_aws_directory_service_directory[\"id\"],\n ip_group_ids=[example_ip_group.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleIpGroup = new Aws.Workspaces.IpGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = new Aws.Workspaces.Directory(\"example\", new()\n {\n DirectoryId = exampleAwsDirectoryServiceDirectory.Id,\n IpGroupIds = new[]\n {\n exampleIpGroup.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleIpGroup, err := workspaces.NewIpGroup(ctx, \"example\", \u0026workspaces.IpGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = workspaces.NewDirectory(ctx, \"example\", \u0026workspaces.DirectoryArgs{\n\t\t\tDirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),\n\t\t\tIpGroupIds: pulumi.StringArray{\n\t\t\t\texampleIpGroup.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.workspaces.IpGroup;\nimport com.pulumi.aws.workspaces.IpGroupArgs;\nimport com.pulumi.aws.workspaces.Directory;\nimport com.pulumi.aws.workspaces.DirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleIpGroup = new IpGroup(\"exampleIpGroup\", IpGroupArgs.builder()\n .name(\"example\")\n .build());\n\n var example = new Directory(\"example\", DirectoryArgs.builder()\n .directoryId(exampleAwsDirectoryServiceDirectory.id())\n .ipGroupIds(exampleIpGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:workspaces:Directory\n properties:\n directoryId: ${exampleAwsDirectoryServiceDirectory.id}\n ipGroupIds:\n - ${exampleIpGroup.id}\n exampleIpGroup:\n type: aws:workspaces:IpGroup\n name: example\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Workspaces directory using the directory ID. For example:\n\n```sh\n$ pulumi import aws:workspaces/directory:Directory main d-4444444444\n```\n", "properties": { "alias": { "type": "string", @@ -381201,7 +381201,7 @@ } }, "aws:workspaces/workspace:Workspace": { - "description": "Provides a workspace in [AWS Workspaces](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) Service\n\n\u003e **NOTE:** AWS WorkSpaces service requires [`workspaces_DefaultRole`](https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-access-control.html#create-default-role) IAM role to operate normally.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst valueWindows10 = aws.workspaces.getBundle({\n bundleId: \"wsb-bh8rsxt14\",\n});\nconst workspaces = aws.kms.getKey({\n keyId: \"alias/aws/workspaces\",\n});\nconst example = new aws.workspaces.Workspace(\"example\", {\n directoryId: exampleAwsWorkspacesDirectory.id,\n bundleId: valueWindows10.then(valueWindows10 =\u003e valueWindows10.id),\n userName: \"john.doe\",\n rootVolumeEncryptionEnabled: true,\n userVolumeEncryptionEnabled: true,\n volumeEncryptionKey: workspaces.then(workspaces =\u003e workspaces.arn),\n workspaceProperties: {\n computeTypeName: \"VALUE\",\n userVolumeSizeGib: 10,\n rootVolumeSizeGib: 80,\n runningMode: \"AUTO_STOP\",\n runningModeAutoStopTimeoutInMinutes: 60,\n },\n tags: {\n Department: \"IT\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvalue_windows10 = aws.workspaces.get_bundle(bundle_id=\"wsb-bh8rsxt14\")\nworkspaces = aws.kms.get_key(key_id=\"alias/aws/workspaces\")\nexample = aws.workspaces.Workspace(\"example\",\n directory_id=example_aws_workspaces_directory[\"id\"],\n bundle_id=value_windows10.id,\n user_name=\"john.doe\",\n root_volume_encryption_enabled=True,\n user_volume_encryption_enabled=True,\n volume_encryption_key=workspaces.arn,\n workspace_properties={\n \"compute_type_name\": \"VALUE\",\n \"user_volume_size_gib\": 10,\n \"root_volume_size_gib\": 80,\n \"running_mode\": \"AUTO_STOP\",\n \"running_mode_auto_stop_timeout_in_minutes\": 60,\n },\n tags={\n \"Department\": \"IT\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var valueWindows10 = Aws.Workspaces.GetBundle.Invoke(new()\n {\n BundleId = \"wsb-bh8rsxt14\",\n });\n\n var workspaces = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"alias/aws/workspaces\",\n });\n\n var example = new Aws.Workspaces.Workspace(\"example\", new()\n {\n DirectoryId = exampleAwsWorkspacesDirectory.Id,\n BundleId = valueWindows10.Apply(getBundleResult =\u003e getBundleResult.Id),\n UserName = \"john.doe\",\n RootVolumeEncryptionEnabled = true,\n UserVolumeEncryptionEnabled = true,\n VolumeEncryptionKey = workspaces.Apply(getKeyResult =\u003e getKeyResult.Arn),\n WorkspaceProperties = new Aws.Workspaces.Inputs.WorkspaceWorkspacePropertiesArgs\n {\n ComputeTypeName = \"VALUE\",\n UserVolumeSizeGib = 10,\n RootVolumeSizeGib = 80,\n RunningMode = \"AUTO_STOP\",\n RunningModeAutoStopTimeoutInMinutes = 60,\n },\n Tags = \n {\n { \"Department\", \"IT\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvalueWindows10, err := workspaces.GetBundle(ctx, \u0026workspaces.GetBundleArgs{\n\t\t\tBundleId: pulumi.StringRef(\"wsb-bh8rsxt14\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspaces, err := kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"alias/aws/workspaces\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = workspaces.NewWorkspace(ctx, \"example\", \u0026workspaces.WorkspaceArgs{\n\t\t\tDirectoryId: pulumi.Any(exampleAwsWorkspacesDirectory.Id),\n\t\t\tBundleId: pulumi.String(valueWindows10.Id),\n\t\t\tUserName: pulumi.String(\"john.doe\"),\n\t\t\tRootVolumeEncryptionEnabled: pulumi.Bool(true),\n\t\t\tUserVolumeEncryptionEnabled: pulumi.Bool(true),\n\t\t\tVolumeEncryptionKey: pulumi.String(workspaces.Arn),\n\t\t\tWorkspaceProperties: \u0026workspaces.WorkspaceWorkspacePropertiesArgs{\n\t\t\t\tComputeTypeName: pulumi.String(\"VALUE\"),\n\t\t\t\tUserVolumeSizeGib: pulumi.Int(10),\n\t\t\t\tRootVolumeSizeGib: pulumi.Int(80),\n\t\t\t\tRunningMode: pulumi.String(\"AUTO_STOP\"),\n\t\t\t\tRunningModeAutoStopTimeoutInMinutes: pulumi.Int(60),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Department\": pulumi.String(\"IT\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.workspaces.WorkspacesFunctions;\nimport com.pulumi.aws.workspaces.inputs.GetBundleArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetKeyArgs;\nimport com.pulumi.aws.workspaces.Workspace;\nimport com.pulumi.aws.workspaces.WorkspaceArgs;\nimport com.pulumi.aws.workspaces.inputs.WorkspaceWorkspacePropertiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var valueWindows10 = WorkspacesFunctions.getBundle(GetBundleArgs.builder()\n .bundleId(\"wsb-bh8rsxt14\")\n .build());\n\n final var workspaces = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"alias/aws/workspaces\")\n .build());\n\n var example = new Workspace(\"example\", WorkspaceArgs.builder()\n .directoryId(exampleAwsWorkspacesDirectory.id())\n .bundleId(valueWindows10.applyValue(getBundleResult -\u003e getBundleResult.id()))\n .userName(\"john.doe\")\n .rootVolumeEncryptionEnabled(true)\n .userVolumeEncryptionEnabled(true)\n .volumeEncryptionKey(workspaces.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .workspaceProperties(WorkspaceWorkspacePropertiesArgs.builder()\n .computeTypeName(\"VALUE\")\n .userVolumeSizeGib(10)\n .rootVolumeSizeGib(80)\n .runningMode(\"AUTO_STOP\")\n .runningModeAutoStopTimeoutInMinutes(60)\n .build())\n .tags(Map.of(\"Department\", \"IT\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:workspaces:Workspace\n properties:\n directoryId: ${exampleAwsWorkspacesDirectory.id}\n bundleId: ${valueWindows10.id}\n userName: john.doe\n rootVolumeEncryptionEnabled: true\n userVolumeEncryptionEnabled: true\n volumeEncryptionKey: ${workspaces.arn}\n workspaceProperties:\n computeTypeName: VALUE\n userVolumeSizeGib: 10\n rootVolumeSizeGib: 80\n runningMode: AUTO_STOP\n runningModeAutoStopTimeoutInMinutes: 60\n tags:\n Department: IT\nvariables:\n valueWindows10:\n fn::invoke:\n function: aws:workspaces:getBundle\n arguments:\n bundleId: wsb-bh8rsxt14\n workspaces:\n fn::invoke:\n function: aws:kms:getKey\n arguments:\n keyId: alias/aws/workspaces\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Workspaces using their ID. For example:\n\n```sh\n$ pulumi import aws:workspaces/workspace:Workspace example ws-9z9zmbkhv\n```\n", + "description": "Provides a workspace in [AWS Workspaces](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) Service\n\n\u003e **NOTE:** AWS WorkSpaces service requires [`workspaces_DefaultRole`](https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-access-control.html#create-default-role) IAM role to operate normally.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst valueWindows10 = aws.workspaces.getBundle({\n bundleId: \"wsb-bh8rsxt14\",\n});\nconst workspaces = aws.kms.getKey({\n keyId: \"alias/aws/workspaces\",\n});\nconst example = new aws.workspaces.Workspace(\"example\", {\n directoryId: exampleAwsWorkspacesDirectory.id,\n bundleId: valueWindows10.then(valueWindows10 =\u003e valueWindows10.id),\n userName: \"john.doe\",\n rootVolumeEncryptionEnabled: true,\n userVolumeEncryptionEnabled: true,\n volumeEncryptionKey: workspaces.then(workspaces =\u003e workspaces.arn),\n workspaceProperties: {\n computeTypeName: \"VALUE\",\n userVolumeSizeGib: 10,\n rootVolumeSizeGib: 80,\n runningMode: \"AUTO_STOP\",\n runningModeAutoStopTimeoutInMinutes: 60,\n },\n tags: {\n Department: \"IT\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvalue_windows10 = aws.workspaces.get_bundle(bundle_id=\"wsb-bh8rsxt14\")\nworkspaces = aws.kms.get_key(key_id=\"alias/aws/workspaces\")\nexample = aws.workspaces.Workspace(\"example\",\n directory_id=example_aws_workspaces_directory[\"id\"],\n bundle_id=value_windows10.id,\n user_name=\"john.doe\",\n root_volume_encryption_enabled=True,\n user_volume_encryption_enabled=True,\n volume_encryption_key=workspaces.arn,\n workspace_properties={\n \"compute_type_name\": \"VALUE\",\n \"user_volume_size_gib\": 10,\n \"root_volume_size_gib\": 80,\n \"running_mode\": \"AUTO_STOP\",\n \"running_mode_auto_stop_timeout_in_minutes\": 60,\n },\n tags={\n \"Department\": \"IT\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var valueWindows10 = Aws.Workspaces.GetBundle.Invoke(new()\n {\n BundleId = \"wsb-bh8rsxt14\",\n });\n\n var workspaces = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"alias/aws/workspaces\",\n });\n\n var example = new Aws.Workspaces.Workspace(\"example\", new()\n {\n DirectoryId = exampleAwsWorkspacesDirectory.Id,\n BundleId = valueWindows10.Apply(getBundleResult =\u003e getBundleResult.Id),\n UserName = \"john.doe\",\n RootVolumeEncryptionEnabled = true,\n UserVolumeEncryptionEnabled = true,\n VolumeEncryptionKey = workspaces.Apply(getKeyResult =\u003e getKeyResult.Arn),\n WorkspaceProperties = new Aws.Workspaces.Inputs.WorkspaceWorkspacePropertiesArgs\n {\n ComputeTypeName = \"VALUE\",\n UserVolumeSizeGib = 10,\n RootVolumeSizeGib = 80,\n RunningMode = \"AUTO_STOP\",\n RunningModeAutoStopTimeoutInMinutes = 60,\n },\n Tags = \n {\n { \"Department\", \"IT\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvalueWindows10, err := workspaces.GetBundle(ctx, \u0026workspaces.GetBundleArgs{\n\t\t\tBundleId: pulumi.StringRef(\"wsb-bh8rsxt14\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspaces, err := kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"alias/aws/workspaces\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = workspaces.NewWorkspace(ctx, \"example\", \u0026workspaces.WorkspaceArgs{\n\t\t\tDirectoryId: pulumi.Any(exampleAwsWorkspacesDirectory.Id),\n\t\t\tBundleId: pulumi.String(valueWindows10.Id),\n\t\t\tUserName: pulumi.String(\"john.doe\"),\n\t\t\tRootVolumeEncryptionEnabled: pulumi.Bool(true),\n\t\t\tUserVolumeEncryptionEnabled: pulumi.Bool(true),\n\t\t\tVolumeEncryptionKey: pulumi.String(workspaces.Arn),\n\t\t\tWorkspaceProperties: \u0026workspaces.WorkspaceWorkspacePropertiesArgs{\n\t\t\t\tComputeTypeName: pulumi.String(\"VALUE\"),\n\t\t\t\tUserVolumeSizeGib: pulumi.Int(10),\n\t\t\t\tRootVolumeSizeGib: pulumi.Int(80),\n\t\t\t\tRunningMode: pulumi.String(\"AUTO_STOP\"),\n\t\t\t\tRunningModeAutoStopTimeoutInMinutes: pulumi.Int(60),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Department\": pulumi.String(\"IT\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.workspaces.WorkspacesFunctions;\nimport com.pulumi.aws.workspaces.inputs.GetBundleArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetKeyArgs;\nimport com.pulumi.aws.workspaces.Workspace;\nimport com.pulumi.aws.workspaces.WorkspaceArgs;\nimport com.pulumi.aws.workspaces.inputs.WorkspaceWorkspacePropertiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var valueWindows10 = WorkspacesFunctions.getBundle(GetBundleArgs.builder()\n .bundleId(\"wsb-bh8rsxt14\")\n .build());\n\n final var workspaces = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"alias/aws/workspaces\")\n .build());\n\n var example = new Workspace(\"example\", WorkspaceArgs.builder()\n .directoryId(exampleAwsWorkspacesDirectory.id())\n .bundleId(valueWindows10.applyValue(getBundleResult -\u003e getBundleResult.id()))\n .userName(\"john.doe\")\n .rootVolumeEncryptionEnabled(true)\n .userVolumeEncryptionEnabled(true)\n .volumeEncryptionKey(workspaces.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .workspaceProperties(WorkspaceWorkspacePropertiesArgs.builder()\n .computeTypeName(\"VALUE\")\n .userVolumeSizeGib(10)\n .rootVolumeSizeGib(80)\n .runningMode(\"AUTO_STOP\")\n .runningModeAutoStopTimeoutInMinutes(60)\n .build())\n .tags(Map.of(\"Department\", \"IT\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:workspaces:Workspace\n properties:\n directoryId: ${exampleAwsWorkspacesDirectory.id}\n bundleId: ${valueWindows10.id}\n userName: john.doe\n rootVolumeEncryptionEnabled: true\n userVolumeEncryptionEnabled: true\n volumeEncryptionKey: ${workspaces.arn}\n workspaceProperties:\n computeTypeName: VALUE\n userVolumeSizeGib: 10\n rootVolumeSizeGib: 80\n runningMode: AUTO_STOP\n runningModeAutoStopTimeoutInMinutes: 60\n tags:\n Department: IT\nvariables:\n valueWindows10:\n fn::invoke:\n Function: aws:workspaces:getBundle\n Arguments:\n bundleId: wsb-bh8rsxt14\n workspaces:\n fn::invoke:\n Function: aws:kms:getKey\n Arguments:\n keyId: alias/aws/workspaces\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Workspaces using their ID. For example:\n\n```sh\n$ pulumi import aws:workspaces/workspace:Workspace example ws-9z9zmbkhv\n```\n", "properties": { "bundleId": { "type": "string", @@ -381386,7 +381386,7 @@ } }, "aws:xray/encryptionConfig:EncryptionConfig": { - "description": "Creates and manages an AWS XRay Encryption Config.\n\n\u003e **NOTE:** Removing this resource from the provider has no effect to the encryption configuration within X-Ray.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.xray.EncryptionConfig(\"example\", {type: \"NONE\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.xray.EncryptionConfig(\"example\", type=\"NONE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Xray.EncryptionConfig(\"example\", new()\n {\n Type = \"NONE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/xray\"\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 := xray.NewEncryptionConfig(ctx, \"example\", \u0026xray.EncryptionConfigArgs{\n\t\t\tType: pulumi.String(\"NONE\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.xray.EncryptionConfig;\nimport com.pulumi.aws.xray.EncryptionConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EncryptionConfig(\"example\", EncryptionConfigArgs.builder()\n .type(\"NONE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:xray:EncryptionConfig\n properties:\n type: NONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n sid: \"Enable IAM User Permissions\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [`arn:aws:iam::${current.accountId}:root`],\n }],\n actions: [\"kms:*\"],\n resources: [\"*\"],\n }],\n}));\nconst exampleKey = new aws.kms.Key(\"example\", {\n description: \"Some Key\",\n deletionWindowInDays: 7,\n policy: example.then(example =\u003e example.json),\n});\nconst exampleEncryptionConfig = new aws.xray.EncryptionConfig(\"example\", {\n type: \"KMS\",\n keyId: exampleKey.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"Enable IAM User Permissions\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [f\"arn:aws:iam::{current.account_id}:root\"],\n }],\n \"actions\": [\"kms:*\"],\n \"resources\": [\"*\"],\n}])\nexample_key = aws.kms.Key(\"example\",\n description=\"Some Key\",\n deletion_window_in_days=7,\n policy=example.json)\nexample_encryption_config = aws.xray.EncryptionConfig(\"example\",\n type=\"KMS\",\n key_id=example_key.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Enable IAM User Permissions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n Actions = new[]\n {\n \"kms:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Some Key\",\n DeletionWindowInDays = 7,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleEncryptionConfig = new Aws.Xray.EncryptionConfig(\"example\", new()\n {\n Type = \"KMS\",\n KeyId = exampleKey.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/xray\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Enable IAM User Permissions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Some Key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tPolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = xray.NewEncryptionConfig(ctx, \"example\", \u0026xray.EncryptionConfigArgs{\n\t\t\tType: pulumi.String(\"KMS\"),\n\t\t\tKeyId: exampleKey.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.xray.EncryptionConfig;\nimport com.pulumi.aws.xray.EncryptionConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"Enable IAM User Permissions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .actions(\"kms:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"Some Key\")\n .deletionWindowInDays(7)\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleEncryptionConfig = new EncryptionConfig(\"exampleEncryptionConfig\", EncryptionConfigArgs.builder()\n .type(\"KMS\")\n .keyId(exampleKey.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: Some Key\n deletionWindowInDays: 7\n policy: ${example.json}\n exampleEncryptionConfig:\n type: aws:xray:EncryptionConfig\n name: example\n properties:\n type: KMS\n keyId: ${exampleKey.arn}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: Enable IAM User Permissions\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n actions:\n - kms:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import XRay Encryption Config using the region name. For example:\n\n```sh\n$ pulumi import aws:xray/encryptionConfig:EncryptionConfig example us-west-2\n```\n", + "description": "Creates and manages an AWS XRay Encryption Config.\n\n\u003e **NOTE:** Removing this resource from the provider has no effect to the encryption configuration within X-Ray.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.xray.EncryptionConfig(\"example\", {type: \"NONE\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.xray.EncryptionConfig(\"example\", type=\"NONE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Xray.EncryptionConfig(\"example\", new()\n {\n Type = \"NONE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/xray\"\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 := xray.NewEncryptionConfig(ctx, \"example\", \u0026xray.EncryptionConfigArgs{\n\t\t\tType: pulumi.String(\"NONE\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.xray.EncryptionConfig;\nimport com.pulumi.aws.xray.EncryptionConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EncryptionConfig(\"example\", EncryptionConfigArgs.builder()\n .type(\"NONE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:xray:EncryptionConfig\n properties:\n type: NONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n sid: \"Enable IAM User Permissions\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [`arn:aws:iam::${current.accountId}:root`],\n }],\n actions: [\"kms:*\"],\n resources: [\"*\"],\n }],\n}));\nconst exampleKey = new aws.kms.Key(\"example\", {\n description: \"Some Key\",\n deletionWindowInDays: 7,\n policy: example.then(example =\u003e example.json),\n});\nconst exampleEncryptionConfig = new aws.xray.EncryptionConfig(\"example\", {\n type: \"KMS\",\n keyId: exampleKey.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.iam.get_policy_document(statements=[{\n \"sid\": \"Enable IAM User Permissions\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [f\"arn:aws:iam::{current.account_id}:root\"],\n }],\n \"actions\": [\"kms:*\"],\n \"resources\": [\"*\"],\n}])\nexample_key = aws.kms.Key(\"example\",\n description=\"Some Key\",\n deletion_window_in_days=7,\n policy=example.json)\nexample_encryption_config = aws.xray.EncryptionConfig(\"example\",\n type=\"KMS\",\n key_id=example_key.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Enable IAM User Permissions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n Actions = new[]\n {\n \"kms:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Some Key\",\n DeletionWindowInDays = 7,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleEncryptionConfig = new Aws.Xray.EncryptionConfig(\"example\", new()\n {\n Type = \"KMS\",\n KeyId = exampleKey.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/xray\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Enable IAM User Permissions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Some Key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tPolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = xray.NewEncryptionConfig(ctx, \"example\", \u0026xray.EncryptionConfigArgs{\n\t\t\tType: pulumi.String(\"KMS\"),\n\t\t\tKeyId: exampleKey.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.xray.EncryptionConfig;\nimport com.pulumi.aws.xray.EncryptionConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"Enable IAM User Permissions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .actions(\"kms:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"Some Key\")\n .deletionWindowInDays(7)\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleEncryptionConfig = new EncryptionConfig(\"exampleEncryptionConfig\", EncryptionConfigArgs.builder()\n .type(\"KMS\")\n .keyId(exampleKey.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: Some Key\n deletionWindowInDays: 7\n policy: ${example.json}\n exampleEncryptionConfig:\n type: aws:xray:EncryptionConfig\n name: example\n properties:\n type: KMS\n keyId: ${exampleKey.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Enable IAM User Permissions\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n actions:\n - kms:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import XRay Encryption Config using the region name. For example:\n\n```sh\n$ pulumi import aws:xray/encryptionConfig:EncryptionConfig example us-west-2\n```\n", "properties": { "keyId": { "type": "string", @@ -381779,7 +381779,7 @@ }, "functions": { "aws:acm/getCertificate:getCertificate": { - "description": "Use this data source to get the ARN of a certificate in AWS Certificate Manager (ACM).\nYou can reference the certificate by domain or tags without having to hard code the ARNs as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Find a certificate that is issued\nconst issued = aws.acm.getCertificate({\n domain: \"tf.example.com\",\n statuses: [\"ISSUED\"],\n});\n// Find a certificate issued by (not imported into) ACM\nconst amazonIssued = aws.acm.getCertificate({\n domain: \"tf.example.com\",\n types: [\"AMAZON_ISSUED\"],\n mostRecent: true,\n});\n// Find a RSA 4096 bit certificate\nconst rsa4096 = aws.acm.getCertificate({\n domain: \"tf.example.com\",\n keyTypes: [\"RSA_4096\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Find a certificate that is issued\nissued = aws.acm.get_certificate(domain=\"tf.example.com\",\n statuses=[\"ISSUED\"])\n# Find a certificate issued by (not imported into) ACM\namazon_issued = aws.acm.get_certificate(domain=\"tf.example.com\",\n types=[\"AMAZON_ISSUED\"],\n most_recent=True)\n# Find a RSA 4096 bit certificate\nrsa4096 = aws.acm.get_certificate(domain=\"tf.example.com\",\n key_types=[\"RSA_4096\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Find a certificate that is issued\n var issued = Aws.Acm.GetCertificate.Invoke(new()\n {\n Domain = \"tf.example.com\",\n Statuses = new[]\n {\n \"ISSUED\",\n },\n });\n\n // Find a certificate issued by (not imported into) ACM\n var amazonIssued = Aws.Acm.GetCertificate.Invoke(new()\n {\n Domain = \"tf.example.com\",\n Types = new[]\n {\n \"AMAZON_ISSUED\",\n },\n MostRecent = true,\n });\n\n // Find a RSA 4096 bit certificate\n var rsa4096 = Aws.Acm.GetCertificate.Invoke(new()\n {\n Domain = \"tf.example.com\",\n KeyTypes = new[]\n {\n \"RSA_4096\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acm\"\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// Find a certificate that is issued\n\t\t_, err := acm.LookupCertificate(ctx, \u0026acm.LookupCertificateArgs{\n\t\t\tDomain: pulumi.StringRef(\"tf.example.com\"),\n\t\t\tStatuses: []string{\n\t\t\t\t\"ISSUED\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Find a certificate issued by (not imported into) ACM\n\t\t_, err = acm.LookupCertificate(ctx, \u0026acm.LookupCertificateArgs{\n\t\t\tDomain: pulumi.StringRef(\"tf.example.com\"),\n\t\t\tTypes: []string{\n\t\t\t\t\"AMAZON_ISSUED\",\n\t\t\t},\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Find a RSA 4096 bit certificate\n\t\t_, err = acm.LookupCertificate(ctx, \u0026acm.LookupCertificateArgs{\n\t\t\tDomain: pulumi.StringRef(\"tf.example.com\"),\n\t\t\tKeyTypes: []string{\n\t\t\t\t\"RSA_4096\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.acm.AcmFunctions;\nimport com.pulumi.aws.acm.inputs.GetCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Find a certificate that is issued\n final var issued = AcmFunctions.getCertificate(GetCertificateArgs.builder()\n .domain(\"tf.example.com\")\n .statuses(\"ISSUED\")\n .build());\n\n // Find a certificate issued by (not imported into) ACM\n final var amazonIssued = AcmFunctions.getCertificate(GetCertificateArgs.builder()\n .domain(\"tf.example.com\")\n .types(\"AMAZON_ISSUED\")\n .mostRecent(true)\n .build());\n\n // Find a RSA 4096 bit certificate\n final var rsa4096 = AcmFunctions.getCertificate(GetCertificateArgs.builder()\n .domain(\"tf.example.com\")\n .keyTypes(\"RSA_4096\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Find a certificate that is issued\n issued:\n fn::invoke:\n function: aws:acm:getCertificate\n arguments:\n domain: tf.example.com\n statuses:\n - ISSUED\n # Find a certificate issued by (not imported into) ACM\n amazonIssued:\n fn::invoke:\n function: aws:acm:getCertificate\n arguments:\n domain: tf.example.com\n types:\n - AMAZON_ISSUED\n mostRecent: true\n # Find a RSA 4096 bit certificate\n rsa4096:\n fn::invoke:\n function: aws:acm:getCertificate\n arguments:\n domain: tf.example.com\n keyTypes:\n - RSA_4096\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the ARN of a certificate in AWS Certificate Manager (ACM).\nYou can reference the certificate by domain or tags without having to hard code the ARNs as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Find a certificate that is issued\nconst issued = aws.acm.getCertificate({\n domain: \"tf.example.com\",\n statuses: [\"ISSUED\"],\n});\n// Find a certificate issued by (not imported into) ACM\nconst amazonIssued = aws.acm.getCertificate({\n domain: \"tf.example.com\",\n types: [\"AMAZON_ISSUED\"],\n mostRecent: true,\n});\n// Find a RSA 4096 bit certificate\nconst rsa4096 = aws.acm.getCertificate({\n domain: \"tf.example.com\",\n keyTypes: [\"RSA_4096\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Find a certificate that is issued\nissued = aws.acm.get_certificate(domain=\"tf.example.com\",\n statuses=[\"ISSUED\"])\n# Find a certificate issued by (not imported into) ACM\namazon_issued = aws.acm.get_certificate(domain=\"tf.example.com\",\n types=[\"AMAZON_ISSUED\"],\n most_recent=True)\n# Find a RSA 4096 bit certificate\nrsa4096 = aws.acm.get_certificate(domain=\"tf.example.com\",\n key_types=[\"RSA_4096\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Find a certificate that is issued\n var issued = Aws.Acm.GetCertificate.Invoke(new()\n {\n Domain = \"tf.example.com\",\n Statuses = new[]\n {\n \"ISSUED\",\n },\n });\n\n // Find a certificate issued by (not imported into) ACM\n var amazonIssued = Aws.Acm.GetCertificate.Invoke(new()\n {\n Domain = \"tf.example.com\",\n Types = new[]\n {\n \"AMAZON_ISSUED\",\n },\n MostRecent = true,\n });\n\n // Find a RSA 4096 bit certificate\n var rsa4096 = Aws.Acm.GetCertificate.Invoke(new()\n {\n Domain = \"tf.example.com\",\n KeyTypes = new[]\n {\n \"RSA_4096\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acm\"\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// Find a certificate that is issued\n\t\t_, err := acm.LookupCertificate(ctx, \u0026acm.LookupCertificateArgs{\n\t\t\tDomain: pulumi.StringRef(\"tf.example.com\"),\n\t\t\tStatuses: []string{\n\t\t\t\t\"ISSUED\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Find a certificate issued by (not imported into) ACM\n\t\t_, err = acm.LookupCertificate(ctx, \u0026acm.LookupCertificateArgs{\n\t\t\tDomain: pulumi.StringRef(\"tf.example.com\"),\n\t\t\tTypes: []string{\n\t\t\t\t\"AMAZON_ISSUED\",\n\t\t\t},\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Find a RSA 4096 bit certificate\n\t\t_, err = acm.LookupCertificate(ctx, \u0026acm.LookupCertificateArgs{\n\t\t\tDomain: pulumi.StringRef(\"tf.example.com\"),\n\t\t\tKeyTypes: []string{\n\t\t\t\t\"RSA_4096\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.acm.AcmFunctions;\nimport com.pulumi.aws.acm.inputs.GetCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Find a certificate that is issued\n final var issued = AcmFunctions.getCertificate(GetCertificateArgs.builder()\n .domain(\"tf.example.com\")\n .statuses(\"ISSUED\")\n .build());\n\n // Find a certificate issued by (not imported into) ACM\n final var amazonIssued = AcmFunctions.getCertificate(GetCertificateArgs.builder()\n .domain(\"tf.example.com\")\n .types(\"AMAZON_ISSUED\")\n .mostRecent(true)\n .build());\n\n // Find a RSA 4096 bit certificate\n final var rsa4096 = AcmFunctions.getCertificate(GetCertificateArgs.builder()\n .domain(\"tf.example.com\")\n .keyTypes(\"RSA_4096\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Find a certificate that is issued\n issued:\n fn::invoke:\n Function: aws:acm:getCertificate\n Arguments:\n domain: tf.example.com\n statuses:\n - ISSUED\n # Find a certificate issued by (not imported into) ACM\n amazonIssued:\n fn::invoke:\n Function: aws:acm:getCertificate\n Arguments:\n domain: tf.example.com\n types:\n - AMAZON_ISSUED\n mostRecent: true\n # Find a RSA 4096 bit certificate\n rsa4096:\n fn::invoke:\n Function: aws:acm:getCertificate\n Arguments:\n domain: tf.example.com\n keyTypes:\n - RSA_4096\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCertificate.\n", "properties": { @@ -381890,7 +381890,7 @@ } }, "aws:acmpca/getCertificate:getCertificate": { - "description": "Get information on a Certificate issued by a AWS Certificate Manager Private Certificate Authority.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.acmpca.getCertificate({\n arn: \"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/1234b4a0d73e2056789bdbe77d5b1a23\",\n certificateAuthorityArn: \"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.get_certificate(arn=\"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/1234b4a0d73e2056789bdbe77d5b1a23\",\n certificate_authority_arn=\"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Acmpca.GetCertificate.Invoke(new()\n {\n Arn = \"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/1234b4a0d73e2056789bdbe77d5b1a23\",\n CertificateAuthorityArn = \"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\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 := acmpca.LookupCertificate(ctx, \u0026acmpca.LookupCertificateArgs{\n\t\t\tArn: \"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/1234b4a0d73e2056789bdbe77d5b1a23\",\n\t\t\tCertificateAuthorityArn: \"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.acmpca.AcmpcaFunctions;\nimport com.pulumi.aws.acmpca.inputs.GetCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AcmpcaFunctions.getCertificate(GetCertificateArgs.builder()\n .arn(\"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/1234b4a0d73e2056789bdbe77d5b1a23\")\n .certificateAuthorityArn(\"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:acmpca:getCertificate\n arguments:\n arn: arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/1234b4a0d73e2056789bdbe77d5b1a23\n certificateAuthorityArn: arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on a Certificate issued by a AWS Certificate Manager Private Certificate Authority.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.acmpca.getCertificate({\n arn: \"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/1234b4a0d73e2056789bdbe77d5b1a23\",\n certificateAuthorityArn: \"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.get_certificate(arn=\"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/1234b4a0d73e2056789bdbe77d5b1a23\",\n certificate_authority_arn=\"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Acmpca.GetCertificate.Invoke(new()\n {\n Arn = \"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/1234b4a0d73e2056789bdbe77d5b1a23\",\n CertificateAuthorityArn = \"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\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 := acmpca.LookupCertificate(ctx, \u0026acmpca.LookupCertificateArgs{\n\t\t\tArn: \"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/1234b4a0d73e2056789bdbe77d5b1a23\",\n\t\t\tCertificateAuthorityArn: \"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.acmpca.AcmpcaFunctions;\nimport com.pulumi.aws.acmpca.inputs.GetCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AcmpcaFunctions.getCertificate(GetCertificateArgs.builder()\n .arn(\"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/1234b4a0d73e2056789bdbe77d5b1a23\")\n .certificateAuthorityArn(\"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:acmpca:getCertificate\n Arguments:\n arn: arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/1234b4a0d73e2056789bdbe77d5b1a23\n certificateAuthorityArn: arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCertificate.\n", "properties": { @@ -381942,7 +381942,7 @@ } }, "aws:acmpca/getCertificateAuthority:getCertificateAuthority": { - "description": "Get information on a AWS Certificate Manager Private Certificate Authority (ACM PCA Certificate Authority).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.acmpca.getCertificateAuthority({\n arn: \"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.get_certificate_authority(arn=\"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Acmpca.GetCertificateAuthority.Invoke(new()\n {\n Arn = \"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\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 := acmpca.LookupCertificateAuthority(ctx, \u0026acmpca.LookupCertificateAuthorityArgs{\n\t\t\tArn: \"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.acmpca.AcmpcaFunctions;\nimport com.pulumi.aws.acmpca.inputs.GetCertificateAuthorityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AcmpcaFunctions.getCertificateAuthority(GetCertificateAuthorityArgs.builder()\n .arn(\"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:acmpca:getCertificateAuthority\n arguments:\n arn: arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on a AWS Certificate Manager Private Certificate Authority (ACM PCA Certificate Authority).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.acmpca.getCertificateAuthority({\n arn: \"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.get_certificate_authority(arn=\"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Acmpca.GetCertificateAuthority.Invoke(new()\n {\n Arn = \"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\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 := acmpca.LookupCertificateAuthority(ctx, \u0026acmpca.LookupCertificateAuthorityArgs{\n\t\t\tArn: \"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.acmpca.AcmpcaFunctions;\nimport com.pulumi.aws.acmpca.inputs.GetCertificateAuthorityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AcmpcaFunctions.getCertificateAuthority(GetCertificateAuthorityArgs.builder()\n .arn(\"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:acmpca:getCertificateAuthority\n Arguments:\n arn: arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCertificateAuthority.\n", "properties": { @@ -382047,7 +382047,7 @@ } }, "aws:alb/getListener:getListener": { - "description": "\u003e **Note:** `aws.alb.Listener` is known as `aws.lb.Listener`. The functionality is identical.\n\nProvides information about a Load Balancer Listener.\n\nThis data source can prove useful when a module accepts an LB Listener as an input variable and needs to know the LB it is attached to, or other information specific to the listener in question.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst listenerArn = config.require(\"listenerArn\");\nconst listener = aws.lb.getListener({\n arn: listenerArn,\n});\n// get listener from load_balancer_arn and port\nconst selected = aws.lb.getLoadBalancer({\n name: \"default-public\",\n});\nconst selected443 = selected.then(selected =\u003e aws.lb.getListener({\n loadBalancerArn: selected.arn,\n port: 443,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlistener_arn = config.require(\"listenerArn\")\nlistener = aws.lb.get_listener(arn=listener_arn)\n# get listener from load_balancer_arn and port\nselected = aws.lb.get_load_balancer(name=\"default-public\")\nselected443 = aws.lb.get_listener(load_balancer_arn=selected.arn,\n port=443)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var listenerArn = config.Require(\"listenerArn\");\n var listener = Aws.LB.GetListener.Invoke(new()\n {\n Arn = listenerArn,\n });\n\n // get listener from load_balancer_arn and port\n var selected = Aws.LB.GetLoadBalancer.Invoke(new()\n {\n Name = \"default-public\",\n });\n\n var selected443 = Aws.LB.GetListener.Invoke(new()\n {\n LoadBalancerArn = selected.Apply(getLoadBalancerResult =\u003e getLoadBalancerResult.Arn),\n Port = 443,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlistenerArn := cfg.Require(\"listenerArn\")\n\t\t_, err := lb.LookupListener(ctx, \u0026lb.LookupListenerArgs{\n\t\t\tArn: pulumi.StringRef(listenerArn),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// get listener from load_balancer_arn and port\n\t\tselected, err := lb.LookupLoadBalancer(ctx, \u0026lb.LookupLoadBalancerArgs{\n\t\t\tName: pulumi.StringRef(\"default-public\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.LookupListener(ctx, \u0026lb.LookupListenerArgs{\n\t\t\tLoadBalancerArn: pulumi.StringRef(selected.Arn),\n\t\t\tPort: pulumi.IntRef(443),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetListenerArgs;\nimport com.pulumi.aws.lb.inputs.GetLoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var listenerArn = config.get(\"listenerArn\");\n final var listener = LbFunctions.getListener(GetListenerArgs.builder()\n .arn(listenerArn)\n .build());\n\n // get listener from load_balancer_arn and port\n final var selected = LbFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()\n .name(\"default-public\")\n .build());\n\n final var selected443 = LbFunctions.getListener(GetListenerArgs.builder()\n .loadBalancerArn(selected.applyValue(getLoadBalancerResult -\u003e getLoadBalancerResult.arn()))\n .port(443)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # get listener from listener arn\n listenerArn:\n type: string\nvariables:\n listener:\n fn::invoke:\n function: aws:lb:getListener\n arguments:\n arn: ${listenerArn}\n # get listener from load_balancer_arn and port\n selected:\n fn::invoke:\n function: aws:lb:getLoadBalancer\n arguments:\n name: default-public\n selected443:\n fn::invoke:\n function: aws:lb:getListener\n arguments:\n loadBalancerArn: ${selected.arn}\n port: 443\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **Note:** `aws.alb.Listener` is known as `aws.lb.Listener`. The functionality is identical.\n\nProvides information about a Load Balancer Listener.\n\nThis data source can prove useful when a module accepts an LB Listener as an input variable and needs to know the LB it is attached to, or other information specific to the listener in question.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst listenerArn = config.require(\"listenerArn\");\nconst listener = aws.lb.getListener({\n arn: listenerArn,\n});\n// get listener from load_balancer_arn and port\nconst selected = aws.lb.getLoadBalancer({\n name: \"default-public\",\n});\nconst selected443 = selected.then(selected =\u003e aws.lb.getListener({\n loadBalancerArn: selected.arn,\n port: 443,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlistener_arn = config.require(\"listenerArn\")\nlistener = aws.lb.get_listener(arn=listener_arn)\n# get listener from load_balancer_arn and port\nselected = aws.lb.get_load_balancer(name=\"default-public\")\nselected443 = aws.lb.get_listener(load_balancer_arn=selected.arn,\n port=443)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var listenerArn = config.Require(\"listenerArn\");\n var listener = Aws.LB.GetListener.Invoke(new()\n {\n Arn = listenerArn,\n });\n\n // get listener from load_balancer_arn and port\n var selected = Aws.LB.GetLoadBalancer.Invoke(new()\n {\n Name = \"default-public\",\n });\n\n var selected443 = Aws.LB.GetListener.Invoke(new()\n {\n LoadBalancerArn = selected.Apply(getLoadBalancerResult =\u003e getLoadBalancerResult.Arn),\n Port = 443,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlistenerArn := cfg.Require(\"listenerArn\")\n\t\t_, err := lb.LookupListener(ctx, \u0026lb.LookupListenerArgs{\n\t\t\tArn: pulumi.StringRef(listenerArn),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// get listener from load_balancer_arn and port\n\t\tselected, err := lb.LookupLoadBalancer(ctx, \u0026lb.LookupLoadBalancerArgs{\n\t\t\tName: pulumi.StringRef(\"default-public\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.LookupListener(ctx, \u0026lb.LookupListenerArgs{\n\t\t\tLoadBalancerArn: pulumi.StringRef(selected.Arn),\n\t\t\tPort: pulumi.IntRef(443),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetListenerArgs;\nimport com.pulumi.aws.lb.inputs.GetLoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var listenerArn = config.get(\"listenerArn\");\n final var listener = LbFunctions.getListener(GetListenerArgs.builder()\n .arn(listenerArn)\n .build());\n\n // get listener from load_balancer_arn and port\n final var selected = LbFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()\n .name(\"default-public\")\n .build());\n\n final var selected443 = LbFunctions.getListener(GetListenerArgs.builder()\n .loadBalancerArn(selected.applyValue(getLoadBalancerResult -\u003e getLoadBalancerResult.arn()))\n .port(443)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # get listener from listener arn\n listenerArn:\n type: string\nvariables:\n listener:\n fn::invoke:\n Function: aws:lb:getListener\n Arguments:\n arn: ${listenerArn}\n # get listener from load_balancer_arn and port\n selected:\n fn::invoke:\n Function: aws:lb:getLoadBalancer\n Arguments:\n name: default-public\n selected443:\n fn::invoke:\n Function: aws:lb:getListener\n Arguments:\n loadBalancerArn: ${selected.arn}\n port: 443\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getListener.\n", "properties": { @@ -382136,7 +382136,7 @@ } }, "aws:alb/getLoadBalancer:getLoadBalancer": { - "description": "\u003e **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical.\n\nProvides information about a Load Balancer.\n\nThis data source can prove useful when a module accepts an LB as an input\nvariable and needs to, for example, determine the security groups associated\nwith it, etc.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lbArn = config.get(\"lbArn\") || \"\";\nconst lbName = config.get(\"lbName\") || \"\";\nconst test = aws.lb.getLoadBalancer({\n arn: lbArn,\n name: lbName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlb_arn = config.get(\"lbArn\")\nif lb_arn is None:\n lb_arn = \"\"\nlb_name = config.get(\"lbName\")\nif lb_name is None:\n lb_name = \"\"\ntest = aws.lb.get_load_balancer(arn=lb_arn,\n name=lb_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lbArn = config.Get(\"lbArn\") ?? \"\";\n var lbName = config.Get(\"lbName\") ?? \"\";\n var test = Aws.LB.GetLoadBalancer.Invoke(new()\n {\n Arn = lbArn,\n Name = lbName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlbArn := \"\"\n\t\tif param := cfg.Get(\"lbArn\"); param != \"\" {\n\t\t\tlbArn = param\n\t\t}\n\t\tlbName := \"\"\n\t\tif param := cfg.Get(\"lbName\"); param != \"\" {\n\t\t\tlbName = param\n\t\t}\n\t\t_, err := lb.LookupLoadBalancer(ctx, \u0026lb.LookupLoadBalancerArgs{\n\t\t\tArn: pulumi.StringRef(lbArn),\n\t\t\tName: pulumi.StringRef(lbName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetLoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lbArn = config.get(\"lbArn\").orElse(\"\");\n final var lbName = config.get(\"lbName\").orElse(\"\");\n final var test = LbFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()\n .arn(lbArn)\n .name(lbName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lbArn:\n type: string\n default: \"\"\n lbName:\n type: string\n default: \"\"\nvariables:\n test:\n fn::invoke:\n function: aws:lb:getLoadBalancer\n arguments:\n arn: ${lbArn}\n name: ${lbName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical.\n\nProvides information about a Load Balancer.\n\nThis data source can prove useful when a module accepts an LB as an input\nvariable and needs to, for example, determine the security groups associated\nwith it, etc.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lbArn = config.get(\"lbArn\") || \"\";\nconst lbName = config.get(\"lbName\") || \"\";\nconst test = aws.lb.getLoadBalancer({\n arn: lbArn,\n name: lbName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlb_arn = config.get(\"lbArn\")\nif lb_arn is None:\n lb_arn = \"\"\nlb_name = config.get(\"lbName\")\nif lb_name is None:\n lb_name = \"\"\ntest = aws.lb.get_load_balancer(arn=lb_arn,\n name=lb_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lbArn = config.Get(\"lbArn\") ?? \"\";\n var lbName = config.Get(\"lbName\") ?? \"\";\n var test = Aws.LB.GetLoadBalancer.Invoke(new()\n {\n Arn = lbArn,\n Name = lbName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlbArn := \"\"\n\t\tif param := cfg.Get(\"lbArn\"); param != \"\" {\n\t\t\tlbArn = param\n\t\t}\n\t\tlbName := \"\"\n\t\tif param := cfg.Get(\"lbName\"); param != \"\" {\n\t\t\tlbName = param\n\t\t}\n\t\t_, err := lb.LookupLoadBalancer(ctx, \u0026lb.LookupLoadBalancerArgs{\n\t\t\tArn: pulumi.StringRef(lbArn),\n\t\t\tName: pulumi.StringRef(lbName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetLoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lbArn = config.get(\"lbArn\").orElse(\"\");\n final var lbName = config.get(\"lbName\").orElse(\"\");\n final var test = LbFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()\n .arn(lbArn)\n .name(lbName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lbArn:\n type: string\n default:\n lbName:\n type: string\n default:\nvariables:\n test:\n fn::invoke:\n Function: aws:lb:getLoadBalancer\n Arguments:\n arn: ${lbArn}\n name: ${lbName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLoadBalancer.\n", "properties": { @@ -382312,7 +382312,7 @@ } }, "aws:alb/getTargetGroup:getTargetGroup": { - "description": "\u003e **Note:** `aws.alb.TargetGroup` is known as `aws.lb.TargetGroup`. The functionality is identical.\n\nProvides information about a Load Balancer Target Group.\n\nThis data source can prove useful when a module accepts an LB Target Group as an\ninput variable and needs to know its attributes. It can also be used to get the ARN of\nan LB Target Group for use in other resources, given LB Target Group name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lbTgArn = config.get(\"lbTgArn\") || \"\";\nconst lbTgName = config.get(\"lbTgName\") || \"\";\nconst test = aws.lb.getTargetGroup({\n arn: lbTgArn,\n name: lbTgName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlb_tg_arn = config.get(\"lbTgArn\")\nif lb_tg_arn is None:\n lb_tg_arn = \"\"\nlb_tg_name = config.get(\"lbTgName\")\nif lb_tg_name is None:\n lb_tg_name = \"\"\ntest = aws.lb.get_target_group(arn=lb_tg_arn,\n name=lb_tg_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lbTgArn = config.Get(\"lbTgArn\") ?? \"\";\n var lbTgName = config.Get(\"lbTgName\") ?? \"\";\n var test = Aws.LB.GetTargetGroup.Invoke(new()\n {\n Arn = lbTgArn,\n Name = lbTgName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlbTgArn := \"\"\n\t\tif param := cfg.Get(\"lbTgArn\"); param != \"\" {\n\t\t\tlbTgArn = param\n\t\t}\n\t\tlbTgName := \"\"\n\t\tif param := cfg.Get(\"lbTgName\"); param != \"\" {\n\t\t\tlbTgName = param\n\t\t}\n\t\t_, err := lb.LookupTargetGroup(ctx, \u0026lb.LookupTargetGroupArgs{\n\t\t\tArn: pulumi.StringRef(lbTgArn),\n\t\t\tName: pulumi.StringRef(lbTgName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetTargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lbTgArn = config.get(\"lbTgArn\").orElse(\"\");\n final var lbTgName = config.get(\"lbTgName\").orElse(\"\");\n final var test = LbFunctions.getTargetGroup(GetTargetGroupArgs.builder()\n .arn(lbTgArn)\n .name(lbTgName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lbTgArn:\n type: string\n default: \"\"\n lbTgName:\n type: string\n default: \"\"\nvariables:\n test:\n fn::invoke:\n function: aws:lb:getTargetGroup\n arguments:\n arn: ${lbTgArn}\n name: ${lbTgName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **Note:** `aws.alb.TargetGroup` is known as `aws.lb.TargetGroup`. The functionality is identical.\n\nProvides information about a Load Balancer Target Group.\n\nThis data source can prove useful when a module accepts an LB Target Group as an\ninput variable and needs to know its attributes. It can also be used to get the ARN of\nan LB Target Group for use in other resources, given LB Target Group name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lbTgArn = config.get(\"lbTgArn\") || \"\";\nconst lbTgName = config.get(\"lbTgName\") || \"\";\nconst test = aws.lb.getTargetGroup({\n arn: lbTgArn,\n name: lbTgName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlb_tg_arn = config.get(\"lbTgArn\")\nif lb_tg_arn is None:\n lb_tg_arn = \"\"\nlb_tg_name = config.get(\"lbTgName\")\nif lb_tg_name is None:\n lb_tg_name = \"\"\ntest = aws.lb.get_target_group(arn=lb_tg_arn,\n name=lb_tg_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lbTgArn = config.Get(\"lbTgArn\") ?? \"\";\n var lbTgName = config.Get(\"lbTgName\") ?? \"\";\n var test = Aws.LB.GetTargetGroup.Invoke(new()\n {\n Arn = lbTgArn,\n Name = lbTgName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlbTgArn := \"\"\n\t\tif param := cfg.Get(\"lbTgArn\"); param != \"\" {\n\t\t\tlbTgArn = param\n\t\t}\n\t\tlbTgName := \"\"\n\t\tif param := cfg.Get(\"lbTgName\"); param != \"\" {\n\t\t\tlbTgName = param\n\t\t}\n\t\t_, err := lb.LookupTargetGroup(ctx, \u0026lb.LookupTargetGroupArgs{\n\t\t\tArn: pulumi.StringRef(lbTgArn),\n\t\t\tName: pulumi.StringRef(lbTgName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetTargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lbTgArn = config.get(\"lbTgArn\").orElse(\"\");\n final var lbTgName = config.get(\"lbTgName\").orElse(\"\");\n final var test = LbFunctions.getTargetGroup(GetTargetGroupArgs.builder()\n .arn(lbTgArn)\n .name(lbTgName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lbTgArn:\n type: string\n default:\n lbTgName:\n type: string\n default:\nvariables:\n test:\n fn::invoke:\n Function: aws:lb:getTargetGroup\n Arguments:\n arn: ${lbTgArn}\n name: ${lbTgName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTargetGroup.\n", "properties": { @@ -382442,7 +382442,7 @@ } }, "aws:amp/getDefaultScraperConfiguration:getDefaultScraperConfiguration": { - "description": "Returns the default scraper configuration used when Amazon EKS creates a scraper for you.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.amp.getDefaultScraperConfiguration({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amp.get_default_scraper_configuration()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Amp.GetDefaultScraperConfiguration.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp\"\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 := amp.GetDefaultScraperConfiguration(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amp.AmpFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AmpFunctions.getDefaultScraperConfiguration();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:amp:getDefaultScraperConfiguration\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Returns the default scraper configuration used when Amazon EKS creates a scraper for you.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.amp.getDefaultScraperConfiguration({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amp.get_default_scraper_configuration()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Amp.GetDefaultScraperConfiguration.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp\"\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 := amp.GetDefaultScraperConfiguration(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amp.AmpFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AmpFunctions.getDefaultScraperConfiguration();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:amp:getDefaultScraperConfiguration\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getDefaultScraperConfiguration.\n", "properties": { @@ -382463,7 +382463,7 @@ } }, "aws:amp/getWorkspace:getWorkspace": { - "description": "Provides an Amazon Managed Prometheus workspace data source.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.amp.getWorkspace({\n workspaceId: \"ws-41det8a1-2c67-6a1a-9381-9b83d3d78ef7\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amp.get_workspace(workspace_id=\"ws-41det8a1-2c67-6a1a-9381-9b83d3d78ef7\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Amp.GetWorkspace.Invoke(new()\n {\n WorkspaceId = \"ws-41det8a1-2c67-6a1a-9381-9b83d3d78ef7\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp\"\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 := amp.LookupWorkspace(ctx, \u0026amp.LookupWorkspaceArgs{\n\t\t\tWorkspaceId: \"ws-41det8a1-2c67-6a1a-9381-9b83d3d78ef7\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amp.AmpFunctions;\nimport com.pulumi.aws.amp.inputs.GetWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AmpFunctions.getWorkspace(GetWorkspaceArgs.builder()\n .workspaceId(\"ws-41det8a1-2c67-6a1a-9381-9b83d3d78ef7\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:amp:getWorkspace\n arguments:\n workspaceId: ws-41det8a1-2c67-6a1a-9381-9b83d3d78ef7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an Amazon Managed Prometheus workspace data source.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.amp.getWorkspace({\n workspaceId: \"ws-41det8a1-2c67-6a1a-9381-9b83d3d78ef7\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amp.get_workspace(workspace_id=\"ws-41det8a1-2c67-6a1a-9381-9b83d3d78ef7\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Amp.GetWorkspace.Invoke(new()\n {\n WorkspaceId = \"ws-41det8a1-2c67-6a1a-9381-9b83d3d78ef7\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp\"\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 := amp.LookupWorkspace(ctx, \u0026amp.LookupWorkspaceArgs{\n\t\t\tWorkspaceId: \"ws-41det8a1-2c67-6a1a-9381-9b83d3d78ef7\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amp.AmpFunctions;\nimport com.pulumi.aws.amp.inputs.GetWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AmpFunctions.getWorkspace(GetWorkspaceArgs.builder()\n .workspaceId(\"ws-41det8a1-2c67-6a1a-9381-9b83d3d78ef7\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:amp:getWorkspace\n Arguments:\n workspaceId: ws-41det8a1-2c67-6a1a-9381-9b83d3d78ef7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getWorkspace.\n", "properties": { @@ -382541,7 +382541,7 @@ } }, "aws:amp/getWorkspaces:getWorkspaces": { - "description": "Provides the aliases, ARNs, and workspace IDs of Amazon Prometheus workspaces.\n\n## Example Usage\n\nThe following example returns all of the workspaces in a region:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.amp.getWorkspaces({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amp.get_workspaces()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Amp.GetWorkspaces.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp\"\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 := amp.GetWorkspaces(ctx, \u0026amp.GetWorkspacesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amp.AmpFunctions;\nimport com.pulumi.aws.amp.inputs.GetWorkspacesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AmpFunctions.getWorkspaces();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:amp:getWorkspaces\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following example filters the workspaces by alias. Only the workspaces with\naliases that begin with the value of `alias_prefix` will be returned:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.amp.getWorkspaces({\n aliasPrefix: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amp.get_workspaces(alias_prefix=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Amp.GetWorkspaces.Invoke(new()\n {\n AliasPrefix = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp\"\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 := amp.GetWorkspaces(ctx, \u0026amp.GetWorkspacesArgs{\n\t\t\tAliasPrefix: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amp.AmpFunctions;\nimport com.pulumi.aws.amp.inputs.GetWorkspacesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AmpFunctions.getWorkspaces(GetWorkspacesArgs.builder()\n .aliasPrefix(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:amp:getWorkspaces\n arguments:\n aliasPrefix: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides the aliases, ARNs, and workspace IDs of Amazon Prometheus workspaces.\n\n## Example Usage\n\nThe following example returns all of the workspaces in a region:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.amp.getWorkspaces({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amp.get_workspaces()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Amp.GetWorkspaces.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp\"\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 := amp.GetWorkspaces(ctx, \u0026amp.GetWorkspacesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amp.AmpFunctions;\nimport com.pulumi.aws.amp.inputs.GetWorkspacesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AmpFunctions.getWorkspaces();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:amp:getWorkspaces\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following example filters the workspaces by alias. Only the workspaces with\naliases that begin with the value of `alias_prefix` will be returned:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.amp.getWorkspaces({\n aliasPrefix: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amp.get_workspaces(alias_prefix=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Amp.GetWorkspaces.Invoke(new()\n {\n AliasPrefix = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp\"\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 := amp.GetWorkspaces(ctx, \u0026amp.GetWorkspacesArgs{\n\t\t\tAliasPrefix: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amp.AmpFunctions;\nimport com.pulumi.aws.amp.inputs.GetWorkspacesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AmpFunctions.getWorkspaces(GetWorkspacesArgs.builder()\n .aliasPrefix(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:amp:getWorkspaces\n Arguments:\n aliasPrefix: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getWorkspaces.\n", "properties": { @@ -382594,7 +382594,7 @@ } }, "aws:apigateway/getAuthorizer:getAuthorizer": { - "description": "Provides details about a specific API Gateway Authorizer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.apigateway.getAuthorizer({\n restApiId: exampleAwsApiGatewayRestApi.id,\n authorizerId: exampleAwsApiGatewayAuthorizers.ids[0],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.get_authorizer(rest_api_id=example_aws_api_gateway_rest_api[\"id\"],\n authorizer_id=example_aws_api_gateway_authorizers[\"ids\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ApiGateway.GetAuthorizer.Invoke(new()\n {\n RestApiId = exampleAwsApiGatewayRestApi.Id,\n AuthorizerId = exampleAwsApiGatewayAuthorizers.Ids[0],\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.LookupAuthorizer(ctx, \u0026apigateway.LookupAuthorizerArgs{\n\t\t\tRestApiId: exampleAwsApiGatewayRestApi.Id,\n\t\t\tAuthorizerId: exampleAwsApiGatewayAuthorizers.Ids[0],\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetAuthorizerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ApigatewayFunctions.getAuthorizer(GetAuthorizerArgs.builder()\n .restApiId(exampleAwsApiGatewayRestApi.id())\n .authorizerId(exampleAwsApiGatewayAuthorizers.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:apigateway:getAuthorizer\n arguments:\n restApiId: ${exampleAwsApiGatewayRestApi.id}\n authorizerId: ${exampleAwsApiGatewayAuthorizers.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific API Gateway Authorizer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.apigateway.getAuthorizer({\n restApiId: exampleAwsApiGatewayRestApi.id,\n authorizerId: exampleAwsApiGatewayAuthorizers.ids[0],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.get_authorizer(rest_api_id=example_aws_api_gateway_rest_api[\"id\"],\n authorizer_id=example_aws_api_gateway_authorizers[\"ids\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ApiGateway.GetAuthorizer.Invoke(new()\n {\n RestApiId = exampleAwsApiGatewayRestApi.Id,\n AuthorizerId = exampleAwsApiGatewayAuthorizers.Ids[0],\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.LookupAuthorizer(ctx, \u0026apigateway.LookupAuthorizerArgs{\n\t\t\tRestApiId: exampleAwsApiGatewayRestApi.Id,\n\t\t\tAuthorizerId: exampleAwsApiGatewayAuthorizers.Ids[0],\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetAuthorizerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ApigatewayFunctions.getAuthorizer(GetAuthorizerArgs.builder()\n .restApiId(exampleAwsApiGatewayRestApi.id())\n .authorizerId(exampleAwsApiGatewayAuthorizers.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:apigateway:getAuthorizer\n Arguments:\n restApiId: ${exampleAwsApiGatewayRestApi.id}\n authorizerId: ${exampleAwsApiGatewayAuthorizers.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAuthorizer.\n", "properties": { @@ -382684,7 +382684,7 @@ } }, "aws:apigateway/getAuthorizers:getAuthorizers": { - "description": "Provides details about multiple API Gateway Authorizers.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.apigateway.getAuthorizers({\n restApiId: exampleAwsApiGatewayRestApi.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.get_authorizers(rest_api_id=example_aws_api_gateway_rest_api[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ApiGateway.GetAuthorizers.Invoke(new()\n {\n RestApiId = exampleAwsApiGatewayRestApi.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.GetAuthorizers(ctx, \u0026apigateway.GetAuthorizersArgs{\n\t\t\tRestApiId: exampleAwsApiGatewayRestApi.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetAuthorizersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ApigatewayFunctions.getAuthorizers(GetAuthorizersArgs.builder()\n .restApiId(exampleAwsApiGatewayRestApi.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:apigateway:getAuthorizers\n arguments:\n restApiId: ${exampleAwsApiGatewayRestApi.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about multiple API Gateway Authorizers.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.apigateway.getAuthorizers({\n restApiId: exampleAwsApiGatewayRestApi.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.get_authorizers(rest_api_id=example_aws_api_gateway_rest_api[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ApiGateway.GetAuthorizers.Invoke(new()\n {\n RestApiId = exampleAwsApiGatewayRestApi.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.GetAuthorizers(ctx, \u0026apigateway.GetAuthorizersArgs{\n\t\t\tRestApiId: exampleAwsApiGatewayRestApi.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetAuthorizersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ApigatewayFunctions.getAuthorizers(GetAuthorizersArgs.builder()\n .restApiId(exampleAwsApiGatewayRestApi.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:apigateway:getAuthorizers\n Arguments:\n restApiId: ${exampleAwsApiGatewayRestApi.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAuthorizers.\n", "properties": { @@ -382725,7 +382725,7 @@ } }, "aws:apigateway/getDomainName:getDomainName": { - "description": "Use this data source to get the custom domain name for use with AWS API Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.apigateway.getDomainName({\n domainName: \"api.example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.get_domain_name(domain_name=\"api.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ApiGateway.GetDomainName.Invoke(new()\n {\n DomainName = \"api.example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.LookupDomainName(ctx, \u0026apigateway.LookupDomainNameArgs{\n\t\t\tDomainName: \"api.example.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetDomainNameArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ApigatewayFunctions.getDomainName(GetDomainNameArgs.builder()\n .domainName(\"api.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:apigateway:getDomainName\n arguments:\n domainName: api.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the custom domain name for use with AWS API Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.apigateway.getDomainName({\n domainName: \"api.example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.get_domain_name(domain_name=\"api.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ApiGateway.GetDomainName.Invoke(new()\n {\n DomainName = \"api.example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.LookupDomainName(ctx, \u0026apigateway.LookupDomainNameArgs{\n\t\t\tDomainName: \"api.example.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetDomainNameArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ApigatewayFunctions.getDomainName(GetDomainNameArgs.builder()\n .domainName(\"api.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:apigateway:getDomainName\n Arguments:\n domainName: api.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDomainName.\n", "properties": { @@ -382836,7 +382836,7 @@ } }, "aws:apigateway/getExport:getExport": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.apigateway.getExport({\n restApiId: exampleAwsApiGatewayStage.restApiId,\n stageName: exampleAwsApiGatewayStage.stageName,\n exportType: \"oas30\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.get_export(rest_api_id=example_aws_api_gateway_stage[\"restApiId\"],\n stage_name=example_aws_api_gateway_stage[\"stageName\"],\n export_type=\"oas30\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ApiGateway.GetExport.Invoke(new()\n {\n RestApiId = exampleAwsApiGatewayStage.RestApiId,\n StageName = exampleAwsApiGatewayStage.StageName,\n ExportType = \"oas30\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.GetExport(ctx, \u0026apigateway.GetExportArgs{\n\t\t\tRestApiId: exampleAwsApiGatewayStage.RestApiId,\n\t\t\tStageName: exampleAwsApiGatewayStage.StageName,\n\t\t\tExportType: \"oas30\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetExportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ApigatewayFunctions.getExport(GetExportArgs.builder()\n .restApiId(exampleAwsApiGatewayStage.restApiId())\n .stageName(exampleAwsApiGatewayStage.stageName())\n .exportType(\"oas30\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:apigateway:getExport\n arguments:\n restApiId: ${exampleAwsApiGatewayStage.restApiId}\n stageName: ${exampleAwsApiGatewayStage.stageName}\n exportType: oas30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.apigateway.getExport({\n restApiId: exampleAwsApiGatewayStage.restApiId,\n stageName: exampleAwsApiGatewayStage.stageName,\n exportType: \"oas30\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.get_export(rest_api_id=example_aws_api_gateway_stage[\"restApiId\"],\n stage_name=example_aws_api_gateway_stage[\"stageName\"],\n export_type=\"oas30\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ApiGateway.GetExport.Invoke(new()\n {\n RestApiId = exampleAwsApiGatewayStage.RestApiId,\n StageName = exampleAwsApiGatewayStage.StageName,\n ExportType = \"oas30\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.GetExport(ctx, \u0026apigateway.GetExportArgs{\n\t\t\tRestApiId: exampleAwsApiGatewayStage.RestApiId,\n\t\t\tStageName: exampleAwsApiGatewayStage.StageName,\n\t\t\tExportType: \"oas30\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetExportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ApigatewayFunctions.getExport(GetExportArgs.builder()\n .restApiId(exampleAwsApiGatewayStage.restApiId())\n .stageName(exampleAwsApiGatewayStage.stageName())\n .exportType(\"oas30\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:apigateway:getExport\n Arguments:\n restApiId: ${exampleAwsApiGatewayStage.restApiId}\n stageName: ${exampleAwsApiGatewayStage.stageName}\n exportType: oas30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getExport.\n", "properties": { @@ -382922,7 +382922,7 @@ } }, "aws:apigateway/getKey:getKey": { - "description": "Use this data source to get the name and value of a pre-existing API Key, for\nexample to supply credentials for a dependency microservice.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myApiKey = aws.apigateway.getKey({\n id: \"ru3mpjgse6\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_api_key = aws.apigateway.get_key(id=\"ru3mpjgse6\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myApiKey = Aws.ApiGateway.GetKey.Invoke(new()\n {\n Id = \"ru3mpjgse6\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.GetKey(ctx, \u0026apigateway.GetKeyArgs{\n\t\t\tId: \"ru3mpjgse6\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myApiKey = ApigatewayFunctions.getKey(GetKeyArgs.builder()\n .id(\"ru3mpjgse6\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myApiKey:\n fn::invoke:\n function: aws:apigateway:getKey\n arguments:\n id: ru3mpjgse6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the name and value of a pre-existing API Key, for\nexample to supply credentials for a dependency microservice.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myApiKey = aws.apigateway.getKey({\n id: \"ru3mpjgse6\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_api_key = aws.apigateway.get_key(id=\"ru3mpjgse6\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myApiKey = Aws.ApiGateway.GetKey.Invoke(new()\n {\n Id = \"ru3mpjgse6\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.GetKey(ctx, \u0026apigateway.GetKeyArgs{\n\t\t\tId: \"ru3mpjgse6\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myApiKey = ApigatewayFunctions.getKey(GetKeyArgs.builder()\n .id(\"ru3mpjgse6\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myApiKey:\n fn::invoke:\n Function: aws:apigateway:getKey\n Arguments:\n id: ru3mpjgse6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getKey.\n", "properties": { @@ -383006,7 +383006,7 @@ } }, "aws:apigateway/getResource:getResource": { - "description": "Use this data source to get the id of a Resource in API Gateway.\nTo fetch the Resource, you must provide the REST API id as well as the full path. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myRestApi = aws.apigateway.getRestApi({\n name: \"my-rest-api\",\n});\nconst myResource = myRestApi.then(myRestApi =\u003e aws.apigateway.getResource({\n restApiId: myRestApi.id,\n path: \"/endpoint/path\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_rest_api = aws.apigateway.get_rest_api(name=\"my-rest-api\")\nmy_resource = aws.apigateway.get_resource(rest_api_id=my_rest_api.id,\n path=\"/endpoint/path\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myRestApi = Aws.ApiGateway.GetRestApi.Invoke(new()\n {\n Name = \"my-rest-api\",\n });\n\n var myResource = Aws.ApiGateway.GetResource.Invoke(new()\n {\n RestApiId = myRestApi.Apply(getRestApiResult =\u003e getRestApiResult.Id),\n Path = \"/endpoint/path\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyRestApi, err := apigateway.LookupRestApi(ctx, \u0026apigateway.LookupRestApiArgs{\n\t\t\tName: \"my-rest-api\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.LookupResource(ctx, \u0026apigateway.LookupResourceArgs{\n\t\t\tRestApiId: myRestApi.Id,\n\t\t\tPath: \"/endpoint/path\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetRestApiArgs;\nimport com.pulumi.aws.apigateway.inputs.GetResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myRestApi = ApigatewayFunctions.getRestApi(GetRestApiArgs.builder()\n .name(\"my-rest-api\")\n .build());\n\n final var myResource = ApigatewayFunctions.getResource(GetResourceArgs.builder()\n .restApiId(myRestApi.applyValue(getRestApiResult -\u003e getRestApiResult.id()))\n .path(\"/endpoint/path\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myRestApi:\n fn::invoke:\n function: aws:apigateway:getRestApi\n arguments:\n name: my-rest-api\n myResource:\n fn::invoke:\n function: aws:apigateway:getResource\n arguments:\n restApiId: ${myRestApi.id}\n path: /endpoint/path\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the id of a Resource in API Gateway.\nTo fetch the Resource, you must provide the REST API id as well as the full path. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myRestApi = aws.apigateway.getRestApi({\n name: \"my-rest-api\",\n});\nconst myResource = myRestApi.then(myRestApi =\u003e aws.apigateway.getResource({\n restApiId: myRestApi.id,\n path: \"/endpoint/path\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_rest_api = aws.apigateway.get_rest_api(name=\"my-rest-api\")\nmy_resource = aws.apigateway.get_resource(rest_api_id=my_rest_api.id,\n path=\"/endpoint/path\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myRestApi = Aws.ApiGateway.GetRestApi.Invoke(new()\n {\n Name = \"my-rest-api\",\n });\n\n var myResource = Aws.ApiGateway.GetResource.Invoke(new()\n {\n RestApiId = myRestApi.Apply(getRestApiResult =\u003e getRestApiResult.Id),\n Path = \"/endpoint/path\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyRestApi, err := apigateway.LookupRestApi(ctx, \u0026apigateway.LookupRestApiArgs{\n\t\t\tName: \"my-rest-api\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.LookupResource(ctx, \u0026apigateway.LookupResourceArgs{\n\t\t\tRestApiId: myRestApi.Id,\n\t\t\tPath: \"/endpoint/path\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetRestApiArgs;\nimport com.pulumi.aws.apigateway.inputs.GetResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myRestApi = ApigatewayFunctions.getRestApi(GetRestApiArgs.builder()\n .name(\"my-rest-api\")\n .build());\n\n final var myResource = ApigatewayFunctions.getResource(GetResourceArgs.builder()\n .restApiId(myRestApi.applyValue(getRestApiResult -\u003e getRestApiResult.id()))\n .path(\"/endpoint/path\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myRestApi:\n fn::invoke:\n Function: aws:apigateway:getRestApi\n Arguments:\n name: my-rest-api\n myResource:\n fn::invoke:\n Function: aws:apigateway:getResource\n Arguments:\n restApiId: ${myRestApi.id}\n path: /endpoint/path\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResource.\n", "properties": { @@ -383058,7 +383058,7 @@ } }, "aws:apigateway/getRestApi:getRestApi": { - "description": "Use this data source to get the id and root_resource_id of a REST API in\nAPI Gateway. To fetch the REST API you must provide a name to match against.\nAs there is no unique name constraint on REST APIs this data source will\nerror if there is more than one match.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myRestApi = aws.apigateway.getRestApi({\n name: \"my-rest-api\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_rest_api = aws.apigateway.get_rest_api(name=\"my-rest-api\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myRestApi = Aws.ApiGateway.GetRestApi.Invoke(new()\n {\n Name = \"my-rest-api\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.LookupRestApi(ctx, \u0026apigateway.LookupRestApiArgs{\n\t\t\tName: \"my-rest-api\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetRestApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myRestApi = ApigatewayFunctions.getRestApi(GetRestApiArgs.builder()\n .name(\"my-rest-api\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myRestApi:\n fn::invoke:\n function: aws:apigateway:getRestApi\n arguments:\n name: my-rest-api\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the id and root_resource_id of a REST API in\nAPI Gateway. To fetch the REST API you must provide a name to match against.\nAs there is no unique name constraint on REST APIs this data source will\nerror if there is more than one match.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myRestApi = aws.apigateway.getRestApi({\n name: \"my-rest-api\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_rest_api = aws.apigateway.get_rest_api(name=\"my-rest-api\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myRestApi = Aws.ApiGateway.GetRestApi.Invoke(new()\n {\n Name = \"my-rest-api\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.LookupRestApi(ctx, \u0026apigateway.LookupRestApiArgs{\n\t\t\tName: \"my-rest-api\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetRestApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myRestApi = ApigatewayFunctions.getRestApi(GetRestApiArgs.builder()\n .name(\"my-rest-api\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myRestApi:\n fn::invoke:\n Function: aws:apigateway:getRestApi\n Arguments:\n name: my-rest-api\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRestApi.\n", "properties": { @@ -383157,7 +383157,7 @@ } }, "aws:apigateway/getSdk:getSdk": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.apigateway.getSdk({\n restApiId: exampleAwsApiGatewayStage.restApiId,\n stageName: exampleAwsApiGatewayStage.stageName,\n sdkType: \"android\",\n parameters: {\n groupId: \"example\",\n artifactId: \"example\",\n artifactVersion: \"example\",\n invokerPackage: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.get_sdk(rest_api_id=example_aws_api_gateway_stage[\"restApiId\"],\n stage_name=example_aws_api_gateway_stage[\"stageName\"],\n sdk_type=\"android\",\n parameters={\n \"groupId\": \"example\",\n \"artifactId\": \"example\",\n \"artifactVersion\": \"example\",\n \"invokerPackage\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ApiGateway.GetSdk.Invoke(new()\n {\n RestApiId = exampleAwsApiGatewayStage.RestApiId,\n StageName = exampleAwsApiGatewayStage.StageName,\n SdkType = \"android\",\n Parameters = \n {\n { \"groupId\", \"example\" },\n { \"artifactId\", \"example\" },\n { \"artifactVersion\", \"example\" },\n { \"invokerPackage\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.GetSdk(ctx, \u0026apigateway.GetSdkArgs{\n\t\t\tRestApiId: exampleAwsApiGatewayStage.RestApiId,\n\t\t\tStageName: exampleAwsApiGatewayStage.StageName,\n\t\t\tSdkType: \"android\",\n\t\t\tParameters: map[string]interface{}{\n\t\t\t\t\"groupId\": \"example\",\n\t\t\t\t\"artifactId\": \"example\",\n\t\t\t\t\"artifactVersion\": \"example\",\n\t\t\t\t\"invokerPackage\": \"example\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetSdkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ApigatewayFunctions.getSdk(GetSdkArgs.builder()\n .restApiId(exampleAwsApiGatewayStage.restApiId())\n .stageName(exampleAwsApiGatewayStage.stageName())\n .sdkType(\"android\")\n .parameters(Map.ofEntries(\n Map.entry(\"groupId\", \"example\"),\n Map.entry(\"artifactId\", \"example\"),\n Map.entry(\"artifactVersion\", \"example\"),\n Map.entry(\"invokerPackage\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:apigateway:getSdk\n arguments:\n restApiId: ${exampleAwsApiGatewayStage.restApiId}\n stageName: ${exampleAwsApiGatewayStage.stageName}\n sdkType: android\n parameters:\n groupId: example\n artifactId: example\n artifactVersion: example\n invokerPackage: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.apigateway.getSdk({\n restApiId: exampleAwsApiGatewayStage.restApiId,\n stageName: exampleAwsApiGatewayStage.stageName,\n sdkType: \"android\",\n parameters: {\n groupId: \"example\",\n artifactId: \"example\",\n artifactVersion: \"example\",\n invokerPackage: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.get_sdk(rest_api_id=example_aws_api_gateway_stage[\"restApiId\"],\n stage_name=example_aws_api_gateway_stage[\"stageName\"],\n sdk_type=\"android\",\n parameters={\n \"groupId\": \"example\",\n \"artifactId\": \"example\",\n \"artifactVersion\": \"example\",\n \"invokerPackage\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ApiGateway.GetSdk.Invoke(new()\n {\n RestApiId = exampleAwsApiGatewayStage.RestApiId,\n StageName = exampleAwsApiGatewayStage.StageName,\n SdkType = \"android\",\n Parameters = \n {\n { \"groupId\", \"example\" },\n { \"artifactId\", \"example\" },\n { \"artifactVersion\", \"example\" },\n { \"invokerPackage\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.GetSdk(ctx, \u0026apigateway.GetSdkArgs{\n\t\t\tRestApiId: exampleAwsApiGatewayStage.RestApiId,\n\t\t\tStageName: exampleAwsApiGatewayStage.StageName,\n\t\t\tSdkType: \"android\",\n\t\t\tParameters: map[string]interface{}{\n\t\t\t\t\"groupId\": \"example\",\n\t\t\t\t\"artifactId\": \"example\",\n\t\t\t\t\"artifactVersion\": \"example\",\n\t\t\t\t\"invokerPackage\": \"example\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetSdkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ApigatewayFunctions.getSdk(GetSdkArgs.builder()\n .restApiId(exampleAwsApiGatewayStage.restApiId())\n .stageName(exampleAwsApiGatewayStage.stageName())\n .sdkType(\"android\")\n .parameters(Map.ofEntries(\n Map.entry(\"groupId\", \"example\"),\n Map.entry(\"artifactId\", \"example\"),\n Map.entry(\"artifactVersion\", \"example\"),\n Map.entry(\"invokerPackage\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:apigateway:getSdk\n Arguments:\n restApiId: ${exampleAwsApiGatewayStage.restApiId}\n stageName: ${exampleAwsApiGatewayStage.stageName}\n sdkType: android\n parameters:\n groupId: example\n artifactId: example\n artifactVersion: example\n invokerPackage: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSdk.\n", "properties": { @@ -383236,7 +383236,7 @@ } }, "aws:apigateway/getVpcLink:getVpcLink": { - "description": "Use this data source to get the id of a VPC Link in\nAPI Gateway. To fetch the VPC Link you must provide a name to match against.\nAs there is no unique name constraint on API Gateway VPC Links this data source will\nerror if there is more than one match.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myApiGatewayVpcLink = aws.apigateway.getVpcLink({\n name: \"my-vpc-link\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_api_gateway_vpc_link = aws.apigateway.get_vpc_link(name=\"my-vpc-link\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myApiGatewayVpcLink = Aws.ApiGateway.GetVpcLink.Invoke(new()\n {\n Name = \"my-vpc-link\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.LookupVpcLink(ctx, \u0026apigateway.LookupVpcLinkArgs{\n\t\t\tName: \"my-vpc-link\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetVpcLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myApiGatewayVpcLink = ApigatewayFunctions.getVpcLink(GetVpcLinkArgs.builder()\n .name(\"my-vpc-link\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myApiGatewayVpcLink:\n fn::invoke:\n function: aws:apigateway:getVpcLink\n arguments:\n name: my-vpc-link\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the id of a VPC Link in\nAPI Gateway. To fetch the VPC Link you must provide a name to match against.\nAs there is no unique name constraint on API Gateway VPC Links this data source will\nerror if there is more than one match.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myApiGatewayVpcLink = aws.apigateway.getVpcLink({\n name: \"my-vpc-link\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_api_gateway_vpc_link = aws.apigateway.get_vpc_link(name=\"my-vpc-link\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myApiGatewayVpcLink = Aws.ApiGateway.GetVpcLink.Invoke(new()\n {\n Name = \"my-vpc-link\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.LookupVpcLink(ctx, \u0026apigateway.LookupVpcLinkArgs{\n\t\t\tName: \"my-vpc-link\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetVpcLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myApiGatewayVpcLink = ApigatewayFunctions.getVpcLink(GetVpcLinkArgs.builder()\n .name(\"my-vpc-link\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myApiGatewayVpcLink:\n fn::invoke:\n Function: aws:apigateway:getVpcLink\n Arguments:\n name: my-vpc-link\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcLink.\n", "properties": { @@ -383311,7 +383311,7 @@ } }, "aws:apigatewayv2/getApi:getApi": { - "description": "Provides details about a specific Amazon API Gateway Version 2 API.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.apigatewayv2.getApi({\n apiId: \"aabbccddee\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.get_api(api_id=\"aabbccddee\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ApiGatewayV2.GetApi.Invoke(new()\n {\n ApiId = \"aabbccddee\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\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 := apigatewayv2.LookupApi(ctx, \u0026apigatewayv2.LookupApiArgs{\n\t\t\tApiId: \"aabbccddee\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigatewayv2.Apigatewayv2Functions;\nimport com.pulumi.aws.apigatewayv2.inputs.GetApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Apigatewayv2Functions.getApi(GetApiArgs.builder()\n .apiId(\"aabbccddee\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:apigatewayv2:getApi\n arguments:\n apiId: aabbccddee\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon API Gateway Version 2 API.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.apigatewayv2.getApi({\n apiId: \"aabbccddee\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.get_api(api_id=\"aabbccddee\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ApiGatewayV2.GetApi.Invoke(new()\n {\n ApiId = \"aabbccddee\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\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 := apigatewayv2.LookupApi(ctx, \u0026apigatewayv2.LookupApiArgs{\n\t\t\tApiId: \"aabbccddee\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigatewayv2.Apigatewayv2Functions;\nimport com.pulumi.aws.apigatewayv2.inputs.GetApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Apigatewayv2Functions.getApi(GetApiArgs.builder()\n .apiId(\"aabbccddee\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:apigatewayv2:getApi\n Arguments:\n apiId: aabbccddee\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getApi.\n", "properties": { @@ -383417,7 +383417,7 @@ } }, "aws:apigatewayv2/getApis:getApis": { - "description": "Provides details about multiple Amazon API Gateway Version 2 APIs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.apigatewayv2.getApis({\n protocolType: \"HTTP\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.get_apis(protocol_type=\"HTTP\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ApiGatewayV2.GetApis.Invoke(new()\n {\n ProtocolType = \"HTTP\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\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 := apigatewayv2.GetApis(ctx, \u0026apigatewayv2.GetApisArgs{\n\t\t\tProtocolType: pulumi.StringRef(\"HTTP\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigatewayv2.Apigatewayv2Functions;\nimport com.pulumi.aws.apigatewayv2.inputs.GetApisArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Apigatewayv2Functions.getApis(GetApisArgs.builder()\n .protocolType(\"HTTP\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:apigatewayv2:getApis\n arguments:\n protocolType: HTTP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about multiple Amazon API Gateway Version 2 APIs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.apigatewayv2.getApis({\n protocolType: \"HTTP\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.get_apis(protocol_type=\"HTTP\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ApiGatewayV2.GetApis.Invoke(new()\n {\n ProtocolType = \"HTTP\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\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 := apigatewayv2.GetApis(ctx, \u0026apigatewayv2.GetApisArgs{\n\t\t\tProtocolType: pulumi.StringRef(\"HTTP\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigatewayv2.Apigatewayv2Functions;\nimport com.pulumi.aws.apigatewayv2.inputs.GetApisArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Apigatewayv2Functions.getApis(GetApisArgs.builder()\n .protocolType(\"HTTP\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:apigatewayv2:getApis\n Arguments:\n protocolType: HTTP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getApis.\n", "properties": { @@ -383474,7 +383474,7 @@ } }, "aws:apigatewayv2/getExport:getExport": { - "description": "Exports a definition of an API in a particular output format and specification.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.apigatewayv2.getExport({\n apiId: testAwsApigatewayv2Route.apiId,\n specification: \"OAS30\",\n outputType: \"JSON\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.apigatewayv2.get_export(api_id=test_aws_apigatewayv2_route[\"apiId\"],\n specification=\"OAS30\",\n output_type=\"JSON\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.ApiGatewayV2.GetExport.Invoke(new()\n {\n ApiId = testAwsApigatewayv2Route.ApiId,\n Specification = \"OAS30\",\n OutputType = \"JSON\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\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 := apigatewayv2.GetExport(ctx, \u0026apigatewayv2.GetExportArgs{\n\t\t\tApiId: testAwsApigatewayv2Route.ApiId,\n\t\t\tSpecification: \"OAS30\",\n\t\t\tOutputType: \"JSON\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigatewayv2.Apigatewayv2Functions;\nimport com.pulumi.aws.apigatewayv2.inputs.GetExportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Apigatewayv2Functions.getExport(GetExportArgs.builder()\n .apiId(testAwsApigatewayv2Route.apiId())\n .specification(\"OAS30\")\n .outputType(\"JSON\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:apigatewayv2:getExport\n arguments:\n apiId: ${testAwsApigatewayv2Route.apiId}\n specification: OAS30\n outputType: JSON\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Exports a definition of an API in a particular output format and specification.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.apigatewayv2.getExport({\n apiId: testAwsApigatewayv2Route.apiId,\n specification: \"OAS30\",\n outputType: \"JSON\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.apigatewayv2.get_export(api_id=test_aws_apigatewayv2_route[\"apiId\"],\n specification=\"OAS30\",\n output_type=\"JSON\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.ApiGatewayV2.GetExport.Invoke(new()\n {\n ApiId = testAwsApigatewayv2Route.ApiId,\n Specification = \"OAS30\",\n OutputType = \"JSON\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\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 := apigatewayv2.GetExport(ctx, \u0026apigatewayv2.GetExportArgs{\n\t\t\tApiId: testAwsApigatewayv2Route.ApiId,\n\t\t\tSpecification: \"OAS30\",\n\t\t\tOutputType: \"JSON\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigatewayv2.Apigatewayv2Functions;\nimport com.pulumi.aws.apigatewayv2.inputs.GetExportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Apigatewayv2Functions.getExport(GetExportArgs.builder()\n .apiId(testAwsApigatewayv2Route.apiId())\n .specification(\"OAS30\")\n .outputType(\"JSON\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:apigatewayv2:getExport\n Arguments:\n apiId: ${testAwsApigatewayv2Route.apiId}\n specification: OAS30\n outputType: JSON\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getExport.\n", "properties": { @@ -383551,7 +383551,7 @@ } }, "aws:apigatewayv2/getVpcLink:getVpcLink": { - "description": "Data source for managing an AWS API Gateway V2 VPC Link.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.apigatewayv2.getVpcLink({\n vpcLinkId: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.get_vpc_link(vpc_link_id=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ApiGatewayV2.GetVpcLink.Invoke(new()\n {\n VpcLinkId = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\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 := apigatewayv2.LookupVpcLink(ctx, \u0026apigatewayv2.LookupVpcLinkArgs{\n\t\t\tVpcLinkId: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigatewayv2.Apigatewayv2Functions;\nimport com.pulumi.aws.apigatewayv2.inputs.GetVpcLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Apigatewayv2Functions.getVpcLink(GetVpcLinkArgs.builder()\n .vpcLinkId(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:apigatewayv2:getVpcLink\n arguments:\n vpcLinkId: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS API Gateway V2 VPC Link.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.apigatewayv2.getVpcLink({\n vpcLinkId: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.get_vpc_link(vpc_link_id=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ApiGatewayV2.GetVpcLink.Invoke(new()\n {\n VpcLinkId = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\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 := apigatewayv2.LookupVpcLink(ctx, \u0026apigatewayv2.LookupVpcLinkArgs{\n\t\t\tVpcLinkId: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigatewayv2.Apigatewayv2Functions;\nimport com.pulumi.aws.apigatewayv2.inputs.GetVpcLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Apigatewayv2Functions.getVpcLink(GetVpcLinkArgs.builder()\n .vpcLinkId(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:apigatewayv2:getVpcLink\n Arguments:\n vpcLinkId: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcLink.\n", "properties": { @@ -383625,7 +383625,7 @@ } }, "aws:appconfig/getConfigurationProfile:getConfigurationProfile": { - "description": "Provides access to an AppConfig Configuration Profile.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.appconfig.getConfigurationProfile({\n applicationId: \"b5d5gpj\",\n configurationProfileId: \"qrbb1c1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appconfig.get_configuration_profile(application_id=\"b5d5gpj\",\n configuration_profile_id=\"qrbb1c1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.AppConfig.GetConfigurationProfile.Invoke(new()\n {\n ApplicationId = \"b5d5gpj\",\n ConfigurationProfileId = \"qrbb1c1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\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 := appconfig.LookupConfigurationProfile(ctx, \u0026appconfig.LookupConfigurationProfileArgs{\n\t\t\tApplicationId: \"b5d5gpj\",\n\t\t\tConfigurationProfileId: \"qrbb1c1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appconfig.AppconfigFunctions;\nimport com.pulumi.aws.appconfig.inputs.GetConfigurationProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AppconfigFunctions.getConfigurationProfile(GetConfigurationProfileArgs.builder()\n .applicationId(\"b5d5gpj\")\n .configurationProfileId(\"qrbb1c1\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:appconfig:getConfigurationProfile\n arguments:\n applicationId: b5d5gpj\n configurationProfileId: qrbb1c1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides access to an AppConfig Configuration Profile.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.appconfig.getConfigurationProfile({\n applicationId: \"b5d5gpj\",\n configurationProfileId: \"qrbb1c1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appconfig.get_configuration_profile(application_id=\"b5d5gpj\",\n configuration_profile_id=\"qrbb1c1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.AppConfig.GetConfigurationProfile.Invoke(new()\n {\n ApplicationId = \"b5d5gpj\",\n ConfigurationProfileId = \"qrbb1c1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\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 := appconfig.LookupConfigurationProfile(ctx, \u0026appconfig.LookupConfigurationProfileArgs{\n\t\t\tApplicationId: \"b5d5gpj\",\n\t\t\tConfigurationProfileId: \"qrbb1c1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appconfig.AppconfigFunctions;\nimport com.pulumi.aws.appconfig.inputs.GetConfigurationProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AppconfigFunctions.getConfigurationProfile(GetConfigurationProfileArgs.builder()\n .applicationId(\"b5d5gpj\")\n .configurationProfileId(\"qrbb1c1\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:appconfig:getConfigurationProfile\n Arguments:\n applicationId: b5d5gpj\n configurationProfileId: qrbb1c1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getConfigurationProfile.\n", "properties": { @@ -383765,7 +383765,7 @@ } }, "aws:appconfig/getEnvironment:getEnvironment": { - "description": "Provides access to an AppConfig Environment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.appconfig.getEnvironment({\n applicationId: \"b5d5gpj\",\n environmentId: \"qrbb1c1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appconfig.get_environment(application_id=\"b5d5gpj\",\n environment_id=\"qrbb1c1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.AppConfig.GetEnvironment.Invoke(new()\n {\n ApplicationId = \"b5d5gpj\",\n EnvironmentId = \"qrbb1c1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\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 := appconfig.LookupEnvironment(ctx, \u0026appconfig.LookupEnvironmentArgs{\n\t\t\tApplicationId: \"b5d5gpj\",\n\t\t\tEnvironmentId: \"qrbb1c1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appconfig.AppconfigFunctions;\nimport com.pulumi.aws.appconfig.inputs.GetEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AppconfigFunctions.getEnvironment(GetEnvironmentArgs.builder()\n .applicationId(\"b5d5gpj\")\n .environmentId(\"qrbb1c1\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:appconfig:getEnvironment\n arguments:\n applicationId: b5d5gpj\n environmentId: qrbb1c1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides access to an AppConfig Environment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.appconfig.getEnvironment({\n applicationId: \"b5d5gpj\",\n environmentId: \"qrbb1c1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appconfig.get_environment(application_id=\"b5d5gpj\",\n environment_id=\"qrbb1c1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.AppConfig.GetEnvironment.Invoke(new()\n {\n ApplicationId = \"b5d5gpj\",\n EnvironmentId = \"qrbb1c1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\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 := appconfig.LookupEnvironment(ctx, \u0026appconfig.LookupEnvironmentArgs{\n\t\t\tApplicationId: \"b5d5gpj\",\n\t\t\tEnvironmentId: \"qrbb1c1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appconfig.AppconfigFunctions;\nimport com.pulumi.aws.appconfig.inputs.GetEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AppconfigFunctions.getEnvironment(GetEnvironmentArgs.builder()\n .applicationId(\"b5d5gpj\")\n .environmentId(\"qrbb1c1\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:appconfig:getEnvironment\n Arguments:\n applicationId: b5d5gpj\n environmentId: qrbb1c1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEnvironment.\n", "properties": { @@ -383850,7 +383850,7 @@ } }, "aws:appconfig/getEnvironments:getEnvironments": { - "description": "Provides access to all Environments for an AppConfig Application. This will allow you to pass Environment IDs to another\nresource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.appconfig.getEnvironments({\n applicationId: \"a1d3rpe\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appconfig.get_environments(application_id=\"a1d3rpe\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.AppConfig.GetEnvironments.Invoke(new()\n {\n ApplicationId = \"a1d3rpe\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\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 := appconfig.GetEnvironments(ctx, \u0026appconfig.GetEnvironmentsArgs{\n\t\t\tApplicationId: \"a1d3rpe\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appconfig.AppconfigFunctions;\nimport com.pulumi.aws.appconfig.inputs.GetEnvironmentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AppconfigFunctions.getEnvironments(GetEnvironmentsArgs.builder()\n .applicationId(\"a1d3rpe\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:appconfig:getEnvironments\n arguments:\n applicationId: a1d3rpe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides access to all Environments for an AppConfig Application. This will allow you to pass Environment IDs to another\nresource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.appconfig.getEnvironments({\n applicationId: \"a1d3rpe\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appconfig.get_environments(application_id=\"a1d3rpe\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.AppConfig.GetEnvironments.Invoke(new()\n {\n ApplicationId = \"a1d3rpe\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\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 := appconfig.GetEnvironments(ctx, \u0026appconfig.GetEnvironmentsArgs{\n\t\t\tApplicationId: \"a1d3rpe\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appconfig.AppconfigFunctions;\nimport com.pulumi.aws.appconfig.inputs.GetEnvironmentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AppconfigFunctions.getEnvironments(GetEnvironmentsArgs.builder()\n .applicationId(\"a1d3rpe\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:appconfig:getEnvironments\n Arguments:\n applicationId: a1d3rpe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEnvironments.\n", "properties": { @@ -383891,7 +383891,7 @@ } }, "aws:appintegrations/getEventIntegration:getEventIntegration": { - "description": "Use this data source to get information on an existing AppIntegrations Event Integration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.appintegrations.getEventIntegration({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appintegrations.get_event_integration(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.AppIntegrations.GetEventIntegration.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appintegrations\"\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 := appintegrations.GetEventIntegration(ctx, \u0026appintegrations.GetEventIntegrationArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appintegrations.AppintegrationsFunctions;\nimport com.pulumi.aws.appintegrations.inputs.GetEventIntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AppintegrationsFunctions.getEventIntegration(GetEventIntegrationArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:appintegrations:getEventIntegration\n arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information on an existing AppIntegrations Event Integration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.appintegrations.getEventIntegration({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appintegrations.get_event_integration(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.AppIntegrations.GetEventIntegration.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appintegrations\"\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 := appintegrations.GetEventIntegration(ctx, \u0026appintegrations.GetEventIntegrationArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appintegrations.AppintegrationsFunctions;\nimport com.pulumi.aws.appintegrations.inputs.GetEventIntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AppintegrationsFunctions.getEventIntegration(GetEventIntegrationArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:appintegrations:getEventIntegration\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEventIntegration.\n", "properties": { @@ -383962,7 +383962,7 @@ } }, "aws:appmesh/getGatewayRoute:getGatewayRoute": { - "description": "The App Mesh Gateway Route data source allows details of an App Mesh Gateway Route to be retrieved by its name, mesh_name, virtual_gateway_name, and optionally the mesh_owner.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.appmesh.getGatewayRoute({\n name: \"test-route\",\n meshName: \"test-mesh\",\n virtualGatewayName: \"test-gateway\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.appmesh.get_gateway_route(name=\"test-route\",\n mesh_name=\"test-mesh\",\n virtual_gateway_name=\"test-gateway\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.AppMesh.GetGatewayRoute.Invoke(new()\n {\n Name = \"test-route\",\n MeshName = \"test-mesh\",\n VirtualGatewayName = \"test-gateway\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\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 := appmesh.LookupGatewayRoute(ctx, \u0026appmesh.LookupGatewayRouteArgs{\n\t\t\tName: \"test-route\",\n\t\t\tMeshName: \"test-mesh\",\n\t\t\tVirtualGatewayName: \"test-gateway\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetGatewayRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = AppmeshFunctions.getGatewayRoute(GetGatewayRouteArgs.builder()\n .name(\"test-route\")\n .meshName(\"test-mesh\")\n .virtualGatewayName(\"test-gateway\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:appmesh:getGatewayRoute\n arguments:\n name: test-route\n meshName: test-mesh\n virtualGatewayName: test-gateway\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The App Mesh Gateway Route data source allows details of an App Mesh Gateway Route to be retrieved by its name, mesh_name, virtual_gateway_name, and optionally the mesh_owner.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.appmesh.getGatewayRoute({\n name: \"test-route\",\n meshName: \"test-mesh\",\n virtualGatewayName: \"test-gateway\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.appmesh.get_gateway_route(name=\"test-route\",\n mesh_name=\"test-mesh\",\n virtual_gateway_name=\"test-gateway\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.AppMesh.GetGatewayRoute.Invoke(new()\n {\n Name = \"test-route\",\n MeshName = \"test-mesh\",\n VirtualGatewayName = \"test-gateway\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\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 := appmesh.LookupGatewayRoute(ctx, \u0026appmesh.LookupGatewayRouteArgs{\n\t\t\tName: \"test-route\",\n\t\t\tMeshName: \"test-mesh\",\n\t\t\tVirtualGatewayName: \"test-gateway\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetGatewayRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = AppmeshFunctions.getGatewayRoute(GetGatewayRouteArgs.builder()\n .name(\"test-route\")\n .meshName(\"test-mesh\")\n .virtualGatewayName(\"test-gateway\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:appmesh:getGatewayRoute\n Arguments:\n name: test-route\n meshName: test-mesh\n virtualGatewayName: test-gateway\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getGatewayRoute.\n", "properties": { @@ -384064,7 +384064,7 @@ } }, "aws:appmesh/getMesh:getMesh": { - "description": "The App Mesh Mesh data source allows details of an App Mesh Mesh to be retrieved by its name and optionally the mesh_owner.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst simple = aws.appmesh.getMesh({\n name: \"simpleapp\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsimple = aws.appmesh.get_mesh(name=\"simpleapp\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var simple = Aws.AppMesh.GetMesh.Invoke(new()\n {\n Name = \"simpleapp\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\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 := appmesh.LookupMesh(ctx, \u0026appmesh.LookupMeshArgs{\n\t\t\tName: \"simpleapp\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetMeshArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var simple = AppmeshFunctions.getMesh(GetMeshArgs.builder()\n .name(\"simpleapp\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n simple:\n fn::invoke:\n function: aws:appmesh:getMesh\n arguments:\n name: simpleapp\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst simple = current.then(current =\u003e aws.appmesh.getMesh({\n name: \"simpleapp\",\n meshOwner: current.accountId,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nsimple = aws.appmesh.get_mesh(name=\"simpleapp\",\n mesh_owner=current.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var simple = Aws.AppMesh.GetMesh.Invoke(new()\n {\n Name = \"simpleapp\",\n MeshOwner = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appmesh.LookupMesh(ctx, \u0026appmesh.LookupMeshArgs{\n\t\t\tName: \"simpleapp\",\n\t\t\tMeshOwner: pulumi.StringRef(current.AccountId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetMeshArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var simple = AppmeshFunctions.getMesh(GetMeshArgs.builder()\n .name(\"simpleapp\")\n .meshOwner(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n simple:\n fn::invoke:\n function: aws:appmesh:getMesh\n arguments:\n name: simpleapp\n meshOwner: ${current.accountId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The App Mesh Mesh data source allows details of an App Mesh Mesh to be retrieved by its name and optionally the mesh_owner.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst simple = aws.appmesh.getMesh({\n name: \"simpleapp\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsimple = aws.appmesh.get_mesh(name=\"simpleapp\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var simple = Aws.AppMesh.GetMesh.Invoke(new()\n {\n Name = \"simpleapp\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\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 := appmesh.LookupMesh(ctx, \u0026appmesh.LookupMeshArgs{\n\t\t\tName: \"simpleapp\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetMeshArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var simple = AppmeshFunctions.getMesh(GetMeshArgs.builder()\n .name(\"simpleapp\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n simple:\n fn::invoke:\n Function: aws:appmesh:getMesh\n Arguments:\n name: simpleapp\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst simple = current.then(current =\u003e aws.appmesh.getMesh({\n name: \"simpleapp\",\n meshOwner: current.accountId,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nsimple = aws.appmesh.get_mesh(name=\"simpleapp\",\n mesh_owner=current.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var simple = Aws.AppMesh.GetMesh.Invoke(new()\n {\n Name = \"simpleapp\",\n MeshOwner = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appmesh.LookupMesh(ctx, \u0026appmesh.LookupMeshArgs{\n\t\t\tName: \"simpleapp\",\n\t\t\tMeshOwner: pulumi.StringRef(current.AccountId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetMeshArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var simple = AppmeshFunctions.getMesh(GetMeshArgs.builder()\n .name(\"simpleapp\")\n .meshOwner(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n simple:\n fn::invoke:\n Function: aws:appmesh:getMesh\n Arguments:\n name: simpleapp\n meshOwner: ${current.accountId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getMesh.\n", "properties": { @@ -384148,7 +384148,7 @@ } }, "aws:appmesh/getRoute:getRoute": { - "description": "The App Mesh Route data source allows details of an App Mesh Route to be retrieved by its name, mesh_name, virtual_router_name, and optionally the mesh_owner.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetVirtualServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = AppmeshFunctions.getVirtualService(GetVirtualServiceArgs.builder()\n .name(\"test-route\")\n .meshName(\"test-mesh\")\n .virtualRouterName(\"test-router\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:appmesh:getVirtualService\n arguments:\n name: test-route\n meshName: test-mesh\n virtualRouterName: test-router\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The App Mesh Route data source allows details of an App Mesh Route to be retrieved by its name, mesh_name, virtual_router_name, and optionally the mesh_owner.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetVirtualServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = AppmeshFunctions.getVirtualService(GetVirtualServiceArgs.builder()\n .name(\"test-route\")\n .meshName(\"test-mesh\")\n .virtualRouterName(\"test-router\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:appmesh:getVirtualService\n Arguments:\n name: test-route\n meshName: test-mesh\n virtualRouterName: test-router\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRoute.\n", "properties": { @@ -384250,7 +384250,7 @@ } }, "aws:appmesh/getVirtualGateway:getVirtualGateway": { - "description": "Data source for managing an AWS App Mesh Virtual Gateway.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.appmesh.getVirtualGateway({\n meshName: \"mesh-gateway\",\n name: \"example-mesh\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appmesh.get_virtual_gateway(mesh_name=\"mesh-gateway\",\n name=\"example-mesh\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.AppMesh.GetVirtualGateway.Invoke(new()\n {\n MeshName = \"mesh-gateway\",\n Name = \"example-mesh\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\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 := appmesh.LookupVirtualGateway(ctx, \u0026appmesh.LookupVirtualGatewayArgs{\n\t\t\tMeshName: \"mesh-gateway\",\n\t\t\tName: \"example-mesh\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetVirtualGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AppmeshFunctions.getVirtualGateway(GetVirtualGatewayArgs.builder()\n .meshName(\"mesh-gateway\")\n .name(\"example-mesh\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:appmesh:getVirtualGateway\n arguments:\n meshName: mesh-gateway\n name: example-mesh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetVirtualGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var test = AppmeshFunctions.getVirtualGateway(GetVirtualGatewayArgs.builder()\n .name(\"example.mesh.local\")\n .meshName(\"example-mesh\")\n .meshOwner(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n test:\n fn::invoke:\n function: aws:appmesh:getVirtualGateway\n arguments:\n name: example.mesh.local\n meshName: example-mesh\n meshOwner: ${current.accountId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS App Mesh Virtual Gateway.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.appmesh.getVirtualGateway({\n meshName: \"mesh-gateway\",\n name: \"example-mesh\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appmesh.get_virtual_gateway(mesh_name=\"mesh-gateway\",\n name=\"example-mesh\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.AppMesh.GetVirtualGateway.Invoke(new()\n {\n MeshName = \"mesh-gateway\",\n Name = \"example-mesh\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\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 := appmesh.LookupVirtualGateway(ctx, \u0026appmesh.LookupVirtualGatewayArgs{\n\t\t\tMeshName: \"mesh-gateway\",\n\t\t\tName: \"example-mesh\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetVirtualGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AppmeshFunctions.getVirtualGateway(GetVirtualGatewayArgs.builder()\n .meshName(\"mesh-gateway\")\n .name(\"example-mesh\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:appmesh:getVirtualGateway\n Arguments:\n meshName: mesh-gateway\n name: example-mesh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetVirtualGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var test = AppmeshFunctions.getVirtualGateway(GetVirtualGatewayArgs.builder()\n .name(\"example.mesh.local\")\n .meshName(\"example-mesh\")\n .meshOwner(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n test:\n fn::invoke:\n Function: aws:appmesh:getVirtualGateway\n Arguments:\n name: example.mesh.local\n meshName: example-mesh\n meshOwner: ${current.accountId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVirtualGateway.\n", "properties": { @@ -384339,7 +384339,7 @@ } }, "aws:appmesh/getVirtualNode:getVirtualNode": { - "description": "Data source for managing an AWS App Mesh Virtual Node.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.appmesh.getVirtualNode({\n name: \"serviceBv1\",\n meshName: \"example-mesh\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.appmesh.get_virtual_node(name=\"serviceBv1\",\n mesh_name=\"example-mesh\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.AppMesh.GetVirtualNode.Invoke(new()\n {\n Name = \"serviceBv1\",\n MeshName = \"example-mesh\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\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 := appmesh.LookupVirtualNode(ctx, \u0026appmesh.LookupVirtualNodeArgs{\n\t\t\tName: \"serviceBv1\",\n\t\t\tMeshName: \"example-mesh\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetVirtualNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = AppmeshFunctions.getVirtualNode(GetVirtualNodeArgs.builder()\n .name(\"serviceBv1\")\n .meshName(\"example-mesh\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:appmesh:getVirtualNode\n arguments:\n name: serviceBv1\n meshName: example-mesh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS App Mesh Virtual Node.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.appmesh.getVirtualNode({\n name: \"serviceBv1\",\n meshName: \"example-mesh\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.appmesh.get_virtual_node(name=\"serviceBv1\",\n mesh_name=\"example-mesh\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.AppMesh.GetVirtualNode.Invoke(new()\n {\n Name = \"serviceBv1\",\n MeshName = \"example-mesh\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\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 := appmesh.LookupVirtualNode(ctx, \u0026appmesh.LookupVirtualNodeArgs{\n\t\t\tName: \"serviceBv1\",\n\t\t\tMeshName: \"example-mesh\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetVirtualNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = AppmeshFunctions.getVirtualNode(GetVirtualNodeArgs.builder()\n .name(\"serviceBv1\")\n .meshName(\"example-mesh\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:appmesh:getVirtualNode\n Arguments:\n name: serviceBv1\n meshName: example-mesh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVirtualNode.\n", "properties": { @@ -384432,7 +384432,7 @@ } }, "aws:appmesh/getVirtualRouter:getVirtualRouter": { - "description": "The App Mesh Virtual Router data source allows details of an App Mesh Virtual Service to be retrieved by its name and mesh_name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.appmesh.getVirtualRouter({\n name: \"example-router-name\",\n meshName: \"example-mesh-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.appmesh.get_virtual_router(name=\"example-router-name\",\n mesh_name=\"example-mesh-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.AppMesh.GetVirtualRouter.Invoke(new()\n {\n Name = \"example-router-name\",\n MeshName = \"example-mesh-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\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 := appmesh.LookupVirtualRouter(ctx, \u0026appmesh.LookupVirtualRouterArgs{\n\t\t\tName: \"example-router-name\",\n\t\t\tMeshName: \"example-mesh-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetVirtualRouterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = AppmeshFunctions.getVirtualRouter(GetVirtualRouterArgs.builder()\n .name(\"example-router-name\")\n .meshName(\"example-mesh-name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:appmesh:getVirtualRouter\n arguments:\n name: example-router-name\n meshName: example-mesh-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The App Mesh Virtual Router data source allows details of an App Mesh Virtual Service to be retrieved by its name and mesh_name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.appmesh.getVirtualRouter({\n name: \"example-router-name\",\n meshName: \"example-mesh-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.appmesh.get_virtual_router(name=\"example-router-name\",\n mesh_name=\"example-mesh-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.AppMesh.GetVirtualRouter.Invoke(new()\n {\n Name = \"example-router-name\",\n MeshName = \"example-mesh-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\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 := appmesh.LookupVirtualRouter(ctx, \u0026appmesh.LookupVirtualRouterArgs{\n\t\t\tName: \"example-router-name\",\n\t\t\tMeshName: \"example-mesh-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetVirtualRouterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = AppmeshFunctions.getVirtualRouter(GetVirtualRouterArgs.builder()\n .name(\"example-router-name\")\n .meshName(\"example-mesh-name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:appmesh:getVirtualRouter\n Arguments:\n name: example-router-name\n meshName: example-mesh-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVirtualRouter.\n", "properties": { @@ -384524,7 +384524,7 @@ } }, "aws:appmesh/getVirtualService:getVirtualService": { - "description": "The App Mesh Virtual Service data source allows details of an App Mesh Virtual Service to be retrieved by its name, mesh_name, and optionally the mesh_owner.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.appmesh.getVirtualService({\n name: \"example.mesh.local\",\n meshName: \"example-mesh\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.appmesh.get_virtual_service(name=\"example.mesh.local\",\n mesh_name=\"example-mesh\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.AppMesh.GetVirtualService.Invoke(new()\n {\n Name = \"example.mesh.local\",\n MeshName = \"example-mesh\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\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 := appmesh.LookupVirtualService(ctx, \u0026appmesh.LookupVirtualServiceArgs{\n\t\t\tName: \"example.mesh.local\",\n\t\t\tMeshName: \"example-mesh\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetVirtualServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = AppmeshFunctions.getVirtualService(GetVirtualServiceArgs.builder()\n .name(\"example.mesh.local\")\n .meshName(\"example-mesh\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:appmesh:getVirtualService\n arguments:\n name: example.mesh.local\n meshName: example-mesh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst test = current.then(current =\u003e aws.appmesh.getVirtualService({\n name: \"example.mesh.local\",\n meshName: \"example-mesh\",\n meshOwner: current.accountId,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ntest = aws.appmesh.get_virtual_service(name=\"example.mesh.local\",\n mesh_name=\"example-mesh\",\n mesh_owner=current.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var test = Aws.AppMesh.GetVirtualService.Invoke(new()\n {\n Name = \"example.mesh.local\",\n MeshName = \"example-mesh\",\n MeshOwner = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appmesh.LookupVirtualService(ctx, \u0026appmesh.LookupVirtualServiceArgs{\n\t\t\tName: \"example.mesh.local\",\n\t\t\tMeshName: \"example-mesh\",\n\t\t\tMeshOwner: pulumi.StringRef(current.AccountId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetVirtualServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var test = AppmeshFunctions.getVirtualService(GetVirtualServiceArgs.builder()\n .name(\"example.mesh.local\")\n .meshName(\"example-mesh\")\n .meshOwner(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n test:\n fn::invoke:\n function: aws:appmesh:getVirtualService\n arguments:\n name: example.mesh.local\n meshName: example-mesh\n meshOwner: ${current.accountId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The App Mesh Virtual Service data source allows details of an App Mesh Virtual Service to be retrieved by its name, mesh_name, and optionally the mesh_owner.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.appmesh.getVirtualService({\n name: \"example.mesh.local\",\n meshName: \"example-mesh\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.appmesh.get_virtual_service(name=\"example.mesh.local\",\n mesh_name=\"example-mesh\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.AppMesh.GetVirtualService.Invoke(new()\n {\n Name = \"example.mesh.local\",\n MeshName = \"example-mesh\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\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 := appmesh.LookupVirtualService(ctx, \u0026appmesh.LookupVirtualServiceArgs{\n\t\t\tName: \"example.mesh.local\",\n\t\t\tMeshName: \"example-mesh\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetVirtualServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = AppmeshFunctions.getVirtualService(GetVirtualServiceArgs.builder()\n .name(\"example.mesh.local\")\n .meshName(\"example-mesh\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:appmesh:getVirtualService\n Arguments:\n name: example.mesh.local\n meshName: example-mesh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst test = current.then(current =\u003e aws.appmesh.getVirtualService({\n name: \"example.mesh.local\",\n meshName: \"example-mesh\",\n meshOwner: current.accountId,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ntest = aws.appmesh.get_virtual_service(name=\"example.mesh.local\",\n mesh_name=\"example-mesh\",\n mesh_owner=current.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var test = Aws.AppMesh.GetVirtualService.Invoke(new()\n {\n Name = \"example.mesh.local\",\n MeshName = \"example-mesh\",\n MeshOwner = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appmesh.LookupVirtualService(ctx, \u0026appmesh.LookupVirtualServiceArgs{\n\t\t\tName: \"example.mesh.local\",\n\t\t\tMeshName: \"example-mesh\",\n\t\t\tMeshOwner: pulumi.StringRef(current.AccountId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetVirtualServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var test = AppmeshFunctions.getVirtualService(GetVirtualServiceArgs.builder()\n .name(\"example.mesh.local\")\n .meshName(\"example-mesh\")\n .meshOwner(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n test:\n fn::invoke:\n Function: aws:appmesh:getVirtualService\n Arguments:\n name: example.mesh.local\n meshName: example-mesh\n meshOwner: ${current.accountId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVirtualService.\n", "properties": { @@ -384617,7 +384617,7 @@ } }, "aws:apprunner/getHostedZoneId:getHostedZoneId": { - "description": "Use this data source to get the HostedZoneId of an AWS App Runner service deployed\nin a given region for the purpose of using it in an AWS Route53 Alias record.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.apprunner.getHostedZoneId({});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: primary.zoneId,\n name: \"example.com\",\n type: aws.route53.RecordType.A,\n aliases: [{\n name: mainAwsApprunnerCustomDomainAssociation.dnsTarget,\n zoneId: main.then(main =\u003e main.id),\n evaluateTargetHealth: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.apprunner.get_hosted_zone_id()\nwww = aws.route53.Record(\"www\",\n zone_id=primary[\"zoneId\"],\n name=\"example.com\",\n type=aws.route53.RecordType.A,\n aliases=[{\n \"name\": main_aws_apprunner_custom_domain_association[\"dnsTarget\"],\n \"zone_id\": main.id,\n \"evaluate_target_health\": True,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.AppRunner.GetHostedZoneId.Invoke();\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"example.com\",\n Type = Aws.Route53.RecordType.A,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = mainAwsApprunnerCustomDomainAssociation.DnsTarget,\n ZoneId = main.Apply(getHostedZoneIdResult =\u003e getHostedZoneIdResult.Id),\n EvaluateTargetHealth = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := apprunner.GetHostedZoneId(ctx, \u0026apprunner.GetHostedZoneIdArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: pulumi.Any(mainAwsApprunnerCustomDomainAssociation.DnsTarget),\n\t\t\t\t\tZoneId: pulumi.String(main.Id),\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apprunner.ApprunnerFunctions;\nimport com.pulumi.aws.apprunner.inputs.GetHostedZoneIdArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = ApprunnerFunctions.getHostedZoneId();\n\n var www = new Record(\"www\", RecordArgs.builder()\n .zoneId(primary.zoneId())\n .name(\"example.com\")\n .type(\"A\")\n .aliases(RecordAliasArgs.builder()\n .name(mainAwsApprunnerCustomDomainAssociation.dnsTarget())\n .zoneId(main.applyValue(getHostedZoneIdResult -\u003e getHostedZoneIdResult.id()))\n .evaluateTargetHealth(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: example.com\n type: A\n aliases:\n - name: ${mainAwsApprunnerCustomDomainAssociation.dnsTarget}\n zoneId: ${main.id}\n evaluateTargetHealth: true\nvariables:\n main:\n fn::invoke:\n function: aws:apprunner:getHostedZoneId\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the HostedZoneId of an AWS App Runner service deployed\nin a given region for the purpose of using it in an AWS Route53 Alias record.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.apprunner.getHostedZoneId({});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: primary.zoneId,\n name: \"example.com\",\n type: aws.route53.RecordType.A,\n aliases: [{\n name: mainAwsApprunnerCustomDomainAssociation.dnsTarget,\n zoneId: main.then(main =\u003e main.id),\n evaluateTargetHealth: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.apprunner.get_hosted_zone_id()\nwww = aws.route53.Record(\"www\",\n zone_id=primary[\"zoneId\"],\n name=\"example.com\",\n type=aws.route53.RecordType.A,\n aliases=[{\n \"name\": main_aws_apprunner_custom_domain_association[\"dnsTarget\"],\n \"zone_id\": main.id,\n \"evaluate_target_health\": True,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.AppRunner.GetHostedZoneId.Invoke();\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"example.com\",\n Type = Aws.Route53.RecordType.A,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = mainAwsApprunnerCustomDomainAssociation.DnsTarget,\n ZoneId = main.Apply(getHostedZoneIdResult =\u003e getHostedZoneIdResult.Id),\n EvaluateTargetHealth = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := apprunner.GetHostedZoneId(ctx, \u0026apprunner.GetHostedZoneIdArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: pulumi.Any(mainAwsApprunnerCustomDomainAssociation.DnsTarget),\n\t\t\t\t\tZoneId: pulumi.String(main.Id),\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apprunner.ApprunnerFunctions;\nimport com.pulumi.aws.apprunner.inputs.GetHostedZoneIdArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = ApprunnerFunctions.getHostedZoneId();\n\n var www = new Record(\"www\", RecordArgs.builder()\n .zoneId(primary.zoneId())\n .name(\"example.com\")\n .type(\"A\")\n .aliases(RecordAliasArgs.builder()\n .name(mainAwsApprunnerCustomDomainAssociation.dnsTarget())\n .zoneId(main.applyValue(getHostedZoneIdResult -\u003e getHostedZoneIdResult.id()))\n .evaluateTargetHealth(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: example.com\n type: A\n aliases:\n - name: ${mainAwsApprunnerCustomDomainAssociation.dnsTarget}\n zoneId: ${main.id}\n evaluateTargetHealth: true\nvariables:\n main:\n fn::invoke:\n Function: aws:apprunner:getHostedZoneId\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getHostedZoneId.\n", "properties": { @@ -384778,7 +384778,7 @@ } }, "aws:athena/getNamedQuery:getNamedQuery": { - "description": "Provides an Athena Named Query data source.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.athena.getNamedQuery({\n name: \"athenaQueryName\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.athena.get_named_query(name=\"athenaQueryName\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Athena.GetNamedQuery.Invoke(new()\n {\n Name = \"athenaQueryName\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena\"\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 := athena.LookupNamedQuery(ctx, \u0026athena.LookupNamedQueryArgs{\n\t\t\tName: \"athenaQueryName\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.athena.AthenaFunctions;\nimport com.pulumi.aws.athena.inputs.GetNamedQueryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AthenaFunctions.getNamedQuery(GetNamedQueryArgs.builder()\n .name(\"athenaQueryName\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:athena:getNamedQuery\n arguments:\n name: athenaQueryName\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an Athena Named Query data source.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.athena.getNamedQuery({\n name: \"athenaQueryName\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.athena.get_named_query(name=\"athenaQueryName\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Athena.GetNamedQuery.Invoke(new()\n {\n Name = \"athenaQueryName\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena\"\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 := athena.LookupNamedQuery(ctx, \u0026athena.LookupNamedQueryArgs{\n\t\t\tName: \"athenaQueryName\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.athena.AthenaFunctions;\nimport com.pulumi.aws.athena.inputs.GetNamedQueryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AthenaFunctions.getNamedQuery(GetNamedQueryArgs.builder()\n .name(\"athenaQueryName\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:athena:getNamedQuery\n Arguments:\n name: athenaQueryName\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getNamedQuery.\n", "properties": { @@ -384832,7 +384832,7 @@ } }, "aws:auditmanager/getControl:getControl": { - "description": "Data source for managing an AWS Audit Manager Control.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.auditmanager.getControl({\n name: \"1. Risk Management\",\n type: \"Standard\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.get_control(name=\"1. Risk Management\",\n type=\"Standard\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Auditmanager.GetControl.Invoke(new()\n {\n Name = \"1. Risk Management\",\n Type = \"Standard\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\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 := auditmanager.LookupControl(ctx, \u0026auditmanager.LookupControlArgs{\n\t\t\tName: \"1. Risk Management\",\n\t\t\tType: \"Standard\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.auditmanager.AuditmanagerFunctions;\nimport com.pulumi.aws.auditmanager.inputs.GetControlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AuditmanagerFunctions.getControl(GetControlArgs.builder()\n .name(\"1. Risk Management\")\n .type(\"Standard\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:auditmanager:getControl\n arguments:\n name: 1. Risk Management\n type: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Framework Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.auditmanager.getControl({\n name: \"1. Risk Management\",\n type: \"Standard\",\n});\nconst example2 = aws.auditmanager.getControl({\n name: \"2. Personnel\",\n type: \"Standard\",\n});\nconst exampleFramework = new aws.auditmanager.Framework(\"example\", {\n name: \"example\",\n controlSets: [\n {\n name: \"example\",\n controls: [{\n id: example.then(example =\u003e example.id),\n }],\n },\n {\n name: \"example2\",\n controls: [{\n id: example2.then(example2 =\u003e example2.id),\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.get_control(name=\"1. Risk Management\",\n type=\"Standard\")\nexample2 = aws.auditmanager.get_control(name=\"2. Personnel\",\n type=\"Standard\")\nexample_framework = aws.auditmanager.Framework(\"example\",\n name=\"example\",\n control_sets=[\n {\n \"name\": \"example\",\n \"controls\": [{\n \"id\": example.id,\n }],\n },\n {\n \"name\": \"example2\",\n \"controls\": [{\n \"id\": example2.id,\n }],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Auditmanager.GetControl.Invoke(new()\n {\n Name = \"1. Risk Management\",\n Type = \"Standard\",\n });\n\n var example2 = Aws.Auditmanager.GetControl.Invoke(new()\n {\n Name = \"2. Personnel\",\n Type = \"Standard\",\n });\n\n var exampleFramework = new Aws.Auditmanager.Framework(\"example\", new()\n {\n Name = \"example\",\n ControlSets = new[]\n {\n new Aws.Auditmanager.Inputs.FrameworkControlSetArgs\n {\n Name = \"example\",\n Controls = new[]\n {\n new Aws.Auditmanager.Inputs.FrameworkControlSetControlArgs\n {\n Id = example.Apply(getControlResult =\u003e getControlResult.Id),\n },\n },\n },\n new Aws.Auditmanager.Inputs.FrameworkControlSetArgs\n {\n Name = \"example2\",\n Controls = new[]\n {\n new Aws.Auditmanager.Inputs.FrameworkControlSetControlArgs\n {\n Id = example2.Apply(getControlResult =\u003e getControlResult.Id),\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := auditmanager.LookupControl(ctx, \u0026auditmanager.LookupControlArgs{\n\t\t\tName: \"1. Risk Management\",\n\t\t\tType: \"Standard\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := auditmanager.LookupControl(ctx, \u0026auditmanager.LookupControlArgs{\n\t\t\tName: \"2. Personnel\",\n\t\t\tType: \"Standard\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = auditmanager.NewFramework(ctx, \"example\", \u0026auditmanager.FrameworkArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tControlSets: auditmanager.FrameworkControlSetArray{\n\t\t\t\t\u0026auditmanager.FrameworkControlSetArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tControls: auditmanager.FrameworkControlSetControlArray{\n\t\t\t\t\t\t\u0026auditmanager.FrameworkControlSetControlArgs{\n\t\t\t\t\t\t\tId: pulumi.String(example.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026auditmanager.FrameworkControlSetArgs{\n\t\t\t\t\tName: pulumi.String(\"example2\"),\n\t\t\t\t\tControls: auditmanager.FrameworkControlSetControlArray{\n\t\t\t\t\t\t\u0026auditmanager.FrameworkControlSetControlArgs{\n\t\t\t\t\t\t\tId: pulumi.String(example2.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.auditmanager.AuditmanagerFunctions;\nimport com.pulumi.aws.auditmanager.inputs.GetControlArgs;\nimport com.pulumi.aws.auditmanager.Framework;\nimport com.pulumi.aws.auditmanager.FrameworkArgs;\nimport com.pulumi.aws.auditmanager.inputs.FrameworkControlSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AuditmanagerFunctions.getControl(GetControlArgs.builder()\n .name(\"1. Risk Management\")\n .type(\"Standard\")\n .build());\n\n final var example2 = AuditmanagerFunctions.getControl(GetControlArgs.builder()\n .name(\"2. Personnel\")\n .type(\"Standard\")\n .build());\n\n var exampleFramework = new Framework(\"exampleFramework\", FrameworkArgs.builder()\n .name(\"example\")\n .controlSets( \n FrameworkControlSetArgs.builder()\n .name(\"example\")\n .controls(FrameworkControlSetControlArgs.builder()\n .id(example.applyValue(getControlResult -\u003e getControlResult.id()))\n .build())\n .build(),\n FrameworkControlSetArgs.builder()\n .name(\"example2\")\n .controls(FrameworkControlSetControlArgs.builder()\n .id(example2.applyValue(getControlResult -\u003e getControlResult.id()))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleFramework:\n type: aws:auditmanager:Framework\n name: example\n properties:\n name: example\n controlSets:\n - name: example\n controls:\n - id: ${example.id}\n - name: example2\n controls:\n - id: ${example2.id}\nvariables:\n example:\n fn::invoke:\n function: aws:auditmanager:getControl\n arguments:\n name: 1. Risk Management\n type: Standard\n example2:\n fn::invoke:\n function: aws:auditmanager:getControl\n arguments:\n name: 2. Personnel\n type: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Audit Manager Control.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.auditmanager.getControl({\n name: \"1. Risk Management\",\n type: \"Standard\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.get_control(name=\"1. Risk Management\",\n type=\"Standard\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Auditmanager.GetControl.Invoke(new()\n {\n Name = \"1. Risk Management\",\n Type = \"Standard\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\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 := auditmanager.LookupControl(ctx, \u0026auditmanager.LookupControlArgs{\n\t\t\tName: \"1. Risk Management\",\n\t\t\tType: \"Standard\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.auditmanager.AuditmanagerFunctions;\nimport com.pulumi.aws.auditmanager.inputs.GetControlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AuditmanagerFunctions.getControl(GetControlArgs.builder()\n .name(\"1. Risk Management\")\n .type(\"Standard\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:auditmanager:getControl\n Arguments:\n name: 1. Risk Management\n type: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Framework Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.auditmanager.getControl({\n name: \"1. Risk Management\",\n type: \"Standard\",\n});\nconst example2 = aws.auditmanager.getControl({\n name: \"2. Personnel\",\n type: \"Standard\",\n});\nconst exampleFramework = new aws.auditmanager.Framework(\"example\", {\n name: \"example\",\n controlSets: [\n {\n name: \"example\",\n controls: [{\n id: example.then(example =\u003e example.id),\n }],\n },\n {\n name: \"example2\",\n controls: [{\n id: example2.then(example2 =\u003e example2.id),\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.get_control(name=\"1. Risk Management\",\n type=\"Standard\")\nexample2 = aws.auditmanager.get_control(name=\"2. Personnel\",\n type=\"Standard\")\nexample_framework = aws.auditmanager.Framework(\"example\",\n name=\"example\",\n control_sets=[\n {\n \"name\": \"example\",\n \"controls\": [{\n \"id\": example.id,\n }],\n },\n {\n \"name\": \"example2\",\n \"controls\": [{\n \"id\": example2.id,\n }],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Auditmanager.GetControl.Invoke(new()\n {\n Name = \"1. Risk Management\",\n Type = \"Standard\",\n });\n\n var example2 = Aws.Auditmanager.GetControl.Invoke(new()\n {\n Name = \"2. Personnel\",\n Type = \"Standard\",\n });\n\n var exampleFramework = new Aws.Auditmanager.Framework(\"example\", new()\n {\n Name = \"example\",\n ControlSets = new[]\n {\n new Aws.Auditmanager.Inputs.FrameworkControlSetArgs\n {\n Name = \"example\",\n Controls = new[]\n {\n new Aws.Auditmanager.Inputs.FrameworkControlSetControlArgs\n {\n Id = example.Apply(getControlResult =\u003e getControlResult.Id),\n },\n },\n },\n new Aws.Auditmanager.Inputs.FrameworkControlSetArgs\n {\n Name = \"example2\",\n Controls = new[]\n {\n new Aws.Auditmanager.Inputs.FrameworkControlSetControlArgs\n {\n Id = example2.Apply(getControlResult =\u003e getControlResult.Id),\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := auditmanager.LookupControl(ctx, \u0026auditmanager.LookupControlArgs{\n\t\t\tName: \"1. Risk Management\",\n\t\t\tType: \"Standard\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := auditmanager.LookupControl(ctx, \u0026auditmanager.LookupControlArgs{\n\t\t\tName: \"2. Personnel\",\n\t\t\tType: \"Standard\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = auditmanager.NewFramework(ctx, \"example\", \u0026auditmanager.FrameworkArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tControlSets: auditmanager.FrameworkControlSetArray{\n\t\t\t\t\u0026auditmanager.FrameworkControlSetArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tControls: auditmanager.FrameworkControlSetControlArray{\n\t\t\t\t\t\t\u0026auditmanager.FrameworkControlSetControlArgs{\n\t\t\t\t\t\t\tId: pulumi.String(example.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026auditmanager.FrameworkControlSetArgs{\n\t\t\t\t\tName: pulumi.String(\"example2\"),\n\t\t\t\t\tControls: auditmanager.FrameworkControlSetControlArray{\n\t\t\t\t\t\t\u0026auditmanager.FrameworkControlSetControlArgs{\n\t\t\t\t\t\t\tId: pulumi.String(example2.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.auditmanager.AuditmanagerFunctions;\nimport com.pulumi.aws.auditmanager.inputs.GetControlArgs;\nimport com.pulumi.aws.auditmanager.Framework;\nimport com.pulumi.aws.auditmanager.FrameworkArgs;\nimport com.pulumi.aws.auditmanager.inputs.FrameworkControlSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AuditmanagerFunctions.getControl(GetControlArgs.builder()\n .name(\"1. Risk Management\")\n .type(\"Standard\")\n .build());\n\n final var example2 = AuditmanagerFunctions.getControl(GetControlArgs.builder()\n .name(\"2. Personnel\")\n .type(\"Standard\")\n .build());\n\n var exampleFramework = new Framework(\"exampleFramework\", FrameworkArgs.builder()\n .name(\"example\")\n .controlSets( \n FrameworkControlSetArgs.builder()\n .name(\"example\")\n .controls(FrameworkControlSetControlArgs.builder()\n .id(example.applyValue(getControlResult -\u003e getControlResult.id()))\n .build())\n .build(),\n FrameworkControlSetArgs.builder()\n .name(\"example2\")\n .controls(FrameworkControlSetControlArgs.builder()\n .id(example2.applyValue(getControlResult -\u003e getControlResult.id()))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleFramework:\n type: aws:auditmanager:Framework\n name: example\n properties:\n name: example\n controlSets:\n - name: example\n controls:\n - id: ${example.id}\n - name: example2\n controls:\n - id: ${example2.id}\nvariables:\n example:\n fn::invoke:\n Function: aws:auditmanager:getControl\n Arguments:\n name: 1. Risk Management\n type: Standard\n example2:\n fn::invoke:\n Function: aws:auditmanager:getControl\n Arguments:\n name: 2. Personnel\n type: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getControl.\n", "properties": { @@ -384912,7 +384912,7 @@ } }, "aws:auditmanager/getFramework:getFramework": { - "description": "Data source for managing an AWS Audit Manager Framework.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.auditmanager.getFramework({\n name: \"Essential Eight\",\n frameworkType: \"Standard\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.get_framework(name=\"Essential Eight\",\n framework_type=\"Standard\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Auditmanager.GetFramework.Invoke(new()\n {\n Name = \"Essential Eight\",\n FrameworkType = \"Standard\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\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 := auditmanager.LookupFramework(ctx, \u0026auditmanager.LookupFrameworkArgs{\n\t\t\tName: \"Essential Eight\",\n\t\t\tFrameworkType: \"Standard\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.auditmanager.AuditmanagerFunctions;\nimport com.pulumi.aws.auditmanager.inputs.GetFrameworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AuditmanagerFunctions.getFramework(GetFrameworkArgs.builder()\n .name(\"Essential Eight\")\n .frameworkType(\"Standard\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:auditmanager:getFramework\n arguments:\n name: Essential Eight\n frameworkType: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Audit Manager Framework.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.auditmanager.getFramework({\n name: \"Essential Eight\",\n frameworkType: \"Standard\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.get_framework(name=\"Essential Eight\",\n framework_type=\"Standard\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Auditmanager.GetFramework.Invoke(new()\n {\n Name = \"Essential Eight\",\n FrameworkType = \"Standard\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\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 := auditmanager.LookupFramework(ctx, \u0026auditmanager.LookupFrameworkArgs{\n\t\t\tName: \"Essential Eight\",\n\t\t\tFrameworkType: \"Standard\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.auditmanager.AuditmanagerFunctions;\nimport com.pulumi.aws.auditmanager.inputs.GetFrameworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AuditmanagerFunctions.getFramework(GetFrameworkArgs.builder()\n .name(\"Essential Eight\")\n .frameworkType(\"Standard\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:auditmanager:getFramework\n Arguments:\n name: Essential Eight\n frameworkType: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getFramework.\n", "properties": { @@ -384983,7 +384983,7 @@ } }, "aws:autoscaling/getAmiIds:getAmiIds": { - "description": "The Autoscaling Groups data source allows access to the list of AWS\nASGs within a specific region. This will allow you to pass a list of AutoScaling Groups to other resources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst groups = aws.autoscaling.getAmiIds({\n filters: [\n {\n name: \"tag:Team\",\n values: [\"Pets\"],\n },\n {\n name: \"tag-key\",\n values: [\"Environment\"],\n },\n ],\n});\nconst slackNotifications = new aws.autoscaling.Notification(\"slack_notifications\", {\n groupNames: groups.then(groups =\u003e groups.names),\n notifications: [\n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\",\n ],\n topicArn: \"TOPIC ARN\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngroups = aws.autoscaling.get_ami_ids(filters=[\n {\n \"name\": \"tag:Team\",\n \"values\": [\"Pets\"],\n },\n {\n \"name\": \"tag-key\",\n \"values\": [\"Environment\"],\n },\n])\nslack_notifications = aws.autoscaling.Notification(\"slack_notifications\",\n group_names=groups.names,\n notifications=[\n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\",\n ],\n topic_arn=\"TOPIC ARN\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var groups = Aws.AutoScaling.GetAmiIds.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.AutoScaling.Inputs.GetAmiIdsFilterInputArgs\n {\n Name = \"tag:Team\",\n Values = new[]\n {\n \"Pets\",\n },\n },\n new Aws.AutoScaling.Inputs.GetAmiIdsFilterInputArgs\n {\n Name = \"tag-key\",\n Values = new[]\n {\n \"Environment\",\n },\n },\n },\n });\n\n var slackNotifications = new Aws.AutoScaling.Notification(\"slack_notifications\", new()\n {\n GroupNames = groups.Apply(getAmiIdsResult =\u003e getAmiIdsResult.Names),\n Notifications = new[]\n {\n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\",\n },\n TopicArn = \"TOPIC ARN\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgroups, err := autoscaling.GetAmiIds(ctx, \u0026autoscaling.GetAmiIdsArgs{\n\t\t\tFilters: []autoscaling.GetAmiIdsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Team\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Pets\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"tag-key\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Environment\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewNotification(ctx, \"slack_notifications\", \u0026autoscaling.NotificationArgs{\n\t\t\tGroupNames: interface{}(groups.Names),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_LAUNCH\"),\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_TERMINATE\"),\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\"),\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\"),\n\t\t\t},\n\t\t\tTopicArn: pulumi.String(\"TOPIC ARN\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.autoscaling.AutoscalingFunctions;\nimport com.pulumi.aws.autoscaling.inputs.GetAmiIdsArgs;\nimport com.pulumi.aws.autoscaling.Notification;\nimport com.pulumi.aws.autoscaling.NotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var groups = AutoscalingFunctions.getAmiIds(GetAmiIdsArgs.builder()\n .filters( \n GetAmiIdsFilterArgs.builder()\n .name(\"tag:Team\")\n .values(\"Pets\")\n .build(),\n GetAmiIdsFilterArgs.builder()\n .name(\"tag-key\")\n .values(\"Environment\")\n .build())\n .build());\n\n var slackNotifications = new Notification(\"slackNotifications\", NotificationArgs.builder()\n .groupNames(groups.applyValue(getAmiIdsResult -\u003e getAmiIdsResult.names()))\n .notifications( \n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\")\n .topicArn(\"TOPIC ARN\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n slackNotifications:\n type: aws:autoscaling:Notification\n name: slack_notifications\n properties:\n groupNames: ${groups.names}\n notifications:\n - autoscaling:EC2_INSTANCE_LAUNCH\n - autoscaling:EC2_INSTANCE_TERMINATE\n - autoscaling:EC2_INSTANCE_LAUNCH_ERROR\n - autoscaling:EC2_INSTANCE_TERMINATE_ERROR\n topicArn: TOPIC ARN\nvariables:\n groups:\n fn::invoke:\n function: aws:autoscaling:getAmiIds\n arguments:\n filters:\n - name: tag:Team\n values:\n - Pets\n - name: tag-key\n values:\n - Environment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The Autoscaling Groups data source allows access to the list of AWS\nASGs within a specific region. This will allow you to pass a list of AutoScaling Groups to other resources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst groups = aws.autoscaling.getAmiIds({\n filters: [\n {\n name: \"tag:Team\",\n values: [\"Pets\"],\n },\n {\n name: \"tag-key\",\n values: [\"Environment\"],\n },\n ],\n});\nconst slackNotifications = new aws.autoscaling.Notification(\"slack_notifications\", {\n groupNames: groups.then(groups =\u003e groups.names),\n notifications: [\n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\",\n ],\n topicArn: \"TOPIC ARN\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngroups = aws.autoscaling.get_ami_ids(filters=[\n {\n \"name\": \"tag:Team\",\n \"values\": [\"Pets\"],\n },\n {\n \"name\": \"tag-key\",\n \"values\": [\"Environment\"],\n },\n])\nslack_notifications = aws.autoscaling.Notification(\"slack_notifications\",\n group_names=groups.names,\n notifications=[\n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\",\n ],\n topic_arn=\"TOPIC ARN\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var groups = Aws.AutoScaling.GetAmiIds.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.AutoScaling.Inputs.GetAmiIdsFilterInputArgs\n {\n Name = \"tag:Team\",\n Values = new[]\n {\n \"Pets\",\n },\n },\n new Aws.AutoScaling.Inputs.GetAmiIdsFilterInputArgs\n {\n Name = \"tag-key\",\n Values = new[]\n {\n \"Environment\",\n },\n },\n },\n });\n\n var slackNotifications = new Aws.AutoScaling.Notification(\"slack_notifications\", new()\n {\n GroupNames = groups.Apply(getAmiIdsResult =\u003e getAmiIdsResult.Names),\n Notifications = new[]\n {\n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\",\n },\n TopicArn = \"TOPIC ARN\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgroups, err := autoscaling.GetAmiIds(ctx, \u0026autoscaling.GetAmiIdsArgs{\n\t\t\tFilters: []autoscaling.GetAmiIdsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Team\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Pets\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"tag-key\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Environment\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewNotification(ctx, \"slack_notifications\", \u0026autoscaling.NotificationArgs{\n\t\t\tGroupNames: interface{}(groups.Names),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_LAUNCH\"),\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_TERMINATE\"),\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\"),\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\"),\n\t\t\t},\n\t\t\tTopicArn: pulumi.String(\"TOPIC ARN\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.autoscaling.AutoscalingFunctions;\nimport com.pulumi.aws.autoscaling.inputs.GetAmiIdsArgs;\nimport com.pulumi.aws.autoscaling.Notification;\nimport com.pulumi.aws.autoscaling.NotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var groups = AutoscalingFunctions.getAmiIds(GetAmiIdsArgs.builder()\n .filters( \n GetAmiIdsFilterArgs.builder()\n .name(\"tag:Team\")\n .values(\"Pets\")\n .build(),\n GetAmiIdsFilterArgs.builder()\n .name(\"tag-key\")\n .values(\"Environment\")\n .build())\n .build());\n\n var slackNotifications = new Notification(\"slackNotifications\", NotificationArgs.builder()\n .groupNames(groups.applyValue(getAmiIdsResult -\u003e getAmiIdsResult.names()))\n .notifications( \n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\")\n .topicArn(\"TOPIC ARN\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n slackNotifications:\n type: aws:autoscaling:Notification\n name: slack_notifications\n properties:\n groupNames: ${groups.names}\n notifications:\n - autoscaling:EC2_INSTANCE_LAUNCH\n - autoscaling:EC2_INSTANCE_TERMINATE\n - autoscaling:EC2_INSTANCE_LAUNCH_ERROR\n - autoscaling:EC2_INSTANCE_TERMINATE_ERROR\n topicArn: TOPIC ARN\nvariables:\n groups:\n fn::invoke:\n Function: aws:autoscaling:getAmiIds\n Arguments:\n filters:\n - name: tag:Team\n values:\n - Pets\n - name: tag-key\n values:\n - Environment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAmiIds.\n", "properties": { @@ -385041,7 +385041,7 @@ } }, "aws:autoscaling/getGroup:getGroup": { - "description": "Use this data source to get information on an existing autoscaling group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = aws.autoscaling.getGroup({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.autoscaling.get_group(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.AutoScaling.GetGroup.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\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 := autoscaling.LookupGroup(ctx, \u0026autoscaling.LookupGroupArgs{\n\t\t\tName: \"foo\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.autoscaling.AutoscalingFunctions;\nimport com.pulumi.aws.autoscaling.inputs.GetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = AutoscalingFunctions.getGroup(GetGroupArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n function: aws:autoscaling:getGroup\n arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information on an existing autoscaling group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = aws.autoscaling.getGroup({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.autoscaling.get_group(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.AutoScaling.GetGroup.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\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 := autoscaling.LookupGroup(ctx, \u0026autoscaling.LookupGroupArgs{\n\t\t\tName: \"foo\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.autoscaling.AutoscalingFunctions;\nimport com.pulumi.aws.autoscaling.inputs.GetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = AutoscalingFunctions.getGroup(GetGroupArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: aws:autoscaling:getGroup\n Arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getGroup.\n", "properties": { @@ -385254,7 +385254,7 @@ } }, "aws:backup/getFramework:getFramework": { - "description": "Use this data source to get information on an existing backup framework.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.backup.getFramework({\n name: \"my_example_backup_framework_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.get_framework(name=\"my_example_backup_framework_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Backup.GetFramework.Invoke(new()\n {\n Name = \"my_example_backup_framework_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.LookupFramework(ctx, \u0026backup.LookupFrameworkArgs{\n\t\t\tName: \"my_example_backup_framework_name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.BackupFunctions;\nimport com.pulumi.aws.backup.inputs.GetFrameworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = BackupFunctions.getFramework(GetFrameworkArgs.builder()\n .name(\"my_example_backup_framework_name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:backup:getFramework\n arguments:\n name: my_example_backup_framework_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information on an existing backup framework.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.backup.getFramework({\n name: \"my_example_backup_framework_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.get_framework(name=\"my_example_backup_framework_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Backup.GetFramework.Invoke(new()\n {\n Name = \"my_example_backup_framework_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.LookupFramework(ctx, \u0026backup.LookupFrameworkArgs{\n\t\t\tName: \"my_example_backup_framework_name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.BackupFunctions;\nimport com.pulumi.aws.backup.inputs.GetFrameworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = BackupFunctions.getFramework(GetFrameworkArgs.builder()\n .name(\"my_example_backup_framework_name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:backup:getFramework\n Arguments:\n name: my_example_backup_framework_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getFramework.\n", "properties": { @@ -385336,7 +385336,7 @@ } }, "aws:backup/getPlan:getPlan": { - "description": "Use this data source to get information on an existing backup plan.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.backup.getPlan({\n planId: \"my_example_backup_plan_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.get_plan(plan_id=\"my_example_backup_plan_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Backup.GetPlan.Invoke(new()\n {\n PlanId = \"my_example_backup_plan_id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.LookupPlan(ctx, \u0026backup.LookupPlanArgs{\n\t\t\tPlanId: \"my_example_backup_plan_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.BackupFunctions;\nimport com.pulumi.aws.backup.inputs.GetPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = BackupFunctions.getPlan(GetPlanArgs.builder()\n .planId(\"my_example_backup_plan_id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:backup:getPlan\n arguments:\n planId: my_example_backup_plan_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information on an existing backup plan.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.backup.getPlan({\n planId: \"my_example_backup_plan_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.get_plan(plan_id=\"my_example_backup_plan_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Backup.GetPlan.Invoke(new()\n {\n PlanId = \"my_example_backup_plan_id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.LookupPlan(ctx, \u0026backup.LookupPlanArgs{\n\t\t\tPlanId: \"my_example_backup_plan_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.BackupFunctions;\nimport com.pulumi.aws.backup.inputs.GetPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = BackupFunctions.getPlan(GetPlanArgs.builder()\n .planId(\"my_example_backup_plan_id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:backup:getPlan\n Arguments:\n planId: my_example_backup_plan_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPlan.\n", "properties": { @@ -385407,7 +385407,7 @@ } }, "aws:backup/getReportPlan:getReportPlan": { - "description": "Use this data source to get information on an existing backup report plan.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.backup.getReportPlan({\n name: \"my_example_backup_report_plan_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.get_report_plan(name=\"my_example_backup_report_plan_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Backup.GetReportPlan.Invoke(new()\n {\n Name = \"my_example_backup_report_plan_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.LookupReportPlan(ctx, \u0026backup.LookupReportPlanArgs{\n\t\t\tName: \"my_example_backup_report_plan_name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.BackupFunctions;\nimport com.pulumi.aws.backup.inputs.GetReportPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = BackupFunctions.getReportPlan(GetReportPlanArgs.builder()\n .name(\"my_example_backup_report_plan_name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:backup:getReportPlan\n arguments:\n name: my_example_backup_report_plan_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information on an existing backup report plan.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.backup.getReportPlan({\n name: \"my_example_backup_report_plan_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.get_report_plan(name=\"my_example_backup_report_plan_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Backup.GetReportPlan.Invoke(new()\n {\n Name = \"my_example_backup_report_plan_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.LookupReportPlan(ctx, \u0026backup.LookupReportPlanArgs{\n\t\t\tName: \"my_example_backup_report_plan_name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.BackupFunctions;\nimport com.pulumi.aws.backup.inputs.GetReportPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = BackupFunctions.getReportPlan(GetReportPlanArgs.builder()\n .name(\"my_example_backup_report_plan_name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:backup:getReportPlan\n Arguments:\n name: my_example_backup_report_plan_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getReportPlan.\n", "properties": { @@ -385491,7 +385491,7 @@ } }, "aws:backup/getSelection:getSelection": { - "description": "Use this data source to get information on an existing backup selection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.backup.getSelection({\n planId: exampleAwsBackupPlan.id,\n selectionId: \"selection-id-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.get_selection(plan_id=example_aws_backup_plan[\"id\"],\n selection_id=\"selection-id-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Backup.GetSelection.Invoke(new()\n {\n PlanId = exampleAwsBackupPlan.Id,\n SelectionId = \"selection-id-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.LookupSelection(ctx, \u0026backup.LookupSelectionArgs{\n\t\t\tPlanId: exampleAwsBackupPlan.Id,\n\t\t\tSelectionId: \"selection-id-example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.BackupFunctions;\nimport com.pulumi.aws.backup.inputs.GetSelectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = BackupFunctions.getSelection(GetSelectionArgs.builder()\n .planId(exampleAwsBackupPlan.id())\n .selectionId(\"selection-id-example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:backup:getSelection\n arguments:\n planId: ${exampleAwsBackupPlan.id}\n selectionId: selection-id-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information on an existing backup selection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.backup.getSelection({\n planId: exampleAwsBackupPlan.id,\n selectionId: \"selection-id-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.get_selection(plan_id=example_aws_backup_plan[\"id\"],\n selection_id=\"selection-id-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Backup.GetSelection.Invoke(new()\n {\n PlanId = exampleAwsBackupPlan.Id,\n SelectionId = \"selection-id-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.LookupSelection(ctx, \u0026backup.LookupSelectionArgs{\n\t\t\tPlanId: exampleAwsBackupPlan.Id,\n\t\t\tSelectionId: \"selection-id-example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.BackupFunctions;\nimport com.pulumi.aws.backup.inputs.GetSelectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = BackupFunctions.getSelection(GetSelectionArgs.builder()\n .planId(exampleAwsBackupPlan.id())\n .selectionId(\"selection-id-example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:backup:getSelection\n Arguments:\n planId: ${exampleAwsBackupPlan.id}\n selectionId: selection-id-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSelection.\n", "properties": { @@ -385551,7 +385551,7 @@ } }, "aws:backup/getVault:getVault": { - "description": "Use this data source to get information on an existing backup vault.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.backup.getVault({\n name: \"example_backup_vault\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.get_vault(name=\"example_backup_vault\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Backup.GetVault.Invoke(new()\n {\n Name = \"example_backup_vault\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.LookupVault(ctx, \u0026backup.LookupVaultArgs{\n\t\t\tName: \"example_backup_vault\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.BackupFunctions;\nimport com.pulumi.aws.backup.inputs.GetVaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = BackupFunctions.getVault(GetVaultArgs.builder()\n .name(\"example_backup_vault\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:backup:getVault\n arguments:\n name: example_backup_vault\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information on an existing backup vault.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.backup.getVault({\n name: \"example_backup_vault\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.get_vault(name=\"example_backup_vault\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Backup.GetVault.Invoke(new()\n {\n Name = \"example_backup_vault\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.LookupVault(ctx, \u0026backup.LookupVaultArgs{\n\t\t\tName: \"example_backup_vault\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.BackupFunctions;\nimport com.pulumi.aws.backup.inputs.GetVaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = BackupFunctions.getVault(GetVaultArgs.builder()\n .name(\"example_backup_vault\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:backup:getVault\n Arguments:\n name: example_backup_vault\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVault.\n", "properties": { @@ -385614,7 +385614,7 @@ } }, "aws:batch/getComputeEnvironment:getComputeEnvironment": { - "description": "The Batch Compute Environment data source allows access to details of a specific\ncompute environment within AWS Batch.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst batch-mongo = aws.batch.getComputeEnvironment({\n computeEnvironmentName: \"batch-mongo-production\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbatch_mongo = aws.batch.get_compute_environment(compute_environment_name=\"batch-mongo-production\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var batch_mongo = Aws.Batch.GetComputeEnvironment.Invoke(new()\n {\n ComputeEnvironmentName = \"batch-mongo-production\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\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 := batch.LookupComputeEnvironment(ctx, \u0026batch.LookupComputeEnvironmentArgs{\n\t\t\tComputeEnvironmentName: \"batch-mongo-production\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.BatchFunctions;\nimport com.pulumi.aws.batch.inputs.GetComputeEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var batch-mongo = BatchFunctions.getComputeEnvironment(GetComputeEnvironmentArgs.builder()\n .computeEnvironmentName(\"batch-mongo-production\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n batch-mongo:\n fn::invoke:\n function: aws:batch:getComputeEnvironment\n arguments:\n computeEnvironmentName: batch-mongo-production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The Batch Compute Environment data source allows access to details of a specific\ncompute environment within AWS Batch.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst batch-mongo = aws.batch.getComputeEnvironment({\n computeEnvironmentName: \"batch-mongo-production\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbatch_mongo = aws.batch.get_compute_environment(compute_environment_name=\"batch-mongo-production\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var batch_mongo = Aws.Batch.GetComputeEnvironment.Invoke(new()\n {\n ComputeEnvironmentName = \"batch-mongo-production\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\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 := batch.LookupComputeEnvironment(ctx, \u0026batch.LookupComputeEnvironmentArgs{\n\t\t\tComputeEnvironmentName: \"batch-mongo-production\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.BatchFunctions;\nimport com.pulumi.aws.batch.inputs.GetComputeEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var batch-mongo = BatchFunctions.getComputeEnvironment(GetComputeEnvironmentArgs.builder()\n .computeEnvironmentName(\"batch-mongo-production\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n batch-mongo:\n fn::invoke:\n Function: aws:batch:getComputeEnvironment\n Arguments:\n computeEnvironmentName: batch-mongo-production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getComputeEnvironment.\n", "properties": { @@ -385705,7 +385705,7 @@ } }, "aws:batch/getJobDefinition:getJobDefinition": { - "description": "Data source for managing an AWS Batch Job Definition.\n\n## Example Usage\n\n### Lookup via Arn\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst arn = aws.batch.getJobDefinition({\n arn: \"arn:aws:batch:us-east-1:012345678910:job-definition/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\narn = aws.batch.get_job_definition(arn=\"arn:aws:batch:us-east-1:012345678910:job-definition/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var arn = Aws.Batch.GetJobDefinition.Invoke(new()\n {\n Arn = \"arn:aws:batch:us-east-1:012345678910:job-definition/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\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 := batch.LookupJobDefinition(ctx, \u0026batch.LookupJobDefinitionArgs{\n\t\t\tArn: pulumi.StringRef(\"arn:aws:batch:us-east-1:012345678910:job-definition/example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.BatchFunctions;\nimport com.pulumi.aws.batch.inputs.GetJobDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var arn = BatchFunctions.getJobDefinition(GetJobDefinitionArgs.builder()\n .arn(\"arn:aws:batch:us-east-1:012345678910:job-definition/example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n arn:\n fn::invoke:\n function: aws:batch:getJobDefinition\n arguments:\n arn: arn:aws:batch:us-east-1:012345678910:job-definition/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lookup via Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst name = aws.batch.getJobDefinition({\n name: \"example\",\n revision: 2,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nname = aws.batch.get_job_definition(name=\"example\",\n revision=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var name = Aws.Batch.GetJobDefinition.Invoke(new()\n {\n Name = \"example\",\n Revision = 2,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\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 := batch.LookupJobDefinition(ctx, \u0026batch.LookupJobDefinitionArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t\tRevision: pulumi.IntRef(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.BatchFunctions;\nimport com.pulumi.aws.batch.inputs.GetJobDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var name = BatchFunctions.getJobDefinition(GetJobDefinitionArgs.builder()\n .name(\"example\")\n .revision(2)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n name:\n fn::invoke:\n function: aws:batch:getJobDefinition\n arguments:\n name: example\n revision: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Batch Job Definition.\n\n## Example Usage\n\n### Lookup via Arn\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst arn = aws.batch.getJobDefinition({\n arn: \"arn:aws:batch:us-east-1:012345678910:job-definition/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\narn = aws.batch.get_job_definition(arn=\"arn:aws:batch:us-east-1:012345678910:job-definition/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var arn = Aws.Batch.GetJobDefinition.Invoke(new()\n {\n Arn = \"arn:aws:batch:us-east-1:012345678910:job-definition/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\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 := batch.LookupJobDefinition(ctx, \u0026batch.LookupJobDefinitionArgs{\n\t\t\tArn: pulumi.StringRef(\"arn:aws:batch:us-east-1:012345678910:job-definition/example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.BatchFunctions;\nimport com.pulumi.aws.batch.inputs.GetJobDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var arn = BatchFunctions.getJobDefinition(GetJobDefinitionArgs.builder()\n .arn(\"arn:aws:batch:us-east-1:012345678910:job-definition/example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n arn:\n fn::invoke:\n Function: aws:batch:getJobDefinition\n Arguments:\n arn: arn:aws:batch:us-east-1:012345678910:job-definition/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lookup via Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst name = aws.batch.getJobDefinition({\n name: \"example\",\n revision: 2,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nname = aws.batch.get_job_definition(name=\"example\",\n revision=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var name = Aws.Batch.GetJobDefinition.Invoke(new()\n {\n Name = \"example\",\n Revision = 2,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\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 := batch.LookupJobDefinition(ctx, \u0026batch.LookupJobDefinitionArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t\tRevision: pulumi.IntRef(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.BatchFunctions;\nimport com.pulumi.aws.batch.inputs.GetJobDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var name = BatchFunctions.getJobDefinition(GetJobDefinitionArgs.builder()\n .name(\"example\")\n .revision(2)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n name:\n fn::invoke:\n Function: aws:batch:getJobDefinition\n Arguments:\n name: example\n revision: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getJobDefinition.\n", "properties": { @@ -385814,7 +385814,7 @@ } }, "aws:batch/getJobQueue:getJobQueue": { - "description": "The Batch Job Queue data source allows access to details of a specific\njob queue within AWS Batch.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test-queue = aws.batch.getJobQueue({\n name: \"tf-test-batch-job-queue\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_queue = aws.batch.get_job_queue(name=\"tf-test-batch-job-queue\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test_queue = Aws.Batch.GetJobQueue.Invoke(new()\n {\n Name = \"tf-test-batch-job-queue\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\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 := batch.LookupJobQueue(ctx, \u0026batch.LookupJobQueueArgs{\n\t\t\tName: \"tf-test-batch-job-queue\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.BatchFunctions;\nimport com.pulumi.aws.batch.inputs.GetJobQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test-queue = BatchFunctions.getJobQueue(GetJobQueueArgs.builder()\n .name(\"tf-test-batch-job-queue\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test-queue:\n fn::invoke:\n function: aws:batch:getJobQueue\n arguments:\n name: tf-test-batch-job-queue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The Batch Job Queue data source allows access to details of a specific\njob queue within AWS Batch.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test-queue = aws.batch.getJobQueue({\n name: \"tf-test-batch-job-queue\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_queue = aws.batch.get_job_queue(name=\"tf-test-batch-job-queue\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test_queue = Aws.Batch.GetJobQueue.Invoke(new()\n {\n Name = \"tf-test-batch-job-queue\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\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 := batch.LookupJobQueue(ctx, \u0026batch.LookupJobQueueArgs{\n\t\t\tName: \"tf-test-batch-job-queue\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.BatchFunctions;\nimport com.pulumi.aws.batch.inputs.GetJobQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test-queue = BatchFunctions.getJobQueue(GetJobQueueArgs.builder()\n .name(\"tf-test-batch-job-queue\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test-queue:\n fn::invoke:\n Function: aws:batch:getJobQueue\n Arguments:\n name: tf-test-batch-job-queue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getJobQueue.\n", "properties": { @@ -385908,7 +385908,7 @@ } }, "aws:batch/getSchedulingPolicy:getSchedulingPolicy": { - "description": "The Batch Scheduling Policy data source allows access to details of a specific Scheduling Policy within AWS Batch.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.batch.getSchedulingPolicy({\n arn: \"arn:aws:batch:us-east-1:012345678910:scheduling-policy/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.batch.get_scheduling_policy(arn=\"arn:aws:batch:us-east-1:012345678910:scheduling-policy/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Batch.GetSchedulingPolicy.Invoke(new()\n {\n Arn = \"arn:aws:batch:us-east-1:012345678910:scheduling-policy/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\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 := batch.LookupSchedulingPolicy(ctx, \u0026batch.LookupSchedulingPolicyArgs{\n\t\t\tArn: \"arn:aws:batch:us-east-1:012345678910:scheduling-policy/example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.BatchFunctions;\nimport com.pulumi.aws.batch.inputs.GetSchedulingPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BatchFunctions.getSchedulingPolicy(GetSchedulingPolicyArgs.builder()\n .arn(\"arn:aws:batch:us-east-1:012345678910:scheduling-policy/example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:batch:getSchedulingPolicy\n arguments:\n arn: arn:aws:batch:us-east-1:012345678910:scheduling-policy/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The Batch Scheduling Policy data source allows access to details of a specific Scheduling Policy within AWS Batch.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.batch.getSchedulingPolicy({\n arn: \"arn:aws:batch:us-east-1:012345678910:scheduling-policy/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.batch.get_scheduling_policy(arn=\"arn:aws:batch:us-east-1:012345678910:scheduling-policy/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Batch.GetSchedulingPolicy.Invoke(new()\n {\n Arn = \"arn:aws:batch:us-east-1:012345678910:scheduling-policy/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\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 := batch.LookupSchedulingPolicy(ctx, \u0026batch.LookupSchedulingPolicyArgs{\n\t\t\tArn: \"arn:aws:batch:us-east-1:012345678910:scheduling-policy/example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.batch.BatchFunctions;\nimport com.pulumi.aws.batch.inputs.GetSchedulingPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BatchFunctions.getSchedulingPolicy(GetSchedulingPolicyArgs.builder()\n .arn(\"arn:aws:batch:us-east-1:012345678910:scheduling-policy/example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:batch:getSchedulingPolicy\n Arguments:\n arn: arn:aws:batch:us-east-1:012345678910:scheduling-policy/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSchedulingPolicy.\n", "properties": { @@ -385968,7 +385968,7 @@ } }, "aws:bedrock/getAgentAgentVersions:getAgentAgentVersions": { - "description": "Data source for managing an AWS Amazon BedrockAgent Agent Versions.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.bedrock.getAgentAgentVersions({\n agentId: testAwsBedrockagentAgent.agentId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrock.get_agent_agent_versions(agent_id=test_aws_bedrockagent_agent[\"agentId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Bedrock.GetAgentAgentVersions.Invoke(new()\n {\n AgentId = testAwsBedrockagentAgent.AgentId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\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 := bedrock.GetAgentAgentVersions(ctx, \u0026bedrock.GetAgentAgentVersionsArgs{\n\t\t\tAgentId: testAwsBedrockagentAgent.AgentId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.BedrockFunctions;\nimport com.pulumi.aws.bedrock.inputs.GetAgentAgentVersionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BedrockFunctions.getAgentAgentVersions(GetAgentAgentVersionsArgs.builder()\n .agentId(testAwsBedrockagentAgent.agentId())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:bedrock:getAgentAgentVersions\n arguments:\n agentId: ${testAwsBedrockagentAgent.agentId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Amazon BedrockAgent Agent Versions.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.bedrock.getAgentAgentVersions({\n agentId: testAwsBedrockagentAgent.agentId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrock.get_agent_agent_versions(agent_id=test_aws_bedrockagent_agent[\"agentId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Bedrock.GetAgentAgentVersions.Invoke(new()\n {\n AgentId = testAwsBedrockagentAgent.AgentId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\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 := bedrock.GetAgentAgentVersions(ctx, \u0026bedrock.GetAgentAgentVersionsArgs{\n\t\t\tAgentId: testAwsBedrockagentAgent.AgentId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.BedrockFunctions;\nimport com.pulumi.aws.bedrock.inputs.GetAgentAgentVersionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BedrockFunctions.getAgentAgentVersions(GetAgentAgentVersionsArgs.builder()\n .agentId(testAwsBedrockagentAgent.agentId())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:bedrock:getAgentAgentVersions\n Arguments:\n agentId: ${testAwsBedrockagentAgent.agentId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAgentAgentVersions.\n", "properties": { @@ -386015,7 +386015,7 @@ } }, "aws:bedrock/getCustomModel:getCustomModel": { - "description": "Returns properties of a specific Amazon Bedrock custom model.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.bedrock.getCustomModel({\n modelId: \"arn:aws:bedrock:us-west-2:123456789012:custom-model/amazon.titan-text-express-v1:0:8k/ly16hhi765j4 \",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrock.get_custom_model(model_id=\"arn:aws:bedrock:us-west-2:123456789012:custom-model/amazon.titan-text-express-v1:0:8k/ly16hhi765j4 \")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Bedrock.GetCustomModel.Invoke(new()\n {\n ModelId = \"arn:aws:bedrock:us-west-2:123456789012:custom-model/amazon.titan-text-express-v1:0:8k/ly16hhi765j4 \",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\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 := bedrock.LookupCustomModel(ctx, \u0026bedrock.LookupCustomModelArgs{\n\t\t\tModelId: \"arn:aws:bedrock:us-west-2:123456789012:custom-model/amazon.titan-text-express-v1:0:8k/ly16hhi765j4 \",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.BedrockFunctions;\nimport com.pulumi.aws.bedrock.inputs.GetCustomModelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BedrockFunctions.getCustomModel(GetCustomModelArgs.builder()\n .modelId(\"arn:aws:bedrock:us-west-2:123456789012:custom-model/amazon.titan-text-express-v1:0:8k/ly16hhi765j4 \")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:bedrock:getCustomModel\n arguments:\n modelId: 'arn:aws:bedrock:us-west-2:123456789012:custom-model/amazon.titan-text-express-v1:0:8k/ly16hhi765j4 '\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Returns properties of a specific Amazon Bedrock custom model.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.bedrock.getCustomModel({\n modelId: \"arn:aws:bedrock:us-west-2:123456789012:custom-model/amazon.titan-text-express-v1:0:8k/ly16hhi765j4 \",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrock.get_custom_model(model_id=\"arn:aws:bedrock:us-west-2:123456789012:custom-model/amazon.titan-text-express-v1:0:8k/ly16hhi765j4 \")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Bedrock.GetCustomModel.Invoke(new()\n {\n ModelId = \"arn:aws:bedrock:us-west-2:123456789012:custom-model/amazon.titan-text-express-v1:0:8k/ly16hhi765j4 \",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\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 := bedrock.LookupCustomModel(ctx, \u0026bedrock.LookupCustomModelArgs{\n\t\t\tModelId: \"arn:aws:bedrock:us-west-2:123456789012:custom-model/amazon.titan-text-express-v1:0:8k/ly16hhi765j4 \",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.BedrockFunctions;\nimport com.pulumi.aws.bedrock.inputs.GetCustomModelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BedrockFunctions.getCustomModel(GetCustomModelArgs.builder()\n .modelId(\"arn:aws:bedrock:us-west-2:123456789012:custom-model/amazon.titan-text-express-v1:0:8k/ly16hhi765j4 \")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:bedrock:getCustomModel\n Arguments:\n modelId: 'arn:aws:bedrock:us-west-2:123456789012:custom-model/amazon.titan-text-express-v1:0:8k/ly16hhi765j4 '\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCustomModel.\n", "properties": { @@ -386146,7 +386146,7 @@ } }, "aws:bedrock/getCustomModels:getCustomModels": { - "description": "Returns a list of Amazon Bedrock custom models.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.bedrock.getCustomModels({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrock.get_custom_models()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Bedrock.GetCustomModels.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\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 := bedrock.GetCustomModels(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.BedrockFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BedrockFunctions.getCustomModels();\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:bedrock:getCustomModels\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Returns a list of Amazon Bedrock custom models.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.bedrock.getCustomModels({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrock.get_custom_models()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Bedrock.GetCustomModels.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\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 := bedrock.GetCustomModels(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.BedrockFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BedrockFunctions.getCustomModels();\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:bedrock:getCustomModels\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getCustomModels.\n", "properties": { @@ -386169,7 +386169,7 @@ } }, "aws:bedrock/getInferenceProfile:getInferenceProfile": { - "description": "Data source for managing an AWS Bedrock Inference Profile.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.bedrock.getInferenceProfiles({});\nconst testGetInferenceProfile = test.then(test =\u003e aws.bedrock.getInferenceProfile({\n inferenceProfileId: test.inferenceProfileSummaries?.[0]?.inferenceProfileId,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrock.get_inference_profiles()\ntest_get_inference_profile = aws.bedrock.get_inference_profile(inference_profile_id=test.inference_profile_summaries[0].inference_profile_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Bedrock.GetInferenceProfiles.Invoke();\n\n var testGetInferenceProfile = Aws.Bedrock.GetInferenceProfile.Invoke(new()\n {\n InferenceProfileId = test.Apply(getInferenceProfilesResult =\u003e getInferenceProfilesResult.InferenceProfileSummaries[0]?.InferenceProfileId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := bedrock.GetInferenceProfiles(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bedrock.GetInferenceProfile(ctx, \u0026bedrock.GetInferenceProfileArgs{\n\t\t\tInferenceProfileId: test.InferenceProfileSummaries[0].InferenceProfileId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.BedrockFunctions;\nimport com.pulumi.aws.bedrock.inputs.GetInferenceProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BedrockFunctions.getInferenceProfiles();\n\n final var testGetInferenceProfile = BedrockFunctions.getInferenceProfile(GetInferenceProfileArgs.builder()\n .inferenceProfileId(test.applyValue(getInferenceProfilesResult -\u003e getInferenceProfilesResult.inferenceProfileSummaries()[0].inferenceProfileId()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:bedrock:getInferenceProfiles\n arguments: {}\n testGetInferenceProfile:\n fn::invoke:\n function: aws:bedrock:getInferenceProfile\n arguments:\n inferenceProfileId: ${test.inferenceProfileSummaries[0].inferenceProfileId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Bedrock Inference Profile.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.bedrock.getInferenceProfiles({});\nconst testGetInferenceProfile = test.then(test =\u003e aws.bedrock.getInferenceProfile({\n inferenceProfileId: test.inferenceProfileSummaries?.[0]?.inferenceProfileId,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrock.get_inference_profiles()\ntest_get_inference_profile = aws.bedrock.get_inference_profile(inference_profile_id=test.inference_profile_summaries[0].inference_profile_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Bedrock.GetInferenceProfiles.Invoke();\n\n var testGetInferenceProfile = Aws.Bedrock.GetInferenceProfile.Invoke(new()\n {\n InferenceProfileId = test.Apply(getInferenceProfilesResult =\u003e getInferenceProfilesResult.InferenceProfileSummaries[0]?.InferenceProfileId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := bedrock.GetInferenceProfiles(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bedrock.GetInferenceProfile(ctx, \u0026bedrock.GetInferenceProfileArgs{\n\t\t\tInferenceProfileId: test.InferenceProfileSummaries[0].InferenceProfileId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.BedrockFunctions;\nimport com.pulumi.aws.bedrock.inputs.GetInferenceProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BedrockFunctions.getInferenceProfiles();\n\n final var testGetInferenceProfile = BedrockFunctions.getInferenceProfile(GetInferenceProfileArgs.builder()\n .inferenceProfileId(test.applyValue(getInferenceProfilesResult -\u003e getInferenceProfilesResult.inferenceProfileSummaries()[0].inferenceProfileId()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:bedrock:getInferenceProfiles\n Arguments: {}\n testGetInferenceProfile:\n fn::invoke:\n Function: aws:bedrock:getInferenceProfile\n Arguments:\n inferenceProfileId: ${test.inferenceProfileSummaries[0].inferenceProfileId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInferenceProfile.\n", "properties": { @@ -386245,7 +386245,7 @@ } }, "aws:bedrock/getInferenceProfiles:getInferenceProfiles": { - "description": "Data source for managing AWS Bedrock AWS Bedrock Inference Profiles.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.bedrock.getInferenceProfiles({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrock.get_inference_profiles()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Bedrock.GetInferenceProfiles.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\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 := bedrock.GetInferenceProfiles(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.BedrockFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BedrockFunctions.getInferenceProfiles();\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:bedrock:getInferenceProfiles\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing AWS Bedrock AWS Bedrock Inference Profiles.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.bedrock.getInferenceProfiles({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrock.get_inference_profiles()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Bedrock.GetInferenceProfiles.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\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 := bedrock.GetInferenceProfiles(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.BedrockFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BedrockFunctions.getInferenceProfiles();\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:bedrock:getInferenceProfiles\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getInferenceProfiles.\n", "properties": { @@ -386269,7 +386269,7 @@ } }, "aws:bedrockfoundation/getModel:getModel": { - "description": "Data source for managing an AWS Bedrock Foundation Model.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.bedrockfoundation.getModels({});\nconst testGetModel = test.then(test =\u003e aws.bedrockfoundation.getModel({\n modelId: test.modelSummaries?.[0]?.modelId,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrockfoundation.get_models()\ntest_get_model = aws.bedrockfoundation.get_model(model_id=test.model_summaries[0].model_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.BedrockFoundation.GetModels.Invoke();\n\n var testGetModel = Aws.BedrockFoundation.GetModel.Invoke(new()\n {\n ModelId = test.Apply(getModelsResult =\u003e getModelsResult.ModelSummaries[0]?.ModelId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrockfoundation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := bedrockfoundation.GetModels(ctx, \u0026bedrockfoundation.GetModelsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bedrockfoundation.GetModel(ctx, \u0026bedrockfoundation.GetModelArgs{\n\t\t\tModelId: test.ModelSummaries[0].ModelId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrockfoundation.BedrockfoundationFunctions;\nimport com.pulumi.aws.bedrockfoundation.inputs.GetModelsArgs;\nimport com.pulumi.aws.bedrockfoundation.inputs.GetModelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BedrockfoundationFunctions.getModels();\n\n final var testGetModel = BedrockfoundationFunctions.getModel(GetModelArgs.builder()\n .modelId(test.applyValue(getModelsResult -\u003e getModelsResult.modelSummaries()[0].modelId()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:bedrockfoundation:getModels\n arguments: {}\n testGetModel:\n fn::invoke:\n function: aws:bedrockfoundation:getModel\n arguments:\n modelId: ${test.modelSummaries[0].modelId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Bedrock Foundation Model.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.bedrockfoundation.getModels({});\nconst testGetModel = test.then(test =\u003e aws.bedrockfoundation.getModel({\n modelId: test.modelSummaries?.[0]?.modelId,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrockfoundation.get_models()\ntest_get_model = aws.bedrockfoundation.get_model(model_id=test.model_summaries[0].model_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.BedrockFoundation.GetModels.Invoke();\n\n var testGetModel = Aws.BedrockFoundation.GetModel.Invoke(new()\n {\n ModelId = test.Apply(getModelsResult =\u003e getModelsResult.ModelSummaries[0]?.ModelId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrockfoundation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := bedrockfoundation.GetModels(ctx, \u0026bedrockfoundation.GetModelsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bedrockfoundation.GetModel(ctx, \u0026bedrockfoundation.GetModelArgs{\n\t\t\tModelId: test.ModelSummaries[0].ModelId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrockfoundation.BedrockfoundationFunctions;\nimport com.pulumi.aws.bedrockfoundation.inputs.GetModelsArgs;\nimport com.pulumi.aws.bedrockfoundation.inputs.GetModelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BedrockfoundationFunctions.getModels();\n\n final var testGetModel = BedrockfoundationFunctions.getModel(GetModelArgs.builder()\n .modelId(test.applyValue(getModelsResult -\u003e getModelsResult.modelSummaries()[0].modelId()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:bedrockfoundation:getModels\n Arguments: {}\n testGetModel:\n fn::invoke:\n Function: aws:bedrockfoundation:getModel\n Arguments:\n modelId: ${test.modelSummaries[0].modelId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getModel.\n", "properties": { @@ -386353,7 +386353,7 @@ } }, "aws:bedrockfoundation/getModels:getModels": { - "description": "Data source for managing AWS Bedrock Foundation Models.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.bedrockfoundation.getModels({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrockfoundation.get_models()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.BedrockFoundation.GetModels.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrockfoundation\"\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 := bedrockfoundation.GetModels(ctx, \u0026bedrockfoundation.GetModelsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrockfoundation.BedrockfoundationFunctions;\nimport com.pulumi.aws.bedrockfoundation.inputs.GetModelsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BedrockfoundationFunctions.getModels();\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:bedrockfoundation:getModels\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by Inference Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.bedrockfoundation.getModels({\n byInferenceType: \"ON_DEMAND\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrockfoundation.get_models(by_inference_type=\"ON_DEMAND\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.BedrockFoundation.GetModels.Invoke(new()\n {\n ByInferenceType = \"ON_DEMAND\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrockfoundation\"\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 := bedrockfoundation.GetModels(ctx, \u0026bedrockfoundation.GetModelsArgs{\n\t\t\tByInferenceType: pulumi.StringRef(\"ON_DEMAND\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrockfoundation.BedrockfoundationFunctions;\nimport com.pulumi.aws.bedrockfoundation.inputs.GetModelsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BedrockfoundationFunctions.getModels(GetModelsArgs.builder()\n .byInferenceType(\"ON_DEMAND\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:bedrockfoundation:getModels\n arguments:\n byInferenceType: ON_DEMAND\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing AWS Bedrock Foundation Models.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.bedrockfoundation.getModels({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrockfoundation.get_models()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.BedrockFoundation.GetModels.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrockfoundation\"\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 := bedrockfoundation.GetModels(ctx, \u0026bedrockfoundation.GetModelsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrockfoundation.BedrockfoundationFunctions;\nimport com.pulumi.aws.bedrockfoundation.inputs.GetModelsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BedrockfoundationFunctions.getModels();\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:bedrockfoundation:getModels\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by Inference Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.bedrockfoundation.getModels({\n byInferenceType: \"ON_DEMAND\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrockfoundation.get_models(by_inference_type=\"ON_DEMAND\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.BedrockFoundation.GetModels.Invoke(new()\n {\n ByInferenceType = \"ON_DEMAND\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrockfoundation\"\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 := bedrockfoundation.GetModels(ctx, \u0026bedrockfoundation.GetModelsArgs{\n\t\t\tByInferenceType: pulumi.StringRef(\"ON_DEMAND\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrockfoundation.BedrockfoundationFunctions;\nimport com.pulumi.aws.bedrockfoundation.inputs.GetModelsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BedrockfoundationFunctions.getModels(GetModelsArgs.builder()\n .byInferenceType(\"ON_DEMAND\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:bedrockfoundation:getModels\n Arguments:\n byInferenceType: ON_DEMAND\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getModels.\n", "properties": { @@ -386411,7 +386411,7 @@ } }, "aws:budgets/getBudget:getBudget": { - "description": "Data source for managing an AWS Web Services Budgets Budget.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.budgets.getBudget({\n name: testAwsBudgetsBudget.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.budgets.get_budget(name=test_aws_budgets_budget[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Budgets.GetBudget.Invoke(new()\n {\n Name = testAwsBudgetsBudget.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\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 := budgets.LookupBudget(ctx, \u0026budgets.LookupBudgetArgs{\n\t\t\tName: testAwsBudgetsBudget.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.budgets.BudgetsFunctions;\nimport com.pulumi.aws.budgets.inputs.GetBudgetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BudgetsFunctions.getBudget(GetBudgetArgs.builder()\n .name(testAwsBudgetsBudget.name())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:budgets:getBudget\n arguments:\n name: ${testAwsBudgetsBudget.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Web Services Budgets Budget.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.budgets.getBudget({\n name: testAwsBudgetsBudget.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.budgets.get_budget(name=test_aws_budgets_budget[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Budgets.GetBudget.Invoke(new()\n {\n Name = testAwsBudgetsBudget.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\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 := budgets.LookupBudget(ctx, \u0026budgets.LookupBudgetArgs{\n\t\t\tName: testAwsBudgetsBudget.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.budgets.BudgetsFunctions;\nimport com.pulumi.aws.budgets.inputs.GetBudgetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BudgetsFunctions.getBudget(GetBudgetArgs.builder()\n .name(testAwsBudgetsBudget.name())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:budgets:getBudget\n Arguments:\n name: ${testAwsBudgetsBudget.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBudget.\n", "properties": { @@ -386559,7 +386559,7 @@ } }, "aws:chatbot/getSlackWorkspace:getSlackWorkspace": { - "description": "Data source for managing an AWS Chatbot Slack Workspace.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.chatbot.getSlackWorkspace({\n slackTeamName: \"abc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.chatbot.get_slack_workspace(slack_team_name=\"abc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Chatbot.GetSlackWorkspace.Invoke(new()\n {\n SlackTeamName = \"abc\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chatbot\"\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 := chatbot.GetSlackWorkspace(ctx, \u0026chatbot.GetSlackWorkspaceArgs{\n\t\t\tSlackTeamName: \"abc\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chatbot.ChatbotFunctions;\nimport com.pulumi.aws.chatbot.inputs.GetSlackWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ChatbotFunctions.getSlackWorkspace(GetSlackWorkspaceArgs.builder()\n .slackTeamName(\"abc\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:chatbot:getSlackWorkspace\n arguments:\n slackTeamName: abc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Chatbot Slack Workspace.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.chatbot.getSlackWorkspace({\n slackTeamName: \"abc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.chatbot.get_slack_workspace(slack_team_name=\"abc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Chatbot.GetSlackWorkspace.Invoke(new()\n {\n SlackTeamName = \"abc\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chatbot\"\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 := chatbot.GetSlackWorkspace(ctx, \u0026chatbot.GetSlackWorkspaceArgs{\n\t\t\tSlackTeamName: \"abc\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chatbot.ChatbotFunctions;\nimport com.pulumi.aws.chatbot.inputs.GetSlackWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ChatbotFunctions.getSlackWorkspace(GetSlackWorkspaceArgs.builder()\n .slackTeamName(\"abc\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:chatbot:getSlackWorkspace\n Arguments:\n slackTeamName: abc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSlackWorkspace.\n", "properties": { @@ -386597,7 +386597,7 @@ } }, "aws:cloudcontrol/getResource:getResource": { - "description": "Provides details for a Cloud Control API Resource. The reading of these resources is proxied through Cloud Control API handlers to the backend service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudcontrol.getResource({\n identifier: \"example\",\n typeName: \"AWS::ECS::Cluster\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudcontrol.get_resource(identifier=\"example\",\n type_name=\"AWS::ECS::Cluster\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudControl.GetResource.Invoke(new()\n {\n Identifier = \"example\",\n TypeName = \"AWS::ECS::Cluster\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudcontrol\"\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 := cloudcontrol.LookupResource(ctx, \u0026cloudcontrol.LookupResourceArgs{\n\t\t\tIdentifier: \"example\",\n\t\t\tTypeName: \"AWS::ECS::Cluster\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudcontrol.CloudcontrolFunctions;\nimport com.pulumi.aws.cloudcontrol.inputs.GetResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudcontrolFunctions.getResource(GetResourceArgs.builder()\n .identifier(\"example\")\n .typeName(\"AWS::ECS::Cluster\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cloudcontrol:getResource\n arguments:\n identifier: example\n typeName: AWS::ECS::Cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details for a Cloud Control API Resource. The reading of these resources is proxied through Cloud Control API handlers to the backend service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudcontrol.getResource({\n identifier: \"example\",\n typeName: \"AWS::ECS::Cluster\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudcontrol.get_resource(identifier=\"example\",\n type_name=\"AWS::ECS::Cluster\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudControl.GetResource.Invoke(new()\n {\n Identifier = \"example\",\n TypeName = \"AWS::ECS::Cluster\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudcontrol\"\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 := cloudcontrol.LookupResource(ctx, \u0026cloudcontrol.LookupResourceArgs{\n\t\t\tIdentifier: \"example\",\n\t\t\tTypeName: \"AWS::ECS::Cluster\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudcontrol.CloudcontrolFunctions;\nimport com.pulumi.aws.cloudcontrol.inputs.GetResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudcontrolFunctions.getResource(GetResourceArgs.builder()\n .identifier(\"example\")\n .typeName(\"AWS::ECS::Cluster\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudcontrol:getResource\n Arguments:\n identifier: example\n typeName: AWS::ECS::Cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResource.\n", "properties": { @@ -386658,7 +386658,7 @@ } }, "aws:cloudformation/getCloudFormationType:getCloudFormationType": { - "description": "Provides details about a CloudFormation Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudformation.getCloudFormationType({\n type: \"RESOURCE\",\n typeName: \"AWS::Athena::WorkGroup\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudformation.get_cloud_formation_type(type=\"RESOURCE\",\n type_name=\"AWS::Athena::WorkGroup\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFormation.GetCloudFormationType.Invoke(new()\n {\n Type = \"RESOURCE\",\n TypeName = \"AWS::Athena::WorkGroup\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\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 := cloudformation.LookupCloudFormationType(ctx, \u0026cloudformation.LookupCloudFormationTypeArgs{\n\t\t\tType: pulumi.StringRef(\"RESOURCE\"),\n\t\t\tTypeName: pulumi.StringRef(\"AWS::Athena::WorkGroup\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.CloudformationFunctions;\nimport com.pulumi.aws.cloudformation.inputs.GetCloudFormationTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudformationFunctions.getCloudFormationType(GetCloudFormationTypeArgs.builder()\n .type(\"RESOURCE\")\n .typeName(\"AWS::Athena::WorkGroup\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cloudformation:getCloudFormationType\n arguments:\n type: RESOURCE\n typeName: AWS::Athena::WorkGroup\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a CloudFormation Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudformation.getCloudFormationType({\n type: \"RESOURCE\",\n typeName: \"AWS::Athena::WorkGroup\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudformation.get_cloud_formation_type(type=\"RESOURCE\",\n type_name=\"AWS::Athena::WorkGroup\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFormation.GetCloudFormationType.Invoke(new()\n {\n Type = \"RESOURCE\",\n TypeName = \"AWS::Athena::WorkGroup\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\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 := cloudformation.LookupCloudFormationType(ctx, \u0026cloudformation.LookupCloudFormationTypeArgs{\n\t\t\tType: pulumi.StringRef(\"RESOURCE\"),\n\t\t\tTypeName: pulumi.StringRef(\"AWS::Athena::WorkGroup\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.CloudformationFunctions;\nimport com.pulumi.aws.cloudformation.inputs.GetCloudFormationTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudformationFunctions.getCloudFormationType(GetCloudFormationTypeArgs.builder()\n .type(\"RESOURCE\")\n .typeName(\"AWS::Athena::WorkGroup\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudformation:getCloudFormationType\n Arguments:\n type: RESOURCE\n typeName: AWS::Athena::WorkGroup\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCloudFormationType.\n", "properties": { @@ -386773,7 +386773,7 @@ } }, "aws:cloudformation/getExport:getExport": { - "description": "The CloudFormation Export data source allows access to stack\nexports specified in the [Output](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) section of the Cloudformation Template using the optional Export Property.\n\n \u003e Note: If you are trying to use a value from a Cloudformation Stack in the same deployment please use normal interpolation or Cloudformation Outputs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst subnetId = aws.cloudformation.getExport({\n name: \"mySubnetIdExportName\",\n});\nconst web = new aws.ec2.Instance(\"web\", {\n ami: \"ami-abb07bcb\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: subnetId.then(subnetId =\u003e subnetId.value),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsubnet_id = aws.cloudformation.get_export(name=\"mySubnetIdExportName\")\nweb = aws.ec2.Instance(\"web\",\n ami=\"ami-abb07bcb\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=subnet_id.value)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subnetId = Aws.CloudFormation.GetExport.Invoke(new()\n {\n Name = \"mySubnetIdExportName\",\n });\n\n var web = new Aws.Ec2.Instance(\"web\", new()\n {\n Ami = \"ami-abb07bcb\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = subnetId.Apply(getExportResult =\u003e getExportResult.Value),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsubnetId, err := cloudformation.GetExport(ctx, \u0026cloudformation.GetExportArgs{\n\t\t\tName: \"mySubnetIdExportName\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"web\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-abb07bcb\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: pulumi.String(subnetId.Value),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.CloudformationFunctions;\nimport com.pulumi.aws.cloudformation.inputs.GetExportArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var subnetId = CloudformationFunctions.getExport(GetExportArgs.builder()\n .name(\"mySubnetIdExportName\")\n .build());\n\n var web = new Instance(\"web\", InstanceArgs.builder()\n .ami(\"ami-abb07bcb\")\n .instanceType(\"t2.micro\")\n .subnetId(subnetId.applyValue(getExportResult -\u003e getExportResult.value()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: aws:ec2:Instance\n properties:\n ami: ami-abb07bcb\n instanceType: t2.micro\n subnetId: ${subnetId.value}\nvariables:\n subnetId:\n fn::invoke:\n function: aws:cloudformation:getExport\n arguments:\n name: mySubnetIdExportName\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The CloudFormation Export data source allows access to stack\nexports specified in the [Output](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) section of the Cloudformation Template using the optional Export Property.\n\n \u003e Note: If you are trying to use a value from a Cloudformation Stack in the same deployment please use normal interpolation or Cloudformation Outputs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst subnetId = aws.cloudformation.getExport({\n name: \"mySubnetIdExportName\",\n});\nconst web = new aws.ec2.Instance(\"web\", {\n ami: \"ami-abb07bcb\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: subnetId.then(subnetId =\u003e subnetId.value),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsubnet_id = aws.cloudformation.get_export(name=\"mySubnetIdExportName\")\nweb = aws.ec2.Instance(\"web\",\n ami=\"ami-abb07bcb\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=subnet_id.value)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subnetId = Aws.CloudFormation.GetExport.Invoke(new()\n {\n Name = \"mySubnetIdExportName\",\n });\n\n var web = new Aws.Ec2.Instance(\"web\", new()\n {\n Ami = \"ami-abb07bcb\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = subnetId.Apply(getExportResult =\u003e getExportResult.Value),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsubnetId, err := cloudformation.GetExport(ctx, \u0026cloudformation.GetExportArgs{\n\t\t\tName: \"mySubnetIdExportName\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"web\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-abb07bcb\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: pulumi.String(subnetId.Value),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.CloudformationFunctions;\nimport com.pulumi.aws.cloudformation.inputs.GetExportArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var subnetId = CloudformationFunctions.getExport(GetExportArgs.builder()\n .name(\"mySubnetIdExportName\")\n .build());\n\n var web = new Instance(\"web\", InstanceArgs.builder()\n .ami(\"ami-abb07bcb\")\n .instanceType(\"t2.micro\")\n .subnetId(subnetId.applyValue(getExportResult -\u003e getExportResult.value()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: aws:ec2:Instance\n properties:\n ami: ami-abb07bcb\n instanceType: t2.micro\n subnetId: ${subnetId.value}\nvariables:\n subnetId:\n fn::invoke:\n Function: aws:cloudformation:getExport\n Arguments:\n name: mySubnetIdExportName\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getExport.\n", "properties": { @@ -386816,7 +386816,7 @@ } }, "aws:cloudformation/getStack:getStack": { - "description": "The CloudFormation Stack data source allows access to stack\noutputs and other useful data including the template body.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst network = aws.cloudformation.getStack({\n name: \"my-network-stack\",\n});\nconst web = new aws.ec2.Instance(\"web\", {\n ami: \"ami-abb07bcb\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: network.then(network =\u003e network.outputs?.SubnetId),\n tags: {\n Name: \"HelloWorld\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nnetwork = aws.cloudformation.get_stack(name=\"my-network-stack\")\nweb = aws.ec2.Instance(\"web\",\n ami=\"ami-abb07bcb\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=network.outputs[\"SubnetId\"],\n tags={\n \"Name\": \"HelloWorld\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var network = Aws.CloudFormation.GetStack.Invoke(new()\n {\n Name = \"my-network-stack\",\n });\n\n var web = new Aws.Ec2.Instance(\"web\", new()\n {\n Ami = \"ami-abb07bcb\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = network.Apply(getStackResult =\u003e getStackResult.Outputs?.SubnetId),\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnetwork, err := cloudformation.LookupStack(ctx, \u0026cloudformation.LookupStackArgs{\n\t\t\tName: \"my-network-stack\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"web\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-abb07bcb\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: pulumi.String(network.Outputs.SubnetId),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.CloudformationFunctions;\nimport com.pulumi.aws.cloudformation.inputs.GetStackArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var network = CloudformationFunctions.getStack(GetStackArgs.builder()\n .name(\"my-network-stack\")\n .build());\n\n var web = new Instance(\"web\", InstanceArgs.builder()\n .ami(\"ami-abb07bcb\")\n .instanceType(\"t2.micro\")\n .subnetId(network.applyValue(getStackResult -\u003e getStackResult.outputs().SubnetId()))\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: aws:ec2:Instance\n properties:\n ami: ami-abb07bcb\n instanceType: t2.micro\n subnetId: ${network.outputs.SubnetId}\n tags:\n Name: HelloWorld\nvariables:\n network:\n fn::invoke:\n function: aws:cloudformation:getStack\n arguments:\n name: my-network-stack\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The CloudFormation Stack data source allows access to stack\noutputs and other useful data including the template body.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst network = aws.cloudformation.getStack({\n name: \"my-network-stack\",\n});\nconst web = new aws.ec2.Instance(\"web\", {\n ami: \"ami-abb07bcb\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: network.then(network =\u003e network.outputs?.SubnetId),\n tags: {\n Name: \"HelloWorld\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nnetwork = aws.cloudformation.get_stack(name=\"my-network-stack\")\nweb = aws.ec2.Instance(\"web\",\n ami=\"ami-abb07bcb\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=network.outputs[\"SubnetId\"],\n tags={\n \"Name\": \"HelloWorld\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var network = Aws.CloudFormation.GetStack.Invoke(new()\n {\n Name = \"my-network-stack\",\n });\n\n var web = new Aws.Ec2.Instance(\"web\", new()\n {\n Ami = \"ami-abb07bcb\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = network.Apply(getStackResult =\u003e getStackResult.Outputs?.SubnetId),\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnetwork, err := cloudformation.LookupStack(ctx, \u0026cloudformation.LookupStackArgs{\n\t\t\tName: \"my-network-stack\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"web\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-abb07bcb\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: pulumi.String(network.Outputs.SubnetId),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.CloudformationFunctions;\nimport com.pulumi.aws.cloudformation.inputs.GetStackArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var network = CloudformationFunctions.getStack(GetStackArgs.builder()\n .name(\"my-network-stack\")\n .build());\n\n var web = new Instance(\"web\", InstanceArgs.builder()\n .ami(\"ami-abb07bcb\")\n .instanceType(\"t2.micro\")\n .subnetId(network.applyValue(getStackResult -\u003e getStackResult.outputs().SubnetId()))\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: aws:ec2:Instance\n properties:\n ami: ami-abb07bcb\n instanceType: t2.micro\n subnetId: ${network.outputs.SubnetId}\n tags:\n Name: HelloWorld\nvariables:\n network:\n fn::invoke:\n Function: aws:cloudformation:getStack\n Arguments:\n name: my-network-stack\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getStack.\n", "properties": { @@ -386921,7 +386921,7 @@ } }, "aws:cloudfront/getCachePolicy:getCachePolicy": { - "description": "Use this data source to retrieve information about a CloudFront cache policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getCachePolicy({\n name: \"example-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_cache_policy(name=\"example-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetCachePolicy.Invoke(new()\n {\n Name = \"example-policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupCachePolicy(ctx, \u0026cloudfront.LookupCachePolicyArgs{\n\t\t\tName: pulumi.StringRef(\"example-policy\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetCachePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getCachePolicy(GetCachePolicyArgs.builder()\n .name(\"example-policy\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cloudfront:getCachePolicy\n arguments:\n name: example-policy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS-Managed Policies\n\nAWS managed cache policy names are prefixed with `Managed-`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getCachePolicy({\n name: \"Managed-CachingOptimized\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_cache_policy(name=\"Managed-CachingOptimized\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetCachePolicy.Invoke(new()\n {\n Name = \"Managed-CachingOptimized\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupCachePolicy(ctx, \u0026cloudfront.LookupCachePolicyArgs{\n\t\t\tName: pulumi.StringRef(\"Managed-CachingOptimized\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetCachePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getCachePolicy(GetCachePolicyArgs.builder()\n .name(\"Managed-CachingOptimized\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cloudfront:getCachePolicy\n arguments:\n name: Managed-CachingOptimized\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a CloudFront cache policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getCachePolicy({\n name: \"example-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_cache_policy(name=\"example-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetCachePolicy.Invoke(new()\n {\n Name = \"example-policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupCachePolicy(ctx, \u0026cloudfront.LookupCachePolicyArgs{\n\t\t\tName: pulumi.StringRef(\"example-policy\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetCachePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getCachePolicy(GetCachePolicyArgs.builder()\n .name(\"example-policy\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudfront:getCachePolicy\n Arguments:\n name: example-policy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS-Managed Policies\n\nAWS managed cache policy names are prefixed with `Managed-`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getCachePolicy({\n name: \"Managed-CachingOptimized\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_cache_policy(name=\"Managed-CachingOptimized\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetCachePolicy.Invoke(new()\n {\n Name = \"Managed-CachingOptimized\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupCachePolicy(ctx, \u0026cloudfront.LookupCachePolicyArgs{\n\t\t\tName: pulumi.StringRef(\"Managed-CachingOptimized\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetCachePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getCachePolicy(GetCachePolicyArgs.builder()\n .name(\"Managed-CachingOptimized\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudfront:getCachePolicy\n Arguments:\n name: Managed-CachingOptimized\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCachePolicy.\n", "properties": { @@ -386985,7 +386985,7 @@ } }, "aws:cloudfront/getDistribution:getDistribution": { - "description": "Use this data source to retrieve information about a CloudFront distribution.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.cloudfront.getDistribution({\n id: \"EDFDVBD632BHDS5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudfront.get_distribution(id=\"EDFDVBD632BHDS5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.CloudFront.GetDistribution.Invoke(new()\n {\n Id = \"EDFDVBD632BHDS5\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupDistribution(ctx, \u0026cloudfront.LookupDistributionArgs{\n\t\t\tId: \"EDFDVBD632BHDS5\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetDistributionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = CloudfrontFunctions.getDistribution(GetDistributionArgs.builder()\n .id(\"EDFDVBD632BHDS5\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:cloudfront:getDistribution\n arguments:\n id: EDFDVBD632BHDS5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a CloudFront distribution.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.cloudfront.getDistribution({\n id: \"EDFDVBD632BHDS5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudfront.get_distribution(id=\"EDFDVBD632BHDS5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.CloudFront.GetDistribution.Invoke(new()\n {\n Id = \"EDFDVBD632BHDS5\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupDistribution(ctx, \u0026cloudfront.LookupDistributionArgs{\n\t\t\tId: \"EDFDVBD632BHDS5\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetDistributionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = CloudfrontFunctions.getDistribution(GetDistributionArgs.builder()\n .id(\"EDFDVBD632BHDS5\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:cloudfront:getDistribution\n Arguments:\n id: EDFDVBD632BHDS5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDistribution.\n", "properties": { @@ -387079,7 +387079,7 @@ } }, "aws:cloudfront/getFunction:getFunction": { - "description": "Provides information about a CloudFront Function.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst functionName = config.require(\"functionName\");\nconst existing = aws.cloudfront.getFunction({\n name: functionName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nfunction_name = config.require(\"functionName\")\nexisting = aws.cloudfront.get_function(name=function_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var functionName = config.Require(\"functionName\");\n var existing = Aws.CloudFront.GetFunction.Invoke(new()\n {\n Name = functionName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tfunctionName := cfg.Require(\"functionName\")\n\t\t_, err := cloudfront.LookupFunction(ctx, \u0026cloudfront.LookupFunctionArgs{\n\t\t\tName: functionName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetFunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var functionName = config.get(\"functionName\");\n final var existing = CloudfrontFunctions.getFunction(GetFunctionArgs.builder()\n .name(functionName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n functionName:\n type: string\nvariables:\n existing:\n fn::invoke:\n function: aws:cloudfront:getFunction\n arguments:\n name: ${functionName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a CloudFront Function.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst functionName = config.require(\"functionName\");\nconst existing = aws.cloudfront.getFunction({\n name: functionName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nfunction_name = config.require(\"functionName\")\nexisting = aws.cloudfront.get_function(name=function_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var functionName = config.Require(\"functionName\");\n var existing = Aws.CloudFront.GetFunction.Invoke(new()\n {\n Name = functionName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tfunctionName := cfg.Require(\"functionName\")\n\t\t_, err := cloudfront.LookupFunction(ctx, \u0026cloudfront.LookupFunctionArgs{\n\t\t\tName: functionName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetFunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var functionName = config.get(\"functionName\");\n final var existing = CloudfrontFunctions.getFunction(GetFunctionArgs.builder()\n .name(functionName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n functionName:\n type: string\nvariables:\n existing:\n fn::invoke:\n Function: aws:cloudfront:getFunction\n Arguments:\n name: ${functionName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getFunction.\n", "properties": { @@ -387164,7 +387164,7 @@ } }, "aws:cloudfront/getLogDeliveryCanonicalUserId:getLogDeliveryCanonicalUserId": { - "description": "The CloudFront Log Delivery Canonical User ID data source allows access to the [canonical user ID](http://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) of the AWS `awslogsdelivery` account for CloudFront bucket logging.\nSee the [Amazon CloudFront Developer Guide](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.s3.getCanonicalUserId({});\nconst example = aws.cloudfront.getLogDeliveryCanonicalUserId({});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketOwnershipControls = new aws.s3.BucketOwnershipControls(\"example\", {\n bucket: exampleBucketV2.id,\n rule: {\n objectOwnership: \"BucketOwnerPreferred\",\n },\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: exampleBucketV2.id,\n accessControlPolicy: {\n grants: [{\n grantee: {\n id: example.then(example =\u003e example.id),\n type: \"CanonicalUser\",\n },\n permission: \"FULL_CONTROL\",\n }],\n owner: {\n id: current.then(current =\u003e current.id),\n },\n },\n}, {\n dependsOn: [exampleBucketOwnershipControls],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.s3.get_canonical_user_id()\nexample = aws.cloudfront.get_log_delivery_canonical_user_id()\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_ownership_controls = aws.s3.BucketOwnershipControls(\"example\",\n bucket=example_bucket_v2.id,\n rule={\n \"object_ownership\": \"BucketOwnerPreferred\",\n })\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example_bucket_v2.id,\n access_control_policy={\n \"grants\": [{\n \"grantee\": {\n \"id\": example.id,\n \"type\": \"CanonicalUser\",\n },\n \"permission\": \"FULL_CONTROL\",\n }],\n \"owner\": {\n \"id\": current.id,\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_bucket_ownership_controls]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.S3.GetCanonicalUserId.Invoke();\n\n var example = Aws.CloudFront.GetLogDeliveryCanonicalUserId.Invoke();\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketOwnershipControls = new Aws.S3.BucketOwnershipControls(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Rule = new Aws.S3.Inputs.BucketOwnershipControlsRuleArgs\n {\n ObjectOwnership = \"BucketOwnerPreferred\",\n },\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n AccessControlPolicy = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyArgs\n {\n Grants = new[]\n {\n new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantArgs\n {\n Grantee = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantGranteeArgs\n {\n Id = example.Apply(getLogDeliveryCanonicalUserIdResult =\u003e getLogDeliveryCanonicalUserIdResult.Id),\n Type = \"CanonicalUser\",\n },\n Permission = \"FULL_CONTROL\",\n },\n },\n Owner = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyOwnerArgs\n {\n Id = current.Apply(getCanonicalUserIdResult =\u003e getCanonicalUserIdResult.Id),\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketOwnershipControls,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := s3.GetCanonicalUserId(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cloudfront.GetLogDeliveryCanonicalUserId(ctx, \u0026cloudfront.GetLogDeliveryCanonicalUserIdArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketOwnershipControls, err := s3.NewBucketOwnershipControls(ctx, \"example\", \u0026s3.BucketOwnershipControlsArgs{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tRule: \u0026s3.BucketOwnershipControlsRuleArgs{\n\t\t\t\tObjectOwnership: pulumi.String(\"BucketOwnerPreferred\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tAccessControlPolicy: \u0026s3.BucketAclV2AccessControlPolicyArgs{\n\t\t\t\tGrants: s3.BucketAclV2AccessControlPolicyGrantArray{\n\t\t\t\t\t\u0026s3.BucketAclV2AccessControlPolicyGrantArgs{\n\t\t\t\t\t\tGrantee: \u0026s3.BucketAclV2AccessControlPolicyGrantGranteeArgs{\n\t\t\t\t\t\t\tId: pulumi.String(example.Id),\n\t\t\t\t\t\t\tType: pulumi.String(\"CanonicalUser\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPermission: pulumi.String(\"FULL_CONTROL\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tOwner: \u0026s3.BucketAclV2AccessControlPolicyOwnerArgs{\n\t\t\t\t\tId: pulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketOwnershipControls,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetLogDeliveryCanonicalUserIdArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketOwnershipControls;\nimport com.pulumi.aws.s3.BucketOwnershipControlsArgs;\nimport com.pulumi.aws.s3.inputs.BucketOwnershipControlsRuleArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.inputs.BucketAclV2AccessControlPolicyArgs;\nimport com.pulumi.aws.s3.inputs.BucketAclV2AccessControlPolicyOwnerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = S3Functions.getCanonicalUserId();\n\n final var example = CloudfrontFunctions.getLogDeliveryCanonicalUserId();\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleBucketOwnershipControls = new BucketOwnershipControls(\"exampleBucketOwnershipControls\", BucketOwnershipControlsArgs.builder()\n .bucket(exampleBucketV2.id())\n .rule(BucketOwnershipControlsRuleArgs.builder()\n .objectOwnership(\"BucketOwnerPreferred\")\n .build())\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(exampleBucketV2.id())\n .accessControlPolicy(BucketAclV2AccessControlPolicyArgs.builder()\n .grants(BucketAclV2AccessControlPolicyGrantArgs.builder()\n .grantee(BucketAclV2AccessControlPolicyGrantGranteeArgs.builder()\n .id(example.applyValue(getLogDeliveryCanonicalUserIdResult -\u003e getLogDeliveryCanonicalUserIdResult.id()))\n .type(\"CanonicalUser\")\n .build())\n .permission(\"FULL_CONTROL\")\n .build())\n .owner(BucketAclV2AccessControlPolicyOwnerArgs.builder()\n .id(current.applyValue(getCanonicalUserIdResult -\u003e getCanonicalUserIdResult.id()))\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketOwnershipControls)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketOwnershipControls:\n type: aws:s3:BucketOwnershipControls\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n rule:\n objectOwnership: BucketOwnerPreferred\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n accessControlPolicy:\n grants:\n - grantee:\n id: ${example.id}\n type: CanonicalUser\n permission: FULL_CONTROL\n owner:\n id: ${current.id}\n options:\n dependsOn:\n - ${exampleBucketOwnershipControls}\nvariables:\n current:\n fn::invoke:\n function: aws:s3:getCanonicalUserId\n arguments: {}\n example:\n fn::invoke:\n function: aws:cloudfront:getLogDeliveryCanonicalUserId\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The CloudFront Log Delivery Canonical User ID data source allows access to the [canonical user ID](http://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) of the AWS `awslogsdelivery` account for CloudFront bucket logging.\nSee the [Amazon CloudFront Developer Guide](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.s3.getCanonicalUserId({});\nconst example = aws.cloudfront.getLogDeliveryCanonicalUserId({});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketOwnershipControls = new aws.s3.BucketOwnershipControls(\"example\", {\n bucket: exampleBucketV2.id,\n rule: {\n objectOwnership: \"BucketOwnerPreferred\",\n },\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: exampleBucketV2.id,\n accessControlPolicy: {\n grants: [{\n grantee: {\n id: example.then(example =\u003e example.id),\n type: \"CanonicalUser\",\n },\n permission: \"FULL_CONTROL\",\n }],\n owner: {\n id: current.then(current =\u003e current.id),\n },\n },\n}, {\n dependsOn: [exampleBucketOwnershipControls],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.s3.get_canonical_user_id()\nexample = aws.cloudfront.get_log_delivery_canonical_user_id()\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_ownership_controls = aws.s3.BucketOwnershipControls(\"example\",\n bucket=example_bucket_v2.id,\n rule={\n \"object_ownership\": \"BucketOwnerPreferred\",\n })\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example_bucket_v2.id,\n access_control_policy={\n \"grants\": [{\n \"grantee\": {\n \"id\": example.id,\n \"type\": \"CanonicalUser\",\n },\n \"permission\": \"FULL_CONTROL\",\n }],\n \"owner\": {\n \"id\": current.id,\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[example_bucket_ownership_controls]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.S3.GetCanonicalUserId.Invoke();\n\n var example = Aws.CloudFront.GetLogDeliveryCanonicalUserId.Invoke();\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketOwnershipControls = new Aws.S3.BucketOwnershipControls(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Rule = new Aws.S3.Inputs.BucketOwnershipControlsRuleArgs\n {\n ObjectOwnership = \"BucketOwnerPreferred\",\n },\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n AccessControlPolicy = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyArgs\n {\n Grants = new[]\n {\n new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantArgs\n {\n Grantee = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantGranteeArgs\n {\n Id = example.Apply(getLogDeliveryCanonicalUserIdResult =\u003e getLogDeliveryCanonicalUserIdResult.Id),\n Type = \"CanonicalUser\",\n },\n Permission = \"FULL_CONTROL\",\n },\n },\n Owner = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyOwnerArgs\n {\n Id = current.Apply(getCanonicalUserIdResult =\u003e getCanonicalUserIdResult.Id),\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketOwnershipControls,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := s3.GetCanonicalUserId(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cloudfront.GetLogDeliveryCanonicalUserId(ctx, \u0026cloudfront.GetLogDeliveryCanonicalUserIdArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketOwnershipControls, err := s3.NewBucketOwnershipControls(ctx, \"example\", \u0026s3.BucketOwnershipControlsArgs{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tRule: \u0026s3.BucketOwnershipControlsRuleArgs{\n\t\t\t\tObjectOwnership: pulumi.String(\"BucketOwnerPreferred\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tAccessControlPolicy: \u0026s3.BucketAclV2AccessControlPolicyArgs{\n\t\t\t\tGrants: s3.BucketAclV2AccessControlPolicyGrantArray{\n\t\t\t\t\t\u0026s3.BucketAclV2AccessControlPolicyGrantArgs{\n\t\t\t\t\t\tGrantee: \u0026s3.BucketAclV2AccessControlPolicyGrantGranteeArgs{\n\t\t\t\t\t\t\tId: pulumi.String(example.Id),\n\t\t\t\t\t\t\tType: pulumi.String(\"CanonicalUser\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPermission: pulumi.String(\"FULL_CONTROL\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tOwner: \u0026s3.BucketAclV2AccessControlPolicyOwnerArgs{\n\t\t\t\t\tId: pulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketOwnershipControls,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetLogDeliveryCanonicalUserIdArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketOwnershipControls;\nimport com.pulumi.aws.s3.BucketOwnershipControlsArgs;\nimport com.pulumi.aws.s3.inputs.BucketOwnershipControlsRuleArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.inputs.BucketAclV2AccessControlPolicyArgs;\nimport com.pulumi.aws.s3.inputs.BucketAclV2AccessControlPolicyOwnerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = S3Functions.getCanonicalUserId();\n\n final var example = CloudfrontFunctions.getLogDeliveryCanonicalUserId();\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleBucketOwnershipControls = new BucketOwnershipControls(\"exampleBucketOwnershipControls\", BucketOwnershipControlsArgs.builder()\n .bucket(exampleBucketV2.id())\n .rule(BucketOwnershipControlsRuleArgs.builder()\n .objectOwnership(\"BucketOwnerPreferred\")\n .build())\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(exampleBucketV2.id())\n .accessControlPolicy(BucketAclV2AccessControlPolicyArgs.builder()\n .grants(BucketAclV2AccessControlPolicyGrantArgs.builder()\n .grantee(BucketAclV2AccessControlPolicyGrantGranteeArgs.builder()\n .id(example.applyValue(getLogDeliveryCanonicalUserIdResult -\u003e getLogDeliveryCanonicalUserIdResult.id()))\n .type(\"CanonicalUser\")\n .build())\n .permission(\"FULL_CONTROL\")\n .build())\n .owner(BucketAclV2AccessControlPolicyOwnerArgs.builder()\n .id(current.applyValue(getCanonicalUserIdResult -\u003e getCanonicalUserIdResult.id()))\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketOwnershipControls)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketOwnershipControls:\n type: aws:s3:BucketOwnershipControls\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n rule:\n objectOwnership: BucketOwnerPreferred\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n accessControlPolicy:\n grants:\n - grantee:\n id: ${example.id}\n type: CanonicalUser\n permission: FULL_CONTROL\n owner:\n id: ${current.id}\n options:\n dependson:\n - ${exampleBucketOwnershipControls}\nvariables:\n current:\n fn::invoke:\n Function: aws:s3:getCanonicalUserId\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:cloudfront:getLogDeliveryCanonicalUserId\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLogDeliveryCanonicalUserId.\n", "properties": { @@ -387193,7 +387193,7 @@ } }, "aws:cloudfront/getOriginAccessControl:getOriginAccessControl": { - "description": "Use this data source to retrieve information for an Amazon CloudFront origin access control config.\n\n## Example Usage\n\nThe below example retrieves a CloudFront origin access control config.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getOriginAccessControl({\n id: \"E2T5VTFBZJ3BJB\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_origin_access_control(id=\"E2T5VTFBZJ3BJB\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetOriginAccessControl.Invoke(new()\n {\n Id = \"E2T5VTFBZJ3BJB\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupOriginAccessControl(ctx, \u0026cloudfront.LookupOriginAccessControlArgs{\n\t\t\tId: \"E2T5VTFBZJ3BJB\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetOriginAccessControlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getOriginAccessControl(GetOriginAccessControlArgs.builder()\n .id(\"E2T5VTFBZJ3BJB\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cloudfront:getOriginAccessControl\n arguments:\n id: E2T5VTFBZJ3BJB\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information for an Amazon CloudFront origin access control config.\n\n## Example Usage\n\nThe below example retrieves a CloudFront origin access control config.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getOriginAccessControl({\n id: \"E2T5VTFBZJ3BJB\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_origin_access_control(id=\"E2T5VTFBZJ3BJB\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetOriginAccessControl.Invoke(new()\n {\n Id = \"E2T5VTFBZJ3BJB\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupOriginAccessControl(ctx, \u0026cloudfront.LookupOriginAccessControlArgs{\n\t\t\tId: \"E2T5VTFBZJ3BJB\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetOriginAccessControlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getOriginAccessControl(GetOriginAccessControlArgs.builder()\n .id(\"E2T5VTFBZJ3BJB\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudfront:getOriginAccessControl\n Arguments:\n id: E2T5VTFBZJ3BJB\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOriginAccessControl.\n", "properties": { @@ -387251,7 +387251,7 @@ } }, "aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities": { - "description": "Use this data source to get ARNs, ids and S3 canonical user IDs of Amazon CloudFront origin access identities.\n\n## Example Usage\n\n### All origin access identities in the account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getOriginAccessIdentities({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_origin_access_identities()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetOriginAccessIdentities.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.GetOriginAccessIdentities(ctx, \u0026cloudfront.GetOriginAccessIdentitiesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetOriginAccessIdentitiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getOriginAccessIdentities();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cloudfront:getOriginAccessIdentities\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Origin access identities filtered by comment/name\n\nOrigin access identities whose comments are `example-comment1`, `example-comment2`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getOriginAccessIdentities({\n comments: [\n \"example-comment1\",\n \"example-comment2\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_origin_access_identities(comments=[\n \"example-comment1\",\n \"example-comment2\",\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetOriginAccessIdentities.Invoke(new()\n {\n Comments = new[]\n {\n \"example-comment1\",\n \"example-comment2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.GetOriginAccessIdentities(ctx, \u0026cloudfront.GetOriginAccessIdentitiesArgs{\n\t\t\tComments: []string{\n\t\t\t\t\"example-comment1\",\n\t\t\t\t\"example-comment2\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetOriginAccessIdentitiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getOriginAccessIdentities(GetOriginAccessIdentitiesArgs.builder()\n .comments( \n \"example-comment1\",\n \"example-comment2\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cloudfront:getOriginAccessIdentities\n arguments:\n comments:\n - example-comment1\n - example-comment2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get ARNs, ids and S3 canonical user IDs of Amazon CloudFront origin access identities.\n\n## Example Usage\n\n### All origin access identities in the account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getOriginAccessIdentities({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_origin_access_identities()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetOriginAccessIdentities.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.GetOriginAccessIdentities(ctx, \u0026cloudfront.GetOriginAccessIdentitiesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetOriginAccessIdentitiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getOriginAccessIdentities();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudfront:getOriginAccessIdentities\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Origin access identities filtered by comment/name\n\nOrigin access identities whose comments are `example-comment1`, `example-comment2`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getOriginAccessIdentities({\n comments: [\n \"example-comment1\",\n \"example-comment2\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_origin_access_identities(comments=[\n \"example-comment1\",\n \"example-comment2\",\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetOriginAccessIdentities.Invoke(new()\n {\n Comments = new[]\n {\n \"example-comment1\",\n \"example-comment2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.GetOriginAccessIdentities(ctx, \u0026cloudfront.GetOriginAccessIdentitiesArgs{\n\t\t\tComments: []string{\n\t\t\t\t\"example-comment1\",\n\t\t\t\t\"example-comment2\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetOriginAccessIdentitiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getOriginAccessIdentities(GetOriginAccessIdentitiesArgs.builder()\n .comments( \n \"example-comment1\",\n \"example-comment2\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudfront:getOriginAccessIdentities\n Arguments:\n comments:\n - example-comment1\n - example-comment2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOriginAccessIdentities.\n", "properties": { @@ -387310,7 +387310,7 @@ } }, "aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity": { - "description": "Use this data source to retrieve information for an Amazon CloudFront origin access identity.\n\n## Example Usage\n\nThe following example below creates a CloudFront origin access identity.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getOriginAccessIdentity({\n id: \"E1ZAKK699EOLAL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_origin_access_identity(id=\"E1ZAKK699EOLAL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetOriginAccessIdentity.Invoke(new()\n {\n Id = \"E1ZAKK699EOLAL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupOriginAccessIdentity(ctx, \u0026cloudfront.LookupOriginAccessIdentityArgs{\n\t\t\tId: \"E1ZAKK699EOLAL\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetOriginAccessIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getOriginAccessIdentity(GetOriginAccessIdentityArgs.builder()\n .id(\"E1ZAKK699EOLAL\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cloudfront:getOriginAccessIdentity\n arguments:\n id: E1ZAKK699EOLAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information for an Amazon CloudFront origin access identity.\n\n## Example Usage\n\nThe following example below creates a CloudFront origin access identity.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getOriginAccessIdentity({\n id: \"E1ZAKK699EOLAL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_origin_access_identity(id=\"E1ZAKK699EOLAL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetOriginAccessIdentity.Invoke(new()\n {\n Id = \"E1ZAKK699EOLAL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupOriginAccessIdentity(ctx, \u0026cloudfront.LookupOriginAccessIdentityArgs{\n\t\t\tId: \"E1ZAKK699EOLAL\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetOriginAccessIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getOriginAccessIdentity(GetOriginAccessIdentityArgs.builder()\n .id(\"E1ZAKK699EOLAL\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudfront:getOriginAccessIdentity\n Arguments:\n id: E1ZAKK699EOLAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOriginAccessIdentity.\n", "properties": { @@ -387368,7 +387368,7 @@ } }, "aws:cloudfront/getOriginRequestPolicy:getOriginRequestPolicy": { - "description": "## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getOriginRequestPolicy({\n name: \"example-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_origin_request_policy(name=\"example-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetOriginRequestPolicy.Invoke(new()\n {\n Name = \"example-policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupOriginRequestPolicy(ctx, \u0026cloudfront.LookupOriginRequestPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"example-policy\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetOriginRequestPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getOriginRequestPolicy(GetOriginRequestPolicyArgs.builder()\n .name(\"example-policy\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cloudfront:getOriginRequestPolicy\n arguments:\n name: example-policy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS-Managed Policies\n\nAWS managed origin request policy names are prefixed with `Managed-`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst uaReferer = aws.cloudfront.getOriginRequestPolicy({\n name: \"Managed-UserAgentRefererHeaders\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nua_referer = aws.cloudfront.get_origin_request_policy(name=\"Managed-UserAgentRefererHeaders\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var uaReferer = Aws.CloudFront.GetOriginRequestPolicy.Invoke(new()\n {\n Name = \"Managed-UserAgentRefererHeaders\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupOriginRequestPolicy(ctx, \u0026cloudfront.LookupOriginRequestPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"Managed-UserAgentRefererHeaders\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetOriginRequestPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var uaReferer = CloudfrontFunctions.getOriginRequestPolicy(GetOriginRequestPolicyArgs.builder()\n .name(\"Managed-UserAgentRefererHeaders\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n uaReferer:\n fn::invoke:\n function: aws:cloudfront:getOriginRequestPolicy\n arguments:\n name: Managed-UserAgentRefererHeaders\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getOriginRequestPolicy({\n name: \"example-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_origin_request_policy(name=\"example-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetOriginRequestPolicy.Invoke(new()\n {\n Name = \"example-policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupOriginRequestPolicy(ctx, \u0026cloudfront.LookupOriginRequestPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"example-policy\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetOriginRequestPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getOriginRequestPolicy(GetOriginRequestPolicyArgs.builder()\n .name(\"example-policy\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudfront:getOriginRequestPolicy\n Arguments:\n name: example-policy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS-Managed Policies\n\nAWS managed origin request policy names are prefixed with `Managed-`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst uaReferer = aws.cloudfront.getOriginRequestPolicy({\n name: \"Managed-UserAgentRefererHeaders\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nua_referer = aws.cloudfront.get_origin_request_policy(name=\"Managed-UserAgentRefererHeaders\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var uaReferer = Aws.CloudFront.GetOriginRequestPolicy.Invoke(new()\n {\n Name = \"Managed-UserAgentRefererHeaders\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupOriginRequestPolicy(ctx, \u0026cloudfront.LookupOriginRequestPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"Managed-UserAgentRefererHeaders\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetOriginRequestPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var uaReferer = CloudfrontFunctions.getOriginRequestPolicy(GetOriginRequestPolicyArgs.builder()\n .name(\"Managed-UserAgentRefererHeaders\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n uaReferer:\n fn::invoke:\n Function: aws:cloudfront:getOriginRequestPolicy\n Arguments:\n name: Managed-UserAgentRefererHeaders\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOriginRequestPolicy.\n", "properties": { @@ -387433,7 +387433,7 @@ } }, "aws:cloudfront/getRealtimeLogConfig:getRealtimeLogConfig": { - "description": "Provides a CloudFront real-time log configuration resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getRealtimeLogConfig({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_realtime_log_config(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetRealtimeLogConfig.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupRealtimeLogConfig(ctx, \u0026cloudfront.LookupRealtimeLogConfigArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetRealtimeLogConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getRealtimeLogConfig(GetRealtimeLogConfigArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cloudfront:getRealtimeLogConfig\n arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a CloudFront real-time log configuration resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getRealtimeLogConfig({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_realtime_log_config(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetRealtimeLogConfig.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupRealtimeLogConfig(ctx, \u0026cloudfront.LookupRealtimeLogConfigArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetRealtimeLogConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getRealtimeLogConfig(GetRealtimeLogConfigArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudfront:getRealtimeLogConfig\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRealtimeLogConfig.\n", "properties": { @@ -387492,7 +387492,7 @@ } }, "aws:cloudfront/getResponseHeadersPolicy:getResponseHeadersPolicy": { - "description": "Use this data source to retrieve information about a CloudFront cache policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getResponseHeadersPolicy({\n name: \"example-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_response_headers_policy(name=\"example-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetResponseHeadersPolicy.Invoke(new()\n {\n Name = \"example-policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupResponseHeadersPolicy(ctx, \u0026cloudfront.LookupResponseHeadersPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"example-policy\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetResponseHeadersPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getResponseHeadersPolicy(GetResponseHeadersPolicyArgs.builder()\n .name(\"example-policy\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cloudfront:getResponseHeadersPolicy\n arguments:\n name: example-policy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS-Managed Policies\n\nAWS managed response header policy names are prefixed with `Managed-`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getResponseHeadersPolicy({\n name: \"Managed-SimpleCORS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_response_headers_policy(name=\"Managed-SimpleCORS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetResponseHeadersPolicy.Invoke(new()\n {\n Name = \"Managed-SimpleCORS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupResponseHeadersPolicy(ctx, \u0026cloudfront.LookupResponseHeadersPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"Managed-SimpleCORS\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetResponseHeadersPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getResponseHeadersPolicy(GetResponseHeadersPolicyArgs.builder()\n .name(\"Managed-SimpleCORS\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cloudfront:getResponseHeadersPolicy\n arguments:\n name: Managed-SimpleCORS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a CloudFront cache policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getResponseHeadersPolicy({\n name: \"example-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_response_headers_policy(name=\"example-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetResponseHeadersPolicy.Invoke(new()\n {\n Name = \"example-policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupResponseHeadersPolicy(ctx, \u0026cloudfront.LookupResponseHeadersPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"example-policy\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetResponseHeadersPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getResponseHeadersPolicy(GetResponseHeadersPolicyArgs.builder()\n .name(\"example-policy\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudfront:getResponseHeadersPolicy\n Arguments:\n name: example-policy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS-Managed Policies\n\nAWS managed response header policy names are prefixed with `Managed-`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getResponseHeadersPolicy({\n name: \"Managed-SimpleCORS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_response_headers_policy(name=\"Managed-SimpleCORS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetResponseHeadersPolicy.Invoke(new()\n {\n Name = \"Managed-SimpleCORS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\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 := cloudfront.LookupResponseHeadersPolicy(ctx, \u0026cloudfront.LookupResponseHeadersPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"Managed-SimpleCORS\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetResponseHeadersPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudfrontFunctions.getResponseHeadersPolicy(GetResponseHeadersPolicyArgs.builder()\n .name(\"Managed-SimpleCORS\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudfront:getResponseHeadersPolicy\n Arguments:\n name: Managed-SimpleCORS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResponseHeadersPolicy.\n", "properties": { @@ -387575,7 +387575,7 @@ } }, "aws:cloudhsmv2/getCluster:getCluster": { - "description": "Use this data source to get information about a CloudHSM v2 cluster\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cluster = aws.cloudhsmv2.getCluster({\n clusterId: \"cluster-testclusterid\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncluster = aws.cloudhsmv2.get_cluster(cluster_id=\"cluster-testclusterid\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = Aws.CloudHsmV2.GetCluster.Invoke(new()\n {\n ClusterId = \"cluster-testclusterid\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudhsmv2\"\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 := cloudhsmv2.LookupCluster(ctx, \u0026cloudhsmv2.LookupClusterArgs{\n\t\t\tClusterId: \"cluster-testclusterid\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudhsmv2.Cloudhsmv2Functions;\nimport com.pulumi.aws.cloudhsmv2.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var cluster = Cloudhsmv2Functions.getCluster(GetClusterArgs.builder()\n .clusterId(\"cluster-testclusterid\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n cluster:\n fn::invoke:\n function: aws:cloudhsmv2:getCluster\n arguments:\n clusterId: cluster-testclusterid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about a CloudHSM v2 cluster\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cluster = aws.cloudhsmv2.getCluster({\n clusterId: \"cluster-testclusterid\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncluster = aws.cloudhsmv2.get_cluster(cluster_id=\"cluster-testclusterid\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = Aws.CloudHsmV2.GetCluster.Invoke(new()\n {\n ClusterId = \"cluster-testclusterid\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudhsmv2\"\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 := cloudhsmv2.LookupCluster(ctx, \u0026cloudhsmv2.LookupClusterArgs{\n\t\t\tClusterId: \"cluster-testclusterid\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudhsmv2.Cloudhsmv2Functions;\nimport com.pulumi.aws.cloudhsmv2.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var cluster = Cloudhsmv2Functions.getCluster(GetClusterArgs.builder()\n .clusterId(\"cluster-testclusterid\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n cluster:\n fn::invoke:\n Function: aws:cloudhsmv2:getCluster\n Arguments:\n clusterId: cluster-testclusterid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCluster.\n", "properties": { @@ -387642,7 +387642,7 @@ } }, "aws:cloudtrail/getServiceAccount:getServiceAccount": { - "description": "Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html)\nin a given region for the purpose of allowing CloudTrail to store trail data in S3.\n\n\u003e **Note:** AWS documentation [states that](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create-s3-bucket-policy-for-cloudtrail.html#troubleshooting-s3-bucket-policy) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.cloudtrail.getServiceAccount({});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {\n bucket: \"tf-cloudtrail-logging-test-bucket\",\n forceDestroy: true,\n});\nconst allowCloudtrailLogging = pulumi.all([main, bucket.arn, main, bucket.arn]).apply(([main, bucketArn, main1, bucketArn1]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n sid: \"Put bucket policy needed for trails\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main.arn],\n }],\n actions: [\"s3:PutObject\"],\n resources: [`${bucketArn}/*`],\n },\n {\n sid: \"Get bucket policy needed for trails\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main1.arn],\n }],\n actions: [\"s3:GetBucketAcl\"],\n resources: [bucketArn1],\n },\n ],\n}));\nconst allowCloudtrailLoggingBucketPolicy = new aws.s3.BucketPolicy(\"allow_cloudtrail_logging\", {\n bucket: bucket.id,\n policy: allowCloudtrailLogging.apply(allowCloudtrailLogging =\u003e allowCloudtrailLogging.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.cloudtrail.get_service_account()\nbucket = aws.s3.BucketV2(\"bucket\",\n bucket=\"tf-cloudtrail-logging-test-bucket\",\n force_destroy=True)\nallow_cloudtrail_logging = pulumi.Output.all(\n bucketArn=bucket.arn,\n bucketArn1=bucket.arn\n).apply(lambda resolved_outputs: aws.iam.get_policy_document_output(statements=[\n {\n \"sid\": \"Put bucket policy needed for trails\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [main.arn],\n }],\n \"actions\": [\"s3:PutObject\"],\n \"resources\": [f\"{resolved_outputs['bucketArn']}/*\"],\n },\n {\n \"sid\": \"Get bucket policy needed for trails\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [main.arn],\n }],\n \"actions\": [\"s3:GetBucketAcl\"],\n \"resources\": [resolved_outputs['bucketArn1']],\n },\n]))\n\nallow_cloudtrail_logging_bucket_policy = aws.s3.BucketPolicy(\"allow_cloudtrail_logging\",\n bucket=bucket.id,\n policy=allow_cloudtrail_logging.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.CloudTrail.GetServiceAccount.Invoke();\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"tf-cloudtrail-logging-test-bucket\",\n ForceDestroy = true,\n });\n\n var allowCloudtrailLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Put bucket policy needed for trails\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{bucket.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Get bucket policy needed for trails\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n },\n Resources = new[]\n {\n bucket.Arn,\n },\n },\n },\n });\n\n var allowCloudtrailLoggingBucketPolicy = new Aws.S3.BucketPolicy(\"allow_cloudtrail_logging\", new()\n {\n Bucket = bucket.Id,\n Policy = allowCloudtrailLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmain, err := cloudtrail.GetServiceAccount(ctx, \u0026cloudtrail.GetServiceAccountArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"tf-cloudtrail-logging-test-bucket\"),\nForceDestroy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nallowCloudtrailLogging := pulumi.All(bucket.Arn,bucket.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\nbucketArn := _args[0].(string)\nbucketArn1 := _args[1].(string)\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: \"Put bucket policy needed for trails\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:PutObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/*\", bucketArn),\n},\n},\n{\nSid: \"Get bucket policy needed for trails\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:GetBucketAcl\",\n},\nResources: []string{\nbucketArn1,\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = s3.NewBucketPolicy(ctx, \"allow_cloudtrail_logging\", \u0026s3.BucketPolicyArgs{\nBucket: bucket.ID(),\nPolicy: pulumi.String(allowCloudtrailLogging.ApplyT(func(allowCloudtrailLogging iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026allowCloudtrailLogging.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudtrail.CloudtrailFunctions;\nimport com.pulumi.aws.cloudtrail.inputs.GetServiceAccountArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = CloudtrailFunctions.getServiceAccount();\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"tf-cloudtrail-logging-test-bucket\")\n .forceDestroy(true)\n .build());\n\n final var allowCloudtrailLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Put bucket policy needed for trails\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:PutObject\")\n .resources(bucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Get bucket policy needed for trails\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:GetBucketAcl\")\n .resources(bucket.arn())\n .build())\n .build());\n\n var allowCloudtrailLoggingBucketPolicy = new BucketPolicy(\"allowCloudtrailLoggingBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(bucket.id())\n .policy(allowCloudtrailLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowCloudtrailLogging -\u003e allowCloudtrailLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-cloudtrail-logging-test-bucket\n forceDestroy: true\n allowCloudtrailLoggingBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_cloudtrail_logging\n properties:\n bucket: ${bucket.id}\n policy: ${allowCloudtrailLogging.json}\nvariables:\n main:\n fn::invoke:\n function: aws:cloudtrail:getServiceAccount\n arguments: {}\n allowCloudtrailLogging:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: Put bucket policy needed for trails\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:PutObject\n resources:\n - ${bucket.arn}/*\n - sid: Get bucket policy needed for trails\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:GetBucketAcl\n resources:\n - ${bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html)\nin a given region for the purpose of allowing CloudTrail to store trail data in S3.\n\n\u003e **Note:** AWS documentation [states that](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create-s3-bucket-policy-for-cloudtrail.html#troubleshooting-s3-bucket-policy) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.cloudtrail.getServiceAccount({});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {\n bucket: \"tf-cloudtrail-logging-test-bucket\",\n forceDestroy: true,\n});\nconst allowCloudtrailLogging = pulumi.all([main, bucket.arn, main, bucket.arn]).apply(([main, bucketArn, main1, bucketArn1]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n sid: \"Put bucket policy needed for trails\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main.arn],\n }],\n actions: [\"s3:PutObject\"],\n resources: [`${bucketArn}/*`],\n },\n {\n sid: \"Get bucket policy needed for trails\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main1.arn],\n }],\n actions: [\"s3:GetBucketAcl\"],\n resources: [bucketArn1],\n },\n ],\n}));\nconst allowCloudtrailLoggingBucketPolicy = new aws.s3.BucketPolicy(\"allow_cloudtrail_logging\", {\n bucket: bucket.id,\n policy: allowCloudtrailLogging.apply(allowCloudtrailLogging =\u003e allowCloudtrailLogging.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.cloudtrail.get_service_account()\nbucket = aws.s3.BucketV2(\"bucket\",\n bucket=\"tf-cloudtrail-logging-test-bucket\",\n force_destroy=True)\nallow_cloudtrail_logging = pulumi.Output.all(\n bucketArn=bucket.arn,\n bucketArn1=bucket.arn\n).apply(lambda resolved_outputs: aws.iam.get_policy_document_output(statements=[\n {\n \"sid\": \"Put bucket policy needed for trails\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [main.arn],\n }],\n \"actions\": [\"s3:PutObject\"],\n \"resources\": [f\"{resolved_outputs['bucketArn']}/*\"],\n },\n {\n \"sid\": \"Get bucket policy needed for trails\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [main.arn],\n }],\n \"actions\": [\"s3:GetBucketAcl\"],\n \"resources\": [resolved_outputs['bucketArn1']],\n },\n]))\n\nallow_cloudtrail_logging_bucket_policy = aws.s3.BucketPolicy(\"allow_cloudtrail_logging\",\n bucket=bucket.id,\n policy=allow_cloudtrail_logging.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.CloudTrail.GetServiceAccount.Invoke();\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"tf-cloudtrail-logging-test-bucket\",\n ForceDestroy = true,\n });\n\n var allowCloudtrailLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Put bucket policy needed for trails\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{bucket.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Get bucket policy needed for trails\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n },\n Resources = new[]\n {\n bucket.Arn,\n },\n },\n },\n });\n\n var allowCloudtrailLoggingBucketPolicy = new Aws.S3.BucketPolicy(\"allow_cloudtrail_logging\", new()\n {\n Bucket = bucket.Id,\n Policy = allowCloudtrailLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmain, err := cloudtrail.GetServiceAccount(ctx, \u0026cloudtrail.GetServiceAccountArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"tf-cloudtrail-logging-test-bucket\"),\nForceDestroy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nallowCloudtrailLogging := pulumi.All(bucket.Arn,bucket.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\nbucketArn := _args[0].(string)\nbucketArn1 := _args[1].(string)\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: \"Put bucket policy needed for trails\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:PutObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/*\", bucketArn),\n},\n},\n{\nSid: \"Get bucket policy needed for trails\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:GetBucketAcl\",\n},\nResources: []string{\nbucketArn1,\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = s3.NewBucketPolicy(ctx, \"allow_cloudtrail_logging\", \u0026s3.BucketPolicyArgs{\nBucket: bucket.ID(),\nPolicy: pulumi.String(allowCloudtrailLogging.ApplyT(func(allowCloudtrailLogging iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026allowCloudtrailLogging.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudtrail.CloudtrailFunctions;\nimport com.pulumi.aws.cloudtrail.inputs.GetServiceAccountArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = CloudtrailFunctions.getServiceAccount();\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"tf-cloudtrail-logging-test-bucket\")\n .forceDestroy(true)\n .build());\n\n final var allowCloudtrailLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Put bucket policy needed for trails\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:PutObject\")\n .resources(bucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Get bucket policy needed for trails\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:GetBucketAcl\")\n .resources(bucket.arn())\n .build())\n .build());\n\n var allowCloudtrailLoggingBucketPolicy = new BucketPolicy(\"allowCloudtrailLoggingBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(bucket.id())\n .policy(allowCloudtrailLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowCloudtrailLogging -\u003e allowCloudtrailLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-cloudtrail-logging-test-bucket\n forceDestroy: true\n allowCloudtrailLoggingBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_cloudtrail_logging\n properties:\n bucket: ${bucket.id}\n policy: ${allowCloudtrailLogging.json}\nvariables:\n main:\n fn::invoke:\n Function: aws:cloudtrail:getServiceAccount\n Arguments: {}\n allowCloudtrailLogging:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Put bucket policy needed for trails\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:PutObject\n resources:\n - ${bucket.arn}/*\n - sid: Get bucket policy needed for trails\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:GetBucketAcl\n resources:\n - ${bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServiceAccount.\n", "properties": { @@ -387676,7 +387676,7 @@ } }, "aws:cloudwatch/getEventBus:getEventBus": { - "description": "This data source can be used to fetch information about a specific\nEventBridge event bus. Use this data source to compute the ARN of\nan event bus, given the name of the bus.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudwatch.getEventBus({\n name: \"example-bus-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.get_event_bus(name=\"example-bus-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudWatch.GetEventBus.Invoke(new()\n {\n Name = \"example-bus-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\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 := cloudwatch.LookupEventBus(ctx, \u0026cloudwatch.LookupEventBusArgs{\n\t\t\tName: \"example-bus-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetEventBusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudwatchFunctions.getEventBus(GetEventBusArgs.builder()\n .name(\"example-bus-name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cloudwatch:getEventBus\n arguments:\n name: example-bus-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This data source can be used to fetch information about a specific\nEventBridge event bus. Use this data source to compute the ARN of\nan event bus, given the name of the bus.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudwatch.getEventBus({\n name: \"example-bus-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.get_event_bus(name=\"example-bus-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudWatch.GetEventBus.Invoke(new()\n {\n Name = \"example-bus-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\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 := cloudwatch.LookupEventBus(ctx, \u0026cloudwatch.LookupEventBusArgs{\n\t\t\tName: \"example-bus-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetEventBusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudwatchFunctions.getEventBus(GetEventBusArgs.builder()\n .name(\"example-bus-name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudwatch:getEventBus\n Arguments:\n name: example-bus-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEventBus.\n", "properties": { @@ -387724,7 +387724,7 @@ } }, "aws:cloudwatch/getEventConnection:getEventConnection": { - "description": "Use this data source to retrieve information about an EventBridge connection.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.cloudwatch.getEventConnection({\n name: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.get_event_connection(name=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.CloudWatch.GetEventConnection.Invoke(new()\n {\n Name = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\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 := cloudwatch.LookupEventConnection(ctx, \u0026cloudwatch.LookupEventConnectionArgs{\n\t\t\tName: \"test\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetEventConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = CloudwatchFunctions.getEventConnection(GetEventConnectionArgs.builder()\n .name(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:cloudwatch:getEventConnection\n arguments:\n name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about an EventBridge connection.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.cloudwatch.getEventConnection({\n name: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.get_event_connection(name=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.CloudWatch.GetEventConnection.Invoke(new()\n {\n Name = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\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 := cloudwatch.LookupEventConnection(ctx, \u0026cloudwatch.LookupEventConnectionArgs{\n\t\t\tName: \"test\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetEventConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = CloudwatchFunctions.getEventConnection(GetEventConnectionArgs.builder()\n .name(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:cloudwatch:getEventConnection\n Arguments:\n name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEventConnection.\n", "properties": { @@ -387773,7 +387773,7 @@ } }, "aws:cloudwatch/getEventSource:getEventSource": { - "description": "Use this data source to get information about an EventBridge Partner Event Source. This data source will only return one partner event source. An error will be returned if multiple sources match the same name prefix.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplepartner = aws.cloudwatch.getEventSource({\n namePrefix: \"aws.partner/examplepartner.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplepartner = aws.cloudwatch.get_event_source(name_prefix=\"aws.partner/examplepartner.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplepartner = Aws.CloudWatch.GetEventSource.Invoke(new()\n {\n NamePrefix = \"aws.partner/examplepartner.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\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 := cloudwatch.GetEventSource(ctx, \u0026cloudwatch.GetEventSourceArgs{\n\t\t\tNamePrefix: pulumi.StringRef(\"aws.partner/examplepartner.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetEventSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var examplepartner = CloudwatchFunctions.getEventSource(GetEventSourceArgs.builder()\n .namePrefix(\"aws.partner/examplepartner.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n examplepartner:\n fn::invoke:\n function: aws:cloudwatch:getEventSource\n arguments:\n namePrefix: aws.partner/examplepartner.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about an EventBridge Partner Event Source. This data source will only return one partner event source. An error will be returned if multiple sources match the same name prefix.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplepartner = aws.cloudwatch.getEventSource({\n namePrefix: \"aws.partner/examplepartner.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplepartner = aws.cloudwatch.get_event_source(name_prefix=\"aws.partner/examplepartner.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplepartner = Aws.CloudWatch.GetEventSource.Invoke(new()\n {\n NamePrefix = \"aws.partner/examplepartner.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\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 := cloudwatch.GetEventSource(ctx, \u0026cloudwatch.GetEventSourceArgs{\n\t\t\tNamePrefix: pulumi.StringRef(\"aws.partner/examplepartner.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetEventSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var examplepartner = CloudwatchFunctions.getEventSource(GetEventSourceArgs.builder()\n .namePrefix(\"aws.partner/examplepartner.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n examplepartner:\n fn::invoke:\n Function: aws:cloudwatch:getEventSource\n Arguments:\n namePrefix: aws.partner/examplepartner.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEventSource.\n", "properties": { @@ -387822,7 +387822,7 @@ } }, "aws:cloudwatch/getLogDataProtectionPolicyDocument:getLogDataProtectionPolicyDocument": { - "description": "Generates a CloudWatch Log Group Data Protection Policy document in JSON format for use with the `aws.cloudwatch.LogDataProtectionPolicy` resource.\n\n\u003e For more information about data protection policies, see the [Help protect sensitive log data with masking](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudwatch.getLogDataProtectionPolicyDocument({\n name: \"Example\",\n statements: [\n {\n sid: \"Audit\",\n dataIdentifiers: [\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n ],\n operation: {\n audit: {\n findingsDestination: {\n cloudwatchLogs: {\n logGroup: audit.name,\n },\n firehose: {\n deliveryStream: auditAwsKinesisFirehoseDeliveryStream.name,\n },\n s3: {\n bucket: auditAwsS3Bucket.bucket,\n },\n },\n },\n },\n },\n {\n sid: \"Deidentify\",\n dataIdentifiers: [\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n ],\n operation: {\n deidentify: {\n maskConfig: {},\n },\n },\n },\n ],\n});\nconst exampleLogDataProtectionPolicy = new aws.cloudwatch.LogDataProtectionPolicy(\"example\", {\n logGroupName: exampleAwsCloudwatchLogGroup.name,\n policyDocument: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.get_log_data_protection_policy_document(name=\"Example\",\n statements=[\n {\n \"sid\": \"Audit\",\n \"data_identifiers\": [\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n ],\n \"operation\": {\n \"audit\": {\n \"findings_destination\": {\n \"cloudwatch_logs\": {\n \"log_group\": audit[\"name\"],\n },\n \"firehose\": {\n \"delivery_stream\": audit_aws_kinesis_firehose_delivery_stream[\"name\"],\n },\n \"s3\": {\n \"bucket\": audit_aws_s3_bucket[\"bucket\"],\n },\n },\n },\n },\n },\n {\n \"sid\": \"Deidentify\",\n \"data_identifiers\": [\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n ],\n \"operation\": {\n \"deidentify\": {\n \"mask_config\": {},\n },\n },\n },\n ])\nexample_log_data_protection_policy = aws.cloudwatch.LogDataProtectionPolicy(\"example\",\n log_group_name=example_aws_cloudwatch_log_group[\"name\"],\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudWatch.GetLogDataProtectionPolicyDocument.Invoke(new()\n {\n Name = \"Example\",\n Statements = new[]\n {\n new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementInputArgs\n {\n Sid = \"Audit\",\n DataIdentifiers = new[]\n {\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n },\n Operation = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationInputArgs\n {\n Audit = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditInputArgs\n {\n FindingsDestination = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationInputArgs\n {\n CloudwatchLogs = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationCloudwatchLogsInputArgs\n {\n LogGroup = audit.Name,\n },\n Firehose = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationFirehoseInputArgs\n {\n DeliveryStream = auditAwsKinesisFirehoseDeliveryStream.Name,\n },\n S3 = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationS3InputArgs\n {\n Bucket = auditAwsS3Bucket.Bucket,\n },\n },\n },\n },\n },\n new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementInputArgs\n {\n Sid = \"Deidentify\",\n DataIdentifiers = new[]\n {\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n },\n Operation = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationInputArgs\n {\n Deidentify = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationDeidentifyInputArgs\n {\n MaskConfig = null,\n },\n },\n },\n },\n });\n\n var exampleLogDataProtectionPolicy = new Aws.CloudWatch.LogDataProtectionPolicy(\"example\", new()\n {\n LogGroupName = exampleAwsCloudwatchLogGroup.Name,\n PolicyDocument = example.Apply(getLogDataProtectionPolicyDocumentResult =\u003e getLogDataProtectionPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.GetLogDataProtectionPolicyDocument(ctx, \u0026cloudwatch.GetLogDataProtectionPolicyDocumentArgs{\n\t\t\tName: \"Example\",\n\t\t\tStatements: []cloudwatch.GetLogDataProtectionPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Audit\"),\n\t\t\t\t\tDataIdentifiers: []string{\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n\t\t\t\t\t},\n\t\t\t\t\tOperation: {\n\t\t\t\t\t\tAudit: {\n\t\t\t\t\t\t\tFindingsDestination: {\n\t\t\t\t\t\t\t\tCloudwatchLogs: {\n\t\t\t\t\t\t\t\t\tLogGroup: audit.Name,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tFirehose: {\n\t\t\t\t\t\t\t\t\tDeliveryStream: auditAwsKinesisFirehoseDeliveryStream.Name,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tS3: {\n\t\t\t\t\t\t\t\t\tBucket: auditAwsS3Bucket.Bucket,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Deidentify\"),\n\t\t\t\t\tDataIdentifiers: []string{\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n\t\t\t\t\t},\n\t\t\t\t\tOperation: {\n\t\t\t\t\t\tDeidentify: {\n\t\t\t\t\t\t\tMaskConfig: {},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogDataProtectionPolicy(ctx, \"example\", \u0026cloudwatch.LogDataProtectionPolicyArgs{\n\t\t\tLogGroupName: pulumi.Any(exampleAwsCloudwatchLogGroup.Name),\n\t\t\tPolicyDocument: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetLogDataProtectionPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogDataProtectionPolicy;\nimport com.pulumi.aws.cloudwatch.LogDataProtectionPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudwatchFunctions.getLogDataProtectionPolicyDocument(GetLogDataProtectionPolicyDocumentArgs.builder()\n .name(\"Example\")\n .statements( \n GetLogDataProtectionPolicyDocumentStatementArgs.builder()\n .sid(\"Audit\")\n .dataIdentifiers( \n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\")\n .operation(GetLogDataProtectionPolicyDocumentStatementOperationArgs.builder()\n .audit(GetLogDataProtectionPolicyDocumentStatementOperationAuditArgs.builder()\n .findingsDestination(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationArgs.builder()\n .cloudwatchLogs(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationCloudwatchLogsArgs.builder()\n .logGroup(audit.name())\n .build())\n .firehose(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationFirehoseArgs.builder()\n .deliveryStream(auditAwsKinesisFirehoseDeliveryStream.name())\n .build())\n .s3(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationS3Args.builder()\n .bucket(auditAwsS3Bucket.bucket())\n .build())\n .build())\n .build())\n .build())\n .build(),\n GetLogDataProtectionPolicyDocumentStatementArgs.builder()\n .sid(\"Deidentify\")\n .dataIdentifiers( \n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\")\n .operation(GetLogDataProtectionPolicyDocumentStatementOperationArgs.builder()\n .deidentify(GetLogDataProtectionPolicyDocumentStatementOperationDeidentifyArgs.builder()\n .maskConfig()\n .build())\n .build())\n .build())\n .build());\n\n var exampleLogDataProtectionPolicy = new LogDataProtectionPolicy(\"exampleLogDataProtectionPolicy\", LogDataProtectionPolicyArgs.builder()\n .logGroupName(exampleAwsCloudwatchLogGroup.name())\n .policyDocument(example.applyValue(getLogDataProtectionPolicyDocumentResult -\u003e getLogDataProtectionPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLogDataProtectionPolicy:\n type: aws:cloudwatch:LogDataProtectionPolicy\n name: example\n properties:\n logGroupName: ${exampleAwsCloudwatchLogGroup.name}\n policyDocument: ${example.json}\nvariables:\n example:\n fn::invoke:\n function: aws:cloudwatch:getLogDataProtectionPolicyDocument\n arguments:\n name: Example\n statements:\n - sid: Audit\n dataIdentifiers:\n - arn:aws:dataprotection::aws:data-identifier/EmailAddress\n - arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\n operation:\n audit:\n findingsDestination:\n cloudwatchLogs:\n logGroup: ${audit.name}\n firehose:\n deliveryStream: ${auditAwsKinesisFirehoseDeliveryStream.name}\n s3:\n bucket: ${auditAwsS3Bucket.bucket}\n - sid: Deidentify\n dataIdentifiers:\n - arn:aws:dataprotection::aws:data-identifier/EmailAddress\n - arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\n operation:\n deidentify:\n maskConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Generates a CloudWatch Log Group Data Protection Policy document in JSON format for use with the `aws.cloudwatch.LogDataProtectionPolicy` resource.\n\n\u003e For more information about data protection policies, see the [Help protect sensitive log data with masking](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudwatch.getLogDataProtectionPolicyDocument({\n name: \"Example\",\n statements: [\n {\n sid: \"Audit\",\n dataIdentifiers: [\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n ],\n operation: {\n audit: {\n findingsDestination: {\n cloudwatchLogs: {\n logGroup: audit.name,\n },\n firehose: {\n deliveryStream: auditAwsKinesisFirehoseDeliveryStream.name,\n },\n s3: {\n bucket: auditAwsS3Bucket.bucket,\n },\n },\n },\n },\n },\n {\n sid: \"Deidentify\",\n dataIdentifiers: [\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n ],\n operation: {\n deidentify: {\n maskConfig: {},\n },\n },\n },\n ],\n});\nconst exampleLogDataProtectionPolicy = new aws.cloudwatch.LogDataProtectionPolicy(\"example\", {\n logGroupName: exampleAwsCloudwatchLogGroup.name,\n policyDocument: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.get_log_data_protection_policy_document(name=\"Example\",\n statements=[\n {\n \"sid\": \"Audit\",\n \"data_identifiers\": [\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n ],\n \"operation\": {\n \"audit\": {\n \"findings_destination\": {\n \"cloudwatch_logs\": {\n \"log_group\": audit[\"name\"],\n },\n \"firehose\": {\n \"delivery_stream\": audit_aws_kinesis_firehose_delivery_stream[\"name\"],\n },\n \"s3\": {\n \"bucket\": audit_aws_s3_bucket[\"bucket\"],\n },\n },\n },\n },\n },\n {\n \"sid\": \"Deidentify\",\n \"data_identifiers\": [\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n ],\n \"operation\": {\n \"deidentify\": {\n \"mask_config\": {},\n },\n },\n },\n ])\nexample_log_data_protection_policy = aws.cloudwatch.LogDataProtectionPolicy(\"example\",\n log_group_name=example_aws_cloudwatch_log_group[\"name\"],\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudWatch.GetLogDataProtectionPolicyDocument.Invoke(new()\n {\n Name = \"Example\",\n Statements = new[]\n {\n new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementInputArgs\n {\n Sid = \"Audit\",\n DataIdentifiers = new[]\n {\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n },\n Operation = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationInputArgs\n {\n Audit = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditInputArgs\n {\n FindingsDestination = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationInputArgs\n {\n CloudwatchLogs = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationCloudwatchLogsInputArgs\n {\n LogGroup = audit.Name,\n },\n Firehose = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationFirehoseInputArgs\n {\n DeliveryStream = auditAwsKinesisFirehoseDeliveryStream.Name,\n },\n S3 = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationS3InputArgs\n {\n Bucket = auditAwsS3Bucket.Bucket,\n },\n },\n },\n },\n },\n new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementInputArgs\n {\n Sid = \"Deidentify\",\n DataIdentifiers = new[]\n {\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n },\n Operation = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationInputArgs\n {\n Deidentify = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationDeidentifyInputArgs\n {\n MaskConfig = null,\n },\n },\n },\n },\n });\n\n var exampleLogDataProtectionPolicy = new Aws.CloudWatch.LogDataProtectionPolicy(\"example\", new()\n {\n LogGroupName = exampleAwsCloudwatchLogGroup.Name,\n PolicyDocument = example.Apply(getLogDataProtectionPolicyDocumentResult =\u003e getLogDataProtectionPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.GetLogDataProtectionPolicyDocument(ctx, \u0026cloudwatch.GetLogDataProtectionPolicyDocumentArgs{\n\t\t\tName: \"Example\",\n\t\t\tStatements: []cloudwatch.GetLogDataProtectionPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Audit\"),\n\t\t\t\t\tDataIdentifiers: []string{\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n\t\t\t\t\t},\n\t\t\t\t\tOperation: {\n\t\t\t\t\t\tAudit: {\n\t\t\t\t\t\t\tFindingsDestination: {\n\t\t\t\t\t\t\t\tCloudwatchLogs: {\n\t\t\t\t\t\t\t\t\tLogGroup: audit.Name,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tFirehose: {\n\t\t\t\t\t\t\t\t\tDeliveryStream: auditAwsKinesisFirehoseDeliveryStream.Name,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tS3: {\n\t\t\t\t\t\t\t\t\tBucket: auditAwsS3Bucket.Bucket,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Deidentify\"),\n\t\t\t\t\tDataIdentifiers: []string{\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n\t\t\t\t\t},\n\t\t\t\t\tOperation: {\n\t\t\t\t\t\tDeidentify: {\n\t\t\t\t\t\t\tMaskConfig: {},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogDataProtectionPolicy(ctx, \"example\", \u0026cloudwatch.LogDataProtectionPolicyArgs{\n\t\t\tLogGroupName: pulumi.Any(exampleAwsCloudwatchLogGroup.Name),\n\t\t\tPolicyDocument: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetLogDataProtectionPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogDataProtectionPolicy;\nimport com.pulumi.aws.cloudwatch.LogDataProtectionPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudwatchFunctions.getLogDataProtectionPolicyDocument(GetLogDataProtectionPolicyDocumentArgs.builder()\n .name(\"Example\")\n .statements( \n GetLogDataProtectionPolicyDocumentStatementArgs.builder()\n .sid(\"Audit\")\n .dataIdentifiers( \n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\")\n .operation(GetLogDataProtectionPolicyDocumentStatementOperationArgs.builder()\n .audit(GetLogDataProtectionPolicyDocumentStatementOperationAuditArgs.builder()\n .findingsDestination(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationArgs.builder()\n .cloudwatchLogs(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationCloudwatchLogsArgs.builder()\n .logGroup(audit.name())\n .build())\n .firehose(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationFirehoseArgs.builder()\n .deliveryStream(auditAwsKinesisFirehoseDeliveryStream.name())\n .build())\n .s3(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationS3Args.builder()\n .bucket(auditAwsS3Bucket.bucket())\n .build())\n .build())\n .build())\n .build())\n .build(),\n GetLogDataProtectionPolicyDocumentStatementArgs.builder()\n .sid(\"Deidentify\")\n .dataIdentifiers( \n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\")\n .operation(GetLogDataProtectionPolicyDocumentStatementOperationArgs.builder()\n .deidentify(GetLogDataProtectionPolicyDocumentStatementOperationDeidentifyArgs.builder()\n .maskConfig()\n .build())\n .build())\n .build())\n .build());\n\n var exampleLogDataProtectionPolicy = new LogDataProtectionPolicy(\"exampleLogDataProtectionPolicy\", LogDataProtectionPolicyArgs.builder()\n .logGroupName(exampleAwsCloudwatchLogGroup.name())\n .policyDocument(example.applyValue(getLogDataProtectionPolicyDocumentResult -\u003e getLogDataProtectionPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLogDataProtectionPolicy:\n type: aws:cloudwatch:LogDataProtectionPolicy\n name: example\n properties:\n logGroupName: ${exampleAwsCloudwatchLogGroup.name}\n policyDocument: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudwatch:getLogDataProtectionPolicyDocument\n Arguments:\n name: Example\n statements:\n - sid: Audit\n dataIdentifiers:\n - arn:aws:dataprotection::aws:data-identifier/EmailAddress\n - arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\n operation:\n audit:\n findingsDestination:\n cloudwatchLogs:\n logGroup: ${audit.name}\n firehose:\n deliveryStream: ${auditAwsKinesisFirehoseDeliveryStream.name}\n s3:\n bucket: ${auditAwsS3Bucket.bucket}\n - sid: Deidentify\n dataIdentifiers:\n - arn:aws:dataprotection::aws:data-identifier/EmailAddress\n - arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\n operation:\n deidentify:\n maskConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLogDataProtectionPolicyDocument.\n", "properties": { @@ -387887,7 +387887,7 @@ } }, "aws:cloudwatch/getLogGroup:getLogGroup": { - "description": "Use this data source to get information about an AWS Cloudwatch Log Group\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudwatch.getLogGroup({\n name: \"MyImportantLogs\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.get_log_group(name=\"MyImportantLogs\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudWatch.GetLogGroup.Invoke(new()\n {\n Name = \"MyImportantLogs\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\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 := cloudwatch.LookupLogGroup(ctx, \u0026cloudwatch.LookupLogGroupArgs{\n\t\t\tName: \"MyImportantLogs\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetLogGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudwatchFunctions.getLogGroup(GetLogGroupArgs.builder()\n .name(\"MyImportantLogs\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cloudwatch:getLogGroup\n arguments:\n name: MyImportantLogs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about an AWS Cloudwatch Log Group\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudwatch.getLogGroup({\n name: \"MyImportantLogs\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.get_log_group(name=\"MyImportantLogs\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudWatch.GetLogGroup.Invoke(new()\n {\n Name = \"MyImportantLogs\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\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 := cloudwatch.LookupLogGroup(ctx, \u0026cloudwatch.LookupLogGroupArgs{\n\t\t\tName: \"MyImportantLogs\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetLogGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudwatchFunctions.getLogGroup(GetLogGroupArgs.builder()\n .name(\"MyImportantLogs\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudwatch:getLogGroup\n Arguments:\n name: MyImportantLogs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLogGroup.\n", "properties": { @@ -387960,7 +387960,7 @@ } }, "aws:cloudwatch/getLogGroups:getLogGroups": { - "description": "Use this data source to get a list of AWS Cloudwatch Log Groups\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudwatch.getLogGroups({\n logGroupNamePrefix: \"/MyImportantLogs\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.get_log_groups(log_group_name_prefix=\"/MyImportantLogs\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudWatch.GetLogGroups.Invoke(new()\n {\n LogGroupNamePrefix = \"/MyImportantLogs\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\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 := cloudwatch.GetLogGroups(ctx, \u0026cloudwatch.GetLogGroupsArgs{\n\t\t\tLogGroupNamePrefix: pulumi.StringRef(\"/MyImportantLogs\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetLogGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudwatchFunctions.getLogGroups(GetLogGroupsArgs.builder()\n .logGroupNamePrefix(\"/MyImportantLogs\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cloudwatch:getLogGroups\n arguments:\n logGroupNamePrefix: /MyImportantLogs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get a list of AWS Cloudwatch Log Groups\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudwatch.getLogGroups({\n logGroupNamePrefix: \"/MyImportantLogs\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.get_log_groups(log_group_name_prefix=\"/MyImportantLogs\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudWatch.GetLogGroups.Invoke(new()\n {\n LogGroupNamePrefix = \"/MyImportantLogs\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\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 := cloudwatch.GetLogGroups(ctx, \u0026cloudwatch.GetLogGroupsArgs{\n\t\t\tLogGroupNamePrefix: pulumi.StringRef(\"/MyImportantLogs\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetLogGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CloudwatchFunctions.getLogGroups(GetLogGroupsArgs.builder()\n .logGroupNamePrefix(\"/MyImportantLogs\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudwatch:getLogGroups\n Arguments:\n logGroupNamePrefix: /MyImportantLogs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLogGroups.\n", "properties": { @@ -388005,7 +388005,7 @@ } }, "aws:codeartifact/getAuthorizationToken:getAuthorizationToken": { - "description": "The CodeArtifact Authorization Token data source generates a temporary authentication token for accessing repositories in a CodeArtifact domain.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.codeartifact.getAuthorizationToken({\n domain: testAwsCodeartifactDomain.domain,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.codeartifact.get_authorization_token(domain=test_aws_codeartifact_domain[\"domain\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.CodeArtifact.GetAuthorizationToken.Invoke(new()\n {\n Domain = testAwsCodeartifactDomain.Domain,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\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 := codeartifact.GetAuthorizationToken(ctx, \u0026codeartifact.GetAuthorizationTokenArgs{\n\t\t\tDomain: testAwsCodeartifactDomain.Domain,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codeartifact.CodeartifactFunctions;\nimport com.pulumi.aws.codeartifact.inputs.GetAuthorizationTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = CodeartifactFunctions.getAuthorizationToken(GetAuthorizationTokenArgs.builder()\n .domain(testAwsCodeartifactDomain.domain())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:codeartifact:getAuthorizationToken\n arguments:\n domain: ${testAwsCodeartifactDomain.domain}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The CodeArtifact Authorization Token data source generates a temporary authentication token for accessing repositories in a CodeArtifact domain.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.codeartifact.getAuthorizationToken({\n domain: testAwsCodeartifactDomain.domain,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.codeartifact.get_authorization_token(domain=test_aws_codeartifact_domain[\"domain\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.CodeArtifact.GetAuthorizationToken.Invoke(new()\n {\n Domain = testAwsCodeartifactDomain.Domain,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\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 := codeartifact.GetAuthorizationToken(ctx, \u0026codeartifact.GetAuthorizationTokenArgs{\n\t\t\tDomain: testAwsCodeartifactDomain.Domain,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codeartifact.CodeartifactFunctions;\nimport com.pulumi.aws.codeartifact.inputs.GetAuthorizationTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = CodeartifactFunctions.getAuthorizationToken(GetAuthorizationTokenArgs.builder()\n .domain(testAwsCodeartifactDomain.domain())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:codeartifact:getAuthorizationToken\n Arguments:\n domain: ${testAwsCodeartifactDomain.domain}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAuthorizationToken.\n", "properties": { @@ -388063,7 +388063,7 @@ } }, "aws:codeartifact/getRepositoryEndpoint:getRepositoryEndpoint": { - "description": "The CodeArtifact Repository Endpoint data source returns the endpoint of a repository for a specific package format.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.codeartifact.getRepositoryEndpoint({\n domain: testAwsCodeartifactDomain.domain,\n repository: testAwsCodeartifactRepository.repository,\n format: \"npm\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.codeartifact.get_repository_endpoint(domain=test_aws_codeartifact_domain[\"domain\"],\n repository=test_aws_codeartifact_repository[\"repository\"],\n format=\"npm\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.CodeArtifact.GetRepositoryEndpoint.Invoke(new()\n {\n Domain = testAwsCodeartifactDomain.Domain,\n Repository = testAwsCodeartifactRepository.Repository,\n Format = \"npm\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\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 := codeartifact.GetRepositoryEndpoint(ctx, \u0026codeartifact.GetRepositoryEndpointArgs{\n\t\t\tDomain: testAwsCodeartifactDomain.Domain,\n\t\t\tRepository: testAwsCodeartifactRepository.Repository,\n\t\t\tFormat: \"npm\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codeartifact.CodeartifactFunctions;\nimport com.pulumi.aws.codeartifact.inputs.GetRepositoryEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = CodeartifactFunctions.getRepositoryEndpoint(GetRepositoryEndpointArgs.builder()\n .domain(testAwsCodeartifactDomain.domain())\n .repository(testAwsCodeartifactRepository.repository())\n .format(\"npm\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:codeartifact:getRepositoryEndpoint\n arguments:\n domain: ${testAwsCodeartifactDomain.domain}\n repository: ${testAwsCodeartifactRepository.repository}\n format: npm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The CodeArtifact Repository Endpoint data source returns the endpoint of a repository for a specific package format.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.codeartifact.getRepositoryEndpoint({\n domain: testAwsCodeartifactDomain.domain,\n repository: testAwsCodeartifactRepository.repository,\n format: \"npm\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.codeartifact.get_repository_endpoint(domain=test_aws_codeartifact_domain[\"domain\"],\n repository=test_aws_codeartifact_repository[\"repository\"],\n format=\"npm\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.CodeArtifact.GetRepositoryEndpoint.Invoke(new()\n {\n Domain = testAwsCodeartifactDomain.Domain,\n Repository = testAwsCodeartifactRepository.Repository,\n Format = \"npm\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\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 := codeartifact.GetRepositoryEndpoint(ctx, \u0026codeartifact.GetRepositoryEndpointArgs{\n\t\t\tDomain: testAwsCodeartifactDomain.Domain,\n\t\t\tRepository: testAwsCodeartifactRepository.Repository,\n\t\t\tFormat: \"npm\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codeartifact.CodeartifactFunctions;\nimport com.pulumi.aws.codeartifact.inputs.GetRepositoryEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = CodeartifactFunctions.getRepositoryEndpoint(GetRepositoryEndpointArgs.builder()\n .domain(testAwsCodeartifactDomain.domain())\n .repository(testAwsCodeartifactRepository.repository())\n .format(\"npm\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:codeartifact:getRepositoryEndpoint\n Arguments:\n domain: ${testAwsCodeartifactDomain.domain}\n repository: ${testAwsCodeartifactRepository.repository}\n format: npm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRepositoryEndpoint.\n", "properties": { @@ -388127,7 +388127,7 @@ } }, "aws:codebuild/getFleet:getFleet": { - "description": "Retrieve information about an CodeBuild Fleet.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testFleet = new aws.codebuild.Fleet(\"test\", {\n baseCapacity: 2,\n computeType: \"BUILD_GENERAL1_SMALL\",\n environmentType: \"LINUX_CONTAINER\",\n name: \"full-example-codebuild-fleet\",\n overflowBehavior: \"QUEUE\",\n scalingConfiguration: {\n maxCapacity: 5,\n scalingType: \"TARGET_TRACKING_SCALING\",\n targetTrackingScalingConfigs: [{\n metricType: \"FLEET_UTILIZATION_RATE\",\n targetValue: 97.5,\n }],\n },\n});\nconst test = aws.codebuild.getFleetOutput({\n name: testFleet.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_fleet = aws.codebuild.Fleet(\"test\",\n base_capacity=2,\n compute_type=\"BUILD_GENERAL1_SMALL\",\n environment_type=\"LINUX_CONTAINER\",\n name=\"full-example-codebuild-fleet\",\n overflow_behavior=\"QUEUE\",\n scaling_configuration={\n \"max_capacity\": 5,\n \"scaling_type\": \"TARGET_TRACKING_SCALING\",\n \"target_tracking_scaling_configs\": [{\n \"metric_type\": \"FLEET_UTILIZATION_RATE\",\n \"target_value\": 97.5,\n }],\n })\ntest = aws.codebuild.get_fleet_output(name=test_fleet.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testFleet = new Aws.CodeBuild.Fleet(\"test\", new()\n {\n BaseCapacity = 2,\n ComputeType = \"BUILD_GENERAL1_SMALL\",\n EnvironmentType = \"LINUX_CONTAINER\",\n Name = \"full-example-codebuild-fleet\",\n OverflowBehavior = \"QUEUE\",\n ScalingConfiguration = new Aws.CodeBuild.Inputs.FleetScalingConfigurationArgs\n {\n MaxCapacity = 5,\n ScalingType = \"TARGET_TRACKING_SCALING\",\n TargetTrackingScalingConfigs = new[]\n {\n new Aws.CodeBuild.Inputs.FleetScalingConfigurationTargetTrackingScalingConfigArgs\n {\n MetricType = \"FLEET_UTILIZATION_RATE\",\n TargetValue = 97.5,\n },\n },\n },\n });\n\n var test = Aws.CodeBuild.GetFleet.Invoke(new()\n {\n Name = testFleet.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestFleet, err := codebuild.NewFleet(ctx, \"test\", \u0026codebuild.FleetArgs{\n\t\t\tBaseCapacity: pulumi.Int(2),\n\t\t\tComputeType: pulumi.String(\"BUILD_GENERAL1_SMALL\"),\n\t\t\tEnvironmentType: pulumi.String(\"LINUX_CONTAINER\"),\n\t\t\tName: pulumi.String(\"full-example-codebuild-fleet\"),\n\t\t\tOverflowBehavior: pulumi.String(\"QUEUE\"),\n\t\t\tScalingConfiguration: \u0026codebuild.FleetScalingConfigurationArgs{\n\t\t\t\tMaxCapacity: pulumi.Int(5),\n\t\t\t\tScalingType: pulumi.String(\"TARGET_TRACKING_SCALING\"),\n\t\t\t\tTargetTrackingScalingConfigs: codebuild.FleetScalingConfigurationTargetTrackingScalingConfigArray{\n\t\t\t\t\t\u0026codebuild.FleetScalingConfigurationTargetTrackingScalingConfigArgs{\n\t\t\t\t\t\tMetricType: pulumi.String(\"FLEET_UTILIZATION_RATE\"),\n\t\t\t\t\t\tTargetValue: pulumi.Float64(97.5),\n\t\t\t\t\t},\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\t_ = codebuild.LookupFleetOutput(ctx, codebuild.GetFleetOutputArgs{\n\t\t\tName: testFleet.Name,\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codebuild.Fleet;\nimport com.pulumi.aws.codebuild.FleetArgs;\nimport com.pulumi.aws.codebuild.inputs.FleetScalingConfigurationArgs;\nimport com.pulumi.aws.codebuild.CodebuildFunctions;\nimport com.pulumi.aws.codebuild.inputs.GetFleetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testFleet = new Fleet(\"testFleet\", FleetArgs.builder()\n .baseCapacity(2)\n .computeType(\"BUILD_GENERAL1_SMALL\")\n .environmentType(\"LINUX_CONTAINER\")\n .name(\"full-example-codebuild-fleet\")\n .overflowBehavior(\"QUEUE\")\n .scalingConfiguration(FleetScalingConfigurationArgs.builder()\n .maxCapacity(5)\n .scalingType(\"TARGET_TRACKING_SCALING\")\n .targetTrackingScalingConfigs(FleetScalingConfigurationTargetTrackingScalingConfigArgs.builder()\n .metricType(\"FLEET_UTILIZATION_RATE\")\n .targetValue(97.5)\n .build())\n .build())\n .build());\n\n final var test = CodebuildFunctions.getFleet(GetFleetArgs.builder()\n .name(testFleet.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testFleet:\n type: aws:codebuild:Fleet\n name: test\n properties:\n baseCapacity: 2\n computeType: BUILD_GENERAL1_SMALL\n environmentType: LINUX_CONTAINER\n name: full-example-codebuild-fleet\n overflowBehavior: QUEUE\n scalingConfiguration:\n maxCapacity: 5\n scalingType: TARGET_TRACKING_SCALING\n targetTrackingScalingConfigs:\n - metricType: FLEET_UTILIZATION_RATE\n targetValue: 97.5\nvariables:\n test:\n fn::invoke:\n function: aws:codebuild:getFleet\n arguments:\n name: ${testFleet.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.codebuild.getFleet({\n name: \"my-codebuild-fleet-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codebuild.get_fleet(name=\"my-codebuild-fleet-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CodeBuild.GetFleet.Invoke(new()\n {\n Name = \"my-codebuild-fleet-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\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 := codebuild.LookupFleet(ctx, \u0026codebuild.LookupFleetArgs{\n\t\t\tName: \"my-codebuild-fleet-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codebuild.CodebuildFunctions;\nimport com.pulumi.aws.codebuild.inputs.GetFleetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CodebuildFunctions.getFleet(GetFleetArgs.builder()\n .name(\"my-codebuild-fleet-name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:codebuild:getFleet\n arguments:\n name: my-codebuild-fleet-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about an CodeBuild Fleet.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testFleet = new aws.codebuild.Fleet(\"test\", {\n baseCapacity: 2,\n computeType: \"BUILD_GENERAL1_SMALL\",\n environmentType: \"LINUX_CONTAINER\",\n name: \"full-example-codebuild-fleet\",\n overflowBehavior: \"QUEUE\",\n scalingConfiguration: {\n maxCapacity: 5,\n scalingType: \"TARGET_TRACKING_SCALING\",\n targetTrackingScalingConfigs: [{\n metricType: \"FLEET_UTILIZATION_RATE\",\n targetValue: 97.5,\n }],\n },\n});\nconst test = aws.codebuild.getFleetOutput({\n name: testFleet.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_fleet = aws.codebuild.Fleet(\"test\",\n base_capacity=2,\n compute_type=\"BUILD_GENERAL1_SMALL\",\n environment_type=\"LINUX_CONTAINER\",\n name=\"full-example-codebuild-fleet\",\n overflow_behavior=\"QUEUE\",\n scaling_configuration={\n \"max_capacity\": 5,\n \"scaling_type\": \"TARGET_TRACKING_SCALING\",\n \"target_tracking_scaling_configs\": [{\n \"metric_type\": \"FLEET_UTILIZATION_RATE\",\n \"target_value\": 97.5,\n }],\n })\ntest = aws.codebuild.get_fleet_output(name=test_fleet.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testFleet = new Aws.CodeBuild.Fleet(\"test\", new()\n {\n BaseCapacity = 2,\n ComputeType = \"BUILD_GENERAL1_SMALL\",\n EnvironmentType = \"LINUX_CONTAINER\",\n Name = \"full-example-codebuild-fleet\",\n OverflowBehavior = \"QUEUE\",\n ScalingConfiguration = new Aws.CodeBuild.Inputs.FleetScalingConfigurationArgs\n {\n MaxCapacity = 5,\n ScalingType = \"TARGET_TRACKING_SCALING\",\n TargetTrackingScalingConfigs = new[]\n {\n new Aws.CodeBuild.Inputs.FleetScalingConfigurationTargetTrackingScalingConfigArgs\n {\n MetricType = \"FLEET_UTILIZATION_RATE\",\n TargetValue = 97.5,\n },\n },\n },\n });\n\n var test = Aws.CodeBuild.GetFleet.Invoke(new()\n {\n Name = testFleet.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestFleet, err := codebuild.NewFleet(ctx, \"test\", \u0026codebuild.FleetArgs{\n\t\t\tBaseCapacity: pulumi.Int(2),\n\t\t\tComputeType: pulumi.String(\"BUILD_GENERAL1_SMALL\"),\n\t\t\tEnvironmentType: pulumi.String(\"LINUX_CONTAINER\"),\n\t\t\tName: pulumi.String(\"full-example-codebuild-fleet\"),\n\t\t\tOverflowBehavior: pulumi.String(\"QUEUE\"),\n\t\t\tScalingConfiguration: \u0026codebuild.FleetScalingConfigurationArgs{\n\t\t\t\tMaxCapacity: pulumi.Int(5),\n\t\t\t\tScalingType: pulumi.String(\"TARGET_TRACKING_SCALING\"),\n\t\t\t\tTargetTrackingScalingConfigs: codebuild.FleetScalingConfigurationTargetTrackingScalingConfigArray{\n\t\t\t\t\t\u0026codebuild.FleetScalingConfigurationTargetTrackingScalingConfigArgs{\n\t\t\t\t\t\tMetricType: pulumi.String(\"FLEET_UTILIZATION_RATE\"),\n\t\t\t\t\t\tTargetValue: pulumi.Float64(97.5),\n\t\t\t\t\t},\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\t_ = codebuild.LookupFleetOutput(ctx, codebuild.GetFleetOutputArgs{\n\t\t\tName: testFleet.Name,\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codebuild.Fleet;\nimport com.pulumi.aws.codebuild.FleetArgs;\nimport com.pulumi.aws.codebuild.inputs.FleetScalingConfigurationArgs;\nimport com.pulumi.aws.codebuild.CodebuildFunctions;\nimport com.pulumi.aws.codebuild.inputs.GetFleetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testFleet = new Fleet(\"testFleet\", FleetArgs.builder()\n .baseCapacity(2)\n .computeType(\"BUILD_GENERAL1_SMALL\")\n .environmentType(\"LINUX_CONTAINER\")\n .name(\"full-example-codebuild-fleet\")\n .overflowBehavior(\"QUEUE\")\n .scalingConfiguration(FleetScalingConfigurationArgs.builder()\n .maxCapacity(5)\n .scalingType(\"TARGET_TRACKING_SCALING\")\n .targetTrackingScalingConfigs(FleetScalingConfigurationTargetTrackingScalingConfigArgs.builder()\n .metricType(\"FLEET_UTILIZATION_RATE\")\n .targetValue(97.5)\n .build())\n .build())\n .build());\n\n final var test = CodebuildFunctions.getFleet(GetFleetArgs.builder()\n .name(testFleet.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testFleet:\n type: aws:codebuild:Fleet\n name: test\n properties:\n baseCapacity: 2\n computeType: BUILD_GENERAL1_SMALL\n environmentType: LINUX_CONTAINER\n name: full-example-codebuild-fleet\n overflowBehavior: QUEUE\n scalingConfiguration:\n maxCapacity: 5\n scalingType: TARGET_TRACKING_SCALING\n targetTrackingScalingConfigs:\n - metricType: FLEET_UTILIZATION_RATE\n targetValue: 97.5\nvariables:\n test:\n fn::invoke:\n Function: aws:codebuild:getFleet\n Arguments:\n name: ${testFleet.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.codebuild.getFleet({\n name: \"my-codebuild-fleet-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codebuild.get_fleet(name=\"my-codebuild-fleet-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CodeBuild.GetFleet.Invoke(new()\n {\n Name = \"my-codebuild-fleet-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\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 := codebuild.LookupFleet(ctx, \u0026codebuild.LookupFleetArgs{\n\t\t\tName: \"my-codebuild-fleet-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codebuild.CodebuildFunctions;\nimport com.pulumi.aws.codebuild.inputs.GetFleetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CodebuildFunctions.getFleet(GetFleetArgs.builder()\n .name(\"my-codebuild-fleet-name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:codebuild:getFleet\n Arguments:\n name: my-codebuild-fleet-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getFleet.\n", "properties": { @@ -388244,7 +388244,7 @@ } }, "aws:codecatalyst/getDevEnvironment:getDevEnvironment": { - "description": "Data source for managing an AWS CodeCatalyst Dev Environment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.codecatalyst.getDevEnvironment({\n spaceName: \"myspace\",\n projectName: \"myproject\",\n envId: exampleAwsCodecatalystDevEnvironment.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codecatalyst.get_dev_environment(space_name=\"myspace\",\n project_name=\"myproject\",\n env_id=example_aws_codecatalyst_dev_environment[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CodeCatalyst.GetDevEnvironment.Invoke(new()\n {\n SpaceName = \"myspace\",\n ProjectName = \"myproject\",\n EnvId = exampleAwsCodecatalystDevEnvironment.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecatalyst\"\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 := codecatalyst.LookupDevEnvironment(ctx, \u0026codecatalyst.LookupDevEnvironmentArgs{\n\t\t\tSpaceName: \"myspace\",\n\t\t\tProjectName: \"myproject\",\n\t\t\tEnvId: exampleAwsCodecatalystDevEnvironment.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codecatalyst.CodecatalystFunctions;\nimport com.pulumi.aws.codecatalyst.inputs.GetDevEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CodecatalystFunctions.getDevEnvironment(GetDevEnvironmentArgs.builder()\n .spaceName(\"myspace\")\n .projectName(\"myproject\")\n .envId(exampleAwsCodecatalystDevEnvironment.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:codecatalyst:getDevEnvironment\n arguments:\n spaceName: myspace\n projectName: myproject\n envId: ${exampleAwsCodecatalystDevEnvironment.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS CodeCatalyst Dev Environment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.codecatalyst.getDevEnvironment({\n spaceName: \"myspace\",\n projectName: \"myproject\",\n envId: exampleAwsCodecatalystDevEnvironment.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codecatalyst.get_dev_environment(space_name=\"myspace\",\n project_name=\"myproject\",\n env_id=example_aws_codecatalyst_dev_environment[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CodeCatalyst.GetDevEnvironment.Invoke(new()\n {\n SpaceName = \"myspace\",\n ProjectName = \"myproject\",\n EnvId = exampleAwsCodecatalystDevEnvironment.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecatalyst\"\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 := codecatalyst.LookupDevEnvironment(ctx, \u0026codecatalyst.LookupDevEnvironmentArgs{\n\t\t\tSpaceName: \"myspace\",\n\t\t\tProjectName: \"myproject\",\n\t\t\tEnvId: exampleAwsCodecatalystDevEnvironment.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codecatalyst.CodecatalystFunctions;\nimport com.pulumi.aws.codecatalyst.inputs.GetDevEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CodecatalystFunctions.getDevEnvironment(GetDevEnvironmentArgs.builder()\n .spaceName(\"myspace\")\n .projectName(\"myproject\")\n .envId(exampleAwsCodecatalystDevEnvironment.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:codecatalyst:getDevEnvironment\n Arguments:\n spaceName: myspace\n projectName: myproject\n envId: ${exampleAwsCodecatalystDevEnvironment.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDevEnvironment.\n", "properties": { @@ -388379,7 +388379,7 @@ } }, "aws:codecommit/getApprovalRuleTemplate:getApprovalRuleTemplate": { - "description": "Provides details about a specific CodeCommit Approval Rule Template.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.codecommit.getApprovalRuleTemplate({\n name: \"MyExampleApprovalRuleTemplate\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codecommit.get_approval_rule_template(name=\"MyExampleApprovalRuleTemplate\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CodeCommit.GetApprovalRuleTemplate.Invoke(new()\n {\n Name = \"MyExampleApprovalRuleTemplate\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\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 := codecommit.LookupApprovalRuleTemplate(ctx, \u0026codecommit.LookupApprovalRuleTemplateArgs{\n\t\t\tName: \"MyExampleApprovalRuleTemplate\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codecommit.CodecommitFunctions;\nimport com.pulumi.aws.codecommit.inputs.GetApprovalRuleTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CodecommitFunctions.getApprovalRuleTemplate(GetApprovalRuleTemplateArgs.builder()\n .name(\"MyExampleApprovalRuleTemplate\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:codecommit:getApprovalRuleTemplate\n arguments:\n name: MyExampleApprovalRuleTemplate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific CodeCommit Approval Rule Template.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.codecommit.getApprovalRuleTemplate({\n name: \"MyExampleApprovalRuleTemplate\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codecommit.get_approval_rule_template(name=\"MyExampleApprovalRuleTemplate\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CodeCommit.GetApprovalRuleTemplate.Invoke(new()\n {\n Name = \"MyExampleApprovalRuleTemplate\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\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 := codecommit.LookupApprovalRuleTemplate(ctx, \u0026codecommit.LookupApprovalRuleTemplateArgs{\n\t\t\tName: \"MyExampleApprovalRuleTemplate\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codecommit.CodecommitFunctions;\nimport com.pulumi.aws.codecommit.inputs.GetApprovalRuleTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CodecommitFunctions.getApprovalRuleTemplate(GetApprovalRuleTemplateArgs.builder()\n .name(\"MyExampleApprovalRuleTemplate\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:codecommit:getApprovalRuleTemplate\n Arguments:\n name: MyExampleApprovalRuleTemplate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getApprovalRuleTemplate.\n", "properties": { @@ -388447,7 +388447,7 @@ } }, "aws:codecommit/getRepository:getRepository": { - "description": "The CodeCommit Repository data source allows the ARN, Repository ID, Repository URL for HTTP and Repository URL for SSH to be retrieved for an CodeCommit repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.codecommit.getRepository({\n repositoryName: \"MyTestRepository\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.codecommit.get_repository(repository_name=\"MyTestRepository\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.CodeCommit.GetRepository.Invoke(new()\n {\n RepositoryName = \"MyTestRepository\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\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 := codecommit.LookupRepository(ctx, \u0026codecommit.LookupRepositoryArgs{\n\t\t\tRepositoryName: \"MyTestRepository\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codecommit.CodecommitFunctions;\nimport com.pulumi.aws.codecommit.inputs.GetRepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = CodecommitFunctions.getRepository(GetRepositoryArgs.builder()\n .repositoryName(\"MyTestRepository\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:codecommit:getRepository\n arguments:\n repositoryName: MyTestRepository\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The CodeCommit Repository data source allows the ARN, Repository ID, Repository URL for HTTP and Repository URL for SSH to be retrieved for an CodeCommit repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.codecommit.getRepository({\n repositoryName: \"MyTestRepository\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.codecommit.get_repository(repository_name=\"MyTestRepository\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.CodeCommit.GetRepository.Invoke(new()\n {\n RepositoryName = \"MyTestRepository\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\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 := codecommit.LookupRepository(ctx, \u0026codecommit.LookupRepositoryArgs{\n\t\t\tRepositoryName: \"MyTestRepository\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codecommit.CodecommitFunctions;\nimport com.pulumi.aws.codecommit.inputs.GetRepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = CodecommitFunctions.getRepository(GetRepositoryArgs.builder()\n .repositoryName(\"MyTestRepository\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:codecommit:getRepository\n Arguments:\n repositoryName: MyTestRepository\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRepository.\n", "properties": { @@ -388505,7 +388505,7 @@ } }, "aws:codeguruprofiler/getProfilingGroup:getProfilingGroup": { - "description": "Data source for managing an AWS CodeGuru Profiler Profiling Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.codeguruprofiler.getProfilingGroup({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codeguruprofiler.get_profiling_group(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CodeGuruProfiler.GetProfilingGroup.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeguruprofiler\"\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 := codeguruprofiler.LookupProfilingGroup(ctx, \u0026codeguruprofiler.LookupProfilingGroupArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codeguruprofiler.CodeguruprofilerFunctions;\nimport com.pulumi.aws.codeguruprofiler.inputs.GetProfilingGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CodeguruprofilerFunctions.getProfilingGroup(GetProfilingGroupArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:codeguruprofiler:getProfilingGroup\n arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS CodeGuru Profiler Profiling Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.codeguruprofiler.getProfilingGroup({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codeguruprofiler.get_profiling_group(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CodeGuruProfiler.GetProfilingGroup.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeguruprofiler\"\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 := codeguruprofiler.LookupProfilingGroup(ctx, \u0026codeguruprofiler.LookupProfilingGroupArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codeguruprofiler.CodeguruprofilerFunctions;\nimport com.pulumi.aws.codeguruprofiler.inputs.GetProfilingGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CodeguruprofilerFunctions.getProfilingGroup(GetProfilingGroupArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:codeguruprofiler:getProfilingGroup\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProfilingGroup.\n", "properties": { @@ -388581,7 +388581,7 @@ } }, "aws:codestarconnections/getConnection:getConnection": { - "description": "Provides details about CodeStar Connection.\n\n## Example Usage\n\n### By ARN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.codestarconnections.getConnection({\n arn: exampleAwsCodestarconnectionsConnection.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codestarconnections.get_connection(arn=example_aws_codestarconnections_connection[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CodeStarConnections.GetConnection.Invoke(new()\n {\n Arn = exampleAwsCodestarconnectionsConnection.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections\"\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 := codestarconnections.LookupConnection(ctx, \u0026codestarconnections.LookupConnectionArgs{\n\t\t\tArn: pulumi.StringRef(exampleAwsCodestarconnectionsConnection.Arn),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codestarconnections.CodestarconnectionsFunctions;\nimport com.pulumi.aws.codestarconnections.inputs.GetConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CodestarconnectionsFunctions.getConnection(GetConnectionArgs.builder()\n .arn(exampleAwsCodestarconnectionsConnection.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:codestarconnections:getConnection\n arguments:\n arn: ${exampleAwsCodestarconnectionsConnection.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.codestarconnections.getConnection({\n name: exampleAwsCodestarconnectionsConnection.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codestarconnections.get_connection(name=example_aws_codestarconnections_connection[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CodeStarConnections.GetConnection.Invoke(new()\n {\n Name = exampleAwsCodestarconnectionsConnection.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections\"\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 := codestarconnections.LookupConnection(ctx, \u0026codestarconnections.LookupConnectionArgs{\n\t\t\tName: pulumi.StringRef(exampleAwsCodestarconnectionsConnection.Name),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codestarconnections.CodestarconnectionsFunctions;\nimport com.pulumi.aws.codestarconnections.inputs.GetConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CodestarconnectionsFunctions.getConnection(GetConnectionArgs.builder()\n .name(exampleAwsCodestarconnectionsConnection.name())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:codestarconnections:getConnection\n arguments:\n name: ${exampleAwsCodestarconnectionsConnection.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about CodeStar Connection.\n\n## Example Usage\n\n### By ARN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.codestarconnections.getConnection({\n arn: exampleAwsCodestarconnectionsConnection.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codestarconnections.get_connection(arn=example_aws_codestarconnections_connection[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CodeStarConnections.GetConnection.Invoke(new()\n {\n Arn = exampleAwsCodestarconnectionsConnection.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections\"\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 := codestarconnections.LookupConnection(ctx, \u0026codestarconnections.LookupConnectionArgs{\n\t\t\tArn: pulumi.StringRef(exampleAwsCodestarconnectionsConnection.Arn),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codestarconnections.CodestarconnectionsFunctions;\nimport com.pulumi.aws.codestarconnections.inputs.GetConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CodestarconnectionsFunctions.getConnection(GetConnectionArgs.builder()\n .arn(exampleAwsCodestarconnectionsConnection.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:codestarconnections:getConnection\n Arguments:\n arn: ${exampleAwsCodestarconnectionsConnection.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.codestarconnections.getConnection({\n name: exampleAwsCodestarconnectionsConnection.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codestarconnections.get_connection(name=example_aws_codestarconnections_connection[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CodeStarConnections.GetConnection.Invoke(new()\n {\n Name = exampleAwsCodestarconnectionsConnection.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections\"\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 := codestarconnections.LookupConnection(ctx, \u0026codestarconnections.LookupConnectionArgs{\n\t\t\tName: pulumi.StringRef(exampleAwsCodestarconnectionsConnection.Name),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codestarconnections.CodestarconnectionsFunctions;\nimport com.pulumi.aws.codestarconnections.inputs.GetConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CodestarconnectionsFunctions.getConnection(GetConnectionArgs.builder()\n .name(exampleAwsCodestarconnectionsConnection.name())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:codestarconnections:getConnection\n Arguments:\n name: ${exampleAwsCodestarconnectionsConnection.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getConnection.\n", "properties": { @@ -388650,7 +388650,7 @@ } }, "aws:cognito/getIdentityPool:getIdentityPool": { - "description": "Data source for managing an AWS Cognito Identity Pool.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cognito.getIdentityPool({\n identityPoolName: \"test pool\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.get_identity_pool(identity_pool_name=\"test pool\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Cognito.GetIdentityPool.Invoke(new()\n {\n IdentityPoolName = \"test pool\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.LookupIdentityPool(ctx, \u0026cognito.LookupIdentityPoolArgs{\n\t\t\tIdentityPoolName: \"test pool\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetIdentityPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CognitoFunctions.getIdentityPool(GetIdentityPoolArgs.builder()\n .identityPoolName(\"test pool\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cognito:getIdentityPool\n arguments:\n identityPoolName: test pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Cognito Identity Pool.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cognito.getIdentityPool({\n identityPoolName: \"test pool\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.get_identity_pool(identity_pool_name=\"test pool\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Cognito.GetIdentityPool.Invoke(new()\n {\n IdentityPoolName = \"test pool\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.LookupIdentityPool(ctx, \u0026cognito.LookupIdentityPoolArgs{\n\t\t\tIdentityPoolName: \"test pool\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetIdentityPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CognitoFunctions.getIdentityPool(GetIdentityPoolArgs.builder()\n .identityPoolName(\"test pool\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cognito:getIdentityPool\n Arguments:\n identityPoolName: test pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getIdentityPool.\n", "properties": { @@ -388750,7 +388750,7 @@ } }, "aws:cognito/getUserGroup:getUserGroup": { - "description": "Data source for managing an AWS Cognito IDP (Identity Provider) User Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cognito.getUserGroup({\n userPoolId: \"us-west-2_aaaaaaaaa\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.get_user_group(user_pool_id=\"us-west-2_aaaaaaaaa\",\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Cognito.GetUserGroup.Invoke(new()\n {\n UserPoolId = \"us-west-2_aaaaaaaaa\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.LookupUserGroup(ctx, \u0026cognito.LookupUserGroupArgs{\n\t\t\tUserPoolId: \"us-west-2_aaaaaaaaa\",\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CognitoFunctions.getUserGroup(GetUserGroupArgs.builder()\n .userPoolId(\"us-west-2_aaaaaaaaa\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cognito:getUserGroup\n arguments:\n userPoolId: us-west-2_aaaaaaaaa\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Cognito IDP (Identity Provider) User Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cognito.getUserGroup({\n userPoolId: \"us-west-2_aaaaaaaaa\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.get_user_group(user_pool_id=\"us-west-2_aaaaaaaaa\",\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Cognito.GetUserGroup.Invoke(new()\n {\n UserPoolId = \"us-west-2_aaaaaaaaa\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.LookupUserGroup(ctx, \u0026cognito.LookupUserGroupArgs{\n\t\t\tUserPoolId: \"us-west-2_aaaaaaaaa\",\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CognitoFunctions.getUserGroup(GetUserGroupArgs.builder()\n .userPoolId(\"us-west-2_aaaaaaaaa\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cognito:getUserGroup\n Arguments:\n userPoolId: us-west-2_aaaaaaaaa\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUserGroup.\n", "properties": { @@ -388807,7 +388807,7 @@ } }, "aws:cognito/getUserGroups:getUserGroups": { - "description": "Data source for managing AWS Cognito IDP (Identity Provider) User Groups.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cognito.getUserGroups({\n userPoolId: \"us-west-2_aaaaaaaaa\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.get_user_groups(user_pool_id=\"us-west-2_aaaaaaaaa\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Cognito.GetUserGroups.Invoke(new()\n {\n UserPoolId = \"us-west-2_aaaaaaaaa\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.GetUserGroups(ctx, \u0026cognito.GetUserGroupsArgs{\n\t\t\tUserPoolId: \"us-west-2_aaaaaaaaa\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CognitoFunctions.getUserGroups(GetUserGroupsArgs.builder()\n .userPoolId(\"us-west-2_aaaaaaaaa\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cognito:getUserGroups\n arguments:\n userPoolId: us-west-2_aaaaaaaaa\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing AWS Cognito IDP (Identity Provider) User Groups.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cognito.getUserGroups({\n userPoolId: \"us-west-2_aaaaaaaaa\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.get_user_groups(user_pool_id=\"us-west-2_aaaaaaaaa\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Cognito.GetUserGroups.Invoke(new()\n {\n UserPoolId = \"us-west-2_aaaaaaaaa\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.GetUserGroups(ctx, \u0026cognito.GetUserGroupsArgs{\n\t\t\tUserPoolId: \"us-west-2_aaaaaaaaa\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CognitoFunctions.getUserGroups(GetUserGroupsArgs.builder()\n .userPoolId(\"us-west-2_aaaaaaaaa\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cognito:getUserGroups\n Arguments:\n userPoolId: us-west-2_aaaaaaaaa\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUserGroups.\n", "properties": { @@ -388848,7 +388848,7 @@ } }, "aws:cognito/getUserPool:getUserPool": { - "description": "Data source for managing an AWS Cognito User Pool.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cognito.getUserPool({\n userPoolId: \"us-west-2_aaaaaaaaa\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.get_user_pool(user_pool_id=\"us-west-2_aaaaaaaaa\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Cognito.GetUserPool.Invoke(new()\n {\n UserPoolId = \"us-west-2_aaaaaaaaa\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.LookupUserPool(ctx, \u0026cognito.LookupUserPoolArgs{\n\t\t\tUserPoolId: \"us-west-2_aaaaaaaaa\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CognitoFunctions.getUserPool(GetUserPoolArgs.builder()\n .userPoolId(\"us-west-2_aaaaaaaaa\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:cognito:getUserPool\n arguments:\n userPoolId: us-west-2_aaaaaaaaa\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Cognito User Pool.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cognito.getUserPool({\n userPoolId: \"us-west-2_aaaaaaaaa\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.get_user_pool(user_pool_id=\"us-west-2_aaaaaaaaa\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Cognito.GetUserPool.Invoke(new()\n {\n UserPoolId = \"us-west-2_aaaaaaaaa\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.LookupUserPool(ctx, \u0026cognito.LookupUserPoolArgs{\n\t\t\tUserPoolId: \"us-west-2_aaaaaaaaa\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CognitoFunctions.getUserPool(GetUserPoolArgs.builder()\n .userPoolId(\"us-west-2_aaaaaaaaa\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cognito:getUserPool\n Arguments:\n userPoolId: us-west-2_aaaaaaaaa\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUserPool.\n", "properties": { @@ -389015,7 +389015,7 @@ } }, "aws:cognito/getUserPoolClient:getUserPoolClient": { - "description": "Provides a Cognito User Pool Client resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst client = aws.cognito.getUserPoolClient({\n clientId: \"38fjsnc484p94kpqsnet7mpld0\",\n userPoolId: \"us-west-2_aaaaaaaaa\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nclient = aws.cognito.get_user_pool_client(client_id=\"38fjsnc484p94kpqsnet7mpld0\",\n user_pool_id=\"us-west-2_aaaaaaaaa\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var client = Aws.Cognito.GetUserPoolClient.Invoke(new()\n {\n ClientId = \"38fjsnc484p94kpqsnet7mpld0\",\n UserPoolId = \"us-west-2_aaaaaaaaa\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.LookupUserPoolClient(ctx, \u0026cognito.LookupUserPoolClientArgs{\n\t\t\tClientId: \"38fjsnc484p94kpqsnet7mpld0\",\n\t\t\tUserPoolId: \"us-west-2_aaaaaaaaa\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserPoolClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var client = CognitoFunctions.getUserPoolClient(GetUserPoolClientArgs.builder()\n .clientId(\"38fjsnc484p94kpqsnet7mpld0\")\n .userPoolId(\"us-west-2_aaaaaaaaa\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n client:\n fn::invoke:\n function: aws:cognito:getUserPoolClient\n arguments:\n clientId: 38fjsnc484p94kpqsnet7mpld0\n userPoolId: us-west-2_aaaaaaaaa\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Cognito User Pool Client resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst client = aws.cognito.getUserPoolClient({\n clientId: \"38fjsnc484p94kpqsnet7mpld0\",\n userPoolId: \"us-west-2_aaaaaaaaa\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nclient = aws.cognito.get_user_pool_client(client_id=\"38fjsnc484p94kpqsnet7mpld0\",\n user_pool_id=\"us-west-2_aaaaaaaaa\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var client = Aws.Cognito.GetUserPoolClient.Invoke(new()\n {\n ClientId = \"38fjsnc484p94kpqsnet7mpld0\",\n UserPoolId = \"us-west-2_aaaaaaaaa\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.LookupUserPoolClient(ctx, \u0026cognito.LookupUserPoolClientArgs{\n\t\t\tClientId: \"38fjsnc484p94kpqsnet7mpld0\",\n\t\t\tUserPoolId: \"us-west-2_aaaaaaaaa\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserPoolClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var client = CognitoFunctions.getUserPoolClient(GetUserPoolClientArgs.builder()\n .clientId(\"38fjsnc484p94kpqsnet7mpld0\")\n .userPoolId(\"us-west-2_aaaaaaaaa\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n client:\n fn::invoke:\n Function: aws:cognito:getUserPoolClient\n Arguments:\n clientId: 38fjsnc484p94kpqsnet7mpld0\n userPoolId: us-west-2_aaaaaaaaa\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUserPoolClient.\n", "properties": { @@ -389191,7 +389191,7 @@ } }, "aws:cognito/getUserPoolClients:getUserPoolClients": { - "description": "Use this data source to get a list of Cognito user pools clients for a Cognito IdP user pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.cognito.getUserPoolClients({\n userPoolId: mainAwsCognitoUserPool.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.cognito.get_user_pool_clients(user_pool_id=main_aws_cognito_user_pool[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.Cognito.GetUserPoolClients.Invoke(new()\n {\n UserPoolId = mainAwsCognitoUserPool.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.GetUserPoolClients(ctx, \u0026cognito.GetUserPoolClientsArgs{\n\t\t\tUserPoolId: mainAwsCognitoUserPool.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserPoolClientsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = CognitoFunctions.getUserPoolClients(GetUserPoolClientsArgs.builder()\n .userPoolId(mainAwsCognitoUserPool.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n main:\n fn::invoke:\n function: aws:cognito:getUserPoolClients\n arguments:\n userPoolId: ${mainAwsCognitoUserPool.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get a list of Cognito user pools clients for a Cognito IdP user pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.cognito.getUserPoolClients({\n userPoolId: mainAwsCognitoUserPool.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.cognito.get_user_pool_clients(user_pool_id=main_aws_cognito_user_pool[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.Cognito.GetUserPoolClients.Invoke(new()\n {\n UserPoolId = mainAwsCognitoUserPool.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.GetUserPoolClients(ctx, \u0026cognito.GetUserPoolClientsArgs{\n\t\t\tUserPoolId: mainAwsCognitoUserPool.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserPoolClientsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = CognitoFunctions.getUserPoolClients(GetUserPoolClientsArgs.builder()\n .userPoolId(mainAwsCognitoUserPool.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n main:\n fn::invoke:\n Function: aws:cognito:getUserPoolClients\n Arguments:\n userPoolId: ${mainAwsCognitoUserPool.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUserPoolClients.\n", "properties": { @@ -389240,7 +389240,7 @@ } }, "aws:cognito/getUserPoolSigningCertificate:getUserPoolSigningCertificate": { - "description": "Use this data source to get the signing certificate for a Cognito IdP user pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sc = aws.cognito.getUserPoolSigningCertificate({\n userPoolId: myPool.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsc = aws.cognito.get_user_pool_signing_certificate(user_pool_id=my_pool[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sc = Aws.Cognito.GetUserPoolSigningCertificate.Invoke(new()\n {\n UserPoolId = myPool.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.GetUserPoolSigningCertificate(ctx, \u0026cognito.GetUserPoolSigningCertificateArgs{\n\t\t\tUserPoolId: myPool.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserPoolSigningCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sc = CognitoFunctions.getUserPoolSigningCertificate(GetUserPoolSigningCertificateArgs.builder()\n .userPoolId(myPool.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n sc:\n fn::invoke:\n function: aws:cognito:getUserPoolSigningCertificate\n arguments:\n userPoolId: ${myPool.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the signing certificate for a Cognito IdP user pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sc = aws.cognito.getUserPoolSigningCertificate({\n userPoolId: myPool.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsc = aws.cognito.get_user_pool_signing_certificate(user_pool_id=my_pool[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sc = Aws.Cognito.GetUserPoolSigningCertificate.Invoke(new()\n {\n UserPoolId = myPool.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.GetUserPoolSigningCertificate(ctx, \u0026cognito.GetUserPoolSigningCertificateArgs{\n\t\t\tUserPoolId: myPool.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserPoolSigningCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sc = CognitoFunctions.getUserPoolSigningCertificate(GetUserPoolSigningCertificateArgs.builder()\n .userPoolId(myPool.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n sc:\n fn::invoke:\n Function: aws:cognito:getUserPoolSigningCertificate\n Arguments:\n userPoolId: ${myPool.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUserPoolSigningCertificate.\n", "properties": { @@ -389278,7 +389278,7 @@ } }, "aws:cognito/getUserPools:getUserPools": { - "description": "Use this data source to get a list of cognito user pools.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.apigateway.getRestApi({\n name: apiGatewayName,\n});\nconst selectedGetUserPools = aws.cognito.getUserPools({\n name: cognitoUserPoolName,\n});\nconst cognito = new aws.apigateway.Authorizer(\"cognito\", {\n name: \"cognito\",\n type: \"COGNITO_USER_POOLS\",\n restApi: selected.then(selected =\u003e selected.id),\n providerArns: selectedGetUserPools.then(selectedGetUserPools =\u003e selectedGetUserPools.arns),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.apigateway.get_rest_api(name=api_gateway_name)\nselected_get_user_pools = aws.cognito.get_user_pools(name=cognito_user_pool_name)\ncognito = aws.apigateway.Authorizer(\"cognito\",\n name=\"cognito\",\n type=\"COGNITO_USER_POOLS\",\n rest_api=selected.id,\n provider_arns=selected_get_user_pools.arns)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.ApiGateway.GetRestApi.Invoke(new()\n {\n Name = apiGatewayName,\n });\n\n var selectedGetUserPools = Aws.Cognito.GetUserPools.Invoke(new()\n {\n Name = cognitoUserPoolName,\n });\n\n var cognito = new Aws.ApiGateway.Authorizer(\"cognito\", new()\n {\n Name = \"cognito\",\n Type = \"COGNITO_USER_POOLS\",\n RestApi = selected.Apply(getRestApiResult =\u003e getRestApiResult.Id),\n ProviderArns = selectedGetUserPools.Apply(getUserPoolsResult =\u003e getUserPoolsResult.Arns),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := apigateway.LookupRestApi(ctx, \u0026apigateway.LookupRestApiArgs{\n\t\t\tName: apiGatewayName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tselectedGetUserPools, err := cognito.GetUserPools(ctx, \u0026cognito.GetUserPoolsArgs{\n\t\t\tName: cognitoUserPoolName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAuthorizer(ctx, \"cognito\", \u0026apigateway.AuthorizerArgs{\n\t\t\tName: pulumi.String(\"cognito\"),\n\t\t\tType: pulumi.String(\"COGNITO_USER_POOLS\"),\n\t\t\tRestApi: pulumi.String(selected.Id),\n\t\t\tProviderArns: interface{}(selectedGetUserPools.Arns),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetRestApiArgs;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserPoolsArgs;\nimport com.pulumi.aws.apigateway.Authorizer;\nimport com.pulumi.aws.apigateway.AuthorizerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = ApigatewayFunctions.getRestApi(GetRestApiArgs.builder()\n .name(apiGatewayName)\n .build());\n\n final var selectedGetUserPools = CognitoFunctions.getUserPools(GetUserPoolsArgs.builder()\n .name(cognitoUserPoolName)\n .build());\n\n var cognito = new Authorizer(\"cognito\", AuthorizerArgs.builder()\n .name(\"cognito\")\n .type(\"COGNITO_USER_POOLS\")\n .restApi(selected.applyValue(getRestApiResult -\u003e getRestApiResult.id()))\n .providerArns(selectedGetUserPools.applyValue(getUserPoolsResult -\u003e getUserPoolsResult.arns()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cognito:\n type: aws:apigateway:Authorizer\n properties:\n name: cognito\n type: COGNITO_USER_POOLS\n restApi: ${selected.id}\n providerArns: ${selectedGetUserPools.arns}\nvariables:\n selected:\n fn::invoke:\n function: aws:apigateway:getRestApi\n arguments:\n name: ${apiGatewayName}\n selectedGetUserPools:\n fn::invoke:\n function: aws:cognito:getUserPools\n arguments:\n name: ${cognitoUserPoolName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get a list of cognito user pools.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.apigateway.getRestApi({\n name: apiGatewayName,\n});\nconst selectedGetUserPools = aws.cognito.getUserPools({\n name: cognitoUserPoolName,\n});\nconst cognito = new aws.apigateway.Authorizer(\"cognito\", {\n name: \"cognito\",\n type: \"COGNITO_USER_POOLS\",\n restApi: selected.then(selected =\u003e selected.id),\n providerArns: selectedGetUserPools.then(selectedGetUserPools =\u003e selectedGetUserPools.arns),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.apigateway.get_rest_api(name=api_gateway_name)\nselected_get_user_pools = aws.cognito.get_user_pools(name=cognito_user_pool_name)\ncognito = aws.apigateway.Authorizer(\"cognito\",\n name=\"cognito\",\n type=\"COGNITO_USER_POOLS\",\n rest_api=selected.id,\n provider_arns=selected_get_user_pools.arns)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.ApiGateway.GetRestApi.Invoke(new()\n {\n Name = apiGatewayName,\n });\n\n var selectedGetUserPools = Aws.Cognito.GetUserPools.Invoke(new()\n {\n Name = cognitoUserPoolName,\n });\n\n var cognito = new Aws.ApiGateway.Authorizer(\"cognito\", new()\n {\n Name = \"cognito\",\n Type = \"COGNITO_USER_POOLS\",\n RestApi = selected.Apply(getRestApiResult =\u003e getRestApiResult.Id),\n ProviderArns = selectedGetUserPools.Apply(getUserPoolsResult =\u003e getUserPoolsResult.Arns),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := apigateway.LookupRestApi(ctx, \u0026apigateway.LookupRestApiArgs{\n\t\t\tName: apiGatewayName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tselectedGetUserPools, err := cognito.GetUserPools(ctx, \u0026cognito.GetUserPoolsArgs{\n\t\t\tName: cognitoUserPoolName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAuthorizer(ctx, \"cognito\", \u0026apigateway.AuthorizerArgs{\n\t\t\tName: pulumi.String(\"cognito\"),\n\t\t\tType: pulumi.String(\"COGNITO_USER_POOLS\"),\n\t\t\tRestApi: pulumi.String(selected.Id),\n\t\t\tProviderArns: interface{}(selectedGetUserPools.Arns),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetRestApiArgs;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserPoolsArgs;\nimport com.pulumi.aws.apigateway.Authorizer;\nimport com.pulumi.aws.apigateway.AuthorizerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = ApigatewayFunctions.getRestApi(GetRestApiArgs.builder()\n .name(apiGatewayName)\n .build());\n\n final var selectedGetUserPools = CognitoFunctions.getUserPools(GetUserPoolsArgs.builder()\n .name(cognitoUserPoolName)\n .build());\n\n var cognito = new Authorizer(\"cognito\", AuthorizerArgs.builder()\n .name(\"cognito\")\n .type(\"COGNITO_USER_POOLS\")\n .restApi(selected.applyValue(getRestApiResult -\u003e getRestApiResult.id()))\n .providerArns(selectedGetUserPools.applyValue(getUserPoolsResult -\u003e getUserPoolsResult.arns()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cognito:\n type: aws:apigateway:Authorizer\n properties:\n name: cognito\n type: COGNITO_USER_POOLS\n restApi: ${selected.id}\n providerArns: ${selectedGetUserPools.arns}\nvariables:\n selected:\n fn::invoke:\n Function: aws:apigateway:getRestApi\n Arguments:\n name: ${apiGatewayName}\n selectedGetUserPools:\n fn::invoke:\n Function: aws:cognito:getUserPools\n Arguments:\n name: ${cognitoUserPoolName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUserPools.\n", "properties": { @@ -389327,7 +389327,7 @@ } }, "aws:connect/getBotAssociation:getBotAssociation": { - "description": "Provides details about a specific Lex (V1) Bot associated with an Amazon Connect instance.\n\n## Example Usage\n\n### By name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getBotAssociation({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n lexBot: {\n name: \"Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_bot_association(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n lex_bot={\n \"name\": \"Test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetBotAssociation.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n LexBot = new Aws.Connect.Inputs.GetBotAssociationLexBotInputArgs\n {\n Name = \"Test\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupBotAssociation(ctx, \u0026connect.LookupBotAssociationArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tLexBot: connect.GetBotAssociationLexBot{\n\t\t\t\tName: \"Test\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetBotAssociationArgs;\nimport com.pulumi.aws.connect.inputs.GetBotAssociationLexBotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getBotAssociation(GetBotAssociationArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .lexBot(GetBotAssociationLexBotArgs.builder()\n .name(\"Test\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getBotAssociation\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n lexBot:\n name: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Lex (V1) Bot associated with an Amazon Connect instance.\n\n## Example Usage\n\n### By name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getBotAssociation({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n lexBot: {\n name: \"Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_bot_association(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n lex_bot={\n \"name\": \"Test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetBotAssociation.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n LexBot = new Aws.Connect.Inputs.GetBotAssociationLexBotInputArgs\n {\n Name = \"Test\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupBotAssociation(ctx, \u0026connect.LookupBotAssociationArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tLexBot: connect.GetBotAssociationLexBot{\n\t\t\t\tName: \"Test\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetBotAssociationArgs;\nimport com.pulumi.aws.connect.inputs.GetBotAssociationLexBotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getBotAssociation(GetBotAssociationArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .lexBot(GetBotAssociationLexBotArgs.builder()\n .name(\"Test\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getBotAssociation\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n lexBot:\n name: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBotAssociation.\n", "properties": { @@ -389369,7 +389369,7 @@ } }, "aws:connect/getContactFlow:getContactFlow": { - "description": "Provides details about a specific Amazon Connect Contact Flow.\n\n## Example Usage\n\nBy name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.connect.getContactFlow({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.get_contact_flow(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Connect.GetContactFlow.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupContactFlow(ctx, \u0026connect.LookupContactFlowArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"Test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetContactFlowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ConnectFunctions.getContactFlow(GetContactFlowArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Test\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:connect:getContactFlow\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy contact_flow_id\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.connect.getContactFlow({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n contactFlowId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.get_contact_flow(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n contact_flow_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Connect.GetContactFlow.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n ContactFlowId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupContactFlow(ctx, \u0026connect.LookupContactFlowArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tContactFlowId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetContactFlowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ConnectFunctions.getContactFlow(GetContactFlowArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .contactFlowId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:connect:getContactFlow\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n contactFlowId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Connect Contact Flow.\n\n## Example Usage\n\nBy name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.connect.getContactFlow({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.get_contact_flow(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Connect.GetContactFlow.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupContactFlow(ctx, \u0026connect.LookupContactFlowArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"Test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetContactFlowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ConnectFunctions.getContactFlow(GetContactFlowArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Test\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:connect:getContactFlow\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy contact_flow_id\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.connect.getContactFlow({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n contactFlowId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.get_contact_flow(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n contact_flow_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Connect.GetContactFlow.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n ContactFlowId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupContactFlow(ctx, \u0026connect.LookupContactFlowArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tContactFlowId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetContactFlowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ConnectFunctions.getContactFlow(GetContactFlowArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .contactFlowId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:connect:getContactFlow\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n contactFlowId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getContactFlow.\n", "properties": { @@ -389456,7 +389456,7 @@ } }, "aws:connect/getContactFlowModule:getContactFlowModule": { - "description": "Provides details about a specific Amazon Connect Contact Flow Module.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getContactFlowModule({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_contact_flow_module(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetContactFlowModule.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupContactFlowModule(ctx, \u0026connect.LookupContactFlowModuleArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetContactFlowModuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getContactFlowModule(GetContactFlowModuleArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getContactFlowModule\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy `contact_flow_module_id`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getContactFlowModule({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n contactFlowModuleId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_contact_flow_module(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n contact_flow_module_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetContactFlowModule.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n ContactFlowModuleId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupContactFlowModule(ctx, \u0026connect.LookupContactFlowModuleArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tContactFlowModuleId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetContactFlowModuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getContactFlowModule(GetContactFlowModuleArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .contactFlowModuleId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getContactFlowModule\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n contactFlowModuleId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Connect Contact Flow Module.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getContactFlowModule({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_contact_flow_module(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetContactFlowModule.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupContactFlowModule(ctx, \u0026connect.LookupContactFlowModuleArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetContactFlowModuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getContactFlowModule(GetContactFlowModuleArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getContactFlowModule\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy `contact_flow_module_id`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getContactFlowModule({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n contactFlowModuleId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_contact_flow_module(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n contact_flow_module_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetContactFlowModule.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n ContactFlowModuleId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupContactFlowModule(ctx, \u0026connect.LookupContactFlowModuleArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tContactFlowModuleId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetContactFlowModuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getContactFlowModule(GetContactFlowModuleArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .contactFlowModuleId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getContactFlowModule\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n contactFlowModuleId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getContactFlowModule.\n", "properties": { @@ -389545,7 +389545,7 @@ } }, "aws:connect/getHoursOfOperation:getHoursOfOperation": { - "description": "Provides details about a specific Amazon Connect Hours of Operation.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.connect.getHoursOfOperation({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.get_hours_of_operation(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Connect.GetHoursOfOperation.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupHoursOfOperation(ctx, \u0026connect.LookupHoursOfOperationArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"Test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetHoursOfOperationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ConnectFunctions.getHoursOfOperation(GetHoursOfOperationArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Test\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:connect:getHoursOfOperation\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy `hours_of_operation_id`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.connect.getHoursOfOperation({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n hoursOfOperationId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.get_hours_of_operation(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n hours_of_operation_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Connect.GetHoursOfOperation.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n HoursOfOperationId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupHoursOfOperation(ctx, \u0026connect.LookupHoursOfOperationArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tHoursOfOperationId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetHoursOfOperationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ConnectFunctions.getHoursOfOperation(GetHoursOfOperationArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .hoursOfOperationId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:connect:getHoursOfOperation\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n hoursOfOperationId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Connect Hours of Operation.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.connect.getHoursOfOperation({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.get_hours_of_operation(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Connect.GetHoursOfOperation.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupHoursOfOperation(ctx, \u0026connect.LookupHoursOfOperationArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"Test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetHoursOfOperationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ConnectFunctions.getHoursOfOperation(GetHoursOfOperationArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Test\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:connect:getHoursOfOperation\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy `hours_of_operation_id`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.connect.getHoursOfOperation({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n hoursOfOperationId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.get_hours_of_operation(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n hours_of_operation_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Connect.GetHoursOfOperation.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n HoursOfOperationId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupHoursOfOperation(ctx, \u0026connect.LookupHoursOfOperationArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tHoursOfOperationId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetHoursOfOperationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ConnectFunctions.getHoursOfOperation(GetHoursOfOperationArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .hoursOfOperationId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:connect:getHoursOfOperation\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n hoursOfOperationId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getHoursOfOperation.\n", "properties": { @@ -389635,7 +389635,7 @@ } }, "aws:connect/getInstance:getInstance": { - "description": "Provides details about a specific Amazon Connect Instance.\n\n## Example Usage\n\nBy instance_alias\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = aws.connect.getInstance({\n instanceAlias: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.connect.get_instance(instance_alias=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Connect.GetInstance.Invoke(new()\n {\n InstanceAlias = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupInstance(ctx, \u0026connect.LookupInstanceArgs{\n\t\t\tInstanceAlias: pulumi.StringRef(\"foo\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = ConnectFunctions.getInstance(GetInstanceArgs.builder()\n .instanceAlias(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n function: aws:connect:getInstance\n arguments:\n instanceAlias: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy instance_id\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = aws.connect.getInstance({\n instanceId: \"97afc98d-101a-ba98-ab97-ae114fc115ec\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.connect.get_instance(instance_id=\"97afc98d-101a-ba98-ab97-ae114fc115ec\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Connect.GetInstance.Invoke(new()\n {\n InstanceId = \"97afc98d-101a-ba98-ab97-ae114fc115ec\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupInstance(ctx, \u0026connect.LookupInstanceArgs{\n\t\t\tInstanceId: pulumi.StringRef(\"97afc98d-101a-ba98-ab97-ae114fc115ec\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = ConnectFunctions.getInstance(GetInstanceArgs.builder()\n .instanceId(\"97afc98d-101a-ba98-ab97-ae114fc115ec\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n function: aws:connect:getInstance\n arguments:\n instanceId: 97afc98d-101a-ba98-ab97-ae114fc115ec\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Connect Instance.\n\n## Example Usage\n\nBy instance_alias\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = aws.connect.getInstance({\n instanceAlias: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.connect.get_instance(instance_alias=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Connect.GetInstance.Invoke(new()\n {\n InstanceAlias = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupInstance(ctx, \u0026connect.LookupInstanceArgs{\n\t\t\tInstanceAlias: pulumi.StringRef(\"foo\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = ConnectFunctions.getInstance(GetInstanceArgs.builder()\n .instanceAlias(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: aws:connect:getInstance\n Arguments:\n instanceAlias: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy instance_id\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = aws.connect.getInstance({\n instanceId: \"97afc98d-101a-ba98-ab97-ae114fc115ec\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.connect.get_instance(instance_id=\"97afc98d-101a-ba98-ab97-ae114fc115ec\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Connect.GetInstance.Invoke(new()\n {\n InstanceId = \"97afc98d-101a-ba98-ab97-ae114fc115ec\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupInstance(ctx, \u0026connect.LookupInstanceArgs{\n\t\t\tInstanceId: pulumi.StringRef(\"97afc98d-101a-ba98-ab97-ae114fc115ec\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = ConnectFunctions.getInstance(GetInstanceArgs.builder()\n .instanceId(\"97afc98d-101a-ba98-ab97-ae114fc115ec\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: aws:connect:getInstance\n Arguments:\n instanceId: 97afc98d-101a-ba98-ab97-ae114fc115ec\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInstance.\n", "properties": { @@ -389747,7 +389747,7 @@ } }, "aws:connect/getInstanceStorageConfig:getInstanceStorageConfig": { - "description": "Provides details about a specific Amazon Connect Instance Storage Config.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getInstanceStorageConfig({\n associationId: \"1234567891234567890122345678912345678901223456789123456789012234\",\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n resourceType: \"CONTACT_TRACE_RECORDS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_instance_storage_config(association_id=\"1234567891234567890122345678912345678901223456789123456789012234\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n resource_type=\"CONTACT_TRACE_RECORDS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetInstanceStorageConfig.Invoke(new()\n {\n AssociationId = \"1234567891234567890122345678912345678901223456789123456789012234\",\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n ResourceType = \"CONTACT_TRACE_RECORDS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupInstanceStorageConfig(ctx, \u0026connect.LookupInstanceStorageConfigArgs{\n\t\t\tAssociationId: \"1234567891234567890122345678912345678901223456789123456789012234\",\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tResourceType: \"CONTACT_TRACE_RECORDS\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetInstanceStorageConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getInstanceStorageConfig(GetInstanceStorageConfigArgs.builder()\n .associationId(\"1234567891234567890122345678912345678901223456789123456789012234\")\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .resourceType(\"CONTACT_TRACE_RECORDS\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getInstanceStorageConfig\n arguments:\n associationId: 1234567891234567890122345678912345678901223456789123456789012234\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n resourceType: CONTACT_TRACE_RECORDS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Connect Instance Storage Config.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getInstanceStorageConfig({\n associationId: \"1234567891234567890122345678912345678901223456789123456789012234\",\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n resourceType: \"CONTACT_TRACE_RECORDS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_instance_storage_config(association_id=\"1234567891234567890122345678912345678901223456789123456789012234\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n resource_type=\"CONTACT_TRACE_RECORDS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetInstanceStorageConfig.Invoke(new()\n {\n AssociationId = \"1234567891234567890122345678912345678901223456789123456789012234\",\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n ResourceType = \"CONTACT_TRACE_RECORDS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupInstanceStorageConfig(ctx, \u0026connect.LookupInstanceStorageConfigArgs{\n\t\t\tAssociationId: \"1234567891234567890122345678912345678901223456789123456789012234\",\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tResourceType: \"CONTACT_TRACE_RECORDS\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetInstanceStorageConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getInstanceStorageConfig(GetInstanceStorageConfigArgs.builder()\n .associationId(\"1234567891234567890122345678912345678901223456789123456789012234\")\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .resourceType(\"CONTACT_TRACE_RECORDS\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getInstanceStorageConfig\n Arguments:\n associationId: 1234567891234567890122345678912345678901223456789123456789012234\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n resourceType: CONTACT_TRACE_RECORDS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInstanceStorageConfig.\n", "properties": { @@ -389806,7 +389806,7 @@ } }, "aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation": { - "description": "Provides details about a specific Connect Lambda Function Association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getLambdaFunctionAssociation({\n functionArn: \"arn:aws:lambda:us-west-2:123456789123:function:abcdefg\",\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_lambda_function_association(function_arn=\"arn:aws:lambda:us-west-2:123456789123:function:abcdefg\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetLambdaFunctionAssociation.Invoke(new()\n {\n FunctionArn = \"arn:aws:lambda:us-west-2:123456789123:function:abcdefg\",\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupLambdaFunctionAssociation(ctx, \u0026connect.LookupLambdaFunctionAssociationArgs{\n\t\t\tFunctionArn: \"arn:aws:lambda:us-west-2:123456789123:function:abcdefg\",\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetLambdaFunctionAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getLambdaFunctionAssociation(GetLambdaFunctionAssociationArgs.builder()\n .functionArn(\"arn:aws:lambda:us-west-2:123456789123:function:abcdefg\")\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getLambdaFunctionAssociation\n arguments:\n functionArn: arn:aws:lambda:us-west-2:123456789123:function:abcdefg\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Connect Lambda Function Association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getLambdaFunctionAssociation({\n functionArn: \"arn:aws:lambda:us-west-2:123456789123:function:abcdefg\",\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_lambda_function_association(function_arn=\"arn:aws:lambda:us-west-2:123456789123:function:abcdefg\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetLambdaFunctionAssociation.Invoke(new()\n {\n FunctionArn = \"arn:aws:lambda:us-west-2:123456789123:function:abcdefg\",\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupLambdaFunctionAssociation(ctx, \u0026connect.LookupLambdaFunctionAssociationArgs{\n\t\t\tFunctionArn: \"arn:aws:lambda:us-west-2:123456789123:function:abcdefg\",\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetLambdaFunctionAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getLambdaFunctionAssociation(GetLambdaFunctionAssociationArgs.builder()\n .functionArn(\"arn:aws:lambda:us-west-2:123456789123:function:abcdefg\")\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getLambdaFunctionAssociation\n Arguments:\n functionArn: arn:aws:lambda:us-west-2:123456789123:function:abcdefg\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLambdaFunctionAssociation.\n", "properties": { @@ -389848,7 +389848,7 @@ } }, "aws:connect/getPrompt:getPrompt": { - "description": "Provides details about a specific Amazon Connect Prompt.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getPrompt({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Beep.wav\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_prompt(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Beep.wav\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetPrompt.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Beep.wav\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.GetPrompt(ctx, \u0026connect.GetPromptArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: \"Beep.wav\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetPromptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getPrompt(GetPromptArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Beep.wav\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getPrompt\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Beep.wav\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Connect Prompt.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getPrompt({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Beep.wav\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_prompt(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Beep.wav\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetPrompt.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Beep.wav\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.GetPrompt(ctx, \u0026connect.GetPromptArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: \"Beep.wav\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetPromptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getPrompt(GetPromptArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Beep.wav\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getPrompt\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Beep.wav\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPrompt.\n", "properties": { @@ -389900,7 +389900,7 @@ } }, "aws:connect/getQueue:getQueue": { - "description": "Provides details about a specific Amazon Connect Queue.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getQueue({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_queue(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetQueue.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupQueue(ctx, \u0026connect.LookupQueueArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getQueue(GetQueueArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getQueue\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy `queue_id`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getQueue({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n queueId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_queue(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n queue_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetQueue.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n QueueId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupQueue(ctx, \u0026connect.LookupQueueArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tQueueId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getQueue(GetQueueArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .queueId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getQueue\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n queueId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Connect Queue.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getQueue({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_queue(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetQueue.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupQueue(ctx, \u0026connect.LookupQueueArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getQueue(GetQueueArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getQueue\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy `queue_id`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getQueue({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n queueId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_queue(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n queue_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetQueue.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n QueueId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupQueue(ctx, \u0026connect.LookupQueueArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tQueueId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getQueue(GetQueueArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .queueId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getQueue\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n queueId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getQueue.\n", "properties": { @@ -389998,7 +389998,7 @@ } }, "aws:connect/getQuickConnect:getQuickConnect": { - "description": "Provides details about a specific Amazon Connect Quick Connect.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getQuickConnect({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_quick_connect(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetQuickConnect.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupQuickConnect(ctx, \u0026connect.LookupQuickConnectArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetQuickConnectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getQuickConnect\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy `quick_connect_id`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getQuickConnect({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n quickConnectId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_quick_connect(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n quick_connect_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetQuickConnect.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n QuickConnectId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupQuickConnect(ctx, \u0026connect.LookupQuickConnectArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tQuickConnectId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetQuickConnectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .quickConnectId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getQuickConnect\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n quickConnectId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Connect Quick Connect.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getQuickConnect({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_quick_connect(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetQuickConnect.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupQuickConnect(ctx, \u0026connect.LookupQuickConnectArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetQuickConnectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getQuickConnect\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy `quick_connect_id`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getQuickConnect({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n quickConnectId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_quick_connect(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n quick_connect_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetQuickConnect.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n QuickConnectId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupQuickConnect(ctx, \u0026connect.LookupQuickConnectArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tQuickConnectId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetQuickConnectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .quickConnectId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getQuickConnect\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n quickConnectId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getQuickConnect.\n", "properties": { @@ -390081,7 +390081,7 @@ } }, "aws:connect/getRoutingProfile:getRoutingProfile": { - "description": "Provides details about a specific Amazon Connect Routing Profile.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getRoutingProfile({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_routing_profile(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetRoutingProfile.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupRoutingProfile(ctx, \u0026connect.LookupRoutingProfileArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetRoutingProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getRoutingProfile(GetRoutingProfileArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getRoutingProfile\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy `routing_profile_id`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getRoutingProfile({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n routingProfileId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_routing_profile(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n routing_profile_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetRoutingProfile.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n RoutingProfileId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupRoutingProfile(ctx, \u0026connect.LookupRoutingProfileArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tRoutingProfileId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetRoutingProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getRoutingProfile(GetRoutingProfileArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .routingProfileId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getRoutingProfile\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n routingProfileId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Connect Routing Profile.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getRoutingProfile({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_routing_profile(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetRoutingProfile.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupRoutingProfile(ctx, \u0026connect.LookupRoutingProfileArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetRoutingProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getRoutingProfile(GetRoutingProfileArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getRoutingProfile\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy `routing_profile_id`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getRoutingProfile({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n routingProfileId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_routing_profile(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n routing_profile_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetRoutingProfile.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n RoutingProfileId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupRoutingProfile(ctx, \u0026connect.LookupRoutingProfileArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tRoutingProfileId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetRoutingProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getRoutingProfile(GetRoutingProfileArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .routingProfileId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getRoutingProfile\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n routingProfileId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRoutingProfile.\n", "properties": { @@ -390176,7 +390176,7 @@ } }, "aws:connect/getSecurityProfile:getSecurityProfile": { - "description": "Provides details about a specific Amazon Connect Security Profile.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getSecurityProfile({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_security_profile(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetSecurityProfile.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupSecurityProfile(ctx, \u0026connect.LookupSecurityProfileArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetSecurityProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getSecurityProfile(GetSecurityProfileArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getSecurityProfile\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy `security_profile_id`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getSecurityProfile({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n securityProfileId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_security_profile(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n security_profile_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetSecurityProfile.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n SecurityProfileId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupSecurityProfile(ctx, \u0026connect.LookupSecurityProfileArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tSecurityProfileId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetSecurityProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getSecurityProfile(GetSecurityProfileArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .securityProfileId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getSecurityProfile\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n securityProfileId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Connect Security Profile.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getSecurityProfile({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_security_profile(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetSecurityProfile.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupSecurityProfile(ctx, \u0026connect.LookupSecurityProfileArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetSecurityProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getSecurityProfile(GetSecurityProfileArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getSecurityProfile\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy `security_profile_id`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getSecurityProfile({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n securityProfileId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_security_profile(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n security_profile_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetSecurityProfile.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n SecurityProfileId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupSecurityProfile(ctx, \u0026connect.LookupSecurityProfileArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tSecurityProfileId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetSecurityProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getSecurityProfile(GetSecurityProfileArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .securityProfileId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getSecurityProfile\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n securityProfileId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSecurityProfile.\n", "properties": { @@ -390263,7 +390263,7 @@ } }, "aws:connect/getUser:getUser": { - "description": "Provides details about a specific Amazon Connect User.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getUser({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_user(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetUser.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupUser(ctx, \u0026connect.LookupUserArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getUser(GetUserArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getUser\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy `user_id`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getUser({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n userId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_user(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n user_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetUser.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n UserId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupUser(ctx, \u0026connect.LookupUserArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tUserId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getUser(GetUserArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .userId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getUser\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n userId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Connect User.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getUser({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_user(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetUser.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupUser(ctx, \u0026connect.LookupUserArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getUser(GetUserArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getUser\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy `user_id`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getUser({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n userId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_user(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n user_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetUser.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n UserId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupUser(ctx, \u0026connect.LookupUserArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tUserId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getUser(GetUserArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .userId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getUser\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n userId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUser.\n", "properties": { @@ -390372,7 +390372,7 @@ } }, "aws:connect/getUserHierarchyGroup:getUserHierarchyGroup": { - "description": "Provides details about a specific Amazon Connect User Hierarchy Group.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getUserHierarchyGroup({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_user_hierarchy_group(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetUserHierarchyGroup.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupUserHierarchyGroup(ctx, \u0026connect.LookupUserHierarchyGroupArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetUserHierarchyGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getUserHierarchyGroup(GetUserHierarchyGroupArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getUserHierarchyGroup\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy `hierarchy_group_id`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getUserHierarchyGroup({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n hierarchyGroupId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_user_hierarchy_group(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n hierarchy_group_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetUserHierarchyGroup.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n HierarchyGroupId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupUserHierarchyGroup(ctx, \u0026connect.LookupUserHierarchyGroupArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tHierarchyGroupId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetUserHierarchyGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getUserHierarchyGroup(GetUserHierarchyGroupArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .hierarchyGroupId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getUserHierarchyGroup\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n hierarchyGroupId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Connect User Hierarchy Group.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getUserHierarchyGroup({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_user_hierarchy_group(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetUserHierarchyGroup.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupUserHierarchyGroup(ctx, \u0026connect.LookupUserHierarchyGroupArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetUserHierarchyGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getUserHierarchyGroup(GetUserHierarchyGroupArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getUserHierarchyGroup\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy `hierarchy_group_id`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getUserHierarchyGroup({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n hierarchyGroupId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_user_hierarchy_group(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n hierarchy_group_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetUserHierarchyGroup.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n HierarchyGroupId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupUserHierarchyGroup(ctx, \u0026connect.LookupUserHierarchyGroupArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tHierarchyGroupId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetUserHierarchyGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getUserHierarchyGroup(GetUserHierarchyGroupArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .hierarchyGroupId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getUserHierarchyGroup\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n hierarchyGroupId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUserHierarchyGroup.\n", "properties": { @@ -390455,7 +390455,7 @@ } }, "aws:connect/getUserHierarchyStructure:getUserHierarchyStructure": { - "description": "Provides details about a specific Amazon Connect User Hierarchy Structure\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.connect.getUserHierarchyStructure({\n instanceId: testAwsConnectInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.get_user_hierarchy_structure(instance_id=test_aws_connect_instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Connect.GetUserHierarchyStructure.Invoke(new()\n {\n InstanceId = testAwsConnectInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupUserHierarchyStructure(ctx, \u0026connect.LookupUserHierarchyStructureArgs{\n\t\t\tInstanceId: testAwsConnectInstance.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetUserHierarchyStructureArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ConnectFunctions.getUserHierarchyStructure(GetUserHierarchyStructureArgs.builder()\n .instanceId(testAwsConnectInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:connect:getUserHierarchyStructure\n arguments:\n instanceId: ${testAwsConnectInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Connect User Hierarchy Structure\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.connect.getUserHierarchyStructure({\n instanceId: testAwsConnectInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.get_user_hierarchy_structure(instance_id=test_aws_connect_instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Connect.GetUserHierarchyStructure.Invoke(new()\n {\n InstanceId = testAwsConnectInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupUserHierarchyStructure(ctx, \u0026connect.LookupUserHierarchyStructureArgs{\n\t\t\tInstanceId: testAwsConnectInstance.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetUserHierarchyStructureArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ConnectFunctions.getUserHierarchyStructure(GetUserHierarchyStructureArgs.builder()\n .instanceId(testAwsConnectInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:connect:getUserHierarchyStructure\n Arguments:\n instanceId: ${testAwsConnectInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUserHierarchyStructure.\n", "properties": { @@ -390496,7 +390496,7 @@ } }, "aws:connect/getVocabulary:getVocabulary": { - "description": "Provides details about a specific Amazon Connect Vocabulary.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getVocabulary({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_vocabulary(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetVocabulary.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupVocabulary(ctx, \u0026connect.LookupVocabularyArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetVocabularyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getVocabulary(GetVocabularyArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getVocabulary\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy `vocabulary_id`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getVocabulary({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n vocabularyId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_vocabulary(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n vocabulary_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetVocabulary.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n VocabularyId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupVocabulary(ctx, \u0026connect.LookupVocabularyArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tVocabularyId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetVocabularyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getVocabulary(GetVocabularyArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .vocabularyId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:connect:getVocabulary\n arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n vocabularyId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Connect Vocabulary.\n\n## Example Usage\n\nBy `name`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getVocabulary({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_vocabulary(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetVocabulary.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupVocabulary(ctx, \u0026connect.LookupVocabularyArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetVocabularyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getVocabulary(GetVocabularyArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getVocabulary\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy `vocabulary_id`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.connect.getVocabulary({\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n vocabularyId: \"cccccccc-bbbb-cccc-dddd-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.get_vocabulary(instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n vocabulary_id=\"cccccccc-bbbb-cccc-dddd-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Connect.GetVocabulary.Invoke(new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n VocabularyId = \"cccccccc-bbbb-cccc-dddd-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.LookupVocabulary(ctx, \u0026connect.LookupVocabularyArgs{\n\t\t\tInstanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n\t\t\tVocabularyId: pulumi.StringRef(\"cccccccc-bbbb-cccc-dddd-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ConnectFunctions;\nimport com.pulumi.aws.connect.inputs.GetVocabularyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ConnectFunctions.getVocabulary(GetVocabularyArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .vocabularyId(\"cccccccc-bbbb-cccc-dddd-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:connect:getVocabulary\n Arguments:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n vocabularyId: cccccccc-bbbb-cccc-dddd-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVocabulary.\n", "properties": { @@ -390632,7 +390632,7 @@ } }, "aws:costexplorer/getCostCategory:getCostCategory": { - "description": "Provides details about a specific CostExplorer Cost Category.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.costexplorer.getCostCategory({\n costCategoryArn: \"costCategoryARN\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.costexplorer.get_cost_category(cost_category_arn=\"costCategoryARN\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CostExplorer.GetCostCategory.Invoke(new()\n {\n CostCategoryArn = \"costCategoryARN\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\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 := costexplorer.LookupCostCategory(ctx, \u0026costexplorer.LookupCostCategoryArgs{\n\t\t\tCostCategoryArn: \"costCategoryARN\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.costexplorer.CostexplorerFunctions;\nimport com.pulumi.aws.costexplorer.inputs.GetCostCategoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CostexplorerFunctions.getCostCategory(GetCostCategoryArgs.builder()\n .costCategoryArn(\"costCategoryARN\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:costexplorer:getCostCategory\n arguments:\n costCategoryArn: costCategoryARN\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific CostExplorer Cost Category.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.costexplorer.getCostCategory({\n costCategoryArn: \"costCategoryARN\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.costexplorer.get_cost_category(cost_category_arn=\"costCategoryARN\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CostExplorer.GetCostCategory.Invoke(new()\n {\n CostCategoryArn = \"costCategoryARN\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\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 := costexplorer.LookupCostCategory(ctx, \u0026costexplorer.LookupCostCategoryArgs{\n\t\t\tCostCategoryArn: \"costCategoryARN\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.costexplorer.CostexplorerFunctions;\nimport com.pulumi.aws.costexplorer.inputs.GetCostCategoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CostexplorerFunctions.getCostCategory(GetCostCategoryArgs.builder()\n .costCategoryArn(\"costCategoryARN\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:costexplorer:getCostCategory\n Arguments:\n costCategoryArn: costCategoryARN\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCostCategory.\n", "properties": { @@ -390720,7 +390720,7 @@ } }, "aws:costexplorer/getTags:getTags": { - "description": "Provides the available cost allocation tag keys and tag values for a specified period.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.costexplorer.getTags({\n timePeriod: {\n start: \"2021-01-01\",\n end: \"2022-12-01\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.costexplorer.get_tags(time_period={\n \"start\": \"2021-01-01\",\n \"end\": \"2022-12-01\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.CostExplorer.GetTags.Invoke(new()\n {\n TimePeriod = new Aws.CostExplorer.Inputs.GetTagsTimePeriodInputArgs\n {\n Start = \"2021-01-01\",\n End = \"2022-12-01\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\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 := costexplorer.GetTags(ctx, \u0026costexplorer.GetTagsArgs{\n\t\t\tTimePeriod: costexplorer.GetTagsTimePeriod{\n\t\t\t\tStart: \"2021-01-01\",\n\t\t\t\tEnd: \"2022-12-01\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.costexplorer.CostexplorerFunctions;\nimport com.pulumi.aws.costexplorer.inputs.GetTagsArgs;\nimport com.pulumi.aws.costexplorer.inputs.GetTagsTimePeriodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = CostexplorerFunctions.getTags(GetTagsArgs.builder()\n .timePeriod(GetTagsTimePeriodArgs.builder()\n .start(\"2021-01-01\")\n .end(\"2022-12-01\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:costexplorer:getTags\n arguments:\n timePeriod:\n start: 2021-01-01\n end: 2022-12-01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides the available cost allocation tag keys and tag values for a specified period.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.costexplorer.getTags({\n timePeriod: {\n start: \"2021-01-01\",\n end: \"2022-12-01\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.costexplorer.get_tags(time_period={\n \"start\": \"2021-01-01\",\n \"end\": \"2022-12-01\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.CostExplorer.GetTags.Invoke(new()\n {\n TimePeriod = new Aws.CostExplorer.Inputs.GetTagsTimePeriodInputArgs\n {\n Start = \"2021-01-01\",\n End = \"2022-12-01\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\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 := costexplorer.GetTags(ctx, \u0026costexplorer.GetTagsArgs{\n\t\t\tTimePeriod: costexplorer.GetTagsTimePeriod{\n\t\t\t\tStart: \"2021-01-01\",\n\t\t\t\tEnd: \"2022-12-01\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.costexplorer.CostexplorerFunctions;\nimport com.pulumi.aws.costexplorer.inputs.GetTagsArgs;\nimport com.pulumi.aws.costexplorer.inputs.GetTagsTimePeriodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = CostexplorerFunctions.getTags(GetTagsArgs.builder()\n .timePeriod(GetTagsTimePeriodArgs.builder()\n .start(\"2021-01-01\")\n .end(\"2022-12-01\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:costexplorer:getTags\n Arguments:\n timePeriod:\n start: 2021-01-01\n end: 2022-12-01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTags.\n", "properties": { @@ -390795,7 +390795,7 @@ } }, "aws:cur/getReportDefinition:getReportDefinition": { - "description": "Use this data source to get information on an AWS Cost and Usage Report Definition.\n\n\u003e *NOTE:* The AWS Cost and Usage Report service is only available in `us-east-1` currently.\n\n\u003e *NOTE:* If AWS Organizations is enabled, only the master account can use this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst reportDefinition = aws.cur.getReportDefinition({\n reportName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreport_definition = aws.cur.get_report_definition(report_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var reportDefinition = Aws.Cur.GetReportDefinition.Invoke(new()\n {\n ReportName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cur\"\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 := cur.LookupReportDefinition(ctx, \u0026cur.LookupReportDefinitionArgs{\n\t\t\tReportName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cur.CurFunctions;\nimport com.pulumi.aws.cur.inputs.GetReportDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var reportDefinition = CurFunctions.getReportDefinition(GetReportDefinitionArgs.builder()\n .reportName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n reportDefinition:\n fn::invoke:\n function: aws:cur:getReportDefinition\n arguments:\n reportName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information on an AWS Cost and Usage Report Definition.\n\n\u003e *NOTE:* The AWS Cost and Usage Report service is only available in `us-east-1` currently.\n\n\u003e *NOTE:* If AWS Organizations is enabled, only the master account can use this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst reportDefinition = aws.cur.getReportDefinition({\n reportName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreport_definition = aws.cur.get_report_definition(report_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var reportDefinition = Aws.Cur.GetReportDefinition.Invoke(new()\n {\n ReportName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cur\"\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 := cur.LookupReportDefinition(ctx, \u0026cur.LookupReportDefinitionArgs{\n\t\t\tReportName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cur.CurFunctions;\nimport com.pulumi.aws.cur.inputs.GetReportDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var reportDefinition = CurFunctions.getReportDefinition(GetReportDefinitionArgs.builder()\n .reportName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n reportDefinition:\n fn::invoke:\n Function: aws:cur:getReportDefinition\n Arguments:\n reportName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getReportDefinition.\n", "properties": { @@ -390899,7 +390899,7 @@ } }, "aws:datapipeline/getPipeline:getPipeline": { - "description": "Provides details about a specific DataPipeline Pipeline.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.datapipeline.getPipeline({\n pipelineId: \"pipelineID\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datapipeline.get_pipeline(pipeline_id=\"pipelineID\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DataPipeline.GetPipeline.Invoke(new()\n {\n PipelineId = \"pipelineID\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datapipeline\"\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 := datapipeline.LookupPipeline(ctx, \u0026datapipeline.LookupPipelineArgs{\n\t\t\tPipelineId: \"pipelineID\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.datapipeline.DatapipelineFunctions;\nimport com.pulumi.aws.datapipeline.inputs.GetPipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DatapipelineFunctions.getPipeline(GetPipelineArgs.builder()\n .pipelineId(\"pipelineID\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:datapipeline:getPipeline\n arguments:\n pipelineId: pipelineID\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific DataPipeline Pipeline.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.datapipeline.getPipeline({\n pipelineId: \"pipelineID\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datapipeline.get_pipeline(pipeline_id=\"pipelineID\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DataPipeline.GetPipeline.Invoke(new()\n {\n PipelineId = \"pipelineID\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datapipeline\"\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 := datapipeline.LookupPipeline(ctx, \u0026datapipeline.LookupPipelineArgs{\n\t\t\tPipelineId: \"pipelineID\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.datapipeline.DatapipelineFunctions;\nimport com.pulumi.aws.datapipeline.inputs.GetPipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DatapipelineFunctions.getPipeline(GetPipelineArgs.builder()\n .pipelineId(\"pipelineID\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:datapipeline:getPipeline\n Arguments:\n pipelineId: pipelineID\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPipeline.\n", "properties": { @@ -390957,7 +390957,7 @@ } }, "aws:datapipeline/getPipelineDefinition:getPipelineDefinition": { - "description": "Provides details about a specific DataPipeline Pipeline Definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.datapipeline.getPipelineDefinition({\n pipelineId: \"pipelineID\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datapipeline.get_pipeline_definition(pipeline_id=\"pipelineID\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DataPipeline.GetPipelineDefinition.Invoke(new()\n {\n PipelineId = \"pipelineID\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datapipeline\"\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 := datapipeline.LookupPipelineDefinition(ctx, \u0026datapipeline.LookupPipelineDefinitionArgs{\n\t\t\tPipelineId: \"pipelineID\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.datapipeline.DatapipelineFunctions;\nimport com.pulumi.aws.datapipeline.inputs.GetPipelineDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DatapipelineFunctions.getPipelineDefinition(GetPipelineDefinitionArgs.builder()\n .pipelineId(\"pipelineID\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:datapipeline:getPipelineDefinition\n arguments:\n pipelineId: pipelineID\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific DataPipeline Pipeline Definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.datapipeline.getPipelineDefinition({\n pipelineId: \"pipelineID\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datapipeline.get_pipeline_definition(pipeline_id=\"pipelineID\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DataPipeline.GetPipelineDefinition.Invoke(new()\n {\n PipelineId = \"pipelineID\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datapipeline\"\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 := datapipeline.LookupPipelineDefinition(ctx, \u0026datapipeline.LookupPipelineDefinitionArgs{\n\t\t\tPipelineId: \"pipelineID\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.datapipeline.DatapipelineFunctions;\nimport com.pulumi.aws.datapipeline.inputs.GetPipelineDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DatapipelineFunctions.getPipelineDefinition(GetPipelineDefinitionArgs.builder()\n .pipelineId(\"pipelineID\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:datapipeline:getPipelineDefinition\n Arguments:\n pipelineId: pipelineID\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPipelineDefinition.\n", "properties": { @@ -391021,7 +391021,7 @@ } }, "aws:datazone/getEnvironmentBlueprint:getEnvironmentBlueprint": { - "description": "Data source for managing an AWS DataZone Environment Blueprint.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleDomain = new aws.datazone.Domain(\"example\", {\n name: \"example_domain\",\n domainExecutionRole: domainExecutionRole.arn,\n});\nconst example = aws.datazone.getEnvironmentBlueprintOutput({\n domainId: exampleDomain.id,\n name: \"DefaultDataLake\",\n managed: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_domain = aws.datazone.Domain(\"example\",\n name=\"example_domain\",\n domain_execution_role=domain_execution_role[\"arn\"])\nexample = aws.datazone.get_environment_blueprint_output(domain_id=example_domain.id,\n name=\"DefaultDataLake\",\n managed=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDomain = new Aws.DataZone.Domain(\"example\", new()\n {\n Name = \"example_domain\",\n DomainExecutionRole = domainExecutionRole.Arn,\n });\n\n var example = Aws.DataZone.GetEnvironmentBlueprint.Invoke(new()\n {\n DomainId = exampleDomain.Id,\n Name = \"DefaultDataLake\",\n Managed = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datazone\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDomain, err := datazone.NewDomain(ctx, \"example\", \u0026datazone.DomainArgs{\n\t\t\tName: pulumi.String(\"example_domain\"),\n\t\t\tDomainExecutionRole: pulumi.Any(domainExecutionRole.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = datazone.GetEnvironmentBlueprintOutput(ctx, datazone.GetEnvironmentBlueprintOutputArgs{\n\t\t\tDomainId: exampleDomain.ID(),\n\t\t\tName: pulumi.String(\"DefaultDataLake\"),\n\t\t\tManaged: pulumi.Bool(true),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.datazone.Domain;\nimport com.pulumi.aws.datazone.DomainArgs;\nimport com.pulumi.aws.datazone.DatazoneFunctions;\nimport com.pulumi.aws.datazone.inputs.GetEnvironmentBlueprintArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .name(\"example_domain\")\n .domainExecutionRole(domainExecutionRole.arn())\n .build());\n\n final var example = DatazoneFunctions.getEnvironmentBlueprint(GetEnvironmentBlueprintArgs.builder()\n .domainId(exampleDomain.id())\n .name(\"DefaultDataLake\")\n .managed(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDomain:\n type: aws:datazone:Domain\n name: example\n properties:\n name: example_domain\n domainExecutionRole: ${domainExecutionRole.arn}\nvariables:\n example:\n fn::invoke:\n function: aws:datazone:getEnvironmentBlueprint\n arguments:\n domainId: ${exampleDomain.id}\n name: DefaultDataLake\n managed: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS DataZone Environment Blueprint.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleDomain = new aws.datazone.Domain(\"example\", {\n name: \"example_domain\",\n domainExecutionRole: domainExecutionRole.arn,\n});\nconst example = aws.datazone.getEnvironmentBlueprintOutput({\n domainId: exampleDomain.id,\n name: \"DefaultDataLake\",\n managed: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_domain = aws.datazone.Domain(\"example\",\n name=\"example_domain\",\n domain_execution_role=domain_execution_role[\"arn\"])\nexample = aws.datazone.get_environment_blueprint_output(domain_id=example_domain.id,\n name=\"DefaultDataLake\",\n managed=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDomain = new Aws.DataZone.Domain(\"example\", new()\n {\n Name = \"example_domain\",\n DomainExecutionRole = domainExecutionRole.Arn,\n });\n\n var example = Aws.DataZone.GetEnvironmentBlueprint.Invoke(new()\n {\n DomainId = exampleDomain.Id,\n Name = \"DefaultDataLake\",\n Managed = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datazone\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDomain, err := datazone.NewDomain(ctx, \"example\", \u0026datazone.DomainArgs{\n\t\t\tName: pulumi.String(\"example_domain\"),\n\t\t\tDomainExecutionRole: pulumi.Any(domainExecutionRole.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = datazone.GetEnvironmentBlueprintOutput(ctx, datazone.GetEnvironmentBlueprintOutputArgs{\n\t\t\tDomainId: exampleDomain.ID(),\n\t\t\tName: pulumi.String(\"DefaultDataLake\"),\n\t\t\tManaged: pulumi.Bool(true),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.datazone.Domain;\nimport com.pulumi.aws.datazone.DomainArgs;\nimport com.pulumi.aws.datazone.DatazoneFunctions;\nimport com.pulumi.aws.datazone.inputs.GetEnvironmentBlueprintArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .name(\"example_domain\")\n .domainExecutionRole(domainExecutionRole.arn())\n .build());\n\n final var example = DatazoneFunctions.getEnvironmentBlueprint(GetEnvironmentBlueprintArgs.builder()\n .domainId(exampleDomain.id())\n .name(\"DefaultDataLake\")\n .managed(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDomain:\n type: aws:datazone:Domain\n name: example\n properties:\n name: example_domain\n domainExecutionRole: ${domainExecutionRole.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:datazone:getEnvironmentBlueprint\n Arguments:\n domainId: ${exampleDomain.id}\n name: DefaultDataLake\n managed: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEnvironmentBlueprint.\n", "properties": { @@ -391082,7 +391082,7 @@ } }, "aws:devopsguru/getNotificationChannel:getNotificationChannel": { - "description": "Data source for managing an AWS DevOps Guru Notification Channel.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.devopsguru.getNotificationChannel({\n id: \"channel-1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.get_notification_channel(id=\"channel-1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DevOpsGuru.GetNotificationChannel.Invoke(new()\n {\n Id = \"channel-1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\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 := devopsguru.LookupNotificationChannel(ctx, \u0026devopsguru.LookupNotificationChannelArgs{\n\t\t\tId: \"channel-1234\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.devopsguru.DevopsguruFunctions;\nimport com.pulumi.aws.devopsguru.inputs.GetNotificationChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DevopsguruFunctions.getNotificationChannel(GetNotificationChannelArgs.builder()\n .id(\"channel-1234\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:devopsguru:getNotificationChannel\n arguments:\n id: channel-1234\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS DevOps Guru Notification Channel.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.devopsguru.getNotificationChannel({\n id: \"channel-1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.get_notification_channel(id=\"channel-1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DevOpsGuru.GetNotificationChannel.Invoke(new()\n {\n Id = \"channel-1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\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 := devopsguru.LookupNotificationChannel(ctx, \u0026devopsguru.LookupNotificationChannelArgs{\n\t\t\tId: \"channel-1234\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.devopsguru.DevopsguruFunctions;\nimport com.pulumi.aws.devopsguru.inputs.GetNotificationChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DevopsguruFunctions.getNotificationChannel(GetNotificationChannelArgs.builder()\n .id(\"channel-1234\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:devopsguru:getNotificationChannel\n Arguments:\n id: channel-1234\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getNotificationChannel.\n", "properties": { @@ -391138,7 +391138,7 @@ } }, "aws:devopsguru/getResourceCollection:getResourceCollection": { - "description": "Data source for managing an AWS DevOps Guru Resource Collection.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.devopsguru.getResourceCollection({\n type: \"AWS_SERVICE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.get_resource_collection(type=\"AWS_SERVICE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DevOpsGuru.GetResourceCollection.Invoke(new()\n {\n Type = \"AWS_SERVICE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\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 := devopsguru.LookupResourceCollection(ctx, \u0026devopsguru.LookupResourceCollectionArgs{\n\t\t\tType: \"AWS_SERVICE\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.devopsguru.DevopsguruFunctions;\nimport com.pulumi.aws.devopsguru.inputs.GetResourceCollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DevopsguruFunctions.getResourceCollection(GetResourceCollectionArgs.builder()\n .type(\"AWS_SERVICE\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:devopsguru:getResourceCollection\n arguments:\n type: AWS_SERVICE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS DevOps Guru Resource Collection.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.devopsguru.getResourceCollection({\n type: \"AWS_SERVICE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.get_resource_collection(type=\"AWS_SERVICE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DevOpsGuru.GetResourceCollection.Invoke(new()\n {\n Type = \"AWS_SERVICE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\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 := devopsguru.LookupResourceCollection(ctx, \u0026devopsguru.LookupResourceCollectionArgs{\n\t\t\tType: \"AWS_SERVICE\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.devopsguru.DevopsguruFunctions;\nimport com.pulumi.aws.devopsguru.inputs.GetResourceCollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DevopsguruFunctions.getResourceCollection(GetResourceCollectionArgs.builder()\n .type(\"AWS_SERVICE\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:devopsguru:getResourceCollection\n Arguments:\n type: AWS_SERVICE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResourceCollection.\n", "properties": { @@ -391199,7 +391199,7 @@ } }, "aws:directconnect/getConnection:getConnection": { - "description": "Retrieve information about a Direct Connect Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.directconnect.getConnection({\n name: \"tf-dx-connection\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.get_connection(name=\"tf-dx-connection\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DirectConnect.GetConnection.Invoke(new()\n {\n Name = \"tf-dx-connection\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\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 := directconnect.LookupConnection(ctx, \u0026directconnect.LookupConnectionArgs{\n\t\t\tName: \"tf-dx-connection\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.DirectconnectFunctions;\nimport com.pulumi.aws.directconnect.inputs.GetConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DirectconnectFunctions.getConnection(GetConnectionArgs.builder()\n .name(\"tf-dx-connection\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:directconnect:getConnection\n arguments:\n name: tf-dx-connection\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a Direct Connect Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.directconnect.getConnection({\n name: \"tf-dx-connection\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.get_connection(name=\"tf-dx-connection\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DirectConnect.GetConnection.Invoke(new()\n {\n Name = \"tf-dx-connection\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\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 := directconnect.LookupConnection(ctx, \u0026directconnect.LookupConnectionArgs{\n\t\t\tName: \"tf-dx-connection\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.DirectconnectFunctions;\nimport com.pulumi.aws.directconnect.inputs.GetConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DirectconnectFunctions.getConnection(GetConnectionArgs.builder()\n .name(\"tf-dx-connection\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:directconnect:getConnection\n Arguments:\n name: tf-dx-connection\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getConnection.\n", "properties": { @@ -391287,7 +391287,7 @@ } }, "aws:directconnect/getGateway:getGateway": { - "description": "Retrieve information about a Direct Connect Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.directconnect.getGateway({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.get_gateway(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DirectConnect.GetGateway.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\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 := directconnect.LookupGateway(ctx, \u0026directconnect.LookupGatewayArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.DirectconnectFunctions;\nimport com.pulumi.aws.directconnect.inputs.GetGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DirectconnectFunctions.getGateway(GetGatewayArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:directconnect:getGateway\n arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a Direct Connect Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.directconnect.getGateway({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.get_gateway(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DirectConnect.GetGateway.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\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 := directconnect.LookupGateway(ctx, \u0026directconnect.LookupGatewayArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.DirectconnectFunctions;\nimport com.pulumi.aws.directconnect.inputs.GetGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DirectconnectFunctions.getGateway(GetGatewayArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:directconnect:getGateway\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getGateway.\n", "properties": { @@ -391330,7 +391330,7 @@ } }, "aws:directconnect/getLocation:getLocation": { - "description": "Retrieve information about a specific AWS Direct Connect location in the current AWS Region.\nThese are the locations that can be specified when configuring `aws.directconnect.Connection` or `aws.directconnect.LinkAggregationGroup` resources.\n\n\u003e **Note:** This data source is different from the `aws.directconnect.getLocations` data source which retrieves information about all the AWS Direct Connect locations in the current AWS Region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.directconnect.getLocation({\n locationCode: \"CS32A-24FL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.get_location(location_code=\"CS32A-24FL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DirectConnect.GetLocation.Invoke(new()\n {\n LocationCode = \"CS32A-24FL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\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 := directconnect.GetLocation(ctx, \u0026directconnect.GetLocationArgs{\n\t\t\tLocationCode: \"CS32A-24FL\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.DirectconnectFunctions;\nimport com.pulumi.aws.directconnect.inputs.GetLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DirectconnectFunctions.getLocation(GetLocationArgs.builder()\n .locationCode(\"CS32A-24FL\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:directconnect:getLocation\n arguments:\n locationCode: CS32A-24FL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a specific AWS Direct Connect location in the current AWS Region.\nThese are the locations that can be specified when configuring `aws.directconnect.Connection` or `aws.directconnect.LinkAggregationGroup` resources.\n\n\u003e **Note:** This data source is different from the `aws.directconnect.getLocations` data source which retrieves information about all the AWS Direct Connect locations in the current AWS Region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.directconnect.getLocation({\n locationCode: \"CS32A-24FL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.get_location(location_code=\"CS32A-24FL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DirectConnect.GetLocation.Invoke(new()\n {\n LocationCode = \"CS32A-24FL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\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 := directconnect.GetLocation(ctx, \u0026directconnect.GetLocationArgs{\n\t\t\tLocationCode: \"CS32A-24FL\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.DirectconnectFunctions;\nimport com.pulumi.aws.directconnect.inputs.GetLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DirectconnectFunctions.getLocation(GetLocationArgs.builder()\n .locationCode(\"CS32A-24FL\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:directconnect:getLocation\n Arguments:\n locationCode: CS32A-24FL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLocation.\n", "properties": { @@ -391392,7 +391392,7 @@ } }, "aws:directconnect/getLocations:getLocations": { - "description": "Retrieve information about the AWS Direct Connect locations in the current AWS Region.\nThese are the locations that can be specified when configuring `aws.directconnect.Connection` or `aws.directconnect.LinkAggregationGroup` resources.\n\n\u003e **Note:** This data source is different from the `aws.directconnect.getLocation` data source which retrieves information about a specific AWS Direct Connect location in the current AWS Region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.directconnect.getLocations({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.directconnect.get_locations()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.DirectConnect.GetLocations.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\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 := directconnect.GetLocations(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.DirectconnectFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = DirectconnectFunctions.getLocations();\n\n }\n}\n```\n```yaml\nvariables:\n available:\n fn::invoke:\n function: aws:directconnect:getLocations\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about the AWS Direct Connect locations in the current AWS Region.\nThese are the locations that can be specified when configuring `aws.directconnect.Connection` or `aws.directconnect.LinkAggregationGroup` resources.\n\n\u003e **Note:** This data source is different from the `aws.directconnect.getLocation` data source which retrieves information about a specific AWS Direct Connect location in the current AWS Region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.directconnect.getLocations({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.directconnect.get_locations()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.DirectConnect.GetLocations.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\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 := directconnect.GetLocations(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.DirectconnectFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = DirectconnectFunctions.getLocations();\n\n }\n}\n```\n```yaml\nvariables:\n available:\n fn::invoke:\n Function: aws:directconnect:getLocations\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getLocations.\n", "properties": { @@ -391416,7 +391416,7 @@ } }, "aws:directconnect/getRouterConfiguration:getRouterConfiguration": { - "description": "Data source for retrieving Router Configuration instructions for a given AWS Direct Connect Virtual Interface and Router Type.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.directconnect.getRouterConfiguration({\n virtualInterfaceId: \"dxvif-abcde123\",\n routerTypeIdentifier: \"CiscoSystemsInc-2900SeriesRouters-IOS124\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.get_router_configuration(virtual_interface_id=\"dxvif-abcde123\",\n router_type_identifier=\"CiscoSystemsInc-2900SeriesRouters-IOS124\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DirectConnect.GetRouterConfiguration.Invoke(new()\n {\n VirtualInterfaceId = \"dxvif-abcde123\",\n RouterTypeIdentifier = \"CiscoSystemsInc-2900SeriesRouters-IOS124\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\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 := directconnect.GetRouterConfiguration(ctx, \u0026directconnect.GetRouterConfigurationArgs{\n\t\t\tVirtualInterfaceId: \"dxvif-abcde123\",\n\t\t\tRouterTypeIdentifier: \"CiscoSystemsInc-2900SeriesRouters-IOS124\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.DirectconnectFunctions;\nimport com.pulumi.aws.directconnect.inputs.GetRouterConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DirectconnectFunctions.getRouterConfiguration(GetRouterConfigurationArgs.builder()\n .virtualInterfaceId(\"dxvif-abcde123\")\n .routerTypeIdentifier(\"CiscoSystemsInc-2900SeriesRouters-IOS124\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:directconnect:getRouterConfiguration\n arguments:\n virtualInterfaceId: dxvif-abcde123\n routerTypeIdentifier: CiscoSystemsInc-2900SeriesRouters-IOS124\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for retrieving Router Configuration instructions for a given AWS Direct Connect Virtual Interface and Router Type.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.directconnect.getRouterConfiguration({\n virtualInterfaceId: \"dxvif-abcde123\",\n routerTypeIdentifier: \"CiscoSystemsInc-2900SeriesRouters-IOS124\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.get_router_configuration(virtual_interface_id=\"dxvif-abcde123\",\n router_type_identifier=\"CiscoSystemsInc-2900SeriesRouters-IOS124\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DirectConnect.GetRouterConfiguration.Invoke(new()\n {\n VirtualInterfaceId = \"dxvif-abcde123\",\n RouterTypeIdentifier = \"CiscoSystemsInc-2900SeriesRouters-IOS124\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\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 := directconnect.GetRouterConfiguration(ctx, \u0026directconnect.GetRouterConfigurationArgs{\n\t\t\tVirtualInterfaceId: \"dxvif-abcde123\",\n\t\t\tRouterTypeIdentifier: \"CiscoSystemsInc-2900SeriesRouters-IOS124\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.DirectconnectFunctions;\nimport com.pulumi.aws.directconnect.inputs.GetRouterConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DirectconnectFunctions.getRouterConfiguration(GetRouterConfigurationArgs.builder()\n .virtualInterfaceId(\"dxvif-abcde123\")\n .routerTypeIdentifier(\"CiscoSystemsInc-2900SeriesRouters-IOS124\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:directconnect:getRouterConfiguration\n Arguments:\n virtualInterfaceId: dxvif-abcde123\n routerTypeIdentifier: CiscoSystemsInc-2900SeriesRouters-IOS124\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRouterConfiguration.\n", "properties": { @@ -391476,7 +391476,7 @@ } }, "aws:directoryservice/getDirectory:getDirectory": { - "description": "Get attributes of AWS Directory Service directory (SimpleAD, Managed AD, AD Connector). It's especially useful to refer AWS Managed AD or on-premise AD in AD Connector configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.directoryservice.getDirectory({\n directoryId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directoryservice.get_directory(directory_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DirectoryService.GetDirectory.Invoke(new()\n {\n DirectoryId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\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 := directoryservice.LookupDirectory(ctx, \u0026directoryservice.LookupDirectoryArgs{\n\t\t\tDirectoryId: main.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directoryservice.DirectoryserviceFunctions;\nimport com.pulumi.aws.directoryservice.inputs.GetDirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DirectoryserviceFunctions.getDirectory(GetDirectoryArgs.builder()\n .directoryId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:directoryservice:getDirectory\n arguments:\n directoryId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get attributes of AWS Directory Service directory (SimpleAD, Managed AD, AD Connector). It's especially useful to refer AWS Managed AD or on-premise AD in AD Connector configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.directoryservice.getDirectory({\n directoryId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directoryservice.get_directory(directory_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DirectoryService.GetDirectory.Invoke(new()\n {\n DirectoryId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\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 := directoryservice.LookupDirectory(ctx, \u0026directoryservice.LookupDirectoryArgs{\n\t\t\tDirectoryId: main.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directoryservice.DirectoryserviceFunctions;\nimport com.pulumi.aws.directoryservice.inputs.GetDirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DirectoryserviceFunctions.getDirectory(GetDirectoryArgs.builder()\n .directoryId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:directoryservice:getDirectory\n Arguments:\n directoryId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDirectory.\n", "properties": { @@ -391603,7 +391603,7 @@ } }, "aws:dms/getCertificate:getCertificate": { - "description": "Data source for managing an AWS DMS (Database Migration) Certificate.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.dms.getCertificate({\n certificateId: test.certificateId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dms.get_certificate(certificate_id=test[\"certificateId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Dms.GetCertificate.Invoke(new()\n {\n CertificateId = test.CertificateId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\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 := dms.LookupCertificate(ctx, \u0026dms.LookupCertificateArgs{\n\t\t\tCertificateId: test.CertificateId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.DmsFunctions;\nimport com.pulumi.aws.dms.inputs.GetCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DmsFunctions.getCertificate(GetCertificateArgs.builder()\n .certificateId(test.certificateId())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:dms:getCertificate\n arguments:\n certificateId: ${test.certificateId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS DMS (Database Migration) Certificate.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.dms.getCertificate({\n certificateId: test.certificateId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dms.get_certificate(certificate_id=test[\"certificateId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Dms.GetCertificate.Invoke(new()\n {\n CertificateId = test.CertificateId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\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 := dms.LookupCertificate(ctx, \u0026dms.LookupCertificateArgs{\n\t\t\tCertificateId: test.CertificateId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.DmsFunctions;\nimport com.pulumi.aws.dms.inputs.GetCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DmsFunctions.getCertificate(GetCertificateArgs.builder()\n .certificateId(test.certificateId())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:dms:getCertificate\n Arguments:\n certificateId: ${test.certificateId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCertificate.\n", "properties": { @@ -391696,7 +391696,7 @@ } }, "aws:dms/getEndpoint:getEndpoint": { - "description": "Data source for managing an AWS DMS (Database Migration) Endpoint.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.dms.getEndpoint({\n endpointId: \"test_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.dms.get_endpoint(endpoint_id=\"test_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Dms.GetEndpoint.Invoke(new()\n {\n EndpointId = \"test_id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\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 := dms.LookupEndpoint(ctx, \u0026dms.LookupEndpointArgs{\n\t\t\tEndpointId: \"test_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.DmsFunctions;\nimport com.pulumi.aws.dms.inputs.GetEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DmsFunctions.getEndpoint(GetEndpointArgs.builder()\n .endpointId(\"test_id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:dms:getEndpoint\n arguments:\n endpointId: test_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS DMS (Database Migration) Endpoint.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.dms.getEndpoint({\n endpointId: \"test_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.dms.get_endpoint(endpoint_id=\"test_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Dms.GetEndpoint.Invoke(new()\n {\n EndpointId = \"test_id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\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 := dms.LookupEndpoint(ctx, \u0026dms.LookupEndpointArgs{\n\t\t\tEndpointId: \"test_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.DmsFunctions;\nimport com.pulumi.aws.dms.inputs.GetEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DmsFunctions.getEndpoint(GetEndpointArgs.builder()\n .endpointId(\"test_id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:dms:getEndpoint\n Arguments:\n endpointId: test_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEndpoint.\n", "properties": { @@ -391858,7 +391858,7 @@ } }, "aws:dms/getReplicationInstance:getReplicationInstance": { - "description": "Data source for managing an AWS DMS (Database Migration) Replication Instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.dms.getReplicationInstance({\n replicationInstanceId: testAwsDmsReplicationInstance.replicationInstanceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.dms.get_replication_instance(replication_instance_id=test_aws_dms_replication_instance[\"replicationInstanceId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Dms.GetReplicationInstance.Invoke(new()\n {\n ReplicationInstanceId = testAwsDmsReplicationInstance.ReplicationInstanceId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\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 := dms.LookupReplicationInstance(ctx, \u0026dms.LookupReplicationInstanceArgs{\n\t\t\tReplicationInstanceId: testAwsDmsReplicationInstance.ReplicationInstanceId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.DmsFunctions;\nimport com.pulumi.aws.dms.inputs.GetReplicationInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DmsFunctions.getReplicationInstance(GetReplicationInstanceArgs.builder()\n .replicationInstanceId(testAwsDmsReplicationInstance.replicationInstanceId())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:dms:getReplicationInstance\n arguments:\n replicationInstanceId: ${testAwsDmsReplicationInstance.replicationInstanceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS DMS (Database Migration) Replication Instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.dms.getReplicationInstance({\n replicationInstanceId: testAwsDmsReplicationInstance.replicationInstanceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.dms.get_replication_instance(replication_instance_id=test_aws_dms_replication_instance[\"replicationInstanceId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Dms.GetReplicationInstance.Invoke(new()\n {\n ReplicationInstanceId = testAwsDmsReplicationInstance.ReplicationInstanceId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\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 := dms.LookupReplicationInstance(ctx, \u0026dms.LookupReplicationInstanceArgs{\n\t\t\tReplicationInstanceId: testAwsDmsReplicationInstance.ReplicationInstanceId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.DmsFunctions;\nimport com.pulumi.aws.dms.inputs.GetReplicationInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DmsFunctions.getReplicationInstance(GetReplicationInstanceArgs.builder()\n .replicationInstanceId(testAwsDmsReplicationInstance.replicationInstanceId())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:dms:getReplicationInstance\n Arguments:\n replicationInstanceId: ${testAwsDmsReplicationInstance.replicationInstanceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getReplicationInstance.\n", "properties": { @@ -391988,7 +391988,7 @@ } }, "aws:dms/getReplicationSubnetGroup:getReplicationSubnetGroup": { - "description": "Data source for managing an AWS DMS (Database Migration) Replication Subnet Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.dms.getReplicationSubnetGroup({\n replicationSubnetGroupId: testAwsDmsReplicationSubnetGroup.replicationSubnetGroupId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.dms.get_replication_subnet_group(replication_subnet_group_id=test_aws_dms_replication_subnet_group[\"replicationSubnetGroupId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Dms.GetReplicationSubnetGroup.Invoke(new()\n {\n ReplicationSubnetGroupId = testAwsDmsReplicationSubnetGroup.ReplicationSubnetGroupId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\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 := dms.LookupReplicationSubnetGroup(ctx, \u0026dms.LookupReplicationSubnetGroupArgs{\n\t\t\tReplicationSubnetGroupId: testAwsDmsReplicationSubnetGroup.ReplicationSubnetGroupId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.DmsFunctions;\nimport com.pulumi.aws.dms.inputs.GetReplicationSubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DmsFunctions.getReplicationSubnetGroup(GetReplicationSubnetGroupArgs.builder()\n .replicationSubnetGroupId(testAwsDmsReplicationSubnetGroup.replicationSubnetGroupId())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:dms:getReplicationSubnetGroup\n arguments:\n replicationSubnetGroupId: ${testAwsDmsReplicationSubnetGroup.replicationSubnetGroupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS DMS (Database Migration) Replication Subnet Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.dms.getReplicationSubnetGroup({\n replicationSubnetGroupId: testAwsDmsReplicationSubnetGroup.replicationSubnetGroupId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.dms.get_replication_subnet_group(replication_subnet_group_id=test_aws_dms_replication_subnet_group[\"replicationSubnetGroupId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Dms.GetReplicationSubnetGroup.Invoke(new()\n {\n ReplicationSubnetGroupId = testAwsDmsReplicationSubnetGroup.ReplicationSubnetGroupId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\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 := dms.LookupReplicationSubnetGroup(ctx, \u0026dms.LookupReplicationSubnetGroupArgs{\n\t\t\tReplicationSubnetGroupId: testAwsDmsReplicationSubnetGroup.ReplicationSubnetGroupId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.DmsFunctions;\nimport com.pulumi.aws.dms.inputs.GetReplicationSubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DmsFunctions.getReplicationSubnetGroup(GetReplicationSubnetGroupArgs.builder()\n .replicationSubnetGroupId(testAwsDmsReplicationSubnetGroup.replicationSubnetGroupId())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:dms:getReplicationSubnetGroup\n Arguments:\n replicationSubnetGroupId: ${testAwsDmsReplicationSubnetGroup.replicationSubnetGroupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getReplicationSubnetGroup.\n", "properties": { @@ -392060,7 +392060,7 @@ } }, "aws:dms/getReplicationTask:getReplicationTask": { - "description": "Data source for managing an AWS DMS (Database Migration) Replication Task.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.dms.getReplicationTask({\n replicationTaskId: testAwsDmsReplicationTask.replicationTaskId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.dms.get_replication_task(replication_task_id=test_aws_dms_replication_task[\"replicationTaskId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Dms.GetReplicationTask.Invoke(new()\n {\n ReplicationTaskId = testAwsDmsReplicationTask.ReplicationTaskId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\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 := dms.LookupReplicationTask(ctx, \u0026dms.LookupReplicationTaskArgs{\n\t\t\tReplicationTaskId: testAwsDmsReplicationTask.ReplicationTaskId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.DmsFunctions;\nimport com.pulumi.aws.dms.inputs.GetReplicationTaskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DmsFunctions.getReplicationTask(GetReplicationTaskArgs.builder()\n .replicationTaskId(testAwsDmsReplicationTask.replicationTaskId())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:dms:getReplicationTask\n arguments:\n replicationTaskId: ${testAwsDmsReplicationTask.replicationTaskId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS DMS (Database Migration) Replication Task.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.dms.getReplicationTask({\n replicationTaskId: testAwsDmsReplicationTask.replicationTaskId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.dms.get_replication_task(replication_task_id=test_aws_dms_replication_task[\"replicationTaskId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Dms.GetReplicationTask.Invoke(new()\n {\n ReplicationTaskId = testAwsDmsReplicationTask.ReplicationTaskId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\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 := dms.LookupReplicationTask(ctx, \u0026dms.LookupReplicationTaskArgs{\n\t\t\tReplicationTaskId: testAwsDmsReplicationTask.ReplicationTaskId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.DmsFunctions;\nimport com.pulumi.aws.dms.inputs.GetReplicationTaskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DmsFunctions.getReplicationTask(GetReplicationTaskArgs.builder()\n .replicationTaskId(testAwsDmsReplicationTask.replicationTaskId())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:dms:getReplicationTask\n Arguments:\n replicationTaskId: ${testAwsDmsReplicationTask.replicationTaskId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getReplicationTask.\n", "properties": { @@ -392161,7 +392161,7 @@ } }, "aws:docdb/getEngineVersion:getEngineVersion": { - "description": "Information about a DocumentDB engine version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.docdb.getEngineVersion({\n version: \"3.6.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.docdb.get_engine_version(version=\"3.6.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.DocDB.GetEngineVersion.Invoke(new()\n {\n Version = \"3.6.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\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 := docdb.GetEngineVersion(ctx, \u0026docdb.GetEngineVersionArgs{\n\t\t\tVersion: pulumi.StringRef(\"3.6.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.docdb.DocdbFunctions;\nimport com.pulumi.aws.docdb.inputs.GetEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DocdbFunctions.getEngineVersion(GetEngineVersionArgs.builder()\n .version(\"3.6.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:docdb:getEngineVersion\n arguments:\n version: 3.6.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about a DocumentDB engine version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.docdb.getEngineVersion({\n version: \"3.6.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.docdb.get_engine_version(version=\"3.6.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.DocDB.GetEngineVersion.Invoke(new()\n {\n Version = \"3.6.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\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 := docdb.GetEngineVersion(ctx, \u0026docdb.GetEngineVersionArgs{\n\t\t\tVersion: pulumi.StringRef(\"3.6.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.docdb.DocdbFunctions;\nimport com.pulumi.aws.docdb.inputs.GetEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DocdbFunctions.getEngineVersion(GetEngineVersionArgs.builder()\n .version(\"3.6.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:docdb:getEngineVersion\n Arguments:\n version: 3.6.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEngineVersion.\n", "properties": { @@ -392250,7 +392250,7 @@ } }, "aws:docdb/getOrderableDbInstance:getOrderableDbInstance": { - "description": "Information about DocumentDB orderable DB instances.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.docdb.getOrderableDbInstance({\n engine: \"docdb\",\n engineVersion: \"3.6.0\",\n licenseModel: \"na\",\n preferredInstanceClasses: [\n \"db.r5.large\",\n \"db.r4.large\",\n \"db.t3.medium\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.docdb.get_orderable_db_instance(engine=\"docdb\",\n engine_version=\"3.6.0\",\n license_model=\"na\",\n preferred_instance_classes=[\n \"db.r5.large\",\n \"db.r4.large\",\n \"db.t3.medium\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.DocDB.GetOrderableDbInstance.Invoke(new()\n {\n Engine = \"docdb\",\n EngineVersion = \"3.6.0\",\n LicenseModel = \"na\",\n PreferredInstanceClasses = new[]\n {\n \"db.r5.large\",\n \"db.r4.large\",\n \"db.t3.medium\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\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 := docdb.GetOrderableDbInstance(ctx, \u0026docdb.GetOrderableDbInstanceArgs{\n\t\t\tEngine: pulumi.StringRef(\"docdb\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"3.6.0\"),\n\t\t\tLicenseModel: pulumi.StringRef(\"na\"),\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.r5.large\",\n\t\t\t\t\"db.r4.large\",\n\t\t\t\t\"db.t3.medium\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.docdb.DocdbFunctions;\nimport com.pulumi.aws.docdb.inputs.GetOrderableDbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DocdbFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(\"docdb\")\n .engineVersion(\"3.6.0\")\n .licenseModel(\"na\")\n .preferredInstanceClasses( \n \"db.r5.large\",\n \"db.r4.large\",\n \"db.t3.medium\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:docdb:getOrderableDbInstance\n arguments:\n engine: docdb\n engineVersion: 3.6.0\n licenseModel: na\n preferredInstanceClasses:\n - db.r5.large\n - db.r4.large\n - db.t3.medium\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about DocumentDB orderable DB instances.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.docdb.getOrderableDbInstance({\n engine: \"docdb\",\n engineVersion: \"3.6.0\",\n licenseModel: \"na\",\n preferredInstanceClasses: [\n \"db.r5.large\",\n \"db.r4.large\",\n \"db.t3.medium\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.docdb.get_orderable_db_instance(engine=\"docdb\",\n engine_version=\"3.6.0\",\n license_model=\"na\",\n preferred_instance_classes=[\n \"db.r5.large\",\n \"db.r4.large\",\n \"db.t3.medium\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.DocDB.GetOrderableDbInstance.Invoke(new()\n {\n Engine = \"docdb\",\n EngineVersion = \"3.6.0\",\n LicenseModel = \"na\",\n PreferredInstanceClasses = new[]\n {\n \"db.r5.large\",\n \"db.r4.large\",\n \"db.t3.medium\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\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 := docdb.GetOrderableDbInstance(ctx, \u0026docdb.GetOrderableDbInstanceArgs{\n\t\t\tEngine: pulumi.StringRef(\"docdb\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"3.6.0\"),\n\t\t\tLicenseModel: pulumi.StringRef(\"na\"),\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.r5.large\",\n\t\t\t\t\"db.r4.large\",\n\t\t\t\t\"db.t3.medium\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.docdb.DocdbFunctions;\nimport com.pulumi.aws.docdb.inputs.GetOrderableDbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DocdbFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(\"docdb\")\n .engineVersion(\"3.6.0\")\n .licenseModel(\"na\")\n .preferredInstanceClasses( \n \"db.r5.large\",\n \"db.r4.large\",\n \"db.t3.medium\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:docdb:getOrderableDbInstance\n Arguments:\n engine: docdb\n engineVersion: 3.6.0\n licenseModel: na\n preferredInstanceClasses:\n - db.r5.large\n - db.r4.large\n - db.t3.medium\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOrderableDbInstance.\n", "properties": { @@ -392331,7 +392331,7 @@ } }, "aws:dynamodb/getTable:getTable": { - "description": "Provides information about a DynamoDB table.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tableName = aws.dynamodb.getTable({\n name: \"tableName\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntable_name = aws.dynamodb.get_table(name=\"tableName\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tableName = Aws.DynamoDB.GetTable.Invoke(new()\n {\n Name = \"tableName\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\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 := dynamodb.LookupTable(ctx, \u0026dynamodb.LookupTableArgs{\n\t\t\tName: \"tableName\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.DynamodbFunctions;\nimport com.pulumi.aws.dynamodb.inputs.GetTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var tableName = DynamodbFunctions.getTable(GetTableArgs.builder()\n .name(\"tableName\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n tableName:\n fn::invoke:\n function: aws:dynamodb:getTable\n arguments:\n name: tableName\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a DynamoDB table.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tableName = aws.dynamodb.getTable({\n name: \"tableName\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntable_name = aws.dynamodb.get_table(name=\"tableName\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tableName = Aws.DynamoDB.GetTable.Invoke(new()\n {\n Name = \"tableName\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\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 := dynamodb.LookupTable(ctx, \u0026dynamodb.LookupTableArgs{\n\t\t\tName: \"tableName\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.DynamodbFunctions;\nimport com.pulumi.aws.dynamodb.inputs.GetTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var tableName = DynamodbFunctions.getTable(GetTableArgs.builder()\n .name(\"tableName\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n tableName:\n fn::invoke:\n Function: aws:dynamodb:getTable\n Arguments:\n name: tableName\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTable.\n", "properties": { @@ -392468,7 +392468,7 @@ } }, "aws:dynamodb/getTableItem:getTableItem": { - "description": "Data source for retrieving a value from an AWS DynamoDB table.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.dynamodb.getTableItem({\n tableName: example.name,\n expressionAttributeNames: {\n \"#P\": \"Percentile\",\n },\n projectionExpression: \"#P\",\n key: `{\n\\x09\"hashKey\": {\"S\": \"example\"}\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.dynamodb.get_table_item(table_name=example[\"name\"],\n expression_attribute_names={\n \"#P\": \"Percentile\",\n },\n projection_expression=\"#P\",\n key=\"\"\"{\n\\x09\"hashKey\": {\"S\": \"example\"}\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.DynamoDB.GetTableItem.Invoke(new()\n {\n TableName = example.Name,\n ExpressionAttributeNames = \n {\n { \"#P\", \"Percentile\" },\n },\n ProjectionExpression = \"#P\",\n Key = @\"{\n\t\"\"hashKey\"\": {\"\"S\"\": \"\"example\"\"}\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\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 := dynamodb.LookupTableItem(ctx, \u0026dynamodb.LookupTableItemArgs{\n\t\t\tTableName: example.Name,\n\t\t\tExpressionAttributeNames: map[string]interface{}{\n\t\t\t\t\"#P\": \"Percentile\",\n\t\t\t},\n\t\t\tProjectionExpression: pulumi.StringRef(\"#P\"),\n\t\t\tKey: \"{\\n\t\\\"hashKey\\\": {\\\"S\\\": \\\"example\\\"}\\n}\\n\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.DynamodbFunctions;\nimport com.pulumi.aws.dynamodb.inputs.GetTableItemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynamodbFunctions.getTableItem(GetTableItemArgs.builder()\n .tableName(example.name())\n .expressionAttributeNames(Map.of(\"#P\", \"Percentile\"))\n .projectionExpression(\"#P\")\n .key(\"\"\"\n{\n\t\"hashKey\": {\"S\": \"example\"}\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:dynamodb:getTableItem\n arguments:\n tableName: ${example.name}\n expressionAttributeNames:\n '#P': Percentile\n projectionExpression: '#P'\n key: |\n {\n \t\"hashKey\": {\"S\": \"example\"}\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for retrieving a value from an AWS DynamoDB table.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.dynamodb.getTableItem({\n tableName: example.name,\n expressionAttributeNames: {\n \"#P\": \"Percentile\",\n },\n projectionExpression: \"#P\",\n key: `{\n\\x09\"hashKey\": {\"S\": \"example\"}\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.dynamodb.get_table_item(table_name=example[\"name\"],\n expression_attribute_names={\n \"#P\": \"Percentile\",\n },\n projection_expression=\"#P\",\n key=\"\"\"{\n\\x09\"hashKey\": {\"S\": \"example\"}\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.DynamoDB.GetTableItem.Invoke(new()\n {\n TableName = example.Name,\n ExpressionAttributeNames = \n {\n { \"#P\", \"Percentile\" },\n },\n ProjectionExpression = \"#P\",\n Key = @\"{\n\t\"\"hashKey\"\": {\"\"S\"\": \"\"example\"\"}\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\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 := dynamodb.LookupTableItem(ctx, \u0026dynamodb.LookupTableItemArgs{\n\t\t\tTableName: example.Name,\n\t\t\tExpressionAttributeNames: map[string]interface{}{\n\t\t\t\t\"#P\": \"Percentile\",\n\t\t\t},\n\t\t\tProjectionExpression: pulumi.StringRef(\"#P\"),\n\t\t\tKey: \"{\\n\t\\\"hashKey\\\": {\\\"S\\\": \\\"example\\\"}\\n}\\n\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.DynamodbFunctions;\nimport com.pulumi.aws.dynamodb.inputs.GetTableItemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynamodbFunctions.getTableItem(GetTableItemArgs.builder()\n .tableName(example.name())\n .expressionAttributeNames(Map.of(\"#P\", \"Percentile\"))\n .projectionExpression(\"#P\")\n .key(\"\"\"\n{\n\t\"hashKey\": {\"S\": \"example\"}\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:dynamodb:getTableItem\n Arguments:\n tableName: ${example.name}\n expressionAttributeNames:\n '#P': Percentile\n projectionExpression: '#P'\n key: |\n {\n \t\"hashKey\": {\"S\": \"example\"}\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTableItem.\n", "properties": { @@ -392534,7 +392534,7 @@ } }, "aws:ebs/getDefaultKmsKey:getDefaultKmsKey": { - "description": "Use this data source to get the default EBS encryption KMS key in the current region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.ebs.getDefaultKmsKey({});\nconst example = new aws.ebs.Volume(\"example\", {\n availabilityZone: \"us-west-2a\",\n encrypted: true,\n kmsKeyId: current.then(current =\u003e current.keyArn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.ebs.get_default_kms_key()\nexample = aws.ebs.Volume(\"example\",\n availability_zone=\"us-west-2a\",\n encrypted=True,\n kms_key_id=current.key_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.Ebs.GetDefaultKmsKey.Invoke();\n\n var example = new Aws.Ebs.Volume(\"example\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n Encrypted = true,\n KmsKeyId = current.Apply(getDefaultKmsKeyResult =\u003e getDefaultKmsKeyResult.KeyArn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := ebs.LookupDefaultKmsKey(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ebs.NewVolume(ctx, \"example\", \u0026ebs.VolumeArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tEncrypted: pulumi.Bool(true),\n\t\t\tKmsKeyId: pulumi.String(current.KeyArn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ebs.EbsFunctions;\nimport com.pulumi.aws.ebs.Volume;\nimport com.pulumi.aws.ebs.VolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = EbsFunctions.getDefaultKmsKey();\n\n var example = new Volume(\"example\", VolumeArgs.builder()\n .availabilityZone(\"us-west-2a\")\n .encrypted(true)\n .kmsKeyId(current.applyValue(getDefaultKmsKeyResult -\u003e getDefaultKmsKeyResult.keyArn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:Volume\n properties:\n availabilityZone: us-west-2a\n encrypted: true\n kmsKeyId: ${current.keyArn}\nvariables:\n current:\n fn::invoke:\n function: aws:ebs:getDefaultKmsKey\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the default EBS encryption KMS key in the current region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.ebs.getDefaultKmsKey({});\nconst example = new aws.ebs.Volume(\"example\", {\n availabilityZone: \"us-west-2a\",\n encrypted: true,\n kmsKeyId: current.then(current =\u003e current.keyArn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.ebs.get_default_kms_key()\nexample = aws.ebs.Volume(\"example\",\n availability_zone=\"us-west-2a\",\n encrypted=True,\n kms_key_id=current.key_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.Ebs.GetDefaultKmsKey.Invoke();\n\n var example = new Aws.Ebs.Volume(\"example\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n Encrypted = true,\n KmsKeyId = current.Apply(getDefaultKmsKeyResult =\u003e getDefaultKmsKeyResult.KeyArn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := ebs.LookupDefaultKmsKey(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ebs.NewVolume(ctx, \"example\", \u0026ebs.VolumeArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tEncrypted: pulumi.Bool(true),\n\t\t\tKmsKeyId: pulumi.String(current.KeyArn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ebs.EbsFunctions;\nimport com.pulumi.aws.ebs.Volume;\nimport com.pulumi.aws.ebs.VolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = EbsFunctions.getDefaultKmsKey();\n\n var example = new Volume(\"example\", VolumeArgs.builder()\n .availabilityZone(\"us-west-2a\")\n .encrypted(true)\n .kmsKeyId(current.applyValue(getDefaultKmsKeyResult -\u003e getDefaultKmsKeyResult.keyArn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:Volume\n properties:\n availabilityZone: us-west-2a\n encrypted: true\n kmsKeyId: ${current.keyArn}\nvariables:\n current:\n fn::invoke:\n Function: aws:ebs:getDefaultKmsKey\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getDefaultKmsKey.\n", "properties": { @@ -392611,7 +392611,7 @@ } }, "aws:ebs/getEncryptionByDefault:getEncryptionByDefault": { - "description": "Provides a way to check whether default EBS encryption is enabled for your AWS account in the current AWS region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.ebs.getEncryptionByDefault({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.ebs.get_encryption_by_default()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.Ebs.GetEncryptionByDefault.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\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 := ebs.LookupEncryptionByDefault(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ebs.EbsFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = EbsFunctions.getEncryptionByDefault();\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:ebs:getEncryptionByDefault\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a way to check whether default EBS encryption is enabled for your AWS account in the current AWS region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.ebs.getEncryptionByDefault({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.ebs.get_encryption_by_default()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.Ebs.GetEncryptionByDefault.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\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 := ebs.LookupEncryptionByDefault(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ebs.EbsFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = EbsFunctions.getEncryptionByDefault();\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:ebs:getEncryptionByDefault\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getEncryptionByDefault.\n", "properties": { @@ -392632,7 +392632,7 @@ } }, "aws:ebs/getSnapshot:getSnapshot": { - "description": "Use this data source to get information about an EBS Snapshot for use when provisioning EBS Volumes\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ebsVolume = aws.ebs.getSnapshot({\n mostRecent: true,\n owners: [\"self\"],\n filters: [\n {\n name: \"volume-size\",\n values: [\"40\"],\n },\n {\n name: \"tag:Name\",\n values: [\"Example\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nebs_volume = aws.ebs.get_snapshot(most_recent=True,\n owners=[\"self\"],\n filters=[\n {\n \"name\": \"volume-size\",\n \"values\": [\"40\"],\n },\n {\n \"name\": \"tag:Name\",\n \"values\": [\"Example\"],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ebsVolume = Aws.Ebs.GetSnapshot.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"self\",\n },\n Filters = new[]\n {\n new Aws.Ebs.Inputs.GetSnapshotFilterInputArgs\n {\n Name = \"volume-size\",\n Values = new[]\n {\n \"40\",\n },\n },\n new Aws.Ebs.Inputs.GetSnapshotFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"Example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\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 := ebs.LookupSnapshot(ctx, \u0026ebs.LookupSnapshotArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"self\",\n\t\t\t},\n\t\t\tFilters: []ebs.GetSnapshotFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"volume-size\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"40\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Example\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ebs.EbsFunctions;\nimport com.pulumi.aws.ebs.inputs.GetSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ebsVolume = EbsFunctions.getSnapshot(GetSnapshotArgs.builder()\n .mostRecent(true)\n .owners(\"self\")\n .filters( \n GetSnapshotFilterArgs.builder()\n .name(\"volume-size\")\n .values(\"40\")\n .build(),\n GetSnapshotFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"Example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ebsVolume:\n fn::invoke:\n function: aws:ebs:getSnapshot\n arguments:\n mostRecent: true\n owners:\n - self\n filters:\n - name: volume-size\n values:\n - '40'\n - name: tag:Name\n values:\n - Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about an EBS Snapshot for use when provisioning EBS Volumes\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ebsVolume = aws.ebs.getSnapshot({\n mostRecent: true,\n owners: [\"self\"],\n filters: [\n {\n name: \"volume-size\",\n values: [\"40\"],\n },\n {\n name: \"tag:Name\",\n values: [\"Example\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nebs_volume = aws.ebs.get_snapshot(most_recent=True,\n owners=[\"self\"],\n filters=[\n {\n \"name\": \"volume-size\",\n \"values\": [\"40\"],\n },\n {\n \"name\": \"tag:Name\",\n \"values\": [\"Example\"],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ebsVolume = Aws.Ebs.GetSnapshot.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"self\",\n },\n Filters = new[]\n {\n new Aws.Ebs.Inputs.GetSnapshotFilterInputArgs\n {\n Name = \"volume-size\",\n Values = new[]\n {\n \"40\",\n },\n },\n new Aws.Ebs.Inputs.GetSnapshotFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"Example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\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 := ebs.LookupSnapshot(ctx, \u0026ebs.LookupSnapshotArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"self\",\n\t\t\t},\n\t\t\tFilters: []ebs.GetSnapshotFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"volume-size\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"40\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Example\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ebs.EbsFunctions;\nimport com.pulumi.aws.ebs.inputs.GetSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ebsVolume = EbsFunctions.getSnapshot(GetSnapshotArgs.builder()\n .mostRecent(true)\n .owners(\"self\")\n .filters( \n GetSnapshotFilterArgs.builder()\n .name(\"volume-size\")\n .values(\"40\")\n .build(),\n GetSnapshotFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"Example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ebsVolume:\n fn::invoke:\n Function: aws:ebs:getSnapshot\n Arguments:\n mostRecent: true\n owners:\n - self\n filters:\n - name: volume-size\n values:\n - '40'\n - name: tag:Name\n values:\n - Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSnapshot.\n", "properties": { @@ -392798,7 +392798,7 @@ } }, "aws:ebs/getSnapshotIds:getSnapshotIds": { - "description": "Use this data source to get a list of EBS Snapshot IDs matching the specified\ncriteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ebsVolumes = aws.ebs.getSnapshotIds({\n owners: [\"self\"],\n filters: [\n {\n name: \"volume-size\",\n values: [\"40\"],\n },\n {\n name: \"tag:Name\",\n values: [\"Example\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nebs_volumes = aws.ebs.get_snapshot_ids(owners=[\"self\"],\n filters=[\n {\n \"name\": \"volume-size\",\n \"values\": [\"40\"],\n },\n {\n \"name\": \"tag:Name\",\n \"values\": [\"Example\"],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ebsVolumes = Aws.Ebs.GetSnapshotIds.Invoke(new()\n {\n Owners = new[]\n {\n \"self\",\n },\n Filters = new[]\n {\n new Aws.Ebs.Inputs.GetSnapshotIdsFilterInputArgs\n {\n Name = \"volume-size\",\n Values = new[]\n {\n \"40\",\n },\n },\n new Aws.Ebs.Inputs.GetSnapshotIdsFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"Example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\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 := ebs.GetSnapshotIds(ctx, \u0026ebs.GetSnapshotIdsArgs{\n\t\t\tOwners: []string{\n\t\t\t\t\"self\",\n\t\t\t},\n\t\t\tFilters: []ebs.GetSnapshotIdsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"volume-size\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"40\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Example\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ebs.EbsFunctions;\nimport com.pulumi.aws.ebs.inputs.GetSnapshotIdsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ebsVolumes = EbsFunctions.getSnapshotIds(GetSnapshotIdsArgs.builder()\n .owners(\"self\")\n .filters( \n GetSnapshotIdsFilterArgs.builder()\n .name(\"volume-size\")\n .values(\"40\")\n .build(),\n GetSnapshotIdsFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"Example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ebsVolumes:\n fn::invoke:\n function: aws:ebs:getSnapshotIds\n arguments:\n owners:\n - self\n filters:\n - name: volume-size\n values:\n - '40'\n - name: tag:Name\n values:\n - Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get a list of EBS Snapshot IDs matching the specified\ncriteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ebsVolumes = aws.ebs.getSnapshotIds({\n owners: [\"self\"],\n filters: [\n {\n name: \"volume-size\",\n values: [\"40\"],\n },\n {\n name: \"tag:Name\",\n values: [\"Example\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nebs_volumes = aws.ebs.get_snapshot_ids(owners=[\"self\"],\n filters=[\n {\n \"name\": \"volume-size\",\n \"values\": [\"40\"],\n },\n {\n \"name\": \"tag:Name\",\n \"values\": [\"Example\"],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ebsVolumes = Aws.Ebs.GetSnapshotIds.Invoke(new()\n {\n Owners = new[]\n {\n \"self\",\n },\n Filters = new[]\n {\n new Aws.Ebs.Inputs.GetSnapshotIdsFilterInputArgs\n {\n Name = \"volume-size\",\n Values = new[]\n {\n \"40\",\n },\n },\n new Aws.Ebs.Inputs.GetSnapshotIdsFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"Example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\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 := ebs.GetSnapshotIds(ctx, \u0026ebs.GetSnapshotIdsArgs{\n\t\t\tOwners: []string{\n\t\t\t\t\"self\",\n\t\t\t},\n\t\t\tFilters: []ebs.GetSnapshotIdsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"volume-size\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"40\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Example\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ebs.EbsFunctions;\nimport com.pulumi.aws.ebs.inputs.GetSnapshotIdsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ebsVolumes = EbsFunctions.getSnapshotIds(GetSnapshotIdsArgs.builder()\n .owners(\"self\")\n .filters( \n GetSnapshotIdsFilterArgs.builder()\n .name(\"volume-size\")\n .values(\"40\")\n .build(),\n GetSnapshotIdsFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"Example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ebsVolumes:\n fn::invoke:\n Function: aws:ebs:getSnapshotIds\n Arguments:\n owners:\n - self\n filters:\n - name: volume-size\n values:\n - '40'\n - name: tag:Name\n values:\n - Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSnapshotIds.\n", "properties": { @@ -392867,7 +392867,7 @@ } }, "aws:ebs/getVolume:getVolume": { - "description": "Use this data source to get information about an EBS volume for use in other\nresources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ebsVolume = aws.ebs.getVolume({\n mostRecent: true,\n filters: [\n {\n name: \"volume-type\",\n values: [\"gp2\"],\n },\n {\n name: \"tag:Name\",\n values: [\"Example\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nebs_volume = aws.ebs.get_volume(most_recent=True,\n filters=[\n {\n \"name\": \"volume-type\",\n \"values\": [\"gp2\"],\n },\n {\n \"name\": \"tag:Name\",\n \"values\": [\"Example\"],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ebsVolume = Aws.Ebs.GetVolume.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Ebs.Inputs.GetVolumeFilterInputArgs\n {\n Name = \"volume-type\",\n Values = new[]\n {\n \"gp2\",\n },\n },\n new Aws.Ebs.Inputs.GetVolumeFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"Example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\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 := ebs.LookupVolume(ctx, \u0026ebs.LookupVolumeArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []ebs.GetVolumeFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"volume-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"gp2\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Example\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ebs.EbsFunctions;\nimport com.pulumi.aws.ebs.inputs.GetVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ebsVolume = EbsFunctions.getVolume(GetVolumeArgs.builder()\n .mostRecent(true)\n .filters( \n GetVolumeFilterArgs.builder()\n .name(\"volume-type\")\n .values(\"gp2\")\n .build(),\n GetVolumeFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"Example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ebsVolume:\n fn::invoke:\n function: aws:ebs:getVolume\n arguments:\n mostRecent: true\n filters:\n - name: volume-type\n values:\n - gp2\n - name: tag:Name\n values:\n - Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about an EBS volume for use in other\nresources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ebsVolume = aws.ebs.getVolume({\n mostRecent: true,\n filters: [\n {\n name: \"volume-type\",\n values: [\"gp2\"],\n },\n {\n name: \"tag:Name\",\n values: [\"Example\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nebs_volume = aws.ebs.get_volume(most_recent=True,\n filters=[\n {\n \"name\": \"volume-type\",\n \"values\": [\"gp2\"],\n },\n {\n \"name\": \"tag:Name\",\n \"values\": [\"Example\"],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ebsVolume = Aws.Ebs.GetVolume.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Ebs.Inputs.GetVolumeFilterInputArgs\n {\n Name = \"volume-type\",\n Values = new[]\n {\n \"gp2\",\n },\n },\n new Aws.Ebs.Inputs.GetVolumeFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"Example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\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 := ebs.LookupVolume(ctx, \u0026ebs.LookupVolumeArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []ebs.GetVolumeFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"volume-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"gp2\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Example\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ebs.EbsFunctions;\nimport com.pulumi.aws.ebs.inputs.GetVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ebsVolume = EbsFunctions.getVolume(GetVolumeArgs.builder()\n .mostRecent(true)\n .filters( \n GetVolumeFilterArgs.builder()\n .name(\"volume-type\")\n .values(\"gp2\")\n .build(),\n GetVolumeFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"Example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ebsVolume:\n fn::invoke:\n Function: aws:ebs:getVolume\n Arguments:\n mostRecent: true\n filters:\n - name: volume-type\n values:\n - gp2\n - name: tag:Name\n values:\n - Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVolume.\n", "properties": { @@ -392984,7 +392984,7 @@ } }, "aws:ec2/getAmi:getAmi": { - "description": "Use this data source to get the ID of a registered AMI for use in other\nresources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getAmi({\n executableUsers: [\"self\"],\n mostRecent: true,\n nameRegex: \"^myami-[0-9]{3}\",\n owners: [\"self\"],\n filters: [\n {\n name: \"name\",\n values: [\"myami-*\"],\n },\n {\n name: \"root-device-type\",\n values: [\"ebs\"],\n },\n {\n name: \"virtualization-type\",\n values: [\"hvm\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_ami(executable_users=[\"self\"],\n most_recent=True,\n name_regex=\"^myami-[0-9]{3}\",\n owners=[\"self\"],\n filters=[\n {\n \"name\": \"name\",\n \"values\": [\"myami-*\"],\n },\n {\n \"name\": \"root-device-type\",\n \"values\": [\"ebs\"],\n },\n {\n \"name\": \"virtualization-type\",\n \"values\": [\"hvm\"],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetAmi.Invoke(new()\n {\n ExecutableUsers = new[]\n {\n \"self\",\n },\n MostRecent = true,\n NameRegex = \"^myami-[0-9]{3}\",\n Owners = new[]\n {\n \"self\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"myami-*\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"root-device-type\",\n Values = new[]\n {\n \"ebs\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"virtualization-type\",\n Values = new[]\n {\n \"hvm\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tExecutableUsers: []string{\n\t\t\t\t\"self\",\n\t\t\t},\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tNameRegex: pulumi.StringRef(\"^myami-[0-9]{3}\"),\n\t\t\tOwners: []string{\n\t\t\t\t\"self\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"myami-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"root-device-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ebs\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"virtualization-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"hvm\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getAmi(GetAmiArgs.builder()\n .executableUsers(\"self\")\n .mostRecent(true)\n .nameRegex(\"^myami-[0-9]{3}\")\n .owners(\"self\")\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"myami-*\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"root-device-type\")\n .values(\"ebs\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"virtualization-type\")\n .values(\"hvm\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getAmi\n arguments:\n executableUsers:\n - self\n mostRecent: true\n nameRegex: ^myami-[0-9]{3}\n owners:\n - self\n filters:\n - name: name\n values:\n - myami-*\n - name: root-device-type\n values:\n - ebs\n - name: virtualization-type\n values:\n - hvm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the ID of a registered AMI for use in other\nresources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getAmi({\n executableUsers: [\"self\"],\n mostRecent: true,\n nameRegex: \"^myami-[0-9]{3}\",\n owners: [\"self\"],\n filters: [\n {\n name: \"name\",\n values: [\"myami-*\"],\n },\n {\n name: \"root-device-type\",\n values: [\"ebs\"],\n },\n {\n name: \"virtualization-type\",\n values: [\"hvm\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_ami(executable_users=[\"self\"],\n most_recent=True,\n name_regex=\"^myami-[0-9]{3}\",\n owners=[\"self\"],\n filters=[\n {\n \"name\": \"name\",\n \"values\": [\"myami-*\"],\n },\n {\n \"name\": \"root-device-type\",\n \"values\": [\"ebs\"],\n },\n {\n \"name\": \"virtualization-type\",\n \"values\": [\"hvm\"],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetAmi.Invoke(new()\n {\n ExecutableUsers = new[]\n {\n \"self\",\n },\n MostRecent = true,\n NameRegex = \"^myami-[0-9]{3}\",\n Owners = new[]\n {\n \"self\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"myami-*\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"root-device-type\",\n Values = new[]\n {\n \"ebs\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"virtualization-type\",\n Values = new[]\n {\n \"hvm\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tExecutableUsers: []string{\n\t\t\t\t\"self\",\n\t\t\t},\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tNameRegex: pulumi.StringRef(\"^myami-[0-9]{3}\"),\n\t\t\tOwners: []string{\n\t\t\t\t\"self\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"myami-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"root-device-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ebs\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"virtualization-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"hvm\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getAmi(GetAmiArgs.builder()\n .executableUsers(\"self\")\n .mostRecent(true)\n .nameRegex(\"^myami-[0-9]{3}\")\n .owners(\"self\")\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"myami-*\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"root-device-type\")\n .values(\"ebs\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"virtualization-type\")\n .values(\"hvm\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n executableUsers:\n - self\n mostRecent: true\n nameRegex: ^myami-[0-9]{3}\n owners:\n - self\n filters:\n - name: name\n values:\n - myami-*\n - name: root-device-type\n values:\n - ebs\n - name: virtualization-type\n values:\n - hvm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAmi.\n", "properties": { @@ -393245,7 +393245,7 @@ } }, "aws:ec2/getAmiIds:getAmiIds": { - "description": "Use this data source to get a list of AMI IDs matching the specified criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ubuntu = aws.ec2.getAmiIds({\n owners: [\"099720109477\"],\n filters: [{\n name: \"name\",\n values: [\"ubuntu/images/ubuntu-*-*-amd64-server-*\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nubuntu = aws.ec2.get_ami_ids(owners=[\"099720109477\"],\n filters=[{\n \"name\": \"name\",\n \"values\": [\"ubuntu/images/ubuntu-*-*-amd64-server-*\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ubuntu = Aws.Ec2.GetAmiIds.Invoke(new()\n {\n Owners = new[]\n {\n \"099720109477\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiIdsFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"ubuntu/images/ubuntu-*-*-amd64-server-*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetAmiIds(ctx, \u0026ec2.GetAmiIdsArgs{\n\t\t\tOwners: []string{\n\t\t\t\t\"099720109477\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiIdsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ubuntu/images/ubuntu-*-*-amd64-server-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiIdsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ubuntu = Ec2Functions.getAmiIds(GetAmiIdsArgs.builder()\n .owners(\"099720109477\")\n .filters(GetAmiIdsFilterArgs.builder()\n .name(\"name\")\n .values(\"ubuntu/images/ubuntu-*-*-amd64-server-*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ubuntu:\n fn::invoke:\n function: aws:ec2:getAmiIds\n arguments:\n owners:\n - '099720109477'\n filters:\n - name: name\n values:\n - ubuntu/images/ubuntu-*-*-amd64-server-*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get a list of AMI IDs matching the specified criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ubuntu = aws.ec2.getAmiIds({\n owners: [\"099720109477\"],\n filters: [{\n name: \"name\",\n values: [\"ubuntu/images/ubuntu-*-*-amd64-server-*\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nubuntu = aws.ec2.get_ami_ids(owners=[\"099720109477\"],\n filters=[{\n \"name\": \"name\",\n \"values\": [\"ubuntu/images/ubuntu-*-*-amd64-server-*\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ubuntu = Aws.Ec2.GetAmiIds.Invoke(new()\n {\n Owners = new[]\n {\n \"099720109477\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiIdsFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"ubuntu/images/ubuntu-*-*-amd64-server-*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetAmiIds(ctx, \u0026ec2.GetAmiIdsArgs{\n\t\t\tOwners: []string{\n\t\t\t\t\"099720109477\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiIdsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ubuntu/images/ubuntu-*-*-amd64-server-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiIdsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ubuntu = Ec2Functions.getAmiIds(GetAmiIdsArgs.builder()\n .owners(\"099720109477\")\n .filters(GetAmiIdsFilterArgs.builder()\n .name(\"name\")\n .values(\"ubuntu/images/ubuntu-*-*-amd64-server-*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ubuntu:\n fn::invoke:\n Function: aws:ec2:getAmiIds\n Arguments:\n owners:\n - '099720109477'\n filters:\n - name: name\n values:\n - ubuntu/images/ubuntu-*-*-amd64-server-*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAmiIds.\n", "properties": { @@ -393338,7 +393338,7 @@ } }, "aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering": { - "description": "Information about a single EC2 Capacity Block Offering.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getCapacityBlockOffering({\n capacityDurationHours: 24,\n endDateRange: \"2024-05-30T15:04:05Z\",\n instanceCount: 1,\n instanceType: \"p4d.24xlarge\",\n startDateRange: \"2024-04-28T15:04:05Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_capacity_block_offering(capacity_duration_hours=24,\n end_date_range=\"2024-05-30T15:04:05Z\",\n instance_count=1,\n instance_type=\"p4d.24xlarge\",\n start_date_range=\"2024-04-28T15:04:05Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetCapacityBlockOffering.Invoke(new()\n {\n CapacityDurationHours = 24,\n EndDateRange = \"2024-05-30T15:04:05Z\",\n InstanceCount = 1,\n InstanceType = \"p4d.24xlarge\",\n StartDateRange = \"2024-04-28T15:04:05Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetCapacityBlockOffering(ctx, \u0026ec2.GetCapacityBlockOfferingArgs{\n\t\t\tCapacityDurationHours: 24,\n\t\t\tEndDateRange: pulumi.StringRef(\"2024-05-30T15:04:05Z\"),\n\t\t\tInstanceCount: 1,\n\t\t\tInstanceType: \"p4d.24xlarge\",\n\t\t\tStartDateRange: pulumi.StringRef(\"2024-04-28T15:04:05Z\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetCapacityBlockOfferingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getCapacityBlockOffering(GetCapacityBlockOfferingArgs.builder()\n .capacityDurationHours(24)\n .endDateRange(\"2024-05-30T15:04:05Z\")\n .instanceCount(1)\n .instanceType(\"p4d.24xlarge\")\n .startDateRange(\"2024-04-28T15:04:05Z\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getCapacityBlockOffering\n arguments:\n capacityDurationHours: 24\n endDateRange: 2024-05-30T15:04:05Z\n instanceCount: 1\n instanceType: p4d.24xlarge\n startDateRange: 2024-04-28T15:04:05Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about a single EC2 Capacity Block Offering.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getCapacityBlockOffering({\n capacityDurationHours: 24,\n endDateRange: \"2024-05-30T15:04:05Z\",\n instanceCount: 1,\n instanceType: \"p4d.24xlarge\",\n startDateRange: \"2024-04-28T15:04:05Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_capacity_block_offering(capacity_duration_hours=24,\n end_date_range=\"2024-05-30T15:04:05Z\",\n instance_count=1,\n instance_type=\"p4d.24xlarge\",\n start_date_range=\"2024-04-28T15:04:05Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetCapacityBlockOffering.Invoke(new()\n {\n CapacityDurationHours = 24,\n EndDateRange = \"2024-05-30T15:04:05Z\",\n InstanceCount = 1,\n InstanceType = \"p4d.24xlarge\",\n StartDateRange = \"2024-04-28T15:04:05Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetCapacityBlockOffering(ctx, \u0026ec2.GetCapacityBlockOfferingArgs{\n\t\t\tCapacityDurationHours: 24,\n\t\t\tEndDateRange: pulumi.StringRef(\"2024-05-30T15:04:05Z\"),\n\t\t\tInstanceCount: 1,\n\t\t\tInstanceType: \"p4d.24xlarge\",\n\t\t\tStartDateRange: pulumi.StringRef(\"2024-04-28T15:04:05Z\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetCapacityBlockOfferingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getCapacityBlockOffering(GetCapacityBlockOfferingArgs.builder()\n .capacityDurationHours(24)\n .endDateRange(\"2024-05-30T15:04:05Z\")\n .instanceCount(1)\n .instanceType(\"p4d.24xlarge\")\n .startDateRange(\"2024-04-28T15:04:05Z\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getCapacityBlockOffering\n Arguments:\n capacityDurationHours: 24\n endDateRange: 2024-05-30T15:04:05Z\n instanceCount: 1\n instanceType: p4d.24xlarge\n startDateRange: 2024-04-28T15:04:05Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCapacityBlockOffering.\n", "properties": { @@ -393430,7 +393430,7 @@ } }, "aws:ec2/getCoipPool:getCoipPool": { - "description": "Provides details about a specific EC2 Customer-Owned IP Pool.\n\nThis data source can prove useful when a module accepts a coip pool id as\nan input variable and needs to, for example, determine the CIDR block of that\nCOIP Pool.\n\n## Example Usage\n\nThe following example returns a specific coip pool ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetCoipPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var coipPoolId = config.get(\"coipPoolId\");\n final var selected = Ec2Functions.getCoipPool(GetCoipPoolArgs.builder()\n .id(coipPoolId)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n coipPoolId:\n type: dynamic\nvariables:\n selected:\n fn::invoke:\n function: aws:ec2:getCoipPool\n arguments:\n id: ${coipPoolId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific EC2 Customer-Owned IP Pool.\n\nThis data source can prove useful when a module accepts a coip pool id as\nan input variable and needs to, for example, determine the CIDR block of that\nCOIP Pool.\n\n## Example Usage\n\nThe following example returns a specific coip pool ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetCoipPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var coipPoolId = config.get(\"coipPoolId\");\n final var selected = Ec2Functions.getCoipPool(GetCoipPoolArgs.builder()\n .id(coipPoolId)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n coipPoolId:\n type: dynamic\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getCoipPool\n Arguments:\n id: ${coipPoolId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCoipPool.\n", "properties": { @@ -393563,7 +393563,7 @@ } }, "aws:ec2/getCustomerGateway:getCustomerGateway": { - "description": "Get an existing AWS Customer Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = aws.ec2.getCustomerGateway({\n filters: [{\n name: \"tag:Name\",\n values: [\"foo-prod\"],\n }],\n});\nconst main = new aws.ec2.VpnGateway(\"main\", {\n vpcId: mainAwsVpc.id,\n amazonSideAsn: \"7224\",\n});\nconst transit = new aws.ec2.VpnConnection(\"transit\", {\n vpnGatewayId: main.id,\n customerGatewayId: foo.then(foo =\u003e foo.id),\n type: foo.then(foo =\u003e foo.type),\n staticRoutesOnly: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.get_customer_gateway(filters=[{\n \"name\": \"tag:Name\",\n \"values\": [\"foo-prod\"],\n}])\nmain = aws.ec2.VpnGateway(\"main\",\n vpc_id=main_aws_vpc[\"id\"],\n amazon_side_asn=\"7224\")\ntransit = aws.ec2.VpnConnection(\"transit\",\n vpn_gateway_id=main.id,\n customer_gateway_id=foo.id,\n type=foo.type,\n static_routes_only=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Ec2.GetCustomerGateway.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetCustomerGatewayFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"foo-prod\",\n },\n },\n },\n });\n\n var main = new Aws.Ec2.VpnGateway(\"main\", new()\n {\n VpcId = mainAwsVpc.Id,\n AmazonSideAsn = \"7224\",\n });\n\n var transit = new Aws.Ec2.VpnConnection(\"transit\", new()\n {\n VpnGatewayId = main.Id,\n CustomerGatewayId = foo.Apply(getCustomerGatewayResult =\u003e getCustomerGatewayResult.Id),\n Type = foo.Apply(getCustomerGatewayResult =\u003e getCustomerGatewayResult.Type),\n StaticRoutesOnly = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.LookupCustomerGateway(ctx, \u0026ec2.LookupCustomerGatewayArgs{\n\t\t\tFilters: []ec2.GetCustomerGatewayFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"foo-prod\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := ec2.NewVpnGateway(ctx, \"main\", \u0026ec2.VpnGatewayArgs{\n\t\t\tVpcId: pulumi.Any(mainAwsVpc.Id),\n\t\t\tAmazonSideAsn: pulumi.String(\"7224\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpnConnection(ctx, \"transit\", \u0026ec2.VpnConnectionArgs{\n\t\t\tVpnGatewayId: main.ID(),\n\t\t\tCustomerGatewayId: pulumi.String(foo.Id),\n\t\t\tType: pulumi.String(foo.Type),\n\t\t\tStaticRoutesOnly: pulumi.Bool(false),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetCustomerGatewayArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.ec2.VpnGatewayArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = Ec2Functions.getCustomerGateway(GetCustomerGatewayArgs.builder()\n .filters(GetCustomerGatewayFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"foo-prod\")\n .build())\n .build());\n\n var main = new VpnGateway(\"main\", VpnGatewayArgs.builder()\n .vpcId(mainAwsVpc.id())\n .amazonSideAsn(7224)\n .build());\n\n var transit = new VpnConnection(\"transit\", VpnConnectionArgs.builder()\n .vpnGatewayId(main.id())\n .customerGatewayId(foo.applyValue(getCustomerGatewayResult -\u003e getCustomerGatewayResult.id()))\n .type(foo.applyValue(getCustomerGatewayResult -\u003e getCustomerGatewayResult.type()))\n .staticRoutesOnly(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:VpnGateway\n properties:\n vpcId: ${mainAwsVpc.id}\n amazonSideAsn: 7224\n transit:\n type: aws:ec2:VpnConnection\n properties:\n vpnGatewayId: ${main.id}\n customerGatewayId: ${foo.id}\n type: ${foo.type}\n staticRoutesOnly: false\nvariables:\n foo:\n fn::invoke:\n function: aws:ec2:getCustomerGateway\n arguments:\n filters:\n - name: tag:Name\n values:\n - foo-prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get an existing AWS Customer Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = aws.ec2.getCustomerGateway({\n filters: [{\n name: \"tag:Name\",\n values: [\"foo-prod\"],\n }],\n});\nconst main = new aws.ec2.VpnGateway(\"main\", {\n vpcId: mainAwsVpc.id,\n amazonSideAsn: \"7224\",\n});\nconst transit = new aws.ec2.VpnConnection(\"transit\", {\n vpnGatewayId: main.id,\n customerGatewayId: foo.then(foo =\u003e foo.id),\n type: foo.then(foo =\u003e foo.type),\n staticRoutesOnly: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.get_customer_gateway(filters=[{\n \"name\": \"tag:Name\",\n \"values\": [\"foo-prod\"],\n}])\nmain = aws.ec2.VpnGateway(\"main\",\n vpc_id=main_aws_vpc[\"id\"],\n amazon_side_asn=\"7224\")\ntransit = aws.ec2.VpnConnection(\"transit\",\n vpn_gateway_id=main.id,\n customer_gateway_id=foo.id,\n type=foo.type,\n static_routes_only=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Ec2.GetCustomerGateway.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetCustomerGatewayFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"foo-prod\",\n },\n },\n },\n });\n\n var main = new Aws.Ec2.VpnGateway(\"main\", new()\n {\n VpcId = mainAwsVpc.Id,\n AmazonSideAsn = \"7224\",\n });\n\n var transit = new Aws.Ec2.VpnConnection(\"transit\", new()\n {\n VpnGatewayId = main.Id,\n CustomerGatewayId = foo.Apply(getCustomerGatewayResult =\u003e getCustomerGatewayResult.Id),\n Type = foo.Apply(getCustomerGatewayResult =\u003e getCustomerGatewayResult.Type),\n StaticRoutesOnly = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.LookupCustomerGateway(ctx, \u0026ec2.LookupCustomerGatewayArgs{\n\t\t\tFilters: []ec2.GetCustomerGatewayFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"foo-prod\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := ec2.NewVpnGateway(ctx, \"main\", \u0026ec2.VpnGatewayArgs{\n\t\t\tVpcId: pulumi.Any(mainAwsVpc.Id),\n\t\t\tAmazonSideAsn: pulumi.String(\"7224\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpnConnection(ctx, \"transit\", \u0026ec2.VpnConnectionArgs{\n\t\t\tVpnGatewayId: main.ID(),\n\t\t\tCustomerGatewayId: pulumi.String(foo.Id),\n\t\t\tType: pulumi.String(foo.Type),\n\t\t\tStaticRoutesOnly: pulumi.Bool(false),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetCustomerGatewayArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.ec2.VpnGatewayArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = Ec2Functions.getCustomerGateway(GetCustomerGatewayArgs.builder()\n .filters(GetCustomerGatewayFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"foo-prod\")\n .build())\n .build());\n\n var main = new VpnGateway(\"main\", VpnGatewayArgs.builder()\n .vpcId(mainAwsVpc.id())\n .amazonSideAsn(7224)\n .build());\n\n var transit = new VpnConnection(\"transit\", VpnConnectionArgs.builder()\n .vpnGatewayId(main.id())\n .customerGatewayId(foo.applyValue(getCustomerGatewayResult -\u003e getCustomerGatewayResult.id()))\n .type(foo.applyValue(getCustomerGatewayResult -\u003e getCustomerGatewayResult.type()))\n .staticRoutesOnly(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:VpnGateway\n properties:\n vpcId: ${mainAwsVpc.id}\n amazonSideAsn: 7224\n transit:\n type: aws:ec2:VpnConnection\n properties:\n vpnGatewayId: ${main.id}\n customerGatewayId: ${foo.id}\n type: ${foo.type}\n staticRoutesOnly: false\nvariables:\n foo:\n fn::invoke:\n Function: aws:ec2:getCustomerGateway\n Arguments:\n filters:\n - name: tag:Name\n values:\n - foo-prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCustomerGateway.\n", "properties": { @@ -393651,7 +393651,7 @@ } }, "aws:ec2/getDedicatedHost:getDedicatedHost": { - "description": "Use this data source to get information about an EC2 Dedicated Host.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testDedicatedHost = new aws.ec2.DedicatedHost(\"test\", {\n instanceType: \"c5.18xlarge\",\n availabilityZone: \"us-west-2a\",\n});\nconst test = aws.ec2.getDedicatedHostOutput({\n hostId: testDedicatedHost.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_dedicated_host = aws.ec2.DedicatedHost(\"test\",\n instance_type=\"c5.18xlarge\",\n availability_zone=\"us-west-2a\")\ntest = aws.ec2.get_dedicated_host_output(host_id=test_dedicated_host.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testDedicatedHost = new Aws.Ec2.DedicatedHost(\"test\", new()\n {\n InstanceType = \"c5.18xlarge\",\n AvailabilityZone = \"us-west-2a\",\n });\n\n var test = Aws.Ec2.GetDedicatedHost.Invoke(new()\n {\n HostId = testDedicatedHost.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestDedicatedHost, err := ec2.NewDedicatedHost(ctx, \"test\", \u0026ec2.DedicatedHostArgs{\n\t\t\tInstanceType: pulumi.String(\"c5.18xlarge\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = ec2.LookupDedicatedHostOutput(ctx, ec2.GetDedicatedHostOutputArgs{\n\t\t\tHostId: testDedicatedHost.ID(),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.DedicatedHost;\nimport com.pulumi.aws.ec2.DedicatedHostArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetDedicatedHostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testDedicatedHost = new DedicatedHost(\"testDedicatedHost\", DedicatedHostArgs.builder()\n .instanceType(\"c5.18xlarge\")\n .availabilityZone(\"us-west-2a\")\n .build());\n\n final var test = Ec2Functions.getDedicatedHost(GetDedicatedHostArgs.builder()\n .hostId(testDedicatedHost.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testDedicatedHost:\n type: aws:ec2:DedicatedHost\n name: test\n properties:\n instanceType: c5.18xlarge\n availabilityZone: us-west-2a\nvariables:\n test:\n fn::invoke:\n function: aws:ec2:getDedicatedHost\n arguments:\n hostId: ${testDedicatedHost.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getDedicatedHost({\n filters: [{\n name: \"instance-type\",\n values: [\"c5.18xlarge\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_dedicated_host(filters=[{\n \"name\": \"instance-type\",\n \"values\": [\"c5.18xlarge\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetDedicatedHost.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetDedicatedHostFilterInputArgs\n {\n Name = \"instance-type\",\n Values = new[]\n {\n \"c5.18xlarge\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupDedicatedHost(ctx, \u0026ec2.LookupDedicatedHostArgs{\n\t\t\tFilters: []ec2.GetDedicatedHostFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"instance-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"c5.18xlarge\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetDedicatedHostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getDedicatedHost(GetDedicatedHostArgs.builder()\n .filters(GetDedicatedHostFilterArgs.builder()\n .name(\"instance-type\")\n .values(\"c5.18xlarge\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:ec2:getDedicatedHost\n arguments:\n filters:\n - name: instance-type\n values:\n - c5.18xlarge\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about an EC2 Dedicated Host.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testDedicatedHost = new aws.ec2.DedicatedHost(\"test\", {\n instanceType: \"c5.18xlarge\",\n availabilityZone: \"us-west-2a\",\n});\nconst test = aws.ec2.getDedicatedHostOutput({\n hostId: testDedicatedHost.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_dedicated_host = aws.ec2.DedicatedHost(\"test\",\n instance_type=\"c5.18xlarge\",\n availability_zone=\"us-west-2a\")\ntest = aws.ec2.get_dedicated_host_output(host_id=test_dedicated_host.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testDedicatedHost = new Aws.Ec2.DedicatedHost(\"test\", new()\n {\n InstanceType = \"c5.18xlarge\",\n AvailabilityZone = \"us-west-2a\",\n });\n\n var test = Aws.Ec2.GetDedicatedHost.Invoke(new()\n {\n HostId = testDedicatedHost.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestDedicatedHost, err := ec2.NewDedicatedHost(ctx, \"test\", \u0026ec2.DedicatedHostArgs{\n\t\t\tInstanceType: pulumi.String(\"c5.18xlarge\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = ec2.LookupDedicatedHostOutput(ctx, ec2.GetDedicatedHostOutputArgs{\n\t\t\tHostId: testDedicatedHost.ID(),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.DedicatedHost;\nimport com.pulumi.aws.ec2.DedicatedHostArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetDedicatedHostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testDedicatedHost = new DedicatedHost(\"testDedicatedHost\", DedicatedHostArgs.builder()\n .instanceType(\"c5.18xlarge\")\n .availabilityZone(\"us-west-2a\")\n .build());\n\n final var test = Ec2Functions.getDedicatedHost(GetDedicatedHostArgs.builder()\n .hostId(testDedicatedHost.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testDedicatedHost:\n type: aws:ec2:DedicatedHost\n name: test\n properties:\n instanceType: c5.18xlarge\n availabilityZone: us-west-2a\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getDedicatedHost\n Arguments:\n hostId: ${testDedicatedHost.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getDedicatedHost({\n filters: [{\n name: \"instance-type\",\n values: [\"c5.18xlarge\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_dedicated_host(filters=[{\n \"name\": \"instance-type\",\n \"values\": [\"c5.18xlarge\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetDedicatedHost.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetDedicatedHostFilterInputArgs\n {\n Name = \"instance-type\",\n Values = new[]\n {\n \"c5.18xlarge\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupDedicatedHost(ctx, \u0026ec2.LookupDedicatedHostArgs{\n\t\t\tFilters: []ec2.GetDedicatedHostFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"instance-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"c5.18xlarge\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetDedicatedHostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getDedicatedHost(GetDedicatedHostArgs.builder()\n .filters(GetDedicatedHostFilterArgs.builder()\n .name(\"instance-type\")\n .values(\"c5.18xlarge\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getDedicatedHost\n Arguments:\n filters:\n - name: instance-type\n values:\n - c5.18xlarge\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDedicatedHost.\n", "properties": { @@ -393767,7 +393767,7 @@ } }, "aws:ec2/getEips:getEips": { - "description": "Provides a list of Elastic IPs in a region.\n\n## Example Usage\n\nThe following shows outputting all Elastic IPs with the a specific tag value.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getEips({\n tags: {\n Env: \"dev\",\n },\n});\nexport const allocationIds = example.then(example =\u003e example.allocationIds);\nexport const publicIps = example.then(example =\u003e example.publicIps);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_eips(tags={\n \"Env\": \"dev\",\n})\npulumi.export(\"allocationIds\", example.allocation_ids)\npulumi.export(\"publicIps\", example.public_ips)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetEips.Invoke(new()\n {\n Tags = \n {\n { \"Env\", \"dev\" },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"allocationIds\"] = example.Apply(getEipsResult =\u003e getEipsResult.AllocationIds),\n [\"publicIps\"] = example.Apply(getEipsResult =\u003e getEipsResult.PublicIps),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.GetEips(ctx, \u0026ec2.GetEipsArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Env\": \"dev\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"allocationIds\", example.AllocationIds)\n\t\tctx.Export(\"publicIps\", example.PublicIps)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetEipsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getEips(GetEipsArgs.builder()\n .tags(Map.of(\"Env\", \"dev\"))\n .build());\n\n ctx.export(\"allocationIds\", example.applyValue(getEipsResult -\u003e getEipsResult.allocationIds()));\n ctx.export(\"publicIps\", example.applyValue(getEipsResult -\u003e getEipsResult.publicIps()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getEips\n arguments:\n tags:\n Env: dev\noutputs:\n # VPC EIPs.\n allocationIds: ${example.allocationIds}\n # EC2-Classic EIPs.\n publicIps: ${example.publicIps}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a list of Elastic IPs in a region.\n\n## Example Usage\n\nThe following shows outputting all Elastic IPs with the a specific tag value.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getEips({\n tags: {\n Env: \"dev\",\n },\n});\nexport const allocationIds = example.then(example =\u003e example.allocationIds);\nexport const publicIps = example.then(example =\u003e example.publicIps);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_eips(tags={\n \"Env\": \"dev\",\n})\npulumi.export(\"allocationIds\", example.allocation_ids)\npulumi.export(\"publicIps\", example.public_ips)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetEips.Invoke(new()\n {\n Tags = \n {\n { \"Env\", \"dev\" },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"allocationIds\"] = example.Apply(getEipsResult =\u003e getEipsResult.AllocationIds),\n [\"publicIps\"] = example.Apply(getEipsResult =\u003e getEipsResult.PublicIps),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.GetEips(ctx, \u0026ec2.GetEipsArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Env\": \"dev\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"allocationIds\", example.AllocationIds)\n\t\tctx.Export(\"publicIps\", example.PublicIps)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetEipsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getEips(GetEipsArgs.builder()\n .tags(Map.of(\"Env\", \"dev\"))\n .build());\n\n ctx.export(\"allocationIds\", example.applyValue(getEipsResult -\u003e getEipsResult.allocationIds()));\n ctx.export(\"publicIps\", example.applyValue(getEipsResult -\u003e getEipsResult.publicIps()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getEips\n Arguments:\n tags:\n Env: dev\noutputs:\n # VPC EIPs.\n allocationIds: ${example.allocationIds}\n # EC2-Classic EIPs.\n publicIps: ${example.publicIps}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEips.\n", "properties": { @@ -393831,7 +393831,7 @@ } }, "aws:ec2/getElasticIp:getElasticIp": { - "description": "`aws.ec2.Eip` provides details about a specific Elastic IP.\n\n## Example Usage\n\n### Search By Allocation ID (VPC only)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byAllocationId = aws.ec2.getElasticIp({\n id: \"eipalloc-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_allocation_id = aws.ec2.get_elastic_ip(id=\"eipalloc-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byAllocationId = Aws.Ec2.GetElasticIp.Invoke(new()\n {\n Id = \"eipalloc-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetElasticIp(ctx, \u0026ec2.GetElasticIpArgs{\n\t\t\tId: pulumi.StringRef(\"eipalloc-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetElasticIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byAllocationId = Ec2Functions.getElasticIp(GetElasticIpArgs.builder()\n .id(\"eipalloc-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byAllocationId:\n fn::invoke:\n function: aws:ec2:getElasticIp\n arguments:\n id: eipalloc-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Search By Filters (EC2-Classic or VPC)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byFilter = aws.ec2.getElasticIp({\n filters: [{\n name: \"tag:Name\",\n values: [\"exampleNameTagValue\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_filter = aws.ec2.get_elastic_ip(filters=[{\n \"name\": \"tag:Name\",\n \"values\": [\"exampleNameTagValue\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byFilter = Aws.Ec2.GetElasticIp.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetElasticIpFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"exampleNameTagValue\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetElasticIp(ctx, \u0026ec2.GetElasticIpArgs{\n\t\t\tFilters: []ec2.GetElasticIpFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"exampleNameTagValue\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetElasticIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byFilter = Ec2Functions.getElasticIp(GetElasticIpArgs.builder()\n .filters(GetElasticIpFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"exampleNameTagValue\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byFilter:\n fn::invoke:\n function: aws:ec2:getElasticIp\n arguments:\n filters:\n - name: tag:Name\n values:\n - exampleNameTagValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Search By Public IP (EC2-Classic or VPC)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byPublicIp = aws.ec2.getElasticIp({\n publicIp: \"1.2.3.4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_public_ip = aws.ec2.get_elastic_ip(public_ip=\"1.2.3.4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byPublicIp = Aws.Ec2.GetElasticIp.Invoke(new()\n {\n PublicIp = \"1.2.3.4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetElasticIp(ctx, \u0026ec2.GetElasticIpArgs{\n\t\t\tPublicIp: pulumi.StringRef(\"1.2.3.4\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetElasticIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byPublicIp = Ec2Functions.getElasticIp(GetElasticIpArgs.builder()\n .publicIp(\"1.2.3.4\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byPublicIp:\n fn::invoke:\n function: aws:ec2:getElasticIp\n arguments:\n publicIp: 1.2.3.4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Search By Tags (EC2-Classic or VPC)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byTags = aws.ec2.getElasticIp({\n tags: {\n Name: \"exampleNameTagValue\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_tags = aws.ec2.get_elastic_ip(tags={\n \"Name\": \"exampleNameTagValue\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byTags = Aws.Ec2.GetElasticIp.Invoke(new()\n {\n Tags = \n {\n { \"Name\", \"exampleNameTagValue\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetElasticIp(ctx, \u0026ec2.GetElasticIpArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Name\": \"exampleNameTagValue\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetElasticIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byTags = Ec2Functions.getElasticIp(GetElasticIpArgs.builder()\n .tags(Map.of(\"Name\", \"exampleNameTagValue\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byTags:\n fn::invoke:\n function: aws:ec2:getElasticIp\n arguments:\n tags:\n Name: exampleNameTagValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.Eip` provides details about a specific Elastic IP.\n\n## Example Usage\n\n### Search By Allocation ID (VPC only)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byAllocationId = aws.ec2.getElasticIp({\n id: \"eipalloc-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_allocation_id = aws.ec2.get_elastic_ip(id=\"eipalloc-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byAllocationId = Aws.Ec2.GetElasticIp.Invoke(new()\n {\n Id = \"eipalloc-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetElasticIp(ctx, \u0026ec2.GetElasticIpArgs{\n\t\t\tId: pulumi.StringRef(\"eipalloc-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetElasticIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byAllocationId = Ec2Functions.getElasticIp(GetElasticIpArgs.builder()\n .id(\"eipalloc-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byAllocationId:\n fn::invoke:\n Function: aws:ec2:getElasticIp\n Arguments:\n id: eipalloc-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Search By Filters (EC2-Classic or VPC)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byFilter = aws.ec2.getElasticIp({\n filters: [{\n name: \"tag:Name\",\n values: [\"exampleNameTagValue\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_filter = aws.ec2.get_elastic_ip(filters=[{\n \"name\": \"tag:Name\",\n \"values\": [\"exampleNameTagValue\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byFilter = Aws.Ec2.GetElasticIp.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetElasticIpFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"exampleNameTagValue\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetElasticIp(ctx, \u0026ec2.GetElasticIpArgs{\n\t\t\tFilters: []ec2.GetElasticIpFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"exampleNameTagValue\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetElasticIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byFilter = Ec2Functions.getElasticIp(GetElasticIpArgs.builder()\n .filters(GetElasticIpFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"exampleNameTagValue\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byFilter:\n fn::invoke:\n Function: aws:ec2:getElasticIp\n Arguments:\n filters:\n - name: tag:Name\n values:\n - exampleNameTagValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Search By Public IP (EC2-Classic or VPC)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byPublicIp = aws.ec2.getElasticIp({\n publicIp: \"1.2.3.4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_public_ip = aws.ec2.get_elastic_ip(public_ip=\"1.2.3.4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byPublicIp = Aws.Ec2.GetElasticIp.Invoke(new()\n {\n PublicIp = \"1.2.3.4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetElasticIp(ctx, \u0026ec2.GetElasticIpArgs{\n\t\t\tPublicIp: pulumi.StringRef(\"1.2.3.4\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetElasticIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byPublicIp = Ec2Functions.getElasticIp(GetElasticIpArgs.builder()\n .publicIp(\"1.2.3.4\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byPublicIp:\n fn::invoke:\n Function: aws:ec2:getElasticIp\n Arguments:\n publicIp: 1.2.3.4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Search By Tags (EC2-Classic or VPC)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byTags = aws.ec2.getElasticIp({\n tags: {\n Name: \"exampleNameTagValue\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_tags = aws.ec2.get_elastic_ip(tags={\n \"Name\": \"exampleNameTagValue\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byTags = Aws.Ec2.GetElasticIp.Invoke(new()\n {\n Tags = \n {\n { \"Name\", \"exampleNameTagValue\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetElasticIp(ctx, \u0026ec2.GetElasticIpArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Name\": \"exampleNameTagValue\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetElasticIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byTags = Ec2Functions.getElasticIp(GetElasticIpArgs.builder()\n .tags(Map.of(\"Name\", \"exampleNameTagValue\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byTags:\n fn::invoke:\n Function: aws:ec2:getElasticIp\n Arguments:\n tags:\n Name: exampleNameTagValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getElasticIp.\n", "properties": { @@ -393968,7 +393968,7 @@ } }, "aws:ec2/getInstance:getInstance": { - "description": "Use this data source to get the ID of an Amazon EC2 Instance for use in other resources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = aws.ec2.getInstance({\n instanceId: \"i-instanceid\",\n filters: [\n {\n name: \"image-id\",\n values: [\"ami-xxxxxxxx\"],\n },\n {\n name: \"tag:Name\",\n values: [\"instance-name-tag\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.get_instance(instance_id=\"i-instanceid\",\n filters=[\n {\n \"name\": \"image-id\",\n \"values\": [\"ami-xxxxxxxx\"],\n },\n {\n \"name\": \"tag:Name\",\n \"values\": [\"instance-name-tag\"],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Ec2.GetInstance.Invoke(new()\n {\n InstanceId = \"i-instanceid\",\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInstanceFilterInputArgs\n {\n Name = \"image-id\",\n Values = new[]\n {\n \"ami-xxxxxxxx\",\n },\n },\n new Aws.Ec2.Inputs.GetInstanceFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"instance-name-tag\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupInstance(ctx, \u0026ec2.LookupInstanceArgs{\n\t\t\tInstanceId: pulumi.StringRef(\"i-instanceid\"),\n\t\t\tFilters: []ec2.GetInstanceFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"image-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ami-xxxxxxxx\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"instance-name-tag\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = Ec2Functions.getInstance(GetInstanceArgs.builder()\n .instanceId(\"i-instanceid\")\n .filters( \n GetInstanceFilterArgs.builder()\n .name(\"image-id\")\n .values(\"ami-xxxxxxxx\")\n .build(),\n GetInstanceFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"instance-name-tag\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n function: aws:ec2:getInstance\n arguments:\n instanceId: i-instanceid\n filters:\n - name: image-id\n values:\n - ami-xxxxxxxx\n - name: tag:Name\n values:\n - instance-name-tag\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the ID of an Amazon EC2 Instance for use in other resources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = aws.ec2.getInstance({\n instanceId: \"i-instanceid\",\n filters: [\n {\n name: \"image-id\",\n values: [\"ami-xxxxxxxx\"],\n },\n {\n name: \"tag:Name\",\n values: [\"instance-name-tag\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.get_instance(instance_id=\"i-instanceid\",\n filters=[\n {\n \"name\": \"image-id\",\n \"values\": [\"ami-xxxxxxxx\"],\n },\n {\n \"name\": \"tag:Name\",\n \"values\": [\"instance-name-tag\"],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Ec2.GetInstance.Invoke(new()\n {\n InstanceId = \"i-instanceid\",\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInstanceFilterInputArgs\n {\n Name = \"image-id\",\n Values = new[]\n {\n \"ami-xxxxxxxx\",\n },\n },\n new Aws.Ec2.Inputs.GetInstanceFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"instance-name-tag\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupInstance(ctx, \u0026ec2.LookupInstanceArgs{\n\t\t\tInstanceId: pulumi.StringRef(\"i-instanceid\"),\n\t\t\tFilters: []ec2.GetInstanceFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"image-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ami-xxxxxxxx\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"instance-name-tag\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = Ec2Functions.getInstance(GetInstanceArgs.builder()\n .instanceId(\"i-instanceid\")\n .filters( \n GetInstanceFilterArgs.builder()\n .name(\"image-id\")\n .values(\"ami-xxxxxxxx\")\n .build(),\n GetInstanceFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"instance-name-tag\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: aws:ec2:getInstance\n Arguments:\n instanceId: i-instanceid\n filters:\n - name: image-id\n values:\n - ami-xxxxxxxx\n - name: tag:Name\n values:\n - instance-name-tag\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInstance.\n", "properties": { @@ -394294,7 +394294,7 @@ } }, "aws:ec2/getInstanceType:getInstanceType": { - "description": "Get characteristics for a single EC2 Instance Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getInstanceType({\n instanceType: \"t2.micro\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_instance_type(instance_type=\"t2.micro\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetInstanceType.Invoke(new()\n {\n InstanceType = \"t2.micro\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetInstanceType(ctx, \u0026ec2.GetInstanceTypeArgs{\n\t\t\tInstanceType: \"t2.micro\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getInstanceType(GetInstanceTypeArgs.builder()\n .instanceType(\"t2.micro\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getInstanceType\n arguments:\n instanceType: t2.micro\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get characteristics for a single EC2 Instance Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getInstanceType({\n instanceType: \"t2.micro\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_instance_type(instance_type=\"t2.micro\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetInstanceType.Invoke(new()\n {\n InstanceType = \"t2.micro\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetInstanceType(ctx, \u0026ec2.GetInstanceTypeArgs{\n\t\t\tInstanceType: \"t2.micro\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getInstanceType(GetInstanceTypeArgs.builder()\n .instanceType(\"t2.micro\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getInstanceType\n Arguments:\n instanceType: t2.micro\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInstanceType.\n", "properties": { @@ -394590,7 +394590,7 @@ } }, "aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering": { - "description": "Information about single EC2 Instance Type Offering.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getInstanceTypeOffering({\n filters: [{\n name: \"instance-type\",\n values: [\n \"t2.micro\",\n \"t3.micro\",\n ],\n }],\n preferredInstanceTypes: [\n \"t3.micro\",\n \"t2.micro\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_instance_type_offering(filters=[{\n \"name\": \"instance-type\",\n \"values\": [\n \"t2.micro\",\n \"t3.micro\",\n ],\n }],\n preferred_instance_types=[\n \"t3.micro\",\n \"t2.micro\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetInstanceTypeOffering.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInstanceTypeOfferingFilterInputArgs\n {\n Name = \"instance-type\",\n Values = new[]\n {\n \"t2.micro\",\n \"t3.micro\",\n },\n },\n },\n PreferredInstanceTypes = new[]\n {\n \"t3.micro\",\n \"t2.micro\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetInstanceTypeOffering(ctx, \u0026ec2.GetInstanceTypeOfferingArgs{\n\t\t\tFilters: []ec2.GetInstanceTypeOfferingFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"instance-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"t2.micro\",\n\t\t\t\t\t\t\"t3.micro\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPreferredInstanceTypes: []string{\n\t\t\t\t\"t3.micro\",\n\t\t\t\t\"t2.micro\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceTypeOfferingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getInstanceTypeOffering(GetInstanceTypeOfferingArgs.builder()\n .filters(GetInstanceTypeOfferingFilterArgs.builder()\n .name(\"instance-type\")\n .values( \n \"t2.micro\",\n \"t3.micro\")\n .build())\n .preferredInstanceTypes( \n \"t3.micro\",\n \"t2.micro\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getInstanceTypeOffering\n arguments:\n filters:\n - name: instance-type\n values:\n - t2.micro\n - t3.micro\n preferredInstanceTypes:\n - t3.micro\n - t2.micro\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about single EC2 Instance Type Offering.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getInstanceTypeOffering({\n filters: [{\n name: \"instance-type\",\n values: [\n \"t2.micro\",\n \"t3.micro\",\n ],\n }],\n preferredInstanceTypes: [\n \"t3.micro\",\n \"t2.micro\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_instance_type_offering(filters=[{\n \"name\": \"instance-type\",\n \"values\": [\n \"t2.micro\",\n \"t3.micro\",\n ],\n }],\n preferred_instance_types=[\n \"t3.micro\",\n \"t2.micro\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetInstanceTypeOffering.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInstanceTypeOfferingFilterInputArgs\n {\n Name = \"instance-type\",\n Values = new[]\n {\n \"t2.micro\",\n \"t3.micro\",\n },\n },\n },\n PreferredInstanceTypes = new[]\n {\n \"t3.micro\",\n \"t2.micro\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetInstanceTypeOffering(ctx, \u0026ec2.GetInstanceTypeOfferingArgs{\n\t\t\tFilters: []ec2.GetInstanceTypeOfferingFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"instance-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"t2.micro\",\n\t\t\t\t\t\t\"t3.micro\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPreferredInstanceTypes: []string{\n\t\t\t\t\"t3.micro\",\n\t\t\t\t\"t2.micro\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceTypeOfferingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getInstanceTypeOffering(GetInstanceTypeOfferingArgs.builder()\n .filters(GetInstanceTypeOfferingFilterArgs.builder()\n .name(\"instance-type\")\n .values( \n \"t2.micro\",\n \"t3.micro\")\n .build())\n .preferredInstanceTypes( \n \"t3.micro\",\n \"t2.micro\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getInstanceTypeOffering\n Arguments:\n filters:\n - name: instance-type\n values:\n - t2.micro\n - t3.micro\n preferredInstanceTypes:\n - t3.micro\n - t2.micro\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInstanceTypeOffering.\n", "properties": { @@ -394650,7 +394650,7 @@ } }, "aws:ec2/getInstanceTypeOfferings:getInstanceTypeOfferings": { - "description": "Information about EC2 Instance Type Offerings.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getInstanceTypeOfferings({\n filters: [\n {\n name: \"instance-type\",\n values: [\n \"t2.micro\",\n \"t3.micro\",\n ],\n },\n {\n name: \"location\",\n values: [\"usw2-az4\"],\n },\n ],\n locationType: \"availability-zone-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_instance_type_offerings(filters=[\n {\n \"name\": \"instance-type\",\n \"values\": [\n \"t2.micro\",\n \"t3.micro\",\n ],\n },\n {\n \"name\": \"location\",\n \"values\": [\"usw2-az4\"],\n },\n ],\n location_type=\"availability-zone-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetInstanceTypeOfferings.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInstanceTypeOfferingsFilterInputArgs\n {\n Name = \"instance-type\",\n Values = new[]\n {\n \"t2.micro\",\n \"t3.micro\",\n },\n },\n new Aws.Ec2.Inputs.GetInstanceTypeOfferingsFilterInputArgs\n {\n Name = \"location\",\n Values = new[]\n {\n \"usw2-az4\",\n },\n },\n },\n LocationType = \"availability-zone-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetInstanceTypeOfferings(ctx, \u0026ec2.GetInstanceTypeOfferingsArgs{\n\t\t\tFilters: []ec2.GetInstanceTypeOfferingsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"instance-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"t2.micro\",\n\t\t\t\t\t\t\"t3.micro\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"location\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"usw2-az4\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocationType: pulumi.StringRef(\"availability-zone-id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceTypeOfferingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.builder()\n .filters( \n GetInstanceTypeOfferingsFilterArgs.builder()\n .name(\"instance-type\")\n .values( \n \"t2.micro\",\n \"t3.micro\")\n .build(),\n GetInstanceTypeOfferingsFilterArgs.builder()\n .name(\"location\")\n .values(\"usw2-az4\")\n .build())\n .locationType(\"availability-zone-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getInstanceTypeOfferings\n arguments:\n filters:\n - name: instance-type\n values:\n - t2.micro\n - t3.micro\n - name: location\n values:\n - usw2-az4\n locationType: availability-zone-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about EC2 Instance Type Offerings.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getInstanceTypeOfferings({\n filters: [\n {\n name: \"instance-type\",\n values: [\n \"t2.micro\",\n \"t3.micro\",\n ],\n },\n {\n name: \"location\",\n values: [\"usw2-az4\"],\n },\n ],\n locationType: \"availability-zone-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_instance_type_offerings(filters=[\n {\n \"name\": \"instance-type\",\n \"values\": [\n \"t2.micro\",\n \"t3.micro\",\n ],\n },\n {\n \"name\": \"location\",\n \"values\": [\"usw2-az4\"],\n },\n ],\n location_type=\"availability-zone-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetInstanceTypeOfferings.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInstanceTypeOfferingsFilterInputArgs\n {\n Name = \"instance-type\",\n Values = new[]\n {\n \"t2.micro\",\n \"t3.micro\",\n },\n },\n new Aws.Ec2.Inputs.GetInstanceTypeOfferingsFilterInputArgs\n {\n Name = \"location\",\n Values = new[]\n {\n \"usw2-az4\",\n },\n },\n },\n LocationType = \"availability-zone-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetInstanceTypeOfferings(ctx, \u0026ec2.GetInstanceTypeOfferingsArgs{\n\t\t\tFilters: []ec2.GetInstanceTypeOfferingsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"instance-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"t2.micro\",\n\t\t\t\t\t\t\"t3.micro\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"location\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"usw2-az4\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocationType: pulumi.StringRef(\"availability-zone-id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceTypeOfferingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.builder()\n .filters( \n GetInstanceTypeOfferingsFilterArgs.builder()\n .name(\"instance-type\")\n .values( \n \"t2.micro\",\n \"t3.micro\")\n .build(),\n GetInstanceTypeOfferingsFilterArgs.builder()\n .name(\"location\")\n .values(\"usw2-az4\")\n .build())\n .locationType(\"availability-zone-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getInstanceTypeOfferings\n Arguments:\n filters:\n - name: instance-type\n values:\n - t2.micro\n - t3.micro\n - name: location\n values:\n - usw2-az4\n locationType: availability-zone-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInstanceTypeOfferings.\n", "properties": { @@ -394716,7 +394716,7 @@ } }, "aws:ec2/getInstanceTypes:getInstanceTypes": { - "description": "Information about EC2 Instance Types.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getInstanceTypes({\n filters: [\n {\n name: \"auto-recovery-supported\",\n values: [\"true\"],\n },\n {\n name: \"network-info.encryption-in-transit-supported\",\n values: [\"true\"],\n },\n {\n name: \"instance-storage-supported\",\n values: [\"true\"],\n },\n {\n name: \"instance-type\",\n values: [\n \"g5.2xlarge\",\n \"g5.4xlarge\",\n ],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_instance_types(filters=[\n {\n \"name\": \"auto-recovery-supported\",\n \"values\": [\"true\"],\n },\n {\n \"name\": \"network-info.encryption-in-transit-supported\",\n \"values\": [\"true\"],\n },\n {\n \"name\": \"instance-storage-supported\",\n \"values\": [\"true\"],\n },\n {\n \"name\": \"instance-type\",\n \"values\": [\n \"g5.2xlarge\",\n \"g5.4xlarge\",\n ],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetInstanceTypes.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInstanceTypesFilterInputArgs\n {\n Name = \"auto-recovery-supported\",\n Values = new[]\n {\n \"true\",\n },\n },\n new Aws.Ec2.Inputs.GetInstanceTypesFilterInputArgs\n {\n Name = \"network-info.encryption-in-transit-supported\",\n Values = new[]\n {\n \"true\",\n },\n },\n new Aws.Ec2.Inputs.GetInstanceTypesFilterInputArgs\n {\n Name = \"instance-storage-supported\",\n Values = new[]\n {\n \"true\",\n },\n },\n new Aws.Ec2.Inputs.GetInstanceTypesFilterInputArgs\n {\n Name = \"instance-type\",\n Values = new[]\n {\n \"g5.2xlarge\",\n \"g5.4xlarge\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetInstanceTypes(ctx, \u0026ec2.GetInstanceTypesArgs{\n\t\t\tFilters: []ec2.GetInstanceTypesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"auto-recovery-supported\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"true\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"network-info.encryption-in-transit-supported\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"true\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"instance-storage-supported\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"true\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"instance-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"g5.2xlarge\",\n\t\t\t\t\t\t\"g5.4xlarge\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceTypesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .filters( \n GetInstanceTypesFilterArgs.builder()\n .name(\"auto-recovery-supported\")\n .values(\"true\")\n .build(),\n GetInstanceTypesFilterArgs.builder()\n .name(\"network-info.encryption-in-transit-supported\")\n .values(\"true\")\n .build(),\n GetInstanceTypesFilterArgs.builder()\n .name(\"instance-storage-supported\")\n .values(\"true\")\n .build(),\n GetInstanceTypesFilterArgs.builder()\n .name(\"instance-type\")\n .values( \n \"g5.2xlarge\",\n \"g5.4xlarge\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:ec2:getInstanceTypes\n arguments:\n filters:\n - name: auto-recovery-supported\n values:\n - 'true'\n - name: network-info.encryption-in-transit-supported\n values:\n - 'true'\n - name: instance-storage-supported\n values:\n - 'true'\n - name: instance-type\n values:\n - g5.2xlarge\n - g5.4xlarge\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about EC2 Instance Types.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getInstanceTypes({\n filters: [\n {\n name: \"auto-recovery-supported\",\n values: [\"true\"],\n },\n {\n name: \"network-info.encryption-in-transit-supported\",\n values: [\"true\"],\n },\n {\n name: \"instance-storage-supported\",\n values: [\"true\"],\n },\n {\n name: \"instance-type\",\n values: [\n \"g5.2xlarge\",\n \"g5.4xlarge\",\n ],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_instance_types(filters=[\n {\n \"name\": \"auto-recovery-supported\",\n \"values\": [\"true\"],\n },\n {\n \"name\": \"network-info.encryption-in-transit-supported\",\n \"values\": [\"true\"],\n },\n {\n \"name\": \"instance-storage-supported\",\n \"values\": [\"true\"],\n },\n {\n \"name\": \"instance-type\",\n \"values\": [\n \"g5.2xlarge\",\n \"g5.4xlarge\",\n ],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetInstanceTypes.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInstanceTypesFilterInputArgs\n {\n Name = \"auto-recovery-supported\",\n Values = new[]\n {\n \"true\",\n },\n },\n new Aws.Ec2.Inputs.GetInstanceTypesFilterInputArgs\n {\n Name = \"network-info.encryption-in-transit-supported\",\n Values = new[]\n {\n \"true\",\n },\n },\n new Aws.Ec2.Inputs.GetInstanceTypesFilterInputArgs\n {\n Name = \"instance-storage-supported\",\n Values = new[]\n {\n \"true\",\n },\n },\n new Aws.Ec2.Inputs.GetInstanceTypesFilterInputArgs\n {\n Name = \"instance-type\",\n Values = new[]\n {\n \"g5.2xlarge\",\n \"g5.4xlarge\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetInstanceTypes(ctx, \u0026ec2.GetInstanceTypesArgs{\n\t\t\tFilters: []ec2.GetInstanceTypesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"auto-recovery-supported\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"true\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"network-info.encryption-in-transit-supported\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"true\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"instance-storage-supported\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"true\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"instance-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"g5.2xlarge\",\n\t\t\t\t\t\t\"g5.4xlarge\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceTypesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .filters( \n GetInstanceTypesFilterArgs.builder()\n .name(\"auto-recovery-supported\")\n .values(\"true\")\n .build(),\n GetInstanceTypesFilterArgs.builder()\n .name(\"network-info.encryption-in-transit-supported\")\n .values(\"true\")\n .build(),\n GetInstanceTypesFilterArgs.builder()\n .name(\"instance-storage-supported\")\n .values(\"true\")\n .build(),\n GetInstanceTypesFilterArgs.builder()\n .name(\"instance-type\")\n .values( \n \"g5.2xlarge\",\n \"g5.4xlarge\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getInstanceTypes\n Arguments:\n filters:\n - name: auto-recovery-supported\n values:\n - 'true'\n - name: network-info.encryption-in-transit-supported\n values:\n - 'true'\n - name: instance-storage-supported\n values:\n - 'true'\n - name: instance-type\n values:\n - g5.2xlarge\n - g5.4xlarge\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInstanceTypes.\n", "properties": { @@ -394853,7 +394853,7 @@ } }, "aws:ec2/getInternetGateway:getInternetGateway": { - "description": "`aws.ec2.InternetGateway` provides details about a specific Internet Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject(\"vpcId\");\nconst default = aws.ec2.getInternetGateway({\n filters: [{\n name: \"attachment.vpc-id\",\n values: [vpcId],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\ndefault = aws.ec2.get_internet_gateway(filters=[{\n \"name\": \"attachment.vpc-id\",\n \"values\": [vpc_id],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n var @default = Aws.Ec2.GetInternetGateway.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInternetGatewayFilterInputArgs\n {\n Name = \"attachment.vpc-id\",\n Values = new[]\n {\n vpcId,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nvpcId := cfg.RequireObject(\"vpcId\")\n_, err := ec2.LookupInternetGateway(ctx, \u0026ec2.LookupInternetGatewayArgs{\nFilters: []ec2.GetInternetGatewayFilter{\n{\nName: \"attachment.vpc-id\",\nValues: interface{}{\nvpcId,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInternetGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var vpcId = config.get(\"vpcId\");\n final var default = Ec2Functions.getInternetGateway(GetInternetGatewayArgs.builder()\n .filters(GetInternetGatewayFilterArgs.builder()\n .name(\"attachment.vpc-id\")\n .values(vpcId)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n vpcId:\n type: dynamic\nvariables:\n default:\n fn::invoke:\n function: aws:ec2:getInternetGateway\n arguments:\n filters:\n - name: attachment.vpc-id\n values:\n - ${vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.InternetGateway` provides details about a specific Internet Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject(\"vpcId\");\nconst default = aws.ec2.getInternetGateway({\n filters: [{\n name: \"attachment.vpc-id\",\n values: [vpcId],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\ndefault = aws.ec2.get_internet_gateway(filters=[{\n \"name\": \"attachment.vpc-id\",\n \"values\": [vpc_id],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n var @default = Aws.Ec2.GetInternetGateway.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInternetGatewayFilterInputArgs\n {\n Name = \"attachment.vpc-id\",\n Values = new[]\n {\n vpcId,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nvpcId := cfg.RequireObject(\"vpcId\")\n_, err := ec2.LookupInternetGateway(ctx, \u0026ec2.LookupInternetGatewayArgs{\nFilters: []ec2.GetInternetGatewayFilter{\n{\nName: \"attachment.vpc-id\",\nValues: interface{}{\nvpcId,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInternetGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var vpcId = config.get(\"vpcId\");\n final var default = Ec2Functions.getInternetGateway(GetInternetGatewayArgs.builder()\n .filters(GetInternetGatewayFilterArgs.builder()\n .name(\"attachment.vpc-id\")\n .values(vpcId)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n vpcId:\n type: dynamic\nvariables:\n default:\n fn::invoke:\n Function: aws:ec2:getInternetGateway\n Arguments:\n filters:\n - name: attachment.vpc-id\n values:\n - ${vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInternetGateway.\n", "properties": { @@ -394927,7 +394927,7 @@ } }, "aws:ec2/getIpamPreviewNextCidr:getIpamPreviewNextCidr": { - "description": "Previews a CIDR from an IPAM address pool. Only works for private IPv4.\n\n\u003e **NOTE:** This functionality is also encapsulated in a resource sharing the same name. The data source can be used when you need to use the cidr in a calculation of the same Root module, `count` for example. However, once a cidr range has been allocated that was previewed, the next refresh will find a **new** cidr and may force new resources downstream. Make sure to use `ignore_changes` if this is undesirable.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getIpamPreviewNextCidr({\n ipamPoolId: testAwsVpcIpamPool.id,\n netmaskLength: 28,\n});\nconst testVpcIpamPoolCidrAllocation = new aws.ec2.VpcIpamPoolCidrAllocation(\"test\", {\n ipamPoolId: testAwsVpcIpamPool.id,\n cidr: test.then(test =\u003e test.cidr),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_ipam_preview_next_cidr(ipam_pool_id=test_aws_vpc_ipam_pool[\"id\"],\n netmask_length=28)\ntest_vpc_ipam_pool_cidr_allocation = aws.ec2.VpcIpamPoolCidrAllocation(\"test\",\n ipam_pool_id=test_aws_vpc_ipam_pool[\"id\"],\n cidr=test.cidr)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetIpamPreviewNextCidr.Invoke(new()\n {\n IpamPoolId = testAwsVpcIpamPool.Id,\n NetmaskLength = 28,\n });\n\n var testVpcIpamPoolCidrAllocation = new Aws.Ec2.VpcIpamPoolCidrAllocation(\"test\", new()\n {\n IpamPoolId = testAwsVpcIpamPool.Id,\n Cidr = test.Apply(getIpamPreviewNextCidrResult =\u003e getIpamPreviewNextCidrResult.Cidr),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.GetIpamPreviewNextCidr(ctx, \u0026ec2.GetIpamPreviewNextCidrArgs{\n\t\t\tIpamPoolId: testAwsVpcIpamPool.Id,\n\t\t\tNetmaskLength: pulumi.IntRef(28),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidrAllocation(ctx, \"test\", \u0026ec2.VpcIpamPoolCidrAllocationArgs{\n\t\t\tIpamPoolId: pulumi.Any(testAwsVpcIpamPool.Id),\n\t\t\tCidr: pulumi.String(test.Cidr),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetIpamPreviewNextCidrArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocation;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getIpamPreviewNextCidr(GetIpamPreviewNextCidrArgs.builder()\n .ipamPoolId(testAwsVpcIpamPool.id())\n .netmaskLength(28)\n .build());\n\n var testVpcIpamPoolCidrAllocation = new VpcIpamPoolCidrAllocation(\"testVpcIpamPoolCidrAllocation\", VpcIpamPoolCidrAllocationArgs.builder()\n .ipamPoolId(testAwsVpcIpamPool.id())\n .cidr(test.applyValue(getIpamPreviewNextCidrResult -\u003e getIpamPreviewNextCidrResult.cidr()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVpcIpamPoolCidrAllocation:\n type: aws:ec2:VpcIpamPoolCidrAllocation\n name: test\n properties:\n ipamPoolId: ${testAwsVpcIpamPool.id}\n cidr: ${test.cidr}\nvariables:\n test:\n fn::invoke:\n function: aws:ec2:getIpamPreviewNextCidr\n arguments:\n ipamPoolId: ${testAwsVpcIpamPool.id}\n netmaskLength: 28\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Previews a CIDR from an IPAM address pool. Only works for private IPv4.\n\n\u003e **NOTE:** This functionality is also encapsulated in a resource sharing the same name. The data source can be used when you need to use the cidr in a calculation of the same Root module, `count` for example. However, once a cidr range has been allocated that was previewed, the next refresh will find a **new** cidr and may force new resources downstream. Make sure to use `ignore_changes` if this is undesirable.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getIpamPreviewNextCidr({\n ipamPoolId: testAwsVpcIpamPool.id,\n netmaskLength: 28,\n});\nconst testVpcIpamPoolCidrAllocation = new aws.ec2.VpcIpamPoolCidrAllocation(\"test\", {\n ipamPoolId: testAwsVpcIpamPool.id,\n cidr: test.then(test =\u003e test.cidr),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_ipam_preview_next_cidr(ipam_pool_id=test_aws_vpc_ipam_pool[\"id\"],\n netmask_length=28)\ntest_vpc_ipam_pool_cidr_allocation = aws.ec2.VpcIpamPoolCidrAllocation(\"test\",\n ipam_pool_id=test_aws_vpc_ipam_pool[\"id\"],\n cidr=test.cidr)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetIpamPreviewNextCidr.Invoke(new()\n {\n IpamPoolId = testAwsVpcIpamPool.Id,\n NetmaskLength = 28,\n });\n\n var testVpcIpamPoolCidrAllocation = new Aws.Ec2.VpcIpamPoolCidrAllocation(\"test\", new()\n {\n IpamPoolId = testAwsVpcIpamPool.Id,\n Cidr = test.Apply(getIpamPreviewNextCidrResult =\u003e getIpamPreviewNextCidrResult.Cidr),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.GetIpamPreviewNextCidr(ctx, \u0026ec2.GetIpamPreviewNextCidrArgs{\n\t\t\tIpamPoolId: testAwsVpcIpamPool.Id,\n\t\t\tNetmaskLength: pulumi.IntRef(28),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidrAllocation(ctx, \"test\", \u0026ec2.VpcIpamPoolCidrAllocationArgs{\n\t\t\tIpamPoolId: pulumi.Any(testAwsVpcIpamPool.Id),\n\t\t\tCidr: pulumi.String(test.Cidr),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetIpamPreviewNextCidrArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocation;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getIpamPreviewNextCidr(GetIpamPreviewNextCidrArgs.builder()\n .ipamPoolId(testAwsVpcIpamPool.id())\n .netmaskLength(28)\n .build());\n\n var testVpcIpamPoolCidrAllocation = new VpcIpamPoolCidrAllocation(\"testVpcIpamPoolCidrAllocation\", VpcIpamPoolCidrAllocationArgs.builder()\n .ipamPoolId(testAwsVpcIpamPool.id())\n .cidr(test.applyValue(getIpamPreviewNextCidrResult -\u003e getIpamPreviewNextCidrResult.cidr()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVpcIpamPoolCidrAllocation:\n type: aws:ec2:VpcIpamPoolCidrAllocation\n name: test\n properties:\n ipamPoolId: ${testAwsVpcIpamPool.id}\n cidr: ${test.cidr}\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getIpamPreviewNextCidr\n Arguments:\n ipamPoolId: ${testAwsVpcIpamPool.id}\n netmaskLength: 28\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getIpamPreviewNextCidr.\n", "properties": { @@ -394985,7 +394985,7 @@ } }, "aws:ec2/getKeyPair:getKeyPair": { - "description": "Use this data source to get information about a specific EC2 Key Pair.\n\n## Example Usage\n\nThe following example shows how to get a EC2 Key Pair including the public key material from its name.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getKeyPair({\n keyName: \"test\",\n includePublicKey: true,\n filters: [{\n name: \"tag:Component\",\n values: [\"web\"],\n }],\n});\nexport const fingerprint = example.then(example =\u003e example.fingerprint);\nexport const name = example.then(example =\u003e example.keyName);\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_key_pair(key_name=\"test\",\n include_public_key=True,\n filters=[{\n \"name\": \"tag:Component\",\n \"values\": [\"web\"],\n }])\npulumi.export(\"fingerprint\", example.fingerprint)\npulumi.export(\"name\", example.key_name)\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetKeyPair.Invoke(new()\n {\n KeyName = \"test\",\n IncludePublicKey = true,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetKeyPairFilterInputArgs\n {\n Name = \"tag:Component\",\n Values = new[]\n {\n \"web\",\n },\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"fingerprint\"] = example.Apply(getKeyPairResult =\u003e getKeyPairResult.Fingerprint),\n [\"name\"] = example.Apply(getKeyPairResult =\u003e getKeyPairResult.KeyName),\n [\"id\"] = example.Apply(getKeyPairResult =\u003e getKeyPairResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.LookupKeyPair(ctx, \u0026ec2.LookupKeyPairArgs{\n\t\t\tKeyName: pulumi.StringRef(\"test\"),\n\t\t\tIncludePublicKey: pulumi.BoolRef(true),\n\t\t\tFilters: []ec2.GetKeyPairFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Component\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"web\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"fingerprint\", example.Fingerprint)\n\t\tctx.Export(\"name\", example.KeyName)\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetKeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getKeyPair(GetKeyPairArgs.builder()\n .keyName(\"test\")\n .includePublicKey(true)\n .filters(GetKeyPairFilterArgs.builder()\n .name(\"tag:Component\")\n .values(\"web\")\n .build())\n .build());\n\n ctx.export(\"fingerprint\", example.applyValue(getKeyPairResult -\u003e getKeyPairResult.fingerprint()));\n ctx.export(\"name\", example.applyValue(getKeyPairResult -\u003e getKeyPairResult.keyName()));\n ctx.export(\"id\", example.applyValue(getKeyPairResult -\u003e getKeyPairResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getKeyPair\n arguments:\n keyName: test\n includePublicKey: true\n filters:\n - name: tag:Component\n values:\n - web\noutputs:\n fingerprint: ${example.fingerprint}\n name: ${example.keyName}\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about a specific EC2 Key Pair.\n\n## Example Usage\n\nThe following example shows how to get a EC2 Key Pair including the public key material from its name.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getKeyPair({\n keyName: \"test\",\n includePublicKey: true,\n filters: [{\n name: \"tag:Component\",\n values: [\"web\"],\n }],\n});\nexport const fingerprint = example.then(example =\u003e example.fingerprint);\nexport const name = example.then(example =\u003e example.keyName);\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_key_pair(key_name=\"test\",\n include_public_key=True,\n filters=[{\n \"name\": \"tag:Component\",\n \"values\": [\"web\"],\n }])\npulumi.export(\"fingerprint\", example.fingerprint)\npulumi.export(\"name\", example.key_name)\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetKeyPair.Invoke(new()\n {\n KeyName = \"test\",\n IncludePublicKey = true,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetKeyPairFilterInputArgs\n {\n Name = \"tag:Component\",\n Values = new[]\n {\n \"web\",\n },\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"fingerprint\"] = example.Apply(getKeyPairResult =\u003e getKeyPairResult.Fingerprint),\n [\"name\"] = example.Apply(getKeyPairResult =\u003e getKeyPairResult.KeyName),\n [\"id\"] = example.Apply(getKeyPairResult =\u003e getKeyPairResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.LookupKeyPair(ctx, \u0026ec2.LookupKeyPairArgs{\n\t\t\tKeyName: pulumi.StringRef(\"test\"),\n\t\t\tIncludePublicKey: pulumi.BoolRef(true),\n\t\t\tFilters: []ec2.GetKeyPairFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Component\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"web\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"fingerprint\", example.Fingerprint)\n\t\tctx.Export(\"name\", example.KeyName)\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetKeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getKeyPair(GetKeyPairArgs.builder()\n .keyName(\"test\")\n .includePublicKey(true)\n .filters(GetKeyPairFilterArgs.builder()\n .name(\"tag:Component\")\n .values(\"web\")\n .build())\n .build());\n\n ctx.export(\"fingerprint\", example.applyValue(getKeyPairResult -\u003e getKeyPairResult.fingerprint()));\n ctx.export(\"name\", example.applyValue(getKeyPairResult -\u003e getKeyPairResult.keyName()));\n ctx.export(\"id\", example.applyValue(getKeyPairResult -\u003e getKeyPairResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getKeyPair\n Arguments:\n keyName: test\n includePublicKey: true\n filters:\n - name: tag:Component\n values:\n - web\noutputs:\n fingerprint: ${example.fingerprint}\n name: ${example.keyName}\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getKeyPair.\n", "properties": { @@ -395081,7 +395081,7 @@ } }, "aws:ec2/getLaunchConfiguration:getLaunchConfiguration": { - "description": "Provides information about a Launch Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ubuntu = aws.ec2.getLaunchConfiguration({\n name: \"test-launch-config\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nubuntu = aws.ec2.get_launch_configuration(name=\"test-launch-config\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ubuntu = Aws.Ec2.GetLaunchConfiguration.Invoke(new()\n {\n Name = \"test-launch-config\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupLaunchConfiguration(ctx, \u0026ec2.LookupLaunchConfigurationArgs{\n\t\t\tName: \"test-launch-config\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLaunchConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ubuntu = Ec2Functions.getLaunchConfiguration(GetLaunchConfigurationArgs.builder()\n .name(\"test-launch-config\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ubuntu:\n fn::invoke:\n function: aws:ec2:getLaunchConfiguration\n arguments:\n name: test-launch-config\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a Launch Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ubuntu = aws.ec2.getLaunchConfiguration({\n name: \"test-launch-config\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nubuntu = aws.ec2.get_launch_configuration(name=\"test-launch-config\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ubuntu = Aws.Ec2.GetLaunchConfiguration.Invoke(new()\n {\n Name = \"test-launch-config\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupLaunchConfiguration(ctx, \u0026ec2.LookupLaunchConfigurationArgs{\n\t\t\tName: \"test-launch-config\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLaunchConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ubuntu = Ec2Functions.getLaunchConfiguration(GetLaunchConfigurationArgs.builder()\n .name(\"test-launch-config\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ubuntu:\n fn::invoke:\n Function: aws:ec2:getLaunchConfiguration\n Arguments:\n name: test-launch-config\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLaunchConfiguration.\n", "properties": { @@ -395210,7 +395210,7 @@ } }, "aws:ec2/getLaunchTemplate:getLaunchTemplate": { - "description": "Provides information about a Launch Template.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst default = aws.ec2.getLaunchTemplate({\n name: \"my-launch-template\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.get_launch_template(name=\"my-launch-template\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Ec2.GetLaunchTemplate.Invoke(new()\n {\n Name = \"my-launch-template\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupLaunchTemplate(ctx, \u0026ec2.LookupLaunchTemplateArgs{\n\t\t\tName: pulumi.StringRef(\"my-launch-template\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLaunchTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = Ec2Functions.getLaunchTemplate(GetLaunchTemplateArgs.builder()\n .name(\"my-launch-template\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n function: aws:ec2:getLaunchTemplate\n arguments:\n name: my-launch-template\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getLaunchTemplate({\n filters: [{\n name: \"launch-template-name\",\n values: [\"some-template\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_launch_template(filters=[{\n \"name\": \"launch-template-name\",\n \"values\": [\"some-template\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetLaunchTemplate.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetLaunchTemplateFilterInputArgs\n {\n Name = \"launch-template-name\",\n Values = new[]\n {\n \"some-template\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupLaunchTemplate(ctx, \u0026ec2.LookupLaunchTemplateArgs{\n\t\t\tFilters: []ec2.GetLaunchTemplateFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"launch-template-name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"some-template\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLaunchTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getLaunchTemplate(GetLaunchTemplateArgs.builder()\n .filters(GetLaunchTemplateFilterArgs.builder()\n .name(\"launch-template-name\")\n .values(\"some-template\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:ec2:getLaunchTemplate\n arguments:\n filters:\n - name: launch-template-name\n values:\n - some-template\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a Launch Template.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst default = aws.ec2.getLaunchTemplate({\n name: \"my-launch-template\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.get_launch_template(name=\"my-launch-template\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Ec2.GetLaunchTemplate.Invoke(new()\n {\n Name = \"my-launch-template\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupLaunchTemplate(ctx, \u0026ec2.LookupLaunchTemplateArgs{\n\t\t\tName: pulumi.StringRef(\"my-launch-template\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLaunchTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = Ec2Functions.getLaunchTemplate(GetLaunchTemplateArgs.builder()\n .name(\"my-launch-template\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: aws:ec2:getLaunchTemplate\n Arguments:\n name: my-launch-template\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getLaunchTemplate({\n filters: [{\n name: \"launch-template-name\",\n values: [\"some-template\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_launch_template(filters=[{\n \"name\": \"launch-template-name\",\n \"values\": [\"some-template\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetLaunchTemplate.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetLaunchTemplateFilterInputArgs\n {\n Name = \"launch-template-name\",\n Values = new[]\n {\n \"some-template\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupLaunchTemplate(ctx, \u0026ec2.LookupLaunchTemplateArgs{\n\t\t\tFilters: []ec2.GetLaunchTemplateFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"launch-template-name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"some-template\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLaunchTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getLaunchTemplate(GetLaunchTemplateArgs.builder()\n .filters(GetLaunchTemplateFilterArgs.builder()\n .name(\"launch-template-name\")\n .values(\"some-template\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getLaunchTemplate\n Arguments:\n filters:\n - name: launch-template-name\n values:\n - some-template\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLaunchTemplate.\n", "properties": { @@ -395474,7 +395474,7 @@ } }, "aws:ec2/getLocalGateway:getLocalGateway": { - "description": "Provides details about an EC2 Local Gateway.\n\n## Example Usage\n\nThe following example shows how one might accept a local gateway id as a variable.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst localGatewayId = config.requireObject(\"localGatewayId\");\nconst selected = aws.ec2.getLocalGateway({\n id: localGatewayId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlocal_gateway_id = config.require_object(\"localGatewayId\")\nselected = aws.ec2.get_local_gateway(id=local_gateway_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var localGatewayId = config.RequireObject\u003cdynamic\u003e(\"localGatewayId\");\n var selected = Aws.Ec2.GetLocalGateway.Invoke(new()\n {\n Id = localGatewayId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlocalGatewayId := cfg.RequireObject(\"localGatewayId\")\n\t\t_, err := ec2.GetLocalGateway(ctx, \u0026ec2.GetLocalGatewayArgs{\n\t\t\tId: pulumi.StringRef(localGatewayId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLocalGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var localGatewayId = config.get(\"localGatewayId\");\n final var selected = Ec2Functions.getLocalGateway(GetLocalGatewayArgs.builder()\n .id(localGatewayId)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n localGatewayId:\n type: dynamic\nvariables:\n selected:\n fn::invoke:\n function: aws:ec2:getLocalGateway\n arguments:\n id: ${localGatewayId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about an EC2 Local Gateway.\n\n## Example Usage\n\nThe following example shows how one might accept a local gateway id as a variable.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst localGatewayId = config.requireObject(\"localGatewayId\");\nconst selected = aws.ec2.getLocalGateway({\n id: localGatewayId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlocal_gateway_id = config.require_object(\"localGatewayId\")\nselected = aws.ec2.get_local_gateway(id=local_gateway_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var localGatewayId = config.RequireObject\u003cdynamic\u003e(\"localGatewayId\");\n var selected = Aws.Ec2.GetLocalGateway.Invoke(new()\n {\n Id = localGatewayId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlocalGatewayId := cfg.RequireObject(\"localGatewayId\")\n\t\t_, err := ec2.GetLocalGateway(ctx, \u0026ec2.GetLocalGatewayArgs{\n\t\t\tId: pulumi.StringRef(localGatewayId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLocalGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var localGatewayId = config.get(\"localGatewayId\");\n final var selected = Ec2Functions.getLocalGateway(GetLocalGatewayArgs.builder()\n .id(localGatewayId)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n localGatewayId:\n type: dynamic\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getLocalGateway\n Arguments:\n id: ${localGatewayId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLocalGateway.\n", "properties": { @@ -395545,7 +395545,7 @@ } }, "aws:ec2/getLocalGatewayRouteTable:getLocalGatewayRouteTable": { - "description": "Provides details about an EC2 Local Gateway Route Table.\n\nThis data source can prove useful when a module accepts a local gateway route table id as\nan input variable and needs to, for example, find the associated Outpost or Local Gateway.\n\n## Example Usage\n\nThe following example returns a specific local gateway route table ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst awsEc2LocalGatewayRouteTable = config.requireObject(\"awsEc2LocalGatewayRouteTable\");\nconst selected = aws.ec2.getLocalGatewayRouteTable({\n localGatewayRouteTableId: awsEc2LocalGatewayRouteTable,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\naws_ec2_local_gateway_route_table = config.require_object(\"awsEc2LocalGatewayRouteTable\")\nselected = aws.ec2.get_local_gateway_route_table(local_gateway_route_table_id=aws_ec2_local_gateway_route_table)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var awsEc2LocalGatewayRouteTable = config.RequireObject\u003cdynamic\u003e(\"awsEc2LocalGatewayRouteTable\");\n var selected = Aws.Ec2.GetLocalGatewayRouteTable.Invoke(new()\n {\n LocalGatewayRouteTableId = awsEc2LocalGatewayRouteTable,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tawsEc2LocalGatewayRouteTable := cfg.RequireObject(\"awsEc2LocalGatewayRouteTable\")\n\t\t_, err := ec2.GetLocalGatewayRouteTable(ctx, \u0026ec2.GetLocalGatewayRouteTableArgs{\n\t\t\tLocalGatewayRouteTableId: pulumi.StringRef(awsEc2LocalGatewayRouteTable),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLocalGatewayRouteTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var awsEc2LocalGatewayRouteTable = config.get(\"awsEc2LocalGatewayRouteTable\");\n final var selected = Ec2Functions.getLocalGatewayRouteTable(GetLocalGatewayRouteTableArgs.builder()\n .localGatewayRouteTableId(awsEc2LocalGatewayRouteTable)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n awsEc2LocalGatewayRouteTable:\n type: dynamic\nvariables:\n selected:\n fn::invoke:\n function: aws:ec2:getLocalGatewayRouteTable\n arguments:\n localGatewayRouteTableId: ${awsEc2LocalGatewayRouteTable}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about an EC2 Local Gateway Route Table.\n\nThis data source can prove useful when a module accepts a local gateway route table id as\nan input variable and needs to, for example, find the associated Outpost or Local Gateway.\n\n## Example Usage\n\nThe following example returns a specific local gateway route table ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst awsEc2LocalGatewayRouteTable = config.requireObject(\"awsEc2LocalGatewayRouteTable\");\nconst selected = aws.ec2.getLocalGatewayRouteTable({\n localGatewayRouteTableId: awsEc2LocalGatewayRouteTable,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\naws_ec2_local_gateway_route_table = config.require_object(\"awsEc2LocalGatewayRouteTable\")\nselected = aws.ec2.get_local_gateway_route_table(local_gateway_route_table_id=aws_ec2_local_gateway_route_table)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var awsEc2LocalGatewayRouteTable = config.RequireObject\u003cdynamic\u003e(\"awsEc2LocalGatewayRouteTable\");\n var selected = Aws.Ec2.GetLocalGatewayRouteTable.Invoke(new()\n {\n LocalGatewayRouteTableId = awsEc2LocalGatewayRouteTable,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tawsEc2LocalGatewayRouteTable := cfg.RequireObject(\"awsEc2LocalGatewayRouteTable\")\n\t\t_, err := ec2.GetLocalGatewayRouteTable(ctx, \u0026ec2.GetLocalGatewayRouteTableArgs{\n\t\t\tLocalGatewayRouteTableId: pulumi.StringRef(awsEc2LocalGatewayRouteTable),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLocalGatewayRouteTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var awsEc2LocalGatewayRouteTable = config.get(\"awsEc2LocalGatewayRouteTable\");\n final var selected = Ec2Functions.getLocalGatewayRouteTable(GetLocalGatewayRouteTableArgs.builder()\n .localGatewayRouteTableId(awsEc2LocalGatewayRouteTable)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n awsEc2LocalGatewayRouteTable:\n type: dynamic\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getLocalGatewayRouteTable\n Arguments:\n localGatewayRouteTableId: ${awsEc2LocalGatewayRouteTable}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLocalGatewayRouteTable.\n", "properties": { @@ -395625,7 +395625,7 @@ } }, "aws:ec2/getLocalGatewayRouteTables:getLocalGatewayRouteTables": { - "description": "Provides information for multiple EC2 Local Gateway Route Tables, such as their identifiers.\n\n## Example Usage\n\nThe following shows outputting all Local Gateway Route Table Ids.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const foo = await aws.ec2.getLocalGatewayRouteTables({});\n return {\n foo: foo.ids,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.get_local_gateway_route_tables()\npulumi.export(\"foo\", foo.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Ec2.GetLocalGatewayRouteTables.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = foo.Apply(getLocalGatewayRouteTablesResult =\u003e getLocalGatewayRouteTablesResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.GetLocalGatewayRouteTables(ctx, \u0026ec2.GetLocalGatewayRouteTablesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"foo\", foo.Ids)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLocalGatewayRouteTablesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = Ec2Functions.getLocalGatewayRouteTables();\n\n ctx.export(\"foo\", foo.applyValue(getLocalGatewayRouteTablesResult -\u003e getLocalGatewayRouteTablesResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n function: aws:ec2:getLocalGatewayRouteTables\n arguments: {}\noutputs:\n foo: ${foo.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information for multiple EC2 Local Gateway Route Tables, such as their identifiers.\n\n## Example Usage\n\nThe following shows outputting all Local Gateway Route Table Ids.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const foo = await aws.ec2.getLocalGatewayRouteTables({});\n return {\n foo: foo.ids,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.get_local_gateway_route_tables()\npulumi.export(\"foo\", foo.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Ec2.GetLocalGatewayRouteTables.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = foo.Apply(getLocalGatewayRouteTablesResult =\u003e getLocalGatewayRouteTablesResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.GetLocalGatewayRouteTables(ctx, \u0026ec2.GetLocalGatewayRouteTablesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"foo\", foo.Ids)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLocalGatewayRouteTablesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = Ec2Functions.getLocalGatewayRouteTables();\n\n ctx.export(\"foo\", foo.applyValue(getLocalGatewayRouteTablesResult -\u003e getLocalGatewayRouteTablesResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: aws:ec2:getLocalGatewayRouteTables\n Arguments: {}\noutputs:\n foo: ${foo.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLocalGatewayRouteTables.\n", "properties": { @@ -395771,7 +395771,7 @@ } }, "aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup": { - "description": "Provides details about an EC2 Local Gateway Virtual Interface Group. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getLocalGatewayVirtualInterfaceGroup({\n localGatewayId: exampleAwsEc2LocalGateway.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_local_gateway_virtual_interface_group(local_gateway_id=example_aws_ec2_local_gateway[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetLocalGatewayVirtualInterfaceGroup.Invoke(new()\n {\n LocalGatewayId = exampleAwsEc2LocalGateway.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetLocalGatewayVirtualInterfaceGroup(ctx, \u0026ec2.GetLocalGatewayVirtualInterfaceGroupArgs{\n\t\t\tLocalGatewayId: pulumi.StringRef(exampleAwsEc2LocalGateway.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLocalGatewayVirtualInterfaceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getLocalGatewayVirtualInterfaceGroup(GetLocalGatewayVirtualInterfaceGroupArgs.builder()\n .localGatewayId(exampleAwsEc2LocalGateway.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getLocalGatewayVirtualInterfaceGroup\n arguments:\n localGatewayId: ${exampleAwsEc2LocalGateway.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about an EC2 Local Gateway Virtual Interface Group. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getLocalGatewayVirtualInterfaceGroup({\n localGatewayId: exampleAwsEc2LocalGateway.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_local_gateway_virtual_interface_group(local_gateway_id=example_aws_ec2_local_gateway[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetLocalGatewayVirtualInterfaceGroup.Invoke(new()\n {\n LocalGatewayId = exampleAwsEc2LocalGateway.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetLocalGatewayVirtualInterfaceGroup(ctx, \u0026ec2.GetLocalGatewayVirtualInterfaceGroupArgs{\n\t\t\tLocalGatewayId: pulumi.StringRef(exampleAwsEc2LocalGateway.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLocalGatewayVirtualInterfaceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getLocalGatewayVirtualInterfaceGroup(GetLocalGatewayVirtualInterfaceGroupArgs.builder()\n .localGatewayId(exampleAwsEc2LocalGateway.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getLocalGatewayVirtualInterfaceGroup\n Arguments:\n localGatewayId: ${exampleAwsEc2LocalGateway.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLocalGatewayVirtualInterfaceGroup.\n", "properties": { @@ -395839,7 +395839,7 @@ } }, "aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups": { - "description": "Provides details about multiple EC2 Local Gateway Virtual Interface Groups, such as identifiers. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst all = aws.ec2.getLocalGatewayVirtualInterfaceGroups({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nall = aws.ec2.get_local_gateway_virtual_interface_groups()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var all = Aws.Ec2.GetLocalGatewayVirtualInterfaceGroups.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetLocalGatewayVirtualInterfaceGroups(ctx, \u0026ec2.GetLocalGatewayVirtualInterfaceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLocalGatewayVirtualInterfaceGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all = Ec2Functions.getLocalGatewayVirtualInterfaceGroups();\n\n }\n}\n```\n```yaml\nvariables:\n all:\n fn::invoke:\n function: aws:ec2:getLocalGatewayVirtualInterfaceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about multiple EC2 Local Gateway Virtual Interface Groups, such as identifiers. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst all = aws.ec2.getLocalGatewayVirtualInterfaceGroups({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nall = aws.ec2.get_local_gateway_virtual_interface_groups()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var all = Aws.Ec2.GetLocalGatewayVirtualInterfaceGroups.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetLocalGatewayVirtualInterfaceGroups(ctx, \u0026ec2.GetLocalGatewayVirtualInterfaceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLocalGatewayVirtualInterfaceGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all = Ec2Functions.getLocalGatewayVirtualInterfaceGroups();\n\n }\n}\n```\n```yaml\nvariables:\n all:\n fn::invoke:\n Function: aws:ec2:getLocalGatewayVirtualInterfaceGroups\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLocalGatewayVirtualInterfaceGroups.\n", "properties": { @@ -395903,7 +395903,7 @@ } }, "aws:ec2/getLocalGateways:getLocalGateways": { - "description": "Provides information for multiple EC2 Local Gateways, such as their identifiers.\n\n## Example Usage\n\nThe following example retrieves Local Gateways with a resource tag of `service` set to `production`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const foo = await aws.ec2.getLocalGateways({\n tags: {\n service: \"production\",\n },\n });\n return {\n foo: foo.ids,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.get_local_gateways(tags={\n \"service\": \"production\",\n})\npulumi.export(\"foo\", foo.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Ec2.GetLocalGateways.Invoke(new()\n {\n Tags = \n {\n { \"service\", \"production\" },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = foo.Apply(getLocalGatewaysResult =\u003e getLocalGatewaysResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.GetLocalGateways(ctx, \u0026ec2.GetLocalGatewaysArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"service\": \"production\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"foo\", foo.Ids)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLocalGatewaysArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = Ec2Functions.getLocalGateways(GetLocalGatewaysArgs.builder()\n .tags(Map.of(\"service\", \"production\"))\n .build());\n\n ctx.export(\"foo\", foo.applyValue(getLocalGatewaysResult -\u003e getLocalGatewaysResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n function: aws:ec2:getLocalGateways\n arguments:\n tags:\n service: production\noutputs:\n foo: ${foo.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information for multiple EC2 Local Gateways, such as their identifiers.\n\n## Example Usage\n\nThe following example retrieves Local Gateways with a resource tag of `service` set to `production`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const foo = await aws.ec2.getLocalGateways({\n tags: {\n service: \"production\",\n },\n });\n return {\n foo: foo.ids,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.get_local_gateways(tags={\n \"service\": \"production\",\n})\npulumi.export(\"foo\", foo.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Ec2.GetLocalGateways.Invoke(new()\n {\n Tags = \n {\n { \"service\", \"production\" },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = foo.Apply(getLocalGatewaysResult =\u003e getLocalGatewaysResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.GetLocalGateways(ctx, \u0026ec2.GetLocalGatewaysArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"service\": \"production\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"foo\", foo.Ids)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLocalGatewaysArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = Ec2Functions.getLocalGateways(GetLocalGatewaysArgs.builder()\n .tags(Map.of(\"service\", \"production\"))\n .build());\n\n ctx.export(\"foo\", foo.applyValue(getLocalGatewaysResult -\u003e getLocalGatewaysResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: aws:ec2:getLocalGateways\n Arguments:\n tags:\n service: production\noutputs:\n foo: ${foo.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLocalGateways.\n", "properties": { @@ -395960,7 +395960,7 @@ } }, "aws:ec2/getManagedPrefixList:getManagedPrefixList": { - "description": "`aws.ec2.ManagedPrefixList` provides details about a specific AWS prefix list or\ncustomer-managed prefix list in the current region.\n\n## Example Usage\n\n### Find the regional DynamoDB prefix list\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = current.then(current =\u003e aws.ec2.getManagedPrefixList({\n name: `com.amazonaws.${current.name}.dynamodb`,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.get_managed_prefix_list(name=f\"com.amazonaws.{current.name}.dynamodb\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = Aws.Ec2.GetManagedPrefixList.Invoke(new()\n {\n Name = $\"com.amazonaws.{current.Apply(getRegionResult =\u003e getRegionResult.Name)}.dynamodb\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.LookupManagedPrefixList(ctx, \u0026ec2.LookupManagedPrefixListArgs{\n\t\t\tName: pulumi.StringRef(fmt.Sprintf(\"com.amazonaws.%v.dynamodb\", current.Name)),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetManagedPrefixListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var example = Ec2Functions.getManagedPrefixList(GetManagedPrefixListArgs.builder()\n .name(String.format(\"com.amazonaws.%s.dynamodb\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n example:\n fn::invoke:\n function: aws:ec2:getManagedPrefixList\n arguments:\n name: com.amazonaws.${current.name}.dynamodb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Find a managed prefix list using filters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getManagedPrefixList({\n filters: [{\n name: \"prefix-list-name\",\n values: [\"my-prefix-list\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_managed_prefix_list(filters=[{\n \"name\": \"prefix-list-name\",\n \"values\": [\"my-prefix-list\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetManagedPrefixList.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetManagedPrefixListFilterInputArgs\n {\n Name = \"prefix-list-name\",\n Values = new[]\n {\n \"my-prefix-list\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupManagedPrefixList(ctx, \u0026ec2.LookupManagedPrefixListArgs{\n\t\t\tFilters: []ec2.GetManagedPrefixListFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"prefix-list-name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-prefix-list\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetManagedPrefixListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getManagedPrefixList(GetManagedPrefixListArgs.builder()\n .filters(GetManagedPrefixListFilterArgs.builder()\n .name(\"prefix-list-name\")\n .values(\"my-prefix-list\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getManagedPrefixList\n arguments:\n filters:\n - name: prefix-list-name\n values:\n - my-prefix-list\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.ManagedPrefixList` provides details about a specific AWS prefix list or\ncustomer-managed prefix list in the current region.\n\n## Example Usage\n\n### Find the regional DynamoDB prefix list\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = current.then(current =\u003e aws.ec2.getManagedPrefixList({\n name: `com.amazonaws.${current.name}.dynamodb`,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.get_managed_prefix_list(name=f\"com.amazonaws.{current.name}.dynamodb\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = Aws.Ec2.GetManagedPrefixList.Invoke(new()\n {\n Name = $\"com.amazonaws.{current.Apply(getRegionResult =\u003e getRegionResult.Name)}.dynamodb\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.LookupManagedPrefixList(ctx, \u0026ec2.LookupManagedPrefixListArgs{\n\t\t\tName: pulumi.StringRef(fmt.Sprintf(\"com.amazonaws.%v.dynamodb\", current.Name)),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetManagedPrefixListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var example = Ec2Functions.getManagedPrefixList(GetManagedPrefixListArgs.builder()\n .name(String.format(\"com.amazonaws.%s.dynamodb\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:ec2:getManagedPrefixList\n Arguments:\n name: com.amazonaws.${current.name}.dynamodb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Find a managed prefix list using filters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getManagedPrefixList({\n filters: [{\n name: \"prefix-list-name\",\n values: [\"my-prefix-list\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_managed_prefix_list(filters=[{\n \"name\": \"prefix-list-name\",\n \"values\": [\"my-prefix-list\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetManagedPrefixList.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetManagedPrefixListFilterInputArgs\n {\n Name = \"prefix-list-name\",\n Values = new[]\n {\n \"my-prefix-list\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupManagedPrefixList(ctx, \u0026ec2.LookupManagedPrefixListArgs{\n\t\t\tFilters: []ec2.GetManagedPrefixListFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"prefix-list-name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-prefix-list\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetManagedPrefixListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getManagedPrefixList(GetManagedPrefixListArgs.builder()\n .filters(GetManagedPrefixListFilterArgs.builder()\n .name(\"prefix-list-name\")\n .values(\"my-prefix-list\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getManagedPrefixList\n Arguments:\n filters:\n - name: prefix-list-name\n values:\n - my-prefix-list\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getManagedPrefixList.\n", "properties": { @@ -396112,7 +396112,7 @@ } }, "aws:ec2/getNatGateway:getNatGateway": { - "description": "Provides details about a specific VPC NAT Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst default = aws.ec2.getNatGateway({\n subnetId: _public.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.get_nat_gateway(subnet_id=public[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Ec2.GetNatGateway.Invoke(new()\n {\n SubnetId = @public.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupNatGateway(ctx, \u0026ec2.LookupNatGatewayArgs{\n\t\t\tSubnetId: pulumi.StringRef(public.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = Ec2Functions.getNatGateway(GetNatGatewayArgs.builder()\n .subnetId(public_.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n function: aws:ec2:getNatGateway\n arguments:\n subnetId: ${public.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst default = aws.ec2.getNatGateway({\n subnetId: _public.id,\n tags: {\n Name: \"gw NAT\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.get_nat_gateway(subnet_id=public[\"id\"],\n tags={\n \"Name\": \"gw NAT\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Ec2.GetNatGateway.Invoke(new()\n {\n SubnetId = @public.Id,\n Tags = \n {\n { \"Name\", \"gw NAT\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupNatGateway(ctx, \u0026ec2.LookupNatGatewayArgs{\n\t\t\tSubnetId: pulumi.StringRef(public.Id),\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Name\": \"gw NAT\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = Ec2Functions.getNatGateway(GetNatGatewayArgs.builder()\n .subnetId(public_.id())\n .tags(Map.of(\"Name\", \"gw NAT\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n function: aws:ec2:getNatGateway\n arguments:\n subnetId: ${public.id}\n tags:\n Name: gw NAT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific VPC NAT Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst default = aws.ec2.getNatGateway({\n subnetId: _public.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.get_nat_gateway(subnet_id=public[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Ec2.GetNatGateway.Invoke(new()\n {\n SubnetId = @public.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupNatGateway(ctx, \u0026ec2.LookupNatGatewayArgs{\n\t\t\tSubnetId: pulumi.StringRef(public.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = Ec2Functions.getNatGateway(GetNatGatewayArgs.builder()\n .subnetId(public_.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: aws:ec2:getNatGateway\n Arguments:\n subnetId: ${public.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst default = aws.ec2.getNatGateway({\n subnetId: _public.id,\n tags: {\n Name: \"gw NAT\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.get_nat_gateway(subnet_id=public[\"id\"],\n tags={\n \"Name\": \"gw NAT\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Ec2.GetNatGateway.Invoke(new()\n {\n SubnetId = @public.Id,\n Tags = \n {\n { \"Name\", \"gw NAT\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupNatGateway(ctx, \u0026ec2.LookupNatGatewayArgs{\n\t\t\tSubnetId: pulumi.StringRef(public.Id),\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Name\": \"gw NAT\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = Ec2Functions.getNatGateway(GetNatGatewayArgs.builder()\n .subnetId(public_.id())\n .tags(Map.of(\"Name\", \"gw NAT\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: aws:ec2:getNatGateway\n Arguments:\n subnetId: ${public.id}\n tags:\n Name: gw NAT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getNatGateway.\n", "properties": { @@ -396303,7 +396303,7 @@ } }, "aws:ec2/getNetworkAcls:getNetworkAcls": { - "description": "## Example Usage\n\nThe following shows outputting all network ACL ids in a vpc.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = await aws.ec2.getNetworkAcls({\n vpcId: vpcId,\n });\n return {\n example: example.ids,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_network_acls(vpc_id=vpc_id)\npulumi.export(\"example\", example.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetNetworkAcls.Invoke(new()\n {\n VpcId = vpcId,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = example.Apply(getNetworkAclsResult =\u003e getNetworkAclsResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.GetNetworkAcls(ctx, \u0026ec2.GetNetworkAclsArgs{\n\t\t\tVpcId: pulumi.StringRef(vpcId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", example.Ids)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkAclsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getNetworkAcls(GetNetworkAclsArgs.builder()\n .vpcId(vpcId)\n .build());\n\n ctx.export(\"example\", example.applyValue(getNetworkAclsResult -\u003e getNetworkAclsResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getNetworkAcls\n arguments:\n vpcId: ${vpcId}\noutputs:\n example: ${example.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following example retrieves a list of all network ACL ids in a VPC with a custom\ntag of `Tier` set to a value of \"Private\".\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getNetworkAcls({\n vpcId: vpcId,\n tags: {\n Tier: \"Private\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_network_acls(vpc_id=vpc_id,\n tags={\n \"Tier\": \"Private\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetNetworkAcls.Invoke(new()\n {\n VpcId = vpcId,\n Tags = \n {\n { \"Tier\", \"Private\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetNetworkAcls(ctx, \u0026ec2.GetNetworkAclsArgs{\n\t\t\tVpcId: pulumi.StringRef(vpcId),\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Tier\": \"Private\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkAclsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getNetworkAcls(GetNetworkAclsArgs.builder()\n .vpcId(vpcId)\n .tags(Map.of(\"Tier\", \"Private\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getNetworkAcls\n arguments:\n vpcId: ${vpcId}\n tags:\n Tier: Private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following example retrieves a network ACL id in a VPC which associated\nwith specific subnet.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getNetworkAcls({\n vpcId: vpcId,\n filters: [{\n name: \"association.subnet-id\",\n values: [test.id],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_network_acls(vpc_id=vpc_id,\n filters=[{\n \"name\": \"association.subnet-id\",\n \"values\": [test[\"id\"]],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetNetworkAcls.Invoke(new()\n {\n VpcId = vpcId,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetNetworkAclsFilterInputArgs\n {\n Name = \"association.subnet-id\",\n Values = new[]\n {\n test.Id,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := ec2.GetNetworkAcls(ctx, \u0026ec2.GetNetworkAclsArgs{\nVpcId: pulumi.StringRef(vpcId),\nFilters: []ec2.GetNetworkAclsFilter{\n{\nName: \"association.subnet-id\",\nValues: interface{}{\ntest.Id,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkAclsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getNetworkAcls(GetNetworkAclsArgs.builder()\n .vpcId(vpcId)\n .filters(GetNetworkAclsFilterArgs.builder()\n .name(\"association.subnet-id\")\n .values(test.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getNetworkAcls\n arguments:\n vpcId: ${vpcId}\n filters:\n - name: association.subnet-id\n values:\n - ${test.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## Example Usage\n\nThe following shows outputting all network ACL ids in a vpc.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = await aws.ec2.getNetworkAcls({\n vpcId: vpcId,\n });\n return {\n example: example.ids,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_network_acls(vpc_id=vpc_id)\npulumi.export(\"example\", example.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetNetworkAcls.Invoke(new()\n {\n VpcId = vpcId,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = example.Apply(getNetworkAclsResult =\u003e getNetworkAclsResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.GetNetworkAcls(ctx, \u0026ec2.GetNetworkAclsArgs{\n\t\t\tVpcId: pulumi.StringRef(vpcId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", example.Ids)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkAclsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getNetworkAcls(GetNetworkAclsArgs.builder()\n .vpcId(vpcId)\n .build());\n\n ctx.export(\"example\", example.applyValue(getNetworkAclsResult -\u003e getNetworkAclsResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getNetworkAcls\n Arguments:\n vpcId: ${vpcId}\noutputs:\n example: ${example.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following example retrieves a list of all network ACL ids in a VPC with a custom\ntag of `Tier` set to a value of \"Private\".\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getNetworkAcls({\n vpcId: vpcId,\n tags: {\n Tier: \"Private\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_network_acls(vpc_id=vpc_id,\n tags={\n \"Tier\": \"Private\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetNetworkAcls.Invoke(new()\n {\n VpcId = vpcId,\n Tags = \n {\n { \"Tier\", \"Private\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetNetworkAcls(ctx, \u0026ec2.GetNetworkAclsArgs{\n\t\t\tVpcId: pulumi.StringRef(vpcId),\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Tier\": \"Private\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkAclsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getNetworkAcls(GetNetworkAclsArgs.builder()\n .vpcId(vpcId)\n .tags(Map.of(\"Tier\", \"Private\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getNetworkAcls\n Arguments:\n vpcId: ${vpcId}\n tags:\n Tier: Private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following example retrieves a network ACL id in a VPC which associated\nwith specific subnet.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getNetworkAcls({\n vpcId: vpcId,\n filters: [{\n name: \"association.subnet-id\",\n values: [test.id],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_network_acls(vpc_id=vpc_id,\n filters=[{\n \"name\": \"association.subnet-id\",\n \"values\": [test[\"id\"]],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetNetworkAcls.Invoke(new()\n {\n VpcId = vpcId,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetNetworkAclsFilterInputArgs\n {\n Name = \"association.subnet-id\",\n Values = new[]\n {\n test.Id,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := ec2.GetNetworkAcls(ctx, \u0026ec2.GetNetworkAclsArgs{\nVpcId: pulumi.StringRef(vpcId),\nFilters: []ec2.GetNetworkAclsFilter{\n{\nName: \"association.subnet-id\",\nValues: interface{}{\ntest.Id,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkAclsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getNetworkAcls(GetNetworkAclsArgs.builder()\n .vpcId(vpcId)\n .filters(GetNetworkAclsFilterArgs.builder()\n .name(\"association.subnet-id\")\n .values(test.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getNetworkAcls\n Arguments:\n vpcId: ${vpcId}\n filters:\n - name: association.subnet-id\n values:\n - ${test.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getNetworkAcls.\n", "properties": { @@ -396367,7 +396367,7 @@ } }, "aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis": { - "description": "`aws.ec2.NetworkInsightsAnalysis` provides details about a specific Network Insights Analysis.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getNetworkInsightsAnalysis({\n networkInsightsAnalysisId: exampleAwsEc2NetworkInsightsAnalysis.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_network_insights_analysis(network_insights_analysis_id=example_aws_ec2_network_insights_analysis[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetNetworkInsightsAnalysis.Invoke(new()\n {\n NetworkInsightsAnalysisId = exampleAwsEc2NetworkInsightsAnalysis.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupNetworkInsightsAnalysis(ctx, \u0026ec2.LookupNetworkInsightsAnalysisArgs{\n\t\t\tNetworkInsightsAnalysisId: pulumi.StringRef(exampleAwsEc2NetworkInsightsAnalysis.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkInsightsAnalysisArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getNetworkInsightsAnalysis(GetNetworkInsightsAnalysisArgs.builder()\n .networkInsightsAnalysisId(exampleAwsEc2NetworkInsightsAnalysis.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getNetworkInsightsAnalysis\n arguments:\n networkInsightsAnalysisId: ${exampleAwsEc2NetworkInsightsAnalysis.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.NetworkInsightsAnalysis` provides details about a specific Network Insights Analysis.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getNetworkInsightsAnalysis({\n networkInsightsAnalysisId: exampleAwsEc2NetworkInsightsAnalysis.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_network_insights_analysis(network_insights_analysis_id=example_aws_ec2_network_insights_analysis[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetNetworkInsightsAnalysis.Invoke(new()\n {\n NetworkInsightsAnalysisId = exampleAwsEc2NetworkInsightsAnalysis.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupNetworkInsightsAnalysis(ctx, \u0026ec2.LookupNetworkInsightsAnalysisArgs{\n\t\t\tNetworkInsightsAnalysisId: pulumi.StringRef(exampleAwsEc2NetworkInsightsAnalysis.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkInsightsAnalysisArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getNetworkInsightsAnalysis(GetNetworkInsightsAnalysisArgs.builder()\n .networkInsightsAnalysisId(exampleAwsEc2NetworkInsightsAnalysis.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getNetworkInsightsAnalysis\n Arguments:\n networkInsightsAnalysisId: ${exampleAwsEc2NetworkInsightsAnalysis.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getNetworkInsightsAnalysis.\n", "properties": { @@ -396498,7 +396498,7 @@ } }, "aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath": { - "description": "`aws.ec2.NetworkInsightsPath` provides details about a specific Network Insights Path.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getNetworkInsightsPath({\n networkInsightsPathId: exampleAwsEc2NetworkInsightsPath.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_network_insights_path(network_insights_path_id=example_aws_ec2_network_insights_path[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetNetworkInsightsPath.Invoke(new()\n {\n NetworkInsightsPathId = exampleAwsEc2NetworkInsightsPath.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupNetworkInsightsPath(ctx, \u0026ec2.LookupNetworkInsightsPathArgs{\n\t\t\tNetworkInsightsPathId: pulumi.StringRef(exampleAwsEc2NetworkInsightsPath.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkInsightsPathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getNetworkInsightsPath(GetNetworkInsightsPathArgs.builder()\n .networkInsightsPathId(exampleAwsEc2NetworkInsightsPath.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getNetworkInsightsPath\n arguments:\n networkInsightsPathId: ${exampleAwsEc2NetworkInsightsPath.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.NetworkInsightsPath` provides details about a specific Network Insights Path.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getNetworkInsightsPath({\n networkInsightsPathId: exampleAwsEc2NetworkInsightsPath.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_network_insights_path(network_insights_path_id=example_aws_ec2_network_insights_path[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetNetworkInsightsPath.Invoke(new()\n {\n NetworkInsightsPathId = exampleAwsEc2NetworkInsightsPath.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupNetworkInsightsPath(ctx, \u0026ec2.LookupNetworkInsightsPathArgs{\n\t\t\tNetworkInsightsPathId: pulumi.StringRef(exampleAwsEc2NetworkInsightsPath.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkInsightsPathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getNetworkInsightsPath(GetNetworkInsightsPathArgs.builder()\n .networkInsightsPathId(exampleAwsEc2NetworkInsightsPath.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getNetworkInsightsPath\n Arguments:\n networkInsightsPathId: ${exampleAwsEc2NetworkInsightsPath.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getNetworkInsightsPath.\n", "properties": { @@ -396601,7 +396601,7 @@ } }, "aws:ec2/getNetworkInterface:getNetworkInterface": { - "description": "Use this data source to get information about a Network Interface.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = aws.ec2.getNetworkInterface({\n id: \"eni-01234567\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.ec2.get_network_interface(id=\"eni-01234567\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = Aws.Ec2.GetNetworkInterface.Invoke(new()\n {\n Id = \"eni-01234567\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupNetworkInterface(ctx, \u0026ec2.LookupNetworkInterfaceArgs{\n\t\t\tId: pulumi.StringRef(\"eni-01234567\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var bar = Ec2Functions.getNetworkInterface(GetNetworkInterfaceArgs.builder()\n .id(\"eni-01234567\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n bar:\n fn::invoke:\n function: aws:ec2:getNetworkInterface\n arguments:\n id: eni-01234567\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about a Network Interface.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = aws.ec2.getNetworkInterface({\n id: \"eni-01234567\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.ec2.get_network_interface(id=\"eni-01234567\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = Aws.Ec2.GetNetworkInterface.Invoke(new()\n {\n Id = \"eni-01234567\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupNetworkInterface(ctx, \u0026ec2.LookupNetworkInterfaceArgs{\n\t\t\tId: pulumi.StringRef(\"eni-01234567\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var bar = Ec2Functions.getNetworkInterface(GetNetworkInterfaceArgs.builder()\n .id(\"eni-01234567\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n bar:\n fn::invoke:\n Function: aws:ec2:getNetworkInterface\n Arguments:\n id: eni-01234567\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getNetworkInterface.\n", "properties": { @@ -396753,7 +396753,7 @@ } }, "aws:ec2/getNetworkInterfaces:getNetworkInterfaces": { - "description": "## Example Usage\n\nThe following shows outputting all network interface ids in a region.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = await aws.ec2.getNetworkInterfaces({});\n return {\n example: example.ids,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_network_interfaces()\npulumi.export(\"example\", example.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetNetworkInterfaces.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = example.Apply(getNetworkInterfacesResult =\u003e getNetworkInterfacesResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.GetNetworkInterfaces(ctx, \u0026ec2.GetNetworkInterfacesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", example.Ids)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkInterfacesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getNetworkInterfaces();\n\n ctx.export(\"example\", example.applyValue(getNetworkInterfacesResult -\u003e getNetworkInterfacesResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getNetworkInterfaces\n arguments: {}\noutputs:\n example: ${example.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following example retrieves a list of all network interface ids with a custom tag of `Name` set to a value of `test`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getNetworkInterfaces({\n tags: {\n Name: \"test\",\n },\n});\nexport const example1 = example.then(example =\u003e example.ids);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_network_interfaces(tags={\n \"Name\": \"test\",\n})\npulumi.export(\"example1\", example.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetNetworkInterfaces.Invoke(new()\n {\n Tags = \n {\n { \"Name\", \"test\" },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example1\"] = example.Apply(getNetworkInterfacesResult =\u003e getNetworkInterfacesResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.GetNetworkInterfaces(ctx, \u0026ec2.GetNetworkInterfacesArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Name\": \"test\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example1\", example.Ids)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkInterfacesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getNetworkInterfaces(GetNetworkInterfacesArgs.builder()\n .tags(Map.of(\"Name\", \"test\"))\n .build());\n\n ctx.export(\"example1\", example.applyValue(getNetworkInterfacesResult -\u003e getNetworkInterfacesResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getNetworkInterfaces\n arguments:\n tags:\n Name: test\noutputs:\n example1: ${example.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following example retrieves a network interface ids which associated\nwith specific subnet.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = await aws.ec2.getNetworkInterfaces({\n filters: [{\n name: \"subnet-id\",\n values: [test.id],\n }],\n });\n return {\n example: example.ids,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_network_interfaces(filters=[{\n \"name\": \"subnet-id\",\n \"values\": [test[\"id\"]],\n}])\npulumi.export(\"example\", example.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetNetworkInterfaces.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetNetworkInterfacesFilterInputArgs\n {\n Name = \"subnet-id\",\n Values = new[]\n {\n test.Id,\n },\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = example.Apply(getNetworkInterfacesResult =\u003e getNetworkInterfacesResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := ec2.GetNetworkInterfaces(ctx, \u0026ec2.GetNetworkInterfacesArgs{\nFilters: []ec2.GetNetworkInterfacesFilter{\n{\nName: \"subnet-id\",\nValues: interface{}{\ntest.Id,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nctx.Export(\"example\", example.Ids)\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkInterfacesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getNetworkInterfaces(GetNetworkInterfacesArgs.builder()\n .filters(GetNetworkInterfacesFilterArgs.builder()\n .name(\"subnet-id\")\n .values(test.id())\n .build())\n .build());\n\n ctx.export(\"example\", example.applyValue(getNetworkInterfacesResult -\u003e getNetworkInterfacesResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getNetworkInterfaces\n arguments:\n filters:\n - name: subnet-id\n values:\n - ${test.id}\noutputs:\n example: ${example.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## Example Usage\n\nThe following shows outputting all network interface ids in a region.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = await aws.ec2.getNetworkInterfaces({});\n return {\n example: example.ids,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_network_interfaces()\npulumi.export(\"example\", example.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetNetworkInterfaces.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = example.Apply(getNetworkInterfacesResult =\u003e getNetworkInterfacesResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.GetNetworkInterfaces(ctx, \u0026ec2.GetNetworkInterfacesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", example.Ids)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkInterfacesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getNetworkInterfaces();\n\n ctx.export(\"example\", example.applyValue(getNetworkInterfacesResult -\u003e getNetworkInterfacesResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getNetworkInterfaces\n Arguments: {}\noutputs:\n example: ${example.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following example retrieves a list of all network interface ids with a custom tag of `Name` set to a value of `test`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getNetworkInterfaces({\n tags: {\n Name: \"test\",\n },\n});\nexport const example1 = example.then(example =\u003e example.ids);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_network_interfaces(tags={\n \"Name\": \"test\",\n})\npulumi.export(\"example1\", example.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetNetworkInterfaces.Invoke(new()\n {\n Tags = \n {\n { \"Name\", \"test\" },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example1\"] = example.Apply(getNetworkInterfacesResult =\u003e getNetworkInterfacesResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.GetNetworkInterfaces(ctx, \u0026ec2.GetNetworkInterfacesArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Name\": \"test\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example1\", example.Ids)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkInterfacesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getNetworkInterfaces(GetNetworkInterfacesArgs.builder()\n .tags(Map.of(\"Name\", \"test\"))\n .build());\n\n ctx.export(\"example1\", example.applyValue(getNetworkInterfacesResult -\u003e getNetworkInterfacesResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getNetworkInterfaces\n Arguments:\n tags:\n Name: test\noutputs:\n example1: ${example.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following example retrieves a network interface ids which associated\nwith specific subnet.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = await aws.ec2.getNetworkInterfaces({\n filters: [{\n name: \"subnet-id\",\n values: [test.id],\n }],\n });\n return {\n example: example.ids,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_network_interfaces(filters=[{\n \"name\": \"subnet-id\",\n \"values\": [test[\"id\"]],\n}])\npulumi.export(\"example\", example.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetNetworkInterfaces.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetNetworkInterfacesFilterInputArgs\n {\n Name = \"subnet-id\",\n Values = new[]\n {\n test.Id,\n },\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = example.Apply(getNetworkInterfacesResult =\u003e getNetworkInterfacesResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := ec2.GetNetworkInterfaces(ctx, \u0026ec2.GetNetworkInterfacesArgs{\nFilters: []ec2.GetNetworkInterfacesFilter{\n{\nName: \"subnet-id\",\nValues: interface{}{\ntest.Id,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nctx.Export(\"example\", example.Ids)\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkInterfacesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getNetworkInterfaces(GetNetworkInterfacesArgs.builder()\n .filters(GetNetworkInterfacesFilterArgs.builder()\n .name(\"subnet-id\")\n .values(test.id())\n .build())\n .build());\n\n ctx.export(\"example\", example.applyValue(getNetworkInterfacesResult -\u003e getNetworkInterfacesResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getNetworkInterfaces\n Arguments:\n filters:\n - name: subnet-id\n values:\n - ${test.id}\noutputs:\n example: ${example.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getNetworkInterfaces.\n", "properties": { @@ -396810,7 +396810,7 @@ } }, "aws:ec2/getPrefixList:getPrefixList": { - "description": "`aws.ec2.getPrefixList` provides details about a specific AWS prefix list (PL)\nin the current region.\n\nThis can be used both to validate a prefix list given in a variable\nand to obtain the CIDR blocks (IP address ranges) for the associated\nAWS service. The latter may be useful e.g., for adding network ACL\nrules.\n\nThe aws.ec2.ManagedPrefixList data source is normally more appropriate to use given it can return customer-managed prefix list info, as well as additional attributes.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst privateS3VpcEndpoint = new aws.ec2.VpcEndpoint(\"private_s3\", {\n vpcId: foo.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n});\nconst privateS3 = aws.ec2.getPrefixListOutput({\n prefixListId: privateS3VpcEndpoint.prefixListId,\n});\nconst bar = new aws.ec2.NetworkAcl(\"bar\", {vpcId: foo.id});\nconst privateS3NetworkAclRule = new aws.ec2.NetworkAclRule(\"private_s3\", {\n networkAclId: bar.id,\n ruleNumber: 200,\n egress: false,\n protocol: \"tcp\",\n ruleAction: \"allow\",\n cidrBlock: privateS3.apply(privateS3 =\u003e privateS3.cidrBlocks?.[0]),\n fromPort: 443,\n toPort: 443,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprivate_s3_vpc_endpoint = aws.ec2.VpcEndpoint(\"private_s3\",\n vpc_id=foo[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\")\nprivate_s3 = aws.ec2.get_prefix_list_output(prefix_list_id=private_s3_vpc_endpoint.prefix_list_id)\nbar = aws.ec2.NetworkAcl(\"bar\", vpc_id=foo[\"id\"])\nprivate_s3_network_acl_rule = aws.ec2.NetworkAclRule(\"private_s3\",\n network_acl_id=bar.id,\n rule_number=200,\n egress=False,\n protocol=\"tcp\",\n rule_action=\"allow\",\n cidr_block=private_s3.cidr_blocks[0],\n from_port=443,\n to_port=443)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var privateS3VpcEndpoint = new Aws.Ec2.VpcEndpoint(\"private_s3\", new()\n {\n VpcId = foo.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n });\n\n var privateS3 = Aws.Ec2.GetPrefixList.Invoke(new()\n {\n PrefixListId = privateS3VpcEndpoint.PrefixListId,\n });\n\n var bar = new Aws.Ec2.NetworkAcl(\"bar\", new()\n {\n VpcId = foo.Id,\n });\n\n var privateS3NetworkAclRule = new Aws.Ec2.NetworkAclRule(\"private_s3\", new()\n {\n NetworkAclId = bar.Id,\n RuleNumber = 200,\n Egress = false,\n Protocol = \"tcp\",\n RuleAction = \"allow\",\n CidrBlock = privateS3.Apply(getPrefixListResult =\u003e getPrefixListResult.CidrBlocks[0]),\n FromPort = 443,\n ToPort = 443,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprivateS3VpcEndpoint, err := ec2.NewVpcEndpoint(ctx, \"private_s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(foo.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprivateS3 := ec2.GetPrefixListOutput(ctx, ec2.GetPrefixListOutputArgs{\n\t\t\tPrefixListId: privateS3VpcEndpoint.PrefixListId,\n\t\t}, nil)\n\t\tbar, err := ec2.NewNetworkAcl(ctx, \"bar\", \u0026ec2.NetworkAclArgs{\n\t\t\tVpcId: pulumi.Any(foo.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewNetworkAclRule(ctx, \"private_s3\", \u0026ec2.NetworkAclRuleArgs{\n\t\t\tNetworkAclId: bar.ID(),\n\t\t\tRuleNumber: pulumi.Int(200),\n\t\t\tEgress: pulumi.Bool(false),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\tRuleAction: pulumi.String(\"allow\"),\n\t\t\tCidrBlock: pulumi.String(privateS3.ApplyT(func(privateS3 ec2.GetPrefixListResult) (*string, error) {\n\t\t\t\treturn \u0026privateS3.CidrBlocks[0], nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tFromPort: pulumi.Int(443),\n\t\t\tToPort: pulumi.Int(443),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPrefixListArgs;\nimport com.pulumi.aws.ec2.NetworkAcl;\nimport com.pulumi.aws.ec2.NetworkAclArgs;\nimport com.pulumi.aws.ec2.NetworkAclRule;\nimport com.pulumi.aws.ec2.NetworkAclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var privateS3VpcEndpoint = new VpcEndpoint(\"privateS3VpcEndpoint\", VpcEndpointArgs.builder()\n .vpcId(foo.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .build());\n\n final var privateS3 = Ec2Functions.getPrefixList(GetPrefixListArgs.builder()\n .prefixListId(privateS3VpcEndpoint.prefixListId())\n .build());\n\n var bar = new NetworkAcl(\"bar\", NetworkAclArgs.builder()\n .vpcId(foo.id())\n .build());\n\n var privateS3NetworkAclRule = new NetworkAclRule(\"privateS3NetworkAclRule\", NetworkAclRuleArgs.builder()\n .networkAclId(bar.id())\n .ruleNumber(200)\n .egress(false)\n .protocol(\"tcp\")\n .ruleAction(\"allow\")\n .cidrBlock(privateS3.applyValue(getPrefixListResult -\u003e getPrefixListResult).applyValue(privateS3 -\u003e privateS3.applyValue(getPrefixListResult -\u003e getPrefixListResult.cidrBlocks()[0])))\n .fromPort(443)\n .toPort(443)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n privateS3VpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: private_s3\n properties:\n vpcId: ${foo.id}\n serviceName: com.amazonaws.us-west-2.s3\n bar:\n type: aws:ec2:NetworkAcl\n properties:\n vpcId: ${foo.id}\n privateS3NetworkAclRule:\n type: aws:ec2:NetworkAclRule\n name: private_s3\n properties:\n networkAclId: ${bar.id}\n ruleNumber: 200\n egress: false\n protocol: tcp\n ruleAction: allow\n cidrBlock: ${privateS3.cidrBlocks[0]}\n fromPort: 443\n toPort: 443\nvariables:\n privateS3:\n fn::invoke:\n function: aws:ec2:getPrefixList\n arguments:\n prefixListId: ${privateS3VpcEndpoint.prefixListId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getPrefixList({\n filters: [{\n name: \"prefix-list-id\",\n values: [\"pl-68a54001\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_prefix_list(filters=[{\n \"name\": \"prefix-list-id\",\n \"values\": [\"pl-68a54001\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetPrefixList.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetPrefixListFilterInputArgs\n {\n Name = \"prefix-list-id\",\n Values = new[]\n {\n \"pl-68a54001\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetPrefixList(ctx, \u0026ec2.GetPrefixListArgs{\n\t\t\tFilters: []ec2.GetPrefixListFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"prefix-list-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"pl-68a54001\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPrefixListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getPrefixList(GetPrefixListArgs.builder()\n .filters(GetPrefixListFilterArgs.builder()\n .name(\"prefix-list-id\")\n .values(\"pl-68a54001\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:ec2:getPrefixList\n arguments:\n filters:\n - name: prefix-list-id\n values:\n - pl-68a54001\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.getPrefixList` provides details about a specific AWS prefix list (PL)\nin the current region.\n\nThis can be used both to validate a prefix list given in a variable\nand to obtain the CIDR blocks (IP address ranges) for the associated\nAWS service. The latter may be useful e.g., for adding network ACL\nrules.\n\nThe aws.ec2.ManagedPrefixList data source is normally more appropriate to use given it can return customer-managed prefix list info, as well as additional attributes.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst privateS3VpcEndpoint = new aws.ec2.VpcEndpoint(\"private_s3\", {\n vpcId: foo.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n});\nconst privateS3 = aws.ec2.getPrefixListOutput({\n prefixListId: privateS3VpcEndpoint.prefixListId,\n});\nconst bar = new aws.ec2.NetworkAcl(\"bar\", {vpcId: foo.id});\nconst privateS3NetworkAclRule = new aws.ec2.NetworkAclRule(\"private_s3\", {\n networkAclId: bar.id,\n ruleNumber: 200,\n egress: false,\n protocol: \"tcp\",\n ruleAction: \"allow\",\n cidrBlock: privateS3.apply(privateS3 =\u003e privateS3.cidrBlocks?.[0]),\n fromPort: 443,\n toPort: 443,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprivate_s3_vpc_endpoint = aws.ec2.VpcEndpoint(\"private_s3\",\n vpc_id=foo[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\")\nprivate_s3 = aws.ec2.get_prefix_list_output(prefix_list_id=private_s3_vpc_endpoint.prefix_list_id)\nbar = aws.ec2.NetworkAcl(\"bar\", vpc_id=foo[\"id\"])\nprivate_s3_network_acl_rule = aws.ec2.NetworkAclRule(\"private_s3\",\n network_acl_id=bar.id,\n rule_number=200,\n egress=False,\n protocol=\"tcp\",\n rule_action=\"allow\",\n cidr_block=private_s3.cidr_blocks[0],\n from_port=443,\n to_port=443)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var privateS3VpcEndpoint = new Aws.Ec2.VpcEndpoint(\"private_s3\", new()\n {\n VpcId = foo.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n });\n\n var privateS3 = Aws.Ec2.GetPrefixList.Invoke(new()\n {\n PrefixListId = privateS3VpcEndpoint.PrefixListId,\n });\n\n var bar = new Aws.Ec2.NetworkAcl(\"bar\", new()\n {\n VpcId = foo.Id,\n });\n\n var privateS3NetworkAclRule = new Aws.Ec2.NetworkAclRule(\"private_s3\", new()\n {\n NetworkAclId = bar.Id,\n RuleNumber = 200,\n Egress = false,\n Protocol = \"tcp\",\n RuleAction = \"allow\",\n CidrBlock = privateS3.Apply(getPrefixListResult =\u003e getPrefixListResult.CidrBlocks[0]),\n FromPort = 443,\n ToPort = 443,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprivateS3VpcEndpoint, err := ec2.NewVpcEndpoint(ctx, \"private_s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(foo.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprivateS3 := ec2.GetPrefixListOutput(ctx, ec2.GetPrefixListOutputArgs{\n\t\t\tPrefixListId: privateS3VpcEndpoint.PrefixListId,\n\t\t}, nil)\n\t\tbar, err := ec2.NewNetworkAcl(ctx, \"bar\", \u0026ec2.NetworkAclArgs{\n\t\t\tVpcId: pulumi.Any(foo.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewNetworkAclRule(ctx, \"private_s3\", \u0026ec2.NetworkAclRuleArgs{\n\t\t\tNetworkAclId: bar.ID(),\n\t\t\tRuleNumber: pulumi.Int(200),\n\t\t\tEgress: pulumi.Bool(false),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\tRuleAction: pulumi.String(\"allow\"),\n\t\t\tCidrBlock: pulumi.String(privateS3.ApplyT(func(privateS3 ec2.GetPrefixListResult) (*string, error) {\n\t\t\t\treturn \u0026privateS3.CidrBlocks[0], nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tFromPort: pulumi.Int(443),\n\t\t\tToPort: pulumi.Int(443),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPrefixListArgs;\nimport com.pulumi.aws.ec2.NetworkAcl;\nimport com.pulumi.aws.ec2.NetworkAclArgs;\nimport com.pulumi.aws.ec2.NetworkAclRule;\nimport com.pulumi.aws.ec2.NetworkAclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var privateS3VpcEndpoint = new VpcEndpoint(\"privateS3VpcEndpoint\", VpcEndpointArgs.builder()\n .vpcId(foo.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .build());\n\n final var privateS3 = Ec2Functions.getPrefixList(GetPrefixListArgs.builder()\n .prefixListId(privateS3VpcEndpoint.prefixListId())\n .build());\n\n var bar = new NetworkAcl(\"bar\", NetworkAclArgs.builder()\n .vpcId(foo.id())\n .build());\n\n var privateS3NetworkAclRule = new NetworkAclRule(\"privateS3NetworkAclRule\", NetworkAclRuleArgs.builder()\n .networkAclId(bar.id())\n .ruleNumber(200)\n .egress(false)\n .protocol(\"tcp\")\n .ruleAction(\"allow\")\n .cidrBlock(privateS3.applyValue(getPrefixListResult -\u003e getPrefixListResult).applyValue(privateS3 -\u003e privateS3.applyValue(getPrefixListResult -\u003e getPrefixListResult.cidrBlocks()[0])))\n .fromPort(443)\n .toPort(443)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n privateS3VpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: private_s3\n properties:\n vpcId: ${foo.id}\n serviceName: com.amazonaws.us-west-2.s3\n bar:\n type: aws:ec2:NetworkAcl\n properties:\n vpcId: ${foo.id}\n privateS3NetworkAclRule:\n type: aws:ec2:NetworkAclRule\n name: private_s3\n properties:\n networkAclId: ${bar.id}\n ruleNumber: 200\n egress: false\n protocol: tcp\n ruleAction: allow\n cidrBlock: ${privateS3.cidrBlocks[0]}\n fromPort: 443\n toPort: 443\nvariables:\n privateS3:\n fn::invoke:\n Function: aws:ec2:getPrefixList\n Arguments:\n prefixListId: ${privateS3VpcEndpoint.prefixListId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getPrefixList({\n filters: [{\n name: \"prefix-list-id\",\n values: [\"pl-68a54001\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_prefix_list(filters=[{\n \"name\": \"prefix-list-id\",\n \"values\": [\"pl-68a54001\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetPrefixList.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetPrefixListFilterInputArgs\n {\n Name = \"prefix-list-id\",\n Values = new[]\n {\n \"pl-68a54001\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetPrefixList(ctx, \u0026ec2.GetPrefixListArgs{\n\t\t\tFilters: []ec2.GetPrefixListFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"prefix-list-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"pl-68a54001\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPrefixListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getPrefixList(GetPrefixListArgs.builder()\n .filters(GetPrefixListFilterArgs.builder()\n .name(\"prefix-list-id\")\n .values(\"pl-68a54001\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getPrefixList\n Arguments:\n filters:\n - name: prefix-list-id\n values:\n - pl-68a54001\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPrefixList.\n", "properties": { @@ -396869,7 +396869,7 @@ } }, "aws:ec2/getPublicIpv4Pool:getPublicIpv4Pool": { - "description": "Provides details about a specific AWS EC2 Public IPv4 Pool.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getPublicIpv4Pool({\n poolId: \"ipv4pool-ec2-000df99cff0c1ec10\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_public_ipv4_pool(pool_id=\"ipv4pool-ec2-000df99cff0c1ec10\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetPublicIpv4Pool.Invoke(new()\n {\n PoolId = \"ipv4pool-ec2-000df99cff0c1ec10\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetPublicIpv4Pool(ctx, \u0026ec2.GetPublicIpv4PoolArgs{\n\t\t\tPoolId: \"ipv4pool-ec2-000df99cff0c1ec10\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPublicIpv4PoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getPublicIpv4Pool(GetPublicIpv4PoolArgs.builder()\n .poolId(\"ipv4pool-ec2-000df99cff0c1ec10\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getPublicIpv4Pool\n arguments:\n poolId: ipv4pool-ec2-000df99cff0c1ec10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific AWS EC2 Public IPv4 Pool.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getPublicIpv4Pool({\n poolId: \"ipv4pool-ec2-000df99cff0c1ec10\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_public_ipv4_pool(pool_id=\"ipv4pool-ec2-000df99cff0c1ec10\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetPublicIpv4Pool.Invoke(new()\n {\n PoolId = \"ipv4pool-ec2-000df99cff0c1ec10\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetPublicIpv4Pool(ctx, \u0026ec2.GetPublicIpv4PoolArgs{\n\t\t\tPoolId: \"ipv4pool-ec2-000df99cff0c1ec10\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPublicIpv4PoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getPublicIpv4Pool(GetPublicIpv4PoolArgs.builder()\n .poolId(\"ipv4pool-ec2-000df99cff0c1ec10\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getPublicIpv4Pool\n Arguments:\n poolId: ipv4pool-ec2-000df99cff0c1ec10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPublicIpv4Pool.\n", "properties": { @@ -396944,7 +396944,7 @@ } }, "aws:ec2/getPublicIpv4Pools:getPublicIpv4Pools": { - "description": "Data source for getting information about AWS EC2 Public IPv4 Pools.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Returns all public IPv4 pools.\nconst example = aws.ec2.getPublicIpv4Pools({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Returns all public IPv4 pools.\nexample = aws.ec2.get_public_ipv4_pools()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Returns all public IPv4 pools.\n var example = Aws.Ec2.GetPublicIpv4Pools.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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// Returns all public IPv4 pools.\n\t\t_, err := ec2.GetPublicIpv4Pools(ctx, \u0026ec2.GetPublicIpv4PoolsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPublicIpv4PoolsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Returns all public IPv4 pools.\n final var example = Ec2Functions.getPublicIpv4Pools();\n\n }\n}\n```\n```yaml\nvariables:\n # Returns all public IPv4 pools.\n example:\n fn::invoke:\n function: aws:ec2:getPublicIpv4Pools\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getPublicIpv4Pools({\n filters: [{\n name: \"tag-key\",\n values: [\"ExampleTagKey\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_public_ipv4_pools(filters=[{\n \"name\": \"tag-key\",\n \"values\": [\"ExampleTagKey\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetPublicIpv4Pools.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetPublicIpv4PoolsFilterInputArgs\n {\n Name = \"tag-key\",\n Values = new[]\n {\n \"ExampleTagKey\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetPublicIpv4Pools(ctx, \u0026ec2.GetPublicIpv4PoolsArgs{\n\t\t\tFilters: []ec2.GetPublicIpv4PoolsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag-key\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ExampleTagKey\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPublicIpv4PoolsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getPublicIpv4Pools(GetPublicIpv4PoolsArgs.builder()\n .filters(GetPublicIpv4PoolsFilterArgs.builder()\n .name(\"tag-key\")\n .values(\"ExampleTagKey\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getPublicIpv4Pools\n arguments:\n filters:\n - name: tag-key\n values:\n - ExampleTagKey\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for getting information about AWS EC2 Public IPv4 Pools.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Returns all public IPv4 pools.\nconst example = aws.ec2.getPublicIpv4Pools({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Returns all public IPv4 pools.\nexample = aws.ec2.get_public_ipv4_pools()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Returns all public IPv4 pools.\n var example = Aws.Ec2.GetPublicIpv4Pools.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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// Returns all public IPv4 pools.\n\t\t_, err := ec2.GetPublicIpv4Pools(ctx, \u0026ec2.GetPublicIpv4PoolsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPublicIpv4PoolsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Returns all public IPv4 pools.\n final var example = Ec2Functions.getPublicIpv4Pools();\n\n }\n}\n```\n```yaml\nvariables:\n # Returns all public IPv4 pools.\n example:\n fn::invoke:\n Function: aws:ec2:getPublicIpv4Pools\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getPublicIpv4Pools({\n filters: [{\n name: \"tag-key\",\n values: [\"ExampleTagKey\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_public_ipv4_pools(filters=[{\n \"name\": \"tag-key\",\n \"values\": [\"ExampleTagKey\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetPublicIpv4Pools.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetPublicIpv4PoolsFilterInputArgs\n {\n Name = \"tag-key\",\n Values = new[]\n {\n \"ExampleTagKey\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetPublicIpv4Pools(ctx, \u0026ec2.GetPublicIpv4PoolsArgs{\n\t\t\tFilters: []ec2.GetPublicIpv4PoolsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag-key\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ExampleTagKey\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPublicIpv4PoolsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getPublicIpv4Pools(GetPublicIpv4PoolsArgs.builder()\n .filters(GetPublicIpv4PoolsFilterArgs.builder()\n .name(\"tag-key\")\n .values(\"ExampleTagKey\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getPublicIpv4Pools\n Arguments:\n filters:\n - name: tag-key\n values:\n - ExampleTagKey\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPublicIpv4Pools.\n", "properties": { @@ -397001,7 +397001,7 @@ } }, "aws:ec2/getRoute:getRoute": { - "description": "`aws.ec2.Route` provides details about a specific Route.\n\nThis resource can prove useful when finding the resource associated with a CIDR. For example, finding the peering connection associated with a CIDR value.\n\n## Example Usage\n\nThe following example shows how one might use a CIDR value to find a network interface id and use this to create a data source of that network interface.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst subnetId = config.requireObject(\"subnetId\");\nconst selected = aws.ec2.getRouteTable({\n subnetId: subnetId,\n});\nconst route = aws.ec2.getRoute({\n routeTableId: selectedAwsRouteTable.id,\n destinationCidrBlock: \"10.0.1.0/24\",\n});\nconst interface = route.then(route =\u003e aws.ec2.getNetworkInterface({\n id: route.networkInterfaceId,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsubnet_id = config.require_object(\"subnetId\")\nselected = aws.ec2.get_route_table(subnet_id=subnet_id)\nroute = aws.ec2.get_route(route_table_id=selected_aws_route_table[\"id\"],\n destination_cidr_block=\"10.0.1.0/24\")\ninterface = aws.ec2.get_network_interface(id=route.network_interface_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n var selected = Aws.Ec2.GetRouteTable.Invoke(new()\n {\n SubnetId = subnetId,\n });\n\n var route = Aws.Ec2.GetRoute.Invoke(new()\n {\n RouteTableId = selectedAwsRouteTable.Id,\n DestinationCidrBlock = \"10.0.1.0/24\",\n });\n\n var @interface = Aws.Ec2.GetNetworkInterface.Invoke(new()\n {\n Id = route.Apply(getRouteResult =\u003e getRouteResult.NetworkInterfaceId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\t_, err := ec2.LookupRouteTable(ctx, \u0026ec2.LookupRouteTableArgs{\n\t\t\tSubnetId: pulumi.StringRef(subnetId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\troute, err := ec2.LookupRoute(ctx, \u0026ec2.LookupRouteArgs{\n\t\t\tRouteTableId: selectedAwsRouteTable.Id,\n\t\t\tDestinationCidrBlock: pulumi.StringRef(\"10.0.1.0/24\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.LookupNetworkInterface(ctx, \u0026ec2.LookupNetworkInterfaceArgs{\n\t\t\tId: pulumi.StringRef(route.NetworkInterfaceId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetRouteTableArgs;\nimport com.pulumi.aws.ec2.inputs.GetRouteArgs;\nimport com.pulumi.aws.ec2.inputs.GetNetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var subnetId = config.get(\"subnetId\");\n final var selected = Ec2Functions.getRouteTable(GetRouteTableArgs.builder()\n .subnetId(subnetId)\n .build());\n\n final var route = Ec2Functions.getRoute(GetRouteArgs.builder()\n .routeTableId(selectedAwsRouteTable.id())\n .destinationCidrBlock(\"10.0.1.0/24\")\n .build());\n\n final var interface = Ec2Functions.getNetworkInterface(GetNetworkInterfaceArgs.builder()\n .id(route.applyValue(getRouteResult -\u003e getRouteResult.networkInterfaceId()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n subnetId:\n type: dynamic\nvariables:\n selected:\n fn::invoke:\n function: aws:ec2:getRouteTable\n arguments:\n subnetId: ${subnetId}\n route:\n fn::invoke:\n function: aws:ec2:getRoute\n arguments:\n routeTableId: ${selectedAwsRouteTable.id}\n destinationCidrBlock: 10.0.1.0/24\n interface:\n fn::invoke:\n function: aws:ec2:getNetworkInterface\n arguments:\n id: ${route.networkInterfaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.Route` provides details about a specific Route.\n\nThis resource can prove useful when finding the resource associated with a CIDR. For example, finding the peering connection associated with a CIDR value.\n\n## Example Usage\n\nThe following example shows how one might use a CIDR value to find a network interface id and use this to create a data source of that network interface.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst subnetId = config.requireObject(\"subnetId\");\nconst selected = aws.ec2.getRouteTable({\n subnetId: subnetId,\n});\nconst route = aws.ec2.getRoute({\n routeTableId: selectedAwsRouteTable.id,\n destinationCidrBlock: \"10.0.1.0/24\",\n});\nconst interface = route.then(route =\u003e aws.ec2.getNetworkInterface({\n id: route.networkInterfaceId,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsubnet_id = config.require_object(\"subnetId\")\nselected = aws.ec2.get_route_table(subnet_id=subnet_id)\nroute = aws.ec2.get_route(route_table_id=selected_aws_route_table[\"id\"],\n destination_cidr_block=\"10.0.1.0/24\")\ninterface = aws.ec2.get_network_interface(id=route.network_interface_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n var selected = Aws.Ec2.GetRouteTable.Invoke(new()\n {\n SubnetId = subnetId,\n });\n\n var route = Aws.Ec2.GetRoute.Invoke(new()\n {\n RouteTableId = selectedAwsRouteTable.Id,\n DestinationCidrBlock = \"10.0.1.0/24\",\n });\n\n var @interface = Aws.Ec2.GetNetworkInterface.Invoke(new()\n {\n Id = route.Apply(getRouteResult =\u003e getRouteResult.NetworkInterfaceId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\t_, err := ec2.LookupRouteTable(ctx, \u0026ec2.LookupRouteTableArgs{\n\t\t\tSubnetId: pulumi.StringRef(subnetId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\troute, err := ec2.LookupRoute(ctx, \u0026ec2.LookupRouteArgs{\n\t\t\tRouteTableId: selectedAwsRouteTable.Id,\n\t\t\tDestinationCidrBlock: pulumi.StringRef(\"10.0.1.0/24\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.LookupNetworkInterface(ctx, \u0026ec2.LookupNetworkInterfaceArgs{\n\t\t\tId: pulumi.StringRef(route.NetworkInterfaceId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetRouteTableArgs;\nimport com.pulumi.aws.ec2.inputs.GetRouteArgs;\nimport com.pulumi.aws.ec2.inputs.GetNetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var subnetId = config.get(\"subnetId\");\n final var selected = Ec2Functions.getRouteTable(GetRouteTableArgs.builder()\n .subnetId(subnetId)\n .build());\n\n final var route = Ec2Functions.getRoute(GetRouteArgs.builder()\n .routeTableId(selectedAwsRouteTable.id())\n .destinationCidrBlock(\"10.0.1.0/24\")\n .build());\n\n final var interface = Ec2Functions.getNetworkInterface(GetNetworkInterfaceArgs.builder()\n .id(route.applyValue(getRouteResult -\u003e getRouteResult.networkInterfaceId()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n subnetId:\n type: dynamic\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getRouteTable\n Arguments:\n subnetId: ${subnetId}\n route:\n fn::invoke:\n Function: aws:ec2:getRoute\n Arguments:\n routeTableId: ${selectedAwsRouteTable.id}\n destinationCidrBlock: 10.0.1.0/24\n interface:\n fn::invoke:\n Function: aws:ec2:getNetworkInterface\n Arguments:\n id: ${route.networkInterfaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRoute.\n", "properties": { @@ -397138,7 +397138,7 @@ } }, "aws:ec2/getRouteTable:getRouteTable": { - "description": "`aws.ec2.RouteTable` provides details about a specific Route Table.\n\nThis resource can prove useful when a module accepts a Subnet ID as an input variable and needs to, for example, add a route in the Route Table.\n\n## Example Usage\n\nThe following example shows how one might accept a Route Table ID as a variable and use this data source to obtain the data necessary to create a route.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst subnetId = config.requireObject(\"subnetId\");\nconst selected = aws.ec2.getRouteTable({\n subnetId: subnetId,\n});\nconst route = new aws.ec2.Route(\"route\", {\n routeTableId: selected.then(selected =\u003e selected.id),\n destinationCidrBlock: \"10.0.1.0/22\",\n vpcPeeringConnectionId: \"pcx-45ff3dc1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsubnet_id = config.require_object(\"subnetId\")\nselected = aws.ec2.get_route_table(subnet_id=subnet_id)\nroute = aws.ec2.Route(\"route\",\n route_table_id=selected.id,\n destination_cidr_block=\"10.0.1.0/22\",\n vpc_peering_connection_id=\"pcx-45ff3dc1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n var selected = Aws.Ec2.GetRouteTable.Invoke(new()\n {\n SubnetId = subnetId,\n });\n\n var route = new Aws.Ec2.Route(\"route\", new()\n {\n RouteTableId = selected.Apply(getRouteTableResult =\u003e getRouteTableResult.Id),\n DestinationCidrBlock = \"10.0.1.0/22\",\n VpcPeeringConnectionId = \"pcx-45ff3dc1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tselected, err := ec2.LookupRouteTable(ctx, \u0026ec2.LookupRouteTableArgs{\n\t\t\tSubnetId: pulumi.StringRef(subnetId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewRoute(ctx, \"route\", \u0026ec2.RouteArgs{\n\t\t\tRouteTableId: pulumi.String(selected.Id),\n\t\t\tDestinationCidrBlock: pulumi.String(\"10.0.1.0/22\"),\n\t\t\tVpcPeeringConnectionId: pulumi.String(\"pcx-45ff3dc1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetRouteTableArgs;\nimport com.pulumi.aws.ec2.Route;\nimport com.pulumi.aws.ec2.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var subnetId = config.get(\"subnetId\");\n final var selected = Ec2Functions.getRouteTable(GetRouteTableArgs.builder()\n .subnetId(subnetId)\n .build());\n\n var route = new Route(\"route\", RouteArgs.builder()\n .routeTableId(selected.applyValue(getRouteTableResult -\u003e getRouteTableResult.id()))\n .destinationCidrBlock(\"10.0.1.0/22\")\n .vpcPeeringConnectionId(\"pcx-45ff3dc1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n subnetId:\n type: dynamic\nresources:\n route:\n type: aws:ec2:Route\n properties:\n routeTableId: ${selected.id}\n destinationCidrBlock: 10.0.1.0/22\n vpcPeeringConnectionId: pcx-45ff3dc1\nvariables:\n selected:\n fn::invoke:\n function: aws:ec2:getRouteTable\n arguments:\n subnetId: ${subnetId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.RouteTable` provides details about a specific Route Table.\n\nThis resource can prove useful when a module accepts a Subnet ID as an input variable and needs to, for example, add a route in the Route Table.\n\n## Example Usage\n\nThe following example shows how one might accept a Route Table ID as a variable and use this data source to obtain the data necessary to create a route.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst subnetId = config.requireObject(\"subnetId\");\nconst selected = aws.ec2.getRouteTable({\n subnetId: subnetId,\n});\nconst route = new aws.ec2.Route(\"route\", {\n routeTableId: selected.then(selected =\u003e selected.id),\n destinationCidrBlock: \"10.0.1.0/22\",\n vpcPeeringConnectionId: \"pcx-45ff3dc1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsubnet_id = config.require_object(\"subnetId\")\nselected = aws.ec2.get_route_table(subnet_id=subnet_id)\nroute = aws.ec2.Route(\"route\",\n route_table_id=selected.id,\n destination_cidr_block=\"10.0.1.0/22\",\n vpc_peering_connection_id=\"pcx-45ff3dc1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n var selected = Aws.Ec2.GetRouteTable.Invoke(new()\n {\n SubnetId = subnetId,\n });\n\n var route = new Aws.Ec2.Route(\"route\", new()\n {\n RouteTableId = selected.Apply(getRouteTableResult =\u003e getRouteTableResult.Id),\n DestinationCidrBlock = \"10.0.1.0/22\",\n VpcPeeringConnectionId = \"pcx-45ff3dc1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tselected, err := ec2.LookupRouteTable(ctx, \u0026ec2.LookupRouteTableArgs{\n\t\t\tSubnetId: pulumi.StringRef(subnetId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewRoute(ctx, \"route\", \u0026ec2.RouteArgs{\n\t\t\tRouteTableId: pulumi.String(selected.Id),\n\t\t\tDestinationCidrBlock: pulumi.String(\"10.0.1.0/22\"),\n\t\t\tVpcPeeringConnectionId: pulumi.String(\"pcx-45ff3dc1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetRouteTableArgs;\nimport com.pulumi.aws.ec2.Route;\nimport com.pulumi.aws.ec2.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var subnetId = config.get(\"subnetId\");\n final var selected = Ec2Functions.getRouteTable(GetRouteTableArgs.builder()\n .subnetId(subnetId)\n .build());\n\n var route = new Route(\"route\", RouteArgs.builder()\n .routeTableId(selected.applyValue(getRouteTableResult -\u003e getRouteTableResult.id()))\n .destinationCidrBlock(\"10.0.1.0/22\")\n .vpcPeeringConnectionId(\"pcx-45ff3dc1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n subnetId:\n type: dynamic\nresources:\n route:\n type: aws:ec2:Route\n properties:\n routeTableId: ${selected.id}\n destinationCidrBlock: 10.0.1.0/22\n vpcPeeringConnectionId: pcx-45ff3dc1\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getRouteTable\n Arguments:\n subnetId: ${subnetId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRouteTable.\n", "properties": { @@ -397312,7 +397312,7 @@ } }, "aws:ec2/getSecurityGroup:getSecurityGroup": { - "description": "`aws.ec2.SecurityGroup` provides details about a specific Security Group.\n\nThis resource can prove useful when a module accepts a Security Group id as\nan input variable and needs to, for example, determine the id of the\nVPC that the security group belongs to.\n\n## Example Usage\n\nThe following example shows how one might accept a Security Group id as a variable\nand use this data source to obtain the data necessary to create a subnet.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst securityGroupId = config.requireObject(\"securityGroupId\");\nconst selected = aws.ec2.getSecurityGroup({\n id: securityGroupId,\n});\nconst subnet = new aws.ec2.Subnet(\"subnet\", {\n vpcId: selected.then(selected =\u003e selected.vpcId),\n cidrBlock: \"10.0.1.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsecurity_group_id = config.require_object(\"securityGroupId\")\nselected = aws.ec2.get_security_group(id=security_group_id)\nsubnet = aws.ec2.Subnet(\"subnet\",\n vpc_id=selected.vpc_id,\n cidr_block=\"10.0.1.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var securityGroupId = config.RequireObject\u003cdynamic\u003e(\"securityGroupId\");\n var selected = Aws.Ec2.GetSecurityGroup.Invoke(new()\n {\n Id = securityGroupId,\n });\n\n var subnet = new Aws.Ec2.Subnet(\"subnet\", new()\n {\n VpcId = selected.Apply(getSecurityGroupResult =\u003e getSecurityGroupResult.VpcId),\n CidrBlock = \"10.0.1.0/24\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsecurityGroupId := cfg.RequireObject(\"securityGroupId\")\n\t\tselected, err := ec2.LookupSecurityGroup(ctx, \u0026ec2.LookupSecurityGroupArgs{\n\t\t\tId: pulumi.StringRef(securityGroupId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSubnet(ctx, \"subnet\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: pulumi.String(selected.VpcId),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSecurityGroupArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var securityGroupId = config.get(\"securityGroupId\");\n final var selected = Ec2Functions.getSecurityGroup(GetSecurityGroupArgs.builder()\n .id(securityGroupId)\n .build());\n\n var subnet = new Subnet(\"subnet\", SubnetArgs.builder()\n .vpcId(selected.applyValue(getSecurityGroupResult -\u003e getSecurityGroupResult.vpcId()))\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n securityGroupId:\n type: dynamic\nresources:\n subnet:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${selected.vpcId}\n cidrBlock: 10.0.1.0/24\nvariables:\n selected:\n fn::invoke:\n function: aws:ec2:getSecurityGroup\n arguments:\n id: ${securityGroupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.SecurityGroup` provides details about a specific Security Group.\n\nThis resource can prove useful when a module accepts a Security Group id as\nan input variable and needs to, for example, determine the id of the\nVPC that the security group belongs to.\n\n## Example Usage\n\nThe following example shows how one might accept a Security Group id as a variable\nand use this data source to obtain the data necessary to create a subnet.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst securityGroupId = config.requireObject(\"securityGroupId\");\nconst selected = aws.ec2.getSecurityGroup({\n id: securityGroupId,\n});\nconst subnet = new aws.ec2.Subnet(\"subnet\", {\n vpcId: selected.then(selected =\u003e selected.vpcId),\n cidrBlock: \"10.0.1.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsecurity_group_id = config.require_object(\"securityGroupId\")\nselected = aws.ec2.get_security_group(id=security_group_id)\nsubnet = aws.ec2.Subnet(\"subnet\",\n vpc_id=selected.vpc_id,\n cidr_block=\"10.0.1.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var securityGroupId = config.RequireObject\u003cdynamic\u003e(\"securityGroupId\");\n var selected = Aws.Ec2.GetSecurityGroup.Invoke(new()\n {\n Id = securityGroupId,\n });\n\n var subnet = new Aws.Ec2.Subnet(\"subnet\", new()\n {\n VpcId = selected.Apply(getSecurityGroupResult =\u003e getSecurityGroupResult.VpcId),\n CidrBlock = \"10.0.1.0/24\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsecurityGroupId := cfg.RequireObject(\"securityGroupId\")\n\t\tselected, err := ec2.LookupSecurityGroup(ctx, \u0026ec2.LookupSecurityGroupArgs{\n\t\t\tId: pulumi.StringRef(securityGroupId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSubnet(ctx, \"subnet\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: pulumi.String(selected.VpcId),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSecurityGroupArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var securityGroupId = config.get(\"securityGroupId\");\n final var selected = Ec2Functions.getSecurityGroup(GetSecurityGroupArgs.builder()\n .id(securityGroupId)\n .build());\n\n var subnet = new Subnet(\"subnet\", SubnetArgs.builder()\n .vpcId(selected.applyValue(getSecurityGroupResult -\u003e getSecurityGroupResult.vpcId()))\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n securityGroupId:\n type: dynamic\nresources:\n subnet:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${selected.vpcId}\n cidrBlock: 10.0.1.0/24\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getSecurityGroup\n Arguments:\n id: ${securityGroupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSecurityGroup.\n", "properties": { @@ -397390,7 +397390,7 @@ } }, "aws:ec2/getSecurityGroups:getSecurityGroups": { - "description": "Use this data source to get IDs and VPC membership of Security Groups that are created outside this provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getSecurityGroups({\n tags: {\n Application: \"k8s\",\n Environment: \"dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_security_groups(tags={\n \"Application\": \"k8s\",\n \"Environment\": \"dev\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetSecurityGroups.Invoke(new()\n {\n Tags = \n {\n { \"Application\", \"k8s\" },\n { \"Environment\", \"dev\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetSecurityGroups(ctx, \u0026ec2.GetSecurityGroupsArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Application\": \"k8s\",\n\t\t\t\t\"Environment\": \"dev\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSecurityGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getSecurityGroups(GetSecurityGroupsArgs.builder()\n .tags(Map.ofEntries(\n Map.entry(\"Application\", \"k8s\"),\n Map.entry(\"Environment\", \"dev\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:ec2:getSecurityGroups\n arguments:\n tags:\n Application: k8s\n Environment: dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getSecurityGroups({\n filters: [\n {\n name: \"group-name\",\n values: [\"*nodes*\"],\n },\n {\n name: \"vpc-id\",\n values: [vpcId],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_security_groups(filters=[\n {\n \"name\": \"group-name\",\n \"values\": [\"*nodes*\"],\n },\n {\n \"name\": \"vpc-id\",\n \"values\": [vpc_id],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetSecurityGroups.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSecurityGroupsFilterInputArgs\n {\n Name = \"group-name\",\n Values = new[]\n {\n \"*nodes*\",\n },\n },\n new Aws.Ec2.Inputs.GetSecurityGroupsFilterInputArgs\n {\n Name = \"vpc-id\",\n Values = new[]\n {\n vpcId,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := ec2.GetSecurityGroups(ctx, \u0026ec2.GetSecurityGroupsArgs{\nFilters: []ec2.GetSecurityGroupsFilter{\n{\nName: \"group-name\",\nValues: []string{\n\"*nodes*\",\n},\n},\n{\nName: \"vpc-id\",\nValues: interface{}{\nvpcId,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSecurityGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getSecurityGroups(GetSecurityGroupsArgs.builder()\n .filters( \n GetSecurityGroupsFilterArgs.builder()\n .name(\"group-name\")\n .values(\"*nodes*\")\n .build(),\n GetSecurityGroupsFilterArgs.builder()\n .name(\"vpc-id\")\n .values(vpcId)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:ec2:getSecurityGroups\n arguments:\n filters:\n - name: group-name\n values:\n - '*nodes*'\n - name: vpc-id\n values:\n - ${vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get IDs and VPC membership of Security Groups that are created outside this provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getSecurityGroups({\n tags: {\n Application: \"k8s\",\n Environment: \"dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_security_groups(tags={\n \"Application\": \"k8s\",\n \"Environment\": \"dev\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetSecurityGroups.Invoke(new()\n {\n Tags = \n {\n { \"Application\", \"k8s\" },\n { \"Environment\", \"dev\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetSecurityGroups(ctx, \u0026ec2.GetSecurityGroupsArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Application\": \"k8s\",\n\t\t\t\t\"Environment\": \"dev\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSecurityGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getSecurityGroups(GetSecurityGroupsArgs.builder()\n .tags(Map.ofEntries(\n Map.entry(\"Application\", \"k8s\"),\n Map.entry(\"Environment\", \"dev\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getSecurityGroups\n Arguments:\n tags:\n Application: k8s\n Environment: dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getSecurityGroups({\n filters: [\n {\n name: \"group-name\",\n values: [\"*nodes*\"],\n },\n {\n name: \"vpc-id\",\n values: [vpcId],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_security_groups(filters=[\n {\n \"name\": \"group-name\",\n \"values\": [\"*nodes*\"],\n },\n {\n \"name\": \"vpc-id\",\n \"values\": [vpc_id],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetSecurityGroups.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSecurityGroupsFilterInputArgs\n {\n Name = \"group-name\",\n Values = new[]\n {\n \"*nodes*\",\n },\n },\n new Aws.Ec2.Inputs.GetSecurityGroupsFilterInputArgs\n {\n Name = \"vpc-id\",\n Values = new[]\n {\n vpcId,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := ec2.GetSecurityGroups(ctx, \u0026ec2.GetSecurityGroupsArgs{\nFilters: []ec2.GetSecurityGroupsFilter{\n{\nName: \"group-name\",\nValues: []string{\n\"*nodes*\",\n},\n},\n{\nName: \"vpc-id\",\nValues: interface{}{\nvpcId,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSecurityGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getSecurityGroups(GetSecurityGroupsArgs.builder()\n .filters( \n GetSecurityGroupsFilterArgs.builder()\n .name(\"group-name\")\n .values(\"*nodes*\")\n .build(),\n GetSecurityGroupsFilterArgs.builder()\n .name(\"vpc-id\")\n .values(vpcId)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getSecurityGroups\n Arguments:\n filters:\n - name: group-name\n values:\n - '*nodes*'\n - name: vpc-id\n values:\n - ${vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSecurityGroups.\n", "properties": { @@ -397463,7 +397463,7 @@ } }, "aws:ec2/getSerialConsoleAccess:getSerialConsoleAccess": { - "description": "Provides a way to check whether serial console access is enabled for your AWS account in the current AWS region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.ec2.getSerialConsoleAccess({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.ec2.get_serial_console_access()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.Ec2.GetSerialConsoleAccess.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupSerialConsoleAccess(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = Ec2Functions.getSerialConsoleAccess();\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:ec2:getSerialConsoleAccess\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a way to check whether serial console access is enabled for your AWS account in the current AWS region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.ec2.getSerialConsoleAccess({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.ec2.get_serial_console_access()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.Ec2.GetSerialConsoleAccess.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupSerialConsoleAccess(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = Ec2Functions.getSerialConsoleAccess();\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:ec2:getSerialConsoleAccess\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getSerialConsoleAccess.\n", "properties": { @@ -397484,7 +397484,7 @@ } }, "aws:ec2/getSpotDatafeedSubscription:getSpotDatafeedSubscription": { - "description": "\u003e There is only a single spot data feed subscription per account.\n\nData source for accessing an AWS EC2 (Elastic Compute Cloud) spot data feed subscription.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst default = aws.ec2.getSpotDatafeedSubscription({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.get_spot_datafeed_subscription()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Ec2.GetSpotDatafeedSubscription.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupSpotDatafeedSubscription(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = Ec2Functions.getSpotDatafeedSubscription();\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n function: aws:ec2:getSpotDatafeedSubscription\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e There is only a single spot data feed subscription per account.\n\nData source for accessing an AWS EC2 (Elastic Compute Cloud) spot data feed subscription.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst default = aws.ec2.getSpotDatafeedSubscription({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.get_spot_datafeed_subscription()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Ec2.GetSpotDatafeedSubscription.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupSpotDatafeedSubscription(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = Ec2Functions.getSpotDatafeedSubscription();\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: aws:ec2:getSpotDatafeedSubscription\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getSpotDatafeedSubscription.\n", "properties": { @@ -397510,7 +397510,7 @@ } }, "aws:ec2/getSpotPrice:getSpotPrice": { - "description": "Information about most recent Spot Price for a given EC2 instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getSpotPrice({\n instanceType: \"t3.medium\",\n availabilityZone: \"us-west-2a\",\n filters: [{\n name: \"product-description\",\n values: [\"Linux/UNIX\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_spot_price(instance_type=\"t3.medium\",\n availability_zone=\"us-west-2a\",\n filters=[{\n \"name\": \"product-description\",\n \"values\": [\"Linux/UNIX\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetSpotPrice.Invoke(new()\n {\n InstanceType = \"t3.medium\",\n AvailabilityZone = \"us-west-2a\",\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSpotPriceFilterInputArgs\n {\n Name = \"product-description\",\n Values = new[]\n {\n \"Linux/UNIX\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetSpotPrice(ctx, \u0026ec2.GetSpotPriceArgs{\n\t\t\tInstanceType: pulumi.StringRef(\"t3.medium\"),\n\t\t\tAvailabilityZone: pulumi.StringRef(\"us-west-2a\"),\n\t\t\tFilters: []ec2.GetSpotPriceFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"product-description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Linux/UNIX\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSpotPriceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getSpotPrice(GetSpotPriceArgs.builder()\n .instanceType(\"t3.medium\")\n .availabilityZone(\"us-west-2a\")\n .filters(GetSpotPriceFilterArgs.builder()\n .name(\"product-description\")\n .values(\"Linux/UNIX\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getSpotPrice\n arguments:\n instanceType: t3.medium\n availabilityZone: us-west-2a\n filters:\n - name: product-description\n values:\n - Linux/UNIX\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about most recent Spot Price for a given EC2 instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getSpotPrice({\n instanceType: \"t3.medium\",\n availabilityZone: \"us-west-2a\",\n filters: [{\n name: \"product-description\",\n values: [\"Linux/UNIX\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_spot_price(instance_type=\"t3.medium\",\n availability_zone=\"us-west-2a\",\n filters=[{\n \"name\": \"product-description\",\n \"values\": [\"Linux/UNIX\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetSpotPrice.Invoke(new()\n {\n InstanceType = \"t3.medium\",\n AvailabilityZone = \"us-west-2a\",\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSpotPriceFilterInputArgs\n {\n Name = \"product-description\",\n Values = new[]\n {\n \"Linux/UNIX\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetSpotPrice(ctx, \u0026ec2.GetSpotPriceArgs{\n\t\t\tInstanceType: pulumi.StringRef(\"t3.medium\"),\n\t\t\tAvailabilityZone: pulumi.StringRef(\"us-west-2a\"),\n\t\t\tFilters: []ec2.GetSpotPriceFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"product-description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Linux/UNIX\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSpotPriceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getSpotPrice(GetSpotPriceArgs.builder()\n .instanceType(\"t3.medium\")\n .availabilityZone(\"us-west-2a\")\n .filters(GetSpotPriceFilterArgs.builder()\n .name(\"product-description\")\n .values(\"Linux/UNIX\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getSpotPrice\n Arguments:\n instanceType: t3.medium\n availabilityZone: us-west-2a\n filters:\n - name: product-description\n values:\n - Linux/UNIX\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSpotPrice.\n", "properties": { @@ -397569,7 +397569,7 @@ } }, "aws:ec2/getSubnet:getSubnet": { - "description": "`aws.ec2.Subnet` provides details about a specific VPC subnet.\n\nThis resource can prove useful when a module accepts a subnet ID as an input variable and needs to, for example, determine the ID of the VPC that the subnet belongs to.\n\n## Example Usage\n\nThe following example shows how one might accept a subnet ID as a variable and use this data source to obtain the data necessary to create a security group that allows connections from hosts in that subnet.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst subnetId = config.requireObject(\"subnetId\");\nconst selected = aws.ec2.getSubnet({\n id: subnetId,\n});\nconst subnetSecurityGroup = new aws.ec2.SecurityGroup(\"subnet_security_group\", {\n vpcId: selected.then(selected =\u003e selected.vpcId),\n ingress: [{\n cidrBlocks: [selected.then(selected =\u003e selected.cidrBlock)],\n fromPort: 80,\n toPort: 80,\n protocol: \"tcp\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsubnet_id = config.require_object(\"subnetId\")\nselected = aws.ec2.get_subnet(id=subnet_id)\nsubnet_security_group = aws.ec2.SecurityGroup(\"subnet_security_group\",\n vpc_id=selected.vpc_id,\n ingress=[{\n \"cidr_blocks\": [selected.cidr_block],\n \"from_port\": 80,\n \"to_port\": 80,\n \"protocol\": \"tcp\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n var selected = Aws.Ec2.GetSubnet.Invoke(new()\n {\n Id = subnetId,\n });\n\n var subnetSecurityGroup = new Aws.Ec2.SecurityGroup(\"subnet_security_group\", new()\n {\n VpcId = selected.Apply(getSubnetResult =\u003e getSubnetResult.VpcId),\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n {\n CidrBlocks = new[]\n {\n selected.Apply(getSubnetResult =\u003e getSubnetResult.CidrBlock),\n },\n FromPort = 80,\n ToPort = 80,\n Protocol = \"tcp\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tselected, err := ec2.LookupSubnet(ctx, \u0026ec2.LookupSubnetArgs{\n\t\t\tId: pulumi.StringRef(subnetId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroup(ctx, \"subnet_security_group\", \u0026ec2.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(selected.VpcId),\n\t\t\tIngress: ec2.SecurityGroupIngressArray{\n\t\t\t\t\u0026ec2.SecurityGroupIngressArgs{\n\t\t\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(selected.CidrBlock),\n\t\t\t\t\t},\n\t\t\t\t\tFromPort: pulumi.Int(80),\n\t\t\t\t\tToPort: pulumi.Int(80),\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSubnetArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var subnetId = config.get(\"subnetId\");\n final var selected = Ec2Functions.getSubnet(GetSubnetArgs.builder()\n .id(subnetId)\n .build());\n\n var subnetSecurityGroup = new SecurityGroup(\"subnetSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(selected.applyValue(getSubnetResult -\u003e getSubnetResult.vpcId()))\n .ingress(SecurityGroupIngressArgs.builder()\n .cidrBlocks(selected.applyValue(getSubnetResult -\u003e getSubnetResult.cidrBlock()))\n .fromPort(80)\n .toPort(80)\n .protocol(\"tcp\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n subnetId:\n type: dynamic\nresources:\n subnetSecurityGroup:\n type: aws:ec2:SecurityGroup\n name: subnet_security_group\n properties:\n vpcId: ${selected.vpcId}\n ingress:\n - cidrBlocks:\n - ${selected.cidrBlock}\n fromPort: 80\n toPort: 80\n protocol: tcp\nvariables:\n selected:\n fn::invoke:\n function: aws:ec2:getSubnet\n arguments:\n id: ${subnetId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter Example\n\nIf you want to match against tag `Name`, use:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.ec2.getSubnet({\n filters: [{\n name: \"tag:Name\",\n values: [\"yakdriver\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.ec2.get_subnet(filters=[{\n \"name\": \"tag:Name\",\n \"values\": [\"yakdriver\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.Ec2.GetSubnet.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSubnetFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"yakdriver\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupSubnet(ctx, \u0026ec2.LookupSubnetArgs{\n\t\t\tFilters: []ec2.GetSubnetFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"yakdriver\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = Ec2Functions.getSubnet(GetSubnetArgs.builder()\n .filters(GetSubnetFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"yakdriver\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n selected:\n fn::invoke:\n function: aws:ec2:getSubnet\n arguments:\n filters:\n - name: tag:Name\n values:\n - yakdriver\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.Subnet` provides details about a specific VPC subnet.\n\nThis resource can prove useful when a module accepts a subnet ID as an input variable and needs to, for example, determine the ID of the VPC that the subnet belongs to.\n\n## Example Usage\n\nThe following example shows how one might accept a subnet ID as a variable and use this data source to obtain the data necessary to create a security group that allows connections from hosts in that subnet.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst subnetId = config.requireObject(\"subnetId\");\nconst selected = aws.ec2.getSubnet({\n id: subnetId,\n});\nconst subnetSecurityGroup = new aws.ec2.SecurityGroup(\"subnet_security_group\", {\n vpcId: selected.then(selected =\u003e selected.vpcId),\n ingress: [{\n cidrBlocks: [selected.then(selected =\u003e selected.cidrBlock)],\n fromPort: 80,\n toPort: 80,\n protocol: \"tcp\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsubnet_id = config.require_object(\"subnetId\")\nselected = aws.ec2.get_subnet(id=subnet_id)\nsubnet_security_group = aws.ec2.SecurityGroup(\"subnet_security_group\",\n vpc_id=selected.vpc_id,\n ingress=[{\n \"cidr_blocks\": [selected.cidr_block],\n \"from_port\": 80,\n \"to_port\": 80,\n \"protocol\": \"tcp\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n var selected = Aws.Ec2.GetSubnet.Invoke(new()\n {\n Id = subnetId,\n });\n\n var subnetSecurityGroup = new Aws.Ec2.SecurityGroup(\"subnet_security_group\", new()\n {\n VpcId = selected.Apply(getSubnetResult =\u003e getSubnetResult.VpcId),\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n {\n CidrBlocks = new[]\n {\n selected.Apply(getSubnetResult =\u003e getSubnetResult.CidrBlock),\n },\n FromPort = 80,\n ToPort = 80,\n Protocol = \"tcp\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tselected, err := ec2.LookupSubnet(ctx, \u0026ec2.LookupSubnetArgs{\n\t\t\tId: pulumi.StringRef(subnetId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroup(ctx, \"subnet_security_group\", \u0026ec2.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(selected.VpcId),\n\t\t\tIngress: ec2.SecurityGroupIngressArray{\n\t\t\t\t\u0026ec2.SecurityGroupIngressArgs{\n\t\t\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(selected.CidrBlock),\n\t\t\t\t\t},\n\t\t\t\t\tFromPort: pulumi.Int(80),\n\t\t\t\t\tToPort: pulumi.Int(80),\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSubnetArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var subnetId = config.get(\"subnetId\");\n final var selected = Ec2Functions.getSubnet(GetSubnetArgs.builder()\n .id(subnetId)\n .build());\n\n var subnetSecurityGroup = new SecurityGroup(\"subnetSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(selected.applyValue(getSubnetResult -\u003e getSubnetResult.vpcId()))\n .ingress(SecurityGroupIngressArgs.builder()\n .cidrBlocks(selected.applyValue(getSubnetResult -\u003e getSubnetResult.cidrBlock()))\n .fromPort(80)\n .toPort(80)\n .protocol(\"tcp\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n subnetId:\n type: dynamic\nresources:\n subnetSecurityGroup:\n type: aws:ec2:SecurityGroup\n name: subnet_security_group\n properties:\n vpcId: ${selected.vpcId}\n ingress:\n - cidrBlocks:\n - ${selected.cidrBlock}\n fromPort: 80\n toPort: 80\n protocol: tcp\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getSubnet\n Arguments:\n id: ${subnetId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter Example\n\nIf you want to match against tag `Name`, use:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.ec2.getSubnet({\n filters: [{\n name: \"tag:Name\",\n values: [\"yakdriver\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.ec2.get_subnet(filters=[{\n \"name\": \"tag:Name\",\n \"values\": [\"yakdriver\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.Ec2.GetSubnet.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSubnetFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"yakdriver\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupSubnet(ctx, \u0026ec2.LookupSubnetArgs{\n\t\t\tFilters: []ec2.GetSubnetFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"yakdriver\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = Ec2Functions.getSubnet(GetSubnetArgs.builder()\n .filters(GetSubnetFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"yakdriver\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getSubnet\n Arguments:\n filters:\n - name: tag:Name\n values:\n - yakdriver\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSubnet.\n", "properties": { @@ -397809,7 +397809,7 @@ } }, "aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables": { - "description": "Provides information for multiple EC2 Transit Gateway Route Tables, such as their identifiers.\n\n## Example Usage\n\nThe following shows outputting all Transit Gateway Route Table Ids.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = await aws.ec2.getTransitGatewayRouteTables({});\n return {\n example: example.ids,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_transit_gateway_route_tables()\npulumi.export(\"example\", example.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetTransitGatewayRouteTables.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = example.Apply(getTransitGatewayRouteTablesResult =\u003e getTransitGatewayRouteTablesResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.GetTransitGatewayRouteTables(ctx, \u0026ec2.GetTransitGatewayRouteTablesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", example.Ids)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetTransitGatewayRouteTablesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getTransitGatewayRouteTables();\n\n ctx.export(\"example\", example.applyValue(getTransitGatewayRouteTablesResult -\u003e getTransitGatewayRouteTablesResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getTransitGatewayRouteTables\n arguments: {}\noutputs:\n example: ${example.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information for multiple EC2 Transit Gateway Route Tables, such as their identifiers.\n\n## Example Usage\n\nThe following shows outputting all Transit Gateway Route Table Ids.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = await aws.ec2.getTransitGatewayRouteTables({});\n return {\n example: example.ids,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_transit_gateway_route_tables()\npulumi.export(\"example\", example.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetTransitGatewayRouteTables.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = example.Apply(getTransitGatewayRouteTablesResult =\u003e getTransitGatewayRouteTablesResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.GetTransitGatewayRouteTables(ctx, \u0026ec2.GetTransitGatewayRouteTablesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", example.Ids)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetTransitGatewayRouteTablesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getTransitGatewayRouteTables();\n\n ctx.export(\"example\", example.applyValue(getTransitGatewayRouteTablesResult -\u003e getTransitGatewayRouteTablesResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getTransitGatewayRouteTables\n Arguments: {}\noutputs:\n example: ${example.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTransitGatewayRouteTables.\n", "properties": { @@ -397866,7 +397866,7 @@ } }, "aws:ec2/getVpc:getVpc": { - "description": "`aws.ec2.Vpc` provides details about a specific VPC.\n\nThis resource can prove useful when a module accepts a vpc id as\nan input variable and needs to, for example, determine the CIDR block of that\nVPC.\n\n## Example Usage\n\nThe following example shows how one might accept a VPC id as a variable\nand use this data source to obtain the data necessary to create a subnet\nwithin it.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject(\"vpcId\");\nconst selected = aws.ec2.getVpc({\n id: vpcId,\n});\nconst example = new aws.ec2.Subnet(\"example\", {\n vpcId: selected.then(selected =\u003e selected.id),\n availabilityZone: \"us-west-2a\",\n cidrBlock: selected.then(selected =\u003e std.cidrsubnet({\n input: selected.cidrBlock,\n newbits: 4,\n netnum: 1,\n })).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\nselected = aws.ec2.get_vpc(id=vpc_id)\nexample = aws.ec2.Subnet(\"example\",\n vpc_id=selected.id,\n availability_zone=\"us-west-2a\",\n cidr_block=std.cidrsubnet(input=selected.cidr_block,\n newbits=4,\n netnum=1).result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n var selected = Aws.Ec2.GetVpc.Invoke(new()\n {\n Id = vpcId,\n });\n\n var example = new Aws.Ec2.Subnet(\"example\", new()\n {\n VpcId = selected.Apply(getVpcResult =\u003e getVpcResult.Id),\n AvailabilityZone = \"us-west-2a\",\n CidrBlock = Std.Cidrsubnet.Invoke(new()\n {\n Input = selected.Apply(getVpcResult =\u003e getVpcResult.CidrBlock),\n Newbits = 4,\n Netnum = 1,\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tselected, err := ec2.LookupVpc(ctx, \u0026ec2.LookupVpcArgs{\n\t\t\tId: pulumi.StringRef(vpcId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: selected.CidrBlock,\n\t\t\tNewbits: 4,\n\t\t\tNetnum: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: pulumi.String(selected.Id),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tCidrBlock: pulumi.String(invokeCidrsubnet.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var vpcId = config.get(\"vpcId\");\n final var selected = Ec2Functions.getVpc(GetVpcArgs.builder()\n .id(vpcId)\n .build());\n\n var example = new Subnet(\"example\", SubnetArgs.builder()\n .vpcId(selected.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .availabilityZone(\"us-west-2a\")\n .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(selected.applyValue(getVpcResult -\u003e getVpcResult.cidrBlock()))\n .newbits(4)\n .netnum(1)\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n vpcId:\n type: dynamic\nresources:\n example:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${selected.id}\n availabilityZone: us-west-2a\n cidrBlock:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${selected.cidrBlock}\n newbits: 4\n netnum: 1\n return: result\nvariables:\n selected:\n fn::invoke:\n function: aws:ec2:getVpc\n arguments:\n id: ${vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.Vpc` provides details about a specific VPC.\n\nThis resource can prove useful when a module accepts a vpc id as\nan input variable and needs to, for example, determine the CIDR block of that\nVPC.\n\n## Example Usage\n\nThe following example shows how one might accept a VPC id as a variable\nand use this data source to obtain the data necessary to create a subnet\nwithin it.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject(\"vpcId\");\nconst selected = aws.ec2.getVpc({\n id: vpcId,\n});\nconst example = new aws.ec2.Subnet(\"example\", {\n vpcId: selected.then(selected =\u003e selected.id),\n availabilityZone: \"us-west-2a\",\n cidrBlock: selected.then(selected =\u003e std.cidrsubnet({\n input: selected.cidrBlock,\n newbits: 4,\n netnum: 1,\n })).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\nselected = aws.ec2.get_vpc(id=vpc_id)\nexample = aws.ec2.Subnet(\"example\",\n vpc_id=selected.id,\n availability_zone=\"us-west-2a\",\n cidr_block=std.cidrsubnet(input=selected.cidr_block,\n newbits=4,\n netnum=1).result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n var selected = Aws.Ec2.GetVpc.Invoke(new()\n {\n Id = vpcId,\n });\n\n var example = new Aws.Ec2.Subnet(\"example\", new()\n {\n VpcId = selected.Apply(getVpcResult =\u003e getVpcResult.Id),\n AvailabilityZone = \"us-west-2a\",\n CidrBlock = Std.Cidrsubnet.Invoke(new()\n {\n Input = selected.Apply(getVpcResult =\u003e getVpcResult.CidrBlock),\n Newbits = 4,\n Netnum = 1,\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tselected, err := ec2.LookupVpc(ctx, \u0026ec2.LookupVpcArgs{\n\t\t\tId: pulumi.StringRef(vpcId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: selected.CidrBlock,\n\t\t\tNewbits: 4,\n\t\t\tNetnum: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: pulumi.String(selected.Id),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tCidrBlock: pulumi.String(invokeCidrsubnet.Result),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var vpcId = config.get(\"vpcId\");\n final var selected = Ec2Functions.getVpc(GetVpcArgs.builder()\n .id(vpcId)\n .build());\n\n var example = new Subnet(\"example\", SubnetArgs.builder()\n .vpcId(selected.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .availabilityZone(\"us-west-2a\")\n .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(selected.applyValue(getVpcResult -\u003e getVpcResult.cidrBlock()))\n .newbits(4)\n .netnum(1)\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n vpcId:\n type: dynamic\nresources:\n example:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${selected.id}\n availabilityZone: us-west-2a\n cidrBlock:\n fn::invoke:\n Function: std:cidrsubnet\n Arguments:\n input: ${selected.cidrBlock}\n newbits: 4\n netnum: 1\n Return: result\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getVpc\n Arguments:\n id: ${vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpc.\n", "properties": { @@ -398004,7 +398004,7 @@ } }, "aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions": { - "description": "Retrieve information about an EC2 DHCP Options configuration.\n\n## Example Usage\n\n### Lookup by DHCP Options ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getVpcDhcpOptions({\n dhcpOptionsId: \"dopts-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_vpc_dhcp_options(dhcp_options_id=\"dopts-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetVpcDhcpOptions.Invoke(new()\n {\n DhcpOptionsId = \"dopts-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupVpcDhcpOptions(ctx, \u0026ec2.LookupVpcDhcpOptionsArgs{\n\t\t\tDhcpOptionsId: pulumi.StringRef(\"dopts-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcDhcpOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getVpcDhcpOptions(GetVpcDhcpOptionsArgs.builder()\n .dhcpOptionsId(\"dopts-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getVpcDhcpOptions\n arguments:\n dhcpOptionsId: dopts-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lookup by Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getVpcDhcpOptions({\n filters: [\n {\n name: \"key\",\n values: [\"domain-name\"],\n },\n {\n name: \"value\",\n values: [\"example.com\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_vpc_dhcp_options(filters=[\n {\n \"name\": \"key\",\n \"values\": [\"domain-name\"],\n },\n {\n \"name\": \"value\",\n \"values\": [\"example.com\"],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetVpcDhcpOptions.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcDhcpOptionsFilterInputArgs\n {\n Name = \"key\",\n Values = new[]\n {\n \"domain-name\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcDhcpOptionsFilterInputArgs\n {\n Name = \"value\",\n Values = new[]\n {\n \"example.com\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupVpcDhcpOptions(ctx, \u0026ec2.LookupVpcDhcpOptionsArgs{\n\t\t\tFilters: []ec2.GetVpcDhcpOptionsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"key\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"domain-name\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"value\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"example.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcDhcpOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getVpcDhcpOptions(GetVpcDhcpOptionsArgs.builder()\n .filters( \n GetVpcDhcpOptionsFilterArgs.builder()\n .name(\"key\")\n .values(\"domain-name\")\n .build(),\n GetVpcDhcpOptionsFilterArgs.builder()\n .name(\"value\")\n .values(\"example.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2:getVpcDhcpOptions\n arguments:\n filters:\n - name: key\n values:\n - domain-name\n - name: value\n values:\n - example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about an EC2 DHCP Options configuration.\n\n## Example Usage\n\n### Lookup by DHCP Options ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getVpcDhcpOptions({\n dhcpOptionsId: \"dopts-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_vpc_dhcp_options(dhcp_options_id=\"dopts-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetVpcDhcpOptions.Invoke(new()\n {\n DhcpOptionsId = \"dopts-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupVpcDhcpOptions(ctx, \u0026ec2.LookupVpcDhcpOptionsArgs{\n\t\t\tDhcpOptionsId: pulumi.StringRef(\"dopts-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcDhcpOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getVpcDhcpOptions(GetVpcDhcpOptionsArgs.builder()\n .dhcpOptionsId(\"dopts-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getVpcDhcpOptions\n Arguments:\n dhcpOptionsId: dopts-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lookup by Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getVpcDhcpOptions({\n filters: [\n {\n name: \"key\",\n values: [\"domain-name\"],\n },\n {\n name: \"value\",\n values: [\"example.com\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_vpc_dhcp_options(filters=[\n {\n \"name\": \"key\",\n \"values\": [\"domain-name\"],\n },\n {\n \"name\": \"value\",\n \"values\": [\"example.com\"],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetVpcDhcpOptions.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcDhcpOptionsFilterInputArgs\n {\n Name = \"key\",\n Values = new[]\n {\n \"domain-name\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcDhcpOptionsFilterInputArgs\n {\n Name = \"value\",\n Values = new[]\n {\n \"example.com\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupVpcDhcpOptions(ctx, \u0026ec2.LookupVpcDhcpOptionsArgs{\n\t\t\tFilters: []ec2.GetVpcDhcpOptionsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"key\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"domain-name\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"value\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"example.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcDhcpOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getVpcDhcpOptions(GetVpcDhcpOptionsArgs.builder()\n .filters( \n GetVpcDhcpOptionsFilterArgs.builder()\n .name(\"key\")\n .values(\"domain-name\")\n .build(),\n GetVpcDhcpOptionsFilterArgs.builder()\n .name(\"value\")\n .values(\"example.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getVpcDhcpOptions\n Arguments:\n filters:\n - name: key\n values:\n - domain-name\n - name: value\n values:\n - example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcDhcpOptions.\n", "properties": { @@ -398112,7 +398112,7 @@ } }, "aws:ec2/getVpcEndpoint:getVpcEndpoint": { - "description": "The VPC Endpoint data source provides details about\na specific VPC endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst s3 = aws.ec2.getVpcEndpoint({\n vpcId: foo.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n});\nconst privateS3 = new aws.ec2.VpcEndpointRouteTableAssociation(\"private_s3\", {\n vpcEndpointId: s3.then(s3 =\u003e s3.id),\n routeTableId: _private.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\ns3 = aws.ec2.get_vpc_endpoint(vpc_id=foo[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\")\nprivate_s3 = aws.ec2.VpcEndpointRouteTableAssociation(\"private_s3\",\n vpc_endpoint_id=s3.id,\n route_table_id=private[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var s3 = Aws.Ec2.GetVpcEndpoint.Invoke(new()\n {\n VpcId = foo.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n });\n\n var privateS3 = new Aws.Ec2.VpcEndpointRouteTableAssociation(\"private_s3\", new()\n {\n VpcEndpointId = s3.Apply(getVpcEndpointResult =\u003e getVpcEndpointResult.Id),\n RouteTableId = @private.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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// Declare the data source\n\t\ts3, err := ec2.LookupVpcEndpoint(ctx, \u0026ec2.LookupVpcEndpointArgs{\n\t\t\tVpcId: pulumi.StringRef(foo.Id),\n\t\t\tServiceName: pulumi.StringRef(\"com.amazonaws.us-west-2.s3\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpointRouteTableAssociation(ctx, \"private_s3\", \u0026ec2.VpcEndpointRouteTableAssociationArgs{\n\t\t\tVpcEndpointId: pulumi.String(s3.Id),\n\t\t\tRouteTableId: pulumi.Any(private.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointArgs;\nimport com.pulumi.aws.ec2.VpcEndpointRouteTableAssociation;\nimport com.pulumi.aws.ec2.VpcEndpointRouteTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var s3 = Ec2Functions.getVpcEndpoint(GetVpcEndpointArgs.builder()\n .vpcId(foo.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .build());\n\n var privateS3 = new VpcEndpointRouteTableAssociation(\"privateS3\", VpcEndpointRouteTableAssociationArgs.builder()\n .vpcEndpointId(s3.applyValue(getVpcEndpointResult -\u003e getVpcEndpointResult.id()))\n .routeTableId(private_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n privateS3:\n type: aws:ec2:VpcEndpointRouteTableAssociation\n name: private_s3\n properties:\n vpcEndpointId: ${s3.id}\n routeTableId: ${private.id}\nvariables:\n # Declare the data source\n s3:\n fn::invoke:\n function: aws:ec2:getVpcEndpoint\n arguments:\n vpcId: ${foo.id}\n serviceName: com.amazonaws.us-west-2.s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The VPC Endpoint data source provides details about\na specific VPC endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst s3 = aws.ec2.getVpcEndpoint({\n vpcId: foo.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n});\nconst privateS3 = new aws.ec2.VpcEndpointRouteTableAssociation(\"private_s3\", {\n vpcEndpointId: s3.then(s3 =\u003e s3.id),\n routeTableId: _private.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\ns3 = aws.ec2.get_vpc_endpoint(vpc_id=foo[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\")\nprivate_s3 = aws.ec2.VpcEndpointRouteTableAssociation(\"private_s3\",\n vpc_endpoint_id=s3.id,\n route_table_id=private[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var s3 = Aws.Ec2.GetVpcEndpoint.Invoke(new()\n {\n VpcId = foo.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n });\n\n var privateS3 = new Aws.Ec2.VpcEndpointRouteTableAssociation(\"private_s3\", new()\n {\n VpcEndpointId = s3.Apply(getVpcEndpointResult =\u003e getVpcEndpointResult.Id),\n RouteTableId = @private.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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// Declare the data source\n\t\ts3, err := ec2.LookupVpcEndpoint(ctx, \u0026ec2.LookupVpcEndpointArgs{\n\t\t\tVpcId: pulumi.StringRef(foo.Id),\n\t\t\tServiceName: pulumi.StringRef(\"com.amazonaws.us-west-2.s3\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpointRouteTableAssociation(ctx, \"private_s3\", \u0026ec2.VpcEndpointRouteTableAssociationArgs{\n\t\t\tVpcEndpointId: pulumi.String(s3.Id),\n\t\t\tRouteTableId: pulumi.Any(private.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointArgs;\nimport com.pulumi.aws.ec2.VpcEndpointRouteTableAssociation;\nimport com.pulumi.aws.ec2.VpcEndpointRouteTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var s3 = Ec2Functions.getVpcEndpoint(GetVpcEndpointArgs.builder()\n .vpcId(foo.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .build());\n\n var privateS3 = new VpcEndpointRouteTableAssociation(\"privateS3\", VpcEndpointRouteTableAssociationArgs.builder()\n .vpcEndpointId(s3.applyValue(getVpcEndpointResult -\u003e getVpcEndpointResult.id()))\n .routeTableId(private_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n privateS3:\n type: aws:ec2:VpcEndpointRouteTableAssociation\n name: private_s3\n properties:\n vpcEndpointId: ${s3.id}\n routeTableId: ${private.id}\nvariables:\n # Declare the data source\n s3:\n fn::invoke:\n Function: aws:ec2:getVpcEndpoint\n Arguments:\n vpcId: ${foo.id}\n serviceName: com.amazonaws.us-west-2.s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcEndpoint.\n", "properties": { @@ -398283,7 +398283,7 @@ } }, "aws:ec2/getVpcEndpointService:getVpcEndpointService": { - "description": "The VPC Endpoint Service data source details about a specific service that\ncan be specified when creating a VPC endpoint within the region configured in the provider.\n\n## Example Usage\n\n### AWS Service\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst s3 = aws.ec2.getVpcEndpointService({\n service: \"s3\",\n serviceType: \"Gateway\",\n});\n// Create a VPC\nconst foo = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.0.0.0/16\"});\n// Create a VPC endpoint\nconst ep = new aws.ec2.VpcEndpoint(\"ep\", {\n vpcId: foo.id,\n serviceName: s3.then(s3 =\u003e s3.serviceName),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\ns3 = aws.ec2.get_vpc_endpoint_service(service=\"s3\",\n service_type=\"Gateway\")\n# Create a VPC\nfoo = aws.ec2.Vpc(\"foo\", cidr_block=\"10.0.0.0/16\")\n# Create a VPC endpoint\nep = aws.ec2.VpcEndpoint(\"ep\",\n vpc_id=foo.id,\n service_name=s3.service_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var s3 = Aws.Ec2.GetVpcEndpointService.Invoke(new()\n {\n Service = \"s3\",\n ServiceType = \"Gateway\",\n });\n\n // Create a VPC\n var foo = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // Create a VPC endpoint\n var ep = new Aws.Ec2.VpcEndpoint(\"ep\", new()\n {\n VpcId = foo.Id,\n ServiceName = s3.Apply(getVpcEndpointServiceResult =\u003e getVpcEndpointServiceResult.ServiceName),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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// Declare the data source\n\t\ts3, err := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tService: pulumi.StringRef(\"s3\"),\n\t\t\tServiceType: pulumi.StringRef(\"Gateway\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a VPC\n\t\tfoo, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a VPC endpoint\n\t\t_, err = ec2.NewVpcEndpoint(ctx, \"ep\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: foo.ID(),\n\t\t\tServiceName: pulumi.String(s3.ServiceName),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var s3 = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()\n .service(\"s3\")\n .serviceType(\"Gateway\")\n .build());\n\n // Create a VPC\n var foo = new Vpc(\"foo\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // Create a VPC endpoint\n var ep = new VpcEndpoint(\"ep\", VpcEndpointArgs.builder()\n .vpcId(foo.id())\n .serviceName(s3.applyValue(getVpcEndpointServiceResult -\u003e getVpcEndpointServiceResult.serviceName()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a VPC\n foo:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n # Create a VPC endpoint\n ep:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${foo.id}\n serviceName: ${s3.serviceName}\nvariables:\n # Declare the data source\n s3:\n fn::invoke:\n function: aws:ec2:getVpcEndpointService\n arguments:\n service: s3\n serviceType: Gateway\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Non-AWS Service\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst custome = aws.ec2.getVpcEndpointService({\n serviceName: \"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncustome = aws.ec2.get_vpc_endpoint_service(service_name=\"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var custome = Aws.Ec2.GetVpcEndpointService.Invoke(new()\n {\n ServiceName = \"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tServiceName: pulumi.StringRef(\"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var custome = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()\n .serviceName(\"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n custome:\n fn::invoke:\n function: aws:ec2:getVpcEndpointService\n arguments:\n serviceName: com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getVpcEndpointService({\n filters: [{\n name: \"service-name\",\n values: [\"some-service\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_endpoint_service(filters=[{\n \"name\": \"service-name\",\n \"values\": [\"some-service\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetVpcEndpointService.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcEndpointServiceFilterInputArgs\n {\n Name = \"service-name\",\n Values = new[]\n {\n \"some-service\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tFilters: []ec2.GetVpcEndpointServiceFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"service-name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"some-service\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()\n .filters(GetVpcEndpointServiceFilterArgs.builder()\n .name(\"service-name\")\n .values(\"some-service\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:ec2:getVpcEndpointService\n arguments:\n filters:\n - name: service-name\n values:\n - some-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The VPC Endpoint Service data source details about a specific service that\ncan be specified when creating a VPC endpoint within the region configured in the provider.\n\n## Example Usage\n\n### AWS Service\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst s3 = aws.ec2.getVpcEndpointService({\n service: \"s3\",\n serviceType: \"Gateway\",\n});\n// Create a VPC\nconst foo = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.0.0.0/16\"});\n// Create a VPC endpoint\nconst ep = new aws.ec2.VpcEndpoint(\"ep\", {\n vpcId: foo.id,\n serviceName: s3.then(s3 =\u003e s3.serviceName),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\ns3 = aws.ec2.get_vpc_endpoint_service(service=\"s3\",\n service_type=\"Gateway\")\n# Create a VPC\nfoo = aws.ec2.Vpc(\"foo\", cidr_block=\"10.0.0.0/16\")\n# Create a VPC endpoint\nep = aws.ec2.VpcEndpoint(\"ep\",\n vpc_id=foo.id,\n service_name=s3.service_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var s3 = Aws.Ec2.GetVpcEndpointService.Invoke(new()\n {\n Service = \"s3\",\n ServiceType = \"Gateway\",\n });\n\n // Create a VPC\n var foo = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // Create a VPC endpoint\n var ep = new Aws.Ec2.VpcEndpoint(\"ep\", new()\n {\n VpcId = foo.Id,\n ServiceName = s3.Apply(getVpcEndpointServiceResult =\u003e getVpcEndpointServiceResult.ServiceName),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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// Declare the data source\n\t\ts3, err := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tService: pulumi.StringRef(\"s3\"),\n\t\t\tServiceType: pulumi.StringRef(\"Gateway\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a VPC\n\t\tfoo, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a VPC endpoint\n\t\t_, err = ec2.NewVpcEndpoint(ctx, \"ep\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: foo.ID(),\n\t\t\tServiceName: pulumi.String(s3.ServiceName),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var s3 = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()\n .service(\"s3\")\n .serviceType(\"Gateway\")\n .build());\n\n // Create a VPC\n var foo = new Vpc(\"foo\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // Create a VPC endpoint\n var ep = new VpcEndpoint(\"ep\", VpcEndpointArgs.builder()\n .vpcId(foo.id())\n .serviceName(s3.applyValue(getVpcEndpointServiceResult -\u003e getVpcEndpointServiceResult.serviceName()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a VPC\n foo:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n # Create a VPC endpoint\n ep:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${foo.id}\n serviceName: ${s3.serviceName}\nvariables:\n # Declare the data source\n s3:\n fn::invoke:\n Function: aws:ec2:getVpcEndpointService\n Arguments:\n service: s3\n serviceType: Gateway\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Non-AWS Service\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst custome = aws.ec2.getVpcEndpointService({\n serviceName: \"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncustome = aws.ec2.get_vpc_endpoint_service(service_name=\"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var custome = Aws.Ec2.GetVpcEndpointService.Invoke(new()\n {\n ServiceName = \"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tServiceName: pulumi.StringRef(\"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var custome = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()\n .serviceName(\"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n custome:\n fn::invoke:\n Function: aws:ec2:getVpcEndpointService\n Arguments:\n serviceName: com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getVpcEndpointService({\n filters: [{\n name: \"service-name\",\n values: [\"some-service\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_endpoint_service(filters=[{\n \"name\": \"service-name\",\n \"values\": [\"some-service\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetVpcEndpointService.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcEndpointServiceFilterInputArgs\n {\n Name = \"service-name\",\n Values = new[]\n {\n \"some-service\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tFilters: []ec2.GetVpcEndpointServiceFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"service-name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"some-service\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()\n .filters(GetVpcEndpointServiceFilterArgs.builder()\n .name(\"service-name\")\n .values(\"some-service\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getVpcEndpointService\n Arguments:\n filters:\n - name: service-name\n values:\n - some-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcEndpointService.\n", "properties": { @@ -398424,7 +398424,7 @@ }, "aws:ec2/getVpcIamPool:getVpcIamPool": { "deprecationMessage": "aws.ec2/getvpciampool.getVpcIamPool has been deprecated in favor of aws.ec2/getvpcipampool.getVpcIpamPool", - "description": "`aws.ec2.VpcIpamPool` provides details about an IPAM pool.\n\nThis resource can prove useful when an ipam pool was created in another root\nmodule and you need the pool's id as an input variable. For example, pools\ncan be shared via RAM and used to create vpcs with CIDRs from that pool.\n\n## Example Usage\n\nThe following example shows an account that has only 1 pool, perhaps shared\nvia RAM, and using that pool id to create a VPC with a CIDR derived from\nAWS IPAM.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getVpcIpamPool({\n filters: [\n {\n name: \"description\",\n values: [\"*test*\"],\n },\n {\n name: \"address-family\",\n values: [\"ipv4\"],\n },\n ],\n});\nconst testVpc = new aws.ec2.Vpc(\"test\", {\n ipv4IpamPoolId: test.then(test =\u003e test.id),\n ipv4NetmaskLength: 28,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_ipam_pool(filters=[\n {\n \"name\": \"description\",\n \"values\": [\"*test*\"],\n },\n {\n \"name\": \"address-family\",\n \"values\": [\"ipv4\"],\n },\n])\ntest_vpc = aws.ec2.Vpc(\"test\",\n ipv4_ipam_pool_id=test.id,\n ipv4_netmask_length=28)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetVpcIpamPool.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"description\",\n Values = new[]\n {\n \"*test*\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"address-family\",\n Values = new[]\n {\n \"ipv4\",\n },\n },\n },\n });\n\n var testVpc = new Aws.Ec2.Vpc(\"test\", new()\n {\n Ipv4IpamPoolId = test.Apply(getVpcIpamPoolResult =\u003e getVpcIpamPoolResult.Id),\n Ipv4NetmaskLength = 28,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.LookupVpcIpamPool(ctx, \u0026ec2.LookupVpcIpamPoolArgs{\n\t\t\tFilters: []ec2.GetVpcIpamPoolFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"*test*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"address-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ipv4\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tIpv4IpamPoolId: pulumi.String(test.Id),\n\t\t\tIpv4NetmaskLength: pulumi.Int(28),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()\n .filters( \n GetVpcIpamPoolFilterArgs.builder()\n .name(\"description\")\n .values(\"*test*\")\n .build(),\n GetVpcIpamPoolFilterArgs.builder()\n .name(\"address-family\")\n .values(\"ipv4\")\n .build())\n .build());\n\n var testVpc = new Vpc(\"testVpc\", VpcArgs.builder()\n .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -\u003e getVpcIpamPoolResult.id()))\n .ipv4NetmaskLength(28)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVpc:\n type: aws:ec2:Vpc\n name: test\n properties:\n ipv4IpamPoolId: ${test.id}\n ipv4NetmaskLength: 28\nvariables:\n test:\n fn::invoke:\n function: aws:ec2:getVpcIpamPool\n arguments:\n filters:\n - name: description\n values:\n - '*test*'\n - name: address-family\n values:\n - ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.VpcIpamPool` provides details about an IPAM pool.\n\nThis resource can prove useful when an ipam pool was created in another root\nmodule and you need the pool's id as an input variable. For example, pools\ncan be shared via RAM and used to create vpcs with CIDRs from that pool.\n\n## Example Usage\n\nThe following example shows an account that has only 1 pool, perhaps shared\nvia RAM, and using that pool id to create a VPC with a CIDR derived from\nAWS IPAM.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getVpcIpamPool({\n filters: [\n {\n name: \"description\",\n values: [\"*test*\"],\n },\n {\n name: \"address-family\",\n values: [\"ipv4\"],\n },\n ],\n});\nconst testVpc = new aws.ec2.Vpc(\"test\", {\n ipv4IpamPoolId: test.then(test =\u003e test.id),\n ipv4NetmaskLength: 28,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_ipam_pool(filters=[\n {\n \"name\": \"description\",\n \"values\": [\"*test*\"],\n },\n {\n \"name\": \"address-family\",\n \"values\": [\"ipv4\"],\n },\n])\ntest_vpc = aws.ec2.Vpc(\"test\",\n ipv4_ipam_pool_id=test.id,\n ipv4_netmask_length=28)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetVpcIpamPool.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"description\",\n Values = new[]\n {\n \"*test*\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"address-family\",\n Values = new[]\n {\n \"ipv4\",\n },\n },\n },\n });\n\n var testVpc = new Aws.Ec2.Vpc(\"test\", new()\n {\n Ipv4IpamPoolId = test.Apply(getVpcIpamPoolResult =\u003e getVpcIpamPoolResult.Id),\n Ipv4NetmaskLength = 28,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.LookupVpcIpamPool(ctx, \u0026ec2.LookupVpcIpamPoolArgs{\n\t\t\tFilters: []ec2.GetVpcIpamPoolFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"*test*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"address-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ipv4\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tIpv4IpamPoolId: pulumi.String(test.Id),\n\t\t\tIpv4NetmaskLength: pulumi.Int(28),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()\n .filters( \n GetVpcIpamPoolFilterArgs.builder()\n .name(\"description\")\n .values(\"*test*\")\n .build(),\n GetVpcIpamPoolFilterArgs.builder()\n .name(\"address-family\")\n .values(\"ipv4\")\n .build())\n .build());\n\n var testVpc = new Vpc(\"testVpc\", VpcArgs.builder()\n .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -\u003e getVpcIpamPoolResult.id()))\n .ipv4NetmaskLength(28)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVpc:\n type: aws:ec2:Vpc\n name: test\n properties:\n ipv4IpamPoolId: ${test.id}\n ipv4NetmaskLength: 28\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getVpcIpamPool\n Arguments:\n filters:\n - name: description\n values:\n - '*test*'\n - name: address-family\n values:\n - ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcIamPool.\n", "properties": { @@ -398572,7 +398572,7 @@ }, "aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs": { "deprecationMessage": "aws.ec2/getvpciampoolcidrs.getVpcIamPoolCidrs has been deprecated in favor of aws.ec2/getvpcipampoolcidrs.getVpcIpamPoolCidrs", - "description": "`aws.ec2.getVpcIpamPoolCidrs` provides details about an IPAM pool.\n\nThis resource can prove useful when an ipam pool was shared to your account and you want to know all (or a filtered list) of the CIDRs that are provisioned into the pool.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst p = aws.ec2.getVpcIpamPool({\n filters: [\n {\n name: \"description\",\n values: [\"*mypool*\"],\n },\n {\n name: \"address-family\",\n values: [\"ipv4\"],\n },\n ],\n});\nconst c = p.then(p =\u003e aws.ec2.getVpcIpamPoolCidrs({\n ipamPoolId: p.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\np = aws.ec2.get_vpc_ipam_pool(filters=[\n {\n \"name\": \"description\",\n \"values\": [\"*mypool*\"],\n },\n {\n \"name\": \"address-family\",\n \"values\": [\"ipv4\"],\n },\n])\nc = aws.ec2.get_vpc_ipam_pool_cidrs(ipam_pool_id=p.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var p = Aws.Ec2.GetVpcIpamPool.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"description\",\n Values = new[]\n {\n \"*mypool*\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"address-family\",\n Values = new[]\n {\n \"ipv4\",\n },\n },\n },\n });\n\n var c = Aws.Ec2.GetVpcIpamPoolCidrs.Invoke(new()\n {\n IpamPoolId = p.Apply(getVpcIpamPoolResult =\u003e getVpcIpamPoolResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tp, err := ec2.LookupVpcIpamPool(ctx, \u0026ec2.LookupVpcIpamPoolArgs{\n\t\t\tFilters: []ec2.GetVpcIpamPoolFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"*mypool*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"address-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ipv4\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.GetVpcIpamPoolCidrs(ctx, \u0026ec2.GetVpcIpamPoolCidrsArgs{\n\t\t\tIpamPoolId: p.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolCidrsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var p = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()\n .filters( \n GetVpcIpamPoolFilterArgs.builder()\n .name(\"description\")\n .values(\"*mypool*\")\n .build(),\n GetVpcIpamPoolFilterArgs.builder()\n .name(\"address-family\")\n .values(\"ipv4\")\n .build())\n .build());\n\n final var c = Ec2Functions.getVpcIpamPoolCidrs(GetVpcIpamPoolCidrsArgs.builder()\n .ipamPoolId(p.applyValue(getVpcIpamPoolResult -\u003e getVpcIpamPoolResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n c:\n fn::invoke:\n function: aws:ec2:getVpcIpamPoolCidrs\n arguments:\n ipamPoolId: ${p.id}\n p:\n fn::invoke:\n function: aws:ec2:getVpcIpamPool\n arguments:\n filters:\n - name: description\n values:\n - '*mypool*'\n - name: address-family\n values:\n - ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFiltering:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst c = aws.ec2.getVpcIpamPoolCidrs({\n ipamPoolId: \"ipam-pool-123\",\n filters: [{\n name: \"cidr\",\n values: [\"10.*\"],\n }],\n});\nconst mycidrs = c.then(c =\u003e .filter(cidr =\u003e cidr.state == \"provisioned\").map(cidr =\u003e (cidr.cidr)));\nconst pls = new aws.ec2.ManagedPrefixList(\"pls\", {\n entries: mycidrs.map((v, k) =\u003e ({key: k, value: v})).then(entries =\u003e entries.map(entry =\u003e ({\n cidr: entry.value,\n description: entry.value,\n }))),\n name: `IPAM Pool (${test.id}) Cidrs`,\n addressFamily: \"IPv4\",\n maxEntries: mycidrs.length,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nc = aws.ec2.get_vpc_ipam_pool_cidrs(ipam_pool_id=\"ipam-pool-123\",\n filters=[{\n \"name\": \"cidr\",\n \"values\": [\"10.*\"],\n }])\nmycidrs = [cidr.cidr for cidr in c.ipam_pool_cidrs if cidr.state == \"provisioned\"]\npls = aws.ec2.ManagedPrefixList(\"pls\",\n entries=[{\n \"cidr\": entry[\"value\"],\n \"description\": entry[\"value\"],\n } for entry in [{\"key\": k, \"value\": v} for k, v in mycidrs]],\n name=f\"IPAM Pool ({test['id']}) Cidrs\",\n address_family=\"IPv4\",\n max_entries=len(mycidrs))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var c = Aws.Ec2.GetVpcIpamPoolCidrs.Invoke(new()\n {\n IpamPoolId = \"ipam-pool-123\",\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolCidrsFilterInputArgs\n {\n Name = \"cidr\",\n Values = new[]\n {\n \"10.*\",\n },\n },\n },\n });\n\n var mycidrs = .Where(cidr =\u003e cidr.State == \"provisioned\").Select(cidr =\u003e \n {\n return cidr.Cidr;\n }).ToList();\n\n var pls = new Aws.Ec2.ManagedPrefixList(\"pls\", new()\n {\n Entries = mycidrs.Select((v, k) =\u003e new { Key = k, Value = v }).Apply(entries =\u003e entries.Select(entry =\u003e \n {\n return \n {\n { \"cidr\", entry.Value },\n { \"description\", entry.Value },\n };\n }).ToList()),\n Name = $\"IPAM Pool ({test.Id}) Cidrs\",\n AddressFamily = \"IPv4\",\n MaxEntries = mycidrs.Length,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.getVpcIpamPoolCidrs` provides details about an IPAM pool.\n\nThis resource can prove useful when an ipam pool was shared to your account and you want to know all (or a filtered list) of the CIDRs that are provisioned into the pool.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst p = aws.ec2.getVpcIpamPool({\n filters: [\n {\n name: \"description\",\n values: [\"*mypool*\"],\n },\n {\n name: \"address-family\",\n values: [\"ipv4\"],\n },\n ],\n});\nconst c = p.then(p =\u003e aws.ec2.getVpcIpamPoolCidrs({\n ipamPoolId: p.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\np = aws.ec2.get_vpc_ipam_pool(filters=[\n {\n \"name\": \"description\",\n \"values\": [\"*mypool*\"],\n },\n {\n \"name\": \"address-family\",\n \"values\": [\"ipv4\"],\n },\n])\nc = aws.ec2.get_vpc_ipam_pool_cidrs(ipam_pool_id=p.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var p = Aws.Ec2.GetVpcIpamPool.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"description\",\n Values = new[]\n {\n \"*mypool*\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"address-family\",\n Values = new[]\n {\n \"ipv4\",\n },\n },\n },\n });\n\n var c = Aws.Ec2.GetVpcIpamPoolCidrs.Invoke(new()\n {\n IpamPoolId = p.Apply(getVpcIpamPoolResult =\u003e getVpcIpamPoolResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tp, err := ec2.LookupVpcIpamPool(ctx, \u0026ec2.LookupVpcIpamPoolArgs{\n\t\t\tFilters: []ec2.GetVpcIpamPoolFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"*mypool*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"address-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ipv4\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.GetVpcIpamPoolCidrs(ctx, \u0026ec2.GetVpcIpamPoolCidrsArgs{\n\t\t\tIpamPoolId: p.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolCidrsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var p = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()\n .filters( \n GetVpcIpamPoolFilterArgs.builder()\n .name(\"description\")\n .values(\"*mypool*\")\n .build(),\n GetVpcIpamPoolFilterArgs.builder()\n .name(\"address-family\")\n .values(\"ipv4\")\n .build())\n .build());\n\n final var c = Ec2Functions.getVpcIpamPoolCidrs(GetVpcIpamPoolCidrsArgs.builder()\n .ipamPoolId(p.applyValue(getVpcIpamPoolResult -\u003e getVpcIpamPoolResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n c:\n fn::invoke:\n Function: aws:ec2:getVpcIpamPoolCidrs\n Arguments:\n ipamPoolId: ${p.id}\n p:\n fn::invoke:\n Function: aws:ec2:getVpcIpamPool\n Arguments:\n filters:\n - name: description\n values:\n - '*mypool*'\n - name: address-family\n values:\n - ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFiltering:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst c = aws.ec2.getVpcIpamPoolCidrs({\n ipamPoolId: \"ipam-pool-123\",\n filters: [{\n name: \"cidr\",\n values: [\"10.*\"],\n }],\n});\nconst mycidrs = c.then(c =\u003e .filter(cidr =\u003e cidr.state == \"provisioned\").map(cidr =\u003e (cidr.cidr)));\nconst pls = new aws.ec2.ManagedPrefixList(\"pls\", {\n entries: mycidrs.map((v, k) =\u003e ({key: k, value: v})).then(entries =\u003e entries.map(entry =\u003e ({\n cidr: entry.value,\n description: entry.value,\n }))),\n name: `IPAM Pool (${test.id}) Cidrs`,\n addressFamily: \"IPv4\",\n maxEntries: mycidrs.length,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nc = aws.ec2.get_vpc_ipam_pool_cidrs(ipam_pool_id=\"ipam-pool-123\",\n filters=[{\n \"name\": \"cidr\",\n \"values\": [\"10.*\"],\n }])\nmycidrs = [cidr.cidr for cidr in c.ipam_pool_cidrs if cidr.state == \"provisioned\"]\npls = aws.ec2.ManagedPrefixList(\"pls\",\n entries=[{\n \"cidr\": entry[\"value\"],\n \"description\": entry[\"value\"],\n } for entry in [{\"key\": k, \"value\": v} for k, v in mycidrs]],\n name=f\"IPAM Pool ({test['id']}) Cidrs\",\n address_family=\"IPv4\",\n max_entries=len(mycidrs))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var c = Aws.Ec2.GetVpcIpamPoolCidrs.Invoke(new()\n {\n IpamPoolId = \"ipam-pool-123\",\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolCidrsFilterInputArgs\n {\n Name = \"cidr\",\n Values = new[]\n {\n \"10.*\",\n },\n },\n },\n });\n\n var mycidrs = .Where(cidr =\u003e cidr.State == \"provisioned\").Select(cidr =\u003e \n {\n return cidr.Cidr;\n }).ToList();\n\n var pls = new Aws.Ec2.ManagedPrefixList(\"pls\", new()\n {\n Entries = mycidrs.Select((v, k) =\u003e new { Key = k, Value = v }).Apply(entries =\u003e entries.Select(entry =\u003e \n {\n return \n {\n { \"cidr\", entry.Value },\n { \"description\", entry.Value },\n };\n }).ToList()),\n Name = $\"IPAM Pool ({test.Id}) Cidrs\",\n AddressFamily = \"IPv4\",\n MaxEntries = mycidrs.Length,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcIamPoolCidrs.\n", "properties": { @@ -398627,7 +398627,7 @@ }, "aws:ec2/getVpcIamPools:getVpcIamPools": { "deprecationMessage": "aws.ec2/getvpciampools.getVpcIamPools has been deprecated in favor of aws.ec2/getvpcipampools.getVpcIpamPools", - "description": "`aws.ec2.getVpcIpamPools` provides details about IPAM pools.\n\nThis resource can prove useful when IPAM pools are created in another root\nmodule and you need the pool ids as input variables. For example, pools\ncan be shared via RAM and used to create vpcs with CIDRs from that pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getVpcIpamPools({\n filters: [\n {\n name: \"description\",\n values: [\"*test*\"],\n },\n {\n name: \"address-family\",\n values: [\"ipv4\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_ipam_pools(filters=[\n {\n \"name\": \"description\",\n \"values\": [\"*test*\"],\n },\n {\n \"name\": \"address-family\",\n \"values\": [\"ipv4\"],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetVpcIpamPools.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolsFilterInputArgs\n {\n Name = \"description\",\n Values = new[]\n {\n \"*test*\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcIpamPoolsFilterInputArgs\n {\n Name = \"address-family\",\n Values = new[]\n {\n \"ipv4\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetVpcIpamPools(ctx, \u0026ec2.GetVpcIpamPoolsArgs{\n\t\t\tFilters: []ec2.GetVpcIpamPoolsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"*test*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"address-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ipv4\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getVpcIpamPools(GetVpcIpamPoolsArgs.builder()\n .filters( \n GetVpcIpamPoolsFilterArgs.builder()\n .name(\"description\")\n .values(\"*test*\")\n .build(),\n GetVpcIpamPoolsFilterArgs.builder()\n .name(\"address-family\")\n .values(\"ipv4\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:ec2:getVpcIpamPools\n arguments:\n filters:\n - name: description\n values:\n - '*test*'\n - name: address-family\n values:\n - ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.getVpcIpamPools` provides details about IPAM pools.\n\nThis resource can prove useful when IPAM pools are created in another root\nmodule and you need the pool ids as input variables. For example, pools\ncan be shared via RAM and used to create vpcs with CIDRs from that pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getVpcIpamPools({\n filters: [\n {\n name: \"description\",\n values: [\"*test*\"],\n },\n {\n name: \"address-family\",\n values: [\"ipv4\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_ipam_pools(filters=[\n {\n \"name\": \"description\",\n \"values\": [\"*test*\"],\n },\n {\n \"name\": \"address-family\",\n \"values\": [\"ipv4\"],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetVpcIpamPools.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolsFilterInputArgs\n {\n Name = \"description\",\n Values = new[]\n {\n \"*test*\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcIpamPoolsFilterInputArgs\n {\n Name = \"address-family\",\n Values = new[]\n {\n \"ipv4\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetVpcIpamPools(ctx, \u0026ec2.GetVpcIpamPoolsArgs{\n\t\t\tFilters: []ec2.GetVpcIpamPoolsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"*test*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"address-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ipv4\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getVpcIpamPools(GetVpcIpamPoolsArgs.builder()\n .filters( \n GetVpcIpamPoolsFilterArgs.builder()\n .name(\"description\")\n .values(\"*test*\")\n .build(),\n GetVpcIpamPoolsFilterArgs.builder()\n .name(\"address-family\")\n .values(\"ipv4\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getVpcIpamPools\n Arguments:\n filters:\n - name: description\n values:\n - '*test*'\n - name: address-family\n values:\n - ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcIamPools.\n", "properties": { @@ -398670,7 +398670,7 @@ } }, "aws:ec2/getVpcIpamPool:getVpcIpamPool": { - "description": "`aws.ec2.VpcIpamPool` provides details about an IPAM pool.\n\nThis resource can prove useful when an ipam pool was created in another root\nmodule and you need the pool's id as an input variable. For example, pools\ncan be shared via RAM and used to create vpcs with CIDRs from that pool.\n\n## Example Usage\n\nThe following example shows an account that has only 1 pool, perhaps shared\nvia RAM, and using that pool id to create a VPC with a CIDR derived from\nAWS IPAM.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getVpcIpamPool({\n filters: [\n {\n name: \"description\",\n values: [\"*test*\"],\n },\n {\n name: \"address-family\",\n values: [\"ipv4\"],\n },\n ],\n});\nconst testVpc = new aws.ec2.Vpc(\"test\", {\n ipv4IpamPoolId: test.then(test =\u003e test.id),\n ipv4NetmaskLength: 28,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_ipam_pool(filters=[\n {\n \"name\": \"description\",\n \"values\": [\"*test*\"],\n },\n {\n \"name\": \"address-family\",\n \"values\": [\"ipv4\"],\n },\n])\ntest_vpc = aws.ec2.Vpc(\"test\",\n ipv4_ipam_pool_id=test.id,\n ipv4_netmask_length=28)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetVpcIpamPool.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"description\",\n Values = new[]\n {\n \"*test*\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"address-family\",\n Values = new[]\n {\n \"ipv4\",\n },\n },\n },\n });\n\n var testVpc = new Aws.Ec2.Vpc(\"test\", new()\n {\n Ipv4IpamPoolId = test.Apply(getVpcIpamPoolResult =\u003e getVpcIpamPoolResult.Id),\n Ipv4NetmaskLength = 28,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.LookupVpcIpamPool(ctx, \u0026ec2.LookupVpcIpamPoolArgs{\n\t\t\tFilters: []ec2.GetVpcIpamPoolFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"*test*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"address-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ipv4\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tIpv4IpamPoolId: pulumi.String(test.Id),\n\t\t\tIpv4NetmaskLength: pulumi.Int(28),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()\n .filters( \n GetVpcIpamPoolFilterArgs.builder()\n .name(\"description\")\n .values(\"*test*\")\n .build(),\n GetVpcIpamPoolFilterArgs.builder()\n .name(\"address-family\")\n .values(\"ipv4\")\n .build())\n .build());\n\n var testVpc = new Vpc(\"testVpc\", VpcArgs.builder()\n .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -\u003e getVpcIpamPoolResult.id()))\n .ipv4NetmaskLength(28)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVpc:\n type: aws:ec2:Vpc\n name: test\n properties:\n ipv4IpamPoolId: ${test.id}\n ipv4NetmaskLength: 28\nvariables:\n test:\n fn::invoke:\n function: aws:ec2:getVpcIpamPool\n arguments:\n filters:\n - name: description\n values:\n - '*test*'\n - name: address-family\n values:\n - ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.VpcIpamPool` provides details about an IPAM pool.\n\nThis resource can prove useful when an ipam pool was created in another root\nmodule and you need the pool's id as an input variable. For example, pools\ncan be shared via RAM and used to create vpcs with CIDRs from that pool.\n\n## Example Usage\n\nThe following example shows an account that has only 1 pool, perhaps shared\nvia RAM, and using that pool id to create a VPC with a CIDR derived from\nAWS IPAM.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getVpcIpamPool({\n filters: [\n {\n name: \"description\",\n values: [\"*test*\"],\n },\n {\n name: \"address-family\",\n values: [\"ipv4\"],\n },\n ],\n});\nconst testVpc = new aws.ec2.Vpc(\"test\", {\n ipv4IpamPoolId: test.then(test =\u003e test.id),\n ipv4NetmaskLength: 28,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_ipam_pool(filters=[\n {\n \"name\": \"description\",\n \"values\": [\"*test*\"],\n },\n {\n \"name\": \"address-family\",\n \"values\": [\"ipv4\"],\n },\n])\ntest_vpc = aws.ec2.Vpc(\"test\",\n ipv4_ipam_pool_id=test.id,\n ipv4_netmask_length=28)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetVpcIpamPool.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"description\",\n Values = new[]\n {\n \"*test*\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"address-family\",\n Values = new[]\n {\n \"ipv4\",\n },\n },\n },\n });\n\n var testVpc = new Aws.Ec2.Vpc(\"test\", new()\n {\n Ipv4IpamPoolId = test.Apply(getVpcIpamPoolResult =\u003e getVpcIpamPoolResult.Id),\n Ipv4NetmaskLength = 28,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.LookupVpcIpamPool(ctx, \u0026ec2.LookupVpcIpamPoolArgs{\n\t\t\tFilters: []ec2.GetVpcIpamPoolFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"*test*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"address-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ipv4\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tIpv4IpamPoolId: pulumi.String(test.Id),\n\t\t\tIpv4NetmaskLength: pulumi.Int(28),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()\n .filters( \n GetVpcIpamPoolFilterArgs.builder()\n .name(\"description\")\n .values(\"*test*\")\n .build(),\n GetVpcIpamPoolFilterArgs.builder()\n .name(\"address-family\")\n .values(\"ipv4\")\n .build())\n .build());\n\n var testVpc = new Vpc(\"testVpc\", VpcArgs.builder()\n .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -\u003e getVpcIpamPoolResult.id()))\n .ipv4NetmaskLength(28)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVpc:\n type: aws:ec2:Vpc\n name: test\n properties:\n ipv4IpamPoolId: ${test.id}\n ipv4NetmaskLength: 28\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getVpcIpamPool\n Arguments:\n filters:\n - name: description\n values:\n - '*test*'\n - name: address-family\n values:\n - ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcIpamPool.\n", "properties": { @@ -398817,7 +398817,7 @@ } }, "aws:ec2/getVpcIpamPoolCidrs:getVpcIpamPoolCidrs": { - "description": "`aws.ec2.getVpcIpamPoolCidrs` provides details about an IPAM pool.\n\nThis resource can prove useful when an ipam pool was shared to your account and you want to know all (or a filtered list) of the CIDRs that are provisioned into the pool.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst p = aws.ec2.getVpcIpamPool({\n filters: [\n {\n name: \"description\",\n values: [\"*mypool*\"],\n },\n {\n name: \"address-family\",\n values: [\"ipv4\"],\n },\n ],\n});\nconst c = p.then(p =\u003e aws.ec2.getVpcIpamPoolCidrs({\n ipamPoolId: p.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\np = aws.ec2.get_vpc_ipam_pool(filters=[\n {\n \"name\": \"description\",\n \"values\": [\"*mypool*\"],\n },\n {\n \"name\": \"address-family\",\n \"values\": [\"ipv4\"],\n },\n])\nc = aws.ec2.get_vpc_ipam_pool_cidrs(ipam_pool_id=p.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var p = Aws.Ec2.GetVpcIpamPool.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"description\",\n Values = new[]\n {\n \"*mypool*\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"address-family\",\n Values = new[]\n {\n \"ipv4\",\n },\n },\n },\n });\n\n var c = Aws.Ec2.GetVpcIpamPoolCidrs.Invoke(new()\n {\n IpamPoolId = p.Apply(getVpcIpamPoolResult =\u003e getVpcIpamPoolResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tp, err := ec2.LookupVpcIpamPool(ctx, \u0026ec2.LookupVpcIpamPoolArgs{\n\t\t\tFilters: []ec2.GetVpcIpamPoolFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"*mypool*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"address-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ipv4\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.GetVpcIpamPoolCidrs(ctx, \u0026ec2.GetVpcIpamPoolCidrsArgs{\n\t\t\tIpamPoolId: p.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolCidrsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var p = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()\n .filters( \n GetVpcIpamPoolFilterArgs.builder()\n .name(\"description\")\n .values(\"*mypool*\")\n .build(),\n GetVpcIpamPoolFilterArgs.builder()\n .name(\"address-family\")\n .values(\"ipv4\")\n .build())\n .build());\n\n final var c = Ec2Functions.getVpcIpamPoolCidrs(GetVpcIpamPoolCidrsArgs.builder()\n .ipamPoolId(p.applyValue(getVpcIpamPoolResult -\u003e getVpcIpamPoolResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n c:\n fn::invoke:\n function: aws:ec2:getVpcIpamPoolCidrs\n arguments:\n ipamPoolId: ${p.id}\n p:\n fn::invoke:\n function: aws:ec2:getVpcIpamPool\n arguments:\n filters:\n - name: description\n values:\n - '*mypool*'\n - name: address-family\n values:\n - ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFiltering:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst c = aws.ec2.getVpcIpamPoolCidrs({\n ipamPoolId: \"ipam-pool-123\",\n filters: [{\n name: \"cidr\",\n values: [\"10.*\"],\n }],\n});\nconst mycidrs = c.then(c =\u003e .filter(cidr =\u003e cidr.state == \"provisioned\").map(cidr =\u003e (cidr.cidr)));\nconst pls = new aws.ec2.ManagedPrefixList(\"pls\", {\n entries: mycidrs.map((v, k) =\u003e ({key: k, value: v})).then(entries =\u003e entries.map(entry =\u003e ({\n cidr: entry.value,\n description: entry.value,\n }))),\n name: `IPAM Pool (${test.id}) Cidrs`,\n addressFamily: \"IPv4\",\n maxEntries: mycidrs.length,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nc = aws.ec2.get_vpc_ipam_pool_cidrs(ipam_pool_id=\"ipam-pool-123\",\n filters=[{\n \"name\": \"cidr\",\n \"values\": [\"10.*\"],\n }])\nmycidrs = [cidr.cidr for cidr in c.ipam_pool_cidrs if cidr.state == \"provisioned\"]\npls = aws.ec2.ManagedPrefixList(\"pls\",\n entries=[{\n \"cidr\": entry[\"value\"],\n \"description\": entry[\"value\"],\n } for entry in [{\"key\": k, \"value\": v} for k, v in mycidrs]],\n name=f\"IPAM Pool ({test['id']}) Cidrs\",\n address_family=\"IPv4\",\n max_entries=len(mycidrs))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var c = Aws.Ec2.GetVpcIpamPoolCidrs.Invoke(new()\n {\n IpamPoolId = \"ipam-pool-123\",\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolCidrsFilterInputArgs\n {\n Name = \"cidr\",\n Values = new[]\n {\n \"10.*\",\n },\n },\n },\n });\n\n var mycidrs = .Where(cidr =\u003e cidr.State == \"provisioned\").Select(cidr =\u003e \n {\n return cidr.Cidr;\n }).ToList();\n\n var pls = new Aws.Ec2.ManagedPrefixList(\"pls\", new()\n {\n Entries = mycidrs.Select((v, k) =\u003e new { Key = k, Value = v }).Apply(entries =\u003e entries.Select(entry =\u003e \n {\n return \n {\n { \"cidr\", entry.Value },\n { \"description\", entry.Value },\n };\n }).ToList()),\n Name = $\"IPAM Pool ({test.Id}) Cidrs\",\n AddressFamily = \"IPv4\",\n MaxEntries = mycidrs.Length,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.getVpcIpamPoolCidrs` provides details about an IPAM pool.\n\nThis resource can prove useful when an ipam pool was shared to your account and you want to know all (or a filtered list) of the CIDRs that are provisioned into the pool.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst p = aws.ec2.getVpcIpamPool({\n filters: [\n {\n name: \"description\",\n values: [\"*mypool*\"],\n },\n {\n name: \"address-family\",\n values: [\"ipv4\"],\n },\n ],\n});\nconst c = p.then(p =\u003e aws.ec2.getVpcIpamPoolCidrs({\n ipamPoolId: p.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\np = aws.ec2.get_vpc_ipam_pool(filters=[\n {\n \"name\": \"description\",\n \"values\": [\"*mypool*\"],\n },\n {\n \"name\": \"address-family\",\n \"values\": [\"ipv4\"],\n },\n])\nc = aws.ec2.get_vpc_ipam_pool_cidrs(ipam_pool_id=p.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var p = Aws.Ec2.GetVpcIpamPool.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"description\",\n Values = new[]\n {\n \"*mypool*\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"address-family\",\n Values = new[]\n {\n \"ipv4\",\n },\n },\n },\n });\n\n var c = Aws.Ec2.GetVpcIpamPoolCidrs.Invoke(new()\n {\n IpamPoolId = p.Apply(getVpcIpamPoolResult =\u003e getVpcIpamPoolResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tp, err := ec2.LookupVpcIpamPool(ctx, \u0026ec2.LookupVpcIpamPoolArgs{\n\t\t\tFilters: []ec2.GetVpcIpamPoolFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"*mypool*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"address-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ipv4\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.GetVpcIpamPoolCidrs(ctx, \u0026ec2.GetVpcIpamPoolCidrsArgs{\n\t\t\tIpamPoolId: p.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolCidrsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var p = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()\n .filters( \n GetVpcIpamPoolFilterArgs.builder()\n .name(\"description\")\n .values(\"*mypool*\")\n .build(),\n GetVpcIpamPoolFilterArgs.builder()\n .name(\"address-family\")\n .values(\"ipv4\")\n .build())\n .build());\n\n final var c = Ec2Functions.getVpcIpamPoolCidrs(GetVpcIpamPoolCidrsArgs.builder()\n .ipamPoolId(p.applyValue(getVpcIpamPoolResult -\u003e getVpcIpamPoolResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n c:\n fn::invoke:\n Function: aws:ec2:getVpcIpamPoolCidrs\n Arguments:\n ipamPoolId: ${p.id}\n p:\n fn::invoke:\n Function: aws:ec2:getVpcIpamPool\n Arguments:\n filters:\n - name: description\n values:\n - '*mypool*'\n - name: address-family\n values:\n - ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFiltering:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst c = aws.ec2.getVpcIpamPoolCidrs({\n ipamPoolId: \"ipam-pool-123\",\n filters: [{\n name: \"cidr\",\n values: [\"10.*\"],\n }],\n});\nconst mycidrs = c.then(c =\u003e .filter(cidr =\u003e cidr.state == \"provisioned\").map(cidr =\u003e (cidr.cidr)));\nconst pls = new aws.ec2.ManagedPrefixList(\"pls\", {\n entries: mycidrs.map((v, k) =\u003e ({key: k, value: v})).then(entries =\u003e entries.map(entry =\u003e ({\n cidr: entry.value,\n description: entry.value,\n }))),\n name: `IPAM Pool (${test.id}) Cidrs`,\n addressFamily: \"IPv4\",\n maxEntries: mycidrs.length,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nc = aws.ec2.get_vpc_ipam_pool_cidrs(ipam_pool_id=\"ipam-pool-123\",\n filters=[{\n \"name\": \"cidr\",\n \"values\": [\"10.*\"],\n }])\nmycidrs = [cidr.cidr for cidr in c.ipam_pool_cidrs if cidr.state == \"provisioned\"]\npls = aws.ec2.ManagedPrefixList(\"pls\",\n entries=[{\n \"cidr\": entry[\"value\"],\n \"description\": entry[\"value\"],\n } for entry in [{\"key\": k, \"value\": v} for k, v in mycidrs]],\n name=f\"IPAM Pool ({test['id']}) Cidrs\",\n address_family=\"IPv4\",\n max_entries=len(mycidrs))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var c = Aws.Ec2.GetVpcIpamPoolCidrs.Invoke(new()\n {\n IpamPoolId = \"ipam-pool-123\",\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolCidrsFilterInputArgs\n {\n Name = \"cidr\",\n Values = new[]\n {\n \"10.*\",\n },\n },\n },\n });\n\n var mycidrs = .Where(cidr =\u003e cidr.State == \"provisioned\").Select(cidr =\u003e \n {\n return cidr.Cidr;\n }).ToList();\n\n var pls = new Aws.Ec2.ManagedPrefixList(\"pls\", new()\n {\n Entries = mycidrs.Select((v, k) =\u003e new { Key = k, Value = v }).Apply(entries =\u003e entries.Select(entry =\u003e \n {\n return \n {\n { \"cidr\", entry.Value },\n { \"description\", entry.Value },\n };\n }).ToList()),\n Name = $\"IPAM Pool ({test.Id}) Cidrs\",\n AddressFamily = \"IPv4\",\n MaxEntries = mycidrs.Length,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcIpamPoolCidrs.\n", "properties": { @@ -398871,7 +398871,7 @@ } }, "aws:ec2/getVpcIpamPools:getVpcIpamPools": { - "description": "`aws.ec2.getVpcIpamPools` provides details about IPAM pools.\n\nThis resource can prove useful when IPAM pools are created in another root\nmodule and you need the pool ids as input variables. For example, pools\ncan be shared via RAM and used to create vpcs with CIDRs from that pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getVpcIpamPools({\n filters: [\n {\n name: \"description\",\n values: [\"*test*\"],\n },\n {\n name: \"address-family\",\n values: [\"ipv4\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_ipam_pools(filters=[\n {\n \"name\": \"description\",\n \"values\": [\"*test*\"],\n },\n {\n \"name\": \"address-family\",\n \"values\": [\"ipv4\"],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetVpcIpamPools.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolsFilterInputArgs\n {\n Name = \"description\",\n Values = new[]\n {\n \"*test*\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcIpamPoolsFilterInputArgs\n {\n Name = \"address-family\",\n Values = new[]\n {\n \"ipv4\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetVpcIpamPools(ctx, \u0026ec2.GetVpcIpamPoolsArgs{\n\t\t\tFilters: []ec2.GetVpcIpamPoolsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"*test*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"address-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ipv4\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getVpcIpamPools(GetVpcIpamPoolsArgs.builder()\n .filters( \n GetVpcIpamPoolsFilterArgs.builder()\n .name(\"description\")\n .values(\"*test*\")\n .build(),\n GetVpcIpamPoolsFilterArgs.builder()\n .name(\"address-family\")\n .values(\"ipv4\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:ec2:getVpcIpamPools\n arguments:\n filters:\n - name: description\n values:\n - '*test*'\n - name: address-family\n values:\n - ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.getVpcIpamPools` provides details about IPAM pools.\n\nThis resource can prove useful when IPAM pools are created in another root\nmodule and you need the pool ids as input variables. For example, pools\ncan be shared via RAM and used to create vpcs with CIDRs from that pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getVpcIpamPools({\n filters: [\n {\n name: \"description\",\n values: [\"*test*\"],\n },\n {\n name: \"address-family\",\n values: [\"ipv4\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_ipam_pools(filters=[\n {\n \"name\": \"description\",\n \"values\": [\"*test*\"],\n },\n {\n \"name\": \"address-family\",\n \"values\": [\"ipv4\"],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetVpcIpamPools.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolsFilterInputArgs\n {\n Name = \"description\",\n Values = new[]\n {\n \"*test*\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcIpamPoolsFilterInputArgs\n {\n Name = \"address-family\",\n Values = new[]\n {\n \"ipv4\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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 := ec2.GetVpcIpamPools(ctx, \u0026ec2.GetVpcIpamPoolsArgs{\n\t\t\tFilters: []ec2.GetVpcIpamPoolsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"*test*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"address-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ipv4\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getVpcIpamPools(GetVpcIpamPoolsArgs.builder()\n .filters( \n GetVpcIpamPoolsFilterArgs.builder()\n .name(\"description\")\n .values(\"*test*\")\n .build(),\n GetVpcIpamPoolsFilterArgs.builder()\n .name(\"address-family\")\n .values(\"ipv4\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getVpcIpamPools\n Arguments:\n filters:\n - name: description\n values:\n - '*test*'\n - name: address-family\n values:\n - ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcIpamPools.\n", "properties": { @@ -398914,7 +398914,7 @@ } }, "aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection": { - "description": "The VPC Peering Connection data source provides details about\na specific VPC peering connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst pc = aws.ec2.getVpcPeeringConnection({\n vpcId: foo.id,\n peerCidrBlock: \"10.0.1.0/22\",\n});\n// Create a route table\nconst rt = new aws.ec2.RouteTable(\"rt\", {vpcId: foo.id});\n// Create a route\nconst r = new aws.ec2.Route(\"r\", {\n routeTableId: rt.id,\n destinationCidrBlock: pc.then(pc =\u003e pc.peerCidrBlock),\n vpcPeeringConnectionId: pc.then(pc =\u003e pc.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\npc = aws.ec2.get_vpc_peering_connection(vpc_id=foo[\"id\"],\n peer_cidr_block=\"10.0.1.0/22\")\n# Create a route table\nrt = aws.ec2.RouteTable(\"rt\", vpc_id=foo[\"id\"])\n# Create a route\nr = aws.ec2.Route(\"r\",\n route_table_id=rt.id,\n destination_cidr_block=pc.peer_cidr_block,\n vpc_peering_connection_id=pc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var pc = Aws.Ec2.GetVpcPeeringConnection.Invoke(new()\n {\n VpcId = foo.Id,\n PeerCidrBlock = \"10.0.1.0/22\",\n });\n\n // Create a route table\n var rt = new Aws.Ec2.RouteTable(\"rt\", new()\n {\n VpcId = foo.Id,\n });\n\n // Create a route\n var r = new Aws.Ec2.Route(\"r\", new()\n {\n RouteTableId = rt.Id,\n DestinationCidrBlock = pc.Apply(getVpcPeeringConnectionResult =\u003e getVpcPeeringConnectionResult.PeerCidrBlock),\n VpcPeeringConnectionId = pc.Apply(getVpcPeeringConnectionResult =\u003e getVpcPeeringConnectionResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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// Declare the data source\n\t\tpc, err := ec2.LookupVpcPeeringConnection(ctx, \u0026ec2.LookupVpcPeeringConnectionArgs{\n\t\t\tVpcId: pulumi.StringRef(foo.Id),\n\t\t\tPeerCidrBlock: pulumi.StringRef(\"10.0.1.0/22\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a route table\n\t\trt, err := ec2.NewRouteTable(ctx, \"rt\", \u0026ec2.RouteTableArgs{\n\t\t\tVpcId: pulumi.Any(foo.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a route\n\t\t_, err = ec2.NewRoute(ctx, \"r\", \u0026ec2.RouteArgs{\n\t\t\tRouteTableId: rt.ID(),\n\t\t\tDestinationCidrBlock: pulumi.String(pc.PeerCidrBlock),\n\t\t\tVpcPeeringConnectionId: pulumi.String(pc.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.RouteTable;\nimport com.pulumi.aws.ec2.RouteTableArgs;\nimport com.pulumi.aws.ec2.Route;\nimport com.pulumi.aws.ec2.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var pc = Ec2Functions.getVpcPeeringConnection(GetVpcPeeringConnectionArgs.builder()\n .vpcId(foo.id())\n .peerCidrBlock(\"10.0.1.0/22\")\n .build());\n\n // Create a route table\n var rt = new RouteTable(\"rt\", RouteTableArgs.builder()\n .vpcId(foo.id())\n .build());\n\n // Create a route\n var r = new Route(\"r\", RouteArgs.builder()\n .routeTableId(rt.id())\n .destinationCidrBlock(pc.applyValue(getVpcPeeringConnectionResult -\u003e getVpcPeeringConnectionResult.peerCidrBlock()))\n .vpcPeeringConnectionId(pc.applyValue(getVpcPeeringConnectionResult -\u003e getVpcPeeringConnectionResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a route table\n rt:\n type: aws:ec2:RouteTable\n properties:\n vpcId: ${foo.id}\n # Create a route\n r:\n type: aws:ec2:Route\n properties:\n routeTableId: ${rt.id}\n destinationCidrBlock: ${pc.peerCidrBlock}\n vpcPeeringConnectionId: ${pc.id}\nvariables:\n # Declare the data source\n pc:\n fn::invoke:\n function: aws:ec2:getVpcPeeringConnection\n arguments:\n vpcId: ${foo.id}\n peerCidrBlock: 10.0.1.0/22\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The VPC Peering Connection data source provides details about\na specific VPC peering connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst pc = aws.ec2.getVpcPeeringConnection({\n vpcId: foo.id,\n peerCidrBlock: \"10.0.1.0/22\",\n});\n// Create a route table\nconst rt = new aws.ec2.RouteTable(\"rt\", {vpcId: foo.id});\n// Create a route\nconst r = new aws.ec2.Route(\"r\", {\n routeTableId: rt.id,\n destinationCidrBlock: pc.then(pc =\u003e pc.peerCidrBlock),\n vpcPeeringConnectionId: pc.then(pc =\u003e pc.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\npc = aws.ec2.get_vpc_peering_connection(vpc_id=foo[\"id\"],\n peer_cidr_block=\"10.0.1.0/22\")\n# Create a route table\nrt = aws.ec2.RouteTable(\"rt\", vpc_id=foo[\"id\"])\n# Create a route\nr = aws.ec2.Route(\"r\",\n route_table_id=rt.id,\n destination_cidr_block=pc.peer_cidr_block,\n vpc_peering_connection_id=pc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var pc = Aws.Ec2.GetVpcPeeringConnection.Invoke(new()\n {\n VpcId = foo.Id,\n PeerCidrBlock = \"10.0.1.0/22\",\n });\n\n // Create a route table\n var rt = new Aws.Ec2.RouteTable(\"rt\", new()\n {\n VpcId = foo.Id,\n });\n\n // Create a route\n var r = new Aws.Ec2.Route(\"r\", new()\n {\n RouteTableId = rt.Id,\n DestinationCidrBlock = pc.Apply(getVpcPeeringConnectionResult =\u003e getVpcPeeringConnectionResult.PeerCidrBlock),\n VpcPeeringConnectionId = pc.Apply(getVpcPeeringConnectionResult =\u003e getVpcPeeringConnectionResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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// Declare the data source\n\t\tpc, err := ec2.LookupVpcPeeringConnection(ctx, \u0026ec2.LookupVpcPeeringConnectionArgs{\n\t\t\tVpcId: pulumi.StringRef(foo.Id),\n\t\t\tPeerCidrBlock: pulumi.StringRef(\"10.0.1.0/22\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a route table\n\t\trt, err := ec2.NewRouteTable(ctx, \"rt\", \u0026ec2.RouteTableArgs{\n\t\t\tVpcId: pulumi.Any(foo.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a route\n\t\t_, err = ec2.NewRoute(ctx, \"r\", \u0026ec2.RouteArgs{\n\t\t\tRouteTableId: rt.ID(),\n\t\t\tDestinationCidrBlock: pulumi.String(pc.PeerCidrBlock),\n\t\t\tVpcPeeringConnectionId: pulumi.String(pc.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.RouteTable;\nimport com.pulumi.aws.ec2.RouteTableArgs;\nimport com.pulumi.aws.ec2.Route;\nimport com.pulumi.aws.ec2.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var pc = Ec2Functions.getVpcPeeringConnection(GetVpcPeeringConnectionArgs.builder()\n .vpcId(foo.id())\n .peerCidrBlock(\"10.0.1.0/22\")\n .build());\n\n // Create a route table\n var rt = new RouteTable(\"rt\", RouteTableArgs.builder()\n .vpcId(foo.id())\n .build());\n\n // Create a route\n var r = new Route(\"r\", RouteArgs.builder()\n .routeTableId(rt.id())\n .destinationCidrBlock(pc.applyValue(getVpcPeeringConnectionResult -\u003e getVpcPeeringConnectionResult.peerCidrBlock()))\n .vpcPeeringConnectionId(pc.applyValue(getVpcPeeringConnectionResult -\u003e getVpcPeeringConnectionResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a route table\n rt:\n type: aws:ec2:RouteTable\n properties:\n vpcId: ${foo.id}\n # Create a route\n r:\n type: aws:ec2:Route\n properties:\n routeTableId: ${rt.id}\n destinationCidrBlock: ${pc.peerCidrBlock}\n vpcPeeringConnectionId: ${pc.id}\nvariables:\n # Declare the data source\n pc:\n fn::invoke:\n Function: aws:ec2:getVpcPeeringConnection\n Arguments:\n vpcId: ${foo.id}\n peerCidrBlock: 10.0.1.0/22\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcPeeringConnection.\n", "properties": { @@ -399144,7 +399144,7 @@ } }, "aws:ec2/getVpcs:getVpcs": { - "description": "This resource can be useful for getting back a list of VPC Ids for a region.\n\nThe following example retrieves a list of VPC Ids with a custom tag of `service` set to a value of \"production\".\n\n## Example Usage\n\nThe following shows outputting all VPC Ids.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const foo = await aws.ec2.getVpcs({\n tags: {\n service: \"production\",\n },\n });\n return {\n foo: foo.ids,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.get_vpcs(tags={\n \"service\": \"production\",\n})\npulumi.export(\"foo\", foo.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Ec2.GetVpcs.Invoke(new()\n {\n Tags = \n {\n { \"service\", \"production\" },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = foo.Apply(getVpcsResult =\u003e getVpcsResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.GetVpcs(ctx, \u0026ec2.GetVpcsArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"service\": \"production\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"foo\", foo.Ids)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = Ec2Functions.getVpcs(GetVpcsArgs.builder()\n .tags(Map.of(\"service\", \"production\"))\n .build());\n\n ctx.export(\"foo\", foo.applyValue(getVpcsResult -\u003e getVpcsResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n function: aws:ec2:getVpcs\n arguments:\n tags:\n service: production\noutputs:\n foo: ${foo.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAn example use case would be interpolate the `aws.ec2.getVpcs` output into `count` of an aws.ec2.FlowLog resource.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const foo = await aws.ec2.getVpcs({});\n const fooGetVpc = .map(__index =\u003e (await aws.ec2.getVpc({\n id: foo.ids[__index],\n })));\n const testFlowLog: aws.ec2.FlowLog[] = [];\n for (const range = {value: 0}; range.value \u003c foo.ids.length; range.value++) {\n testFlowLog.push(new aws.ec2.FlowLog(`test_flow_log-${range.value}`, {vpcId: fooGetVpc[range.value].id}));\n }\n return {\n foo: foo.ids,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.get_vpcs()\nfoo_get_vpc = [aws.ec2.get_vpc(id=foo.ids[__index]) for __index in range(len(foo.ids))]\ntest_flow_log = []\nfor range in [{\"value\": i} for i in range(0, len(foo.ids))]:\n test_flow_log.append(aws.ec2.FlowLog(f\"test_flow_log-{range['value']}\", vpc_id=foo_get_vpc[range[\"value\"]].id))\npulumi.export(\"foo\", foo.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(async() =\u003e \n{\n var foo = await Aws.Ec2.GetVpcs.InvokeAsync();\n\n var fooGetVpc = ;\n\n var testFlowLog = new List\u003cAws.Ec2.FlowLog\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c foo.Ids.Length; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n testFlowLog.Add(new Aws.Ec2.FlowLog($\"test_flow_log-{range.Value}\", new()\n {\n VpcId = fooGetVpc[range.Value].Id,\n }));\n }\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = foo.Ids,\n };\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This resource can be useful for getting back a list of VPC Ids for a region.\n\nThe following example retrieves a list of VPC Ids with a custom tag of `service` set to a value of \"production\".\n\n## Example Usage\n\nThe following shows outputting all VPC Ids.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const foo = await aws.ec2.getVpcs({\n tags: {\n service: \"production\",\n },\n });\n return {\n foo: foo.ids,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.get_vpcs(tags={\n \"service\": \"production\",\n})\npulumi.export(\"foo\", foo.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Ec2.GetVpcs.Invoke(new()\n {\n Tags = \n {\n { \"service\", \"production\" },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = foo.Apply(getVpcsResult =\u003e getVpcsResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.GetVpcs(ctx, \u0026ec2.GetVpcsArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"service\": \"production\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"foo\", foo.Ids)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = Ec2Functions.getVpcs(GetVpcsArgs.builder()\n .tags(Map.of(\"service\", \"production\"))\n .build());\n\n ctx.export(\"foo\", foo.applyValue(getVpcsResult -\u003e getVpcsResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: aws:ec2:getVpcs\n Arguments:\n tags:\n service: production\noutputs:\n foo: ${foo.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAn example use case would be interpolate the `aws.ec2.getVpcs` output into `count` of an aws.ec2.FlowLog resource.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const foo = await aws.ec2.getVpcs({});\n const fooGetVpc = .map(__index =\u003e (await aws.ec2.getVpc({\n id: foo.ids[__index],\n })));\n const testFlowLog: aws.ec2.FlowLog[] = [];\n for (const range = {value: 0}; range.value \u003c foo.ids.length; range.value++) {\n testFlowLog.push(new aws.ec2.FlowLog(`test_flow_log-${range.value}`, {vpcId: fooGetVpc[range.value].id}));\n }\n return {\n foo: foo.ids,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.get_vpcs()\nfoo_get_vpc = [aws.ec2.get_vpc(id=foo.ids[__index]) for __index in range(len(foo.ids))]\ntest_flow_log = []\nfor range in [{\"value\": i} for i in range(0, len(foo.ids))]:\n test_flow_log.append(aws.ec2.FlowLog(f\"test_flow_log-{range['value']}\", vpc_id=foo_get_vpc[range[\"value\"]].id))\npulumi.export(\"foo\", foo.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(async() =\u003e \n{\n var foo = await Aws.Ec2.GetVpcs.InvokeAsync();\n\n var fooGetVpc = ;\n\n var testFlowLog = new List\u003cAws.Ec2.FlowLog\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c foo.Ids.Length; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n testFlowLog.Add(new Aws.Ec2.FlowLog($\"test_flow_log-{range.Value}\", new()\n {\n VpcId = fooGetVpc[range.Value].Id,\n }));\n }\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = foo.Ids,\n };\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcs.\n", "properties": { @@ -399201,7 +399201,7 @@ } }, "aws:ec2/getVpnGateway:getVpnGateway": { - "description": "The VPN Gateway data source provides details about\na specific VPN gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.ec2.getVpnGateway({\n filters: [{\n name: \"tag:Name\",\n values: [\"vpn-gw\"],\n }],\n});\nexport const vpnGatewayId = selected.then(selected =\u003e selected.id);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.ec2.get_vpn_gateway(filters=[{\n \"name\": \"tag:Name\",\n \"values\": [\"vpn-gw\"],\n}])\npulumi.export(\"vpnGatewayId\", selected.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.Ec2.GetVpnGateway.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpnGatewayFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"vpn-gw\",\n },\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"vpnGatewayId\"] = selected.Apply(getVpnGatewayResult =\u003e getVpnGatewayResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := ec2.LookupVpnGateway(ctx, \u0026ec2.LookupVpnGatewayArgs{\n\t\t\tFilters: []ec2.GetVpnGatewayFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vpn-gw\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"vpnGatewayId\", selected.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpnGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = Ec2Functions.getVpnGateway(GetVpnGatewayArgs.builder()\n .filters(GetVpnGatewayFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"vpn-gw\")\n .build())\n .build());\n\n ctx.export(\"vpnGatewayId\", selected.applyValue(getVpnGatewayResult -\u003e getVpnGatewayResult.id()));\n }\n}\n```\n```yaml\nvariables:\n selected:\n fn::invoke:\n function: aws:ec2:getVpnGateway\n arguments:\n filters:\n - name: tag:Name\n values:\n - vpn-gw\noutputs:\n vpnGatewayId: ${selected.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The VPN Gateway data source provides details about\na specific VPN gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.ec2.getVpnGateway({\n filters: [{\n name: \"tag:Name\",\n values: [\"vpn-gw\"],\n }],\n});\nexport const vpnGatewayId = selected.then(selected =\u003e selected.id);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.ec2.get_vpn_gateway(filters=[{\n \"name\": \"tag:Name\",\n \"values\": [\"vpn-gw\"],\n}])\npulumi.export(\"vpnGatewayId\", selected.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.Ec2.GetVpnGateway.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpnGatewayFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"vpn-gw\",\n },\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"vpnGatewayId\"] = selected.Apply(getVpnGatewayResult =\u003e getVpnGatewayResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := ec2.LookupVpnGateway(ctx, \u0026ec2.LookupVpnGatewayArgs{\n\t\t\tFilters: []ec2.GetVpnGatewayFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vpn-gw\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"vpnGatewayId\", selected.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpnGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = Ec2Functions.getVpnGateway(GetVpnGatewayArgs.builder()\n .filters(GetVpnGatewayFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"vpn-gw\")\n .build())\n .build());\n\n ctx.export(\"vpnGatewayId\", selected.applyValue(getVpnGatewayResult -\u003e getVpnGatewayResult.id()));\n }\n}\n```\n```yaml\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getVpnGateway\n Arguments:\n filters:\n - name: tag:Name\n values:\n - vpn-gw\noutputs:\n vpnGatewayId: ${selected.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpnGateway.\n", "properties": { @@ -399289,7 +399289,7 @@ } }, "aws:ec2clientvpn/getEndpoint:getEndpoint": { - "description": "Get information on an EC2 Client VPN endpoint.\n\n## Example Usage\n\n### By Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2clientvpn.getEndpoint({\n filters: [{\n name: \"tag:Name\",\n values: [\"ExampleVpn\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2clientvpn.get_endpoint(filters=[{\n \"name\": \"tag:Name\",\n \"values\": [\"ExampleVpn\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2ClientVpn.GetEndpoint.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2ClientVpn.Inputs.GetEndpointFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"ExampleVpn\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2clientvpn\"\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 := ec2clientvpn.LookupEndpoint(ctx, \u0026ec2clientvpn.LookupEndpointArgs{\n\t\t\tFilters: []ec2clientvpn.GetEndpointFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ExampleVpn\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2clientvpn.Ec2clientvpnFunctions;\nimport com.pulumi.aws.ec2clientvpn.inputs.GetEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2clientvpnFunctions.getEndpoint(GetEndpointArgs.builder()\n .filters(GetEndpointFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"ExampleVpn\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2clientvpn:getEndpoint\n arguments:\n filters:\n - name: tag:Name\n values:\n - ExampleVpn\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2clientvpn.getEndpoint({\n clientVpnEndpointId: \"cvpn-endpoint-083cf50d6eb314f21\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2clientvpn.get_endpoint(client_vpn_endpoint_id=\"cvpn-endpoint-083cf50d6eb314f21\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2ClientVpn.GetEndpoint.Invoke(new()\n {\n ClientVpnEndpointId = \"cvpn-endpoint-083cf50d6eb314f21\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2clientvpn\"\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 := ec2clientvpn.LookupEndpoint(ctx, \u0026ec2clientvpn.LookupEndpointArgs{\n\t\t\tClientVpnEndpointId: pulumi.StringRef(\"cvpn-endpoint-083cf50d6eb314f21\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2clientvpn.Ec2clientvpnFunctions;\nimport com.pulumi.aws.ec2clientvpn.inputs.GetEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2clientvpnFunctions.getEndpoint(GetEndpointArgs.builder()\n .clientVpnEndpointId(\"cvpn-endpoint-083cf50d6eb314f21\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2clientvpn:getEndpoint\n arguments:\n clientVpnEndpointId: cvpn-endpoint-083cf50d6eb314f21\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an EC2 Client VPN endpoint.\n\n## Example Usage\n\n### By Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2clientvpn.getEndpoint({\n filters: [{\n name: \"tag:Name\",\n values: [\"ExampleVpn\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2clientvpn.get_endpoint(filters=[{\n \"name\": \"tag:Name\",\n \"values\": [\"ExampleVpn\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2ClientVpn.GetEndpoint.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2ClientVpn.Inputs.GetEndpointFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"ExampleVpn\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2clientvpn\"\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 := ec2clientvpn.LookupEndpoint(ctx, \u0026ec2clientvpn.LookupEndpointArgs{\n\t\t\tFilters: []ec2clientvpn.GetEndpointFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ExampleVpn\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2clientvpn.Ec2clientvpnFunctions;\nimport com.pulumi.aws.ec2clientvpn.inputs.GetEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2clientvpnFunctions.getEndpoint(GetEndpointArgs.builder()\n .filters(GetEndpointFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"ExampleVpn\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2clientvpn:getEndpoint\n Arguments:\n filters:\n - name: tag:Name\n values:\n - ExampleVpn\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2clientvpn.getEndpoint({\n clientVpnEndpointId: \"cvpn-endpoint-083cf50d6eb314f21\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2clientvpn.get_endpoint(client_vpn_endpoint_id=\"cvpn-endpoint-083cf50d6eb314f21\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2ClientVpn.GetEndpoint.Invoke(new()\n {\n ClientVpnEndpointId = \"cvpn-endpoint-083cf50d6eb314f21\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2clientvpn\"\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 := ec2clientvpn.LookupEndpoint(ctx, \u0026ec2clientvpn.LookupEndpointArgs{\n\t\t\tClientVpnEndpointId: pulumi.StringRef(\"cvpn-endpoint-083cf50d6eb314f21\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2clientvpn.Ec2clientvpnFunctions;\nimport com.pulumi.aws.ec2clientvpn.inputs.GetEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2clientvpnFunctions.getEndpoint(GetEndpointArgs.builder()\n .clientVpnEndpointId(\"cvpn-endpoint-083cf50d6eb314f21\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2clientvpn:getEndpoint\n Arguments:\n clientVpnEndpointId: cvpn-endpoint-083cf50d6eb314f21\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEndpoint.\n", "properties": { @@ -399454,7 +399454,7 @@ } }, "aws:ec2transitgateway/getAttachment:getAttachment": { - "description": "Get information on an EC2 Transit Gateway's attachment to a resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getAttachment({\n filters: [\n {\n name: \"transit-gateway-id\",\n values: [exampleAwsEc2TransitGateway.id],\n },\n {\n name: \"resource-type\",\n values: [\"peering\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_attachment(filters=[\n {\n \"name\": \"transit-gateway-id\",\n \"values\": [example_aws_ec2_transit_gateway[\"id\"]],\n },\n {\n \"name\": \"resource-type\",\n \"values\": [\"peering\"],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetAttachment.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetAttachmentFilterInputArgs\n {\n Name = \"transit-gateway-id\",\n Values = new[]\n {\n exampleAwsEc2TransitGateway.Id,\n },\n },\n new Aws.Ec2TransitGateway.Inputs.GetAttachmentFilterInputArgs\n {\n Name = \"resource-type\",\n Values = new[]\n {\n \"peering\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := ec2transitgateway.GetAttachment(ctx, \u0026ec2transitgateway.GetAttachmentArgs{\nFilters: []ec2transitgateway.GetAttachmentFilter{\n{\nName: \"transit-gateway-id\",\nValues: interface{}{\nexampleAwsEc2TransitGateway.Id,\n},\n},\n{\nName: \"resource-type\",\nValues: []string{\n\"peering\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getAttachment(GetAttachmentArgs.builder()\n .filters( \n GetAttachmentFilterArgs.builder()\n .name(\"transit-gateway-id\")\n .values(exampleAwsEc2TransitGateway.id())\n .build(),\n GetAttachmentFilterArgs.builder()\n .name(\"resource-type\")\n .values(\"peering\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getAttachment\n arguments:\n filters:\n - name: transit-gateway-id\n values:\n - ${exampleAwsEc2TransitGateway.id}\n - name: resource-type\n values:\n - peering\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an EC2 Transit Gateway's attachment to a resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getAttachment({\n filters: [\n {\n name: \"transit-gateway-id\",\n values: [exampleAwsEc2TransitGateway.id],\n },\n {\n name: \"resource-type\",\n values: [\"peering\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_attachment(filters=[\n {\n \"name\": \"transit-gateway-id\",\n \"values\": [example_aws_ec2_transit_gateway[\"id\"]],\n },\n {\n \"name\": \"resource-type\",\n \"values\": [\"peering\"],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetAttachment.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetAttachmentFilterInputArgs\n {\n Name = \"transit-gateway-id\",\n Values = new[]\n {\n exampleAwsEc2TransitGateway.Id,\n },\n },\n new Aws.Ec2TransitGateway.Inputs.GetAttachmentFilterInputArgs\n {\n Name = \"resource-type\",\n Values = new[]\n {\n \"peering\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := ec2transitgateway.GetAttachment(ctx, \u0026ec2transitgateway.GetAttachmentArgs{\nFilters: []ec2transitgateway.GetAttachmentFilter{\n{\nName: \"transit-gateway-id\",\nValues: interface{}{\nexampleAwsEc2TransitGateway.Id,\n},\n},\n{\nName: \"resource-type\",\nValues: []string{\n\"peering\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getAttachment(GetAttachmentArgs.builder()\n .filters( \n GetAttachmentFilterArgs.builder()\n .name(\"transit-gateway-id\")\n .values(exampleAwsEc2TransitGateway.id())\n .build(),\n GetAttachmentFilterArgs.builder()\n .name(\"resource-type\")\n .values(\"peering\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getAttachment\n Arguments:\n filters:\n - name: transit-gateway-id\n values:\n - ${exampleAwsEc2TransitGateway.id}\n - name: resource-type\n values:\n - peering\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAttachment.\n", "properties": { @@ -399613,7 +399613,7 @@ } }, "aws:ec2transitgateway/getConnect:getConnect": { - "description": "Get information on an EC2 Transit Gateway Connect.\n\n## Example Usage\n\n### By Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getConnect({\n filters: [{\n name: \"transport-transit-gateway-attachment-id\",\n values: [\"tgw-attach-12345678\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_connect(filters=[{\n \"name\": \"transport-transit-gateway-attachment-id\",\n \"values\": [\"tgw-attach-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetConnect.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetConnectFilterInputArgs\n {\n Name = \"transport-transit-gateway-attachment-id\",\n Values = new[]\n {\n \"tgw-attach-12345678\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupConnect(ctx, \u0026ec2transitgateway.LookupConnectArgs{\n\t\t\tFilters: []ec2transitgateway.GetConnectFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"transport-transit-gateway-attachment-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"tgw-attach-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetConnectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getConnect(GetConnectArgs.builder()\n .filters(GetConnectFilterArgs.builder()\n .name(\"transport-transit-gateway-attachment-id\")\n .values(\"tgw-attach-12345678\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getConnect\n arguments:\n filters:\n - name: transport-transit-gateway-attachment-id\n values:\n - tgw-attach-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getConnect({\n transitGatewayConnectId: \"tgw-attach-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_connect(transit_gateway_connect_id=\"tgw-attach-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetConnect.Invoke(new()\n {\n TransitGatewayConnectId = \"tgw-attach-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupConnect(ctx, \u0026ec2transitgateway.LookupConnectArgs{\n\t\t\tTransitGatewayConnectId: pulumi.StringRef(\"tgw-attach-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetConnectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getConnect(GetConnectArgs.builder()\n .transitGatewayConnectId(\"tgw-attach-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getConnect\n arguments:\n transitGatewayConnectId: tgw-attach-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an EC2 Transit Gateway Connect.\n\n## Example Usage\n\n### By Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getConnect({\n filters: [{\n name: \"transport-transit-gateway-attachment-id\",\n values: [\"tgw-attach-12345678\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_connect(filters=[{\n \"name\": \"transport-transit-gateway-attachment-id\",\n \"values\": [\"tgw-attach-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetConnect.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetConnectFilterInputArgs\n {\n Name = \"transport-transit-gateway-attachment-id\",\n Values = new[]\n {\n \"tgw-attach-12345678\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupConnect(ctx, \u0026ec2transitgateway.LookupConnectArgs{\n\t\t\tFilters: []ec2transitgateway.GetConnectFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"transport-transit-gateway-attachment-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"tgw-attach-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetConnectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getConnect(GetConnectArgs.builder()\n .filters(GetConnectFilterArgs.builder()\n .name(\"transport-transit-gateway-attachment-id\")\n .values(\"tgw-attach-12345678\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getConnect\n Arguments:\n filters:\n - name: transport-transit-gateway-attachment-id\n values:\n - tgw-attach-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getConnect({\n transitGatewayConnectId: \"tgw-attach-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_connect(transit_gateway_connect_id=\"tgw-attach-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetConnect.Invoke(new()\n {\n TransitGatewayConnectId = \"tgw-attach-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupConnect(ctx, \u0026ec2transitgateway.LookupConnectArgs{\n\t\t\tTransitGatewayConnectId: pulumi.StringRef(\"tgw-attach-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetConnectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getConnect(GetConnectArgs.builder()\n .transitGatewayConnectId(\"tgw-attach-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getConnect\n Arguments:\n transitGatewayConnectId: tgw-attach-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getConnect.\n", "properties": { @@ -399686,7 +399686,7 @@ } }, "aws:ec2transitgateway/getConnectPeer:getConnectPeer": { - "description": "Get information on an EC2 Transit Gateway Connect Peer.\n\n## Example Usage\n\n### By Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getConnectPeer({\n filters: [{\n name: \"transit-gateway-attachment-id\",\n values: [\"tgw-attach-12345678\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_connect_peer(filters=[{\n \"name\": \"transit-gateway-attachment-id\",\n \"values\": [\"tgw-attach-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetConnectPeer.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetConnectPeerFilterInputArgs\n {\n Name = \"transit-gateway-attachment-id\",\n Values = new[]\n {\n \"tgw-attach-12345678\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupConnectPeer(ctx, \u0026ec2transitgateway.LookupConnectPeerArgs{\n\t\t\tFilters: []ec2transitgateway.GetConnectPeerFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"transit-gateway-attachment-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"tgw-attach-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetConnectPeerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getConnectPeer(GetConnectPeerArgs.builder()\n .filters(GetConnectPeerFilterArgs.builder()\n .name(\"transit-gateway-attachment-id\")\n .values(\"tgw-attach-12345678\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getConnectPeer\n arguments:\n filters:\n - name: transit-gateway-attachment-id\n values:\n - tgw-attach-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getConnectPeer({\n transitGatewayConnectPeerId: \"tgw-connect-peer-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_connect_peer(transit_gateway_connect_peer_id=\"tgw-connect-peer-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetConnectPeer.Invoke(new()\n {\n TransitGatewayConnectPeerId = \"tgw-connect-peer-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupConnectPeer(ctx, \u0026ec2transitgateway.LookupConnectPeerArgs{\n\t\t\tTransitGatewayConnectPeerId: pulumi.StringRef(\"tgw-connect-peer-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetConnectPeerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getConnectPeer(GetConnectPeerArgs.builder()\n .transitGatewayConnectPeerId(\"tgw-connect-peer-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getConnectPeer\n arguments:\n transitGatewayConnectPeerId: tgw-connect-peer-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an EC2 Transit Gateway Connect Peer.\n\n## Example Usage\n\n### By Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getConnectPeer({\n filters: [{\n name: \"transit-gateway-attachment-id\",\n values: [\"tgw-attach-12345678\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_connect_peer(filters=[{\n \"name\": \"transit-gateway-attachment-id\",\n \"values\": [\"tgw-attach-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetConnectPeer.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetConnectPeerFilterInputArgs\n {\n Name = \"transit-gateway-attachment-id\",\n Values = new[]\n {\n \"tgw-attach-12345678\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupConnectPeer(ctx, \u0026ec2transitgateway.LookupConnectPeerArgs{\n\t\t\tFilters: []ec2transitgateway.GetConnectPeerFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"transit-gateway-attachment-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"tgw-attach-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetConnectPeerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getConnectPeer(GetConnectPeerArgs.builder()\n .filters(GetConnectPeerFilterArgs.builder()\n .name(\"transit-gateway-attachment-id\")\n .values(\"tgw-attach-12345678\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getConnectPeer\n Arguments:\n filters:\n - name: transit-gateway-attachment-id\n values:\n - tgw-attach-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getConnectPeer({\n transitGatewayConnectPeerId: \"tgw-connect-peer-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_connect_peer(transit_gateway_connect_peer_id=\"tgw-connect-peer-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetConnectPeer.Invoke(new()\n {\n TransitGatewayConnectPeerId = \"tgw-connect-peer-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupConnectPeer(ctx, \u0026ec2transitgateway.LookupConnectPeerArgs{\n\t\t\tTransitGatewayConnectPeerId: pulumi.StringRef(\"tgw-connect-peer-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetConnectPeerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getConnectPeer(GetConnectPeerArgs.builder()\n .transitGatewayConnectPeerId(\"tgw-connect-peer-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getConnectPeer\n Arguments:\n transitGatewayConnectPeerId: tgw-connect-peer-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getConnectPeer.\n", "properties": { @@ -399790,7 +399790,7 @@ } }, "aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment": { - "description": "Get information on an EC2 Transit Gateway's attachment to a Direct Connect Gateway.\n\n## Example Usage\n\n### By Transit Gateway and Direct Connect Gateway Identifiers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getDirectConnectGatewayAttachment({\n transitGatewayId: exampleAwsEc2TransitGateway.id,\n dxGatewayId: exampleAwsDxGateway.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_direct_connect_gateway_attachment(transit_gateway_id=example_aws_ec2_transit_gateway[\"id\"],\n dx_gateway_id=example_aws_dx_gateway[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetDirectConnectGatewayAttachment.Invoke(new()\n {\n TransitGatewayId = exampleAwsEc2TransitGateway.Id,\n DxGatewayId = exampleAwsDxGateway.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.GetDirectConnectGatewayAttachment(ctx, \u0026ec2transitgateway.GetDirectConnectGatewayAttachmentArgs{\n\t\t\tTransitGatewayId: pulumi.StringRef(exampleAwsEc2TransitGateway.Id),\n\t\t\tDxGatewayId: pulumi.StringRef(exampleAwsDxGateway.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetDirectConnectGatewayAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getDirectConnectGatewayAttachment(GetDirectConnectGatewayAttachmentArgs.builder()\n .transitGatewayId(exampleAwsEc2TransitGateway.id())\n .dxGatewayId(exampleAwsDxGateway.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getDirectConnectGatewayAttachment\n arguments:\n transitGatewayId: ${exampleAwsEc2TransitGateway.id}\n dxGatewayId: ${exampleAwsDxGateway.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an EC2 Transit Gateway's attachment to a Direct Connect Gateway.\n\n## Example Usage\n\n### By Transit Gateway and Direct Connect Gateway Identifiers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getDirectConnectGatewayAttachment({\n transitGatewayId: exampleAwsEc2TransitGateway.id,\n dxGatewayId: exampleAwsDxGateway.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_direct_connect_gateway_attachment(transit_gateway_id=example_aws_ec2_transit_gateway[\"id\"],\n dx_gateway_id=example_aws_dx_gateway[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetDirectConnectGatewayAttachment.Invoke(new()\n {\n TransitGatewayId = exampleAwsEc2TransitGateway.Id,\n DxGatewayId = exampleAwsDxGateway.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.GetDirectConnectGatewayAttachment(ctx, \u0026ec2transitgateway.GetDirectConnectGatewayAttachmentArgs{\n\t\t\tTransitGatewayId: pulumi.StringRef(exampleAwsEc2TransitGateway.Id),\n\t\t\tDxGatewayId: pulumi.StringRef(exampleAwsDxGateway.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetDirectConnectGatewayAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getDirectConnectGatewayAttachment(GetDirectConnectGatewayAttachmentArgs.builder()\n .transitGatewayId(exampleAwsEc2TransitGateway.id())\n .dxGatewayId(exampleAwsDxGateway.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getDirectConnectGatewayAttachment\n Arguments:\n transitGatewayId: ${exampleAwsEc2TransitGateway.id}\n dxGatewayId: ${exampleAwsDxGateway.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDirectConnectGatewayAttachment.\n", "properties": { @@ -399854,7 +399854,7 @@ } }, "aws:ec2transitgateway/getMulticastDomain:getMulticastDomain": { - "description": "Get information on an EC2 Transit Gateway Multicast Domain.\n\n## Example Usage\n\n### By Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getMulticastDomain({\n filters: [{\n name: \"transit-gateway-multicast-domain-id\",\n values: [\"tgw-mcast-domain-12345678\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_multicast_domain(filters=[{\n \"name\": \"transit-gateway-multicast-domain-id\",\n \"values\": [\"tgw-mcast-domain-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetMulticastDomain.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetMulticastDomainFilterInputArgs\n {\n Name = \"transit-gateway-multicast-domain-id\",\n Values = new[]\n {\n \"tgw-mcast-domain-12345678\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupMulticastDomain(ctx, \u0026ec2transitgateway.LookupMulticastDomainArgs{\n\t\t\tFilters: []ec2transitgateway.GetMulticastDomainFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"transit-gateway-multicast-domain-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"tgw-mcast-domain-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetMulticastDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getMulticastDomain(GetMulticastDomainArgs.builder()\n .filters(GetMulticastDomainFilterArgs.builder()\n .name(\"transit-gateway-multicast-domain-id\")\n .values(\"tgw-mcast-domain-12345678\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getMulticastDomain\n arguments:\n filters:\n - name: transit-gateway-multicast-domain-id\n values:\n - tgw-mcast-domain-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getMulticastDomain({\n transitGatewayMulticastDomainId: \"tgw-mcast-domain-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_multicast_domain(transit_gateway_multicast_domain_id=\"tgw-mcast-domain-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetMulticastDomain.Invoke(new()\n {\n TransitGatewayMulticastDomainId = \"tgw-mcast-domain-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupMulticastDomain(ctx, \u0026ec2transitgateway.LookupMulticastDomainArgs{\n\t\t\tTransitGatewayMulticastDomainId: pulumi.StringRef(\"tgw-mcast-domain-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetMulticastDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getMulticastDomain(GetMulticastDomainArgs.builder()\n .transitGatewayMulticastDomainId(\"tgw-mcast-domain-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getMulticastDomain\n arguments:\n transitGatewayMulticastDomainId: tgw-mcast-domain-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an EC2 Transit Gateway Multicast Domain.\n\n## Example Usage\n\n### By Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getMulticastDomain({\n filters: [{\n name: \"transit-gateway-multicast-domain-id\",\n values: [\"tgw-mcast-domain-12345678\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_multicast_domain(filters=[{\n \"name\": \"transit-gateway-multicast-domain-id\",\n \"values\": [\"tgw-mcast-domain-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetMulticastDomain.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetMulticastDomainFilterInputArgs\n {\n Name = \"transit-gateway-multicast-domain-id\",\n Values = new[]\n {\n \"tgw-mcast-domain-12345678\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupMulticastDomain(ctx, \u0026ec2transitgateway.LookupMulticastDomainArgs{\n\t\t\tFilters: []ec2transitgateway.GetMulticastDomainFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"transit-gateway-multicast-domain-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"tgw-mcast-domain-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetMulticastDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getMulticastDomain(GetMulticastDomainArgs.builder()\n .filters(GetMulticastDomainFilterArgs.builder()\n .name(\"transit-gateway-multicast-domain-id\")\n .values(\"tgw-mcast-domain-12345678\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getMulticastDomain\n Arguments:\n filters:\n - name: transit-gateway-multicast-domain-id\n values:\n - tgw-mcast-domain-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getMulticastDomain({\n transitGatewayMulticastDomainId: \"tgw-mcast-domain-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_multicast_domain(transit_gateway_multicast_domain_id=\"tgw-mcast-domain-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetMulticastDomain.Invoke(new()\n {\n TransitGatewayMulticastDomainId = \"tgw-mcast-domain-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupMulticastDomain(ctx, \u0026ec2transitgateway.LookupMulticastDomainArgs{\n\t\t\tTransitGatewayMulticastDomainId: pulumi.StringRef(\"tgw-mcast-domain-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetMulticastDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getMulticastDomain(GetMulticastDomainArgs.builder()\n .transitGatewayMulticastDomainId(\"tgw-mcast-domain-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getMulticastDomain\n Arguments:\n transitGatewayMulticastDomainId: tgw-mcast-domain-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getMulticastDomain.\n", "properties": { @@ -399975,7 +399975,7 @@ } }, "aws:ec2transitgateway/getPeeringAttachment:getPeeringAttachment": { - "description": "Get information on an EC2 Transit Gateway Peering Attachment.\n\n## Example Usage\n\n### By Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getPeeringAttachment({\n filters: [{\n name: \"transit-gateway-attachment-id\",\n values: [\"tgw-attach-12345678\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_peering_attachment(filters=[{\n \"name\": \"transit-gateway-attachment-id\",\n \"values\": [\"tgw-attach-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetPeeringAttachment.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetPeeringAttachmentFilterInputArgs\n {\n Name = \"transit-gateway-attachment-id\",\n Values = new[]\n {\n \"tgw-attach-12345678\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupPeeringAttachment(ctx, \u0026ec2transitgateway.LookupPeeringAttachmentArgs{\n\t\t\tFilters: []ec2transitgateway.GetPeeringAttachmentFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"transit-gateway-attachment-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"tgw-attach-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetPeeringAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getPeeringAttachment(GetPeeringAttachmentArgs.builder()\n .filters(GetPeeringAttachmentFilterArgs.builder()\n .name(\"transit-gateway-attachment-id\")\n .values(\"tgw-attach-12345678\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getPeeringAttachment\n arguments:\n filters:\n - name: transit-gateway-attachment-id\n values:\n - tgw-attach-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst attachment = aws.ec2transitgateway.getPeeringAttachment({\n id: \"tgw-attach-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nattachment = aws.ec2transitgateway.get_peering_attachment(id=\"tgw-attach-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var attachment = Aws.Ec2TransitGateway.GetPeeringAttachment.Invoke(new()\n {\n Id = \"tgw-attach-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupPeeringAttachment(ctx, \u0026ec2transitgateway.LookupPeeringAttachmentArgs{\n\t\t\tId: pulumi.StringRef(\"tgw-attach-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetPeeringAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var attachment = Ec2transitgatewayFunctions.getPeeringAttachment(GetPeeringAttachmentArgs.builder()\n .id(\"tgw-attach-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n attachment:\n fn::invoke:\n function: aws:ec2transitgateway:getPeeringAttachment\n arguments:\n id: tgw-attach-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an EC2 Transit Gateway Peering Attachment.\n\n## Example Usage\n\n### By Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getPeeringAttachment({\n filters: [{\n name: \"transit-gateway-attachment-id\",\n values: [\"tgw-attach-12345678\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_peering_attachment(filters=[{\n \"name\": \"transit-gateway-attachment-id\",\n \"values\": [\"tgw-attach-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetPeeringAttachment.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetPeeringAttachmentFilterInputArgs\n {\n Name = \"transit-gateway-attachment-id\",\n Values = new[]\n {\n \"tgw-attach-12345678\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupPeeringAttachment(ctx, \u0026ec2transitgateway.LookupPeeringAttachmentArgs{\n\t\t\tFilters: []ec2transitgateway.GetPeeringAttachmentFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"transit-gateway-attachment-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"tgw-attach-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetPeeringAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getPeeringAttachment(GetPeeringAttachmentArgs.builder()\n .filters(GetPeeringAttachmentFilterArgs.builder()\n .name(\"transit-gateway-attachment-id\")\n .values(\"tgw-attach-12345678\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getPeeringAttachment\n Arguments:\n filters:\n - name: transit-gateway-attachment-id\n values:\n - tgw-attach-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst attachment = aws.ec2transitgateway.getPeeringAttachment({\n id: \"tgw-attach-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nattachment = aws.ec2transitgateway.get_peering_attachment(id=\"tgw-attach-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var attachment = Aws.Ec2TransitGateway.GetPeeringAttachment.Invoke(new()\n {\n Id = \"tgw-attach-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupPeeringAttachment(ctx, \u0026ec2transitgateway.LookupPeeringAttachmentArgs{\n\t\t\tId: pulumi.StringRef(\"tgw-attach-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetPeeringAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var attachment = Ec2transitgatewayFunctions.getPeeringAttachment(GetPeeringAttachmentArgs.builder()\n .id(\"tgw-attach-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n attachment:\n fn::invoke:\n Function: aws:ec2transitgateway:getPeeringAttachment\n Arguments:\n id: tgw-attach-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPeeringAttachment.\n", "properties": { @@ -400051,7 +400051,7 @@ } }, "aws:ec2transitgateway/getPeeringAttachments:getPeeringAttachments": { - "description": "Get information on EC2 Transit Gateway Peering Attachments.\n\n## Example Usage\n\n### All Resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2transitgateway.getPeeringAttachments({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2transitgateway.get_peering_attachments()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2TransitGateway.GetPeeringAttachments.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.GetPeeringAttachments(ctx, \u0026ec2transitgateway.GetPeeringAttachmentsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetPeeringAttachmentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2transitgatewayFunctions.getPeeringAttachments();\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:ec2transitgateway:getPeeringAttachments\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst filtered = aws.ec2transitgateway.getPeeringAttachments({\n filters: [{\n name: \"state\",\n values: [\"pendingAcceptance\"],\n }],\n});\nconst unit = .map(__index =\u003e (aws.ec2transitgateway.getPeeringAttachment({\n id: _arg0_.ids[__index],\n})));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfiltered = aws.ec2transitgateway.get_peering_attachments(filters=[{\n \"name\": \"state\",\n \"values\": [\"pendingAcceptance\"],\n}])\nunit = [aws.ec2transitgateway.get_peering_attachment(id=filtered.ids[__index]) for __index in range(len(filtered.ids))]\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var filtered = Aws.Ec2TransitGateway.GetPeeringAttachments.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetPeeringAttachmentsFilterInputArgs\n {\n Name = \"state\",\n Values = new[]\n {\n \"pendingAcceptance\",\n },\n },\n },\n });\n\n var unit = ;\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on EC2 Transit Gateway Peering Attachments.\n\n## Example Usage\n\n### All Resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2transitgateway.getPeeringAttachments({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2transitgateway.get_peering_attachments()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2TransitGateway.GetPeeringAttachments.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.GetPeeringAttachments(ctx, \u0026ec2transitgateway.GetPeeringAttachmentsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetPeeringAttachmentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2transitgatewayFunctions.getPeeringAttachments();\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2transitgateway:getPeeringAttachments\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst filtered = aws.ec2transitgateway.getPeeringAttachments({\n filters: [{\n name: \"state\",\n values: [\"pendingAcceptance\"],\n }],\n});\nconst unit = .map(__index =\u003e (aws.ec2transitgateway.getPeeringAttachment({\n id: _arg0_.ids[__index],\n})));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfiltered = aws.ec2transitgateway.get_peering_attachments(filters=[{\n \"name\": \"state\",\n \"values\": [\"pendingAcceptance\"],\n}])\nunit = [aws.ec2transitgateway.get_peering_attachment(id=filtered.ids[__index]) for __index in range(len(filtered.ids))]\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var filtered = Aws.Ec2TransitGateway.GetPeeringAttachments.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetPeeringAttachmentsFilterInputArgs\n {\n Name = \"state\",\n Values = new[]\n {\n \"pendingAcceptance\",\n },\n },\n },\n });\n\n var unit = ;\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPeeringAttachments.\n", "properties": { @@ -400094,7 +400094,7 @@ } }, "aws:ec2transitgateway/getRouteTable:getRouteTable": { - "description": "Get information on an EC2 Transit Gateway Route Table.\n\n## Example Usage\n\n### By Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getRouteTable({\n filters: [\n {\n name: \"default-association-route-table\",\n values: [\"true\"],\n },\n {\n name: \"transit-gateway-id\",\n values: [\"tgw-12345678\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_route_table(filters=[\n {\n \"name\": \"default-association-route-table\",\n \"values\": [\"true\"],\n },\n {\n \"name\": \"transit-gateway-id\",\n \"values\": [\"tgw-12345678\"],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetRouteTable.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetRouteTableFilterInputArgs\n {\n Name = \"default-association-route-table\",\n Values = new[]\n {\n \"true\",\n },\n },\n new Aws.Ec2TransitGateway.Inputs.GetRouteTableFilterInputArgs\n {\n Name = \"transit-gateway-id\",\n Values = new[]\n {\n \"tgw-12345678\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupRouteTable(ctx, \u0026ec2transitgateway.LookupRouteTableArgs{\n\t\t\tFilters: []ec2transitgateway.GetRouteTableFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"default-association-route-table\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"true\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"transit-gateway-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"tgw-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetRouteTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getRouteTable(GetRouteTableArgs.builder()\n .filters( \n GetRouteTableFilterArgs.builder()\n .name(\"default-association-route-table\")\n .values(\"true\")\n .build(),\n GetRouteTableFilterArgs.builder()\n .name(\"transit-gateway-id\")\n .values(\"tgw-12345678\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getRouteTable\n arguments:\n filters:\n - name: default-association-route-table\n values:\n - 'true'\n - name: transit-gateway-id\n values:\n - tgw-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getRouteTable({\n id: \"tgw-rtb-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_route_table(id=\"tgw-rtb-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetRouteTable.Invoke(new()\n {\n Id = \"tgw-rtb-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupRouteTable(ctx, \u0026ec2transitgateway.LookupRouteTableArgs{\n\t\t\tId: pulumi.StringRef(\"tgw-rtb-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetRouteTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getRouteTable(GetRouteTableArgs.builder()\n .id(\"tgw-rtb-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getRouteTable\n arguments:\n id: tgw-rtb-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an EC2 Transit Gateway Route Table.\n\n## Example Usage\n\n### By Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getRouteTable({\n filters: [\n {\n name: \"default-association-route-table\",\n values: [\"true\"],\n },\n {\n name: \"transit-gateway-id\",\n values: [\"tgw-12345678\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_route_table(filters=[\n {\n \"name\": \"default-association-route-table\",\n \"values\": [\"true\"],\n },\n {\n \"name\": \"transit-gateway-id\",\n \"values\": [\"tgw-12345678\"],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetRouteTable.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetRouteTableFilterInputArgs\n {\n Name = \"default-association-route-table\",\n Values = new[]\n {\n \"true\",\n },\n },\n new Aws.Ec2TransitGateway.Inputs.GetRouteTableFilterInputArgs\n {\n Name = \"transit-gateway-id\",\n Values = new[]\n {\n \"tgw-12345678\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupRouteTable(ctx, \u0026ec2transitgateway.LookupRouteTableArgs{\n\t\t\tFilters: []ec2transitgateway.GetRouteTableFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"default-association-route-table\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"true\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"transit-gateway-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"tgw-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetRouteTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getRouteTable(GetRouteTableArgs.builder()\n .filters( \n GetRouteTableFilterArgs.builder()\n .name(\"default-association-route-table\")\n .values(\"true\")\n .build(),\n GetRouteTableFilterArgs.builder()\n .name(\"transit-gateway-id\")\n .values(\"tgw-12345678\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getRouteTable\n Arguments:\n filters:\n - name: default-association-route-table\n values:\n - 'true'\n - name: transit-gateway-id\n values:\n - tgw-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getRouteTable({\n id: \"tgw-rtb-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_route_table(id=\"tgw-rtb-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetRouteTable.Invoke(new()\n {\n Id = \"tgw-rtb-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupRouteTable(ctx, \u0026ec2transitgateway.LookupRouteTableArgs{\n\t\t\tId: pulumi.StringRef(\"tgw-rtb-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetRouteTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getRouteTable(GetRouteTableArgs.builder()\n .id(\"tgw-rtb-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getRouteTable\n Arguments:\n id: tgw-rtb-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRouteTable.\n", "properties": { @@ -400168,7 +400168,7 @@ } }, "aws:ec2transitgateway/getRouteTableAssociations:getRouteTableAssociations": { - "description": "Provides information for multiple EC2 Transit Gateway Route Table Associations, such as their identifiers.\n\n## Example Usage\n\n### By Transit Gateway Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getRouteTableAssociations({\n transitGatewayRouteTableId: exampleAwsEc2TransitGatewayRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_route_table_associations(transit_gateway_route_table_id=example_aws_ec2_transit_gateway_route_table[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetRouteTableAssociations.Invoke(new()\n {\n TransitGatewayRouteTableId = exampleAwsEc2TransitGatewayRouteTable.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.GetRouteTableAssociations(ctx, \u0026ec2transitgateway.GetRouteTableAssociationsArgs{\n\t\t\tTransitGatewayRouteTableId: exampleAwsEc2TransitGatewayRouteTable.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetRouteTableAssociationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getRouteTableAssociations(GetRouteTableAssociationsArgs.builder()\n .transitGatewayRouteTableId(exampleAwsEc2TransitGatewayRouteTable.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getRouteTableAssociations\n arguments:\n transitGatewayRouteTableId: ${exampleAwsEc2TransitGatewayRouteTable.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information for multiple EC2 Transit Gateway Route Table Associations, such as their identifiers.\n\n## Example Usage\n\n### By Transit Gateway Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getRouteTableAssociations({\n transitGatewayRouteTableId: exampleAwsEc2TransitGatewayRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_route_table_associations(transit_gateway_route_table_id=example_aws_ec2_transit_gateway_route_table[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetRouteTableAssociations.Invoke(new()\n {\n TransitGatewayRouteTableId = exampleAwsEc2TransitGatewayRouteTable.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.GetRouteTableAssociations(ctx, \u0026ec2transitgateway.GetRouteTableAssociationsArgs{\n\t\t\tTransitGatewayRouteTableId: exampleAwsEc2TransitGatewayRouteTable.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetRouteTableAssociationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getRouteTableAssociations(GetRouteTableAssociationsArgs.builder()\n .transitGatewayRouteTableId(exampleAwsEc2TransitGatewayRouteTable.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getRouteTableAssociations\n Arguments:\n transitGatewayRouteTableId: ${exampleAwsEc2TransitGatewayRouteTable.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRouteTableAssociations.\n", "properties": { @@ -400222,7 +400222,7 @@ } }, "aws:ec2transitgateway/getRouteTablePropagations:getRouteTablePropagations": { - "description": "Provides information for multiple EC2 Transit Gateway Route Table Propagations, such as their identifiers.\n\n## Example Usage\n\n### By Transit Gateway Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getRouteTablePropagations({\n transitGatewayRouteTableId: exampleAwsEc2TransitGatewayRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_route_table_propagations(transit_gateway_route_table_id=example_aws_ec2_transit_gateway_route_table[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetRouteTablePropagations.Invoke(new()\n {\n TransitGatewayRouteTableId = exampleAwsEc2TransitGatewayRouteTable.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.GetRouteTablePropagations(ctx, \u0026ec2transitgateway.GetRouteTablePropagationsArgs{\n\t\t\tTransitGatewayRouteTableId: exampleAwsEc2TransitGatewayRouteTable.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetRouteTablePropagationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getRouteTablePropagations(GetRouteTablePropagationsArgs.builder()\n .transitGatewayRouteTableId(exampleAwsEc2TransitGatewayRouteTable.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getRouteTablePropagations\n arguments:\n transitGatewayRouteTableId: ${exampleAwsEc2TransitGatewayRouteTable.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information for multiple EC2 Transit Gateway Route Table Propagations, such as their identifiers.\n\n## Example Usage\n\n### By Transit Gateway Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getRouteTablePropagations({\n transitGatewayRouteTableId: exampleAwsEc2TransitGatewayRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_route_table_propagations(transit_gateway_route_table_id=example_aws_ec2_transit_gateway_route_table[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetRouteTablePropagations.Invoke(new()\n {\n TransitGatewayRouteTableId = exampleAwsEc2TransitGatewayRouteTable.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.GetRouteTablePropagations(ctx, \u0026ec2transitgateway.GetRouteTablePropagationsArgs{\n\t\t\tTransitGatewayRouteTableId: exampleAwsEc2TransitGatewayRouteTable.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetRouteTablePropagationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getRouteTablePropagations(GetRouteTablePropagationsArgs.builder()\n .transitGatewayRouteTableId(exampleAwsEc2TransitGatewayRouteTable.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getRouteTablePropagations\n Arguments:\n transitGatewayRouteTableId: ${exampleAwsEc2TransitGatewayRouteTable.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRouteTablePropagations.\n", "properties": { @@ -400276,7 +400276,7 @@ } }, "aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes": { - "description": "Provides informations for routes of a specific transit gateway, such as state, type, cidr\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2transitgateway.getRouteTableRoutes({\n filters: [{\n name: \"type\",\n values: [\"propagated\"],\n }],\n transitGatewayRouteTableId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2transitgateway.get_route_table_routes(filters=[{\n \"name\": \"type\",\n \"values\": [\"propagated\"],\n }],\n transit_gateway_route_table_id=example[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2TransitGateway.GetRouteTableRoutes.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetRouteTableRoutesFilterInputArgs\n {\n Name = \"type\",\n Values = new[]\n {\n \"propagated\",\n },\n },\n },\n TransitGatewayRouteTableId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.GetRouteTableRoutes(ctx, \u0026ec2transitgateway.GetRouteTableRoutesArgs{\n\t\t\tFilters: []ec2transitgateway.GetRouteTableRoutesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"propagated\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTransitGatewayRouteTableId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetRouteTableRoutesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2transitgatewayFunctions.getRouteTableRoutes(GetRouteTableRoutesArgs.builder()\n .filters(GetRouteTableRoutesFilterArgs.builder()\n .name(\"type\")\n .values(\"propagated\")\n .build())\n .transitGatewayRouteTableId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:ec2transitgateway:getRouteTableRoutes\n arguments:\n filters:\n - name: type\n values:\n - propagated\n transitGatewayRouteTableId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n", + "description": "Provides informations for routes of a specific transit gateway, such as state, type, cidr\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2transitgateway.getRouteTableRoutes({\n filters: [{\n name: \"type\",\n values: [\"propagated\"],\n }],\n transitGatewayRouteTableId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2transitgateway.get_route_table_routes(filters=[{\n \"name\": \"type\",\n \"values\": [\"propagated\"],\n }],\n transit_gateway_route_table_id=example[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2TransitGateway.GetRouteTableRoutes.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetRouteTableRoutesFilterInputArgs\n {\n Name = \"type\",\n Values = new[]\n {\n \"propagated\",\n },\n },\n },\n TransitGatewayRouteTableId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.GetRouteTableRoutes(ctx, \u0026ec2transitgateway.GetRouteTableRoutesArgs{\n\t\t\tFilters: []ec2transitgateway.GetRouteTableRoutesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"propagated\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTransitGatewayRouteTableId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetRouteTableRoutesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2transitgatewayFunctions.getRouteTableRoutes(GetRouteTableRoutesArgs.builder()\n .filters(GetRouteTableRoutesFilterArgs.builder()\n .name(\"type\")\n .values(\"propagated\")\n .build())\n .transitGatewayRouteTableId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2transitgateway:getRouteTableRoutes\n Arguments:\n filters:\n - name: type\n values:\n - propagated\n transitGatewayRouteTableId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n", "inputs": { "description": "A collection of arguments for invoking getRouteTableRoutes.\n", "properties": { @@ -400332,7 +400332,7 @@ } }, "aws:ec2transitgateway/getTransitGateway:getTransitGateway": { - "description": "Get information on an EC2 Transit Gateway.\n\n## Example Usage\n\n### By Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getTransitGateway({\n filters: [{\n name: \"options.amazon-side-asn\",\n values: [\"64512\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_transit_gateway(filters=[{\n \"name\": \"options.amazon-side-asn\",\n \"values\": [\"64512\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetTransitGateway.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetTransitGatewayFilterInputArgs\n {\n Name = \"options.amazon-side-asn\",\n Values = new[]\n {\n \"64512\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupTransitGateway(ctx, \u0026ec2transitgateway.LookupTransitGatewayArgs{\n\t\t\tFilters: []ec2transitgateway.GetTransitGatewayFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"options.amazon-side-asn\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"64512\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetTransitGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getTransitGateway(GetTransitGatewayArgs.builder()\n .filters(GetTransitGatewayFilterArgs.builder()\n .name(\"options.amazon-side-asn\")\n .values(\"64512\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getTransitGateway\n arguments:\n filters:\n - name: options.amazon-side-asn\n values:\n - '64512'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getTransitGateway({\n id: \"tgw-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_transit_gateway(id=\"tgw-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetTransitGateway.Invoke(new()\n {\n Id = \"tgw-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupTransitGateway(ctx, \u0026ec2transitgateway.LookupTransitGatewayArgs{\n\t\t\tId: pulumi.StringRef(\"tgw-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetTransitGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getTransitGateway(GetTransitGatewayArgs.builder()\n .id(\"tgw-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getTransitGateway\n arguments:\n id: tgw-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an EC2 Transit Gateway.\n\n## Example Usage\n\n### By Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getTransitGateway({\n filters: [{\n name: \"options.amazon-side-asn\",\n values: [\"64512\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_transit_gateway(filters=[{\n \"name\": \"options.amazon-side-asn\",\n \"values\": [\"64512\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetTransitGateway.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetTransitGatewayFilterInputArgs\n {\n Name = \"options.amazon-side-asn\",\n Values = new[]\n {\n \"64512\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupTransitGateway(ctx, \u0026ec2transitgateway.LookupTransitGatewayArgs{\n\t\t\tFilters: []ec2transitgateway.GetTransitGatewayFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"options.amazon-side-asn\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"64512\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetTransitGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getTransitGateway(GetTransitGatewayArgs.builder()\n .filters(GetTransitGatewayFilterArgs.builder()\n .name(\"options.amazon-side-asn\")\n .values(\"64512\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getTransitGateway\n Arguments:\n filters:\n - name: options.amazon-side-asn\n values:\n - '64512'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getTransitGateway({\n id: \"tgw-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_transit_gateway(id=\"tgw-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetTransitGateway.Invoke(new()\n {\n Id = \"tgw-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupTransitGateway(ctx, \u0026ec2transitgateway.LookupTransitGatewayArgs{\n\t\t\tId: pulumi.StringRef(\"tgw-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetTransitGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getTransitGateway(GetTransitGatewayArgs.builder()\n .id(\"tgw-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getTransitGateway\n Arguments:\n id: tgw-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTransitGateway.\n", "properties": { @@ -400459,7 +400459,7 @@ } }, "aws:ec2transitgateway/getVpcAttachment:getVpcAttachment": { - "description": "Get information on an EC2 Transit Gateway VPC Attachment.\n\n## Example Usage\n\n### By Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getVpcAttachment({\n filters: [{\n name: \"vpc-id\",\n values: [\"vpc-12345678\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_vpc_attachment(filters=[{\n \"name\": \"vpc-id\",\n \"values\": [\"vpc-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetVpcAttachment.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetVpcAttachmentFilterInputArgs\n {\n Name = \"vpc-id\",\n Values = new[]\n {\n \"vpc-12345678\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupVpcAttachment(ctx, \u0026ec2transitgateway.LookupVpcAttachmentArgs{\n\t\t\tFilters: []ec2transitgateway.GetVpcAttachmentFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"vpc-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vpc-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetVpcAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getVpcAttachment(GetVpcAttachmentArgs.builder()\n .filters(GetVpcAttachmentFilterArgs.builder()\n .name(\"vpc-id\")\n .values(\"vpc-12345678\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getVpcAttachment\n arguments:\n filters:\n - name: vpc-id\n values:\n - vpc-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getVpcAttachment({\n id: \"tgw-attach-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_vpc_attachment(id=\"tgw-attach-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetVpcAttachment.Invoke(new()\n {\n Id = \"tgw-attach-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupVpcAttachment(ctx, \u0026ec2transitgateway.LookupVpcAttachmentArgs{\n\t\t\tId: pulumi.StringRef(\"tgw-attach-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetVpcAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getVpcAttachment(GetVpcAttachmentArgs.builder()\n .id(\"tgw-attach-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getVpcAttachment\n arguments:\n id: tgw-attach-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an EC2 Transit Gateway VPC Attachment.\n\n## Example Usage\n\n### By Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getVpcAttachment({\n filters: [{\n name: \"vpc-id\",\n values: [\"vpc-12345678\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_vpc_attachment(filters=[{\n \"name\": \"vpc-id\",\n \"values\": [\"vpc-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetVpcAttachment.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetVpcAttachmentFilterInputArgs\n {\n Name = \"vpc-id\",\n Values = new[]\n {\n \"vpc-12345678\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupVpcAttachment(ctx, \u0026ec2transitgateway.LookupVpcAttachmentArgs{\n\t\t\tFilters: []ec2transitgateway.GetVpcAttachmentFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"vpc-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vpc-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetVpcAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getVpcAttachment(GetVpcAttachmentArgs.builder()\n .filters(GetVpcAttachmentFilterArgs.builder()\n .name(\"vpc-id\")\n .values(\"vpc-12345678\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getVpcAttachment\n Arguments:\n filters:\n - name: vpc-id\n values:\n - vpc-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getVpcAttachment({\n id: \"tgw-attach-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_vpc_attachment(id=\"tgw-attach-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetVpcAttachment.Invoke(new()\n {\n Id = \"tgw-attach-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.LookupVpcAttachment(ctx, \u0026ec2transitgateway.LookupVpcAttachmentArgs{\n\t\t\tId: pulumi.StringRef(\"tgw-attach-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetVpcAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getVpcAttachment(GetVpcAttachmentArgs.builder()\n .id(\"tgw-attach-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getVpcAttachment\n Arguments:\n id: tgw-attach-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcAttachment.\n", "properties": { @@ -400599,7 +400599,7 @@ } }, "aws:ec2transitgateway/getVpnAttachment:getVpnAttachment": { - "description": "Get information on an EC2 Transit Gateway VPN Attachment.\n\n\u003e EC2 Transit Gateway VPN Attachments are implicitly created by VPN Connections referencing an EC2 Transit Gateway so there is no managed resource. For ease, the `aws.ec2.VpnConnection` resource includes a `transit_gateway_attachment_id` attribute which can replace some usage of this data source. For tagging the attachment, see the `aws.ec2.Tag` resource.\n\n## Example Usage\n\n### By Transit Gateway and VPN Connection Identifiers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getVpnAttachment({\n transitGatewayId: exampleAwsEc2TransitGateway.id,\n vpnConnectionId: exampleAwsVpnConnection.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_vpn_attachment(transit_gateway_id=example_aws_ec2_transit_gateway[\"id\"],\n vpn_connection_id=example_aws_vpn_connection[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetVpnAttachment.Invoke(new()\n {\n TransitGatewayId = exampleAwsEc2TransitGateway.Id,\n VpnConnectionId = exampleAwsVpnConnection.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.GetVpnAttachment(ctx, \u0026ec2transitgateway.GetVpnAttachmentArgs{\n\t\t\tTransitGatewayId: pulumi.StringRef(exampleAwsEc2TransitGateway.Id),\n\t\t\tVpnConnectionId: pulumi.StringRef(exampleAwsVpnConnection.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetVpnAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getVpnAttachment(GetVpnAttachmentArgs.builder()\n .transitGatewayId(exampleAwsEc2TransitGateway.id())\n .vpnConnectionId(exampleAwsVpnConnection.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ec2transitgateway:getVpnAttachment\n arguments:\n transitGatewayId: ${exampleAwsEc2TransitGateway.id}\n vpnConnectionId: ${exampleAwsVpnConnection.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2transitgateway.getVpnAttachment({\n filters: [{\n name: \"resource-id\",\n values: [\"some-resource\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2transitgateway.get_vpn_attachment(filters=[{\n \"name\": \"resource-id\",\n \"values\": [\"some-resource\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2TransitGateway.GetVpnAttachment.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetVpnAttachmentFilterInputArgs\n {\n Name = \"resource-id\",\n Values = new[]\n {\n \"some-resource\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.GetVpnAttachment(ctx, \u0026ec2transitgateway.GetVpnAttachmentArgs{\n\t\t\tFilters: []ec2transitgateway.GetVpnAttachmentFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"resource-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"some-resource\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetVpnAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2transitgatewayFunctions.getVpnAttachment(GetVpnAttachmentArgs.builder()\n .filters(GetVpnAttachmentFilterArgs.builder()\n .name(\"resource-id\")\n .values(\"some-resource\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:ec2transitgateway:getVpnAttachment\n arguments:\n filters:\n - name: resource-id\n values:\n - some-resource\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an EC2 Transit Gateway VPN Attachment.\n\n\u003e EC2 Transit Gateway VPN Attachments are implicitly created by VPN Connections referencing an EC2 Transit Gateway so there is no managed resource. For ease, the `aws.ec2.VpnConnection` resource includes a `transit_gateway_attachment_id` attribute which can replace some usage of this data source. For tagging the attachment, see the `aws.ec2.Tag` resource.\n\n## Example Usage\n\n### By Transit Gateway and VPN Connection Identifiers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2transitgateway.getVpnAttachment({\n transitGatewayId: exampleAwsEc2TransitGateway.id,\n vpnConnectionId: exampleAwsVpnConnection.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.get_vpn_attachment(transit_gateway_id=example_aws_ec2_transit_gateway[\"id\"],\n vpn_connection_id=example_aws_vpn_connection[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2TransitGateway.GetVpnAttachment.Invoke(new()\n {\n TransitGatewayId = exampleAwsEc2TransitGateway.Id,\n VpnConnectionId = exampleAwsVpnConnection.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.GetVpnAttachment(ctx, \u0026ec2transitgateway.GetVpnAttachmentArgs{\n\t\t\tTransitGatewayId: pulumi.StringRef(exampleAwsEc2TransitGateway.Id),\n\t\t\tVpnConnectionId: pulumi.StringRef(exampleAwsVpnConnection.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetVpnAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2transitgatewayFunctions.getVpnAttachment(GetVpnAttachmentArgs.builder()\n .transitGatewayId(exampleAwsEc2TransitGateway.id())\n .vpnConnectionId(exampleAwsVpnConnection.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getVpnAttachment\n Arguments:\n transitGatewayId: ${exampleAwsEc2TransitGateway.id}\n vpnConnectionId: ${exampleAwsVpnConnection.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2transitgateway.getVpnAttachment({\n filters: [{\n name: \"resource-id\",\n values: [\"some-resource\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2transitgateway.get_vpn_attachment(filters=[{\n \"name\": \"resource-id\",\n \"values\": [\"some-resource\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2TransitGateway.GetVpnAttachment.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2TransitGateway.Inputs.GetVpnAttachmentFilterInputArgs\n {\n Name = \"resource-id\",\n Values = new[]\n {\n \"some-resource\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\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 := ec2transitgateway.GetVpnAttachment(ctx, \u0026ec2transitgateway.GetVpnAttachmentArgs{\n\t\t\tFilters: []ec2transitgateway.GetVpnAttachmentFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"resource-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"some-resource\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetVpnAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2transitgatewayFunctions.getVpnAttachment(GetVpnAttachmentArgs.builder()\n .filters(GetVpnAttachmentFilterArgs.builder()\n .name(\"resource-id\")\n .values(\"some-resource\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2transitgateway:getVpnAttachment\n Arguments:\n filters:\n - name: resource-id\n values:\n - some-resource\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpnAttachment.\n", "properties": { @@ -400663,7 +400663,7 @@ } }, "aws:ecr/getAuthorizationToken:getAuthorizationToken": { - "description": "The ECR Authorization Token data source allows the authorization token, proxy endpoint, token expiration date, user name and password to be retrieved for an ECR repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst token = aws.ecr.getAuthorizationToken({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntoken = aws.ecr.get_authorization_token()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var token = Aws.Ecr.GetAuthorizationToken.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\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 := ecr.GetAuthorizationToken(ctx, \u0026ecr.GetAuthorizationTokenArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.EcrFunctions;\nimport com.pulumi.aws.ecr.inputs.GetAuthorizationTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var token = EcrFunctions.getAuthorizationToken();\n\n }\n}\n```\n```yaml\nvariables:\n token:\n fn::invoke:\n function: aws:ecr:getAuthorizationToken\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The ECR Authorization Token data source allows the authorization token, proxy endpoint, token expiration date, user name and password to be retrieved for an ECR repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst token = aws.ecr.getAuthorizationToken({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntoken = aws.ecr.get_authorization_token()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var token = Aws.Ecr.GetAuthorizationToken.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\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 := ecr.GetAuthorizationToken(ctx, \u0026ecr.GetAuthorizationTokenArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.EcrFunctions;\nimport com.pulumi.aws.ecr.inputs.GetAuthorizationTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var token = EcrFunctions.getAuthorizationToken();\n\n }\n}\n```\n```yaml\nvariables:\n token:\n fn::invoke:\n Function: aws:ecr:getAuthorizationToken\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAuthorizationToken.\n", "properties": { @@ -400762,7 +400762,7 @@ } }, "aws:ecr/getImage:getImage": { - "description": "The ECR Image data source allows the details of an image with a particular tag or digest to be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceImage = aws.ecr.getImage({\n repositoryName: \"my/service\",\n imageTag: \"latest\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nservice_image = aws.ecr.get_image(repository_name=\"my/service\",\n image_tag=\"latest\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceImage = Aws.Ecr.GetImage.Invoke(new()\n {\n RepositoryName = \"my/service\",\n ImageTag = \"latest\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\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 := ecr.GetImage(ctx, \u0026ecr.GetImageArgs{\n\t\t\tRepositoryName: \"my/service\",\n\t\t\tImageTag: pulumi.StringRef(\"latest\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.EcrFunctions;\nimport com.pulumi.aws.ecr.inputs.GetImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var serviceImage = EcrFunctions.getImage(GetImageArgs.builder()\n .repositoryName(\"my/service\")\n .imageTag(\"latest\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n serviceImage:\n fn::invoke:\n function: aws:ecr:getImage\n arguments:\n repositoryName: my/service\n imageTag: latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The ECR Image data source allows the details of an image with a particular tag or digest to be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceImage = aws.ecr.getImage({\n repositoryName: \"my/service\",\n imageTag: \"latest\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nservice_image = aws.ecr.get_image(repository_name=\"my/service\",\n image_tag=\"latest\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceImage = Aws.Ecr.GetImage.Invoke(new()\n {\n RepositoryName = \"my/service\",\n ImageTag = \"latest\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\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 := ecr.GetImage(ctx, \u0026ecr.GetImageArgs{\n\t\t\tRepositoryName: \"my/service\",\n\t\t\tImageTag: pulumi.StringRef(\"latest\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.EcrFunctions;\nimport com.pulumi.aws.ecr.inputs.GetImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var serviceImage = EcrFunctions.getImage(GetImageArgs.builder()\n .repositoryName(\"my/service\")\n .imageTag(\"latest\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n serviceImage:\n fn::invoke:\n Function: aws:ecr:getImage\n Arguments:\n repositoryName: my/service\n imageTag: latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getImage.\n", "properties": { @@ -400848,7 +400848,7 @@ } }, "aws:ecr/getLifecyclePolicyDocument:getLifecyclePolicyDocument": { - "description": "Generates an ECR lifecycle policy document in JSON format. Can be used with resources such as the `aws.ecr.LifecyclePolicy` resource.\n\n\u003e For more information about building AWS ECR lifecycle policy documents, see the [AWS ECR Lifecycle Policy Document Guide](https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ecr.getLifecyclePolicyDocument({\n rules: [{\n priority: 1,\n description: \"This is a test.\",\n selection: {\n tagStatus: \"tagged\",\n tagPrefixLists: [\"prod\"],\n countType: \"imageCountMoreThan\",\n countNumber: 100,\n },\n }],\n});\nconst exampleLifecyclePolicy = new aws.ecr.LifecyclePolicy(\"example\", {\n repository: exampleAwsEcrRepository.name,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecr.get_lifecycle_policy_document(rules=[{\n \"priority\": 1,\n \"description\": \"This is a test.\",\n \"selection\": {\n \"tag_status\": \"tagged\",\n \"tag_prefix_lists\": [\"prod\"],\n \"count_type\": \"imageCountMoreThan\",\n \"count_number\": 100,\n },\n}])\nexample_lifecycle_policy = aws.ecr.LifecyclePolicy(\"example\",\n repository=example_aws_ecr_repository[\"name\"],\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ecr.GetLifecyclePolicyDocument.Invoke(new()\n {\n Rules = new[]\n {\n new Aws.Ecr.Inputs.GetLifecyclePolicyDocumentRuleInputArgs\n {\n Priority = 1,\n Description = \"This is a test.\",\n Selection = new Aws.Ecr.Inputs.GetLifecyclePolicyDocumentRuleSelectionInputArgs\n {\n TagStatus = \"tagged\",\n TagPrefixLists = new[]\n {\n \"prod\",\n },\n CountType = \"imageCountMoreThan\",\n CountNumber = 100,\n },\n },\n },\n });\n\n var exampleLifecyclePolicy = new Aws.Ecr.LifecyclePolicy(\"example\", new()\n {\n Repository = exampleAwsEcrRepository.Name,\n Policy = example.Apply(getLifecyclePolicyDocumentResult =\u003e getLifecyclePolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ecr.GetLifecyclePolicyDocument(ctx, \u0026ecr.GetLifecyclePolicyDocumentArgs{\n\t\t\tRules: []ecr.GetLifecyclePolicyDocumentRule{\n\t\t\t\t{\n\t\t\t\t\tPriority: 1,\n\t\t\t\t\tDescription: pulumi.StringRef(\"This is a test.\"),\n\t\t\t\t\tSelection: {\n\t\t\t\t\t\tTagStatus: \"tagged\",\n\t\t\t\t\t\tTagPrefixLists: []string{\n\t\t\t\t\t\t\t\"prod\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCountType: \"imageCountMoreThan\",\n\t\t\t\t\t\tCountNumber: 100,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewLifecyclePolicy(ctx, \"example\", \u0026ecr.LifecyclePolicyArgs{\n\t\t\tRepository: pulumi.Any(exampleAwsEcrRepository.Name),\n\t\t\tPolicy: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.EcrFunctions;\nimport com.pulumi.aws.ecr.inputs.GetLifecyclePolicyDocumentArgs;\nimport com.pulumi.aws.ecr.LifecyclePolicy;\nimport com.pulumi.aws.ecr.LifecyclePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EcrFunctions.getLifecyclePolicyDocument(GetLifecyclePolicyDocumentArgs.builder()\n .rules(GetLifecyclePolicyDocumentRuleArgs.builder()\n .priority(1)\n .description(\"This is a test.\")\n .selection(GetLifecyclePolicyDocumentRuleSelectionArgs.builder()\n .tagStatus(\"tagged\")\n .tagPrefixLists(\"prod\")\n .countType(\"imageCountMoreThan\")\n .countNumber(100)\n .build())\n .build())\n .build());\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder()\n .repository(exampleAwsEcrRepository.name())\n .policy(example.applyValue(getLifecyclePolicyDocumentResult -\u003e getLifecyclePolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLifecyclePolicy:\n type: aws:ecr:LifecyclePolicy\n name: example\n properties:\n repository: ${exampleAwsEcrRepository.name}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n function: aws:ecr:getLifecyclePolicyDocument\n arguments:\n rules:\n - priority: 1\n description: This is a test.\n selection:\n tagStatus: tagged\n tagPrefixLists:\n - prod\n countType: imageCountMoreThan\n countNumber: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Generates an ECR lifecycle policy document in JSON format. Can be used with resources such as the `aws.ecr.LifecyclePolicy` resource.\n\n\u003e For more information about building AWS ECR lifecycle policy documents, see the [AWS ECR Lifecycle Policy Document Guide](https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ecr.getLifecyclePolicyDocument({\n rules: [{\n priority: 1,\n description: \"This is a test.\",\n selection: {\n tagStatus: \"tagged\",\n tagPrefixLists: [\"prod\"],\n countType: \"imageCountMoreThan\",\n countNumber: 100,\n },\n }],\n});\nconst exampleLifecyclePolicy = new aws.ecr.LifecyclePolicy(\"example\", {\n repository: exampleAwsEcrRepository.name,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecr.get_lifecycle_policy_document(rules=[{\n \"priority\": 1,\n \"description\": \"This is a test.\",\n \"selection\": {\n \"tag_status\": \"tagged\",\n \"tag_prefix_lists\": [\"prod\"],\n \"count_type\": \"imageCountMoreThan\",\n \"count_number\": 100,\n },\n}])\nexample_lifecycle_policy = aws.ecr.LifecyclePolicy(\"example\",\n repository=example_aws_ecr_repository[\"name\"],\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ecr.GetLifecyclePolicyDocument.Invoke(new()\n {\n Rules = new[]\n {\n new Aws.Ecr.Inputs.GetLifecyclePolicyDocumentRuleInputArgs\n {\n Priority = 1,\n Description = \"This is a test.\",\n Selection = new Aws.Ecr.Inputs.GetLifecyclePolicyDocumentRuleSelectionInputArgs\n {\n TagStatus = \"tagged\",\n TagPrefixLists = new[]\n {\n \"prod\",\n },\n CountType = \"imageCountMoreThan\",\n CountNumber = 100,\n },\n },\n },\n });\n\n var exampleLifecyclePolicy = new Aws.Ecr.LifecyclePolicy(\"example\", new()\n {\n Repository = exampleAwsEcrRepository.Name,\n Policy = example.Apply(getLifecyclePolicyDocumentResult =\u003e getLifecyclePolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ecr.GetLifecyclePolicyDocument(ctx, \u0026ecr.GetLifecyclePolicyDocumentArgs{\n\t\t\tRules: []ecr.GetLifecyclePolicyDocumentRule{\n\t\t\t\t{\n\t\t\t\t\tPriority: 1,\n\t\t\t\t\tDescription: pulumi.StringRef(\"This is a test.\"),\n\t\t\t\t\tSelection: {\n\t\t\t\t\t\tTagStatus: \"tagged\",\n\t\t\t\t\t\tTagPrefixLists: []string{\n\t\t\t\t\t\t\t\"prod\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCountType: \"imageCountMoreThan\",\n\t\t\t\t\t\tCountNumber: 100,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewLifecyclePolicy(ctx, \"example\", \u0026ecr.LifecyclePolicyArgs{\n\t\t\tRepository: pulumi.Any(exampleAwsEcrRepository.Name),\n\t\t\tPolicy: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.EcrFunctions;\nimport com.pulumi.aws.ecr.inputs.GetLifecyclePolicyDocumentArgs;\nimport com.pulumi.aws.ecr.LifecyclePolicy;\nimport com.pulumi.aws.ecr.LifecyclePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EcrFunctions.getLifecyclePolicyDocument(GetLifecyclePolicyDocumentArgs.builder()\n .rules(GetLifecyclePolicyDocumentRuleArgs.builder()\n .priority(1)\n .description(\"This is a test.\")\n .selection(GetLifecyclePolicyDocumentRuleSelectionArgs.builder()\n .tagStatus(\"tagged\")\n .tagPrefixLists(\"prod\")\n .countType(\"imageCountMoreThan\")\n .countNumber(100)\n .build())\n .build())\n .build());\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder()\n .repository(exampleAwsEcrRepository.name())\n .policy(example.applyValue(getLifecyclePolicyDocumentResult -\u003e getLifecyclePolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLifecyclePolicy:\n type: aws:ecr:LifecyclePolicy\n name: example\n properties:\n repository: ${exampleAwsEcrRepository.name}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:ecr:getLifecyclePolicyDocument\n Arguments:\n rules:\n - priority: 1\n description: This is a test.\n selection:\n tagStatus: tagged\n tagPrefixLists:\n - prod\n countType: imageCountMoreThan\n countNumber: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLifecyclePolicyDocument.\n", "properties": { @@ -400887,7 +400887,7 @@ } }, "aws:ecr/getPullThroughCacheRule:getPullThroughCacheRule": { - "description": "The ECR Pull Through Cache Rule data source allows the upstream registry URL and registry ID to be retrieved for a Pull Through Cache Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecrPublic = aws.ecr.getPullThroughCacheRule({\n ecrRepositoryPrefix: \"ecr-public\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necr_public = aws.ecr.get_pull_through_cache_rule(ecr_repository_prefix=\"ecr-public\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecrPublic = Aws.Ecr.GetPullThroughCacheRule.Invoke(new()\n {\n EcrRepositoryPrefix = \"ecr-public\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\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 := ecr.LookupPullThroughCacheRule(ctx, \u0026ecr.LookupPullThroughCacheRuleArgs{\n\t\t\tEcrRepositoryPrefix: \"ecr-public\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.EcrFunctions;\nimport com.pulumi.aws.ecr.inputs.GetPullThroughCacheRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ecrPublic = EcrFunctions.getPullThroughCacheRule(GetPullThroughCacheRuleArgs.builder()\n .ecrRepositoryPrefix(\"ecr-public\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ecrPublic:\n fn::invoke:\n function: aws:ecr:getPullThroughCacheRule\n arguments:\n ecrRepositoryPrefix: ecr-public\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The ECR Pull Through Cache Rule data source allows the upstream registry URL and registry ID to be retrieved for a Pull Through Cache Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecrPublic = aws.ecr.getPullThroughCacheRule({\n ecrRepositoryPrefix: \"ecr-public\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necr_public = aws.ecr.get_pull_through_cache_rule(ecr_repository_prefix=\"ecr-public\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecrPublic = Aws.Ecr.GetPullThroughCacheRule.Invoke(new()\n {\n EcrRepositoryPrefix = \"ecr-public\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\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 := ecr.LookupPullThroughCacheRule(ctx, \u0026ecr.LookupPullThroughCacheRuleArgs{\n\t\t\tEcrRepositoryPrefix: \"ecr-public\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.EcrFunctions;\nimport com.pulumi.aws.ecr.inputs.GetPullThroughCacheRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ecrPublic = EcrFunctions.getPullThroughCacheRule(GetPullThroughCacheRuleArgs.builder()\n .ecrRepositoryPrefix(\"ecr-public\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ecrPublic:\n fn::invoke:\n Function: aws:ecr:getPullThroughCacheRule\n Arguments:\n ecrRepositoryPrefix: ecr-public\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPullThroughCacheRule.\n", "properties": { @@ -400936,7 +400936,7 @@ } }, "aws:ecr/getRepositories:getRepositories": { - "description": "Data source for providing information on AWS ECR (Elastic Container Registry) Repositories.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ecr.getRepositories({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecr.get_repositories()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ecr.GetRepositories.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\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 := ecr.GetRepositories(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.EcrFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EcrFunctions.getRepositories();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ecr:getRepositories\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for providing information on AWS ECR (Elastic Container Registry) Repositories.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ecr.getRepositories({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecr.get_repositories()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ecr.GetRepositories.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\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 := ecr.GetRepositories(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.EcrFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EcrFunctions.getRepositories();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ecr:getRepositories\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getRepositories.\n", "properties": { @@ -400960,7 +400960,7 @@ } }, "aws:ecr/getRepository:getRepository": { - "description": "The ECR Repository data source allows the ARN, Repository URI and Registry ID to be retrieved for an ECR repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst service = aws.ecr.getRepository({\n name: \"ecr-repository\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nservice = aws.ecr.get_repository(name=\"ecr-repository\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = Aws.Ecr.GetRepository.Invoke(new()\n {\n Name = \"ecr-repository\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\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 := ecr.LookupRepository(ctx, \u0026ecr.LookupRepositoryArgs{\n\t\t\tName: \"ecr-repository\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.EcrFunctions;\nimport com.pulumi.aws.ecr.inputs.GetRepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var service = EcrFunctions.getRepository(GetRepositoryArgs.builder()\n .name(\"ecr-repository\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n service:\n fn::invoke:\n function: aws:ecr:getRepository\n arguments:\n name: ecr-repository\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The ECR Repository data source allows the ARN, Repository URI and Registry ID to be retrieved for an ECR repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst service = aws.ecr.getRepository({\n name: \"ecr-repository\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nservice = aws.ecr.get_repository(name=\"ecr-repository\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = Aws.Ecr.GetRepository.Invoke(new()\n {\n Name = \"ecr-repository\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\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 := ecr.LookupRepository(ctx, \u0026ecr.LookupRepositoryArgs{\n\t\t\tName: \"ecr-repository\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.EcrFunctions;\nimport com.pulumi.aws.ecr.inputs.GetRepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var service = EcrFunctions.getRepository(GetRepositoryArgs.builder()\n .name(\"ecr-repository\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n service:\n fn::invoke:\n Function: aws:ecr:getRepository\n Arguments:\n name: ecr-repository\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRepository.\n", "properties": { @@ -401055,7 +401055,7 @@ } }, "aws:ecr/getRepositoryCreationTemplate:getRepositoryCreationTemplate": { - "description": "The ECR Repository Creation Template data source allows the template details to be retrieved for a Repository Creation Template.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ecr.getRepositoryCreationTemplate({\n prefix: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecr.get_repository_creation_template(prefix=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ecr.GetRepositoryCreationTemplate.Invoke(new()\n {\n Prefix = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\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 := ecr.LookupRepositoryCreationTemplate(ctx, \u0026ecr.LookupRepositoryCreationTemplateArgs{\n\t\t\tPrefix: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.EcrFunctions;\nimport com.pulumi.aws.ecr.inputs.GetRepositoryCreationTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EcrFunctions.getRepositoryCreationTemplate(GetRepositoryCreationTemplateArgs.builder()\n .prefix(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ecr:getRepositoryCreationTemplate\n arguments:\n prefix: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The ECR Repository Creation Template data source allows the template details to be retrieved for a Repository Creation Template.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ecr.getRepositoryCreationTemplate({\n prefix: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecr.get_repository_creation_template(prefix=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ecr.GetRepositoryCreationTemplate.Invoke(new()\n {\n Prefix = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\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 := ecr.LookupRepositoryCreationTemplate(ctx, \u0026ecr.LookupRepositoryCreationTemplateArgs{\n\t\t\tPrefix: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.EcrFunctions;\nimport com.pulumi.aws.ecr.inputs.GetRepositoryCreationTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EcrFunctions.getRepositoryCreationTemplate(GetRepositoryCreationTemplateArgs.builder()\n .prefix(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ecr:getRepositoryCreationTemplate\n Arguments:\n prefix: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRepositoryCreationTemplate.\n", "properties": { @@ -401150,7 +401150,7 @@ } }, "aws:ecrpublic/getAuthorizationToken:getAuthorizationToken": { - "description": "The Public ECR Authorization Token data source allows the authorization token, token expiration date, user name, and password to be retrieved for a Public ECR repository.\n\n\u003e **NOTE:** This data source can only be used in the `us-east-1` region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst token = aws.ecrpublic.getAuthorizationToken({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntoken = aws.ecrpublic.get_authorization_token()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var token = Aws.EcrPublic.GetAuthorizationToken.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecrpublic\"\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 := ecrpublic.GetAuthorizationToken(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecrpublic.EcrpublicFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var token = EcrpublicFunctions.getAuthorizationToken();\n\n }\n}\n```\n```yaml\nvariables:\n token:\n fn::invoke:\n function: aws:ecrpublic:getAuthorizationToken\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The Public ECR Authorization Token data source allows the authorization token, token expiration date, user name, and password to be retrieved for a Public ECR repository.\n\n\u003e **NOTE:** This data source can only be used in the `us-east-1` region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst token = aws.ecrpublic.getAuthorizationToken({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntoken = aws.ecrpublic.get_authorization_token()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var token = Aws.EcrPublic.GetAuthorizationToken.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecrpublic\"\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 := ecrpublic.GetAuthorizationToken(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecrpublic.EcrpublicFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var token = EcrpublicFunctions.getAuthorizationToken();\n\n }\n}\n```\n```yaml\nvariables:\n token:\n fn::invoke:\n Function: aws:ecrpublic:getAuthorizationToken\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getAuthorizationToken.\n", "properties": { @@ -401188,7 +401188,7 @@ } }, "aws:ecs/getCluster:getCluster": { - "description": "The ECS Cluster data source allows access to details of a specific\ncluster within an AWS ECS service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecs-mongo = aws.ecs.getCluster({\n clusterName: \"ecs-mongo-production\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necs_mongo = aws.ecs.get_cluster(cluster_name=\"ecs-mongo-production\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecs_mongo = Aws.Ecs.GetCluster.Invoke(new()\n {\n ClusterName = \"ecs-mongo-production\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.LookupCluster(ctx, \u0026ecs.LookupClusterArgs{\n\t\t\tClusterName: \"ecs-mongo-production\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.EcsFunctions;\nimport com.pulumi.aws.ecs.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ecs-mongo = EcsFunctions.getCluster(GetClusterArgs.builder()\n .clusterName(\"ecs-mongo-production\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ecs-mongo:\n fn::invoke:\n function: aws:ecs:getCluster\n arguments:\n clusterName: ecs-mongo-production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The ECS Cluster data source allows access to details of a specific\ncluster within an AWS ECS service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecs-mongo = aws.ecs.getCluster({\n clusterName: \"ecs-mongo-production\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necs_mongo = aws.ecs.get_cluster(cluster_name=\"ecs-mongo-production\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecs_mongo = Aws.Ecs.GetCluster.Invoke(new()\n {\n ClusterName = \"ecs-mongo-production\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.LookupCluster(ctx, \u0026ecs.LookupClusterArgs{\n\t\t\tClusterName: \"ecs-mongo-production\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.EcsFunctions;\nimport com.pulumi.aws.ecs.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ecs-mongo = EcsFunctions.getCluster(GetClusterArgs.builder()\n .clusterName(\"ecs-mongo-production\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ecs-mongo:\n fn::invoke:\n Function: aws:ecs:getCluster\n Arguments:\n clusterName: ecs-mongo-production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCluster.\n", "properties": { @@ -401277,7 +401277,7 @@ } }, "aws:ecs/getContainerDefinition:getContainerDefinition": { - "description": "The ECS container definition data source allows access to details of\na specific container within an AWS ECS service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecs-mongo = aws.ecs.getContainerDefinition({\n taskDefinition: mongo.id,\n containerName: \"mongodb\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necs_mongo = aws.ecs.get_container_definition(task_definition=mongo[\"id\"],\n container_name=\"mongodb\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecs_mongo = Aws.Ecs.GetContainerDefinition.Invoke(new()\n {\n TaskDefinition = mongo.Id,\n ContainerName = \"mongodb\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.GetContainerDefinition(ctx, \u0026ecs.GetContainerDefinitionArgs{\n\t\t\tTaskDefinition: mongo.Id,\n\t\t\tContainerName: \"mongodb\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.EcsFunctions;\nimport com.pulumi.aws.ecs.inputs.GetContainerDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ecs-mongo = EcsFunctions.getContainerDefinition(GetContainerDefinitionArgs.builder()\n .taskDefinition(mongo.id())\n .containerName(\"mongodb\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ecs-mongo:\n fn::invoke:\n function: aws:ecs:getContainerDefinition\n arguments:\n taskDefinition: ${mongo.id}\n containerName: mongodb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The ECS container definition data source allows access to details of\na specific container within an AWS ECS service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecs-mongo = aws.ecs.getContainerDefinition({\n taskDefinition: mongo.id,\n containerName: \"mongodb\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necs_mongo = aws.ecs.get_container_definition(task_definition=mongo[\"id\"],\n container_name=\"mongodb\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecs_mongo = Aws.Ecs.GetContainerDefinition.Invoke(new()\n {\n TaskDefinition = mongo.Id,\n ContainerName = \"mongodb\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.GetContainerDefinition(ctx, \u0026ecs.GetContainerDefinitionArgs{\n\t\t\tTaskDefinition: mongo.Id,\n\t\t\tContainerName: \"mongodb\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.EcsFunctions;\nimport com.pulumi.aws.ecs.inputs.GetContainerDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ecs-mongo = EcsFunctions.getContainerDefinition(GetContainerDefinitionArgs.builder()\n .taskDefinition(mongo.id())\n .containerName(\"mongodb\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ecs-mongo:\n fn::invoke:\n Function: aws:ecs:getContainerDefinition\n Arguments:\n taskDefinition: ${mongo.id}\n containerName: mongodb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getContainerDefinition.\n", "properties": { @@ -401365,7 +401365,7 @@ } }, "aws:ecs/getService:getService": { - "description": "The ECS Service data source allows access to details of a specific\nService within a AWS ECS Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ecs.getService({\n serviceName: \"example\",\n clusterArn: exampleAwsEcsCluster.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.get_service(service_name=\"example\",\n cluster_arn=example_aws_ecs_cluster[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ecs.GetService.Invoke(new()\n {\n ServiceName = \"example\",\n ClusterArn = exampleAwsEcsCluster.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.LookupService(ctx, \u0026ecs.LookupServiceArgs{\n\t\t\tServiceName: \"example\",\n\t\t\tClusterArn: exampleAwsEcsCluster.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.EcsFunctions;\nimport com.pulumi.aws.ecs.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EcsFunctions.getService(GetServiceArgs.builder()\n .serviceName(\"example\")\n .clusterArn(exampleAwsEcsCluster.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ecs:getService\n arguments:\n serviceName: example\n clusterArn: ${exampleAwsEcsCluster.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The ECS Service data source allows access to details of a specific\nService within a AWS ECS Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ecs.getService({\n serviceName: \"example\",\n clusterArn: exampleAwsEcsCluster.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.get_service(service_name=\"example\",\n cluster_arn=example_aws_ecs_cluster[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ecs.GetService.Invoke(new()\n {\n ServiceName = \"example\",\n ClusterArn = exampleAwsEcsCluster.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\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 := ecs.LookupService(ctx, \u0026ecs.LookupServiceArgs{\n\t\t\tServiceName: \"example\",\n\t\t\tClusterArn: exampleAwsEcsCluster.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.EcsFunctions;\nimport com.pulumi.aws.ecs.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EcsFunctions.getService(GetServiceArgs.builder()\n .serviceName(\"example\")\n .clusterArn(exampleAwsEcsCluster.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ecs:getService\n Arguments:\n serviceName: example\n clusterArn: ${exampleAwsEcsCluster.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getService.\n", "properties": { @@ -401451,7 +401451,7 @@ } }, "aws:ecs/getTaskDefinition:getTaskDefinition": { - "description": "The ECS task definition data source allows access to details of\na specific AWS ECS task definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mongoTaskDefinition = new aws.ecs.TaskDefinition(\"mongo\", {\n family: \"mongodb\",\n containerDefinitions: `[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n`,\n});\n// Simply specify the family to find the latest ACTIVE revision in that family.\nconst mongo = aws.ecs.getTaskDefinitionOutput({\n taskDefinition: mongoTaskDefinition.family,\n});\nconst foo = new aws.ecs.Cluster(\"foo\", {name: \"foo\"});\nconst mongoService = new aws.ecs.Service(\"mongo\", {\n name: \"mongo\",\n cluster: foo.id,\n desiredCount: 2,\n taskDefinition: mongo.apply(mongo =\u003e mongo.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmongo_task_definition = aws.ecs.TaskDefinition(\"mongo\",\n family=\"mongodb\",\n container_definitions=\"\"\"[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n\"\"\")\n# Simply specify the family to find the latest ACTIVE revision in that family.\nmongo = aws.ecs.get_task_definition_output(task_definition=mongo_task_definition.family)\nfoo = aws.ecs.Cluster(\"foo\", name=\"foo\")\nmongo_service = aws.ecs.Service(\"mongo\",\n name=\"mongo\",\n cluster=foo.id,\n desired_count=2,\n task_definition=mongo.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mongoTaskDefinition = new Aws.Ecs.TaskDefinition(\"mongo\", new()\n {\n Family = \"mongodb\",\n ContainerDefinitions = @\"[\n {\n \"\"cpu\"\": 128,\n \"\"environment\"\": [{\n \"\"name\"\": \"\"SECRET\"\",\n \"\"value\"\": \"\"KEY\"\"\n }],\n \"\"essential\"\": true,\n \"\"image\"\": \"\"mongo:latest\"\",\n \"\"memory\"\": 128,\n \"\"memoryReservation\"\": 64,\n \"\"name\"\": \"\"mongodb\"\"\n }\n]\n\",\n });\n\n // Simply specify the family to find the latest ACTIVE revision in that family.\n var mongo = Aws.Ecs.GetTaskDefinition.Invoke(new()\n {\n TaskDefinition = mongoTaskDefinition.Family,\n });\n\n var foo = new Aws.Ecs.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n });\n\n var mongoService = new Aws.Ecs.Service(\"mongo\", new()\n {\n Name = \"mongo\",\n Cluster = foo.Id,\n DesiredCount = 2,\n TaskDefinition = mongo.Apply(getTaskDefinitionResult =\u003e getTaskDefinitionResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmongoTaskDefinition, err := ecs.NewTaskDefinition(ctx, \"mongo\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"mongodb\"),\n\t\t\tContainerDefinitions: pulumi.String(`[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Simply specify the family to find the latest ACTIVE revision in that family.\n\t\tmongo := ecs.LookupTaskDefinitionOutput(ctx, ecs.GetTaskDefinitionOutputArgs{\n\t\t\tTaskDefinition: mongoTaskDefinition.Family,\n\t\t}, nil)\n\t\tfoo, err := ecs.NewCluster(ctx, \"foo\", \u0026ecs.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewService(ctx, \"mongo\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"mongo\"),\n\t\t\tCluster: foo.ID(),\n\t\t\tDesiredCount: pulumi.Int(2),\n\t\t\tTaskDefinition: pulumi.String(mongo.ApplyT(func(mongo ecs.GetTaskDefinitionResult) (*string, error) {\n\t\t\t\treturn \u0026mongo.Arn, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.EcsFunctions;\nimport com.pulumi.aws.ecs.inputs.GetTaskDefinitionArgs;\nimport com.pulumi.aws.ecs.Cluster;\nimport com.pulumi.aws.ecs.ClusterArgs;\nimport com.pulumi.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mongoTaskDefinition = new TaskDefinition(\"mongoTaskDefinition\", TaskDefinitionArgs.builder()\n .family(\"mongodb\")\n .containerDefinitions(\"\"\"\n[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n \"\"\")\n .build());\n\n // Simply specify the family to find the latest ACTIVE revision in that family.\n final var mongo = EcsFunctions.getTaskDefinition(GetTaskDefinitionArgs.builder()\n .taskDefinition(mongoTaskDefinition.family())\n .build());\n\n var foo = new Cluster(\"foo\", ClusterArgs.builder()\n .name(\"foo\")\n .build());\n\n var mongoService = new Service(\"mongoService\", ServiceArgs.builder()\n .name(\"mongo\")\n .cluster(foo.id())\n .desiredCount(2)\n .taskDefinition(mongo.applyValue(getTaskDefinitionResult -\u003e getTaskDefinitionResult).applyValue(mongo -\u003e mongo.applyValue(getTaskDefinitionResult -\u003e getTaskDefinitionResult.arn())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ecs:Cluster\n properties:\n name: foo\n mongoTaskDefinition:\n type: aws:ecs:TaskDefinition\n name: mongo\n properties:\n family: mongodb\n containerDefinitions: |\n [\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n ]\n mongoService:\n type: aws:ecs:Service\n name: mongo\n properties:\n name: mongo\n cluster: ${foo.id}\n desiredCount: 2 # Track the latest ACTIVE revision\n taskDefinition: ${mongo.arn}\nvariables:\n # Simply specify the family to find the latest ACTIVE revision in that family.\n mongo:\n fn::invoke:\n function: aws:ecs:getTaskDefinition\n arguments:\n taskDefinition: ${mongoTaskDefinition.family}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The ECS task definition data source allows access to details of\na specific AWS ECS task definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mongoTaskDefinition = new aws.ecs.TaskDefinition(\"mongo\", {\n family: \"mongodb\",\n containerDefinitions: `[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n`,\n});\n// Simply specify the family to find the latest ACTIVE revision in that family.\nconst mongo = aws.ecs.getTaskDefinitionOutput({\n taskDefinition: mongoTaskDefinition.family,\n});\nconst foo = new aws.ecs.Cluster(\"foo\", {name: \"foo\"});\nconst mongoService = new aws.ecs.Service(\"mongo\", {\n name: \"mongo\",\n cluster: foo.id,\n desiredCount: 2,\n taskDefinition: mongo.apply(mongo =\u003e mongo.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmongo_task_definition = aws.ecs.TaskDefinition(\"mongo\",\n family=\"mongodb\",\n container_definitions=\"\"\"[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n\"\"\")\n# Simply specify the family to find the latest ACTIVE revision in that family.\nmongo = aws.ecs.get_task_definition_output(task_definition=mongo_task_definition.family)\nfoo = aws.ecs.Cluster(\"foo\", name=\"foo\")\nmongo_service = aws.ecs.Service(\"mongo\",\n name=\"mongo\",\n cluster=foo.id,\n desired_count=2,\n task_definition=mongo.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mongoTaskDefinition = new Aws.Ecs.TaskDefinition(\"mongo\", new()\n {\n Family = \"mongodb\",\n ContainerDefinitions = @\"[\n {\n \"\"cpu\"\": 128,\n \"\"environment\"\": [{\n \"\"name\"\": \"\"SECRET\"\",\n \"\"value\"\": \"\"KEY\"\"\n }],\n \"\"essential\"\": true,\n \"\"image\"\": \"\"mongo:latest\"\",\n \"\"memory\"\": 128,\n \"\"memoryReservation\"\": 64,\n \"\"name\"\": \"\"mongodb\"\"\n }\n]\n\",\n });\n\n // Simply specify the family to find the latest ACTIVE revision in that family.\n var mongo = Aws.Ecs.GetTaskDefinition.Invoke(new()\n {\n TaskDefinition = mongoTaskDefinition.Family,\n });\n\n var foo = new Aws.Ecs.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n });\n\n var mongoService = new Aws.Ecs.Service(\"mongo\", new()\n {\n Name = \"mongo\",\n Cluster = foo.Id,\n DesiredCount = 2,\n TaskDefinition = mongo.Apply(getTaskDefinitionResult =\u003e getTaskDefinitionResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmongoTaskDefinition, err := ecs.NewTaskDefinition(ctx, \"mongo\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"mongodb\"),\n\t\t\tContainerDefinitions: pulumi.String(`[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Simply specify the family to find the latest ACTIVE revision in that family.\n\t\tmongo := ecs.LookupTaskDefinitionOutput(ctx, ecs.GetTaskDefinitionOutputArgs{\n\t\t\tTaskDefinition: mongoTaskDefinition.Family,\n\t\t}, nil)\n\t\tfoo, err := ecs.NewCluster(ctx, \"foo\", \u0026ecs.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewService(ctx, \"mongo\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"mongo\"),\n\t\t\tCluster: foo.ID(),\n\t\t\tDesiredCount: pulumi.Int(2),\n\t\t\tTaskDefinition: pulumi.String(mongo.ApplyT(func(mongo ecs.GetTaskDefinitionResult) (*string, error) {\n\t\t\t\treturn \u0026mongo.Arn, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.EcsFunctions;\nimport com.pulumi.aws.ecs.inputs.GetTaskDefinitionArgs;\nimport com.pulumi.aws.ecs.Cluster;\nimport com.pulumi.aws.ecs.ClusterArgs;\nimport com.pulumi.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mongoTaskDefinition = new TaskDefinition(\"mongoTaskDefinition\", TaskDefinitionArgs.builder()\n .family(\"mongodb\")\n .containerDefinitions(\"\"\"\n[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n \"\"\")\n .build());\n\n // Simply specify the family to find the latest ACTIVE revision in that family.\n final var mongo = EcsFunctions.getTaskDefinition(GetTaskDefinitionArgs.builder()\n .taskDefinition(mongoTaskDefinition.family())\n .build());\n\n var foo = new Cluster(\"foo\", ClusterArgs.builder()\n .name(\"foo\")\n .build());\n\n var mongoService = new Service(\"mongoService\", ServiceArgs.builder()\n .name(\"mongo\")\n .cluster(foo.id())\n .desiredCount(2)\n .taskDefinition(mongo.applyValue(getTaskDefinitionResult -\u003e getTaskDefinitionResult).applyValue(mongo -\u003e mongo.applyValue(getTaskDefinitionResult -\u003e getTaskDefinitionResult.arn())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ecs:Cluster\n properties:\n name: foo\n mongoTaskDefinition:\n type: aws:ecs:TaskDefinition\n name: mongo\n properties:\n family: mongodb\n containerDefinitions: |\n [\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n ]\n mongoService:\n type: aws:ecs:Service\n name: mongo\n properties:\n name: mongo\n cluster: ${foo.id}\n desiredCount: 2 # Track the latest ACTIVE revision\n taskDefinition: ${mongo.arn}\nvariables:\n # Simply specify the family to find the latest ACTIVE revision in that family.\n mongo:\n fn::invoke:\n Function: aws:ecs:getTaskDefinition\n Arguments:\n taskDefinition: ${mongoTaskDefinition.family}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTaskDefinition.\n", "properties": { @@ -401710,7 +401710,7 @@ } }, "aws:efs/getAccessPoint:getAccessPoint": { - "description": "Provides information about an Elastic File System (EFS) Access Point.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.efs.getAccessPoint({\n accessPointId: \"fsap-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.efs.get_access_point(access_point_id=\"fsap-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Efs.GetAccessPoint.Invoke(new()\n {\n AccessPointId = \"fsap-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\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 := efs.LookupAccessPoint(ctx, \u0026efs.LookupAccessPointArgs{\n\t\t\tAccessPointId: \"fsap-12345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.efs.EfsFunctions;\nimport com.pulumi.aws.efs.inputs.GetAccessPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = EfsFunctions.getAccessPoint(GetAccessPointArgs.builder()\n .accessPointId(\"fsap-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:efs:getAccessPoint\n arguments:\n accessPointId: fsap-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about an Elastic File System (EFS) Access Point.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.efs.getAccessPoint({\n accessPointId: \"fsap-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.efs.get_access_point(access_point_id=\"fsap-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Efs.GetAccessPoint.Invoke(new()\n {\n AccessPointId = \"fsap-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\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 := efs.LookupAccessPoint(ctx, \u0026efs.LookupAccessPointArgs{\n\t\t\tAccessPointId: \"fsap-12345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.efs.EfsFunctions;\nimport com.pulumi.aws.efs.inputs.GetAccessPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = EfsFunctions.getAccessPoint(GetAccessPointArgs.builder()\n .accessPointId(\"fsap-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:efs:getAccessPoint\n Arguments:\n accessPointId: fsap-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAccessPoint.\n", "properties": { @@ -401793,7 +401793,7 @@ } }, "aws:efs/getAccessPoints:getAccessPoints": { - "description": "Provides information about multiple Elastic File System (EFS) Access Points.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.efs.getAccessPoints({\n fileSystemId: \"fs-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.efs.get_access_points(file_system_id=\"fs-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Efs.GetAccessPoints.Invoke(new()\n {\n FileSystemId = \"fs-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\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 := efs.GetAccessPoints(ctx, \u0026efs.GetAccessPointsArgs{\n\t\t\tFileSystemId: \"fs-12345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.efs.EfsFunctions;\nimport com.pulumi.aws.efs.inputs.GetAccessPointsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = EfsFunctions.getAccessPoints(GetAccessPointsArgs.builder()\n .fileSystemId(\"fs-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:efs:getAccessPoints\n arguments:\n fileSystemId: fs-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about multiple Elastic File System (EFS) Access Points.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.efs.getAccessPoints({\n fileSystemId: \"fs-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.efs.get_access_points(file_system_id=\"fs-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Efs.GetAccessPoints.Invoke(new()\n {\n FileSystemId = \"fs-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\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 := efs.GetAccessPoints(ctx, \u0026efs.GetAccessPointsArgs{\n\t\t\tFileSystemId: \"fs-12345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.efs.EfsFunctions;\nimport com.pulumi.aws.efs.inputs.GetAccessPointsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = EfsFunctions.getAccessPoints(GetAccessPointsArgs.builder()\n .fileSystemId(\"fs-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:efs:getAccessPoints\n Arguments:\n fileSystemId: fs-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAccessPoints.\n", "properties": { @@ -401842,7 +401842,7 @@ } }, "aws:efs/getFileSystem:getFileSystem": { - "description": "Provides information about an Elastic File System (EFS) File System.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst fileSystemId = config.get(\"fileSystemId\") || \"\";\nconst byId = aws.efs.getFileSystem({\n fileSystemId: fileSystemId,\n});\nconst byTag = aws.efs.getFileSystem({\n tags: {\n Environment: \"dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nfile_system_id = config.get(\"fileSystemId\")\nif file_system_id is None:\n file_system_id = \"\"\nby_id = aws.efs.get_file_system(file_system_id=file_system_id)\nby_tag = aws.efs.get_file_system(tags={\n \"Environment\": \"dev\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var fileSystemId = config.Get(\"fileSystemId\") ?? \"\";\n var byId = Aws.Efs.GetFileSystem.Invoke(new()\n {\n FileSystemId = fileSystemId,\n });\n\n var byTag = Aws.Efs.GetFileSystem.Invoke(new()\n {\n Tags = \n {\n { \"Environment\", \"dev\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tfileSystemId := \"\"\n\t\tif param := cfg.Get(\"fileSystemId\"); param != \"\" {\n\t\t\tfileSystemId = param\n\t\t}\n\t\t_, err := efs.LookupFileSystem(ctx, \u0026efs.LookupFileSystemArgs{\n\t\t\tFileSystemId: pulumi.StringRef(fileSystemId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = efs.LookupFileSystem(ctx, \u0026efs.LookupFileSystemArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Environment\": \"dev\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.efs.EfsFunctions;\nimport com.pulumi.aws.efs.inputs.GetFileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var fileSystemId = config.get(\"fileSystemId\").orElse(\"\");\n final var byId = EfsFunctions.getFileSystem(GetFileSystemArgs.builder()\n .fileSystemId(fileSystemId)\n .build());\n\n final var byTag = EfsFunctions.getFileSystem(GetFileSystemArgs.builder()\n .tags(Map.of(\"Environment\", \"dev\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n fileSystemId:\n type: string\n default: \"\"\nvariables:\n byId:\n fn::invoke:\n function: aws:efs:getFileSystem\n arguments:\n fileSystemId: ${fileSystemId}\n byTag:\n fn::invoke:\n function: aws:efs:getFileSystem\n arguments:\n tags:\n Environment: dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about an Elastic File System (EFS) File System.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst fileSystemId = config.get(\"fileSystemId\") || \"\";\nconst byId = aws.efs.getFileSystem({\n fileSystemId: fileSystemId,\n});\nconst byTag = aws.efs.getFileSystem({\n tags: {\n Environment: \"dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nfile_system_id = config.get(\"fileSystemId\")\nif file_system_id is None:\n file_system_id = \"\"\nby_id = aws.efs.get_file_system(file_system_id=file_system_id)\nby_tag = aws.efs.get_file_system(tags={\n \"Environment\": \"dev\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var fileSystemId = config.Get(\"fileSystemId\") ?? \"\";\n var byId = Aws.Efs.GetFileSystem.Invoke(new()\n {\n FileSystemId = fileSystemId,\n });\n\n var byTag = Aws.Efs.GetFileSystem.Invoke(new()\n {\n Tags = \n {\n { \"Environment\", \"dev\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tfileSystemId := \"\"\n\t\tif param := cfg.Get(\"fileSystemId\"); param != \"\" {\n\t\t\tfileSystemId = param\n\t\t}\n\t\t_, err := efs.LookupFileSystem(ctx, \u0026efs.LookupFileSystemArgs{\n\t\t\tFileSystemId: pulumi.StringRef(fileSystemId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = efs.LookupFileSystem(ctx, \u0026efs.LookupFileSystemArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Environment\": \"dev\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.efs.EfsFunctions;\nimport com.pulumi.aws.efs.inputs.GetFileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var fileSystemId = config.get(\"fileSystemId\").orElse(\"\");\n final var byId = EfsFunctions.getFileSystem(GetFileSystemArgs.builder()\n .fileSystemId(fileSystemId)\n .build());\n\n final var byTag = EfsFunctions.getFileSystem(GetFileSystemArgs.builder()\n .tags(Map.of(\"Environment\", \"dev\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n fileSystemId:\n type: string\n default:\nvariables:\n byId:\n fn::invoke:\n Function: aws:efs:getFileSystem\n Arguments:\n fileSystemId: ${fileSystemId}\n byTag:\n fn::invoke:\n Function: aws:efs:getFileSystem\n Arguments:\n tags:\n Environment: dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getFileSystem.\n", "properties": { @@ -401970,7 +401970,7 @@ } }, "aws:efs/getMountTarget:getMountTarget": { - "description": "Provides information about an Elastic File System Mount Target (EFS).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst mountTargetId = config.get(\"mountTargetId\") || \"\";\nconst byId = aws.efs.getMountTarget({\n mountTargetId: mountTargetId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nmount_target_id = config.get(\"mountTargetId\")\nif mount_target_id is None:\n mount_target_id = \"\"\nby_id = aws.efs.get_mount_target(mount_target_id=mount_target_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var mountTargetId = config.Get(\"mountTargetId\") ?? \"\";\n var byId = Aws.Efs.GetMountTarget.Invoke(new()\n {\n MountTargetId = mountTargetId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tmountTargetId := \"\"\n\t\tif param := cfg.Get(\"mountTargetId\"); param != \"\" {\n\t\t\tmountTargetId = param\n\t\t}\n\t\t_, err := efs.LookupMountTarget(ctx, \u0026efs.LookupMountTargetArgs{\n\t\t\tMountTargetId: pulumi.StringRef(mountTargetId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.efs.EfsFunctions;\nimport com.pulumi.aws.efs.inputs.GetMountTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var mountTargetId = config.get(\"mountTargetId\").orElse(\"\");\n final var byId = EfsFunctions.getMountTarget(GetMountTargetArgs.builder()\n .mountTargetId(mountTargetId)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n mountTargetId:\n type: string\n default: \"\"\nvariables:\n byId:\n fn::invoke:\n function: aws:efs:getMountTarget\n arguments:\n mountTargetId: ${mountTargetId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about an Elastic File System Mount Target (EFS).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst mountTargetId = config.get(\"mountTargetId\") || \"\";\nconst byId = aws.efs.getMountTarget({\n mountTargetId: mountTargetId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nmount_target_id = config.get(\"mountTargetId\")\nif mount_target_id is None:\n mount_target_id = \"\"\nby_id = aws.efs.get_mount_target(mount_target_id=mount_target_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var mountTargetId = config.Get(\"mountTargetId\") ?? \"\";\n var byId = Aws.Efs.GetMountTarget.Invoke(new()\n {\n MountTargetId = mountTargetId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tmountTargetId := \"\"\n\t\tif param := cfg.Get(\"mountTargetId\"); param != \"\" {\n\t\t\tmountTargetId = param\n\t\t}\n\t\t_, err := efs.LookupMountTarget(ctx, \u0026efs.LookupMountTargetArgs{\n\t\t\tMountTargetId: pulumi.StringRef(mountTargetId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.efs.EfsFunctions;\nimport com.pulumi.aws.efs.inputs.GetMountTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var mountTargetId = config.get(\"mountTargetId\").orElse(\"\");\n final var byId = EfsFunctions.getMountTarget(GetMountTargetArgs.builder()\n .mountTargetId(mountTargetId)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n mountTargetId:\n type: string\n default:\nvariables:\n byId:\n fn::invoke:\n Function: aws:efs:getMountTarget\n Arguments:\n mountTargetId: ${mountTargetId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getMountTarget.\n", "properties": { @@ -402068,7 +402068,7 @@ } }, "aws:eks/getAccessEntry:getAccessEntry": { - "description": "Access Entry Configurations for an EKS Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.eks.getAccessEntry({\n clusterName: exampleAwsEksCluster.name,\n principalArn: exampleAwsIamRole.arn,\n});\nexport const eksAccessEntryOutputs = exampleAwsEksAccessEntry;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.get_access_entry(cluster_name=example_aws_eks_cluster[\"name\"],\n principal_arn=example_aws_iam_role[\"arn\"])\npulumi.export(\"eksAccessEntryOutputs\", example_aws_eks_access_entry)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Eks.GetAccessEntry.Invoke(new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n PrincipalArn = exampleAwsIamRole.Arn,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"eksAccessEntryOutputs\"] = exampleAwsEksAccessEntry,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\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 := eks.LookupAccessEntry(ctx, \u0026eks.LookupAccessEntryArgs{\n\t\t\tClusterName: exampleAwsEksCluster.Name,\n\t\t\tPrincipalArn: exampleAwsIamRole.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"eksAccessEntryOutputs\", exampleAwsEksAccessEntry)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.EksFunctions;\nimport com.pulumi.aws.eks.inputs.GetAccessEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EksFunctions.getAccessEntry(GetAccessEntryArgs.builder()\n .clusterName(exampleAwsEksCluster.name())\n .principalArn(exampleAwsIamRole.arn())\n .build());\n\n ctx.export(\"eksAccessEntryOutputs\", exampleAwsEksAccessEntry);\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:eks:getAccessEntry\n arguments:\n clusterName: ${exampleAwsEksCluster.name}\n principalArn: ${exampleAwsIamRole.arn}\noutputs:\n eksAccessEntryOutputs: ${exampleAwsEksAccessEntry}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Access Entry Configurations for an EKS Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.eks.getAccessEntry({\n clusterName: exampleAwsEksCluster.name,\n principalArn: exampleAwsIamRole.arn,\n});\nexport const eksAccessEntryOutputs = exampleAwsEksAccessEntry;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.get_access_entry(cluster_name=example_aws_eks_cluster[\"name\"],\n principal_arn=example_aws_iam_role[\"arn\"])\npulumi.export(\"eksAccessEntryOutputs\", example_aws_eks_access_entry)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Eks.GetAccessEntry.Invoke(new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n PrincipalArn = exampleAwsIamRole.Arn,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"eksAccessEntryOutputs\"] = exampleAwsEksAccessEntry,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\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 := eks.LookupAccessEntry(ctx, \u0026eks.LookupAccessEntryArgs{\n\t\t\tClusterName: exampleAwsEksCluster.Name,\n\t\t\tPrincipalArn: exampleAwsIamRole.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"eksAccessEntryOutputs\", exampleAwsEksAccessEntry)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.EksFunctions;\nimport com.pulumi.aws.eks.inputs.GetAccessEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EksFunctions.getAccessEntry(GetAccessEntryArgs.builder()\n .clusterName(exampleAwsEksCluster.name())\n .principalArn(exampleAwsIamRole.arn())\n .build());\n\n ctx.export(\"eksAccessEntryOutputs\", exampleAwsEksAccessEntry);\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:eks:getAccessEntry\n Arguments:\n clusterName: ${exampleAwsEksCluster.name}\n principalArn: ${exampleAwsIamRole.arn}\noutputs:\n eksAccessEntryOutputs: ${exampleAwsEksAccessEntry}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAccessEntry.\n", "properties": { @@ -402163,7 +402163,7 @@ } }, "aws:eks/getAddon:getAddon": { - "description": "Retrieve information about an EKS add-on.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.eks.getAddon({\n addonName: \"vpc-cni\",\n clusterName: exampleAwsEksCluster.name,\n});\nexport const eksAddonOutputs = exampleAwsEksAddon;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.get_addon(addon_name=\"vpc-cni\",\n cluster_name=example_aws_eks_cluster[\"name\"])\npulumi.export(\"eksAddonOutputs\", example_aws_eks_addon)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Eks.GetAddon.Invoke(new()\n {\n AddonName = \"vpc-cni\",\n ClusterName = exampleAwsEksCluster.Name,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"eksAddonOutputs\"] = exampleAwsEksAddon,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\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 := eks.LookupAddon(ctx, \u0026eks.LookupAddonArgs{\n\t\t\tAddonName: \"vpc-cni\",\n\t\t\tClusterName: exampleAwsEksCluster.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"eksAddonOutputs\", exampleAwsEksAddon)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.EksFunctions;\nimport com.pulumi.aws.eks.inputs.GetAddonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EksFunctions.getAddon(GetAddonArgs.builder()\n .addonName(\"vpc-cni\")\n .clusterName(exampleAwsEksCluster.name())\n .build());\n\n ctx.export(\"eksAddonOutputs\", exampleAwsEksAddon);\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:eks:getAddon\n arguments:\n addonName: vpc-cni\n clusterName: ${exampleAwsEksCluster.name}\noutputs:\n eksAddonOutputs: ${exampleAwsEksAddon}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about an EKS add-on.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.eks.getAddon({\n addonName: \"vpc-cni\",\n clusterName: exampleAwsEksCluster.name,\n});\nexport const eksAddonOutputs = exampleAwsEksAddon;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.get_addon(addon_name=\"vpc-cni\",\n cluster_name=example_aws_eks_cluster[\"name\"])\npulumi.export(\"eksAddonOutputs\", example_aws_eks_addon)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Eks.GetAddon.Invoke(new()\n {\n AddonName = \"vpc-cni\",\n ClusterName = exampleAwsEksCluster.Name,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"eksAddonOutputs\"] = exampleAwsEksAddon,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\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 := eks.LookupAddon(ctx, \u0026eks.LookupAddonArgs{\n\t\t\tAddonName: \"vpc-cni\",\n\t\t\tClusterName: exampleAwsEksCluster.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"eksAddonOutputs\", exampleAwsEksAddon)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.EksFunctions;\nimport com.pulumi.aws.eks.inputs.GetAddonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EksFunctions.getAddon(GetAddonArgs.builder()\n .addonName(\"vpc-cni\")\n .clusterName(exampleAwsEksCluster.name())\n .build());\n\n ctx.export(\"eksAddonOutputs\", exampleAwsEksAddon);\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:eks:getAddon\n Arguments:\n addonName: vpc-cni\n clusterName: ${exampleAwsEksCluster.name}\noutputs:\n eksAddonOutputs: ${exampleAwsEksAddon}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAddon.\n", "properties": { @@ -402256,7 +402256,7 @@ } }, "aws:eks/getAddonVersion:getAddonVersion": { - "description": "Retrieve information about a specific EKS add-on version compatible with an EKS cluster version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const default = await aws.eks.getAddonVersion({\n addonName: \"vpc-cni\",\n kubernetesVersion: example.version,\n });\n const latest = await aws.eks.getAddonVersion({\n addonName: \"vpc-cni\",\n kubernetesVersion: example.version,\n mostRecent: true,\n });\n const vpcCni = new aws.eks.Addon(\"vpc_cni\", {\n clusterName: example.name,\n addonName: \"vpc-cni\",\n addonVersion: latest.version,\n });\n return {\n \"default\": _default.version,\n latest: latest.version,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.eks.get_addon_version(addon_name=\"vpc-cni\",\n kubernetes_version=example[\"version\"])\nlatest = aws.eks.get_addon_version(addon_name=\"vpc-cni\",\n kubernetes_version=example[\"version\"],\n most_recent=True)\nvpc_cni = aws.eks.Addon(\"vpc_cni\",\n cluster_name=example[\"name\"],\n addon_name=\"vpc-cni\",\n addon_version=latest.version)\npulumi.export(\"default\", default.version)\npulumi.export(\"latest\", latest.version)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Eks.GetAddonVersion.Invoke(new()\n {\n AddonName = \"vpc-cni\",\n KubernetesVersion = example.Version,\n });\n\n var latest = Aws.Eks.GetAddonVersion.Invoke(new()\n {\n AddonName = \"vpc-cni\",\n KubernetesVersion = example.Version,\n MostRecent = true,\n });\n\n var vpcCni = new Aws.Eks.Addon(\"vpc_cni\", new()\n {\n ClusterName = example.Name,\n AddonName = \"vpc-cni\",\n AddonVersion = latest.Apply(getAddonVersionResult =\u003e getAddonVersionResult.Version),\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"default\"] = @default.Apply(@default =\u003e @default.Apply(getAddonVersionResult =\u003e getAddonVersionResult.Version)),\n [\"latest\"] = latest.Apply(getAddonVersionResult =\u003e getAddonVersionResult.Version),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\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_default, err := eks.GetAddonVersion(ctx, \u0026eks.GetAddonVersionArgs{\n\t\t\tAddonName: \"vpc-cni\",\n\t\t\tKubernetesVersion: example.Version,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlatest, err := eks.GetAddonVersion(ctx, \u0026eks.GetAddonVersionArgs{\n\t\t\tAddonName: \"vpc-cni\",\n\t\t\tKubernetesVersion: example.Version,\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewAddon(ctx, \"vpc_cni\", \u0026eks.AddonArgs{\n\t\t\tClusterName: pulumi.Any(example.Name),\n\t\t\tAddonName: pulumi.String(\"vpc-cni\"),\n\t\t\tAddonVersion: pulumi.String(latest.Version),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"default\", _default.Version)\n\t\tctx.Export(\"latest\", latest.Version)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.EksFunctions;\nimport com.pulumi.aws.eks.inputs.GetAddonVersionArgs;\nimport com.pulumi.aws.eks.Addon;\nimport com.pulumi.aws.eks.AddonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EksFunctions.getAddonVersion(GetAddonVersionArgs.builder()\n .addonName(\"vpc-cni\")\n .kubernetesVersion(example.version())\n .build());\n\n final var latest = EksFunctions.getAddonVersion(GetAddonVersionArgs.builder()\n .addonName(\"vpc-cni\")\n .kubernetesVersion(example.version())\n .mostRecent(true)\n .build());\n\n var vpcCni = new Addon(\"vpcCni\", AddonArgs.builder()\n .clusterName(example.name())\n .addonName(\"vpc-cni\")\n .addonVersion(latest.applyValue(getAddonVersionResult -\u003e getAddonVersionResult.version()))\n .build());\n\n ctx.export(\"default\", default_.version());\n ctx.export(\"latest\", latest.applyValue(getAddonVersionResult -\u003e getAddonVersionResult.version()));\n }\n}\n```\n```yaml\nresources:\n vpcCni:\n type: aws:eks:Addon\n name: vpc_cni\n properties:\n clusterName: ${example.name}\n addonName: vpc-cni\n addonVersion: ${latest.version}\nvariables:\n default:\n fn::invoke:\n function: aws:eks:getAddonVersion\n arguments:\n addonName: vpc-cni\n kubernetesVersion: ${example.version}\n latest:\n fn::invoke:\n function: aws:eks:getAddonVersion\n arguments:\n addonName: vpc-cni\n kubernetesVersion: ${example.version}\n mostRecent: true\noutputs:\n default: ${default.version}\n latest: ${latest.version}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a specific EKS add-on version compatible with an EKS cluster version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const default = await aws.eks.getAddonVersion({\n addonName: \"vpc-cni\",\n kubernetesVersion: example.version,\n });\n const latest = await aws.eks.getAddonVersion({\n addonName: \"vpc-cni\",\n kubernetesVersion: example.version,\n mostRecent: true,\n });\n const vpcCni = new aws.eks.Addon(\"vpc_cni\", {\n clusterName: example.name,\n addonName: \"vpc-cni\",\n addonVersion: latest.version,\n });\n return {\n \"default\": _default.version,\n latest: latest.version,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.eks.get_addon_version(addon_name=\"vpc-cni\",\n kubernetes_version=example[\"version\"])\nlatest = aws.eks.get_addon_version(addon_name=\"vpc-cni\",\n kubernetes_version=example[\"version\"],\n most_recent=True)\nvpc_cni = aws.eks.Addon(\"vpc_cni\",\n cluster_name=example[\"name\"],\n addon_name=\"vpc-cni\",\n addon_version=latest.version)\npulumi.export(\"default\", default.version)\npulumi.export(\"latest\", latest.version)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Eks.GetAddonVersion.Invoke(new()\n {\n AddonName = \"vpc-cni\",\n KubernetesVersion = example.Version,\n });\n\n var latest = Aws.Eks.GetAddonVersion.Invoke(new()\n {\n AddonName = \"vpc-cni\",\n KubernetesVersion = example.Version,\n MostRecent = true,\n });\n\n var vpcCni = new Aws.Eks.Addon(\"vpc_cni\", new()\n {\n ClusterName = example.Name,\n AddonName = \"vpc-cni\",\n AddonVersion = latest.Apply(getAddonVersionResult =\u003e getAddonVersionResult.Version),\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"default\"] = @default.Apply(@default =\u003e @default.Apply(getAddonVersionResult =\u003e getAddonVersionResult.Version)),\n [\"latest\"] = latest.Apply(getAddonVersionResult =\u003e getAddonVersionResult.Version),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\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_default, err := eks.GetAddonVersion(ctx, \u0026eks.GetAddonVersionArgs{\n\t\t\tAddonName: \"vpc-cni\",\n\t\t\tKubernetesVersion: example.Version,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlatest, err := eks.GetAddonVersion(ctx, \u0026eks.GetAddonVersionArgs{\n\t\t\tAddonName: \"vpc-cni\",\n\t\t\tKubernetesVersion: example.Version,\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewAddon(ctx, \"vpc_cni\", \u0026eks.AddonArgs{\n\t\t\tClusterName: pulumi.Any(example.Name),\n\t\t\tAddonName: pulumi.String(\"vpc-cni\"),\n\t\t\tAddonVersion: pulumi.String(latest.Version),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"default\", _default.Version)\n\t\tctx.Export(\"latest\", latest.Version)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.EksFunctions;\nimport com.pulumi.aws.eks.inputs.GetAddonVersionArgs;\nimport com.pulumi.aws.eks.Addon;\nimport com.pulumi.aws.eks.AddonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EksFunctions.getAddonVersion(GetAddonVersionArgs.builder()\n .addonName(\"vpc-cni\")\n .kubernetesVersion(example.version())\n .build());\n\n final var latest = EksFunctions.getAddonVersion(GetAddonVersionArgs.builder()\n .addonName(\"vpc-cni\")\n .kubernetesVersion(example.version())\n .mostRecent(true)\n .build());\n\n var vpcCni = new Addon(\"vpcCni\", AddonArgs.builder()\n .clusterName(example.name())\n .addonName(\"vpc-cni\")\n .addonVersion(latest.applyValue(getAddonVersionResult -\u003e getAddonVersionResult.version()))\n .build());\n\n ctx.export(\"default\", default_.version());\n ctx.export(\"latest\", latest.applyValue(getAddonVersionResult -\u003e getAddonVersionResult.version()));\n }\n}\n```\n```yaml\nresources:\n vpcCni:\n type: aws:eks:Addon\n name: vpc_cni\n properties:\n clusterName: ${example.name}\n addonName: vpc-cni\n addonVersion: ${latest.version}\nvariables:\n default:\n fn::invoke:\n Function: aws:eks:getAddonVersion\n Arguments:\n addonName: vpc-cni\n kubernetesVersion: ${example.version}\n latest:\n fn::invoke:\n Function: aws:eks:getAddonVersion\n Arguments:\n addonName: vpc-cni\n kubernetesVersion: ${example.version}\n mostRecent: true\noutputs:\n default: ${default.version}\n latest: ${latest.version}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAddonVersion.\n", "properties": { @@ -402310,7 +402310,7 @@ } }, "aws:eks/getCluster:getCluster": { - "description": "Retrieve information about an EKS Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = await aws.eks.getCluster({\n name: \"example\",\n });\n return {\n endpoint: example.endpoint,\n \"kubeconfig-certificate-authority-data\": example.certificateAuthorities?.[0]?.data,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.get_cluster(name=\"example\")\npulumi.export(\"endpoint\", example.endpoint)\npulumi.export(\"kubeconfig-certificate-authority-data\", example.certificate_authorities[0].data)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Eks.GetCluster.Invoke(new()\n {\n Name = \"example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"endpoint\"] = example.Apply(getClusterResult =\u003e getClusterResult.Endpoint),\n [\"kubeconfig-certificate-authority-data\"] = example.Apply(getClusterResult =\u003e getClusterResult.CertificateAuthorities[0]?.Data),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := eks.LookupCluster(ctx, \u0026eks.LookupClusterArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"endpoint\", example.Endpoint)\n\t\tctx.Export(\"kubeconfig-certificate-authority-data\", example.CertificateAuthorities[0].Data)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.EksFunctions;\nimport com.pulumi.aws.eks.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EksFunctions.getCluster(GetClusterArgs.builder()\n .name(\"example\")\n .build());\n\n ctx.export(\"endpoint\", example.applyValue(getClusterResult -\u003e getClusterResult.endpoint()));\n ctx.export(\"kubeconfig-certificate-authority-data\", example.applyValue(getClusterResult -\u003e getClusterResult.certificateAuthorities()[0].data()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:eks:getCluster\n arguments:\n name: example\noutputs:\n endpoint: ${example.endpoint}\n kubeconfig-certificate-authority-data: ${example.certificateAuthorities[0].data}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about an EKS Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = await aws.eks.getCluster({\n name: \"example\",\n });\n return {\n endpoint: example.endpoint,\n \"kubeconfig-certificate-authority-data\": example.certificateAuthorities?.[0]?.data,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.get_cluster(name=\"example\")\npulumi.export(\"endpoint\", example.endpoint)\npulumi.export(\"kubeconfig-certificate-authority-data\", example.certificate_authorities[0].data)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Eks.GetCluster.Invoke(new()\n {\n Name = \"example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"endpoint\"] = example.Apply(getClusterResult =\u003e getClusterResult.Endpoint),\n [\"kubeconfig-certificate-authority-data\"] = example.Apply(getClusterResult =\u003e getClusterResult.CertificateAuthorities[0]?.Data),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := eks.LookupCluster(ctx, \u0026eks.LookupClusterArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"endpoint\", example.Endpoint)\n\t\tctx.Export(\"kubeconfig-certificate-authority-data\", example.CertificateAuthorities[0].Data)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.EksFunctions;\nimport com.pulumi.aws.eks.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EksFunctions.getCluster(GetClusterArgs.builder()\n .name(\"example\")\n .build());\n\n ctx.export(\"endpoint\", example.applyValue(getClusterResult -\u003e getClusterResult.endpoint()));\n ctx.export(\"kubeconfig-certificate-authority-data\", example.applyValue(getClusterResult -\u003e getClusterResult.certificateAuthorities()[0].data()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:eks:getCluster\n Arguments:\n name: example\noutputs:\n endpoint: ${example.endpoint}\n kubeconfig-certificate-authority-data: ${example.certificateAuthorities[0].data}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCluster.\n", "properties": { @@ -402491,7 +402491,7 @@ } }, "aws:eks/getClusterAuth:getClusterAuth": { - "description": "Get an authentication token to communicate with an EKS cluster.\n\nUses IAM credentials from the AWS provider to generate a temporary token that is compatible with\n[AWS IAM Authenticator](https://github.com/kubernetes-sigs/aws-iam-authenticator) authentication.\nThis can be used to authenticate to an EKS cluster or to a cluster that has the AWS IAM Authenticator\nserver configured.\n\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.eks.getCluster({\n name: \"example\",\n});\nconst exampleGetClusterAuth = aws.eks.getClusterAuth({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.get_cluster(name=\"example\")\nexample_get_cluster_auth = aws.eks.get_cluster_auth(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Eks.GetCluster.Invoke(new()\n {\n Name = \"example\",\n });\n\n var exampleGetClusterAuth = Aws.Eks.GetClusterAuth.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\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 := eks.LookupCluster(ctx, \u0026eks.LookupClusterArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.GetClusterAuth(ctx, \u0026eks.GetClusterAuthArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.EksFunctions;\nimport com.pulumi.aws.eks.inputs.GetClusterArgs;\nimport com.pulumi.aws.eks.inputs.GetClusterAuthArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EksFunctions.getCluster(GetClusterArgs.builder()\n .name(\"example\")\n .build());\n\n final var exampleGetClusterAuth = EksFunctions.getClusterAuth(GetClusterAuthArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:eks:getCluster\n arguments:\n name: example\n exampleGetClusterAuth:\n fn::invoke:\n function: aws:eks:getClusterAuth\n arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get an authentication token to communicate with an EKS cluster.\n\nUses IAM credentials from the AWS provider to generate a temporary token that is compatible with\n[AWS IAM Authenticator](https://github.com/kubernetes-sigs/aws-iam-authenticator) authentication.\nThis can be used to authenticate to an EKS cluster or to a cluster that has the AWS IAM Authenticator\nserver configured.\n\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.eks.getCluster({\n name: \"example\",\n});\nconst exampleGetClusterAuth = aws.eks.getClusterAuth({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.get_cluster(name=\"example\")\nexample_get_cluster_auth = aws.eks.get_cluster_auth(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Eks.GetCluster.Invoke(new()\n {\n Name = \"example\",\n });\n\n var exampleGetClusterAuth = Aws.Eks.GetClusterAuth.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\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 := eks.LookupCluster(ctx, \u0026eks.LookupClusterArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.GetClusterAuth(ctx, \u0026eks.GetClusterAuthArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.EksFunctions;\nimport com.pulumi.aws.eks.inputs.GetClusterArgs;\nimport com.pulumi.aws.eks.inputs.GetClusterAuthArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EksFunctions.getCluster(GetClusterArgs.builder()\n .name(\"example\")\n .build());\n\n final var exampleGetClusterAuth = EksFunctions.getClusterAuth(GetClusterAuthArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:eks:getCluster\n Arguments:\n name: example\n exampleGetClusterAuth:\n fn::invoke:\n Function: aws:eks:getClusterAuth\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getClusterAuth.\n", "properties": { @@ -402554,7 +402554,7 @@ } }, "aws:eks/getNodeGroup:getNodeGroup": { - "description": "Retrieve information about an EKS Node Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.eks.getNodeGroup({\n clusterName: \"example\",\n nodeGroupName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.get_node_group(cluster_name=\"example\",\n node_group_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Eks.GetNodeGroup.Invoke(new()\n {\n ClusterName = \"example\",\n NodeGroupName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\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 := eks.LookupNodeGroup(ctx, \u0026eks.LookupNodeGroupArgs{\n\t\t\tClusterName: \"example\",\n\t\t\tNodeGroupName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.EksFunctions;\nimport com.pulumi.aws.eks.inputs.GetNodeGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EksFunctions.getNodeGroup(GetNodeGroupArgs.builder()\n .clusterName(\"example\")\n .nodeGroupName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:eks:getNodeGroup\n arguments:\n clusterName: example\n nodeGroupName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about an EKS Node Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.eks.getNodeGroup({\n clusterName: \"example\",\n nodeGroupName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.get_node_group(cluster_name=\"example\",\n node_group_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Eks.GetNodeGroup.Invoke(new()\n {\n ClusterName = \"example\",\n NodeGroupName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\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 := eks.LookupNodeGroup(ctx, \u0026eks.LookupNodeGroupArgs{\n\t\t\tClusterName: \"example\",\n\t\t\tNodeGroupName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.EksFunctions;\nimport com.pulumi.aws.eks.inputs.GetNodeGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EksFunctions.getNodeGroup(GetNodeGroupArgs.builder()\n .clusterName(\"example\")\n .nodeGroupName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:eks:getNodeGroup\n Arguments:\n clusterName: example\n nodeGroupName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getNodeGroup.\n", "properties": { @@ -402756,7 +402756,7 @@ } }, "aws:elasticache/getCluster:getCluster": { - "description": "Use this data source to get information about an ElastiCache Cluster\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myCluster = aws.elasticache.getCluster({\n clusterId: \"my-cluster-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_cluster = aws.elasticache.get_cluster(cluster_id=\"my-cluster-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myCluster = Aws.ElastiCache.GetCluster.Invoke(new()\n {\n ClusterId = \"my-cluster-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.LookupCluster(ctx, \u0026elasticache.LookupClusterArgs{\n\t\t\tClusterId: \"my-cluster-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.elasticache.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myCluster = ElasticacheFunctions.getCluster(GetClusterArgs.builder()\n .clusterId(\"my-cluster-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myCluster:\n fn::invoke:\n function: aws:elasticache:getCluster\n arguments:\n clusterId: my-cluster-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about an ElastiCache Cluster\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myCluster = aws.elasticache.getCluster({\n clusterId: \"my-cluster-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_cluster = aws.elasticache.get_cluster(cluster_id=\"my-cluster-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myCluster = Aws.ElastiCache.GetCluster.Invoke(new()\n {\n ClusterId = \"my-cluster-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.LookupCluster(ctx, \u0026elasticache.LookupClusterArgs{\n\t\t\tClusterId: \"my-cluster-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.elasticache.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myCluster = ElasticacheFunctions.getCluster(GetClusterArgs.builder()\n .clusterId(\"my-cluster-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myCluster:\n fn::invoke:\n Function: aws:elasticache:getCluster\n Arguments:\n clusterId: my-cluster-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCluster.\n", "properties": { @@ -402922,7 +402922,7 @@ } }, "aws:elasticache/getReplicationGroup:getReplicationGroup": { - "description": "Use this data source to get information about an ElastiCache Replication Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = aws.elasticache.getReplicationGroup({\n replicationGroupId: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.elasticache.get_replication_group(replication_group_id=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = Aws.ElastiCache.GetReplicationGroup.Invoke(new()\n {\n ReplicationGroupId = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.LookupReplicationGroup(ctx, \u0026elasticache.LookupReplicationGroupArgs{\n\t\t\tReplicationGroupId: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.elasticache.inputs.GetReplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var bar = ElasticacheFunctions.getReplicationGroup(GetReplicationGroupArgs.builder()\n .replicationGroupId(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n bar:\n fn::invoke:\n function: aws:elasticache:getReplicationGroup\n arguments:\n replicationGroupId: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about an ElastiCache Replication Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = aws.elasticache.getReplicationGroup({\n replicationGroupId: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.elasticache.get_replication_group(replication_group_id=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = Aws.ElastiCache.GetReplicationGroup.Invoke(new()\n {\n ReplicationGroupId = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.LookupReplicationGroup(ctx, \u0026elasticache.LookupReplicationGroupArgs{\n\t\t\tReplicationGroupId: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.elasticache.inputs.GetReplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var bar = ElasticacheFunctions.getReplicationGroup(GetReplicationGroupArgs.builder()\n .replicationGroupId(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n bar:\n fn::invoke:\n Function: aws:elasticache:getReplicationGroup\n Arguments:\n replicationGroupId: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getReplicationGroup.\n", "properties": { @@ -403051,7 +403051,7 @@ } }, "aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering": { - "description": "Information about a single ElastiCache Reserved Cache Node Offering.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.elasticache.getReservedCacheNodeOffering({\n cacheNodeType: \"cache.t4g.small\",\n duration: \"P1Y\",\n offeringType: \"No Upfront\",\n productDescription: \"redis\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.get_reserved_cache_node_offering(cache_node_type=\"cache.t4g.small\",\n duration=\"P1Y\",\n offering_type=\"No Upfront\",\n product_description=\"redis\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ElastiCache.GetReservedCacheNodeOffering.Invoke(new()\n {\n CacheNodeType = \"cache.t4g.small\",\n Duration = \"P1Y\",\n OfferingType = \"No Upfront\",\n ProductDescription = \"redis\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.GetReservedCacheNodeOffering(ctx, \u0026elasticache.GetReservedCacheNodeOfferingArgs{\n\t\t\tCacheNodeType: \"cache.t4g.small\",\n\t\t\tDuration: \"P1Y\",\n\t\t\tOfferingType: \"No Upfront\",\n\t\t\tProductDescription: \"redis\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.elasticache.inputs.GetReservedCacheNodeOfferingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ElasticacheFunctions.getReservedCacheNodeOffering(GetReservedCacheNodeOfferingArgs.builder()\n .cacheNodeType(\"cache.t4g.small\")\n .duration(\"P1Y\")\n .offeringType(\"No Upfront\")\n .productDescription(\"redis\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:elasticache:getReservedCacheNodeOffering\n arguments:\n cacheNodeType: cache.t4g.small\n duration: P1Y\n offeringType: No Upfront\n productDescription: redis\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about a single ElastiCache Reserved Cache Node Offering.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.elasticache.getReservedCacheNodeOffering({\n cacheNodeType: \"cache.t4g.small\",\n duration: \"P1Y\",\n offeringType: \"No Upfront\",\n productDescription: \"redis\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.get_reserved_cache_node_offering(cache_node_type=\"cache.t4g.small\",\n duration=\"P1Y\",\n offering_type=\"No Upfront\",\n product_description=\"redis\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ElastiCache.GetReservedCacheNodeOffering.Invoke(new()\n {\n CacheNodeType = \"cache.t4g.small\",\n Duration = \"P1Y\",\n OfferingType = \"No Upfront\",\n ProductDescription = \"redis\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.GetReservedCacheNodeOffering(ctx, \u0026elasticache.GetReservedCacheNodeOfferingArgs{\n\t\t\tCacheNodeType: \"cache.t4g.small\",\n\t\t\tDuration: \"P1Y\",\n\t\t\tOfferingType: \"No Upfront\",\n\t\t\tProductDescription: \"redis\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.elasticache.inputs.GetReservedCacheNodeOfferingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ElasticacheFunctions.getReservedCacheNodeOffering(GetReservedCacheNodeOfferingArgs.builder()\n .cacheNodeType(\"cache.t4g.small\")\n .duration(\"P1Y\")\n .offeringType(\"No Upfront\")\n .productDescription(\"redis\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:elasticache:getReservedCacheNodeOffering\n Arguments:\n cacheNodeType: cache.t4g.small\n duration: P1Y\n offeringType: No Upfront\n productDescription: redis\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getReservedCacheNodeOffering.\n", "properties": { @@ -403121,7 +403121,7 @@ } }, "aws:elasticache/getServerlessCache:getServerlessCache": { - "description": "Use this data source to get information about an ElastiCache Serverless Cache.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.elasticache.getServerlessCache({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.get_serverless_cache(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ElastiCache.GetServerlessCache.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.LookupServerlessCache(ctx, \u0026elasticache.LookupServerlessCacheArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.elasticache.inputs.GetServerlessCacheArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ElasticacheFunctions.getServerlessCache(GetServerlessCacheArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:elasticache:getServerlessCache\n arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about an ElastiCache Serverless Cache.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.elasticache.getServerlessCache({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.get_serverless_cache(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ElastiCache.GetServerlessCache.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.LookupServerlessCache(ctx, \u0026elasticache.LookupServerlessCacheArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.elasticache.inputs.GetServerlessCacheArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ElasticacheFunctions.getServerlessCache(GetServerlessCacheArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:elasticache:getServerlessCache\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServerlessCache.\n", "properties": { @@ -403240,7 +403240,7 @@ } }, "aws:elasticache/getSubnetGroup:getSubnetGroup": { - "description": "Provides information about a ElastiCache Subnet Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.elasticache.getSubnetGroup({\n name: \"my-subnet-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.get_subnet_group(name=\"my-subnet-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ElastiCache.GetSubnetGroup.Invoke(new()\n {\n Name = \"my-subnet-group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.LookupSubnetGroup(ctx, \u0026elasticache.LookupSubnetGroupArgs{\n\t\t\tName: \"my-subnet-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.elasticache.inputs.GetSubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ElasticacheFunctions.getSubnetGroup(GetSubnetGroupArgs.builder()\n .name(\"my-subnet-group\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:elasticache:getSubnetGroup\n arguments:\n name: my-subnet-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a ElastiCache Subnet Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.elasticache.getSubnetGroup({\n name: \"my-subnet-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.get_subnet_group(name=\"my-subnet-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ElastiCache.GetSubnetGroup.Invoke(new()\n {\n Name = \"my-subnet-group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.LookupSubnetGroup(ctx, \u0026elasticache.LookupSubnetGroupArgs{\n\t\t\tName: \"my-subnet-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.elasticache.inputs.GetSubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ElasticacheFunctions.getSubnetGroup(GetSubnetGroupArgs.builder()\n .name(\"my-subnet-group\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:elasticache:getSubnetGroup\n Arguments:\n name: my-subnet-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSubnetGroup.\n", "properties": { @@ -403310,7 +403310,7 @@ } }, "aws:elasticache/getUser:getUser": { - "description": "Use this data source to get information about an ElastiCache User.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = aws.elasticache.getUser({\n userId: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.elasticache.get_user(user_id=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = Aws.ElastiCache.GetUser.Invoke(new()\n {\n UserId = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.LookupUser(ctx, \u0026elasticache.LookupUserArgs{\n\t\t\tUserId: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.elasticache.inputs.GetUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var bar = ElasticacheFunctions.getUser(GetUserArgs.builder()\n .userId(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n bar:\n fn::invoke:\n function: aws:elasticache:getUser\n arguments:\n userId: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about an ElastiCache User.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = aws.elasticache.getUser({\n userId: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.elasticache.get_user(user_id=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = Aws.ElastiCache.GetUser.Invoke(new()\n {\n UserId = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.LookupUser(ctx, \u0026elasticache.LookupUserArgs{\n\t\t\tUserId: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.elasticache.inputs.GetUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var bar = ElasticacheFunctions.getUser(GetUserArgs.builder()\n .userId(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n bar:\n fn::invoke:\n Function: aws:elasticache:getUser\n Arguments:\n userId: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUser.\n", "properties": { @@ -403398,7 +403398,7 @@ } }, "aws:elasticbeanstalk/getApplication:getApplication": { - "description": "Retrieve information about an Elastic Beanstalk Application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.elasticbeanstalk.getApplication({\n name: \"example\",\n});\nexport const arn = example.then(example =\u003e example.arn);\nexport const description = example.then(example =\u003e example.description);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticbeanstalk.get_application(name=\"example\")\npulumi.export(\"arn\", example.arn)\npulumi.export(\"description\", example.description)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ElasticBeanstalk.GetApplication.Invoke(new()\n {\n Name = \"example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"arn\"] = example.Apply(getApplicationResult =\u003e getApplicationResult.Arn),\n [\"description\"] = example.Apply(getApplicationResult =\u003e getApplicationResult.Description),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticbeanstalk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := elasticbeanstalk.LookupApplication(ctx, \u0026elasticbeanstalk.LookupApplicationArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"arn\", example.Arn)\n\t\tctx.Export(\"description\", example.Description)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticbeanstalk.ElasticbeanstalkFunctions;\nimport com.pulumi.aws.elasticbeanstalk.inputs.GetApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ElasticbeanstalkFunctions.getApplication(GetApplicationArgs.builder()\n .name(\"example\")\n .build());\n\n ctx.export(\"arn\", example.applyValue(getApplicationResult -\u003e getApplicationResult.arn()));\n ctx.export(\"description\", example.applyValue(getApplicationResult -\u003e getApplicationResult.description()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:elasticbeanstalk:getApplication\n arguments:\n name: example\noutputs:\n arn: ${example.arn}\n description: ${example.description}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about an Elastic Beanstalk Application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.elasticbeanstalk.getApplication({\n name: \"example\",\n});\nexport const arn = example.then(example =\u003e example.arn);\nexport const description = example.then(example =\u003e example.description);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticbeanstalk.get_application(name=\"example\")\npulumi.export(\"arn\", example.arn)\npulumi.export(\"description\", example.description)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ElasticBeanstalk.GetApplication.Invoke(new()\n {\n Name = \"example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"arn\"] = example.Apply(getApplicationResult =\u003e getApplicationResult.Arn),\n [\"description\"] = example.Apply(getApplicationResult =\u003e getApplicationResult.Description),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticbeanstalk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := elasticbeanstalk.LookupApplication(ctx, \u0026elasticbeanstalk.LookupApplicationArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"arn\", example.Arn)\n\t\tctx.Export(\"description\", example.Description)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticbeanstalk.ElasticbeanstalkFunctions;\nimport com.pulumi.aws.elasticbeanstalk.inputs.GetApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ElasticbeanstalkFunctions.getApplication(GetApplicationArgs.builder()\n .name(\"example\")\n .build());\n\n ctx.export(\"arn\", example.applyValue(getApplicationResult -\u003e getApplicationResult.arn()));\n ctx.export(\"description\", example.applyValue(getApplicationResult -\u003e getApplicationResult.description()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:elasticbeanstalk:getApplication\n Arguments:\n name: example\noutputs:\n arn: ${example.arn}\n description: ${example.description}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getApplication.\n", "properties": { @@ -403445,7 +403445,7 @@ } }, "aws:elasticbeanstalk/getHostedZone:getHostedZone": { - "description": "Use this data source to get the ID of an [elastic beanstalk hosted zone](http://docs.aws.amazon.com/general/latest/gr/rande.html#elasticbeanstalk_region).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.elasticbeanstalk.getHostedZone({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.elasticbeanstalk.get_hosted_zone()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.ElasticBeanstalk.GetHostedZone.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticbeanstalk\"\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 := elasticbeanstalk.GetHostedZone(ctx, \u0026elasticbeanstalk.GetHostedZoneArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticbeanstalk.ElasticbeanstalkFunctions;\nimport com.pulumi.aws.elasticbeanstalk.inputs.GetHostedZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = ElasticbeanstalkFunctions.getHostedZone();\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:elasticbeanstalk:getHostedZone\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the ID of an [elastic beanstalk hosted zone](http://docs.aws.amazon.com/general/latest/gr/rande.html#elasticbeanstalk_region).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.elasticbeanstalk.getHostedZone({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.elasticbeanstalk.get_hosted_zone()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.ElasticBeanstalk.GetHostedZone.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticbeanstalk\"\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 := elasticbeanstalk.GetHostedZone(ctx, \u0026elasticbeanstalk.GetHostedZoneArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticbeanstalk.ElasticbeanstalkFunctions;\nimport com.pulumi.aws.elasticbeanstalk.inputs.GetHostedZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = ElasticbeanstalkFunctions.getHostedZone();\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:elasticbeanstalk:getHostedZone\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getHostedZone.\n", "properties": { @@ -403475,7 +403475,7 @@ } }, "aws:elasticbeanstalk/getSolutionStack:getSolutionStack": { - "description": "Use this data source to get the name of a elastic beanstalk solution stack.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst multiDocker = aws.elasticbeanstalk.getSolutionStack({\n mostRecent: true,\n nameRegex: \"^64bit Amazon Linux (.*) Multi-container Docker (.*)$\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmulti_docker = aws.elasticbeanstalk.get_solution_stack(most_recent=True,\n name_regex=\"^64bit Amazon Linux (.*) Multi-container Docker (.*)$\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var multiDocker = Aws.ElasticBeanstalk.GetSolutionStack.Invoke(new()\n {\n MostRecent = true,\n NameRegex = \"^64bit Amazon Linux (.*) Multi-container Docker (.*)$\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticbeanstalk\"\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 := elasticbeanstalk.GetSolutionStack(ctx, \u0026elasticbeanstalk.GetSolutionStackArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tNameRegex: \"^64bit Amazon Linux (.*) Multi-container Docker (.*)$\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticbeanstalk.ElasticbeanstalkFunctions;\nimport com.pulumi.aws.elasticbeanstalk.inputs.GetSolutionStackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var multiDocker = ElasticbeanstalkFunctions.getSolutionStack(GetSolutionStackArgs.builder()\n .mostRecent(true)\n .nameRegex(\"^64bit Amazon Linux (.*) Multi-container Docker (.*)$\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n multiDocker:\n fn::invoke:\n function: aws:elasticbeanstalk:getSolutionStack\n arguments:\n mostRecent: true\n nameRegex: ^64bit Amazon Linux (.*) Multi-container Docker (.*)$\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the name of a elastic beanstalk solution stack.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst multiDocker = aws.elasticbeanstalk.getSolutionStack({\n mostRecent: true,\n nameRegex: \"^64bit Amazon Linux (.*) Multi-container Docker (.*)$\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmulti_docker = aws.elasticbeanstalk.get_solution_stack(most_recent=True,\n name_regex=\"^64bit Amazon Linux (.*) Multi-container Docker (.*)$\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var multiDocker = Aws.ElasticBeanstalk.GetSolutionStack.Invoke(new()\n {\n MostRecent = true,\n NameRegex = \"^64bit Amazon Linux (.*) Multi-container Docker (.*)$\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticbeanstalk\"\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 := elasticbeanstalk.GetSolutionStack(ctx, \u0026elasticbeanstalk.GetSolutionStackArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tNameRegex: \"^64bit Amazon Linux (.*) Multi-container Docker (.*)$\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticbeanstalk.ElasticbeanstalkFunctions;\nimport com.pulumi.aws.elasticbeanstalk.inputs.GetSolutionStackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var multiDocker = ElasticbeanstalkFunctions.getSolutionStack(GetSolutionStackArgs.builder()\n .mostRecent(true)\n .nameRegex(\"^64bit Amazon Linux (.*) Multi-container Docker (.*)$\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n multiDocker:\n fn::invoke:\n Function: aws:elasticbeanstalk:getSolutionStack\n Arguments:\n mostRecent: true\n nameRegex: ^64bit Amazon Linux (.*) Multi-container Docker (.*)$\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSolutionStack.\n", "properties": { @@ -403520,7 +403520,7 @@ } }, "aws:elasticsearch/getDomain:getDomain": { - "description": "Use this data source to get information about an Elasticsearch Domain\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDomain = aws.elasticsearch.getDomain({\n domainName: \"my-domain-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_domain = aws.elasticsearch.get_domain(domain_name=\"my-domain-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDomain = Aws.ElasticSearch.GetDomain.Invoke(new()\n {\n DomainName = \"my-domain-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\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 := elasticsearch.LookupDomain(ctx, \u0026elasticsearch.LookupDomainArgs{\n\t\t\tDomainName: \"my-domain-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticsearch.ElasticsearchFunctions;\nimport com.pulumi.aws.elasticsearch.inputs.GetDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myDomain = ElasticsearchFunctions.getDomain(GetDomainArgs.builder()\n .domainName(\"my-domain-name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myDomain:\n fn::invoke:\n function: aws:elasticsearch:getDomain\n arguments:\n domainName: my-domain-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about an Elasticsearch Domain\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDomain = aws.elasticsearch.getDomain({\n domainName: \"my-domain-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_domain = aws.elasticsearch.get_domain(domain_name=\"my-domain-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDomain = Aws.ElasticSearch.GetDomain.Invoke(new()\n {\n DomainName = \"my-domain-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\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 := elasticsearch.LookupDomain(ctx, \u0026elasticsearch.LookupDomainArgs{\n\t\t\tDomainName: \"my-domain-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticsearch.ElasticsearchFunctions;\nimport com.pulumi.aws.elasticsearch.inputs.GetDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myDomain = ElasticsearchFunctions.getDomain(GetDomainArgs.builder()\n .domainName(\"my-domain-name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myDomain:\n fn::invoke:\n Function: aws:elasticsearch:getDomain\n Arguments:\n domainName: my-domain-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDomain.\n", "properties": { @@ -403701,7 +403701,7 @@ } }, "aws:elb/getHostedZoneId:getHostedZoneId": { - "description": "Use this data source to get the HostedZoneId of the AWS Elastic Load Balancing HostedZoneId\nin a given region for the purpose of using in an AWS Route53 Alias.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.elb.getHostedZoneId({});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: primary.zoneId,\n name: \"example.com\",\n type: aws.route53.RecordType.A,\n aliases: [{\n name: mainAwsElb.dnsName,\n zoneId: main.then(main =\u003e main.id),\n evaluateTargetHealth: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.elb.get_hosted_zone_id()\nwww = aws.route53.Record(\"www\",\n zone_id=primary[\"zoneId\"],\n name=\"example.com\",\n type=aws.route53.RecordType.A,\n aliases=[{\n \"name\": main_aws_elb[\"dnsName\"],\n \"zone_id\": main.id,\n \"evaluate_target_health\": True,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.Elb.GetHostedZoneId.Invoke();\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"example.com\",\n Type = Aws.Route53.RecordType.A,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = mainAwsElb.DnsName,\n ZoneId = main.Apply(getHostedZoneIdResult =\u003e getHostedZoneIdResult.Id),\n EvaluateTargetHealth = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := elb.GetHostedZoneId(ctx, \u0026elb.GetHostedZoneIdArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: pulumi.Any(mainAwsElb.DnsName),\n\t\t\t\t\tZoneId: pulumi.String(main.Id),\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.ElbFunctions;\nimport com.pulumi.aws.elb.inputs.GetHostedZoneIdArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = ElbFunctions.getHostedZoneId();\n\n var www = new Record(\"www\", RecordArgs.builder()\n .zoneId(primary.zoneId())\n .name(\"example.com\")\n .type(\"A\")\n .aliases(RecordAliasArgs.builder()\n .name(mainAwsElb.dnsName())\n .zoneId(main.applyValue(getHostedZoneIdResult -\u003e getHostedZoneIdResult.id()))\n .evaluateTargetHealth(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: example.com\n type: A\n aliases:\n - name: ${mainAwsElb.dnsName}\n zoneId: ${main.id}\n evaluateTargetHealth: true\nvariables:\n main:\n fn::invoke:\n function: aws:elb:getHostedZoneId\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the HostedZoneId of the AWS Elastic Load Balancing HostedZoneId\nin a given region for the purpose of using in an AWS Route53 Alias.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.elb.getHostedZoneId({});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: primary.zoneId,\n name: \"example.com\",\n type: aws.route53.RecordType.A,\n aliases: [{\n name: mainAwsElb.dnsName,\n zoneId: main.then(main =\u003e main.id),\n evaluateTargetHealth: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.elb.get_hosted_zone_id()\nwww = aws.route53.Record(\"www\",\n zone_id=primary[\"zoneId\"],\n name=\"example.com\",\n type=aws.route53.RecordType.A,\n aliases=[{\n \"name\": main_aws_elb[\"dnsName\"],\n \"zone_id\": main.id,\n \"evaluate_target_health\": True,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.Elb.GetHostedZoneId.Invoke();\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"example.com\",\n Type = Aws.Route53.RecordType.A,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = mainAwsElb.DnsName,\n ZoneId = main.Apply(getHostedZoneIdResult =\u003e getHostedZoneIdResult.Id),\n EvaluateTargetHealth = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := elb.GetHostedZoneId(ctx, \u0026elb.GetHostedZoneIdArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: pulumi.Any(mainAwsElb.DnsName),\n\t\t\t\t\tZoneId: pulumi.String(main.Id),\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.ElbFunctions;\nimport com.pulumi.aws.elb.inputs.GetHostedZoneIdArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = ElbFunctions.getHostedZoneId();\n\n var www = new Record(\"www\", RecordArgs.builder()\n .zoneId(primary.zoneId())\n .name(\"example.com\")\n .type(\"A\")\n .aliases(RecordAliasArgs.builder()\n .name(mainAwsElb.dnsName())\n .zoneId(main.applyValue(getHostedZoneIdResult -\u003e getHostedZoneIdResult.id()))\n .evaluateTargetHealth(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: example.com\n type: A\n aliases:\n - name: ${mainAwsElb.dnsName}\n zoneId: ${main.id}\n evaluateTargetHealth: true\nvariables:\n main:\n fn::invoke:\n Function: aws:elb:getHostedZoneId\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getHostedZoneId.\n", "properties": { @@ -403730,7 +403730,7 @@ } }, "aws:elb/getLoadBalancer:getLoadBalancer": { - "description": "Provides information about a \"classic\" Elastic Load Balancer (ELB).\nSee LB Data Source if you are looking for \"v2\"\nApplication Load Balancer (ALB) or Network Load Balancer (NLB).\n\nThis data source can prove useful when a module accepts an LB as an input\nvariable and needs to, for example, determine the security groups associated\nwith it, etc.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lbName = config.get(\"lbName\") || \"\";\nconst test = aws.elb.getLoadBalancer({\n name: lbName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlb_name = config.get(\"lbName\")\nif lb_name is None:\n lb_name = \"\"\ntest = aws.elb.get_load_balancer(name=lb_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lbName = config.Get(\"lbName\") ?? \"\";\n var test = Aws.Elb.GetLoadBalancer.Invoke(new()\n {\n Name = lbName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlbName := \"\"\n\t\tif param := cfg.Get(\"lbName\"); param != \"\" {\n\t\t\tlbName = param\n\t\t}\n\t\t_, err := elb.LookupLoadBalancer(ctx, \u0026elb.LookupLoadBalancerArgs{\n\t\t\tName: lbName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.ElbFunctions;\nimport com.pulumi.aws.elb.inputs.GetLoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lbName = config.get(\"lbName\").orElse(\"\");\n final var test = ElbFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()\n .name(lbName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lbName:\n type: string\n default: \"\"\nvariables:\n test:\n fn::invoke:\n function: aws:elb:getLoadBalancer\n arguments:\n name: ${lbName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a \"classic\" Elastic Load Balancer (ELB).\nSee LB Data Source if you are looking for \"v2\"\nApplication Load Balancer (ALB) or Network Load Balancer (NLB).\n\nThis data source can prove useful when a module accepts an LB as an input\nvariable and needs to, for example, determine the security groups associated\nwith it, etc.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lbName = config.get(\"lbName\") || \"\";\nconst test = aws.elb.getLoadBalancer({\n name: lbName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlb_name = config.get(\"lbName\")\nif lb_name is None:\n lb_name = \"\"\ntest = aws.elb.get_load_balancer(name=lb_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lbName = config.Get(\"lbName\") ?? \"\";\n var test = Aws.Elb.GetLoadBalancer.Invoke(new()\n {\n Name = lbName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlbName := \"\"\n\t\tif param := cfg.Get(\"lbName\"); param != \"\" {\n\t\t\tlbName = param\n\t\t}\n\t\t_, err := elb.LookupLoadBalancer(ctx, \u0026elb.LookupLoadBalancerArgs{\n\t\t\tName: lbName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.ElbFunctions;\nimport com.pulumi.aws.elb.inputs.GetLoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lbName = config.get(\"lbName\").orElse(\"\");\n final var test = ElbFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()\n .name(lbName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lbName:\n type: string\n default:\nvariables:\n test:\n fn::invoke:\n Function: aws:elb:getLoadBalancer\n Arguments:\n name: ${lbName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLoadBalancer.\n", "properties": { @@ -403863,7 +403863,7 @@ } }, "aws:elb/getServiceAccount:getServiceAccount": { - "description": "Use this data source to get the Account ID of the [AWS Elastic Load Balancing Service Account](http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html#attach-bucket-policy)\nin a given region for the purpose of permitting in S3 bucket policy.\n\n\u003e **Note:** For AWS Regions opened since Jakarta (`ap-southeast-3`) in December 2021, AWS [documents that](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html#attach-bucket-policy) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.elb.getServiceAccount({});\nconst elbLogs = new aws.s3.BucketV2(\"elb_logs\", {bucket: \"my-elb-tf-test-bucket\"});\nconst elbLogsAcl = new aws.s3.BucketAclV2(\"elb_logs_acl\", {\n bucket: elbLogs.id,\n acl: \"private\",\n});\nconst allowElbLogging = pulumi.all([main, elbLogs.arn]).apply(([main, arn]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main.arn],\n }],\n actions: [\"s3:PutObject\"],\n resources: [`${arn}/AWSLogs/*`],\n }],\n}));\nconst allowElbLoggingBucketPolicy = new aws.s3.BucketPolicy(\"allow_elb_logging\", {\n bucket: elbLogs.id,\n policy: allowElbLogging.apply(allowElbLogging =\u003e allowElbLogging.json),\n});\nconst bar = new aws.elb.LoadBalancer(\"bar\", {\n name: \"my-foobar-elb\",\n availabilityZones: [\"us-west-2a\"],\n accessLogs: {\n bucket: elbLogs.id,\n interval: 5,\n },\n listeners: [{\n instancePort: 8000,\n instanceProtocol: \"http\",\n lbPort: 80,\n lbProtocol: \"http\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.elb.get_service_account()\nelb_logs = aws.s3.BucketV2(\"elb_logs\", bucket=\"my-elb-tf-test-bucket\")\nelb_logs_acl = aws.s3.BucketAclV2(\"elb_logs_acl\",\n bucket=elb_logs.id,\n acl=\"private\")\nallow_elb_logging = elb_logs.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [main.arn],\n }],\n \"actions\": [\"s3:PutObject\"],\n \"resources\": [f\"{arn}/AWSLogs/*\"],\n}]))\nallow_elb_logging_bucket_policy = aws.s3.BucketPolicy(\"allow_elb_logging\",\n bucket=elb_logs.id,\n policy=allow_elb_logging.json)\nbar = aws.elb.LoadBalancer(\"bar\",\n name=\"my-foobar-elb\",\n availability_zones=[\"us-west-2a\"],\n access_logs={\n \"bucket\": elb_logs.id,\n \"interval\": 5,\n },\n listeners=[{\n \"instance_port\": 8000,\n \"instance_protocol\": \"http\",\n \"lb_port\": 80,\n \"lb_protocol\": \"http\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.Elb.GetServiceAccount.Invoke();\n\n var elbLogs = new Aws.S3.BucketV2(\"elb_logs\", new()\n {\n Bucket = \"my-elb-tf-test-bucket\",\n });\n\n var elbLogsAcl = new Aws.S3.BucketAclV2(\"elb_logs_acl\", new()\n {\n Bucket = elbLogs.Id,\n Acl = \"private\",\n });\n\n var allowElbLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{elbLogs.Arn}/AWSLogs/*\",\n },\n },\n },\n });\n\n var allowElbLoggingBucketPolicy = new Aws.S3.BucketPolicy(\"allow_elb_logging\", new()\n {\n Bucket = elbLogs.Id,\n Policy = allowElbLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bar = new Aws.Elb.LoadBalancer(\"bar\", new()\n {\n Name = \"my-foobar-elb\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n },\n AccessLogs = new Aws.Elb.Inputs.LoadBalancerAccessLogsArgs\n {\n Bucket = elbLogs.Id,\n Interval = 5,\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 8000,\n InstanceProtocol = \"http\",\n LbPort = 80,\n LbProtocol = \"http\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmain, err := elb.GetServiceAccount(ctx, \u0026elb.GetServiceAccountArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nelbLogs, err := s3.NewBucketV2(ctx, \"elb_logs\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"my-elb-tf-test-bucket\"),\n})\nif err != nil {\nreturn err\n}\n_, err = s3.NewBucketAclV2(ctx, \"elb_logs_acl\", \u0026s3.BucketAclV2Args{\nBucket: elbLogs.ID(),\nAcl: pulumi.String(\"private\"),\n})\nif err != nil {\nreturn err\n}\nallowElbLogging := elbLogs.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:PutObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/AWSLogs/*\", arn),\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = s3.NewBucketPolicy(ctx, \"allow_elb_logging\", \u0026s3.BucketPolicyArgs{\nBucket: elbLogs.ID(),\nPolicy: pulumi.String(allowElbLogging.ApplyT(func(allowElbLogging iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026allowElbLogging.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = elb.NewLoadBalancer(ctx, \"bar\", \u0026elb.LoadBalancerArgs{\nName: pulumi.String(\"my-foobar-elb\"),\nAvailabilityZones: pulumi.StringArray{\npulumi.String(\"us-west-2a\"),\n},\nAccessLogs: \u0026elb.LoadBalancerAccessLogsArgs{\nBucket: elbLogs.ID(),\nInterval: pulumi.Int(5),\n},\nListeners: elb.LoadBalancerListenerArray{\n\u0026elb.LoadBalancerListenerArgs{\nInstancePort: pulumi.Int(8000),\nInstanceProtocol: pulumi.String(\"http\"),\nLbPort: pulumi.Int(80),\nLbProtocol: pulumi.String(\"http\"),\n},\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.ElbFunctions;\nimport com.pulumi.aws.elb.inputs.GetServiceAccountArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerAccessLogsArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = ElbFunctions.getServiceAccount();\n\n var elbLogs = new BucketV2(\"elbLogs\", BucketV2Args.builder()\n .bucket(\"my-elb-tf-test-bucket\")\n .build());\n\n var elbLogsAcl = new BucketAclV2(\"elbLogsAcl\", BucketAclV2Args.builder()\n .bucket(elbLogs.id())\n .acl(\"private\")\n .build());\n\n final var allowElbLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:PutObject\")\n .resources(elbLogs.arn().applyValue(arn -\u003e String.format(\"%s/AWSLogs/*\", arn)))\n .build())\n .build());\n\n var allowElbLoggingBucketPolicy = new BucketPolicy(\"allowElbLoggingBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(elbLogs.id())\n .policy(allowElbLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowElbLogging -\u003e allowElbLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bar = new LoadBalancer(\"bar\", LoadBalancerArgs.builder()\n .name(\"my-foobar-elb\")\n .availabilityZones(\"us-west-2a\")\n .accessLogs(LoadBalancerAccessLogsArgs.builder()\n .bucket(elbLogs.id())\n .interval(5)\n .build())\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(8000)\n .instanceProtocol(\"http\")\n .lbPort(80)\n .lbProtocol(\"http\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n elbLogs:\n type: aws:s3:BucketV2\n name: elb_logs\n properties:\n bucket: my-elb-tf-test-bucket\n elbLogsAcl:\n type: aws:s3:BucketAclV2\n name: elb_logs_acl\n properties:\n bucket: ${elbLogs.id}\n acl: private\n allowElbLoggingBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_elb_logging\n properties:\n bucket: ${elbLogs.id}\n policy: ${allowElbLogging.json}\n bar:\n type: aws:elb:LoadBalancer\n properties:\n name: my-foobar-elb\n availabilityZones:\n - us-west-2a\n accessLogs:\n bucket: ${elbLogs.id}\n interval: 5\n listeners:\n - instancePort: 8000\n instanceProtocol: http\n lbPort: 80\n lbProtocol: http\nvariables:\n main:\n fn::invoke:\n function: aws:elb:getServiceAccount\n arguments: {}\n allowElbLogging:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:PutObject\n resources:\n - ${elbLogs.arn}/AWSLogs/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the Account ID of the [AWS Elastic Load Balancing Service Account](http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html#attach-bucket-policy)\nin a given region for the purpose of permitting in S3 bucket policy.\n\n\u003e **Note:** For AWS Regions opened since Jakarta (`ap-southeast-3`) in December 2021, AWS [documents that](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html#attach-bucket-policy) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.elb.getServiceAccount({});\nconst elbLogs = new aws.s3.BucketV2(\"elb_logs\", {bucket: \"my-elb-tf-test-bucket\"});\nconst elbLogsAcl = new aws.s3.BucketAclV2(\"elb_logs_acl\", {\n bucket: elbLogs.id,\n acl: \"private\",\n});\nconst allowElbLogging = pulumi.all([main, elbLogs.arn]).apply(([main, arn]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main.arn],\n }],\n actions: [\"s3:PutObject\"],\n resources: [`${arn}/AWSLogs/*`],\n }],\n}));\nconst allowElbLoggingBucketPolicy = new aws.s3.BucketPolicy(\"allow_elb_logging\", {\n bucket: elbLogs.id,\n policy: allowElbLogging.apply(allowElbLogging =\u003e allowElbLogging.json),\n});\nconst bar = new aws.elb.LoadBalancer(\"bar\", {\n name: \"my-foobar-elb\",\n availabilityZones: [\"us-west-2a\"],\n accessLogs: {\n bucket: elbLogs.id,\n interval: 5,\n },\n listeners: [{\n instancePort: 8000,\n instanceProtocol: \"http\",\n lbPort: 80,\n lbProtocol: \"http\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.elb.get_service_account()\nelb_logs = aws.s3.BucketV2(\"elb_logs\", bucket=\"my-elb-tf-test-bucket\")\nelb_logs_acl = aws.s3.BucketAclV2(\"elb_logs_acl\",\n bucket=elb_logs.id,\n acl=\"private\")\nallow_elb_logging = elb_logs.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [main.arn],\n }],\n \"actions\": [\"s3:PutObject\"],\n \"resources\": [f\"{arn}/AWSLogs/*\"],\n}]))\nallow_elb_logging_bucket_policy = aws.s3.BucketPolicy(\"allow_elb_logging\",\n bucket=elb_logs.id,\n policy=allow_elb_logging.json)\nbar = aws.elb.LoadBalancer(\"bar\",\n name=\"my-foobar-elb\",\n availability_zones=[\"us-west-2a\"],\n access_logs={\n \"bucket\": elb_logs.id,\n \"interval\": 5,\n },\n listeners=[{\n \"instance_port\": 8000,\n \"instance_protocol\": \"http\",\n \"lb_port\": 80,\n \"lb_protocol\": \"http\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.Elb.GetServiceAccount.Invoke();\n\n var elbLogs = new Aws.S3.BucketV2(\"elb_logs\", new()\n {\n Bucket = \"my-elb-tf-test-bucket\",\n });\n\n var elbLogsAcl = new Aws.S3.BucketAclV2(\"elb_logs_acl\", new()\n {\n Bucket = elbLogs.Id,\n Acl = \"private\",\n });\n\n var allowElbLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{elbLogs.Arn}/AWSLogs/*\",\n },\n },\n },\n });\n\n var allowElbLoggingBucketPolicy = new Aws.S3.BucketPolicy(\"allow_elb_logging\", new()\n {\n Bucket = elbLogs.Id,\n Policy = allowElbLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bar = new Aws.Elb.LoadBalancer(\"bar\", new()\n {\n Name = \"my-foobar-elb\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n },\n AccessLogs = new Aws.Elb.Inputs.LoadBalancerAccessLogsArgs\n {\n Bucket = elbLogs.Id,\n Interval = 5,\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 8000,\n InstanceProtocol = \"http\",\n LbPort = 80,\n LbProtocol = \"http\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmain, err := elb.GetServiceAccount(ctx, \u0026elb.GetServiceAccountArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nelbLogs, err := s3.NewBucketV2(ctx, \"elb_logs\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"my-elb-tf-test-bucket\"),\n})\nif err != nil {\nreturn err\n}\n_, err = s3.NewBucketAclV2(ctx, \"elb_logs_acl\", \u0026s3.BucketAclV2Args{\nBucket: elbLogs.ID(),\nAcl: pulumi.String(\"private\"),\n})\nif err != nil {\nreturn err\n}\nallowElbLogging := elbLogs.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:PutObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/AWSLogs/*\", arn),\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = s3.NewBucketPolicy(ctx, \"allow_elb_logging\", \u0026s3.BucketPolicyArgs{\nBucket: elbLogs.ID(),\nPolicy: pulumi.String(allowElbLogging.ApplyT(func(allowElbLogging iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026allowElbLogging.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = elb.NewLoadBalancer(ctx, \"bar\", \u0026elb.LoadBalancerArgs{\nName: pulumi.String(\"my-foobar-elb\"),\nAvailabilityZones: pulumi.StringArray{\npulumi.String(\"us-west-2a\"),\n},\nAccessLogs: \u0026elb.LoadBalancerAccessLogsArgs{\nBucket: elbLogs.ID(),\nInterval: pulumi.Int(5),\n},\nListeners: elb.LoadBalancerListenerArray{\n\u0026elb.LoadBalancerListenerArgs{\nInstancePort: pulumi.Int(8000),\nInstanceProtocol: pulumi.String(\"http\"),\nLbPort: pulumi.Int(80),\nLbProtocol: pulumi.String(\"http\"),\n},\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.ElbFunctions;\nimport com.pulumi.aws.elb.inputs.GetServiceAccountArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerAccessLogsArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = ElbFunctions.getServiceAccount();\n\n var elbLogs = new BucketV2(\"elbLogs\", BucketV2Args.builder()\n .bucket(\"my-elb-tf-test-bucket\")\n .build());\n\n var elbLogsAcl = new BucketAclV2(\"elbLogsAcl\", BucketAclV2Args.builder()\n .bucket(elbLogs.id())\n .acl(\"private\")\n .build());\n\n final var allowElbLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:PutObject\")\n .resources(elbLogs.arn().applyValue(arn -\u003e String.format(\"%s/AWSLogs/*\", arn)))\n .build())\n .build());\n\n var allowElbLoggingBucketPolicy = new BucketPolicy(\"allowElbLoggingBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(elbLogs.id())\n .policy(allowElbLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowElbLogging -\u003e allowElbLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bar = new LoadBalancer(\"bar\", LoadBalancerArgs.builder()\n .name(\"my-foobar-elb\")\n .availabilityZones(\"us-west-2a\")\n .accessLogs(LoadBalancerAccessLogsArgs.builder()\n .bucket(elbLogs.id())\n .interval(5)\n .build())\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(8000)\n .instanceProtocol(\"http\")\n .lbPort(80)\n .lbProtocol(\"http\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n elbLogs:\n type: aws:s3:BucketV2\n name: elb_logs\n properties:\n bucket: my-elb-tf-test-bucket\n elbLogsAcl:\n type: aws:s3:BucketAclV2\n name: elb_logs_acl\n properties:\n bucket: ${elbLogs.id}\n acl: private\n allowElbLoggingBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_elb_logging\n properties:\n bucket: ${elbLogs.id}\n policy: ${allowElbLogging.json}\n bar:\n type: aws:elb:LoadBalancer\n properties:\n name: my-foobar-elb\n availabilityZones:\n - us-west-2a\n accessLogs:\n bucket: ${elbLogs.id}\n interval: 5\n listeners:\n - instancePort: 8000\n instanceProtocol: http\n lbPort: 80\n lbProtocol: http\nvariables:\n main:\n fn::invoke:\n Function: aws:elb:getServiceAccount\n Arguments: {}\n allowElbLogging:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:PutObject\n resources:\n - ${elbLogs.arn}/AWSLogs/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServiceAccount.\n", "properties": { @@ -403897,7 +403897,7 @@ } }, "aws:emr/getReleaseLabels:getReleaseLabels": { - "description": "Retrieve information about EMR Release Labels.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.emr.getReleaseLabels({\n filters: {\n application: \"spark@2.1.0\",\n prefix: \"emr-5\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.get_release_labels(filters={\n \"application\": \"spark@2.1.0\",\n \"prefix\": \"emr-5\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Emr.GetReleaseLabels.Invoke(new()\n {\n Filters = new Aws.Emr.Inputs.GetReleaseLabelsFiltersInputArgs\n {\n Application = \"spark@2.1.0\",\n Prefix = \"emr-5\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\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 := emr.GetReleaseLabels(ctx, \u0026emr.GetReleaseLabelsArgs{\n\t\t\tFilters: emr.GetReleaseLabelsFilters{\n\t\t\t\tApplication: pulumi.StringRef(\"spark@2.1.0\"),\n\t\t\t\tPrefix: pulumi.StringRef(\"emr-5\"),\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.EmrFunctions;\nimport com.pulumi.aws.emr.inputs.GetReleaseLabelsArgs;\nimport com.pulumi.aws.emr.inputs.GetReleaseLabelsFiltersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EmrFunctions.getReleaseLabels(GetReleaseLabelsArgs.builder()\n .filters(GetReleaseLabelsFiltersArgs.builder()\n .application(\"spark@2.1.0\")\n .prefix(\"emr-5\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:emr:getReleaseLabels\n arguments:\n filters:\n application: spark@2.1.0\n prefix: emr-5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about EMR Release Labels.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.emr.getReleaseLabels({\n filters: {\n application: \"spark@2.1.0\",\n prefix: \"emr-5\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.get_release_labels(filters={\n \"application\": \"spark@2.1.0\",\n \"prefix\": \"emr-5\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Emr.GetReleaseLabels.Invoke(new()\n {\n Filters = new Aws.Emr.Inputs.GetReleaseLabelsFiltersInputArgs\n {\n Application = \"spark@2.1.0\",\n Prefix = \"emr-5\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\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 := emr.GetReleaseLabels(ctx, \u0026emr.GetReleaseLabelsArgs{\n\t\t\tFilters: emr.GetReleaseLabelsFilters{\n\t\t\t\tApplication: pulumi.StringRef(\"spark@2.1.0\"),\n\t\t\t\tPrefix: pulumi.StringRef(\"emr-5\"),\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.EmrFunctions;\nimport com.pulumi.aws.emr.inputs.GetReleaseLabelsArgs;\nimport com.pulumi.aws.emr.inputs.GetReleaseLabelsFiltersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EmrFunctions.getReleaseLabels(GetReleaseLabelsArgs.builder()\n .filters(GetReleaseLabelsFiltersArgs.builder()\n .application(\"spark@2.1.0\")\n .prefix(\"emr-5\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:emr:getReleaseLabels\n Arguments:\n filters:\n application: spark@2.1.0\n prefix: emr-5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getReleaseLabels.\n", "properties": { @@ -403934,7 +403934,7 @@ } }, "aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes": { - "description": "Data source for managing AWS EMR Supported Instance Types.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.emr.getSupportedInstanceTypes({\n releaseLabel: \"ebs-6.15.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.get_supported_instance_types(release_label=\"ebs-6.15.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Emr.GetSupportedInstanceTypes.Invoke(new()\n {\n ReleaseLabel = \"ebs-6.15.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\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 := emr.GetSupportedInstanceTypes(ctx, \u0026emr.GetSupportedInstanceTypesArgs{\n\t\t\tReleaseLabel: \"ebs-6.15.0\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.EmrFunctions;\nimport com.pulumi.aws.emr.inputs.GetSupportedInstanceTypesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EmrFunctions.getSupportedInstanceTypes(GetSupportedInstanceTypesArgs.builder()\n .releaseLabel(\"ebs-6.15.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:emr:getSupportedInstanceTypes\n arguments:\n releaseLabel: ebs-6.15.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With a Lifecycle Pre-Condition\n\nThis data source can be used with a lifecycle precondition to ensure a given instance type is supported by EMR.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst instanceType = \"r7g.large\";\nconst releaseLabel = \"emr-6.15.0\";\nconst test = aws.emr.getSupportedInstanceTypes({\n releaseLabel: releaseLabel,\n});\nconst testCluster = new aws.emr.Cluster(\"test\", {\n releaseLabel: releaseLabel,\n masterInstanceGroup: {\n instanceType: instanceType,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ninstance_type = \"r7g.large\"\nrelease_label = \"emr-6.15.0\"\ntest = aws.emr.get_supported_instance_types(release_label=release_label)\ntest_cluster = aws.emr.Cluster(\"test\",\n release_label=release_label,\n master_instance_group={\n \"instance_type\": instance_type,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instanceType = \"r7g.large\";\n\n var releaseLabel = \"emr-6.15.0\";\n\n var test = Aws.Emr.GetSupportedInstanceTypes.Invoke(new()\n {\n ReleaseLabel = releaseLabel,\n });\n\n var testCluster = new Aws.Emr.Cluster(\"test\", new()\n {\n ReleaseLabel = releaseLabel,\n MasterInstanceGroup = new Aws.Emr.Inputs.ClusterMasterInstanceGroupArgs\n {\n InstanceType = instanceType,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstanceType := \"r7g.large\"\n\t\treleaseLabel := \"emr-6.15.0\"\n\t\t_, err := emr.GetSupportedInstanceTypes(ctx, \u0026emr.GetSupportedInstanceTypesArgs{\n\t\t\tReleaseLabel: releaseLabel,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = emr.NewCluster(ctx, \"test\", \u0026emr.ClusterArgs{\n\t\t\tReleaseLabel: pulumi.String(releaseLabel),\n\t\t\tMasterInstanceGroup: \u0026emr.ClusterMasterInstanceGroupArgs{\n\t\t\t\tInstanceType: pulumi.String(instanceType),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.EmrFunctions;\nimport com.pulumi.aws.emr.inputs.GetSupportedInstanceTypesArgs;\nimport com.pulumi.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport com.pulumi.aws.emr.inputs.ClusterMasterInstanceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var instanceType = \"r7g.large\";\n\n final var releaseLabel = \"emr-6.15.0\";\n\n final var test = EmrFunctions.getSupportedInstanceTypes(GetSupportedInstanceTypesArgs.builder()\n .releaseLabel(releaseLabel)\n .build());\n\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder()\n .releaseLabel(releaseLabel)\n .masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder()\n .instanceType(instanceType)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:emr:Cluster\n name: test\n properties:\n releaseLabel: ${releaseLabel}\n masterInstanceGroup:\n instanceType: ${instanceType}\nvariables:\n instanceType: r7g.large\n releaseLabel: emr-6.15.0\n test:\n fn::invoke:\n function: aws:emr:getSupportedInstanceTypes\n arguments:\n releaseLabel: ${releaseLabel}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing AWS EMR Supported Instance Types.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.emr.getSupportedInstanceTypes({\n releaseLabel: \"ebs-6.15.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.get_supported_instance_types(release_label=\"ebs-6.15.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Emr.GetSupportedInstanceTypes.Invoke(new()\n {\n ReleaseLabel = \"ebs-6.15.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\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 := emr.GetSupportedInstanceTypes(ctx, \u0026emr.GetSupportedInstanceTypesArgs{\n\t\t\tReleaseLabel: \"ebs-6.15.0\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.EmrFunctions;\nimport com.pulumi.aws.emr.inputs.GetSupportedInstanceTypesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EmrFunctions.getSupportedInstanceTypes(GetSupportedInstanceTypesArgs.builder()\n .releaseLabel(\"ebs-6.15.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:emr:getSupportedInstanceTypes\n Arguments:\n releaseLabel: ebs-6.15.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With a Lifecycle Pre-Condition\n\nThis data source can be used with a lifecycle precondition to ensure a given instance type is supported by EMR.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst instanceType = \"r7g.large\";\nconst releaseLabel = \"emr-6.15.0\";\nconst test = aws.emr.getSupportedInstanceTypes({\n releaseLabel: releaseLabel,\n});\nconst testCluster = new aws.emr.Cluster(\"test\", {\n releaseLabel: releaseLabel,\n masterInstanceGroup: {\n instanceType: instanceType,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ninstance_type = \"r7g.large\"\nrelease_label = \"emr-6.15.0\"\ntest = aws.emr.get_supported_instance_types(release_label=release_label)\ntest_cluster = aws.emr.Cluster(\"test\",\n release_label=release_label,\n master_instance_group={\n \"instance_type\": instance_type,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instanceType = \"r7g.large\";\n\n var releaseLabel = \"emr-6.15.0\";\n\n var test = Aws.Emr.GetSupportedInstanceTypes.Invoke(new()\n {\n ReleaseLabel = releaseLabel,\n });\n\n var testCluster = new Aws.Emr.Cluster(\"test\", new()\n {\n ReleaseLabel = releaseLabel,\n MasterInstanceGroup = new Aws.Emr.Inputs.ClusterMasterInstanceGroupArgs\n {\n InstanceType = instanceType,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstanceType := \"r7g.large\"\n\t\treleaseLabel := \"emr-6.15.0\"\n\t\t_, err := emr.GetSupportedInstanceTypes(ctx, \u0026emr.GetSupportedInstanceTypesArgs{\n\t\t\tReleaseLabel: releaseLabel,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = emr.NewCluster(ctx, \"test\", \u0026emr.ClusterArgs{\n\t\t\tReleaseLabel: pulumi.String(releaseLabel),\n\t\t\tMasterInstanceGroup: \u0026emr.ClusterMasterInstanceGroupArgs{\n\t\t\t\tInstanceType: pulumi.String(instanceType),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.EmrFunctions;\nimport com.pulumi.aws.emr.inputs.GetSupportedInstanceTypesArgs;\nimport com.pulumi.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport com.pulumi.aws.emr.inputs.ClusterMasterInstanceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var instanceType = \"r7g.large\";\n\n final var releaseLabel = \"emr-6.15.0\";\n\n final var test = EmrFunctions.getSupportedInstanceTypes(GetSupportedInstanceTypesArgs.builder()\n .releaseLabel(releaseLabel)\n .build());\n\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder()\n .releaseLabel(releaseLabel)\n .masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder()\n .instanceType(instanceType)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:emr:Cluster\n name: test\n properties:\n releaseLabel: ${releaseLabel}\n masterInstanceGroup:\n instanceType: ${instanceType}\nvariables:\n instanceType: r7g.large\n releaseLabel: emr-6.15.0\n test:\n fn::invoke:\n Function: aws:emr:getSupportedInstanceTypes\n Arguments:\n releaseLabel: ${releaseLabel}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSupportedInstanceTypes.\n", "properties": { @@ -403980,7 +403980,7 @@ } }, "aws:emrcontainers/getVirtualCluster:getVirtualCluster": { - "description": "Retrieve information about an EMR Containers (EMR on EKS) Virtual Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.emrcontainers.getVirtualCluster({\n virtualClusterId: \"example id\",\n});\nexport const name = example.then(example =\u003e example.name);\nexport const arn = example.then(example =\u003e example.arn);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrcontainers.get_virtual_cluster(virtual_cluster_id=\"example id\")\npulumi.export(\"name\", example.name)\npulumi.export(\"arn\", example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.EmrContainers.GetVirtualCluster.Invoke(new()\n {\n VirtualClusterId = \"example id\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = example.Apply(getVirtualClusterResult =\u003e getVirtualClusterResult.Name),\n [\"arn\"] = example.Apply(getVirtualClusterResult =\u003e getVirtualClusterResult.Arn),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrcontainers\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := emrcontainers.LookupVirtualCluster(ctx, \u0026emrcontainers.LookupVirtualClusterArgs{\n\t\t\tVirtualClusterId: \"example id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"name\", example.Name)\n\t\tctx.Export(\"arn\", example.Arn)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emrcontainers.EmrcontainersFunctions;\nimport com.pulumi.aws.emrcontainers.inputs.GetVirtualClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EmrcontainersFunctions.getVirtualCluster(GetVirtualClusterArgs.builder()\n .virtualClusterId(\"example id\")\n .build());\n\n ctx.export(\"name\", example.applyValue(getVirtualClusterResult -\u003e getVirtualClusterResult.name()));\n ctx.export(\"arn\", example.applyValue(getVirtualClusterResult -\u003e getVirtualClusterResult.arn()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:emrcontainers:getVirtualCluster\n arguments:\n virtualClusterId: example id\noutputs:\n name: ${example.name}\n arn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about an EMR Containers (EMR on EKS) Virtual Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.emrcontainers.getVirtualCluster({\n virtualClusterId: \"example id\",\n});\nexport const name = example.then(example =\u003e example.name);\nexport const arn = example.then(example =\u003e example.arn);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrcontainers.get_virtual_cluster(virtual_cluster_id=\"example id\")\npulumi.export(\"name\", example.name)\npulumi.export(\"arn\", example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.EmrContainers.GetVirtualCluster.Invoke(new()\n {\n VirtualClusterId = \"example id\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = example.Apply(getVirtualClusterResult =\u003e getVirtualClusterResult.Name),\n [\"arn\"] = example.Apply(getVirtualClusterResult =\u003e getVirtualClusterResult.Arn),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrcontainers\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := emrcontainers.LookupVirtualCluster(ctx, \u0026emrcontainers.LookupVirtualClusterArgs{\n\t\t\tVirtualClusterId: \"example id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"name\", example.Name)\n\t\tctx.Export(\"arn\", example.Arn)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emrcontainers.EmrcontainersFunctions;\nimport com.pulumi.aws.emrcontainers.inputs.GetVirtualClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EmrcontainersFunctions.getVirtualCluster(GetVirtualClusterArgs.builder()\n .virtualClusterId(\"example id\")\n .build());\n\n ctx.export(\"name\", example.applyValue(getVirtualClusterResult -\u003e getVirtualClusterResult.name()));\n ctx.export(\"arn\", example.applyValue(getVirtualClusterResult -\u003e getVirtualClusterResult.arn()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:emrcontainers:getVirtualCluster\n Arguments:\n virtualClusterId: example id\noutputs:\n name: ${example.name}\n arn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVirtualCluster.\n", "properties": { @@ -404056,7 +404056,7 @@ } }, "aws:fsx/getOntapFileSystem:getOntapFileSystem": { - "description": "Retrieve information on FSx ONTAP File System.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.fsx.getOntapFileSystem({\n id: \"fs-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.get_ontap_file_system(id=\"fs-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Fsx.GetOntapFileSystem.Invoke(new()\n {\n Id = \"fs-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\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 := fsx.LookupOntapFileSystem(ctx, \u0026fsx.LookupOntapFileSystemArgs{\n\t\t\tId: \"fs-12345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.FsxFunctions;\nimport com.pulumi.aws.fsx.inputs.GetOntapFileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = FsxFunctions.getOntapFileSystem(GetOntapFileSystemArgs.builder()\n .id(\"fs-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:fsx:getOntapFileSystem\n arguments:\n id: fs-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information on FSx ONTAP File System.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.fsx.getOntapFileSystem({\n id: \"fs-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.get_ontap_file_system(id=\"fs-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Fsx.GetOntapFileSystem.Invoke(new()\n {\n Id = \"fs-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\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 := fsx.LookupOntapFileSystem(ctx, \u0026fsx.LookupOntapFileSystemArgs{\n\t\t\tId: \"fs-12345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.FsxFunctions;\nimport com.pulumi.aws.fsx.inputs.GetOntapFileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = FsxFunctions.getOntapFileSystem(GetOntapFileSystemArgs.builder()\n .id(\"fs-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:fsx:getOntapFileSystem\n Arguments:\n id: fs-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOntapFileSystem.\n", "properties": { @@ -404220,7 +404220,7 @@ } }, "aws:fsx/getOntapStorageVirtualMachine:getOntapStorageVirtualMachine": { - "description": "Retrieve information on FSx ONTAP Storage Virtual Machine (SVM).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.fsx.getOntapStorageVirtualMachine({\n id: \"svm-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.get_ontap_storage_virtual_machine(id=\"svm-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Fsx.GetOntapStorageVirtualMachine.Invoke(new()\n {\n Id = \"svm-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\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 := fsx.LookupOntapStorageVirtualMachine(ctx, \u0026fsx.LookupOntapStorageVirtualMachineArgs{\n\t\t\tId: pulumi.StringRef(\"svm-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.FsxFunctions;\nimport com.pulumi.aws.fsx.inputs.GetOntapStorageVirtualMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = FsxFunctions.getOntapStorageVirtualMachine(GetOntapStorageVirtualMachineArgs.builder()\n .id(\"svm-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:fsx:getOntapStorageVirtualMachine\n arguments:\n id: svm-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.fsx.getOntapStorageVirtualMachine({\n filters: [{\n name: \"file-system-id\",\n values: [\"fs-12345678\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.get_ontap_storage_virtual_machine(filters=[{\n \"name\": \"file-system-id\",\n \"values\": [\"fs-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Fsx.GetOntapStorageVirtualMachine.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Fsx.Inputs.GetOntapStorageVirtualMachineFilterInputArgs\n {\n Name = \"file-system-id\",\n Values = new[]\n {\n \"fs-12345678\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\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 := fsx.LookupOntapStorageVirtualMachine(ctx, \u0026fsx.LookupOntapStorageVirtualMachineArgs{\n\t\t\tFilters: []fsx.GetOntapStorageVirtualMachineFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"file-system-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"fs-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.FsxFunctions;\nimport com.pulumi.aws.fsx.inputs.GetOntapStorageVirtualMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = FsxFunctions.getOntapStorageVirtualMachine(GetOntapStorageVirtualMachineArgs.builder()\n .filters(GetOntapStorageVirtualMachineFilterArgs.builder()\n .name(\"file-system-id\")\n .values(\"fs-12345678\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:fsx:getOntapStorageVirtualMachine\n arguments:\n filters:\n - name: file-system-id\n values:\n - fs-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information on FSx ONTAP Storage Virtual Machine (SVM).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.fsx.getOntapStorageVirtualMachine({\n id: \"svm-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.get_ontap_storage_virtual_machine(id=\"svm-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Fsx.GetOntapStorageVirtualMachine.Invoke(new()\n {\n Id = \"svm-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\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 := fsx.LookupOntapStorageVirtualMachine(ctx, \u0026fsx.LookupOntapStorageVirtualMachineArgs{\n\t\t\tId: pulumi.StringRef(\"svm-12345678\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.FsxFunctions;\nimport com.pulumi.aws.fsx.inputs.GetOntapStorageVirtualMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = FsxFunctions.getOntapStorageVirtualMachine(GetOntapStorageVirtualMachineArgs.builder()\n .id(\"svm-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:fsx:getOntapStorageVirtualMachine\n Arguments:\n id: svm-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.fsx.getOntapStorageVirtualMachine({\n filters: [{\n name: \"file-system-id\",\n values: [\"fs-12345678\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.get_ontap_storage_virtual_machine(filters=[{\n \"name\": \"file-system-id\",\n \"values\": [\"fs-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Fsx.GetOntapStorageVirtualMachine.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Fsx.Inputs.GetOntapStorageVirtualMachineFilterInputArgs\n {\n Name = \"file-system-id\",\n Values = new[]\n {\n \"fs-12345678\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\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 := fsx.LookupOntapStorageVirtualMachine(ctx, \u0026fsx.LookupOntapStorageVirtualMachineArgs{\n\t\t\tFilters: []fsx.GetOntapStorageVirtualMachineFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"file-system-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"fs-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.FsxFunctions;\nimport com.pulumi.aws.fsx.inputs.GetOntapStorageVirtualMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = FsxFunctions.getOntapStorageVirtualMachine(GetOntapStorageVirtualMachineArgs.builder()\n .filters(GetOntapStorageVirtualMachineFilterArgs.builder()\n .name(\"file-system-id\")\n .values(\"fs-12345678\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:fsx:getOntapStorageVirtualMachine\n Arguments:\n filters:\n - name: file-system-id\n values:\n - fs-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOntapStorageVirtualMachine.\n", "properties": { @@ -404331,7 +404331,7 @@ } }, "aws:fsx/getOntapStorageVirtualMachines:getOntapStorageVirtualMachines": { - "description": "This resource can be useful for getting back a set of FSx ONTAP Storage Virtual Machine (SVM) IDs.\n\n## Example Usage\n\nThe following shows outputting all SVM IDs for a given FSx ONTAP File System.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.fsx.getOntapStorageVirtualMachines({\n filters: [{\n name: \"file-system-id\",\n values: [\"fs-12345678\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.get_ontap_storage_virtual_machines(filters=[{\n \"name\": \"file-system-id\",\n \"values\": [\"fs-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Fsx.GetOntapStorageVirtualMachines.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Fsx.Inputs.GetOntapStorageVirtualMachinesFilterInputArgs\n {\n Name = \"file-system-id\",\n Values = new[]\n {\n \"fs-12345678\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\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 := fsx.GetOntapStorageVirtualMachines(ctx, \u0026fsx.GetOntapStorageVirtualMachinesArgs{\n\t\t\tFilters: []fsx.GetOntapStorageVirtualMachinesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"file-system-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"fs-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.FsxFunctions;\nimport com.pulumi.aws.fsx.inputs.GetOntapStorageVirtualMachinesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = FsxFunctions.getOntapStorageVirtualMachines(GetOntapStorageVirtualMachinesArgs.builder()\n .filters(GetOntapStorageVirtualMachinesFilterArgs.builder()\n .name(\"file-system-id\")\n .values(\"fs-12345678\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:fsx:getOntapStorageVirtualMachines\n arguments:\n filters:\n - name: file-system-id\n values:\n - fs-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This resource can be useful for getting back a set of FSx ONTAP Storage Virtual Machine (SVM) IDs.\n\n## Example Usage\n\nThe following shows outputting all SVM IDs for a given FSx ONTAP File System.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.fsx.getOntapStorageVirtualMachines({\n filters: [{\n name: \"file-system-id\",\n values: [\"fs-12345678\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.get_ontap_storage_virtual_machines(filters=[{\n \"name\": \"file-system-id\",\n \"values\": [\"fs-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Fsx.GetOntapStorageVirtualMachines.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Fsx.Inputs.GetOntapStorageVirtualMachinesFilterInputArgs\n {\n Name = \"file-system-id\",\n Values = new[]\n {\n \"fs-12345678\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\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 := fsx.GetOntapStorageVirtualMachines(ctx, \u0026fsx.GetOntapStorageVirtualMachinesArgs{\n\t\t\tFilters: []fsx.GetOntapStorageVirtualMachinesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"file-system-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"fs-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.FsxFunctions;\nimport com.pulumi.aws.fsx.inputs.GetOntapStorageVirtualMachinesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = FsxFunctions.getOntapStorageVirtualMachines(GetOntapStorageVirtualMachinesArgs.builder()\n .filters(GetOntapStorageVirtualMachinesFilterArgs.builder()\n .name(\"file-system-id\")\n .values(\"fs-12345678\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:fsx:getOntapStorageVirtualMachines\n Arguments:\n filters:\n - name: file-system-id\n values:\n - fs-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOntapStorageVirtualMachines.\n", "properties": { @@ -404374,7 +404374,7 @@ } }, "aws:fsx/getOpenZfsSnapshot:getOpenZfsSnapshot": { - "description": "Use this data source to get information about an Amazon FSx for OpenZFS Snapshot for use when provisioning new Volumes.\n\n## Example Usage\n\n### Root volume Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.fsx.getOpenZfsSnapshot({\n mostRecent: true,\n filters: [{\n name: \"volume-id\",\n values: [\"fsvol-073a32b6098a73feb\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.get_open_zfs_snapshot(most_recent=True,\n filters=[{\n \"name\": \"volume-id\",\n \"values\": [\"fsvol-073a32b6098a73feb\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Fsx.GetOpenZfsSnapshot.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Fsx.Inputs.GetOpenZfsSnapshotFilterInputArgs\n {\n Name = \"volume-id\",\n Values = new[]\n {\n \"fsvol-073a32b6098a73feb\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\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 := fsx.LookupOpenZfsSnapshot(ctx, \u0026fsx.LookupOpenZfsSnapshotArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []fsx.GetOpenZfsSnapshotFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"volume-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"fsvol-073a32b6098a73feb\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.FsxFunctions;\nimport com.pulumi.aws.fsx.inputs.GetOpenZfsSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = FsxFunctions.getOpenZfsSnapshot(GetOpenZfsSnapshotArgs.builder()\n .mostRecent(true)\n .filters(GetOpenZfsSnapshotFilterArgs.builder()\n .name(\"volume-id\")\n .values(\"fsvol-073a32b6098a73feb\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:fsx:getOpenZfsSnapshot\n arguments:\n mostRecent: true\n filters:\n - name: volume-id\n values:\n - fsvol-073a32b6098a73feb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about an Amazon FSx for OpenZFS Snapshot for use when provisioning new Volumes.\n\n## Example Usage\n\n### Root volume Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.fsx.getOpenZfsSnapshot({\n mostRecent: true,\n filters: [{\n name: \"volume-id\",\n values: [\"fsvol-073a32b6098a73feb\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.get_open_zfs_snapshot(most_recent=True,\n filters=[{\n \"name\": \"volume-id\",\n \"values\": [\"fsvol-073a32b6098a73feb\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Fsx.GetOpenZfsSnapshot.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Fsx.Inputs.GetOpenZfsSnapshotFilterInputArgs\n {\n Name = \"volume-id\",\n Values = new[]\n {\n \"fsvol-073a32b6098a73feb\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\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 := fsx.LookupOpenZfsSnapshot(ctx, \u0026fsx.LookupOpenZfsSnapshotArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []fsx.GetOpenZfsSnapshotFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"volume-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"fsvol-073a32b6098a73feb\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.FsxFunctions;\nimport com.pulumi.aws.fsx.inputs.GetOpenZfsSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = FsxFunctions.getOpenZfsSnapshot(GetOpenZfsSnapshotArgs.builder()\n .mostRecent(true)\n .filters(GetOpenZfsSnapshotFilterArgs.builder()\n .name(\"volume-id\")\n .values(\"fsvol-073a32b6098a73feb\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:fsx:getOpenZfsSnapshot\n Arguments:\n mostRecent: true\n filters:\n - name: volume-id\n values:\n - fsvol-073a32b6098a73feb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOpenZfsSnapshot.\n", "properties": { @@ -404472,7 +404472,7 @@ } }, "aws:fsx/getWindowsFileSystem:getWindowsFileSystem": { - "description": "Retrieve information on FSx Windows File System.\n\n## Example Usage\n\n### Root volume Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.fsx.getWindowsFileSystem({\n id: \"fs-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.get_windows_file_system(id=\"fs-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Fsx.GetWindowsFileSystem.Invoke(new()\n {\n Id = \"fs-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\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 := fsx.LookupWindowsFileSystem(ctx, \u0026fsx.LookupWindowsFileSystemArgs{\n\t\t\tId: \"fs-12345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.FsxFunctions;\nimport com.pulumi.aws.fsx.inputs.GetWindowsFileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = FsxFunctions.getWindowsFileSystem(GetWindowsFileSystemArgs.builder()\n .id(\"fs-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:fsx:getWindowsFileSystem\n arguments:\n id: fs-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information on FSx Windows File System.\n\n## Example Usage\n\n### Root volume Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.fsx.getWindowsFileSystem({\n id: \"fs-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.get_windows_file_system(id=\"fs-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Fsx.GetWindowsFileSystem.Invoke(new()\n {\n Id = \"fs-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\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 := fsx.LookupWindowsFileSystem(ctx, \u0026fsx.LookupWindowsFileSystemArgs{\n\t\t\tId: \"fs-12345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.FsxFunctions;\nimport com.pulumi.aws.fsx.inputs.GetWindowsFileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = FsxFunctions.getWindowsFileSystem(GetWindowsFileSystemArgs.builder()\n .id(\"fs-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:fsx:getWindowsFileSystem\n Arguments:\n id: fs-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getWindowsFileSystem.\n", "properties": { @@ -404650,7 +404650,7 @@ } }, "aws:globalaccelerator/getAccelerator:getAccelerator": { - "description": "Provides information about a Global Accelerator accelerator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst acceleratorArn = config.get(\"acceleratorArn\") || \"\";\nconst acceleratorName = config.get(\"acceleratorName\") || \"\";\nconst example = aws.globalaccelerator.getAccelerator({\n arn: acceleratorArn,\n name: acceleratorName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\naccelerator_arn = config.get(\"acceleratorArn\")\nif accelerator_arn is None:\n accelerator_arn = \"\"\naccelerator_name = config.get(\"acceleratorName\")\nif accelerator_name is None:\n accelerator_name = \"\"\nexample = aws.globalaccelerator.get_accelerator(arn=accelerator_arn,\n name=accelerator_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var acceleratorArn = config.Get(\"acceleratorArn\") ?? \"\";\n var acceleratorName = config.Get(\"acceleratorName\") ?? \"\";\n var example = Aws.GlobalAccelerator.GetAccelerator.Invoke(new()\n {\n Arn = acceleratorArn,\n Name = acceleratorName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tacceleratorArn := \"\"\n\t\tif param := cfg.Get(\"acceleratorArn\"); param != \"\" {\n\t\t\tacceleratorArn = param\n\t\t}\n\t\tacceleratorName := \"\"\n\t\tif param := cfg.Get(\"acceleratorName\"); param != \"\" {\n\t\t\tacceleratorName = param\n\t\t}\n\t\t_, err := globalaccelerator.LookupAccelerator(ctx, \u0026globalaccelerator.LookupAcceleratorArgs{\n\t\t\tArn: pulumi.StringRef(acceleratorArn),\n\t\t\tName: pulumi.StringRef(acceleratorName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.globalaccelerator.GlobalacceleratorFunctions;\nimport com.pulumi.aws.globalaccelerator.inputs.GetAcceleratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var acceleratorArn = config.get(\"acceleratorArn\").orElse(\"\");\n final var acceleratorName = config.get(\"acceleratorName\").orElse(\"\");\n final var example = GlobalacceleratorFunctions.getAccelerator(GetAcceleratorArgs.builder()\n .arn(acceleratorArn)\n .name(acceleratorName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n acceleratorArn:\n type: string\n default: \"\"\n acceleratorName:\n type: string\n default: \"\"\nvariables:\n example:\n fn::invoke:\n function: aws:globalaccelerator:getAccelerator\n arguments:\n arn: ${acceleratorArn}\n name: ${acceleratorName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a Global Accelerator accelerator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst acceleratorArn = config.get(\"acceleratorArn\") || \"\";\nconst acceleratorName = config.get(\"acceleratorName\") || \"\";\nconst example = aws.globalaccelerator.getAccelerator({\n arn: acceleratorArn,\n name: acceleratorName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\naccelerator_arn = config.get(\"acceleratorArn\")\nif accelerator_arn is None:\n accelerator_arn = \"\"\naccelerator_name = config.get(\"acceleratorName\")\nif accelerator_name is None:\n accelerator_name = \"\"\nexample = aws.globalaccelerator.get_accelerator(arn=accelerator_arn,\n name=accelerator_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var acceleratorArn = config.Get(\"acceleratorArn\") ?? \"\";\n var acceleratorName = config.Get(\"acceleratorName\") ?? \"\";\n var example = Aws.GlobalAccelerator.GetAccelerator.Invoke(new()\n {\n Arn = acceleratorArn,\n Name = acceleratorName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tacceleratorArn := \"\"\n\t\tif param := cfg.Get(\"acceleratorArn\"); param != \"\" {\n\t\t\tacceleratorArn = param\n\t\t}\n\t\tacceleratorName := \"\"\n\t\tif param := cfg.Get(\"acceleratorName\"); param != \"\" {\n\t\t\tacceleratorName = param\n\t\t}\n\t\t_, err := globalaccelerator.LookupAccelerator(ctx, \u0026globalaccelerator.LookupAcceleratorArgs{\n\t\t\tArn: pulumi.StringRef(acceleratorArn),\n\t\t\tName: pulumi.StringRef(acceleratorName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.globalaccelerator.GlobalacceleratorFunctions;\nimport com.pulumi.aws.globalaccelerator.inputs.GetAcceleratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var acceleratorArn = config.get(\"acceleratorArn\").orElse(\"\");\n final var acceleratorName = config.get(\"acceleratorName\").orElse(\"\");\n final var example = GlobalacceleratorFunctions.getAccelerator(GetAcceleratorArgs.builder()\n .arn(acceleratorArn)\n .name(acceleratorName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n acceleratorArn:\n type: string\n default:\n acceleratorName:\n type: string\n default:\nvariables:\n example:\n fn::invoke:\n Function: aws:globalaccelerator:getAccelerator\n Arguments:\n arn: ${acceleratorArn}\n name: ${acceleratorName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAccelerator.\n", "properties": { @@ -404731,7 +404731,7 @@ } }, "aws:globalaccelerator/getCustomRoutingAccelerator:getCustomRoutingAccelerator": { - "description": "Provides information about a Global Accelerator custom routing accelerator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst acceleratorArn = config.get(\"acceleratorArn\") || \"\";\nconst acceleratorName = config.get(\"acceleratorName\") || \"\";\nconst example = aws.globalaccelerator.getCustomRoutingAccelerator({\n arn: acceleratorArn,\n name: acceleratorName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\naccelerator_arn = config.get(\"acceleratorArn\")\nif accelerator_arn is None:\n accelerator_arn = \"\"\naccelerator_name = config.get(\"acceleratorName\")\nif accelerator_name is None:\n accelerator_name = \"\"\nexample = aws.globalaccelerator.get_custom_routing_accelerator(arn=accelerator_arn,\n name=accelerator_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var acceleratorArn = config.Get(\"acceleratorArn\") ?? \"\";\n var acceleratorName = config.Get(\"acceleratorName\") ?? \"\";\n var example = Aws.GlobalAccelerator.GetCustomRoutingAccelerator.Invoke(new()\n {\n Arn = acceleratorArn,\n Name = acceleratorName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tacceleratorArn := \"\"\n\t\tif param := cfg.Get(\"acceleratorArn\"); param != \"\" {\n\t\t\tacceleratorArn = param\n\t\t}\n\t\tacceleratorName := \"\"\n\t\tif param := cfg.Get(\"acceleratorName\"); param != \"\" {\n\t\t\tacceleratorName = param\n\t\t}\n\t\t_, err := globalaccelerator.LookupCustomRoutingAccelerator(ctx, \u0026globalaccelerator.LookupCustomRoutingAcceleratorArgs{\n\t\t\tArn: pulumi.StringRef(acceleratorArn),\n\t\t\tName: pulumi.StringRef(acceleratorName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.globalaccelerator.GlobalacceleratorFunctions;\nimport com.pulumi.aws.globalaccelerator.inputs.GetCustomRoutingAcceleratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var acceleratorArn = config.get(\"acceleratorArn\").orElse(\"\");\n final var acceleratorName = config.get(\"acceleratorName\").orElse(\"\");\n final var example = GlobalacceleratorFunctions.getCustomRoutingAccelerator(GetCustomRoutingAcceleratorArgs.builder()\n .arn(acceleratorArn)\n .name(acceleratorName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n acceleratorArn:\n type: string\n default: \"\"\n acceleratorName:\n type: string\n default: \"\"\nvariables:\n example:\n fn::invoke:\n function: aws:globalaccelerator:getCustomRoutingAccelerator\n arguments:\n arn: ${acceleratorArn}\n name: ${acceleratorName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a Global Accelerator custom routing accelerator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst acceleratorArn = config.get(\"acceleratorArn\") || \"\";\nconst acceleratorName = config.get(\"acceleratorName\") || \"\";\nconst example = aws.globalaccelerator.getCustomRoutingAccelerator({\n arn: acceleratorArn,\n name: acceleratorName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\naccelerator_arn = config.get(\"acceleratorArn\")\nif accelerator_arn is None:\n accelerator_arn = \"\"\naccelerator_name = config.get(\"acceleratorName\")\nif accelerator_name is None:\n accelerator_name = \"\"\nexample = aws.globalaccelerator.get_custom_routing_accelerator(arn=accelerator_arn,\n name=accelerator_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var acceleratorArn = config.Get(\"acceleratorArn\") ?? \"\";\n var acceleratorName = config.Get(\"acceleratorName\") ?? \"\";\n var example = Aws.GlobalAccelerator.GetCustomRoutingAccelerator.Invoke(new()\n {\n Arn = acceleratorArn,\n Name = acceleratorName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tacceleratorArn := \"\"\n\t\tif param := cfg.Get(\"acceleratorArn\"); param != \"\" {\n\t\t\tacceleratorArn = param\n\t\t}\n\t\tacceleratorName := \"\"\n\t\tif param := cfg.Get(\"acceleratorName\"); param != \"\" {\n\t\t\tacceleratorName = param\n\t\t}\n\t\t_, err := globalaccelerator.LookupCustomRoutingAccelerator(ctx, \u0026globalaccelerator.LookupCustomRoutingAcceleratorArgs{\n\t\t\tArn: pulumi.StringRef(acceleratorArn),\n\t\t\tName: pulumi.StringRef(acceleratorName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.globalaccelerator.GlobalacceleratorFunctions;\nimport com.pulumi.aws.globalaccelerator.inputs.GetCustomRoutingAcceleratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var acceleratorArn = config.get(\"acceleratorArn\").orElse(\"\");\n final var acceleratorName = config.get(\"acceleratorName\").orElse(\"\");\n final var example = GlobalacceleratorFunctions.getCustomRoutingAccelerator(GetCustomRoutingAcceleratorArgs.builder()\n .arn(acceleratorArn)\n .name(acceleratorName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n acceleratorArn:\n type: string\n default:\n acceleratorName:\n type: string\n default:\nvariables:\n example:\n fn::invoke:\n Function: aws:globalaccelerator:getCustomRoutingAccelerator\n Arguments:\n arn: ${acceleratorArn}\n name: ${acceleratorName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCustomRoutingAccelerator.\n", "properties": { @@ -404812,7 +404812,7 @@ } }, "aws:glue/getCatalogTable:getCatalogTable": { - "description": "This data source can be used to fetch information about an AWS Glue Data Catalog Table.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.glue.getCatalogTable({\n name: \"MyCatalogTable\",\n databaseName: \"MyCatalogDatabase\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.get_catalog_table(name=\"MyCatalogTable\",\n database_name=\"MyCatalogDatabase\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Glue.GetCatalogTable.Invoke(new()\n {\n Name = \"MyCatalogTable\",\n DatabaseName = \"MyCatalogDatabase\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.LookupCatalogTable(ctx, \u0026glue.LookupCatalogTableArgs{\n\t\t\tName: \"MyCatalogTable\",\n\t\t\tDatabaseName: \"MyCatalogDatabase\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.GlueFunctions;\nimport com.pulumi.aws.glue.inputs.GetCatalogTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GlueFunctions.getCatalogTable(GetCatalogTableArgs.builder()\n .name(\"MyCatalogTable\")\n .databaseName(\"MyCatalogDatabase\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:glue:getCatalogTable\n arguments:\n name: MyCatalogTable\n databaseName: MyCatalogDatabase\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This data source can be used to fetch information about an AWS Glue Data Catalog Table.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.glue.getCatalogTable({\n name: \"MyCatalogTable\",\n databaseName: \"MyCatalogDatabase\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.get_catalog_table(name=\"MyCatalogTable\",\n database_name=\"MyCatalogDatabase\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Glue.GetCatalogTable.Invoke(new()\n {\n Name = \"MyCatalogTable\",\n DatabaseName = \"MyCatalogDatabase\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.LookupCatalogTable(ctx, \u0026glue.LookupCatalogTableArgs{\n\t\t\tName: \"MyCatalogTable\",\n\t\t\tDatabaseName: \"MyCatalogDatabase\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.GlueFunctions;\nimport com.pulumi.aws.glue.inputs.GetCatalogTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GlueFunctions.getCatalogTable(GetCatalogTableArgs.builder()\n .name(\"MyCatalogTable\")\n .databaseName(\"MyCatalogDatabase\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:glue:getCatalogTable\n Arguments:\n name: MyCatalogTable\n databaseName: MyCatalogDatabase\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCatalogTable.\n", "properties": { @@ -404954,7 +404954,7 @@ } }, "aws:glue/getConnection:getConnection": { - "description": "This data source can be used to fetch information about a specific Glue Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.glue.getConnection({\n id: \"123456789123:connection\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.get_connection(id=\"123456789123:connection\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Glue.GetConnection.Invoke(new()\n {\n Id = \"123456789123:connection\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.LookupConnection(ctx, \u0026glue.LookupConnectionArgs{\n\t\t\tId: \"123456789123:connection\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.GlueFunctions;\nimport com.pulumi.aws.glue.inputs.GetConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GlueFunctions.getConnection(GetConnectionArgs.builder()\n .id(\"123456789123:connection\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:glue:getConnection\n arguments:\n id: 123456789123:connection\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This data source can be used to fetch information about a specific Glue Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.glue.getConnection({\n id: \"123456789123:connection\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.get_connection(id=\"123456789123:connection\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Glue.GetConnection.Invoke(new()\n {\n Id = \"123456789123:connection\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.LookupConnection(ctx, \u0026glue.LookupConnectionArgs{\n\t\t\tId: \"123456789123:connection\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.GlueFunctions;\nimport com.pulumi.aws.glue.inputs.GetConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GlueFunctions.getConnection(GetConnectionArgs.builder()\n .id(\"123456789123:connection\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:glue:getConnection\n Arguments:\n id: 123456789123:connection\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getConnection.\n", "properties": { @@ -405046,7 +405046,7 @@ } }, "aws:glue/getDataCatalogEncryptionSettings:getDataCatalogEncryptionSettings": { - "description": "This data source can be used to fetch information about AWS Glue Data Catalog Encryption Settings.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.GlueFunctions;\nimport com.pulumi.aws.glue.inputs.GetDataCatalogEncryptionSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GlueFunctions.getDataCatalogEncryptionSettings(GetDataCatalogEncryptionSettingsArgs.builder()\n .id(\"123456789123\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:glue:getDataCatalogEncryptionSettings\n arguments:\n id: '123456789123'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This data source can be used to fetch information about AWS Glue Data Catalog Encryption Settings.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.GlueFunctions;\nimport com.pulumi.aws.glue.inputs.GetDataCatalogEncryptionSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GlueFunctions.getDataCatalogEncryptionSettings(GetDataCatalogEncryptionSettingsArgs.builder()\n .id(\"123456789123\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:glue:getDataCatalogEncryptionSettings\n Arguments:\n id: '123456789123'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDataCatalogEncryptionSettings.\n", "properties": { @@ -405087,7 +405087,7 @@ } }, "aws:glue/getRegistry:getRegistry": { - "description": "Data source for managing an AWS Glue Registry.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.glue.getRegistry({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.get_registry(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Glue.GetRegistry.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.LookupRegistry(ctx, \u0026glue.LookupRegistryArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.GlueFunctions;\nimport com.pulumi.aws.glue.inputs.GetRegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GlueFunctions.getRegistry(GetRegistryArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:glue:getRegistry\n arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Glue Registry.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.glue.getRegistry({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.get_registry(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Glue.GetRegistry.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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 := glue.LookupRegistry(ctx, \u0026glue.LookupRegistryArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.GlueFunctions;\nimport com.pulumi.aws.glue.inputs.GetRegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GlueFunctions.getRegistry(GetRegistryArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:glue:getRegistry\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRegistry.\n", "properties": { @@ -405130,7 +405130,7 @@ } }, "aws:glue/getScript:getScript": { - "description": "Use this data source to generate a Glue script from a Directed Acyclic Graph (DAG).\n\n## Example Usage\n\n### Generate Python Script\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.glue.getScript({\n language: \"PYTHON\",\n dagEdges: [\n {\n source: \"datasource0\",\n target: \"applymapping1\",\n },\n {\n source: \"applymapping1\",\n target: \"selectfields2\",\n },\n {\n source: \"selectfields2\",\n target: \"resolvechoice3\",\n },\n {\n source: \"resolvechoice3\",\n target: \"datasink4\",\n },\n ],\n dagNodes: [\n {\n id: \"datasource0\",\n nodeType: \"DataSource\",\n args: [\n {\n name: \"database\",\n value: `\"${source.name}\"`,\n },\n {\n name: \"table_name\",\n value: `\"${sourceAwsGlueCatalogTable.name}\"`,\n },\n ],\n },\n {\n id: \"applymapping1\",\n nodeType: \"ApplyMapping\",\n args: [{\n name: \"mapping\",\n value: \"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\",\n }],\n },\n {\n id: \"selectfields2\",\n nodeType: \"SelectFields\",\n args: [{\n name: \"paths\",\n value: \"[\\\"column1\\\"]\",\n }],\n },\n {\n id: \"resolvechoice3\",\n nodeType: \"ResolveChoice\",\n args: [\n {\n name: \"choice\",\n value: \"\\\"MATCH_CATALOG\\\"\",\n },\n {\n name: \"database\",\n value: `\"${destination.name}\"`,\n },\n {\n name: \"table_name\",\n value: `\"${destinationAwsGlueCatalogTable.name}\"`,\n },\n ],\n },\n {\n id: \"datasink4\",\n nodeType: \"DataSink\",\n args: [\n {\n name: \"database\",\n value: `\"${destination.name}\"`,\n },\n {\n name: \"table_name\",\n value: `\"${destinationAwsGlueCatalogTable.name}\"`,\n },\n ],\n },\n ],\n});\nexport const pythonScript = example.then(example =\u003e example.pythonScript);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.get_script(language=\"PYTHON\",\n dag_edges=[\n {\n \"source\": \"datasource0\",\n \"target\": \"applymapping1\",\n },\n {\n \"source\": \"applymapping1\",\n \"target\": \"selectfields2\",\n },\n {\n \"source\": \"selectfields2\",\n \"target\": \"resolvechoice3\",\n },\n {\n \"source\": \"resolvechoice3\",\n \"target\": \"datasink4\",\n },\n ],\n dag_nodes=[\n {\n \"id\": \"datasource0\",\n \"node_type\": \"DataSource\",\n \"args\": [\n {\n \"name\": \"database\",\n \"value\": f\"\\\"{source['name']}\\\"\",\n },\n {\n \"name\": \"table_name\",\n \"value\": f\"\\\"{source_aws_glue_catalog_table['name']}\\\"\",\n },\n ],\n },\n {\n \"id\": \"applymapping1\",\n \"node_type\": \"ApplyMapping\",\n \"args\": [{\n \"name\": \"mapping\",\n \"value\": \"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\",\n }],\n },\n {\n \"id\": \"selectfields2\",\n \"node_type\": \"SelectFields\",\n \"args\": [{\n \"name\": \"paths\",\n \"value\": \"[\\\"column1\\\"]\",\n }],\n },\n {\n \"id\": \"resolvechoice3\",\n \"node_type\": \"ResolveChoice\",\n \"args\": [\n {\n \"name\": \"choice\",\n \"value\": \"\\\"MATCH_CATALOG\\\"\",\n },\n {\n \"name\": \"database\",\n \"value\": f\"\\\"{destination['name']}\\\"\",\n },\n {\n \"name\": \"table_name\",\n \"value\": f\"\\\"{destination_aws_glue_catalog_table['name']}\\\"\",\n },\n ],\n },\n {\n \"id\": \"datasink4\",\n \"node_type\": \"DataSink\",\n \"args\": [\n {\n \"name\": \"database\",\n \"value\": f\"\\\"{destination['name']}\\\"\",\n },\n {\n \"name\": \"table_name\",\n \"value\": f\"\\\"{destination_aws_glue_catalog_table['name']}\\\"\",\n },\n ],\n },\n ])\npulumi.export(\"pythonScript\", example.python_script)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Glue.GetScript.Invoke(new()\n {\n Language = \"PYTHON\",\n DagEdges = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagEdgeInputArgs\n {\n Source = \"datasource0\",\n Target = \"applymapping1\",\n },\n new Aws.Glue.Inputs.GetScriptDagEdgeInputArgs\n {\n Source = \"applymapping1\",\n Target = \"selectfields2\",\n },\n new Aws.Glue.Inputs.GetScriptDagEdgeInputArgs\n {\n Source = \"selectfields2\",\n Target = \"resolvechoice3\",\n },\n new Aws.Glue.Inputs.GetScriptDagEdgeInputArgs\n {\n Source = \"resolvechoice3\",\n Target = \"datasink4\",\n },\n },\n DagNodes = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"datasource0\",\n NodeType = \"DataSource\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"database\",\n Value = $\"\\\"{source.Name}\\\"\",\n },\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"table_name\",\n Value = $\"\\\"{sourceAwsGlueCatalogTable.Name}\\\"\",\n },\n },\n },\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"applymapping1\",\n NodeType = \"ApplyMapping\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"mapping\",\n Value = \"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\",\n },\n },\n },\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"selectfields2\",\n NodeType = \"SelectFields\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"paths\",\n Value = \"[\\\"column1\\\"]\",\n },\n },\n },\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"resolvechoice3\",\n NodeType = \"ResolveChoice\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"choice\",\n Value = \"\\\"MATCH_CATALOG\\\"\",\n },\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"database\",\n Value = $\"\\\"{destination.Name}\\\"\",\n },\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"table_name\",\n Value = $\"\\\"{destinationAwsGlueCatalogTable.Name}\\\"\",\n },\n },\n },\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"datasink4\",\n NodeType = \"DataSink\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"database\",\n Value = $\"\\\"{destination.Name}\\\"\",\n },\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"table_name\",\n Value = $\"\\\"{destinationAwsGlueCatalogTable.Name}\\\"\",\n },\n },\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"pythonScript\"] = example.Apply(getScriptResult =\u003e getScriptResult.PythonScript),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := glue.GetScript(ctx, \u0026glue.GetScriptArgs{\n\t\t\tLanguage: pulumi.StringRef(\"PYTHON\"),\n\t\t\tDagEdges: []glue.GetScriptDagEdge{\n\t\t\t\t{\n\t\t\t\t\tSource: \"datasource0\",\n\t\t\t\t\tTarget: \"applymapping1\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSource: \"applymapping1\",\n\t\t\t\t\tTarget: \"selectfields2\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSource: \"selectfields2\",\n\t\t\t\t\tTarget: \"resolvechoice3\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSource: \"resolvechoice3\",\n\t\t\t\t\tTarget: \"datasink4\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tDagNodes: []glue.GetScriptDagNode{\n\t\t\t\t{\n\t\t\t\t\tId: \"datasource0\",\n\t\t\t\t\tNodeType: \"DataSource\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"database\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", source.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"table_name\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", sourceAwsGlueCatalogTable.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"applymapping1\",\n\t\t\t\t\tNodeType: \"ApplyMapping\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"mapping\",\n\t\t\t\t\t\t\tValue: \"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"selectfields2\",\n\t\t\t\t\tNodeType: \"SelectFields\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"paths\",\n\t\t\t\t\t\t\tValue: \"[\\\"column1\\\"]\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"resolvechoice3\",\n\t\t\t\t\tNodeType: \"ResolveChoice\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"choice\",\n\t\t\t\t\t\t\tValue: \"\\\"MATCH_CATALOG\\\"\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"database\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", destination.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"table_name\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", destinationAwsGlueCatalogTable.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"datasink4\",\n\t\t\t\t\tNodeType: \"DataSink\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"database\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", destination.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"table_name\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", destinationAwsGlueCatalogTable.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"pythonScript\", example.PythonScript)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.GlueFunctions;\nimport com.pulumi.aws.glue.inputs.GetScriptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GlueFunctions.getScript(GetScriptArgs.builder()\n .language(\"PYTHON\")\n .dagEdges( \n GetScriptDagEdgeArgs.builder()\n .source(\"datasource0\")\n .target(\"applymapping1\")\n .build(),\n GetScriptDagEdgeArgs.builder()\n .source(\"applymapping1\")\n .target(\"selectfields2\")\n .build(),\n GetScriptDagEdgeArgs.builder()\n .source(\"selectfields2\")\n .target(\"resolvechoice3\")\n .build(),\n GetScriptDagEdgeArgs.builder()\n .source(\"resolvechoice3\")\n .target(\"datasink4\")\n .build())\n .dagNodes( \n GetScriptDagNodeArgs.builder()\n .id(\"datasource0\")\n .nodeType(\"DataSource\")\n .args( \n GetScriptDagNodeArgArgs.builder()\n .name(\"database\")\n .value(String.format(\"\\\"%s\\\"\", source.name()))\n .build(),\n GetScriptDagNodeArgArgs.builder()\n .name(\"table_name\")\n .value(String.format(\"\\\"%s\\\"\", sourceAwsGlueCatalogTable.name()))\n .build())\n .build(),\n GetScriptDagNodeArgs.builder()\n .id(\"applymapping1\")\n .nodeType(\"ApplyMapping\")\n .args(GetScriptDagNodeArgArgs.builder()\n .name(\"mapping\")\n .value(\"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\")\n .build())\n .build(),\n GetScriptDagNodeArgs.builder()\n .id(\"selectfields2\")\n .nodeType(\"SelectFields\")\n .args(GetScriptDagNodeArgArgs.builder()\n .name(\"paths\")\n .value(\"[\\\"column1\\\"]\")\n .build())\n .build(),\n GetScriptDagNodeArgs.builder()\n .id(\"resolvechoice3\")\n .nodeType(\"ResolveChoice\")\n .args( \n GetScriptDagNodeArgArgs.builder()\n .name(\"choice\")\n .value(\"\\\"MATCH_CATALOG\\\"\")\n .build(),\n GetScriptDagNodeArgArgs.builder()\n .name(\"database\")\n .value(String.format(\"\\\"%s\\\"\", destination.name()))\n .build(),\n GetScriptDagNodeArgArgs.builder()\n .name(\"table_name\")\n .value(String.format(\"\\\"%s\\\"\", destinationAwsGlueCatalogTable.name()))\n .build())\n .build(),\n GetScriptDagNodeArgs.builder()\n .id(\"datasink4\")\n .nodeType(\"DataSink\")\n .args( \n GetScriptDagNodeArgArgs.builder()\n .name(\"database\")\n .value(String.format(\"\\\"%s\\\"\", destination.name()))\n .build(),\n GetScriptDagNodeArgArgs.builder()\n .name(\"table_name\")\n .value(String.format(\"\\\"%s\\\"\", destinationAwsGlueCatalogTable.name()))\n .build())\n .build())\n .build());\n\n ctx.export(\"pythonScript\", example.applyValue(getScriptResult -\u003e getScriptResult.pythonScript()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:glue:getScript\n arguments:\n language: PYTHON\n dagEdges:\n - source: datasource0\n target: applymapping1\n - source: applymapping1\n target: selectfields2\n - source: selectfields2\n target: resolvechoice3\n - source: resolvechoice3\n target: datasink4\n dagNodes:\n - id: datasource0\n nodeType: DataSource\n args:\n - name: database\n value: '\"${source.name}\"'\n - name: table_name\n value: '\"${sourceAwsGlueCatalogTable.name}\"'\n - id: applymapping1\n nodeType: ApplyMapping\n args:\n - name: mapping\n value: '[(\"column1\", \"string\", \"column1\", \"string\")]'\n - id: selectfields2\n nodeType: SelectFields\n args:\n - name: paths\n value: '[\"column1\"]'\n - id: resolvechoice3\n nodeType: ResolveChoice\n args:\n - name: choice\n value: '\"MATCH_CATALOG\"'\n - name: database\n value: '\"${destination.name}\"'\n - name: table_name\n value: '\"${destinationAwsGlueCatalogTable.name}\"'\n - id: datasink4\n nodeType: DataSink\n args:\n - name: database\n value: '\"${destination.name}\"'\n - name: table_name\n value: '\"${destinationAwsGlueCatalogTable.name}\"'\noutputs:\n pythonScript: ${example.pythonScript}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Generate Scala Code\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.glue.getScript({\n language: \"SCALA\",\n dagEdges: [\n {\n source: \"datasource0\",\n target: \"applymapping1\",\n },\n {\n source: \"applymapping1\",\n target: \"selectfields2\",\n },\n {\n source: \"selectfields2\",\n target: \"resolvechoice3\",\n },\n {\n source: \"resolvechoice3\",\n target: \"datasink4\",\n },\n ],\n dagNodes: [\n {\n id: \"datasource0\",\n nodeType: \"DataSource\",\n args: [\n {\n name: \"database\",\n value: `\"${source.name}\"`,\n },\n {\n name: \"table_name\",\n value: `\"${sourceAwsGlueCatalogTable.name}\"`,\n },\n ],\n },\n {\n id: \"applymapping1\",\n nodeType: \"ApplyMapping\",\n args: [{\n name: \"mappings\",\n value: \"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\",\n }],\n },\n {\n id: \"selectfields2\",\n nodeType: \"SelectFields\",\n args: [{\n name: \"paths\",\n value: \"[\\\"column1\\\"]\",\n }],\n },\n {\n id: \"resolvechoice3\",\n nodeType: \"ResolveChoice\",\n args: [\n {\n name: \"choice\",\n value: \"\\\"MATCH_CATALOG\\\"\",\n },\n {\n name: \"database\",\n value: `\"${destination.name}\"`,\n },\n {\n name: \"table_name\",\n value: `\"${destinationAwsGlueCatalogTable.name}\"`,\n },\n ],\n },\n {\n id: \"datasink4\",\n nodeType: \"DataSink\",\n args: [\n {\n name: \"database\",\n value: `\"${destination.name}\"`,\n },\n {\n name: \"table_name\",\n value: `\"${destinationAwsGlueCatalogTable.name}\"`,\n },\n ],\n },\n ],\n});\nexport const scalaCode = example.then(example =\u003e example.scalaCode);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.get_script(language=\"SCALA\",\n dag_edges=[\n {\n \"source\": \"datasource0\",\n \"target\": \"applymapping1\",\n },\n {\n \"source\": \"applymapping1\",\n \"target\": \"selectfields2\",\n },\n {\n \"source\": \"selectfields2\",\n \"target\": \"resolvechoice3\",\n },\n {\n \"source\": \"resolvechoice3\",\n \"target\": \"datasink4\",\n },\n ],\n dag_nodes=[\n {\n \"id\": \"datasource0\",\n \"node_type\": \"DataSource\",\n \"args\": [\n {\n \"name\": \"database\",\n \"value\": f\"\\\"{source['name']}\\\"\",\n },\n {\n \"name\": \"table_name\",\n \"value\": f\"\\\"{source_aws_glue_catalog_table['name']}\\\"\",\n },\n ],\n },\n {\n \"id\": \"applymapping1\",\n \"node_type\": \"ApplyMapping\",\n \"args\": [{\n \"name\": \"mappings\",\n \"value\": \"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\",\n }],\n },\n {\n \"id\": \"selectfields2\",\n \"node_type\": \"SelectFields\",\n \"args\": [{\n \"name\": \"paths\",\n \"value\": \"[\\\"column1\\\"]\",\n }],\n },\n {\n \"id\": \"resolvechoice3\",\n \"node_type\": \"ResolveChoice\",\n \"args\": [\n {\n \"name\": \"choice\",\n \"value\": \"\\\"MATCH_CATALOG\\\"\",\n },\n {\n \"name\": \"database\",\n \"value\": f\"\\\"{destination['name']}\\\"\",\n },\n {\n \"name\": \"table_name\",\n \"value\": f\"\\\"{destination_aws_glue_catalog_table['name']}\\\"\",\n },\n ],\n },\n {\n \"id\": \"datasink4\",\n \"node_type\": \"DataSink\",\n \"args\": [\n {\n \"name\": \"database\",\n \"value\": f\"\\\"{destination['name']}\\\"\",\n },\n {\n \"name\": \"table_name\",\n \"value\": f\"\\\"{destination_aws_glue_catalog_table['name']}\\\"\",\n },\n ],\n },\n ])\npulumi.export(\"scalaCode\", example.scala_code)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Glue.GetScript.Invoke(new()\n {\n Language = \"SCALA\",\n DagEdges = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagEdgeInputArgs\n {\n Source = \"datasource0\",\n Target = \"applymapping1\",\n },\n new Aws.Glue.Inputs.GetScriptDagEdgeInputArgs\n {\n Source = \"applymapping1\",\n Target = \"selectfields2\",\n },\n new Aws.Glue.Inputs.GetScriptDagEdgeInputArgs\n {\n Source = \"selectfields2\",\n Target = \"resolvechoice3\",\n },\n new Aws.Glue.Inputs.GetScriptDagEdgeInputArgs\n {\n Source = \"resolvechoice3\",\n Target = \"datasink4\",\n },\n },\n DagNodes = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"datasource0\",\n NodeType = \"DataSource\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"database\",\n Value = $\"\\\"{source.Name}\\\"\",\n },\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"table_name\",\n Value = $\"\\\"{sourceAwsGlueCatalogTable.Name}\\\"\",\n },\n },\n },\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"applymapping1\",\n NodeType = \"ApplyMapping\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"mappings\",\n Value = \"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\",\n },\n },\n },\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"selectfields2\",\n NodeType = \"SelectFields\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"paths\",\n Value = \"[\\\"column1\\\"]\",\n },\n },\n },\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"resolvechoice3\",\n NodeType = \"ResolveChoice\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"choice\",\n Value = \"\\\"MATCH_CATALOG\\\"\",\n },\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"database\",\n Value = $\"\\\"{destination.Name}\\\"\",\n },\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"table_name\",\n Value = $\"\\\"{destinationAwsGlueCatalogTable.Name}\\\"\",\n },\n },\n },\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"datasink4\",\n NodeType = \"DataSink\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"database\",\n Value = $\"\\\"{destination.Name}\\\"\",\n },\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"table_name\",\n Value = $\"\\\"{destinationAwsGlueCatalogTable.Name}\\\"\",\n },\n },\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"scalaCode\"] = example.Apply(getScriptResult =\u003e getScriptResult.ScalaCode),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := glue.GetScript(ctx, \u0026glue.GetScriptArgs{\n\t\t\tLanguage: pulumi.StringRef(\"SCALA\"),\n\t\t\tDagEdges: []glue.GetScriptDagEdge{\n\t\t\t\t{\n\t\t\t\t\tSource: \"datasource0\",\n\t\t\t\t\tTarget: \"applymapping1\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSource: \"applymapping1\",\n\t\t\t\t\tTarget: \"selectfields2\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSource: \"selectfields2\",\n\t\t\t\t\tTarget: \"resolvechoice3\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSource: \"resolvechoice3\",\n\t\t\t\t\tTarget: \"datasink4\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tDagNodes: []glue.GetScriptDagNode{\n\t\t\t\t{\n\t\t\t\t\tId: \"datasource0\",\n\t\t\t\t\tNodeType: \"DataSource\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"database\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", source.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"table_name\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", sourceAwsGlueCatalogTable.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"applymapping1\",\n\t\t\t\t\tNodeType: \"ApplyMapping\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"mappings\",\n\t\t\t\t\t\t\tValue: \"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"selectfields2\",\n\t\t\t\t\tNodeType: \"SelectFields\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"paths\",\n\t\t\t\t\t\t\tValue: \"[\\\"column1\\\"]\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"resolvechoice3\",\n\t\t\t\t\tNodeType: \"ResolveChoice\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"choice\",\n\t\t\t\t\t\t\tValue: \"\\\"MATCH_CATALOG\\\"\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"database\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", destination.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"table_name\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", destinationAwsGlueCatalogTable.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"datasink4\",\n\t\t\t\t\tNodeType: \"DataSink\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"database\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", destination.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"table_name\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", destinationAwsGlueCatalogTable.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"scalaCode\", example.ScalaCode)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.GlueFunctions;\nimport com.pulumi.aws.glue.inputs.GetScriptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GlueFunctions.getScript(GetScriptArgs.builder()\n .language(\"SCALA\")\n .dagEdges( \n GetScriptDagEdgeArgs.builder()\n .source(\"datasource0\")\n .target(\"applymapping1\")\n .build(),\n GetScriptDagEdgeArgs.builder()\n .source(\"applymapping1\")\n .target(\"selectfields2\")\n .build(),\n GetScriptDagEdgeArgs.builder()\n .source(\"selectfields2\")\n .target(\"resolvechoice3\")\n .build(),\n GetScriptDagEdgeArgs.builder()\n .source(\"resolvechoice3\")\n .target(\"datasink4\")\n .build())\n .dagNodes( \n GetScriptDagNodeArgs.builder()\n .id(\"datasource0\")\n .nodeType(\"DataSource\")\n .args( \n GetScriptDagNodeArgArgs.builder()\n .name(\"database\")\n .value(String.format(\"\\\"%s\\\"\", source.name()))\n .build(),\n GetScriptDagNodeArgArgs.builder()\n .name(\"table_name\")\n .value(String.format(\"\\\"%s\\\"\", sourceAwsGlueCatalogTable.name()))\n .build())\n .build(),\n GetScriptDagNodeArgs.builder()\n .id(\"applymapping1\")\n .nodeType(\"ApplyMapping\")\n .args(GetScriptDagNodeArgArgs.builder()\n .name(\"mappings\")\n .value(\"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\")\n .build())\n .build(),\n GetScriptDagNodeArgs.builder()\n .id(\"selectfields2\")\n .nodeType(\"SelectFields\")\n .args(GetScriptDagNodeArgArgs.builder()\n .name(\"paths\")\n .value(\"[\\\"column1\\\"]\")\n .build())\n .build(),\n GetScriptDagNodeArgs.builder()\n .id(\"resolvechoice3\")\n .nodeType(\"ResolveChoice\")\n .args( \n GetScriptDagNodeArgArgs.builder()\n .name(\"choice\")\n .value(\"\\\"MATCH_CATALOG\\\"\")\n .build(),\n GetScriptDagNodeArgArgs.builder()\n .name(\"database\")\n .value(String.format(\"\\\"%s\\\"\", destination.name()))\n .build(),\n GetScriptDagNodeArgArgs.builder()\n .name(\"table_name\")\n .value(String.format(\"\\\"%s\\\"\", destinationAwsGlueCatalogTable.name()))\n .build())\n .build(),\n GetScriptDagNodeArgs.builder()\n .id(\"datasink4\")\n .nodeType(\"DataSink\")\n .args( \n GetScriptDagNodeArgArgs.builder()\n .name(\"database\")\n .value(String.format(\"\\\"%s\\\"\", destination.name()))\n .build(),\n GetScriptDagNodeArgArgs.builder()\n .name(\"table_name\")\n .value(String.format(\"\\\"%s\\\"\", destinationAwsGlueCatalogTable.name()))\n .build())\n .build())\n .build());\n\n ctx.export(\"scalaCode\", example.applyValue(getScriptResult -\u003e getScriptResult.scalaCode()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:glue:getScript\n arguments:\n language: SCALA\n dagEdges:\n - source: datasource0\n target: applymapping1\n - source: applymapping1\n target: selectfields2\n - source: selectfields2\n target: resolvechoice3\n - source: resolvechoice3\n target: datasink4\n dagNodes:\n - id: datasource0\n nodeType: DataSource\n args:\n - name: database\n value: '\"${source.name}\"'\n - name: table_name\n value: '\"${sourceAwsGlueCatalogTable.name}\"'\n - id: applymapping1\n nodeType: ApplyMapping\n args:\n - name: mappings\n value: '[(\"column1\", \"string\", \"column1\", \"string\")]'\n - id: selectfields2\n nodeType: SelectFields\n args:\n - name: paths\n value: '[\"column1\"]'\n - id: resolvechoice3\n nodeType: ResolveChoice\n args:\n - name: choice\n value: '\"MATCH_CATALOG\"'\n - name: database\n value: '\"${destination.name}\"'\n - name: table_name\n value: '\"${destinationAwsGlueCatalogTable.name}\"'\n - id: datasink4\n nodeType: DataSink\n args:\n - name: database\n value: '\"${destination.name}\"'\n - name: table_name\n value: '\"${destinationAwsGlueCatalogTable.name}\"'\noutputs:\n scalaCode: ${example.scalaCode}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to generate a Glue script from a Directed Acyclic Graph (DAG).\n\n## Example Usage\n\n### Generate Python Script\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.glue.getScript({\n language: \"PYTHON\",\n dagEdges: [\n {\n source: \"datasource0\",\n target: \"applymapping1\",\n },\n {\n source: \"applymapping1\",\n target: \"selectfields2\",\n },\n {\n source: \"selectfields2\",\n target: \"resolvechoice3\",\n },\n {\n source: \"resolvechoice3\",\n target: \"datasink4\",\n },\n ],\n dagNodes: [\n {\n id: \"datasource0\",\n nodeType: \"DataSource\",\n args: [\n {\n name: \"database\",\n value: `\"${source.name}\"`,\n },\n {\n name: \"table_name\",\n value: `\"${sourceAwsGlueCatalogTable.name}\"`,\n },\n ],\n },\n {\n id: \"applymapping1\",\n nodeType: \"ApplyMapping\",\n args: [{\n name: \"mapping\",\n value: \"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\",\n }],\n },\n {\n id: \"selectfields2\",\n nodeType: \"SelectFields\",\n args: [{\n name: \"paths\",\n value: \"[\\\"column1\\\"]\",\n }],\n },\n {\n id: \"resolvechoice3\",\n nodeType: \"ResolveChoice\",\n args: [\n {\n name: \"choice\",\n value: \"\\\"MATCH_CATALOG\\\"\",\n },\n {\n name: \"database\",\n value: `\"${destination.name}\"`,\n },\n {\n name: \"table_name\",\n value: `\"${destinationAwsGlueCatalogTable.name}\"`,\n },\n ],\n },\n {\n id: \"datasink4\",\n nodeType: \"DataSink\",\n args: [\n {\n name: \"database\",\n value: `\"${destination.name}\"`,\n },\n {\n name: \"table_name\",\n value: `\"${destinationAwsGlueCatalogTable.name}\"`,\n },\n ],\n },\n ],\n});\nexport const pythonScript = example.then(example =\u003e example.pythonScript);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.get_script(language=\"PYTHON\",\n dag_edges=[\n {\n \"source\": \"datasource0\",\n \"target\": \"applymapping1\",\n },\n {\n \"source\": \"applymapping1\",\n \"target\": \"selectfields2\",\n },\n {\n \"source\": \"selectfields2\",\n \"target\": \"resolvechoice3\",\n },\n {\n \"source\": \"resolvechoice3\",\n \"target\": \"datasink4\",\n },\n ],\n dag_nodes=[\n {\n \"id\": \"datasource0\",\n \"node_type\": \"DataSource\",\n \"args\": [\n {\n \"name\": \"database\",\n \"value\": f\"\\\"{source['name']}\\\"\",\n },\n {\n \"name\": \"table_name\",\n \"value\": f\"\\\"{source_aws_glue_catalog_table['name']}\\\"\",\n },\n ],\n },\n {\n \"id\": \"applymapping1\",\n \"node_type\": \"ApplyMapping\",\n \"args\": [{\n \"name\": \"mapping\",\n \"value\": \"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\",\n }],\n },\n {\n \"id\": \"selectfields2\",\n \"node_type\": \"SelectFields\",\n \"args\": [{\n \"name\": \"paths\",\n \"value\": \"[\\\"column1\\\"]\",\n }],\n },\n {\n \"id\": \"resolvechoice3\",\n \"node_type\": \"ResolveChoice\",\n \"args\": [\n {\n \"name\": \"choice\",\n \"value\": \"\\\"MATCH_CATALOG\\\"\",\n },\n {\n \"name\": \"database\",\n \"value\": f\"\\\"{destination['name']}\\\"\",\n },\n {\n \"name\": \"table_name\",\n \"value\": f\"\\\"{destination_aws_glue_catalog_table['name']}\\\"\",\n },\n ],\n },\n {\n \"id\": \"datasink4\",\n \"node_type\": \"DataSink\",\n \"args\": [\n {\n \"name\": \"database\",\n \"value\": f\"\\\"{destination['name']}\\\"\",\n },\n {\n \"name\": \"table_name\",\n \"value\": f\"\\\"{destination_aws_glue_catalog_table['name']}\\\"\",\n },\n ],\n },\n ])\npulumi.export(\"pythonScript\", example.python_script)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Glue.GetScript.Invoke(new()\n {\n Language = \"PYTHON\",\n DagEdges = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagEdgeInputArgs\n {\n Source = \"datasource0\",\n Target = \"applymapping1\",\n },\n new Aws.Glue.Inputs.GetScriptDagEdgeInputArgs\n {\n Source = \"applymapping1\",\n Target = \"selectfields2\",\n },\n new Aws.Glue.Inputs.GetScriptDagEdgeInputArgs\n {\n Source = \"selectfields2\",\n Target = \"resolvechoice3\",\n },\n new Aws.Glue.Inputs.GetScriptDagEdgeInputArgs\n {\n Source = \"resolvechoice3\",\n Target = \"datasink4\",\n },\n },\n DagNodes = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"datasource0\",\n NodeType = \"DataSource\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"database\",\n Value = $\"\\\"{source.Name}\\\"\",\n },\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"table_name\",\n Value = $\"\\\"{sourceAwsGlueCatalogTable.Name}\\\"\",\n },\n },\n },\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"applymapping1\",\n NodeType = \"ApplyMapping\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"mapping\",\n Value = \"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\",\n },\n },\n },\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"selectfields2\",\n NodeType = \"SelectFields\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"paths\",\n Value = \"[\\\"column1\\\"]\",\n },\n },\n },\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"resolvechoice3\",\n NodeType = \"ResolveChoice\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"choice\",\n Value = \"\\\"MATCH_CATALOG\\\"\",\n },\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"database\",\n Value = $\"\\\"{destination.Name}\\\"\",\n },\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"table_name\",\n Value = $\"\\\"{destinationAwsGlueCatalogTable.Name}\\\"\",\n },\n },\n },\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"datasink4\",\n NodeType = \"DataSink\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"database\",\n Value = $\"\\\"{destination.Name}\\\"\",\n },\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"table_name\",\n Value = $\"\\\"{destinationAwsGlueCatalogTable.Name}\\\"\",\n },\n },\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"pythonScript\"] = example.Apply(getScriptResult =\u003e getScriptResult.PythonScript),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := glue.GetScript(ctx, \u0026glue.GetScriptArgs{\n\t\t\tLanguage: pulumi.StringRef(\"PYTHON\"),\n\t\t\tDagEdges: []glue.GetScriptDagEdge{\n\t\t\t\t{\n\t\t\t\t\tSource: \"datasource0\",\n\t\t\t\t\tTarget: \"applymapping1\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSource: \"applymapping1\",\n\t\t\t\t\tTarget: \"selectfields2\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSource: \"selectfields2\",\n\t\t\t\t\tTarget: \"resolvechoice3\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSource: \"resolvechoice3\",\n\t\t\t\t\tTarget: \"datasink4\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tDagNodes: []glue.GetScriptDagNode{\n\t\t\t\t{\n\t\t\t\t\tId: \"datasource0\",\n\t\t\t\t\tNodeType: \"DataSource\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"database\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", source.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"table_name\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", sourceAwsGlueCatalogTable.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"applymapping1\",\n\t\t\t\t\tNodeType: \"ApplyMapping\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"mapping\",\n\t\t\t\t\t\t\tValue: \"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"selectfields2\",\n\t\t\t\t\tNodeType: \"SelectFields\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"paths\",\n\t\t\t\t\t\t\tValue: \"[\\\"column1\\\"]\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"resolvechoice3\",\n\t\t\t\t\tNodeType: \"ResolveChoice\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"choice\",\n\t\t\t\t\t\t\tValue: \"\\\"MATCH_CATALOG\\\"\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"database\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", destination.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"table_name\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", destinationAwsGlueCatalogTable.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"datasink4\",\n\t\t\t\t\tNodeType: \"DataSink\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"database\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", destination.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"table_name\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", destinationAwsGlueCatalogTable.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"pythonScript\", example.PythonScript)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.GlueFunctions;\nimport com.pulumi.aws.glue.inputs.GetScriptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GlueFunctions.getScript(GetScriptArgs.builder()\n .language(\"PYTHON\")\n .dagEdges( \n GetScriptDagEdgeArgs.builder()\n .source(\"datasource0\")\n .target(\"applymapping1\")\n .build(),\n GetScriptDagEdgeArgs.builder()\n .source(\"applymapping1\")\n .target(\"selectfields2\")\n .build(),\n GetScriptDagEdgeArgs.builder()\n .source(\"selectfields2\")\n .target(\"resolvechoice3\")\n .build(),\n GetScriptDagEdgeArgs.builder()\n .source(\"resolvechoice3\")\n .target(\"datasink4\")\n .build())\n .dagNodes( \n GetScriptDagNodeArgs.builder()\n .id(\"datasource0\")\n .nodeType(\"DataSource\")\n .args( \n GetScriptDagNodeArgArgs.builder()\n .name(\"database\")\n .value(String.format(\"\\\"%s\\\"\", source.name()))\n .build(),\n GetScriptDagNodeArgArgs.builder()\n .name(\"table_name\")\n .value(String.format(\"\\\"%s\\\"\", sourceAwsGlueCatalogTable.name()))\n .build())\n .build(),\n GetScriptDagNodeArgs.builder()\n .id(\"applymapping1\")\n .nodeType(\"ApplyMapping\")\n .args(GetScriptDagNodeArgArgs.builder()\n .name(\"mapping\")\n .value(\"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\")\n .build())\n .build(),\n GetScriptDagNodeArgs.builder()\n .id(\"selectfields2\")\n .nodeType(\"SelectFields\")\n .args(GetScriptDagNodeArgArgs.builder()\n .name(\"paths\")\n .value(\"[\\\"column1\\\"]\")\n .build())\n .build(),\n GetScriptDagNodeArgs.builder()\n .id(\"resolvechoice3\")\n .nodeType(\"ResolveChoice\")\n .args( \n GetScriptDagNodeArgArgs.builder()\n .name(\"choice\")\n .value(\"\\\"MATCH_CATALOG\\\"\")\n .build(),\n GetScriptDagNodeArgArgs.builder()\n .name(\"database\")\n .value(String.format(\"\\\"%s\\\"\", destination.name()))\n .build(),\n GetScriptDagNodeArgArgs.builder()\n .name(\"table_name\")\n .value(String.format(\"\\\"%s\\\"\", destinationAwsGlueCatalogTable.name()))\n .build())\n .build(),\n GetScriptDagNodeArgs.builder()\n .id(\"datasink4\")\n .nodeType(\"DataSink\")\n .args( \n GetScriptDagNodeArgArgs.builder()\n .name(\"database\")\n .value(String.format(\"\\\"%s\\\"\", destination.name()))\n .build(),\n GetScriptDagNodeArgArgs.builder()\n .name(\"table_name\")\n .value(String.format(\"\\\"%s\\\"\", destinationAwsGlueCatalogTable.name()))\n .build())\n .build())\n .build());\n\n ctx.export(\"pythonScript\", example.applyValue(getScriptResult -\u003e getScriptResult.pythonScript()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:glue:getScript\n Arguments:\n language: PYTHON\n dagEdges:\n - source: datasource0\n target: applymapping1\n - source: applymapping1\n target: selectfields2\n - source: selectfields2\n target: resolvechoice3\n - source: resolvechoice3\n target: datasink4\n dagNodes:\n - id: datasource0\n nodeType: DataSource\n args:\n - name: database\n value: '\"${source.name}\"'\n - name: table_name\n value: '\"${sourceAwsGlueCatalogTable.name}\"'\n - id: applymapping1\n nodeType: ApplyMapping\n args:\n - name: mapping\n value: '[(\"column1\", \"string\", \"column1\", \"string\")]'\n - id: selectfields2\n nodeType: SelectFields\n args:\n - name: paths\n value: '[\"column1\"]'\n - id: resolvechoice3\n nodeType: ResolveChoice\n args:\n - name: choice\n value: '\"MATCH_CATALOG\"'\n - name: database\n value: '\"${destination.name}\"'\n - name: table_name\n value: '\"${destinationAwsGlueCatalogTable.name}\"'\n - id: datasink4\n nodeType: DataSink\n args:\n - name: database\n value: '\"${destination.name}\"'\n - name: table_name\n value: '\"${destinationAwsGlueCatalogTable.name}\"'\noutputs:\n pythonScript: ${example.pythonScript}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Generate Scala Code\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.glue.getScript({\n language: \"SCALA\",\n dagEdges: [\n {\n source: \"datasource0\",\n target: \"applymapping1\",\n },\n {\n source: \"applymapping1\",\n target: \"selectfields2\",\n },\n {\n source: \"selectfields2\",\n target: \"resolvechoice3\",\n },\n {\n source: \"resolvechoice3\",\n target: \"datasink4\",\n },\n ],\n dagNodes: [\n {\n id: \"datasource0\",\n nodeType: \"DataSource\",\n args: [\n {\n name: \"database\",\n value: `\"${source.name}\"`,\n },\n {\n name: \"table_name\",\n value: `\"${sourceAwsGlueCatalogTable.name}\"`,\n },\n ],\n },\n {\n id: \"applymapping1\",\n nodeType: \"ApplyMapping\",\n args: [{\n name: \"mappings\",\n value: \"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\",\n }],\n },\n {\n id: \"selectfields2\",\n nodeType: \"SelectFields\",\n args: [{\n name: \"paths\",\n value: \"[\\\"column1\\\"]\",\n }],\n },\n {\n id: \"resolvechoice3\",\n nodeType: \"ResolveChoice\",\n args: [\n {\n name: \"choice\",\n value: \"\\\"MATCH_CATALOG\\\"\",\n },\n {\n name: \"database\",\n value: `\"${destination.name}\"`,\n },\n {\n name: \"table_name\",\n value: `\"${destinationAwsGlueCatalogTable.name}\"`,\n },\n ],\n },\n {\n id: \"datasink4\",\n nodeType: \"DataSink\",\n args: [\n {\n name: \"database\",\n value: `\"${destination.name}\"`,\n },\n {\n name: \"table_name\",\n value: `\"${destinationAwsGlueCatalogTable.name}\"`,\n },\n ],\n },\n ],\n});\nexport const scalaCode = example.then(example =\u003e example.scalaCode);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.get_script(language=\"SCALA\",\n dag_edges=[\n {\n \"source\": \"datasource0\",\n \"target\": \"applymapping1\",\n },\n {\n \"source\": \"applymapping1\",\n \"target\": \"selectfields2\",\n },\n {\n \"source\": \"selectfields2\",\n \"target\": \"resolvechoice3\",\n },\n {\n \"source\": \"resolvechoice3\",\n \"target\": \"datasink4\",\n },\n ],\n dag_nodes=[\n {\n \"id\": \"datasource0\",\n \"node_type\": \"DataSource\",\n \"args\": [\n {\n \"name\": \"database\",\n \"value\": f\"\\\"{source['name']}\\\"\",\n },\n {\n \"name\": \"table_name\",\n \"value\": f\"\\\"{source_aws_glue_catalog_table['name']}\\\"\",\n },\n ],\n },\n {\n \"id\": \"applymapping1\",\n \"node_type\": \"ApplyMapping\",\n \"args\": [{\n \"name\": \"mappings\",\n \"value\": \"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\",\n }],\n },\n {\n \"id\": \"selectfields2\",\n \"node_type\": \"SelectFields\",\n \"args\": [{\n \"name\": \"paths\",\n \"value\": \"[\\\"column1\\\"]\",\n }],\n },\n {\n \"id\": \"resolvechoice3\",\n \"node_type\": \"ResolveChoice\",\n \"args\": [\n {\n \"name\": \"choice\",\n \"value\": \"\\\"MATCH_CATALOG\\\"\",\n },\n {\n \"name\": \"database\",\n \"value\": f\"\\\"{destination['name']}\\\"\",\n },\n {\n \"name\": \"table_name\",\n \"value\": f\"\\\"{destination_aws_glue_catalog_table['name']}\\\"\",\n },\n ],\n },\n {\n \"id\": \"datasink4\",\n \"node_type\": \"DataSink\",\n \"args\": [\n {\n \"name\": \"database\",\n \"value\": f\"\\\"{destination['name']}\\\"\",\n },\n {\n \"name\": \"table_name\",\n \"value\": f\"\\\"{destination_aws_glue_catalog_table['name']}\\\"\",\n },\n ],\n },\n ])\npulumi.export(\"scalaCode\", example.scala_code)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Glue.GetScript.Invoke(new()\n {\n Language = \"SCALA\",\n DagEdges = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagEdgeInputArgs\n {\n Source = \"datasource0\",\n Target = \"applymapping1\",\n },\n new Aws.Glue.Inputs.GetScriptDagEdgeInputArgs\n {\n Source = \"applymapping1\",\n Target = \"selectfields2\",\n },\n new Aws.Glue.Inputs.GetScriptDagEdgeInputArgs\n {\n Source = \"selectfields2\",\n Target = \"resolvechoice3\",\n },\n new Aws.Glue.Inputs.GetScriptDagEdgeInputArgs\n {\n Source = \"resolvechoice3\",\n Target = \"datasink4\",\n },\n },\n DagNodes = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"datasource0\",\n NodeType = \"DataSource\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"database\",\n Value = $\"\\\"{source.Name}\\\"\",\n },\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"table_name\",\n Value = $\"\\\"{sourceAwsGlueCatalogTable.Name}\\\"\",\n },\n },\n },\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"applymapping1\",\n NodeType = \"ApplyMapping\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"mappings\",\n Value = \"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\",\n },\n },\n },\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"selectfields2\",\n NodeType = \"SelectFields\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"paths\",\n Value = \"[\\\"column1\\\"]\",\n },\n },\n },\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"resolvechoice3\",\n NodeType = \"ResolveChoice\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"choice\",\n Value = \"\\\"MATCH_CATALOG\\\"\",\n },\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"database\",\n Value = $\"\\\"{destination.Name}\\\"\",\n },\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"table_name\",\n Value = $\"\\\"{destinationAwsGlueCatalogTable.Name}\\\"\",\n },\n },\n },\n new Aws.Glue.Inputs.GetScriptDagNodeInputArgs\n {\n Id = \"datasink4\",\n NodeType = \"DataSink\",\n Args = new[]\n {\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"database\",\n Value = $\"\\\"{destination.Name}\\\"\",\n },\n new Aws.Glue.Inputs.GetScriptDagNodeArgInputArgs\n {\n Name = \"table_name\",\n Value = $\"\\\"{destinationAwsGlueCatalogTable.Name}\\\"\",\n },\n },\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"scalaCode\"] = example.Apply(getScriptResult =\u003e getScriptResult.ScalaCode),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := glue.GetScript(ctx, \u0026glue.GetScriptArgs{\n\t\t\tLanguage: pulumi.StringRef(\"SCALA\"),\n\t\t\tDagEdges: []glue.GetScriptDagEdge{\n\t\t\t\t{\n\t\t\t\t\tSource: \"datasource0\",\n\t\t\t\t\tTarget: \"applymapping1\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSource: \"applymapping1\",\n\t\t\t\t\tTarget: \"selectfields2\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSource: \"selectfields2\",\n\t\t\t\t\tTarget: \"resolvechoice3\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSource: \"resolvechoice3\",\n\t\t\t\t\tTarget: \"datasink4\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tDagNodes: []glue.GetScriptDagNode{\n\t\t\t\t{\n\t\t\t\t\tId: \"datasource0\",\n\t\t\t\t\tNodeType: \"DataSource\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"database\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", source.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"table_name\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", sourceAwsGlueCatalogTable.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"applymapping1\",\n\t\t\t\t\tNodeType: \"ApplyMapping\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"mappings\",\n\t\t\t\t\t\t\tValue: \"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"selectfields2\",\n\t\t\t\t\tNodeType: \"SelectFields\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"paths\",\n\t\t\t\t\t\t\tValue: \"[\\\"column1\\\"]\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"resolvechoice3\",\n\t\t\t\t\tNodeType: \"ResolveChoice\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"choice\",\n\t\t\t\t\t\t\tValue: \"\\\"MATCH_CATALOG\\\"\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"database\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", destination.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"table_name\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", destinationAwsGlueCatalogTable.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"datasink4\",\n\t\t\t\t\tNodeType: \"DataSink\",\n\t\t\t\t\tArgs: []glue.GetScriptDagNodeArg{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"database\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", destination.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName: \"table_name\",\n\t\t\t\t\t\t\tValue: fmt.Sprintf(\"\\\"%v\\\"\", destinationAwsGlueCatalogTable.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"scalaCode\", example.ScalaCode)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.GlueFunctions;\nimport com.pulumi.aws.glue.inputs.GetScriptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GlueFunctions.getScript(GetScriptArgs.builder()\n .language(\"SCALA\")\n .dagEdges( \n GetScriptDagEdgeArgs.builder()\n .source(\"datasource0\")\n .target(\"applymapping1\")\n .build(),\n GetScriptDagEdgeArgs.builder()\n .source(\"applymapping1\")\n .target(\"selectfields2\")\n .build(),\n GetScriptDagEdgeArgs.builder()\n .source(\"selectfields2\")\n .target(\"resolvechoice3\")\n .build(),\n GetScriptDagEdgeArgs.builder()\n .source(\"resolvechoice3\")\n .target(\"datasink4\")\n .build())\n .dagNodes( \n GetScriptDagNodeArgs.builder()\n .id(\"datasource0\")\n .nodeType(\"DataSource\")\n .args( \n GetScriptDagNodeArgArgs.builder()\n .name(\"database\")\n .value(String.format(\"\\\"%s\\\"\", source.name()))\n .build(),\n GetScriptDagNodeArgArgs.builder()\n .name(\"table_name\")\n .value(String.format(\"\\\"%s\\\"\", sourceAwsGlueCatalogTable.name()))\n .build())\n .build(),\n GetScriptDagNodeArgs.builder()\n .id(\"applymapping1\")\n .nodeType(\"ApplyMapping\")\n .args(GetScriptDagNodeArgArgs.builder()\n .name(\"mappings\")\n .value(\"[(\\\"column1\\\", \\\"string\\\", \\\"column1\\\", \\\"string\\\")]\")\n .build())\n .build(),\n GetScriptDagNodeArgs.builder()\n .id(\"selectfields2\")\n .nodeType(\"SelectFields\")\n .args(GetScriptDagNodeArgArgs.builder()\n .name(\"paths\")\n .value(\"[\\\"column1\\\"]\")\n .build())\n .build(),\n GetScriptDagNodeArgs.builder()\n .id(\"resolvechoice3\")\n .nodeType(\"ResolveChoice\")\n .args( \n GetScriptDagNodeArgArgs.builder()\n .name(\"choice\")\n .value(\"\\\"MATCH_CATALOG\\\"\")\n .build(),\n GetScriptDagNodeArgArgs.builder()\n .name(\"database\")\n .value(String.format(\"\\\"%s\\\"\", destination.name()))\n .build(),\n GetScriptDagNodeArgArgs.builder()\n .name(\"table_name\")\n .value(String.format(\"\\\"%s\\\"\", destinationAwsGlueCatalogTable.name()))\n .build())\n .build(),\n GetScriptDagNodeArgs.builder()\n .id(\"datasink4\")\n .nodeType(\"DataSink\")\n .args( \n GetScriptDagNodeArgArgs.builder()\n .name(\"database\")\n .value(String.format(\"\\\"%s\\\"\", destination.name()))\n .build(),\n GetScriptDagNodeArgArgs.builder()\n .name(\"table_name\")\n .value(String.format(\"\\\"%s\\\"\", destinationAwsGlueCatalogTable.name()))\n .build())\n .build())\n .build());\n\n ctx.export(\"scalaCode\", example.applyValue(getScriptResult -\u003e getScriptResult.scalaCode()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:glue:getScript\n Arguments:\n language: SCALA\n dagEdges:\n - source: datasource0\n target: applymapping1\n - source: applymapping1\n target: selectfields2\n - source: selectfields2\n target: resolvechoice3\n - source: resolvechoice3\n target: datasink4\n dagNodes:\n - id: datasource0\n nodeType: DataSource\n args:\n - name: database\n value: '\"${source.name}\"'\n - name: table_name\n value: '\"${sourceAwsGlueCatalogTable.name}\"'\n - id: applymapping1\n nodeType: ApplyMapping\n args:\n - name: mappings\n value: '[(\"column1\", \"string\", \"column1\", \"string\")]'\n - id: selectfields2\n nodeType: SelectFields\n args:\n - name: paths\n value: '[\"column1\"]'\n - id: resolvechoice3\n nodeType: ResolveChoice\n args:\n - name: choice\n value: '\"MATCH_CATALOG\"'\n - name: database\n value: '\"${destination.name}\"'\n - name: table_name\n value: '\"${destinationAwsGlueCatalogTable.name}\"'\n - id: datasink4\n nodeType: DataSink\n args:\n - name: database\n value: '\"${destination.name}\"'\n - name: table_name\n value: '\"${destinationAwsGlueCatalogTable.name}\"'\noutputs:\n scalaCode: ${example.scalaCode}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getScript.\n", "properties": { @@ -405201,7 +405201,7 @@ } }, "aws:grafana/getWorkspace:getWorkspace": { - "description": "Provides an Amazon Managed Grafana workspace data source.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.grafana.getWorkspace({\n workspaceId: \"g-2054c75a02\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.grafana.get_workspace(workspace_id=\"g-2054c75a02\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Grafana.GetWorkspace.Invoke(new()\n {\n WorkspaceId = \"g-2054c75a02\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\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 := grafana.LookupWorkspace(ctx, \u0026grafana.LookupWorkspaceArgs{\n\t\t\tWorkspaceId: \"g-2054c75a02\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.grafana.GrafanaFunctions;\nimport com.pulumi.aws.grafana.inputs.GetWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GrafanaFunctions.getWorkspace(GetWorkspaceArgs.builder()\n .workspaceId(\"g-2054c75a02\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:grafana:getWorkspace\n arguments:\n workspaceId: g-2054c75a02\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an Amazon Managed Grafana workspace data source.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.grafana.getWorkspace({\n workspaceId: \"g-2054c75a02\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.grafana.get_workspace(workspace_id=\"g-2054c75a02\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Grafana.GetWorkspace.Invoke(new()\n {\n WorkspaceId = \"g-2054c75a02\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\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 := grafana.LookupWorkspace(ctx, \u0026grafana.LookupWorkspaceArgs{\n\t\t\tWorkspaceId: \"g-2054c75a02\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.grafana.GrafanaFunctions;\nimport com.pulumi.aws.grafana.inputs.GetWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GrafanaFunctions.getWorkspace(GetWorkspaceArgs.builder()\n .workspaceId(\"g-2054c75a02\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:grafana:getWorkspace\n Arguments:\n workspaceId: g-2054c75a02\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getWorkspace.\n", "properties": { @@ -405350,7 +405350,7 @@ } }, "aws:guardduty/getDetector:getDetector": { - "description": "Retrieve information about a GuardDuty detector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.guardduty.getDetector({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.guardduty.get_detector()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.GuardDuty.GetDetector.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\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 := guardduty.LookupDetector(ctx, \u0026guardduty.LookupDetectorArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.guardduty.GuarddutyFunctions;\nimport com.pulumi.aws.guardduty.inputs.GetDetectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GuarddutyFunctions.getDetector();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:guardduty:getDetector\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a GuardDuty detector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.guardduty.getDetector({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.guardduty.get_detector()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.GuardDuty.GetDetector.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\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 := guardduty.LookupDetector(ctx, \u0026guardduty.LookupDetectorArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.guardduty.GuarddutyFunctions;\nimport com.pulumi.aws.guardduty.inputs.GetDetectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GuarddutyFunctions.getDetector();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:guardduty:getDetector\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDetector.\n", "properties": { @@ -405398,7 +405398,7 @@ } }, "aws:guardduty/getFindingIds:getFindingIds": { - "description": "Data source for managing an AWS GuardDuty Finding Ids.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.guardduty.getFindingIds({\n detectorId: exampleAwsGuarddutyDetector.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.guardduty.get_finding_ids(detector_id=example_aws_guardduty_detector[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.GuardDuty.GetFindingIds.Invoke(new()\n {\n DetectorId = exampleAwsGuarddutyDetector.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\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 := guardduty.GetFindingIds(ctx, \u0026guardduty.GetFindingIdsArgs{\n\t\t\tDetectorId: exampleAwsGuarddutyDetector.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.guardduty.GuarddutyFunctions;\nimport com.pulumi.aws.guardduty.inputs.GetFindingIdsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GuarddutyFunctions.getFindingIds(GetFindingIdsArgs.builder()\n .detectorId(exampleAwsGuarddutyDetector.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:guardduty:getFindingIds\n arguments:\n detectorId: ${exampleAwsGuarddutyDetector.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS GuardDuty Finding Ids.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.guardduty.getFindingIds({\n detectorId: exampleAwsGuarddutyDetector.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.guardduty.get_finding_ids(detector_id=example_aws_guardduty_detector[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.GuardDuty.GetFindingIds.Invoke(new()\n {\n DetectorId = exampleAwsGuarddutyDetector.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\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 := guardduty.GetFindingIds(ctx, \u0026guardduty.GetFindingIdsArgs{\n\t\t\tDetectorId: exampleAwsGuarddutyDetector.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.guardduty.GuarddutyFunctions;\nimport com.pulumi.aws.guardduty.inputs.GetFindingIdsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GuarddutyFunctions.getFindingIds(GetFindingIdsArgs.builder()\n .detectorId(exampleAwsGuarddutyDetector.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:guardduty:getFindingIds\n Arguments:\n detectorId: ${exampleAwsGuarddutyDetector.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getFindingIds.\n", "properties": { @@ -405443,7 +405443,7 @@ } }, "aws:iam/getAccessKeys:getAccessKeys": { - "description": "This data source can be used to fetch information about IAM access keys of a\nspecific IAM user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getAccessKeys({\n user: \"an_example_user_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_access_keys(user=\"an_example_user_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetAccessKeys.Invoke(new()\n {\n User = \"an_example_user_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetAccessKeys(ctx, \u0026iam.GetAccessKeysArgs{\n\t\t\tUser: \"an_example_user_name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetAccessKeysArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getAccessKeys(GetAccessKeysArgs.builder()\n .user(\"an_example_user_name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getAccessKeys\n arguments:\n user: an_example_user_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This data source can be used to fetch information about IAM access keys of a\nspecific IAM user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getAccessKeys({\n user: \"an_example_user_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_access_keys(user=\"an_example_user_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetAccessKeys.Invoke(new()\n {\n User = \"an_example_user_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetAccessKeys(ctx, \u0026iam.GetAccessKeysArgs{\n\t\t\tUser: \"an_example_user_name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetAccessKeysArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getAccessKeys(GetAccessKeysArgs.builder()\n .user(\"an_example_user_name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getAccessKeys\n Arguments:\n user: an_example_user_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAccessKeys.\n", "properties": { @@ -405484,7 +405484,7 @@ } }, "aws:iam/getAccountAlias:getAccountAlias": { - "description": "The IAM Account Alias data source allows access to the account alias\nfor the effective account in which this provider is working.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.iam.getAccountAlias({});\nexport const accountAlias = current.then(current =\u003e current.accountAlias);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.iam.get_account_alias()\npulumi.export(\"accountAlias\", current.account_alias)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.Iam.GetAccountAlias.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"accountAlias\"] = current.Apply(getAccountAliasResult =\u003e getAccountAliasResult.AccountAlias),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := iam.LookupAccountAlias(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"accountAlias\", current.AccountAlias)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = IamFunctions.getAccountAlias();\n\n ctx.export(\"accountAlias\", current.applyValue(getAccountAliasResult -\u003e getAccountAliasResult.accountAlias()));\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:iam:getAccountAlias\n arguments: {}\noutputs:\n accountAlias: ${current.accountAlias}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The IAM Account Alias data source allows access to the account alias\nfor the effective account in which this provider is working.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.iam.getAccountAlias({});\nexport const accountAlias = current.then(current =\u003e current.accountAlias);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.iam.get_account_alias()\npulumi.export(\"accountAlias\", current.account_alias)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.Iam.GetAccountAlias.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"accountAlias\"] = current.Apply(getAccountAliasResult =\u003e getAccountAliasResult.AccountAlias),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := iam.LookupAccountAlias(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"accountAlias\", current.AccountAlias)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = IamFunctions.getAccountAlias();\n\n ctx.export(\"accountAlias\", current.applyValue(getAccountAliasResult -\u003e getAccountAliasResult.accountAlias()));\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:iam:getAccountAlias\n Arguments: {}\noutputs:\n accountAlias: ${current.accountAlias}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getAccountAlias.\n", "properties": { @@ -405505,7 +405505,7 @@ } }, "aws:iam/getGroup:getGroup": { - "description": "This data source can be used to fetch information about a specific\nIAM group. By using this data source, you can reference IAM group\nproperties without having to hard code ARNs as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getGroup({\n groupName: \"an_example_group_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_group(group_name=\"an_example_group_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetGroup.Invoke(new()\n {\n GroupName = \"an_example_group_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.LookupGroup(ctx, \u0026iam.LookupGroupArgs{\n\t\t\tGroupName: \"an_example_group_name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getGroup(GetGroupArgs.builder()\n .groupName(\"an_example_group_name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getGroup\n arguments:\n groupName: an_example_group_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This data source can be used to fetch information about a specific\nIAM group. By using this data source, you can reference IAM group\nproperties without having to hard code ARNs as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getGroup({\n groupName: \"an_example_group_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_group(group_name=\"an_example_group_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetGroup.Invoke(new()\n {\n GroupName = \"an_example_group_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.LookupGroup(ctx, \u0026iam.LookupGroupArgs{\n\t\t\tGroupName: \"an_example_group_name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getGroup(GetGroupArgs.builder()\n .groupName(\"an_example_group_name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getGroup\n Arguments:\n groupName: an_example_group_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getGroup.\n", "properties": { @@ -405561,7 +405561,7 @@ } }, "aws:iam/getInstanceProfile:getInstanceProfile": { - "description": "This data source can be used to fetch information about a specific\nIAM instance profile. By using this data source, you can reference IAM\ninstance profile properties without having to hard code ARNs as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getInstanceProfile({\n name: \"an_example_instance_profile_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_instance_profile(name=\"an_example_instance_profile_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetInstanceProfile.Invoke(new()\n {\n Name = \"an_example_instance_profile_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.LookupInstanceProfile(ctx, \u0026iam.LookupInstanceProfileArgs{\n\t\t\tName: \"an_example_instance_profile_name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetInstanceProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getInstanceProfile(GetInstanceProfileArgs.builder()\n .name(\"an_example_instance_profile_name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getInstanceProfile\n arguments:\n name: an_example_instance_profile_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This data source can be used to fetch information about a specific\nIAM instance profile. By using this data source, you can reference IAM\ninstance profile properties without having to hard code ARNs as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getInstanceProfile({\n name: \"an_example_instance_profile_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_instance_profile(name=\"an_example_instance_profile_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetInstanceProfile.Invoke(new()\n {\n Name = \"an_example_instance_profile_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.LookupInstanceProfile(ctx, \u0026iam.LookupInstanceProfileArgs{\n\t\t\tName: \"an_example_instance_profile_name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetInstanceProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getInstanceProfile(GetInstanceProfileArgs.builder()\n .name(\"an_example_instance_profile_name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getInstanceProfile\n Arguments:\n name: an_example_instance_profile_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInstanceProfile.\n", "properties": { @@ -405624,7 +405624,7 @@ } }, "aws:iam/getInstanceProfiles:getInstanceProfiles": { - "description": "This data source can be used to fetch information about all\nIAM instance profiles under a role. By using this data source, you can reference IAM\ninstance profile properties without having to hard code ARNs as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getInstanceProfiles({\n roleName: \"an_example_iam_role_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_instance_profiles(role_name=\"an_example_iam_role_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetInstanceProfiles.Invoke(new()\n {\n RoleName = \"an_example_iam_role_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetInstanceProfiles(ctx, \u0026iam.GetInstanceProfilesArgs{\n\t\t\tRoleName: \"an_example_iam_role_name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetInstanceProfilesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getInstanceProfiles(GetInstanceProfilesArgs.builder()\n .roleName(\"an_example_iam_role_name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getInstanceProfiles\n arguments:\n roleName: an_example_iam_role_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This data source can be used to fetch information about all\nIAM instance profiles under a role. By using this data source, you can reference IAM\ninstance profile properties without having to hard code ARNs as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getInstanceProfiles({\n roleName: \"an_example_iam_role_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_instance_profiles(role_name=\"an_example_iam_role_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetInstanceProfiles.Invoke(new()\n {\n RoleName = \"an_example_iam_role_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetInstanceProfiles(ctx, \u0026iam.GetInstanceProfilesArgs{\n\t\t\tRoleName: \"an_example_iam_role_name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetInstanceProfilesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getInstanceProfiles(GetInstanceProfilesArgs.builder()\n .roleName(\"an_example_iam_role_name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getInstanceProfiles\n Arguments:\n roleName: an_example_iam_role_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInstanceProfiles.\n", "properties": { @@ -405681,7 +405681,7 @@ } }, "aws:iam/getOpenIdConnectProvider:getOpenIdConnectProvider": { - "description": "This data source can be used to fetch information about a specific\nIAM OpenID Connect provider. By using this data source, you can retrieve the\nthe resource information by either its `arn` or `url`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getOpenIdConnectProvider({\n arn: \"arn:aws:iam::123456789012:oidc-provider/accounts.google.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_open_id_connect_provider(arn=\"arn:aws:iam::123456789012:oidc-provider/accounts.google.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetOpenIdConnectProvider.Invoke(new()\n {\n Arn = \"arn:aws:iam::123456789012:oidc-provider/accounts.google.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.LookupOpenIdConnectProvider(ctx, \u0026iam.LookupOpenIdConnectProviderArgs{\n\t\t\tArn: pulumi.StringRef(\"arn:aws:iam::123456789012:oidc-provider/accounts.google.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetOpenIdConnectProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder()\n .arn(\"arn:aws:iam::123456789012:oidc-provider/accounts.google.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getOpenIdConnectProvider\n arguments:\n arn: arn:aws:iam::123456789012:oidc-provider/accounts.google.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getOpenIdConnectProvider({\n url: \"https://accounts.google.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_open_id_connect_provider(url=\"https://accounts.google.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetOpenIdConnectProvider.Invoke(new()\n {\n Url = \"https://accounts.google.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.LookupOpenIdConnectProvider(ctx, \u0026iam.LookupOpenIdConnectProviderArgs{\n\t\t\tUrl: pulumi.StringRef(\"https://accounts.google.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetOpenIdConnectProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder()\n .url(\"https://accounts.google.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getOpenIdConnectProvider\n arguments:\n url: https://accounts.google.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This data source can be used to fetch information about a specific\nIAM OpenID Connect provider. By using this data source, you can retrieve the\nthe resource information by either its `arn` or `url`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getOpenIdConnectProvider({\n arn: \"arn:aws:iam::123456789012:oidc-provider/accounts.google.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_open_id_connect_provider(arn=\"arn:aws:iam::123456789012:oidc-provider/accounts.google.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetOpenIdConnectProvider.Invoke(new()\n {\n Arn = \"arn:aws:iam::123456789012:oidc-provider/accounts.google.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.LookupOpenIdConnectProvider(ctx, \u0026iam.LookupOpenIdConnectProviderArgs{\n\t\t\tArn: pulumi.StringRef(\"arn:aws:iam::123456789012:oidc-provider/accounts.google.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetOpenIdConnectProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder()\n .arn(\"arn:aws:iam::123456789012:oidc-provider/accounts.google.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getOpenIdConnectProvider\n Arguments:\n arn: arn:aws:iam::123456789012:oidc-provider/accounts.google.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getOpenIdConnectProvider({\n url: \"https://accounts.google.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_open_id_connect_provider(url=\"https://accounts.google.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetOpenIdConnectProvider.Invoke(new()\n {\n Url = \"https://accounts.google.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.LookupOpenIdConnectProvider(ctx, \u0026iam.LookupOpenIdConnectProviderArgs{\n\t\t\tUrl: pulumi.StringRef(\"https://accounts.google.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetOpenIdConnectProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder()\n .url(\"https://accounts.google.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getOpenIdConnectProvider\n Arguments:\n url: https://accounts.google.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOpenIdConnectProvider.\n", "properties": { @@ -405750,7 +405750,7 @@ } }, "aws:iam/getPolicy:getPolicy": { - "description": "This data source can be used to fetch information about a specific\nIAM policy.\n\n## Example Usage\n\n### By ARN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicy({\n arn: \"arn:aws:iam::123456789012:policy/UsersManageOwnCredentials\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy(arn=\"arn:aws:iam::123456789012:policy/UsersManageOwnCredentials\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicy.Invoke(new()\n {\n Arn = \"arn:aws:iam::123456789012:policy/UsersManageOwnCredentials\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.LookupPolicy(ctx, \u0026iam.LookupPolicyArgs{\n\t\t\tArn: pulumi.StringRef(\"arn:aws:iam::123456789012:policy/UsersManageOwnCredentials\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicy(GetPolicyArgs.builder()\n .arn(\"arn:aws:iam::123456789012:policy/UsersManageOwnCredentials\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicy\n arguments:\n arn: arn:aws:iam::123456789012:policy/UsersManageOwnCredentials\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicy({\n name: \"test_policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy(name=\"test_policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicy.Invoke(new()\n {\n Name = \"test_policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.LookupPolicy(ctx, \u0026iam.LookupPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"test_policy\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicy(GetPolicyArgs.builder()\n .name(\"test_policy\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicy\n arguments:\n name: test_policy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This data source can be used to fetch information about a specific\nIAM policy.\n\n## Example Usage\n\n### By ARN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicy({\n arn: \"arn:aws:iam::123456789012:policy/UsersManageOwnCredentials\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy(arn=\"arn:aws:iam::123456789012:policy/UsersManageOwnCredentials\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicy.Invoke(new()\n {\n Arn = \"arn:aws:iam::123456789012:policy/UsersManageOwnCredentials\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.LookupPolicy(ctx, \u0026iam.LookupPolicyArgs{\n\t\t\tArn: pulumi.StringRef(\"arn:aws:iam::123456789012:policy/UsersManageOwnCredentials\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicy(GetPolicyArgs.builder()\n .arn(\"arn:aws:iam::123456789012:policy/UsersManageOwnCredentials\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicy\n Arguments:\n arn: arn:aws:iam::123456789012:policy/UsersManageOwnCredentials\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicy({\n name: \"test_policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy(name=\"test_policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicy.Invoke(new()\n {\n Name = \"test_policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.LookupPolicy(ctx, \u0026iam.LookupPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"test_policy\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicy(GetPolicyArgs.builder()\n .name(\"test_policy\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicy\n Arguments:\n name: test_policy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPolicy.\n", "properties": { @@ -405836,7 +405836,7 @@ } }, "aws:iam/getPolicyDocument:getPolicyDocument": { - "description": "Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`.\n\nUsing this data source to generate policy documents is *optional*. It is also valid to use literal JSON strings in your configuration or to use the `file` interpolation function to read a raw JSON policy document from a file.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"1\",\n actions: [\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n ],\n resources: [\"arn:aws:s3:::*\"],\n },\n {\n actions: [\"s3:ListBucket\"],\n resources: [`arn:aws:s3:::${s3BucketName}`],\n conditions: [{\n test: \"StringLike\",\n variable: \"s3:prefix\",\n values: [\n \"\",\n \"home/\",\n \"home/\u0026{aws:username}/\",\n ],\n }],\n },\n {\n actions: [\"s3:*\"],\n resources: [\n `arn:aws:s3:::${s3BucketName}/home/\u0026{aws:username}`,\n `arn:aws:s3:::${s3BucketName}/home/\u0026{aws:username}/*`,\n ],\n },\n ],\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"example_policy\",\n path: \"/\",\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[\n {\n \"sid\": \"1\",\n \"actions\": [\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n ],\n \"resources\": [\"arn:aws:s3:::*\"],\n },\n {\n \"actions\": [\"s3:ListBucket\"],\n \"resources\": [f\"arn:aws:s3:::{s3_bucket_name}\"],\n \"conditions\": [{\n \"test\": \"StringLike\",\n \"variable\": \"s3:prefix\",\n \"values\": [\n \"\",\n \"home/\",\n \"home/\u0026{aws:username}/\",\n ],\n }],\n },\n {\n \"actions\": [\"s3:*\"],\n \"resources\": [\n f\"arn:aws:s3:::{s3_bucket_name}/home/\u0026{{aws:username}}\",\n f\"arn:aws:s3:::{s3_bucket_name}/home/\u0026{{aws:username}}/*\",\n ],\n },\n])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"example_policy\",\n path=\"/\",\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"1\",\n Actions = new[]\n {\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n $\"arn:aws:s3:::{s3BucketName}\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringLike\",\n Variable = \"s3:prefix\",\n Values = new[]\n {\n \"\",\n \"home/\",\n \"home/\u0026{aws:username}/\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:s3:::{s3BucketName}/home/\u0026{{aws:username}}\",\n $\"arn:aws:s3:::{s3BucketName}/home/\u0026{{aws:username}}/*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"example_policy\",\n Path = \"/\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"1\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:ListAllMyBuckets\",\n\t\t\t\t\t\t\"s3:GetBucketLocation\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:s3:::%v\", s3BucketName),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"StringLike\",\n\t\t\t\t\t\t\tVariable: \"s3:prefix\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\t\t\"home/\",\n\t\t\t\t\t\t\t\t\"home/\u0026{aws:username}/\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:s3:::%v/home/\u0026{aws:username}\", s3BucketName),\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:s3:::%v/home/\u0026{aws:username}/*\", s3BucketName),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"example_policy\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tPolicy: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"1\")\n .actions( \n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\")\n .resources(\"arn:aws:s3:::*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions(\"s3:ListBucket\")\n .resources(String.format(\"arn:aws:s3:::%s\", s3BucketName))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringLike\")\n .variable(\"s3:prefix\")\n .values( \n \"\",\n \"home/\",\n \"home/\u0026{aws:username}/\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions(\"s3:*\")\n .resources( \n String.format(\"arn:aws:s3:::%s/home/\u0026{{aws:username}}\", s3BucketName),\n String.format(\"arn:aws:s3:::%s/home/\u0026{{aws:username}}/*\", s3BucketName))\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"example_policy\")\n .path(\"/\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: example_policy\n path: /\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: '1'\n actions:\n - s3:ListAllMyBuckets\n - s3:GetBucketLocation\n resources:\n - arn:aws:s3:::*\n - actions:\n - s3:ListBucket\n resources:\n - arn:aws:s3:::${s3BucketName}\n conditions:\n - test: StringLike\n variable: s3:prefix\n values:\n - \"\"\n - home/\n - home/\u0026{aws:username}/\n - actions:\n - s3:*\n resources:\n - arn:aws:s3:::${s3BucketName}/home/\u0026{aws:username}\n - arn:aws:s3:::${s3BucketName}/home/\u0026{aws:username}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Multiple Condition Keys and Values\n\nYou can specify a [condition with multiple keys and values](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html) by supplying multiple `condition` blocks with the same `test` value, but differing `variable` and `values` values.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleMultipleConditionKeysAndValues = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"kms:Decrypt\",\n \"kms:GenerateDataKey\",\n ],\n resources: [\"*\"],\n conditions: [\n {\n test: \"ForAnyValue:StringEquals\",\n variable: \"kms:EncryptionContext:service\",\n values: [\"pi\"],\n },\n {\n test: \"ForAnyValue:StringEquals\",\n variable: \"kms:EncryptionContext:aws:pi:service\",\n values: [\"rds\"],\n },\n {\n test: \"ForAnyValue:StringEquals\",\n variable: \"kms:EncryptionContext:aws:rds:db-id\",\n values: [\n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\",\n ],\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_multiple_condition_keys_and_values = aws.iam.get_policy_document(statements=[{\n \"actions\": [\n \"kms:Decrypt\",\n \"kms:GenerateDataKey\",\n ],\n \"resources\": [\"*\"],\n \"conditions\": [\n {\n \"test\": \"ForAnyValue:StringEquals\",\n \"variable\": \"kms:EncryptionContext:service\",\n \"values\": [\"pi\"],\n },\n {\n \"test\": \"ForAnyValue:StringEquals\",\n \"variable\": \"kms:EncryptionContext:aws:pi:service\",\n \"values\": [\"rds\"],\n },\n {\n \"test\": \"ForAnyValue:StringEquals\",\n \"variable\": \"kms:EncryptionContext:aws:rds:db-id\",\n \"values\": [\n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\",\n ],\n },\n ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleMultipleConditionKeysAndValues = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"kms:Decrypt\",\n \"kms:GenerateDataKey\",\n },\n Resources = new[]\n {\n \"*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ForAnyValue:StringEquals\",\n Variable = \"kms:EncryptionContext:service\",\n Values = new[]\n {\n \"pi\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ForAnyValue:StringEquals\",\n Variable = \"kms:EncryptionContext:aws:pi:service\",\n Values = new[]\n {\n \"rds\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ForAnyValue:StringEquals\",\n Variable = \"kms:EncryptionContext:aws:rds:db-id\",\n Values = new[]\n {\n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:Decrypt\",\n\t\t\t\t\t\t\"kms:GenerateDataKey\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"ForAnyValue:StringEquals\",\n\t\t\t\t\t\t\tVariable: \"kms:EncryptionContext:service\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"pi\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"ForAnyValue:StringEquals\",\n\t\t\t\t\t\t\tVariable: \"kms:EncryptionContext:aws:pi:service\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"rds\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"ForAnyValue:StringEquals\",\n\t\t\t\t\t\t\tVariable: \"kms:EncryptionContext:aws:rds:db-id\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n\t\t\t\t\t\t\t\t\"db-EEEEEDDDDDCCCCCBBBBBAAAAA\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleMultipleConditionKeysAndValues = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"kms:Decrypt\",\n \"kms:GenerateDataKey\")\n .resources(\"*\")\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ForAnyValue:StringEquals\")\n .variable(\"kms:EncryptionContext:service\")\n .values(\"pi\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ForAnyValue:StringEquals\")\n .variable(\"kms:EncryptionContext:aws:pi:service\")\n .values(\"rds\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ForAnyValue:StringEquals\")\n .variable(\"kms:EncryptionContext:aws:rds:db-id\")\n .values( \n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n exampleMultipleConditionKeysAndValues:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - kms:Decrypt\n - kms:GenerateDataKey\n resources:\n - '*'\n conditions:\n - test: ForAnyValue:StringEquals\n variable: kms:EncryptionContext:service\n values:\n - pi\n - test: ForAnyValue:StringEquals\n variable: kms:EncryptionContext:aws:pi:service\n values:\n - rds\n - test: ForAnyValue:StringEquals\n variable: kms:EncryptionContext:aws:rds:db-id\n values:\n - db-AAAAABBBBBCCCCCDDDDDEEEEE\n - db-EEEEEDDDDDCCCCCBBBBBAAAAA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.example_multiple_condition_keys_and_values.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": [\n \"kms:GenerateDataKey\",\n \"kms:Decrypt\"\n ],\n \"Resource\": \"*\",\n \"Condition\": {\n \"ForAnyValue:StringEquals\": {\n \"kms:EncryptionContext:aws:pi:service\": \"rds\",\n \"kms:EncryptionContext:aws:rds:db-id\": [\n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\"\n ],\n \"kms:EncryptionContext:service\": \"pi\"\n }\n }\n }\n ]\n}\n```\n\n### Example Assume-Role Policy with Multiple Principals\n\nYou can specify multiple principal blocks with different types. You can also use this data source to generate an assume-role policy.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst eventStreamBucketRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [\n {\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n },\n {\n type: \"AWS\",\n identifiers: [trustedRoleArn],\n },\n {\n type: \"Federated\",\n identifiers: [\n `arn:aws:iam::${accountId}:saml-provider/${providerName}`,\n \"cognito-identity.amazonaws.com\",\n ],\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nevent_stream_bucket_role_assume_role_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [\n {\n \"type\": \"Service\",\n \"identifiers\": [\"firehose.amazonaws.com\"],\n },\n {\n \"type\": \"AWS\",\n \"identifiers\": [trusted_role_arn],\n },\n {\n \"type\": \"Federated\",\n \"identifiers\": [\n f\"arn:aws:iam::{account_id}:saml-provider/{provider_name}\",\n \"cognito-identity.amazonaws.com\",\n ],\n },\n ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var eventStreamBucketRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n trustedRoleArn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Federated\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{accountId}:saml-provider/{providerName}\",\n \"cognito-identity.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sts:AssumeRole\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"firehose.amazonaws.com\",\n},\n},\n{\nType: \"AWS\",\nIdentifiers: interface{}{\ntrustedRoleArn,\n},\n},\n{\nType: \"Federated\",\nIdentifiers: []string{\nfmt.Sprintf(\"arn:aws:iam::%v:saml-provider/%v\", accountId, providerName),\n\"cognito-identity.amazonaws.com\",\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var eventStreamBucketRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals( \n GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build(),\n GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(trustedRoleArn)\n .build(),\n GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Federated\")\n .identifiers( \n String.format(\"arn:aws:iam::%s:saml-provider/%s\", accountId,providerName),\n \"cognito-identity.amazonaws.com\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n eventStreamBucketRoleAssumeRolePolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n - type: AWS\n identifiers:\n - ${trustedRoleArn}\n - type: Federated\n identifiers:\n - arn:aws:iam::${accountId}:saml-provider/${providerName}\n - cognito-identity.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using A Source Document\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst source = aws.iam.getPolicyDocument({\n statements: [\n {\n actions: [\"ec2:*\"],\n resources: [\"*\"],\n },\n {\n sid: \"SidToOverride\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n },\n ],\n});\nconst sourceDocumentExample = source.then(source =\u003e aws.iam.getPolicyDocument({\n sourcePolicyDocuments: [source.json],\n statements: [{\n sid: \"SidToOverride\",\n actions: [\"s3:*\"],\n resources: [\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n ],\n }],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsource = aws.iam.get_policy_document(statements=[\n {\n \"actions\": [\"ec2:*\"],\n \"resources\": [\"*\"],\n },\n {\n \"sid\": \"SidToOverride\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\"*\"],\n },\n])\nsource_document_example = aws.iam.get_policy_document(source_policy_documents=[source.json],\n statements=[{\n \"sid\": \"SidToOverride\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n ],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var source = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"ec2:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SidToOverride\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var sourceDocumentExample = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n SourcePolicyDocuments = new[]\n {\n source.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SidToOverride\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nsource, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"ec2:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nSid: pulumi.StringRef(\"SidToOverride\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nSourcePolicyDocuments: interface{}{\nsource.Json,\n},\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"SidToOverride\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"arn:aws:s3:::somebucket\",\n\"arn:aws:s3:::somebucket/*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions(\"ec2:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"SidToOverride\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var sourceDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .sourcePolicyDocuments(source.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"SidToOverride\")\n .actions(\"s3:*\")\n .resources( \n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n source:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - ec2:*\n resources:\n - '*'\n - sid: SidToOverride\n actions:\n - s3:*\n resources:\n - '*'\n sourceDocumentExample:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n sourcePolicyDocuments:\n - ${source.json}\n statements:\n - sid: SidToOverride\n actions:\n - s3:*\n resources:\n - arn:aws:s3:::somebucket\n - arn:aws:s3:::somebucket/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.source_document_example.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"ec2:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"SidToOverride\",\n \"Effect\": \"Allow\",\n \"Action\": \"s3:*\",\n \"Resource\": [\n \"arn:aws:s3:::somebucket/*\",\n \"arn:aws:s3:::somebucket\"\n ]\n }\n ]\n}\n```\n\n### Example Using An Override Document\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst override = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"SidToOverride\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n }],\n});\nconst overridePolicyDocumentExample = override.then(override =\u003e aws.iam.getPolicyDocument({\n overridePolicyDocuments: [override.json],\n statements: [\n {\n actions: [\"ec2:*\"],\n resources: [\"*\"],\n },\n {\n sid: \"SidToOverride\",\n actions: [\"s3:*\"],\n resources: [\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n ],\n },\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\noverride = aws.iam.get_policy_document(statements=[{\n \"sid\": \"SidToOverride\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\"*\"],\n}])\noverride_policy_document_example = aws.iam.get_policy_document(override_policy_documents=[override.json],\n statements=[\n {\n \"actions\": [\"ec2:*\"],\n \"resources\": [\"*\"],\n },\n {\n \"sid\": \"SidToOverride\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n ],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @override = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SidToOverride\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var overridePolicyDocumentExample = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n OverridePolicyDocuments = new[]\n {\n @override.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"ec2:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SidToOverride\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\noverride, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"SidToOverride\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nOverridePolicyDocuments: interface{}{\noverride.Json,\n},\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"ec2:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nSid: pulumi.StringRef(\"SidToOverride\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"arn:aws:s3:::somebucket\",\n\"arn:aws:s3:::somebucket/*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"SidToOverride\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var overridePolicyDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .overridePolicyDocuments(override.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions(\"ec2:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"SidToOverride\")\n .actions(\"s3:*\")\n .resources( \n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n override:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: SidToOverride\n actions:\n - s3:*\n resources:\n - '*'\n overridePolicyDocumentExample:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n overridePolicyDocuments:\n - ${override.json}\n statements:\n - actions:\n - ec2:*\n resources:\n - '*'\n - sid: SidToOverride\n actions:\n - s3:*\n resources:\n - arn:aws:s3:::somebucket\n - arn:aws:s3:::somebucket/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.override_policy_document_example.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"ec2:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"SidToOverride\",\n \"Effect\": \"Allow\",\n \"Action\": \"s3:*\",\n \"Resource\": \"*\"\n }\n ]\n}\n```\n\n### Example with Both Source and Override Documents\n\nYou can also combine `source_policy_documents` and `override_policy_documents` in the same document.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst source = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OverridePlaceholder\",\n actions: [\"ec2:DescribeAccountAttributes\"],\n resources: [\"*\"],\n }],\n});\nconst override = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OverridePlaceholder\",\n actions: [\"s3:GetObject\"],\n resources: [\"*\"],\n }],\n});\nconst politik = Promise.all([source, override]).then(([source, override]) =\u003e aws.iam.getPolicyDocument({\n sourcePolicyDocuments: [source.json],\n overridePolicyDocuments: [override.json],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsource = aws.iam.get_policy_document(statements=[{\n \"sid\": \"OverridePlaceholder\",\n \"actions\": [\"ec2:DescribeAccountAttributes\"],\n \"resources\": [\"*\"],\n}])\noverride = aws.iam.get_policy_document(statements=[{\n \"sid\": \"OverridePlaceholder\",\n \"actions\": [\"s3:GetObject\"],\n \"resources\": [\"*\"],\n}])\npolitik = aws.iam.get_policy_document(source_policy_documents=[source.json],\n override_policy_documents=[override.json])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var source = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceholder\",\n Actions = new[]\n {\n \"ec2:DescribeAccountAttributes\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var @override = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceholder\",\n Actions = new[]\n {\n \"s3:GetObject\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var politik = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n SourcePolicyDocuments = new[]\n {\n source.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n OverridePolicyDocuments = new[]\n {\n @override.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nsource, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceholder\"),\nActions: []string{\n\"ec2:DescribeAccountAttributes\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\noverride, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceholder\"),\nActions: []string{\n\"s3:GetObject\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nSourcePolicyDocuments: interface{}{\nsource.Json,\n},\nOverridePolicyDocuments: interface{}{\noverride.Json,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceholder\")\n .actions(\"ec2:DescribeAccountAttributes\")\n .resources(\"*\")\n .build())\n .build());\n\n final var override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceholder\")\n .actions(\"s3:GetObject\")\n .resources(\"*\")\n .build())\n .build());\n\n final var politik = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .sourcePolicyDocuments(source.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .overridePolicyDocuments(override.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n source:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: OverridePlaceholder\n actions:\n - ec2:DescribeAccountAttributes\n resources:\n - '*'\n override:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: OverridePlaceholder\n actions:\n - s3:GetObject\n resources:\n - '*'\n politik:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n sourcePolicyDocuments:\n - ${source.json}\n overridePolicyDocuments:\n - ${override.json}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.politik.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"OverridePlaceholder\",\n \"Effect\": \"Allow\",\n \"Action\": \"s3:GetObject\",\n \"Resource\": \"*\"\n }\n ]\n}\n```\n\n### Example of Merging Source Documents\n\nMultiple documents can be combined using the `source_policy_documents` or `override_policy_documents` attributes. `source_policy_documents` requires that all documents have unique Sids, while `override_policy_documents` will iteratively override matching Sids.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sourceOne = aws.iam.getPolicyDocument({\n statements: [\n {\n actions: [\"ec2:*\"],\n resources: [\"*\"],\n },\n {\n sid: \"UniqueSidOne\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n },\n ],\n});\nconst sourceTwo = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"UniqueSidTwo\",\n actions: [\"iam:*\"],\n resources: [\"*\"],\n },\n {\n actions: [\"lambda:*\"],\n resources: [\"*\"],\n },\n ],\n});\nconst combined = Promise.all([sourceOne, sourceTwo]).then(([sourceOne, sourceTwo]) =\u003e aws.iam.getPolicyDocument({\n sourcePolicyDocuments: [\n sourceOne.json,\n sourceTwo.json,\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsource_one = aws.iam.get_policy_document(statements=[\n {\n \"actions\": [\"ec2:*\"],\n \"resources\": [\"*\"],\n },\n {\n \"sid\": \"UniqueSidOne\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\"*\"],\n },\n])\nsource_two = aws.iam.get_policy_document(statements=[\n {\n \"sid\": \"UniqueSidTwo\",\n \"actions\": [\"iam:*\"],\n \"resources\": [\"*\"],\n },\n {\n \"actions\": [\"lambda:*\"],\n \"resources\": [\"*\"],\n },\n])\ncombined = aws.iam.get_policy_document(source_policy_documents=[\n source_one.json,\n source_two.json,\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sourceOne = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"ec2:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"UniqueSidOne\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var sourceTwo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"UniqueSidTwo\",\n Actions = new[]\n {\n \"iam:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"lambda:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var combined = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n SourcePolicyDocuments = new[]\n {\n sourceOne.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n sourceTwo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nsourceOne, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"ec2:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nSid: pulumi.StringRef(\"UniqueSidOne\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nsourceTwo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"UniqueSidTwo\"),\nActions: []string{\n\"iam:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nActions: []string{\n\"lambda:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nSourcePolicyDocuments: interface{}{\nsourceOne.Json,\nsourceTwo.Json,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sourceOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions(\"ec2:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"UniqueSidOne\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var sourceTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"UniqueSidTwo\")\n .actions(\"iam:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions(\"lambda:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .sourcePolicyDocuments( \n sourceOne.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()),\n sourceTwo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n sourceOne:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - ec2:*\n resources:\n - '*'\n - sid: UniqueSidOne\n actions:\n - s3:*\n resources:\n - '*'\n sourceTwo:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: UniqueSidTwo\n actions:\n - iam:*\n resources:\n - '*'\n - actions:\n - lambda:*\n resources:\n - '*'\n combined:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n sourcePolicyDocuments:\n - ${sourceOne.json}\n - ${sourceTwo.json}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.combined.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"ec2:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"UniqueSidOne\",\n \"Effect\": \"Allow\",\n \"Action\": \"s3:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"UniqueSidTwo\",\n \"Effect\": \"Allow\",\n \"Action\": \"iam:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"lambda:*\",\n \"Resource\": \"*\"\n }\n ]\n}\n```\n\n### Example of Merging Override Documents\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst policyOne = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OverridePlaceHolderOne\",\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n }],\n});\nconst policyTwo = aws.iam.getPolicyDocument({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"ec2:*\"],\n resources: [\"*\"],\n },\n {\n sid: \"OverridePlaceHolderTwo\",\n effect: \"Allow\",\n actions: [\"iam:*\"],\n resources: [\"*\"],\n },\n ],\n});\nconst policyThree = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OverridePlaceHolderOne\",\n effect: \"Deny\",\n actions: [\"logs:*\"],\n resources: [\"*\"],\n }],\n});\nconst combined = Promise.all([policyOne, policyTwo, policyThree]).then(([policyOne, policyTwo, policyThree]) =\u003e aws.iam.getPolicyDocument({\n overridePolicyDocuments: [\n policyOne.json,\n policyTwo.json,\n policyThree.json,\n ],\n statements: [{\n sid: \"OverridePlaceHolderTwo\",\n effect: \"Deny\",\n actions: [\"*\"],\n resources: [\"*\"],\n }],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npolicy_one = aws.iam.get_policy_document(statements=[{\n \"sid\": \"OverridePlaceHolderOne\",\n \"effect\": \"Allow\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\"*\"],\n}])\npolicy_two = aws.iam.get_policy_document(statements=[\n {\n \"effect\": \"Allow\",\n \"actions\": [\"ec2:*\"],\n \"resources\": [\"*\"],\n },\n {\n \"sid\": \"OverridePlaceHolderTwo\",\n \"effect\": \"Allow\",\n \"actions\": [\"iam:*\"],\n \"resources\": [\"*\"],\n },\n])\npolicy_three = aws.iam.get_policy_document(statements=[{\n \"sid\": \"OverridePlaceHolderOne\",\n \"effect\": \"Deny\",\n \"actions\": [\"logs:*\"],\n \"resources\": [\"*\"],\n}])\ncombined = aws.iam.get_policy_document(override_policy_documents=[\n policy_one.json,\n policy_two.json,\n policy_three.json,\n ],\n statements=[{\n \"sid\": \"OverridePlaceHolderTwo\",\n \"effect\": \"Deny\",\n \"actions\": [\"*\"],\n \"resources\": [\"*\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var policyOne = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceHolderOne\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var policyTwo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceHolderTwo\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"iam:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var policyThree = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceHolderOne\",\n Effect = \"Deny\",\n Actions = new[]\n {\n \"logs:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var combined = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n OverridePolicyDocuments = new[]\n {\n policyOne.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n policyTwo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n policyThree.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceHolderTwo\",\n Effect = \"Deny\",\n Actions = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\npolicyOne, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceHolderOne\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\npolicyTwo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"ec2:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nSid: pulumi.StringRef(\"OverridePlaceHolderTwo\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"iam:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\npolicyThree, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceHolderOne\"),\nEffect: pulumi.StringRef(\"Deny\"),\nActions: []string{\n\"logs:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nOverridePolicyDocuments: interface{}{\npolicyOne.Json,\npolicyTwo.Json,\npolicyThree.Json,\n},\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceHolderTwo\"),\nEffect: pulumi.StringRef(\"Deny\"),\nActions: []string{\n\"*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var policyOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceHolderOne\")\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var policyTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceHolderTwo\")\n .effect(\"Allow\")\n .actions(\"iam:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var policyThree = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceHolderOne\")\n .effect(\"Deny\")\n .actions(\"logs:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .overridePolicyDocuments( \n policyOne.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()),\n policyTwo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()),\n policyThree.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceHolderTwo\")\n .effect(\"Deny\")\n .actions(\"*\")\n .resources(\"*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n policyOne:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: OverridePlaceHolderOne\n effect: Allow\n actions:\n - s3:*\n resources:\n - '*'\n policyTwo:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:*\n resources:\n - '*'\n - sid: OverridePlaceHolderTwo\n effect: Allow\n actions:\n - iam:*\n resources:\n - '*'\n policyThree:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: OverridePlaceHolderOne\n effect: Deny\n actions:\n - logs:*\n resources:\n - '*'\n combined:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n overridePolicyDocuments:\n - ${policyOne.json}\n - ${policyTwo.json}\n - ${policyThree.json}\n statements:\n - sid: OverridePlaceHolderTwo\n effect: Deny\n actions:\n - '*'\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.combined.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"OverridePlaceholderTwo\",\n \"Effect\": \"Allow\",\n \"Action\": \"iam:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"OverridePlaceholderOne\",\n \"Effect\": \"Deny\",\n \"Action\": \"logs:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"ec2:*\",\n \"Resource\": \"*\"\n },\n ]\n}\n```\n", + "description": "Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`.\n\nUsing this data source to generate policy documents is *optional*. It is also valid to use literal JSON strings in your configuration or to use the `file` interpolation function to read a raw JSON policy document from a file.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"1\",\n actions: [\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n ],\n resources: [\"arn:aws:s3:::*\"],\n },\n {\n actions: [\"s3:ListBucket\"],\n resources: [`arn:aws:s3:::${s3BucketName}`],\n conditions: [{\n test: \"StringLike\",\n variable: \"s3:prefix\",\n values: [\n \"\",\n \"home/\",\n \"home/\u0026{aws:username}/\",\n ],\n }],\n },\n {\n actions: [\"s3:*\"],\n resources: [\n `arn:aws:s3:::${s3BucketName}/home/\u0026{aws:username}`,\n `arn:aws:s3:::${s3BucketName}/home/\u0026{aws:username}/*`,\n ],\n },\n ],\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"example_policy\",\n path: \"/\",\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[\n {\n \"sid\": \"1\",\n \"actions\": [\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n ],\n \"resources\": [\"arn:aws:s3:::*\"],\n },\n {\n \"actions\": [\"s3:ListBucket\"],\n \"resources\": [f\"arn:aws:s3:::{s3_bucket_name}\"],\n \"conditions\": [{\n \"test\": \"StringLike\",\n \"variable\": \"s3:prefix\",\n \"values\": [\n \"\",\n \"home/\",\n \"home/\u0026{aws:username}/\",\n ],\n }],\n },\n {\n \"actions\": [\"s3:*\"],\n \"resources\": [\n f\"arn:aws:s3:::{s3_bucket_name}/home/\u0026{{aws:username}}\",\n f\"arn:aws:s3:::{s3_bucket_name}/home/\u0026{{aws:username}}/*\",\n ],\n },\n])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"example_policy\",\n path=\"/\",\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"1\",\n Actions = new[]\n {\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n $\"arn:aws:s3:::{s3BucketName}\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringLike\",\n Variable = \"s3:prefix\",\n Values = new[]\n {\n \"\",\n \"home/\",\n \"home/\u0026{aws:username}/\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:s3:::{s3BucketName}/home/\u0026{{aws:username}}\",\n $\"arn:aws:s3:::{s3BucketName}/home/\u0026{{aws:username}}/*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"example_policy\",\n Path = \"/\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"1\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:ListAllMyBuckets\",\n\t\t\t\t\t\t\"s3:GetBucketLocation\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:s3:::%v\", s3BucketName),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"StringLike\",\n\t\t\t\t\t\t\tVariable: \"s3:prefix\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\t\t\"home/\",\n\t\t\t\t\t\t\t\t\"home/\u0026{aws:username}/\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:s3:::%v/home/\u0026{aws:username}\", s3BucketName),\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:s3:::%v/home/\u0026{aws:username}/*\", s3BucketName),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"example_policy\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tPolicy: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"1\")\n .actions( \n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\")\n .resources(\"arn:aws:s3:::*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions(\"s3:ListBucket\")\n .resources(String.format(\"arn:aws:s3:::%s\", s3BucketName))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringLike\")\n .variable(\"s3:prefix\")\n .values( \n \"\",\n \"home/\",\n \"home/\u0026{aws:username}/\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions(\"s3:*\")\n .resources( \n String.format(\"arn:aws:s3:::%s/home/\u0026{{aws:username}}\", s3BucketName),\n String.format(\"arn:aws:s3:::%s/home/\u0026{{aws:username}}/*\", s3BucketName))\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"example_policy\")\n .path(\"/\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: example_policy\n path: /\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: '1'\n actions:\n - s3:ListAllMyBuckets\n - s3:GetBucketLocation\n resources:\n - arn:aws:s3:::*\n - actions:\n - s3:ListBucket\n resources:\n - arn:aws:s3:::${s3BucketName}\n conditions:\n - test: StringLike\n variable: s3:prefix\n values:\n -\n - home/\n - home/\u0026{aws:username}/\n - actions:\n - s3:*\n resources:\n - arn:aws:s3:::${s3BucketName}/home/\u0026{aws:username}\n - arn:aws:s3:::${s3BucketName}/home/\u0026{aws:username}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Multiple Condition Keys and Values\n\nYou can specify a [condition with multiple keys and values](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html) by supplying multiple `condition` blocks with the same `test` value, but differing `variable` and `values` values.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleMultipleConditionKeysAndValues = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"kms:Decrypt\",\n \"kms:GenerateDataKey\",\n ],\n resources: [\"*\"],\n conditions: [\n {\n test: \"ForAnyValue:StringEquals\",\n variable: \"kms:EncryptionContext:service\",\n values: [\"pi\"],\n },\n {\n test: \"ForAnyValue:StringEquals\",\n variable: \"kms:EncryptionContext:aws:pi:service\",\n values: [\"rds\"],\n },\n {\n test: \"ForAnyValue:StringEquals\",\n variable: \"kms:EncryptionContext:aws:rds:db-id\",\n values: [\n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\",\n ],\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_multiple_condition_keys_and_values = aws.iam.get_policy_document(statements=[{\n \"actions\": [\n \"kms:Decrypt\",\n \"kms:GenerateDataKey\",\n ],\n \"resources\": [\"*\"],\n \"conditions\": [\n {\n \"test\": \"ForAnyValue:StringEquals\",\n \"variable\": \"kms:EncryptionContext:service\",\n \"values\": [\"pi\"],\n },\n {\n \"test\": \"ForAnyValue:StringEquals\",\n \"variable\": \"kms:EncryptionContext:aws:pi:service\",\n \"values\": [\"rds\"],\n },\n {\n \"test\": \"ForAnyValue:StringEquals\",\n \"variable\": \"kms:EncryptionContext:aws:rds:db-id\",\n \"values\": [\n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\",\n ],\n },\n ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleMultipleConditionKeysAndValues = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"kms:Decrypt\",\n \"kms:GenerateDataKey\",\n },\n Resources = new[]\n {\n \"*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ForAnyValue:StringEquals\",\n Variable = \"kms:EncryptionContext:service\",\n Values = new[]\n {\n \"pi\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ForAnyValue:StringEquals\",\n Variable = \"kms:EncryptionContext:aws:pi:service\",\n Values = new[]\n {\n \"rds\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ForAnyValue:StringEquals\",\n Variable = \"kms:EncryptionContext:aws:rds:db-id\",\n Values = new[]\n {\n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:Decrypt\",\n\t\t\t\t\t\t\"kms:GenerateDataKey\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"ForAnyValue:StringEquals\",\n\t\t\t\t\t\t\tVariable: \"kms:EncryptionContext:service\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"pi\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"ForAnyValue:StringEquals\",\n\t\t\t\t\t\t\tVariable: \"kms:EncryptionContext:aws:pi:service\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"rds\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"ForAnyValue:StringEquals\",\n\t\t\t\t\t\t\tVariable: \"kms:EncryptionContext:aws:rds:db-id\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n\t\t\t\t\t\t\t\t\"db-EEEEEDDDDDCCCCCBBBBBAAAAA\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleMultipleConditionKeysAndValues = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"kms:Decrypt\",\n \"kms:GenerateDataKey\")\n .resources(\"*\")\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ForAnyValue:StringEquals\")\n .variable(\"kms:EncryptionContext:service\")\n .values(\"pi\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ForAnyValue:StringEquals\")\n .variable(\"kms:EncryptionContext:aws:pi:service\")\n .values(\"rds\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ForAnyValue:StringEquals\")\n .variable(\"kms:EncryptionContext:aws:rds:db-id\")\n .values( \n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n exampleMultipleConditionKeysAndValues:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - kms:Decrypt\n - kms:GenerateDataKey\n resources:\n - '*'\n conditions:\n - test: ForAnyValue:StringEquals\n variable: kms:EncryptionContext:service\n values:\n - pi\n - test: ForAnyValue:StringEquals\n variable: kms:EncryptionContext:aws:pi:service\n values:\n - rds\n - test: ForAnyValue:StringEquals\n variable: kms:EncryptionContext:aws:rds:db-id\n values:\n - db-AAAAABBBBBCCCCCDDDDDEEEEE\n - db-EEEEEDDDDDCCCCCBBBBBAAAAA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.example_multiple_condition_keys_and_values.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": [\n \"kms:GenerateDataKey\",\n \"kms:Decrypt\"\n ],\n \"Resource\": \"*\",\n \"Condition\": {\n \"ForAnyValue:StringEquals\": {\n \"kms:EncryptionContext:aws:pi:service\": \"rds\",\n \"kms:EncryptionContext:aws:rds:db-id\": [\n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\"\n ],\n \"kms:EncryptionContext:service\": \"pi\"\n }\n }\n }\n ]\n}\n```\n\n### Example Assume-Role Policy with Multiple Principals\n\nYou can specify multiple principal blocks with different types. You can also use this data source to generate an assume-role policy.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst eventStreamBucketRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [\n {\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n },\n {\n type: \"AWS\",\n identifiers: [trustedRoleArn],\n },\n {\n type: \"Federated\",\n identifiers: [\n `arn:aws:iam::${accountId}:saml-provider/${providerName}`,\n \"cognito-identity.amazonaws.com\",\n ],\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nevent_stream_bucket_role_assume_role_policy = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [\n {\n \"type\": \"Service\",\n \"identifiers\": [\"firehose.amazonaws.com\"],\n },\n {\n \"type\": \"AWS\",\n \"identifiers\": [trusted_role_arn],\n },\n {\n \"type\": \"Federated\",\n \"identifiers\": [\n f\"arn:aws:iam::{account_id}:saml-provider/{provider_name}\",\n \"cognito-identity.amazonaws.com\",\n ],\n },\n ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var eventStreamBucketRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n trustedRoleArn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Federated\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{accountId}:saml-provider/{providerName}\",\n \"cognito-identity.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sts:AssumeRole\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"firehose.amazonaws.com\",\n},\n},\n{\nType: \"AWS\",\nIdentifiers: interface{}{\ntrustedRoleArn,\n},\n},\n{\nType: \"Federated\",\nIdentifiers: []string{\nfmt.Sprintf(\"arn:aws:iam::%v:saml-provider/%v\", accountId, providerName),\n\"cognito-identity.amazonaws.com\",\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var eventStreamBucketRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals( \n GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build(),\n GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(trustedRoleArn)\n .build(),\n GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Federated\")\n .identifiers( \n String.format(\"arn:aws:iam::%s:saml-provider/%s\", accountId,providerName),\n \"cognito-identity.amazonaws.com\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n eventStreamBucketRoleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n - type: AWS\n identifiers:\n - ${trustedRoleArn}\n - type: Federated\n identifiers:\n - arn:aws:iam::${accountId}:saml-provider/${providerName}\n - cognito-identity.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using A Source Document\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst source = aws.iam.getPolicyDocument({\n statements: [\n {\n actions: [\"ec2:*\"],\n resources: [\"*\"],\n },\n {\n sid: \"SidToOverride\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n },\n ],\n});\nconst sourceDocumentExample = source.then(source =\u003e aws.iam.getPolicyDocument({\n sourcePolicyDocuments: [source.json],\n statements: [{\n sid: \"SidToOverride\",\n actions: [\"s3:*\"],\n resources: [\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n ],\n }],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsource = aws.iam.get_policy_document(statements=[\n {\n \"actions\": [\"ec2:*\"],\n \"resources\": [\"*\"],\n },\n {\n \"sid\": \"SidToOverride\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\"*\"],\n },\n])\nsource_document_example = aws.iam.get_policy_document(source_policy_documents=[source.json],\n statements=[{\n \"sid\": \"SidToOverride\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n ],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var source = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"ec2:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SidToOverride\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var sourceDocumentExample = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n SourcePolicyDocuments = new[]\n {\n source.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SidToOverride\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nsource, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"ec2:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nSid: pulumi.StringRef(\"SidToOverride\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nSourcePolicyDocuments: interface{}{\nsource.Json,\n},\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"SidToOverride\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"arn:aws:s3:::somebucket\",\n\"arn:aws:s3:::somebucket/*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions(\"ec2:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"SidToOverride\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var sourceDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .sourcePolicyDocuments(source.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"SidToOverride\")\n .actions(\"s3:*\")\n .resources( \n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n source:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - ec2:*\n resources:\n - '*'\n - sid: SidToOverride\n actions:\n - s3:*\n resources:\n - '*'\n sourceDocumentExample:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n sourcePolicyDocuments:\n - ${source.json}\n statements:\n - sid: SidToOverride\n actions:\n - s3:*\n resources:\n - arn:aws:s3:::somebucket\n - arn:aws:s3:::somebucket/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.source_document_example.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"ec2:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"SidToOverride\",\n \"Effect\": \"Allow\",\n \"Action\": \"s3:*\",\n \"Resource\": [\n \"arn:aws:s3:::somebucket/*\",\n \"arn:aws:s3:::somebucket\"\n ]\n }\n ]\n}\n```\n\n### Example Using An Override Document\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst override = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"SidToOverride\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n }],\n});\nconst overridePolicyDocumentExample = override.then(override =\u003e aws.iam.getPolicyDocument({\n overridePolicyDocuments: [override.json],\n statements: [\n {\n actions: [\"ec2:*\"],\n resources: [\"*\"],\n },\n {\n sid: \"SidToOverride\",\n actions: [\"s3:*\"],\n resources: [\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n ],\n },\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\noverride = aws.iam.get_policy_document(statements=[{\n \"sid\": \"SidToOverride\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\"*\"],\n}])\noverride_policy_document_example = aws.iam.get_policy_document(override_policy_documents=[override.json],\n statements=[\n {\n \"actions\": [\"ec2:*\"],\n \"resources\": [\"*\"],\n },\n {\n \"sid\": \"SidToOverride\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n ],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @override = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SidToOverride\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var overridePolicyDocumentExample = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n OverridePolicyDocuments = new[]\n {\n @override.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"ec2:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SidToOverride\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\noverride, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"SidToOverride\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nOverridePolicyDocuments: interface{}{\noverride.Json,\n},\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"ec2:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nSid: pulumi.StringRef(\"SidToOverride\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"arn:aws:s3:::somebucket\",\n\"arn:aws:s3:::somebucket/*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"SidToOverride\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var overridePolicyDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .overridePolicyDocuments(override.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions(\"ec2:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"SidToOverride\")\n .actions(\"s3:*\")\n .resources( \n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n override:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: SidToOverride\n actions:\n - s3:*\n resources:\n - '*'\n overridePolicyDocumentExample:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n overridePolicyDocuments:\n - ${override.json}\n statements:\n - actions:\n - ec2:*\n resources:\n - '*'\n - sid: SidToOverride\n actions:\n - s3:*\n resources:\n - arn:aws:s3:::somebucket\n - arn:aws:s3:::somebucket/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.override_policy_document_example.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"ec2:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"SidToOverride\",\n \"Effect\": \"Allow\",\n \"Action\": \"s3:*\",\n \"Resource\": \"*\"\n }\n ]\n}\n```\n\n### Example with Both Source and Override Documents\n\nYou can also combine `source_policy_documents` and `override_policy_documents` in the same document.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst source = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OverridePlaceholder\",\n actions: [\"ec2:DescribeAccountAttributes\"],\n resources: [\"*\"],\n }],\n});\nconst override = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OverridePlaceholder\",\n actions: [\"s3:GetObject\"],\n resources: [\"*\"],\n }],\n});\nconst politik = Promise.all([source, override]).then(([source, override]) =\u003e aws.iam.getPolicyDocument({\n sourcePolicyDocuments: [source.json],\n overridePolicyDocuments: [override.json],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsource = aws.iam.get_policy_document(statements=[{\n \"sid\": \"OverridePlaceholder\",\n \"actions\": [\"ec2:DescribeAccountAttributes\"],\n \"resources\": [\"*\"],\n}])\noverride = aws.iam.get_policy_document(statements=[{\n \"sid\": \"OverridePlaceholder\",\n \"actions\": [\"s3:GetObject\"],\n \"resources\": [\"*\"],\n}])\npolitik = aws.iam.get_policy_document(source_policy_documents=[source.json],\n override_policy_documents=[override.json])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var source = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceholder\",\n Actions = new[]\n {\n \"ec2:DescribeAccountAttributes\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var @override = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceholder\",\n Actions = new[]\n {\n \"s3:GetObject\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var politik = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n SourcePolicyDocuments = new[]\n {\n source.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n OverridePolicyDocuments = new[]\n {\n @override.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nsource, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceholder\"),\nActions: []string{\n\"ec2:DescribeAccountAttributes\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\noverride, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceholder\"),\nActions: []string{\n\"s3:GetObject\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nSourcePolicyDocuments: interface{}{\nsource.Json,\n},\nOverridePolicyDocuments: interface{}{\noverride.Json,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceholder\")\n .actions(\"ec2:DescribeAccountAttributes\")\n .resources(\"*\")\n .build())\n .build());\n\n final var override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceholder\")\n .actions(\"s3:GetObject\")\n .resources(\"*\")\n .build())\n .build());\n\n final var politik = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .sourcePolicyDocuments(source.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .overridePolicyDocuments(override.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n source:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: OverridePlaceholder\n actions:\n - ec2:DescribeAccountAttributes\n resources:\n - '*'\n override:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: OverridePlaceholder\n actions:\n - s3:GetObject\n resources:\n - '*'\n politik:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n sourcePolicyDocuments:\n - ${source.json}\n overridePolicyDocuments:\n - ${override.json}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.politik.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"OverridePlaceholder\",\n \"Effect\": \"Allow\",\n \"Action\": \"s3:GetObject\",\n \"Resource\": \"*\"\n }\n ]\n}\n```\n\n### Example of Merging Source Documents\n\nMultiple documents can be combined using the `source_policy_documents` or `override_policy_documents` attributes. `source_policy_documents` requires that all documents have unique Sids, while `override_policy_documents` will iteratively override matching Sids.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sourceOne = aws.iam.getPolicyDocument({\n statements: [\n {\n actions: [\"ec2:*\"],\n resources: [\"*\"],\n },\n {\n sid: \"UniqueSidOne\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n },\n ],\n});\nconst sourceTwo = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"UniqueSidTwo\",\n actions: [\"iam:*\"],\n resources: [\"*\"],\n },\n {\n actions: [\"lambda:*\"],\n resources: [\"*\"],\n },\n ],\n});\nconst combined = Promise.all([sourceOne, sourceTwo]).then(([sourceOne, sourceTwo]) =\u003e aws.iam.getPolicyDocument({\n sourcePolicyDocuments: [\n sourceOne.json,\n sourceTwo.json,\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsource_one = aws.iam.get_policy_document(statements=[\n {\n \"actions\": [\"ec2:*\"],\n \"resources\": [\"*\"],\n },\n {\n \"sid\": \"UniqueSidOne\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\"*\"],\n },\n])\nsource_two = aws.iam.get_policy_document(statements=[\n {\n \"sid\": \"UniqueSidTwo\",\n \"actions\": [\"iam:*\"],\n \"resources\": [\"*\"],\n },\n {\n \"actions\": [\"lambda:*\"],\n \"resources\": [\"*\"],\n },\n])\ncombined = aws.iam.get_policy_document(source_policy_documents=[\n source_one.json,\n source_two.json,\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sourceOne = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"ec2:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"UniqueSidOne\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var sourceTwo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"UniqueSidTwo\",\n Actions = new[]\n {\n \"iam:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"lambda:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var combined = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n SourcePolicyDocuments = new[]\n {\n sourceOne.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n sourceTwo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nsourceOne, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"ec2:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nSid: pulumi.StringRef(\"UniqueSidOne\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nsourceTwo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"UniqueSidTwo\"),\nActions: []string{\n\"iam:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nActions: []string{\n\"lambda:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nSourcePolicyDocuments: interface{}{\nsourceOne.Json,\nsourceTwo.Json,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sourceOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions(\"ec2:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"UniqueSidOne\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var sourceTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"UniqueSidTwo\")\n .actions(\"iam:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions(\"lambda:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .sourcePolicyDocuments( \n sourceOne.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()),\n sourceTwo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n sourceOne:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - ec2:*\n resources:\n - '*'\n - sid: UniqueSidOne\n actions:\n - s3:*\n resources:\n - '*'\n sourceTwo:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: UniqueSidTwo\n actions:\n - iam:*\n resources:\n - '*'\n - actions:\n - lambda:*\n resources:\n - '*'\n combined:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n sourcePolicyDocuments:\n - ${sourceOne.json}\n - ${sourceTwo.json}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.combined.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"ec2:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"UniqueSidOne\",\n \"Effect\": \"Allow\",\n \"Action\": \"s3:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"UniqueSidTwo\",\n \"Effect\": \"Allow\",\n \"Action\": \"iam:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"lambda:*\",\n \"Resource\": \"*\"\n }\n ]\n}\n```\n\n### Example of Merging Override Documents\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst policyOne = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OverridePlaceHolderOne\",\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n }],\n});\nconst policyTwo = aws.iam.getPolicyDocument({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"ec2:*\"],\n resources: [\"*\"],\n },\n {\n sid: \"OverridePlaceHolderTwo\",\n effect: \"Allow\",\n actions: [\"iam:*\"],\n resources: [\"*\"],\n },\n ],\n});\nconst policyThree = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OverridePlaceHolderOne\",\n effect: \"Deny\",\n actions: [\"logs:*\"],\n resources: [\"*\"],\n }],\n});\nconst combined = Promise.all([policyOne, policyTwo, policyThree]).then(([policyOne, policyTwo, policyThree]) =\u003e aws.iam.getPolicyDocument({\n overridePolicyDocuments: [\n policyOne.json,\n policyTwo.json,\n policyThree.json,\n ],\n statements: [{\n sid: \"OverridePlaceHolderTwo\",\n effect: \"Deny\",\n actions: [\"*\"],\n resources: [\"*\"],\n }],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npolicy_one = aws.iam.get_policy_document(statements=[{\n \"sid\": \"OverridePlaceHolderOne\",\n \"effect\": \"Allow\",\n \"actions\": [\"s3:*\"],\n \"resources\": [\"*\"],\n}])\npolicy_two = aws.iam.get_policy_document(statements=[\n {\n \"effect\": \"Allow\",\n \"actions\": [\"ec2:*\"],\n \"resources\": [\"*\"],\n },\n {\n \"sid\": \"OverridePlaceHolderTwo\",\n \"effect\": \"Allow\",\n \"actions\": [\"iam:*\"],\n \"resources\": [\"*\"],\n },\n])\npolicy_three = aws.iam.get_policy_document(statements=[{\n \"sid\": \"OverridePlaceHolderOne\",\n \"effect\": \"Deny\",\n \"actions\": [\"logs:*\"],\n \"resources\": [\"*\"],\n}])\ncombined = aws.iam.get_policy_document(override_policy_documents=[\n policy_one.json,\n policy_two.json,\n policy_three.json,\n ],\n statements=[{\n \"sid\": \"OverridePlaceHolderTwo\",\n \"effect\": \"Deny\",\n \"actions\": [\"*\"],\n \"resources\": [\"*\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var policyOne = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceHolderOne\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var policyTwo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceHolderTwo\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"iam:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var policyThree = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceHolderOne\",\n Effect = \"Deny\",\n Actions = new[]\n {\n \"logs:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var combined = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n OverridePolicyDocuments = new[]\n {\n policyOne.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n policyTwo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n policyThree.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceHolderTwo\",\n Effect = \"Deny\",\n Actions = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\npolicyOne, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceHolderOne\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\npolicyTwo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"ec2:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nSid: pulumi.StringRef(\"OverridePlaceHolderTwo\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"iam:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\npolicyThree, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceHolderOne\"),\nEffect: pulumi.StringRef(\"Deny\"),\nActions: []string{\n\"logs:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nOverridePolicyDocuments: interface{}{\npolicyOne.Json,\npolicyTwo.Json,\npolicyThree.Json,\n},\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceHolderTwo\"),\nEffect: pulumi.StringRef(\"Deny\"),\nActions: []string{\n\"*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var policyOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceHolderOne\")\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var policyTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceHolderTwo\")\n .effect(\"Allow\")\n .actions(\"iam:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var policyThree = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceHolderOne\")\n .effect(\"Deny\")\n .actions(\"logs:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .overridePolicyDocuments( \n policyOne.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()),\n policyTwo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()),\n policyThree.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceHolderTwo\")\n .effect(\"Deny\")\n .actions(\"*\")\n .resources(\"*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n policyOne:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: OverridePlaceHolderOne\n effect: Allow\n actions:\n - s3:*\n resources:\n - '*'\n policyTwo:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:*\n resources:\n - '*'\n - sid: OverridePlaceHolderTwo\n effect: Allow\n actions:\n - iam:*\n resources:\n - '*'\n policyThree:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: OverridePlaceHolderOne\n effect: Deny\n actions:\n - logs:*\n resources:\n - '*'\n combined:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n overridePolicyDocuments:\n - ${policyOne.json}\n - ${policyTwo.json}\n - ${policyThree.json}\n statements:\n - sid: OverridePlaceHolderTwo\n effect: Deny\n actions:\n - '*'\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.combined.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"OverridePlaceholderTwo\",\n \"Effect\": \"Allow\",\n \"Action\": \"iam:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"OverridePlaceholderOne\",\n \"Effect\": \"Deny\",\n \"Action\": \"logs:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"ec2:*\",\n \"Resource\": \"*\"\n },\n ]\n}\n```\n", "inputs": { "description": "A collection of arguments for invoking getPolicyDocument.\n", "properties": { @@ -405937,7 +405937,7 @@ } }, "aws:iam/getPrincipalPolicySimulation:getPrincipalPolicySimulation": { - "description": "Runs a simulation of the IAM policies of a particular principal against a given hypothetical request.\n\nYou can use this data source in conjunction with\nPreconditions and Postconditions so that your configuration can test either whether it should have sufficient access to do its own work, or whether policies your configuration declares itself are sufficient for their intended use elsewhere.\n\n\u003e **Note:** Correctly using this data source requires familiarity with various details of AWS Identity and Access Management, and how various AWS services integrate with it. For general information on the AWS IAM policy simulator, see [Testing IAM policies with the IAM policy simulator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html). This data source wraps the `iam:SimulatePrincipalPolicy` API action described on that page.\n\n## Example Usage\n\n### Self Access-checking Example\n\nThe following example raises an error if the credentials passed to the AWS provider do not have access to perform the three actions `s3:GetObject`, `s3:PutObject`, and `s3:DeleteObject` on the S3 bucket with the given ARN.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst s3ObjectAccess = current.then(current =\u003e aws.iam.getPrincipalPolicySimulation({\n actionNames: [\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n ],\n policySourceArn: current.arn,\n resourceArns: [\"arn:aws:s3:::my-test-bucket\"],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ns3_object_access = aws.iam.get_principal_policy_simulation(action_names=[\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n ],\n policy_source_arn=current.arn,\n resource_arns=[\"arn:aws:s3:::my-test-bucket\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var s3ObjectAccess = Aws.Iam.GetPrincipalPolicySimulation.Invoke(new()\n {\n ActionNames = new[]\n {\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n },\n PolicySourceArn = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n ResourceArns = new[]\n {\n \"arn:aws:s3:::my-test-bucket\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.LookupPrincipalPolicySimulation(ctx, \u0026iam.LookupPrincipalPolicySimulationArgs{\n\t\t\tActionNames: []string{\n\t\t\t\t\"s3:GetObject\",\n\t\t\t\t\"s3:PutObject\",\n\t\t\t\t\"s3:DeleteObject\",\n\t\t\t},\n\t\t\tPolicySourceArn: current.Arn,\n\t\t\tResourceArns: []string{\n\t\t\t\t\"arn:aws:s3:::my-test-bucket\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder()\n .actionNames( \n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\")\n .policySourceArn(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .resourceArns(\"arn:aws:s3:::my-test-bucket\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n s3ObjectAccess:\n fn::invoke:\n function: aws:iam:getPrincipalPolicySimulation\n arguments:\n actionNames:\n - s3:GetObject\n - s3:PutObject\n - s3:DeleteObject\n policySourceArn: ${current.arn}\n resourceArns:\n - arn:aws:s3:::my-test-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIf you intend to use this data source to quickly raise an error when the given credentials are insufficient then you must use `depends_on` inside any resource which would require those credentials, to ensure that the policy check will run first:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketObject(\"example\", {bucket: \"my-test-bucket\"}, {\n dependsOn: [s3ObjectAccess],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketObject(\"example\", bucket=\"my-test-bucket\",\nopts = pulumi.ResourceOptions(depends_on=[s3_object_access]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketObject(\"example\", new()\n {\n Bucket = \"my-test-bucket\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n s3ObjectAccess,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tBucket: pulumi.Any(\"my-test-bucket\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ts3ObjectAccess,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketObject(\"example\", BucketObjectArgs.builder()\n .bucket(\"my-test-bucket\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(s3ObjectAccess)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketObject\n properties:\n bucket: my-test-bucket\n options:\n dependsOn:\n - ${s3ObjectAccess}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Testing the Effect of a Declared Policy\n\nThe following example declares an S3 bucket and a user that should have access to the bucket, and then uses `aws.iam.getPrincipalPolicySimulation` to verify that the user does indeed have access to perform needed operations against the bucket.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.iam.User(\"example\", {name: \"example\"});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"my-test-bucket\"});\nconst s3Access = new aws.iam.UserPolicy(\"s3_access\", {\n name: \"example_s3_access\",\n user: example.name,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"s3:GetObject\",\n Effect: \"Allow\",\n Resource: exampleBucketV2.arn,\n }],\n }),\n});\nconst accountAccess = new aws.s3.BucketPolicy(\"account_access\", {\n bucket: exampleBucketV2.bucket,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"s3:*\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e current.accountId),\n },\n Resource: [\n exampleBucketV2.arn,\n pulumi.interpolate`${exampleBucketV2.arn}/*`,\n ],\n }],\n }),\n});\nconst s3ObjectAccess = aws.iam.getPrincipalPolicySimulationOutput({\n actionNames: [\"s3:GetObject\"],\n policySourceArn: example.arn,\n resourceArns: [exampleBucketV2.arn],\n resourcePolicyJson: accountAccess.policy,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.iam.User(\"example\", name=\"example\")\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"my-test-bucket\")\ns3_access = aws.iam.UserPolicy(\"s3_access\",\n name=\"example_s3_access\",\n user=example.name,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"s3:GetObject\",\n \"Effect\": \"Allow\",\n \"Resource\": example_bucket_v2.arn,\n }],\n }))\naccount_access = aws.s3.BucketPolicy(\"account_access\",\n bucket=example_bucket_v2.bucket,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"s3:*\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": current.account_id,\n },\n \"Resource\": [\n example_bucket_v2.arn,\n example_bucket_v2.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n }],\n }))\ns3_object_access = aws.iam.get_principal_policy_simulation_output(action_names=[\"s3:GetObject\"],\n policy_source_arn=example.arn,\n resource_arns=[example_bucket_v2.arn],\n resource_policy_json=account_access.policy)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Iam.User(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-test-bucket\",\n });\n\n var s3Access = new Aws.Iam.UserPolicy(\"s3_access\", new()\n {\n Name = \"example_s3_access\",\n User = example.Name,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"s3:GetObject\",\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = exampleBucketV2.Arn,\n },\n },\n })),\n });\n\n var accountAccess = new Aws.S3.BucketPolicy(\"account_access\", new()\n {\n Bucket = exampleBucketV2.Bucket,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"s3:*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n [\"Resource\"] = new[]\n {\n exampleBucketV2.Arn,\n exampleBucketV2.Arn.Apply(arn =\u003e $\"{arn}/*\"),\n },\n },\n },\n })),\n });\n\n var s3ObjectAccess = Aws.Iam.GetPrincipalPolicySimulation.Invoke(new()\n {\n ActionNames = new[]\n {\n \"s3:GetObject\",\n },\n PolicySourceArn = example.Arn,\n ResourceArns = new[]\n {\n exampleBucketV2.Arn,\n },\n ResourcePolicyJson = accountAccess.Policy,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewUser(ctx, \"example\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserPolicy(ctx, \"s3_access\", \u0026iam.UserPolicyArgs{\n\t\t\tName: pulumi.String(\"example_s3_access\"),\n\t\t\tUser: example.Name,\n\t\t\tPolicy: exampleBucketV2.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Action\": \"s3:GetObject\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Resource\": arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taccountAccess, err := s3.NewBucketPolicy(ctx, \"account_access\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleBucketV2.Bucket,\n\t\t\tPolicy: pulumi.All(exampleBucketV2.Arn, exampleBucketV2.Arn).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\texampleBucketV2Arn := _args[0].(string)\n\t\t\t\texampleBucketV2Arn1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Action\": \"s3:*\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"AWS\": current.AccountId,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\texampleBucketV2Arn,\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"%v/*\", exampleBucketV2Arn1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\treturn json1, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = iam.LookupPrincipalPolicySimulationOutput(ctx, iam.GetPrincipalPolicySimulationOutputArgs{\n\t\t\tActionNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t},\n\t\t\tPolicySourceArn: example.Arn,\n\t\t\tResourceArns: pulumi.StringArray{\n\t\t\t\texampleBucketV2.Arn,\n\t\t\t},\n\t\t\tResourcePolicyJson: accountAccess.Policy,\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.UserPolicy;\nimport com.pulumi.aws.iam.UserPolicyArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new User(\"example\", UserArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"my-test-bucket\")\n .build());\n\n var s3Access = new UserPolicy(\"s3Access\", UserPolicyArgs.builder()\n .name(\"example_s3_access\")\n .user(example.name())\n .policy(exampleBucketV2.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"s3:GetObject\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", arn)\n )))\n ))))\n .build());\n\n var accountAccess = new BucketPolicy(\"accountAccess\", BucketPolicyArgs.builder()\n .bucket(exampleBucketV2.bucket())\n .policy(Output.tuple(exampleBucketV2.arn(), exampleBucketV2.arn()).applyValue(values -\u003e {\n var exampleBucketV2Arn = values.t1;\n var exampleBucketV2Arn1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"s3:*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n )),\n jsonProperty(\"Resource\", jsonArray(\n exampleBucketV2Arn, \n String.format(\"%s/*\", exampleBucketV2Arn1)\n ))\n )))\n ));\n }))\n .build());\n\n final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder()\n .actionNames(\"s3:GetObject\")\n .policySourceArn(example.arn())\n .resourceArns(exampleBucketV2.arn())\n .resourcePolicyJson(accountAccess.policy())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:User\n properties:\n name: example\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: my-test-bucket\n s3Access:\n type: aws:iam:UserPolicy\n name: s3_access\n properties:\n name: example_s3_access\n user: ${example.name}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: s3:GetObject\n Effect: Allow\n Resource: ${exampleBucketV2.arn}\n accountAccess:\n type: aws:s3:BucketPolicy\n name: account_access\n properties:\n bucket: ${exampleBucketV2.bucket}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: s3:*\n Effect: Allow\n Principal:\n AWS: ${current.accountId}\n Resource:\n - ${exampleBucketV2.arn}\n - ${exampleBucketV2.arn}/*\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n s3ObjectAccess:\n fn::invoke:\n function: aws:iam:getPrincipalPolicySimulation\n arguments:\n actionNames:\n - s3:GetObject\n policySourceArn: ${example.arn}\n resourceArns:\n - ${exampleBucketV2.arn}\n resourcePolicyJson: ${accountAccess.policy}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nWhen using `aws.iam.getPrincipalPolicySimulation` to test the effect of a policy declared elsewhere in the same configuration, it's important to use `depends_on` to make sure that the needed policy has been fully created or updated before running the simulation.\n", + "description": "Runs a simulation of the IAM policies of a particular principal against a given hypothetical request.\n\nYou can use this data source in conjunction with\nPreconditions and Postconditions so that your configuration can test either whether it should have sufficient access to do its own work, or whether policies your configuration declares itself are sufficient for their intended use elsewhere.\n\n\u003e **Note:** Correctly using this data source requires familiarity with various details of AWS Identity and Access Management, and how various AWS services integrate with it. For general information on the AWS IAM policy simulator, see [Testing IAM policies with the IAM policy simulator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html). This data source wraps the `iam:SimulatePrincipalPolicy` API action described on that page.\n\n## Example Usage\n\n### Self Access-checking Example\n\nThe following example raises an error if the credentials passed to the AWS provider do not have access to perform the three actions `s3:GetObject`, `s3:PutObject`, and `s3:DeleteObject` on the S3 bucket with the given ARN.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst s3ObjectAccess = current.then(current =\u003e aws.iam.getPrincipalPolicySimulation({\n actionNames: [\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n ],\n policySourceArn: current.arn,\n resourceArns: [\"arn:aws:s3:::my-test-bucket\"],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ns3_object_access = aws.iam.get_principal_policy_simulation(action_names=[\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n ],\n policy_source_arn=current.arn,\n resource_arns=[\"arn:aws:s3:::my-test-bucket\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var s3ObjectAccess = Aws.Iam.GetPrincipalPolicySimulation.Invoke(new()\n {\n ActionNames = new[]\n {\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n },\n PolicySourceArn = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n ResourceArns = new[]\n {\n \"arn:aws:s3:::my-test-bucket\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.LookupPrincipalPolicySimulation(ctx, \u0026iam.LookupPrincipalPolicySimulationArgs{\n\t\t\tActionNames: []string{\n\t\t\t\t\"s3:GetObject\",\n\t\t\t\t\"s3:PutObject\",\n\t\t\t\t\"s3:DeleteObject\",\n\t\t\t},\n\t\t\tPolicySourceArn: current.Arn,\n\t\t\tResourceArns: []string{\n\t\t\t\t\"arn:aws:s3:::my-test-bucket\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder()\n .actionNames( \n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\")\n .policySourceArn(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .resourceArns(\"arn:aws:s3:::my-test-bucket\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n s3ObjectAccess:\n fn::invoke:\n Function: aws:iam:getPrincipalPolicySimulation\n Arguments:\n actionNames:\n - s3:GetObject\n - s3:PutObject\n - s3:DeleteObject\n policySourceArn: ${current.arn}\n resourceArns:\n - arn:aws:s3:::my-test-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIf you intend to use this data source to quickly raise an error when the given credentials are insufficient then you must use `depends_on` inside any resource which would require those credentials, to ensure that the policy check will run first:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketObject(\"example\", {bucket: \"my-test-bucket\"}, {\n dependsOn: [s3ObjectAccess],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketObject(\"example\", bucket=\"my-test-bucket\",\nopts = pulumi.ResourceOptions(depends_on=[s3_object_access]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketObject(\"example\", new()\n {\n Bucket = \"my-test-bucket\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n s3ObjectAccess,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tBucket: pulumi.Any(\"my-test-bucket\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ts3ObjectAccess,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketObject(\"example\", BucketObjectArgs.builder()\n .bucket(\"my-test-bucket\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(s3ObjectAccess)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketObject\n properties:\n bucket: my-test-bucket\n options:\n dependson:\n - ${s3ObjectAccess}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Testing the Effect of a Declared Policy\n\nThe following example declares an S3 bucket and a user that should have access to the bucket, and then uses `aws.iam.getPrincipalPolicySimulation` to verify that the user does indeed have access to perform needed operations against the bucket.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.iam.User(\"example\", {name: \"example\"});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"my-test-bucket\"});\nconst s3Access = new aws.iam.UserPolicy(\"s3_access\", {\n name: \"example_s3_access\",\n user: example.name,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"s3:GetObject\",\n Effect: \"Allow\",\n Resource: exampleBucketV2.arn,\n }],\n }),\n});\nconst accountAccess = new aws.s3.BucketPolicy(\"account_access\", {\n bucket: exampleBucketV2.bucket,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"s3:*\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e current.accountId),\n },\n Resource: [\n exampleBucketV2.arn,\n pulumi.interpolate`${exampleBucketV2.arn}/*`,\n ],\n }],\n }),\n});\nconst s3ObjectAccess = aws.iam.getPrincipalPolicySimulationOutput({\n actionNames: [\"s3:GetObject\"],\n policySourceArn: example.arn,\n resourceArns: [exampleBucketV2.arn],\n resourcePolicyJson: accountAccess.policy,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.iam.User(\"example\", name=\"example\")\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"my-test-bucket\")\ns3_access = aws.iam.UserPolicy(\"s3_access\",\n name=\"example_s3_access\",\n user=example.name,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"s3:GetObject\",\n \"Effect\": \"Allow\",\n \"Resource\": example_bucket_v2.arn,\n }],\n }))\naccount_access = aws.s3.BucketPolicy(\"account_access\",\n bucket=example_bucket_v2.bucket,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"s3:*\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": current.account_id,\n },\n \"Resource\": [\n example_bucket_v2.arn,\n example_bucket_v2.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n }],\n }))\ns3_object_access = aws.iam.get_principal_policy_simulation_output(action_names=[\"s3:GetObject\"],\n policy_source_arn=example.arn,\n resource_arns=[example_bucket_v2.arn],\n resource_policy_json=account_access.policy)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Iam.User(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-test-bucket\",\n });\n\n var s3Access = new Aws.Iam.UserPolicy(\"s3_access\", new()\n {\n Name = \"example_s3_access\",\n User = example.Name,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"s3:GetObject\",\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = exampleBucketV2.Arn,\n },\n },\n })),\n });\n\n var accountAccess = new Aws.S3.BucketPolicy(\"account_access\", new()\n {\n Bucket = exampleBucketV2.Bucket,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"s3:*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n [\"Resource\"] = new[]\n {\n exampleBucketV2.Arn,\n exampleBucketV2.Arn.Apply(arn =\u003e $\"{arn}/*\"),\n },\n },\n },\n })),\n });\n\n var s3ObjectAccess = Aws.Iam.GetPrincipalPolicySimulation.Invoke(new()\n {\n ActionNames = new[]\n {\n \"s3:GetObject\",\n },\n PolicySourceArn = example.Arn,\n ResourceArns = new[]\n {\n exampleBucketV2.Arn,\n },\n ResourcePolicyJson = accountAccess.Policy,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewUser(ctx, \"example\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserPolicy(ctx, \"s3_access\", \u0026iam.UserPolicyArgs{\n\t\t\tName: pulumi.String(\"example_s3_access\"),\n\t\t\tUser: example.Name,\n\t\t\tPolicy: exampleBucketV2.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Action\": \"s3:GetObject\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Resource\": arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taccountAccess, err := s3.NewBucketPolicy(ctx, \"account_access\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleBucketV2.Bucket,\n\t\t\tPolicy: pulumi.All(exampleBucketV2.Arn, exampleBucketV2.Arn).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\texampleBucketV2Arn := _args[0].(string)\n\t\t\t\texampleBucketV2Arn1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Action\": \"s3:*\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"AWS\": current.AccountId,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\texampleBucketV2Arn,\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"%v/*\", exampleBucketV2Arn1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\treturn json1, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = iam.LookupPrincipalPolicySimulationOutput(ctx, iam.GetPrincipalPolicySimulationOutputArgs{\n\t\t\tActionNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t},\n\t\t\tPolicySourceArn: example.Arn,\n\t\t\tResourceArns: pulumi.StringArray{\n\t\t\t\texampleBucketV2.Arn,\n\t\t\t},\n\t\t\tResourcePolicyJson: accountAccess.Policy,\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.UserPolicy;\nimport com.pulumi.aws.iam.UserPolicyArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new User(\"example\", UserArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"my-test-bucket\")\n .build());\n\n var s3Access = new UserPolicy(\"s3Access\", UserPolicyArgs.builder()\n .name(\"example_s3_access\")\n .user(example.name())\n .policy(exampleBucketV2.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"s3:GetObject\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", arn)\n )))\n ))))\n .build());\n\n var accountAccess = new BucketPolicy(\"accountAccess\", BucketPolicyArgs.builder()\n .bucket(exampleBucketV2.bucket())\n .policy(Output.tuple(exampleBucketV2.arn(), exampleBucketV2.arn()).applyValue(values -\u003e {\n var exampleBucketV2Arn = values.t1;\n var exampleBucketV2Arn1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"s3:*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n )),\n jsonProperty(\"Resource\", jsonArray(\n exampleBucketV2Arn, \n String.format(\"%s/*\", exampleBucketV2Arn1)\n ))\n )))\n ));\n }))\n .build());\n\n final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder()\n .actionNames(\"s3:GetObject\")\n .policySourceArn(example.arn())\n .resourceArns(exampleBucketV2.arn())\n .resourcePolicyJson(accountAccess.policy())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:User\n properties:\n name: example\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: my-test-bucket\n s3Access:\n type: aws:iam:UserPolicy\n name: s3_access\n properties:\n name: example_s3_access\n user: ${example.name}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: s3:GetObject\n Effect: Allow\n Resource: ${exampleBucketV2.arn}\n accountAccess:\n type: aws:s3:BucketPolicy\n name: account_access\n properties:\n bucket: ${exampleBucketV2.bucket}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: s3:*\n Effect: Allow\n Principal:\n AWS: ${current.accountId}\n Resource:\n - ${exampleBucketV2.arn}\n - ${exampleBucketV2.arn}/*\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n s3ObjectAccess:\n fn::invoke:\n Function: aws:iam:getPrincipalPolicySimulation\n Arguments:\n actionNames:\n - s3:GetObject\n policySourceArn: ${example.arn}\n resourceArns:\n - ${exampleBucketV2.arn}\n resourcePolicyJson: ${accountAccess.policy}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nWhen using `aws.iam.getPrincipalPolicySimulation` to test the effect of a policy declared elsewhere in the same configuration, it's important to use `depends_on` to make sure that the needed policy has been fully created or updated before running the simulation.\n", "inputs": { "description": "A collection of arguments for invoking getPrincipalPolicySimulation.\n", "properties": { @@ -406077,7 +406077,7 @@ } }, "aws:iam/getRole:getRole": { - "description": "This data source can be used to fetch information about a specific\nIAM role. By using this data source, you can reference IAM role\nproperties without having to hard code ARNs as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getRole({\n name: \"an_example_role_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_role(name=\"an_example_role_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetRole.Invoke(new()\n {\n Name = \"an_example_role_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.LookupRole(ctx, \u0026iam.LookupRoleArgs{\n\t\t\tName: \"an_example_role_name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getRole(GetRoleArgs.builder()\n .name(\"an_example_role_name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getRole\n arguments:\n name: an_example_role_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This data source can be used to fetch information about a specific\nIAM role. By using this data source, you can reference IAM role\nproperties without having to hard code ARNs as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getRole({\n name: \"an_example_role_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_role(name=\"an_example_role_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetRole.Invoke(new()\n {\n Name = \"an_example_role_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.LookupRole(ctx, \u0026iam.LookupRoleArgs{\n\t\t\tName: \"an_example_role_name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getRole(GetRoleArgs.builder()\n .name(\"an_example_role_name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getRole\n Arguments:\n name: an_example_role_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRole.\n", "properties": { @@ -406173,7 +406173,7 @@ } }, "aws:iam/getRoles:getRoles": { - "description": "Use this data source to get the ARNs and Names of IAM Roles.\n\n## Example Usage\n\n### All roles in an account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst roles = aws.iam.getRoles({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nroles = aws.iam.get_roles()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var roles = Aws.Iam.GetRoles.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetRoles(ctx, \u0026iam.GetRolesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetRolesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var roles = IamFunctions.getRoles();\n\n }\n}\n```\n```yaml\nvariables:\n roles:\n fn::invoke:\n function: aws:iam:getRoles\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Roles filtered by name regex\n\nRoles whose role-name contains `project`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst roles = aws.iam.getRoles({\n nameRegex: \".*project.*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nroles = aws.iam.get_roles(name_regex=\".*project.*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var roles = Aws.Iam.GetRoles.Invoke(new()\n {\n NameRegex = \".*project.*\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetRoles(ctx, \u0026iam.GetRolesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\".*project.*\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetRolesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var roles = IamFunctions.getRoles(GetRolesArgs.builder()\n .nameRegex(\".*project.*\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n roles:\n fn::invoke:\n function: aws:iam:getRoles\n arguments:\n nameRegex: .*project.*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Roles filtered by path prefix\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst roles = aws.iam.getRoles({\n pathPrefix: \"/custom-path\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nroles = aws.iam.get_roles(path_prefix=\"/custom-path\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var roles = Aws.Iam.GetRoles.Invoke(new()\n {\n PathPrefix = \"/custom-path\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetRoles(ctx, \u0026iam.GetRolesArgs{\n\t\t\tPathPrefix: pulumi.StringRef(\"/custom-path\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetRolesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var roles = IamFunctions.getRoles(GetRolesArgs.builder()\n .pathPrefix(\"/custom-path\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n roles:\n fn::invoke:\n function: aws:iam:getRoles\n arguments:\n pathPrefix: /custom-path\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Roles provisioned by AWS SSO\n\nRoles in the account filtered by path prefix\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst roles = aws.iam.getRoles({\n pathPrefix: \"/aws-reserved/sso.amazonaws.com/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nroles = aws.iam.get_roles(path_prefix=\"/aws-reserved/sso.amazonaws.com/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var roles = Aws.Iam.GetRoles.Invoke(new()\n {\n PathPrefix = \"/aws-reserved/sso.amazonaws.com/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetRoles(ctx, \u0026iam.GetRolesArgs{\n\t\t\tPathPrefix: pulumi.StringRef(\"/aws-reserved/sso.amazonaws.com/\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetRolesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var roles = IamFunctions.getRoles(GetRolesArgs.builder()\n .pathPrefix(\"/aws-reserved/sso.amazonaws.com/\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n roles:\n fn::invoke:\n function: aws:iam:getRoles\n arguments:\n pathPrefix: /aws-reserved/sso.amazonaws.com/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSpecific role in the account filtered by name regex and path prefix\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst roles = aws.iam.getRoles({\n nameRegex: \"AWSReservedSSO_permission_set_name_.*\",\n pathPrefix: \"/aws-reserved/sso.amazonaws.com/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nroles = aws.iam.get_roles(name_regex=\"AWSReservedSSO_permission_set_name_.*\",\n path_prefix=\"/aws-reserved/sso.amazonaws.com/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var roles = Aws.Iam.GetRoles.Invoke(new()\n {\n NameRegex = \"AWSReservedSSO_permission_set_name_.*\",\n PathPrefix = \"/aws-reserved/sso.amazonaws.com/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetRoles(ctx, \u0026iam.GetRolesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"AWSReservedSSO_permission_set_name_.*\"),\n\t\t\tPathPrefix: pulumi.StringRef(\"/aws-reserved/sso.amazonaws.com/\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetRolesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var roles = IamFunctions.getRoles(GetRolesArgs.builder()\n .nameRegex(\"AWSReservedSSO_permission_set_name_.*\")\n .pathPrefix(\"/aws-reserved/sso.amazonaws.com/\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n roles:\n fn::invoke:\n function: aws:iam:getRoles\n arguments:\n nameRegex: AWSReservedSSO_permission_set_name_.*\n pathPrefix: /aws-reserved/sso.amazonaws.com/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n", + "description": "Use this data source to get the ARNs and Names of IAM Roles.\n\n## Example Usage\n\n### All roles in an account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst roles = aws.iam.getRoles({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nroles = aws.iam.get_roles()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var roles = Aws.Iam.GetRoles.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetRoles(ctx, \u0026iam.GetRolesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetRolesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var roles = IamFunctions.getRoles();\n\n }\n}\n```\n```yaml\nvariables:\n roles:\n fn::invoke:\n Function: aws:iam:getRoles\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Roles filtered by name regex\n\nRoles whose role-name contains `project`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst roles = aws.iam.getRoles({\n nameRegex: \".*project.*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nroles = aws.iam.get_roles(name_regex=\".*project.*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var roles = Aws.Iam.GetRoles.Invoke(new()\n {\n NameRegex = \".*project.*\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetRoles(ctx, \u0026iam.GetRolesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\".*project.*\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetRolesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var roles = IamFunctions.getRoles(GetRolesArgs.builder()\n .nameRegex(\".*project.*\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n roles:\n fn::invoke:\n Function: aws:iam:getRoles\n Arguments:\n nameRegex: .*project.*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Roles filtered by path prefix\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst roles = aws.iam.getRoles({\n pathPrefix: \"/custom-path\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nroles = aws.iam.get_roles(path_prefix=\"/custom-path\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var roles = Aws.Iam.GetRoles.Invoke(new()\n {\n PathPrefix = \"/custom-path\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetRoles(ctx, \u0026iam.GetRolesArgs{\n\t\t\tPathPrefix: pulumi.StringRef(\"/custom-path\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetRolesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var roles = IamFunctions.getRoles(GetRolesArgs.builder()\n .pathPrefix(\"/custom-path\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n roles:\n fn::invoke:\n Function: aws:iam:getRoles\n Arguments:\n pathPrefix: /custom-path\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Roles provisioned by AWS SSO\n\nRoles in the account filtered by path prefix\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst roles = aws.iam.getRoles({\n pathPrefix: \"/aws-reserved/sso.amazonaws.com/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nroles = aws.iam.get_roles(path_prefix=\"/aws-reserved/sso.amazonaws.com/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var roles = Aws.Iam.GetRoles.Invoke(new()\n {\n PathPrefix = \"/aws-reserved/sso.amazonaws.com/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetRoles(ctx, \u0026iam.GetRolesArgs{\n\t\t\tPathPrefix: pulumi.StringRef(\"/aws-reserved/sso.amazonaws.com/\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetRolesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var roles = IamFunctions.getRoles(GetRolesArgs.builder()\n .pathPrefix(\"/aws-reserved/sso.amazonaws.com/\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n roles:\n fn::invoke:\n Function: aws:iam:getRoles\n Arguments:\n pathPrefix: /aws-reserved/sso.amazonaws.com/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSpecific role in the account filtered by name regex and path prefix\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst roles = aws.iam.getRoles({\n nameRegex: \"AWSReservedSSO_permission_set_name_.*\",\n pathPrefix: \"/aws-reserved/sso.amazonaws.com/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nroles = aws.iam.get_roles(name_regex=\"AWSReservedSSO_permission_set_name_.*\",\n path_prefix=\"/aws-reserved/sso.amazonaws.com/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var roles = Aws.Iam.GetRoles.Invoke(new()\n {\n NameRegex = \"AWSReservedSSO_permission_set_name_.*\",\n PathPrefix = \"/aws-reserved/sso.amazonaws.com/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetRoles(ctx, \u0026iam.GetRolesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"AWSReservedSSO_permission_set_name_.*\"),\n\t\t\tPathPrefix: pulumi.StringRef(\"/aws-reserved/sso.amazonaws.com/\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetRolesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var roles = IamFunctions.getRoles(GetRolesArgs.builder()\n .nameRegex(\"AWSReservedSSO_permission_set_name_.*\")\n .pathPrefix(\"/aws-reserved/sso.amazonaws.com/\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n roles:\n fn::invoke:\n Function: aws:iam:getRoles\n Arguments:\n nameRegex: AWSReservedSSO_permission_set_name_.*\n pathPrefix: /aws-reserved/sso.amazonaws.com/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n", "inputs": { "description": "A collection of arguments for invoking getRoles.\n", "properties": { @@ -406225,7 +406225,7 @@ } }, "aws:iam/getSamlProvider:getSamlProvider": { - "description": "This data source can be used to fetch information about a specific\nIAM SAML provider. This will allow you to easily retrieve the metadata\ndocument of an existing SAML provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getSamlProvider({\n arn: \"arn:aws:iam::123456789:saml-provider/myprovider\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_saml_provider(arn=\"arn:aws:iam::123456789:saml-provider/myprovider\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetSamlProvider.Invoke(new()\n {\n Arn = \"arn:aws:iam::123456789:saml-provider/myprovider\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.LookupSamlProvider(ctx, \u0026iam.LookupSamlProviderArgs{\n\t\t\tArn: \"arn:aws:iam::123456789:saml-provider/myprovider\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetSamlProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getSamlProvider(GetSamlProviderArgs.builder()\n .arn(\"arn:aws:iam::123456789:saml-provider/myprovider\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getSamlProvider\n arguments:\n arn: arn:aws:iam::123456789:saml-provider/myprovider\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This data source can be used to fetch information about a specific\nIAM SAML provider. This will allow you to easily retrieve the metadata\ndocument of an existing SAML provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getSamlProvider({\n arn: \"arn:aws:iam::123456789:saml-provider/myprovider\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_saml_provider(arn=\"arn:aws:iam::123456789:saml-provider/myprovider\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetSamlProvider.Invoke(new()\n {\n Arn = \"arn:aws:iam::123456789:saml-provider/myprovider\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.LookupSamlProvider(ctx, \u0026iam.LookupSamlProviderArgs{\n\t\t\tArn: \"arn:aws:iam::123456789:saml-provider/myprovider\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetSamlProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getSamlProvider(GetSamlProviderArgs.builder()\n .arn(\"arn:aws:iam::123456789:saml-provider/myprovider\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getSamlProvider\n Arguments:\n arn: arn:aws:iam::123456789:saml-provider/myprovider\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSamlProvider.\n", "properties": { @@ -406293,7 +406293,7 @@ } }, "aws:iam/getServerCertificate:getServerCertificate": { - "description": "Use this data source to lookup information about IAM Server Certificates.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst my-domain = aws.iam.getServerCertificate({\n namePrefix: \"my-domain.org\",\n latest: true,\n});\nconst elb = new aws.elb.LoadBalancer(\"elb\", {\n name: \"my-domain-elb\",\n listeners: [{\n instancePort: 8000,\n instanceProtocol: \"https\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: my_domain.then(my_domain =\u003e my_domain.arn),\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_domain = aws.iam.get_server_certificate(name_prefix=\"my-domain.org\",\n latest=True)\nelb = aws.elb.LoadBalancer(\"elb\",\n name=\"my-domain-elb\",\n listeners=[{\n \"instance_port\": 8000,\n \"instance_protocol\": \"https\",\n \"lb_port\": 443,\n \"lb_protocol\": \"https\",\n \"ssl_certificate_id\": my_domain.arn,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var my_domain = Aws.Iam.GetServerCertificate.Invoke(new()\n {\n NamePrefix = \"my-domain.org\",\n Latest = true,\n });\n\n var elb = new Aws.Elb.LoadBalancer(\"elb\", new()\n {\n Name = \"my-domain-elb\",\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 8000,\n InstanceProtocol = \"https\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = my_domain.Apply(my_domain =\u003e my_domain.Apply(getServerCertificateResult =\u003e getServerCertificateResult.Arn)),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmy_domain, err := iam.LookupServerCertificate(ctx, \u0026iam.LookupServerCertificateArgs{\n\t\t\tNamePrefix: pulumi.StringRef(\"my-domain.org\"),\n\t\t\tLatest: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancer(ctx, \"elb\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"my-domain-elb\"),\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(8000),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(my_domain.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetServerCertificateArgs;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var my-domain = IamFunctions.getServerCertificate(GetServerCertificateArgs.builder()\n .namePrefix(\"my-domain.org\")\n .latest(true)\n .build());\n\n var elb = new LoadBalancer(\"elb\", LoadBalancerArgs.builder()\n .name(\"my-domain-elb\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(8000)\n .instanceProtocol(\"https\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(my_domain.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n elb:\n type: aws:elb:LoadBalancer\n properties:\n name: my-domain-elb\n listeners:\n - instancePort: 8000\n instanceProtocol: https\n lbPort: 443\n lbProtocol: https\n sslCertificateId: ${[\"my-domain\"].arn}\nvariables:\n my-domain:\n fn::invoke:\n function: aws:iam:getServerCertificate\n arguments:\n namePrefix: my-domain.org\n latest: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to lookup information about IAM Server Certificates.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst my-domain = aws.iam.getServerCertificate({\n namePrefix: \"my-domain.org\",\n latest: true,\n});\nconst elb = new aws.elb.LoadBalancer(\"elb\", {\n name: \"my-domain-elb\",\n listeners: [{\n instancePort: 8000,\n instanceProtocol: \"https\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: my_domain.then(my_domain =\u003e my_domain.arn),\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_domain = aws.iam.get_server_certificate(name_prefix=\"my-domain.org\",\n latest=True)\nelb = aws.elb.LoadBalancer(\"elb\",\n name=\"my-domain-elb\",\n listeners=[{\n \"instance_port\": 8000,\n \"instance_protocol\": \"https\",\n \"lb_port\": 443,\n \"lb_protocol\": \"https\",\n \"ssl_certificate_id\": my_domain.arn,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var my_domain = Aws.Iam.GetServerCertificate.Invoke(new()\n {\n NamePrefix = \"my-domain.org\",\n Latest = true,\n });\n\n var elb = new Aws.Elb.LoadBalancer(\"elb\", new()\n {\n Name = \"my-domain-elb\",\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 8000,\n InstanceProtocol = \"https\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = my_domain.Apply(my_domain =\u003e my_domain.Apply(getServerCertificateResult =\u003e getServerCertificateResult.Arn)),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmy_domain, err := iam.LookupServerCertificate(ctx, \u0026iam.LookupServerCertificateArgs{\n\t\t\tNamePrefix: pulumi.StringRef(\"my-domain.org\"),\n\t\t\tLatest: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancer(ctx, \"elb\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"my-domain-elb\"),\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(8000),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(my_domain.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetServerCertificateArgs;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var my-domain = IamFunctions.getServerCertificate(GetServerCertificateArgs.builder()\n .namePrefix(\"my-domain.org\")\n .latest(true)\n .build());\n\n var elb = new LoadBalancer(\"elb\", LoadBalancerArgs.builder()\n .name(\"my-domain-elb\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(8000)\n .instanceProtocol(\"https\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(my_domain.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n elb:\n type: aws:elb:LoadBalancer\n properties:\n name: my-domain-elb\n listeners:\n - instancePort: 8000\n instanceProtocol: https\n lbPort: 443\n lbProtocol: https\n sslCertificateId: ${[\"my-domain\"].arn}\nvariables:\n my-domain:\n fn::invoke:\n Function: aws:iam:getServerCertificate\n Arguments:\n namePrefix: my-domain.org\n latest: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServerCertificate.\n", "properties": { @@ -406374,7 +406374,7 @@ } }, "aws:iam/getSessionContext:getSessionContext": { - "description": "This data source provides information on the IAM source role of an STS assumed role. For non-role ARNs, this data source simply passes the ARN through in `issuer_arn`.\n\nFor some AWS resources, multiple types of principals are allowed in the same argument (e.g., IAM users and IAM roles). However, these arguments often do not allow assumed-role (i.e., STS, temporary credential) principals. Given an STS ARN, this data source provides the ARN for the source IAM role.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getSessionContext({\n arn: \"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_session_context(arn=\"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetSessionContext.Invoke(new()\n {\n Arn = \"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetSessionContext(ctx, \u0026iam.GetSessionContextArgs{\n\t\t\tArn: \"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetSessionContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getSessionContext(GetSessionContextArgs.builder()\n .arn(\"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getSessionContext\n arguments:\n arn: arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Find the Runner's Source Role\n\nCombined with `aws.getCallerIdentity`, you can get the current user's source IAM role ARN (`issuer_arn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = current.then(current =\u003e aws.iam.getSessionContext({\n arn: current.arn,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.iam.get_session_context(arn=current.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.Iam.GetSessionContext.Invoke(new()\n {\n Arn = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.GetSessionContext(ctx, \u0026iam.GetSessionContextArgs{\n\t\t\tArn: current.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetSessionContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var example = IamFunctions.getSessionContext(GetSessionContextArgs.builder()\n .arn(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n example:\n fn::invoke:\n function: aws:iam:getSessionContext\n arguments:\n arn: ${current.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This data source provides information on the IAM source role of an STS assumed role. For non-role ARNs, this data source simply passes the ARN through in `issuer_arn`.\n\nFor some AWS resources, multiple types of principals are allowed in the same argument (e.g., IAM users and IAM roles). However, these arguments often do not allow assumed-role (i.e., STS, temporary credential) principals. Given an STS ARN, this data source provides the ARN for the source IAM role.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getSessionContext({\n arn: \"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_session_context(arn=\"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetSessionContext.Invoke(new()\n {\n Arn = \"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetSessionContext(ctx, \u0026iam.GetSessionContextArgs{\n\t\t\tArn: \"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetSessionContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getSessionContext(GetSessionContextArgs.builder()\n .arn(\"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getSessionContext\n Arguments:\n arn: arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Find the Runner's Source Role\n\nCombined with `aws.getCallerIdentity`, you can get the current user's source IAM role ARN (`issuer_arn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = current.then(current =\u003e aws.iam.getSessionContext({\n arn: current.arn,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.iam.get_session_context(arn=current.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.Iam.GetSessionContext.Invoke(new()\n {\n Arn = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.GetSessionContext(ctx, \u0026iam.GetSessionContextArgs{\n\t\t\tArn: current.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetSessionContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var example = IamFunctions.getSessionContext(GetSessionContextArgs.builder()\n .arn(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getSessionContext\n Arguments:\n arn: ${current.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSessionContext.\n", "properties": { @@ -406427,7 +406427,7 @@ } }, "aws:iam/getUser:getUser": { - "description": "This data source can be used to fetch information about a specific\nIAM user. By using this data source, you can reference IAM user\nproperties without having to hard code ARNs or unique IDs as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getUser({\n userName: \"an_example_user_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_user(user_name=\"an_example_user_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetUser.Invoke(new()\n {\n UserName = \"an_example_user_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.LookupUser(ctx, \u0026iam.LookupUserArgs{\n\t\t\tUserName: \"an_example_user_name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getUser(GetUserArgs.builder()\n .userName(\"an_example_user_name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getUser\n arguments:\n userName: an_example_user_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This data source can be used to fetch information about a specific\nIAM user. By using this data source, you can reference IAM user\nproperties without having to hard code ARNs or unique IDs as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getUser({\n userName: \"an_example_user_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_user(user_name=\"an_example_user_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetUser.Invoke(new()\n {\n UserName = \"an_example_user_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.LookupUser(ctx, \u0026iam.LookupUserArgs{\n\t\t\tUserName: \"an_example_user_name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getUser(GetUserArgs.builder()\n .userName(\"an_example_user_name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getUser\n Arguments:\n userName: an_example_user_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUser.\n", "properties": { @@ -406496,7 +406496,7 @@ } }, "aws:iam/getUserSshKey:getUserSshKey": { - "description": "Use this data source to get information about a SSH public key associated with the specified IAM user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getUserSshKey({\n encoding: \"SSH\",\n sshPublicKeyId: \"APKARUZ32GUTKIGARLXE\",\n username: \"test-user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_user_ssh_key(encoding=\"SSH\",\n ssh_public_key_id=\"APKARUZ32GUTKIGARLXE\",\n username=\"test-user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetUserSshKey.Invoke(new()\n {\n Encoding = \"SSH\",\n SshPublicKeyId = \"APKARUZ32GUTKIGARLXE\",\n Username = \"test-user\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetUserSshKey(ctx, \u0026iam.GetUserSshKeyArgs{\n\t\t\tEncoding: \"SSH\",\n\t\t\tSshPublicKeyId: \"APKARUZ32GUTKIGARLXE\",\n\t\t\tUsername: \"test-user\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetUserSshKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getUserSshKey(GetUserSshKeyArgs.builder()\n .encoding(\"SSH\")\n .sshPublicKeyId(\"APKARUZ32GUTKIGARLXE\")\n .username(\"test-user\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getUserSshKey\n arguments:\n encoding: SSH\n sshPublicKeyId: APKARUZ32GUTKIGARLXE\n username: test-user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about a SSH public key associated with the specified IAM user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getUserSshKey({\n encoding: \"SSH\",\n sshPublicKeyId: \"APKARUZ32GUTKIGARLXE\",\n username: \"test-user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_user_ssh_key(encoding=\"SSH\",\n ssh_public_key_id=\"APKARUZ32GUTKIGARLXE\",\n username=\"test-user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetUserSshKey.Invoke(new()\n {\n Encoding = \"SSH\",\n SshPublicKeyId = \"APKARUZ32GUTKIGARLXE\",\n Username = \"test-user\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetUserSshKey(ctx, \u0026iam.GetUserSshKeyArgs{\n\t\t\tEncoding: \"SSH\",\n\t\t\tSshPublicKeyId: \"APKARUZ32GUTKIGARLXE\",\n\t\t\tUsername: \"test-user\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetUserSshKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getUserSshKey(GetUserSshKeyArgs.builder()\n .encoding(\"SSH\")\n .sshPublicKeyId(\"APKARUZ32GUTKIGARLXE\")\n .username(\"test-user\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getUserSshKey\n Arguments:\n encoding: SSH\n sshPublicKeyId: APKARUZ32GUTKIGARLXE\n username: test-user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUserSshKey.\n", "properties": { @@ -406562,7 +406562,7 @@ } }, "aws:iam/getUsers:getUsers": { - "description": "Use this data source to get the ARNs and Names of IAM Users.\n\n## Example Usage\n\n### All users in an account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst users = aws.iam.getUsers({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nusers = aws.iam.get_users()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var users = Aws.Iam.GetUsers.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetUsers(ctx, \u0026iam.GetUsersArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetUsersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var users = IamFunctions.getUsers();\n\n }\n}\n```\n```yaml\nvariables:\n users:\n fn::invoke:\n function: aws:iam:getUsers\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Users filtered by name regex\n\nUsers whose username contains `abc`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst users = aws.iam.getUsers({\n nameRegex: \".*abc.*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nusers = aws.iam.get_users(name_regex=\".*abc.*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var users = Aws.Iam.GetUsers.Invoke(new()\n {\n NameRegex = \".*abc.*\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetUsers(ctx, \u0026iam.GetUsersArgs{\n\t\t\tNameRegex: pulumi.StringRef(\".*abc.*\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetUsersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var users = IamFunctions.getUsers(GetUsersArgs.builder()\n .nameRegex(\".*abc.*\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n users:\n fn::invoke:\n function: aws:iam:getUsers\n arguments:\n nameRegex: .*abc.*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Users filtered by path prefix\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst users = aws.iam.getUsers({\n pathPrefix: \"/custom-path\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nusers = aws.iam.get_users(path_prefix=\"/custom-path\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var users = Aws.Iam.GetUsers.Invoke(new()\n {\n PathPrefix = \"/custom-path\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetUsers(ctx, \u0026iam.GetUsersArgs{\n\t\t\tPathPrefix: pulumi.StringRef(\"/custom-path\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetUsersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var users = IamFunctions.getUsers(GetUsersArgs.builder()\n .pathPrefix(\"/custom-path\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n users:\n fn::invoke:\n function: aws:iam:getUsers\n arguments:\n pathPrefix: /custom-path\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the ARNs and Names of IAM Users.\n\n## Example Usage\n\n### All users in an account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst users = aws.iam.getUsers({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nusers = aws.iam.get_users()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var users = Aws.Iam.GetUsers.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetUsers(ctx, \u0026iam.GetUsersArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetUsersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var users = IamFunctions.getUsers();\n\n }\n}\n```\n```yaml\nvariables:\n users:\n fn::invoke:\n Function: aws:iam:getUsers\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Users filtered by name regex\n\nUsers whose username contains `abc`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst users = aws.iam.getUsers({\n nameRegex: \".*abc.*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nusers = aws.iam.get_users(name_regex=\".*abc.*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var users = Aws.Iam.GetUsers.Invoke(new()\n {\n NameRegex = \".*abc.*\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetUsers(ctx, \u0026iam.GetUsersArgs{\n\t\t\tNameRegex: pulumi.StringRef(\".*abc.*\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetUsersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var users = IamFunctions.getUsers(GetUsersArgs.builder()\n .nameRegex(\".*abc.*\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n users:\n fn::invoke:\n Function: aws:iam:getUsers\n Arguments:\n nameRegex: .*abc.*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Users filtered by path prefix\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst users = aws.iam.getUsers({\n pathPrefix: \"/custom-path\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nusers = aws.iam.get_users(path_prefix=\"/custom-path\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var users = Aws.Iam.GetUsers.Invoke(new()\n {\n PathPrefix = \"/custom-path\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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 := iam.GetUsers(ctx, \u0026iam.GetUsersArgs{\n\t\t\tPathPrefix: pulumi.StringRef(\"/custom-path\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetUsersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var users = IamFunctions.getUsers(GetUsersArgs.builder()\n .pathPrefix(\"/custom-path\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n users:\n fn::invoke:\n Function: aws:iam:getUsers\n Arguments:\n pathPrefix: /custom-path\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUsers.\n", "properties": { @@ -406614,7 +406614,7 @@ } }, "aws:identitystore/getGroup:getGroup": { - "description": "Use this data source to get an Identity Store Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleGetGroup = example.then(example =\u003e aws.identitystore.getGroup({\n identityStoreId: example.identityStoreIds?.[0],\n alternateIdentifier: {\n uniqueAttribute: {\n attributePath: \"DisplayName\",\n attributeValue: \"ExampleGroup\",\n },\n },\n}));\nexport const groupId = exampleGetGroup.then(exampleGetGroup =\u003e exampleGetGroup.groupId);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_get_group = aws.identitystore.get_group(identity_store_id=example.identity_store_ids[0],\n alternate_identifier={\n \"unique_attribute\": {\n \"attribute_path\": \"DisplayName\",\n \"attribute_value\": \"ExampleGroup\",\n },\n })\npulumi.export(\"groupId\", example_get_group.group_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleGetGroup = Aws.IdentityStore.GetGroup.Invoke(new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n AlternateIdentifier = new Aws.IdentityStore.Inputs.GetGroupAlternateIdentifierInputArgs\n {\n UniqueAttribute = new Aws.IdentityStore.Inputs.GetGroupAlternateIdentifierUniqueAttributeInputArgs\n {\n AttributePath = \"DisplayName\",\n AttributeValue = \"ExampleGroup\",\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"groupId\"] = exampleGetGroup.Apply(getGroupResult =\u003e getGroupResult.GroupId),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetGroup, err := identitystore.LookupGroup(ctx, \u0026identitystore.LookupGroupArgs{\n\t\t\tIdentityStoreId: example.IdentityStoreIds[0],\n\t\t\tAlternateIdentifier: identitystore.GetGroupAlternateIdentifier{\n\t\t\t\tUniqueAttribute: identitystore.GetGroupAlternateIdentifierUniqueAttribute{\n\t\t\t\t\tAttributePath: \"DisplayName\",\n\t\t\t\t\tAttributeValue: \"ExampleGroup\",\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"groupId\", exampleGetGroup.GroupId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.identitystore.IdentitystoreFunctions;\nimport com.pulumi.aws.identitystore.inputs.GetGroupArgs;\nimport com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierArgs;\nimport com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierUniqueAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n final var exampleGetGroup = IdentitystoreFunctions.getGroup(GetGroupArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .alternateIdentifier(GetGroupAlternateIdentifierArgs.builder()\n .uniqueAttribute(GetGroupAlternateIdentifierUniqueAttributeArgs.builder()\n .attributePath(\"DisplayName\")\n .attributeValue(\"ExampleGroup\")\n .build())\n .build())\n .build());\n\n ctx.export(\"groupId\", exampleGetGroup.applyValue(getGroupResult -\u003e getGroupResult.groupId()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n exampleGetGroup:\n fn::invoke:\n function: aws:identitystore:getGroup\n arguments:\n identityStoreId: ${example.identityStoreIds[0]}\n alternateIdentifier:\n uniqueAttribute:\n attributePath: DisplayName\n attributeValue: ExampleGroup\noutputs:\n groupId: ${exampleGetGroup.groupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get an Identity Store Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleGetGroup = example.then(example =\u003e aws.identitystore.getGroup({\n identityStoreId: example.identityStoreIds?.[0],\n alternateIdentifier: {\n uniqueAttribute: {\n attributePath: \"DisplayName\",\n attributeValue: \"ExampleGroup\",\n },\n },\n}));\nexport const groupId = exampleGetGroup.then(exampleGetGroup =\u003e exampleGetGroup.groupId);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_get_group = aws.identitystore.get_group(identity_store_id=example.identity_store_ids[0],\n alternate_identifier={\n \"unique_attribute\": {\n \"attribute_path\": \"DisplayName\",\n \"attribute_value\": \"ExampleGroup\",\n },\n })\npulumi.export(\"groupId\", example_get_group.group_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleGetGroup = Aws.IdentityStore.GetGroup.Invoke(new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n AlternateIdentifier = new Aws.IdentityStore.Inputs.GetGroupAlternateIdentifierInputArgs\n {\n UniqueAttribute = new Aws.IdentityStore.Inputs.GetGroupAlternateIdentifierUniqueAttributeInputArgs\n {\n AttributePath = \"DisplayName\",\n AttributeValue = \"ExampleGroup\",\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"groupId\"] = exampleGetGroup.Apply(getGroupResult =\u003e getGroupResult.GroupId),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetGroup, err := identitystore.LookupGroup(ctx, \u0026identitystore.LookupGroupArgs{\n\t\t\tIdentityStoreId: example.IdentityStoreIds[0],\n\t\t\tAlternateIdentifier: identitystore.GetGroupAlternateIdentifier{\n\t\t\t\tUniqueAttribute: identitystore.GetGroupAlternateIdentifierUniqueAttribute{\n\t\t\t\t\tAttributePath: \"DisplayName\",\n\t\t\t\t\tAttributeValue: \"ExampleGroup\",\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"groupId\", exampleGetGroup.GroupId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.identitystore.IdentitystoreFunctions;\nimport com.pulumi.aws.identitystore.inputs.GetGroupArgs;\nimport com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierArgs;\nimport com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierUniqueAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n final var exampleGetGroup = IdentitystoreFunctions.getGroup(GetGroupArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .alternateIdentifier(GetGroupAlternateIdentifierArgs.builder()\n .uniqueAttribute(GetGroupAlternateIdentifierUniqueAttributeArgs.builder()\n .attributePath(\"DisplayName\")\n .attributeValue(\"ExampleGroup\")\n .build())\n .build())\n .build());\n\n ctx.export(\"groupId\", exampleGetGroup.applyValue(getGroupResult -\u003e getGroupResult.groupId()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n exampleGetGroup:\n fn::invoke:\n Function: aws:identitystore:getGroup\n Arguments:\n identityStoreId: ${example.identityStoreIds[0]}\n alternateIdentifier:\n uniqueAttribute:\n attributePath: DisplayName\n attributeValue: ExampleGroup\noutputs:\n groupId: ${exampleGetGroup.groupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getGroup.\n", "properties": { @@ -406689,7 +406689,7 @@ } }, "aws:identitystore/getGroups:getGroups": { - "description": "Data source for managing an AWS SSO Identity Store Groups.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleGetGroups = example.then(example =\u003e aws.identitystore.getGroups({\n identityStoreId: example.identityStoreIds?.[0],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_get_groups = aws.identitystore.get_groups(identity_store_id=example.identity_store_ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleGetGroups = Aws.IdentityStore.GetGroups.Invoke(new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = identitystore.GetGroups(ctx, \u0026identitystore.GetGroupsArgs{\n\t\t\tIdentityStoreId: example.IdentityStoreIds[0],\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.identitystore.IdentitystoreFunctions;\nimport com.pulumi.aws.identitystore.inputs.GetGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n final var exampleGetGroups = IdentitystoreFunctions.getGroups(GetGroupsArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n exampleGetGroups:\n fn::invoke:\n function: aws:identitystore:getGroups\n arguments:\n identityStoreId: ${example.identityStoreIds[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS SSO Identity Store Groups.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleGetGroups = example.then(example =\u003e aws.identitystore.getGroups({\n identityStoreId: example.identityStoreIds?.[0],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_get_groups = aws.identitystore.get_groups(identity_store_id=example.identity_store_ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleGetGroups = Aws.IdentityStore.GetGroups.Invoke(new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = identitystore.GetGroups(ctx, \u0026identitystore.GetGroupsArgs{\n\t\t\tIdentityStoreId: example.IdentityStoreIds[0],\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.identitystore.IdentitystoreFunctions;\nimport com.pulumi.aws.identitystore.inputs.GetGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n final var exampleGetGroups = IdentitystoreFunctions.getGroups(GetGroupsArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n exampleGetGroups:\n fn::invoke:\n Function: aws:identitystore:getGroups\n Arguments:\n identityStoreId: ${example.identityStoreIds[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getGroups.\n", "properties": { @@ -406730,7 +406730,7 @@ } }, "aws:identitystore/getUser:getUser": { - "description": "Use this data source to get an Identity Store User.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleGetUser = example.then(example =\u003e aws.identitystore.getUser({\n identityStoreId: example.identityStoreIds?.[0],\n alternateIdentifier: {\n uniqueAttribute: {\n attributePath: \"UserName\",\n attributeValue: \"ExampleUser\",\n },\n },\n}));\nexport const userId = exampleGetUser.then(exampleGetUser =\u003e exampleGetUser.userId);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_get_user = aws.identitystore.get_user(identity_store_id=example.identity_store_ids[0],\n alternate_identifier={\n \"unique_attribute\": {\n \"attribute_path\": \"UserName\",\n \"attribute_value\": \"ExampleUser\",\n },\n })\npulumi.export(\"userId\", example_get_user.user_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleGetUser = Aws.IdentityStore.GetUser.Invoke(new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n AlternateIdentifier = new Aws.IdentityStore.Inputs.GetUserAlternateIdentifierInputArgs\n {\n UniqueAttribute = new Aws.IdentityStore.Inputs.GetUserAlternateIdentifierUniqueAttributeInputArgs\n {\n AttributePath = \"UserName\",\n AttributeValue = \"ExampleUser\",\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"userId\"] = exampleGetUser.Apply(getUserResult =\u003e getUserResult.UserId),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetUser, err := identitystore.LookupUser(ctx, \u0026identitystore.LookupUserArgs{\n\t\t\tIdentityStoreId: example.IdentityStoreIds[0],\n\t\t\tAlternateIdentifier: identitystore.GetUserAlternateIdentifier{\n\t\t\t\tUniqueAttribute: identitystore.GetUserAlternateIdentifierUniqueAttribute{\n\t\t\t\t\tAttributePath: \"UserName\",\n\t\t\t\t\tAttributeValue: \"ExampleUser\",\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"userId\", exampleGetUser.UserId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.identitystore.IdentitystoreFunctions;\nimport com.pulumi.aws.identitystore.inputs.GetUserArgs;\nimport com.pulumi.aws.identitystore.inputs.GetUserAlternateIdentifierArgs;\nimport com.pulumi.aws.identitystore.inputs.GetUserAlternateIdentifierUniqueAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n final var exampleGetUser = IdentitystoreFunctions.getUser(GetUserArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .alternateIdentifier(GetUserAlternateIdentifierArgs.builder()\n .uniqueAttribute(GetUserAlternateIdentifierUniqueAttributeArgs.builder()\n .attributePath(\"UserName\")\n .attributeValue(\"ExampleUser\")\n .build())\n .build())\n .build());\n\n ctx.export(\"userId\", exampleGetUser.applyValue(getUserResult -\u003e getUserResult.userId()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n exampleGetUser:\n fn::invoke:\n function: aws:identitystore:getUser\n arguments:\n identityStoreId: ${example.identityStoreIds[0]}\n alternateIdentifier:\n uniqueAttribute:\n attributePath: UserName\n attributeValue: ExampleUser\noutputs:\n userId: ${exampleGetUser.userId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get an Identity Store User.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleGetUser = example.then(example =\u003e aws.identitystore.getUser({\n identityStoreId: example.identityStoreIds?.[0],\n alternateIdentifier: {\n uniqueAttribute: {\n attributePath: \"UserName\",\n attributeValue: \"ExampleUser\",\n },\n },\n}));\nexport const userId = exampleGetUser.then(exampleGetUser =\u003e exampleGetUser.userId);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_get_user = aws.identitystore.get_user(identity_store_id=example.identity_store_ids[0],\n alternate_identifier={\n \"unique_attribute\": {\n \"attribute_path\": \"UserName\",\n \"attribute_value\": \"ExampleUser\",\n },\n })\npulumi.export(\"userId\", example_get_user.user_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleGetUser = Aws.IdentityStore.GetUser.Invoke(new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n AlternateIdentifier = new Aws.IdentityStore.Inputs.GetUserAlternateIdentifierInputArgs\n {\n UniqueAttribute = new Aws.IdentityStore.Inputs.GetUserAlternateIdentifierUniqueAttributeInputArgs\n {\n AttributePath = \"UserName\",\n AttributeValue = \"ExampleUser\",\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"userId\"] = exampleGetUser.Apply(getUserResult =\u003e getUserResult.UserId),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetUser, err := identitystore.LookupUser(ctx, \u0026identitystore.LookupUserArgs{\n\t\t\tIdentityStoreId: example.IdentityStoreIds[0],\n\t\t\tAlternateIdentifier: identitystore.GetUserAlternateIdentifier{\n\t\t\t\tUniqueAttribute: identitystore.GetUserAlternateIdentifierUniqueAttribute{\n\t\t\t\t\tAttributePath: \"UserName\",\n\t\t\t\t\tAttributeValue: \"ExampleUser\",\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"userId\", exampleGetUser.UserId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.identitystore.IdentitystoreFunctions;\nimport com.pulumi.aws.identitystore.inputs.GetUserArgs;\nimport com.pulumi.aws.identitystore.inputs.GetUserAlternateIdentifierArgs;\nimport com.pulumi.aws.identitystore.inputs.GetUserAlternateIdentifierUniqueAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n final var exampleGetUser = IdentitystoreFunctions.getUser(GetUserArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .alternateIdentifier(GetUserAlternateIdentifierArgs.builder()\n .uniqueAttribute(GetUserAlternateIdentifierUniqueAttributeArgs.builder()\n .attributePath(\"UserName\")\n .attributeValue(\"ExampleUser\")\n .build())\n .build())\n .build());\n\n ctx.export(\"userId\", exampleGetUser.applyValue(getUserResult -\u003e getUserResult.userId()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n exampleGetUser:\n fn::invoke:\n Function: aws:identitystore:getUser\n Arguments:\n identityStoreId: ${example.identityStoreIds[0]}\n alternateIdentifier:\n uniqueAttribute:\n attributePath: UserName\n attributeValue: ExampleUser\noutputs:\n userId: ${exampleGetUser.userId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUser.\n", "properties": { @@ -406872,7 +406872,7 @@ } }, "aws:imagebuilder/getComponent:getComponent": { - "description": "Provides details about an Image Builder Component.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getComponent({\n arn: \"arn:aws:imagebuilder:us-west-2:aws:component/amazon-cloudwatch-agent-linux/1.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_component(arn=\"arn:aws:imagebuilder:us-west-2:aws:component/amazon-cloudwatch-agent-linux/1.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetComponent.Invoke(new()\n {\n Arn = \"arn:aws:imagebuilder:us-west-2:aws:component/amazon-cloudwatch-agent-linux/1.0.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.LookupComponent(ctx, \u0026imagebuilder.LookupComponentArgs{\n\t\t\tArn: \"arn:aws:imagebuilder:us-west-2:aws:component/amazon-cloudwatch-agent-linux/1.0.0\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetComponentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getComponent(GetComponentArgs.builder()\n .arn(\"arn:aws:imagebuilder:us-west-2:aws:component/amazon-cloudwatch-agent-linux/1.0.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:imagebuilder:getComponent\n arguments:\n arn: arn:aws:imagebuilder:us-west-2:aws:component/amazon-cloudwatch-agent-linux/1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about an Image Builder Component.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getComponent({\n arn: \"arn:aws:imagebuilder:us-west-2:aws:component/amazon-cloudwatch-agent-linux/1.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_component(arn=\"arn:aws:imagebuilder:us-west-2:aws:component/amazon-cloudwatch-agent-linux/1.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetComponent.Invoke(new()\n {\n Arn = \"arn:aws:imagebuilder:us-west-2:aws:component/amazon-cloudwatch-agent-linux/1.0.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.LookupComponent(ctx, \u0026imagebuilder.LookupComponentArgs{\n\t\t\tArn: \"arn:aws:imagebuilder:us-west-2:aws:component/amazon-cloudwatch-agent-linux/1.0.0\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetComponentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getComponent(GetComponentArgs.builder()\n .arn(\"arn:aws:imagebuilder:us-west-2:aws:component/amazon-cloudwatch-agent-linux/1.0.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:imagebuilder:getComponent\n Arguments:\n arn: arn:aws:imagebuilder:us-west-2:aws:component/amazon-cloudwatch-agent-linux/1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getComponent.\n", "properties": { @@ -406983,7 +406983,7 @@ } }, "aws:imagebuilder/getComponents:getComponents": { - "description": "Use this data source to get the ARNs and names of Image Builder Components matching the specified criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getComponents({\n owner: \"Self\",\n filters: [{\n name: \"platform\",\n values: [\"Linux\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_components(owner=\"Self\",\n filters=[{\n \"name\": \"platform\",\n \"values\": [\"Linux\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetComponents.Invoke(new()\n {\n Owner = \"Self\",\n Filters = new[]\n {\n new Aws.ImageBuilder.Inputs.GetComponentsFilterInputArgs\n {\n Name = \"platform\",\n Values = new[]\n {\n \"Linux\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.GetComponents(ctx, \u0026imagebuilder.GetComponentsArgs{\n\t\t\tOwner: pulumi.StringRef(\"Self\"),\n\t\t\tFilters: []imagebuilder.GetComponentsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"platform\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Linux\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetComponentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getComponents(GetComponentsArgs.builder()\n .owner(\"Self\")\n .filters(GetComponentsFilterArgs.builder()\n .name(\"platform\")\n .values(\"Linux\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:imagebuilder:getComponents\n arguments:\n owner: Self\n filters:\n - name: platform\n values:\n - Linux\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the ARNs and names of Image Builder Components matching the specified criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getComponents({\n owner: \"Self\",\n filters: [{\n name: \"platform\",\n values: [\"Linux\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_components(owner=\"Self\",\n filters=[{\n \"name\": \"platform\",\n \"values\": [\"Linux\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetComponents.Invoke(new()\n {\n Owner = \"Self\",\n Filters = new[]\n {\n new Aws.ImageBuilder.Inputs.GetComponentsFilterInputArgs\n {\n Name = \"platform\",\n Values = new[]\n {\n \"Linux\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.GetComponents(ctx, \u0026imagebuilder.GetComponentsArgs{\n\t\t\tOwner: pulumi.StringRef(\"Self\"),\n\t\t\tFilters: []imagebuilder.GetComponentsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"platform\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Linux\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetComponentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getComponents(GetComponentsArgs.builder()\n .owner(\"Self\")\n .filters(GetComponentsFilterArgs.builder()\n .name(\"platform\")\n .values(\"Linux\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:imagebuilder:getComponents\n Arguments:\n owner: Self\n filters:\n - name: platform\n values:\n - Linux\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getComponents.\n", "properties": { @@ -407041,7 +407041,7 @@ } }, "aws:imagebuilder/getContainerRecipe:getContainerRecipe": { - "description": "Provides details about an Image builder Container Recipe.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getContainerRecipe({\n arn: \"arn:aws:imagebuilder:us-east-1:aws:container-recipe/example/1.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_container_recipe(arn=\"arn:aws:imagebuilder:us-east-1:aws:container-recipe/example/1.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetContainerRecipe.Invoke(new()\n {\n Arn = \"arn:aws:imagebuilder:us-east-1:aws:container-recipe/example/1.0.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.LookupContainerRecipe(ctx, \u0026imagebuilder.LookupContainerRecipeArgs{\n\t\t\tArn: \"arn:aws:imagebuilder:us-east-1:aws:container-recipe/example/1.0.0\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetContainerRecipeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getContainerRecipe(GetContainerRecipeArgs.builder()\n .arn(\"arn:aws:imagebuilder:us-east-1:aws:container-recipe/example/1.0.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:imagebuilder:getContainerRecipe\n arguments:\n arn: arn:aws:imagebuilder:us-east-1:aws:container-recipe/example/1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about an Image builder Container Recipe.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getContainerRecipe({\n arn: \"arn:aws:imagebuilder:us-east-1:aws:container-recipe/example/1.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_container_recipe(arn=\"arn:aws:imagebuilder:us-east-1:aws:container-recipe/example/1.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetContainerRecipe.Invoke(new()\n {\n Arn = \"arn:aws:imagebuilder:us-east-1:aws:container-recipe/example/1.0.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.LookupContainerRecipe(ctx, \u0026imagebuilder.LookupContainerRecipeArgs{\n\t\t\tArn: \"arn:aws:imagebuilder:us-east-1:aws:container-recipe/example/1.0.0\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetContainerRecipeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getContainerRecipe(GetContainerRecipeArgs.builder()\n .arn(\"arn:aws:imagebuilder:us-east-1:aws:container-recipe/example/1.0.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:imagebuilder:getContainerRecipe\n Arguments:\n arn: arn:aws:imagebuilder:us-east-1:aws:container-recipe/example/1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getContainerRecipe.\n", "properties": { @@ -407173,7 +407173,7 @@ } }, "aws:imagebuilder/getContainerRecipes:getContainerRecipes": { - "description": "Use this data source to get the ARNs and names of Image Builder Container Recipes matching the specified criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getContainerRecipes({\n owner: \"Self\",\n filters: [{\n name: \"platform\",\n values: [\"Linux\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_container_recipes(owner=\"Self\",\n filters=[{\n \"name\": \"platform\",\n \"values\": [\"Linux\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetContainerRecipes.Invoke(new()\n {\n Owner = \"Self\",\n Filters = new[]\n {\n new Aws.ImageBuilder.Inputs.GetContainerRecipesFilterInputArgs\n {\n Name = \"platform\",\n Values = new[]\n {\n \"Linux\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.GetContainerRecipes(ctx, \u0026imagebuilder.GetContainerRecipesArgs{\n\t\t\tOwner: pulumi.StringRef(\"Self\"),\n\t\t\tFilters: []imagebuilder.GetContainerRecipesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"platform\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Linux\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetContainerRecipesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getContainerRecipes(GetContainerRecipesArgs.builder()\n .owner(\"Self\")\n .filters(GetContainerRecipesFilterArgs.builder()\n .name(\"platform\")\n .values(\"Linux\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:imagebuilder:getContainerRecipes\n arguments:\n owner: Self\n filters:\n - name: platform\n values:\n - Linux\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the ARNs and names of Image Builder Container Recipes matching the specified criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getContainerRecipes({\n owner: \"Self\",\n filters: [{\n name: \"platform\",\n values: [\"Linux\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_container_recipes(owner=\"Self\",\n filters=[{\n \"name\": \"platform\",\n \"values\": [\"Linux\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetContainerRecipes.Invoke(new()\n {\n Owner = \"Self\",\n Filters = new[]\n {\n new Aws.ImageBuilder.Inputs.GetContainerRecipesFilterInputArgs\n {\n Name = \"platform\",\n Values = new[]\n {\n \"Linux\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.GetContainerRecipes(ctx, \u0026imagebuilder.GetContainerRecipesArgs{\n\t\t\tOwner: pulumi.StringRef(\"Self\"),\n\t\t\tFilters: []imagebuilder.GetContainerRecipesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"platform\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Linux\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetContainerRecipesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getContainerRecipes(GetContainerRecipesArgs.builder()\n .owner(\"Self\")\n .filters(GetContainerRecipesFilterArgs.builder()\n .name(\"platform\")\n .values(\"Linux\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:imagebuilder:getContainerRecipes\n Arguments:\n owner: Self\n filters:\n - name: platform\n values:\n - Linux\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getContainerRecipes.\n", "properties": { @@ -407231,7 +407231,7 @@ } }, "aws:imagebuilder/getDistributionConfiguration:getDistributionConfiguration": { - "description": "Provides details about an Image Builder Distribution Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getDistributionConfiguration({\n arn: \"arn:aws:imagebuilder:us-west-2:aws:distribution-configuration/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_distribution_configuration(arn=\"arn:aws:imagebuilder:us-west-2:aws:distribution-configuration/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetDistributionConfiguration.Invoke(new()\n {\n Arn = \"arn:aws:imagebuilder:us-west-2:aws:distribution-configuration/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.LookupDistributionConfiguration(ctx, \u0026imagebuilder.LookupDistributionConfigurationArgs{\n\t\t\tArn: \"arn:aws:imagebuilder:us-west-2:aws:distribution-configuration/example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetDistributionConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getDistributionConfiguration(GetDistributionConfigurationArgs.builder()\n .arn(\"arn:aws:imagebuilder:us-west-2:aws:distribution-configuration/example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:imagebuilder:getDistributionConfiguration\n arguments:\n arn: arn:aws:imagebuilder:us-west-2:aws:distribution-configuration/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about an Image Builder Distribution Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getDistributionConfiguration({\n arn: \"arn:aws:imagebuilder:us-west-2:aws:distribution-configuration/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_distribution_configuration(arn=\"arn:aws:imagebuilder:us-west-2:aws:distribution-configuration/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetDistributionConfiguration.Invoke(new()\n {\n Arn = \"arn:aws:imagebuilder:us-west-2:aws:distribution-configuration/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.LookupDistributionConfiguration(ctx, \u0026imagebuilder.LookupDistributionConfigurationArgs{\n\t\t\tArn: \"arn:aws:imagebuilder:us-west-2:aws:distribution-configuration/example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetDistributionConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getDistributionConfiguration(GetDistributionConfigurationArgs.builder()\n .arn(\"arn:aws:imagebuilder:us-west-2:aws:distribution-configuration/example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:imagebuilder:getDistributionConfiguration\n Arguments:\n arn: arn:aws:imagebuilder:us-west-2:aws:distribution-configuration/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDistributionConfiguration.\n", "properties": { @@ -407307,7 +407307,7 @@ } }, "aws:imagebuilder/getDistributionConfigurations:getDistributionConfigurations": { - "description": "Use this data source to get the ARNs and names of Image Builder Distribution Configurations matching the specified criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getDistributionConfigurations({\n filters: [{\n name: \"name\",\n values: [\"example\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_distribution_configurations(filters=[{\n \"name\": \"name\",\n \"values\": [\"example\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetDistributionConfigurations.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.ImageBuilder.Inputs.GetDistributionConfigurationsFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.GetDistributionConfigurations(ctx, \u0026imagebuilder.GetDistributionConfigurationsArgs{\n\t\t\tFilters: []imagebuilder.GetDistributionConfigurationsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"example\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetDistributionConfigurationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getDistributionConfigurations(GetDistributionConfigurationsArgs.builder()\n .filters(GetDistributionConfigurationsFilterArgs.builder()\n .name(\"name\")\n .values(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:imagebuilder:getDistributionConfigurations\n arguments:\n filters:\n - name: name\n values:\n - example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the ARNs and names of Image Builder Distribution Configurations matching the specified criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getDistributionConfigurations({\n filters: [{\n name: \"name\",\n values: [\"example\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_distribution_configurations(filters=[{\n \"name\": \"name\",\n \"values\": [\"example\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetDistributionConfigurations.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.ImageBuilder.Inputs.GetDistributionConfigurationsFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.GetDistributionConfigurations(ctx, \u0026imagebuilder.GetDistributionConfigurationsArgs{\n\t\t\tFilters: []imagebuilder.GetDistributionConfigurationsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"example\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetDistributionConfigurationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getDistributionConfigurations(GetDistributionConfigurationsArgs.builder()\n .filters(GetDistributionConfigurationsFilterArgs.builder()\n .name(\"name\")\n .values(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:imagebuilder:getDistributionConfigurations\n Arguments:\n filters:\n - name: name\n values:\n - example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDistributionConfigurations.\n", "properties": { @@ -407358,7 +407358,7 @@ } }, "aws:imagebuilder/getImage:getImage": { - "description": "Provides details about an Image Builder Image.\n\n## Example Usage\n\n### Latest\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getImage({\n arn: \"arn:aws:imagebuilder:us-west-2:aws:image/amazon-linux-2-x86/x.x.x\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_image(arn=\"arn:aws:imagebuilder:us-west-2:aws:image/amazon-linux-2-x86/x.x.x\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetImage.Invoke(new()\n {\n Arn = \"arn:aws:imagebuilder:us-west-2:aws:image/amazon-linux-2-x86/x.x.x\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.LookupImage(ctx, \u0026imagebuilder.LookupImageArgs{\n\t\t\tArn: \"arn:aws:imagebuilder:us-west-2:aws:image/amazon-linux-2-x86/x.x.x\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getImage(GetImageArgs.builder()\n .arn(\"arn:aws:imagebuilder:us-west-2:aws:image/amazon-linux-2-x86/x.x.x\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:imagebuilder:getImage\n arguments:\n arn: arn:aws:imagebuilder:us-west-2:aws:image/amazon-linux-2-x86/x.x.x\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about an Image Builder Image.\n\n## Example Usage\n\n### Latest\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getImage({\n arn: \"arn:aws:imagebuilder:us-west-2:aws:image/amazon-linux-2-x86/x.x.x\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_image(arn=\"arn:aws:imagebuilder:us-west-2:aws:image/amazon-linux-2-x86/x.x.x\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetImage.Invoke(new()\n {\n Arn = \"arn:aws:imagebuilder:us-west-2:aws:image/amazon-linux-2-x86/x.x.x\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.LookupImage(ctx, \u0026imagebuilder.LookupImageArgs{\n\t\t\tArn: \"arn:aws:imagebuilder:us-west-2:aws:image/amazon-linux-2-x86/x.x.x\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getImage(GetImageArgs.builder()\n .arn(\"arn:aws:imagebuilder:us-west-2:aws:image/amazon-linux-2-x86/x.x.x\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:imagebuilder:getImage\n Arguments:\n arn: arn:aws:imagebuilder:us-west-2:aws:image/amazon-linux-2-x86/x.x.x\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getImage.\n", "properties": { @@ -407485,7 +407485,7 @@ } }, "aws:imagebuilder/getImagePipeline:getImagePipeline": { - "description": "Provides details about an Image Builder Image Pipeline.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getImagePipeline({\n arn: \"arn:aws:imagebuilder:us-west-2:aws:image-pipeline/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_image_pipeline(arn=\"arn:aws:imagebuilder:us-west-2:aws:image-pipeline/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetImagePipeline.Invoke(new()\n {\n Arn = \"arn:aws:imagebuilder:us-west-2:aws:image-pipeline/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.LookupImagePipeline(ctx, \u0026imagebuilder.LookupImagePipelineArgs{\n\t\t\tArn: \"arn:aws:imagebuilder:us-west-2:aws:image-pipeline/example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetImagePipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getImagePipeline(GetImagePipelineArgs.builder()\n .arn(\"arn:aws:imagebuilder:us-west-2:aws:image-pipeline/example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:imagebuilder:getImagePipeline\n arguments:\n arn: arn:aws:imagebuilder:us-west-2:aws:image-pipeline/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about an Image Builder Image Pipeline.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getImagePipeline({\n arn: \"arn:aws:imagebuilder:us-west-2:aws:image-pipeline/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_image_pipeline(arn=\"arn:aws:imagebuilder:us-west-2:aws:image-pipeline/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetImagePipeline.Invoke(new()\n {\n Arn = \"arn:aws:imagebuilder:us-west-2:aws:image-pipeline/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.LookupImagePipeline(ctx, \u0026imagebuilder.LookupImagePipelineArgs{\n\t\t\tArn: \"arn:aws:imagebuilder:us-west-2:aws:image-pipeline/example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetImagePipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getImagePipeline(GetImagePipelineArgs.builder()\n .arn(\"arn:aws:imagebuilder:us-west-2:aws:image-pipeline/example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:imagebuilder:getImagePipeline\n Arguments:\n arn: arn:aws:imagebuilder:us-west-2:aws:image-pipeline/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getImagePipeline.\n", "properties": { @@ -407621,7 +407621,7 @@ } }, "aws:imagebuilder/getImagePipelines:getImagePipelines": { - "description": "Use this data source to get the ARNs and names of Image Builder Image Pipelines matching the specified criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getImagePipelines({\n filters: [{\n name: \"name\",\n values: [\"example\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_image_pipelines(filters=[{\n \"name\": \"name\",\n \"values\": [\"example\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetImagePipelines.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.ImageBuilder.Inputs.GetImagePipelinesFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.GetImagePipelines(ctx, \u0026imagebuilder.GetImagePipelinesArgs{\n\t\t\tFilters: []imagebuilder.GetImagePipelinesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"example\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetImagePipelinesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getImagePipelines(GetImagePipelinesArgs.builder()\n .filters(GetImagePipelinesFilterArgs.builder()\n .name(\"name\")\n .values(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:imagebuilder:getImagePipelines\n arguments:\n filters:\n - name: name\n values:\n - example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the ARNs and names of Image Builder Image Pipelines matching the specified criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getImagePipelines({\n filters: [{\n name: \"name\",\n values: [\"example\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_image_pipelines(filters=[{\n \"name\": \"name\",\n \"values\": [\"example\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetImagePipelines.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.ImageBuilder.Inputs.GetImagePipelinesFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.GetImagePipelines(ctx, \u0026imagebuilder.GetImagePipelinesArgs{\n\t\t\tFilters: []imagebuilder.GetImagePipelinesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"example\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetImagePipelinesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getImagePipelines(GetImagePipelinesArgs.builder()\n .filters(GetImagePipelinesFilterArgs.builder()\n .name(\"name\")\n .values(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:imagebuilder:getImagePipelines\n Arguments:\n filters:\n - name: name\n values:\n - example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getImagePipelines.\n", "properties": { @@ -407672,7 +407672,7 @@ } }, "aws:imagebuilder/getImageRecipe:getImageRecipe": { - "description": "Provides details about an Image Builder Image Recipe.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getImageRecipe({\n arn: \"arn:aws:imagebuilder:us-east-1:aws:image-recipe/example/1.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_image_recipe(arn=\"arn:aws:imagebuilder:us-east-1:aws:image-recipe/example/1.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetImageRecipe.Invoke(new()\n {\n Arn = \"arn:aws:imagebuilder:us-east-1:aws:image-recipe/example/1.0.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.LookupImageRecipe(ctx, \u0026imagebuilder.LookupImageRecipeArgs{\n\t\t\tArn: \"arn:aws:imagebuilder:us-east-1:aws:image-recipe/example/1.0.0\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetImageRecipeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getImageRecipe(GetImageRecipeArgs.builder()\n .arn(\"arn:aws:imagebuilder:us-east-1:aws:image-recipe/example/1.0.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:imagebuilder:getImageRecipe\n arguments:\n arn: arn:aws:imagebuilder:us-east-1:aws:image-recipe/example/1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about an Image Builder Image Recipe.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getImageRecipe({\n arn: \"arn:aws:imagebuilder:us-east-1:aws:image-recipe/example/1.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_image_recipe(arn=\"arn:aws:imagebuilder:us-east-1:aws:image-recipe/example/1.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetImageRecipe.Invoke(new()\n {\n Arn = \"arn:aws:imagebuilder:us-east-1:aws:image-recipe/example/1.0.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.LookupImageRecipe(ctx, \u0026imagebuilder.LookupImageRecipeArgs{\n\t\t\tArn: \"arn:aws:imagebuilder:us-east-1:aws:image-recipe/example/1.0.0\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetImageRecipeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getImageRecipe(GetImageRecipeArgs.builder()\n .arn(\"arn:aws:imagebuilder:us-east-1:aws:image-recipe/example/1.0.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:imagebuilder:getImageRecipe\n Arguments:\n arn: arn:aws:imagebuilder:us-east-1:aws:image-recipe/example/1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getImageRecipe.\n", "properties": { @@ -407781,7 +407781,7 @@ } }, "aws:imagebuilder/getImageRecipes:getImageRecipes": { - "description": "Use this data source to get the ARNs and names of Image Builder Image Recipes matching the specified criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getImageRecipes({\n owner: \"Self\",\n filters: [{\n name: \"platform\",\n values: [\"Linux\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_image_recipes(owner=\"Self\",\n filters=[{\n \"name\": \"platform\",\n \"values\": [\"Linux\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetImageRecipes.Invoke(new()\n {\n Owner = \"Self\",\n Filters = new[]\n {\n new Aws.ImageBuilder.Inputs.GetImageRecipesFilterInputArgs\n {\n Name = \"platform\",\n Values = new[]\n {\n \"Linux\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.GetImageRecipes(ctx, \u0026imagebuilder.GetImageRecipesArgs{\n\t\t\tOwner: pulumi.StringRef(\"Self\"),\n\t\t\tFilters: []imagebuilder.GetImageRecipesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"platform\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Linux\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetImageRecipesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getImageRecipes(GetImageRecipesArgs.builder()\n .owner(\"Self\")\n .filters(GetImageRecipesFilterArgs.builder()\n .name(\"platform\")\n .values(\"Linux\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:imagebuilder:getImageRecipes\n arguments:\n owner: Self\n filters:\n - name: platform\n values:\n - Linux\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the ARNs and names of Image Builder Image Recipes matching the specified criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getImageRecipes({\n owner: \"Self\",\n filters: [{\n name: \"platform\",\n values: [\"Linux\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_image_recipes(owner=\"Self\",\n filters=[{\n \"name\": \"platform\",\n \"values\": [\"Linux\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetImageRecipes.Invoke(new()\n {\n Owner = \"Self\",\n Filters = new[]\n {\n new Aws.ImageBuilder.Inputs.GetImageRecipesFilterInputArgs\n {\n Name = \"platform\",\n Values = new[]\n {\n \"Linux\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.GetImageRecipes(ctx, \u0026imagebuilder.GetImageRecipesArgs{\n\t\t\tOwner: pulumi.StringRef(\"Self\"),\n\t\t\tFilters: []imagebuilder.GetImageRecipesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"platform\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Linux\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetImageRecipesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getImageRecipes(GetImageRecipesArgs.builder()\n .owner(\"Self\")\n .filters(GetImageRecipesFilterArgs.builder()\n .name(\"platform\")\n .values(\"Linux\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:imagebuilder:getImageRecipes\n Arguments:\n owner: Self\n filters:\n - name: platform\n values:\n - Linux\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getImageRecipes.\n", "properties": { @@ -407839,7 +407839,7 @@ } }, "aws:imagebuilder/getInfrastructureConfiguration:getInfrastructureConfiguration": { - "description": "Provides details about an Image Builder Infrastructure Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getInfrastructureConfiguration({\n arn: \"arn:aws:imagebuilder:us-west-2:aws:infrastructure-configuration/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_infrastructure_configuration(arn=\"arn:aws:imagebuilder:us-west-2:aws:infrastructure-configuration/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetInfrastructureConfiguration.Invoke(new()\n {\n Arn = \"arn:aws:imagebuilder:us-west-2:aws:infrastructure-configuration/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.LookupInfrastructureConfiguration(ctx, \u0026imagebuilder.LookupInfrastructureConfigurationArgs{\n\t\t\tArn: \"arn:aws:imagebuilder:us-west-2:aws:infrastructure-configuration/example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetInfrastructureConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getInfrastructureConfiguration(GetInfrastructureConfigurationArgs.builder()\n .arn(\"arn:aws:imagebuilder:us-west-2:aws:infrastructure-configuration/example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:imagebuilder:getInfrastructureConfiguration\n arguments:\n arn: arn:aws:imagebuilder:us-west-2:aws:infrastructure-configuration/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about an Image Builder Infrastructure Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getInfrastructureConfiguration({\n arn: \"arn:aws:imagebuilder:us-west-2:aws:infrastructure-configuration/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_infrastructure_configuration(arn=\"arn:aws:imagebuilder:us-west-2:aws:infrastructure-configuration/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetInfrastructureConfiguration.Invoke(new()\n {\n Arn = \"arn:aws:imagebuilder:us-west-2:aws:infrastructure-configuration/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.LookupInfrastructureConfiguration(ctx, \u0026imagebuilder.LookupInfrastructureConfigurationArgs{\n\t\t\tArn: \"arn:aws:imagebuilder:us-west-2:aws:infrastructure-configuration/example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetInfrastructureConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getInfrastructureConfiguration(GetInfrastructureConfigurationArgs.builder()\n .arn(\"arn:aws:imagebuilder:us-west-2:aws:infrastructure-configuration/example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:imagebuilder:getInfrastructureConfiguration\n Arguments:\n arn: arn:aws:imagebuilder:us-west-2:aws:infrastructure-configuration/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInfrastructureConfiguration.\n", "properties": { @@ -407978,7 +407978,7 @@ } }, "aws:imagebuilder/getInfrastructureConfigurations:getInfrastructureConfigurations": { - "description": "Use this data source to get the ARNs and names of Image Builder Infrastructure Configurations matching the specified criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getInfrastructureConfigurations({\n filters: [{\n name: \"name\",\n values: [\"example\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_infrastructure_configurations(filters=[{\n \"name\": \"name\",\n \"values\": [\"example\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetInfrastructureConfigurations.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.ImageBuilder.Inputs.GetInfrastructureConfigurationsFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.GetInfrastructureConfigurations(ctx, \u0026imagebuilder.GetInfrastructureConfigurationsArgs{\n\t\t\tFilters: []imagebuilder.GetInfrastructureConfigurationsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"example\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetInfrastructureConfigurationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getInfrastructureConfigurations(GetInfrastructureConfigurationsArgs.builder()\n .filters(GetInfrastructureConfigurationsFilterArgs.builder()\n .name(\"name\")\n .values(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:imagebuilder:getInfrastructureConfigurations\n arguments:\n filters:\n - name: name\n values:\n - example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the ARNs and names of Image Builder Infrastructure Configurations matching the specified criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.imagebuilder.getInfrastructureConfigurations({\n filters: [{\n name: \"name\",\n values: [\"example\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.get_infrastructure_configurations(filters=[{\n \"name\": \"name\",\n \"values\": [\"example\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ImageBuilder.GetInfrastructureConfigurations.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.ImageBuilder.Inputs.GetInfrastructureConfigurationsFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\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 := imagebuilder.GetInfrastructureConfigurations(ctx, \u0026imagebuilder.GetInfrastructureConfigurationsArgs{\n\t\t\tFilters: []imagebuilder.GetInfrastructureConfigurationsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"example\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImagebuilderFunctions;\nimport com.pulumi.aws.imagebuilder.inputs.GetInfrastructureConfigurationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ImagebuilderFunctions.getInfrastructureConfigurations(GetInfrastructureConfigurationsArgs.builder()\n .filters(GetInfrastructureConfigurationsFilterArgs.builder()\n .name(\"name\")\n .values(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:imagebuilder:getInfrastructureConfigurations\n Arguments:\n filters:\n - name: name\n values:\n - example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInfrastructureConfigurations.\n", "properties": { @@ -408029,7 +408029,7 @@ } }, "aws:index/getArn:getArn": { - "description": "Parses an ARN into its constituent parts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dbInstance = aws.getArn({\n arn: \"arn:aws:rds:eu-west-1:123456789012:db:mysql-db\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndb_instance = aws.get_arn(arn=\"arn:aws:rds:eu-west-1:123456789012:db:mysql-db\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dbInstance = Aws.GetArn.Invoke(new()\n {\n Arn = \"arn:aws:rds:eu-west-1:123456789012:db:mysql-db\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetArn(ctx, \u0026aws.GetArnArgs{\n\t\t\tArn: \"arn:aws:rds:eu-west-1:123456789012:db:mysql-db\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetArnArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var dbInstance = AwsFunctions.getArn(GetArnArgs.builder()\n .arn(\"arn:aws:rds:eu-west-1:123456789012:db:mysql-db\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n dbInstance:\n fn::invoke:\n function: aws:getArn\n arguments:\n arn: arn:aws:rds:eu-west-1:123456789012:db:mysql-db\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Parses an ARN into its constituent parts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dbInstance = aws.getArn({\n arn: \"arn:aws:rds:eu-west-1:123456789012:db:mysql-db\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndb_instance = aws.get_arn(arn=\"arn:aws:rds:eu-west-1:123456789012:db:mysql-db\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dbInstance = Aws.GetArn.Invoke(new()\n {\n Arn = \"arn:aws:rds:eu-west-1:123456789012:db:mysql-db\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetArn(ctx, \u0026aws.GetArnArgs{\n\t\t\tArn: \"arn:aws:rds:eu-west-1:123456789012:db:mysql-db\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetArnArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var dbInstance = AwsFunctions.getArn(GetArnArgs.builder()\n .arn(\"arn:aws:rds:eu-west-1:123456789012:db:mysql-db\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n dbInstance:\n fn::invoke:\n Function: aws:getArn\n Arguments:\n arn: arn:aws:rds:eu-west-1:123456789012:db:mysql-db\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getArn.\n", "properties": { @@ -408195,7 +408195,7 @@ } }, "aws:index/getAvailabilityZones:getAvailabilityZones": { - "description": "The Availability Zones data source allows access to the list of AWS\nAvailability Zones which can be accessed by an AWS account within the region\nconfigured in the provider.\n\nThis is different from the `aws.getAvailabilityZone` (singular) data source,\nwhich provides some details about a specific availability zone.\n\n\u003e When [Local Zones](https://aws.amazon.com/about-aws/global-infrastructure/localzones/) are enabled in a region, by default the API and this data source include both Local Zones and Availability Zones. To return only Availability Zones, see the example section below.\n\n## Example Usage\n\n### By State\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n});\n// e.g., Create subnets in the first two available availability zones\nconst primary = new aws.ec2.Subnet(\"primary\", {availabilityZone: available.then(available =\u003e available.names?.[0])});\nconst secondary = new aws.ec2.Subnet(\"secondary\", {availabilityZone: available.then(available =\u003e available.names?.[1])});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\navailable = aws.get_availability_zones(state=\"available\")\n# e.g., Create subnets in the first two available availability zones\nprimary = aws.ec2.Subnet(\"primary\", availability_zone=available.names[0])\nsecondary = aws.ec2.Subnet(\"secondary\", availability_zone=available.names[1])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n // e.g., Create subnets in the first two available availability zones\n var primary = new Aws.Ec2.Subnet(\"primary\", new()\n {\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var secondary = new Aws.Ec2.Subnet(\"secondary\", new()\n {\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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// Declare the data source\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// e.g., Create subnets in the first two available availability zones\n\t\t_, err = ec2.NewSubnet(ctx, \"primary\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSubnet(ctx, \"secondary\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(available.Names[1]),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n // e.g., Create subnets in the first two available availability zones\n var primary = new Subnet(\"primary\", SubnetArgs.builder()\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var secondary = new Subnet(\"secondary\", SubnetArgs.builder()\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # e.g., Create subnets in the first two available availability zones\n primary:\n type: aws:ec2:Subnet\n properties:\n availabilityZone: ${available.names[0]}\n secondary:\n type: aws:ec2:Subnet\n properties:\n availabilityZone: ${available.names[1]}\nvariables:\n # Declare the data source\n available:\n fn::invoke:\n function: aws:getAvailabilityZones\n arguments:\n state: available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Filter\n\nAll Local Zones (regardless of opt-in status):\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.getAvailabilityZones({\n allAvailabilityZones: true,\n filters: [{\n name: \"opt-in-status\",\n values: [\n \"not-opted-in\",\n \"opted-in\",\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.get_availability_zones(all_availability_zones=True,\n filters=[{\n \"name\": \"opt-in-status\",\n \"values\": [\n \"not-opted-in\",\n \"opted-in\",\n ],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.GetAvailabilityZones.Invoke(new()\n {\n AllAvailabilityZones = true,\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"not-opted-in\",\n \"opted-in\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tAllAvailabilityZones: pulumi.BoolRef(true),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"not-opted-in\",\n\t\t\t\t\t\t\"opted-in\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .allAvailabilityZones(true)\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values( \n \"not-opted-in\",\n \"opted-in\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:getAvailabilityZones\n arguments:\n allAvailabilityZones: true\n filters:\n - name: opt-in-status\n values:\n - not-opted-in\n - opted-in\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nOnly Availability Zones (no Local Zones):\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.getAvailabilityZones({\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.get_availability_zones(filters=[{\n \"name\": \"opt-in-status\",\n \"values\": [\"opt-in-not-required\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.GetAvailabilityZones.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:getAvailabilityZones\n arguments:\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The Availability Zones data source allows access to the list of AWS\nAvailability Zones which can be accessed by an AWS account within the region\nconfigured in the provider.\n\nThis is different from the `aws.getAvailabilityZone` (singular) data source,\nwhich provides some details about a specific availability zone.\n\n\u003e When [Local Zones](https://aws.amazon.com/about-aws/global-infrastructure/localzones/) are enabled in a region, by default the API and this data source include both Local Zones and Availability Zones. To return only Availability Zones, see the example section below.\n\n## Example Usage\n\n### By State\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n});\n// e.g., Create subnets in the first two available availability zones\nconst primary = new aws.ec2.Subnet(\"primary\", {availabilityZone: available.then(available =\u003e available.names?.[0])});\nconst secondary = new aws.ec2.Subnet(\"secondary\", {availabilityZone: available.then(available =\u003e available.names?.[1])});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\navailable = aws.get_availability_zones(state=\"available\")\n# e.g., Create subnets in the first two available availability zones\nprimary = aws.ec2.Subnet(\"primary\", availability_zone=available.names[0])\nsecondary = aws.ec2.Subnet(\"secondary\", availability_zone=available.names[1])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n // e.g., Create subnets in the first two available availability zones\n var primary = new Aws.Ec2.Subnet(\"primary\", new()\n {\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var secondary = new Aws.Ec2.Subnet(\"secondary\", new()\n {\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\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// Declare the data source\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// e.g., Create subnets in the first two available availability zones\n\t\t_, err = ec2.NewSubnet(ctx, \"primary\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSubnet(ctx, \"secondary\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(available.Names[1]),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n // e.g., Create subnets in the first two available availability zones\n var primary = new Subnet(\"primary\", SubnetArgs.builder()\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var secondary = new Subnet(\"secondary\", SubnetArgs.builder()\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # e.g., Create subnets in the first two available availability zones\n primary:\n type: aws:ec2:Subnet\n properties:\n availabilityZone: ${available.names[0]}\n secondary:\n type: aws:ec2:Subnet\n properties:\n availabilityZone: ${available.names[1]}\nvariables:\n # Declare the data source\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Filter\n\nAll Local Zones (regardless of opt-in status):\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.getAvailabilityZones({\n allAvailabilityZones: true,\n filters: [{\n name: \"opt-in-status\",\n values: [\n \"not-opted-in\",\n \"opted-in\",\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.get_availability_zones(all_availability_zones=True,\n filters=[{\n \"name\": \"opt-in-status\",\n \"values\": [\n \"not-opted-in\",\n \"opted-in\",\n ],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.GetAvailabilityZones.Invoke(new()\n {\n AllAvailabilityZones = true,\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"not-opted-in\",\n \"opted-in\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tAllAvailabilityZones: pulumi.BoolRef(true),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"not-opted-in\",\n\t\t\t\t\t\t\"opted-in\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .allAvailabilityZones(true)\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values( \n \"not-opted-in\",\n \"opted-in\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n allAvailabilityZones: true\n filters:\n - name: opt-in-status\n values:\n - not-opted-in\n - opted-in\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nOnly Availability Zones (no Local Zones):\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.getAvailabilityZones({\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.get_availability_zones(filters=[{\n \"name\": \"opt-in-status\",\n \"values\": [\"opt-in-not-required\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.GetAvailabilityZones.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAvailabilityZones.\n", "properties": { @@ -408294,7 +408294,7 @@ } }, "aws:index/getBillingServiceAccount:getBillingServiceAccount": { - "description": "Use this data source to get the Account ID of the [AWS Billing and Cost Management Service Account](http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-getting-started.html#step-2) for the purpose of permitting in S3 bucket policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.getBillingServiceAccount({});\nconst billingLogs = new aws.s3.BucketV2(\"billing_logs\", {bucket: \"my-billing-tf-test-bucket\"});\nconst billingLogsAcl = new aws.s3.BucketAclV2(\"billing_logs_acl\", {\n bucket: billingLogs.id,\n acl: \"private\",\n});\nconst allowBillingLogging = pulumi.all([main, billingLogs.arn, main, billingLogs.arn]).apply(([main, billingLogsArn, main1, billingLogsArn1]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main.arn],\n }],\n actions: [\n \"s3:GetBucketAcl\",\n \"s3:GetBucketPolicy\",\n ],\n resources: [billingLogsArn],\n },\n {\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main1.arn],\n }],\n actions: [\"s3:PutObject\"],\n resources: [`${billingLogsArn1}/*`],\n },\n ],\n}));\nconst allowBillingLoggingBucketPolicy = new aws.s3.BucketPolicy(\"allow_billing_logging\", {\n bucket: billingLogs.id,\n policy: allowBillingLogging.apply(allowBillingLogging =\u003e allowBillingLogging.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.get_billing_service_account()\nbilling_logs = aws.s3.BucketV2(\"billing_logs\", bucket=\"my-billing-tf-test-bucket\")\nbilling_logs_acl = aws.s3.BucketAclV2(\"billing_logs_acl\",\n bucket=billing_logs.id,\n acl=\"private\")\nallow_billing_logging = pulumi.Output.all(\n billingLogsArn=billing_logs.arn,\n billingLogsArn1=billing_logs.arn\n).apply(lambda resolved_outputs: aws.iam.get_policy_document_output(statements=[\n {\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [main.arn],\n }],\n \"actions\": [\n \"s3:GetBucketAcl\",\n \"s3:GetBucketPolicy\",\n ],\n \"resources\": [resolved_outputs['billingLogsArn']],\n },\n {\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [main.arn],\n }],\n \"actions\": [\"s3:PutObject\"],\n \"resources\": [f\"{resolved_outputs['billingLogsArn1']}/*\"],\n },\n]))\n\nallow_billing_logging_bucket_policy = aws.s3.BucketPolicy(\"allow_billing_logging\",\n bucket=billing_logs.id,\n policy=allow_billing_logging.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.GetBillingServiceAccount.Invoke();\n\n var billingLogs = new Aws.S3.BucketV2(\"billing_logs\", new()\n {\n Bucket = \"my-billing-tf-test-bucket\",\n });\n\n var billingLogsAcl = new Aws.S3.BucketAclV2(\"billing_logs_acl\", new()\n {\n Bucket = billingLogs.Id,\n Acl = \"private\",\n });\n\n var allowBillingLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getBillingServiceAccountResult =\u003e getBillingServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n \"s3:GetBucketPolicy\",\n },\n Resources = new[]\n {\n billingLogs.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getBillingServiceAccountResult =\u003e getBillingServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{billingLogs.Arn}/*\",\n },\n },\n },\n });\n\n var allowBillingLoggingBucketPolicy = new Aws.S3.BucketPolicy(\"allow_billing_logging\", new()\n {\n Bucket = billingLogs.Id,\n Policy = allowBillingLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmain, err := aws.GetBillingServiceAccount(ctx, \u0026aws.GetBillingServiceAccountArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nbillingLogs, err := s3.NewBucketV2(ctx, \"billing_logs\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"my-billing-tf-test-bucket\"),\n})\nif err != nil {\nreturn err\n}\n_, err = s3.NewBucketAclV2(ctx, \"billing_logs_acl\", \u0026s3.BucketAclV2Args{\nBucket: billingLogs.ID(),\nAcl: pulumi.String(\"private\"),\n})\nif err != nil {\nreturn err\n}\nallowBillingLogging := pulumi.All(billingLogs.Arn,billingLogs.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\nbillingLogsArn := _args[0].(string)\nbillingLogsArn1 := _args[1].(string)\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:GetBucketAcl\",\n\"s3:GetBucketPolicy\",\n},\nResources: []string{\nbillingLogsArn,\n},\n},\n{\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:PutObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/*\", billingLogsArn1),\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = s3.NewBucketPolicy(ctx, \"allow_billing_logging\", \u0026s3.BucketPolicyArgs{\nBucket: billingLogs.ID(),\nPolicy: pulumi.String(allowBillingLogging.ApplyT(func(allowBillingLogging iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026allowBillingLogging.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetBillingServiceAccountArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = AwsFunctions.getBillingServiceAccount();\n\n var billingLogs = new BucketV2(\"billingLogs\", BucketV2Args.builder()\n .bucket(\"my-billing-tf-test-bucket\")\n .build());\n\n var billingLogsAcl = new BucketAclV2(\"billingLogsAcl\", BucketAclV2Args.builder()\n .bucket(billingLogs.id())\n .acl(\"private\")\n .build());\n\n final var allowBillingLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getBillingServiceAccountResult -\u003e getBillingServiceAccountResult.arn()))\n .build())\n .actions( \n \"s3:GetBucketAcl\",\n \"s3:GetBucketPolicy\")\n .resources(billingLogs.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getBillingServiceAccountResult -\u003e getBillingServiceAccountResult.arn()))\n .build())\n .actions(\"s3:PutObject\")\n .resources(billingLogs.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var allowBillingLoggingBucketPolicy = new BucketPolicy(\"allowBillingLoggingBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(billingLogs.id())\n .policy(allowBillingLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowBillingLogging -\u003e allowBillingLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n billingLogs:\n type: aws:s3:BucketV2\n name: billing_logs\n properties:\n bucket: my-billing-tf-test-bucket\n billingLogsAcl:\n type: aws:s3:BucketAclV2\n name: billing_logs_acl\n properties:\n bucket: ${billingLogs.id}\n acl: private\n allowBillingLoggingBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_billing_logging\n properties:\n bucket: ${billingLogs.id}\n policy: ${allowBillingLogging.json}\nvariables:\n main:\n fn::invoke:\n function: aws:getBillingServiceAccount\n arguments: {}\n allowBillingLogging:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:GetBucketAcl\n - s3:GetBucketPolicy\n resources:\n - ${billingLogs.arn}\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:PutObject\n resources:\n - ${billingLogs.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the Account ID of the [AWS Billing and Cost Management Service Account](http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-getting-started.html#step-2) for the purpose of permitting in S3 bucket policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.getBillingServiceAccount({});\nconst billingLogs = new aws.s3.BucketV2(\"billing_logs\", {bucket: \"my-billing-tf-test-bucket\"});\nconst billingLogsAcl = new aws.s3.BucketAclV2(\"billing_logs_acl\", {\n bucket: billingLogs.id,\n acl: \"private\",\n});\nconst allowBillingLogging = pulumi.all([main, billingLogs.arn, main, billingLogs.arn]).apply(([main, billingLogsArn, main1, billingLogsArn1]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main.arn],\n }],\n actions: [\n \"s3:GetBucketAcl\",\n \"s3:GetBucketPolicy\",\n ],\n resources: [billingLogsArn],\n },\n {\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main1.arn],\n }],\n actions: [\"s3:PutObject\"],\n resources: [`${billingLogsArn1}/*`],\n },\n ],\n}));\nconst allowBillingLoggingBucketPolicy = new aws.s3.BucketPolicy(\"allow_billing_logging\", {\n bucket: billingLogs.id,\n policy: allowBillingLogging.apply(allowBillingLogging =\u003e allowBillingLogging.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.get_billing_service_account()\nbilling_logs = aws.s3.BucketV2(\"billing_logs\", bucket=\"my-billing-tf-test-bucket\")\nbilling_logs_acl = aws.s3.BucketAclV2(\"billing_logs_acl\",\n bucket=billing_logs.id,\n acl=\"private\")\nallow_billing_logging = pulumi.Output.all(\n billingLogsArn=billing_logs.arn,\n billingLogsArn1=billing_logs.arn\n).apply(lambda resolved_outputs: aws.iam.get_policy_document_output(statements=[\n {\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [main.arn],\n }],\n \"actions\": [\n \"s3:GetBucketAcl\",\n \"s3:GetBucketPolicy\",\n ],\n \"resources\": [resolved_outputs['billingLogsArn']],\n },\n {\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [main.arn],\n }],\n \"actions\": [\"s3:PutObject\"],\n \"resources\": [f\"{resolved_outputs['billingLogsArn1']}/*\"],\n },\n]))\n\nallow_billing_logging_bucket_policy = aws.s3.BucketPolicy(\"allow_billing_logging\",\n bucket=billing_logs.id,\n policy=allow_billing_logging.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.GetBillingServiceAccount.Invoke();\n\n var billingLogs = new Aws.S3.BucketV2(\"billing_logs\", new()\n {\n Bucket = \"my-billing-tf-test-bucket\",\n });\n\n var billingLogsAcl = new Aws.S3.BucketAclV2(\"billing_logs_acl\", new()\n {\n Bucket = billingLogs.Id,\n Acl = \"private\",\n });\n\n var allowBillingLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getBillingServiceAccountResult =\u003e getBillingServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n \"s3:GetBucketPolicy\",\n },\n Resources = new[]\n {\n billingLogs.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getBillingServiceAccountResult =\u003e getBillingServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{billingLogs.Arn}/*\",\n },\n },\n },\n });\n\n var allowBillingLoggingBucketPolicy = new Aws.S3.BucketPolicy(\"allow_billing_logging\", new()\n {\n Bucket = billingLogs.Id,\n Policy = allowBillingLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmain, err := aws.GetBillingServiceAccount(ctx, \u0026aws.GetBillingServiceAccountArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nbillingLogs, err := s3.NewBucketV2(ctx, \"billing_logs\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"my-billing-tf-test-bucket\"),\n})\nif err != nil {\nreturn err\n}\n_, err = s3.NewBucketAclV2(ctx, \"billing_logs_acl\", \u0026s3.BucketAclV2Args{\nBucket: billingLogs.ID(),\nAcl: pulumi.String(\"private\"),\n})\nif err != nil {\nreturn err\n}\nallowBillingLogging := pulumi.All(billingLogs.Arn,billingLogs.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\nbillingLogsArn := _args[0].(string)\nbillingLogsArn1 := _args[1].(string)\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:GetBucketAcl\",\n\"s3:GetBucketPolicy\",\n},\nResources: []string{\nbillingLogsArn,\n},\n},\n{\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:PutObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/*\", billingLogsArn1),\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = s3.NewBucketPolicy(ctx, \"allow_billing_logging\", \u0026s3.BucketPolicyArgs{\nBucket: billingLogs.ID(),\nPolicy: pulumi.String(allowBillingLogging.ApplyT(func(allowBillingLogging iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026allowBillingLogging.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetBillingServiceAccountArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = AwsFunctions.getBillingServiceAccount();\n\n var billingLogs = new BucketV2(\"billingLogs\", BucketV2Args.builder()\n .bucket(\"my-billing-tf-test-bucket\")\n .build());\n\n var billingLogsAcl = new BucketAclV2(\"billingLogsAcl\", BucketAclV2Args.builder()\n .bucket(billingLogs.id())\n .acl(\"private\")\n .build());\n\n final var allowBillingLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getBillingServiceAccountResult -\u003e getBillingServiceAccountResult.arn()))\n .build())\n .actions( \n \"s3:GetBucketAcl\",\n \"s3:GetBucketPolicy\")\n .resources(billingLogs.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getBillingServiceAccountResult -\u003e getBillingServiceAccountResult.arn()))\n .build())\n .actions(\"s3:PutObject\")\n .resources(billingLogs.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var allowBillingLoggingBucketPolicy = new BucketPolicy(\"allowBillingLoggingBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(billingLogs.id())\n .policy(allowBillingLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowBillingLogging -\u003e allowBillingLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n billingLogs:\n type: aws:s3:BucketV2\n name: billing_logs\n properties:\n bucket: my-billing-tf-test-bucket\n billingLogsAcl:\n type: aws:s3:BucketAclV2\n name: billing_logs_acl\n properties:\n bucket: ${billingLogs.id}\n acl: private\n allowBillingLoggingBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_billing_logging\n properties:\n bucket: ${billingLogs.id}\n policy: ${allowBillingLogging.json}\nvariables:\n main:\n fn::invoke:\n Function: aws:getBillingServiceAccount\n Arguments: {}\n allowBillingLogging:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:GetBucketAcl\n - s3:GetBucketPolicy\n resources:\n - ${billingLogs.arn}\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:PutObject\n resources:\n - ${billingLogs.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBillingServiceAccount.\n", "properties": { @@ -408325,7 +408325,7 @@ } }, "aws:index/getCallerIdentity:getCallerIdentity": { - "description": "Use this data source to get the access to the effective Account ID, User ID, and ARN in\nwhich this provider is authorized.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nexport const accountId = current.then(current =\u003e current.accountId);\nexport const callerArn = current.then(current =\u003e current.arn);\nexport const callerUser = current.then(current =\u003e current.userId);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\npulumi.export(\"accountId\", current.account_id)\npulumi.export(\"callerArn\", current.arn)\npulumi.export(\"callerUser\", current.user_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"accountId\"] = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n [\"callerArn\"] = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n [\"callerUser\"] = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.UserId),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"accountId\", current.AccountId)\n\t\tctx.Export(\"callerArn\", current.Arn)\n\t\tctx.Export(\"callerUser\", current.UserId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n ctx.export(\"accountId\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()));\n ctx.export(\"callerArn\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()));\n ctx.export(\"callerUser\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.userId()));\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\noutputs:\n accountId: ${current.accountId}\n callerArn: ${current.arn}\n callerUser: ${current.userId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the access to the effective Account ID, User ID, and ARN in\nwhich this provider is authorized.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nexport const accountId = current.then(current =\u003e current.accountId);\nexport const callerArn = current.then(current =\u003e current.arn);\nexport const callerUser = current.then(current =\u003e current.userId);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\npulumi.export(\"accountId\", current.account_id)\npulumi.export(\"callerArn\", current.arn)\npulumi.export(\"callerUser\", current.user_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"accountId\"] = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n [\"callerArn\"] = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n [\"callerUser\"] = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.UserId),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"accountId\", current.AccountId)\n\t\tctx.Export(\"callerArn\", current.Arn)\n\t\tctx.Export(\"callerUser\", current.UserId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n ctx.export(\"accountId\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()));\n ctx.export(\"callerArn\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()));\n ctx.export(\"callerUser\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.userId()));\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\noutputs:\n accountId: ${current.accountId}\n callerArn: ${current.arn}\n callerUser: ${current.userId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCallerIdentity.\n", "properties": { @@ -408366,7 +408366,7 @@ } }, "aws:index/getDefaultTags:getDefaultTags": { - "description": "Use this data source to get the default tags configured on the provider.\n\nWith this data source, you can apply default tags to resources not _directly_ managed by a resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.getDefaultTags({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.get_default_tags()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.GetDefaultTags.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetDefaultTags(ctx, \u0026aws.GetDefaultTagsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetDefaultTagsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AwsFunctions.getDefaultTags();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:getDefaultTags\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Dynamically Apply Default Tags to Auto Scaling Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.getDefaultTags({});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {tags: .map(entry =\u003e ({\n key: entry.key,\n value: entry.value,\n propagateAtLaunch: true,\n}))});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.get_default_tags()\nexample_group = aws.autoscaling.Group(\"example\", tags=[{\n \"key\": entry[\"key\"],\n \"value\": entry[\"value\"],\n \"propagate_at_launch\": True,\n} for entry in [{\"key\": k, \"value\": v} for k, v in example.tags]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.GetDefaultTags.Invoke();\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n Tags = ,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the default tags configured on the provider.\n\nWith this data source, you can apply default tags to resources not _directly_ managed by a resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.getDefaultTags({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.get_default_tags()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.GetDefaultTags.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetDefaultTags(ctx, \u0026aws.GetDefaultTagsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetDefaultTagsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AwsFunctions.getDefaultTags();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:getDefaultTags\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Dynamically Apply Default Tags to Auto Scaling Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.getDefaultTags({});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {tags: .map(entry =\u003e ({\n key: entry.key,\n value: entry.value,\n propagateAtLaunch: true,\n}))});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.get_default_tags()\nexample_group = aws.autoscaling.Group(\"example\", tags=[{\n \"key\": entry[\"key\"],\n \"value\": entry[\"value\"],\n \"propagate_at_launch\": True,\n} for entry in [{\"key\": k, \"value\": v} for k, v in example.tags]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.GetDefaultTags.Invoke();\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n Tags = ,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDefaultTags.\n", "properties": { @@ -408398,7 +408398,7 @@ } }, "aws:index/getIpRanges:getIpRanges": { - "description": "Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst europeanEc2 = aws.getIpRanges({\n regions: [\n \"eu-west-1\",\n \"eu-central-1\",\n ],\n services: [\"ec2\"],\n});\nconst fromEurope = new aws.ec2.SecurityGroup(\"from_europe\", {\n name: \"from_europe\",\n ingress: [{\n fromPort: 443,\n toPort: 443,\n protocol: \"tcp\",\n cidrBlocks: europeanEc2.then(europeanEc2 =\u003e europeanEc2.cidrBlocks),\n ipv6CidrBlocks: europeanEc2.then(europeanEc2 =\u003e europeanEc2.ipv6CidrBlocks),\n }],\n tags: {\n CreateDate: europeanEc2.then(europeanEc2 =\u003e europeanEc2.createDate),\n SyncToken: europeanEc2.then(europeanEc2 =\u003e europeanEc2.syncToken),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\neuropean_ec2 = aws.get_ip_ranges(regions=[\n \"eu-west-1\",\n \"eu-central-1\",\n ],\n services=[\"ec2\"])\nfrom_europe = aws.ec2.SecurityGroup(\"from_europe\",\n name=\"from_europe\",\n ingress=[{\n \"from_port\": 443,\n \"to_port\": 443,\n \"protocol\": \"tcp\",\n \"cidr_blocks\": european_ec2.cidr_blocks,\n \"ipv6_cidr_blocks\": european_ec2.ipv6_cidr_blocks,\n }],\n tags={\n \"CreateDate\": european_ec2.create_date,\n \"SyncToken\": european_ec2.sync_token,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var europeanEc2 = Aws.GetIpRanges.Invoke(new()\n {\n Regions = new[]\n {\n \"eu-west-1\",\n \"eu-central-1\",\n },\n Services = new[]\n {\n \"ec2\",\n },\n });\n\n var fromEurope = new Aws.Ec2.SecurityGroup(\"from_europe\", new()\n {\n Name = \"from_europe\",\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n {\n FromPort = 443,\n ToPort = 443,\n Protocol = \"tcp\",\n CidrBlocks = europeanEc2.Apply(getIpRangesResult =\u003e getIpRangesResult.CidrBlocks),\n Ipv6CidrBlocks = europeanEc2.Apply(getIpRangesResult =\u003e getIpRangesResult.Ipv6CidrBlocks),\n },\n },\n Tags = \n {\n { \"CreateDate\", europeanEc2.Apply(getIpRangesResult =\u003e getIpRangesResult.CreateDate) },\n { \"SyncToken\", europeanEc2.Apply(getIpRangesResult =\u003e getIpRangesResult.SyncToken) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\teuropeanEc2, err := aws.GetIpRanges(ctx, \u0026aws.GetIpRangesArgs{\n\t\t\tRegions: []string{\n\t\t\t\t\"eu-west-1\",\n\t\t\t\t\"eu-central-1\",\n\t\t\t},\n\t\t\tServices: []string{\n\t\t\t\t\"ec2\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroup(ctx, \"from_europe\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"from_europe\"),\n\t\t\tIngress: ec2.SecurityGroupIngressArray{\n\t\t\t\t\u0026ec2.SecurityGroupIngressArgs{\n\t\t\t\t\tFromPort: pulumi.Int(443),\n\t\t\t\t\tToPort: pulumi.Int(443),\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tCidrBlocks: interface{}(europeanEc2.CidrBlocks),\n\t\t\t\t\tIpv6CidrBlocks: interface{}(europeanEc2.Ipv6CidrBlocks),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"CreateDate\": pulumi.String(europeanEc2.CreateDate),\n\t\t\t\t\"SyncToken\": pulumi.Int(europeanEc2.SyncToken),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetIpRangesArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var europeanEc2 = AwsFunctions.getIpRanges(GetIpRangesArgs.builder()\n .regions( \n \"eu-west-1\",\n \"eu-central-1\")\n .services(\"ec2\")\n .build());\n\n var fromEurope = new SecurityGroup(\"fromEurope\", SecurityGroupArgs.builder()\n .name(\"from_europe\")\n .ingress(SecurityGroupIngressArgs.builder()\n .fromPort(\"443\")\n .toPort(\"443\")\n .protocol(\"tcp\")\n .cidrBlocks(europeanEc2.applyValue(getIpRangesResult -\u003e getIpRangesResult.cidrBlocks()))\n .ipv6CidrBlocks(europeanEc2.applyValue(getIpRangesResult -\u003e getIpRangesResult.ipv6CidrBlocks()))\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"CreateDate\", europeanEc2.applyValue(getIpRangesResult -\u003e getIpRangesResult.createDate())),\n Map.entry(\"SyncToken\", europeanEc2.applyValue(getIpRangesResult -\u003e getIpRangesResult.syncToken()))\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fromEurope:\n type: aws:ec2:SecurityGroup\n name: from_europe\n properties:\n name: from_europe\n ingress:\n - fromPort: '443'\n toPort: '443'\n protocol: tcp\n cidrBlocks: ${europeanEc2.cidrBlocks}\n ipv6CidrBlocks: ${europeanEc2.ipv6CidrBlocks}\n tags:\n CreateDate: ${europeanEc2.createDate}\n SyncToken: ${europeanEc2.syncToken}\nvariables:\n europeanEc2:\n fn::invoke:\n function: aws:getIpRanges\n arguments:\n regions:\n - eu-west-1\n - eu-central-1\n services:\n - ec2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst europeanEc2 = aws.getIpRanges({\n regions: [\n \"eu-west-1\",\n \"eu-central-1\",\n ],\n services: [\"ec2\"],\n});\nconst fromEurope = new aws.ec2.SecurityGroup(\"from_europe\", {\n name: \"from_europe\",\n ingress: [{\n fromPort: 443,\n toPort: 443,\n protocol: \"tcp\",\n cidrBlocks: europeanEc2.then(europeanEc2 =\u003e europeanEc2.cidrBlocks),\n ipv6CidrBlocks: europeanEc2.then(europeanEc2 =\u003e europeanEc2.ipv6CidrBlocks),\n }],\n tags: {\n CreateDate: europeanEc2.then(europeanEc2 =\u003e europeanEc2.createDate),\n SyncToken: europeanEc2.then(europeanEc2 =\u003e europeanEc2.syncToken),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\neuropean_ec2 = aws.get_ip_ranges(regions=[\n \"eu-west-1\",\n \"eu-central-1\",\n ],\n services=[\"ec2\"])\nfrom_europe = aws.ec2.SecurityGroup(\"from_europe\",\n name=\"from_europe\",\n ingress=[{\n \"from_port\": 443,\n \"to_port\": 443,\n \"protocol\": \"tcp\",\n \"cidr_blocks\": european_ec2.cidr_blocks,\n \"ipv6_cidr_blocks\": european_ec2.ipv6_cidr_blocks,\n }],\n tags={\n \"CreateDate\": european_ec2.create_date,\n \"SyncToken\": european_ec2.sync_token,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var europeanEc2 = Aws.GetIpRanges.Invoke(new()\n {\n Regions = new[]\n {\n \"eu-west-1\",\n \"eu-central-1\",\n },\n Services = new[]\n {\n \"ec2\",\n },\n });\n\n var fromEurope = new Aws.Ec2.SecurityGroup(\"from_europe\", new()\n {\n Name = \"from_europe\",\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n {\n FromPort = 443,\n ToPort = 443,\n Protocol = \"tcp\",\n CidrBlocks = europeanEc2.Apply(getIpRangesResult =\u003e getIpRangesResult.CidrBlocks),\n Ipv6CidrBlocks = europeanEc2.Apply(getIpRangesResult =\u003e getIpRangesResult.Ipv6CidrBlocks),\n },\n },\n Tags = \n {\n { \"CreateDate\", europeanEc2.Apply(getIpRangesResult =\u003e getIpRangesResult.CreateDate) },\n { \"SyncToken\", europeanEc2.Apply(getIpRangesResult =\u003e getIpRangesResult.SyncToken) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\teuropeanEc2, err := aws.GetIpRanges(ctx, \u0026aws.GetIpRangesArgs{\n\t\t\tRegions: []string{\n\t\t\t\t\"eu-west-1\",\n\t\t\t\t\"eu-central-1\",\n\t\t\t},\n\t\t\tServices: []string{\n\t\t\t\t\"ec2\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroup(ctx, \"from_europe\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"from_europe\"),\n\t\t\tIngress: ec2.SecurityGroupIngressArray{\n\t\t\t\t\u0026ec2.SecurityGroupIngressArgs{\n\t\t\t\t\tFromPort: pulumi.Int(443),\n\t\t\t\t\tToPort: pulumi.Int(443),\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tCidrBlocks: interface{}(europeanEc2.CidrBlocks),\n\t\t\t\t\tIpv6CidrBlocks: interface{}(europeanEc2.Ipv6CidrBlocks),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"CreateDate\": pulumi.String(europeanEc2.CreateDate),\n\t\t\t\t\"SyncToken\": pulumi.Int(europeanEc2.SyncToken),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetIpRangesArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var europeanEc2 = AwsFunctions.getIpRanges(GetIpRangesArgs.builder()\n .regions( \n \"eu-west-1\",\n \"eu-central-1\")\n .services(\"ec2\")\n .build());\n\n var fromEurope = new SecurityGroup(\"fromEurope\", SecurityGroupArgs.builder()\n .name(\"from_europe\")\n .ingress(SecurityGroupIngressArgs.builder()\n .fromPort(\"443\")\n .toPort(\"443\")\n .protocol(\"tcp\")\n .cidrBlocks(europeanEc2.applyValue(getIpRangesResult -\u003e getIpRangesResult.cidrBlocks()))\n .ipv6CidrBlocks(europeanEc2.applyValue(getIpRangesResult -\u003e getIpRangesResult.ipv6CidrBlocks()))\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"CreateDate\", europeanEc2.applyValue(getIpRangesResult -\u003e getIpRangesResult.createDate())),\n Map.entry(\"SyncToken\", europeanEc2.applyValue(getIpRangesResult -\u003e getIpRangesResult.syncToken()))\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fromEurope:\n type: aws:ec2:SecurityGroup\n name: from_europe\n properties:\n name: from_europe\n ingress:\n - fromPort: '443'\n toPort: '443'\n protocol: tcp\n cidrBlocks: ${europeanEc2.cidrBlocks}\n ipv6CidrBlocks: ${europeanEc2.ipv6CidrBlocks}\n tags:\n CreateDate: ${europeanEc2.createDate}\n SyncToken: ${europeanEc2.syncToken}\nvariables:\n europeanEc2:\n fn::invoke:\n Function: aws:getIpRanges\n Arguments:\n regions:\n - eu-west-1\n - eu-central-1\n services:\n - ec2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getIpRanges.\n", "properties": { @@ -408485,7 +408485,7 @@ } }, "aws:index/getPartition:getPartition": { - "description": "Use this data source to lookup information about the current AWS partition in\nwhich the provider is working.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getPartition({});\nconst s3Policy = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n sid: \"1\",\n actions: [\"s3:ListBucket\"],\n resources: [`arn:${current.partition}:s3:::my-bucket`],\n }],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_partition()\ns3_policy = aws.iam.get_policy_document(statements=[{\n \"sid\": \"1\",\n \"actions\": [\"s3:ListBucket\"],\n \"resources\": [f\"arn:{current.partition}:s3:::my-bucket\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetPartition.Invoke();\n\n var s3Policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"1\",\n Actions = new[]\n {\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:s3:::my-bucket\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"1\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:%v:s3:::my-bucket\", current.Partition),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getPartition();\n\n final var s3Policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"1\")\n .actions(\"s3:ListBucket\")\n .resources(String.format(\"arn:%s:s3:::my-bucket\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:getPartition\n arguments: {}\n s3Policy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: '1'\n actions:\n - s3:ListBucket\n resources:\n - arn:${current.partition}:s3:::my-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to lookup information about the current AWS partition in\nwhich the provider is working.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getPartition({});\nconst s3Policy = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n sid: \"1\",\n actions: [\"s3:ListBucket\"],\n resources: [`arn:${current.partition}:s3:::my-bucket`],\n }],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_partition()\ns3_policy = aws.iam.get_policy_document(statements=[{\n \"sid\": \"1\",\n \"actions\": [\"s3:ListBucket\"],\n \"resources\": [f\"arn:{current.partition}:s3:::my-bucket\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetPartition.Invoke();\n\n var s3Policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"1\",\n Actions = new[]\n {\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:s3:::my-bucket\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetPartition(ctx, \u0026aws.GetPartitionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"1\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:%v:s3:::my-bucket\", current.Partition),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getPartition();\n\n final var s3Policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"1\")\n .actions(\"s3:ListBucket\")\n .resources(String.format(\"arn:%s:s3:::my-bucket\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n s3Policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: '1'\n actions:\n - s3:ListBucket\n resources:\n - arn:${current.partition}:s3:::my-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPartition.\n", "properties": { @@ -408526,7 +408526,7 @@ } }, "aws:index/getRegion:getRegion": { - "description": "`aws.getRegion` provides details about a specific AWS region.\n\nAs well as validating a given region name this resource can be used to\ndiscover the name of the region configured within the provider. The latter\ncan be useful in a child module which is inheriting an AWS provider\nconfiguration from its parent module.\n\n## Example Usage\n\nThe following example shows how the resource might be used to obtain\nthe name of the AWS region configured on the provider.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.getRegion` provides details about a specific AWS region.\n\nAs well as validating a given region name this resource can be used to\ndiscover the name of the region configured within the provider. The latter\ncan be useful in a child module which is inheriting an AWS provider\nconfiguration from its parent module.\n\n## Example Usage\n\nThe following example shows how the resource might be used to obtain\nthe name of the AWS region configured on the provider.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRegion.\n", "properties": { @@ -408573,7 +408573,7 @@ } }, "aws:index/getRegions:getRegions": { - "description": "Provides information about AWS Regions. Can be used to filter regions i.e., by Opt-In status or only regions enabled for current account. To get details like endpoint and description of each region the data source can be combined with the `aws.getRegion` data source.\n\n## Example Usage\n\nEnabled AWS Regions:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegions({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_regions()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegions.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetRegions(ctx, \u0026aws.GetRegionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegions();\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:getRegions\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAll the regions regardless of the availability\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegions({\n allRegions: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_regions(all_regions=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegions.Invoke(new()\n {\n AllRegions = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetRegions(ctx, \u0026aws.GetRegionsArgs{\n\t\t\tAllRegions: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()\n .allRegions(true)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:getRegions\n arguments:\n allRegions: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo see regions that are filtered by `\"not-opted-in\"`, the `all_regions` argument needs to be set to `true` or no results will be returned.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegions({\n allRegions: true,\n filters: [{\n name: \"opt-in-status\",\n values: [\"not-opted-in\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_regions(all_regions=True,\n filters=[{\n \"name\": \"opt-in-status\",\n \"values\": [\"not-opted-in\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegions.Invoke(new()\n {\n AllRegions = true,\n Filters = new[]\n {\n new Aws.Inputs.GetRegionsFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"not-opted-in\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetRegions(ctx, \u0026aws.GetRegionsArgs{\n\t\t\tAllRegions: pulumi.BoolRef(true),\n\t\t\tFilters: []aws.GetRegionsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"not-opted-in\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()\n .allRegions(true)\n .filters(GetRegionsFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"not-opted-in\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:getRegions\n arguments:\n allRegions: true\n filters:\n - name: opt-in-status\n values:\n - not-opted-in\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about AWS Regions. Can be used to filter regions i.e., by Opt-In status or only regions enabled for current account. To get details like endpoint and description of each region the data source can be combined with the `aws.getRegion` data source.\n\n## Example Usage\n\nEnabled AWS Regions:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegions({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_regions()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegions.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetRegions(ctx, \u0026aws.GetRegionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegions();\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegions\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAll the regions regardless of the availability\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegions({\n allRegions: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_regions(all_regions=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegions.Invoke(new()\n {\n AllRegions = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetRegions(ctx, \u0026aws.GetRegionsArgs{\n\t\t\tAllRegions: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()\n .allRegions(true)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegions\n Arguments:\n allRegions: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo see regions that are filtered by `\"not-opted-in\"`, the `all_regions` argument needs to be set to `true` or no results will be returned.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegions({\n allRegions: true,\n filters: [{\n name: \"opt-in-status\",\n values: [\"not-opted-in\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_regions(all_regions=True,\n filters=[{\n \"name\": \"opt-in-status\",\n \"values\": [\"not-opted-in\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegions.Invoke(new()\n {\n AllRegions = true,\n Filters = new[]\n {\n new Aws.Inputs.GetRegionsFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"not-opted-in\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetRegions(ctx, \u0026aws.GetRegionsArgs{\n\t\t\tAllRegions: pulumi.BoolRef(true),\n\t\t\tFilters: []aws.GetRegionsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"not-opted-in\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()\n .allRegions(true)\n .filters(GetRegionsFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"not-opted-in\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegions\n Arguments:\n allRegions: true\n filters:\n - name: opt-in-status\n values:\n - not-opted-in\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRegions.\n", "properties": { @@ -408627,7 +408627,7 @@ } }, "aws:index/getService:getService": { - "description": "Use this data source to compose and decompose AWS service DNS names.\n\n## Example Usage\n\n### Get Service DNS Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst test = current.then(current =\u003e aws.getService({\n region: current.name,\n serviceId: \"ec2\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ntest = aws.get_service(region=current.name,\n service_id=\"ec2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var test = Aws.GetService.Invoke(new()\n {\n Region = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n ServiceId = \"ec2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.GetService(ctx, \u0026aws.GetServiceArgs{\n\t\t\tRegion: pulumi.StringRef(current.Name),\n\t\t\tServiceId: pulumi.StringRef(\"ec2\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var test = AwsFunctions.getService(GetServiceArgs.builder()\n .region(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .serviceId(\"ec2\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n test:\n fn::invoke:\n function: aws:getService\n arguments:\n region: ${current.name}\n serviceId: ec2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use Service Reverse DNS Name to Get Components\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = aws.getService({\n reverseDnsName: \"cn.com.amazonaws.cn-north-1.s3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.get_service(reverse_dns_name=\"cn.com.amazonaws.cn-north-1.s3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = Aws.GetService.Invoke(new()\n {\n ReverseDnsName = \"cn.com.amazonaws.cn-north-1.s3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetService(ctx, \u0026aws.GetServiceArgs{\n\t\t\tReverseDnsName: pulumi.StringRef(\"cn.com.amazonaws.cn-north-1.s3\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var s3 = AwsFunctions.getService(GetServiceArgs.builder()\n .reverseDnsName(\"cn.com.amazonaws.cn-north-1.s3\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n s3:\n fn::invoke:\n function: aws:getService\n arguments:\n reverseDnsName: cn.com.amazonaws.cn-north-1.s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Determine Regional Support for a Service\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = aws.getService({\n reverseDnsName: \"com.amazonaws.us-gov-west-1.waf\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.get_service(reverse_dns_name=\"com.amazonaws.us-gov-west-1.waf\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = Aws.GetService.Invoke(new()\n {\n ReverseDnsName = \"com.amazonaws.us-gov-west-1.waf\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetService(ctx, \u0026aws.GetServiceArgs{\n\t\t\tReverseDnsName: pulumi.StringRef(\"com.amazonaws.us-gov-west-1.waf\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var s3 = AwsFunctions.getService(GetServiceArgs.builder()\n .reverseDnsName(\"com.amazonaws.us-gov-west-1.waf\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n s3:\n fn::invoke:\n function: aws:getService\n arguments:\n reverseDnsName: com.amazonaws.us-gov-west-1.waf\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to compose and decompose AWS service DNS names.\n\n## Example Usage\n\n### Get Service DNS Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst test = current.then(current =\u003e aws.getService({\n region: current.name,\n serviceId: \"ec2\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ntest = aws.get_service(region=current.name,\n service_id=\"ec2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var test = Aws.GetService.Invoke(new()\n {\n Region = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n ServiceId = \"ec2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.GetService(ctx, \u0026aws.GetServiceArgs{\n\t\t\tRegion: pulumi.StringRef(current.Name),\n\t\t\tServiceId: pulumi.StringRef(\"ec2\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var test = AwsFunctions.getService(GetServiceArgs.builder()\n .region(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .serviceId(\"ec2\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n test:\n fn::invoke:\n Function: aws:getService\n Arguments:\n region: ${current.name}\n serviceId: ec2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use Service Reverse DNS Name to Get Components\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = aws.getService({\n reverseDnsName: \"cn.com.amazonaws.cn-north-1.s3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.get_service(reverse_dns_name=\"cn.com.amazonaws.cn-north-1.s3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = Aws.GetService.Invoke(new()\n {\n ReverseDnsName = \"cn.com.amazonaws.cn-north-1.s3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetService(ctx, \u0026aws.GetServiceArgs{\n\t\t\tReverseDnsName: pulumi.StringRef(\"cn.com.amazonaws.cn-north-1.s3\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var s3 = AwsFunctions.getService(GetServiceArgs.builder()\n .reverseDnsName(\"cn.com.amazonaws.cn-north-1.s3\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n s3:\n fn::invoke:\n Function: aws:getService\n Arguments:\n reverseDnsName: cn.com.amazonaws.cn-north-1.s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Determine Regional Support for a Service\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = aws.getService({\n reverseDnsName: \"com.amazonaws.us-gov-west-1.waf\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.get_service(reverse_dns_name=\"com.amazonaws.us-gov-west-1.waf\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = Aws.GetService.Invoke(new()\n {\n ReverseDnsName = \"com.amazonaws.us-gov-west-1.waf\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetService(ctx, \u0026aws.GetServiceArgs{\n\t\t\tReverseDnsName: pulumi.StringRef(\"com.amazonaws.us-gov-west-1.waf\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var s3 = AwsFunctions.getService(GetServiceArgs.builder()\n .reverseDnsName(\"com.amazonaws.us-gov-west-1.waf\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n s3:\n fn::invoke:\n Function: aws:getService\n Arguments:\n reverseDnsName: com.amazonaws.us-gov-west-1.waf\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getService.\n", "properties": { @@ -408700,7 +408700,7 @@ } }, "aws:index/getServicePrincipal:getServicePrincipal": { - "description": "Use this data source to create a Service Principal Name for a service in a given region. Service Principal Names should always end in the standard global format: `{servicename}.amazonaws.com`. However, in some AWS partitions, AWS may expect a different format.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getServicePrincipal({\n serviceName: \"s3\",\n});\nconst test = aws.getServicePrincipal({\n serviceName: \"s3\",\n region: \"us-iso-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_service_principal(service_name=\"s3\")\ntest = aws.get_service_principal(service_name=\"s3\",\n region=\"us-iso-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetServicePrincipal.Invoke(new()\n {\n ServiceName = \"s3\",\n });\n\n var test = Aws.GetServicePrincipal.Invoke(new()\n {\n ServiceName = \"s3\",\n Region = \"us-iso-east-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetServicePrincipal(ctx, \u0026aws.GetServicePrincipalArgs{\n\t\t\tServiceName: \"s3\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.GetServicePrincipal(ctx, \u0026aws.GetServicePrincipalArgs{\n\t\t\tServiceName: \"s3\",\n\t\t\tRegion: pulumi.StringRef(\"us-iso-east-1\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetServicePrincipalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()\n .serviceName(\"s3\")\n .build());\n\n final var test = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()\n .serviceName(\"s3\")\n .region(\"us-iso-east-1\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:getServicePrincipal\n arguments:\n serviceName: s3\n test:\n fn::invoke:\n function: aws:getServicePrincipal\n arguments:\n serviceName: s3\n region: us-iso-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to create a Service Principal Name for a service in a given region. Service Principal Names should always end in the standard global format: `{servicename}.amazonaws.com`. However, in some AWS partitions, AWS may expect a different format.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getServicePrincipal({\n serviceName: \"s3\",\n});\nconst test = aws.getServicePrincipal({\n serviceName: \"s3\",\n region: \"us-iso-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_service_principal(service_name=\"s3\")\ntest = aws.get_service_principal(service_name=\"s3\",\n region=\"us-iso-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetServicePrincipal.Invoke(new()\n {\n ServiceName = \"s3\",\n });\n\n var test = Aws.GetServicePrincipal.Invoke(new()\n {\n ServiceName = \"s3\",\n Region = \"us-iso-east-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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 := aws.GetServicePrincipal(ctx, \u0026aws.GetServicePrincipalArgs{\n\t\t\tServiceName: \"s3\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.GetServicePrincipal(ctx, \u0026aws.GetServicePrincipalArgs{\n\t\t\tServiceName: \"s3\",\n\t\t\tRegion: pulumi.StringRef(\"us-iso-east-1\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetServicePrincipalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()\n .serviceName(\"s3\")\n .build());\n\n final var test = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()\n .serviceName(\"s3\")\n .region(\"us-iso-east-1\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getServicePrincipal\n Arguments:\n serviceName: s3\n test:\n fn::invoke:\n Function: aws:getServicePrincipal\n Arguments:\n serviceName: s3\n region: us-iso-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServicePrincipal.\n", "properties": { @@ -408752,7 +408752,7 @@ } }, "aws:inspector/getRulesPackages:getRulesPackages": { - "description": "The Amazon Inspector Classic Rules Packages data source allows access to the list of AWS\nInspector Rules Packages which can be used by Amazon Inspector Classic within the region\nconfigured in the provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst rules = aws.inspector.getRulesPackages({});\n// e.g., Use in aws_inspector_assessment_template\nconst group = new aws.inspector.ResourceGroup(\"group\", {tags: {\n test: \"test\",\n}});\nconst assessment = new aws.inspector.AssessmentTarget(\"assessment\", {\n name: \"test\",\n resourceGroupArn: group.arn,\n});\nconst assessmentAssessmentTemplate = new aws.inspector.AssessmentTemplate(\"assessment\", {\n name: \"Test\",\n targetArn: assessment.arn,\n duration: 60,\n rulesPackageArns: rules.then(rules =\u003e rules.arns),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\nrules = aws.inspector.get_rules_packages()\n# e.g., Use in aws_inspector_assessment_template\ngroup = aws.inspector.ResourceGroup(\"group\", tags={\n \"test\": \"test\",\n})\nassessment = aws.inspector.AssessmentTarget(\"assessment\",\n name=\"test\",\n resource_group_arn=group.arn)\nassessment_assessment_template = aws.inspector.AssessmentTemplate(\"assessment\",\n name=\"Test\",\n target_arn=assessment.arn,\n duration=60,\n rules_package_arns=rules.arns)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var rules = Aws.Inspector.GetRulesPackages.Invoke();\n\n // e.g., Use in aws_inspector_assessment_template\n var @group = new Aws.Inspector.ResourceGroup(\"group\", new()\n {\n Tags = \n {\n { \"test\", \"test\" },\n },\n });\n\n var assessment = new Aws.Inspector.AssessmentTarget(\"assessment\", new()\n {\n Name = \"test\",\n ResourceGroupArn = @group.Arn,\n });\n\n var assessmentAssessmentTemplate = new Aws.Inspector.AssessmentTemplate(\"assessment\", new()\n {\n Name = \"Test\",\n TargetArn = assessment.Arn,\n Duration = 60,\n RulesPackageArns = rules.Apply(getRulesPackagesResult =\u003e getRulesPackagesResult.Arns),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector\"\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// Declare the data source\n\t\trules, err := inspector.GetRulesPackages(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// e.g., Use in aws_inspector_assessment_template\n\t\tgroup, err := inspector.NewResourceGroup(ctx, \"group\", \u0026inspector.ResourceGroupArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"test\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassessment, err := inspector.NewAssessmentTarget(ctx, \"assessment\", \u0026inspector.AssessmentTargetArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tResourceGroupArn: group.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = inspector.NewAssessmentTemplate(ctx, \"assessment\", \u0026inspector.AssessmentTemplateArgs{\n\t\t\tName: pulumi.String(\"Test\"),\n\t\t\tTargetArn: assessment.Arn,\n\t\t\tDuration: pulumi.Int(60),\n\t\t\tRulesPackageArns: interface{}(rules.Arns),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.inspector.InspectorFunctions;\nimport com.pulumi.aws.inspector.ResourceGroup;\nimport com.pulumi.aws.inspector.ResourceGroupArgs;\nimport com.pulumi.aws.inspector.AssessmentTarget;\nimport com.pulumi.aws.inspector.AssessmentTargetArgs;\nimport com.pulumi.aws.inspector.AssessmentTemplate;\nimport com.pulumi.aws.inspector.AssessmentTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var rules = InspectorFunctions.getRulesPackages();\n\n // e.g., Use in aws_inspector_assessment_template\n var group = new ResourceGroup(\"group\", ResourceGroupArgs.builder()\n .tags(Map.of(\"test\", \"test\"))\n .build());\n\n var assessment = new AssessmentTarget(\"assessment\", AssessmentTargetArgs.builder()\n .name(\"test\")\n .resourceGroupArn(group.arn())\n .build());\n\n var assessmentAssessmentTemplate = new AssessmentTemplate(\"assessmentAssessmentTemplate\", AssessmentTemplateArgs.builder()\n .name(\"Test\")\n .targetArn(assessment.arn())\n .duration(\"60\")\n .rulesPackageArns(rules.applyValue(getRulesPackagesResult -\u003e getRulesPackagesResult.arns()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # e.g., Use in aws_inspector_assessment_template\n group:\n type: aws:inspector:ResourceGroup\n properties:\n tags:\n test: test\n assessment:\n type: aws:inspector:AssessmentTarget\n properties:\n name: test\n resourceGroupArn: ${group.arn}\n assessmentAssessmentTemplate:\n type: aws:inspector:AssessmentTemplate\n name: assessment\n properties:\n name: Test\n targetArn: ${assessment.arn}\n duration: '60'\n rulesPackageArns: ${rules.arns}\nvariables:\n # Declare the data source\n rules:\n fn::invoke:\n function: aws:inspector:getRulesPackages\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The Amazon Inspector Classic Rules Packages data source allows access to the list of AWS\nInspector Rules Packages which can be used by Amazon Inspector Classic within the region\nconfigured in the provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst rules = aws.inspector.getRulesPackages({});\n// e.g., Use in aws_inspector_assessment_template\nconst group = new aws.inspector.ResourceGroup(\"group\", {tags: {\n test: \"test\",\n}});\nconst assessment = new aws.inspector.AssessmentTarget(\"assessment\", {\n name: \"test\",\n resourceGroupArn: group.arn,\n});\nconst assessmentAssessmentTemplate = new aws.inspector.AssessmentTemplate(\"assessment\", {\n name: \"Test\",\n targetArn: assessment.arn,\n duration: 60,\n rulesPackageArns: rules.then(rules =\u003e rules.arns),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\nrules = aws.inspector.get_rules_packages()\n# e.g., Use in aws_inspector_assessment_template\ngroup = aws.inspector.ResourceGroup(\"group\", tags={\n \"test\": \"test\",\n})\nassessment = aws.inspector.AssessmentTarget(\"assessment\",\n name=\"test\",\n resource_group_arn=group.arn)\nassessment_assessment_template = aws.inspector.AssessmentTemplate(\"assessment\",\n name=\"Test\",\n target_arn=assessment.arn,\n duration=60,\n rules_package_arns=rules.arns)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var rules = Aws.Inspector.GetRulesPackages.Invoke();\n\n // e.g., Use in aws_inspector_assessment_template\n var @group = new Aws.Inspector.ResourceGroup(\"group\", new()\n {\n Tags = \n {\n { \"test\", \"test\" },\n },\n });\n\n var assessment = new Aws.Inspector.AssessmentTarget(\"assessment\", new()\n {\n Name = \"test\",\n ResourceGroupArn = @group.Arn,\n });\n\n var assessmentAssessmentTemplate = new Aws.Inspector.AssessmentTemplate(\"assessment\", new()\n {\n Name = \"Test\",\n TargetArn = assessment.Arn,\n Duration = 60,\n RulesPackageArns = rules.Apply(getRulesPackagesResult =\u003e getRulesPackagesResult.Arns),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector\"\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// Declare the data source\n\t\trules, err := inspector.GetRulesPackages(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// e.g., Use in aws_inspector_assessment_template\n\t\tgroup, err := inspector.NewResourceGroup(ctx, \"group\", \u0026inspector.ResourceGroupArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"test\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassessment, err := inspector.NewAssessmentTarget(ctx, \"assessment\", \u0026inspector.AssessmentTargetArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tResourceGroupArn: group.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = inspector.NewAssessmentTemplate(ctx, \"assessment\", \u0026inspector.AssessmentTemplateArgs{\n\t\t\tName: pulumi.String(\"Test\"),\n\t\t\tTargetArn: assessment.Arn,\n\t\t\tDuration: pulumi.Int(60),\n\t\t\tRulesPackageArns: interface{}(rules.Arns),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.inspector.InspectorFunctions;\nimport com.pulumi.aws.inspector.ResourceGroup;\nimport com.pulumi.aws.inspector.ResourceGroupArgs;\nimport com.pulumi.aws.inspector.AssessmentTarget;\nimport com.pulumi.aws.inspector.AssessmentTargetArgs;\nimport com.pulumi.aws.inspector.AssessmentTemplate;\nimport com.pulumi.aws.inspector.AssessmentTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var rules = InspectorFunctions.getRulesPackages();\n\n // e.g., Use in aws_inspector_assessment_template\n var group = new ResourceGroup(\"group\", ResourceGroupArgs.builder()\n .tags(Map.of(\"test\", \"test\"))\n .build());\n\n var assessment = new AssessmentTarget(\"assessment\", AssessmentTargetArgs.builder()\n .name(\"test\")\n .resourceGroupArn(group.arn())\n .build());\n\n var assessmentAssessmentTemplate = new AssessmentTemplate(\"assessmentAssessmentTemplate\", AssessmentTemplateArgs.builder()\n .name(\"Test\")\n .targetArn(assessment.arn())\n .duration(\"60\")\n .rulesPackageArns(rules.applyValue(getRulesPackagesResult -\u003e getRulesPackagesResult.arns()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # e.g., Use in aws_inspector_assessment_template\n group:\n type: aws:inspector:ResourceGroup\n properties:\n tags:\n test: test\n assessment:\n type: aws:inspector:AssessmentTarget\n properties:\n name: test\n resourceGroupArn: ${group.arn}\n assessmentAssessmentTemplate:\n type: aws:inspector:AssessmentTemplate\n name: assessment\n properties:\n name: Test\n targetArn: ${assessment.arn}\n duration: '60'\n rulesPackageArns: ${rules.arns}\nvariables:\n # Declare the data source\n rules:\n fn::invoke:\n Function: aws:inspector:getRulesPackages\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getRulesPackages.\n", "properties": { @@ -408776,7 +408776,7 @@ } }, "aws:iot/getEndpoint:getEndpoint": { - "description": "Returns a unique endpoint specific to the AWS account making the call.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.IotFunctions;\nimport com.pulumi.aws.iot.inputs.GetEndpointArgs;\nimport com.pulumi.kubernetes.core_v1.Pod;\nimport com.pulumi.kubernetes.core_v1.PodArgs;\nimport com.pulumi.kubernetes.meta_v1.inputs.ObjectMetaArgs;\nimport com.pulumi.kubernetes.core_v1.inputs.PodSpecArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IotFunctions.getEndpoint();\n\n var agent = new Pod(\"agent\", PodArgs.builder()\n .metadata(ObjectMetaArgs.builder()\n .name(\"my-device\")\n .build())\n .spec(PodSpecArgs.builder()\n .container(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n agent:\n type: kubernetes:core/v1:Pod\n properties:\n metadata:\n name: my-device\n spec:\n container:\n - image: gcr.io/my-project/image-name\n name: image-name\n env:\n - name: IOT_ENDPOINT\n value: ${example.endpointAddress}\nvariables:\n example:\n fn::invoke:\n function: aws:iot:getEndpoint\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Returns a unique endpoint specific to the AWS account making the call.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.IotFunctions;\nimport com.pulumi.aws.iot.inputs.GetEndpointArgs;\nimport com.pulumi.kubernetes.core_v1.Pod;\nimport com.pulumi.kubernetes.core_v1.PodArgs;\nimport com.pulumi.kubernetes.meta_v1.inputs.ObjectMetaArgs;\nimport com.pulumi.kubernetes.core_v1.inputs.PodSpecArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IotFunctions.getEndpoint();\n\n var agent = new Pod(\"agent\", PodArgs.builder()\n .metadata(ObjectMetaArgs.builder()\n .name(\"my-device\")\n .build())\n .spec(PodSpecArgs.builder()\n .container(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n agent:\n type: kubernetes:core/v1:Pod\n properties:\n metadata:\n name: my-device\n spec:\n container:\n - image: gcr.io/my-project/image-name\n name: image-name\n env:\n - name: IOT_ENDPOINT\n value: ${example.endpointAddress}\nvariables:\n example:\n fn::invoke:\n Function: aws:iot:getEndpoint\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEndpoint.\n", "properties": { @@ -408810,7 +408810,7 @@ } }, "aws:iot/getRegistrationCode:getRegistrationCode": { - "description": "Gets a registration code used to register a CA certificate with AWS IoT.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as tls from \"@pulumi/tls\";\n\nconst example = aws.iot.getRegistrationCode({});\nconst verification = new tls.PrivateKey(\"verification\", {algorithm: \"RSA\"});\nconst verificationCertRequest = new tls.CertRequest(\"verification\", {\n keyAlgorithm: \"RSA\",\n privateKeyPem: verification.privateKeyPem,\n subject: {\n commonName: example.then(example =\u003e example.registrationCode),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_tls as tls\n\nexample = aws.iot.get_registration_code()\nverification = tls.PrivateKey(\"verification\", algorithm=\"RSA\")\nverification_cert_request = tls.CertRequest(\"verification\",\n key_algorithm=\"RSA\",\n private_key_pem=verification.private_key_pem,\n subject={\n \"common_name\": example.registration_code,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iot.GetRegistrationCode.Invoke();\n\n var verification = new Tls.PrivateKey(\"verification\", new()\n {\n Algorithm = \"RSA\",\n });\n\n var verificationCertRequest = new Tls.CertRequest(\"verification\", new()\n {\n KeyAlgorithm = \"RSA\",\n PrivateKeyPem = verification.PrivateKeyPem,\n Subject = new Tls.Inputs.CertRequestSubjectArgs\n {\n CommonName = example.Apply(getRegistrationCodeResult =\u003e getRegistrationCodeResult.RegistrationCode),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iot.GetRegistrationCode(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tverification, err := tls.NewPrivateKey(ctx, \"verification\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = tls.NewCertRequest(ctx, \"verification\", \u0026tls.CertRequestArgs{\n\t\t\tKeyAlgorithm: pulumi.String(\"RSA\"),\n\t\t\tPrivateKeyPem: verification.PrivateKeyPem,\n\t\t\tSubject: \u0026tls.CertRequestSubjectArgs{\n\t\t\t\tCommonName: pulumi.String(example.RegistrationCode),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.IotFunctions;\nimport com.pulumi.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.tls.CertRequest;\nimport com.pulumi.tls.CertRequestArgs;\nimport com.pulumi.tls.inputs.CertRequestSubjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IotFunctions.getRegistrationCode();\n\n var verification = new PrivateKey(\"verification\", PrivateKeyArgs.builder()\n .algorithm(\"RSA\")\n .build());\n\n var verificationCertRequest = new CertRequest(\"verificationCertRequest\", CertRequestArgs.builder()\n .keyAlgorithm(\"RSA\")\n .privateKeyPem(verification.privateKeyPem())\n .subject(CertRequestSubjectArgs.builder()\n .commonName(example.applyValue(getRegistrationCodeResult -\u003e getRegistrationCodeResult.registrationCode()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n verification:\n type: tls:PrivateKey\n properties:\n algorithm: RSA\n verificationCertRequest:\n type: tls:CertRequest\n name: verification\n properties:\n keyAlgorithm: RSA\n privateKeyPem: ${verification.privateKeyPem}\n subject:\n commonName: ${example.registrationCode}\nvariables:\n example:\n fn::invoke:\n function: aws:iot:getRegistrationCode\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets a registration code used to register a CA certificate with AWS IoT.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as tls from \"@pulumi/tls\";\n\nconst example = aws.iot.getRegistrationCode({});\nconst verification = new tls.PrivateKey(\"verification\", {algorithm: \"RSA\"});\nconst verificationCertRequest = new tls.CertRequest(\"verification\", {\n keyAlgorithm: \"RSA\",\n privateKeyPem: verification.privateKeyPem,\n subject: {\n commonName: example.then(example =\u003e example.registrationCode),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_tls as tls\n\nexample = aws.iot.get_registration_code()\nverification = tls.PrivateKey(\"verification\", algorithm=\"RSA\")\nverification_cert_request = tls.CertRequest(\"verification\",\n key_algorithm=\"RSA\",\n private_key_pem=verification.private_key_pem,\n subject={\n \"common_name\": example.registration_code,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iot.GetRegistrationCode.Invoke();\n\n var verification = new Tls.PrivateKey(\"verification\", new()\n {\n Algorithm = \"RSA\",\n });\n\n var verificationCertRequest = new Tls.CertRequest(\"verification\", new()\n {\n KeyAlgorithm = \"RSA\",\n PrivateKeyPem = verification.PrivateKeyPem,\n Subject = new Tls.Inputs.CertRequestSubjectArgs\n {\n CommonName = example.Apply(getRegistrationCodeResult =\u003e getRegistrationCodeResult.RegistrationCode),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iot.GetRegistrationCode(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tverification, err := tls.NewPrivateKey(ctx, \"verification\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = tls.NewCertRequest(ctx, \"verification\", \u0026tls.CertRequestArgs{\n\t\t\tKeyAlgorithm: pulumi.String(\"RSA\"),\n\t\t\tPrivateKeyPem: verification.PrivateKeyPem,\n\t\t\tSubject: \u0026tls.CertRequestSubjectArgs{\n\t\t\t\tCommonName: pulumi.String(example.RegistrationCode),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.IotFunctions;\nimport com.pulumi.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.tls.CertRequest;\nimport com.pulumi.tls.CertRequestArgs;\nimport com.pulumi.tls.inputs.CertRequestSubjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IotFunctions.getRegistrationCode();\n\n var verification = new PrivateKey(\"verification\", PrivateKeyArgs.builder()\n .algorithm(\"RSA\")\n .build());\n\n var verificationCertRequest = new CertRequest(\"verificationCertRequest\", CertRequestArgs.builder()\n .keyAlgorithm(\"RSA\")\n .privateKeyPem(verification.privateKeyPem())\n .subject(CertRequestSubjectArgs.builder()\n .commonName(example.applyValue(getRegistrationCodeResult -\u003e getRegistrationCodeResult.registrationCode()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n verification:\n type: tls:PrivateKey\n properties:\n algorithm: RSA\n verificationCertRequest:\n type: tls:CertRequest\n name: verification\n properties:\n keyAlgorithm: RSA\n privateKeyPem: ${verification.privateKeyPem}\n subject:\n commonName: ${example.registrationCode}\nvariables:\n example:\n fn::invoke:\n Function: aws:iot:getRegistrationCode\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getRegistrationCode.\n", "properties": { @@ -408831,7 +408831,7 @@ } }, "aws:ivs/getStreamKey:getStreamKey": { - "description": "Data source for managing an AWS IVS (Interactive Video) Stream Key.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ivs.getStreamKey({\n channelArn: \"arn:aws:ivs:us-west-2:326937407773:channel/0Y1lcs4U7jk5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ivs.get_stream_key(channel_arn=\"arn:aws:ivs:us-west-2:326937407773:channel/0Y1lcs4U7jk5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ivs.GetStreamKey.Invoke(new()\n {\n ChannelArn = \"arn:aws:ivs:us-west-2:326937407773:channel/0Y1lcs4U7jk5\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivs\"\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 := ivs.GetStreamKey(ctx, \u0026ivs.GetStreamKeyArgs{\n\t\t\tChannelArn: \"arn:aws:ivs:us-west-2:326937407773:channel/0Y1lcs4U7jk5\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ivs.IvsFunctions;\nimport com.pulumi.aws.ivs.inputs.GetStreamKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IvsFunctions.getStreamKey(GetStreamKeyArgs.builder()\n .channelArn(\"arn:aws:ivs:us-west-2:326937407773:channel/0Y1lcs4U7jk5\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ivs:getStreamKey\n arguments:\n channelArn: arn:aws:ivs:us-west-2:326937407773:channel/0Y1lcs4U7jk5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS IVS (Interactive Video) Stream Key.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ivs.getStreamKey({\n channelArn: \"arn:aws:ivs:us-west-2:326937407773:channel/0Y1lcs4U7jk5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ivs.get_stream_key(channel_arn=\"arn:aws:ivs:us-west-2:326937407773:channel/0Y1lcs4U7jk5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ivs.GetStreamKey.Invoke(new()\n {\n ChannelArn = \"arn:aws:ivs:us-west-2:326937407773:channel/0Y1lcs4U7jk5\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivs\"\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 := ivs.GetStreamKey(ctx, \u0026ivs.GetStreamKeyArgs{\n\t\t\tChannelArn: \"arn:aws:ivs:us-west-2:326937407773:channel/0Y1lcs4U7jk5\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ivs.IvsFunctions;\nimport com.pulumi.aws.ivs.inputs.GetStreamKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IvsFunctions.getStreamKey(GetStreamKeyArgs.builder()\n .channelArn(\"arn:aws:ivs:us-west-2:326937407773:channel/0Y1lcs4U7jk5\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ivs:getStreamKey\n Arguments:\n channelArn: arn:aws:ivs:us-west-2:326937407773:channel/0Y1lcs4U7jk5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getStreamKey.\n", "properties": { @@ -408889,7 +408889,7 @@ } }, "aws:kendra/getExperience:getExperience": { - "description": "Provides details about a specific Amazon Kendra Experience.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.kendra.getExperience({\n experienceId: \"87654321-1234-4321-4321-321987654321\",\n indexId: \"12345678-1234-1234-1234-123456789123\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.get_experience(experience_id=\"87654321-1234-4321-4321-321987654321\",\n index_id=\"12345678-1234-1234-1234-123456789123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Kendra.GetExperience.Invoke(new()\n {\n ExperienceId = \"87654321-1234-4321-4321-321987654321\",\n IndexId = \"12345678-1234-1234-1234-123456789123\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.LookupExperience(ctx, \u0026kendra.LookupExperienceArgs{\n\t\t\tExperienceId: \"87654321-1234-4321-4321-321987654321\",\n\t\t\tIndexId: \"12345678-1234-1234-1234-123456789123\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.KendraFunctions;\nimport com.pulumi.aws.kendra.inputs.GetExperienceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = KendraFunctions.getExperience(GetExperienceArgs.builder()\n .experienceId(\"87654321-1234-4321-4321-321987654321\")\n .indexId(\"12345678-1234-1234-1234-123456789123\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:kendra:getExperience\n arguments:\n experienceId: 87654321-1234-4321-4321-321987654321\n indexId: 12345678-1234-1234-1234-123456789123\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Kendra Experience.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.kendra.getExperience({\n experienceId: \"87654321-1234-4321-4321-321987654321\",\n indexId: \"12345678-1234-1234-1234-123456789123\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.get_experience(experience_id=\"87654321-1234-4321-4321-321987654321\",\n index_id=\"12345678-1234-1234-1234-123456789123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Kendra.GetExperience.Invoke(new()\n {\n ExperienceId = \"87654321-1234-4321-4321-321987654321\",\n IndexId = \"12345678-1234-1234-1234-123456789123\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.LookupExperience(ctx, \u0026kendra.LookupExperienceArgs{\n\t\t\tExperienceId: \"87654321-1234-4321-4321-321987654321\",\n\t\t\tIndexId: \"12345678-1234-1234-1234-123456789123\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.KendraFunctions;\nimport com.pulumi.aws.kendra.inputs.GetExperienceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = KendraFunctions.getExperience(GetExperienceArgs.builder()\n .experienceId(\"87654321-1234-4321-4321-321987654321\")\n .indexId(\"12345678-1234-1234-1234-123456789123\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:kendra:getExperience\n Arguments:\n experienceId: 87654321-1234-4321-4321-321987654321\n indexId: 12345678-1234-1234-1234-123456789123\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getExperience.\n", "properties": { @@ -408987,7 +408987,7 @@ } }, "aws:kendra/getFaq:getFaq": { - "description": "Provides details about a specific Amazon Kendra Faq.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.kendra.getFaq({\n faqId: \"87654321-1234-4321-4321-321987654321\",\n indexId: \"12345678-1234-1234-1234-123456789123\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.kendra.get_faq(faq_id=\"87654321-1234-4321-4321-321987654321\",\n index_id=\"12345678-1234-1234-1234-123456789123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Kendra.GetFaq.Invoke(new()\n {\n FaqId = \"87654321-1234-4321-4321-321987654321\",\n IndexId = \"12345678-1234-1234-1234-123456789123\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.LookupFaq(ctx, \u0026kendra.LookupFaqArgs{\n\t\t\tFaqId: \"87654321-1234-4321-4321-321987654321\",\n\t\t\tIndexId: \"12345678-1234-1234-1234-123456789123\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.KendraFunctions;\nimport com.pulumi.aws.kendra.inputs.GetFaqArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = KendraFunctions.getFaq(GetFaqArgs.builder()\n .faqId(\"87654321-1234-4321-4321-321987654321\")\n .indexId(\"12345678-1234-1234-1234-123456789123\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:kendra:getFaq\n arguments:\n faqId: 87654321-1234-4321-4321-321987654321\n indexId: 12345678-1234-1234-1234-123456789123\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Kendra Faq.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.kendra.getFaq({\n faqId: \"87654321-1234-4321-4321-321987654321\",\n indexId: \"12345678-1234-1234-1234-123456789123\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.kendra.get_faq(faq_id=\"87654321-1234-4321-4321-321987654321\",\n index_id=\"12345678-1234-1234-1234-123456789123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Kendra.GetFaq.Invoke(new()\n {\n FaqId = \"87654321-1234-4321-4321-321987654321\",\n IndexId = \"12345678-1234-1234-1234-123456789123\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.LookupFaq(ctx, \u0026kendra.LookupFaqArgs{\n\t\t\tFaqId: \"87654321-1234-4321-4321-321987654321\",\n\t\t\tIndexId: \"12345678-1234-1234-1234-123456789123\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.KendraFunctions;\nimport com.pulumi.aws.kendra.inputs.GetFaqArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = KendraFunctions.getFaq(GetFaqArgs.builder()\n .faqId(\"87654321-1234-4321-4321-321987654321\")\n .indexId(\"12345678-1234-1234-1234-123456789123\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:kendra:getFaq\n Arguments:\n faqId: 87654321-1234-4321-4321-321987654321\n indexId: 12345678-1234-1234-1234-123456789123\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getFaq.\n", "properties": { @@ -409102,7 +409102,7 @@ } }, "aws:kendra/getIndex:getIndex": { - "description": "Provides details about a specific Amazon Kendra Index.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.kendra.getIndex({\n id: \"12345678-1234-1234-1234-123456789123\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.get_index(id=\"12345678-1234-1234-1234-123456789123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Kendra.GetIndex.Invoke(new()\n {\n Id = \"12345678-1234-1234-1234-123456789123\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.LookupIndex(ctx, \u0026kendra.LookupIndexArgs{\n\t\t\tId: \"12345678-1234-1234-1234-123456789123\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.KendraFunctions;\nimport com.pulumi.aws.kendra.inputs.GetIndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = KendraFunctions.getIndex(GetIndexArgs.builder()\n .id(\"12345678-1234-1234-1234-123456789123\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:kendra:getIndex\n arguments:\n id: 12345678-1234-1234-1234-123456789123\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Kendra Index.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.kendra.getIndex({\n id: \"12345678-1234-1234-1234-123456789123\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.get_index(id=\"12345678-1234-1234-1234-123456789123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Kendra.GetIndex.Invoke(new()\n {\n Id = \"12345678-1234-1234-1234-123456789123\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.LookupIndex(ctx, \u0026kendra.LookupIndexArgs{\n\t\t\tId: \"12345678-1234-1234-1234-123456789123\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.KendraFunctions;\nimport com.pulumi.aws.kendra.inputs.GetIndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = KendraFunctions.getIndex(GetIndexArgs.builder()\n .id(\"12345678-1234-1234-1234-123456789123\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:kendra:getIndex\n Arguments:\n id: 12345678-1234-1234-1234-123456789123\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getIndex.\n", "properties": { @@ -409244,7 +409244,7 @@ } }, "aws:kendra/getQuerySuggestionsBlockList:getQuerySuggestionsBlockList": { - "description": "Provides details about a specific Amazon Kendra block list used for query suggestions for an index.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.kendra.getQuerySuggestionsBlockList({\n indexId: \"12345678-1234-1234-1234-123456789123\",\n querySuggestionsBlockListId: \"87654321-1234-4321-4321-321987654321\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.get_query_suggestions_block_list(index_id=\"12345678-1234-1234-1234-123456789123\",\n query_suggestions_block_list_id=\"87654321-1234-4321-4321-321987654321\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Kendra.GetQuerySuggestionsBlockList.Invoke(new()\n {\n IndexId = \"12345678-1234-1234-1234-123456789123\",\n QuerySuggestionsBlockListId = \"87654321-1234-4321-4321-321987654321\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.LookupQuerySuggestionsBlockList(ctx, \u0026kendra.LookupQuerySuggestionsBlockListArgs{\n\t\t\tIndexId: \"12345678-1234-1234-1234-123456789123\",\n\t\t\tQuerySuggestionsBlockListId: \"87654321-1234-4321-4321-321987654321\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.KendraFunctions;\nimport com.pulumi.aws.kendra.inputs.GetQuerySuggestionsBlockListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = KendraFunctions.getQuerySuggestionsBlockList(GetQuerySuggestionsBlockListArgs.builder()\n .indexId(\"12345678-1234-1234-1234-123456789123\")\n .querySuggestionsBlockListId(\"87654321-1234-4321-4321-321987654321\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:kendra:getQuerySuggestionsBlockList\n arguments:\n indexId: 12345678-1234-1234-1234-123456789123\n querySuggestionsBlockListId: 87654321-1234-4321-4321-321987654321\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Kendra block list used for query suggestions for an index.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.kendra.getQuerySuggestionsBlockList({\n indexId: \"12345678-1234-1234-1234-123456789123\",\n querySuggestionsBlockListId: \"87654321-1234-4321-4321-321987654321\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.get_query_suggestions_block_list(index_id=\"12345678-1234-1234-1234-123456789123\",\n query_suggestions_block_list_id=\"87654321-1234-4321-4321-321987654321\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Kendra.GetQuerySuggestionsBlockList.Invoke(new()\n {\n IndexId = \"12345678-1234-1234-1234-123456789123\",\n QuerySuggestionsBlockListId = \"87654321-1234-4321-4321-321987654321\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.LookupQuerySuggestionsBlockList(ctx, \u0026kendra.LookupQuerySuggestionsBlockListArgs{\n\t\t\tIndexId: \"12345678-1234-1234-1234-123456789123\",\n\t\t\tQuerySuggestionsBlockListId: \"87654321-1234-4321-4321-321987654321\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.KendraFunctions;\nimport com.pulumi.aws.kendra.inputs.GetQuerySuggestionsBlockListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = KendraFunctions.getQuerySuggestionsBlockList(GetQuerySuggestionsBlockListArgs.builder()\n .indexId(\"12345678-1234-1234-1234-123456789123\")\n .querySuggestionsBlockListId(\"87654321-1234-4321-4321-321987654321\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:kendra:getQuerySuggestionsBlockList\n Arguments:\n indexId: 12345678-1234-1234-1234-123456789123\n querySuggestionsBlockListId: 87654321-1234-4321-4321-321987654321\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getQuerySuggestionsBlockList.\n", "properties": { @@ -409359,7 +409359,7 @@ } }, "aws:kendra/getThesaurus:getThesaurus": { - "description": "Provides details about a specific Amazon Kendra Thesaurus.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.kendra.getThesaurus({\n indexId: \"12345678-1234-1234-1234-123456789123\",\n thesaurusId: \"87654321-1234-4321-4321-321987654321\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.get_thesaurus(index_id=\"12345678-1234-1234-1234-123456789123\",\n thesaurus_id=\"87654321-1234-4321-4321-321987654321\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Kendra.GetThesaurus.Invoke(new()\n {\n IndexId = \"12345678-1234-1234-1234-123456789123\",\n ThesaurusId = \"87654321-1234-4321-4321-321987654321\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.LookupThesaurus(ctx, \u0026kendra.LookupThesaurusArgs{\n\t\t\tIndexId: \"12345678-1234-1234-1234-123456789123\",\n\t\t\tThesaurusId: \"87654321-1234-4321-4321-321987654321\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.KendraFunctions;\nimport com.pulumi.aws.kendra.inputs.GetThesaurusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = KendraFunctions.getThesaurus(GetThesaurusArgs.builder()\n .indexId(\"12345678-1234-1234-1234-123456789123\")\n .thesaurusId(\"87654321-1234-4321-4321-321987654321\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:kendra:getThesaurus\n arguments:\n indexId: 12345678-1234-1234-1234-123456789123\n thesaurusId: 87654321-1234-4321-4321-321987654321\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Kendra Thesaurus.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.kendra.getThesaurus({\n indexId: \"12345678-1234-1234-1234-123456789123\",\n thesaurusId: \"87654321-1234-4321-4321-321987654321\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.get_thesaurus(index_id=\"12345678-1234-1234-1234-123456789123\",\n thesaurus_id=\"87654321-1234-4321-4321-321987654321\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Kendra.GetThesaurus.Invoke(new()\n {\n IndexId = \"12345678-1234-1234-1234-123456789123\",\n ThesaurusId = \"87654321-1234-4321-4321-321987654321\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\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 := kendra.LookupThesaurus(ctx, \u0026kendra.LookupThesaurusArgs{\n\t\t\tIndexId: \"12345678-1234-1234-1234-123456789123\",\n\t\t\tThesaurusId: \"87654321-1234-4321-4321-321987654321\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.KendraFunctions;\nimport com.pulumi.aws.kendra.inputs.GetThesaurusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = KendraFunctions.getThesaurus(GetThesaurusArgs.builder()\n .indexId(\"12345678-1234-1234-1234-123456789123\")\n .thesaurusId(\"87654321-1234-4321-4321-321987654321\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:kendra:getThesaurus\n Arguments:\n indexId: 12345678-1234-1234-1234-123456789123\n thesaurusId: 87654321-1234-4321-4321-321987654321\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getThesaurus.\n", "properties": { @@ -409479,7 +409479,7 @@ } }, "aws:kinesis/getFirehoseDeliveryStream:getFirehoseDeliveryStream": { - "description": "Use this data source to get information about a Kinesis Firehose Delivery Stream for use in other resources.\n\nFor more details, see the [Amazon Kinesis Firehose Documentation](https://aws.amazon.com/documentation/firehose/).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst stream = aws.kinesis.getFirehoseDeliveryStream({\n name: \"stream-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nstream = aws.kinesis.get_firehose_delivery_stream(name=\"stream-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var stream = Aws.Kinesis.GetFirehoseDeliveryStream.Invoke(new()\n {\n Name = \"stream-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.LookupFirehoseDeliveryStream(ctx, \u0026kinesis.LookupFirehoseDeliveryStreamArgs{\n\t\t\tName: \"stream-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.KinesisFunctions;\nimport com.pulumi.aws.kinesis.inputs.GetFirehoseDeliveryStreamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var stream = KinesisFunctions.getFirehoseDeliveryStream(GetFirehoseDeliveryStreamArgs.builder()\n .name(\"stream-name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n stream:\n fn::invoke:\n function: aws:kinesis:getFirehoseDeliveryStream\n arguments:\n name: stream-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about a Kinesis Firehose Delivery Stream for use in other resources.\n\nFor more details, see the [Amazon Kinesis Firehose Documentation](https://aws.amazon.com/documentation/firehose/).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst stream = aws.kinesis.getFirehoseDeliveryStream({\n name: \"stream-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nstream = aws.kinesis.get_firehose_delivery_stream(name=\"stream-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var stream = Aws.Kinesis.GetFirehoseDeliveryStream.Invoke(new()\n {\n Name = \"stream-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.LookupFirehoseDeliveryStream(ctx, \u0026kinesis.LookupFirehoseDeliveryStreamArgs{\n\t\t\tName: \"stream-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.KinesisFunctions;\nimport com.pulumi.aws.kinesis.inputs.GetFirehoseDeliveryStreamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var stream = KinesisFunctions.getFirehoseDeliveryStream(GetFirehoseDeliveryStreamArgs.builder()\n .name(\"stream-name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n stream:\n fn::invoke:\n Function: aws:kinesis:getFirehoseDeliveryStream\n Arguments:\n name: stream-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getFirehoseDeliveryStream.\n", "properties": { @@ -409517,7 +409517,7 @@ } }, "aws:kinesis/getStream:getStream": { - "description": "Use this data source to get information about a Kinesis Stream for use in other\nresources.\n\nFor more details, see the [Amazon Kinesis Documentation](https://aws.amazon.com/documentation/kinesis/).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst stream = aws.kinesis.getStream({\n name: \"stream-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nstream = aws.kinesis.get_stream(name=\"stream-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var stream = Aws.Kinesis.GetStream.Invoke(new()\n {\n Name = \"stream-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.LookupStream(ctx, \u0026kinesis.LookupStreamArgs{\n\t\t\tName: \"stream-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.KinesisFunctions;\nimport com.pulumi.aws.kinesis.inputs.GetStreamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var stream = KinesisFunctions.getStream(GetStreamArgs.builder()\n .name(\"stream-name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n stream:\n fn::invoke:\n function: aws:kinesis:getStream\n arguments:\n name: stream-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about a Kinesis Stream for use in other\nresources.\n\nFor more details, see the [Amazon Kinesis Documentation](https://aws.amazon.com/documentation/kinesis/).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst stream = aws.kinesis.getStream({\n name: \"stream-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nstream = aws.kinesis.get_stream(name=\"stream-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var stream = Aws.Kinesis.GetStream.Invoke(new()\n {\n Name = \"stream-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.LookupStream(ctx, \u0026kinesis.LookupStreamArgs{\n\t\t\tName: \"stream-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.KinesisFunctions;\nimport com.pulumi.aws.kinesis.inputs.GetStreamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var stream = KinesisFunctions.getStream(GetStreamArgs.builder()\n .name(\"stream-name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n stream:\n fn::invoke:\n Function: aws:kinesis:getStream\n Arguments:\n name: stream-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getStream.\n", "properties": { @@ -409628,7 +409628,7 @@ } }, "aws:kinesis/getStreamConsumer:getStreamConsumer": { - "description": "Provides details about a Kinesis Stream Consumer.\n\nFor more details, see the [Amazon Kinesis Stream Consumer Documentation](https://docs.aws.amazon.com/streams/latest/dev/amazon-kinesis-consumers.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.kinesis.getStreamConsumer({\n name: \"example-consumer\",\n streamArn: exampleAwsKinesisStream.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kinesis.get_stream_consumer(name=\"example-consumer\",\n stream_arn=example_aws_kinesis_stream[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Kinesis.GetStreamConsumer.Invoke(new()\n {\n Name = \"example-consumer\",\n StreamArn = exampleAwsKinesisStream.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.LookupStreamConsumer(ctx, \u0026kinesis.LookupStreamConsumerArgs{\n\t\t\tName: pulumi.StringRef(\"example-consumer\"),\n\t\t\tStreamArn: exampleAwsKinesisStream.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.KinesisFunctions;\nimport com.pulumi.aws.kinesis.inputs.GetStreamConsumerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = KinesisFunctions.getStreamConsumer(GetStreamConsumerArgs.builder()\n .name(\"example-consumer\")\n .streamArn(exampleAwsKinesisStream.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:kinesis:getStreamConsumer\n arguments:\n name: example-consumer\n streamArn: ${exampleAwsKinesisStream.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a Kinesis Stream Consumer.\n\nFor more details, see the [Amazon Kinesis Stream Consumer Documentation](https://docs.aws.amazon.com/streams/latest/dev/amazon-kinesis-consumers.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.kinesis.getStreamConsumer({\n name: \"example-consumer\",\n streamArn: exampleAwsKinesisStream.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kinesis.get_stream_consumer(name=\"example-consumer\",\n stream_arn=example_aws_kinesis_stream[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Kinesis.GetStreamConsumer.Invoke(new()\n {\n Name = \"example-consumer\",\n StreamArn = exampleAwsKinesisStream.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.LookupStreamConsumer(ctx, \u0026kinesis.LookupStreamConsumerArgs{\n\t\t\tName: pulumi.StringRef(\"example-consumer\"),\n\t\t\tStreamArn: exampleAwsKinesisStream.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.KinesisFunctions;\nimport com.pulumi.aws.kinesis.inputs.GetStreamConsumerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = KinesisFunctions.getStreamConsumer(GetStreamConsumerArgs.builder()\n .name(\"example-consumer\")\n .streamArn(exampleAwsKinesisStream.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:kinesis:getStreamConsumer\n Arguments:\n name: example-consumer\n streamArn: ${exampleAwsKinesisStream.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getStreamConsumer.\n", "properties": { @@ -409687,7 +409687,7 @@ } }, "aws:kms/getAlias:getAlias": { - "description": "Use this data source to get the ARN of a KMS key alias.\nBy using this data source, you can reference key alias\nwithout having to hard code the ARN as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = aws.kms.getAlias({\n name: \"alias/aws/s3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.kms.get_alias(name=\"alias/aws/s3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = Aws.Kms.GetAlias.Invoke(new()\n {\n Name = \"alias/aws/s3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\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 := kms.LookupAlias(ctx, \u0026kms.LookupAliasArgs{\n\t\t\tName: \"alias/aws/s3\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var s3 = KmsFunctions.getAlias(GetAliasArgs.builder()\n .name(\"alias/aws/s3\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n s3:\n fn::invoke:\n function: aws:kms:getAlias\n arguments:\n name: alias/aws/s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the ARN of a KMS key alias.\nBy using this data source, you can reference key alias\nwithout having to hard code the ARN as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = aws.kms.getAlias({\n name: \"alias/aws/s3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.kms.get_alias(name=\"alias/aws/s3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = Aws.Kms.GetAlias.Invoke(new()\n {\n Name = \"alias/aws/s3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\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 := kms.LookupAlias(ctx, \u0026kms.LookupAliasArgs{\n\t\t\tName: \"alias/aws/s3\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var s3 = KmsFunctions.getAlias(GetAliasArgs.builder()\n .name(\"alias/aws/s3\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n s3:\n fn::invoke:\n Function: aws:kms:getAlias\n Arguments:\n name: alias/aws/s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAlias.\n", "properties": { @@ -409736,7 +409736,7 @@ } }, "aws:kms/getCipherText:getCipherText": { - "description": "The KMS ciphertext data source allows you to encrypt plaintext into ciphertext\nby using an AWS KMS customer master key. The value returned by this data source\nchanges every apply. For a stable ciphertext value, see the `aws.kms.Ciphertext`\nresource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst oauthConfig = new aws.kms.Key(\"oauth_config\", {\n description: \"oauth config\",\n isEnabled: true,\n});\nconst oauth = aws.kms.getCipherTextOutput({\n keyId: oauthConfig.keyId,\n plaintext: `{\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\noauth_config = aws.kms.Key(\"oauth_config\",\n description=\"oauth config\",\n is_enabled=True)\noauth = aws.kms.get_cipher_text_output(key_id=oauth_config.key_id,\n plaintext=\"\"\"{\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var oauthConfig = new Aws.Kms.Key(\"oauth_config\", new()\n {\n Description = \"oauth config\",\n IsEnabled = true,\n });\n\n var oauth = Aws.Kms.GetCipherText.Invoke(new()\n {\n KeyId = oauthConfig.KeyId,\n Plaintext = @\"{\n \"\"client_id\"\": \"\"e587dbae22222f55da22\"\",\n \"\"client_secret\"\": \"\"8289575d00000ace55e1815ec13673955721b8a5\"\"\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\toauthConfig, err := kms.NewKey(ctx, \"oauth_config\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"oauth config\"),\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = kms.GetCipherTextOutput(ctx, kms.GetCipherTextOutputArgs{\n\t\t\tKeyId: oauthConfig.KeyId,\n\t\t\tPlaintext: pulumi.String(\"{\\n \\\"client_id\\\": \\\"e587dbae22222f55da22\\\",\\n \\\"client_secret\\\": \\\"8289575d00000ace55e1815ec13673955721b8a5\\\"\\n}\\n\"),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetCipherTextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var oauthConfig = new Key(\"oauthConfig\", KeyArgs.builder()\n .description(\"oauth config\")\n .isEnabled(true)\n .build());\n\n final var oauth = KmsFunctions.getCipherText(GetCipherTextArgs.builder()\n .keyId(oauthConfig.keyId())\n .plaintext(\"\"\"\n{\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n oauthConfig:\n type: aws:kms:Key\n name: oauth_config\n properties:\n description: oauth config\n isEnabled: true\nvariables:\n oauth:\n fn::invoke:\n function: aws:kms:getCipherText\n arguments:\n keyId: ${oauthConfig.keyId}\n plaintext: |\n {\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The KMS ciphertext data source allows you to encrypt plaintext into ciphertext\nby using an AWS KMS customer master key. The value returned by this data source\nchanges every apply. For a stable ciphertext value, see the `aws.kms.Ciphertext`\nresource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst oauthConfig = new aws.kms.Key(\"oauth_config\", {\n description: \"oauth config\",\n isEnabled: true,\n});\nconst oauth = aws.kms.getCipherTextOutput({\n keyId: oauthConfig.keyId,\n plaintext: `{\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\noauth_config = aws.kms.Key(\"oauth_config\",\n description=\"oauth config\",\n is_enabled=True)\noauth = aws.kms.get_cipher_text_output(key_id=oauth_config.key_id,\n plaintext=\"\"\"{\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var oauthConfig = new Aws.Kms.Key(\"oauth_config\", new()\n {\n Description = \"oauth config\",\n IsEnabled = true,\n });\n\n var oauth = Aws.Kms.GetCipherText.Invoke(new()\n {\n KeyId = oauthConfig.KeyId,\n Plaintext = @\"{\n \"\"client_id\"\": \"\"e587dbae22222f55da22\"\",\n \"\"client_secret\"\": \"\"8289575d00000ace55e1815ec13673955721b8a5\"\"\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\toauthConfig, err := kms.NewKey(ctx, \"oauth_config\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"oauth config\"),\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = kms.GetCipherTextOutput(ctx, kms.GetCipherTextOutputArgs{\n\t\t\tKeyId: oauthConfig.KeyId,\n\t\t\tPlaintext: pulumi.String(\"{\\n \\\"client_id\\\": \\\"e587dbae22222f55da22\\\",\\n \\\"client_secret\\\": \\\"8289575d00000ace55e1815ec13673955721b8a5\\\"\\n}\\n\"),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetCipherTextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var oauthConfig = new Key(\"oauthConfig\", KeyArgs.builder()\n .description(\"oauth config\")\n .isEnabled(true)\n .build());\n\n final var oauth = KmsFunctions.getCipherText(GetCipherTextArgs.builder()\n .keyId(oauthConfig.keyId())\n .plaintext(\"\"\"\n{\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n oauthConfig:\n type: aws:kms:Key\n name: oauth_config\n properties:\n description: oauth config\n isEnabled: true\nvariables:\n oauth:\n fn::invoke:\n Function: aws:kms:getCipherText\n Arguments:\n keyId: ${oauthConfig.keyId}\n plaintext: |\n {\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCipherText.\n", "properties": { @@ -409798,7 +409798,7 @@ } }, "aws:kms/getCustomKeyStore:getCustomKeyStore": { - "description": "Use this data source to get the metadata KMS custom key store.\nBy using this data source, you can reference KMS custom key store\nwithout having to hard code the ID as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst keystore = aws.kms.getCustomKeyStore({\n customKeyStoreName: \"my_cloudhsm\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nkeystore = aws.kms.get_custom_key_store(custom_key_store_name=\"my_cloudhsm\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var keystore = Aws.Kms.GetCustomKeyStore.Invoke(new()\n {\n CustomKeyStoreName = \"my_cloudhsm\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\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 := kms.LookupCustomKeyStore(ctx, \u0026kms.LookupCustomKeyStoreArgs{\n\t\t\tCustomKeyStoreName: pulumi.StringRef(\"my_cloudhsm\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetCustomKeyStoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var keystore = KmsFunctions.getCustomKeyStore(GetCustomKeyStoreArgs.builder()\n .customKeyStoreName(\"my_cloudhsm\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n keystore:\n fn::invoke:\n function: aws:kms:getCustomKeyStore\n arguments:\n customKeyStoreName: my_cloudhsm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the metadata KMS custom key store.\nBy using this data source, you can reference KMS custom key store\nwithout having to hard code the ID as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst keystore = aws.kms.getCustomKeyStore({\n customKeyStoreName: \"my_cloudhsm\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nkeystore = aws.kms.get_custom_key_store(custom_key_store_name=\"my_cloudhsm\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var keystore = Aws.Kms.GetCustomKeyStore.Invoke(new()\n {\n CustomKeyStoreName = \"my_cloudhsm\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\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 := kms.LookupCustomKeyStore(ctx, \u0026kms.LookupCustomKeyStoreArgs{\n\t\t\tCustomKeyStoreName: pulumi.StringRef(\"my_cloudhsm\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetCustomKeyStoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var keystore = KmsFunctions.getCustomKeyStore(GetCustomKeyStoreArgs.builder()\n .customKeyStoreName(\"my_cloudhsm\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n keystore:\n fn::invoke:\n Function: aws:kms:getCustomKeyStore\n Arguments:\n customKeyStoreName: my_cloudhsm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCustomKeyStore.\n", "properties": { @@ -409855,7 +409855,7 @@ } }, "aws:kms/getKey:getKey": { - "description": "Use this data source to get detailed information about\nthe specified KMS Key with flexible key id input.\nThis can be useful to reference key alias\nwithout having to hard code the ARN as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byAlias = aws.kms.getKey({\n keyId: \"alias/my-key\",\n});\nconst byId = aws.kms.getKey({\n keyId: \"1234abcd-12ab-34cd-56ef-1234567890ab\",\n});\nconst byAliasArn = aws.kms.getKey({\n keyId: \"arn:aws:kms:us-east-1:111122223333:alias/my-key\",\n});\nconst byKeyArn = aws.kms.getKey({\n keyId: \"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_alias = aws.kms.get_key(key_id=\"alias/my-key\")\nby_id = aws.kms.get_key(key_id=\"1234abcd-12ab-34cd-56ef-1234567890ab\")\nby_alias_arn = aws.kms.get_key(key_id=\"arn:aws:kms:us-east-1:111122223333:alias/my-key\")\nby_key_arn = aws.kms.get_key(key_id=\"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byAlias = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"alias/my-key\",\n });\n\n var byId = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"1234abcd-12ab-34cd-56ef-1234567890ab\",\n });\n\n var byAliasArn = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"arn:aws:kms:us-east-1:111122223333:alias/my-key\",\n });\n\n var byKeyArn = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\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 := kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"alias/my-key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"1234abcd-12ab-34cd-56ef-1234567890ab\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"arn:aws:kms:us-east-1:111122223333:alias/my-key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byAlias = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"alias/my-key\")\n .build());\n\n final var byId = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"1234abcd-12ab-34cd-56ef-1234567890ab\")\n .build());\n\n final var byAliasArn = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"arn:aws:kms:us-east-1:111122223333:alias/my-key\")\n .build());\n\n final var byKeyArn = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byAlias:\n fn::invoke:\n function: aws:kms:getKey\n arguments:\n keyId: alias/my-key\n byId:\n fn::invoke:\n function: aws:kms:getKey\n arguments:\n keyId: 1234abcd-12ab-34cd-56ef-1234567890ab\n byAliasArn:\n fn::invoke:\n function: aws:kms:getKey\n arguments:\n keyId: arn:aws:kms:us-east-1:111122223333:alias/my-key\n byKeyArn:\n fn::invoke:\n function: aws:kms:getKey\n arguments:\n keyId: arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get detailed information about\nthe specified KMS Key with flexible key id input.\nThis can be useful to reference key alias\nwithout having to hard code the ARN as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byAlias = aws.kms.getKey({\n keyId: \"alias/my-key\",\n});\nconst byId = aws.kms.getKey({\n keyId: \"1234abcd-12ab-34cd-56ef-1234567890ab\",\n});\nconst byAliasArn = aws.kms.getKey({\n keyId: \"arn:aws:kms:us-east-1:111122223333:alias/my-key\",\n});\nconst byKeyArn = aws.kms.getKey({\n keyId: \"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_alias = aws.kms.get_key(key_id=\"alias/my-key\")\nby_id = aws.kms.get_key(key_id=\"1234abcd-12ab-34cd-56ef-1234567890ab\")\nby_alias_arn = aws.kms.get_key(key_id=\"arn:aws:kms:us-east-1:111122223333:alias/my-key\")\nby_key_arn = aws.kms.get_key(key_id=\"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byAlias = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"alias/my-key\",\n });\n\n var byId = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"1234abcd-12ab-34cd-56ef-1234567890ab\",\n });\n\n var byAliasArn = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"arn:aws:kms:us-east-1:111122223333:alias/my-key\",\n });\n\n var byKeyArn = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\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 := kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"alias/my-key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"1234abcd-12ab-34cd-56ef-1234567890ab\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"arn:aws:kms:us-east-1:111122223333:alias/my-key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byAlias = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"alias/my-key\")\n .build());\n\n final var byId = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"1234abcd-12ab-34cd-56ef-1234567890ab\")\n .build());\n\n final var byAliasArn = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"arn:aws:kms:us-east-1:111122223333:alias/my-key\")\n .build());\n\n final var byKeyArn = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byAlias:\n fn::invoke:\n Function: aws:kms:getKey\n Arguments:\n keyId: alias/my-key\n byId:\n fn::invoke:\n Function: aws:kms:getKey\n Arguments:\n keyId: 1234abcd-12ab-34cd-56ef-1234567890ab\n byAliasArn:\n fn::invoke:\n Function: aws:kms:getKey\n Arguments:\n keyId: arn:aws:kms:us-east-1:111122223333:alias/my-key\n byKeyArn:\n fn::invoke:\n Function: aws:kms:getKey\n Arguments:\n keyId: arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getKey.\n", "properties": { @@ -410007,7 +410007,7 @@ } }, "aws:kms/getPublicKey:getPublicKey": { - "description": "Use this data source to get the public key about the specified KMS Key with flexible key id input. This can be useful to reference key alias without having to hard code the ARN as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byAlias = aws.kms.getPublicKey({\n keyId: \"alias/my-key\",\n});\nconst byId = aws.kms.getPublicKey({\n keyId: \"1234abcd-12ab-34cd-56ef-1234567890ab\",\n});\nconst byAliasArn = aws.kms.getPublicKey({\n keyId: \"arn:aws:kms:us-east-1:111122223333:alias/my-key\",\n});\nconst byKeyArn = aws.kms.getPublicKey({\n keyId: \"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_alias = aws.kms.get_public_key(key_id=\"alias/my-key\")\nby_id = aws.kms.get_public_key(key_id=\"1234abcd-12ab-34cd-56ef-1234567890ab\")\nby_alias_arn = aws.kms.get_public_key(key_id=\"arn:aws:kms:us-east-1:111122223333:alias/my-key\")\nby_key_arn = aws.kms.get_public_key(key_id=\"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byAlias = Aws.Kms.GetPublicKey.Invoke(new()\n {\n KeyId = \"alias/my-key\",\n });\n\n var byId = Aws.Kms.GetPublicKey.Invoke(new()\n {\n KeyId = \"1234abcd-12ab-34cd-56ef-1234567890ab\",\n });\n\n var byAliasArn = Aws.Kms.GetPublicKey.Invoke(new()\n {\n KeyId = \"arn:aws:kms:us-east-1:111122223333:alias/my-key\",\n });\n\n var byKeyArn = Aws.Kms.GetPublicKey.Invoke(new()\n {\n KeyId = \"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\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 := kms.GetPublicKey(ctx, \u0026kms.GetPublicKeyArgs{\n\t\t\tKeyId: \"alias/my-key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.GetPublicKey(ctx, \u0026kms.GetPublicKeyArgs{\n\t\t\tKeyId: \"1234abcd-12ab-34cd-56ef-1234567890ab\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.GetPublicKey(ctx, \u0026kms.GetPublicKeyArgs{\n\t\t\tKeyId: \"arn:aws:kms:us-east-1:111122223333:alias/my-key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.GetPublicKey(ctx, \u0026kms.GetPublicKeyArgs{\n\t\t\tKeyId: \"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetPublicKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byAlias = KmsFunctions.getPublicKey(GetPublicKeyArgs.builder()\n .keyId(\"alias/my-key\")\n .build());\n\n final var byId = KmsFunctions.getPublicKey(GetPublicKeyArgs.builder()\n .keyId(\"1234abcd-12ab-34cd-56ef-1234567890ab\")\n .build());\n\n final var byAliasArn = KmsFunctions.getPublicKey(GetPublicKeyArgs.builder()\n .keyId(\"arn:aws:kms:us-east-1:111122223333:alias/my-key\")\n .build());\n\n final var byKeyArn = KmsFunctions.getPublicKey(GetPublicKeyArgs.builder()\n .keyId(\"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byAlias:\n fn::invoke:\n function: aws:kms:getPublicKey\n arguments:\n keyId: alias/my-key\n byId:\n fn::invoke:\n function: aws:kms:getPublicKey\n arguments:\n keyId: 1234abcd-12ab-34cd-56ef-1234567890ab\n byAliasArn:\n fn::invoke:\n function: aws:kms:getPublicKey\n arguments:\n keyId: arn:aws:kms:us-east-1:111122223333:alias/my-key\n byKeyArn:\n fn::invoke:\n function: aws:kms:getPublicKey\n arguments:\n keyId: arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the public key about the specified KMS Key with flexible key id input. This can be useful to reference key alias without having to hard code the ARN as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byAlias = aws.kms.getPublicKey({\n keyId: \"alias/my-key\",\n});\nconst byId = aws.kms.getPublicKey({\n keyId: \"1234abcd-12ab-34cd-56ef-1234567890ab\",\n});\nconst byAliasArn = aws.kms.getPublicKey({\n keyId: \"arn:aws:kms:us-east-1:111122223333:alias/my-key\",\n});\nconst byKeyArn = aws.kms.getPublicKey({\n keyId: \"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_alias = aws.kms.get_public_key(key_id=\"alias/my-key\")\nby_id = aws.kms.get_public_key(key_id=\"1234abcd-12ab-34cd-56ef-1234567890ab\")\nby_alias_arn = aws.kms.get_public_key(key_id=\"arn:aws:kms:us-east-1:111122223333:alias/my-key\")\nby_key_arn = aws.kms.get_public_key(key_id=\"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byAlias = Aws.Kms.GetPublicKey.Invoke(new()\n {\n KeyId = \"alias/my-key\",\n });\n\n var byId = Aws.Kms.GetPublicKey.Invoke(new()\n {\n KeyId = \"1234abcd-12ab-34cd-56ef-1234567890ab\",\n });\n\n var byAliasArn = Aws.Kms.GetPublicKey.Invoke(new()\n {\n KeyId = \"arn:aws:kms:us-east-1:111122223333:alias/my-key\",\n });\n\n var byKeyArn = Aws.Kms.GetPublicKey.Invoke(new()\n {\n KeyId = \"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\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 := kms.GetPublicKey(ctx, \u0026kms.GetPublicKeyArgs{\n\t\t\tKeyId: \"alias/my-key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.GetPublicKey(ctx, \u0026kms.GetPublicKeyArgs{\n\t\t\tKeyId: \"1234abcd-12ab-34cd-56ef-1234567890ab\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.GetPublicKey(ctx, \u0026kms.GetPublicKeyArgs{\n\t\t\tKeyId: \"arn:aws:kms:us-east-1:111122223333:alias/my-key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.GetPublicKey(ctx, \u0026kms.GetPublicKeyArgs{\n\t\t\tKeyId: \"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetPublicKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byAlias = KmsFunctions.getPublicKey(GetPublicKeyArgs.builder()\n .keyId(\"alias/my-key\")\n .build());\n\n final var byId = KmsFunctions.getPublicKey(GetPublicKeyArgs.builder()\n .keyId(\"1234abcd-12ab-34cd-56ef-1234567890ab\")\n .build());\n\n final var byAliasArn = KmsFunctions.getPublicKey(GetPublicKeyArgs.builder()\n .keyId(\"arn:aws:kms:us-east-1:111122223333:alias/my-key\")\n .build());\n\n final var byKeyArn = KmsFunctions.getPublicKey(GetPublicKeyArgs.builder()\n .keyId(\"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byAlias:\n fn::invoke:\n Function: aws:kms:getPublicKey\n Arguments:\n keyId: alias/my-key\n byId:\n fn::invoke:\n Function: aws:kms:getPublicKey\n Arguments:\n keyId: 1234abcd-12ab-34cd-56ef-1234567890ab\n byAliasArn:\n fn::invoke:\n Function: aws:kms:getPublicKey\n Arguments:\n keyId: arn:aws:kms:us-east-1:111122223333:alias/my-key\n byKeyArn:\n fn::invoke:\n Function: aws:kms:getPublicKey\n Arguments:\n keyId: arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPublicKey.\n", "properties": { @@ -410179,7 +410179,7 @@ } }, "aws:lakeformation/getDataLakeSettings:getDataLakeSettings": { - "description": "Get Lake Formation principals designated as data lake administrators and lists of principal permission entries for default create database and default create table permissions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.lakeformation.getDataLakeSettings({\n catalogId: \"14916253649\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.get_data_lake_settings(catalog_id=\"14916253649\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.LakeFormation.GetDataLakeSettings.Invoke(new()\n {\n CatalogId = \"14916253649\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\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 := lakeformation.LookupDataLakeSettings(ctx, \u0026lakeformation.LookupDataLakeSettingsArgs{\n\t\t\tCatalogId: pulumi.StringRef(\"14916253649\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lakeformation.LakeformationFunctions;\nimport com.pulumi.aws.lakeformation.inputs.GetDataLakeSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LakeformationFunctions.getDataLakeSettings(GetDataLakeSettingsArgs.builder()\n .catalogId(\"14916253649\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:lakeformation:getDataLakeSettings\n arguments:\n catalogId: '14916253649'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get Lake Formation principals designated as data lake administrators and lists of principal permission entries for default create database and default create table permissions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.lakeformation.getDataLakeSettings({\n catalogId: \"14916253649\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.get_data_lake_settings(catalog_id=\"14916253649\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.LakeFormation.GetDataLakeSettings.Invoke(new()\n {\n CatalogId = \"14916253649\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\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 := lakeformation.LookupDataLakeSettings(ctx, \u0026lakeformation.LookupDataLakeSettingsArgs{\n\t\t\tCatalogId: pulumi.StringRef(\"14916253649\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lakeformation.LakeformationFunctions;\nimport com.pulumi.aws.lakeformation.inputs.GetDataLakeSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LakeformationFunctions.getDataLakeSettings(GetDataLakeSettingsArgs.builder()\n .catalogId(\"14916253649\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:lakeformation:getDataLakeSettings\n Arguments:\n catalogId: '14916253649'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDataLakeSettings.\n", "properties": { @@ -410282,7 +410282,7 @@ } }, "aws:lakeformation/getPermissions:getPermissions": { - "description": "Get permissions for a principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. Permissions are granted to a principal, in a Data Catalog, relative to a Lake Formation resource, which includes the Data Catalog, databases, tables, LF-tags, and LF-tag policies. For more information, see [Security and Access Control to Metadata and Data in Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html).\n\n\u003e **NOTE:** This data source deals with explicitly granted permissions. Lake Formation grants implicit permissions to data lake administrators, database creators, and table creators. For more information, see [Implicit Lake Formation Permissions](https://docs.aws.amazon.com/lake-formation/latest/dg/implicit-permissions.html).\n\n## Example Usage\n\n### Permissions For A Lake Formation S3 Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.lakeformation.getPermissions({\n principal: workflowRole.arn,\n dataLocation: {\n arn: testAwsLakeformationResource.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lakeformation.get_permissions(principal=workflow_role[\"arn\"],\n data_location={\n \"arn\": test_aws_lakeformation_resource[\"arn\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.LakeFormation.GetPermissions.Invoke(new()\n {\n Principal = workflowRole.Arn,\n DataLocation = new Aws.LakeFormation.Inputs.GetPermissionsDataLocationInputArgs\n {\n Arn = testAwsLakeformationResource.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\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 := lakeformation.LookupPermissions(ctx, \u0026lakeformation.LookupPermissionsArgs{\n\t\t\tPrincipal: workflowRole.Arn,\n\t\t\tDataLocation: lakeformation.GetPermissionsDataLocation{\n\t\t\t\tArn: testAwsLakeformationResource.Arn,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lakeformation.LakeformationFunctions;\nimport com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.GetPermissionsDataLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()\n .principal(workflowRole.arn())\n .dataLocation(GetPermissionsDataLocationArgs.builder()\n .arn(testAwsLakeformationResource.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:lakeformation:getPermissions\n arguments:\n principal: ${workflowRole.arn}\n dataLocation:\n arn: ${testAwsLakeformationResource.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Permissions For A Glue Catalog Database\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.lakeformation.getPermissions({\n principal: workflowRole.arn,\n database: {\n name: testAwsGlueCatalogDatabase.name,\n catalogId: \"110376042874\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lakeformation.get_permissions(principal=workflow_role[\"arn\"],\n database={\n \"name\": test_aws_glue_catalog_database[\"name\"],\n \"catalog_id\": \"110376042874\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.LakeFormation.GetPermissions.Invoke(new()\n {\n Principal = workflowRole.Arn,\n Database = new Aws.LakeFormation.Inputs.GetPermissionsDatabaseInputArgs\n {\n Name = testAwsGlueCatalogDatabase.Name,\n CatalogId = \"110376042874\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\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 := lakeformation.LookupPermissions(ctx, \u0026lakeformation.LookupPermissionsArgs{\n\t\t\tPrincipal: workflowRole.Arn,\n\t\t\tDatabase: lakeformation.GetPermissionsDatabase{\n\t\t\t\tName: testAwsGlueCatalogDatabase.Name,\n\t\t\t\tCatalogId: \"110376042874\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lakeformation.LakeformationFunctions;\nimport com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.GetPermissionsDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()\n .principal(workflowRole.arn())\n .database(GetPermissionsDatabaseArgs.builder()\n .name(testAwsGlueCatalogDatabase.name())\n .catalogId(\"110376042874\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:lakeformation:getPermissions\n arguments:\n principal: ${workflowRole.arn}\n database:\n name: ${testAwsGlueCatalogDatabase.name}\n catalogId: '110376042874'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Permissions For Tag-Based Access Control\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.lakeformation.getPermissions({\n principal: workflowRole.arn,\n lfTagPolicy: {\n resourceType: \"DATABASE\",\n expressions: [\n {\n key: \"Team\",\n values: [\"Sales\"],\n },\n {\n key: \"Environment\",\n values: [\n \"Dev\",\n \"Production\",\n ],\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lakeformation.get_permissions(principal=workflow_role[\"arn\"],\n lf_tag_policy={\n \"resource_type\": \"DATABASE\",\n \"expressions\": [\n {\n \"key\": \"Team\",\n \"values\": [\"Sales\"],\n },\n {\n \"key\": \"Environment\",\n \"values\": [\n \"Dev\",\n \"Production\",\n ],\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.LakeFormation.GetPermissions.Invoke(new()\n {\n Principal = workflowRole.Arn,\n LfTagPolicy = new Aws.LakeFormation.Inputs.GetPermissionsLfTagPolicyInputArgs\n {\n ResourceType = \"DATABASE\",\n Expressions = new[]\n {\n new Aws.LakeFormation.Inputs.GetPermissionsLfTagPolicyExpressionInputArgs\n {\n Key = \"Team\",\n Values = new[]\n {\n \"Sales\",\n },\n },\n new Aws.LakeFormation.Inputs.GetPermissionsLfTagPolicyExpressionInputArgs\n {\n Key = \"Environment\",\n Values = new[]\n {\n \"Dev\",\n \"Production\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\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 := lakeformation.LookupPermissions(ctx, \u0026lakeformation.LookupPermissionsArgs{\n\t\t\tPrincipal: workflowRole.Arn,\n\t\t\tLfTagPolicy: lakeformation.GetPermissionsLfTagPolicy{\n\t\t\t\tResourceType: \"DATABASE\",\n\t\t\t\tExpressions: []lakeformation.GetPermissionsLfTagPolicyExpression{\n\t\t\t\t\t{\n\t\t\t\t\t\tKey: \"Team\",\n\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\"Sales\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tKey: \"Environment\",\n\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\"Dev\",\n\t\t\t\t\t\t\t\"Production\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lakeformation.LakeformationFunctions;\nimport com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.GetPermissionsLfTagPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()\n .principal(workflowRole.arn())\n .lfTagPolicy(GetPermissionsLfTagPolicyArgs.builder()\n .resourceType(\"DATABASE\")\n .expressions( \n GetPermissionsLfTagPolicyExpressionArgs.builder()\n .key(\"Team\")\n .values(\"Sales\")\n .build(),\n GetPermissionsLfTagPolicyExpressionArgs.builder()\n .key(\"Environment\")\n .values( \n \"Dev\",\n \"Production\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:lakeformation:getPermissions\n arguments:\n principal: ${workflowRole.arn}\n lfTagPolicy:\n resourceType: DATABASE\n expressions:\n - key: Team\n values:\n - Sales\n - key: Environment\n values:\n - Dev\n - Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get permissions for a principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. Permissions are granted to a principal, in a Data Catalog, relative to a Lake Formation resource, which includes the Data Catalog, databases, tables, LF-tags, and LF-tag policies. For more information, see [Security and Access Control to Metadata and Data in Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html).\n\n\u003e **NOTE:** This data source deals with explicitly granted permissions. Lake Formation grants implicit permissions to data lake administrators, database creators, and table creators. For more information, see [Implicit Lake Formation Permissions](https://docs.aws.amazon.com/lake-formation/latest/dg/implicit-permissions.html).\n\n## Example Usage\n\n### Permissions For A Lake Formation S3 Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.lakeformation.getPermissions({\n principal: workflowRole.arn,\n dataLocation: {\n arn: testAwsLakeformationResource.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lakeformation.get_permissions(principal=workflow_role[\"arn\"],\n data_location={\n \"arn\": test_aws_lakeformation_resource[\"arn\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.LakeFormation.GetPermissions.Invoke(new()\n {\n Principal = workflowRole.Arn,\n DataLocation = new Aws.LakeFormation.Inputs.GetPermissionsDataLocationInputArgs\n {\n Arn = testAwsLakeformationResource.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\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 := lakeformation.LookupPermissions(ctx, \u0026lakeformation.LookupPermissionsArgs{\n\t\t\tPrincipal: workflowRole.Arn,\n\t\t\tDataLocation: lakeformation.GetPermissionsDataLocation{\n\t\t\t\tArn: testAwsLakeformationResource.Arn,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lakeformation.LakeformationFunctions;\nimport com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.GetPermissionsDataLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()\n .principal(workflowRole.arn())\n .dataLocation(GetPermissionsDataLocationArgs.builder()\n .arn(testAwsLakeformationResource.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:lakeformation:getPermissions\n Arguments:\n principal: ${workflowRole.arn}\n dataLocation:\n arn: ${testAwsLakeformationResource.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Permissions For A Glue Catalog Database\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.lakeformation.getPermissions({\n principal: workflowRole.arn,\n database: {\n name: testAwsGlueCatalogDatabase.name,\n catalogId: \"110376042874\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lakeformation.get_permissions(principal=workflow_role[\"arn\"],\n database={\n \"name\": test_aws_glue_catalog_database[\"name\"],\n \"catalog_id\": \"110376042874\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.LakeFormation.GetPermissions.Invoke(new()\n {\n Principal = workflowRole.Arn,\n Database = new Aws.LakeFormation.Inputs.GetPermissionsDatabaseInputArgs\n {\n Name = testAwsGlueCatalogDatabase.Name,\n CatalogId = \"110376042874\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\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 := lakeformation.LookupPermissions(ctx, \u0026lakeformation.LookupPermissionsArgs{\n\t\t\tPrincipal: workflowRole.Arn,\n\t\t\tDatabase: lakeformation.GetPermissionsDatabase{\n\t\t\t\tName: testAwsGlueCatalogDatabase.Name,\n\t\t\t\tCatalogId: \"110376042874\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lakeformation.LakeformationFunctions;\nimport com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.GetPermissionsDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()\n .principal(workflowRole.arn())\n .database(GetPermissionsDatabaseArgs.builder()\n .name(testAwsGlueCatalogDatabase.name())\n .catalogId(\"110376042874\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:lakeformation:getPermissions\n Arguments:\n principal: ${workflowRole.arn}\n database:\n name: ${testAwsGlueCatalogDatabase.name}\n catalogId: '110376042874'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Permissions For Tag-Based Access Control\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.lakeformation.getPermissions({\n principal: workflowRole.arn,\n lfTagPolicy: {\n resourceType: \"DATABASE\",\n expressions: [\n {\n key: \"Team\",\n values: [\"Sales\"],\n },\n {\n key: \"Environment\",\n values: [\n \"Dev\",\n \"Production\",\n ],\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lakeformation.get_permissions(principal=workflow_role[\"arn\"],\n lf_tag_policy={\n \"resource_type\": \"DATABASE\",\n \"expressions\": [\n {\n \"key\": \"Team\",\n \"values\": [\"Sales\"],\n },\n {\n \"key\": \"Environment\",\n \"values\": [\n \"Dev\",\n \"Production\",\n ],\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.LakeFormation.GetPermissions.Invoke(new()\n {\n Principal = workflowRole.Arn,\n LfTagPolicy = new Aws.LakeFormation.Inputs.GetPermissionsLfTagPolicyInputArgs\n {\n ResourceType = \"DATABASE\",\n Expressions = new[]\n {\n new Aws.LakeFormation.Inputs.GetPermissionsLfTagPolicyExpressionInputArgs\n {\n Key = \"Team\",\n Values = new[]\n {\n \"Sales\",\n },\n },\n new Aws.LakeFormation.Inputs.GetPermissionsLfTagPolicyExpressionInputArgs\n {\n Key = \"Environment\",\n Values = new[]\n {\n \"Dev\",\n \"Production\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\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 := lakeformation.LookupPermissions(ctx, \u0026lakeformation.LookupPermissionsArgs{\n\t\t\tPrincipal: workflowRole.Arn,\n\t\t\tLfTagPolicy: lakeformation.GetPermissionsLfTagPolicy{\n\t\t\t\tResourceType: \"DATABASE\",\n\t\t\t\tExpressions: []lakeformation.GetPermissionsLfTagPolicyExpression{\n\t\t\t\t\t{\n\t\t\t\t\t\tKey: \"Team\",\n\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\"Sales\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tKey: \"Environment\",\n\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\"Dev\",\n\t\t\t\t\t\t\t\"Production\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lakeformation.LakeformationFunctions;\nimport com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.GetPermissionsLfTagPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()\n .principal(workflowRole.arn())\n .lfTagPolicy(GetPermissionsLfTagPolicyArgs.builder()\n .resourceType(\"DATABASE\")\n .expressions( \n GetPermissionsLfTagPolicyExpressionArgs.builder()\n .key(\"Team\")\n .values(\"Sales\")\n .build(),\n GetPermissionsLfTagPolicyExpressionArgs.builder()\n .key(\"Environment\")\n .values( \n \"Dev\",\n \"Production\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:lakeformation:getPermissions\n Arguments:\n principal: ${workflowRole.arn}\n lfTagPolicy:\n resourceType: DATABASE\n expressions:\n - key: Team\n values:\n - Sales\n - key: Environment\n values:\n - Dev\n - Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPermissions.\n", "properties": { @@ -410401,7 +410401,7 @@ } }, "aws:lakeformation/getResource:getResource": { - "description": "Provides details about a Lake Formation resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.lakeformation.getResource({\n arn: \"arn:aws:s3:::tf-acc-test-9151654063908211878\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.get_resource(arn=\"arn:aws:s3:::tf-acc-test-9151654063908211878\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.LakeFormation.GetResource.Invoke(new()\n {\n Arn = \"arn:aws:s3:::tf-acc-test-9151654063908211878\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\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 := lakeformation.LookupResource(ctx, \u0026lakeformation.LookupResourceArgs{\n\t\t\tArn: \"arn:aws:s3:::tf-acc-test-9151654063908211878\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lakeformation.LakeformationFunctions;\nimport com.pulumi.aws.lakeformation.inputs.GetResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LakeformationFunctions.getResource(GetResourceArgs.builder()\n .arn(\"arn:aws:s3:::tf-acc-test-9151654063908211878\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:lakeformation:getResource\n arguments:\n arn: arn:aws:s3:::tf-acc-test-9151654063908211878\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a Lake Formation resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.lakeformation.getResource({\n arn: \"arn:aws:s3:::tf-acc-test-9151654063908211878\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.get_resource(arn=\"arn:aws:s3:::tf-acc-test-9151654063908211878\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.LakeFormation.GetResource.Invoke(new()\n {\n Arn = \"arn:aws:s3:::tf-acc-test-9151654063908211878\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\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 := lakeformation.LookupResource(ctx, \u0026lakeformation.LookupResourceArgs{\n\t\t\tArn: \"arn:aws:s3:::tf-acc-test-9151654063908211878\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lakeformation.LakeformationFunctions;\nimport com.pulumi.aws.lakeformation.inputs.GetResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LakeformationFunctions.getResource(GetResourceArgs.builder()\n .arn(\"arn:aws:s3:::tf-acc-test-9151654063908211878\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:lakeformation:getResource\n Arguments:\n arn: arn:aws:s3:::tf-acc-test-9151654063908211878\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResource.\n", "properties": { @@ -410444,7 +410444,7 @@ } }, "aws:lambda/getAlias:getAlias": { - "description": "Provides information about a Lambda Alias.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst production = aws.lambda.getAlias({\n functionName: \"my-lambda-func\",\n name: \"production\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nproduction = aws.lambda.get_alias(function_name=\"my-lambda-func\",\n name=\"production\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var production = Aws.Lambda.GetAlias.Invoke(new()\n {\n FunctionName = \"my-lambda-func\",\n Name = \"production\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\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 := lambda.LookupAlias(ctx, \u0026lambda.LookupAliasArgs{\n\t\t\tFunctionName: \"my-lambda-func\",\n\t\t\tName: \"production\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.LambdaFunctions;\nimport com.pulumi.aws.lambda.inputs.GetAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var production = LambdaFunctions.getAlias(GetAliasArgs.builder()\n .functionName(\"my-lambda-func\")\n .name(\"production\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n production:\n fn::invoke:\n function: aws:lambda:getAlias\n arguments:\n functionName: my-lambda-func\n name: production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a Lambda Alias.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst production = aws.lambda.getAlias({\n functionName: \"my-lambda-func\",\n name: \"production\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nproduction = aws.lambda.get_alias(function_name=\"my-lambda-func\",\n name=\"production\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var production = Aws.Lambda.GetAlias.Invoke(new()\n {\n FunctionName = \"my-lambda-func\",\n Name = \"production\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\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 := lambda.LookupAlias(ctx, \u0026lambda.LookupAliasArgs{\n\t\t\tFunctionName: \"my-lambda-func\",\n\t\t\tName: \"production\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.LambdaFunctions;\nimport com.pulumi.aws.lambda.inputs.GetAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var production = LambdaFunctions.getAlias(GetAliasArgs.builder()\n .functionName(\"my-lambda-func\")\n .name(\"production\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n production:\n fn::invoke:\n Function: aws:lambda:getAlias\n Arguments:\n functionName: my-lambda-func\n name: production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAlias.\n", "properties": { @@ -410506,7 +410506,7 @@ } }, "aws:lambda/getCodeSigningConfig:getCodeSigningConfig": { - "description": "Provides information about a Lambda Code Signing Config. A code signing configuration defines a list of allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment validation checks fail).\n\nFor information about Lambda code signing configurations and how to use them, see [configuring code signing for Lambda functions](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst existingCsc = aws.lambda.getCodeSigningConfig({\n arn: `arn:aws:lambda:${awsRegion}:${awsAccount}:code-signing-config:csc-0f6c334abcdea4d8b`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexisting_csc = aws.lambda.get_code_signing_config(arn=f\"arn:aws:lambda:{aws_region}:{aws_account}:code-signing-config:csc-0f6c334abcdea4d8b\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var existingCsc = Aws.Lambda.GetCodeSigningConfig.Invoke(new()\n {\n Arn = $\"arn:aws:lambda:{awsRegion}:{awsAccount}:code-signing-config:csc-0f6c334abcdea4d8b\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\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 := lambda.LookupCodeSigningConfig(ctx, \u0026lambda.LookupCodeSigningConfigArgs{\n\t\t\tArn: fmt.Sprintf(\"arn:aws:lambda:%v:%v:code-signing-config:csc-0f6c334abcdea4d8b\", awsRegion, awsAccount),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.LambdaFunctions;\nimport com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var existingCsc = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder()\n .arn(String.format(\"arn:aws:lambda:%s:%s:code-signing-config:csc-0f6c334abcdea4d8b\", awsRegion,awsAccount))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n existingCsc:\n fn::invoke:\n function: aws:lambda:getCodeSigningConfig\n arguments:\n arn: arn:aws:lambda:${awsRegion}:${awsAccount}:code-signing-config:csc-0f6c334abcdea4d8b\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a Lambda Code Signing Config. A code signing configuration defines a list of allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment validation checks fail).\n\nFor information about Lambda code signing configurations and how to use them, see [configuring code signing for Lambda functions](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst existingCsc = aws.lambda.getCodeSigningConfig({\n arn: `arn:aws:lambda:${awsRegion}:${awsAccount}:code-signing-config:csc-0f6c334abcdea4d8b`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexisting_csc = aws.lambda.get_code_signing_config(arn=f\"arn:aws:lambda:{aws_region}:{aws_account}:code-signing-config:csc-0f6c334abcdea4d8b\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var existingCsc = Aws.Lambda.GetCodeSigningConfig.Invoke(new()\n {\n Arn = $\"arn:aws:lambda:{awsRegion}:{awsAccount}:code-signing-config:csc-0f6c334abcdea4d8b\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\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 := lambda.LookupCodeSigningConfig(ctx, \u0026lambda.LookupCodeSigningConfigArgs{\n\t\t\tArn: fmt.Sprintf(\"arn:aws:lambda:%v:%v:code-signing-config:csc-0f6c334abcdea4d8b\", awsRegion, awsAccount),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.LambdaFunctions;\nimport com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var existingCsc = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder()\n .arn(String.format(\"arn:aws:lambda:%s:%s:code-signing-config:csc-0f6c334abcdea4d8b\", awsRegion,awsAccount))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n existingCsc:\n fn::invoke:\n Function: aws:lambda:getCodeSigningConfig\n Arguments:\n arn: arn:aws:lambda:${awsRegion}:${awsAccount}:code-signing-config:csc-0f6c334abcdea4d8b\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCodeSigningConfig.\n", "properties": { @@ -410570,7 +410570,7 @@ } }, "aws:lambda/getFunction:getFunction": { - "description": "Provides information about a Lambda Function.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst functionName = config.require(\"functionName\");\nconst existing = aws.lambda.getFunction({\n functionName: functionName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nfunction_name = config.require(\"functionName\")\nexisting = aws.lambda.get_function(function_name=function_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var functionName = config.Require(\"functionName\");\n var existing = Aws.Lambda.GetFunction.Invoke(new()\n {\n FunctionName = functionName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tfunctionName := cfg.Require(\"functionName\")\n\t\t_, err := lambda.LookupFunction(ctx, \u0026lambda.LookupFunctionArgs{\n\t\t\tFunctionName: functionName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.LambdaFunctions;\nimport com.pulumi.aws.lambda.inputs.GetFunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var functionName = config.get(\"functionName\");\n final var existing = LambdaFunctions.getFunction(GetFunctionArgs.builder()\n .functionName(functionName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n functionName:\n type: string\nvariables:\n existing:\n fn::invoke:\n function: aws:lambda:getFunction\n arguments:\n functionName: ${functionName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a Lambda Function.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst functionName = config.require(\"functionName\");\nconst existing = aws.lambda.getFunction({\n functionName: functionName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nfunction_name = config.require(\"functionName\")\nexisting = aws.lambda.get_function(function_name=function_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var functionName = config.Require(\"functionName\");\n var existing = Aws.Lambda.GetFunction.Invoke(new()\n {\n FunctionName = functionName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tfunctionName := cfg.Require(\"functionName\")\n\t\t_, err := lambda.LookupFunction(ctx, \u0026lambda.LookupFunctionArgs{\n\t\t\tFunctionName: functionName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.LambdaFunctions;\nimport com.pulumi.aws.lambda.inputs.GetFunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var functionName = config.get(\"functionName\");\n final var existing = LambdaFunctions.getFunction(GetFunctionArgs.builder()\n .functionName(functionName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n functionName:\n type: string\nvariables:\n existing:\n fn::invoke:\n Function: aws:lambda:getFunction\n Arguments:\n functionName: ${functionName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getFunction.\n", "properties": { @@ -410789,7 +410789,7 @@ } }, "aws:lambda/getFunctionUrl:getFunctionUrl": { - "description": "Provides information about a Lambda function URL.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst functionName = config.require(\"functionName\");\nconst existing = aws.lambda.getFunctionUrl({\n functionName: functionName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nfunction_name = config.require(\"functionName\")\nexisting = aws.lambda.get_function_url(function_name=function_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var functionName = config.Require(\"functionName\");\n var existing = Aws.Lambda.GetFunctionUrl.Invoke(new()\n {\n FunctionName = functionName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tfunctionName := cfg.Require(\"functionName\")\n\t\t_, err := lambda.LookupFunctionUrl(ctx, \u0026lambda.LookupFunctionUrlArgs{\n\t\t\tFunctionName: functionName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.LambdaFunctions;\nimport com.pulumi.aws.lambda.inputs.GetFunctionUrlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var functionName = config.get(\"functionName\");\n final var existing = LambdaFunctions.getFunctionUrl(GetFunctionUrlArgs.builder()\n .functionName(functionName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n functionName:\n type: string\nvariables:\n existing:\n fn::invoke:\n function: aws:lambda:getFunctionUrl\n arguments:\n functionName: ${functionName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a Lambda function URL.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst functionName = config.require(\"functionName\");\nconst existing = aws.lambda.getFunctionUrl({\n functionName: functionName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nfunction_name = config.require(\"functionName\")\nexisting = aws.lambda.get_function_url(function_name=function_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var functionName = config.Require(\"functionName\");\n var existing = Aws.Lambda.GetFunctionUrl.Invoke(new()\n {\n FunctionName = functionName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tfunctionName := cfg.Require(\"functionName\")\n\t\t_, err := lambda.LookupFunctionUrl(ctx, \u0026lambda.LookupFunctionUrlArgs{\n\t\t\tFunctionName: functionName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.LambdaFunctions;\nimport com.pulumi.aws.lambda.inputs.GetFunctionUrlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var functionName = config.get(\"functionName\");\n final var existing = LambdaFunctions.getFunctionUrl(GetFunctionUrlArgs.builder()\n .functionName(functionName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n functionName:\n type: string\nvariables:\n existing:\n fn::invoke:\n Function: aws:lambda:getFunctionUrl\n Arguments:\n functionName: ${functionName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getFunctionUrl.\n", "properties": { @@ -410872,7 +410872,7 @@ } }, "aws:lambda/getFunctions:getFunctions": { - "description": "Data resource to get a list of Lambda Functions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst all = aws.lambda.getFunctions({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nall = aws.lambda.get_functions()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var all = Aws.Lambda.GetFunctions.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\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 := lambda.GetFunctions(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.LambdaFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all = LambdaFunctions.getFunctions();\n\n }\n}\n```\n```yaml\nvariables:\n all:\n fn::invoke:\n function: aws:lambda:getFunctions\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data resource to get a list of Lambda Functions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst all = aws.lambda.getFunctions({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nall = aws.lambda.get_functions()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var all = Aws.Lambda.GetFunctions.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\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 := lambda.GetFunctions(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.LambdaFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all = LambdaFunctions.getFunctions();\n\n }\n}\n```\n```yaml\nvariables:\n all:\n fn::invoke:\n Function: aws:lambda:getFunctions\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getFunctions.\n", "properties": { @@ -410958,7 +410958,7 @@ } }, "aws:lambda/getLayerVersion:getLayerVersion": { - "description": "Provides information about a Lambda Layer Version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst layerName = config.require(\"layerName\");\nconst existing = aws.lambda.getLayerVersion({\n layerName: layerName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlayer_name = config.require(\"layerName\")\nexisting = aws.lambda.get_layer_version(layer_name=layer_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var layerName = config.Require(\"layerName\");\n var existing = Aws.Lambda.GetLayerVersion.Invoke(new()\n {\n LayerName = layerName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlayerName := cfg.Require(\"layerName\")\n\t\t_, err := lambda.LookupLayerVersion(ctx, \u0026lambda.LookupLayerVersionArgs{\n\t\t\tLayerName: layerName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.LambdaFunctions;\nimport com.pulumi.aws.lambda.inputs.GetLayerVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var layerName = config.get(\"layerName\");\n final var existing = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder()\n .layerName(layerName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n layerName:\n type: string\nvariables:\n existing:\n fn::invoke:\n function: aws:lambda:getLayerVersion\n arguments:\n layerName: ${layerName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a Lambda Layer Version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst layerName = config.require(\"layerName\");\nconst existing = aws.lambda.getLayerVersion({\n layerName: layerName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlayer_name = config.require(\"layerName\")\nexisting = aws.lambda.get_layer_version(layer_name=layer_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var layerName = config.Require(\"layerName\");\n var existing = Aws.Lambda.GetLayerVersion.Invoke(new()\n {\n LayerName = layerName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlayerName := cfg.Require(\"layerName\")\n\t\t_, err := lambda.LookupLayerVersion(ctx, \u0026lambda.LookupLayerVersionArgs{\n\t\t\tLayerName: layerName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.LambdaFunctions;\nimport com.pulumi.aws.lambda.inputs.GetLayerVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var layerName = config.get(\"layerName\");\n final var existing = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder()\n .layerName(layerName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n layerName:\n type: string\nvariables:\n existing:\n fn::invoke:\n Function: aws:lambda:getLayerVersion\n Arguments:\n layerName: ${layerName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLayerVersion.\n", "properties": { @@ -411081,7 +411081,7 @@ } }, "aws:lb/getHostedZoneId:getHostedZoneId": { - "description": "Use this data source to get the HostedZoneId of the AWS Elastic Load Balancing (ELB) in a given region for the purpose of using in an AWS Route53 Alias. Specify the ELB type (`network` or `application`) to return the relevant the associated HostedZoneId. Ref: [ELB service endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html#elb_region)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.lb.getHostedZoneId({});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: primary.zoneId,\n name: \"example.com\",\n type: aws.route53.RecordType.A,\n aliases: [{\n name: mainAwsLb.dnsName,\n zoneId: main.then(main =\u003e main.id),\n evaluateTargetHealth: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.lb.get_hosted_zone_id()\nwww = aws.route53.Record(\"www\",\n zone_id=primary[\"zoneId\"],\n name=\"example.com\",\n type=aws.route53.RecordType.A,\n aliases=[{\n \"name\": main_aws_lb[\"dnsName\"],\n \"zone_id\": main.id,\n \"evaluate_target_health\": True,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.LB.GetHostedZoneId.Invoke();\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"example.com\",\n Type = Aws.Route53.RecordType.A,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = mainAwsLb.DnsName,\n ZoneId = main.Apply(getHostedZoneIdResult =\u003e getHostedZoneIdResult.Id),\n EvaluateTargetHealth = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := lb.GetHostedZoneId(ctx, \u0026lb.GetHostedZoneIdArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: pulumi.Any(mainAwsLb.DnsName),\n\t\t\t\t\tZoneId: pulumi.String(main.Id),\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetHostedZoneIdArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = LbFunctions.getHostedZoneId();\n\n var www = new Record(\"www\", RecordArgs.builder()\n .zoneId(primary.zoneId())\n .name(\"example.com\")\n .type(\"A\")\n .aliases(RecordAliasArgs.builder()\n .name(mainAwsLb.dnsName())\n .zoneId(main.applyValue(getHostedZoneIdResult -\u003e getHostedZoneIdResult.id()))\n .evaluateTargetHealth(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: example.com\n type: A\n aliases:\n - name: ${mainAwsLb.dnsName}\n zoneId: ${main.id}\n evaluateTargetHealth: true\nvariables:\n main:\n fn::invoke:\n function: aws:lb:getHostedZoneId\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the HostedZoneId of the AWS Elastic Load Balancing (ELB) in a given region for the purpose of using in an AWS Route53 Alias. Specify the ELB type (`network` or `application`) to return the relevant the associated HostedZoneId. Ref: [ELB service endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html#elb_region)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.lb.getHostedZoneId({});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: primary.zoneId,\n name: \"example.com\",\n type: aws.route53.RecordType.A,\n aliases: [{\n name: mainAwsLb.dnsName,\n zoneId: main.then(main =\u003e main.id),\n evaluateTargetHealth: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.lb.get_hosted_zone_id()\nwww = aws.route53.Record(\"www\",\n zone_id=primary[\"zoneId\"],\n name=\"example.com\",\n type=aws.route53.RecordType.A,\n aliases=[{\n \"name\": main_aws_lb[\"dnsName\"],\n \"zone_id\": main.id,\n \"evaluate_target_health\": True,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.LB.GetHostedZoneId.Invoke();\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"example.com\",\n Type = Aws.Route53.RecordType.A,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = mainAwsLb.DnsName,\n ZoneId = main.Apply(getHostedZoneIdResult =\u003e getHostedZoneIdResult.Id),\n EvaluateTargetHealth = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := lb.GetHostedZoneId(ctx, \u0026lb.GetHostedZoneIdArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: pulumi.Any(mainAwsLb.DnsName),\n\t\t\t\t\tZoneId: pulumi.String(main.Id),\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetHostedZoneIdArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = LbFunctions.getHostedZoneId();\n\n var www = new Record(\"www\", RecordArgs.builder()\n .zoneId(primary.zoneId())\n .name(\"example.com\")\n .type(\"A\")\n .aliases(RecordAliasArgs.builder()\n .name(mainAwsLb.dnsName())\n .zoneId(main.applyValue(getHostedZoneIdResult -\u003e getHostedZoneIdResult.id()))\n .evaluateTargetHealth(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: example.com\n type: A\n aliases:\n - name: ${mainAwsLb.dnsName}\n zoneId: ${main.id}\n evaluateTargetHealth: true\nvariables:\n main:\n fn::invoke:\n Function: aws:lb:getHostedZoneId\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getHostedZoneId.\n", "properties": { @@ -411117,7 +411117,7 @@ } }, "aws:lb/getLbs:getLbs": { - "description": "Use this data source to get a list of Load Balancer ARNs matching the specified criteria. Useful for passing to other\nresources.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.lb.getLbs({\n tags: {\n \"elbv2.k8s.aws/cluster\": \"my-cluster\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.get_lbs(tags={\n \"elbv2.k8s.aws/cluster\": \"my-cluster\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.LB.GetLbs.Invoke(new()\n {\n Tags = \n {\n { \"elbv2.k8s.aws/cluster\", \"my-cluster\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\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 := lb.GetLbs(ctx, \u0026lb.GetLbsArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"elbv2.k8s.aws/cluster\": \"my-cluster\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetLbsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LbFunctions.getLbs(GetLbsArgs.builder()\n .tags(Map.of(\"elbv2.k8s.aws/cluster\", \"my-cluster\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:lb:getLbs\n arguments:\n tags:\n elbv2.k8s.aws/cluster: my-cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get a list of Load Balancer ARNs matching the specified criteria. Useful for passing to other\nresources.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.lb.getLbs({\n tags: {\n \"elbv2.k8s.aws/cluster\": \"my-cluster\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.get_lbs(tags={\n \"elbv2.k8s.aws/cluster\": \"my-cluster\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.LB.GetLbs.Invoke(new()\n {\n Tags = \n {\n { \"elbv2.k8s.aws/cluster\", \"my-cluster\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\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 := lb.GetLbs(ctx, \u0026lb.GetLbsArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"elbv2.k8s.aws/cluster\": \"my-cluster\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetLbsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LbFunctions.getLbs(GetLbsArgs.builder()\n .tags(Map.of(\"elbv2.k8s.aws/cluster\", \"my-cluster\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:lb:getLbs\n Arguments:\n tags:\n elbv2.k8s.aws/cluster: my-cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLbs.\n", "properties": { @@ -411160,7 +411160,7 @@ } }, "aws:lb/getListener:getListener": { - "description": "\u003e **Note:** `aws.alb.Listener` is known as `aws.lb.Listener`. The functionality is identical.\n\nProvides information about a Load Balancer Listener.\n\nThis data source can prove useful when a module accepts an LB Listener as an input variable and needs to know the LB it is attached to, or other information specific to the listener in question.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst listenerArn = config.require(\"listenerArn\");\nconst listener = aws.lb.getListener({\n arn: listenerArn,\n});\n// get listener from load_balancer_arn and port\nconst selected = aws.lb.getLoadBalancer({\n name: \"default-public\",\n});\nconst selected443 = selected.then(selected =\u003e aws.lb.getListener({\n loadBalancerArn: selected.arn,\n port: 443,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlistener_arn = config.require(\"listenerArn\")\nlistener = aws.lb.get_listener(arn=listener_arn)\n# get listener from load_balancer_arn and port\nselected = aws.lb.get_load_balancer(name=\"default-public\")\nselected443 = aws.lb.get_listener(load_balancer_arn=selected.arn,\n port=443)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var listenerArn = config.Require(\"listenerArn\");\n var listener = Aws.LB.GetListener.Invoke(new()\n {\n Arn = listenerArn,\n });\n\n // get listener from load_balancer_arn and port\n var selected = Aws.LB.GetLoadBalancer.Invoke(new()\n {\n Name = \"default-public\",\n });\n\n var selected443 = Aws.LB.GetListener.Invoke(new()\n {\n LoadBalancerArn = selected.Apply(getLoadBalancerResult =\u003e getLoadBalancerResult.Arn),\n Port = 443,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlistenerArn := cfg.Require(\"listenerArn\")\n\t\t_, err := lb.LookupListener(ctx, \u0026lb.LookupListenerArgs{\n\t\t\tArn: pulumi.StringRef(listenerArn),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// get listener from load_balancer_arn and port\n\t\tselected, err := lb.LookupLoadBalancer(ctx, \u0026lb.LookupLoadBalancerArgs{\n\t\t\tName: pulumi.StringRef(\"default-public\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.LookupListener(ctx, \u0026lb.LookupListenerArgs{\n\t\t\tLoadBalancerArn: pulumi.StringRef(selected.Arn),\n\t\t\tPort: pulumi.IntRef(443),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetListenerArgs;\nimport com.pulumi.aws.lb.inputs.GetLoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var listenerArn = config.get(\"listenerArn\");\n final var listener = LbFunctions.getListener(GetListenerArgs.builder()\n .arn(listenerArn)\n .build());\n\n // get listener from load_balancer_arn and port\n final var selected = LbFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()\n .name(\"default-public\")\n .build());\n\n final var selected443 = LbFunctions.getListener(GetListenerArgs.builder()\n .loadBalancerArn(selected.applyValue(getLoadBalancerResult -\u003e getLoadBalancerResult.arn()))\n .port(443)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # get listener from listener arn\n listenerArn:\n type: string\nvariables:\n listener:\n fn::invoke:\n function: aws:lb:getListener\n arguments:\n arn: ${listenerArn}\n # get listener from load_balancer_arn and port\n selected:\n fn::invoke:\n function: aws:lb:getLoadBalancer\n arguments:\n name: default-public\n selected443:\n fn::invoke:\n function: aws:lb:getListener\n arguments:\n loadBalancerArn: ${selected.arn}\n port: 443\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **Note:** `aws.alb.Listener` is known as `aws.lb.Listener`. The functionality is identical.\n\nProvides information about a Load Balancer Listener.\n\nThis data source can prove useful when a module accepts an LB Listener as an input variable and needs to know the LB it is attached to, or other information specific to the listener in question.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst listenerArn = config.require(\"listenerArn\");\nconst listener = aws.lb.getListener({\n arn: listenerArn,\n});\n// get listener from load_balancer_arn and port\nconst selected = aws.lb.getLoadBalancer({\n name: \"default-public\",\n});\nconst selected443 = selected.then(selected =\u003e aws.lb.getListener({\n loadBalancerArn: selected.arn,\n port: 443,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlistener_arn = config.require(\"listenerArn\")\nlistener = aws.lb.get_listener(arn=listener_arn)\n# get listener from load_balancer_arn and port\nselected = aws.lb.get_load_balancer(name=\"default-public\")\nselected443 = aws.lb.get_listener(load_balancer_arn=selected.arn,\n port=443)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var listenerArn = config.Require(\"listenerArn\");\n var listener = Aws.LB.GetListener.Invoke(new()\n {\n Arn = listenerArn,\n });\n\n // get listener from load_balancer_arn and port\n var selected = Aws.LB.GetLoadBalancer.Invoke(new()\n {\n Name = \"default-public\",\n });\n\n var selected443 = Aws.LB.GetListener.Invoke(new()\n {\n LoadBalancerArn = selected.Apply(getLoadBalancerResult =\u003e getLoadBalancerResult.Arn),\n Port = 443,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlistenerArn := cfg.Require(\"listenerArn\")\n\t\t_, err := lb.LookupListener(ctx, \u0026lb.LookupListenerArgs{\n\t\t\tArn: pulumi.StringRef(listenerArn),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// get listener from load_balancer_arn and port\n\t\tselected, err := lb.LookupLoadBalancer(ctx, \u0026lb.LookupLoadBalancerArgs{\n\t\t\tName: pulumi.StringRef(\"default-public\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.LookupListener(ctx, \u0026lb.LookupListenerArgs{\n\t\t\tLoadBalancerArn: pulumi.StringRef(selected.Arn),\n\t\t\tPort: pulumi.IntRef(443),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetListenerArgs;\nimport com.pulumi.aws.lb.inputs.GetLoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var listenerArn = config.get(\"listenerArn\");\n final var listener = LbFunctions.getListener(GetListenerArgs.builder()\n .arn(listenerArn)\n .build());\n\n // get listener from load_balancer_arn and port\n final var selected = LbFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()\n .name(\"default-public\")\n .build());\n\n final var selected443 = LbFunctions.getListener(GetListenerArgs.builder()\n .loadBalancerArn(selected.applyValue(getLoadBalancerResult -\u003e getLoadBalancerResult.arn()))\n .port(443)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # get listener from listener arn\n listenerArn:\n type: string\nvariables:\n listener:\n fn::invoke:\n Function: aws:lb:getListener\n Arguments:\n arn: ${listenerArn}\n # get listener from load_balancer_arn and port\n selected:\n fn::invoke:\n Function: aws:lb:getLoadBalancer\n Arguments:\n name: default-public\n selected443:\n fn::invoke:\n Function: aws:lb:getListener\n Arguments:\n loadBalancerArn: ${selected.arn}\n port: 443\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getListener.\n", "properties": { @@ -411249,7 +411249,7 @@ } }, "aws:lb/getListenerRule:getListenerRule": { - "description": "Provides information about an AWS Elastic Load Balancing Listener Rule.\n\n## Example Usage\n\n### Match by Rule ARN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lbRuleArn = config.require(\"lbRuleArn\");\nconst example = aws.lb.getListenerRule({\n arn: lbRuleArn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlb_rule_arn = config.require(\"lbRuleArn\")\nexample = aws.lb.get_listener_rule(arn=lb_rule_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lbRuleArn = config.Require(\"lbRuleArn\");\n var example = Aws.LB.GetListenerRule.Invoke(new()\n {\n Arn = lbRuleArn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlbRuleArn := cfg.Require(\"lbRuleArn\")\n\t\t_, err := lb.LookupListenerRule(ctx, \u0026lb.LookupListenerRuleArgs{\n\t\t\tArn: pulumi.StringRef(lbRuleArn),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetListenerRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lbRuleArn = config.get(\"lbRuleArn\");\n final var example = LbFunctions.getListenerRule(GetListenerRuleArgs.builder()\n .arn(lbRuleArn)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lbRuleArn:\n type: string\nvariables:\n example:\n fn::invoke:\n function: aws:lb:getListenerRule\n arguments:\n arn: ${lbRuleArn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Match by Listener ARN and Priority\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lbListenerArn = config.require(\"lbListenerArn\");\nconst lbRulePriority = config.requireNumber(\"lbRulePriority\");\nconst example = aws.lb.getListenerRule({\n listenerArn: lbListenerArn,\n priority: lbRulePriority,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlb_listener_arn = config.require(\"lbListenerArn\")\nlb_rule_priority = config.require_float(\"lbRulePriority\")\nexample = aws.lb.get_listener_rule(listener_arn=lb_listener_arn,\n priority=lb_rule_priority)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lbListenerArn = config.Require(\"lbListenerArn\");\n var lbRulePriority = config.RequireDouble(\"lbRulePriority\");\n var example = Aws.LB.GetListenerRule.Invoke(new()\n {\n ListenerArn = lbListenerArn,\n Priority = lbRulePriority,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlbListenerArn := cfg.Require(\"lbListenerArn\")\n\t\tlbRulePriority := cfg.RequireFloat64(\"lbRulePriority\")\n\t\t_, err := lb.LookupListenerRule(ctx, \u0026lb.LookupListenerRuleArgs{\n\t\t\tListenerArn: pulumi.StringRef(lbListenerArn),\n\t\t\tPriority: pulumi.Float64Ref(lbRulePriority),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetListenerRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lbListenerArn = config.get(\"lbListenerArn\");\n final var lbRulePriority = config.get(\"lbRulePriority\");\n final var example = LbFunctions.getListenerRule(GetListenerRuleArgs.builder()\n .listenerArn(lbListenerArn)\n .priority(lbRulePriority)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lbListenerArn:\n type: string\n lbRulePriority:\n type: number\nvariables:\n example:\n fn::invoke:\n function: aws:lb:getListenerRule\n arguments:\n listenerArn: ${lbListenerArn}\n priority: ${lbRulePriority}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about an AWS Elastic Load Balancing Listener Rule.\n\n## Example Usage\n\n### Match by Rule ARN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lbRuleArn = config.require(\"lbRuleArn\");\nconst example = aws.lb.getListenerRule({\n arn: lbRuleArn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlb_rule_arn = config.require(\"lbRuleArn\")\nexample = aws.lb.get_listener_rule(arn=lb_rule_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lbRuleArn = config.Require(\"lbRuleArn\");\n var example = Aws.LB.GetListenerRule.Invoke(new()\n {\n Arn = lbRuleArn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlbRuleArn := cfg.Require(\"lbRuleArn\")\n\t\t_, err := lb.LookupListenerRule(ctx, \u0026lb.LookupListenerRuleArgs{\n\t\t\tArn: pulumi.StringRef(lbRuleArn),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetListenerRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lbRuleArn = config.get(\"lbRuleArn\");\n final var example = LbFunctions.getListenerRule(GetListenerRuleArgs.builder()\n .arn(lbRuleArn)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lbRuleArn:\n type: string\nvariables:\n example:\n fn::invoke:\n Function: aws:lb:getListenerRule\n Arguments:\n arn: ${lbRuleArn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Match by Listener ARN and Priority\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lbListenerArn = config.require(\"lbListenerArn\");\nconst lbRulePriority = config.requireNumber(\"lbRulePriority\");\nconst example = aws.lb.getListenerRule({\n listenerArn: lbListenerArn,\n priority: lbRulePriority,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlb_listener_arn = config.require(\"lbListenerArn\")\nlb_rule_priority = config.require_float(\"lbRulePriority\")\nexample = aws.lb.get_listener_rule(listener_arn=lb_listener_arn,\n priority=lb_rule_priority)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lbListenerArn = config.Require(\"lbListenerArn\");\n var lbRulePriority = config.RequireDouble(\"lbRulePriority\");\n var example = Aws.LB.GetListenerRule.Invoke(new()\n {\n ListenerArn = lbListenerArn,\n Priority = lbRulePriority,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlbListenerArn := cfg.Require(\"lbListenerArn\")\n\t\tlbRulePriority := cfg.RequireFloat64(\"lbRulePriority\")\n\t\t_, err := lb.LookupListenerRule(ctx, \u0026lb.LookupListenerRuleArgs{\n\t\t\tListenerArn: pulumi.StringRef(lbListenerArn),\n\t\t\tPriority: pulumi.Float64Ref(lbRulePriority),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetListenerRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lbListenerArn = config.get(\"lbListenerArn\");\n final var lbRulePriority = config.get(\"lbRulePriority\");\n final var example = LbFunctions.getListenerRule(GetListenerRuleArgs.builder()\n .listenerArn(lbListenerArn)\n .priority(lbRulePriority)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lbListenerArn:\n type: string\n lbRulePriority:\n type: number\nvariables:\n example:\n fn::invoke:\n Function: aws:lb:getListenerRule\n Arguments:\n listenerArn: ${lbListenerArn}\n priority: ${lbRulePriority}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getListenerRule.\n", "properties": { @@ -411332,7 +411332,7 @@ } }, "aws:lb/getLoadBalancer:getLoadBalancer": { - "description": "\u003e **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical.\n\nProvides information about a Load Balancer.\n\nThis data source can prove useful when a module accepts an LB as an input\nvariable and needs to, for example, determine the security groups associated\nwith it, etc.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lbArn = config.get(\"lbArn\") || \"\";\nconst lbName = config.get(\"lbName\") || \"\";\nconst test = aws.lb.getLoadBalancer({\n arn: lbArn,\n name: lbName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlb_arn = config.get(\"lbArn\")\nif lb_arn is None:\n lb_arn = \"\"\nlb_name = config.get(\"lbName\")\nif lb_name is None:\n lb_name = \"\"\ntest = aws.lb.get_load_balancer(arn=lb_arn,\n name=lb_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lbArn = config.Get(\"lbArn\") ?? \"\";\n var lbName = config.Get(\"lbName\") ?? \"\";\n var test = Aws.LB.GetLoadBalancer.Invoke(new()\n {\n Arn = lbArn,\n Name = lbName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlbArn := \"\"\n\t\tif param := cfg.Get(\"lbArn\"); param != \"\" {\n\t\t\tlbArn = param\n\t\t}\n\t\tlbName := \"\"\n\t\tif param := cfg.Get(\"lbName\"); param != \"\" {\n\t\t\tlbName = param\n\t\t}\n\t\t_, err := lb.LookupLoadBalancer(ctx, \u0026lb.LookupLoadBalancerArgs{\n\t\t\tArn: pulumi.StringRef(lbArn),\n\t\t\tName: pulumi.StringRef(lbName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetLoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lbArn = config.get(\"lbArn\").orElse(\"\");\n final var lbName = config.get(\"lbName\").orElse(\"\");\n final var test = LbFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()\n .arn(lbArn)\n .name(lbName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lbArn:\n type: string\n default: \"\"\n lbName:\n type: string\n default: \"\"\nvariables:\n test:\n fn::invoke:\n function: aws:lb:getLoadBalancer\n arguments:\n arn: ${lbArn}\n name: ${lbName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical.\n\nProvides information about a Load Balancer.\n\nThis data source can prove useful when a module accepts an LB as an input\nvariable and needs to, for example, determine the security groups associated\nwith it, etc.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lbArn = config.get(\"lbArn\") || \"\";\nconst lbName = config.get(\"lbName\") || \"\";\nconst test = aws.lb.getLoadBalancer({\n arn: lbArn,\n name: lbName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlb_arn = config.get(\"lbArn\")\nif lb_arn is None:\n lb_arn = \"\"\nlb_name = config.get(\"lbName\")\nif lb_name is None:\n lb_name = \"\"\ntest = aws.lb.get_load_balancer(arn=lb_arn,\n name=lb_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lbArn = config.Get(\"lbArn\") ?? \"\";\n var lbName = config.Get(\"lbName\") ?? \"\";\n var test = Aws.LB.GetLoadBalancer.Invoke(new()\n {\n Arn = lbArn,\n Name = lbName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlbArn := \"\"\n\t\tif param := cfg.Get(\"lbArn\"); param != \"\" {\n\t\t\tlbArn = param\n\t\t}\n\t\tlbName := \"\"\n\t\tif param := cfg.Get(\"lbName\"); param != \"\" {\n\t\t\tlbName = param\n\t\t}\n\t\t_, err := lb.LookupLoadBalancer(ctx, \u0026lb.LookupLoadBalancerArgs{\n\t\t\tArn: pulumi.StringRef(lbArn),\n\t\t\tName: pulumi.StringRef(lbName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetLoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lbArn = config.get(\"lbArn\").orElse(\"\");\n final var lbName = config.get(\"lbName\").orElse(\"\");\n final var test = LbFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()\n .arn(lbArn)\n .name(lbName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lbArn:\n type: string\n default:\n lbName:\n type: string\n default:\nvariables:\n test:\n fn::invoke:\n Function: aws:lb:getLoadBalancer\n Arguments:\n arn: ${lbArn}\n name: ${lbName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLoadBalancer.\n", "properties": { @@ -411508,7 +411508,7 @@ } }, "aws:lb/getTargetGroup:getTargetGroup": { - "description": "\u003e **Note:** `aws.alb.TargetGroup` is known as `aws.lb.TargetGroup`. The functionality is identical.\n\nProvides information about a Load Balancer Target Group.\n\nThis data source can prove useful when a module accepts an LB Target Group as an\ninput variable and needs to know its attributes. It can also be used to get the ARN of\nan LB Target Group for use in other resources, given LB Target Group name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lbTgArn = config.get(\"lbTgArn\") || \"\";\nconst lbTgName = config.get(\"lbTgName\") || \"\";\nconst test = aws.lb.getTargetGroup({\n arn: lbTgArn,\n name: lbTgName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlb_tg_arn = config.get(\"lbTgArn\")\nif lb_tg_arn is None:\n lb_tg_arn = \"\"\nlb_tg_name = config.get(\"lbTgName\")\nif lb_tg_name is None:\n lb_tg_name = \"\"\ntest = aws.lb.get_target_group(arn=lb_tg_arn,\n name=lb_tg_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lbTgArn = config.Get(\"lbTgArn\") ?? \"\";\n var lbTgName = config.Get(\"lbTgName\") ?? \"\";\n var test = Aws.LB.GetTargetGroup.Invoke(new()\n {\n Arn = lbTgArn,\n Name = lbTgName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlbTgArn := \"\"\n\t\tif param := cfg.Get(\"lbTgArn\"); param != \"\" {\n\t\t\tlbTgArn = param\n\t\t}\n\t\tlbTgName := \"\"\n\t\tif param := cfg.Get(\"lbTgName\"); param != \"\" {\n\t\t\tlbTgName = param\n\t\t}\n\t\t_, err := lb.LookupTargetGroup(ctx, \u0026lb.LookupTargetGroupArgs{\n\t\t\tArn: pulumi.StringRef(lbTgArn),\n\t\t\tName: pulumi.StringRef(lbTgName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetTargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lbTgArn = config.get(\"lbTgArn\").orElse(\"\");\n final var lbTgName = config.get(\"lbTgName\").orElse(\"\");\n final var test = LbFunctions.getTargetGroup(GetTargetGroupArgs.builder()\n .arn(lbTgArn)\n .name(lbTgName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lbTgArn:\n type: string\n default: \"\"\n lbTgName:\n type: string\n default: \"\"\nvariables:\n test:\n fn::invoke:\n function: aws:lb:getTargetGroup\n arguments:\n arn: ${lbTgArn}\n name: ${lbTgName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **Note:** `aws.alb.TargetGroup` is known as `aws.lb.TargetGroup`. The functionality is identical.\n\nProvides information about a Load Balancer Target Group.\n\nThis data source can prove useful when a module accepts an LB Target Group as an\ninput variable and needs to know its attributes. It can also be used to get the ARN of\nan LB Target Group for use in other resources, given LB Target Group name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lbTgArn = config.get(\"lbTgArn\") || \"\";\nconst lbTgName = config.get(\"lbTgName\") || \"\";\nconst test = aws.lb.getTargetGroup({\n arn: lbTgArn,\n name: lbTgName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlb_tg_arn = config.get(\"lbTgArn\")\nif lb_tg_arn is None:\n lb_tg_arn = \"\"\nlb_tg_name = config.get(\"lbTgName\")\nif lb_tg_name is None:\n lb_tg_name = \"\"\ntest = aws.lb.get_target_group(arn=lb_tg_arn,\n name=lb_tg_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lbTgArn = config.Get(\"lbTgArn\") ?? \"\";\n var lbTgName = config.Get(\"lbTgName\") ?? \"\";\n var test = Aws.LB.GetTargetGroup.Invoke(new()\n {\n Arn = lbTgArn,\n Name = lbTgName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlbTgArn := \"\"\n\t\tif param := cfg.Get(\"lbTgArn\"); param != \"\" {\n\t\t\tlbTgArn = param\n\t\t}\n\t\tlbTgName := \"\"\n\t\tif param := cfg.Get(\"lbTgName\"); param != \"\" {\n\t\t\tlbTgName = param\n\t\t}\n\t\t_, err := lb.LookupTargetGroup(ctx, \u0026lb.LookupTargetGroupArgs{\n\t\t\tArn: pulumi.StringRef(lbTgArn),\n\t\t\tName: pulumi.StringRef(lbTgName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetTargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lbTgArn = config.get(\"lbTgArn\").orElse(\"\");\n final var lbTgName = config.get(\"lbTgName\").orElse(\"\");\n final var test = LbFunctions.getTargetGroup(GetTargetGroupArgs.builder()\n .arn(lbTgArn)\n .name(lbTgName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lbTgArn:\n type: string\n default:\n lbTgName:\n type: string\n default:\nvariables:\n test:\n fn::invoke:\n Function: aws:lb:getTargetGroup\n Arguments:\n arn: ${lbTgArn}\n name: ${lbTgName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTargetGroup.\n", "properties": { @@ -411638,7 +411638,7 @@ } }, "aws:lb/getTrustStore:getTrustStore": { - "description": "\u003e **Note:** `aws_alb_trust_store` is known as `aws.lb.TrustStore`. The functionality is identical.\n\nProvides information about a Load Balancer Trust Store.\n\nThis data source can prove useful when a module accepts an LB Trust Store as an\ninput variable and needs to know its attributes. It can also be used to get the ARN of\nan LB Trust Store for use in other resources, given LB Trust Store name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lbTsArn = config.get(\"lbTsArn\") || \"\";\nconst lbTsName = config.get(\"lbTsName\") || \"\";\nconst test = aws.lb.getTrustStore({\n arn: lbTsArn,\n name: lbTsName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlb_ts_arn = config.get(\"lbTsArn\")\nif lb_ts_arn is None:\n lb_ts_arn = \"\"\nlb_ts_name = config.get(\"lbTsName\")\nif lb_ts_name is None:\n lb_ts_name = \"\"\ntest = aws.lb.get_trust_store(arn=lb_ts_arn,\n name=lb_ts_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lbTsArn = config.Get(\"lbTsArn\") ?? \"\";\n var lbTsName = config.Get(\"lbTsName\") ?? \"\";\n var test = Aws.LB.GetTrustStore.Invoke(new()\n {\n Arn = lbTsArn,\n Name = lbTsName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlbTsArn := \"\"\n\t\tif param := cfg.Get(\"lbTsArn\"); param != \"\" {\n\t\t\tlbTsArn = param\n\t\t}\n\t\tlbTsName := \"\"\n\t\tif param := cfg.Get(\"lbTsName\"); param != \"\" {\n\t\t\tlbTsName = param\n\t\t}\n\t\t_, err := lb.LookupTrustStore(ctx, \u0026lb.LookupTrustStoreArgs{\n\t\t\tArn: pulumi.StringRef(lbTsArn),\n\t\t\tName: pulumi.StringRef(lbTsName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetTrustStoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lbTsArn = config.get(\"lbTsArn\").orElse(\"\");\n final var lbTsName = config.get(\"lbTsName\").orElse(\"\");\n final var test = LbFunctions.getTrustStore(GetTrustStoreArgs.builder()\n .arn(lbTsArn)\n .name(lbTsName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lbTsArn:\n type: string\n default: \"\"\n lbTsName:\n type: string\n default: \"\"\nvariables:\n test:\n fn::invoke:\n function: aws:lb:getTrustStore\n arguments:\n arn: ${lbTsArn}\n name: ${lbTsName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **Note:** `aws_alb_trust_store` is known as `aws.lb.TrustStore`. The functionality is identical.\n\nProvides information about a Load Balancer Trust Store.\n\nThis data source can prove useful when a module accepts an LB Trust Store as an\ninput variable and needs to know its attributes. It can also be used to get the ARN of\nan LB Trust Store for use in other resources, given LB Trust Store name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lbTsArn = config.get(\"lbTsArn\") || \"\";\nconst lbTsName = config.get(\"lbTsName\") || \"\";\nconst test = aws.lb.getTrustStore({\n arn: lbTsArn,\n name: lbTsName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlb_ts_arn = config.get(\"lbTsArn\")\nif lb_ts_arn is None:\n lb_ts_arn = \"\"\nlb_ts_name = config.get(\"lbTsName\")\nif lb_ts_name is None:\n lb_ts_name = \"\"\ntest = aws.lb.get_trust_store(arn=lb_ts_arn,\n name=lb_ts_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lbTsArn = config.Get(\"lbTsArn\") ?? \"\";\n var lbTsName = config.Get(\"lbTsName\") ?? \"\";\n var test = Aws.LB.GetTrustStore.Invoke(new()\n {\n Arn = lbTsArn,\n Name = lbTsName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlbTsArn := \"\"\n\t\tif param := cfg.Get(\"lbTsArn\"); param != \"\" {\n\t\t\tlbTsArn = param\n\t\t}\n\t\tlbTsName := \"\"\n\t\tif param := cfg.Get(\"lbTsName\"); param != \"\" {\n\t\t\tlbTsName = param\n\t\t}\n\t\t_, err := lb.LookupTrustStore(ctx, \u0026lb.LookupTrustStoreArgs{\n\t\t\tArn: pulumi.StringRef(lbTsArn),\n\t\t\tName: pulumi.StringRef(lbTsName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetTrustStoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lbTsArn = config.get(\"lbTsArn\").orElse(\"\");\n final var lbTsName = config.get(\"lbTsName\").orElse(\"\");\n final var test = LbFunctions.getTrustStore(GetTrustStoreArgs.builder()\n .arn(lbTsArn)\n .name(lbTsName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lbTsArn:\n type: string\n default:\n lbTsName:\n type: string\n default:\nvariables:\n test:\n fn::invoke:\n Function: aws:lb:getTrustStore\n Arguments:\n arn: ${lbTsArn}\n name: ${lbTsName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTrustStore.\n", "properties": { @@ -411676,7 +411676,7 @@ } }, "aws:lex/getBot:getBot": { - "description": "Provides details about a specific Amazon Lex Bot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst orderFlowersBot = aws.lex.getBot({\n name: \"OrderFlowers\",\n version: \"$LATEST\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_flowers_bot = aws.lex.get_bot(name=\"OrderFlowers\",\n version=\"$LATEST\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var orderFlowersBot = Aws.Lex.GetBot.Invoke(new()\n {\n Name = \"OrderFlowers\",\n Version = \"$LATEST\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\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 := lex.LookupBot(ctx, \u0026lex.LookupBotArgs{\n\t\t\tName: \"OrderFlowers\",\n\t\t\tVersion: pulumi.StringRef(\"$LATEST\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lex.LexFunctions;\nimport com.pulumi.aws.lex.inputs.GetBotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var orderFlowersBot = LexFunctions.getBot(GetBotArgs.builder()\n .name(\"OrderFlowers\")\n .version(\"$LATEST\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n orderFlowersBot:\n fn::invoke:\n function: aws:lex:getBot\n arguments:\n name: OrderFlowers\n version: $LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Lex Bot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst orderFlowersBot = aws.lex.getBot({\n name: \"OrderFlowers\",\n version: \"$LATEST\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_flowers_bot = aws.lex.get_bot(name=\"OrderFlowers\",\n version=\"$LATEST\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var orderFlowersBot = Aws.Lex.GetBot.Invoke(new()\n {\n Name = \"OrderFlowers\",\n Version = \"$LATEST\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\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 := lex.LookupBot(ctx, \u0026lex.LookupBotArgs{\n\t\t\tName: \"OrderFlowers\",\n\t\t\tVersion: pulumi.StringRef(\"$LATEST\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lex.LexFunctions;\nimport com.pulumi.aws.lex.inputs.GetBotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var orderFlowersBot = LexFunctions.getBot(GetBotArgs.builder()\n .name(\"OrderFlowers\")\n .version(\"$LATEST\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n orderFlowersBot:\n fn::invoke:\n Function: aws:lex:getBot\n Arguments:\n name: OrderFlowers\n version: $LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBot.\n", "properties": { @@ -411788,7 +411788,7 @@ } }, "aws:lex/getBotAlias:getBotAlias": { - "description": "Provides details about a specific Amazon Lex Bot Alias.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst orderFlowersProd = aws.lex.getBotAlias({\n botName: \"OrderFlowers\",\n name: \"OrderFlowersProd\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_flowers_prod = aws.lex.get_bot_alias(bot_name=\"OrderFlowers\",\n name=\"OrderFlowersProd\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var orderFlowersProd = Aws.Lex.GetBotAlias.Invoke(new()\n {\n BotName = \"OrderFlowers\",\n Name = \"OrderFlowersProd\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\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 := lex.LookupBotAlias(ctx, \u0026lex.LookupBotAliasArgs{\n\t\t\tBotName: \"OrderFlowers\",\n\t\t\tName: \"OrderFlowersProd\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lex.LexFunctions;\nimport com.pulumi.aws.lex.inputs.GetBotAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var orderFlowersProd = LexFunctions.getBotAlias(GetBotAliasArgs.builder()\n .botName(\"OrderFlowers\")\n .name(\"OrderFlowersProd\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n orderFlowersProd:\n fn::invoke:\n function: aws:lex:getBotAlias\n arguments:\n botName: OrderFlowers\n name: OrderFlowersProd\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Lex Bot Alias.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst orderFlowersProd = aws.lex.getBotAlias({\n botName: \"OrderFlowers\",\n name: \"OrderFlowersProd\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_flowers_prod = aws.lex.get_bot_alias(bot_name=\"OrderFlowers\",\n name=\"OrderFlowersProd\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var orderFlowersProd = Aws.Lex.GetBotAlias.Invoke(new()\n {\n BotName = \"OrderFlowers\",\n Name = \"OrderFlowersProd\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\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 := lex.LookupBotAlias(ctx, \u0026lex.LookupBotAliasArgs{\n\t\t\tBotName: \"OrderFlowers\",\n\t\t\tName: \"OrderFlowersProd\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lex.LexFunctions;\nimport com.pulumi.aws.lex.inputs.GetBotAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var orderFlowersProd = LexFunctions.getBotAlias(GetBotAliasArgs.builder()\n .botName(\"OrderFlowers\")\n .name(\"OrderFlowersProd\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n orderFlowersProd:\n fn::invoke:\n Function: aws:lex:getBotAlias\n Arguments:\n botName: OrderFlowers\n name: OrderFlowersProd\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBotAlias.\n", "properties": { @@ -411862,7 +411862,7 @@ } }, "aws:lex/getIntent:getIntent": { - "description": "Provides details about a specific Amazon Lex Intent.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst orderFlowers = aws.lex.getIntent({\n name: \"OrderFlowers\",\n version: \"$LATEST\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_flowers = aws.lex.get_intent(name=\"OrderFlowers\",\n version=\"$LATEST\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var orderFlowers = Aws.Lex.GetIntent.Invoke(new()\n {\n Name = \"OrderFlowers\",\n Version = \"$LATEST\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\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 := lex.LookupIntent(ctx, \u0026lex.LookupIntentArgs{\n\t\t\tName: \"OrderFlowers\",\n\t\t\tVersion: pulumi.StringRef(\"$LATEST\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lex.LexFunctions;\nimport com.pulumi.aws.lex.inputs.GetIntentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var orderFlowers = LexFunctions.getIntent(GetIntentArgs.builder()\n .name(\"OrderFlowers\")\n .version(\"$LATEST\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n orderFlowers:\n fn::invoke:\n function: aws:lex:getIntent\n arguments:\n name: OrderFlowers\n version: $LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Lex Intent.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst orderFlowers = aws.lex.getIntent({\n name: \"OrderFlowers\",\n version: \"$LATEST\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_flowers = aws.lex.get_intent(name=\"OrderFlowers\",\n version=\"$LATEST\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var orderFlowers = Aws.Lex.GetIntent.Invoke(new()\n {\n Name = \"OrderFlowers\",\n Version = \"$LATEST\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\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 := lex.LookupIntent(ctx, \u0026lex.LookupIntentArgs{\n\t\t\tName: \"OrderFlowers\",\n\t\t\tVersion: pulumi.StringRef(\"$LATEST\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lex.LexFunctions;\nimport com.pulumi.aws.lex.inputs.GetIntentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var orderFlowers = LexFunctions.getIntent(GetIntentArgs.builder()\n .name(\"OrderFlowers\")\n .version(\"$LATEST\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n orderFlowers:\n fn::invoke:\n Function: aws:lex:getIntent\n Arguments:\n name: OrderFlowers\n version: $LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getIntent.\n", "properties": { @@ -411934,7 +411934,7 @@ } }, "aws:lex/getSlotType:getSlotType": { - "description": "Provides details about a specific Amazon Lex Slot Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst flowerTypes = aws.lex.getSlotType({\n name: \"FlowerTypes\",\n version: \"1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nflower_types = aws.lex.get_slot_type(name=\"FlowerTypes\",\n version=\"1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var flowerTypes = Aws.Lex.GetSlotType.Invoke(new()\n {\n Name = \"FlowerTypes\",\n Version = \"1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\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 := lex.LookupSlotType(ctx, \u0026lex.LookupSlotTypeArgs{\n\t\t\tName: \"FlowerTypes\",\n\t\t\tVersion: pulumi.StringRef(\"1\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lex.LexFunctions;\nimport com.pulumi.aws.lex.inputs.GetSlotTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var flowerTypes = LexFunctions.getSlotType(GetSlotTypeArgs.builder()\n .name(\"FlowerTypes\")\n .version(\"1\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n flowerTypes:\n fn::invoke:\n function: aws:lex:getSlotType\n arguments:\n name: FlowerTypes\n version: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific Amazon Lex Slot Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst flowerTypes = aws.lex.getSlotType({\n name: \"FlowerTypes\",\n version: \"1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nflower_types = aws.lex.get_slot_type(name=\"FlowerTypes\",\n version=\"1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var flowerTypes = Aws.Lex.GetSlotType.Invoke(new()\n {\n Name = \"FlowerTypes\",\n Version = \"1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\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 := lex.LookupSlotType(ctx, \u0026lex.LookupSlotTypeArgs{\n\t\t\tName: \"FlowerTypes\",\n\t\t\tVersion: pulumi.StringRef(\"1\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lex.LexFunctions;\nimport com.pulumi.aws.lex.inputs.GetSlotTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var flowerTypes = LexFunctions.getSlotType(GetSlotTypeArgs.builder()\n .name(\"FlowerTypes\")\n .version(\"1\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n flowerTypes:\n fn::invoke:\n Function: aws:lex:getSlotType\n Arguments:\n name: FlowerTypes\n version: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSlotType.\n", "properties": { @@ -412009,7 +412009,7 @@ } }, "aws:licensemanager/getLicenseGrants:getLicenseGrants": { - "description": "This resource can be used to get a set of license grant ARNs matching a filter.\n\n## Example Usage\n\nThe following shows getting all license grant ARNs granted to your account.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst test = current.then(current =\u003e aws.licensemanager.getLicenseGrants({\n filters: [{\n name: \"GranteePrincipalARN\",\n values: [`arn:aws:iam::${current.accountId}:root`],\n }],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ntest = aws.licensemanager.get_license_grants(filters=[{\n \"name\": \"GranteePrincipalARN\",\n \"values\": [f\"arn:aws:iam::{current.account_id}:root\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var test = Aws.LicenseManager.GetLicenseGrants.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.LicenseManager.Inputs.GetLicenseGrantsFilterInputArgs\n {\n Name = \"GranteePrincipalARN\",\n Values = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = licensemanager.GetLicenseGrants(ctx, \u0026licensemanager.GetLicenseGrantsArgs{\n\t\t\tFilters: []licensemanager.GetLicenseGrantsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"GranteePrincipalARN\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.licensemanager.LicensemanagerFunctions;\nimport com.pulumi.aws.licensemanager.inputs.GetLicenseGrantsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var test = LicensemanagerFunctions.getLicenseGrants(GetLicenseGrantsArgs.builder()\n .filters(GetLicenseGrantsFilterArgs.builder()\n .name(\"GranteePrincipalARN\")\n .values(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n test:\n fn::invoke:\n function: aws:licensemanager:getLicenseGrants\n arguments:\n filters:\n - name: GranteePrincipalARN\n values:\n - arn:aws:iam::${current.accountId}:root\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This resource can be used to get a set of license grant ARNs matching a filter.\n\n## Example Usage\n\nThe following shows getting all license grant ARNs granted to your account.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst test = current.then(current =\u003e aws.licensemanager.getLicenseGrants({\n filters: [{\n name: \"GranteePrincipalARN\",\n values: [`arn:aws:iam::${current.accountId}:root`],\n }],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ntest = aws.licensemanager.get_license_grants(filters=[{\n \"name\": \"GranteePrincipalARN\",\n \"values\": [f\"arn:aws:iam::{current.account_id}:root\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var test = Aws.LicenseManager.GetLicenseGrants.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.LicenseManager.Inputs.GetLicenseGrantsFilterInputArgs\n {\n Name = \"GranteePrincipalARN\",\n Values = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = licensemanager.GetLicenseGrants(ctx, \u0026licensemanager.GetLicenseGrantsArgs{\n\t\t\tFilters: []licensemanager.GetLicenseGrantsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"GranteePrincipalARN\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.licensemanager.LicensemanagerFunctions;\nimport com.pulumi.aws.licensemanager.inputs.GetLicenseGrantsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var test = LicensemanagerFunctions.getLicenseGrants(GetLicenseGrantsArgs.builder()\n .filters(GetLicenseGrantsFilterArgs.builder()\n .name(\"GranteePrincipalARN\")\n .values(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n test:\n fn::invoke:\n Function: aws:licensemanager:getLicenseGrants\n Arguments:\n filters:\n - name: GranteePrincipalARN\n values:\n - arn:aws:iam::${current.accountId}:root\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLicenseGrants.\n", "properties": { @@ -412052,7 +412052,7 @@ } }, "aws:licensemanager/getReceivedLicense:getReceivedLicense": { - "description": "This resource can be used to get data on a received license using an ARN. This can be helpful for pulling in data on a license from the AWS marketplace and sharing that license with another account.\n\n## Example Usage\n\nThe following shows getting the received license data using and ARN.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.licensemanager.getReceivedLicense({\n licenseArn: \"arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.licensemanager.get_received_license(license_arn=\"arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.LicenseManager.GetReceivedLicense.Invoke(new()\n {\n LicenseArn = \"arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\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 := licensemanager.GetReceivedLicense(ctx, \u0026licensemanager.GetReceivedLicenseArgs{\n\t\t\tLicenseArn: \"arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.licensemanager.LicensemanagerFunctions;\nimport com.pulumi.aws.licensemanager.inputs.GetReceivedLicenseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = LicensemanagerFunctions.getReceivedLicense(GetReceivedLicenseArgs.builder()\n .licenseArn(\"arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:licensemanager:getReceivedLicense\n arguments:\n licenseArn: arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This resource can be used to get data on a received license using an ARN. This can be helpful for pulling in data on a license from the AWS marketplace and sharing that license with another account.\n\n## Example Usage\n\nThe following shows getting the received license data using and ARN.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.licensemanager.getReceivedLicense({\n licenseArn: \"arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.licensemanager.get_received_license(license_arn=\"arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.LicenseManager.GetReceivedLicense.Invoke(new()\n {\n LicenseArn = \"arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\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 := licensemanager.GetReceivedLicense(ctx, \u0026licensemanager.GetReceivedLicenseArgs{\n\t\t\tLicenseArn: \"arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.licensemanager.LicensemanagerFunctions;\nimport com.pulumi.aws.licensemanager.inputs.GetReceivedLicenseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = LicensemanagerFunctions.getReceivedLicense(GetReceivedLicenseArgs.builder()\n .licenseArn(\"arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:licensemanager:getReceivedLicense\n Arguments:\n licenseArn: arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getReceivedLicense.\n", "properties": { @@ -412173,7 +412173,7 @@ } }, "aws:licensemanager/getReceivedLicenses:getReceivedLicenses": { - "description": "This resource can be used to get a set of license ARNs matching a filter.\n\n## Example Usage\n\nThe following shows getting all license ARNs issued from the AWS marketplace. Providing no filter, would provide all license ARNs for the entire account.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.licensemanager.getReceivedLicenses({\n filters: [{\n name: \"IssuerName\",\n values: [\"AWS/Marketplace\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.licensemanager.get_received_licenses(filters=[{\n \"name\": \"IssuerName\",\n \"values\": [\"AWS/Marketplace\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.LicenseManager.GetReceivedLicenses.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.LicenseManager.Inputs.GetReceivedLicensesFilterInputArgs\n {\n Name = \"IssuerName\",\n Values = new[]\n {\n \"AWS/Marketplace\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\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 := licensemanager.GetReceivedLicenses(ctx, \u0026licensemanager.GetReceivedLicensesArgs{\n\t\t\tFilters: []licensemanager.GetReceivedLicensesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"IssuerName\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"AWS/Marketplace\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.licensemanager.LicensemanagerFunctions;\nimport com.pulumi.aws.licensemanager.inputs.GetReceivedLicensesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = LicensemanagerFunctions.getReceivedLicenses(GetReceivedLicensesArgs.builder()\n .filters(GetReceivedLicensesFilterArgs.builder()\n .name(\"IssuerName\")\n .values(\"AWS/Marketplace\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:licensemanager:getReceivedLicenses\n arguments:\n filters:\n - name: IssuerName\n values:\n - AWS/Marketplace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This resource can be used to get a set of license ARNs matching a filter.\n\n## Example Usage\n\nThe following shows getting all license ARNs issued from the AWS marketplace. Providing no filter, would provide all license ARNs for the entire account.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.licensemanager.getReceivedLicenses({\n filters: [{\n name: \"IssuerName\",\n values: [\"AWS/Marketplace\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.licensemanager.get_received_licenses(filters=[{\n \"name\": \"IssuerName\",\n \"values\": [\"AWS/Marketplace\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.LicenseManager.GetReceivedLicenses.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.LicenseManager.Inputs.GetReceivedLicensesFilterInputArgs\n {\n Name = \"IssuerName\",\n Values = new[]\n {\n \"AWS/Marketplace\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\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 := licensemanager.GetReceivedLicenses(ctx, \u0026licensemanager.GetReceivedLicensesArgs{\n\t\t\tFilters: []licensemanager.GetReceivedLicensesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"IssuerName\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"AWS/Marketplace\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.licensemanager.LicensemanagerFunctions;\nimport com.pulumi.aws.licensemanager.inputs.GetReceivedLicensesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = LicensemanagerFunctions.getReceivedLicenses(GetReceivedLicensesArgs.builder()\n .filters(GetReceivedLicensesFilterArgs.builder()\n .name(\"IssuerName\")\n .values(\"AWS/Marketplace\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:licensemanager:getReceivedLicenses\n Arguments:\n filters:\n - name: IssuerName\n values:\n - AWS/Marketplace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getReceivedLicenses.\n", "properties": { @@ -412216,7 +412216,7 @@ } }, "aws:location/getGeofenceCollection:getGeofenceCollection": { - "description": "Retrieve information about a Location Service Geofence Collection.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.location.getGeofenceCollection({\n collectionName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.get_geofence_collection(collection_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Location.GetGeofenceCollection.Invoke(new()\n {\n CollectionName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\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 := location.LookupGeofenceCollection(ctx, \u0026location.LookupGeofenceCollectionArgs{\n\t\t\tCollectionName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.location.LocationFunctions;\nimport com.pulumi.aws.location.inputs.GetGeofenceCollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LocationFunctions.getGeofenceCollection(GetGeofenceCollectionArgs.builder()\n .collectionName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:location:getGeofenceCollection\n arguments:\n collectionName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a Location Service Geofence Collection.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.location.getGeofenceCollection({\n collectionName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.get_geofence_collection(collection_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Location.GetGeofenceCollection.Invoke(new()\n {\n CollectionName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\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 := location.LookupGeofenceCollection(ctx, \u0026location.LookupGeofenceCollectionArgs{\n\t\t\tCollectionName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.location.LocationFunctions;\nimport com.pulumi.aws.location.inputs.GetGeofenceCollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LocationFunctions.getGeofenceCollection(GetGeofenceCollectionArgs.builder()\n .collectionName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:location:getGeofenceCollection\n Arguments:\n collectionName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getGeofenceCollection.\n", "properties": { @@ -412293,7 +412293,7 @@ } }, "aws:location/getMap:getMap": { - "description": "Retrieve information about a Location Service Map.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.location.getMap({\n mapName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.get_map(map_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Location.GetMap.Invoke(new()\n {\n MapName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\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 := location.LookupMap(ctx, \u0026location.LookupMapArgs{\n\t\t\tMapName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.location.LocationFunctions;\nimport com.pulumi.aws.location.inputs.GetMapArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LocationFunctions.getMap(GetMapArgs.builder()\n .mapName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:location:getMap\n arguments:\n mapName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a Location Service Map.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.location.getMap({\n mapName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.get_map(map_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Location.GetMap.Invoke(new()\n {\n MapName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\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 := location.LookupMap(ctx, \u0026location.LookupMapArgs{\n\t\t\tMapName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.location.LocationFunctions;\nimport com.pulumi.aws.location.inputs.GetMapArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LocationFunctions.getMap(GetMapArgs.builder()\n .mapName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:location:getMap\n Arguments:\n mapName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getMap.\n", "properties": { @@ -412369,7 +412369,7 @@ } }, "aws:location/getPlaceIndex:getPlaceIndex": { - "description": "Retrieve information about a Location Service Place Index.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.location.getPlaceIndex({\n indexName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.get_place_index(index_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Location.GetPlaceIndex.Invoke(new()\n {\n IndexName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\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 := location.LookupPlaceIndex(ctx, \u0026location.LookupPlaceIndexArgs{\n\t\t\tIndexName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.location.LocationFunctions;\nimport com.pulumi.aws.location.inputs.GetPlaceIndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LocationFunctions.getPlaceIndex(GetPlaceIndexArgs.builder()\n .indexName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:location:getPlaceIndex\n arguments:\n indexName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a Location Service Place Index.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.location.getPlaceIndex({\n indexName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.get_place_index(index_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Location.GetPlaceIndex.Invoke(new()\n {\n IndexName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\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 := location.LookupPlaceIndex(ctx, \u0026location.LookupPlaceIndexArgs{\n\t\t\tIndexName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.location.LocationFunctions;\nimport com.pulumi.aws.location.inputs.GetPlaceIndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LocationFunctions.getPlaceIndex(GetPlaceIndexArgs.builder()\n .indexName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:location:getPlaceIndex\n Arguments:\n indexName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPlaceIndex.\n", "properties": { @@ -412450,7 +412450,7 @@ } }, "aws:location/getRouteCalculator:getRouteCalculator": { - "description": "Retrieve information about a Location Service Route Calculator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.location.getRouteCalculator({\n calculatorName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.get_route_calculator(calculator_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Location.GetRouteCalculator.Invoke(new()\n {\n CalculatorName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\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 := location.GetRouteCalculator(ctx, \u0026location.GetRouteCalculatorArgs{\n\t\t\tCalculatorName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.location.LocationFunctions;\nimport com.pulumi.aws.location.inputs.GetRouteCalculatorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LocationFunctions.getRouteCalculator(GetRouteCalculatorArgs.builder()\n .calculatorName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:location:getRouteCalculator\n arguments:\n calculatorName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a Location Service Route Calculator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.location.getRouteCalculator({\n calculatorName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.get_route_calculator(calculator_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Location.GetRouteCalculator.Invoke(new()\n {\n CalculatorName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\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 := location.GetRouteCalculator(ctx, \u0026location.GetRouteCalculatorArgs{\n\t\t\tCalculatorName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.location.LocationFunctions;\nimport com.pulumi.aws.location.inputs.GetRouteCalculatorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LocationFunctions.getRouteCalculator(GetRouteCalculatorArgs.builder()\n .calculatorName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:location:getRouteCalculator\n Arguments:\n calculatorName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRouteCalculator.\n", "properties": { @@ -412523,7 +412523,7 @@ } }, "aws:location/getTracker:getTracker": { - "description": "Retrieve information about a Location Service Tracker.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.location.getTracker({\n trackerName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.get_tracker(tracker_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Location.GetTracker.Invoke(new()\n {\n TrackerName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\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 := location.LookupTracker(ctx, \u0026location.LookupTrackerArgs{\n\t\t\tTrackerName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.location.LocationFunctions;\nimport com.pulumi.aws.location.inputs.GetTrackerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LocationFunctions.getTracker(GetTrackerArgs.builder()\n .trackerName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:location:getTracker\n arguments:\n trackerName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a Location Service Tracker.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.location.getTracker({\n trackerName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.get_tracker(tracker_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Location.GetTracker.Invoke(new()\n {\n TrackerName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\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 := location.LookupTracker(ctx, \u0026location.LookupTrackerArgs{\n\t\t\tTrackerName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.location.LocationFunctions;\nimport com.pulumi.aws.location.inputs.GetTrackerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LocationFunctions.getTracker(GetTrackerArgs.builder()\n .trackerName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:location:getTracker\n Arguments:\n trackerName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTracker.\n", "properties": { @@ -412601,7 +412601,7 @@ } }, "aws:location/getTrackerAssociation:getTrackerAssociation": { - "description": "Retrieve information about a Location Service Tracker Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.location.getTrackerAssociation({\n consumerArn: \"arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer\",\n trackerName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.get_tracker_association(consumer_arn=\"arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer\",\n tracker_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Location.GetTrackerAssociation.Invoke(new()\n {\n ConsumerArn = \"arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer\",\n TrackerName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\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 := location.LookupTrackerAssociation(ctx, \u0026location.LookupTrackerAssociationArgs{\n\t\t\tConsumerArn: \"arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer\",\n\t\t\tTrackerName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.location.LocationFunctions;\nimport com.pulumi.aws.location.inputs.GetTrackerAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LocationFunctions.getTrackerAssociation(GetTrackerAssociationArgs.builder()\n .consumerArn(\"arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer\")\n .trackerName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:location:getTrackerAssociation\n arguments:\n consumerArn: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer\n trackerName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a Location Service Tracker Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.location.getTrackerAssociation({\n consumerArn: \"arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer\",\n trackerName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.get_tracker_association(consumer_arn=\"arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer\",\n tracker_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Location.GetTrackerAssociation.Invoke(new()\n {\n ConsumerArn = \"arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer\",\n TrackerName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\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 := location.LookupTrackerAssociation(ctx, \u0026location.LookupTrackerAssociationArgs{\n\t\t\tConsumerArn: \"arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer\",\n\t\t\tTrackerName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.location.LocationFunctions;\nimport com.pulumi.aws.location.inputs.GetTrackerAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LocationFunctions.getTrackerAssociation(GetTrackerAssociationArgs.builder()\n .consumerArn(\"arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer\")\n .trackerName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:location:getTrackerAssociation\n Arguments:\n consumerArn: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer\n trackerName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTrackerAssociation.\n", "properties": { @@ -412643,7 +412643,7 @@ } }, "aws:location/getTrackerAssociations:getTrackerAssociations": { - "description": "Retrieve information about Location Service Tracker Associations.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.location.getTrackerAssociations({\n trackerName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.get_tracker_associations(tracker_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Location.GetTrackerAssociations.Invoke(new()\n {\n TrackerName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\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 := location.GetTrackerAssociations(ctx, \u0026location.GetTrackerAssociationsArgs{\n\t\t\tTrackerName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.location.LocationFunctions;\nimport com.pulumi.aws.location.inputs.GetTrackerAssociationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LocationFunctions.getTrackerAssociations(GetTrackerAssociationsArgs.builder()\n .trackerName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:location:getTrackerAssociations\n arguments:\n trackerName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about Location Service Tracker Associations.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.location.getTrackerAssociations({\n trackerName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.get_tracker_associations(tracker_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Location.GetTrackerAssociations.Invoke(new()\n {\n TrackerName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\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 := location.GetTrackerAssociations(ctx, \u0026location.GetTrackerAssociationsArgs{\n\t\t\tTrackerName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.location.LocationFunctions;\nimport com.pulumi.aws.location.inputs.GetTrackerAssociationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = LocationFunctions.getTrackerAssociations(GetTrackerAssociationsArgs.builder()\n .trackerName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:location:getTrackerAssociations\n Arguments:\n trackerName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTrackerAssociations.\n", "properties": { @@ -412684,7 +412684,7 @@ } }, "aws:mediaconvert/getQueue:getQueue": { - "description": "Retrieve information about a AWS Elemental MediaConvert Queue.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.mediaconvert.getQueue({\n id: \"tf-example-queue\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mediaconvert.get_queue(id=\"tf-example-queue\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MediaConvert.GetQueue.Invoke(new()\n {\n Id = \"tf-example-queue\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mediaconvert\"\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 := mediaconvert.LookupQueue(ctx, \u0026mediaconvert.LookupQueueArgs{\n\t\t\tId: \"tf-example-queue\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mediaconvert.MediaconvertFunctions;\nimport com.pulumi.aws.mediaconvert.inputs.GetQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MediaconvertFunctions.getQueue(GetQueueArgs.builder()\n .id(\"tf-example-queue\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:mediaconvert:getQueue\n arguments:\n id: tf-example-queue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a AWS Elemental MediaConvert Queue.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.mediaconvert.getQueue({\n id: \"tf-example-queue\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mediaconvert.get_queue(id=\"tf-example-queue\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MediaConvert.GetQueue.Invoke(new()\n {\n Id = \"tf-example-queue\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mediaconvert\"\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 := mediaconvert.LookupQueue(ctx, \u0026mediaconvert.LookupQueueArgs{\n\t\t\tId: \"tf-example-queue\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mediaconvert.MediaconvertFunctions;\nimport com.pulumi.aws.mediaconvert.inputs.GetQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MediaconvertFunctions.getQueue(GetQueueArgs.builder()\n .id(\"tf-example-queue\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:mediaconvert:getQueue\n Arguments:\n id: tf-example-queue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getQueue.\n", "properties": { @@ -412742,7 +412742,7 @@ } }, "aws:medialive/getInput:getInput": { - "description": "Data source for managing an AWS Elemental MediaLive Input.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.medialive.getInput({\n id: exampleAwsMedialiveInput.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.medialive.get_input(id=example_aws_medialive_input[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MediaLive.GetInput.Invoke(new()\n {\n Id = exampleAwsMedialiveInput.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/medialive\"\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 := medialive.LookupInput(ctx, \u0026medialive.LookupInputArgs{\n\t\t\tId: exampleAwsMedialiveInput.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.medialive.MedialiveFunctions;\nimport com.pulumi.aws.medialive.inputs.GetInputArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MedialiveFunctions.getInput(GetInputArgs.builder()\n .id(exampleAwsMedialiveInput.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:medialive:getInput\n arguments:\n id: ${exampleAwsMedialiveInput.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Elemental MediaLive Input.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.medialive.getInput({\n id: exampleAwsMedialiveInput.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.medialive.get_input(id=example_aws_medialive_input[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MediaLive.GetInput.Invoke(new()\n {\n Id = exampleAwsMedialiveInput.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/medialive\"\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 := medialive.LookupInput(ctx, \u0026medialive.LookupInputArgs{\n\t\t\tId: exampleAwsMedialiveInput.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.medialive.MedialiveFunctions;\nimport com.pulumi.aws.medialive.inputs.GetInputArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MedialiveFunctions.getInput(GetInputArgs.builder()\n .id(exampleAwsMedialiveInput.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:medialive:getInput\n Arguments:\n id: ${exampleAwsMedialiveInput.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInput.\n", "properties": { @@ -412868,7 +412868,7 @@ } }, "aws:memorydb/getAcl:getAcl": { - "description": "Provides information about a MemoryDB ACL.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.memorydb.getAcl({\n name: \"my-acl\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.get_acl(name=\"my-acl\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MemoryDb.GetAcl.Invoke(new()\n {\n Name = \"my-acl\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\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 := memorydb.LookupAcl(ctx, \u0026memorydb.LookupAclArgs{\n\t\t\tName: \"my-acl\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.memorydb.MemorydbFunctions;\nimport com.pulumi.aws.memorydb.inputs.GetAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MemorydbFunctions.getAcl(GetAclArgs.builder()\n .name(\"my-acl\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:memorydb:getAcl\n arguments:\n name: my-acl\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a MemoryDB ACL.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.memorydb.getAcl({\n name: \"my-acl\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.get_acl(name=\"my-acl\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MemoryDb.GetAcl.Invoke(new()\n {\n Name = \"my-acl\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\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 := memorydb.LookupAcl(ctx, \u0026memorydb.LookupAclArgs{\n\t\t\tName: \"my-acl\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.memorydb.MemorydbFunctions;\nimport com.pulumi.aws.memorydb.inputs.GetAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MemorydbFunctions.getAcl(GetAclArgs.builder()\n .name(\"my-acl\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:memorydb:getAcl\n Arguments:\n name: my-acl\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAcl.\n", "properties": { @@ -412934,7 +412934,7 @@ } }, "aws:memorydb/getCluster:getCluster": { - "description": "Provides information about a MemoryDB Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.memorydb.getCluster({\n name: \"my-cluster\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.get_cluster(name=\"my-cluster\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MemoryDb.GetCluster.Invoke(new()\n {\n Name = \"my-cluster\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\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 := memorydb.LookupCluster(ctx, \u0026memorydb.LookupClusterArgs{\n\t\t\tName: \"my-cluster\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.memorydb.MemorydbFunctions;\nimport com.pulumi.aws.memorydb.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MemorydbFunctions.getCluster(GetClusterArgs.builder()\n .name(\"my-cluster\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:memorydb:getCluster\n arguments:\n name: my-cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a MemoryDB Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.memorydb.getCluster({\n name: \"my-cluster\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.get_cluster(name=\"my-cluster\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MemoryDb.GetCluster.Invoke(new()\n {\n Name = \"my-cluster\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\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 := memorydb.LookupCluster(ctx, \u0026memorydb.LookupClusterArgs{\n\t\t\tName: \"my-cluster\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.memorydb.MemorydbFunctions;\nimport com.pulumi.aws.memorydb.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MemorydbFunctions.getCluster(GetClusterArgs.builder()\n .name(\"my-cluster\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:memorydb:getCluster\n Arguments:\n name: my-cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCluster.\n", "properties": { @@ -413111,7 +413111,7 @@ } }, "aws:memorydb/getParameterGroup:getParameterGroup": { - "description": "Provides information about a MemoryDB Parameter Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.memorydb.getParameterGroup({\n name: \"my-parameter-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.get_parameter_group(name=\"my-parameter-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MemoryDb.GetParameterGroup.Invoke(new()\n {\n Name = \"my-parameter-group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\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 := memorydb.LookupParameterGroup(ctx, \u0026memorydb.LookupParameterGroupArgs{\n\t\t\tName: \"my-parameter-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.memorydb.MemorydbFunctions;\nimport com.pulumi.aws.memorydb.inputs.GetParameterGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MemorydbFunctions.getParameterGroup(GetParameterGroupArgs.builder()\n .name(\"my-parameter-group\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:memorydb:getParameterGroup\n arguments:\n name: my-parameter-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a MemoryDB Parameter Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.memorydb.getParameterGroup({\n name: \"my-parameter-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.get_parameter_group(name=\"my-parameter-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MemoryDb.GetParameterGroup.Invoke(new()\n {\n Name = \"my-parameter-group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\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 := memorydb.LookupParameterGroup(ctx, \u0026memorydb.LookupParameterGroupArgs{\n\t\t\tName: \"my-parameter-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.memorydb.MemorydbFunctions;\nimport com.pulumi.aws.memorydb.inputs.GetParameterGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MemorydbFunctions.getParameterGroup(GetParameterGroupArgs.builder()\n .name(\"my-parameter-group\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:memorydb:getParameterGroup\n Arguments:\n name: my-parameter-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getParameterGroup.\n", "properties": { @@ -413183,7 +413183,7 @@ } }, "aws:memorydb/getSnapshot:getSnapshot": { - "description": "Provides information about a MemoryDB Snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.memorydb.getSnapshot({\n name: \"my-snapshot\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.get_snapshot(name=\"my-snapshot\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MemoryDb.GetSnapshot.Invoke(new()\n {\n Name = \"my-snapshot\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\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 := memorydb.LookupSnapshot(ctx, \u0026memorydb.LookupSnapshotArgs{\n\t\t\tName: \"my-snapshot\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.memorydb.MemorydbFunctions;\nimport com.pulumi.aws.memorydb.inputs.GetSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MemorydbFunctions.getSnapshot(GetSnapshotArgs.builder()\n .name(\"my-snapshot\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:memorydb:getSnapshot\n arguments:\n name: my-snapshot\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a MemoryDB Snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.memorydb.getSnapshot({\n name: \"my-snapshot\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.get_snapshot(name=\"my-snapshot\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MemoryDb.GetSnapshot.Invoke(new()\n {\n Name = \"my-snapshot\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\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 := memorydb.LookupSnapshot(ctx, \u0026memorydb.LookupSnapshotArgs{\n\t\t\tName: \"my-snapshot\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.memorydb.MemorydbFunctions;\nimport com.pulumi.aws.memorydb.inputs.GetSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MemorydbFunctions.getSnapshot(GetSnapshotArgs.builder()\n .name(\"my-snapshot\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:memorydb:getSnapshot\n Arguments:\n name: my-snapshot\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSnapshot.\n", "properties": { @@ -413260,7 +413260,7 @@ } }, "aws:memorydb/getSubnetGroup:getSubnetGroup": { - "description": "Provides information about a MemoryDB Subnet Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.memorydb.getSubnetGroup({\n name: \"my-subnet-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.get_subnet_group(name=\"my-subnet-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MemoryDb.GetSubnetGroup.Invoke(new()\n {\n Name = \"my-subnet-group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\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 := memorydb.LookupSubnetGroup(ctx, \u0026memorydb.LookupSubnetGroupArgs{\n\t\t\tName: \"my-subnet-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.memorydb.MemorydbFunctions;\nimport com.pulumi.aws.memorydb.inputs.GetSubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MemorydbFunctions.getSubnetGroup(GetSubnetGroupArgs.builder()\n .name(\"my-subnet-group\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:memorydb:getSubnetGroup\n arguments:\n name: my-subnet-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a MemoryDB Subnet Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.memorydb.getSubnetGroup({\n name: \"my-subnet-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.get_subnet_group(name=\"my-subnet-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MemoryDb.GetSubnetGroup.Invoke(new()\n {\n Name = \"my-subnet-group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\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 := memorydb.LookupSubnetGroup(ctx, \u0026memorydb.LookupSubnetGroupArgs{\n\t\t\tName: \"my-subnet-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.memorydb.MemorydbFunctions;\nimport com.pulumi.aws.memorydb.inputs.GetSubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MemorydbFunctions.getSubnetGroup(GetSubnetGroupArgs.builder()\n .name(\"my-subnet-group\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:memorydb:getSubnetGroup\n Arguments:\n name: my-subnet-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSubnetGroup.\n", "properties": { @@ -413331,7 +413331,7 @@ } }, "aws:memorydb/getUser:getUser": { - "description": "Provides information about a MemoryDB User.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.memorydb.getUser({\n userName: \"my-user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.get_user(user_name=\"my-user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MemoryDb.GetUser.Invoke(new()\n {\n UserName = \"my-user\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\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 := memorydb.LookupUser(ctx, \u0026memorydb.LookupUserArgs{\n\t\t\tUserName: \"my-user\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.memorydb.MemorydbFunctions;\nimport com.pulumi.aws.memorydb.inputs.GetUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MemorydbFunctions.getUser(GetUserArgs.builder()\n .userName(\"my-user\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:memorydb:getUser\n arguments:\n userName: my-user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a MemoryDB User.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.memorydb.getUser({\n userName: \"my-user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.get_user(user_name=\"my-user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MemoryDb.GetUser.Invoke(new()\n {\n UserName = \"my-user\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\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 := memorydb.LookupUser(ctx, \u0026memorydb.LookupUserArgs{\n\t\t\tUserName: \"my-user\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.memorydb.MemorydbFunctions;\nimport com.pulumi.aws.memorydb.inputs.GetUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MemorydbFunctions.getUser(GetUserArgs.builder()\n .userName(\"my-user\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:memorydb:getUser\n Arguments:\n userName: my-user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUser.\n", "properties": { @@ -413402,7 +413402,7 @@ } }, "aws:mq/getBroker:getBroker": { - "description": "Provides information about a MQ Broker.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst brokerId = config.get(\"brokerId\") || \"\";\nconst brokerName = config.get(\"brokerName\") || \"\";\nconst byId = aws.mq.getBroker({\n brokerId: brokerId,\n});\nconst byName = aws.mq.getBroker({\n brokerName: brokerName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nbroker_id = config.get(\"brokerId\")\nif broker_id is None:\n broker_id = \"\"\nbroker_name = config.get(\"brokerName\")\nif broker_name is None:\n broker_name = \"\"\nby_id = aws.mq.get_broker(broker_id=broker_id)\nby_name = aws.mq.get_broker(broker_name=broker_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var brokerId = config.Get(\"brokerId\") ?? \"\";\n var brokerName = config.Get(\"brokerName\") ?? \"\";\n var byId = Aws.Mq.GetBroker.Invoke(new()\n {\n BrokerId = brokerId,\n });\n\n var byName = Aws.Mq.GetBroker.Invoke(new()\n {\n BrokerName = brokerName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mq\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbrokerId := \"\"\n\t\tif param := cfg.Get(\"brokerId\"); param != \"\" {\n\t\t\tbrokerId = param\n\t\t}\n\t\tbrokerName := \"\"\n\t\tif param := cfg.Get(\"brokerName\"); param != \"\" {\n\t\t\tbrokerName = param\n\t\t}\n\t\t_, err := mq.LookupBroker(ctx, \u0026mq.LookupBrokerArgs{\n\t\t\tBrokerId: pulumi.StringRef(brokerId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mq.LookupBroker(ctx, \u0026mq.LookupBrokerArgs{\n\t\t\tBrokerName: pulumi.StringRef(brokerName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mq.MqFunctions;\nimport com.pulumi.aws.mq.inputs.GetBrokerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var brokerId = config.get(\"brokerId\").orElse(\"\");\n final var brokerName = config.get(\"brokerName\").orElse(\"\");\n final var byId = MqFunctions.getBroker(GetBrokerArgs.builder()\n .brokerId(brokerId)\n .build());\n\n final var byName = MqFunctions.getBroker(GetBrokerArgs.builder()\n .brokerName(brokerName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n brokerId:\n type: string\n default: \"\"\n brokerName:\n type: string\n default: \"\"\nvariables:\n byId:\n fn::invoke:\n function: aws:mq:getBroker\n arguments:\n brokerId: ${brokerId}\n byName:\n fn::invoke:\n function: aws:mq:getBroker\n arguments:\n brokerName: ${brokerName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a MQ Broker.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst brokerId = config.get(\"brokerId\") || \"\";\nconst brokerName = config.get(\"brokerName\") || \"\";\nconst byId = aws.mq.getBroker({\n brokerId: brokerId,\n});\nconst byName = aws.mq.getBroker({\n brokerName: brokerName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nbroker_id = config.get(\"brokerId\")\nif broker_id is None:\n broker_id = \"\"\nbroker_name = config.get(\"brokerName\")\nif broker_name is None:\n broker_name = \"\"\nby_id = aws.mq.get_broker(broker_id=broker_id)\nby_name = aws.mq.get_broker(broker_name=broker_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var brokerId = config.Get(\"brokerId\") ?? \"\";\n var brokerName = config.Get(\"brokerName\") ?? \"\";\n var byId = Aws.Mq.GetBroker.Invoke(new()\n {\n BrokerId = brokerId,\n });\n\n var byName = Aws.Mq.GetBroker.Invoke(new()\n {\n BrokerName = brokerName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mq\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbrokerId := \"\"\n\t\tif param := cfg.Get(\"brokerId\"); param != \"\" {\n\t\t\tbrokerId = param\n\t\t}\n\t\tbrokerName := \"\"\n\t\tif param := cfg.Get(\"brokerName\"); param != \"\" {\n\t\t\tbrokerName = param\n\t\t}\n\t\t_, err := mq.LookupBroker(ctx, \u0026mq.LookupBrokerArgs{\n\t\t\tBrokerId: pulumi.StringRef(brokerId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mq.LookupBroker(ctx, \u0026mq.LookupBrokerArgs{\n\t\t\tBrokerName: pulumi.StringRef(brokerName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mq.MqFunctions;\nimport com.pulumi.aws.mq.inputs.GetBrokerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var brokerId = config.get(\"brokerId\").orElse(\"\");\n final var brokerName = config.get(\"brokerName\").orElse(\"\");\n final var byId = MqFunctions.getBroker(GetBrokerArgs.builder()\n .brokerId(brokerId)\n .build());\n\n final var byName = MqFunctions.getBroker(GetBrokerArgs.builder()\n .brokerName(brokerName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n brokerId:\n type: string\n default:\n brokerName:\n type: string\n default:\nvariables:\n byId:\n fn::invoke:\n Function: aws:mq:getBroker\n Arguments:\n brokerId: ${brokerId}\n byName:\n fn::invoke:\n Function: aws:mq:getBroker\n Arguments:\n brokerName: ${brokerName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBroker.\n", "properties": { @@ -413543,7 +413543,7 @@ } }, "aws:mq/getBrokerEngineTypes:getBrokerEngineTypes": { - "description": "Retrieve information about available broker engines.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.mq.getBrokerEngineTypes({\n engineType: \"ACTIVEMQ\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mq.get_broker_engine_types(engine_type=\"ACTIVEMQ\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Mq.GetBrokerEngineTypes.Invoke(new()\n {\n EngineType = \"ACTIVEMQ\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mq\"\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 := mq.GetBrokerEngineTypes(ctx, \u0026mq.GetBrokerEngineTypesArgs{\n\t\t\tEngineType: pulumi.StringRef(\"ACTIVEMQ\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mq.MqFunctions;\nimport com.pulumi.aws.mq.inputs.GetBrokerEngineTypesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MqFunctions.getBrokerEngineTypes(GetBrokerEngineTypesArgs.builder()\n .engineType(\"ACTIVEMQ\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:mq:getBrokerEngineTypes\n arguments:\n engineType: ACTIVEMQ\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about available broker engines.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.mq.getBrokerEngineTypes({\n engineType: \"ACTIVEMQ\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mq.get_broker_engine_types(engine_type=\"ACTIVEMQ\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Mq.GetBrokerEngineTypes.Invoke(new()\n {\n EngineType = \"ACTIVEMQ\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mq\"\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 := mq.GetBrokerEngineTypes(ctx, \u0026mq.GetBrokerEngineTypesArgs{\n\t\t\tEngineType: pulumi.StringRef(\"ACTIVEMQ\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mq.MqFunctions;\nimport com.pulumi.aws.mq.inputs.GetBrokerEngineTypesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MqFunctions.getBrokerEngineTypes(GetBrokerEngineTypesArgs.builder()\n .engineType(\"ACTIVEMQ\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:mq:getBrokerEngineTypes\n Arguments:\n engineType: ACTIVEMQ\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBrokerEngineTypes.\n", "properties": { @@ -413581,7 +413581,7 @@ } }, "aws:mq/getInstanceTypeOfferings:getInstanceTypeOfferings": { - "description": "Provides information about a MQ Broker Instance Offerings.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst empty = aws.mq.getInstanceTypeOfferings({});\nconst engine = aws.mq.getInstanceTypeOfferings({\n engineType: \"ACTIVEMQ\",\n});\nconst storage = aws.mq.getInstanceTypeOfferings({\n storageType: \"EBS\",\n});\nconst instance = aws.mq.getInstanceTypeOfferings({\n hostInstanceType: \"mq.m5.large\",\n});\nconst all = aws.mq.getInstanceTypeOfferings({\n hostInstanceType: \"mq.m5.large\",\n storageType: \"EBS\",\n engineType: \"ACTIVEMQ\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nempty = aws.mq.get_instance_type_offerings()\nengine = aws.mq.get_instance_type_offerings(engine_type=\"ACTIVEMQ\")\nstorage = aws.mq.get_instance_type_offerings(storage_type=\"EBS\")\ninstance = aws.mq.get_instance_type_offerings(host_instance_type=\"mq.m5.large\")\nall = aws.mq.get_instance_type_offerings(host_instance_type=\"mq.m5.large\",\n storage_type=\"EBS\",\n engine_type=\"ACTIVEMQ\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var empty = Aws.Mq.GetInstanceTypeOfferings.Invoke();\n\n var engine = Aws.Mq.GetInstanceTypeOfferings.Invoke(new()\n {\n EngineType = \"ACTIVEMQ\",\n });\n\n var storage = Aws.Mq.GetInstanceTypeOfferings.Invoke(new()\n {\n StorageType = \"EBS\",\n });\n\n var instance = Aws.Mq.GetInstanceTypeOfferings.Invoke(new()\n {\n HostInstanceType = \"mq.m5.large\",\n });\n\n var all = Aws.Mq.GetInstanceTypeOfferings.Invoke(new()\n {\n HostInstanceType = \"mq.m5.large\",\n StorageType = \"EBS\",\n EngineType = \"ACTIVEMQ\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mq\"\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 := mq.GetInstanceTypeOfferings(ctx, \u0026mq.GetInstanceTypeOfferingsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mq.GetInstanceTypeOfferings(ctx, \u0026mq.GetInstanceTypeOfferingsArgs{\n\t\t\tEngineType: pulumi.StringRef(\"ACTIVEMQ\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mq.GetInstanceTypeOfferings(ctx, \u0026mq.GetInstanceTypeOfferingsArgs{\n\t\t\tStorageType: pulumi.StringRef(\"EBS\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mq.GetInstanceTypeOfferings(ctx, \u0026mq.GetInstanceTypeOfferingsArgs{\n\t\t\tHostInstanceType: pulumi.StringRef(\"mq.m5.large\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mq.GetInstanceTypeOfferings(ctx, \u0026mq.GetInstanceTypeOfferingsArgs{\n\t\t\tHostInstanceType: pulumi.StringRef(\"mq.m5.large\"),\n\t\t\tStorageType: pulumi.StringRef(\"EBS\"),\n\t\t\tEngineType: pulumi.StringRef(\"ACTIVEMQ\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mq.MqFunctions;\nimport com.pulumi.aws.mq.inputs.GetInstanceTypeOfferingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var empty = MqFunctions.getInstanceTypeOfferings();\n\n final var engine = MqFunctions.getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.builder()\n .engineType(\"ACTIVEMQ\")\n .build());\n\n final var storage = MqFunctions.getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.builder()\n .storageType(\"EBS\")\n .build());\n\n final var instance = MqFunctions.getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.builder()\n .hostInstanceType(\"mq.m5.large\")\n .build());\n\n final var all = MqFunctions.getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.builder()\n .hostInstanceType(\"mq.m5.large\")\n .storageType(\"EBS\")\n .engineType(\"ACTIVEMQ\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n empty:\n fn::invoke:\n function: aws:mq:getInstanceTypeOfferings\n arguments: {}\n engine:\n fn::invoke:\n function: aws:mq:getInstanceTypeOfferings\n arguments:\n engineType: ACTIVEMQ\n storage:\n fn::invoke:\n function: aws:mq:getInstanceTypeOfferings\n arguments:\n storageType: EBS\n instance:\n fn::invoke:\n function: aws:mq:getInstanceTypeOfferings\n arguments:\n hostInstanceType: mq.m5.large\n all:\n fn::invoke:\n function: aws:mq:getInstanceTypeOfferings\n arguments:\n hostInstanceType: mq.m5.large\n storageType: EBS\n engineType: ACTIVEMQ\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a MQ Broker Instance Offerings.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst empty = aws.mq.getInstanceTypeOfferings({});\nconst engine = aws.mq.getInstanceTypeOfferings({\n engineType: \"ACTIVEMQ\",\n});\nconst storage = aws.mq.getInstanceTypeOfferings({\n storageType: \"EBS\",\n});\nconst instance = aws.mq.getInstanceTypeOfferings({\n hostInstanceType: \"mq.m5.large\",\n});\nconst all = aws.mq.getInstanceTypeOfferings({\n hostInstanceType: \"mq.m5.large\",\n storageType: \"EBS\",\n engineType: \"ACTIVEMQ\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nempty = aws.mq.get_instance_type_offerings()\nengine = aws.mq.get_instance_type_offerings(engine_type=\"ACTIVEMQ\")\nstorage = aws.mq.get_instance_type_offerings(storage_type=\"EBS\")\ninstance = aws.mq.get_instance_type_offerings(host_instance_type=\"mq.m5.large\")\nall = aws.mq.get_instance_type_offerings(host_instance_type=\"mq.m5.large\",\n storage_type=\"EBS\",\n engine_type=\"ACTIVEMQ\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var empty = Aws.Mq.GetInstanceTypeOfferings.Invoke();\n\n var engine = Aws.Mq.GetInstanceTypeOfferings.Invoke(new()\n {\n EngineType = \"ACTIVEMQ\",\n });\n\n var storage = Aws.Mq.GetInstanceTypeOfferings.Invoke(new()\n {\n StorageType = \"EBS\",\n });\n\n var instance = Aws.Mq.GetInstanceTypeOfferings.Invoke(new()\n {\n HostInstanceType = \"mq.m5.large\",\n });\n\n var all = Aws.Mq.GetInstanceTypeOfferings.Invoke(new()\n {\n HostInstanceType = \"mq.m5.large\",\n StorageType = \"EBS\",\n EngineType = \"ACTIVEMQ\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mq\"\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 := mq.GetInstanceTypeOfferings(ctx, \u0026mq.GetInstanceTypeOfferingsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mq.GetInstanceTypeOfferings(ctx, \u0026mq.GetInstanceTypeOfferingsArgs{\n\t\t\tEngineType: pulumi.StringRef(\"ACTIVEMQ\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mq.GetInstanceTypeOfferings(ctx, \u0026mq.GetInstanceTypeOfferingsArgs{\n\t\t\tStorageType: pulumi.StringRef(\"EBS\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mq.GetInstanceTypeOfferings(ctx, \u0026mq.GetInstanceTypeOfferingsArgs{\n\t\t\tHostInstanceType: pulumi.StringRef(\"mq.m5.large\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mq.GetInstanceTypeOfferings(ctx, \u0026mq.GetInstanceTypeOfferingsArgs{\n\t\t\tHostInstanceType: pulumi.StringRef(\"mq.m5.large\"),\n\t\t\tStorageType: pulumi.StringRef(\"EBS\"),\n\t\t\tEngineType: pulumi.StringRef(\"ACTIVEMQ\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mq.MqFunctions;\nimport com.pulumi.aws.mq.inputs.GetInstanceTypeOfferingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var empty = MqFunctions.getInstanceTypeOfferings();\n\n final var engine = MqFunctions.getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.builder()\n .engineType(\"ACTIVEMQ\")\n .build());\n\n final var storage = MqFunctions.getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.builder()\n .storageType(\"EBS\")\n .build());\n\n final var instance = MqFunctions.getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.builder()\n .hostInstanceType(\"mq.m5.large\")\n .build());\n\n final var all = MqFunctions.getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.builder()\n .hostInstanceType(\"mq.m5.large\")\n .storageType(\"EBS\")\n .engineType(\"ACTIVEMQ\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n empty:\n fn::invoke:\n Function: aws:mq:getInstanceTypeOfferings\n Arguments: {}\n engine:\n fn::invoke:\n Function: aws:mq:getInstanceTypeOfferings\n Arguments:\n engineType: ACTIVEMQ\n storage:\n fn::invoke:\n Function: aws:mq:getInstanceTypeOfferings\n Arguments:\n storageType: EBS\n instance:\n fn::invoke:\n Function: aws:mq:getInstanceTypeOfferings\n Arguments:\n hostInstanceType: mq.m5.large\n all:\n fn::invoke:\n Function: aws:mq:getInstanceTypeOfferings\n Arguments:\n hostInstanceType: mq.m5.large\n storageType: EBS\n engineType: ACTIVEMQ\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInstanceTypeOfferings.\n", "properties": { @@ -413635,7 +413635,7 @@ } }, "aws:msk/getBootstrapBrokers:getBootstrapBrokers": { - "description": "Get a list of brokers that a client application can use to bootstrap.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.msk.getBootstrapBrokers({\n clusterArn: exampleAwsMskCluster.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.get_bootstrap_brokers(cluster_arn=example_aws_msk_cluster[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Msk.GetBootstrapBrokers.Invoke(new()\n {\n ClusterArn = exampleAwsMskCluster.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\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 := msk.GetBootstrapBrokers(ctx, \u0026msk.GetBootstrapBrokersArgs{\n\t\t\tClusterArn: exampleAwsMskCluster.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.MskFunctions;\nimport com.pulumi.aws.msk.inputs.GetBootstrapBrokersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MskFunctions.getBootstrapBrokers(GetBootstrapBrokersArgs.builder()\n .clusterArn(exampleAwsMskCluster.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:msk:getBootstrapBrokers\n arguments:\n clusterArn: ${exampleAwsMskCluster.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get a list of brokers that a client application can use to bootstrap.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.msk.getBootstrapBrokers({\n clusterArn: exampleAwsMskCluster.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.get_bootstrap_brokers(cluster_arn=example_aws_msk_cluster[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Msk.GetBootstrapBrokers.Invoke(new()\n {\n ClusterArn = exampleAwsMskCluster.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\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 := msk.GetBootstrapBrokers(ctx, \u0026msk.GetBootstrapBrokersArgs{\n\t\t\tClusterArn: exampleAwsMskCluster.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.MskFunctions;\nimport com.pulumi.aws.msk.inputs.GetBootstrapBrokersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MskFunctions.getBootstrapBrokers(GetBootstrapBrokersArgs.builder()\n .clusterArn(exampleAwsMskCluster.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:msk:getBootstrapBrokers\n Arguments:\n clusterArn: ${exampleAwsMskCluster.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBootstrapBrokers.\n", "properties": { @@ -413718,7 +413718,7 @@ } }, "aws:msk/getBrokerNodes:getBrokerNodes": { - "description": "Get information on an Amazon MSK Broker Nodes.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.msk.getBrokerNodes({\n clusterArn: exampleAwsMskCluster.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.get_broker_nodes(cluster_arn=example_aws_msk_cluster[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Msk.GetBrokerNodes.Invoke(new()\n {\n ClusterArn = exampleAwsMskCluster.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\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 := msk.GetBrokerNodes(ctx, \u0026msk.GetBrokerNodesArgs{\n\t\t\tClusterArn: exampleAwsMskCluster.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.MskFunctions;\nimport com.pulumi.aws.msk.inputs.GetBrokerNodesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MskFunctions.getBrokerNodes(GetBrokerNodesArgs.builder()\n .clusterArn(exampleAwsMskCluster.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:msk:getBrokerNodes\n arguments:\n clusterArn: ${exampleAwsMskCluster.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an Amazon MSK Broker Nodes.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.msk.getBrokerNodes({\n clusterArn: exampleAwsMskCluster.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.get_broker_nodes(cluster_arn=example_aws_msk_cluster[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Msk.GetBrokerNodes.Invoke(new()\n {\n ClusterArn = exampleAwsMskCluster.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\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 := msk.GetBrokerNodes(ctx, \u0026msk.GetBrokerNodesArgs{\n\t\t\tClusterArn: exampleAwsMskCluster.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.MskFunctions;\nimport com.pulumi.aws.msk.inputs.GetBrokerNodesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MskFunctions.getBrokerNodes(GetBrokerNodesArgs.builder()\n .clusterArn(exampleAwsMskCluster.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:msk:getBrokerNodes\n Arguments:\n clusterArn: ${exampleAwsMskCluster.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBrokerNodes.\n", "properties": { @@ -413758,7 +413758,7 @@ } }, "aws:msk/getCluster:getCluster": { - "description": "Get information on an Amazon MSK Cluster.\n\n\u003e **Note:** This data sources returns information on _provisioned_ clusters.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.msk.getCluster({\n clusterName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.get_cluster(cluster_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Msk.GetCluster.Invoke(new()\n {\n ClusterName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\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 := msk.LookupCluster(ctx, \u0026msk.LookupClusterArgs{\n\t\t\tClusterName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.MskFunctions;\nimport com.pulumi.aws.msk.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MskFunctions.getCluster(GetClusterArgs.builder()\n .clusterName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:msk:getCluster\n arguments:\n clusterName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an Amazon MSK Cluster.\n\n\u003e **Note:** This data sources returns information on _provisioned_ clusters.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.msk.getCluster({\n clusterName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.get_cluster(cluster_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Msk.GetCluster.Invoke(new()\n {\n ClusterName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\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 := msk.LookupCluster(ctx, \u0026msk.LookupClusterArgs{\n\t\t\tClusterName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.MskFunctions;\nimport com.pulumi.aws.msk.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MskFunctions.getCluster(GetClusterArgs.builder()\n .clusterName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:msk:getCluster\n Arguments:\n clusterName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCluster.\n", "properties": { @@ -413879,7 +413879,7 @@ } }, "aws:msk/getConfiguration:getConfiguration": { - "description": "Get information on an Amazon MSK Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.msk.getConfiguration({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.get_configuration(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Msk.GetConfiguration.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\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 := msk.LookupConfiguration(ctx, \u0026msk.LookupConfigurationArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.MskFunctions;\nimport com.pulumi.aws.msk.inputs.GetConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MskFunctions.getConfiguration(GetConfigurationArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:msk:getConfiguration\n arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an Amazon MSK Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.msk.getConfiguration({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.get_configuration(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Msk.GetConfiguration.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\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 := msk.LookupConfiguration(ctx, \u0026msk.LookupConfigurationArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.MskFunctions;\nimport com.pulumi.aws.msk.inputs.GetConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MskFunctions.getConfiguration(GetConfigurationArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:msk:getConfiguration\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getConfiguration.\n", "properties": { @@ -413940,7 +413940,7 @@ } }, "aws:msk/getKafkaVersion:getKafkaVersion": { - "description": "Get information on a Amazon MSK Kafka Version\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst preferred = aws.msk.getKafkaVersion({\n preferredVersions: [\n \"2.4.1.1\",\n \"2.4.1\",\n \"2.2.1\",\n ],\n});\nconst example = aws.msk.getKafkaVersion({\n version: \"2.8.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npreferred = aws.msk.get_kafka_version(preferred_versions=[\n \"2.4.1.1\",\n \"2.4.1\",\n \"2.2.1\",\n])\nexample = aws.msk.get_kafka_version(version=\"2.8.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var preferred = Aws.Msk.GetKafkaVersion.Invoke(new()\n {\n PreferredVersions = new[]\n {\n \"2.4.1.1\",\n \"2.4.1\",\n \"2.2.1\",\n },\n });\n\n var example = Aws.Msk.GetKafkaVersion.Invoke(new()\n {\n Version = \"2.8.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\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 := msk.GetKafkaVersion(ctx, \u0026msk.GetKafkaVersionArgs{\n\t\t\tPreferredVersions: []string{\n\t\t\t\t\"2.4.1.1\",\n\t\t\t\t\"2.4.1\",\n\t\t\t\t\"2.2.1\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = msk.GetKafkaVersion(ctx, \u0026msk.GetKafkaVersionArgs{\n\t\t\tVersion: pulumi.StringRef(\"2.8.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.MskFunctions;\nimport com.pulumi.aws.msk.inputs.GetKafkaVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var preferred = MskFunctions.getKafkaVersion(GetKafkaVersionArgs.builder()\n .preferredVersions( \n \"2.4.1.1\",\n \"2.4.1\",\n \"2.2.1\")\n .build());\n\n final var example = MskFunctions.getKafkaVersion(GetKafkaVersionArgs.builder()\n .version(\"2.8.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n preferred:\n fn::invoke:\n function: aws:msk:getKafkaVersion\n arguments:\n preferredVersions:\n - 2.4.1.1\n - 2.4.1\n - 2.2.1\n example:\n fn::invoke:\n function: aws:msk:getKafkaVersion\n arguments:\n version: 2.8.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on a Amazon MSK Kafka Version\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst preferred = aws.msk.getKafkaVersion({\n preferredVersions: [\n \"2.4.1.1\",\n \"2.4.1\",\n \"2.2.1\",\n ],\n});\nconst example = aws.msk.getKafkaVersion({\n version: \"2.8.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npreferred = aws.msk.get_kafka_version(preferred_versions=[\n \"2.4.1.1\",\n \"2.4.1\",\n \"2.2.1\",\n])\nexample = aws.msk.get_kafka_version(version=\"2.8.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var preferred = Aws.Msk.GetKafkaVersion.Invoke(new()\n {\n PreferredVersions = new[]\n {\n \"2.4.1.1\",\n \"2.4.1\",\n \"2.2.1\",\n },\n });\n\n var example = Aws.Msk.GetKafkaVersion.Invoke(new()\n {\n Version = \"2.8.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\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 := msk.GetKafkaVersion(ctx, \u0026msk.GetKafkaVersionArgs{\n\t\t\tPreferredVersions: []string{\n\t\t\t\t\"2.4.1.1\",\n\t\t\t\t\"2.4.1\",\n\t\t\t\t\"2.2.1\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = msk.GetKafkaVersion(ctx, \u0026msk.GetKafkaVersionArgs{\n\t\t\tVersion: pulumi.StringRef(\"2.8.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.MskFunctions;\nimport com.pulumi.aws.msk.inputs.GetKafkaVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var preferred = MskFunctions.getKafkaVersion(GetKafkaVersionArgs.builder()\n .preferredVersions( \n \"2.4.1.1\",\n \"2.4.1\",\n \"2.2.1\")\n .build());\n\n final var example = MskFunctions.getKafkaVersion(GetKafkaVersionArgs.builder()\n .version(\"2.8.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n preferred:\n fn::invoke:\n Function: aws:msk:getKafkaVersion\n Arguments:\n preferredVersions:\n - 2.4.1.1\n - 2.4.1\n - 2.2.1\n example:\n fn::invoke:\n Function: aws:msk:getKafkaVersion\n Arguments:\n version: 2.8.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getKafkaVersion.\n", "properties": { @@ -413988,7 +413988,7 @@ } }, "aws:msk/getVpcConnection:getVpcConnection": { - "description": "Get information on an Amazon MSK VPC Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.msk.getVpcConnection({\n arn: exampleAwsMskVpcConnection.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.get_vpc_connection(arn=example_aws_msk_vpc_connection[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Msk.GetVpcConnection.Invoke(new()\n {\n Arn = exampleAwsMskVpcConnection.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\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 := msk.LookupVpcConnection(ctx, \u0026msk.LookupVpcConnectionArgs{\n\t\t\tArn: exampleAwsMskVpcConnection.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.MskFunctions;\nimport com.pulumi.aws.msk.inputs.GetVpcConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MskFunctions.getVpcConnection(GetVpcConnectionArgs.builder()\n .arn(exampleAwsMskVpcConnection.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:msk:getVpcConnection\n arguments:\n arn: ${exampleAwsMskVpcConnection.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an Amazon MSK VPC Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.msk.getVpcConnection({\n arn: exampleAwsMskVpcConnection.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.get_vpc_connection(arn=example_aws_msk_vpc_connection[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Msk.GetVpcConnection.Invoke(new()\n {\n Arn = exampleAwsMskVpcConnection.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\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 := msk.LookupVpcConnection(ctx, \u0026msk.LookupVpcConnectionArgs{\n\t\t\tArn: exampleAwsMskVpcConnection.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.MskFunctions;\nimport com.pulumi.aws.msk.inputs.GetVpcConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MskFunctions.getVpcConnection(GetVpcConnectionArgs.builder()\n .arn(exampleAwsMskVpcConnection.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:msk:getVpcConnection\n Arguments:\n arn: ${exampleAwsMskVpcConnection.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcConnection.\n", "properties": { @@ -414067,7 +414067,7 @@ } }, "aws:mskconnect/getConnector:getConnector": { - "description": "Get information on an Amazon MSK Connect Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.mskconnect.getConnector({\n name: \"example-mskconnector\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mskconnect.get_connector(name=\"example-mskconnector\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MskConnect.GetConnector.Invoke(new()\n {\n Name = \"example-mskconnector\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mskconnect\"\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 := mskconnect.LookupConnector(ctx, \u0026mskconnect.LookupConnectorArgs{\n\t\t\tName: \"example-mskconnector\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mskconnect.MskconnectFunctions;\nimport com.pulumi.aws.mskconnect.inputs.GetConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MskconnectFunctions.getConnector(GetConnectorArgs.builder()\n .name(\"example-mskconnector\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:mskconnect:getConnector\n arguments:\n name: example-mskconnector\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an Amazon MSK Connect Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.mskconnect.getConnector({\n name: \"example-mskconnector\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mskconnect.get_connector(name=\"example-mskconnector\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MskConnect.GetConnector.Invoke(new()\n {\n Name = \"example-mskconnector\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mskconnect\"\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 := mskconnect.LookupConnector(ctx, \u0026mskconnect.LookupConnectorArgs{\n\t\t\tName: \"example-mskconnector\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mskconnect.MskconnectFunctions;\nimport com.pulumi.aws.mskconnect.inputs.GetConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MskconnectFunctions.getConnector(GetConnectorArgs.builder()\n .name(\"example-mskconnector\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:mskconnect:getConnector\n Arguments:\n name: example-mskconnector\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getConnector.\n", "properties": { @@ -414130,7 +414130,7 @@ } }, "aws:mskconnect/getCustomPlugin:getCustomPlugin": { - "description": "Get information on an Amazon MSK Connect custom plugin.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.mskconnect.getCustomPlugin({\n name: \"example-debezium-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mskconnect.get_custom_plugin(name=\"example-debezium-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MskConnect.GetCustomPlugin.Invoke(new()\n {\n Name = \"example-debezium-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mskconnect\"\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 := mskconnect.LookupCustomPlugin(ctx, \u0026mskconnect.LookupCustomPluginArgs{\n\t\t\tName: \"example-debezium-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mskconnect.MskconnectFunctions;\nimport com.pulumi.aws.mskconnect.inputs.GetCustomPluginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MskconnectFunctions.getCustomPlugin(GetCustomPluginArgs.builder()\n .name(\"example-debezium-1\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:mskconnect:getCustomPlugin\n arguments:\n name: example-debezium-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an Amazon MSK Connect custom plugin.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.mskconnect.getCustomPlugin({\n name: \"example-debezium-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mskconnect.get_custom_plugin(name=\"example-debezium-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MskConnect.GetCustomPlugin.Invoke(new()\n {\n Name = \"example-debezium-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mskconnect\"\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 := mskconnect.LookupCustomPlugin(ctx, \u0026mskconnect.LookupCustomPluginArgs{\n\t\t\tName: \"example-debezium-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mskconnect.MskconnectFunctions;\nimport com.pulumi.aws.mskconnect.inputs.GetCustomPluginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MskconnectFunctions.getCustomPlugin(GetCustomPluginArgs.builder()\n .name(\"example-debezium-1\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:mskconnect:getCustomPlugin\n Arguments:\n name: example-debezium-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCustomPlugin.\n", "properties": { @@ -414198,7 +414198,7 @@ } }, "aws:mskconnect/getWorkerConfiguration:getWorkerConfiguration": { - "description": "Get information on an Amazon MSK Connect Worker Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.mskconnect.getWorkerConfiguration({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mskconnect.get_worker_configuration(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MskConnect.GetWorkerConfiguration.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mskconnect\"\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 := mskconnect.LookupWorkerConfiguration(ctx, \u0026mskconnect.LookupWorkerConfigurationArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mskconnect.MskconnectFunctions;\nimport com.pulumi.aws.mskconnect.inputs.GetWorkerConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MskconnectFunctions.getWorkerConfiguration(GetWorkerConfigurationArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:mskconnect:getWorkerConfiguration\n arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an Amazon MSK Connect Worker Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.mskconnect.getWorkerConfiguration({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mskconnect.get_worker_configuration(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.MskConnect.GetWorkerConfiguration.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mskconnect\"\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 := mskconnect.LookupWorkerConfiguration(ctx, \u0026mskconnect.LookupWorkerConfigurationArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mskconnect.MskconnectFunctions;\nimport com.pulumi.aws.mskconnect.inputs.GetWorkerConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MskconnectFunctions.getWorkerConfiguration(GetWorkerConfigurationArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:mskconnect:getWorkerConfiguration\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getWorkerConfiguration.\n", "properties": { @@ -414266,7 +414266,7 @@ } }, "aws:neptune/getEngineVersion:getEngineVersion": { - "description": "Information about a Neptune engine version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.neptune.getEngineVersion({\n preferredVersions: [\n \"1.0.3.0\",\n \"1.0.2.2\",\n \"1.0.2.1\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.neptune.get_engine_version(preferred_versions=[\n \"1.0.3.0\",\n \"1.0.2.2\",\n \"1.0.2.1\",\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Neptune.GetEngineVersion.Invoke(new()\n {\n PreferredVersions = new[]\n {\n \"1.0.3.0\",\n \"1.0.2.2\",\n \"1.0.2.1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\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 := neptune.GetEngineVersion(ctx, \u0026neptune.GetEngineVersionArgs{\n\t\t\tPreferredVersions: []string{\n\t\t\t\t\"1.0.3.0\",\n\t\t\t\t\"1.0.2.2\",\n\t\t\t\t\"1.0.2.1\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.neptune.NeptuneFunctions;\nimport com.pulumi.aws.neptune.inputs.GetEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = NeptuneFunctions.getEngineVersion(GetEngineVersionArgs.builder()\n .preferredVersions( \n \"1.0.3.0\",\n \"1.0.2.2\",\n \"1.0.2.1\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:neptune:getEngineVersion\n arguments:\n preferredVersions:\n - 1.0.3.0\n - 1.0.2.2\n - 1.0.2.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about a Neptune engine version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.neptune.getEngineVersion({\n preferredVersions: [\n \"1.0.3.0\",\n \"1.0.2.2\",\n \"1.0.2.1\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.neptune.get_engine_version(preferred_versions=[\n \"1.0.3.0\",\n \"1.0.2.2\",\n \"1.0.2.1\",\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Neptune.GetEngineVersion.Invoke(new()\n {\n PreferredVersions = new[]\n {\n \"1.0.3.0\",\n \"1.0.2.2\",\n \"1.0.2.1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\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 := neptune.GetEngineVersion(ctx, \u0026neptune.GetEngineVersionArgs{\n\t\t\tPreferredVersions: []string{\n\t\t\t\t\"1.0.3.0\",\n\t\t\t\t\"1.0.2.2\",\n\t\t\t\t\"1.0.2.1\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.neptune.NeptuneFunctions;\nimport com.pulumi.aws.neptune.inputs.GetEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = NeptuneFunctions.getEngineVersion(GetEngineVersionArgs.builder()\n .preferredVersions( \n \"1.0.3.0\",\n \"1.0.2.2\",\n \"1.0.2.1\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:neptune:getEngineVersion\n Arguments:\n preferredVersions:\n - 1.0.3.0\n - 1.0.2.2\n - 1.0.2.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEngineVersion.\n", "properties": { @@ -414368,7 +414368,7 @@ } }, "aws:neptune/getOrderableDbInstance:getOrderableDbInstance": { - "description": "Information about Neptune orderable DB instances.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.neptune.getOrderableDbInstance({\n engineVersion: \"1.0.3.0\",\n preferredInstanceClasses: [\n \"db.r5.large\",\n \"db.r4.large\",\n \"db.t3.medium\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.neptune.get_orderable_db_instance(engine_version=\"1.0.3.0\",\n preferred_instance_classes=[\n \"db.r5.large\",\n \"db.r4.large\",\n \"db.t3.medium\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Neptune.GetOrderableDbInstance.Invoke(new()\n {\n EngineVersion = \"1.0.3.0\",\n PreferredInstanceClasses = new[]\n {\n \"db.r5.large\",\n \"db.r4.large\",\n \"db.t3.medium\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\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 := neptune.GetOrderableDbInstance(ctx, \u0026neptune.GetOrderableDbInstanceArgs{\n\t\t\tEngineVersion: pulumi.StringRef(\"1.0.3.0\"),\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.r5.large\",\n\t\t\t\t\"db.r4.large\",\n\t\t\t\t\"db.t3.medium\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.neptune.NeptuneFunctions;\nimport com.pulumi.aws.neptune.inputs.GetOrderableDbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = NeptuneFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engineVersion(\"1.0.3.0\")\n .preferredInstanceClasses( \n \"db.r5.large\",\n \"db.r4.large\",\n \"db.t3.medium\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:neptune:getOrderableDbInstance\n arguments:\n engineVersion: 1.0.3.0\n preferredInstanceClasses:\n - db.r5.large\n - db.r4.large\n - db.t3.medium\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about Neptune orderable DB instances.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.neptune.getOrderableDbInstance({\n engineVersion: \"1.0.3.0\",\n preferredInstanceClasses: [\n \"db.r5.large\",\n \"db.r4.large\",\n \"db.t3.medium\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.neptune.get_orderable_db_instance(engine_version=\"1.0.3.0\",\n preferred_instance_classes=[\n \"db.r5.large\",\n \"db.r4.large\",\n \"db.t3.medium\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Neptune.GetOrderableDbInstance.Invoke(new()\n {\n EngineVersion = \"1.0.3.0\",\n PreferredInstanceClasses = new[]\n {\n \"db.r5.large\",\n \"db.r4.large\",\n \"db.t3.medium\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\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 := neptune.GetOrderableDbInstance(ctx, \u0026neptune.GetOrderableDbInstanceArgs{\n\t\t\tEngineVersion: pulumi.StringRef(\"1.0.3.0\"),\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.r5.large\",\n\t\t\t\t\"db.r4.large\",\n\t\t\t\t\"db.t3.medium\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.neptune.NeptuneFunctions;\nimport com.pulumi.aws.neptune.inputs.GetOrderableDbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = NeptuneFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engineVersion(\"1.0.3.0\")\n .preferredInstanceClasses( \n \"db.r5.large\",\n \"db.r4.large\",\n \"db.t3.medium\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:neptune:getOrderableDbInstance\n Arguments:\n engineVersion: 1.0.3.0\n preferredInstanceClasses:\n - db.r5.large\n - db.r4.large\n - db.t3.medium\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOrderableDbInstance.\n", "properties": { @@ -414519,7 +414519,7 @@ } }, "aws:networkfirewall/getFirewall:getFirewall": { - "description": "Retrieve information about a firewall.\n\n## Example Usage\n\n### Find firewall policy by ARN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkfirewall.getFirewall({\n arn: arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.get_firewall(arn=arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkFirewall.GetFirewall.Invoke(new()\n {\n Arn = arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.LookupFirewall(ctx, \u0026networkfirewall.LookupFirewallArgs{\n\t\t\tArn: pulumi.StringRef(arn),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;\nimport com.pulumi.aws.networkfirewall.inputs.GetFirewallArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkfirewallFunctions.getFirewall(GetFirewallArgs.builder()\n .arn(arn)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:networkfirewall:getFirewall\n arguments:\n arn: ${arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Find firewall policy by Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkfirewall.getFirewall({\n name: \"Test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.get_firewall(name=\"Test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkFirewall.GetFirewall.Invoke(new()\n {\n Name = \"Test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.LookupFirewall(ctx, \u0026networkfirewall.LookupFirewallArgs{\n\t\t\tName: pulumi.StringRef(\"Test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;\nimport com.pulumi.aws.networkfirewall.inputs.GetFirewallArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkfirewallFunctions.getFirewall(GetFirewallArgs.builder()\n .name(\"Test\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:networkfirewall:getFirewall\n arguments:\n name: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Find firewall policy by ARN and Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkfirewall.getFirewall({\n arn: arn,\n name: \"Test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.get_firewall(arn=arn,\n name=\"Test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkFirewall.GetFirewall.Invoke(new()\n {\n Arn = arn,\n Name = \"Test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.LookupFirewall(ctx, \u0026networkfirewall.LookupFirewallArgs{\n\t\t\tArn: pulumi.StringRef(arn),\n\t\t\tName: pulumi.StringRef(\"Test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;\nimport com.pulumi.aws.networkfirewall.inputs.GetFirewallArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkfirewallFunctions.getFirewall(GetFirewallArgs.builder()\n .arn(arn)\n .name(\"Test\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:networkfirewall:getFirewall\n arguments:\n arn: ${arn}\n name: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a firewall.\n\n## Example Usage\n\n### Find firewall policy by ARN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkfirewall.getFirewall({\n arn: arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.get_firewall(arn=arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkFirewall.GetFirewall.Invoke(new()\n {\n Arn = arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.LookupFirewall(ctx, \u0026networkfirewall.LookupFirewallArgs{\n\t\t\tArn: pulumi.StringRef(arn),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;\nimport com.pulumi.aws.networkfirewall.inputs.GetFirewallArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkfirewallFunctions.getFirewall(GetFirewallArgs.builder()\n .arn(arn)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:networkfirewall:getFirewall\n Arguments:\n arn: ${arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Find firewall policy by Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkfirewall.getFirewall({\n name: \"Test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.get_firewall(name=\"Test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkFirewall.GetFirewall.Invoke(new()\n {\n Name = \"Test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.LookupFirewall(ctx, \u0026networkfirewall.LookupFirewallArgs{\n\t\t\tName: pulumi.StringRef(\"Test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;\nimport com.pulumi.aws.networkfirewall.inputs.GetFirewallArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkfirewallFunctions.getFirewall(GetFirewallArgs.builder()\n .name(\"Test\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:networkfirewall:getFirewall\n Arguments:\n name: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Find firewall policy by ARN and Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkfirewall.getFirewall({\n arn: arn,\n name: \"Test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.get_firewall(arn=arn,\n name=\"Test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkFirewall.GetFirewall.Invoke(new()\n {\n Arn = arn,\n Name = \"Test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.LookupFirewall(ctx, \u0026networkfirewall.LookupFirewallArgs{\n\t\t\tArn: pulumi.StringRef(arn),\n\t\t\tName: pulumi.StringRef(\"Test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;\nimport com.pulumi.aws.networkfirewall.inputs.GetFirewallArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkfirewallFunctions.getFirewall(GetFirewallArgs.builder()\n .arn(arn)\n .name(\"Test\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:networkfirewall:getFirewall\n Arguments:\n arn: ${arn}\n name: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getFirewall.\n", "properties": { @@ -414633,7 +414633,7 @@ } }, "aws:networkfirewall/getFirewallPolicy:getFirewallPolicy": { - "description": "Retrieve information about a firewall policy.\n\n## Example Usage\n\n### Find firewall policy by name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkfirewall.getFirewallPolicy({\n name: firewallPolicyName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.get_firewall_policy(name=firewall_policy_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkFirewall.GetFirewallPolicy.Invoke(new()\n {\n Name = firewallPolicyName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.LookupFirewallPolicy(ctx, \u0026networkfirewall.LookupFirewallPolicyArgs{\n\t\t\tName: pulumi.StringRef(firewallPolicyName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;\nimport com.pulumi.aws.networkfirewall.inputs.GetFirewallPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkfirewallFunctions.getFirewallPolicy(GetFirewallPolicyArgs.builder()\n .name(firewallPolicyName)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:networkfirewall:getFirewallPolicy\n arguments:\n name: ${firewallPolicyName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Find firewall policy by ARN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkfirewall.getFirewallPolicy({\n arn: firewallPolicyArn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.get_firewall_policy(arn=firewall_policy_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkFirewall.GetFirewallPolicy.Invoke(new()\n {\n Arn = firewallPolicyArn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.LookupFirewallPolicy(ctx, \u0026networkfirewall.LookupFirewallPolicyArgs{\n\t\t\tArn: pulumi.StringRef(firewallPolicyArn),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;\nimport com.pulumi.aws.networkfirewall.inputs.GetFirewallPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkfirewallFunctions.getFirewallPolicy(GetFirewallPolicyArgs.builder()\n .arn(firewallPolicyArn)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:networkfirewall:getFirewallPolicy\n arguments:\n arn: ${firewallPolicyArn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Find firewall policy by name and ARN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkfirewall.getFirewallPolicy({\n arn: firewallPolicyArn,\n name: firewallPolicyName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.get_firewall_policy(arn=firewall_policy_arn,\n name=firewall_policy_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkFirewall.GetFirewallPolicy.Invoke(new()\n {\n Arn = firewallPolicyArn,\n Name = firewallPolicyName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.LookupFirewallPolicy(ctx, \u0026networkfirewall.LookupFirewallPolicyArgs{\n\t\t\tArn: pulumi.StringRef(firewallPolicyArn),\n\t\t\tName: pulumi.StringRef(firewallPolicyName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;\nimport com.pulumi.aws.networkfirewall.inputs.GetFirewallPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkfirewallFunctions.getFirewallPolicy(GetFirewallPolicyArgs.builder()\n .arn(firewallPolicyArn)\n .name(firewallPolicyName)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:networkfirewall:getFirewallPolicy\n arguments:\n arn: ${firewallPolicyArn}\n name: ${firewallPolicyName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAWS Network Firewall does not allow multiple firewall policies with the same name to be created in an account. It is possible, however, to have multiple firewall policies available in a single account with identical `name` values but distinct `arn` values, e.g. firewall policies shared via a [Resource Access Manager (RAM) share][1]. In that case specifying `arn`, or `name` and `arn`, is recommended.\n\n\u003e **Note:** If there are multiple firewall policies in an account with the same `name`, and `arn` is not specified, the default behavior will return the firewall policy with `name` that was created in the account.\n", + "description": "Retrieve information about a firewall policy.\n\n## Example Usage\n\n### Find firewall policy by name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkfirewall.getFirewallPolicy({\n name: firewallPolicyName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.get_firewall_policy(name=firewall_policy_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkFirewall.GetFirewallPolicy.Invoke(new()\n {\n Name = firewallPolicyName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.LookupFirewallPolicy(ctx, \u0026networkfirewall.LookupFirewallPolicyArgs{\n\t\t\tName: pulumi.StringRef(firewallPolicyName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;\nimport com.pulumi.aws.networkfirewall.inputs.GetFirewallPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkfirewallFunctions.getFirewallPolicy(GetFirewallPolicyArgs.builder()\n .name(firewallPolicyName)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:networkfirewall:getFirewallPolicy\n Arguments:\n name: ${firewallPolicyName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Find firewall policy by ARN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkfirewall.getFirewallPolicy({\n arn: firewallPolicyArn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.get_firewall_policy(arn=firewall_policy_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkFirewall.GetFirewallPolicy.Invoke(new()\n {\n Arn = firewallPolicyArn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.LookupFirewallPolicy(ctx, \u0026networkfirewall.LookupFirewallPolicyArgs{\n\t\t\tArn: pulumi.StringRef(firewallPolicyArn),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;\nimport com.pulumi.aws.networkfirewall.inputs.GetFirewallPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkfirewallFunctions.getFirewallPolicy(GetFirewallPolicyArgs.builder()\n .arn(firewallPolicyArn)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:networkfirewall:getFirewallPolicy\n Arguments:\n arn: ${firewallPolicyArn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Find firewall policy by name and ARN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkfirewall.getFirewallPolicy({\n arn: firewallPolicyArn,\n name: firewallPolicyName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.get_firewall_policy(arn=firewall_policy_arn,\n name=firewall_policy_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkFirewall.GetFirewallPolicy.Invoke(new()\n {\n Arn = firewallPolicyArn,\n Name = firewallPolicyName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.LookupFirewallPolicy(ctx, \u0026networkfirewall.LookupFirewallPolicyArgs{\n\t\t\tArn: pulumi.StringRef(firewallPolicyArn),\n\t\t\tName: pulumi.StringRef(firewallPolicyName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;\nimport com.pulumi.aws.networkfirewall.inputs.GetFirewallPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkfirewallFunctions.getFirewallPolicy(GetFirewallPolicyArgs.builder()\n .arn(firewallPolicyArn)\n .name(firewallPolicyName)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:networkfirewall:getFirewallPolicy\n Arguments:\n arn: ${firewallPolicyArn}\n name: ${firewallPolicyName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAWS Network Firewall does not allow multiple firewall policies with the same name to be created in an account. It is possible, however, to have multiple firewall policies available in a single account with identical `name` values but distinct `arn` values, e.g. firewall policies shared via a [Resource Access Manager (RAM) share][1]. In that case specifying `arn`, or `name` and `arn`, is recommended.\n\n\u003e **Note:** If there are multiple firewall policies in an account with the same `name`, and `arn` is not specified, the default behavior will return the firewall policy with `name` that was created in the account.\n", "inputs": { "description": "A collection of arguments for invoking getFirewallPolicy.\n", "properties": { @@ -414702,7 +414702,7 @@ } }, "aws:networkfirewall/getResourcePolicy:getResourcePolicy": { - "description": "Retrieve information about a Network Firewall resource policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkfirewall.getResourcePolicy({\n resourceArn: resourcePolicyArn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.get_resource_policy(resource_arn=resource_policy_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkFirewall.GetResourcePolicy.Invoke(new()\n {\n ResourceArn = resourcePolicyArn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.LookupResourcePolicy(ctx, \u0026networkfirewall.LookupResourcePolicyArgs{\n\t\t\tResourceArn: resourcePolicyArn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;\nimport com.pulumi.aws.networkfirewall.inputs.GetResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkfirewallFunctions.getResourcePolicy(GetResourcePolicyArgs.builder()\n .resourceArn(resourcePolicyArn)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:networkfirewall:getResourcePolicy\n arguments:\n resourceArn: ${resourcePolicyArn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a Network Firewall resource policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkfirewall.getResourcePolicy({\n resourceArn: resourcePolicyArn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.get_resource_policy(resource_arn=resource_policy_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkFirewall.GetResourcePolicy.Invoke(new()\n {\n ResourceArn = resourcePolicyArn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.LookupResourcePolicy(ctx, \u0026networkfirewall.LookupResourcePolicyArgs{\n\t\t\tResourceArn: resourcePolicyArn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;\nimport com.pulumi.aws.networkfirewall.inputs.GetResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkfirewallFunctions.getResourcePolicy(GetResourcePolicyArgs.builder()\n .resourceArn(resourcePolicyArn)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:networkfirewall:getResourcePolicy\n Arguments:\n resourceArn: ${resourcePolicyArn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResourcePolicy.\n", "properties": { @@ -414740,7 +414740,7 @@ } }, "aws:networkmanager/getConnection:getConnection": { - "description": "Retrieve information about a connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkmanager.getConnection({\n globalNetworkId: globalNetworkId,\n connectionId: connectionId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.get_connection(global_network_id=global_network_id,\n connection_id=connection_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkManager.GetConnection.Invoke(new()\n {\n GlobalNetworkId = globalNetworkId,\n ConnectionId = connectionId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.LookupConnection(ctx, \u0026networkmanager.LookupConnectionArgs{\n\t\t\tGlobalNetworkId: globalNetworkId,\n\t\t\tConnectionId: connectionId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getConnection(GetConnectionArgs.builder()\n .globalNetworkId(globalNetworkId)\n .connectionId(connectionId)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:networkmanager:getConnection\n arguments:\n globalNetworkId: ${globalNetworkId}\n connectionId: ${connectionId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkmanager.getConnection({\n globalNetworkId: globalNetworkId,\n connectionId: connectionId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.get_connection(global_network_id=global_network_id,\n connection_id=connection_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkManager.GetConnection.Invoke(new()\n {\n GlobalNetworkId = globalNetworkId,\n ConnectionId = connectionId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.LookupConnection(ctx, \u0026networkmanager.LookupConnectionArgs{\n\t\t\tGlobalNetworkId: globalNetworkId,\n\t\t\tConnectionId: connectionId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getConnection(GetConnectionArgs.builder()\n .globalNetworkId(globalNetworkId)\n .connectionId(connectionId)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:networkmanager:getConnection\n Arguments:\n globalNetworkId: ${globalNetworkId}\n connectionId: ${connectionId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getConnection.\n", "properties": { @@ -414827,7 +414827,7 @@ } }, "aws:networkmanager/getConnections:getConnections": { - "description": "Retrieve information about connections.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkmanager.getConnections({\n globalNetworkId: globalNetworkId,\n tags: {\n Env: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.get_connections(global_network_id=global_network_id,\n tags={\n \"Env\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkManager.GetConnections.Invoke(new()\n {\n GlobalNetworkId = globalNetworkId,\n Tags = \n {\n { \"Env\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.GetConnections(ctx, \u0026networkmanager.GetConnectionsArgs{\n\t\t\tGlobalNetworkId: globalNetworkId,\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Env\": \"test\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetConnectionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getConnections(GetConnectionsArgs.builder()\n .globalNetworkId(globalNetworkId)\n .tags(Map.of(\"Env\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:networkmanager:getConnections\n arguments:\n globalNetworkId: ${globalNetworkId}\n tags:\n Env: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about connections.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkmanager.getConnections({\n globalNetworkId: globalNetworkId,\n tags: {\n Env: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.get_connections(global_network_id=global_network_id,\n tags={\n \"Env\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkManager.GetConnections.Invoke(new()\n {\n GlobalNetworkId = globalNetworkId,\n Tags = \n {\n { \"Env\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.GetConnections(ctx, \u0026networkmanager.GetConnectionsArgs{\n\t\t\tGlobalNetworkId: globalNetworkId,\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Env\": \"test\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetConnectionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getConnections(GetConnectionsArgs.builder()\n .globalNetworkId(globalNetworkId)\n .tags(Map.of(\"Env\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:networkmanager:getConnections\n Arguments:\n globalNetworkId: ${globalNetworkId}\n tags:\n Env: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getConnections.\n", "properties": { @@ -414888,7 +414888,7 @@ } }, "aws:networkmanager/getCoreNetworkPolicyDocument:getCoreNetworkPolicyDocument": { - "description": "Generates a Core Network policy document in JSON format for use with resources that expect core network policy documents such as `awscc_networkmanager_core_network`. It follows the API definition from the [core-network-policy documentation](https://docs.aws.amazon.com/vpc/latest/cloudwan/cloudwan-policies-json.html).\n\nUsing this data source to generate policy documents is *optional*. It is also valid to use literal JSON strings in your configuration or to use the `file` interpolation function to read a raw JSON policy document from a file.\n\n\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.networkmanager.getCoreNetworkPolicyDocument({\n coreNetworkConfigurations: [{\n vpnEcmpSupport: false,\n asnRanges: [\"64512-64555\"],\n edgeLocations: [\n {\n location: \"us-east-1\",\n asn: \"64512\",\n },\n {\n location: \"eu-central-1\",\n asn: \"64513\",\n },\n ],\n }],\n segments: [\n {\n name: \"shared\",\n description: \"Segment for shared services\",\n requireAttachmentAcceptance: true,\n },\n {\n name: \"prod\",\n description: \"Segment for prod services\",\n requireAttachmentAcceptance: true,\n },\n ],\n segmentActions: [{\n action: \"share\",\n mode: \"attachment-route\",\n segment: \"shared\",\n shareWiths: [\"*\"],\n }],\n attachmentPolicies: [\n {\n ruleNumber: 100,\n conditionLogic: \"or\",\n conditions: [{\n type: \"tag-value\",\n operator: \"equals\",\n key: \"segment\",\n value: \"shared\",\n }],\n action: {\n associationMethod: \"constant\",\n segment: \"shared\",\n },\n },\n {\n ruleNumber: 200,\n conditionLogic: \"or\",\n conditions: [{\n type: \"tag-value\",\n operator: \"equals\",\n key: \"segment\",\n value: \"prod\",\n }],\n action: {\n associationMethod: \"constant\",\n segment: \"prod\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.networkmanager.get_core_network_policy_document(core_network_configurations=[{\n \"vpn_ecmp_support\": False,\n \"asn_ranges\": [\"64512-64555\"],\n \"edge_locations\": [\n {\n \"location\": \"us-east-1\",\n \"asn\": \"64512\",\n },\n {\n \"location\": \"eu-central-1\",\n \"asn\": \"64513\",\n },\n ],\n }],\n segments=[\n {\n \"name\": \"shared\",\n \"description\": \"Segment for shared services\",\n \"require_attachment_acceptance\": True,\n },\n {\n \"name\": \"prod\",\n \"description\": \"Segment for prod services\",\n \"require_attachment_acceptance\": True,\n },\n ],\n segment_actions=[{\n \"action\": \"share\",\n \"mode\": \"attachment-route\",\n \"segment\": \"shared\",\n \"share_withs\": [\"*\"],\n }],\n attachment_policies=[\n {\n \"rule_number\": 100,\n \"condition_logic\": \"or\",\n \"conditions\": [{\n \"type\": \"tag-value\",\n \"operator\": \"equals\",\n \"key\": \"segment\",\n \"value\": \"shared\",\n }],\n \"action\": {\n \"association_method\": \"constant\",\n \"segment\": \"shared\",\n },\n },\n {\n \"rule_number\": 200,\n \"condition_logic\": \"or\",\n \"conditions\": [{\n \"type\": \"tag-value\",\n \"operator\": \"equals\",\n \"key\": \"segment\",\n \"value\": \"prod\",\n }],\n \"action\": {\n \"association_method\": \"constant\",\n \"segment\": \"prod\",\n },\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n VpnEcmpSupport = false,\n AsnRanges = new[]\n {\n \"64512-64555\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-east-1\",\n Asn = \"64512\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"eu-central-1\",\n Asn = \"64513\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"shared\",\n Description = \"Segment for shared services\",\n RequireAttachmentAcceptance = true,\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"prod\",\n Description = \"Segment for prod services\",\n RequireAttachmentAcceptance = true,\n },\n },\n SegmentActions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"share\",\n Mode = \"attachment-route\",\n Segment = \"shared\",\n ShareWiths = new[]\n {\n \"*\",\n },\n },\n },\n AttachmentPolicies = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentAttachmentPolicyInputArgs\n {\n RuleNumber = 100,\n ConditionLogic = \"or\",\n Conditions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentAttachmentPolicyConditionInputArgs\n {\n Type = \"tag-value\",\n Operator = \"equals\",\n Key = \"segment\",\n Value = \"shared\",\n },\n },\n Action = new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentAttachmentPolicyActionInputArgs\n {\n AssociationMethod = \"constant\",\n Segment = \"shared\",\n },\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentAttachmentPolicyInputArgs\n {\n RuleNumber = 200,\n ConditionLogic = \"or\",\n Conditions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentAttachmentPolicyConditionInputArgs\n {\n Type = \"tag-value\",\n Operator = \"equals\",\n Key = \"segment\",\n Value = \"prod\",\n },\n },\n Action = new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentAttachmentPolicyActionInputArgs\n {\n AssociationMethod = \"constant\",\n Segment = \"prod\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.GetCoreNetworkPolicyDocument(ctx, \u0026networkmanager.GetCoreNetworkPolicyDocumentArgs{\n\t\t\tCoreNetworkConfigurations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfiguration{\n\t\t\t\t{\n\t\t\t\t\tVpnEcmpSupport: pulumi.BoolRef(false),\n\t\t\t\t\tAsnRanges: []string{\n\t\t\t\t\t\t\"64512-64555\",\n\t\t\t\t\t},\n\t\t\t\t\tEdgeLocations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocation{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLocation: \"us-east-1\",\n\t\t\t\t\t\t\tAsn: pulumi.StringRef(\"64512\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLocation: \"eu-central-1\",\n\t\t\t\t\t\t\tAsn: pulumi.StringRef(\"64513\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSegments: []networkmanager.GetCoreNetworkPolicyDocumentSegment{\n\t\t\t\t{\n\t\t\t\t\tName: \"shared\",\n\t\t\t\t\tDescription: pulumi.StringRef(\"Segment for shared services\"),\n\t\t\t\t\tRequireAttachmentAcceptance: pulumi.BoolRef(true),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"prod\",\n\t\t\t\t\tDescription: pulumi.StringRef(\"Segment for prod services\"),\n\t\t\t\t\tRequireAttachmentAcceptance: pulumi.BoolRef(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSegmentActions: []networkmanager.GetCoreNetworkPolicyDocumentSegmentAction{\n\t\t\t\t{\n\t\t\t\t\tAction: \"share\",\n\t\t\t\t\tMode: pulumi.StringRef(\"attachment-route\"),\n\t\t\t\t\tSegment: \"shared\",\n\t\t\t\t\tShareWiths: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAttachmentPolicies: []networkmanager.GetCoreNetworkPolicyDocumentAttachmentPolicy{\n\t\t\t\t{\n\t\t\t\t\tRuleNumber: 100,\n\t\t\t\t\tConditionLogic: pulumi.StringRef(\"or\"),\n\t\t\t\t\tConditions: []networkmanager.GetCoreNetworkPolicyDocumentAttachmentPolicyCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"tag-value\",\n\t\t\t\t\t\t\tOperator: pulumi.StringRef(\"equals\"),\n\t\t\t\t\t\t\tKey: pulumi.StringRef(\"segment\"),\n\t\t\t\t\t\t\tValue: pulumi.StringRef(\"shared\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAction: {\n\t\t\t\t\t\tAssociationMethod: pulumi.StringRef(\"constant\"),\n\t\t\t\t\t\tSegment: pulumi.StringRef(\"shared\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tRuleNumber: 200,\n\t\t\t\t\tConditionLogic: pulumi.StringRef(\"or\"),\n\t\t\t\t\tConditions: []networkmanager.GetCoreNetworkPolicyDocumentAttachmentPolicyCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"tag-value\",\n\t\t\t\t\t\t\tOperator: pulumi.StringRef(\"equals\"),\n\t\t\t\t\t\t\tKey: pulumi.StringRef(\"segment\"),\n\t\t\t\t\t\t\tValue: pulumi.StringRef(\"prod\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAction: {\n\t\t\t\t\t\tAssociationMethod: pulumi.StringRef(\"constant\"),\n\t\t\t\t\t\tSegment: pulumi.StringRef(\"prod\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .vpnEcmpSupport(false)\n .asnRanges(\"64512-64555\")\n .edgeLocations( \n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-east-1\")\n .asn(64512)\n .build(),\n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"eu-central-1\")\n .asn(64513)\n .build())\n .build())\n .segments( \n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"shared\")\n .description(\"Segment for shared services\")\n .requireAttachmentAcceptance(true)\n .build(),\n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"prod\")\n .description(\"Segment for prod services\")\n .requireAttachmentAcceptance(true)\n .build())\n .segmentActions(GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"share\")\n .mode(\"attachment-route\")\n .segment(\"shared\")\n .shareWiths(\"*\")\n .build())\n .attachmentPolicies( \n GetCoreNetworkPolicyDocumentAttachmentPolicyArgs.builder()\n .ruleNumber(100)\n .conditionLogic(\"or\")\n .conditions(GetCoreNetworkPolicyDocumentAttachmentPolicyConditionArgs.builder()\n .type(\"tag-value\")\n .operator(\"equals\")\n .key(\"segment\")\n .value(\"shared\")\n .build())\n .action(GetCoreNetworkPolicyDocumentAttachmentPolicyActionArgs.builder()\n .associationMethod(\"constant\")\n .segment(\"shared\")\n .build())\n .build(),\n GetCoreNetworkPolicyDocumentAttachmentPolicyArgs.builder()\n .ruleNumber(200)\n .conditionLogic(\"or\")\n .conditions(GetCoreNetworkPolicyDocumentAttachmentPolicyConditionArgs.builder()\n .type(\"tag-value\")\n .operator(\"equals\")\n .key(\"segment\")\n .value(\"prod\")\n .build())\n .action(GetCoreNetworkPolicyDocumentAttachmentPolicyActionArgs.builder()\n .associationMethod(\"constant\")\n .segment(\"prod\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:networkmanager:getCoreNetworkPolicyDocument\n arguments:\n coreNetworkConfigurations:\n - vpnEcmpSupport: false\n asnRanges:\n - 64512-64555\n edgeLocations:\n - location: us-east-1\n asn: 64512\n - location: eu-central-1\n asn: 64513\n segments:\n - name: shared\n description: Segment for shared services\n requireAttachmentAcceptance: true\n - name: prod\n description: Segment for prod services\n requireAttachmentAcceptance: true\n segmentActions:\n - action: share\n mode: attachment-route\n segment: shared\n shareWiths:\n - '*'\n attachmentPolicies:\n - ruleNumber: 100\n conditionLogic: or\n conditions:\n - type: tag-value\n operator: equals\n key: segment\n value: shared\n action:\n associationMethod: constant\n segment: shared\n - ruleNumber: 200\n conditionLogic: or\n conditions:\n - type: tag-value\n operator: equals\n key: segment\n value: prod\n action:\n associationMethod: constant\n segment: prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_networkmanager_core_network_policy_document.test.json` will evaluate to:\n\n```json\n{\n \"version\": \"2021.12\",\n \"core-network-configuration\": {\n \"asn-ranges\": [\n \"64512-64555\"\n ],\n \"vpn-ecmp-support\": false,\n \"edge-locations\": [\n {\n \"location\": \"us-east-1\",\n \"asn\": 64512\n },\n {\n \"location\": \"eu-central-1\",\n \"asn\": 64513\n }\n ]\n },\n \"segments\": [\n {\n \"name\": \"shared\",\n \"description\": \"Segment for shared services\",\n \"require-attachment-acceptance\": true\n },\n {\n \"name\": \"prod\",\n \"description\": \"Segment for prod services\",\n \"require-attachment-acceptance\": true\n }\n ],\n \"attachment-policies\": [\n {\n \"rule-number\": 100,\n \"action\": {\n \"association-method\": \"constant\",\n \"segment\": \"shared\"\n },\n \"conditions\": [\n {\n \"type\": \"tag-value\",\n \"operator\": \"equals\",\n \"key\": \"segment\",\n \"value\": \"shared\"\n }\n ],\n \"condition-logic\": \"or\"\n },\n {\n \"rule-number\": 200,\n \"action\": {\n \"association-method\": \"constant\",\n \"segment\": \"prod\"\n },\n \"conditions\": [\n {\n \"type\": \"tag-value\",\n \"operator\": \"equals\",\n \"key\": \"segment\",\n \"value\": \"prod\"\n }\n ],\n \"condition-logic\": \"or\"\n }\n ],\n \"segment-actions\": [\n {\n \"action\": \"share\",\n \"mode\": \"attachment-route\",\n \"segment\": \"shared\",\n \"share-with\": \"*\"\n }\n ]\n}\n```\n", + "description": "Generates a Core Network policy document in JSON format for use with resources that expect core network policy documents such as `awscc_networkmanager_core_network`. It follows the API definition from the [core-network-policy documentation](https://docs.aws.amazon.com/vpc/latest/cloudwan/cloudwan-policies-json.html).\n\nUsing this data source to generate policy documents is *optional*. It is also valid to use literal JSON strings in your configuration or to use the `file` interpolation function to read a raw JSON policy document from a file.\n\n\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.networkmanager.getCoreNetworkPolicyDocument({\n coreNetworkConfigurations: [{\n vpnEcmpSupport: false,\n asnRanges: [\"64512-64555\"],\n edgeLocations: [\n {\n location: \"us-east-1\",\n asn: \"64512\",\n },\n {\n location: \"eu-central-1\",\n asn: \"64513\",\n },\n ],\n }],\n segments: [\n {\n name: \"shared\",\n description: \"Segment for shared services\",\n requireAttachmentAcceptance: true,\n },\n {\n name: \"prod\",\n description: \"Segment for prod services\",\n requireAttachmentAcceptance: true,\n },\n ],\n segmentActions: [{\n action: \"share\",\n mode: \"attachment-route\",\n segment: \"shared\",\n shareWiths: [\"*\"],\n }],\n attachmentPolicies: [\n {\n ruleNumber: 100,\n conditionLogic: \"or\",\n conditions: [{\n type: \"tag-value\",\n operator: \"equals\",\n key: \"segment\",\n value: \"shared\",\n }],\n action: {\n associationMethod: \"constant\",\n segment: \"shared\",\n },\n },\n {\n ruleNumber: 200,\n conditionLogic: \"or\",\n conditions: [{\n type: \"tag-value\",\n operator: \"equals\",\n key: \"segment\",\n value: \"prod\",\n }],\n action: {\n associationMethod: \"constant\",\n segment: \"prod\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.networkmanager.get_core_network_policy_document(core_network_configurations=[{\n \"vpn_ecmp_support\": False,\n \"asn_ranges\": [\"64512-64555\"],\n \"edge_locations\": [\n {\n \"location\": \"us-east-1\",\n \"asn\": \"64512\",\n },\n {\n \"location\": \"eu-central-1\",\n \"asn\": \"64513\",\n },\n ],\n }],\n segments=[\n {\n \"name\": \"shared\",\n \"description\": \"Segment for shared services\",\n \"require_attachment_acceptance\": True,\n },\n {\n \"name\": \"prod\",\n \"description\": \"Segment for prod services\",\n \"require_attachment_acceptance\": True,\n },\n ],\n segment_actions=[{\n \"action\": \"share\",\n \"mode\": \"attachment-route\",\n \"segment\": \"shared\",\n \"share_withs\": [\"*\"],\n }],\n attachment_policies=[\n {\n \"rule_number\": 100,\n \"condition_logic\": \"or\",\n \"conditions\": [{\n \"type\": \"tag-value\",\n \"operator\": \"equals\",\n \"key\": \"segment\",\n \"value\": \"shared\",\n }],\n \"action\": {\n \"association_method\": \"constant\",\n \"segment\": \"shared\",\n },\n },\n {\n \"rule_number\": 200,\n \"condition_logic\": \"or\",\n \"conditions\": [{\n \"type\": \"tag-value\",\n \"operator\": \"equals\",\n \"key\": \"segment\",\n \"value\": \"prod\",\n }],\n \"action\": {\n \"association_method\": \"constant\",\n \"segment\": \"prod\",\n },\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n VpnEcmpSupport = false,\n AsnRanges = new[]\n {\n \"64512-64555\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-east-1\",\n Asn = \"64512\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"eu-central-1\",\n Asn = \"64513\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"shared\",\n Description = \"Segment for shared services\",\n RequireAttachmentAcceptance = true,\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"prod\",\n Description = \"Segment for prod services\",\n RequireAttachmentAcceptance = true,\n },\n },\n SegmentActions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"share\",\n Mode = \"attachment-route\",\n Segment = \"shared\",\n ShareWiths = new[]\n {\n \"*\",\n },\n },\n },\n AttachmentPolicies = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentAttachmentPolicyInputArgs\n {\n RuleNumber = 100,\n ConditionLogic = \"or\",\n Conditions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentAttachmentPolicyConditionInputArgs\n {\n Type = \"tag-value\",\n Operator = \"equals\",\n Key = \"segment\",\n Value = \"shared\",\n },\n },\n Action = new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentAttachmentPolicyActionInputArgs\n {\n AssociationMethod = \"constant\",\n Segment = \"shared\",\n },\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentAttachmentPolicyInputArgs\n {\n RuleNumber = 200,\n ConditionLogic = \"or\",\n Conditions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentAttachmentPolicyConditionInputArgs\n {\n Type = \"tag-value\",\n Operator = \"equals\",\n Key = \"segment\",\n Value = \"prod\",\n },\n },\n Action = new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentAttachmentPolicyActionInputArgs\n {\n AssociationMethod = \"constant\",\n Segment = \"prod\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.GetCoreNetworkPolicyDocument(ctx, \u0026networkmanager.GetCoreNetworkPolicyDocumentArgs{\n\t\t\tCoreNetworkConfigurations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfiguration{\n\t\t\t\t{\n\t\t\t\t\tVpnEcmpSupport: pulumi.BoolRef(false),\n\t\t\t\t\tAsnRanges: []string{\n\t\t\t\t\t\t\"64512-64555\",\n\t\t\t\t\t},\n\t\t\t\t\tEdgeLocations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocation{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLocation: \"us-east-1\",\n\t\t\t\t\t\t\tAsn: pulumi.StringRef(\"64512\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLocation: \"eu-central-1\",\n\t\t\t\t\t\t\tAsn: pulumi.StringRef(\"64513\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSegments: []networkmanager.GetCoreNetworkPolicyDocumentSegment{\n\t\t\t\t{\n\t\t\t\t\tName: \"shared\",\n\t\t\t\t\tDescription: pulumi.StringRef(\"Segment for shared services\"),\n\t\t\t\t\tRequireAttachmentAcceptance: pulumi.BoolRef(true),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"prod\",\n\t\t\t\t\tDescription: pulumi.StringRef(\"Segment for prod services\"),\n\t\t\t\t\tRequireAttachmentAcceptance: pulumi.BoolRef(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSegmentActions: []networkmanager.GetCoreNetworkPolicyDocumentSegmentAction{\n\t\t\t\t{\n\t\t\t\t\tAction: \"share\",\n\t\t\t\t\tMode: pulumi.StringRef(\"attachment-route\"),\n\t\t\t\t\tSegment: \"shared\",\n\t\t\t\t\tShareWiths: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAttachmentPolicies: []networkmanager.GetCoreNetworkPolicyDocumentAttachmentPolicy{\n\t\t\t\t{\n\t\t\t\t\tRuleNumber: 100,\n\t\t\t\t\tConditionLogic: pulumi.StringRef(\"or\"),\n\t\t\t\t\tConditions: []networkmanager.GetCoreNetworkPolicyDocumentAttachmentPolicyCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"tag-value\",\n\t\t\t\t\t\t\tOperator: pulumi.StringRef(\"equals\"),\n\t\t\t\t\t\t\tKey: pulumi.StringRef(\"segment\"),\n\t\t\t\t\t\t\tValue: pulumi.StringRef(\"shared\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAction: {\n\t\t\t\t\t\tAssociationMethod: pulumi.StringRef(\"constant\"),\n\t\t\t\t\t\tSegment: pulumi.StringRef(\"shared\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tRuleNumber: 200,\n\t\t\t\t\tConditionLogic: pulumi.StringRef(\"or\"),\n\t\t\t\t\tConditions: []networkmanager.GetCoreNetworkPolicyDocumentAttachmentPolicyCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"tag-value\",\n\t\t\t\t\t\t\tOperator: pulumi.StringRef(\"equals\"),\n\t\t\t\t\t\t\tKey: pulumi.StringRef(\"segment\"),\n\t\t\t\t\t\t\tValue: pulumi.StringRef(\"prod\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAction: {\n\t\t\t\t\t\tAssociationMethod: pulumi.StringRef(\"constant\"),\n\t\t\t\t\t\tSegment: pulumi.StringRef(\"prod\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .vpnEcmpSupport(false)\n .asnRanges(\"64512-64555\")\n .edgeLocations( \n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-east-1\")\n .asn(64512)\n .build(),\n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"eu-central-1\")\n .asn(64513)\n .build())\n .build())\n .segments( \n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"shared\")\n .description(\"Segment for shared services\")\n .requireAttachmentAcceptance(true)\n .build(),\n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"prod\")\n .description(\"Segment for prod services\")\n .requireAttachmentAcceptance(true)\n .build())\n .segmentActions(GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"share\")\n .mode(\"attachment-route\")\n .segment(\"shared\")\n .shareWiths(\"*\")\n .build())\n .attachmentPolicies( \n GetCoreNetworkPolicyDocumentAttachmentPolicyArgs.builder()\n .ruleNumber(100)\n .conditionLogic(\"or\")\n .conditions(GetCoreNetworkPolicyDocumentAttachmentPolicyConditionArgs.builder()\n .type(\"tag-value\")\n .operator(\"equals\")\n .key(\"segment\")\n .value(\"shared\")\n .build())\n .action(GetCoreNetworkPolicyDocumentAttachmentPolicyActionArgs.builder()\n .associationMethod(\"constant\")\n .segment(\"shared\")\n .build())\n .build(),\n GetCoreNetworkPolicyDocumentAttachmentPolicyArgs.builder()\n .ruleNumber(200)\n .conditionLogic(\"or\")\n .conditions(GetCoreNetworkPolicyDocumentAttachmentPolicyConditionArgs.builder()\n .type(\"tag-value\")\n .operator(\"equals\")\n .key(\"segment\")\n .value(\"prod\")\n .build())\n .action(GetCoreNetworkPolicyDocumentAttachmentPolicyActionArgs.builder()\n .associationMethod(\"constant\")\n .segment(\"prod\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:networkmanager:getCoreNetworkPolicyDocument\n Arguments:\n coreNetworkConfigurations:\n - vpnEcmpSupport: false\n asnRanges:\n - 64512-64555\n edgeLocations:\n - location: us-east-1\n asn: 64512\n - location: eu-central-1\n asn: 64513\n segments:\n - name: shared\n description: Segment for shared services\n requireAttachmentAcceptance: true\n - name: prod\n description: Segment for prod services\n requireAttachmentAcceptance: true\n segmentActions:\n - action: share\n mode: attachment-route\n segment: shared\n shareWiths:\n - '*'\n attachmentPolicies:\n - ruleNumber: 100\n conditionLogic: or\n conditions:\n - type: tag-value\n operator: equals\n key: segment\n value: shared\n action:\n associationMethod: constant\n segment: shared\n - ruleNumber: 200\n conditionLogic: or\n conditions:\n - type: tag-value\n operator: equals\n key: segment\n value: prod\n action:\n associationMethod: constant\n segment: prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_networkmanager_core_network_policy_document.test.json` will evaluate to:\n\n```json\n{\n \"version\": \"2021.12\",\n \"core-network-configuration\": {\n \"asn-ranges\": [\n \"64512-64555\"\n ],\n \"vpn-ecmp-support\": false,\n \"edge-locations\": [\n {\n \"location\": \"us-east-1\",\n \"asn\": 64512\n },\n {\n \"location\": \"eu-central-1\",\n \"asn\": 64513\n }\n ]\n },\n \"segments\": [\n {\n \"name\": \"shared\",\n \"description\": \"Segment for shared services\",\n \"require-attachment-acceptance\": true\n },\n {\n \"name\": \"prod\",\n \"description\": \"Segment for prod services\",\n \"require-attachment-acceptance\": true\n }\n ],\n \"attachment-policies\": [\n {\n \"rule-number\": 100,\n \"action\": {\n \"association-method\": \"constant\",\n \"segment\": \"shared\"\n },\n \"conditions\": [\n {\n \"type\": \"tag-value\",\n \"operator\": \"equals\",\n \"key\": \"segment\",\n \"value\": \"shared\"\n }\n ],\n \"condition-logic\": \"or\"\n },\n {\n \"rule-number\": 200,\n \"action\": {\n \"association-method\": \"constant\",\n \"segment\": \"prod\"\n },\n \"conditions\": [\n {\n \"type\": \"tag-value\",\n \"operator\": \"equals\",\n \"key\": \"segment\",\n \"value\": \"prod\"\n }\n ],\n \"condition-logic\": \"or\"\n }\n ],\n \"segment-actions\": [\n {\n \"action\": \"share\",\n \"mode\": \"attachment-route\",\n \"segment\": \"shared\",\n \"share-with\": \"*\"\n }\n ]\n}\n```\n", "inputs": { "description": "A collection of arguments for invoking getCoreNetworkPolicyDocument.\n", "properties": { @@ -414992,7 +414992,7 @@ } }, "aws:networkmanager/getDevice:getDevice": { - "description": "Retrieve information about a device.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getDevice(GetDeviceArgs.builder()\n .globalNetworkIdId(globalNetworkId)\n .deviceId(deviceId)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:networkmanager:getDevice\n arguments:\n globalNetworkIdId: ${globalNetworkId}\n deviceId: ${deviceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a device.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getDevice(GetDeviceArgs.builder()\n .globalNetworkIdId(globalNetworkId)\n .deviceId(deviceId)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:networkmanager:getDevice\n Arguments:\n globalNetworkIdId: ${globalNetworkId}\n deviceId: ${deviceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDevice.\n", "properties": { @@ -415100,7 +415100,7 @@ } }, "aws:networkmanager/getDevices:getDevices": { - "description": "Retrieve information about devices.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkmanager.getDevices({\n globalNetworkId: globalNetworkId,\n tags: {\n Env: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.get_devices(global_network_id=global_network_id,\n tags={\n \"Env\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkManager.GetDevices.Invoke(new()\n {\n GlobalNetworkId = globalNetworkId,\n Tags = \n {\n { \"Env\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.GetDevices(ctx, \u0026networkmanager.GetDevicesArgs{\n\t\t\tGlobalNetworkId: globalNetworkId,\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Env\": \"test\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetDevicesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getDevices(GetDevicesArgs.builder()\n .globalNetworkId(globalNetworkId)\n .tags(Map.of(\"Env\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:networkmanager:getDevices\n arguments:\n globalNetworkId: ${globalNetworkId}\n tags:\n Env: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about devices.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkmanager.getDevices({\n globalNetworkId: globalNetworkId,\n tags: {\n Env: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.get_devices(global_network_id=global_network_id,\n tags={\n \"Env\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkManager.GetDevices.Invoke(new()\n {\n GlobalNetworkId = globalNetworkId,\n Tags = \n {\n { \"Env\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.GetDevices(ctx, \u0026networkmanager.GetDevicesArgs{\n\t\t\tGlobalNetworkId: globalNetworkId,\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Env\": \"test\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetDevicesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getDevices(GetDevicesArgs.builder()\n .globalNetworkId(globalNetworkId)\n .tags(Map.of(\"Env\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:networkmanager:getDevices\n Arguments:\n globalNetworkId: ${globalNetworkId}\n tags:\n Env: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDevices.\n", "properties": { @@ -415161,7 +415161,7 @@ } }, "aws:networkmanager/getGlobalNetwork:getGlobalNetwork": { - "description": "Retrieve information about a global network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkmanager.getGlobalNetwork({\n globalNetworkId: globalNetworkId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.get_global_network(global_network_id=global_network_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkManager.GetGlobalNetwork.Invoke(new()\n {\n GlobalNetworkId = globalNetworkId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.LookupGlobalNetwork(ctx, \u0026networkmanager.LookupGlobalNetworkArgs{\n\t\t\tGlobalNetworkId: globalNetworkId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetGlobalNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getGlobalNetwork(GetGlobalNetworkArgs.builder()\n .globalNetworkId(globalNetworkId)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:networkmanager:getGlobalNetwork\n arguments:\n globalNetworkId: ${globalNetworkId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a global network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkmanager.getGlobalNetwork({\n globalNetworkId: globalNetworkId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.get_global_network(global_network_id=global_network_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkManager.GetGlobalNetwork.Invoke(new()\n {\n GlobalNetworkId = globalNetworkId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.LookupGlobalNetwork(ctx, \u0026networkmanager.LookupGlobalNetworkArgs{\n\t\t\tGlobalNetworkId: globalNetworkId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetGlobalNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getGlobalNetwork(GetGlobalNetworkArgs.builder()\n .globalNetworkId(globalNetworkId)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:networkmanager:getGlobalNetwork\n Arguments:\n globalNetworkId: ${globalNetworkId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getGlobalNetwork.\n", "properties": { @@ -415219,7 +415219,7 @@ } }, "aws:networkmanager/getGlobalNetworks:getGlobalNetworks": { - "description": "Retrieve information about global networks.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkmanager.getGlobalNetworks({\n tags: {\n Env: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.get_global_networks(tags={\n \"Env\": \"test\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkManager.GetGlobalNetworks.Invoke(new()\n {\n Tags = \n {\n { \"Env\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.GetGlobalNetworks(ctx, \u0026networkmanager.GetGlobalNetworksArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Env\": \"test\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetGlobalNetworksArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getGlobalNetworks(GetGlobalNetworksArgs.builder()\n .tags(Map.of(\"Env\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:networkmanager:getGlobalNetworks\n arguments:\n tags:\n Env: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about global networks.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkmanager.getGlobalNetworks({\n tags: {\n Env: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.get_global_networks(tags={\n \"Env\": \"test\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkManager.GetGlobalNetworks.Invoke(new()\n {\n Tags = \n {\n { \"Env\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.GetGlobalNetworks(ctx, \u0026networkmanager.GetGlobalNetworksArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Env\": \"test\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetGlobalNetworksArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getGlobalNetworks(GetGlobalNetworksArgs.builder()\n .tags(Map.of(\"Env\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:networkmanager:getGlobalNetworks\n Arguments:\n tags:\n Env: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getGlobalNetworks.\n", "properties": { @@ -415262,7 +415262,7 @@ } }, "aws:networkmanager/getLink:getLink": { - "description": "Retrieve information about a link.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkmanager.getLink({\n globalNetworkId: globalNetworkId,\n linkId: linkId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.get_link(global_network_id=global_network_id,\n link_id=link_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkManager.GetLink.Invoke(new()\n {\n GlobalNetworkId = globalNetworkId,\n LinkId = linkId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.LookupLink(ctx, \u0026networkmanager.LookupLinkArgs{\n\t\t\tGlobalNetworkId: globalNetworkId,\n\t\t\tLinkId: linkId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getLink(GetLinkArgs.builder()\n .globalNetworkId(globalNetworkId)\n .linkId(linkId)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:networkmanager:getLink\n arguments:\n globalNetworkId: ${globalNetworkId}\n linkId: ${linkId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a link.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkmanager.getLink({\n globalNetworkId: globalNetworkId,\n linkId: linkId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.get_link(global_network_id=global_network_id,\n link_id=link_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkManager.GetLink.Invoke(new()\n {\n GlobalNetworkId = globalNetworkId,\n LinkId = linkId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.LookupLink(ctx, \u0026networkmanager.LookupLinkArgs{\n\t\t\tGlobalNetworkId: globalNetworkId,\n\t\t\tLinkId: linkId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getLink(GetLinkArgs.builder()\n .globalNetworkId(globalNetworkId)\n .linkId(linkId)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:networkmanager:getLink\n Arguments:\n globalNetworkId: ${globalNetworkId}\n linkId: ${linkId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLink.\n", "properties": { @@ -415352,7 +415352,7 @@ } }, "aws:networkmanager/getLinks:getLinks": { - "description": "Retrieve information about link.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkmanager.getLinks({\n globalNetworkId: globalNetworkId,\n tags: {\n Env: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.get_links(global_network_id=global_network_id,\n tags={\n \"Env\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkManager.GetLinks.Invoke(new()\n {\n GlobalNetworkId = globalNetworkId,\n Tags = \n {\n { \"Env\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.GetLinks(ctx, \u0026networkmanager.GetLinksArgs{\n\t\t\tGlobalNetworkId: globalNetworkId,\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Env\": \"test\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetLinksArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getLinks(GetLinksArgs.builder()\n .globalNetworkId(globalNetworkId)\n .tags(Map.of(\"Env\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:networkmanager:getLinks\n arguments:\n globalNetworkId: ${globalNetworkId}\n tags:\n Env: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about link.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkmanager.getLinks({\n globalNetworkId: globalNetworkId,\n tags: {\n Env: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.get_links(global_network_id=global_network_id,\n tags={\n \"Env\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkManager.GetLinks.Invoke(new()\n {\n GlobalNetworkId = globalNetworkId,\n Tags = \n {\n { \"Env\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.GetLinks(ctx, \u0026networkmanager.GetLinksArgs{\n\t\t\tGlobalNetworkId: globalNetworkId,\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Env\": \"test\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetLinksArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getLinks(GetLinksArgs.builder()\n .globalNetworkId(globalNetworkId)\n .tags(Map.of(\"Env\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:networkmanager:getLinks\n Arguments:\n globalNetworkId: ${globalNetworkId}\n tags:\n Env: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLinks.\n", "properties": { @@ -415427,7 +415427,7 @@ } }, "aws:networkmanager/getSite:getSite": { - "description": "Retrieve information about a site.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkmanager.getSite({\n globalNetworkId: globalNetworkId,\n siteId: siteId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.get_site(global_network_id=global_network_id,\n site_id=site_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkManager.GetSite.Invoke(new()\n {\n GlobalNetworkId = globalNetworkId,\n SiteId = siteId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.LookupSite(ctx, \u0026networkmanager.LookupSiteArgs{\n\t\t\tGlobalNetworkId: globalNetworkId,\n\t\t\tSiteId: siteId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetSiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getSite(GetSiteArgs.builder()\n .globalNetworkId(globalNetworkId)\n .siteId(siteId)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:networkmanager:getSite\n arguments:\n globalNetworkId: ${globalNetworkId}\n siteId: ${siteId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a site.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkmanager.getSite({\n globalNetworkId: globalNetworkId,\n siteId: siteId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.get_site(global_network_id=global_network_id,\n site_id=site_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkManager.GetSite.Invoke(new()\n {\n GlobalNetworkId = globalNetworkId,\n SiteId = siteId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.LookupSite(ctx, \u0026networkmanager.LookupSiteArgs{\n\t\t\tGlobalNetworkId: globalNetworkId,\n\t\t\tSiteId: siteId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetSiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getSite(GetSiteArgs.builder()\n .globalNetworkId(globalNetworkId)\n .siteId(siteId)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:networkmanager:getSite\n Arguments:\n globalNetworkId: ${globalNetworkId}\n siteId: ${siteId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSite.\n", "properties": { @@ -415502,7 +415502,7 @@ } }, "aws:networkmanager/getSites:getSites": { - "description": "Retrieve information about sites.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkmanager.getSites({\n globalNetworkId: globalNetworkId,\n tags: {\n Env: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.get_sites(global_network_id=global_network_id,\n tags={\n \"Env\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkManager.GetSites.Invoke(new()\n {\n GlobalNetworkId = globalNetworkId,\n Tags = \n {\n { \"Env\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.GetSites(ctx, \u0026networkmanager.GetSitesArgs{\n\t\t\tGlobalNetworkId: globalNetworkId,\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Env\": \"test\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetSitesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getSites(GetSitesArgs.builder()\n .globalNetworkId(globalNetworkId)\n .tags(Map.of(\"Env\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:networkmanager:getSites\n arguments:\n globalNetworkId: ${globalNetworkId}\n tags:\n Env: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about sites.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.networkmanager.getSites({\n globalNetworkId: globalNetworkId,\n tags: {\n Env: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.get_sites(global_network_id=global_network_id,\n tags={\n \"Env\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.NetworkManager.GetSites.Invoke(new()\n {\n GlobalNetworkId = globalNetworkId,\n Tags = \n {\n { \"Env\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\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 := networkmanager.GetSites(ctx, \u0026networkmanager.GetSitesArgs{\n\t\t\tGlobalNetworkId: globalNetworkId,\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Env\": \"test\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetSitesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkmanagerFunctions.getSites(GetSitesArgs.builder()\n .globalNetworkId(globalNetworkId)\n .tags(Map.of(\"Env\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:networkmanager:getSites\n Arguments:\n globalNetworkId: ${globalNetworkId}\n tags:\n Env: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSites.\n", "properties": { @@ -415556,7 +415556,7 @@ } }, "aws:oam/getLink:getLink": { - "description": "Data source for managing an AWS CloudWatch Observability Access Manager Link.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.oam.getLink({\n linkIdentifier: \"arn:aws:oam:us-west-1:111111111111:link/abcd1234-a123-456a-a12b-a123b456c789\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.oam.get_link(link_identifier=\"arn:aws:oam:us-west-1:111111111111:link/abcd1234-a123-456a-a12b-a123b456c789\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Oam.GetLink.Invoke(new()\n {\n LinkIdentifier = \"arn:aws:oam:us-west-1:111111111111:link/abcd1234-a123-456a-a12b-a123b456c789\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/oam\"\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 := oam.LookupLink(ctx, \u0026oam.LookupLinkArgs{\n\t\t\tLinkIdentifier: \"arn:aws:oam:us-west-1:111111111111:link/abcd1234-a123-456a-a12b-a123b456c789\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.oam.OamFunctions;\nimport com.pulumi.aws.oam.inputs.GetLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OamFunctions.getLink(GetLinkArgs.builder()\n .linkIdentifier(\"arn:aws:oam:us-west-1:111111111111:link/abcd1234-a123-456a-a12b-a123b456c789\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:oam:getLink\n arguments:\n linkIdentifier: arn:aws:oam:us-west-1:111111111111:link/abcd1234-a123-456a-a12b-a123b456c789\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS CloudWatch Observability Access Manager Link.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.oam.getLink({\n linkIdentifier: \"arn:aws:oam:us-west-1:111111111111:link/abcd1234-a123-456a-a12b-a123b456c789\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.oam.get_link(link_identifier=\"arn:aws:oam:us-west-1:111111111111:link/abcd1234-a123-456a-a12b-a123b456c789\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Oam.GetLink.Invoke(new()\n {\n LinkIdentifier = \"arn:aws:oam:us-west-1:111111111111:link/abcd1234-a123-456a-a12b-a123b456c789\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/oam\"\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 := oam.LookupLink(ctx, \u0026oam.LookupLinkArgs{\n\t\t\tLinkIdentifier: \"arn:aws:oam:us-west-1:111111111111:link/abcd1234-a123-456a-a12b-a123b456c789\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.oam.OamFunctions;\nimport com.pulumi.aws.oam.inputs.GetLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OamFunctions.getLink(GetLinkArgs.builder()\n .linkIdentifier(\"arn:aws:oam:us-west-1:111111111111:link/abcd1234-a123-456a-a12b-a123b456c789\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:oam:getLink\n Arguments:\n linkIdentifier: arn:aws:oam:us-west-1:111111111111:link/abcd1234-a123-456a-a12b-a123b456c789\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLink.\n", "properties": { @@ -415643,7 +415643,7 @@ } }, "aws:oam/getLinks:getLinks": { - "description": "Data source for managing an AWS CloudWatch Observability Access Manager Links.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.oam.getLinks({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.oam.get_links()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Oam.GetLinks.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/oam\"\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 := oam.GetLinks(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.oam.OamFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OamFunctions.getLinks();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:oam:getLinks\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS CloudWatch Observability Access Manager Links.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.oam.getLinks({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.oam.get_links()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Oam.GetLinks.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/oam\"\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 := oam.GetLinks(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.oam.OamFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OamFunctions.getLinks();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:oam:getLinks\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getLinks.\n", "properties": { @@ -415667,7 +415667,7 @@ } }, "aws:oam/getSink:getSink": { - "description": "Data source for managing an AWS CloudWatch Observability Access Manager Sink.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.oam.getSink({\n sinkIdentifier: \"arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.oam.get_sink(sink_identifier=\"arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Oam.GetSink.Invoke(new()\n {\n SinkIdentifier = \"arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/oam\"\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 := oam.LookupSink(ctx, \u0026oam.LookupSinkArgs{\n\t\t\tSinkIdentifier: \"arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.oam.OamFunctions;\nimport com.pulumi.aws.oam.inputs.GetSinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OamFunctions.getSink(GetSinkArgs.builder()\n .sinkIdentifier(\"arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:oam:getSink\n arguments:\n sinkIdentifier: arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS CloudWatch Observability Access Manager Sink.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.oam.getSink({\n sinkIdentifier: \"arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.oam.get_sink(sink_identifier=\"arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Oam.GetSink.Invoke(new()\n {\n SinkIdentifier = \"arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/oam\"\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 := oam.LookupSink(ctx, \u0026oam.LookupSinkArgs{\n\t\t\tSinkIdentifier: \"arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.oam.OamFunctions;\nimport com.pulumi.aws.oam.inputs.GetSinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OamFunctions.getSink(GetSinkArgs.builder()\n .sinkIdentifier(\"arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:oam:getSink\n Arguments:\n sinkIdentifier: arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSink.\n", "properties": { @@ -415730,7 +415730,7 @@ } }, "aws:oam/getSinks:getSinks": { - "description": "Data source for managing an AWS CloudWatch Observability Access Manager Sinks.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.oam.getSinks({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.oam.get_sinks()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Oam.GetSinks.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/oam\"\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 := oam.GetSinks(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.oam.OamFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OamFunctions.getSinks();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:oam:getSinks\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS CloudWatch Observability Access Manager Sinks.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.oam.getSinks({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.oam.get_sinks()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Oam.GetSinks.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/oam\"\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 := oam.GetSinks(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.oam.OamFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OamFunctions.getSinks();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:oam:getSinks\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getSinks.\n", "properties": { @@ -415754,7 +415754,7 @@ } }, "aws:opensearch/getDomain:getDomain": { - "description": "Use this data source to get information about an OpenSearch Domain\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDomain = aws.opensearch.getDomain({\n domainName: \"my-domain-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_domain = aws.opensearch.get_domain(domain_name=\"my-domain-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDomain = Aws.OpenSearch.GetDomain.Invoke(new()\n {\n DomainName = \"my-domain-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.LookupDomain(ctx, \u0026opensearch.LookupDomainArgs{\n\t\t\tDomainName: \"my-domain-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.OpensearchFunctions;\nimport com.pulumi.aws.opensearch.inputs.GetDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myDomain = OpensearchFunctions.getDomain(GetDomainArgs.builder()\n .domainName(\"my-domain-name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myDomain:\n fn::invoke:\n function: aws:opensearch:getDomain\n arguments:\n domainName: my-domain-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about an OpenSearch Domain\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDomain = aws.opensearch.getDomain({\n domainName: \"my-domain-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_domain = aws.opensearch.get_domain(domain_name=\"my-domain-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDomain = Aws.OpenSearch.GetDomain.Invoke(new()\n {\n DomainName = \"my-domain-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.LookupDomain(ctx, \u0026opensearch.LookupDomainArgs{\n\t\t\tDomainName: \"my-domain-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.OpensearchFunctions;\nimport com.pulumi.aws.opensearch.inputs.GetDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myDomain = OpensearchFunctions.getDomain(GetDomainArgs.builder()\n .domainName(\"my-domain-name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myDomain:\n fn::invoke:\n Function: aws:opensearch:getDomain\n Arguments:\n domainName: my-domain-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDomain.\n", "properties": { @@ -415977,7 +415977,7 @@ } }, "aws:opensearch/getServerlessAccessPolicy:getServerlessAccessPolicy": { - "description": "Data source for managing an AWS OpenSearch Serverless Access Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.opensearch.getServerlessAccessPolicy({\n name: exampleAwsOpensearchserverlessAccessPolicy.name,\n type: exampleAwsOpensearchserverlessAccessPolicy.type,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.get_serverless_access_policy(name=example_aws_opensearchserverless_access_policy[\"name\"],\n type=example_aws_opensearchserverless_access_policy[\"type\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.OpenSearch.GetServerlessAccessPolicy.Invoke(new()\n {\n Name = exampleAwsOpensearchserverlessAccessPolicy.Name,\n Type = exampleAwsOpensearchserverlessAccessPolicy.Type,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.LookupServerlessAccessPolicy(ctx, \u0026opensearch.LookupServerlessAccessPolicyArgs{\n\t\t\tName: exampleAwsOpensearchserverlessAccessPolicy.Name,\n\t\t\tType: exampleAwsOpensearchserverlessAccessPolicy.Type,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.OpensearchFunctions;\nimport com.pulumi.aws.opensearch.inputs.GetServerlessAccessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OpensearchFunctions.getServerlessAccessPolicy(GetServerlessAccessPolicyArgs.builder()\n .name(exampleAwsOpensearchserverlessAccessPolicy.name())\n .type(exampleAwsOpensearchserverlessAccessPolicy.type())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:opensearch:getServerlessAccessPolicy\n arguments:\n name: ${exampleAwsOpensearchserverlessAccessPolicy.name}\n type: ${exampleAwsOpensearchserverlessAccessPolicy.type}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS OpenSearch Serverless Access Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.opensearch.getServerlessAccessPolicy({\n name: exampleAwsOpensearchserverlessAccessPolicy.name,\n type: exampleAwsOpensearchserverlessAccessPolicy.type,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.get_serverless_access_policy(name=example_aws_opensearchserverless_access_policy[\"name\"],\n type=example_aws_opensearchserverless_access_policy[\"type\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.OpenSearch.GetServerlessAccessPolicy.Invoke(new()\n {\n Name = exampleAwsOpensearchserverlessAccessPolicy.Name,\n Type = exampleAwsOpensearchserverlessAccessPolicy.Type,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.LookupServerlessAccessPolicy(ctx, \u0026opensearch.LookupServerlessAccessPolicyArgs{\n\t\t\tName: exampleAwsOpensearchserverlessAccessPolicy.Name,\n\t\t\tType: exampleAwsOpensearchserverlessAccessPolicy.Type,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.OpensearchFunctions;\nimport com.pulumi.aws.opensearch.inputs.GetServerlessAccessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OpensearchFunctions.getServerlessAccessPolicy(GetServerlessAccessPolicyArgs.builder()\n .name(exampleAwsOpensearchserverlessAccessPolicy.name())\n .type(exampleAwsOpensearchserverlessAccessPolicy.type())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:opensearch:getServerlessAccessPolicy\n Arguments:\n name: ${exampleAwsOpensearchserverlessAccessPolicy.name}\n type: ${exampleAwsOpensearchserverlessAccessPolicy.type}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServerlessAccessPolicy.\n", "properties": { @@ -416033,7 +416033,7 @@ } }, "aws:opensearch/getServerlessCollection:getServerlessCollection": { - "description": "Data source for managing an AWS OpenSearch Serverless Collection.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.opensearch.getServerlessCollection({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.get_serverless_collection(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.OpenSearch.GetServerlessCollection.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.LookupServerlessCollection(ctx, \u0026opensearch.LookupServerlessCollectionArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.OpensearchFunctions;\nimport com.pulumi.aws.opensearch.inputs.GetServerlessCollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OpensearchFunctions.getServerlessCollection(GetServerlessCollectionArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:opensearch:getServerlessCollection\n arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS OpenSearch Serverless Collection.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.opensearch.getServerlessCollection({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.get_serverless_collection(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.OpenSearch.GetServerlessCollection.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.LookupServerlessCollection(ctx, \u0026opensearch.LookupServerlessCollectionArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.OpensearchFunctions;\nimport com.pulumi.aws.opensearch.inputs.GetServerlessCollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OpensearchFunctions.getServerlessCollection(GetServerlessCollectionArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:opensearch:getServerlessCollection\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServerlessCollection.\n", "properties": { @@ -416128,7 +416128,7 @@ } }, "aws:opensearch/getServerlessLifecyclePolicy:getServerlessLifecyclePolicy": { - "description": "Data source for managing an AWS OpenSearch Serverless Lifecycle Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.opensearch.getServerlessLifecyclePolicy({\n name: \"example-lifecycle-policy\",\n type: \"retention\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.get_serverless_lifecycle_policy(name=\"example-lifecycle-policy\",\n type=\"retention\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.OpenSearch.GetServerlessLifecyclePolicy.Invoke(new()\n {\n Name = \"example-lifecycle-policy\",\n Type = \"retention\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.LookupServerlessLifecyclePolicy(ctx, \u0026opensearch.LookupServerlessLifecyclePolicyArgs{\n\t\t\tName: \"example-lifecycle-policy\",\n\t\t\tType: \"retention\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.OpensearchFunctions;\nimport com.pulumi.aws.opensearch.inputs.GetServerlessLifecyclePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OpensearchFunctions.getServerlessLifecyclePolicy(GetServerlessLifecyclePolicyArgs.builder()\n .name(\"example-lifecycle-policy\")\n .type(\"retention\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:opensearch:getServerlessLifecyclePolicy\n arguments:\n name: example-lifecycle-policy\n type: retention\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS OpenSearch Serverless Lifecycle Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.opensearch.getServerlessLifecyclePolicy({\n name: \"example-lifecycle-policy\",\n type: \"retention\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.get_serverless_lifecycle_policy(name=\"example-lifecycle-policy\",\n type=\"retention\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.OpenSearch.GetServerlessLifecyclePolicy.Invoke(new()\n {\n Name = \"example-lifecycle-policy\",\n Type = \"retention\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.LookupServerlessLifecyclePolicy(ctx, \u0026opensearch.LookupServerlessLifecyclePolicyArgs{\n\t\t\tName: \"example-lifecycle-policy\",\n\t\t\tType: \"retention\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.OpensearchFunctions;\nimport com.pulumi.aws.opensearch.inputs.GetServerlessLifecyclePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OpensearchFunctions.getServerlessLifecyclePolicy(GetServerlessLifecyclePolicyArgs.builder()\n .name(\"example-lifecycle-policy\")\n .type(\"retention\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:opensearch:getServerlessLifecyclePolicy\n Arguments:\n name: example-lifecycle-policy\n type: retention\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServerlessLifecyclePolicy.\n", "properties": { @@ -416194,7 +416194,7 @@ } }, "aws:opensearch/getServerlessSecurityConfig:getServerlessSecurityConfig": { - "description": "Data source for managing an AWS OpenSearch Serverless Security Config.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.opensearch.getServerlessSecurityConfig({\n id: \"saml/12345678912/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.get_serverless_security_config(id=\"saml/12345678912/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.OpenSearch.GetServerlessSecurityConfig.Invoke(new()\n {\n Id = \"saml/12345678912/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.LookupServerlessSecurityConfig(ctx, \u0026opensearch.LookupServerlessSecurityConfigArgs{\n\t\t\tId: \"saml/12345678912/example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.OpensearchFunctions;\nimport com.pulumi.aws.opensearch.inputs.GetServerlessSecurityConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OpensearchFunctions.getServerlessSecurityConfig(GetServerlessSecurityConfigArgs.builder()\n .id(\"saml/12345678912/example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:opensearch:getServerlessSecurityConfig\n arguments:\n id: saml/12345678912/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS OpenSearch Serverless Security Config.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.opensearch.getServerlessSecurityConfig({\n id: \"saml/12345678912/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.get_serverless_security_config(id=\"saml/12345678912/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.OpenSearch.GetServerlessSecurityConfig.Invoke(new()\n {\n Id = \"saml/12345678912/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.LookupServerlessSecurityConfig(ctx, \u0026opensearch.LookupServerlessSecurityConfigArgs{\n\t\t\tId: \"saml/12345678912/example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.OpensearchFunctions;\nimport com.pulumi.aws.opensearch.inputs.GetServerlessSecurityConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OpensearchFunctions.getServerlessSecurityConfig(GetServerlessSecurityConfigArgs.builder()\n .id(\"saml/12345678912/example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:opensearch:getServerlessSecurityConfig\n Arguments:\n id: saml/12345678912/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServerlessSecurityConfig.\n", "properties": { @@ -416255,7 +416255,7 @@ } }, "aws:opensearch/getServerlessSecurityPolicy:getServerlessSecurityPolicy": { - "description": "Use this data source to get information about an AWS OpenSearch Serverless Security Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.opensearch.getServerlessSecurityPolicy({\n name: \"example-security-policy\",\n type: \"encryption\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.get_serverless_security_policy(name=\"example-security-policy\",\n type=\"encryption\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.OpenSearch.GetServerlessSecurityPolicy.Invoke(new()\n {\n Name = \"example-security-policy\",\n Type = \"encryption\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.LookupServerlessSecurityPolicy(ctx, \u0026opensearch.LookupServerlessSecurityPolicyArgs{\n\t\t\tName: \"example-security-policy\",\n\t\t\tType: \"encryption\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.OpensearchFunctions;\nimport com.pulumi.aws.opensearch.inputs.GetServerlessSecurityPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OpensearchFunctions.getServerlessSecurityPolicy(GetServerlessSecurityPolicyArgs.builder()\n .name(\"example-security-policy\")\n .type(\"encryption\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:opensearch:getServerlessSecurityPolicy\n arguments:\n name: example-security-policy\n type: encryption\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about an AWS OpenSearch Serverless Security Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.opensearch.getServerlessSecurityPolicy({\n name: \"example-security-policy\",\n type: \"encryption\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.get_serverless_security_policy(name=\"example-security-policy\",\n type=\"encryption\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.OpenSearch.GetServerlessSecurityPolicy.Invoke(new()\n {\n Name = \"example-security-policy\",\n Type = \"encryption\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.LookupServerlessSecurityPolicy(ctx, \u0026opensearch.LookupServerlessSecurityPolicyArgs{\n\t\t\tName: \"example-security-policy\",\n\t\t\tType: \"encryption\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.OpensearchFunctions;\nimport com.pulumi.aws.opensearch.inputs.GetServerlessSecurityPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OpensearchFunctions.getServerlessSecurityPolicy(GetServerlessSecurityPolicyArgs.builder()\n .name(\"example-security-policy\")\n .type(\"encryption\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:opensearch:getServerlessSecurityPolicy\n Arguments:\n name: example-security-policy\n type: encryption\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServerlessSecurityPolicy.\n", "properties": { @@ -416322,7 +416322,7 @@ } }, "aws:opensearch/getServerlessVpcEndpoint:getServerlessVpcEndpoint": { - "description": "Data source for managing an AWS OpenSearch Serverless VPC Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.opensearch.getServerlessVpcEndpoint({\n vpcEndpointId: \"vpce-829a4487959e2a839\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.get_serverless_vpc_endpoint(vpc_endpoint_id=\"vpce-829a4487959e2a839\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.OpenSearch.GetServerlessVpcEndpoint.Invoke(new()\n {\n VpcEndpointId = \"vpce-829a4487959e2a839\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.LookupServerlessVpcEndpoint(ctx, \u0026opensearch.LookupServerlessVpcEndpointArgs{\n\t\t\tVpcEndpointId: \"vpce-829a4487959e2a839\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.OpensearchFunctions;\nimport com.pulumi.aws.opensearch.inputs.GetServerlessVpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OpensearchFunctions.getServerlessVpcEndpoint(GetServerlessVpcEndpointArgs.builder()\n .vpcEndpointId(\"vpce-829a4487959e2a839\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:opensearch:getServerlessVpcEndpoint\n arguments:\n vpcEndpointId: vpce-829a4487959e2a839\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS OpenSearch Serverless VPC Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.opensearch.getServerlessVpcEndpoint({\n vpcEndpointId: \"vpce-829a4487959e2a839\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.get_serverless_vpc_endpoint(vpc_endpoint_id=\"vpce-829a4487959e2a839\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.OpenSearch.GetServerlessVpcEndpoint.Invoke(new()\n {\n VpcEndpointId = \"vpce-829a4487959e2a839\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\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 := opensearch.LookupServerlessVpcEndpoint(ctx, \u0026opensearch.LookupServerlessVpcEndpointArgs{\n\t\t\tVpcEndpointId: \"vpce-829a4487959e2a839\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.OpensearchFunctions;\nimport com.pulumi.aws.opensearch.inputs.GetServerlessVpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OpensearchFunctions.getServerlessVpcEndpoint(GetServerlessVpcEndpointArgs.builder()\n .vpcEndpointId(\"vpce-829a4487959e2a839\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:opensearch:getServerlessVpcEndpoint\n Arguments:\n vpcEndpointId: vpce-829a4487959e2a839\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServerlessVpcEndpoint.\n", "properties": { @@ -416386,7 +416386,7 @@ } }, "aws:organizations/getDelegatedAdministrators:getDelegatedAdministrators": { - "description": "Get a list of AWS accounts that are designated as delegated administrators in this organization\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.organizations.getDelegatedAdministrators({\n servicePrincipal: \"SERVICE PRINCIPAL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.get_delegated_administrators(service_principal=\"SERVICE PRINCIPAL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Organizations.GetDelegatedAdministrators.Invoke(new()\n {\n ServicePrincipal = \"SERVICE PRINCIPAL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\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 := organizations.GetDelegatedAdministrators(ctx, \u0026organizations.GetDelegatedAdministratorsArgs{\n\t\t\tServicePrincipal: pulumi.StringRef(\"SERVICE PRINCIPAL\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.organizations.inputs.GetDelegatedAdministratorsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OrganizationsFunctions.getDelegatedAdministrators(GetDelegatedAdministratorsArgs.builder()\n .servicePrincipal(\"SERVICE PRINCIPAL\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:organizations:getDelegatedAdministrators\n arguments:\n servicePrincipal: SERVICE PRINCIPAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get a list of AWS accounts that are designated as delegated administrators in this organization\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.organizations.getDelegatedAdministrators({\n servicePrincipal: \"SERVICE PRINCIPAL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.get_delegated_administrators(service_principal=\"SERVICE PRINCIPAL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Organizations.GetDelegatedAdministrators.Invoke(new()\n {\n ServicePrincipal = \"SERVICE PRINCIPAL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\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 := organizations.GetDelegatedAdministrators(ctx, \u0026organizations.GetDelegatedAdministratorsArgs{\n\t\t\tServicePrincipal: pulumi.StringRef(\"SERVICE PRINCIPAL\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.organizations.inputs.GetDelegatedAdministratorsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OrganizationsFunctions.getDelegatedAdministrators(GetDelegatedAdministratorsArgs.builder()\n .servicePrincipal(\"SERVICE PRINCIPAL\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:organizations:getDelegatedAdministrators\n Arguments:\n servicePrincipal: SERVICE PRINCIPAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDelegatedAdministrators.\n", "properties": { @@ -416423,7 +416423,7 @@ } }, "aws:organizations/getDelegatedServices:getDelegatedServices": { - "description": "Get a list the AWS services for which the specified account is a delegated administrator\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.organizations.getDelegatedServices({\n accountId: \"AWS ACCOUNT ID\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.get_delegated_services(account_id=\"AWS ACCOUNT ID\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Organizations.GetDelegatedServices.Invoke(new()\n {\n AccountId = \"AWS ACCOUNT ID\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\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 := organizations.GetDelegatedServices(ctx, \u0026organizations.GetDelegatedServicesArgs{\n\t\t\tAccountId: \"AWS ACCOUNT ID\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.organizations.inputs.GetDelegatedServicesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OrganizationsFunctions.getDelegatedServices(GetDelegatedServicesArgs.builder()\n .accountId(\"AWS ACCOUNT ID\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:organizations:getDelegatedServices\n arguments:\n accountId: AWS ACCOUNT ID\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get a list the AWS services for which the specified account is a delegated administrator\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.organizations.getDelegatedServices({\n accountId: \"AWS ACCOUNT ID\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.get_delegated_services(account_id=\"AWS ACCOUNT ID\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Organizations.GetDelegatedServices.Invoke(new()\n {\n AccountId = \"AWS ACCOUNT ID\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\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 := organizations.GetDelegatedServices(ctx, \u0026organizations.GetDelegatedServicesArgs{\n\t\t\tAccountId: \"AWS ACCOUNT ID\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.organizations.inputs.GetDelegatedServicesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OrganizationsFunctions.getDelegatedServices(GetDelegatedServicesArgs.builder()\n .accountId(\"AWS ACCOUNT ID\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:organizations:getDelegatedServices\n Arguments:\n accountId: AWS ACCOUNT ID\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDelegatedServices.\n", "properties": { @@ -416464,7 +416464,7 @@ } }, "aws:organizations/getOrganization:getOrganization": { - "description": "Get information about the organization that the user's account belongs to\n\n## Example Usage\n\n### List all account IDs for the organization\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.organizations.getOrganization({});\nexport const accountIds = example.then(example =\u003e example.accounts.map(__item =\u003e __item.id));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.get_organization()\npulumi.export(\"accountIds\", [__item.id for __item in example.accounts])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Organizations.GetOrganization.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"accountIds\"] = example.Apply(getOrganizationResult =\u003e getOrganizationResult.Accounts).Select(__item =\u003e __item.Id).ToList(),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := organizations.LookupOrganization(ctx, map[string]interface{}{\n}, nil);\nif err != nil {\nreturn err\n}\nctx.Export(\"accountIds\", pulumi.StringArray(%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:3,11-33)))\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OrganizationsFunctions.getOrganization();\n\n ctx.export(\"accountIds\", example.applyValue(getOrganizationResult -\u003e getOrganizationResult.accounts()).stream().map(element -\u003e element.id()).collect(toList()));\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SNS topic that can be interacted by the organization only\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.organizations.getOrganization({});\nconst snsTopic = new aws.sns.Topic(\"sns_topic\", {name: \"my-sns-topic\"});\nconst snsTopicPolicy = pulumi.all([example, snsTopic.arn]).apply(([example, arn]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"SNS:Subscribe\",\n \"SNS:Publish\",\n ],\n conditions: [{\n test: \"StringEquals\",\n variable: \"aws:PrincipalOrgID\",\n values: [example.id],\n }],\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [arn],\n }],\n}));\nconst snsTopicPolicyTopicPolicy = new aws.sns.TopicPolicy(\"sns_topic_policy\", {\n arn: snsTopic.arn,\n policy: snsTopicPolicy.apply(snsTopicPolicy =\u003e snsTopicPolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.get_organization()\nsns_topic = aws.sns.Topic(\"sns_topic\", name=\"my-sns-topic\")\nsns_topic_policy = sns_topic.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"SNS:Subscribe\",\n \"SNS:Publish\",\n ],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"aws:PrincipalOrgID\",\n \"values\": [example.id],\n }],\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"resources\": [arn],\n}]))\nsns_topic_policy_topic_policy = aws.sns.TopicPolicy(\"sns_topic_policy\",\n arn=sns_topic.arn,\n policy=sns_topic_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Organizations.GetOrganization.Invoke();\n\n var snsTopic = new Aws.Sns.Topic(\"sns_topic\", new()\n {\n Name = \"my-sns-topic\",\n });\n\n var snsTopicPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:Publish\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:PrincipalOrgID\",\n Values = new[]\n {\n example.Apply(getOrganizationResult =\u003e getOrganizationResult.Id),\n },\n },\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n snsTopic.Arn,\n },\n },\n },\n });\n\n var snsTopicPolicyTopicPolicy = new Aws.Sns.TopicPolicy(\"sns_topic_policy\", new()\n {\n Arn = snsTopic.Arn,\n Policy = snsTopicPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := organizations.LookupOrganization(ctx, map[string]interface{}{\n}, nil);\nif err != nil {\nreturn err\n}\nsnsTopic, err := sns.NewTopic(ctx, \"sns_topic\", \u0026sns.TopicArgs{\nName: pulumi.String(\"my-sns-topic\"),\n})\nif err != nil {\nreturn err\n}\nsnsTopicPolicy := snsTopic.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:Publish\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"aws:PrincipalOrgID\",\nValues: interface{}{\nexample.Id,\n},\n},\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: interface{}{\narn,\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"sns_topic_policy\", \u0026sns.TopicPolicyArgs{\nArn: snsTopic.Arn,\nPolicy: pulumi.String(snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026snsTopicPolicy.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OrganizationsFunctions.getOrganization();\n\n var snsTopic = new Topic(\"snsTopic\", TopicArgs.builder()\n .name(\"my-sns-topic\")\n .build());\n\n final var snsTopicPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"SNS:Subscribe\",\n \"SNS:Publish\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:PrincipalOrgID\")\n .values(example.applyValue(getOrganizationResult -\u003e getOrganizationResult.id()))\n .build())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(snsTopic.arn())\n .build())\n .build());\n\n var snsTopicPolicyTopicPolicy = new TopicPolicy(\"snsTopicPolicyTopicPolicy\", TopicPolicyArgs.builder()\n .arn(snsTopic.arn())\n .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(snsTopicPolicy -\u003e snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n snsTopic:\n type: aws:sns:Topic\n name: sns_topic\n properties:\n name: my-sns-topic\n snsTopicPolicyTopicPolicy:\n type: aws:sns:TopicPolicy\n name: sns_topic_policy\n properties:\n arn: ${snsTopic.arn}\n policy: ${snsTopicPolicy.json}\nvariables:\n example:\n fn::invoke:\n function: aws:organizations:getOrganization\n arguments: {}\n snsTopicPolicy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - SNS:Subscribe\n - SNS:Publish\n conditions:\n - test: StringEquals\n variable: aws:PrincipalOrgID\n values:\n - ${example.id}\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - ${snsTopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information about the organization that the user's account belongs to\n\n## Example Usage\n\n### List all account IDs for the organization\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.organizations.getOrganization({});\nexport const accountIds = example.then(example =\u003e example.accounts.map(__item =\u003e __item.id));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.get_organization()\npulumi.export(\"accountIds\", [__item.id for __item in example.accounts])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Organizations.GetOrganization.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"accountIds\"] = example.Apply(getOrganizationResult =\u003e getOrganizationResult.Accounts).Select(__item =\u003e __item.Id).ToList(),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := organizations.LookupOrganization(ctx, map[string]interface{}{\n}, nil);\nif err != nil {\nreturn err\n}\nctx.Export(\"accountIds\", pulumi.StringArray(%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:3,11-33)))\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OrganizationsFunctions.getOrganization();\n\n ctx.export(\"accountIds\", example.applyValue(getOrganizationResult -\u003e getOrganizationResult.accounts()).stream().map(element -\u003e element.id()).collect(toList()));\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SNS topic that can be interacted by the organization only\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.organizations.getOrganization({});\nconst snsTopic = new aws.sns.Topic(\"sns_topic\", {name: \"my-sns-topic\"});\nconst snsTopicPolicy = pulumi.all([example, snsTopic.arn]).apply(([example, arn]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"SNS:Subscribe\",\n \"SNS:Publish\",\n ],\n conditions: [{\n test: \"StringEquals\",\n variable: \"aws:PrincipalOrgID\",\n values: [example.id],\n }],\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [arn],\n }],\n}));\nconst snsTopicPolicyTopicPolicy = new aws.sns.TopicPolicy(\"sns_topic_policy\", {\n arn: snsTopic.arn,\n policy: snsTopicPolicy.apply(snsTopicPolicy =\u003e snsTopicPolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.get_organization()\nsns_topic = aws.sns.Topic(\"sns_topic\", name=\"my-sns-topic\")\nsns_topic_policy = sns_topic.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\n \"SNS:Subscribe\",\n \"SNS:Publish\",\n ],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"aws:PrincipalOrgID\",\n \"values\": [example.id],\n }],\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"*\"],\n }],\n \"resources\": [arn],\n}]))\nsns_topic_policy_topic_policy = aws.sns.TopicPolicy(\"sns_topic_policy\",\n arn=sns_topic.arn,\n policy=sns_topic_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Organizations.GetOrganization.Invoke();\n\n var snsTopic = new Aws.Sns.Topic(\"sns_topic\", new()\n {\n Name = \"my-sns-topic\",\n });\n\n var snsTopicPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:Publish\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:PrincipalOrgID\",\n Values = new[]\n {\n example.Apply(getOrganizationResult =\u003e getOrganizationResult.Id),\n },\n },\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n snsTopic.Arn,\n },\n },\n },\n });\n\n var snsTopicPolicyTopicPolicy = new Aws.Sns.TopicPolicy(\"sns_topic_policy\", new()\n {\n Arn = snsTopic.Arn,\n Policy = snsTopicPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := organizations.LookupOrganization(ctx, map[string]interface{}{\n}, nil);\nif err != nil {\nreturn err\n}\nsnsTopic, err := sns.NewTopic(ctx, \"sns_topic\", \u0026sns.TopicArgs{\nName: pulumi.String(\"my-sns-topic\"),\n})\nif err != nil {\nreturn err\n}\nsnsTopicPolicy := snsTopic.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:Publish\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"aws:PrincipalOrgID\",\nValues: interface{}{\nexample.Id,\n},\n},\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: interface{}{\narn,\n},\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"sns_topic_policy\", \u0026sns.TopicPolicyArgs{\nArn: snsTopic.Arn,\nPolicy: pulumi.String(snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026snsTopicPolicy.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OrganizationsFunctions.getOrganization();\n\n var snsTopic = new Topic(\"snsTopic\", TopicArgs.builder()\n .name(\"my-sns-topic\")\n .build());\n\n final var snsTopicPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"SNS:Subscribe\",\n \"SNS:Publish\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:PrincipalOrgID\")\n .values(example.applyValue(getOrganizationResult -\u003e getOrganizationResult.id()))\n .build())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(snsTopic.arn())\n .build())\n .build());\n\n var snsTopicPolicyTopicPolicy = new TopicPolicy(\"snsTopicPolicyTopicPolicy\", TopicPolicyArgs.builder()\n .arn(snsTopic.arn())\n .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(snsTopicPolicy -\u003e snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n snsTopic:\n type: aws:sns:Topic\n name: sns_topic\n properties:\n name: my-sns-topic\n snsTopicPolicyTopicPolicy:\n type: aws:sns:TopicPolicy\n name: sns_topic_policy\n properties:\n arn: ${snsTopic.arn}\n policy: ${snsTopicPolicy.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:organizations:getOrganization\n Arguments: {}\n snsTopicPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - SNS:Subscribe\n - SNS:Publish\n conditions:\n - test: StringEquals\n variable: aws:PrincipalOrgID\n values:\n - ${example.id}\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - ${snsTopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getOrganization.\n", "properties": { @@ -416550,7 +416550,7 @@ } }, "aws:organizations/getOrganizationalUnit:getOrganizationalUnit": { - "description": "Data source for getting an AWS Organizations Organizational Unit.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst org = aws.organizations.getOrganization({});\nconst ou = org.then(org =\u003e aws.organizations.getOrganizationalUnit({\n parentId: org.roots?.[0]?.id,\n name: \"dev\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norg = aws.organizations.get_organization()\nou = aws.organizations.get_organizational_unit(parent_id=org.roots[0].id,\n name=\"dev\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var org = Aws.Organizations.GetOrganization.Invoke();\n\n var ou = Aws.Organizations.GetOrganizationalUnit.Invoke(new()\n {\n ParentId = org.Apply(getOrganizationResult =\u003e getOrganizationResult.Roots[0]?.Id),\n Name = \"dev\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torg, err := organizations.LookupOrganization(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = organizations.LookupOrganizationalUnit(ctx, \u0026organizations.LookupOrganizationalUnitArgs{\n\t\t\tParentId: org.Roots[0].Id,\n\t\t\tName: \"dev\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.organizations.inputs.GetOrganizationalUnitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var org = OrganizationsFunctions.getOrganization();\n\n final var ou = OrganizationsFunctions.getOrganizationalUnit(GetOrganizationalUnitArgs.builder()\n .parentId(org.applyValue(getOrganizationResult -\u003e getOrganizationResult.roots()[0].id()))\n .name(\"dev\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n org:\n fn::invoke:\n function: aws:organizations:getOrganization\n arguments: {}\n ou:\n fn::invoke:\n function: aws:organizations:getOrganizationalUnit\n arguments:\n parentId: ${org.roots[0].id}\n name: dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for getting an AWS Organizations Organizational Unit.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst org = aws.organizations.getOrganization({});\nconst ou = org.then(org =\u003e aws.organizations.getOrganizationalUnit({\n parentId: org.roots?.[0]?.id,\n name: \"dev\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norg = aws.organizations.get_organization()\nou = aws.organizations.get_organizational_unit(parent_id=org.roots[0].id,\n name=\"dev\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var org = Aws.Organizations.GetOrganization.Invoke();\n\n var ou = Aws.Organizations.GetOrganizationalUnit.Invoke(new()\n {\n ParentId = org.Apply(getOrganizationResult =\u003e getOrganizationResult.Roots[0]?.Id),\n Name = \"dev\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torg, err := organizations.LookupOrganization(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = organizations.LookupOrganizationalUnit(ctx, \u0026organizations.LookupOrganizationalUnitArgs{\n\t\t\tParentId: org.Roots[0].Id,\n\t\t\tName: \"dev\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.organizations.inputs.GetOrganizationalUnitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var org = OrganizationsFunctions.getOrganization();\n\n final var ou = OrganizationsFunctions.getOrganizationalUnit(GetOrganizationalUnitArgs.builder()\n .parentId(org.applyValue(getOrganizationResult -\u003e getOrganizationResult.roots()[0].id()))\n .name(\"dev\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n org:\n fn::invoke:\n Function: aws:organizations:getOrganization\n Arguments: {}\n ou:\n fn::invoke:\n Function: aws:organizations:getOrganizationalUnit\n Arguments:\n parentId: ${org.roots[0].id}\n name: dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOrganizationalUnit.\n", "properties": { @@ -416597,7 +416597,7 @@ } }, "aws:organizations/getOrganizationalUnitChildAccounts:getOrganizationalUnitChildAccounts": { - "description": "Get all direct child accounts under a parent organizational unit. This only provides immediate children, not all children.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst org = aws.organizations.getOrganization({});\nconst accounts = org.then(org =\u003e aws.organizations.getOrganizationalUnitChildAccounts({\n parentId: org.roots?.[0]?.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norg = aws.organizations.get_organization()\naccounts = aws.organizations.get_organizational_unit_child_accounts(parent_id=org.roots[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var org = Aws.Organizations.GetOrganization.Invoke();\n\n var accounts = Aws.Organizations.GetOrganizationalUnitChildAccounts.Invoke(new()\n {\n ParentId = org.Apply(getOrganizationResult =\u003e getOrganizationResult.Roots[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torg, err := organizations.LookupOrganization(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = organizations.GetOrganizationalUnitChildAccounts(ctx, \u0026organizations.GetOrganizationalUnitChildAccountsArgs{\n\t\t\tParentId: org.Roots[0].Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.organizations.inputs.GetOrganizationalUnitChildAccountsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var org = OrganizationsFunctions.getOrganization();\n\n final var accounts = OrganizationsFunctions.getOrganizationalUnitChildAccounts(GetOrganizationalUnitChildAccountsArgs.builder()\n .parentId(org.applyValue(getOrganizationResult -\u003e getOrganizationResult.roots()[0].id()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n org:\n fn::invoke:\n function: aws:organizations:getOrganization\n arguments: {}\n accounts:\n fn::invoke:\n function: aws:organizations:getOrganizationalUnitChildAccounts\n arguments:\n parentId: ${org.roots[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get all direct child accounts under a parent organizational unit. This only provides immediate children, not all children.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst org = aws.organizations.getOrganization({});\nconst accounts = org.then(org =\u003e aws.organizations.getOrganizationalUnitChildAccounts({\n parentId: org.roots?.[0]?.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norg = aws.organizations.get_organization()\naccounts = aws.organizations.get_organizational_unit_child_accounts(parent_id=org.roots[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var org = Aws.Organizations.GetOrganization.Invoke();\n\n var accounts = Aws.Organizations.GetOrganizationalUnitChildAccounts.Invoke(new()\n {\n ParentId = org.Apply(getOrganizationResult =\u003e getOrganizationResult.Roots[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torg, err := organizations.LookupOrganization(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = organizations.GetOrganizationalUnitChildAccounts(ctx, \u0026organizations.GetOrganizationalUnitChildAccountsArgs{\n\t\t\tParentId: org.Roots[0].Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.organizations.inputs.GetOrganizationalUnitChildAccountsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var org = OrganizationsFunctions.getOrganization();\n\n final var accounts = OrganizationsFunctions.getOrganizationalUnitChildAccounts(GetOrganizationalUnitChildAccountsArgs.builder()\n .parentId(org.applyValue(getOrganizationResult -\u003e getOrganizationResult.roots()[0].id()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n org:\n fn::invoke:\n Function: aws:organizations:getOrganization\n Arguments: {}\n accounts:\n fn::invoke:\n Function: aws:organizations:getOrganizationalUnitChildAccounts\n Arguments:\n parentId: ${org.roots[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOrganizationalUnitChildAccounts.\n", "properties": { @@ -416638,7 +416638,7 @@ } }, "aws:organizations/getOrganizationalUnitDescendantAccounts:getOrganizationalUnitDescendantAccounts": { - "description": "Get all direct child accounts under a parent organizational unit. This provides all children.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst org = aws.organizations.getOrganization({});\nconst accounts = org.then(org =\u003e aws.organizations.getOrganizationalUnitDescendantAccounts({\n parentId: org.roots?.[0]?.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norg = aws.organizations.get_organization()\naccounts = aws.organizations.get_organizational_unit_descendant_accounts(parent_id=org.roots[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var org = Aws.Organizations.GetOrganization.Invoke();\n\n var accounts = Aws.Organizations.GetOrganizationalUnitDescendantAccounts.Invoke(new()\n {\n ParentId = org.Apply(getOrganizationResult =\u003e getOrganizationResult.Roots[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torg, err := organizations.LookupOrganization(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = organizations.GetOrganizationalUnitDescendantAccounts(ctx, \u0026organizations.GetOrganizationalUnitDescendantAccountsArgs{\n\t\t\tParentId: org.Roots[0].Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.organizations.inputs.GetOrganizationalUnitDescendantAccountsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var org = OrganizationsFunctions.getOrganization();\n\n final var accounts = OrganizationsFunctions.getOrganizationalUnitDescendantAccounts(GetOrganizationalUnitDescendantAccountsArgs.builder()\n .parentId(org.applyValue(getOrganizationResult -\u003e getOrganizationResult.roots()[0].id()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n org:\n fn::invoke:\n function: aws:organizations:getOrganization\n arguments: {}\n accounts:\n fn::invoke:\n function: aws:organizations:getOrganizationalUnitDescendantAccounts\n arguments:\n parentId: ${org.roots[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get all direct child accounts under a parent organizational unit. This provides all children.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst org = aws.organizations.getOrganization({});\nconst accounts = org.then(org =\u003e aws.organizations.getOrganizationalUnitDescendantAccounts({\n parentId: org.roots?.[0]?.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norg = aws.organizations.get_organization()\naccounts = aws.organizations.get_organizational_unit_descendant_accounts(parent_id=org.roots[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var org = Aws.Organizations.GetOrganization.Invoke();\n\n var accounts = Aws.Organizations.GetOrganizationalUnitDescendantAccounts.Invoke(new()\n {\n ParentId = org.Apply(getOrganizationResult =\u003e getOrganizationResult.Roots[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torg, err := organizations.LookupOrganization(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = organizations.GetOrganizationalUnitDescendantAccounts(ctx, \u0026organizations.GetOrganizationalUnitDescendantAccountsArgs{\n\t\t\tParentId: org.Roots[0].Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.organizations.inputs.GetOrganizationalUnitDescendantAccountsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var org = OrganizationsFunctions.getOrganization();\n\n final var accounts = OrganizationsFunctions.getOrganizationalUnitDescendantAccounts(GetOrganizationalUnitDescendantAccountsArgs.builder()\n .parentId(org.applyValue(getOrganizationResult -\u003e getOrganizationResult.roots()[0].id()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n org:\n fn::invoke:\n Function: aws:organizations:getOrganization\n Arguments: {}\n accounts:\n fn::invoke:\n Function: aws:organizations:getOrganizationalUnitDescendantAccounts\n Arguments:\n parentId: ${org.roots[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOrganizationalUnitDescendantAccounts.\n", "properties": { @@ -416679,7 +416679,7 @@ } }, "aws:organizations/getOrganizationalUnitDescendantOrganizationalUnits:getOrganizationalUnitDescendantOrganizationalUnits": { - "description": "Get all direct child organizational units under a parent organizational unit. This provides all children.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst org = aws.organizations.getOrganization({});\nconst ous = org.then(org =\u003e aws.organizations.getOrganizationalUnitDescendantOrganizationalUnits({\n parentId: org.roots?.[0]?.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norg = aws.organizations.get_organization()\nous = aws.organizations.get_organizational_unit_descendant_organizational_units(parent_id=org.roots[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var org = Aws.Organizations.GetOrganization.Invoke();\n\n var ous = Aws.Organizations.GetOrganizationalUnitDescendantOrganizationalUnits.Invoke(new()\n {\n ParentId = org.Apply(getOrganizationResult =\u003e getOrganizationResult.Roots[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torg, err := organizations.LookupOrganization(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = organizations.GetOrganizationalUnitDescendantOrganizationalUnits(ctx, \u0026organizations.GetOrganizationalUnitDescendantOrganizationalUnitsArgs{\n\t\t\tParentId: org.Roots[0].Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.organizations.inputs.GetOrganizationalUnitDescendantOrganizationalUnitsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var org = OrganizationsFunctions.getOrganization();\n\n final var ous = OrganizationsFunctions.getOrganizationalUnitDescendantOrganizationalUnits(GetOrganizationalUnitDescendantOrganizationalUnitsArgs.builder()\n .parentId(org.applyValue(getOrganizationResult -\u003e getOrganizationResult.roots()[0].id()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n org:\n fn::invoke:\n function: aws:organizations:getOrganization\n arguments: {}\n ous:\n fn::invoke:\n function: aws:organizations:getOrganizationalUnitDescendantOrganizationalUnits\n arguments:\n parentId: ${org.roots[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get all direct child organizational units under a parent organizational unit. This provides all children.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst org = aws.organizations.getOrganization({});\nconst ous = org.then(org =\u003e aws.organizations.getOrganizationalUnitDescendantOrganizationalUnits({\n parentId: org.roots?.[0]?.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norg = aws.organizations.get_organization()\nous = aws.organizations.get_organizational_unit_descendant_organizational_units(parent_id=org.roots[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var org = Aws.Organizations.GetOrganization.Invoke();\n\n var ous = Aws.Organizations.GetOrganizationalUnitDescendantOrganizationalUnits.Invoke(new()\n {\n ParentId = org.Apply(getOrganizationResult =\u003e getOrganizationResult.Roots[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torg, err := organizations.LookupOrganization(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = organizations.GetOrganizationalUnitDescendantOrganizationalUnits(ctx, \u0026organizations.GetOrganizationalUnitDescendantOrganizationalUnitsArgs{\n\t\t\tParentId: org.Roots[0].Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.organizations.inputs.GetOrganizationalUnitDescendantOrganizationalUnitsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var org = OrganizationsFunctions.getOrganization();\n\n final var ous = OrganizationsFunctions.getOrganizationalUnitDescendantOrganizationalUnits(GetOrganizationalUnitDescendantOrganizationalUnitsArgs.builder()\n .parentId(org.applyValue(getOrganizationResult -\u003e getOrganizationResult.roots()[0].id()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n org:\n fn::invoke:\n Function: aws:organizations:getOrganization\n Arguments: {}\n ous:\n fn::invoke:\n Function: aws:organizations:getOrganizationalUnitDescendantOrganizationalUnits\n Arguments:\n parentId: ${org.roots[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOrganizationalUnitDescendantOrganizationalUnits.\n", "properties": { @@ -416720,7 +416720,7 @@ } }, "aws:organizations/getOrganizationalUnits:getOrganizationalUnits": { - "description": "Get all direct child organizational units under a parent organizational unit. This only provides immediate children, not all children.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst org = aws.organizations.getOrganization({});\nconst ou = org.then(org =\u003e aws.organizations.getOrganizationalUnits({\n parentId: org.roots?.[0]?.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norg = aws.organizations.get_organization()\nou = aws.organizations.get_organizational_units(parent_id=org.roots[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var org = Aws.Organizations.GetOrganization.Invoke();\n\n var ou = Aws.Organizations.GetOrganizationalUnits.Invoke(new()\n {\n ParentId = org.Apply(getOrganizationResult =\u003e getOrganizationResult.Roots[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torg, err := organizations.LookupOrganization(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = organizations.GetOrganizationalUnits(ctx, \u0026organizations.GetOrganizationalUnitsArgs{\n\t\t\tParentId: org.Roots[0].Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.organizations.inputs.GetOrganizationalUnitsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var org = OrganizationsFunctions.getOrganization();\n\n final var ou = OrganizationsFunctions.getOrganizationalUnits(GetOrganizationalUnitsArgs.builder()\n .parentId(org.applyValue(getOrganizationResult -\u003e getOrganizationResult.roots()[0].id()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n org:\n fn::invoke:\n function: aws:organizations:getOrganization\n arguments: {}\n ou:\n fn::invoke:\n function: aws:organizations:getOrganizationalUnits\n arguments:\n parentId: ${org.roots[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get all direct child organizational units under a parent organizational unit. This only provides immediate children, not all children.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst org = aws.organizations.getOrganization({});\nconst ou = org.then(org =\u003e aws.organizations.getOrganizationalUnits({\n parentId: org.roots?.[0]?.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norg = aws.organizations.get_organization()\nou = aws.organizations.get_organizational_units(parent_id=org.roots[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var org = Aws.Organizations.GetOrganization.Invoke();\n\n var ou = Aws.Organizations.GetOrganizationalUnits.Invoke(new()\n {\n ParentId = org.Apply(getOrganizationResult =\u003e getOrganizationResult.Roots[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torg, err := organizations.LookupOrganization(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = organizations.GetOrganizationalUnits(ctx, \u0026organizations.GetOrganizationalUnitsArgs{\n\t\t\tParentId: org.Roots[0].Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.organizations.inputs.GetOrganizationalUnitsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var org = OrganizationsFunctions.getOrganization();\n\n final var ou = OrganizationsFunctions.getOrganizationalUnits(GetOrganizationalUnitsArgs.builder()\n .parentId(org.applyValue(getOrganizationResult -\u003e getOrganizationResult.roots()[0].id()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n org:\n fn::invoke:\n Function: aws:organizations:getOrganization\n Arguments: {}\n ou:\n fn::invoke:\n Function: aws:organizations:getOrganizationalUnits\n Arguments:\n parentId: ${org.roots[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOrganizationalUnits.\n", "properties": { @@ -416915,7 +416915,7 @@ } }, "aws:organizations/getResourceTags:getResourceTags": { - "description": "Get tags attached to the specified AWS Organizations resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst account = aws.organizations.getResourceTags({\n resourceId: \"123456123846\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccount = aws.organizations.get_resource_tags(resource_id=\"123456123846\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var account = Aws.Organizations.GetResourceTags.Invoke(new()\n {\n ResourceId = \"123456123846\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\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 := organizations.GetResourceTags(ctx, \u0026organizations.GetResourceTagsArgs{\n\t\t\tResourceId: \"123456123846\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.organizations.inputs.GetResourceTagsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var account = OrganizationsFunctions.getResourceTags(GetResourceTagsArgs.builder()\n .resourceId(\"123456123846\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n account:\n fn::invoke:\n function: aws:organizations:getResourceTags\n arguments:\n resourceId: '123456123846'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get tags attached to the specified AWS Organizations resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst account = aws.organizations.getResourceTags({\n resourceId: \"123456123846\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccount = aws.organizations.get_resource_tags(resource_id=\"123456123846\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var account = Aws.Organizations.GetResourceTags.Invoke(new()\n {\n ResourceId = \"123456123846\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\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 := organizations.GetResourceTags(ctx, \u0026organizations.GetResourceTagsArgs{\n\t\t\tResourceId: \"123456123846\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.organizations.inputs.GetResourceTagsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var account = OrganizationsFunctions.getResourceTags(GetResourceTagsArgs.builder()\n .resourceId(\"123456123846\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n account:\n fn::invoke:\n Function: aws:organizations:getResourceTags\n Arguments:\n resourceId: '123456123846'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResourceTags.\n", "properties": { @@ -417025,7 +417025,7 @@ } }, "aws:outposts/getAssets:getAssets": { - "description": "Information about hardware assets in an Outpost.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getAssets({\n arn: exampleAwsOutpostsOutpost.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_assets(arn=example_aws_outposts_outpost[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetAssets.Invoke(new()\n {\n Arn = exampleAwsOutpostsOutpost.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\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 := outposts.GetAssets(ctx, \u0026outposts.GetAssetsArgs{\n\t\t\tArn: exampleAwsOutpostsOutpost.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetAssetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getAssets(GetAssetsArgs.builder()\n .arn(exampleAwsOutpostsOutpost.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:outposts:getAssets\n arguments:\n arn: ${exampleAwsOutpostsOutpost.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Host ID Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getAssets({\n arn: exampleAwsOutpostsOutpost.arn,\n hostIdFilters: [\"h-x38g5n0yd2a0ueb61\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_assets(arn=example_aws_outposts_outpost[\"arn\"],\n host_id_filters=[\"h-x38g5n0yd2a0ueb61\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetAssets.Invoke(new()\n {\n Arn = exampleAwsOutpostsOutpost.Arn,\n HostIdFilters = new[]\n {\n \"h-x38g5n0yd2a0ueb61\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\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 := outposts.GetAssets(ctx, \u0026outposts.GetAssetsArgs{\n\t\t\tArn: exampleAwsOutpostsOutpost.Arn,\n\t\t\tHostIdFilters: []string{\n\t\t\t\t\"h-x38g5n0yd2a0ueb61\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetAssetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getAssets(GetAssetsArgs.builder()\n .arn(exampleAwsOutpostsOutpost.arn())\n .hostIdFilters(\"h-x38g5n0yd2a0ueb61\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:outposts:getAssets\n arguments:\n arn: ${exampleAwsOutpostsOutpost.arn}\n hostIdFilters:\n - h-x38g5n0yd2a0ueb61\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Status ID Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getAssets({\n arn: exampleAwsOutpostsOutpost.arn,\n statusIdFilters: [\"ACTIVE\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_assets(arn=example_aws_outposts_outpost[\"arn\"],\n status_id_filters=[\"ACTIVE\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetAssets.Invoke(new()\n {\n Arn = exampleAwsOutpostsOutpost.Arn,\n StatusIdFilters = new[]\n {\n \"ACTIVE\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\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 := outposts.GetAssets(ctx, \u0026outposts.GetAssetsArgs{\n\t\t\tArn: exampleAwsOutpostsOutpost.Arn,\n\t\t\tStatusIdFilters: []string{\n\t\t\t\t\"ACTIVE\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetAssetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getAssets(GetAssetsArgs.builder()\n .arn(exampleAwsOutpostsOutpost.arn())\n .statusIdFilters(\"ACTIVE\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:outposts:getAssets\n arguments:\n arn: ${exampleAwsOutpostsOutpost.arn}\n statusIdFilters:\n - ACTIVE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about hardware assets in an Outpost.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getAssets({\n arn: exampleAwsOutpostsOutpost.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_assets(arn=example_aws_outposts_outpost[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetAssets.Invoke(new()\n {\n Arn = exampleAwsOutpostsOutpost.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\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 := outposts.GetAssets(ctx, \u0026outposts.GetAssetsArgs{\n\t\t\tArn: exampleAwsOutpostsOutpost.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetAssetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getAssets(GetAssetsArgs.builder()\n .arn(exampleAwsOutpostsOutpost.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:outposts:getAssets\n Arguments:\n arn: ${exampleAwsOutpostsOutpost.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Host ID Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getAssets({\n arn: exampleAwsOutpostsOutpost.arn,\n hostIdFilters: [\"h-x38g5n0yd2a0ueb61\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_assets(arn=example_aws_outposts_outpost[\"arn\"],\n host_id_filters=[\"h-x38g5n0yd2a0ueb61\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetAssets.Invoke(new()\n {\n Arn = exampleAwsOutpostsOutpost.Arn,\n HostIdFilters = new[]\n {\n \"h-x38g5n0yd2a0ueb61\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\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 := outposts.GetAssets(ctx, \u0026outposts.GetAssetsArgs{\n\t\t\tArn: exampleAwsOutpostsOutpost.Arn,\n\t\t\tHostIdFilters: []string{\n\t\t\t\t\"h-x38g5n0yd2a0ueb61\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetAssetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getAssets(GetAssetsArgs.builder()\n .arn(exampleAwsOutpostsOutpost.arn())\n .hostIdFilters(\"h-x38g5n0yd2a0ueb61\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:outposts:getAssets\n Arguments:\n arn: ${exampleAwsOutpostsOutpost.arn}\n hostIdFilters:\n - h-x38g5n0yd2a0ueb61\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Status ID Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getAssets({\n arn: exampleAwsOutpostsOutpost.arn,\n statusIdFilters: [\"ACTIVE\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_assets(arn=example_aws_outposts_outpost[\"arn\"],\n status_id_filters=[\"ACTIVE\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetAssets.Invoke(new()\n {\n Arn = exampleAwsOutpostsOutpost.Arn,\n StatusIdFilters = new[]\n {\n \"ACTIVE\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\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 := outposts.GetAssets(ctx, \u0026outposts.GetAssetsArgs{\n\t\t\tArn: exampleAwsOutpostsOutpost.Arn,\n\t\t\tStatusIdFilters: []string{\n\t\t\t\t\"ACTIVE\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetAssetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getAssets(GetAssetsArgs.builder()\n .arn(exampleAwsOutpostsOutpost.arn())\n .statusIdFilters(\"ACTIVE\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:outposts:getAssets\n Arguments:\n arn: ${exampleAwsOutpostsOutpost.arn}\n statusIdFilters:\n - ACTIVE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAssets.\n", "properties": { @@ -417092,7 +417092,7 @@ } }, "aws:outposts/getOutpost:getOutpost": { - "description": "Provides details about an Outposts Outpost.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getOutpost({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_outpost(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetOutpost.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\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 := outposts.GetOutpost(ctx, \u0026outposts.GetOutpostArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetOutpostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getOutpost(GetOutpostArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:outposts:getOutpost\n arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about an Outposts Outpost.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getOutpost({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_outpost(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetOutpost.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\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 := outposts.GetOutpost(ctx, \u0026outposts.GetOutpostArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetOutpostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getOutpost(GetOutpostArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:outposts:getOutpost\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOutpost.\n", "properties": { @@ -417190,7 +417190,7 @@ } }, "aws:outposts/getOutpostInstanceType:getOutpostInstanceType": { - "description": "Information about single Outpost Instance Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getOutpostInstanceType({\n arn: exampleAwsOutpostsOutpost.arn,\n preferredInstanceTypes: [\n \"m5.large\",\n \"m5.4xlarge\",\n ],\n});\nconst exampleEc2Instance = new aws.index.Ec2Instance(\"example\", {instanceType: example.instanceType});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_outpost_instance_type(arn=example_aws_outposts_outpost[\"arn\"],\n preferred_instance_types=[\n \"m5.large\",\n \"m5.4xlarge\",\n ])\nexample_ec2_instance = aws.index.Ec2Instance(\"example\", instance_type=example.instance_type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetOutpostInstanceType.Invoke(new()\n {\n Arn = exampleAwsOutpostsOutpost.Arn,\n PreferredInstanceTypes = new[]\n {\n \"m5.large\",\n \"m5.4xlarge\",\n },\n });\n\n var exampleEc2Instance = new Aws.Index.Ec2Instance(\"example\", new()\n {\n InstanceType = example.Apply(getOutpostInstanceTypeResult =\u003e getOutpostInstanceTypeResult.InstanceType),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := outposts.GetOutpostInstanceType(ctx, \u0026outposts.GetOutpostInstanceTypeArgs{\n\t\t\tArn: exampleAwsOutpostsOutpost.Arn,\n\t\t\tPreferredInstanceTypes: []string{\n\t\t\t\t\"m5.large\",\n\t\t\t\t\"m5.4xlarge\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.NewEc2Instance(ctx, \"example\", \u0026aws.Ec2InstanceArgs{\n\t\t\tInstanceType: example.InstanceType,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetOutpostInstanceTypeArgs;\nimport com.pulumi.aws.ec2Instance;\nimport com.pulumi.aws.Ec2InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getOutpostInstanceType(GetOutpostInstanceTypeArgs.builder()\n .arn(exampleAwsOutpostsOutpost.arn())\n .preferredInstanceTypes( \n \"m5.large\",\n \"m5.4xlarge\")\n .build());\n\n var exampleEc2Instance = new Ec2Instance(\"exampleEc2Instance\", Ec2InstanceArgs.builder()\n .instanceType(example.applyValue(getOutpostInstanceTypeResult -\u003e getOutpostInstanceTypeResult.instanceType()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleEc2Instance:\n type: aws:ec2Instance\n name: example\n properties:\n instanceType: ${example.instanceType}\nvariables:\n example:\n fn::invoke:\n function: aws:outposts:getOutpostInstanceType\n arguments:\n arn: ${exampleAwsOutpostsOutpost.arn}\n preferredInstanceTypes:\n - m5.large\n - m5.4xlarge\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about single Outpost Instance Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getOutpostInstanceType({\n arn: exampleAwsOutpostsOutpost.arn,\n preferredInstanceTypes: [\n \"m5.large\",\n \"m5.4xlarge\",\n ],\n});\nconst exampleEc2Instance = new aws.index.Ec2Instance(\"example\", {instanceType: example.instanceType});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_outpost_instance_type(arn=example_aws_outposts_outpost[\"arn\"],\n preferred_instance_types=[\n \"m5.large\",\n \"m5.4xlarge\",\n ])\nexample_ec2_instance = aws.index.Ec2Instance(\"example\", instance_type=example.instance_type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetOutpostInstanceType.Invoke(new()\n {\n Arn = exampleAwsOutpostsOutpost.Arn,\n PreferredInstanceTypes = new[]\n {\n \"m5.large\",\n \"m5.4xlarge\",\n },\n });\n\n var exampleEc2Instance = new Aws.Index.Ec2Instance(\"example\", new()\n {\n InstanceType = example.Apply(getOutpostInstanceTypeResult =\u003e getOutpostInstanceTypeResult.InstanceType),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := outposts.GetOutpostInstanceType(ctx, \u0026outposts.GetOutpostInstanceTypeArgs{\n\t\t\tArn: exampleAwsOutpostsOutpost.Arn,\n\t\t\tPreferredInstanceTypes: []string{\n\t\t\t\t\"m5.large\",\n\t\t\t\t\"m5.4xlarge\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.NewEc2Instance(ctx, \"example\", \u0026aws.Ec2InstanceArgs{\n\t\t\tInstanceType: example.InstanceType,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetOutpostInstanceTypeArgs;\nimport com.pulumi.aws.ec2Instance;\nimport com.pulumi.aws.Ec2InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getOutpostInstanceType(GetOutpostInstanceTypeArgs.builder()\n .arn(exampleAwsOutpostsOutpost.arn())\n .preferredInstanceTypes( \n \"m5.large\",\n \"m5.4xlarge\")\n .build());\n\n var exampleEc2Instance = new Ec2Instance(\"exampleEc2Instance\", Ec2InstanceArgs.builder()\n .instanceType(example.applyValue(getOutpostInstanceTypeResult -\u003e getOutpostInstanceTypeResult.instanceType()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleEc2Instance:\n type: aws:ec2Instance\n name: example\n properties:\n instanceType: ${example.instanceType}\nvariables:\n example:\n fn::invoke:\n Function: aws:outposts:getOutpostInstanceType\n Arguments:\n arn: ${exampleAwsOutpostsOutpost.arn}\n preferredInstanceTypes:\n - m5.large\n - m5.4xlarge\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOutpostInstanceType.\n", "properties": { @@ -417244,7 +417244,7 @@ } }, "aws:outposts/getOutpostInstanceTypes:getOutpostInstanceTypes": { - "description": "Information about Outposts Instance Types.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getOutpostInstanceTypes({\n arn: exampleAwsOutpostsOutpost.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_outpost_instance_types(arn=example_aws_outposts_outpost[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetOutpostInstanceTypes.Invoke(new()\n {\n Arn = exampleAwsOutpostsOutpost.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\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 := outposts.GetOutpostInstanceTypes(ctx, \u0026outposts.GetOutpostInstanceTypesArgs{\n\t\t\tArn: exampleAwsOutpostsOutpost.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetOutpostInstanceTypesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getOutpostInstanceTypes(GetOutpostInstanceTypesArgs.builder()\n .arn(exampleAwsOutpostsOutpost.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:outposts:getOutpostInstanceTypes\n arguments:\n arn: ${exampleAwsOutpostsOutpost.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about Outposts Instance Types.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getOutpostInstanceTypes({\n arn: exampleAwsOutpostsOutpost.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_outpost_instance_types(arn=example_aws_outposts_outpost[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetOutpostInstanceTypes.Invoke(new()\n {\n Arn = exampleAwsOutpostsOutpost.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\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 := outposts.GetOutpostInstanceTypes(ctx, \u0026outposts.GetOutpostInstanceTypesArgs{\n\t\t\tArn: exampleAwsOutpostsOutpost.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetOutpostInstanceTypesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getOutpostInstanceTypes(GetOutpostInstanceTypesArgs.builder()\n .arn(exampleAwsOutpostsOutpost.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:outposts:getOutpostInstanceTypes\n Arguments:\n arn: ${exampleAwsOutpostsOutpost.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOutpostInstanceTypes.\n", "properties": { @@ -417285,7 +417285,7 @@ } }, "aws:outposts/getOutposts:getOutposts": { - "description": "Provides details about multiple Outposts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getOutposts({\n siteId: id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_outposts(site_id=id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetOutposts.Invoke(new()\n {\n SiteId = id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\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 := outposts.GetOutposts(ctx, \u0026outposts.GetOutpostsArgs{\n\t\t\tSiteId: pulumi.StringRef(id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetOutpostsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getOutposts(GetOutpostsArgs.builder()\n .siteId(id)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:outposts:getOutposts\n arguments:\n siteId: ${id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about multiple Outposts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getOutposts({\n siteId: id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_outposts(site_id=id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetOutposts.Invoke(new()\n {\n SiteId = id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\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 := outposts.GetOutposts(ctx, \u0026outposts.GetOutpostsArgs{\n\t\t\tSiteId: pulumi.StringRef(id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetOutpostsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getOutposts(GetOutpostsArgs.builder()\n .siteId(id)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:outposts:getOutposts\n Arguments:\n siteId: ${id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOutposts.\n", "properties": { @@ -417355,7 +417355,7 @@ } }, "aws:outposts/getSite:getSite": { - "description": "Provides details about an Outposts Site.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getSite({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_site(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetSite.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\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 := outposts.GetSite(ctx, \u0026outposts.GetSiteArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetSiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getSite(GetSiteArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:outposts:getSite\n arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about an Outposts Site.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getSite({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_site(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetSite.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\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 := outposts.GetSite(ctx, \u0026outposts.GetSiteArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetSiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getSite(GetSiteArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:outposts:getSite\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSite.\n", "properties": { @@ -417398,7 +417398,7 @@ } }, "aws:outposts/getSites:getSites": { - "description": "Provides details about multiple Outposts Sites.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst all = aws.outposts.getSites({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nall = aws.outposts.get_sites()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var all = Aws.Outposts.GetSites.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\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 := outposts.GetSites(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all = OutpostsFunctions.getSites();\n\n }\n}\n```\n```yaml\nvariables:\n all:\n fn::invoke:\n function: aws:outposts:getSites\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about multiple Outposts Sites.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst all = aws.outposts.getSites({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nall = aws.outposts.get_sites()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var all = Aws.Outposts.GetSites.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\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 := outposts.GetSites(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all = OutpostsFunctions.getSites();\n\n }\n}\n```\n```yaml\nvariables:\n all:\n fn::invoke:\n Function: aws:outposts:getSites\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getSites.\n", "properties": { @@ -417422,7 +417422,7 @@ } }, "aws:polly/getVoices:getVoices": { - "description": "Data source for managing an AWS Polly Voices.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.polly.getVoices({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.polly.get_voices()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Polly.GetVoices.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/polly\"\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 := polly.GetVoices(ctx, \u0026polly.GetVoicesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.polly.PollyFunctions;\nimport com.pulumi.aws.polly.inputs.GetVoicesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = PollyFunctions.getVoices();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:polly:getVoices\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Language Code\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.polly.getVoices({\n languageCode: \"en-GB\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.polly.get_voices(language_code=\"en-GB\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Polly.GetVoices.Invoke(new()\n {\n LanguageCode = \"en-GB\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/polly\"\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 := polly.GetVoices(ctx, \u0026polly.GetVoicesArgs{\n\t\t\tLanguageCode: pulumi.StringRef(\"en-GB\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.polly.PollyFunctions;\nimport com.pulumi.aws.polly.inputs.GetVoicesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = PollyFunctions.getVoices(GetVoicesArgs.builder()\n .languageCode(\"en-GB\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:polly:getVoices\n arguments:\n languageCode: en-GB\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Polly Voices.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.polly.getVoices({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.polly.get_voices()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Polly.GetVoices.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/polly\"\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 := polly.GetVoices(ctx, \u0026polly.GetVoicesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.polly.PollyFunctions;\nimport com.pulumi.aws.polly.inputs.GetVoicesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = PollyFunctions.getVoices();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:polly:getVoices\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Language Code\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.polly.getVoices({\n languageCode: \"en-GB\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.polly.get_voices(language_code=\"en-GB\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Polly.GetVoices.Invoke(new()\n {\n LanguageCode = \"en-GB\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/polly\"\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 := polly.GetVoices(ctx, \u0026polly.GetVoicesArgs{\n\t\t\tLanguageCode: pulumi.StringRef(\"en-GB\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.polly.PollyFunctions;\nimport com.pulumi.aws.polly.inputs.GetVoicesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = PollyFunctions.getVoices(GetVoicesArgs.builder()\n .languageCode(\"en-GB\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:polly:getVoices\n Arguments:\n languageCode: en-GB\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVoices.\n", "properties": { @@ -417480,7 +417480,7 @@ } }, "aws:pricing/getProduct:getProduct": { - "description": "Use this data source to get the pricing information of all products in AWS.\nThis data source is only available in a us-east-1 or ap-south-1 provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.pricing.getProduct({\n serviceCode: \"AmazonEC2\",\n filters: [\n {\n field: \"instanceType\",\n value: \"c5.xlarge\",\n },\n {\n field: \"operatingSystem\",\n value: \"Linux\",\n },\n {\n field: \"location\",\n value: \"US East (N. Virginia)\",\n },\n {\n field: \"preInstalledSw\",\n value: \"NA\",\n },\n {\n field: \"licenseModel\",\n value: \"No License required\",\n },\n {\n field: \"tenancy\",\n value: \"Shared\",\n },\n {\n field: \"capacitystatus\",\n value: \"Used\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.pricing.get_product(service_code=\"AmazonEC2\",\n filters=[\n {\n \"field\": \"instanceType\",\n \"value\": \"c5.xlarge\",\n },\n {\n \"field\": \"operatingSystem\",\n \"value\": \"Linux\",\n },\n {\n \"field\": \"location\",\n \"value\": \"US East (N. Virginia)\",\n },\n {\n \"field\": \"preInstalledSw\",\n \"value\": \"NA\",\n },\n {\n \"field\": \"licenseModel\",\n \"value\": \"No License required\",\n },\n {\n \"field\": \"tenancy\",\n \"value\": \"Shared\",\n },\n {\n \"field\": \"capacitystatus\",\n \"value\": \"Used\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Pricing.GetProduct.Invoke(new()\n {\n ServiceCode = \"AmazonEC2\",\n Filters = new[]\n {\n new Aws.Pricing.Inputs.GetProductFilterInputArgs\n {\n Field = \"instanceType\",\n Value = \"c5.xlarge\",\n },\n new Aws.Pricing.Inputs.GetProductFilterInputArgs\n {\n Field = \"operatingSystem\",\n Value = \"Linux\",\n },\n new Aws.Pricing.Inputs.GetProductFilterInputArgs\n {\n Field = \"location\",\n Value = \"US East (N. Virginia)\",\n },\n new Aws.Pricing.Inputs.GetProductFilterInputArgs\n {\n Field = \"preInstalledSw\",\n Value = \"NA\",\n },\n new Aws.Pricing.Inputs.GetProductFilterInputArgs\n {\n Field = \"licenseModel\",\n Value = \"No License required\",\n },\n new Aws.Pricing.Inputs.GetProductFilterInputArgs\n {\n Field = \"tenancy\",\n Value = \"Shared\",\n },\n new Aws.Pricing.Inputs.GetProductFilterInputArgs\n {\n Field = \"capacitystatus\",\n Value = \"Used\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pricing\"\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 := pricing.GetProduct(ctx, \u0026pricing.GetProductArgs{\n\t\t\tServiceCode: \"AmazonEC2\",\n\t\t\tFilters: []pricing.GetProductFilter{\n\t\t\t\t{\n\t\t\t\t\tField: \"instanceType\",\n\t\t\t\t\tValue: \"c5.xlarge\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tField: \"operatingSystem\",\n\t\t\t\t\tValue: \"Linux\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tField: \"location\",\n\t\t\t\t\tValue: \"US East (N. Virginia)\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tField: \"preInstalledSw\",\n\t\t\t\t\tValue: \"NA\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tField: \"licenseModel\",\n\t\t\t\t\tValue: \"No License required\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tField: \"tenancy\",\n\t\t\t\t\tValue: \"Shared\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tField: \"capacitystatus\",\n\t\t\t\t\tValue: \"Used\",\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pricing.PricingFunctions;\nimport com.pulumi.aws.pricing.inputs.GetProductArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = PricingFunctions.getProduct(GetProductArgs.builder()\n .serviceCode(\"AmazonEC2\")\n .filters( \n GetProductFilterArgs.builder()\n .field(\"instanceType\")\n .value(\"c5.xlarge\")\n .build(),\n GetProductFilterArgs.builder()\n .field(\"operatingSystem\")\n .value(\"Linux\")\n .build(),\n GetProductFilterArgs.builder()\n .field(\"location\")\n .value(\"US East (N. Virginia)\")\n .build(),\n GetProductFilterArgs.builder()\n .field(\"preInstalledSw\")\n .value(\"NA\")\n .build(),\n GetProductFilterArgs.builder()\n .field(\"licenseModel\")\n .value(\"No License required\")\n .build(),\n GetProductFilterArgs.builder()\n .field(\"tenancy\")\n .value(\"Shared\")\n .build(),\n GetProductFilterArgs.builder()\n .field(\"capacitystatus\")\n .value(\"Used\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:pricing:getProduct\n arguments:\n serviceCode: AmazonEC2\n filters:\n - field: instanceType\n value: c5.xlarge\n - field: operatingSystem\n value: Linux\n - field: location\n value: US East (N. Virginia)\n - field: preInstalledSw\n value: NA\n - field: licenseModel\n value: No License required\n - field: tenancy\n value: Shared\n - field: capacitystatus\n value: Used\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.pricing.getProduct({\n serviceCode: \"AmazonRedshift\",\n filters: [\n {\n field: \"instanceType\",\n value: \"ds1.xlarge\",\n },\n {\n field: \"location\",\n value: \"US East (N. Virginia)\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.pricing.get_product(service_code=\"AmazonRedshift\",\n filters=[\n {\n \"field\": \"instanceType\",\n \"value\": \"ds1.xlarge\",\n },\n {\n \"field\": \"location\",\n \"value\": \"US East (N. Virginia)\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Pricing.GetProduct.Invoke(new()\n {\n ServiceCode = \"AmazonRedshift\",\n Filters = new[]\n {\n new Aws.Pricing.Inputs.GetProductFilterInputArgs\n {\n Field = \"instanceType\",\n Value = \"ds1.xlarge\",\n },\n new Aws.Pricing.Inputs.GetProductFilterInputArgs\n {\n Field = \"location\",\n Value = \"US East (N. Virginia)\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pricing\"\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 := pricing.GetProduct(ctx, \u0026pricing.GetProductArgs{\n\t\t\tServiceCode: \"AmazonRedshift\",\n\t\t\tFilters: []pricing.GetProductFilter{\n\t\t\t\t{\n\t\t\t\t\tField: \"instanceType\",\n\t\t\t\t\tValue: \"ds1.xlarge\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tField: \"location\",\n\t\t\t\t\tValue: \"US East (N. Virginia)\",\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pricing.PricingFunctions;\nimport com.pulumi.aws.pricing.inputs.GetProductArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = PricingFunctions.getProduct(GetProductArgs.builder()\n .serviceCode(\"AmazonRedshift\")\n .filters( \n GetProductFilterArgs.builder()\n .field(\"instanceType\")\n .value(\"ds1.xlarge\")\n .build(),\n GetProductFilterArgs.builder()\n .field(\"location\")\n .value(\"US East (N. Virginia)\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:pricing:getProduct\n arguments:\n serviceCode: AmazonRedshift\n filters:\n - field: instanceType\n value: ds1.xlarge\n - field: location\n value: US East (N. Virginia)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the pricing information of all products in AWS.\nThis data source is only available in a us-east-1 or ap-south-1 provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.pricing.getProduct({\n serviceCode: \"AmazonEC2\",\n filters: [\n {\n field: \"instanceType\",\n value: \"c5.xlarge\",\n },\n {\n field: \"operatingSystem\",\n value: \"Linux\",\n },\n {\n field: \"location\",\n value: \"US East (N. Virginia)\",\n },\n {\n field: \"preInstalledSw\",\n value: \"NA\",\n },\n {\n field: \"licenseModel\",\n value: \"No License required\",\n },\n {\n field: \"tenancy\",\n value: \"Shared\",\n },\n {\n field: \"capacitystatus\",\n value: \"Used\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.pricing.get_product(service_code=\"AmazonEC2\",\n filters=[\n {\n \"field\": \"instanceType\",\n \"value\": \"c5.xlarge\",\n },\n {\n \"field\": \"operatingSystem\",\n \"value\": \"Linux\",\n },\n {\n \"field\": \"location\",\n \"value\": \"US East (N. Virginia)\",\n },\n {\n \"field\": \"preInstalledSw\",\n \"value\": \"NA\",\n },\n {\n \"field\": \"licenseModel\",\n \"value\": \"No License required\",\n },\n {\n \"field\": \"tenancy\",\n \"value\": \"Shared\",\n },\n {\n \"field\": \"capacitystatus\",\n \"value\": \"Used\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Pricing.GetProduct.Invoke(new()\n {\n ServiceCode = \"AmazonEC2\",\n Filters = new[]\n {\n new Aws.Pricing.Inputs.GetProductFilterInputArgs\n {\n Field = \"instanceType\",\n Value = \"c5.xlarge\",\n },\n new Aws.Pricing.Inputs.GetProductFilterInputArgs\n {\n Field = \"operatingSystem\",\n Value = \"Linux\",\n },\n new Aws.Pricing.Inputs.GetProductFilterInputArgs\n {\n Field = \"location\",\n Value = \"US East (N. Virginia)\",\n },\n new Aws.Pricing.Inputs.GetProductFilterInputArgs\n {\n Field = \"preInstalledSw\",\n Value = \"NA\",\n },\n new Aws.Pricing.Inputs.GetProductFilterInputArgs\n {\n Field = \"licenseModel\",\n Value = \"No License required\",\n },\n new Aws.Pricing.Inputs.GetProductFilterInputArgs\n {\n Field = \"tenancy\",\n Value = \"Shared\",\n },\n new Aws.Pricing.Inputs.GetProductFilterInputArgs\n {\n Field = \"capacitystatus\",\n Value = \"Used\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pricing\"\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 := pricing.GetProduct(ctx, \u0026pricing.GetProductArgs{\n\t\t\tServiceCode: \"AmazonEC2\",\n\t\t\tFilters: []pricing.GetProductFilter{\n\t\t\t\t{\n\t\t\t\t\tField: \"instanceType\",\n\t\t\t\t\tValue: \"c5.xlarge\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tField: \"operatingSystem\",\n\t\t\t\t\tValue: \"Linux\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tField: \"location\",\n\t\t\t\t\tValue: \"US East (N. Virginia)\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tField: \"preInstalledSw\",\n\t\t\t\t\tValue: \"NA\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tField: \"licenseModel\",\n\t\t\t\t\tValue: \"No License required\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tField: \"tenancy\",\n\t\t\t\t\tValue: \"Shared\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tField: \"capacitystatus\",\n\t\t\t\t\tValue: \"Used\",\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pricing.PricingFunctions;\nimport com.pulumi.aws.pricing.inputs.GetProductArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = PricingFunctions.getProduct(GetProductArgs.builder()\n .serviceCode(\"AmazonEC2\")\n .filters( \n GetProductFilterArgs.builder()\n .field(\"instanceType\")\n .value(\"c5.xlarge\")\n .build(),\n GetProductFilterArgs.builder()\n .field(\"operatingSystem\")\n .value(\"Linux\")\n .build(),\n GetProductFilterArgs.builder()\n .field(\"location\")\n .value(\"US East (N. Virginia)\")\n .build(),\n GetProductFilterArgs.builder()\n .field(\"preInstalledSw\")\n .value(\"NA\")\n .build(),\n GetProductFilterArgs.builder()\n .field(\"licenseModel\")\n .value(\"No License required\")\n .build(),\n GetProductFilterArgs.builder()\n .field(\"tenancy\")\n .value(\"Shared\")\n .build(),\n GetProductFilterArgs.builder()\n .field(\"capacitystatus\")\n .value(\"Used\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:pricing:getProduct\n Arguments:\n serviceCode: AmazonEC2\n filters:\n - field: instanceType\n value: c5.xlarge\n - field: operatingSystem\n value: Linux\n - field: location\n value: US East (N. Virginia)\n - field: preInstalledSw\n value: NA\n - field: licenseModel\n value: No License required\n - field: tenancy\n value: Shared\n - field: capacitystatus\n value: Used\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.pricing.getProduct({\n serviceCode: \"AmazonRedshift\",\n filters: [\n {\n field: \"instanceType\",\n value: \"ds1.xlarge\",\n },\n {\n field: \"location\",\n value: \"US East (N. Virginia)\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.pricing.get_product(service_code=\"AmazonRedshift\",\n filters=[\n {\n \"field\": \"instanceType\",\n \"value\": \"ds1.xlarge\",\n },\n {\n \"field\": \"location\",\n \"value\": \"US East (N. Virginia)\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Pricing.GetProduct.Invoke(new()\n {\n ServiceCode = \"AmazonRedshift\",\n Filters = new[]\n {\n new Aws.Pricing.Inputs.GetProductFilterInputArgs\n {\n Field = \"instanceType\",\n Value = \"ds1.xlarge\",\n },\n new Aws.Pricing.Inputs.GetProductFilterInputArgs\n {\n Field = \"location\",\n Value = \"US East (N. Virginia)\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pricing\"\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 := pricing.GetProduct(ctx, \u0026pricing.GetProductArgs{\n\t\t\tServiceCode: \"AmazonRedshift\",\n\t\t\tFilters: []pricing.GetProductFilter{\n\t\t\t\t{\n\t\t\t\t\tField: \"instanceType\",\n\t\t\t\t\tValue: \"ds1.xlarge\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tField: \"location\",\n\t\t\t\t\tValue: \"US East (N. Virginia)\",\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pricing.PricingFunctions;\nimport com.pulumi.aws.pricing.inputs.GetProductArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = PricingFunctions.getProduct(GetProductArgs.builder()\n .serviceCode(\"AmazonRedshift\")\n .filters( \n GetProductFilterArgs.builder()\n .field(\"instanceType\")\n .value(\"ds1.xlarge\")\n .build(),\n GetProductFilterArgs.builder()\n .field(\"location\")\n .value(\"US East (N. Virginia)\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:pricing:getProduct\n Arguments:\n serviceCode: AmazonRedshift\n filters:\n - field: instanceType\n value: ds1.xlarge\n - field: location\n value: US East (N. Virginia)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProduct.\n", "properties": { @@ -417533,7 +417533,7 @@ } }, "aws:qldb/getLedger:getLedger": { - "description": "Use this data source to fetch information about a Quantum Ledger Database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.qldb.getLedger({\n name: \"an_example_ledger\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.qldb.get_ledger(name=\"an_example_ledger\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Qldb.GetLedger.Invoke(new()\n {\n Name = \"an_example_ledger\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/qldb\"\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 := qldb.LookupLedger(ctx, \u0026qldb.LookupLedgerArgs{\n\t\t\tName: \"an_example_ledger\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.qldb.QldbFunctions;\nimport com.pulumi.aws.qldb.inputs.GetLedgerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = QldbFunctions.getLedger(GetLedgerArgs.builder()\n .name(\"an_example_ledger\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:qldb:getLedger\n arguments:\n name: an_example_ledger\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to fetch information about a Quantum Ledger Database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.qldb.getLedger({\n name: \"an_example_ledger\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.qldb.get_ledger(name=\"an_example_ledger\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Qldb.GetLedger.Invoke(new()\n {\n Name = \"an_example_ledger\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/qldb\"\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 := qldb.LookupLedger(ctx, \u0026qldb.LookupLedgerArgs{\n\t\t\tName: \"an_example_ledger\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.qldb.QldbFunctions;\nimport com.pulumi.aws.qldb.inputs.GetLedgerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = QldbFunctions.getLedger(GetLedgerArgs.builder()\n .name(\"an_example_ledger\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:qldb:getLedger\n Arguments:\n name: an_example_ledger\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLedger.\n", "properties": { @@ -417596,7 +417596,7 @@ }, "aws:quicksight/getAnalysis:getAnalysis": { "deprecationMessage": "aws.quicksight/getanalysis.getAnalysis has been deprecated in favor of aws.quicksight/getquicksightanalysis.getQuicksightAnalysis", - "description": "Data source for managing an AWS QuickSight Analysis.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.quicksight.getQuicksightAnalysis({\n analysisId: \"example-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.get_quicksight_analysis(analysis_id=\"example-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Quicksight.GetQuicksightAnalysis.Invoke(new()\n {\n AnalysisId = \"example-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\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 := quicksight.GetQuicksightAnalysis(ctx, \u0026quicksight.GetQuicksightAnalysisArgs{\n\t\t\tAnalysisId: \"example-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.QuicksightFunctions;\nimport com.pulumi.aws.quicksight.inputs.GetQuicksightAnalysisArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = QuicksightFunctions.getQuicksightAnalysis(GetQuicksightAnalysisArgs.builder()\n .analysisId(\"example-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:quicksight:getQuicksightAnalysis\n arguments:\n analysisId: example-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS QuickSight Analysis.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.quicksight.getQuicksightAnalysis({\n analysisId: \"example-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.get_quicksight_analysis(analysis_id=\"example-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Quicksight.GetQuicksightAnalysis.Invoke(new()\n {\n AnalysisId = \"example-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\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 := quicksight.GetQuicksightAnalysis(ctx, \u0026quicksight.GetQuicksightAnalysisArgs{\n\t\t\tAnalysisId: \"example-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.QuicksightFunctions;\nimport com.pulumi.aws.quicksight.inputs.GetQuicksightAnalysisArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = QuicksightFunctions.getQuicksightAnalysis(GetQuicksightAnalysisArgs.builder()\n .analysisId(\"example-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:quicksight:getQuicksightAnalysis\n Arguments:\n analysisId: example-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAnalysis.\n", "properties": { @@ -417685,7 +417685,7 @@ } }, "aws:quicksight/getDataSet:getDataSet": { - "description": "Data source for managing a QuickSight Data Set.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.quicksight.getDataSet({\n dataSetId: \"example-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.get_data_set(data_set_id=\"example-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Quicksight.GetDataSet.Invoke(new()\n {\n DataSetId = \"example-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\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 := quicksight.LookupDataSet(ctx, \u0026quicksight.LookupDataSetArgs{\n\t\t\tDataSetId: \"example-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.QuicksightFunctions;\nimport com.pulumi.aws.quicksight.inputs.GetDataSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = QuicksightFunctions.getDataSet(GetDataSetArgs.builder()\n .dataSetId(\"example-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:quicksight:getDataSet\n arguments:\n dataSetId: example-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing a QuickSight Data Set.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.quicksight.getDataSet({\n dataSetId: \"example-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.get_data_set(data_set_id=\"example-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Quicksight.GetDataSet.Invoke(new()\n {\n DataSetId = \"example-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\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 := quicksight.LookupDataSet(ctx, \u0026quicksight.LookupDataSetArgs{\n\t\t\tDataSetId: \"example-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.QuicksightFunctions;\nimport com.pulumi.aws.quicksight.inputs.GetDataSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = QuicksightFunctions.getDataSet(GetDataSetArgs.builder()\n .dataSetId(\"example-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:quicksight:getDataSet\n Arguments:\n dataSetId: example-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDataSet.\n", "properties": { @@ -417829,7 +417829,7 @@ } }, "aws:quicksight/getQuicksightAnalysis:getQuicksightAnalysis": { - "description": "Data source for managing an AWS QuickSight Analysis.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.quicksight.getQuicksightAnalysis({\n analysisId: \"example-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.get_quicksight_analysis(analysis_id=\"example-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Quicksight.GetQuicksightAnalysis.Invoke(new()\n {\n AnalysisId = \"example-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\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 := quicksight.GetQuicksightAnalysis(ctx, \u0026quicksight.GetQuicksightAnalysisArgs{\n\t\t\tAnalysisId: \"example-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.QuicksightFunctions;\nimport com.pulumi.aws.quicksight.inputs.GetQuicksightAnalysisArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = QuicksightFunctions.getQuicksightAnalysis(GetQuicksightAnalysisArgs.builder()\n .analysisId(\"example-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:quicksight:getQuicksightAnalysis\n arguments:\n analysisId: example-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS QuickSight Analysis.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.quicksight.getQuicksightAnalysis({\n analysisId: \"example-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.get_quicksight_analysis(analysis_id=\"example-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Quicksight.GetQuicksightAnalysis.Invoke(new()\n {\n AnalysisId = \"example-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\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 := quicksight.GetQuicksightAnalysis(ctx, \u0026quicksight.GetQuicksightAnalysisArgs{\n\t\t\tAnalysisId: \"example-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.QuicksightFunctions;\nimport com.pulumi.aws.quicksight.inputs.GetQuicksightAnalysisArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = QuicksightFunctions.getQuicksightAnalysis(GetQuicksightAnalysisArgs.builder()\n .analysisId(\"example-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:quicksight:getQuicksightAnalysis\n Arguments:\n analysisId: example-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getQuicksightAnalysis.\n", "properties": { @@ -417918,7 +417918,7 @@ } }, "aws:quicksight/getQuicksightGroup:getQuicksightGroup": { - "description": "This data source can be used to fetch information about a specific\nQuickSight group. By using this data source, you can reference QuickSight group\nproperties without having to hard code ARNs or unique IDs as input.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.quicksight.getQuicksightGroup({\n groupName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.get_quicksight_group(group_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Quicksight.GetQuicksightGroup.Invoke(new()\n {\n GroupName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\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 := quicksight.GetQuicksightGroup(ctx, \u0026quicksight.GetQuicksightGroupArgs{\n\t\t\tGroupName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.QuicksightFunctions;\nimport com.pulumi.aws.quicksight.inputs.GetQuicksightGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = QuicksightFunctions.getQuicksightGroup(GetQuicksightGroupArgs.builder()\n .groupName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:quicksight:getQuicksightGroup\n arguments:\n groupName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This data source can be used to fetch information about a specific\nQuickSight group. By using this data source, you can reference QuickSight group\nproperties without having to hard code ARNs or unique IDs as input.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.quicksight.getQuicksightGroup({\n groupName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.get_quicksight_group(group_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Quicksight.GetQuicksightGroup.Invoke(new()\n {\n GroupName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\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 := quicksight.GetQuicksightGroup(ctx, \u0026quicksight.GetQuicksightGroupArgs{\n\t\t\tGroupName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.QuicksightFunctions;\nimport com.pulumi.aws.quicksight.inputs.GetQuicksightGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = QuicksightFunctions.getQuicksightGroup(GetQuicksightGroupArgs.builder()\n .groupName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:quicksight:getQuicksightGroup\n Arguments:\n groupName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getQuicksightGroup.\n", "properties": { @@ -417981,7 +417981,7 @@ } }, "aws:quicksight/getQuicksightUser:getQuicksightUser": { - "description": "This data source can be used to fetch information about a specific\nQuickSight user. By using this data source, you can reference QuickSight user\nproperties without having to hard code ARNs or unique IDs as input.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.quicksight.getQuicksightUser({\n userName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.get_quicksight_user(user_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Quicksight.GetQuicksightUser.Invoke(new()\n {\n UserName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\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 := quicksight.GetQuicksightUser(ctx, \u0026quicksight.GetQuicksightUserArgs{\n\t\t\tUserName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.QuicksightFunctions;\nimport com.pulumi.aws.quicksight.inputs.GetQuicksightUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = QuicksightFunctions.getQuicksightUser(GetQuicksightUserArgs.builder()\n .userName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:quicksight:getQuicksightUser\n arguments:\n userName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This data source can be used to fetch information about a specific\nQuickSight user. By using this data source, you can reference QuickSight user\nproperties without having to hard code ARNs or unique IDs as input.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.quicksight.getQuicksightUser({\n userName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.get_quicksight_user(user_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Quicksight.GetQuicksightUser.Invoke(new()\n {\n UserName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\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 := quicksight.GetQuicksightUser(ctx, \u0026quicksight.GetQuicksightUserArgs{\n\t\t\tUserName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.QuicksightFunctions;\nimport com.pulumi.aws.quicksight.inputs.GetQuicksightUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = QuicksightFunctions.getQuicksightUser(GetQuicksightUserArgs.builder()\n .userName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:quicksight:getQuicksightUser\n Arguments:\n userName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getQuicksightUser.\n", "properties": { @@ -418059,7 +418059,7 @@ } }, "aws:quicksight/getTheme:getTheme": { - "description": "Data source for managing an AWS QuickSight Theme.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.quicksight.getTheme({\n themeId: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.get_theme(theme_id=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Quicksight.GetTheme.Invoke(new()\n {\n ThemeId = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\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 := quicksight.LookupTheme(ctx, \u0026quicksight.LookupThemeArgs{\n\t\t\tThemeId: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.QuicksightFunctions;\nimport com.pulumi.aws.quicksight.inputs.GetThemeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = QuicksightFunctions.getTheme(GetThemeArgs.builder()\n .themeId(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:quicksight:getTheme\n arguments:\n themeId: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS QuickSight Theme.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.quicksight.getTheme({\n themeId: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.get_theme(theme_id=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Quicksight.GetTheme.Invoke(new()\n {\n ThemeId = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\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 := quicksight.LookupTheme(ctx, \u0026quicksight.LookupThemeArgs{\n\t\t\tThemeId: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.QuicksightFunctions;\nimport com.pulumi.aws.quicksight.inputs.GetThemeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = QuicksightFunctions.getTheme(GetThemeArgs.builder()\n .themeId(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:quicksight:getTheme\n Arguments:\n themeId: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTheme.\n", "properties": { @@ -418171,7 +418171,7 @@ } }, "aws:ram/getResourceShare:getResourceShare": { - "description": "`aws.ram.ResourceShare` Retrieve information about a RAM Resource Share.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ram.getResourceShare({\n name: \"example\",\n resourceOwner: \"SELF\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ram.get_resource_share(name=\"example\",\n resource_owner=\"SELF\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ram.GetResourceShare.Invoke(new()\n {\n Name = \"example\",\n ResourceOwner = \"SELF\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\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 := ram.LookupResourceShare(ctx, \u0026ram.LookupResourceShareArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t\tResourceOwner: \"SELF\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ram.RamFunctions;\nimport com.pulumi.aws.ram.inputs.GetResourceShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RamFunctions.getResourceShare(GetResourceShareArgs.builder()\n .name(\"example\")\n .resourceOwner(\"SELF\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ram:getResourceShare\n arguments:\n name: example\n resourceOwner: SELF\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Search by filters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tagFilter = aws.ram.getResourceShare({\n resourceOwner: \"SELF\",\n filters: [{\n name: \"NameOfTag\",\n values: [\"exampleNameTagValue\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntag_filter = aws.ram.get_resource_share(resource_owner=\"SELF\",\n filters=[{\n \"name\": \"NameOfTag\",\n \"values\": [\"exampleNameTagValue\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tagFilter = Aws.Ram.GetResourceShare.Invoke(new()\n {\n ResourceOwner = \"SELF\",\n Filters = new[]\n {\n new Aws.Ram.Inputs.GetResourceShareFilterInputArgs\n {\n Name = \"NameOfTag\",\n Values = new[]\n {\n \"exampleNameTagValue\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\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 := ram.LookupResourceShare(ctx, \u0026ram.LookupResourceShareArgs{\n\t\t\tResourceOwner: \"SELF\",\n\t\t\tFilters: []ram.GetResourceShareFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"NameOfTag\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"exampleNameTagValue\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ram.RamFunctions;\nimport com.pulumi.aws.ram.inputs.GetResourceShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var tagFilter = RamFunctions.getResourceShare(GetResourceShareArgs.builder()\n .resourceOwner(\"SELF\")\n .filters(GetResourceShareFilterArgs.builder()\n .name(\"NameOfTag\")\n .values(\"exampleNameTagValue\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n tagFilter:\n fn::invoke:\n function: aws:ram:getResourceShare\n arguments:\n resourceOwner: SELF\n filters:\n - name: NameOfTag\n values:\n - exampleNameTagValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ram.ResourceShare` Retrieve information about a RAM Resource Share.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ram.getResourceShare({\n name: \"example\",\n resourceOwner: \"SELF\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ram.get_resource_share(name=\"example\",\n resource_owner=\"SELF\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ram.GetResourceShare.Invoke(new()\n {\n Name = \"example\",\n ResourceOwner = \"SELF\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\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 := ram.LookupResourceShare(ctx, \u0026ram.LookupResourceShareArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t\tResourceOwner: \"SELF\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ram.RamFunctions;\nimport com.pulumi.aws.ram.inputs.GetResourceShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RamFunctions.getResourceShare(GetResourceShareArgs.builder()\n .name(\"example\")\n .resourceOwner(\"SELF\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ram:getResourceShare\n Arguments:\n name: example\n resourceOwner: SELF\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Search by filters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tagFilter = aws.ram.getResourceShare({\n resourceOwner: \"SELF\",\n filters: [{\n name: \"NameOfTag\",\n values: [\"exampleNameTagValue\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntag_filter = aws.ram.get_resource_share(resource_owner=\"SELF\",\n filters=[{\n \"name\": \"NameOfTag\",\n \"values\": [\"exampleNameTagValue\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tagFilter = Aws.Ram.GetResourceShare.Invoke(new()\n {\n ResourceOwner = \"SELF\",\n Filters = new[]\n {\n new Aws.Ram.Inputs.GetResourceShareFilterInputArgs\n {\n Name = \"NameOfTag\",\n Values = new[]\n {\n \"exampleNameTagValue\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\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 := ram.LookupResourceShare(ctx, \u0026ram.LookupResourceShareArgs{\n\t\t\tResourceOwner: \"SELF\",\n\t\t\tFilters: []ram.GetResourceShareFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"NameOfTag\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"exampleNameTagValue\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ram.RamFunctions;\nimport com.pulumi.aws.ram.inputs.GetResourceShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var tagFilter = RamFunctions.getResourceShare(GetResourceShareArgs.builder()\n .resourceOwner(\"SELF\")\n .filters(GetResourceShareFilterArgs.builder()\n .name(\"NameOfTag\")\n .values(\"exampleNameTagValue\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n tagFilter:\n fn::invoke:\n Function: aws:ram:getResourceShare\n Arguments:\n resourceOwner: SELF\n filters:\n - name: NameOfTag\n values:\n - exampleNameTagValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResourceShare.\n", "properties": { @@ -418270,7 +418270,7 @@ } }, "aws:rds/getCertificate:getCertificate": { - "description": "Information about an RDS Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.rds.getCertificate({\n latestValidTill: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.get_certificate(latest_valid_till=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Rds.GetCertificate.Invoke(new()\n {\n LatestValidTill = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.LookupCertificate(ctx, \u0026rds.LookupCertificateArgs{\n\t\t\tLatestValidTill: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RdsFunctions.getCertificate(GetCertificateArgs.builder()\n .latestValidTill(true)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:rds:getCertificate\n arguments:\n latestValidTill: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about an RDS Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.rds.getCertificate({\n latestValidTill: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.get_certificate(latest_valid_till=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Rds.GetCertificate.Invoke(new()\n {\n LatestValidTill = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.LookupCertificate(ctx, \u0026rds.LookupCertificateArgs{\n\t\t\tLatestValidTill: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RdsFunctions.getCertificate(GetCertificateArgs.builder()\n .latestValidTill(true)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:rds:getCertificate\n Arguments:\n latestValidTill: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCertificate.\n", "properties": { @@ -418337,7 +418337,7 @@ } }, "aws:rds/getCluster:getCluster": { - "description": "Provides information about an RDS cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst clusterName = aws.rds.getCluster({\n clusterIdentifier: \"clusterName\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncluster_name = aws.rds.get_cluster(cluster_identifier=\"clusterName\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var clusterName = Aws.Rds.GetCluster.Invoke(new()\n {\n ClusterIdentifier = \"clusterName\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.LookupCluster(ctx, \u0026rds.LookupClusterArgs{\n\t\t\tClusterIdentifier: \"clusterName\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var clusterName = RdsFunctions.getCluster(GetClusterArgs.builder()\n .clusterIdentifier(\"clusterName\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n clusterName:\n fn::invoke:\n function: aws:rds:getCluster\n arguments:\n clusterIdentifier: clusterName\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about an RDS cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst clusterName = aws.rds.getCluster({\n clusterIdentifier: \"clusterName\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncluster_name = aws.rds.get_cluster(cluster_identifier=\"clusterName\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var clusterName = Aws.Rds.GetCluster.Invoke(new()\n {\n ClusterIdentifier = \"clusterName\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.LookupCluster(ctx, \u0026rds.LookupClusterArgs{\n\t\t\tClusterIdentifier: \"clusterName\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var clusterName = RdsFunctions.getCluster(GetClusterArgs.builder()\n .clusterIdentifier(\"clusterName\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n clusterName:\n fn::invoke:\n Function: aws:rds:getCluster\n Arguments:\n clusterIdentifier: clusterName\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCluster.\n", "properties": { @@ -418523,7 +418523,7 @@ } }, "aws:rds/getClusterParameterGroup:getClusterParameterGroup": { - "description": "Information about an RDS cluster parameter group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getClusterParameterGroup({\n name: \"default.postgres15\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_cluster_parameter_group(name=\"default.postgres15\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetClusterParameterGroup.Invoke(new()\n {\n Name = \"default.postgres15\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.LookupClusterParameterGroup(ctx, \u0026rds.LookupClusterParameterGroupArgs{\n\t\t\tName: \"default.postgres15\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetClusterParameterGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RdsFunctions.getClusterParameterGroup(GetClusterParameterGroupArgs.builder()\n .name(\"default.postgres15\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:rds:getClusterParameterGroup\n arguments:\n name: default.postgres15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about an RDS cluster parameter group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getClusterParameterGroup({\n name: \"default.postgres15\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_cluster_parameter_group(name=\"default.postgres15\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetClusterParameterGroup.Invoke(new()\n {\n Name = \"default.postgres15\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.LookupClusterParameterGroup(ctx, \u0026rds.LookupClusterParameterGroupArgs{\n\t\t\tName: \"default.postgres15\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetClusterParameterGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RdsFunctions.getClusterParameterGroup(GetClusterParameterGroupArgs.builder()\n .name(\"default.postgres15\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:rds:getClusterParameterGroup\n Arguments:\n name: default.postgres15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getClusterParameterGroup.\n", "properties": { @@ -418571,7 +418571,7 @@ } }, "aws:rds/getClusterSnapshot:getClusterSnapshot": { - "description": "Use this data source to get information about a DB Cluster Snapshot for use when provisioning DB clusters.\n\n\u003e **NOTE:** This data source does not apply to snapshots created on DB Instances.\nSee the `aws.rds.Snapshot` data source for DB Instance snapshots.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst developmentFinalSnapshot = aws.rds.getClusterSnapshot({\n dbClusterIdentifier: \"development_cluster\",\n mostRecent: true,\n});\n// Use the last snapshot of the dev database before it was destroyed to create\n// a new dev database.\nconst aurora = new aws.rds.Cluster(\"aurora\", {\n clusterIdentifier: \"development_cluster\",\n snapshotIdentifier: developmentFinalSnapshot.then(developmentFinalSnapshot =\u003e developmentFinalSnapshot.id),\n dbSubnetGroupName: \"my_db_subnet_group\",\n});\nconst auroraClusterInstance = new aws.rds.ClusterInstance(\"aurora\", {\n clusterIdentifier: aurora.id,\n instanceClass: aws.rds.InstanceType.T2_Small,\n dbSubnetGroupName: \"my_db_subnet_group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndevelopment_final_snapshot = aws.rds.get_cluster_snapshot(db_cluster_identifier=\"development_cluster\",\n most_recent=True)\n# Use the last snapshot of the dev database before it was destroyed to create\n# a new dev database.\naurora = aws.rds.Cluster(\"aurora\",\n cluster_identifier=\"development_cluster\",\n snapshot_identifier=development_final_snapshot.id,\n db_subnet_group_name=\"my_db_subnet_group\")\naurora_cluster_instance = aws.rds.ClusterInstance(\"aurora\",\n cluster_identifier=aurora.id,\n instance_class=aws.rds.InstanceType.T2_SMALL,\n db_subnet_group_name=\"my_db_subnet_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var developmentFinalSnapshot = Aws.Rds.GetClusterSnapshot.Invoke(new()\n {\n DbClusterIdentifier = \"development_cluster\",\n MostRecent = true,\n });\n\n // Use the last snapshot of the dev database before it was destroyed to create\n // a new dev database.\n var aurora = new Aws.Rds.Cluster(\"aurora\", new()\n {\n ClusterIdentifier = \"development_cluster\",\n SnapshotIdentifier = developmentFinalSnapshot.Apply(getClusterSnapshotResult =\u003e getClusterSnapshotResult.Id),\n DbSubnetGroupName = \"my_db_subnet_group\",\n });\n\n var auroraClusterInstance = new Aws.Rds.ClusterInstance(\"aurora\", new()\n {\n ClusterIdentifier = aurora.Id,\n InstanceClass = Aws.Rds.InstanceType.T2_Small,\n DbSubnetGroupName = \"my_db_subnet_group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdevelopmentFinalSnapshot, err := rds.LookupClusterSnapshot(ctx, \u0026rds.LookupClusterSnapshotArgs{\n\t\t\tDbClusterIdentifier: pulumi.StringRef(\"development_cluster\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Use the last snapshot of the dev database before it was destroyed to create\n\t\t// a new dev database.\n\t\taurora, err := rds.NewCluster(ctx, \"aurora\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"development_cluster\"),\n\t\t\tSnapshotIdentifier: pulumi.String(developmentFinalSnapshot.Id),\n\t\t\tDbSubnetGroupName: pulumi.String(\"my_db_subnet_group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"aurora\", \u0026rds.ClusterInstanceArgs{\n\t\t\tClusterIdentifier: aurora.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Small),\n\t\t\tDbSubnetGroupName: pulumi.String(\"my_db_subnet_group\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetClusterSnapshotArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var developmentFinalSnapshot = RdsFunctions.getClusterSnapshot(GetClusterSnapshotArgs.builder()\n .dbClusterIdentifier(\"development_cluster\")\n .mostRecent(true)\n .build());\n\n // Use the last snapshot of the dev database before it was destroyed to create\n // a new dev database.\n var aurora = new Cluster(\"aurora\", ClusterArgs.builder()\n .clusterIdentifier(\"development_cluster\")\n .snapshotIdentifier(developmentFinalSnapshot.applyValue(getClusterSnapshotResult -\u003e getClusterSnapshotResult.id()))\n .dbSubnetGroupName(\"my_db_subnet_group\")\n .build());\n\n var auroraClusterInstance = new ClusterInstance(\"auroraClusterInstance\", ClusterInstanceArgs.builder()\n .clusterIdentifier(aurora.id())\n .instanceClass(\"db.t2.small\")\n .dbSubnetGroupName(\"my_db_subnet_group\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Use the last snapshot of the dev database before it was destroyed to create\n # a new dev database.\n aurora:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: development_cluster\n snapshotIdentifier: ${developmentFinalSnapshot.id}\n dbSubnetGroupName: my_db_subnet_group\n auroraClusterInstance:\n type: aws:rds:ClusterInstance\n name: aurora\n properties:\n clusterIdentifier: ${aurora.id}\n instanceClass: db.t2.small\n dbSubnetGroupName: my_db_subnet_group\nvariables:\n developmentFinalSnapshot:\n fn::invoke:\n function: aws:rds:getClusterSnapshot\n arguments:\n dbClusterIdentifier: development_cluster\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about a DB Cluster Snapshot for use when provisioning DB clusters.\n\n\u003e **NOTE:** This data source does not apply to snapshots created on DB Instances.\nSee the `aws.rds.Snapshot` data source for DB Instance snapshots.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst developmentFinalSnapshot = aws.rds.getClusterSnapshot({\n dbClusterIdentifier: \"development_cluster\",\n mostRecent: true,\n});\n// Use the last snapshot of the dev database before it was destroyed to create\n// a new dev database.\nconst aurora = new aws.rds.Cluster(\"aurora\", {\n clusterIdentifier: \"development_cluster\",\n snapshotIdentifier: developmentFinalSnapshot.then(developmentFinalSnapshot =\u003e developmentFinalSnapshot.id),\n dbSubnetGroupName: \"my_db_subnet_group\",\n});\nconst auroraClusterInstance = new aws.rds.ClusterInstance(\"aurora\", {\n clusterIdentifier: aurora.id,\n instanceClass: aws.rds.InstanceType.T2_Small,\n dbSubnetGroupName: \"my_db_subnet_group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndevelopment_final_snapshot = aws.rds.get_cluster_snapshot(db_cluster_identifier=\"development_cluster\",\n most_recent=True)\n# Use the last snapshot of the dev database before it was destroyed to create\n# a new dev database.\naurora = aws.rds.Cluster(\"aurora\",\n cluster_identifier=\"development_cluster\",\n snapshot_identifier=development_final_snapshot.id,\n db_subnet_group_name=\"my_db_subnet_group\")\naurora_cluster_instance = aws.rds.ClusterInstance(\"aurora\",\n cluster_identifier=aurora.id,\n instance_class=aws.rds.InstanceType.T2_SMALL,\n db_subnet_group_name=\"my_db_subnet_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var developmentFinalSnapshot = Aws.Rds.GetClusterSnapshot.Invoke(new()\n {\n DbClusterIdentifier = \"development_cluster\",\n MostRecent = true,\n });\n\n // Use the last snapshot of the dev database before it was destroyed to create\n // a new dev database.\n var aurora = new Aws.Rds.Cluster(\"aurora\", new()\n {\n ClusterIdentifier = \"development_cluster\",\n SnapshotIdentifier = developmentFinalSnapshot.Apply(getClusterSnapshotResult =\u003e getClusterSnapshotResult.Id),\n DbSubnetGroupName = \"my_db_subnet_group\",\n });\n\n var auroraClusterInstance = new Aws.Rds.ClusterInstance(\"aurora\", new()\n {\n ClusterIdentifier = aurora.Id,\n InstanceClass = Aws.Rds.InstanceType.T2_Small,\n DbSubnetGroupName = \"my_db_subnet_group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdevelopmentFinalSnapshot, err := rds.LookupClusterSnapshot(ctx, \u0026rds.LookupClusterSnapshotArgs{\n\t\t\tDbClusterIdentifier: pulumi.StringRef(\"development_cluster\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Use the last snapshot of the dev database before it was destroyed to create\n\t\t// a new dev database.\n\t\taurora, err := rds.NewCluster(ctx, \"aurora\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"development_cluster\"),\n\t\t\tSnapshotIdentifier: pulumi.String(developmentFinalSnapshot.Id),\n\t\t\tDbSubnetGroupName: pulumi.String(\"my_db_subnet_group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"aurora\", \u0026rds.ClusterInstanceArgs{\n\t\t\tClusterIdentifier: aurora.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Small),\n\t\t\tDbSubnetGroupName: pulumi.String(\"my_db_subnet_group\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetClusterSnapshotArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var developmentFinalSnapshot = RdsFunctions.getClusterSnapshot(GetClusterSnapshotArgs.builder()\n .dbClusterIdentifier(\"development_cluster\")\n .mostRecent(true)\n .build());\n\n // Use the last snapshot of the dev database before it was destroyed to create\n // a new dev database.\n var aurora = new Cluster(\"aurora\", ClusterArgs.builder()\n .clusterIdentifier(\"development_cluster\")\n .snapshotIdentifier(developmentFinalSnapshot.applyValue(getClusterSnapshotResult -\u003e getClusterSnapshotResult.id()))\n .dbSubnetGroupName(\"my_db_subnet_group\")\n .build());\n\n var auroraClusterInstance = new ClusterInstance(\"auroraClusterInstance\", ClusterInstanceArgs.builder()\n .clusterIdentifier(aurora.id())\n .instanceClass(\"db.t2.small\")\n .dbSubnetGroupName(\"my_db_subnet_group\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Use the last snapshot of the dev database before it was destroyed to create\n # a new dev database.\n aurora:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: development_cluster\n snapshotIdentifier: ${developmentFinalSnapshot.id}\n dbSubnetGroupName: my_db_subnet_group\n auroraClusterInstance:\n type: aws:rds:ClusterInstance\n name: aurora\n properties:\n clusterIdentifier: ${aurora.id}\n instanceClass: db.t2.small\n dbSubnetGroupName: my_db_subnet_group\nvariables:\n developmentFinalSnapshot:\n fn::invoke:\n Function: aws:rds:getClusterSnapshot\n Arguments:\n dbClusterIdentifier: development_cluster\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getClusterSnapshot.\n", "properties": { @@ -418718,7 +418718,7 @@ } }, "aws:rds/getClusters:getClusters": { - "description": "Data source for managing an AWS RDS (Relational Database) Clusters.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.rds.getClusters({\n filters: [{\n name: \"engine\",\n values: [\"aurora-postgresql\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.get_clusters(filters=[{\n \"name\": \"engine\",\n \"values\": [\"aurora-postgresql\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Rds.GetClusters.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Rds.Inputs.GetClustersFilterInputArgs\n {\n Name = \"engine\",\n Values = new[]\n {\n \"aurora-postgresql\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.GetClusters(ctx, \u0026rds.GetClustersArgs{\n\t\t\tFilters: []rds.GetClustersFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"engine\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"aurora-postgresql\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetClustersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RdsFunctions.getClusters(GetClustersArgs.builder()\n .filters(GetClustersFilterArgs.builder()\n .name(\"engine\")\n .values(\"aurora-postgresql\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:rds:getClusters\n arguments:\n filters:\n - name: engine\n values:\n - aurora-postgresql\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS RDS (Relational Database) Clusters.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.rds.getClusters({\n filters: [{\n name: \"engine\",\n values: [\"aurora-postgresql\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.get_clusters(filters=[{\n \"name\": \"engine\",\n \"values\": [\"aurora-postgresql\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Rds.GetClusters.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Rds.Inputs.GetClustersFilterInputArgs\n {\n Name = \"engine\",\n Values = new[]\n {\n \"aurora-postgresql\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.GetClusters(ctx, \u0026rds.GetClustersArgs{\n\t\t\tFilters: []rds.GetClustersFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"engine\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"aurora-postgresql\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetClustersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RdsFunctions.getClusters(GetClustersArgs.builder()\n .filters(GetClustersFilterArgs.builder()\n .name(\"engine\")\n .values(\"aurora-postgresql\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:rds:getClusters\n Arguments:\n filters:\n - name: engine\n values:\n - aurora-postgresql\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getClusters.\n", "properties": { @@ -418769,7 +418769,7 @@ } }, "aws:rds/getEngineVersion:getEngineVersion": { - "description": "Information about an RDS engine version.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getEngineVersion({\n engine: \"mysql\",\n preferredVersions: [\n \"8.0.27\",\n \"8.0.26\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_engine_version(engine=\"mysql\",\n preferred_versions=[\n \"8.0.27\",\n \"8.0.26\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetEngineVersion.Invoke(new()\n {\n Engine = \"mysql\",\n PreferredVersions = new[]\n {\n \"8.0.27\",\n \"8.0.26\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.GetEngineVersion(ctx, \u0026rds.GetEngineVersionArgs{\n\t\t\tEngine: \"mysql\",\n\t\t\tPreferredVersions: []string{\n\t\t\t\t\"8.0.27\",\n\t\t\t\t\"8.0.26\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RdsFunctions.getEngineVersion(GetEngineVersionArgs.builder()\n .engine(\"mysql\")\n .preferredVersions( \n \"8.0.27\",\n \"8.0.26\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:rds:getEngineVersion\n arguments:\n engine: mysql\n preferredVersions:\n - 8.0.27\n - 8.0.26\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With `filter`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getEngineVersion({\n engine: \"aurora-postgresql\",\n version: \"10.14\",\n includeAll: true,\n filters: [{\n name: \"engine-mode\",\n values: [\"serverless\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_engine_version(engine=\"aurora-postgresql\",\n version=\"10.14\",\n include_all=True,\n filters=[{\n \"name\": \"engine-mode\",\n \"values\": [\"serverless\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetEngineVersion.Invoke(new()\n {\n Engine = \"aurora-postgresql\",\n Version = \"10.14\",\n IncludeAll = true,\n Filters = new[]\n {\n new Aws.Rds.Inputs.GetEngineVersionFilterInputArgs\n {\n Name = \"engine-mode\",\n Values = new[]\n {\n \"serverless\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.GetEngineVersion(ctx, \u0026rds.GetEngineVersionArgs{\n\t\t\tEngine: \"aurora-postgresql\",\n\t\t\tVersion: pulumi.StringRef(\"10.14\"),\n\t\t\tIncludeAll: pulumi.BoolRef(true),\n\t\t\tFilters: []rds.GetEngineVersionFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"engine-mode\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"serverless\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RdsFunctions.getEngineVersion(GetEngineVersionArgs.builder()\n .engine(\"aurora-postgresql\")\n .version(\"10.14\")\n .includeAll(true)\n .filters(GetEngineVersionFilterArgs.builder()\n .name(\"engine-mode\")\n .values(\"serverless\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:rds:getEngineVersion\n arguments:\n engine: aurora-postgresql\n version: '10.14'\n includeAll: true\n filters:\n - name: engine-mode\n values:\n - serverless\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about an RDS engine version.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getEngineVersion({\n engine: \"mysql\",\n preferredVersions: [\n \"8.0.27\",\n \"8.0.26\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_engine_version(engine=\"mysql\",\n preferred_versions=[\n \"8.0.27\",\n \"8.0.26\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetEngineVersion.Invoke(new()\n {\n Engine = \"mysql\",\n PreferredVersions = new[]\n {\n \"8.0.27\",\n \"8.0.26\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.GetEngineVersion(ctx, \u0026rds.GetEngineVersionArgs{\n\t\t\tEngine: \"mysql\",\n\t\t\tPreferredVersions: []string{\n\t\t\t\t\"8.0.27\",\n\t\t\t\t\"8.0.26\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RdsFunctions.getEngineVersion(GetEngineVersionArgs.builder()\n .engine(\"mysql\")\n .preferredVersions( \n \"8.0.27\",\n \"8.0.26\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:rds:getEngineVersion\n Arguments:\n engine: mysql\n preferredVersions:\n - 8.0.27\n - 8.0.26\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With `filter`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getEngineVersion({\n engine: \"aurora-postgresql\",\n version: \"10.14\",\n includeAll: true,\n filters: [{\n name: \"engine-mode\",\n values: [\"serverless\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_engine_version(engine=\"aurora-postgresql\",\n version=\"10.14\",\n include_all=True,\n filters=[{\n \"name\": \"engine-mode\",\n \"values\": [\"serverless\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetEngineVersion.Invoke(new()\n {\n Engine = \"aurora-postgresql\",\n Version = \"10.14\",\n IncludeAll = true,\n Filters = new[]\n {\n new Aws.Rds.Inputs.GetEngineVersionFilterInputArgs\n {\n Name = \"engine-mode\",\n Values = new[]\n {\n \"serverless\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.GetEngineVersion(ctx, \u0026rds.GetEngineVersionArgs{\n\t\t\tEngine: \"aurora-postgresql\",\n\t\t\tVersion: pulumi.StringRef(\"10.14\"),\n\t\t\tIncludeAll: pulumi.BoolRef(true),\n\t\t\tFilters: []rds.GetEngineVersionFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"engine-mode\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"serverless\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RdsFunctions.getEngineVersion(GetEngineVersionArgs.builder()\n .engine(\"aurora-postgresql\")\n .version(\"10.14\")\n .includeAll(true)\n .filters(GetEngineVersionFilterArgs.builder()\n .name(\"engine-mode\")\n .values(\"serverless\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:rds:getEngineVersion\n Arguments:\n engine: aurora-postgresql\n version: '10.14'\n includeAll: true\n filters:\n - name: engine-mode\n values:\n - serverless\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEngineVersion.\n", "properties": { @@ -419018,7 +419018,7 @@ } }, "aws:rds/getEventCategories:getEventCategories": { - "description": "## Example Usage\n\nList the event categories of all the RDS resources.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = await aws.rds.getEventCategories({});\n return {\n example: example.eventCategories,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.get_event_categories()\npulumi.export(\"example\", example.event_categories)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Rds.GetEventCategories.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = example.Apply(getEventCategoriesResult =\u003e getEventCategoriesResult.EventCategories),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.GetEventCategories(ctx, \u0026rds.GetEventCategoriesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", example.EventCategories)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetEventCategoriesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RdsFunctions.getEventCategories();\n\n ctx.export(\"example\", example.applyValue(getEventCategoriesResult -\u003e getEventCategoriesResult.eventCategories()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:rds:getEventCategories\n arguments: {}\noutputs:\n example: ${example.eventCategories}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nList the event categories specific to the RDS resource `db-snapshot`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = await aws.rds.getEventCategories({\n sourceType: \"db-snapshot\",\n });\n return {\n example: example.eventCategories,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.get_event_categories(source_type=\"db-snapshot\")\npulumi.export(\"example\", example.event_categories)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Rds.GetEventCategories.Invoke(new()\n {\n SourceType = \"db-snapshot\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = example.Apply(getEventCategoriesResult =\u003e getEventCategoriesResult.EventCategories),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.GetEventCategories(ctx, \u0026rds.GetEventCategoriesArgs{\n\t\t\tSourceType: pulumi.StringRef(\"db-snapshot\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", example.EventCategories)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetEventCategoriesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RdsFunctions.getEventCategories(GetEventCategoriesArgs.builder()\n .sourceType(\"db-snapshot\")\n .build());\n\n ctx.export(\"example\", example.applyValue(getEventCategoriesResult -\u003e getEventCategoriesResult.eventCategories()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:rds:getEventCategories\n arguments:\n sourceType: db-snapshot\noutputs:\n example: ${example.eventCategories}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## Example Usage\n\nList the event categories of all the RDS resources.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = await aws.rds.getEventCategories({});\n return {\n example: example.eventCategories,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.get_event_categories()\npulumi.export(\"example\", example.event_categories)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Rds.GetEventCategories.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = example.Apply(getEventCategoriesResult =\u003e getEventCategoriesResult.EventCategories),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.GetEventCategories(ctx, \u0026rds.GetEventCategoriesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", example.EventCategories)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetEventCategoriesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RdsFunctions.getEventCategories();\n\n ctx.export(\"example\", example.applyValue(getEventCategoriesResult -\u003e getEventCategoriesResult.eventCategories()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:rds:getEventCategories\n Arguments: {}\noutputs:\n example: ${example.eventCategories}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nList the event categories specific to the RDS resource `db-snapshot`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = await aws.rds.getEventCategories({\n sourceType: \"db-snapshot\",\n });\n return {\n example: example.eventCategories,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.get_event_categories(source_type=\"db-snapshot\")\npulumi.export(\"example\", example.event_categories)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Rds.GetEventCategories.Invoke(new()\n {\n SourceType = \"db-snapshot\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = example.Apply(getEventCategoriesResult =\u003e getEventCategoriesResult.EventCategories),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.GetEventCategories(ctx, \u0026rds.GetEventCategoriesArgs{\n\t\t\tSourceType: pulumi.StringRef(\"db-snapshot\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", example.EventCategories)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetEventCategoriesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RdsFunctions.getEventCategories(GetEventCategoriesArgs.builder()\n .sourceType(\"db-snapshot\")\n .build());\n\n ctx.export(\"example\", example.applyValue(getEventCategoriesResult -\u003e getEventCategoriesResult.eventCategories()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:rds:getEventCategories\n Arguments:\n sourceType: db-snapshot\noutputs:\n example: ${example.eventCategories}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEventCategories.\n", "properties": { @@ -419055,7 +419055,7 @@ } }, "aws:rds/getInstance:getInstance": { - "description": "Use this data source to get information about an RDS instance\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst database = aws.rds.getInstance({\n dbInstanceIdentifier: \"my-test-database\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndatabase = aws.rds.get_instance(db_instance_identifier=\"my-test-database\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var database = Aws.Rds.GetInstance.Invoke(new()\n {\n DbInstanceIdentifier = \"my-test-database\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.LookupInstance(ctx, \u0026rds.LookupInstanceArgs{\n\t\t\tDbInstanceIdentifier: pulumi.StringRef(\"my-test-database\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var database = RdsFunctions.getInstance(GetInstanceArgs.builder()\n .dbInstanceIdentifier(\"my-test-database\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n database:\n fn::invoke:\n function: aws:rds:getInstance\n arguments:\n dbInstanceIdentifier: my-test-database\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about an RDS instance\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst database = aws.rds.getInstance({\n dbInstanceIdentifier: \"my-test-database\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndatabase = aws.rds.get_instance(db_instance_identifier=\"my-test-database\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var database = Aws.Rds.GetInstance.Invoke(new()\n {\n DbInstanceIdentifier = \"my-test-database\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.LookupInstance(ctx, \u0026rds.LookupInstanceArgs{\n\t\t\tDbInstanceIdentifier: pulumi.StringRef(\"my-test-database\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var database = RdsFunctions.getInstance(GetInstanceArgs.builder()\n .dbInstanceIdentifier(\"my-test-database\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n database:\n fn::invoke:\n Function: aws:rds:getInstance\n Arguments:\n dbInstanceIdentifier: my-test-database\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInstance.\n", "properties": { @@ -419314,7 +419314,7 @@ } }, "aws:rds/getInstances:getInstances": { - "description": "Data source for listing RDS Database Instances.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.rds.getInstances({\n filters: [{\n name: \"db-instance-id\",\n values: [\"my-database-id\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.get_instances(filters=[{\n \"name\": \"db-instance-id\",\n \"values\": [\"my-database-id\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Rds.GetInstances.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Rds.Inputs.GetInstancesFilterInputArgs\n {\n Name = \"db-instance-id\",\n Values = new[]\n {\n \"my-database-id\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.GetInstances(ctx, \u0026rds.GetInstancesArgs{\n\t\t\tFilters: []rds.GetInstancesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"db-instance-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-database-id\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetInstancesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RdsFunctions.getInstances(GetInstancesArgs.builder()\n .filters(GetInstancesFilterArgs.builder()\n .name(\"db-instance-id\")\n .values(\"my-database-id\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:rds:getInstances\n arguments:\n filters:\n - name: db-instance-id\n values:\n - my-database-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.rds.getInstances({\n tags: {\n Env: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.get_instances(tags={\n \"Env\": \"test\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Rds.GetInstances.Invoke(new()\n {\n Tags = \n {\n { \"Env\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.GetInstances(ctx, \u0026rds.GetInstancesArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Env\": \"test\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetInstancesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RdsFunctions.getInstances(GetInstancesArgs.builder()\n .tags(Map.of(\"Env\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:rds:getInstances\n arguments:\n tags:\n Env: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for listing RDS Database Instances.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.rds.getInstances({\n filters: [{\n name: \"db-instance-id\",\n values: [\"my-database-id\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.get_instances(filters=[{\n \"name\": \"db-instance-id\",\n \"values\": [\"my-database-id\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Rds.GetInstances.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Rds.Inputs.GetInstancesFilterInputArgs\n {\n Name = \"db-instance-id\",\n Values = new[]\n {\n \"my-database-id\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.GetInstances(ctx, \u0026rds.GetInstancesArgs{\n\t\t\tFilters: []rds.GetInstancesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"db-instance-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-database-id\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetInstancesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RdsFunctions.getInstances(GetInstancesArgs.builder()\n .filters(GetInstancesFilterArgs.builder()\n .name(\"db-instance-id\")\n .values(\"my-database-id\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:rds:getInstances\n Arguments:\n filters:\n - name: db-instance-id\n values:\n - my-database-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.rds.getInstances({\n tags: {\n Env: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.get_instances(tags={\n \"Env\": \"test\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Rds.GetInstances.Invoke(new()\n {\n Tags = \n {\n { \"Env\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.GetInstances(ctx, \u0026rds.GetInstancesArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Env\": \"test\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetInstancesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RdsFunctions.getInstances(GetInstancesArgs.builder()\n .tags(Map.of(\"Env\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:rds:getInstances\n Arguments:\n tags:\n Env: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInstances.\n", "properties": { @@ -419379,7 +419379,7 @@ } }, "aws:rds/getOrderableDbInstance:getOrderableDbInstance": { - "description": "Information about RDS orderable DB instances and valid parameter combinations.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getOrderableDbInstance({\n engine: \"mysql\",\n engineVersion: \"5.7.22\",\n licenseModel: \"general-public-license\",\n storageType: \"standard\",\n preferredInstanceClasses: [\n \"db.r6.xlarge\",\n \"db.m4.large\",\n \"db.t3.small\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_orderable_db_instance(engine=\"mysql\",\n engine_version=\"5.7.22\",\n license_model=\"general-public-license\",\n storage_type=\"standard\",\n preferred_instance_classes=[\n \"db.r6.xlarge\",\n \"db.m4.large\",\n \"db.t3.small\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetOrderableDbInstance.Invoke(new()\n {\n Engine = \"mysql\",\n EngineVersion = \"5.7.22\",\n LicenseModel = \"general-public-license\",\n StorageType = \"standard\",\n PreferredInstanceClasses = new[]\n {\n \"db.r6.xlarge\",\n \"db.m4.large\",\n \"db.t3.small\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.GetOrderableDbInstance(ctx, \u0026rds.GetOrderableDbInstanceArgs{\n\t\t\tEngine: \"mysql\",\n\t\t\tEngineVersion: pulumi.StringRef(\"5.7.22\"),\n\t\t\tLicenseModel: pulumi.StringRef(\"general-public-license\"),\n\t\t\tStorageType: pulumi.StringRef(\"standard\"),\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.r6.xlarge\",\n\t\t\t\t\"db.m4.large\",\n\t\t\t\t\"db.t3.small\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(\"mysql\")\n .engineVersion(\"5.7.22\")\n .licenseModel(\"general-public-license\")\n .storageType(\"standard\")\n .preferredInstanceClasses( \n \"db.r6.xlarge\",\n \"db.m4.large\",\n \"db.t3.small\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:rds:getOrderableDbInstance\n arguments:\n engine: mysql\n engineVersion: 5.7.22\n licenseModel: general-public-license\n storageType: standard\n preferredInstanceClasses:\n - db.r6.xlarge\n - db.m4.large\n - db.t3.small\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nValid parameter combinations can also be found with `preferred_engine_versions` and/or `preferred_instance_classes`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getOrderableDbInstance({\n engine: \"mysql\",\n licenseModel: \"general-public-license\",\n preferredEngineVersions: [\n \"5.6.35\",\n \"5.6.41\",\n \"5.6.44\",\n ],\n preferredInstanceClasses: [\n \"db.t2.small\",\n \"db.t3.medium\",\n \"db.t3.large\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_orderable_db_instance(engine=\"mysql\",\n license_model=\"general-public-license\",\n preferred_engine_versions=[\n \"5.6.35\",\n \"5.6.41\",\n \"5.6.44\",\n ],\n preferred_instance_classes=[\n \"db.t2.small\",\n \"db.t3.medium\",\n \"db.t3.large\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetOrderableDbInstance.Invoke(new()\n {\n Engine = \"mysql\",\n LicenseModel = \"general-public-license\",\n PreferredEngineVersions = new[]\n {\n \"5.6.35\",\n \"5.6.41\",\n \"5.6.44\",\n },\n PreferredInstanceClasses = new[]\n {\n \"db.t2.small\",\n \"db.t3.medium\",\n \"db.t3.large\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.GetOrderableDbInstance(ctx, \u0026rds.GetOrderableDbInstanceArgs{\n\t\t\tEngine: \"mysql\",\n\t\t\tLicenseModel: pulumi.StringRef(\"general-public-license\"),\n\t\t\tPreferredEngineVersions: []string{\n\t\t\t\t\"5.6.35\",\n\t\t\t\t\"5.6.41\",\n\t\t\t\t\"5.6.44\",\n\t\t\t},\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.t2.small\",\n\t\t\t\t\"db.t3.medium\",\n\t\t\t\t\"db.t3.large\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(\"mysql\")\n .licenseModel(\"general-public-license\")\n .preferredEngineVersions( \n \"5.6.35\",\n \"5.6.41\",\n \"5.6.44\")\n .preferredInstanceClasses( \n \"db.t2.small\",\n \"db.t3.medium\",\n \"db.t3.large\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:rds:getOrderableDbInstance\n arguments:\n engine: mysql\n licenseModel: general-public-license\n preferredEngineVersions:\n - 5.6.35\n - 5.6.41\n - 5.6.44\n preferredInstanceClasses:\n - db.t2.small\n - db.t3.medium\n - db.t3.large\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about RDS orderable DB instances and valid parameter combinations.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getOrderableDbInstance({\n engine: \"mysql\",\n engineVersion: \"5.7.22\",\n licenseModel: \"general-public-license\",\n storageType: \"standard\",\n preferredInstanceClasses: [\n \"db.r6.xlarge\",\n \"db.m4.large\",\n \"db.t3.small\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_orderable_db_instance(engine=\"mysql\",\n engine_version=\"5.7.22\",\n license_model=\"general-public-license\",\n storage_type=\"standard\",\n preferred_instance_classes=[\n \"db.r6.xlarge\",\n \"db.m4.large\",\n \"db.t3.small\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetOrderableDbInstance.Invoke(new()\n {\n Engine = \"mysql\",\n EngineVersion = \"5.7.22\",\n LicenseModel = \"general-public-license\",\n StorageType = \"standard\",\n PreferredInstanceClasses = new[]\n {\n \"db.r6.xlarge\",\n \"db.m4.large\",\n \"db.t3.small\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.GetOrderableDbInstance(ctx, \u0026rds.GetOrderableDbInstanceArgs{\n\t\t\tEngine: \"mysql\",\n\t\t\tEngineVersion: pulumi.StringRef(\"5.7.22\"),\n\t\t\tLicenseModel: pulumi.StringRef(\"general-public-license\"),\n\t\t\tStorageType: pulumi.StringRef(\"standard\"),\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.r6.xlarge\",\n\t\t\t\t\"db.m4.large\",\n\t\t\t\t\"db.t3.small\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(\"mysql\")\n .engineVersion(\"5.7.22\")\n .licenseModel(\"general-public-license\")\n .storageType(\"standard\")\n .preferredInstanceClasses( \n \"db.r6.xlarge\",\n \"db.m4.large\",\n \"db.t3.small\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:rds:getOrderableDbInstance\n Arguments:\n engine: mysql\n engineVersion: 5.7.22\n licenseModel: general-public-license\n storageType: standard\n preferredInstanceClasses:\n - db.r6.xlarge\n - db.m4.large\n - db.t3.small\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nValid parameter combinations can also be found with `preferred_engine_versions` and/or `preferred_instance_classes`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getOrderableDbInstance({\n engine: \"mysql\",\n licenseModel: \"general-public-license\",\n preferredEngineVersions: [\n \"5.6.35\",\n \"5.6.41\",\n \"5.6.44\",\n ],\n preferredInstanceClasses: [\n \"db.t2.small\",\n \"db.t3.medium\",\n \"db.t3.large\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_orderable_db_instance(engine=\"mysql\",\n license_model=\"general-public-license\",\n preferred_engine_versions=[\n \"5.6.35\",\n \"5.6.41\",\n \"5.6.44\",\n ],\n preferred_instance_classes=[\n \"db.t2.small\",\n \"db.t3.medium\",\n \"db.t3.large\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetOrderableDbInstance.Invoke(new()\n {\n Engine = \"mysql\",\n LicenseModel = \"general-public-license\",\n PreferredEngineVersions = new[]\n {\n \"5.6.35\",\n \"5.6.41\",\n \"5.6.44\",\n },\n PreferredInstanceClasses = new[]\n {\n \"db.t2.small\",\n \"db.t3.medium\",\n \"db.t3.large\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.GetOrderableDbInstance(ctx, \u0026rds.GetOrderableDbInstanceArgs{\n\t\t\tEngine: \"mysql\",\n\t\t\tLicenseModel: pulumi.StringRef(\"general-public-license\"),\n\t\t\tPreferredEngineVersions: []string{\n\t\t\t\t\"5.6.35\",\n\t\t\t\t\"5.6.41\",\n\t\t\t\t\"5.6.44\",\n\t\t\t},\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.t2.small\",\n\t\t\t\t\"db.t3.medium\",\n\t\t\t\t\"db.t3.large\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(\"mysql\")\n .licenseModel(\"general-public-license\")\n .preferredEngineVersions( \n \"5.6.35\",\n \"5.6.41\",\n \"5.6.44\")\n .preferredInstanceClasses( \n \"db.t2.small\",\n \"db.t3.medium\",\n \"db.t3.large\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:rds:getOrderableDbInstance\n Arguments:\n engine: mysql\n licenseModel: general-public-license\n preferredEngineVersions:\n - 5.6.35\n - 5.6.41\n - 5.6.44\n preferredInstanceClasses:\n - db.t2.small\n - db.t3.medium\n - db.t3.large\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOrderableDbInstance.\n", "properties": { @@ -419657,7 +419657,7 @@ } }, "aws:rds/getParameterGroup:getParameterGroup": { - "description": "Information about a database parameter group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getParameterGroup({\n name: \"default.postgres15\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_parameter_group(name=\"default.postgres15\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetParameterGroup.Invoke(new()\n {\n Name = \"default.postgres15\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.LookupParameterGroup(ctx, \u0026rds.LookupParameterGroupArgs{\n\t\t\tName: \"default.postgres15\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetParameterGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RdsFunctions.getParameterGroup(GetParameterGroupArgs.builder()\n .name(\"default.postgres15\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:rds:getParameterGroup\n arguments:\n name: default.postgres15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about a database parameter group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getParameterGroup({\n name: \"default.postgres15\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_parameter_group(name=\"default.postgres15\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetParameterGroup.Invoke(new()\n {\n Name = \"default.postgres15\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.LookupParameterGroup(ctx, \u0026rds.LookupParameterGroupArgs{\n\t\t\tName: \"default.postgres15\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetParameterGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RdsFunctions.getParameterGroup(GetParameterGroupArgs.builder()\n .name(\"default.postgres15\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:rds:getParameterGroup\n Arguments:\n name: default.postgres15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getParameterGroup.\n", "properties": { @@ -419705,7 +419705,7 @@ } }, "aws:rds/getProxy:getProxy": { - "description": "Use this data source to get information about a DB Proxy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst proxy = aws.rds.getProxy({\n name: \"my-test-db-proxy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nproxy = aws.rds.get_proxy(name=\"my-test-db-proxy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var proxy = Aws.Rds.GetProxy.Invoke(new()\n {\n Name = \"my-test-db-proxy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.LookupProxy(ctx, \u0026rds.LookupProxyArgs{\n\t\t\tName: \"my-test-db-proxy\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetProxyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var proxy = RdsFunctions.getProxy(GetProxyArgs.builder()\n .name(\"my-test-db-proxy\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n proxy:\n fn::invoke:\n function: aws:rds:getProxy\n arguments:\n name: my-test-db-proxy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about a DB Proxy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst proxy = aws.rds.getProxy({\n name: \"my-test-db-proxy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nproxy = aws.rds.get_proxy(name=\"my-test-db-proxy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var proxy = Aws.Rds.GetProxy.Invoke(new()\n {\n Name = \"my-test-db-proxy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.LookupProxy(ctx, \u0026rds.LookupProxyArgs{\n\t\t\tName: \"my-test-db-proxy\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetProxyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var proxy = RdsFunctions.getProxy(GetProxyArgs.builder()\n .name(\"my-test-db-proxy\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n proxy:\n fn::invoke:\n Function: aws:rds:getProxy\n Arguments:\n name: my-test-db-proxy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProxy.\n", "properties": { @@ -419802,7 +419802,7 @@ } }, "aws:rds/getReservedInstanceOffering:getReservedInstanceOffering": { - "description": "Information about a single RDS Reserved Instance Offering.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getReservedInstanceOffering({\n dbInstanceClass: \"db.t2.micro\",\n duration: 31536000,\n multiAz: false,\n offeringType: \"All Upfront\",\n productDescription: \"mysql\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_reserved_instance_offering(db_instance_class=\"db.t2.micro\",\n duration=31536000,\n multi_az=False,\n offering_type=\"All Upfront\",\n product_description=\"mysql\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetReservedInstanceOffering.Invoke(new()\n {\n DbInstanceClass = \"db.t2.micro\",\n Duration = 31536000,\n MultiAz = false,\n OfferingType = \"All Upfront\",\n ProductDescription = \"mysql\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.GetReservedInstanceOffering(ctx, \u0026rds.GetReservedInstanceOfferingArgs{\n\t\t\tDbInstanceClass: \"db.t2.micro\",\n\t\t\tDuration: 31536000,\n\t\t\tMultiAz: false,\n\t\t\tOfferingType: \"All Upfront\",\n\t\t\tProductDescription: \"mysql\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetReservedInstanceOfferingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RdsFunctions.getReservedInstanceOffering(GetReservedInstanceOfferingArgs.builder()\n .dbInstanceClass(\"db.t2.micro\")\n .duration(31536000)\n .multiAz(false)\n .offeringType(\"All Upfront\")\n .productDescription(\"mysql\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:rds:getReservedInstanceOffering\n arguments:\n dbInstanceClass: db.t2.micro\n duration: 3.1536e+07\n multiAz: false\n offeringType: All Upfront\n productDescription: mysql\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about a single RDS Reserved Instance Offering.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getReservedInstanceOffering({\n dbInstanceClass: \"db.t2.micro\",\n duration: 31536000,\n multiAz: false,\n offeringType: \"All Upfront\",\n productDescription: \"mysql\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_reserved_instance_offering(db_instance_class=\"db.t2.micro\",\n duration=31536000,\n multi_az=False,\n offering_type=\"All Upfront\",\n product_description=\"mysql\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetReservedInstanceOffering.Invoke(new()\n {\n DbInstanceClass = \"db.t2.micro\",\n Duration = 31536000,\n MultiAz = false,\n OfferingType = \"All Upfront\",\n ProductDescription = \"mysql\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.GetReservedInstanceOffering(ctx, \u0026rds.GetReservedInstanceOfferingArgs{\n\t\t\tDbInstanceClass: \"db.t2.micro\",\n\t\t\tDuration: 31536000,\n\t\t\tMultiAz: false,\n\t\t\tOfferingType: \"All Upfront\",\n\t\t\tProductDescription: \"mysql\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetReservedInstanceOfferingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RdsFunctions.getReservedInstanceOffering(GetReservedInstanceOfferingArgs.builder()\n .dbInstanceClass(\"db.t2.micro\")\n .duration(31536000)\n .multiAz(false)\n .offeringType(\"All Upfront\")\n .productDescription(\"mysql\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:rds:getReservedInstanceOffering\n Arguments:\n dbInstanceClass: db.t2.micro\n duration: 3.1536e+07\n multiAz: false\n offeringType: All Upfront\n productDescription: mysql\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getReservedInstanceOffering.\n", "properties": { @@ -419886,7 +419886,7 @@ } }, "aws:rds/getSnapshot:getSnapshot": { - "description": "Use this data source to get information about a DB Snapshot for use when provisioning DB instances\n\n\u003e **NOTE:** This data source does not apply to snapshots created on Aurora DB clusters.\nSee the `aws.rds.ClusterSnapshot` data source for DB Cluster snapshots.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst prod = new aws.rds.Instance(\"prod\", {\n allocatedStorage: 10,\n engine: \"mysql\",\n engineVersion: \"5.6.17\",\n instanceClass: aws.rds.InstanceType.T2_Micro,\n dbName: \"mydb\",\n username: \"foo\",\n password: \"bar\",\n dbSubnetGroupName: \"my_database_subnet_group\",\n parameterGroupName: \"default.mysql5.6\",\n});\nconst latestProdSnapshot = aws.rds.getSnapshotOutput({\n dbInstanceIdentifier: prod.identifier,\n mostRecent: true,\n});\n// Use the latest production snapshot to create a dev instance.\nconst dev = new aws.rds.Instance(\"dev\", {\n instanceClass: aws.rds.InstanceType.T2_Micro,\n dbName: \"mydbdev\",\n snapshotIdentifier: latestProdSnapshot.apply(latestProdSnapshot =\u003e latestProdSnapshot.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprod = aws.rds.Instance(\"prod\",\n allocated_storage=10,\n engine=\"mysql\",\n engine_version=\"5.6.17\",\n instance_class=aws.rds.InstanceType.T2_MICRO,\n db_name=\"mydb\",\n username=\"foo\",\n password=\"bar\",\n db_subnet_group_name=\"my_database_subnet_group\",\n parameter_group_name=\"default.mysql5.6\")\nlatest_prod_snapshot = aws.rds.get_snapshot_output(db_instance_identifier=prod.identifier,\n most_recent=True)\n# Use the latest production snapshot to create a dev instance.\ndev = aws.rds.Instance(\"dev\",\n instance_class=aws.rds.InstanceType.T2_MICRO,\n db_name=\"mydbdev\",\n snapshot_identifier=latest_prod_snapshot.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var prod = new Aws.Rds.Instance(\"prod\", new()\n {\n AllocatedStorage = 10,\n Engine = \"mysql\",\n EngineVersion = \"5.6.17\",\n InstanceClass = Aws.Rds.InstanceType.T2_Micro,\n DbName = \"mydb\",\n Username = \"foo\",\n Password = \"bar\",\n DbSubnetGroupName = \"my_database_subnet_group\",\n ParameterGroupName = \"default.mysql5.6\",\n });\n\n var latestProdSnapshot = Aws.Rds.GetSnapshot.Invoke(new()\n {\n DbInstanceIdentifier = prod.Identifier,\n MostRecent = true,\n });\n\n // Use the latest production snapshot to create a dev instance.\n var dev = new Aws.Rds.Instance(\"dev\", new()\n {\n InstanceClass = Aws.Rds.InstanceType.T2_Micro,\n DbName = \"mydbdev\",\n SnapshotIdentifier = latestProdSnapshot.Apply(getSnapshotResult =\u003e getSnapshotResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprod, err := rds.NewInstance(ctx, \"prod\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6.17\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Micro),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"bar\"),\n\t\t\tDbSubnetGroupName: pulumi.String(\"my_database_subnet_group\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.6\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlatestProdSnapshot := rds.LookupSnapshotOutput(ctx, rds.GetSnapshotOutputArgs{\n\t\t\tDbInstanceIdentifier: prod.Identifier,\n\t\t\tMostRecent: pulumi.Bool(true),\n\t\t}, nil)\n\t\t// Use the latest production snapshot to create a dev instance.\n\t\t_, err = rds.NewInstance(ctx, \"dev\", \u0026rds.InstanceArgs{\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Micro),\n\t\t\tDbName: pulumi.String(\"mydbdev\"),\n\t\t\tSnapshotIdentifier: pulumi.String(latestProdSnapshot.ApplyT(func(latestProdSnapshot rds.GetSnapshotResult) (*string, error) {\n\t\t\t\treturn \u0026latestProdSnapshot.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var prod = new Instance(\"prod\", InstanceArgs.builder()\n .allocatedStorage(10)\n .engine(\"mysql\")\n .engineVersion(\"5.6.17\")\n .instanceClass(\"db.t2.micro\")\n .dbName(\"mydb\")\n .username(\"foo\")\n .password(\"bar\")\n .dbSubnetGroupName(\"my_database_subnet_group\")\n .parameterGroupName(\"default.mysql5.6\")\n .build());\n\n final var latestProdSnapshot = RdsFunctions.getSnapshot(GetSnapshotArgs.builder()\n .dbInstanceIdentifier(prod.identifier())\n .mostRecent(true)\n .build());\n\n // Use the latest production snapshot to create a dev instance.\n var dev = new Instance(\"dev\", InstanceArgs.builder()\n .instanceClass(\"db.t2.micro\")\n .dbName(\"mydbdev\")\n .snapshotIdentifier(latestProdSnapshot.applyValue(getSnapshotResult -\u003e getSnapshotResult).applyValue(latestProdSnapshot -\u003e latestProdSnapshot.applyValue(getSnapshotResult -\u003e getSnapshotResult.id())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n prod:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n engine: mysql\n engineVersion: 5.6.17\n instanceClass: db.t2.micro\n dbName: mydb\n username: foo\n password: bar\n dbSubnetGroupName: my_database_subnet_group\n parameterGroupName: default.mysql5.6\n # Use the latest production snapshot to create a dev instance.\n dev:\n type: aws:rds:Instance\n properties:\n instanceClass: db.t2.micro\n dbName: mydbdev\n snapshotIdentifier: ${latestProdSnapshot.id}\nvariables:\n latestProdSnapshot:\n fn::invoke:\n function: aws:rds:getSnapshot\n arguments:\n dbInstanceIdentifier: ${prod.identifier}\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about a DB Snapshot for use when provisioning DB instances\n\n\u003e **NOTE:** This data source does not apply to snapshots created on Aurora DB clusters.\nSee the `aws.rds.ClusterSnapshot` data source for DB Cluster snapshots.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst prod = new aws.rds.Instance(\"prod\", {\n allocatedStorage: 10,\n engine: \"mysql\",\n engineVersion: \"5.6.17\",\n instanceClass: aws.rds.InstanceType.T2_Micro,\n dbName: \"mydb\",\n username: \"foo\",\n password: \"bar\",\n dbSubnetGroupName: \"my_database_subnet_group\",\n parameterGroupName: \"default.mysql5.6\",\n});\nconst latestProdSnapshot = aws.rds.getSnapshotOutput({\n dbInstanceIdentifier: prod.identifier,\n mostRecent: true,\n});\n// Use the latest production snapshot to create a dev instance.\nconst dev = new aws.rds.Instance(\"dev\", {\n instanceClass: aws.rds.InstanceType.T2_Micro,\n dbName: \"mydbdev\",\n snapshotIdentifier: latestProdSnapshot.apply(latestProdSnapshot =\u003e latestProdSnapshot.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprod = aws.rds.Instance(\"prod\",\n allocated_storage=10,\n engine=\"mysql\",\n engine_version=\"5.6.17\",\n instance_class=aws.rds.InstanceType.T2_MICRO,\n db_name=\"mydb\",\n username=\"foo\",\n password=\"bar\",\n db_subnet_group_name=\"my_database_subnet_group\",\n parameter_group_name=\"default.mysql5.6\")\nlatest_prod_snapshot = aws.rds.get_snapshot_output(db_instance_identifier=prod.identifier,\n most_recent=True)\n# Use the latest production snapshot to create a dev instance.\ndev = aws.rds.Instance(\"dev\",\n instance_class=aws.rds.InstanceType.T2_MICRO,\n db_name=\"mydbdev\",\n snapshot_identifier=latest_prod_snapshot.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var prod = new Aws.Rds.Instance(\"prod\", new()\n {\n AllocatedStorage = 10,\n Engine = \"mysql\",\n EngineVersion = \"5.6.17\",\n InstanceClass = Aws.Rds.InstanceType.T2_Micro,\n DbName = \"mydb\",\n Username = \"foo\",\n Password = \"bar\",\n DbSubnetGroupName = \"my_database_subnet_group\",\n ParameterGroupName = \"default.mysql5.6\",\n });\n\n var latestProdSnapshot = Aws.Rds.GetSnapshot.Invoke(new()\n {\n DbInstanceIdentifier = prod.Identifier,\n MostRecent = true,\n });\n\n // Use the latest production snapshot to create a dev instance.\n var dev = new Aws.Rds.Instance(\"dev\", new()\n {\n InstanceClass = Aws.Rds.InstanceType.T2_Micro,\n DbName = \"mydbdev\",\n SnapshotIdentifier = latestProdSnapshot.Apply(getSnapshotResult =\u003e getSnapshotResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprod, err := rds.NewInstance(ctx, \"prod\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6.17\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Micro),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"bar\"),\n\t\t\tDbSubnetGroupName: pulumi.String(\"my_database_subnet_group\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.6\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlatestProdSnapshot := rds.LookupSnapshotOutput(ctx, rds.GetSnapshotOutputArgs{\n\t\t\tDbInstanceIdentifier: prod.Identifier,\n\t\t\tMostRecent: pulumi.Bool(true),\n\t\t}, nil)\n\t\t// Use the latest production snapshot to create a dev instance.\n\t\t_, err = rds.NewInstance(ctx, \"dev\", \u0026rds.InstanceArgs{\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Micro),\n\t\t\tDbName: pulumi.String(\"mydbdev\"),\n\t\t\tSnapshotIdentifier: pulumi.String(latestProdSnapshot.ApplyT(func(latestProdSnapshot rds.GetSnapshotResult) (*string, error) {\n\t\t\t\treturn \u0026latestProdSnapshot.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var prod = new Instance(\"prod\", InstanceArgs.builder()\n .allocatedStorage(10)\n .engine(\"mysql\")\n .engineVersion(\"5.6.17\")\n .instanceClass(\"db.t2.micro\")\n .dbName(\"mydb\")\n .username(\"foo\")\n .password(\"bar\")\n .dbSubnetGroupName(\"my_database_subnet_group\")\n .parameterGroupName(\"default.mysql5.6\")\n .build());\n\n final var latestProdSnapshot = RdsFunctions.getSnapshot(GetSnapshotArgs.builder()\n .dbInstanceIdentifier(prod.identifier())\n .mostRecent(true)\n .build());\n\n // Use the latest production snapshot to create a dev instance.\n var dev = new Instance(\"dev\", InstanceArgs.builder()\n .instanceClass(\"db.t2.micro\")\n .dbName(\"mydbdev\")\n .snapshotIdentifier(latestProdSnapshot.applyValue(getSnapshotResult -\u003e getSnapshotResult).applyValue(latestProdSnapshot -\u003e latestProdSnapshot.applyValue(getSnapshotResult -\u003e getSnapshotResult.id())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n prod:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n engine: mysql\n engineVersion: 5.6.17\n instanceClass: db.t2.micro\n dbName: mydb\n username: foo\n password: bar\n dbSubnetGroupName: my_database_subnet_group\n parameterGroupName: default.mysql5.6\n # Use the latest production snapshot to create a dev instance.\n dev:\n type: aws:rds:Instance\n properties:\n instanceClass: db.t2.micro\n dbName: mydbdev\n snapshotIdentifier: ${latestProdSnapshot.id}\nvariables:\n latestProdSnapshot:\n fn::invoke:\n Function: aws:rds:getSnapshot\n Arguments:\n dbInstanceIdentifier: ${prod.identifier}\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSnapshot.\n", "properties": { @@ -420053,7 +420053,7 @@ } }, "aws:rds/getSubnetGroup:getSubnetGroup": { - "description": "Use this data source to get information about an RDS subnet group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst database = aws.rds.getSubnetGroup({\n name: \"my-test-database-subnet-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndatabase = aws.rds.get_subnet_group(name=\"my-test-database-subnet-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var database = Aws.Rds.GetSubnetGroup.Invoke(new()\n {\n Name = \"my-test-database-subnet-group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.LookupSubnetGroup(ctx, \u0026rds.LookupSubnetGroupArgs{\n\t\t\tName: \"my-test-database-subnet-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetSubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var database = RdsFunctions.getSubnetGroup(GetSubnetGroupArgs.builder()\n .name(\"my-test-database-subnet-group\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n database:\n fn::invoke:\n function: aws:rds:getSubnetGroup\n arguments:\n name: my-test-database-subnet-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about an RDS subnet group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst database = aws.rds.getSubnetGroup({\n name: \"my-test-database-subnet-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndatabase = aws.rds.get_subnet_group(name=\"my-test-database-subnet-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var database = Aws.Rds.GetSubnetGroup.Invoke(new()\n {\n Name = \"my-test-database-subnet-group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.LookupSubnetGroup(ctx, \u0026rds.LookupSubnetGroupArgs{\n\t\t\tName: \"my-test-database-subnet-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetSubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var database = RdsFunctions.getSubnetGroup(GetSubnetGroupArgs.builder()\n .name(\"my-test-database-subnet-group\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n database:\n fn::invoke:\n Function: aws:rds:getSubnetGroup\n Arguments:\n name: my-test-database-subnet-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSubnetGroup.\n", "properties": { @@ -420122,7 +420122,7 @@ } }, "aws:redshift/getCluster:getCluster": { - "description": "Provides details about a specific redshift cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.RedshiftFunctions;\nimport com.pulumi.aws.redshift.inputs.GetClusterArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RedshiftFunctions.getCluster(GetClusterArgs.builder()\n .clusterIdentifier(\"example-cluster\")\n .build());\n\n var exampleStream = new FirehoseDeliveryStream(\"exampleStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-example-stream\")\n .destination(\"redshift\")\n .redshiftConfiguration(FirehoseDeliveryStreamRedshiftConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .clusterJdbcurl(String.format(\"jdbc:redshift://%s/%s\", example.applyValue(getClusterResult -\u003e getClusterResult.endpoint()),example.applyValue(getClusterResult -\u003e getClusterResult.databaseName())))\n .username(\"exampleuser\")\n .password(\"Exampl3Pass\")\n .dataTableName(\"example-table\")\n .copyOptions(\"delimiter '|'\")\n .dataTableColumns(\"example-col\")\n .s3Configuration(FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferSize(10)\n .bufferInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: example_stream\n properties:\n name: kinesis-firehose-example-stream\n destination: redshift\n redshiftConfiguration:\n roleArn: ${firehoseRole.arn}\n clusterJdbcurl: jdbc:redshift://${example.endpoint}/${example.databaseName}\n username: exampleuser\n password: Exampl3Pass\n dataTableName: example-table\n copyOptions: delimiter '|'\n dataTableColumns: example-col\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferSize: 10\n bufferInterval: 400\n compressionFormat: GZIP\nvariables:\n example:\n fn::invoke:\n function: aws:redshift:getCluster\n arguments:\n clusterIdentifier: example-cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific redshift cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.RedshiftFunctions;\nimport com.pulumi.aws.redshift.inputs.GetClusterArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RedshiftFunctions.getCluster(GetClusterArgs.builder()\n .clusterIdentifier(\"example-cluster\")\n .build());\n\n var exampleStream = new FirehoseDeliveryStream(\"exampleStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-example-stream\")\n .destination(\"redshift\")\n .redshiftConfiguration(FirehoseDeliveryStreamRedshiftConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .clusterJdbcurl(String.format(\"jdbc:redshift://%s/%s\", example.applyValue(getClusterResult -\u003e getClusterResult.endpoint()),example.applyValue(getClusterResult -\u003e getClusterResult.databaseName())))\n .username(\"exampleuser\")\n .password(\"Exampl3Pass\")\n .dataTableName(\"example-table\")\n .copyOptions(\"delimiter '|'\")\n .dataTableColumns(\"example-col\")\n .s3Configuration(FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferSize(10)\n .bufferInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: example_stream\n properties:\n name: kinesis-firehose-example-stream\n destination: redshift\n redshiftConfiguration:\n roleArn: ${firehoseRole.arn}\n clusterJdbcurl: jdbc:redshift://${example.endpoint}/${example.databaseName}\n username: exampleuser\n password: Exampl3Pass\n dataTableName: example-table\n copyOptions: delimiter '|'\n dataTableColumns: example-col\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferSize: 10\n bufferInterval: 400\n compressionFormat: GZIP\nvariables:\n example:\n fn::invoke:\n Function: aws:redshift:getCluster\n Arguments:\n clusterIdentifier: example-cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCluster.\n", "properties": { @@ -420372,7 +420372,7 @@ } }, "aws:redshift/getClusterCredentials:getClusterCredentials": { - "description": "Provides redshift cluster temporary credentials.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.redshift.getClusterCredentials({\n clusterIdentifier: exampleAwsRedshiftCluster.clusterIdentifier,\n dbUser: exampleAwsRedshiftCluster.masterUsername,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.get_cluster_credentials(cluster_identifier=example_aws_redshift_cluster[\"clusterIdentifier\"],\n db_user=example_aws_redshift_cluster[\"masterUsername\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.RedShift.GetClusterCredentials.Invoke(new()\n {\n ClusterIdentifier = exampleAwsRedshiftCluster.ClusterIdentifier,\n DbUser = exampleAwsRedshiftCluster.MasterUsername,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\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 := redshift.GetClusterCredentials(ctx, \u0026redshift.GetClusterCredentialsArgs{\n\t\t\tClusterIdentifier: exampleAwsRedshiftCluster.ClusterIdentifier,\n\t\t\tDbUser: exampleAwsRedshiftCluster.MasterUsername,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.RedshiftFunctions;\nimport com.pulumi.aws.redshift.inputs.GetClusterCredentialsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RedshiftFunctions.getClusterCredentials(GetClusterCredentialsArgs.builder()\n .clusterIdentifier(exampleAwsRedshiftCluster.clusterIdentifier())\n .dbUser(exampleAwsRedshiftCluster.masterUsername())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:redshift:getClusterCredentials\n arguments:\n clusterIdentifier: ${exampleAwsRedshiftCluster.clusterIdentifier}\n dbUser: ${exampleAwsRedshiftCluster.masterUsername}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides redshift cluster temporary credentials.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.redshift.getClusterCredentials({\n clusterIdentifier: exampleAwsRedshiftCluster.clusterIdentifier,\n dbUser: exampleAwsRedshiftCluster.masterUsername,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.get_cluster_credentials(cluster_identifier=example_aws_redshift_cluster[\"clusterIdentifier\"],\n db_user=example_aws_redshift_cluster[\"masterUsername\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.RedShift.GetClusterCredentials.Invoke(new()\n {\n ClusterIdentifier = exampleAwsRedshiftCluster.ClusterIdentifier,\n DbUser = exampleAwsRedshiftCluster.MasterUsername,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\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 := redshift.GetClusterCredentials(ctx, \u0026redshift.GetClusterCredentialsArgs{\n\t\t\tClusterIdentifier: exampleAwsRedshiftCluster.ClusterIdentifier,\n\t\t\tDbUser: exampleAwsRedshiftCluster.MasterUsername,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.RedshiftFunctions;\nimport com.pulumi.aws.redshift.inputs.GetClusterCredentialsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RedshiftFunctions.getClusterCredentials(GetClusterCredentialsArgs.builder()\n .clusterIdentifier(exampleAwsRedshiftCluster.clusterIdentifier())\n .dbUser(exampleAwsRedshiftCluster.masterUsername())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:redshift:getClusterCredentials\n Arguments:\n clusterIdentifier: ${exampleAwsRedshiftCluster.clusterIdentifier}\n dbUser: ${exampleAwsRedshiftCluster.masterUsername}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getClusterCredentials.\n", "properties": { @@ -420459,7 +420459,7 @@ } }, "aws:redshift/getDataShares:getDataShares": { - "description": "Data source for managing AWS Redshift Data Shares.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.redshift.getDataShares({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.get_data_shares()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.RedShift.GetDataShares.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\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 := redshift.GetDataShares(ctx, \u0026redshift.GetDataSharesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.RedshiftFunctions;\nimport com.pulumi.aws.redshift.inputs.GetDataSharesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RedshiftFunctions.getDataShares();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:redshift:getDataShares\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing AWS Redshift Data Shares.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.redshift.getDataShares({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.get_data_shares()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.RedShift.GetDataShares.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\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 := redshift.GetDataShares(ctx, \u0026redshift.GetDataSharesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.RedshiftFunctions;\nimport com.pulumi.aws.redshift.inputs.GetDataSharesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RedshiftFunctions.getDataShares();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:redshift:getDataShares\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDataShares.\n", "properties": { @@ -420495,7 +420495,7 @@ } }, "aws:redshift/getOrderableCluster:getOrderableCluster": { - "description": "Information about Redshift Orderable Clusters and valid parameter combinations.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.redshift.getOrderableCluster({\n clusterType: \"multi-node\",\n preferredNodeTypes: [\n \"dc2.large\",\n \"ds2.xlarge\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.redshift.get_orderable_cluster(cluster_type=\"multi-node\",\n preferred_node_types=[\n \"dc2.large\",\n \"ds2.xlarge\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.RedShift.GetOrderableCluster.Invoke(new()\n {\n ClusterType = \"multi-node\",\n PreferredNodeTypes = new[]\n {\n \"dc2.large\",\n \"ds2.xlarge\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\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 := redshift.GetOrderableCluster(ctx, \u0026redshift.GetOrderableClusterArgs{\n\t\t\tClusterType: pulumi.StringRef(\"multi-node\"),\n\t\t\tPreferredNodeTypes: []string{\n\t\t\t\t\"dc2.large\",\n\t\t\t\t\"ds2.xlarge\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.RedshiftFunctions;\nimport com.pulumi.aws.redshift.inputs.GetOrderableClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RedshiftFunctions.getOrderableCluster(GetOrderableClusterArgs.builder()\n .clusterType(\"multi-node\")\n .preferredNodeTypes( \n \"dc2.large\",\n \"ds2.xlarge\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:redshift:getOrderableCluster\n arguments:\n clusterType: multi-node\n preferredNodeTypes:\n - dc2.large\n - ds2.xlarge\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about Redshift Orderable Clusters and valid parameter combinations.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.redshift.getOrderableCluster({\n clusterType: \"multi-node\",\n preferredNodeTypes: [\n \"dc2.large\",\n \"ds2.xlarge\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.redshift.get_orderable_cluster(cluster_type=\"multi-node\",\n preferred_node_types=[\n \"dc2.large\",\n \"ds2.xlarge\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.RedShift.GetOrderableCluster.Invoke(new()\n {\n ClusterType = \"multi-node\",\n PreferredNodeTypes = new[]\n {\n \"dc2.large\",\n \"ds2.xlarge\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\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 := redshift.GetOrderableCluster(ctx, \u0026redshift.GetOrderableClusterArgs{\n\t\t\tClusterType: pulumi.StringRef(\"multi-node\"),\n\t\t\tPreferredNodeTypes: []string{\n\t\t\t\t\"dc2.large\",\n\t\t\t\t\"ds2.xlarge\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.RedshiftFunctions;\nimport com.pulumi.aws.redshift.inputs.GetOrderableClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RedshiftFunctions.getOrderableCluster(GetOrderableClusterArgs.builder()\n .clusterType(\"multi-node\")\n .preferredNodeTypes( \n \"dc2.large\",\n \"ds2.xlarge\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:redshift:getOrderableCluster\n Arguments:\n clusterType: multi-node\n preferredNodeTypes:\n - dc2.large\n - ds2.xlarge\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOrderableCluster.\n", "properties": { @@ -420562,7 +420562,7 @@ } }, "aws:redshift/getProducerDataShares:getProducerDataShares": { - "description": "Data source for managing AWS Redshift Producer Data Shares.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.redshift.getProducerDataShares({\n producerArn: \"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.get_producer_data_shares(producer_arn=\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.RedShift.GetProducerDataShares.Invoke(new()\n {\n ProducerArn = \"\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\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 := redshift.GetProducerDataShares(ctx, \u0026redshift.GetProducerDataSharesArgs{\n\t\t\tProducerArn: \"\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.RedshiftFunctions;\nimport com.pulumi.aws.redshift.inputs.GetProducerDataSharesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RedshiftFunctions.getProducerDataShares(GetProducerDataSharesArgs.builder()\n .producerArn(\"\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:redshift:getProducerDataShares\n arguments:\n producerArn: \"\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing AWS Redshift Producer Data Shares.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.redshift.getProducerDataShares({\n producerArn: \"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.get_producer_data_shares(producer_arn=\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.RedShift.GetProducerDataShares.Invoke(new()\n {\n ProducerArn = \"\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\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 := redshift.GetProducerDataShares(ctx, \u0026redshift.GetProducerDataSharesArgs{\n\t\t\tProducerArn: \"\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.RedshiftFunctions;\nimport com.pulumi.aws.redshift.inputs.GetProducerDataSharesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RedshiftFunctions.getProducerDataShares(GetProducerDataSharesArgs.builder()\n .producerArn(\"\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:redshift:getProducerDataShares\n Arguments:\n producerArn:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProducerDataShares.\n", "properties": { @@ -420617,7 +420617,7 @@ } }, "aws:redshift/getServiceAccount:getServiceAccount": { - "description": "Use this data source to get the Account ID of the [AWS Redshift Service Account](http://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-enable-logging)\nin a given region for the purpose of allowing Redshift to store audit data in S3.\n\n\u003e **Note:** AWS documentation [states that](https://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-bucket-permissions) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy.\nThe `aws.redshift.getServiceAccount` data source has been deprecated and will be removed in a future version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.redshift.getServiceAccount({});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {\n bucket: \"tf-redshift-logging-test-bucket\",\n forceDestroy: true,\n});\nconst allowAuditLogging = pulumi.all([main, bucket.arn, main]).apply(([main, arn, main1]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n sid: \"Put bucket policy needed for audit logging\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main.arn],\n }],\n actions: [\"s3:PutObject\"],\n resources: [`${arn}/*`],\n },\n {\n sid: \"Get bucket policy needed for audit logging\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main1.arn],\n }],\n actions: [\"s3:GetBucketAcl\"],\n resources: bucketAwsS3Bucket.arn,\n },\n ],\n}));\nconst allowAuditLoggingBucketPolicy = new aws.s3.BucketPolicy(\"allow_audit_logging\", {\n bucket: bucket.id,\n policy: allowAuditLogging.apply(allowAuditLogging =\u003e allowAuditLogging.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.redshift.get_service_account()\nbucket = aws.s3.BucketV2(\"bucket\",\n bucket=\"tf-redshift-logging-test-bucket\",\n force_destroy=True)\nallow_audit_logging = bucket.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[\n {\n \"sid\": \"Put bucket policy needed for audit logging\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [main.arn],\n }],\n \"actions\": [\"s3:PutObject\"],\n \"resources\": [f\"{arn}/*\"],\n },\n {\n \"sid\": \"Get bucket policy needed for audit logging\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [main.arn],\n }],\n \"actions\": [\"s3:GetBucketAcl\"],\n \"resources\": bucket_aws_s3_bucket[\"arn\"],\n },\n]))\nallow_audit_logging_bucket_policy = aws.s3.BucketPolicy(\"allow_audit_logging\",\n bucket=bucket.id,\n policy=allow_audit_logging.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.RedShift.GetServiceAccount.Invoke();\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"tf-redshift-logging-test-bucket\",\n ForceDestroy = true,\n });\n\n var allowAuditLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Put bucket policy needed for audit logging\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{bucket.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Get bucket policy needed for audit logging\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n },\n Resources = bucketAwsS3Bucket.Arn,\n },\n },\n });\n\n var allowAuditLoggingBucketPolicy = new Aws.S3.BucketPolicy(\"allow_audit_logging\", new()\n {\n Bucket = bucket.Id,\n Policy = allowAuditLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmain, err := redshift.GetServiceAccount(ctx, \u0026redshift.GetServiceAccountArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"tf-redshift-logging-test-bucket\"),\nForceDestroy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nallowAuditLogging := bucket.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: \"Put bucket policy needed for audit logging\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:PutObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/*\", arn),\n},\n},\n{\nSid: \"Get bucket policy needed for audit logging\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:GetBucketAcl\",\n},\nResources: bucketAwsS3Bucket.Arn,\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = s3.NewBucketPolicy(ctx, \"allow_audit_logging\", \u0026s3.BucketPolicyArgs{\nBucket: bucket.ID(),\nPolicy: pulumi.String(allowAuditLogging.ApplyT(func(allowAuditLogging iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026allowAuditLogging.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.RedshiftFunctions;\nimport com.pulumi.aws.redshift.inputs.GetServiceAccountArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = RedshiftFunctions.getServiceAccount();\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"tf-redshift-logging-test-bucket\")\n .forceDestroy(true)\n .build());\n\n final var allowAuditLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Put bucket policy needed for audit logging\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:PutObject\")\n .resources(bucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Get bucket policy needed for audit logging\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:GetBucketAcl\")\n .resources(bucketAwsS3Bucket.arn())\n .build())\n .build());\n\n var allowAuditLoggingBucketPolicy = new BucketPolicy(\"allowAuditLoggingBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(bucket.id())\n .policy(allowAuditLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowAuditLogging -\u003e allowAuditLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-redshift-logging-test-bucket\n forceDestroy: true\n allowAuditLoggingBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_audit_logging\n properties:\n bucket: ${bucket.id}\n policy: ${allowAuditLogging.json}\nvariables:\n main:\n fn::invoke:\n function: aws:redshift:getServiceAccount\n arguments: {}\n allowAuditLogging:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: Put bucket policy needed for audit logging\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:PutObject\n resources:\n - ${bucket.arn}/*\n - sid: Get bucket policy needed for audit logging\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:GetBucketAcl\n resources: ${bucketAwsS3Bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the Account ID of the [AWS Redshift Service Account](http://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-enable-logging)\nin a given region for the purpose of allowing Redshift to store audit data in S3.\n\n\u003e **Note:** AWS documentation [states that](https://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-bucket-permissions) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy.\nThe `aws.redshift.getServiceAccount` data source has been deprecated and will be removed in a future version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.redshift.getServiceAccount({});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {\n bucket: \"tf-redshift-logging-test-bucket\",\n forceDestroy: true,\n});\nconst allowAuditLogging = pulumi.all([main, bucket.arn, main]).apply(([main, arn, main1]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n sid: \"Put bucket policy needed for audit logging\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main.arn],\n }],\n actions: [\"s3:PutObject\"],\n resources: [`${arn}/*`],\n },\n {\n sid: \"Get bucket policy needed for audit logging\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main1.arn],\n }],\n actions: [\"s3:GetBucketAcl\"],\n resources: bucketAwsS3Bucket.arn,\n },\n ],\n}));\nconst allowAuditLoggingBucketPolicy = new aws.s3.BucketPolicy(\"allow_audit_logging\", {\n bucket: bucket.id,\n policy: allowAuditLogging.apply(allowAuditLogging =\u003e allowAuditLogging.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.redshift.get_service_account()\nbucket = aws.s3.BucketV2(\"bucket\",\n bucket=\"tf-redshift-logging-test-bucket\",\n force_destroy=True)\nallow_audit_logging = bucket.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[\n {\n \"sid\": \"Put bucket policy needed for audit logging\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [main.arn],\n }],\n \"actions\": [\"s3:PutObject\"],\n \"resources\": [f\"{arn}/*\"],\n },\n {\n \"sid\": \"Get bucket policy needed for audit logging\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [main.arn],\n }],\n \"actions\": [\"s3:GetBucketAcl\"],\n \"resources\": bucket_aws_s3_bucket[\"arn\"],\n },\n]))\nallow_audit_logging_bucket_policy = aws.s3.BucketPolicy(\"allow_audit_logging\",\n bucket=bucket.id,\n policy=allow_audit_logging.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.RedShift.GetServiceAccount.Invoke();\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"tf-redshift-logging-test-bucket\",\n ForceDestroy = true,\n });\n\n var allowAuditLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Put bucket policy needed for audit logging\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{bucket.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Get bucket policy needed for audit logging\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n },\n Resources = bucketAwsS3Bucket.Arn,\n },\n },\n });\n\n var allowAuditLoggingBucketPolicy = new Aws.S3.BucketPolicy(\"allow_audit_logging\", new()\n {\n Bucket = bucket.Id,\n Policy = allowAuditLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmain, err := redshift.GetServiceAccount(ctx, \u0026redshift.GetServiceAccountArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"tf-redshift-logging-test-bucket\"),\nForceDestroy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nallowAuditLogging := bucket.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: \"Put bucket policy needed for audit logging\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:PutObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/*\", arn),\n},\n},\n{\nSid: \"Get bucket policy needed for audit logging\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:GetBucketAcl\",\n},\nResources: bucketAwsS3Bucket.Arn,\n},\n},\n}, nil))), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = s3.NewBucketPolicy(ctx, \"allow_audit_logging\", \u0026s3.BucketPolicyArgs{\nBucket: bucket.ID(),\nPolicy: pulumi.String(allowAuditLogging.ApplyT(func(allowAuditLogging iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026allowAuditLogging.Json, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.RedshiftFunctions;\nimport com.pulumi.aws.redshift.inputs.GetServiceAccountArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = RedshiftFunctions.getServiceAccount();\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"tf-redshift-logging-test-bucket\")\n .forceDestroy(true)\n .build());\n\n final var allowAuditLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Put bucket policy needed for audit logging\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:PutObject\")\n .resources(bucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Get bucket policy needed for audit logging\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:GetBucketAcl\")\n .resources(bucketAwsS3Bucket.arn())\n .build())\n .build());\n\n var allowAuditLoggingBucketPolicy = new BucketPolicy(\"allowAuditLoggingBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(bucket.id())\n .policy(allowAuditLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowAuditLogging -\u003e allowAuditLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-redshift-logging-test-bucket\n forceDestroy: true\n allowAuditLoggingBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_audit_logging\n properties:\n bucket: ${bucket.id}\n policy: ${allowAuditLogging.json}\nvariables:\n main:\n fn::invoke:\n Function: aws:redshift:getServiceAccount\n Arguments: {}\n allowAuditLogging:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Put bucket policy needed for audit logging\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:PutObject\n resources:\n - ${bucket.arn}/*\n - sid: Get bucket policy needed for audit logging\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:GetBucketAcl\n resources: ${bucketAwsS3Bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServiceAccount.\n", "properties": { @@ -420651,7 +420651,7 @@ } }, "aws:redshift/getSubnetGroup:getSubnetGroup": { - "description": "Provides details about a specific redshift subnet group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.redshift.getSubnetGroup({\n name: exampleAwsRedshiftSubnetGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.get_subnet_group(name=example_aws_redshift_subnet_group[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.RedShift.GetSubnetGroup.Invoke(new()\n {\n Name = exampleAwsRedshiftSubnetGroup.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\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 := redshift.LookupSubnetGroup(ctx, \u0026redshift.LookupSubnetGroupArgs{\n\t\t\tName: exampleAwsRedshiftSubnetGroup.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.RedshiftFunctions;\nimport com.pulumi.aws.redshift.inputs.GetSubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RedshiftFunctions.getSubnetGroup(GetSubnetGroupArgs.builder()\n .name(exampleAwsRedshiftSubnetGroup.name())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:redshift:getSubnetGroup\n arguments:\n name: ${exampleAwsRedshiftSubnetGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific redshift subnet group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.redshift.getSubnetGroup({\n name: exampleAwsRedshiftSubnetGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.get_subnet_group(name=example_aws_redshift_subnet_group[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.RedShift.GetSubnetGroup.Invoke(new()\n {\n Name = exampleAwsRedshiftSubnetGroup.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\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 := redshift.LookupSubnetGroup(ctx, \u0026redshift.LookupSubnetGroupArgs{\n\t\t\tName: exampleAwsRedshiftSubnetGroup.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.RedshiftFunctions;\nimport com.pulumi.aws.redshift.inputs.GetSubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RedshiftFunctions.getSubnetGroup(GetSubnetGroupArgs.builder()\n .name(exampleAwsRedshiftSubnetGroup.name())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:redshift:getSubnetGroup\n Arguments:\n name: ${exampleAwsRedshiftSubnetGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSubnetGroup.\n", "properties": { @@ -420717,7 +420717,7 @@ } }, "aws:redshiftserverless/getCredentials:getCredentials": { - "description": "Provides redshift serverless temporary credentials for a workgroup.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.redshiftserverless.getCredentials({\n workgroupName: exampleAwsRedshiftserverlessWorkgroup.workgroupName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.get_credentials(workgroup_name=example_aws_redshiftserverless_workgroup[\"workgroupName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.RedshiftServerless.GetCredentials.Invoke(new()\n {\n WorkgroupName = exampleAwsRedshiftserverlessWorkgroup.WorkgroupName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\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 := redshiftserverless.GetCredentials(ctx, \u0026redshiftserverless.GetCredentialsArgs{\n\t\t\tWorkgroupName: exampleAwsRedshiftserverlessWorkgroup.WorkgroupName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshiftserverless.RedshiftserverlessFunctions;\nimport com.pulumi.aws.redshiftserverless.inputs.GetCredentialsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RedshiftserverlessFunctions.getCredentials(GetCredentialsArgs.builder()\n .workgroupName(exampleAwsRedshiftserverlessWorkgroup.workgroupName())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:redshiftserverless:getCredentials\n arguments:\n workgroupName: ${exampleAwsRedshiftserverlessWorkgroup.workgroupName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides redshift serverless temporary credentials for a workgroup.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.redshiftserverless.getCredentials({\n workgroupName: exampleAwsRedshiftserverlessWorkgroup.workgroupName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.get_credentials(workgroup_name=example_aws_redshiftserverless_workgroup[\"workgroupName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.RedshiftServerless.GetCredentials.Invoke(new()\n {\n WorkgroupName = exampleAwsRedshiftserverlessWorkgroup.WorkgroupName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\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 := redshiftserverless.GetCredentials(ctx, \u0026redshiftserverless.GetCredentialsArgs{\n\t\t\tWorkgroupName: exampleAwsRedshiftserverlessWorkgroup.WorkgroupName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshiftserverless.RedshiftserverlessFunctions;\nimport com.pulumi.aws.redshiftserverless.inputs.GetCredentialsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RedshiftserverlessFunctions.getCredentials(GetCredentialsArgs.builder()\n .workgroupName(exampleAwsRedshiftserverlessWorkgroup.workgroupName())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:redshiftserverless:getCredentials\n Arguments:\n workgroupName: ${exampleAwsRedshiftserverlessWorkgroup.workgroupName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCredentials.\n", "properties": { @@ -420780,7 +420780,7 @@ } }, "aws:redshiftserverless/getNamespace:getNamespace": { - "description": "Data source for managing an AWS Redshift Serverless Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.redshiftserverless.getNamespace({\n namespaceName: \"example-namespace\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.get_namespace(namespace_name=\"example-namespace\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.RedshiftServerless.GetNamespace.Invoke(new()\n {\n NamespaceName = \"example-namespace\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\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 := redshiftserverless.LookupNamespace(ctx, \u0026redshiftserverless.LookupNamespaceArgs{\n\t\t\tNamespaceName: \"example-namespace\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshiftserverless.RedshiftserverlessFunctions;\nimport com.pulumi.aws.redshiftserverless.inputs.GetNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RedshiftserverlessFunctions.getNamespace(GetNamespaceArgs.builder()\n .namespaceName(\"example-namespace\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:redshiftserverless:getNamespace\n arguments:\n namespaceName: example-namespace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Redshift Serverless Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.redshiftserverless.getNamespace({\n namespaceName: \"example-namespace\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.get_namespace(namespace_name=\"example-namespace\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.RedshiftServerless.GetNamespace.Invoke(new()\n {\n NamespaceName = \"example-namespace\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\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 := redshiftserverless.LookupNamespace(ctx, \u0026redshiftserverless.LookupNamespaceArgs{\n\t\t\tNamespaceName: \"example-namespace\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshiftserverless.RedshiftserverlessFunctions;\nimport com.pulumi.aws.redshiftserverless.inputs.GetNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RedshiftserverlessFunctions.getNamespace(GetNamespaceArgs.builder()\n .namespaceName(\"example-namespace\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:redshiftserverless:getNamespace\n Arguments:\n namespaceName: example-namespace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getNamespace.\n", "properties": { @@ -420859,7 +420859,7 @@ } }, "aws:redshiftserverless/getWorkgroup:getWorkgroup": { - "description": "Data source for managing an AWS Redshift Serverless Workgroup.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.redshiftserverless.getWorkgroup({\n workgroupName: exampleAwsRedshiftserverlessWorkgroup.workgroupName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.get_workgroup(workgroup_name=example_aws_redshiftserverless_workgroup[\"workgroupName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.RedshiftServerless.GetWorkgroup.Invoke(new()\n {\n WorkgroupName = exampleAwsRedshiftserverlessWorkgroup.WorkgroupName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\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 := redshiftserverless.LookupWorkgroup(ctx, \u0026redshiftserverless.LookupWorkgroupArgs{\n\t\t\tWorkgroupName: exampleAwsRedshiftserverlessWorkgroup.WorkgroupName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshiftserverless.RedshiftserverlessFunctions;\nimport com.pulumi.aws.redshiftserverless.inputs.GetWorkgroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RedshiftserverlessFunctions.getWorkgroup(GetWorkgroupArgs.builder()\n .workgroupName(exampleAwsRedshiftserverlessWorkgroup.workgroupName())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:redshiftserverless:getWorkgroup\n arguments:\n workgroupName: ${exampleAwsRedshiftserverlessWorkgroup.workgroupName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Redshift Serverless Workgroup.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.redshiftserverless.getWorkgroup({\n workgroupName: exampleAwsRedshiftserverlessWorkgroup.workgroupName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.get_workgroup(workgroup_name=example_aws_redshiftserverless_workgroup[\"workgroupName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.RedshiftServerless.GetWorkgroup.Invoke(new()\n {\n WorkgroupName = exampleAwsRedshiftserverlessWorkgroup.WorkgroupName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\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 := redshiftserverless.LookupWorkgroup(ctx, \u0026redshiftserverless.LookupWorkgroupArgs{\n\t\t\tWorkgroupName: exampleAwsRedshiftserverlessWorkgroup.WorkgroupName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshiftserverless.RedshiftserverlessFunctions;\nimport com.pulumi.aws.redshiftserverless.inputs.GetWorkgroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = RedshiftserverlessFunctions.getWorkgroup(GetWorkgroupArgs.builder()\n .workgroupName(exampleAwsRedshiftserverlessWorkgroup.workgroupName())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:redshiftserverless:getWorkgroup\n Arguments:\n workgroupName: ${exampleAwsRedshiftserverlessWorkgroup.workgroupName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getWorkgroup.\n", "properties": { @@ -420940,7 +420940,7 @@ } }, "aws:resourceexplorer/search:Search": { - "description": "Data source for managing an AWS Resource Explorer Search.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.resourceexplorer.Search({\n queryString: \"region:us-west-2\",\n viewArn: test.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.resourceexplorer.search(query_string=\"region:us-west-2\",\n view_arn=test[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ResourceExplorer.Search.Invoke(new()\n {\n QueryString = \"region:us-west-2\",\n ViewArn = test.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourceexplorer\"\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 := resourceexplorer.Search(ctx, \u0026resourceexplorer.SearchArgs{\n\t\t\tQueryString: \"region:us-west-2\",\n\t\t\tViewArn: pulumi.StringRef(test.Arn),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.resourceexplorer.ResourceexplorerFunctions;\nimport com.pulumi.aws.resourceexplorer.inputs.SearchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ResourceexplorerFunctions.Search(SearchArgs.builder()\n .queryString(\"region:us-west-2\")\n .viewArn(test.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:resourceexplorer:Search\n arguments:\n queryString: region:us-west-2\n viewArn: ${test.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Resource Explorer Search.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.resourceexplorer.Search({\n queryString: \"region:us-west-2\",\n viewArn: test.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.resourceexplorer.search(query_string=\"region:us-west-2\",\n view_arn=test[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ResourceExplorer.Search.Invoke(new()\n {\n QueryString = \"region:us-west-2\",\n ViewArn = test.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourceexplorer\"\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 := resourceexplorer.Search(ctx, \u0026resourceexplorer.SearchArgs{\n\t\t\tQueryString: \"region:us-west-2\",\n\t\t\tViewArn: pulumi.StringRef(test.Arn),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.resourceexplorer.ResourceexplorerFunctions;\nimport com.pulumi.aws.resourceexplorer.inputs.SearchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ResourceexplorerFunctions.Search(SearchArgs.builder()\n .queryString(\"region:us-west-2\")\n .viewArn(test.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:resourceexplorer:Search\n Arguments:\n queryString: region:us-west-2\n viewArn: ${test.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking Search.\n", "properties": { @@ -420997,7 +420997,7 @@ } }, "aws:resourcegroupstaggingapi/getResources:getResources": { - "description": "Provides details about resource tagging.\n\n## Example Usage\n\n### Get All Resource Tag Mappings\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.resourcegroupstaggingapi.getResources({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.resourcegroupstaggingapi.get_resources()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.ResourceGroupsTaggingApi.GetResources.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourcegroupstaggingapi\"\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 := resourcegroupstaggingapi.GetResources(ctx, \u0026resourcegroupstaggingapi.GetResourcesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.resourcegroupstaggingapi.ResourcegroupstaggingapiFunctions;\nimport com.pulumi.aws.resourcegroupstaggingapi.inputs.GetResourcesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ResourcegroupstaggingapiFunctions.getResources();\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:resourcegroupstaggingapi:getResources\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter By Tag Key and Value\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.resourcegroupstaggingapi.getResources({\n tagFilters: [{\n key: \"tag-key\",\n values: [\n \"tag-value-1\",\n \"tag-value-2\",\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.resourcegroupstaggingapi.get_resources(tag_filters=[{\n \"key\": \"tag-key\",\n \"values\": [\n \"tag-value-1\",\n \"tag-value-2\",\n ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.ResourceGroupsTaggingApi.GetResources.Invoke(new()\n {\n TagFilters = new[]\n {\n new Aws.ResourceGroupsTaggingApi.Inputs.GetResourcesTagFilterInputArgs\n {\n Key = \"tag-key\",\n Values = new[]\n {\n \"tag-value-1\",\n \"tag-value-2\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourcegroupstaggingapi\"\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 := resourcegroupstaggingapi.GetResources(ctx, \u0026resourcegroupstaggingapi.GetResourcesArgs{\n\t\t\tTagFilters: []resourcegroupstaggingapi.GetResourcesTagFilter{\n\t\t\t\t{\n\t\t\t\t\tKey: \"tag-key\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"tag-value-1\",\n\t\t\t\t\t\t\"tag-value-2\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.resourcegroupstaggingapi.ResourcegroupstaggingapiFunctions;\nimport com.pulumi.aws.resourcegroupstaggingapi.inputs.GetResourcesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ResourcegroupstaggingapiFunctions.getResources(GetResourcesArgs.builder()\n .tagFilters(GetResourcesTagFilterArgs.builder()\n .key(\"tag-key\")\n .values( \n \"tag-value-1\",\n \"tag-value-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:resourcegroupstaggingapi:getResources\n arguments:\n tagFilters:\n - key: tag-key\n values:\n - tag-value-1\n - tag-value-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter By Resource Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.resourcegroupstaggingapi.getResources({\n resourceTypeFilters: [\"ec2:instance\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.resourcegroupstaggingapi.get_resources(resource_type_filters=[\"ec2:instance\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.ResourceGroupsTaggingApi.GetResources.Invoke(new()\n {\n ResourceTypeFilters = new[]\n {\n \"ec2:instance\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourcegroupstaggingapi\"\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 := resourcegroupstaggingapi.GetResources(ctx, \u0026resourcegroupstaggingapi.GetResourcesArgs{\n\t\t\tResourceTypeFilters: []string{\n\t\t\t\t\"ec2:instance\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.resourcegroupstaggingapi.ResourcegroupstaggingapiFunctions;\nimport com.pulumi.aws.resourcegroupstaggingapi.inputs.GetResourcesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ResourcegroupstaggingapiFunctions.getResources(GetResourcesArgs.builder()\n .resourceTypeFilters(\"ec2:instance\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:resourcegroupstaggingapi:getResources\n arguments:\n resourceTypeFilters:\n - ec2:instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about resource tagging.\n\n## Example Usage\n\n### Get All Resource Tag Mappings\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.resourcegroupstaggingapi.getResources({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.resourcegroupstaggingapi.get_resources()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.ResourceGroupsTaggingApi.GetResources.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourcegroupstaggingapi\"\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 := resourcegroupstaggingapi.GetResources(ctx, \u0026resourcegroupstaggingapi.GetResourcesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.resourcegroupstaggingapi.ResourcegroupstaggingapiFunctions;\nimport com.pulumi.aws.resourcegroupstaggingapi.inputs.GetResourcesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ResourcegroupstaggingapiFunctions.getResources();\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:resourcegroupstaggingapi:getResources\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter By Tag Key and Value\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.resourcegroupstaggingapi.getResources({\n tagFilters: [{\n key: \"tag-key\",\n values: [\n \"tag-value-1\",\n \"tag-value-2\",\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.resourcegroupstaggingapi.get_resources(tag_filters=[{\n \"key\": \"tag-key\",\n \"values\": [\n \"tag-value-1\",\n \"tag-value-2\",\n ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.ResourceGroupsTaggingApi.GetResources.Invoke(new()\n {\n TagFilters = new[]\n {\n new Aws.ResourceGroupsTaggingApi.Inputs.GetResourcesTagFilterInputArgs\n {\n Key = \"tag-key\",\n Values = new[]\n {\n \"tag-value-1\",\n \"tag-value-2\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourcegroupstaggingapi\"\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 := resourcegroupstaggingapi.GetResources(ctx, \u0026resourcegroupstaggingapi.GetResourcesArgs{\n\t\t\tTagFilters: []resourcegroupstaggingapi.GetResourcesTagFilter{\n\t\t\t\t{\n\t\t\t\t\tKey: \"tag-key\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"tag-value-1\",\n\t\t\t\t\t\t\"tag-value-2\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.resourcegroupstaggingapi.ResourcegroupstaggingapiFunctions;\nimport com.pulumi.aws.resourcegroupstaggingapi.inputs.GetResourcesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ResourcegroupstaggingapiFunctions.getResources(GetResourcesArgs.builder()\n .tagFilters(GetResourcesTagFilterArgs.builder()\n .key(\"tag-key\")\n .values( \n \"tag-value-1\",\n \"tag-value-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:resourcegroupstaggingapi:getResources\n Arguments:\n tagFilters:\n - key: tag-key\n values:\n - tag-value-1\n - tag-value-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter By Resource Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.resourcegroupstaggingapi.getResources({\n resourceTypeFilters: [\"ec2:instance\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.resourcegroupstaggingapi.get_resources(resource_type_filters=[\"ec2:instance\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.ResourceGroupsTaggingApi.GetResources.Invoke(new()\n {\n ResourceTypeFilters = new[]\n {\n \"ec2:instance\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourcegroupstaggingapi\"\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 := resourcegroupstaggingapi.GetResources(ctx, \u0026resourcegroupstaggingapi.GetResourcesArgs{\n\t\t\tResourceTypeFilters: []string{\n\t\t\t\t\"ec2:instance\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.resourcegroupstaggingapi.ResourcegroupstaggingapiFunctions;\nimport com.pulumi.aws.resourcegroupstaggingapi.inputs.GetResourcesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ResourcegroupstaggingapiFunctions.getResources(GetResourcesArgs.builder()\n .resourceTypeFilters(\"ec2:instance\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:resourcegroupstaggingapi:getResources\n Arguments:\n resourceTypeFilters:\n - ec2:instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResources.\n", "properties": { @@ -421080,7 +421080,7 @@ } }, "aws:route53/getDelegationSet:getDelegationSet": { - "description": "`aws.route53.DelegationSet` provides details about a specific Route 53 Delegation Set.\n\nThis data source allows to find a list of name servers associated with a specific delegation set.\n\n## Example Usage\n\nThe following example shows how to get a delegation set from its id.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dset = aws.route53.getDelegationSet({\n id: \"MQWGHCBFAKEID\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndset = aws.route53.get_delegation_set(id=\"MQWGHCBFAKEID\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dset = Aws.Route53.GetDelegationSet.Invoke(new()\n {\n Id = \"MQWGHCBFAKEID\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.LookupDelegationSet(ctx, \u0026route53.LookupDelegationSetArgs{\n\t\t\tId: \"MQWGHCBFAKEID\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetDelegationSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var dset = Route53Functions.getDelegationSet(GetDelegationSetArgs.builder()\n .id(\"MQWGHCBFAKEID\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n dset:\n fn::invoke:\n function: aws:route53:getDelegationSet\n arguments:\n id: MQWGHCBFAKEID\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.route53.DelegationSet` provides details about a specific Route 53 Delegation Set.\n\nThis data source allows to find a list of name servers associated with a specific delegation set.\n\n## Example Usage\n\nThe following example shows how to get a delegation set from its id.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dset = aws.route53.getDelegationSet({\n id: \"MQWGHCBFAKEID\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndset = aws.route53.get_delegation_set(id=\"MQWGHCBFAKEID\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dset = Aws.Route53.GetDelegationSet.Invoke(new()\n {\n Id = \"MQWGHCBFAKEID\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.LookupDelegationSet(ctx, \u0026route53.LookupDelegationSetArgs{\n\t\t\tId: \"MQWGHCBFAKEID\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetDelegationSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var dset = Route53Functions.getDelegationSet(GetDelegationSetArgs.builder()\n .id(\"MQWGHCBFAKEID\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n dset:\n fn::invoke:\n Function: aws:route53:getDelegationSet\n Arguments:\n id: MQWGHCBFAKEID\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDelegationSet.\n", "properties": { @@ -421123,7 +421123,7 @@ } }, "aws:route53/getProfilesProfiles:getProfilesProfiles": { - "description": "Data source for managing an AWS Route 53 Profiles.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getProfilesProfiles({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_profiles_profiles()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetProfilesProfiles.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.GetProfilesProfiles(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getProfilesProfiles();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:route53:getProfilesProfiles\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Route 53 Profiles.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getProfilesProfiles({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_profiles_profiles()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetProfilesProfiles.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.GetProfilesProfiles(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getProfilesProfiles();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getProfilesProfiles\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getProfilesProfiles.\n", "properties": { @@ -421147,7 +421147,7 @@ } }, "aws:route53/getQueryLogConfig:getQueryLogConfig": { - "description": "`aws.route53.ResolverQueryLogConfig` provides details about a specific Route53 Resolver Query Logging Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getQueryLogConfig({\n resolverQueryLogConfigId: \"rqlc-1abc2345ef678g91h\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_query_log_config(resolver_query_log_config_id=\"rqlc-1abc2345ef678g91h\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetQueryLogConfig.Invoke(new()\n {\n ResolverQueryLogConfigId = \"rqlc-1abc2345ef678g91h\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.GetQueryLogConfig(ctx, \u0026route53.GetQueryLogConfigArgs{\n\t\t\tResolverQueryLogConfigId: pulumi.StringRef(\"rqlc-1abc2345ef678g91h\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetQueryLogConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getQueryLogConfig(GetQueryLogConfigArgs.builder()\n .resolverQueryLogConfigId(\"rqlc-1abc2345ef678g91h\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:route53:getQueryLogConfig\n arguments:\n resolverQueryLogConfigId: rqlc-1abc2345ef678g91h\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getQueryLogConfig({\n filters: [\n {\n name: \"Name\",\n values: [\"shared-query-log-config\"],\n },\n {\n name: \"ShareStatus\",\n values: [\"SHARED_WITH_ME\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_query_log_config(filters=[\n {\n \"name\": \"Name\",\n \"values\": [\"shared-query-log-config\"],\n },\n {\n \"name\": \"ShareStatus\",\n \"values\": [\"SHARED_WITH_ME\"],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetQueryLogConfig.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Route53.Inputs.GetQueryLogConfigFilterInputArgs\n {\n Name = \"Name\",\n Values = new[]\n {\n \"shared-query-log-config\",\n },\n },\n new Aws.Route53.Inputs.GetQueryLogConfigFilterInputArgs\n {\n Name = \"ShareStatus\",\n Values = new[]\n {\n \"SHARED_WITH_ME\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.GetQueryLogConfig(ctx, \u0026route53.GetQueryLogConfigArgs{\n\t\t\tFilters: []route53.GetQueryLogConfigFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"shared-query-log-config\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"ShareStatus\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"SHARED_WITH_ME\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetQueryLogConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getQueryLogConfig(GetQueryLogConfigArgs.builder()\n .filters( \n GetQueryLogConfigFilterArgs.builder()\n .name(\"Name\")\n .values(\"shared-query-log-config\")\n .build(),\n GetQueryLogConfigFilterArgs.builder()\n .name(\"ShareStatus\")\n .values(\"SHARED_WITH_ME\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:route53:getQueryLogConfig\n arguments:\n filters:\n - name: Name\n values:\n - shared-query-log-config\n - name: ShareStatus\n values:\n - SHARED_WITH_ME\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.route53.ResolverQueryLogConfig` provides details about a specific Route53 Resolver Query Logging Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getQueryLogConfig({\n resolverQueryLogConfigId: \"rqlc-1abc2345ef678g91h\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_query_log_config(resolver_query_log_config_id=\"rqlc-1abc2345ef678g91h\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetQueryLogConfig.Invoke(new()\n {\n ResolverQueryLogConfigId = \"rqlc-1abc2345ef678g91h\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.GetQueryLogConfig(ctx, \u0026route53.GetQueryLogConfigArgs{\n\t\t\tResolverQueryLogConfigId: pulumi.StringRef(\"rqlc-1abc2345ef678g91h\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetQueryLogConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getQueryLogConfig(GetQueryLogConfigArgs.builder()\n .resolverQueryLogConfigId(\"rqlc-1abc2345ef678g91h\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getQueryLogConfig\n Arguments:\n resolverQueryLogConfigId: rqlc-1abc2345ef678g91h\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getQueryLogConfig({\n filters: [\n {\n name: \"Name\",\n values: [\"shared-query-log-config\"],\n },\n {\n name: \"ShareStatus\",\n values: [\"SHARED_WITH_ME\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_query_log_config(filters=[\n {\n \"name\": \"Name\",\n \"values\": [\"shared-query-log-config\"],\n },\n {\n \"name\": \"ShareStatus\",\n \"values\": [\"SHARED_WITH_ME\"],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetQueryLogConfig.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Route53.Inputs.GetQueryLogConfigFilterInputArgs\n {\n Name = \"Name\",\n Values = new[]\n {\n \"shared-query-log-config\",\n },\n },\n new Aws.Route53.Inputs.GetQueryLogConfigFilterInputArgs\n {\n Name = \"ShareStatus\",\n Values = new[]\n {\n \"SHARED_WITH_ME\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.GetQueryLogConfig(ctx, \u0026route53.GetQueryLogConfigArgs{\n\t\t\tFilters: []route53.GetQueryLogConfigFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"shared-query-log-config\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"ShareStatus\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"SHARED_WITH_ME\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetQueryLogConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getQueryLogConfig(GetQueryLogConfigArgs.builder()\n .filters( \n GetQueryLogConfigFilterArgs.builder()\n .name(\"Name\")\n .values(\"shared-query-log-config\")\n .build(),\n GetQueryLogConfigFilterArgs.builder()\n .name(\"ShareStatus\")\n .values(\"SHARED_WITH_ME\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getQueryLogConfig\n Arguments:\n filters:\n - name: Name\n values:\n - shared-query-log-config\n - name: ShareStatus\n values:\n - SHARED_WITH_ME\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getQueryLogConfig.\n", "properties": { @@ -421226,7 +421226,7 @@ } }, "aws:route53/getResolverEndpoint:getResolverEndpoint": { - "description": "`aws.route53.ResolverEndpoint` provides details about a specific Route53 Resolver Endpoint.\n\nThis data source allows to find a list of IPaddresses associated with a specific Route53 Resolver Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverEndpoint({\n resolverEndpointId: \"rslvr-in-1abc2345ef678g91h\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_endpoint(resolver_endpoint_id=\"rslvr-in-1abc2345ef678g91h\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverEndpoint.Invoke(new()\n {\n ResolverEndpointId = \"rslvr-in-1abc2345ef678g91h\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.LookupResolverEndpoint(ctx, \u0026route53.LookupResolverEndpointArgs{\n\t\t\tResolverEndpointId: pulumi.StringRef(\"rslvr-in-1abc2345ef678g91h\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverEndpoint(GetResolverEndpointArgs.builder()\n .resolverEndpointId(\"rslvr-in-1abc2345ef678g91h\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:route53:getResolverEndpoint\n arguments:\n resolverEndpointId: rslvr-in-1abc2345ef678g91h\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverEndpoint({\n filters: [{\n name: \"NAME\",\n values: [\"MyResolverExampleName\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_endpoint(filters=[{\n \"name\": \"NAME\",\n \"values\": [\"MyResolverExampleName\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverEndpoint.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Route53.Inputs.GetResolverEndpointFilterInputArgs\n {\n Name = \"NAME\",\n Values = new[]\n {\n \"MyResolverExampleName\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.LookupResolverEndpoint(ctx, \u0026route53.LookupResolverEndpointArgs{\n\t\t\tFilters: []route53.GetResolverEndpointFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"NAME\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"MyResolverExampleName\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverEndpoint(GetResolverEndpointArgs.builder()\n .filters(GetResolverEndpointFilterArgs.builder()\n .name(\"NAME\")\n .values(\"MyResolverExampleName\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:route53:getResolverEndpoint\n arguments:\n filters:\n - name: NAME\n values:\n - MyResolverExampleName\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.route53.ResolverEndpoint` provides details about a specific Route53 Resolver Endpoint.\n\nThis data source allows to find a list of IPaddresses associated with a specific Route53 Resolver Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverEndpoint({\n resolverEndpointId: \"rslvr-in-1abc2345ef678g91h\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_endpoint(resolver_endpoint_id=\"rslvr-in-1abc2345ef678g91h\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverEndpoint.Invoke(new()\n {\n ResolverEndpointId = \"rslvr-in-1abc2345ef678g91h\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.LookupResolverEndpoint(ctx, \u0026route53.LookupResolverEndpointArgs{\n\t\t\tResolverEndpointId: pulumi.StringRef(\"rslvr-in-1abc2345ef678g91h\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverEndpoint(GetResolverEndpointArgs.builder()\n .resolverEndpointId(\"rslvr-in-1abc2345ef678g91h\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getResolverEndpoint\n Arguments:\n resolverEndpointId: rslvr-in-1abc2345ef678g91h\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverEndpoint({\n filters: [{\n name: \"NAME\",\n values: [\"MyResolverExampleName\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_endpoint(filters=[{\n \"name\": \"NAME\",\n \"values\": [\"MyResolverExampleName\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverEndpoint.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Route53.Inputs.GetResolverEndpointFilterInputArgs\n {\n Name = \"NAME\",\n Values = new[]\n {\n \"MyResolverExampleName\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.LookupResolverEndpoint(ctx, \u0026route53.LookupResolverEndpointArgs{\n\t\t\tFilters: []route53.GetResolverEndpointFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"NAME\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"MyResolverExampleName\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverEndpoint(GetResolverEndpointArgs.builder()\n .filters(GetResolverEndpointFilterArgs.builder()\n .name(\"NAME\")\n .values(\"MyResolverExampleName\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getResolverEndpoint\n Arguments:\n filters:\n - name: NAME\n values:\n - MyResolverExampleName\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResolverEndpoint.\n", "properties": { @@ -421306,7 +421306,7 @@ } }, "aws:route53/getResolverFirewallConfig:getResolverFirewallConfig": { - "description": "`aws.route53.ResolverFirewallConfig` provides details about a specific a Route 53 Resolver DNS Firewall config.\n\nThis data source allows to find a details about a specific a Route 53 Resolver DNS Firewall config.\n\n## Example Usage\n\nThe following example shows how to get a firewall config using the VPC ID.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverFirewallConfig({\n resourceId: \"vpc-exampleid\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_firewall_config(resource_id=\"vpc-exampleid\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverFirewallConfig.Invoke(new()\n {\n ResourceId = \"vpc-exampleid\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.LookupResolverFirewallConfig(ctx, \u0026route53.LookupResolverFirewallConfigArgs{\n\t\t\tResourceId: \"vpc-exampleid\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverFirewallConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverFirewallConfig(GetResolverFirewallConfigArgs.builder()\n .resourceId(\"vpc-exampleid\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:route53:getResolverFirewallConfig\n arguments:\n resourceId: vpc-exampleid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.route53.ResolverFirewallConfig` provides details about a specific a Route 53 Resolver DNS Firewall config.\n\nThis data source allows to find a details about a specific a Route 53 Resolver DNS Firewall config.\n\n## Example Usage\n\nThe following example shows how to get a firewall config using the VPC ID.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverFirewallConfig({\n resourceId: \"vpc-exampleid\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_firewall_config(resource_id=\"vpc-exampleid\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverFirewallConfig.Invoke(new()\n {\n ResourceId = \"vpc-exampleid\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.LookupResolverFirewallConfig(ctx, \u0026route53.LookupResolverFirewallConfigArgs{\n\t\t\tResourceId: \"vpc-exampleid\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverFirewallConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverFirewallConfig(GetResolverFirewallConfigArgs.builder()\n .resourceId(\"vpc-exampleid\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getResolverFirewallConfig\n Arguments:\n resourceId: vpc-exampleid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResolverFirewallConfig.\n", "properties": { @@ -421347,7 +421347,7 @@ } }, "aws:route53/getResolverFirewallDomainList:getResolverFirewallDomainList": { - "description": "`aws.route53.ResolverFirewallDomainList` Retrieves the specified firewall domain list.\n\nThis data source allows to retrieve details about a specific a Route 53 Resolver DNS Firewall domain list.\n\n## Example Usage\n\nThe following example shows how to get a firewall domain list from its ID.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverFirewallDomainList({\n firewallDomainListId: \"rslvr-fdl-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_firewall_domain_list(firewall_domain_list_id=\"rslvr-fdl-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverFirewallDomainList.Invoke(new()\n {\n FirewallDomainListId = \"rslvr-fdl-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.LookupResolverFirewallDomainList(ctx, \u0026route53.LookupResolverFirewallDomainListArgs{\n\t\t\tFirewallDomainListId: \"rslvr-fdl-example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverFirewallDomainListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverFirewallDomainList(GetResolverFirewallDomainListArgs.builder()\n .firewallDomainListId(\"rslvr-fdl-example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:route53:getResolverFirewallDomainList\n arguments:\n firewallDomainListId: rslvr-fdl-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.route53.ResolverFirewallDomainList` Retrieves the specified firewall domain list.\n\nThis data source allows to retrieve details about a specific a Route 53 Resolver DNS Firewall domain list.\n\n## Example Usage\n\nThe following example shows how to get a firewall domain list from its ID.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverFirewallDomainList({\n firewallDomainListId: \"rslvr-fdl-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_firewall_domain_list(firewall_domain_list_id=\"rslvr-fdl-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverFirewallDomainList.Invoke(new()\n {\n FirewallDomainListId = \"rslvr-fdl-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.LookupResolverFirewallDomainList(ctx, \u0026route53.LookupResolverFirewallDomainListArgs{\n\t\t\tFirewallDomainListId: \"rslvr-fdl-example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverFirewallDomainListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverFirewallDomainList(GetResolverFirewallDomainListArgs.builder()\n .firewallDomainListId(\"rslvr-fdl-example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getResolverFirewallDomainList\n Arguments:\n firewallDomainListId: rslvr-fdl-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResolverFirewallDomainList.\n", "properties": { @@ -421416,7 +421416,7 @@ } }, "aws:route53/getResolverFirewallRuleGroup:getResolverFirewallRuleGroup": { - "description": "`aws.route53.ResolverFirewallRuleGroup` Retrieves the specified firewall rule group.\n\nThis data source allows to retrieve details about a specific a Route 53 Resolver DNS Firewall rule group.\n\n## Example Usage\n\nThe following example shows how to get a firewall rule group from its ID.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverFirewallRuleGroup({\n firewallRuleGroupId: \"rslvr-frg-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_firewall_rule_group(firewall_rule_group_id=\"rslvr-frg-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverFirewallRuleGroup.Invoke(new()\n {\n FirewallRuleGroupId = \"rslvr-frg-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.LookupResolverFirewallRuleGroup(ctx, \u0026route53.LookupResolverFirewallRuleGroupArgs{\n\t\t\tFirewallRuleGroupId: \"rslvr-frg-example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverFirewallRuleGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverFirewallRuleGroup(GetResolverFirewallRuleGroupArgs.builder()\n .firewallRuleGroupId(\"rslvr-frg-example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:route53:getResolverFirewallRuleGroup\n arguments:\n firewallRuleGroupId: rslvr-frg-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.route53.ResolverFirewallRuleGroup` Retrieves the specified firewall rule group.\n\nThis data source allows to retrieve details about a specific a Route 53 Resolver DNS Firewall rule group.\n\n## Example Usage\n\nThe following example shows how to get a firewall rule group from its ID.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverFirewallRuleGroup({\n firewallRuleGroupId: \"rslvr-frg-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_firewall_rule_group(firewall_rule_group_id=\"rslvr-frg-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverFirewallRuleGroup.Invoke(new()\n {\n FirewallRuleGroupId = \"rslvr-frg-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.LookupResolverFirewallRuleGroup(ctx, \u0026route53.LookupResolverFirewallRuleGroupArgs{\n\t\t\tFirewallRuleGroupId: \"rslvr-frg-example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverFirewallRuleGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverFirewallRuleGroup(GetResolverFirewallRuleGroupArgs.builder()\n .firewallRuleGroupId(\"rslvr-frg-example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getResolverFirewallRuleGroup\n Arguments:\n firewallRuleGroupId: rslvr-frg-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResolverFirewallRuleGroup.\n", "properties": { @@ -421489,7 +421489,7 @@ } }, "aws:route53/getResolverFirewallRuleGroupAssociation:getResolverFirewallRuleGroupAssociation": { - "description": "`aws.route53.ResolverFirewallRuleGroupAssociation` Retrieves the specified firewall rule group association.\n\nThis data source allows to retrieve details about a specific a Route 53 Resolver DNS Firewall rule group association.\n\n## Example Usage\n\nThe following example shows how to get a firewall rule group association from its id.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverFirewallRuleGroupAssociation({\n firewallRuleGroupAssociationId: \"rslvr-frgassoc-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_firewall_rule_group_association(firewall_rule_group_association_id=\"rslvr-frgassoc-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverFirewallRuleGroupAssociation.Invoke(new()\n {\n FirewallRuleGroupAssociationId = \"rslvr-frgassoc-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.LookupResolverFirewallRuleGroupAssociation(ctx, \u0026route53.LookupResolverFirewallRuleGroupAssociationArgs{\n\t\t\tFirewallRuleGroupAssociationId: \"rslvr-frgassoc-example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverFirewallRuleGroupAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverFirewallRuleGroupAssociation(GetResolverFirewallRuleGroupAssociationArgs.builder()\n .firewallRuleGroupAssociationId(\"rslvr-frgassoc-example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:route53:getResolverFirewallRuleGroupAssociation\n arguments:\n firewallRuleGroupAssociationId: rslvr-frgassoc-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.route53.ResolverFirewallRuleGroupAssociation` Retrieves the specified firewall rule group association.\n\nThis data source allows to retrieve details about a specific a Route 53 Resolver DNS Firewall rule group association.\n\n## Example Usage\n\nThe following example shows how to get a firewall rule group association from its id.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverFirewallRuleGroupAssociation({\n firewallRuleGroupAssociationId: \"rslvr-frgassoc-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_firewall_rule_group_association(firewall_rule_group_association_id=\"rslvr-frgassoc-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverFirewallRuleGroupAssociation.Invoke(new()\n {\n FirewallRuleGroupAssociationId = \"rslvr-frgassoc-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.LookupResolverFirewallRuleGroupAssociation(ctx, \u0026route53.LookupResolverFirewallRuleGroupAssociationArgs{\n\t\t\tFirewallRuleGroupAssociationId: \"rslvr-frgassoc-example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverFirewallRuleGroupAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverFirewallRuleGroupAssociation(GetResolverFirewallRuleGroupAssociationArgs.builder()\n .firewallRuleGroupAssociationId(\"rslvr-frgassoc-example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getResolverFirewallRuleGroupAssociation\n Arguments:\n firewallRuleGroupAssociationId: rslvr-frgassoc-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResolverFirewallRuleGroupAssociation.\n", "properties": { @@ -421570,7 +421570,7 @@ } }, "aws:route53/getResolverFirewallRules:getResolverFirewallRules": { - "description": "`aws.route53.getResolverFirewallRules` Provides details about rules in a specific Route53 Resolver Firewall rule group.\n\n## Example Usage\n\nThe following example shows how to get Route53 Resolver Firewall rules based on its associated firewall group id.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverFirewallRules({\n firewallRuleGroupId: exampleAwsRoute53ResolverFirewallRuleGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_firewall_rules(firewall_rule_group_id=example_aws_route53_resolver_firewall_rule_group[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverFirewallRules.Invoke(new()\n {\n FirewallRuleGroupId = exampleAwsRoute53ResolverFirewallRuleGroup.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.GetResolverFirewallRules(ctx, \u0026route53.GetResolverFirewallRulesArgs{\n\t\t\tFirewallRuleGroupId: exampleAwsRoute53ResolverFirewallRuleGroup.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverFirewallRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverFirewallRules(GetResolverFirewallRulesArgs.builder()\n .firewallRuleGroupId(exampleAwsRoute53ResolverFirewallRuleGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:route53:getResolverFirewallRules\n arguments:\n firewallRuleGroupId: ${exampleAwsRoute53ResolverFirewallRuleGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.route53.getResolverFirewallRules` Provides details about rules in a specific Route53 Resolver Firewall rule group.\n\n## Example Usage\n\nThe following example shows how to get Route53 Resolver Firewall rules based on its associated firewall group id.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverFirewallRules({\n firewallRuleGroupId: exampleAwsRoute53ResolverFirewallRuleGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_firewall_rules(firewall_rule_group_id=example_aws_route53_resolver_firewall_rule_group[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverFirewallRules.Invoke(new()\n {\n FirewallRuleGroupId = exampleAwsRoute53ResolverFirewallRuleGroup.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.GetResolverFirewallRules(ctx, \u0026route53.GetResolverFirewallRulesArgs{\n\t\t\tFirewallRuleGroupId: exampleAwsRoute53ResolverFirewallRuleGroup.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverFirewallRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverFirewallRules(GetResolverFirewallRulesArgs.builder()\n .firewallRuleGroupId(exampleAwsRoute53ResolverFirewallRuleGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getResolverFirewallRules\n Arguments:\n firewallRuleGroupId: ${exampleAwsRoute53ResolverFirewallRuleGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResolverFirewallRules.\n", "properties": { @@ -421625,7 +421625,7 @@ } }, "aws:route53/getResolverRule:getResolverRule": { - "description": "`aws.route53.ResolverRule` provides details about a specific Route53 Resolver rule.\n\n## Example Usage\n\nThe following example shows how to get a Route53 Resolver rule based on its associated domain name and rule type.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverRule({\n domainName: \"subdomain.example.com\",\n ruleType: \"SYSTEM\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_rule(domain_name=\"subdomain.example.com\",\n rule_type=\"SYSTEM\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverRule.Invoke(new()\n {\n DomainName = \"subdomain.example.com\",\n RuleType = \"SYSTEM\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.LookupResolverRule(ctx, \u0026route53.LookupResolverRuleArgs{\n\t\t\tDomainName: pulumi.StringRef(\"subdomain.example.com\"),\n\t\t\tRuleType: pulumi.StringRef(\"SYSTEM\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverRule(GetResolverRuleArgs.builder()\n .domainName(\"subdomain.example.com\")\n .ruleType(\"SYSTEM\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:route53:getResolverRule\n arguments:\n domainName: subdomain.example.com\n ruleType: SYSTEM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.route53.ResolverRule` provides details about a specific Route53 Resolver rule.\n\n## Example Usage\n\nThe following example shows how to get a Route53 Resolver rule based on its associated domain name and rule type.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverRule({\n domainName: \"subdomain.example.com\",\n ruleType: \"SYSTEM\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_rule(domain_name=\"subdomain.example.com\",\n rule_type=\"SYSTEM\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverRule.Invoke(new()\n {\n DomainName = \"subdomain.example.com\",\n RuleType = \"SYSTEM\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.LookupResolverRule(ctx, \u0026route53.LookupResolverRuleArgs{\n\t\t\tDomainName: pulumi.StringRef(\"subdomain.example.com\"),\n\t\t\tRuleType: pulumi.StringRef(\"SYSTEM\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverRule(GetResolverRuleArgs.builder()\n .domainName(\"subdomain.example.com\")\n .ruleType(\"SYSTEM\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getResolverRule\n Arguments:\n domainName: subdomain.example.com\n ruleType: SYSTEM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResolverRule.\n", "properties": { @@ -421717,7 +421717,7 @@ } }, "aws:route53/getResolverRules:getResolverRules": { - "description": "`aws.route53.getResolverRules` provides details about a set of Route53 Resolver rules.\n\n## Example Usage\n\n### Retrieving the default resolver rule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverRules({\n ownerId: \"Route 53 Resolver\",\n ruleType: \"RECURSIVE\",\n shareStatus: \"NOT_SHARED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_rules(owner_id=\"Route 53 Resolver\",\n rule_type=\"RECURSIVE\",\n share_status=\"NOT_SHARED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverRules.Invoke(new()\n {\n OwnerId = \"Route 53 Resolver\",\n RuleType = \"RECURSIVE\",\n ShareStatus = \"NOT_SHARED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.GetResolverRules(ctx, \u0026route53.GetResolverRulesArgs{\n\t\t\tOwnerId: pulumi.StringRef(\"Route 53 Resolver\"),\n\t\t\tRuleType: pulumi.StringRef(\"RECURSIVE\"),\n\t\t\tShareStatus: pulumi.StringRef(\"NOT_SHARED\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverRules(GetResolverRulesArgs.builder()\n .ownerId(\"Route 53 Resolver\")\n .ruleType(\"RECURSIVE\")\n .shareStatus(\"NOT_SHARED\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:route53:getResolverRules\n arguments:\n ownerId: Route 53 Resolver\n ruleType: RECURSIVE\n shareStatus: NOT_SHARED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Retrieving forward rules shared with me\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverRules({\n ruleType: \"FORWARD\",\n shareStatus: \"SHARED_WITH_ME\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_rules(rule_type=\"FORWARD\",\n share_status=\"SHARED_WITH_ME\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverRules.Invoke(new()\n {\n RuleType = \"FORWARD\",\n ShareStatus = \"SHARED_WITH_ME\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.GetResolverRules(ctx, \u0026route53.GetResolverRulesArgs{\n\t\t\tRuleType: pulumi.StringRef(\"FORWARD\"),\n\t\t\tShareStatus: pulumi.StringRef(\"SHARED_WITH_ME\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverRules(GetResolverRulesArgs.builder()\n .ruleType(\"FORWARD\")\n .shareStatus(\"SHARED_WITH_ME\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:route53:getResolverRules\n arguments:\n ruleType: FORWARD\n shareStatus: SHARED_WITH_ME\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Retrieving rules by name regex\n\nResolver rules whose name contains `abc`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverRules({\n nameRegex: \".*abc.*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_rules(name_regex=\".*abc.*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverRules.Invoke(new()\n {\n NameRegex = \".*abc.*\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.GetResolverRules(ctx, \u0026route53.GetResolverRulesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\".*abc.*\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverRules(GetResolverRulesArgs.builder()\n .nameRegex(\".*abc.*\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:route53:getResolverRules\n arguments:\n nameRegex: .*abc.*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.route53.getResolverRules` provides details about a set of Route53 Resolver rules.\n\n## Example Usage\n\n### Retrieving the default resolver rule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverRules({\n ownerId: \"Route 53 Resolver\",\n ruleType: \"RECURSIVE\",\n shareStatus: \"NOT_SHARED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_rules(owner_id=\"Route 53 Resolver\",\n rule_type=\"RECURSIVE\",\n share_status=\"NOT_SHARED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverRules.Invoke(new()\n {\n OwnerId = \"Route 53 Resolver\",\n RuleType = \"RECURSIVE\",\n ShareStatus = \"NOT_SHARED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.GetResolverRules(ctx, \u0026route53.GetResolverRulesArgs{\n\t\t\tOwnerId: pulumi.StringRef(\"Route 53 Resolver\"),\n\t\t\tRuleType: pulumi.StringRef(\"RECURSIVE\"),\n\t\t\tShareStatus: pulumi.StringRef(\"NOT_SHARED\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverRules(GetResolverRulesArgs.builder()\n .ownerId(\"Route 53 Resolver\")\n .ruleType(\"RECURSIVE\")\n .shareStatus(\"NOT_SHARED\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getResolverRules\n Arguments:\n ownerId: Route 53 Resolver\n ruleType: RECURSIVE\n shareStatus: NOT_SHARED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Retrieving forward rules shared with me\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverRules({\n ruleType: \"FORWARD\",\n shareStatus: \"SHARED_WITH_ME\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_rules(rule_type=\"FORWARD\",\n share_status=\"SHARED_WITH_ME\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverRules.Invoke(new()\n {\n RuleType = \"FORWARD\",\n ShareStatus = \"SHARED_WITH_ME\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.GetResolverRules(ctx, \u0026route53.GetResolverRulesArgs{\n\t\t\tRuleType: pulumi.StringRef(\"FORWARD\"),\n\t\t\tShareStatus: pulumi.StringRef(\"SHARED_WITH_ME\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverRules(GetResolverRulesArgs.builder()\n .ruleType(\"FORWARD\")\n .shareStatus(\"SHARED_WITH_ME\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getResolverRules\n Arguments:\n ruleType: FORWARD\n shareStatus: SHARED_WITH_ME\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Retrieving rules by name regex\n\nResolver rules whose name contains `abc`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getResolverRules({\n nameRegex: \".*abc.*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_resolver_rules(name_regex=\".*abc.*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetResolverRules.Invoke(new()\n {\n NameRegex = \".*abc.*\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.GetResolverRules(ctx, \u0026route53.GetResolverRulesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\".*abc.*\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetResolverRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getResolverRules(GetResolverRulesArgs.builder()\n .nameRegex(\".*abc.*\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getResolverRules\n Arguments:\n nameRegex: .*abc.*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResolverRules.\n", "properties": { @@ -421782,7 +421782,7 @@ } }, "aws:route53/getTrafficPolicyDocument:getTrafficPolicyDocument": { - "description": "Generates an Route53 traffic policy document in JSON format for use with resources that expect policy documents such as `aws.route53.TrafficPolicy`.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = Promise.all([current, current]).then(([current, current1]) =\u003e aws.route53.getTrafficPolicyDocument({\n recordType: \"A\",\n startRule: \"site_switch\",\n endpoints: [\n {\n id: \"my_elb\",\n type: \"elastic-load-balancer\",\n value: `elb-111111.${current.name}.elb.amazonaws.com`,\n },\n {\n id: \"site_down_banner\",\n type: \"s3-website\",\n region: current1.name,\n value: \"www.example.com\",\n },\n ],\n rules: [{\n id: \"site_switch\",\n type: \"failover\",\n primary: {\n endpointReference: \"my_elb\",\n },\n secondary: {\n endpointReference: \"site_down_banner\",\n },\n }],\n}));\nconst exampleTrafficPolicy = new aws.route53.TrafficPolicy(\"example\", {\n name: \"example\",\n comment: \"example comment\",\n document: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.route53.get_traffic_policy_document(record_type=\"A\",\n start_rule=\"site_switch\",\n endpoints=[\n {\n \"id\": \"my_elb\",\n \"type\": \"elastic-load-balancer\",\n \"value\": f\"elb-111111.{current.name}.elb.amazonaws.com\",\n },\n {\n \"id\": \"site_down_banner\",\n \"type\": \"s3-website\",\n \"region\": current.name,\n \"value\": \"www.example.com\",\n },\n ],\n rules=[{\n \"id\": \"site_switch\",\n \"type\": \"failover\",\n \"primary\": {\n \"endpoint_reference\": \"my_elb\",\n },\n \"secondary\": {\n \"endpoint_reference\": \"site_down_banner\",\n },\n }])\nexample_traffic_policy = aws.route53.TrafficPolicy(\"example\",\n name=\"example\",\n comment=\"example comment\",\n document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = Aws.Route53.GetTrafficPolicyDocument.Invoke(new()\n {\n RecordType = \"A\",\n StartRule = \"site_switch\",\n Endpoints = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"my_elb\",\n Type = \"elastic-load-balancer\",\n Value = $\"elb-111111.{current.Apply(getRegionResult =\u003e getRegionResult.Name)}.elb.amazonaws.com\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"site_down_banner\",\n Type = \"s3-website\",\n Region = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Value = \"www.example.com\",\n },\n },\n Rules = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleInputArgs\n {\n Id = \"site_switch\",\n Type = \"failover\",\n Primary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRulePrimaryInputArgs\n {\n EndpointReference = \"my_elb\",\n },\n Secondary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleSecondaryInputArgs\n {\n EndpointReference = \"site_down_banner\",\n },\n },\n },\n });\n\n var exampleTrafficPolicy = new Aws.Route53.TrafficPolicy(\"example\", new()\n {\n Name = \"example\",\n Comment = \"example comment\",\n Document = example.Apply(getTrafficPolicyDocumentResult =\u003e getTrafficPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := route53.GetTrafficPolicyDocument(ctx, \u0026route53.GetTrafficPolicyDocumentArgs{\n\t\t\tRecordType: pulumi.StringRef(\"A\"),\n\t\t\tStartRule: pulumi.StringRef(\"site_switch\"),\n\t\t\tEndpoints: []route53.GetTrafficPolicyDocumentEndpoint{\n\t\t\t\t{\n\t\t\t\t\tId: \"my_elb\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(fmt.Sprintf(\"elb-111111.%v.elb.amazonaws.com\", current.Name)),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"site_down_banner\",\n\t\t\t\t\tType: pulumi.StringRef(\"s3-website\"),\n\t\t\t\t\tRegion: pulumi.StringRef(current.Name),\n\t\t\t\t\tValue: pulumi.StringRef(\"www.example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRules: []route53.GetTrafficPolicyDocumentRule{\n\t\t\t\t{\n\t\t\t\t\tId: \"site_switch\",\n\t\t\t\t\tType: pulumi.StringRef(\"failover\"),\n\t\t\t\t\tPrimary: {\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"my_elb\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecondary: {\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"site_down_banner\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewTrafficPolicy(ctx, \"example\", \u0026route53.TrafficPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tComment: pulumi.String(\"example comment\"),\n\t\t\tDocument: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetTrafficPolicyDocumentArgs;\nimport com.pulumi.aws.route53.TrafficPolicy;\nimport com.pulumi.aws.route53.TrafficPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var example = Route53Functions.getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs.builder()\n .recordType(\"A\")\n .startRule(\"site_switch\")\n .endpoints( \n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"my_elb\")\n .type(\"elastic-load-balancer\")\n .value(String.format(\"elb-111111.%s.elb.amazonaws.com\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build(),\n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"site_down_banner\")\n .type(\"s3-website\")\n .region(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .value(\"www.example.com\")\n .build())\n .rules(GetTrafficPolicyDocumentRuleArgs.builder()\n .id(\"site_switch\")\n .type(\"failover\")\n .primary(GetTrafficPolicyDocumentRulePrimaryArgs.builder()\n .endpointReference(\"my_elb\")\n .build())\n .secondary(GetTrafficPolicyDocumentRuleSecondaryArgs.builder()\n .endpointReference(\"site_down_banner\")\n .build())\n .build())\n .build());\n\n var exampleTrafficPolicy = new TrafficPolicy(\"exampleTrafficPolicy\", TrafficPolicyArgs.builder()\n .name(\"example\")\n .comment(\"example comment\")\n .document(example.applyValue(getTrafficPolicyDocumentResult -\u003e getTrafficPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTrafficPolicy:\n type: aws:route53:TrafficPolicy\n name: example\n properties:\n name: example\n comment: example comment\n document: ${example.json}\nvariables:\n current:\n fn::invoke:\n function: aws:getRegion\n arguments: {}\n example:\n fn::invoke:\n function: aws:route53:getTrafficPolicyDocument\n arguments:\n recordType: A\n startRule: site_switch\n endpoints:\n - id: my_elb\n type: elastic-load-balancer\n value: elb-111111.${current.name}.elb.amazonaws.com\n - id: site_down_banner\n type: s3-website\n region: ${current.name}\n value: www.example.com\n rules:\n - id: site_switch\n type: failover\n primary:\n endpointReference: my_elb\n secondary:\n endpointReference: site_down_banner\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Complex Example\n\nThe following example showcases the use of nested rules within the traffic policy document and introduces the `geoproximity` rule type.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getTrafficPolicyDocument({\n recordType: \"A\",\n startRule: \"geoproximity_rule\",\n endpoints: [\n {\n id: \"na_endpoint_a\",\n type: \"elastic-load-balancer\",\n value: \"elb-111111.us-west-1.elb.amazonaws.com\",\n },\n {\n id: \"na_endpoint_b\",\n type: \"elastic-load-balancer\",\n value: \"elb-222222.us-west-1.elb.amazonaws.com\",\n },\n {\n id: \"eu_endpoint\",\n type: \"elastic-load-balancer\",\n value: \"elb-333333.eu-west-1.elb.amazonaws.com\",\n },\n {\n id: \"ap_endpoint\",\n type: \"elastic-load-balancer\",\n value: \"elb-444444.ap-northeast-2.elb.amazonaws.com\",\n },\n ],\n rules: [\n {\n id: \"na_rule\",\n type: \"failover\",\n primary: {\n endpointReference: \"na_endpoint_a\",\n },\n secondary: {\n endpointReference: \"na_endpoint_b\",\n },\n },\n {\n id: \"geoproximity_rule\",\n type: \"geoproximity\",\n geoProximityLocations: [\n {\n region: \"aws:route53:us-west-1\",\n bias: \"10\",\n evaluateTargetHealth: true,\n ruleReference: \"na_rule\",\n },\n {\n region: \"aws:route53:eu-west-1\",\n bias: \"10\",\n evaluateTargetHealth: true,\n endpointReference: \"eu_endpoint\",\n },\n {\n region: \"aws:route53:ap-northeast-2\",\n bias: \"0\",\n evaluateTargetHealth: true,\n endpointReference: \"ap_endpoint\",\n },\n ],\n },\n ],\n});\nconst exampleTrafficPolicy = new aws.route53.TrafficPolicy(\"example\", {\n name: \"example\",\n comment: \"example comment\",\n document: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_traffic_policy_document(record_type=\"A\",\n start_rule=\"geoproximity_rule\",\n endpoints=[\n {\n \"id\": \"na_endpoint_a\",\n \"type\": \"elastic-load-balancer\",\n \"value\": \"elb-111111.us-west-1.elb.amazonaws.com\",\n },\n {\n \"id\": \"na_endpoint_b\",\n \"type\": \"elastic-load-balancer\",\n \"value\": \"elb-222222.us-west-1.elb.amazonaws.com\",\n },\n {\n \"id\": \"eu_endpoint\",\n \"type\": \"elastic-load-balancer\",\n \"value\": \"elb-333333.eu-west-1.elb.amazonaws.com\",\n },\n {\n \"id\": \"ap_endpoint\",\n \"type\": \"elastic-load-balancer\",\n \"value\": \"elb-444444.ap-northeast-2.elb.amazonaws.com\",\n },\n ],\n rules=[\n {\n \"id\": \"na_rule\",\n \"type\": \"failover\",\n \"primary\": {\n \"endpoint_reference\": \"na_endpoint_a\",\n },\n \"secondary\": {\n \"endpoint_reference\": \"na_endpoint_b\",\n },\n },\n {\n \"id\": \"geoproximity_rule\",\n \"type\": \"geoproximity\",\n \"geo_proximity_locations\": [\n {\n \"region\": \"aws:route53:us-west-1\",\n \"bias\": \"10\",\n \"evaluate_target_health\": True,\n \"rule_reference\": \"na_rule\",\n },\n {\n \"region\": \"aws:route53:eu-west-1\",\n \"bias\": \"10\",\n \"evaluate_target_health\": True,\n \"endpoint_reference\": \"eu_endpoint\",\n },\n {\n \"region\": \"aws:route53:ap-northeast-2\",\n \"bias\": \"0\",\n \"evaluate_target_health\": True,\n \"endpoint_reference\": \"ap_endpoint\",\n },\n ],\n },\n ])\nexample_traffic_policy = aws.route53.TrafficPolicy(\"example\",\n name=\"example\",\n comment=\"example comment\",\n document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetTrafficPolicyDocument.Invoke(new()\n {\n RecordType = \"A\",\n StartRule = \"geoproximity_rule\",\n Endpoints = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"na_endpoint_a\",\n Type = \"elastic-load-balancer\",\n Value = \"elb-111111.us-west-1.elb.amazonaws.com\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"na_endpoint_b\",\n Type = \"elastic-load-balancer\",\n Value = \"elb-222222.us-west-1.elb.amazonaws.com\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"eu_endpoint\",\n Type = \"elastic-load-balancer\",\n Value = \"elb-333333.eu-west-1.elb.amazonaws.com\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"ap_endpoint\",\n Type = \"elastic-load-balancer\",\n Value = \"elb-444444.ap-northeast-2.elb.amazonaws.com\",\n },\n },\n Rules = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleInputArgs\n {\n Id = \"na_rule\",\n Type = \"failover\",\n Primary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRulePrimaryInputArgs\n {\n EndpointReference = \"na_endpoint_a\",\n },\n Secondary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleSecondaryInputArgs\n {\n EndpointReference = \"na_endpoint_b\",\n },\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleInputArgs\n {\n Id = \"geoproximity_rule\",\n Type = \"geoproximity\",\n GeoProximityLocations = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleGeoProximityLocationInputArgs\n {\n Region = \"aws:route53:us-west-1\",\n Bias = \"10\",\n EvaluateTargetHealth = true,\n RuleReference = \"na_rule\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleGeoProximityLocationInputArgs\n {\n Region = \"aws:route53:eu-west-1\",\n Bias = \"10\",\n EvaluateTargetHealth = true,\n EndpointReference = \"eu_endpoint\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleGeoProximityLocationInputArgs\n {\n Region = \"aws:route53:ap-northeast-2\",\n Bias = \"0\",\n EvaluateTargetHealth = true,\n EndpointReference = \"ap_endpoint\",\n },\n },\n },\n },\n });\n\n var exampleTrafficPolicy = new Aws.Route53.TrafficPolicy(\"example\", new()\n {\n Name = \"example\",\n Comment = \"example comment\",\n Document = example.Apply(getTrafficPolicyDocumentResult =\u003e getTrafficPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := route53.GetTrafficPolicyDocument(ctx, \u0026route53.GetTrafficPolicyDocumentArgs{\n\t\t\tRecordType: pulumi.StringRef(\"A\"),\n\t\t\tStartRule: pulumi.StringRef(\"geoproximity_rule\"),\n\t\t\tEndpoints: []route53.GetTrafficPolicyDocumentEndpoint{\n\t\t\t\t{\n\t\t\t\t\tId: \"na_endpoint_a\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(\"elb-111111.us-west-1.elb.amazonaws.com\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"na_endpoint_b\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(\"elb-222222.us-west-1.elb.amazonaws.com\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"eu_endpoint\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(\"elb-333333.eu-west-1.elb.amazonaws.com\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"ap_endpoint\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(\"elb-444444.ap-northeast-2.elb.amazonaws.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRules: []route53.GetTrafficPolicyDocumentRule{\n\t\t\t\t{\n\t\t\t\t\tId: \"na_rule\",\n\t\t\t\t\tType: pulumi.StringRef(\"failover\"),\n\t\t\t\t\tPrimary: {\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"na_endpoint_a\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecondary: {\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"na_endpoint_b\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"geoproximity_rule\",\n\t\t\t\t\tType: pulumi.StringRef(\"geoproximity\"),\n\t\t\t\t\tGeoProximityLocations: []route53.GetTrafficPolicyDocumentRuleGeoProximityLocation{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tRegion: pulumi.StringRef(\"aws:route53:us-west-1\"),\n\t\t\t\t\t\t\tBias: pulumi.StringRef(\"10\"),\n\t\t\t\t\t\t\tEvaluateTargetHealth: pulumi.BoolRef(true),\n\t\t\t\t\t\t\tRuleReference: pulumi.StringRef(\"na_rule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tRegion: pulumi.StringRef(\"aws:route53:eu-west-1\"),\n\t\t\t\t\t\t\tBias: pulumi.StringRef(\"10\"),\n\t\t\t\t\t\t\tEvaluateTargetHealth: pulumi.BoolRef(true),\n\t\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"eu_endpoint\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tRegion: pulumi.StringRef(\"aws:route53:ap-northeast-2\"),\n\t\t\t\t\t\t\tBias: pulumi.StringRef(\"0\"),\n\t\t\t\t\t\t\tEvaluateTargetHealth: pulumi.BoolRef(true),\n\t\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"ap_endpoint\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewTrafficPolicy(ctx, \"example\", \u0026route53.TrafficPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tComment: pulumi.String(\"example comment\"),\n\t\t\tDocument: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetTrafficPolicyDocumentArgs;\nimport com.pulumi.aws.route53.TrafficPolicy;\nimport com.pulumi.aws.route53.TrafficPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs.builder()\n .recordType(\"A\")\n .startRule(\"geoproximity_rule\")\n .endpoints( \n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"na_endpoint_a\")\n .type(\"elastic-load-balancer\")\n .value(\"elb-111111.us-west-1.elb.amazonaws.com\")\n .build(),\n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"na_endpoint_b\")\n .type(\"elastic-load-balancer\")\n .value(\"elb-222222.us-west-1.elb.amazonaws.com\")\n .build(),\n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"eu_endpoint\")\n .type(\"elastic-load-balancer\")\n .value(\"elb-333333.eu-west-1.elb.amazonaws.com\")\n .build(),\n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"ap_endpoint\")\n .type(\"elastic-load-balancer\")\n .value(\"elb-444444.ap-northeast-2.elb.amazonaws.com\")\n .build())\n .rules( \n GetTrafficPolicyDocumentRuleArgs.builder()\n .id(\"na_rule\")\n .type(\"failover\")\n .primary(GetTrafficPolicyDocumentRulePrimaryArgs.builder()\n .endpointReference(\"na_endpoint_a\")\n .build())\n .secondary(GetTrafficPolicyDocumentRuleSecondaryArgs.builder()\n .endpointReference(\"na_endpoint_b\")\n .build())\n .build(),\n GetTrafficPolicyDocumentRuleArgs.builder()\n .id(\"geoproximity_rule\")\n .type(\"geoproximity\")\n .geoProximityLocations( \n GetTrafficPolicyDocumentRuleGeoProximityLocationArgs.builder()\n .region(\"aws:route53:us-west-1\")\n .bias(10)\n .evaluateTargetHealth(true)\n .ruleReference(\"na_rule\")\n .build(),\n GetTrafficPolicyDocumentRuleGeoProximityLocationArgs.builder()\n .region(\"aws:route53:eu-west-1\")\n .bias(10)\n .evaluateTargetHealth(true)\n .endpointReference(\"eu_endpoint\")\n .build(),\n GetTrafficPolicyDocumentRuleGeoProximityLocationArgs.builder()\n .region(\"aws:route53:ap-northeast-2\")\n .bias(0)\n .evaluateTargetHealth(true)\n .endpointReference(\"ap_endpoint\")\n .build())\n .build())\n .build());\n\n var exampleTrafficPolicy = new TrafficPolicy(\"exampleTrafficPolicy\", TrafficPolicyArgs.builder()\n .name(\"example\")\n .comment(\"example comment\")\n .document(example.applyValue(getTrafficPolicyDocumentResult -\u003e getTrafficPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTrafficPolicy:\n type: aws:route53:TrafficPolicy\n name: example\n properties:\n name: example\n comment: example comment\n document: ${example.json}\nvariables:\n example:\n fn::invoke:\n function: aws:route53:getTrafficPolicyDocument\n arguments:\n recordType: A\n startRule: geoproximity_rule\n endpoints:\n - id: na_endpoint_a\n type: elastic-load-balancer\n value: elb-111111.us-west-1.elb.amazonaws.com\n - id: na_endpoint_b\n type: elastic-load-balancer\n value: elb-222222.us-west-1.elb.amazonaws.com\n - id: eu_endpoint\n type: elastic-load-balancer\n value: elb-333333.eu-west-1.elb.amazonaws.com\n - id: ap_endpoint\n type: elastic-load-balancer\n value: elb-444444.ap-northeast-2.elb.amazonaws.com\n rules:\n - id: na_rule\n type: failover\n primary:\n endpointReference: na_endpoint_a\n secondary:\n endpointReference: na_endpoint_b\n - id: geoproximity_rule\n type: geoproximity\n geoProximityLocations:\n - region: aws:route53:us-west-1\n bias: 10\n evaluateTargetHealth: true\n ruleReference: na_rule\n - region: aws:route53:eu-west-1\n bias: 10\n evaluateTargetHealth: true\n endpointReference: eu_endpoint\n - region: aws:route53:ap-northeast-2\n bias: 0\n evaluateTargetHealth: true\n endpointReference: ap_endpoint\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Generates an Route53 traffic policy document in JSON format for use with resources that expect policy documents such as `aws.route53.TrafficPolicy`.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = Promise.all([current, current]).then(([current, current1]) =\u003e aws.route53.getTrafficPolicyDocument({\n recordType: \"A\",\n startRule: \"site_switch\",\n endpoints: [\n {\n id: \"my_elb\",\n type: \"elastic-load-balancer\",\n value: `elb-111111.${current.name}.elb.amazonaws.com`,\n },\n {\n id: \"site_down_banner\",\n type: \"s3-website\",\n region: current1.name,\n value: \"www.example.com\",\n },\n ],\n rules: [{\n id: \"site_switch\",\n type: \"failover\",\n primary: {\n endpointReference: \"my_elb\",\n },\n secondary: {\n endpointReference: \"site_down_banner\",\n },\n }],\n}));\nconst exampleTrafficPolicy = new aws.route53.TrafficPolicy(\"example\", {\n name: \"example\",\n comment: \"example comment\",\n document: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.route53.get_traffic_policy_document(record_type=\"A\",\n start_rule=\"site_switch\",\n endpoints=[\n {\n \"id\": \"my_elb\",\n \"type\": \"elastic-load-balancer\",\n \"value\": f\"elb-111111.{current.name}.elb.amazonaws.com\",\n },\n {\n \"id\": \"site_down_banner\",\n \"type\": \"s3-website\",\n \"region\": current.name,\n \"value\": \"www.example.com\",\n },\n ],\n rules=[{\n \"id\": \"site_switch\",\n \"type\": \"failover\",\n \"primary\": {\n \"endpoint_reference\": \"my_elb\",\n },\n \"secondary\": {\n \"endpoint_reference\": \"site_down_banner\",\n },\n }])\nexample_traffic_policy = aws.route53.TrafficPolicy(\"example\",\n name=\"example\",\n comment=\"example comment\",\n document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = Aws.Route53.GetTrafficPolicyDocument.Invoke(new()\n {\n RecordType = \"A\",\n StartRule = \"site_switch\",\n Endpoints = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"my_elb\",\n Type = \"elastic-load-balancer\",\n Value = $\"elb-111111.{current.Apply(getRegionResult =\u003e getRegionResult.Name)}.elb.amazonaws.com\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"site_down_banner\",\n Type = \"s3-website\",\n Region = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Value = \"www.example.com\",\n },\n },\n Rules = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleInputArgs\n {\n Id = \"site_switch\",\n Type = \"failover\",\n Primary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRulePrimaryInputArgs\n {\n EndpointReference = \"my_elb\",\n },\n Secondary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleSecondaryInputArgs\n {\n EndpointReference = \"site_down_banner\",\n },\n },\n },\n });\n\n var exampleTrafficPolicy = new Aws.Route53.TrafficPolicy(\"example\", new()\n {\n Name = \"example\",\n Comment = \"example comment\",\n Document = example.Apply(getTrafficPolicyDocumentResult =\u003e getTrafficPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, \u0026aws.GetRegionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := route53.GetTrafficPolicyDocument(ctx, \u0026route53.GetTrafficPolicyDocumentArgs{\n\t\t\tRecordType: pulumi.StringRef(\"A\"),\n\t\t\tStartRule: pulumi.StringRef(\"site_switch\"),\n\t\t\tEndpoints: []route53.GetTrafficPolicyDocumentEndpoint{\n\t\t\t\t{\n\t\t\t\t\tId: \"my_elb\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(fmt.Sprintf(\"elb-111111.%v.elb.amazonaws.com\", current.Name)),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"site_down_banner\",\n\t\t\t\t\tType: pulumi.StringRef(\"s3-website\"),\n\t\t\t\t\tRegion: pulumi.StringRef(current.Name),\n\t\t\t\t\tValue: pulumi.StringRef(\"www.example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRules: []route53.GetTrafficPolicyDocumentRule{\n\t\t\t\t{\n\t\t\t\t\tId: \"site_switch\",\n\t\t\t\t\tType: pulumi.StringRef(\"failover\"),\n\t\t\t\t\tPrimary: {\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"my_elb\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecondary: {\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"site_down_banner\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewTrafficPolicy(ctx, \"example\", \u0026route53.TrafficPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tComment: pulumi.String(\"example comment\"),\n\t\t\tDocument: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetTrafficPolicyDocumentArgs;\nimport com.pulumi.aws.route53.TrafficPolicy;\nimport com.pulumi.aws.route53.TrafficPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var example = Route53Functions.getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs.builder()\n .recordType(\"A\")\n .startRule(\"site_switch\")\n .endpoints( \n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"my_elb\")\n .type(\"elastic-load-balancer\")\n .value(String.format(\"elb-111111.%s.elb.amazonaws.com\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build(),\n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"site_down_banner\")\n .type(\"s3-website\")\n .region(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .value(\"www.example.com\")\n .build())\n .rules(GetTrafficPolicyDocumentRuleArgs.builder()\n .id(\"site_switch\")\n .type(\"failover\")\n .primary(GetTrafficPolicyDocumentRulePrimaryArgs.builder()\n .endpointReference(\"my_elb\")\n .build())\n .secondary(GetTrafficPolicyDocumentRuleSecondaryArgs.builder()\n .endpointReference(\"site_down_banner\")\n .build())\n .build())\n .build());\n\n var exampleTrafficPolicy = new TrafficPolicy(\"exampleTrafficPolicy\", TrafficPolicyArgs.builder()\n .name(\"example\")\n .comment(\"example comment\")\n .document(example.applyValue(getTrafficPolicyDocumentResult -\u003e getTrafficPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTrafficPolicy:\n type: aws:route53:TrafficPolicy\n name: example\n properties:\n name: example\n comment: example comment\n document: ${example.json}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:route53:getTrafficPolicyDocument\n Arguments:\n recordType: A\n startRule: site_switch\n endpoints:\n - id: my_elb\n type: elastic-load-balancer\n value: elb-111111.${current.name}.elb.amazonaws.com\n - id: site_down_banner\n type: s3-website\n region: ${current.name}\n value: www.example.com\n rules:\n - id: site_switch\n type: failover\n primary:\n endpointReference: my_elb\n secondary:\n endpointReference: site_down_banner\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Complex Example\n\nThe following example showcases the use of nested rules within the traffic policy document and introduces the `geoproximity` rule type.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getTrafficPolicyDocument({\n recordType: \"A\",\n startRule: \"geoproximity_rule\",\n endpoints: [\n {\n id: \"na_endpoint_a\",\n type: \"elastic-load-balancer\",\n value: \"elb-111111.us-west-1.elb.amazonaws.com\",\n },\n {\n id: \"na_endpoint_b\",\n type: \"elastic-load-balancer\",\n value: \"elb-222222.us-west-1.elb.amazonaws.com\",\n },\n {\n id: \"eu_endpoint\",\n type: \"elastic-load-balancer\",\n value: \"elb-333333.eu-west-1.elb.amazonaws.com\",\n },\n {\n id: \"ap_endpoint\",\n type: \"elastic-load-balancer\",\n value: \"elb-444444.ap-northeast-2.elb.amazonaws.com\",\n },\n ],\n rules: [\n {\n id: \"na_rule\",\n type: \"failover\",\n primary: {\n endpointReference: \"na_endpoint_a\",\n },\n secondary: {\n endpointReference: \"na_endpoint_b\",\n },\n },\n {\n id: \"geoproximity_rule\",\n type: \"geoproximity\",\n geoProximityLocations: [\n {\n region: \"aws:route53:us-west-1\",\n bias: \"10\",\n evaluateTargetHealth: true,\n ruleReference: \"na_rule\",\n },\n {\n region: \"aws:route53:eu-west-1\",\n bias: \"10\",\n evaluateTargetHealth: true,\n endpointReference: \"eu_endpoint\",\n },\n {\n region: \"aws:route53:ap-northeast-2\",\n bias: \"0\",\n evaluateTargetHealth: true,\n endpointReference: \"ap_endpoint\",\n },\n ],\n },\n ],\n});\nconst exampleTrafficPolicy = new aws.route53.TrafficPolicy(\"example\", {\n name: \"example\",\n comment: \"example comment\",\n document: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_traffic_policy_document(record_type=\"A\",\n start_rule=\"geoproximity_rule\",\n endpoints=[\n {\n \"id\": \"na_endpoint_a\",\n \"type\": \"elastic-load-balancer\",\n \"value\": \"elb-111111.us-west-1.elb.amazonaws.com\",\n },\n {\n \"id\": \"na_endpoint_b\",\n \"type\": \"elastic-load-balancer\",\n \"value\": \"elb-222222.us-west-1.elb.amazonaws.com\",\n },\n {\n \"id\": \"eu_endpoint\",\n \"type\": \"elastic-load-balancer\",\n \"value\": \"elb-333333.eu-west-1.elb.amazonaws.com\",\n },\n {\n \"id\": \"ap_endpoint\",\n \"type\": \"elastic-load-balancer\",\n \"value\": \"elb-444444.ap-northeast-2.elb.amazonaws.com\",\n },\n ],\n rules=[\n {\n \"id\": \"na_rule\",\n \"type\": \"failover\",\n \"primary\": {\n \"endpoint_reference\": \"na_endpoint_a\",\n },\n \"secondary\": {\n \"endpoint_reference\": \"na_endpoint_b\",\n },\n },\n {\n \"id\": \"geoproximity_rule\",\n \"type\": \"geoproximity\",\n \"geo_proximity_locations\": [\n {\n \"region\": \"aws:route53:us-west-1\",\n \"bias\": \"10\",\n \"evaluate_target_health\": True,\n \"rule_reference\": \"na_rule\",\n },\n {\n \"region\": \"aws:route53:eu-west-1\",\n \"bias\": \"10\",\n \"evaluate_target_health\": True,\n \"endpoint_reference\": \"eu_endpoint\",\n },\n {\n \"region\": \"aws:route53:ap-northeast-2\",\n \"bias\": \"0\",\n \"evaluate_target_health\": True,\n \"endpoint_reference\": \"ap_endpoint\",\n },\n ],\n },\n ])\nexample_traffic_policy = aws.route53.TrafficPolicy(\"example\",\n name=\"example\",\n comment=\"example comment\",\n document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetTrafficPolicyDocument.Invoke(new()\n {\n RecordType = \"A\",\n StartRule = \"geoproximity_rule\",\n Endpoints = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"na_endpoint_a\",\n Type = \"elastic-load-balancer\",\n Value = \"elb-111111.us-west-1.elb.amazonaws.com\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"na_endpoint_b\",\n Type = \"elastic-load-balancer\",\n Value = \"elb-222222.us-west-1.elb.amazonaws.com\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"eu_endpoint\",\n Type = \"elastic-load-balancer\",\n Value = \"elb-333333.eu-west-1.elb.amazonaws.com\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"ap_endpoint\",\n Type = \"elastic-load-balancer\",\n Value = \"elb-444444.ap-northeast-2.elb.amazonaws.com\",\n },\n },\n Rules = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleInputArgs\n {\n Id = \"na_rule\",\n Type = \"failover\",\n Primary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRulePrimaryInputArgs\n {\n EndpointReference = \"na_endpoint_a\",\n },\n Secondary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleSecondaryInputArgs\n {\n EndpointReference = \"na_endpoint_b\",\n },\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleInputArgs\n {\n Id = \"geoproximity_rule\",\n Type = \"geoproximity\",\n GeoProximityLocations = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleGeoProximityLocationInputArgs\n {\n Region = \"aws:route53:us-west-1\",\n Bias = \"10\",\n EvaluateTargetHealth = true,\n RuleReference = \"na_rule\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleGeoProximityLocationInputArgs\n {\n Region = \"aws:route53:eu-west-1\",\n Bias = \"10\",\n EvaluateTargetHealth = true,\n EndpointReference = \"eu_endpoint\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleGeoProximityLocationInputArgs\n {\n Region = \"aws:route53:ap-northeast-2\",\n Bias = \"0\",\n EvaluateTargetHealth = true,\n EndpointReference = \"ap_endpoint\",\n },\n },\n },\n },\n });\n\n var exampleTrafficPolicy = new Aws.Route53.TrafficPolicy(\"example\", new()\n {\n Name = \"example\",\n Comment = \"example comment\",\n Document = example.Apply(getTrafficPolicyDocumentResult =\u003e getTrafficPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := route53.GetTrafficPolicyDocument(ctx, \u0026route53.GetTrafficPolicyDocumentArgs{\n\t\t\tRecordType: pulumi.StringRef(\"A\"),\n\t\t\tStartRule: pulumi.StringRef(\"geoproximity_rule\"),\n\t\t\tEndpoints: []route53.GetTrafficPolicyDocumentEndpoint{\n\t\t\t\t{\n\t\t\t\t\tId: \"na_endpoint_a\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(\"elb-111111.us-west-1.elb.amazonaws.com\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"na_endpoint_b\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(\"elb-222222.us-west-1.elb.amazonaws.com\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"eu_endpoint\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(\"elb-333333.eu-west-1.elb.amazonaws.com\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"ap_endpoint\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(\"elb-444444.ap-northeast-2.elb.amazonaws.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRules: []route53.GetTrafficPolicyDocumentRule{\n\t\t\t\t{\n\t\t\t\t\tId: \"na_rule\",\n\t\t\t\t\tType: pulumi.StringRef(\"failover\"),\n\t\t\t\t\tPrimary: {\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"na_endpoint_a\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecondary: {\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"na_endpoint_b\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"geoproximity_rule\",\n\t\t\t\t\tType: pulumi.StringRef(\"geoproximity\"),\n\t\t\t\t\tGeoProximityLocations: []route53.GetTrafficPolicyDocumentRuleGeoProximityLocation{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tRegion: pulumi.StringRef(\"aws:route53:us-west-1\"),\n\t\t\t\t\t\t\tBias: pulumi.StringRef(\"10\"),\n\t\t\t\t\t\t\tEvaluateTargetHealth: pulumi.BoolRef(true),\n\t\t\t\t\t\t\tRuleReference: pulumi.StringRef(\"na_rule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tRegion: pulumi.StringRef(\"aws:route53:eu-west-1\"),\n\t\t\t\t\t\t\tBias: pulumi.StringRef(\"10\"),\n\t\t\t\t\t\t\tEvaluateTargetHealth: pulumi.BoolRef(true),\n\t\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"eu_endpoint\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tRegion: pulumi.StringRef(\"aws:route53:ap-northeast-2\"),\n\t\t\t\t\t\t\tBias: pulumi.StringRef(\"0\"),\n\t\t\t\t\t\t\tEvaluateTargetHealth: pulumi.BoolRef(true),\n\t\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"ap_endpoint\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewTrafficPolicy(ctx, \"example\", \u0026route53.TrafficPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tComment: pulumi.String(\"example comment\"),\n\t\t\tDocument: pulumi.String(example.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetTrafficPolicyDocumentArgs;\nimport com.pulumi.aws.route53.TrafficPolicy;\nimport com.pulumi.aws.route53.TrafficPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Route53Functions.getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs.builder()\n .recordType(\"A\")\n .startRule(\"geoproximity_rule\")\n .endpoints( \n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"na_endpoint_a\")\n .type(\"elastic-load-balancer\")\n .value(\"elb-111111.us-west-1.elb.amazonaws.com\")\n .build(),\n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"na_endpoint_b\")\n .type(\"elastic-load-balancer\")\n .value(\"elb-222222.us-west-1.elb.amazonaws.com\")\n .build(),\n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"eu_endpoint\")\n .type(\"elastic-load-balancer\")\n .value(\"elb-333333.eu-west-1.elb.amazonaws.com\")\n .build(),\n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"ap_endpoint\")\n .type(\"elastic-load-balancer\")\n .value(\"elb-444444.ap-northeast-2.elb.amazonaws.com\")\n .build())\n .rules( \n GetTrafficPolicyDocumentRuleArgs.builder()\n .id(\"na_rule\")\n .type(\"failover\")\n .primary(GetTrafficPolicyDocumentRulePrimaryArgs.builder()\n .endpointReference(\"na_endpoint_a\")\n .build())\n .secondary(GetTrafficPolicyDocumentRuleSecondaryArgs.builder()\n .endpointReference(\"na_endpoint_b\")\n .build())\n .build(),\n GetTrafficPolicyDocumentRuleArgs.builder()\n .id(\"geoproximity_rule\")\n .type(\"geoproximity\")\n .geoProximityLocations( \n GetTrafficPolicyDocumentRuleGeoProximityLocationArgs.builder()\n .region(\"aws:route53:us-west-1\")\n .bias(10)\n .evaluateTargetHealth(true)\n .ruleReference(\"na_rule\")\n .build(),\n GetTrafficPolicyDocumentRuleGeoProximityLocationArgs.builder()\n .region(\"aws:route53:eu-west-1\")\n .bias(10)\n .evaluateTargetHealth(true)\n .endpointReference(\"eu_endpoint\")\n .build(),\n GetTrafficPolicyDocumentRuleGeoProximityLocationArgs.builder()\n .region(\"aws:route53:ap-northeast-2\")\n .bias(0)\n .evaluateTargetHealth(true)\n .endpointReference(\"ap_endpoint\")\n .build())\n .build())\n .build());\n\n var exampleTrafficPolicy = new TrafficPolicy(\"exampleTrafficPolicy\", TrafficPolicyArgs.builder()\n .name(\"example\")\n .comment(\"example comment\")\n .document(example.applyValue(getTrafficPolicyDocumentResult -\u003e getTrafficPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTrafficPolicy:\n type: aws:route53:TrafficPolicy\n name: example\n properties:\n name: example\n comment: example comment\n document: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getTrafficPolicyDocument\n Arguments:\n recordType: A\n startRule: geoproximity_rule\n endpoints:\n - id: na_endpoint_a\n type: elastic-load-balancer\n value: elb-111111.us-west-1.elb.amazonaws.com\n - id: na_endpoint_b\n type: elastic-load-balancer\n value: elb-222222.us-west-1.elb.amazonaws.com\n - id: eu_endpoint\n type: elastic-load-balancer\n value: elb-333333.eu-west-1.elb.amazonaws.com\n - id: ap_endpoint\n type: elastic-load-balancer\n value: elb-444444.ap-northeast-2.elb.amazonaws.com\n rules:\n - id: na_rule\n type: failover\n primary:\n endpointReference: na_endpoint_a\n secondary:\n endpointReference: na_endpoint_b\n - id: geoproximity_rule\n type: geoproximity\n geoProximityLocations:\n - region: aws:route53:us-west-1\n bias: 10\n evaluateTargetHealth: true\n ruleReference: na_rule\n - region: aws:route53:eu-west-1\n bias: 10\n evaluateTargetHealth: true\n endpointReference: eu_endpoint\n - region: aws:route53:ap-northeast-2\n bias: 0\n evaluateTargetHealth: true\n endpointReference: ap_endpoint\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTrafficPolicyDocument.\n", "properties": { @@ -421863,7 +421863,7 @@ } }, "aws:route53/getZone:getZone": { - "description": "`aws.route53.Zone` provides details about a specific Route 53 Hosted Zone.\n\nThis data source allows to find a Hosted Zone ID given Hosted Zone name and certain search criteria.\n\n## Example Usage\n\nThe following example shows how to get a Hosted Zone from its name and from this data how to create a Record Set.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.route53.getZone({\n name: \"test.com.\",\n privateZone: true,\n});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: selected.then(selected =\u003e selected.zoneId),\n name: selected.then(selected =\u003e `www.${selected.name}`),\n type: aws.route53.RecordType.A,\n ttl: 300,\n records: [\"10.0.0.1\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.route53.get_zone(name=\"test.com.\",\n private_zone=True)\nwww = aws.route53.Record(\"www\",\n zone_id=selected.zone_id,\n name=f\"www.{selected.name}\",\n type=aws.route53.RecordType.A,\n ttl=300,\n records=[\"10.0.0.1\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"test.com.\",\n PrivateZone = true,\n });\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = selected.Apply(getZoneResult =\u003e getZoneResult.ZoneId),\n Name = $\"www.{selected.Apply(getZoneResult =\u003e getZoneResult.Name)}\",\n Type = Aws.Route53.RecordType.A,\n Ttl = 300,\n Records = new[]\n {\n \"10.0.0.1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := route53.LookupZone(ctx, \u0026route53.LookupZoneArgs{\n\t\t\tName: pulumi.StringRef(\"test.com.\"),\n\t\t\tPrivateZone: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.String(selected.ZoneId),\n\t\t\tName: pulumi.Sprintf(\"www.%v\", selected.Name),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tTtl: pulumi.Int(300),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = Route53Functions.getZone(GetZoneArgs.builder()\n .name(\"test.com.\")\n .privateZone(true)\n .build());\n\n var www = new Record(\"www\", RecordArgs.builder()\n .zoneId(selected.applyValue(getZoneResult -\u003e getZoneResult.zoneId()))\n .name(String.format(\"www.%s\", selected.applyValue(getZoneResult -\u003e getZoneResult.name())))\n .type(\"A\")\n .ttl(\"300\")\n .records(\"10.0.0.1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${selected.zoneId}\n name: www.${selected.name}\n type: A\n ttl: '300'\n records:\n - 10.0.0.1\nvariables:\n selected:\n fn::invoke:\n function: aws:route53:getZone\n arguments:\n name: test.com.\n privateZone: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.route53.Zone` provides details about a specific Route 53 Hosted Zone.\n\nThis data source allows to find a Hosted Zone ID given Hosted Zone name and certain search criteria.\n\n## Example Usage\n\nThe following example shows how to get a Hosted Zone from its name and from this data how to create a Record Set.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.route53.getZone({\n name: \"test.com.\",\n privateZone: true,\n});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: selected.then(selected =\u003e selected.zoneId),\n name: selected.then(selected =\u003e `www.${selected.name}`),\n type: aws.route53.RecordType.A,\n ttl: 300,\n records: [\"10.0.0.1\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.route53.get_zone(name=\"test.com.\",\n private_zone=True)\nwww = aws.route53.Record(\"www\",\n zone_id=selected.zone_id,\n name=f\"www.{selected.name}\",\n type=aws.route53.RecordType.A,\n ttl=300,\n records=[\"10.0.0.1\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"test.com.\",\n PrivateZone = true,\n });\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = selected.Apply(getZoneResult =\u003e getZoneResult.ZoneId),\n Name = $\"www.{selected.Apply(getZoneResult =\u003e getZoneResult.Name)}\",\n Type = Aws.Route53.RecordType.A,\n Ttl = 300,\n Records = new[]\n {\n \"10.0.0.1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := route53.LookupZone(ctx, \u0026route53.LookupZoneArgs{\n\t\t\tName: pulumi.StringRef(\"test.com.\"),\n\t\t\tPrivateZone: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.String(selected.ZoneId),\n\t\t\tName: pulumi.Sprintf(\"www.%v\", selected.Name),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tTtl: pulumi.Int(300),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = Route53Functions.getZone(GetZoneArgs.builder()\n .name(\"test.com.\")\n .privateZone(true)\n .build());\n\n var www = new Record(\"www\", RecordArgs.builder()\n .zoneId(selected.applyValue(getZoneResult -\u003e getZoneResult.zoneId()))\n .name(String.format(\"www.%s\", selected.applyValue(getZoneResult -\u003e getZoneResult.name())))\n .type(\"A\")\n .ttl(\"300\")\n .records(\"10.0.0.1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${selected.zoneId}\n name: www.${selected.name}\n type: A\n ttl: '300'\n records:\n - 10.0.0.1\nvariables:\n selected:\n fn::invoke:\n Function: aws:route53:getZone\n Arguments:\n name: test.com.\n privateZone: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getZone.\n", "properties": { @@ -421977,7 +421977,7 @@ } }, "aws:route53/getZones:getZones": { - "description": "This resource can be useful for getting back a list of Route53 Hosted Zone IDs for a Region.\n\n## Example Usage\n\nThe following example retrieves a list of all Hosted Zone IDs.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst all = aws.route53.getZones({});\nexport const example = all.then(all =\u003e all.ids);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nall = aws.route53.get_zones()\npulumi.export(\"example\", all.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var all = Aws.Route53.GetZones.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = all.Apply(getZonesResult =\u003e getZonesResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tall, err := route53.GetZones(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", all.Ids)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all = Route53Functions.getZones();\n\n ctx.export(\"example\", all.applyValue(getZonesResult -\u003e getZonesResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n all:\n fn::invoke:\n function: aws:route53:getZones\n arguments: {}\noutputs:\n example: ${all.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This resource can be useful for getting back a list of Route53 Hosted Zone IDs for a Region.\n\n## Example Usage\n\nThe following example retrieves a list of all Hosted Zone IDs.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst all = aws.route53.getZones({});\nexport const example = all.then(all =\u003e all.ids);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nall = aws.route53.get_zones()\npulumi.export(\"example\", all.ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var all = Aws.Route53.GetZones.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = all.Apply(getZonesResult =\u003e getZonesResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tall, err := route53.GetZones(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", all.Ids)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all = Route53Functions.getZones();\n\n ctx.export(\"example\", all.applyValue(getZonesResult -\u003e getZonesResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n all:\n fn::invoke:\n Function: aws:route53:getZones\n Arguments: {}\noutputs:\n example: ${all.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getZones.\n", "properties": { @@ -422000,7 +422000,7 @@ } }, "aws:s3/getAccountPublicAccessBlock:getAccountPublicAccessBlock": { - "description": "The S3 account public access block data source returns account-level public access block configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.s3.getAccountPublicAccessBlock({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.get_account_public_access_block()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.S3.GetAccountPublicAccessBlock.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.LookupAccountPublicAccessBlock(ctx, \u0026s3.LookupAccountPublicAccessBlockArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetAccountPublicAccessBlockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = S3Functions.getAccountPublicAccessBlock();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:s3:getAccountPublicAccessBlock\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The S3 account public access block data source returns account-level public access block configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.s3.getAccountPublicAccessBlock({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.get_account_public_access_block()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.S3.GetAccountPublicAccessBlock.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.LookupAccountPublicAccessBlock(ctx, \u0026s3.LookupAccountPublicAccessBlockArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetAccountPublicAccessBlockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = S3Functions.getAccountPublicAccessBlock();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:s3:getAccountPublicAccessBlock\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAccountPublicAccessBlock.\n", "properties": { @@ -422049,7 +422049,7 @@ } }, "aws:s3/getBucket:getBucket": { - "description": "Provides details about a specific S3 bucket.\n\nThis resource may prove useful when setting up a Route53 record, or an origin for a CloudFront\nDistribution.\n\n## Example Usage\n\n### Route53 Record\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.s3.getBucket({\n bucket: \"bucket.test.com\",\n});\nconst testZone = aws.route53.getZone({\n name: \"test.com.\",\n});\nconst example = new aws.route53.Record(\"example\", {\n zoneId: testZone.then(testZone =\u003e testZone.id),\n name: \"bucket\",\n type: aws.route53.RecordType.A,\n aliases: [{\n name: selected.then(selected =\u003e selected.websiteDomain),\n zoneId: selected.then(selected =\u003e selected.hostedZoneId),\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.s3.get_bucket(bucket=\"bucket.test.com\")\ntest_zone = aws.route53.get_zone(name=\"test.com.\")\nexample = aws.route53.Record(\"example\",\n zone_id=test_zone.id,\n name=\"bucket\",\n type=aws.route53.RecordType.A,\n aliases=[{\n \"name\": selected.website_domain,\n \"zone_id\": selected.hosted_zone_id,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"bucket.test.com\",\n });\n\n var testZone = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"test.com.\",\n });\n\n var example = new Aws.Route53.Record(\"example\", new()\n {\n ZoneId = testZone.Apply(getZoneResult =\u003e getZoneResult.Id),\n Name = \"bucket\",\n Type = Aws.Route53.RecordType.A,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = selected.Apply(getBucketResult =\u003e getBucketResult.WebsiteDomain),\n ZoneId = selected.Apply(getBucketResult =\u003e getBucketResult.HostedZoneId),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"bucket.test.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestZone, err := route53.LookupZone(ctx, \u0026route53.LookupZoneArgs{\n\t\t\tName: pulumi.StringRef(\"test.com.\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"example\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.String(testZone.Id),\n\t\t\tName: pulumi.String(\"bucket\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: pulumi.String(selected.WebsiteDomain),\n\t\t\t\t\tZoneId: pulumi.String(selected.HostedZoneId),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"bucket.test.com\")\n .build());\n\n final var testZone = Route53Functions.getZone(GetZoneArgs.builder()\n .name(\"test.com.\")\n .build());\n\n var example = new Record(\"example\", RecordArgs.builder()\n .zoneId(testZone.applyValue(getZoneResult -\u003e getZoneResult.id()))\n .name(\"bucket\")\n .type(\"A\")\n .aliases(RecordAliasArgs.builder()\n .name(selected.applyValue(getBucketResult -\u003e getBucketResult.websiteDomain()))\n .zoneId(selected.applyValue(getBucketResult -\u003e getBucketResult.hostedZoneId()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:Record\n properties:\n zoneId: ${testZone.id}\n name: bucket\n type: A\n aliases:\n - name: ${selected.websiteDomain}\n zoneId: ${selected.hostedZoneId}\nvariables:\n selected:\n fn::invoke:\n function: aws:s3:getBucket\n arguments:\n bucket: bucket.test.com\n testZone:\n fn::invoke:\n function: aws:route53:getZone\n arguments:\n name: test.com.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CloudFront Origin\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.s3.getBucket({\n bucket: \"a-test-bucket\",\n});\nconst test = new aws.cloudfront.Distribution(\"test\", {origins: [{\n domainName: selected.then(selected =\u003e selected.bucketDomainName),\n originId: \"s3-selected-bucket\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.s3.get_bucket(bucket=\"a-test-bucket\")\ntest = aws.cloudfront.Distribution(\"test\", origins=[{\n \"domain_name\": selected.bucket_domain_name,\n \"origin_id\": \"s3-selected-bucket\",\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"a-test-bucket\",\n });\n\n var test = new Aws.CloudFront.Distribution(\"test\", new()\n {\n Origins = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n DomainName = selected.Apply(getBucketResult =\u003e getBucketResult.BucketDomainName),\n OriginId = \"s3-selected-bucket\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"a-test-bucket\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfront.NewDistribution(ctx, \"test\", \u0026cloudfront.DistributionArgs{\n\t\t\tOrigins: cloudfront.DistributionOriginArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tDomainName: pulumi.String(selected.BucketDomainName),\n\t\t\t\t\tOriginId: pulumi.String(\"s3-selected-bucket\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"a-test-bucket\")\n .build());\n\n var test = new Distribution(\"test\", DistributionArgs.builder()\n .origins(DistributionOriginArgs.builder()\n .domainName(selected.applyValue(getBucketResult -\u003e getBucketResult.bucketDomainName()))\n .originId(\"s3-selected-bucket\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudfront:Distribution\n properties:\n origins:\n - domainName: ${selected.bucketDomainName}\n originId: s3-selected-bucket\nvariables:\n selected:\n fn::invoke:\n function: aws:s3:getBucket\n arguments:\n bucket: a-test-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific S3 bucket.\n\nThis resource may prove useful when setting up a Route53 record, or an origin for a CloudFront\nDistribution.\n\n## Example Usage\n\n### Route53 Record\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.s3.getBucket({\n bucket: \"bucket.test.com\",\n});\nconst testZone = aws.route53.getZone({\n name: \"test.com.\",\n});\nconst example = new aws.route53.Record(\"example\", {\n zoneId: testZone.then(testZone =\u003e testZone.id),\n name: \"bucket\",\n type: aws.route53.RecordType.A,\n aliases: [{\n name: selected.then(selected =\u003e selected.websiteDomain),\n zoneId: selected.then(selected =\u003e selected.hostedZoneId),\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.s3.get_bucket(bucket=\"bucket.test.com\")\ntest_zone = aws.route53.get_zone(name=\"test.com.\")\nexample = aws.route53.Record(\"example\",\n zone_id=test_zone.id,\n name=\"bucket\",\n type=aws.route53.RecordType.A,\n aliases=[{\n \"name\": selected.website_domain,\n \"zone_id\": selected.hosted_zone_id,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"bucket.test.com\",\n });\n\n var testZone = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"test.com.\",\n });\n\n var example = new Aws.Route53.Record(\"example\", new()\n {\n ZoneId = testZone.Apply(getZoneResult =\u003e getZoneResult.Id),\n Name = \"bucket\",\n Type = Aws.Route53.RecordType.A,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = selected.Apply(getBucketResult =\u003e getBucketResult.WebsiteDomain),\n ZoneId = selected.Apply(getBucketResult =\u003e getBucketResult.HostedZoneId),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"bucket.test.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestZone, err := route53.LookupZone(ctx, \u0026route53.LookupZoneArgs{\n\t\t\tName: pulumi.StringRef(\"test.com.\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"example\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.String(testZone.Id),\n\t\t\tName: pulumi.String(\"bucket\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: pulumi.String(selected.WebsiteDomain),\n\t\t\t\t\tZoneId: pulumi.String(selected.HostedZoneId),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"bucket.test.com\")\n .build());\n\n final var testZone = Route53Functions.getZone(GetZoneArgs.builder()\n .name(\"test.com.\")\n .build());\n\n var example = new Record(\"example\", RecordArgs.builder()\n .zoneId(testZone.applyValue(getZoneResult -\u003e getZoneResult.id()))\n .name(\"bucket\")\n .type(\"A\")\n .aliases(RecordAliasArgs.builder()\n .name(selected.applyValue(getBucketResult -\u003e getBucketResult.websiteDomain()))\n .zoneId(selected.applyValue(getBucketResult -\u003e getBucketResult.hostedZoneId()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:Record\n properties:\n zoneId: ${testZone.id}\n name: bucket\n type: A\n aliases:\n - name: ${selected.websiteDomain}\n zoneId: ${selected.hostedZoneId}\nvariables:\n selected:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: bucket.test.com\n testZone:\n fn::invoke:\n Function: aws:route53:getZone\n Arguments:\n name: test.com.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CloudFront Origin\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.s3.getBucket({\n bucket: \"a-test-bucket\",\n});\nconst test = new aws.cloudfront.Distribution(\"test\", {origins: [{\n domainName: selected.then(selected =\u003e selected.bucketDomainName),\n originId: \"s3-selected-bucket\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.s3.get_bucket(bucket=\"a-test-bucket\")\ntest = aws.cloudfront.Distribution(\"test\", origins=[{\n \"domain_name\": selected.bucket_domain_name,\n \"origin_id\": \"s3-selected-bucket\",\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"a-test-bucket\",\n });\n\n var test = new Aws.CloudFront.Distribution(\"test\", new()\n {\n Origins = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n DomainName = selected.Apply(getBucketResult =\u003e getBucketResult.BucketDomainName),\n OriginId = \"s3-selected-bucket\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"a-test-bucket\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfront.NewDistribution(ctx, \"test\", \u0026cloudfront.DistributionArgs{\n\t\t\tOrigins: cloudfront.DistributionOriginArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tDomainName: pulumi.String(selected.BucketDomainName),\n\t\t\t\t\tOriginId: pulumi.String(\"s3-selected-bucket\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"a-test-bucket\")\n .build());\n\n var test = new Distribution(\"test\", DistributionArgs.builder()\n .origins(DistributionOriginArgs.builder()\n .domainName(selected.applyValue(getBucketResult -\u003e getBucketResult.bucketDomainName()))\n .originId(\"s3-selected-bucket\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudfront:Distribution\n properties:\n origins:\n - domainName: ${selected.bucketDomainName}\n originId: s3-selected-bucket\nvariables:\n selected:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: a-test-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBucket.\n", "properties": { @@ -422117,7 +422117,7 @@ } }, "aws:s3/getBucketObject:getBucketObject": { - "description": "\u003e **NOTE:** The `aws.s3.BucketObject` data source is DEPRECATED and will be removed in a future version! Use `aws.s3.BucketObjectv2` instead, where new features and fixes will be added.\n\nThe S3 object data source allows access to the metadata and\n_optionally_ (see below) content of an object stored inside S3 bucket.\n\n\u003e **Note:** The content of an object (`body` field) is available only for objects which have a human-readable `Content-Type`:\n\n* `text/*`\n* `application/json`\n* `application/ld+json`\n* `application/x-httpd-php`\n* `application/xhtml+xml`\n* `application/x-csh`\n* `application/x-sh`\n* `application/xml`\n* `application/atom+xml`\n* `application/x-sql`\n\nThis is to prevent printing unsafe characters and potentially downloading large amount of data which would be thrown away in favor of metadata.\n\n## Example Usage\n\nThe following example retrieves a text object (which must have a `Content-Type`\nvalue starting with `text/`) and uses it as the `user_data` for an EC2 instance:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bootstrapScript = aws.s3.getBucketObject({\n bucket: \"ourcorp-deploy-config\",\n key: \"ec2-bootstrap-script.sh\",\n});\nconst example = new aws.ec2.Instance(\"example\", {\n instanceType: aws.ec2.InstanceType.T2_Micro,\n ami: \"ami-2757f631\",\n userData: bootstrapScript.then(bootstrapScript =\u003e bootstrapScript.body),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbootstrap_script = aws.s3.get_bucket_object(bucket=\"ourcorp-deploy-config\",\n key=\"ec2-bootstrap-script.sh\")\nexample = aws.ec2.Instance(\"example\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n ami=\"ami-2757f631\",\n user_data=bootstrap_script.body)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bootstrapScript = Aws.S3.GetBucketObject.Invoke(new()\n {\n Bucket = \"ourcorp-deploy-config\",\n Key = \"ec2-bootstrap-script.sh\",\n });\n\n var example = new Aws.Ec2.Instance(\"example\", new()\n {\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n Ami = \"ami-2757f631\",\n UserData = bootstrapScript.Apply(getBucketObjectResult =\u003e getBucketObjectResult.Body),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbootstrapScript, err := s3.LookupBucketObject(ctx, \u0026s3.LookupBucketObjectArgs{\n\t\t\tBucket: \"ourcorp-deploy-config\",\n\t\t\tKey: \"ec2-bootstrap-script.sh\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"example\", \u0026ec2.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tAmi: pulumi.String(\"ami-2757f631\"),\n\t\t\tUserData: pulumi.String(bootstrapScript.Body),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketObjectArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var bootstrapScript = S3Functions.getBucketObject(GetBucketObjectArgs.builder()\n .bucket(\"ourcorp-deploy-config\")\n .key(\"ec2-bootstrap-script.sh\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .instanceType(\"t2.micro\")\n .ami(\"ami-2757f631\")\n .userData(bootstrapScript.applyValue(getBucketObjectResult -\u003e getBucketObjectResult.body()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Instance\n properties:\n instanceType: t2.micro\n ami: ami-2757f631\n userData: ${bootstrapScript.body}\nvariables:\n bootstrapScript:\n fn::invoke:\n function: aws:s3:getBucketObject\n arguments:\n bucket: ourcorp-deploy-config\n key: ec2-bootstrap-script.sh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following, more-complex example retrieves only the metadata for a zip\nfile stored in S3, which is then used to pass the most recent `version_id`\nto AWS Lambda for use as a function implementation. More information about\nLambda functions is available in the documentation for\n`aws.lambda.Function`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambda = aws.s3.getBucketObject({\n bucket: \"ourcorp-lambda-functions\",\n key: \"hello-world.zip\",\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n s3Bucket: lambda.then(lambda =\u003e lambda.id),\n s3Key: lambda.then(lambda =\u003e lambda.key),\n s3ObjectVersion: lambda.then(lambda =\u003e lambda.versionId),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"exports.test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_ = aws.s3.get_bucket_object(bucket=\"ourcorp-lambda-functions\",\n key=\"hello-world.zip\")\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n s3_bucket=lambda_.id,\n s3_key=lambda_.key,\n s3_object_version=lambda_.version_id,\n name=\"lambda_function_name\",\n role=iam_for_lambda[\"arn\"],\n handler=\"exports.test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambda = Aws.S3.GetBucketObject.Invoke(new()\n {\n Bucket = \"ourcorp-lambda-functions\",\n Key = \"hello-world.zip\",\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n S3Bucket = lambda.Apply(getBucketObjectResult =\u003e getBucketObjectResult.Id),\n S3Key = lambda.Apply(getBucketObjectResult =\u003e getBucketObjectResult.Key),\n S3ObjectVersion = lambda.Apply(getBucketObjectResult =\u003e getBucketObjectResult.VersionId),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"exports.test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlambda, err := s3.LookupBucketObject(ctx, \u0026s3.LookupBucketObjectArgs{\n\t\t\tBucket: \"ourcorp-lambda-functions\",\n\t\t\tKey: \"hello-world.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tS3Bucket: pulumi.String(lambda.Id),\n\t\t\tS3Key: pulumi.String(lambda.Key),\n\t\t\tS3ObjectVersion: pulumi.String(lambda.VersionId),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: pulumi.Any(iamForLambda.Arn),\n\t\t\tHandler: pulumi.String(\"exports.test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketObjectArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var lambda = S3Functions.getBucketObject(GetBucketObjectArgs.builder()\n .bucket(\"ourcorp-lambda-functions\")\n .key(\"hello-world.zip\")\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder()\n .s3Bucket(lambda.applyValue(getBucketObjectResult -\u003e getBucketObjectResult.id()))\n .s3Key(lambda.applyValue(getBucketObjectResult -\u003e getBucketObjectResult.key()))\n .s3ObjectVersion(lambda.applyValue(getBucketObjectResult -\u003e getBucketObjectResult.versionId()))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"exports.test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n s3Bucket: ${lambda.id}\n s3Key: ${lambda.key}\n s3ObjectVersion: ${lambda.versionId}\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: exports.test\nvariables:\n lambda:\n fn::invoke:\n function: aws:s3:getBucketObject\n arguments:\n bucket: ourcorp-lambda-functions\n key: hello-world.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **NOTE:** The `aws.s3.BucketObject` data source is DEPRECATED and will be removed in a future version! Use `aws.s3.BucketObjectv2` instead, where new features and fixes will be added.\n\nThe S3 object data source allows access to the metadata and\n_optionally_ (see below) content of an object stored inside S3 bucket.\n\n\u003e **Note:** The content of an object (`body` field) is available only for objects which have a human-readable `Content-Type`:\n\n* `text/*`\n* `application/json`\n* `application/ld+json`\n* `application/x-httpd-php`\n* `application/xhtml+xml`\n* `application/x-csh`\n* `application/x-sh`\n* `application/xml`\n* `application/atom+xml`\n* `application/x-sql`\n\nThis is to prevent printing unsafe characters and potentially downloading large amount of data which would be thrown away in favor of metadata.\n\n## Example Usage\n\nThe following example retrieves a text object (which must have a `Content-Type`\nvalue starting with `text/`) and uses it as the `user_data` for an EC2 instance:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bootstrapScript = aws.s3.getBucketObject({\n bucket: \"ourcorp-deploy-config\",\n key: \"ec2-bootstrap-script.sh\",\n});\nconst example = new aws.ec2.Instance(\"example\", {\n instanceType: aws.ec2.InstanceType.T2_Micro,\n ami: \"ami-2757f631\",\n userData: bootstrapScript.then(bootstrapScript =\u003e bootstrapScript.body),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbootstrap_script = aws.s3.get_bucket_object(bucket=\"ourcorp-deploy-config\",\n key=\"ec2-bootstrap-script.sh\")\nexample = aws.ec2.Instance(\"example\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n ami=\"ami-2757f631\",\n user_data=bootstrap_script.body)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bootstrapScript = Aws.S3.GetBucketObject.Invoke(new()\n {\n Bucket = \"ourcorp-deploy-config\",\n Key = \"ec2-bootstrap-script.sh\",\n });\n\n var example = new Aws.Ec2.Instance(\"example\", new()\n {\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n Ami = \"ami-2757f631\",\n UserData = bootstrapScript.Apply(getBucketObjectResult =\u003e getBucketObjectResult.Body),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbootstrapScript, err := s3.LookupBucketObject(ctx, \u0026s3.LookupBucketObjectArgs{\n\t\t\tBucket: \"ourcorp-deploy-config\",\n\t\t\tKey: \"ec2-bootstrap-script.sh\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"example\", \u0026ec2.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tAmi: pulumi.String(\"ami-2757f631\"),\n\t\t\tUserData: pulumi.String(bootstrapScript.Body),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketObjectArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var bootstrapScript = S3Functions.getBucketObject(GetBucketObjectArgs.builder()\n .bucket(\"ourcorp-deploy-config\")\n .key(\"ec2-bootstrap-script.sh\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .instanceType(\"t2.micro\")\n .ami(\"ami-2757f631\")\n .userData(bootstrapScript.applyValue(getBucketObjectResult -\u003e getBucketObjectResult.body()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Instance\n properties:\n instanceType: t2.micro\n ami: ami-2757f631\n userData: ${bootstrapScript.body}\nvariables:\n bootstrapScript:\n fn::invoke:\n Function: aws:s3:getBucketObject\n Arguments:\n bucket: ourcorp-deploy-config\n key: ec2-bootstrap-script.sh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following, more-complex example retrieves only the metadata for a zip\nfile stored in S3, which is then used to pass the most recent `version_id`\nto AWS Lambda for use as a function implementation. More information about\nLambda functions is available in the documentation for\n`aws.lambda.Function`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambda = aws.s3.getBucketObject({\n bucket: \"ourcorp-lambda-functions\",\n key: \"hello-world.zip\",\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n s3Bucket: lambda.then(lambda =\u003e lambda.id),\n s3Key: lambda.then(lambda =\u003e lambda.key),\n s3ObjectVersion: lambda.then(lambda =\u003e lambda.versionId),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"exports.test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_ = aws.s3.get_bucket_object(bucket=\"ourcorp-lambda-functions\",\n key=\"hello-world.zip\")\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n s3_bucket=lambda_.id,\n s3_key=lambda_.key,\n s3_object_version=lambda_.version_id,\n name=\"lambda_function_name\",\n role=iam_for_lambda[\"arn\"],\n handler=\"exports.test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambda = Aws.S3.GetBucketObject.Invoke(new()\n {\n Bucket = \"ourcorp-lambda-functions\",\n Key = \"hello-world.zip\",\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n S3Bucket = lambda.Apply(getBucketObjectResult =\u003e getBucketObjectResult.Id),\n S3Key = lambda.Apply(getBucketObjectResult =\u003e getBucketObjectResult.Key),\n S3ObjectVersion = lambda.Apply(getBucketObjectResult =\u003e getBucketObjectResult.VersionId),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"exports.test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlambda, err := s3.LookupBucketObject(ctx, \u0026s3.LookupBucketObjectArgs{\n\t\t\tBucket: \"ourcorp-lambda-functions\",\n\t\t\tKey: \"hello-world.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tS3Bucket: pulumi.String(lambda.Id),\n\t\t\tS3Key: pulumi.String(lambda.Key),\n\t\t\tS3ObjectVersion: pulumi.String(lambda.VersionId),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: pulumi.Any(iamForLambda.Arn),\n\t\t\tHandler: pulumi.String(\"exports.test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketObjectArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var lambda = S3Functions.getBucketObject(GetBucketObjectArgs.builder()\n .bucket(\"ourcorp-lambda-functions\")\n .key(\"hello-world.zip\")\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder()\n .s3Bucket(lambda.applyValue(getBucketObjectResult -\u003e getBucketObjectResult.id()))\n .s3Key(lambda.applyValue(getBucketObjectResult -\u003e getBucketObjectResult.key()))\n .s3ObjectVersion(lambda.applyValue(getBucketObjectResult -\u003e getBucketObjectResult.versionId()))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"exports.test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n s3Bucket: ${lambda.id}\n s3Key: ${lambda.key}\n s3ObjectVersion: ${lambda.versionId}\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: exports.test\nvariables:\n lambda:\n fn::invoke:\n Function: aws:s3:getBucketObject\n Arguments:\n bucket: ourcorp-lambda-functions\n key: hello-world.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBucketObject.\n", "properties": { @@ -422399,7 +422399,7 @@ } }, "aws:s3/getBucketPolicy:getBucketPolicy": { - "description": "The bucket policy data source returns IAM policy of an S3 bucket.\n\n## Example Usage\n\nThe following example retrieves IAM policy of a specified S3 bucket.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.s3.getBucketPolicy({\n bucket: \"example-bucket-name\",\n});\nexport const foo = example.then(example =\u003e example.policy);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.get_bucket_policy(bucket=\"example-bucket-name\")\npulumi.export(\"foo\", example.policy)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.S3.GetBucketPolicy.Invoke(new()\n {\n Bucket = \"example-bucket-name\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = example.Apply(getBucketPolicyResult =\u003e getBucketPolicyResult.Policy),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.LookupBucketPolicy(ctx, \u0026s3.LookupBucketPolicyArgs{\n\t\t\tBucket: \"example-bucket-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"foo\", example.Policy)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = S3Functions.getBucketPolicy(GetBucketPolicyArgs.builder()\n .bucket(\"example-bucket-name\")\n .build());\n\n ctx.export(\"foo\", example.applyValue(getBucketPolicyResult -\u003e getBucketPolicyResult.policy()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:s3:getBucketPolicy\n arguments:\n bucket: example-bucket-name\noutputs:\n foo: ${example.policy}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The bucket policy data source returns IAM policy of an S3 bucket.\n\n## Example Usage\n\nThe following example retrieves IAM policy of a specified S3 bucket.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.s3.getBucketPolicy({\n bucket: \"example-bucket-name\",\n});\nexport const foo = example.then(example =\u003e example.policy);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.get_bucket_policy(bucket=\"example-bucket-name\")\npulumi.export(\"foo\", example.policy)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.S3.GetBucketPolicy.Invoke(new()\n {\n Bucket = \"example-bucket-name\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = example.Apply(getBucketPolicyResult =\u003e getBucketPolicyResult.Policy),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.LookupBucketPolicy(ctx, \u0026s3.LookupBucketPolicyArgs{\n\t\t\tBucket: \"example-bucket-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"foo\", example.Policy)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = S3Functions.getBucketPolicy(GetBucketPolicyArgs.builder()\n .bucket(\"example-bucket-name\")\n .build());\n\n ctx.export(\"foo\", example.applyValue(getBucketPolicyResult -\u003e getBucketPolicyResult.policy()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:s3:getBucketPolicy\n Arguments:\n bucket: example-bucket-name\noutputs:\n foo: ${example.policy}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBucketPolicy.\n", "properties": { @@ -422437,7 +422437,7 @@ } }, "aws:s3/getCanonicalUserId:getCanonicalUserId": { - "description": "The Canonical User ID data source allows access to the [canonical user ID](http://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html)\nfor the effective account in which this provider is working. \n\n\u003e **NOTE:** To use this data source, you must have the `s3:ListAllMyBuckets` permission.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.s3.getCanonicalUserId({});\nexport const canonicalUserId = current.then(current =\u003e current.id);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.s3.get_canonical_user_id()\npulumi.export(\"canonicalUserId\", current.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.S3.GetCanonicalUserId.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"canonicalUserId\"] = current.Apply(getCanonicalUserIdResult =\u003e getCanonicalUserIdResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := s3.GetCanonicalUserId(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"canonicalUserId\", current.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = S3Functions.getCanonicalUserId();\n\n ctx.export(\"canonicalUserId\", current.applyValue(getCanonicalUserIdResult -\u003e getCanonicalUserIdResult.id()));\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n function: aws:s3:getCanonicalUserId\n arguments: {}\noutputs:\n canonicalUserId: ${current.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The Canonical User ID data source allows access to the [canonical user ID](http://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html)\nfor the effective account in which this provider is working. \n\n\u003e **NOTE:** To use this data source, you must have the `s3:ListAllMyBuckets` permission.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.s3.getCanonicalUserId({});\nexport const canonicalUserId = current.then(current =\u003e current.id);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.s3.get_canonical_user_id()\npulumi.export(\"canonicalUserId\", current.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.S3.GetCanonicalUserId.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"canonicalUserId\"] = current.Apply(getCanonicalUserIdResult =\u003e getCanonicalUserIdResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := s3.GetCanonicalUserId(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"canonicalUserId\", current.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = S3Functions.getCanonicalUserId();\n\n ctx.export(\"canonicalUserId\", current.applyValue(getCanonicalUserIdResult -\u003e getCanonicalUserIdResult.id()));\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:s3:getCanonicalUserId\n Arguments: {}\noutputs:\n canonicalUserId: ${current.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getCanonicalUserId.\n", "properties": { @@ -422458,7 +422458,7 @@ } }, "aws:s3/getDirectoryBuckets:getDirectoryBuckets": { - "description": "Lists Amazon S3 Express directory buckets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.s3.getDirectoryBuckets({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.get_directory_buckets()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.S3.GetDirectoryBuckets.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.GetDirectoryBuckets(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = S3Functions.getDirectoryBuckets();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:s3:getDirectoryBuckets\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Lists Amazon S3 Express directory buckets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.s3.getDirectoryBuckets({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.get_directory_buckets()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.S3.GetDirectoryBuckets.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := s3.GetDirectoryBuckets(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = S3Functions.getDirectoryBuckets();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:s3:getDirectoryBuckets\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getDirectoryBuckets.\n", "properties": { @@ -422489,7 +422489,7 @@ } }, "aws:s3/getObject:getObject": { - "description": "The S3 object data source allows access to the metadata and\n_optionally_ (see below) content of an object stored inside S3 bucket.\n\n\u003e **Note:** The content of an object (`body` field) is available only for objects which have a human-readable `Content-Type`:\n\n* `text/*`\n* `application/json`\n* `application/ld+json`\n* `application/x-httpd-php`\n* `application/xhtml+xml`\n* `application/x-csh`\n* `application/x-sh`\n* `application/xml`\n* `application/atom+xml`\n* `application/x-sql`\n\nThis is to prevent printing unsafe characters and potentially downloading large amount of data which would be thrown away in favor of metadata.\n\n## Example Usage\n\nThe following example retrieves a text object (which must have a `Content-Type`\nvalue starting with `text/`) and uses it as the `user_data` for an EC2 instance:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bootstrapScript = aws.s3.getObject({\n bucket: \"ourcorp-deploy-config\",\n key: \"ec2-bootstrap-script.sh\",\n});\nconst example = new aws.ec2.Instance(\"example\", {\n instanceType: aws.ec2.InstanceType.T2_Micro,\n ami: \"ami-2757f631\",\n userData: bootstrapScript.then(bootstrapScript =\u003e bootstrapScript.body),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbootstrap_script = aws.s3.get_object(bucket=\"ourcorp-deploy-config\",\n key=\"ec2-bootstrap-script.sh\")\nexample = aws.ec2.Instance(\"example\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n ami=\"ami-2757f631\",\n user_data=bootstrap_script.body)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bootstrapScript = Aws.S3.GetObject.Invoke(new()\n {\n Bucket = \"ourcorp-deploy-config\",\n Key = \"ec2-bootstrap-script.sh\",\n });\n\n var example = new Aws.Ec2.Instance(\"example\", new()\n {\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n Ami = \"ami-2757f631\",\n UserData = bootstrapScript.Apply(getObjectResult =\u003e getObjectResult.Body),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbootstrapScript, err := s3.GetObject(ctx, \u0026s3.GetObjectArgs{\n\t\t\tBucket: \"ourcorp-deploy-config\",\n\t\t\tKey: \"ec2-bootstrap-script.sh\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"example\", \u0026ec2.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tAmi: pulumi.String(\"ami-2757f631\"),\n\t\t\tUserData: pulumi.String(bootstrapScript.Body),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetObjectArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var bootstrapScript = S3Functions.getObject(GetObjectArgs.builder()\n .bucket(\"ourcorp-deploy-config\")\n .key(\"ec2-bootstrap-script.sh\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .instanceType(\"t2.micro\")\n .ami(\"ami-2757f631\")\n .userData(bootstrapScript.applyValue(getObjectResult -\u003e getObjectResult.body()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Instance\n properties:\n instanceType: t2.micro\n ami: ami-2757f631\n userData: ${bootstrapScript.body}\nvariables:\n bootstrapScript:\n fn::invoke:\n function: aws:s3:getObject\n arguments:\n bucket: ourcorp-deploy-config\n key: ec2-bootstrap-script.sh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following, more-complex example retrieves only the metadata for a zip\nfile stored in S3, which is then used to pass the most recent `version_id`\nto AWS Lambda for use as a function implementation. More information about\nLambda functions is available in the documentation for\n`aws.lambda.Function`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambda = aws.s3.getObject({\n bucket: \"ourcorp-lambda-functions\",\n key: \"hello-world.zip\",\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n s3Bucket: lambda.then(lambda =\u003e lambda.bucket),\n s3Key: lambda.then(lambda =\u003e lambda.key),\n s3ObjectVersion: lambda.then(lambda =\u003e lambda.versionId),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"exports.test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_ = aws.s3.get_object(bucket=\"ourcorp-lambda-functions\",\n key=\"hello-world.zip\")\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n s3_bucket=lambda_.bucket,\n s3_key=lambda_.key,\n s3_object_version=lambda_.version_id,\n name=\"lambda_function_name\",\n role=iam_for_lambda[\"arn\"],\n handler=\"exports.test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambda = Aws.S3.GetObject.Invoke(new()\n {\n Bucket = \"ourcorp-lambda-functions\",\n Key = \"hello-world.zip\",\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n S3Bucket = lambda.Apply(getObjectResult =\u003e getObjectResult.Bucket),\n S3Key = lambda.Apply(getObjectResult =\u003e getObjectResult.Key),\n S3ObjectVersion = lambda.Apply(getObjectResult =\u003e getObjectResult.VersionId),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"exports.test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlambda, err := s3.GetObject(ctx, \u0026s3.GetObjectArgs{\n\t\t\tBucket: \"ourcorp-lambda-functions\",\n\t\t\tKey: \"hello-world.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tS3Bucket: pulumi.String(lambda.Bucket),\n\t\t\tS3Key: pulumi.String(lambda.Key),\n\t\t\tS3ObjectVersion: pulumi.String(lambda.VersionId),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: pulumi.Any(iamForLambda.Arn),\n\t\t\tHandler: pulumi.String(\"exports.test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetObjectArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var lambda = S3Functions.getObject(GetObjectArgs.builder()\n .bucket(\"ourcorp-lambda-functions\")\n .key(\"hello-world.zip\")\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder()\n .s3Bucket(lambda.applyValue(getObjectResult -\u003e getObjectResult.bucket()))\n .s3Key(lambda.applyValue(getObjectResult -\u003e getObjectResult.key()))\n .s3ObjectVersion(lambda.applyValue(getObjectResult -\u003e getObjectResult.versionId()))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"exports.test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n s3Bucket: ${lambda.bucket}\n s3Key: ${lambda.key}\n s3ObjectVersion: ${lambda.versionId}\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: exports.test\nvariables:\n lambda:\n fn::invoke:\n function: aws:s3:getObject\n arguments:\n bucket: ourcorp-lambda-functions\n key: hello-world.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The S3 object data source allows access to the metadata and\n_optionally_ (see below) content of an object stored inside S3 bucket.\n\n\u003e **Note:** The content of an object (`body` field) is available only for objects which have a human-readable `Content-Type`:\n\n* `text/*`\n* `application/json`\n* `application/ld+json`\n* `application/x-httpd-php`\n* `application/xhtml+xml`\n* `application/x-csh`\n* `application/x-sh`\n* `application/xml`\n* `application/atom+xml`\n* `application/x-sql`\n\nThis is to prevent printing unsafe characters and potentially downloading large amount of data which would be thrown away in favor of metadata.\n\n## Example Usage\n\nThe following example retrieves a text object (which must have a `Content-Type`\nvalue starting with `text/`) and uses it as the `user_data` for an EC2 instance:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bootstrapScript = aws.s3.getObject({\n bucket: \"ourcorp-deploy-config\",\n key: \"ec2-bootstrap-script.sh\",\n});\nconst example = new aws.ec2.Instance(\"example\", {\n instanceType: aws.ec2.InstanceType.T2_Micro,\n ami: \"ami-2757f631\",\n userData: bootstrapScript.then(bootstrapScript =\u003e bootstrapScript.body),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbootstrap_script = aws.s3.get_object(bucket=\"ourcorp-deploy-config\",\n key=\"ec2-bootstrap-script.sh\")\nexample = aws.ec2.Instance(\"example\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n ami=\"ami-2757f631\",\n user_data=bootstrap_script.body)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bootstrapScript = Aws.S3.GetObject.Invoke(new()\n {\n Bucket = \"ourcorp-deploy-config\",\n Key = \"ec2-bootstrap-script.sh\",\n });\n\n var example = new Aws.Ec2.Instance(\"example\", new()\n {\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n Ami = \"ami-2757f631\",\n UserData = bootstrapScript.Apply(getObjectResult =\u003e getObjectResult.Body),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbootstrapScript, err := s3.GetObject(ctx, \u0026s3.GetObjectArgs{\n\t\t\tBucket: \"ourcorp-deploy-config\",\n\t\t\tKey: \"ec2-bootstrap-script.sh\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"example\", \u0026ec2.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tAmi: pulumi.String(\"ami-2757f631\"),\n\t\t\tUserData: pulumi.String(bootstrapScript.Body),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetObjectArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var bootstrapScript = S3Functions.getObject(GetObjectArgs.builder()\n .bucket(\"ourcorp-deploy-config\")\n .key(\"ec2-bootstrap-script.sh\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .instanceType(\"t2.micro\")\n .ami(\"ami-2757f631\")\n .userData(bootstrapScript.applyValue(getObjectResult -\u003e getObjectResult.body()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Instance\n properties:\n instanceType: t2.micro\n ami: ami-2757f631\n userData: ${bootstrapScript.body}\nvariables:\n bootstrapScript:\n fn::invoke:\n Function: aws:s3:getObject\n Arguments:\n bucket: ourcorp-deploy-config\n key: ec2-bootstrap-script.sh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following, more-complex example retrieves only the metadata for a zip\nfile stored in S3, which is then used to pass the most recent `version_id`\nto AWS Lambda for use as a function implementation. More information about\nLambda functions is available in the documentation for\n`aws.lambda.Function`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambda = aws.s3.getObject({\n bucket: \"ourcorp-lambda-functions\",\n key: \"hello-world.zip\",\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n s3Bucket: lambda.then(lambda =\u003e lambda.bucket),\n s3Key: lambda.then(lambda =\u003e lambda.key),\n s3ObjectVersion: lambda.then(lambda =\u003e lambda.versionId),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"exports.test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_ = aws.s3.get_object(bucket=\"ourcorp-lambda-functions\",\n key=\"hello-world.zip\")\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n s3_bucket=lambda_.bucket,\n s3_key=lambda_.key,\n s3_object_version=lambda_.version_id,\n name=\"lambda_function_name\",\n role=iam_for_lambda[\"arn\"],\n handler=\"exports.test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambda = Aws.S3.GetObject.Invoke(new()\n {\n Bucket = \"ourcorp-lambda-functions\",\n Key = \"hello-world.zip\",\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n S3Bucket = lambda.Apply(getObjectResult =\u003e getObjectResult.Bucket),\n S3Key = lambda.Apply(getObjectResult =\u003e getObjectResult.Key),\n S3ObjectVersion = lambda.Apply(getObjectResult =\u003e getObjectResult.VersionId),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"exports.test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlambda, err := s3.GetObject(ctx, \u0026s3.GetObjectArgs{\n\t\t\tBucket: \"ourcorp-lambda-functions\",\n\t\t\tKey: \"hello-world.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tS3Bucket: pulumi.String(lambda.Bucket),\n\t\t\tS3Key: pulumi.String(lambda.Key),\n\t\t\tS3ObjectVersion: pulumi.String(lambda.VersionId),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: pulumi.Any(iamForLambda.Arn),\n\t\t\tHandler: pulumi.String(\"exports.test\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetObjectArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var lambda = S3Functions.getObject(GetObjectArgs.builder()\n .bucket(\"ourcorp-lambda-functions\")\n .key(\"hello-world.zip\")\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder()\n .s3Bucket(lambda.applyValue(getObjectResult -\u003e getObjectResult.bucket()))\n .s3Key(lambda.applyValue(getObjectResult -\u003e getObjectResult.key()))\n .s3ObjectVersion(lambda.applyValue(getObjectResult -\u003e getObjectResult.versionId()))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"exports.test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n s3Bucket: ${lambda.bucket}\n s3Key: ${lambda.key}\n s3ObjectVersion: ${lambda.versionId}\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: exports.test\nvariables:\n lambda:\n fn::invoke:\n Function: aws:s3:getObject\n Arguments:\n bucket: ourcorp-lambda-functions\n key: hello-world.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getObject.\n", "properties": { @@ -422807,7 +422807,7 @@ } }, "aws:s3control/getMultiRegionAccessPoint:getMultiRegionAccessPoint": { - "description": "Provides details on a specific S3 Multi-Region Access Point.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.s3control.getMultiRegionAccessPoint({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.get_multi_region_access_point(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.S3Control.GetMultiRegionAccessPoint.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\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 := s3control.LookupMultiRegionAccessPoint(ctx, \u0026s3control.LookupMultiRegionAccessPointArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3control.S3controlFunctions;\nimport com.pulumi.aws.s3control.inputs.GetMultiRegionAccessPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = S3controlFunctions.getMultiRegionAccessPoint(GetMultiRegionAccessPointArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:s3control:getMultiRegionAccessPoint\n arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details on a specific S3 Multi-Region Access Point.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.s3control.getMultiRegionAccessPoint({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.get_multi_region_access_point(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.S3Control.GetMultiRegionAccessPoint.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\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 := s3control.LookupMultiRegionAccessPoint(ctx, \u0026s3control.LookupMultiRegionAccessPointArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3control.S3controlFunctions;\nimport com.pulumi.aws.s3control.inputs.GetMultiRegionAccessPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = S3controlFunctions.getMultiRegionAccessPoint(GetMultiRegionAccessPointArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:s3control:getMultiRegionAccessPoint\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getMultiRegionAccessPoint.\n", "properties": { @@ -422889,7 +422889,7 @@ } }, "aws:sagemaker/getPrebuiltEcrImage:getPrebuiltEcrImage": { - "description": "Get information about prebuilt Amazon SageMaker Docker images.\n\n\u003e **NOTE:** The AWS provider creates a validly constructed `registry_path` but does not verify that the `registry_path` corresponds to an existing image. For example, using a `registry_path` containing an `image_tag` that does not correspond to a Docker image in the ECR repository, will result in an error.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.sagemaker.getPrebuiltEcrImage({\n repositoryName: \"sagemaker-scikit-learn\",\n imageTag: \"2.2-1.0.11.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.sagemaker.get_prebuilt_ecr_image(repository_name=\"sagemaker-scikit-learn\",\n image_tag=\"2.2-1.0.11.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Sagemaker.GetPrebuiltEcrImage.Invoke(new()\n {\n RepositoryName = \"sagemaker-scikit-learn\",\n ImageTag = \"2.2-1.0.11.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\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 := sagemaker.GetPrebuiltEcrImage(ctx, \u0026sagemaker.GetPrebuiltEcrImageArgs{\n\t\t\tRepositoryName: \"sagemaker-scikit-learn\",\n\t\t\tImageTag: pulumi.StringRef(\"2.2-1.0.11.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sagemaker.SagemakerFunctions;\nimport com.pulumi.aws.sagemaker.inputs.GetPrebuiltEcrImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = SagemakerFunctions.getPrebuiltEcrImage(GetPrebuiltEcrImageArgs.builder()\n .repositoryName(\"sagemaker-scikit-learn\")\n .imageTag(\"2.2-1.0.11.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:sagemaker:getPrebuiltEcrImage\n arguments:\n repositoryName: sagemaker-scikit-learn\n imageTag: 2.2-1.0.11.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information about prebuilt Amazon SageMaker Docker images.\n\n\u003e **NOTE:** The AWS provider creates a validly constructed `registry_path` but does not verify that the `registry_path` corresponds to an existing image. For example, using a `registry_path` containing an `image_tag` that does not correspond to a Docker image in the ECR repository, will result in an error.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.sagemaker.getPrebuiltEcrImage({\n repositoryName: \"sagemaker-scikit-learn\",\n imageTag: \"2.2-1.0.11.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.sagemaker.get_prebuilt_ecr_image(repository_name=\"sagemaker-scikit-learn\",\n image_tag=\"2.2-1.0.11.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Sagemaker.GetPrebuiltEcrImage.Invoke(new()\n {\n RepositoryName = \"sagemaker-scikit-learn\",\n ImageTag = \"2.2-1.0.11.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\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 := sagemaker.GetPrebuiltEcrImage(ctx, \u0026sagemaker.GetPrebuiltEcrImageArgs{\n\t\t\tRepositoryName: \"sagemaker-scikit-learn\",\n\t\t\tImageTag: pulumi.StringRef(\"2.2-1.0.11.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sagemaker.SagemakerFunctions;\nimport com.pulumi.aws.sagemaker.inputs.GetPrebuiltEcrImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = SagemakerFunctions.getPrebuiltEcrImage(GetPrebuiltEcrImageArgs.builder()\n .repositoryName(\"sagemaker-scikit-learn\")\n .imageTag(\"2.2-1.0.11.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:sagemaker:getPrebuiltEcrImage\n Arguments:\n repositoryName: sagemaker-scikit-learn\n imageTag: 2.2-1.0.11.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPrebuiltEcrImage.\n", "properties": { @@ -422953,7 +422953,7 @@ } }, "aws:secretsmanager/getRandomPassword:getRandomPassword": { - "description": "Generate a random password.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.secretsmanager.getRandomPassword({\n passwordLength: 50,\n excludeNumbers: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.secretsmanager.get_random_password(password_length=50,\n exclude_numbers=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.SecretsManager.GetRandomPassword.Invoke(new()\n {\n PasswordLength = 50,\n ExcludeNumbers = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\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 := secretsmanager.GetRandomPassword(ctx, \u0026secretsmanager.GetRandomPasswordArgs{\n\t\t\tPasswordLength: pulumi.IntRef(50),\n\t\t\tExcludeNumbers: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetRandomPasswordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = SecretsmanagerFunctions.getRandomPassword(GetRandomPasswordArgs.builder()\n .passwordLength(50)\n .excludeNumbers(true)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:secretsmanager:getRandomPassword\n arguments:\n passwordLength: 50\n excludeNumbers: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Generate a random password.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.secretsmanager.getRandomPassword({\n passwordLength: 50,\n excludeNumbers: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.secretsmanager.get_random_password(password_length=50,\n exclude_numbers=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.SecretsManager.GetRandomPassword.Invoke(new()\n {\n PasswordLength = 50,\n ExcludeNumbers = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\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 := secretsmanager.GetRandomPassword(ctx, \u0026secretsmanager.GetRandomPasswordArgs{\n\t\t\tPasswordLength: pulumi.IntRef(50),\n\t\t\tExcludeNumbers: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetRandomPasswordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = SecretsmanagerFunctions.getRandomPassword(GetRandomPasswordArgs.builder()\n .passwordLength(50)\n .excludeNumbers(true)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:secretsmanager:getRandomPassword\n Arguments:\n passwordLength: 50\n excludeNumbers: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRandomPassword.\n", "properties": { @@ -423036,7 +423036,7 @@ } }, "aws:secretsmanager/getSecret:getSecret": { - "description": "Retrieve metadata information about a Secrets Manager secret. To retrieve a secret value, see the `aws.secretsmanager.SecretVersion` data source.\n\n## Example Usage\n\n### ARN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst by-arn = aws.secretsmanager.getSecret({\n arn: \"arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_arn = aws.secretsmanager.get_secret(arn=\"arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var by_arn = Aws.SecretsManager.GetSecret.Invoke(new()\n {\n Arn = \"arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\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 := secretsmanager.LookupSecret(ctx, \u0026secretsmanager.LookupSecretArgs{\n\t\t\tArn: pulumi.StringRef(\"arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var by-arn = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()\n .arn(\"arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n by-arn:\n fn::invoke:\n function: aws:secretsmanager:getSecret\n arguments:\n arn: arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst by-name = aws.secretsmanager.getSecret({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_name = aws.secretsmanager.get_secret(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var by_name = Aws.SecretsManager.GetSecret.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\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 := secretsmanager.LookupSecret(ctx, \u0026secretsmanager.LookupSecretArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var by-name = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n by-name:\n fn::invoke:\n function: aws:secretsmanager:getSecret\n arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve metadata information about a Secrets Manager secret. To retrieve a secret value, see the `aws.secretsmanager.SecretVersion` data source.\n\n## Example Usage\n\n### ARN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst by-arn = aws.secretsmanager.getSecret({\n arn: \"arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_arn = aws.secretsmanager.get_secret(arn=\"arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var by_arn = Aws.SecretsManager.GetSecret.Invoke(new()\n {\n Arn = \"arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\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 := secretsmanager.LookupSecret(ctx, \u0026secretsmanager.LookupSecretArgs{\n\t\t\tArn: pulumi.StringRef(\"arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var by-arn = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()\n .arn(\"arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n by-arn:\n fn::invoke:\n Function: aws:secretsmanager:getSecret\n Arguments:\n arn: arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst by-name = aws.secretsmanager.getSecret({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_name = aws.secretsmanager.get_secret(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var by_name = Aws.SecretsManager.GetSecret.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\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 := secretsmanager.LookupSecret(ctx, \u0026secretsmanager.LookupSecretArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var by-name = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n by-name:\n fn::invoke:\n Function: aws:secretsmanager:getSecret\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSecret.\n", "properties": { @@ -423115,7 +423115,7 @@ } }, "aws:secretsmanager/getSecretRotation:getSecretRotation": { - "description": "Retrieve information about a Secrets Manager secret rotation. To retrieve secret metadata, see the `aws.secretsmanager.Secret` data source. To retrieve a secret value, see the `aws.secretsmanager.SecretVersion` data source.\n\n## Example Usage\n\n### Retrieve Secret Rotation Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.secretsmanager.getSecretRotation({\n secretId: exampleAwsSecretsmanagerSecret.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.get_secret_rotation(secret_id=example_aws_secretsmanager_secret[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SecretsManager.GetSecretRotation.Invoke(new()\n {\n SecretId = exampleAwsSecretsmanagerSecret.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\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 := secretsmanager.LookupSecretRotation(ctx, \u0026secretsmanager.LookupSecretRotationArgs{\n\t\t\tSecretId: exampleAwsSecretsmanagerSecret.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretRotationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SecretsmanagerFunctions.getSecretRotation(GetSecretRotationArgs.builder()\n .secretId(exampleAwsSecretsmanagerSecret.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:secretsmanager:getSecretRotation\n arguments:\n secretId: ${exampleAwsSecretsmanagerSecret.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a Secrets Manager secret rotation. To retrieve secret metadata, see the `aws.secretsmanager.Secret` data source. To retrieve a secret value, see the `aws.secretsmanager.SecretVersion` data source.\n\n## Example Usage\n\n### Retrieve Secret Rotation Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.secretsmanager.getSecretRotation({\n secretId: exampleAwsSecretsmanagerSecret.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.get_secret_rotation(secret_id=example_aws_secretsmanager_secret[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SecretsManager.GetSecretRotation.Invoke(new()\n {\n SecretId = exampleAwsSecretsmanagerSecret.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\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 := secretsmanager.LookupSecretRotation(ctx, \u0026secretsmanager.LookupSecretRotationArgs{\n\t\t\tSecretId: exampleAwsSecretsmanagerSecret.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretRotationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SecretsmanagerFunctions.getSecretRotation(GetSecretRotationArgs.builder()\n .secretId(exampleAwsSecretsmanagerSecret.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:secretsmanager:getSecretRotation\n Arguments:\n secretId: ${exampleAwsSecretsmanagerSecret.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSecretRotation.\n", "properties": { @@ -423166,7 +423166,7 @@ } }, "aws:secretsmanager/getSecretVersion:getSecretVersion": { - "description": "Retrieve information about a Secrets Manager secret version, including its secret value. To retrieve secret metadata, see the `aws.secretsmanager.Secret` data source.\n\n## Example Usage\n\n### Retrieve Current Secret Version\n\nBy default, this data sources retrieves information based on the `AWSCURRENT` staging label.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst secret-version = aws.secretsmanager.getSecretVersion({\n secretId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsecret_version = aws.secretsmanager.get_secret_version(secret_id=example[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var secret_version = Aws.SecretsManager.GetSecretVersion.Invoke(new()\n {\n SecretId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\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 := secretsmanager.LookupSecretVersion(ctx, \u0026secretsmanager.LookupSecretVersionArgs{\n\t\t\tSecretId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var secret-version = SecretsmanagerFunctions.getSecretVersion(GetSecretVersionArgs.builder()\n .secretId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n secret-version:\n fn::invoke:\n function: aws:secretsmanager:getSecretVersion\n arguments:\n secretId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Retrieve Specific Secret Version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst by-version-stage = aws.secretsmanager.getSecretVersion({\n secretId: example.id,\n versionStage: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_version_stage = aws.secretsmanager.get_secret_version(secret_id=example[\"id\"],\n version_stage=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var by_version_stage = Aws.SecretsManager.GetSecretVersion.Invoke(new()\n {\n SecretId = example.Id,\n VersionStage = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\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 := secretsmanager.LookupSecretVersion(ctx, \u0026secretsmanager.LookupSecretVersionArgs{\n\t\t\tSecretId: example.Id,\n\t\t\tVersionStage: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var by-version-stage = SecretsmanagerFunctions.getSecretVersion(GetSecretVersionArgs.builder()\n .secretId(example.id())\n .versionStage(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n by-version-stage:\n fn::invoke:\n function: aws:secretsmanager:getSecretVersion\n arguments:\n secretId: ${example.id}\n versionStage: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n", + "description": "Retrieve information about a Secrets Manager secret version, including its secret value. To retrieve secret metadata, see the `aws.secretsmanager.Secret` data source.\n\n## Example Usage\n\n### Retrieve Current Secret Version\n\nBy default, this data sources retrieves information based on the `AWSCURRENT` staging label.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst secret-version = aws.secretsmanager.getSecretVersion({\n secretId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsecret_version = aws.secretsmanager.get_secret_version(secret_id=example[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var secret_version = Aws.SecretsManager.GetSecretVersion.Invoke(new()\n {\n SecretId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\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 := secretsmanager.LookupSecretVersion(ctx, \u0026secretsmanager.LookupSecretVersionArgs{\n\t\t\tSecretId: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var secret-version = SecretsmanagerFunctions.getSecretVersion(GetSecretVersionArgs.builder()\n .secretId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n secret-version:\n fn::invoke:\n Function: aws:secretsmanager:getSecretVersion\n Arguments:\n secretId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Retrieve Specific Secret Version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst by-version-stage = aws.secretsmanager.getSecretVersion({\n secretId: example.id,\n versionStage: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_version_stage = aws.secretsmanager.get_secret_version(secret_id=example[\"id\"],\n version_stage=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var by_version_stage = Aws.SecretsManager.GetSecretVersion.Invoke(new()\n {\n SecretId = example.Id,\n VersionStage = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\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 := secretsmanager.LookupSecretVersion(ctx, \u0026secretsmanager.LookupSecretVersionArgs{\n\t\t\tSecretId: example.Id,\n\t\t\tVersionStage: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var by-version-stage = SecretsmanagerFunctions.getSecretVersion(GetSecretVersionArgs.builder()\n .secretId(example.id())\n .versionStage(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n by-version-stage:\n fn::invoke:\n Function: aws:secretsmanager:getSecretVersion\n Arguments:\n secretId: ${example.id}\n versionStage: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n", "inputs": { "description": "A collection of arguments for invoking getSecretVersion.\n", "properties": { @@ -423300,7 +423300,7 @@ } }, "aws:secretsmanager/getSecrets:getSecrets": { - "description": "Use this data source to get the ARNs and names of Secrets Manager secrets matching the specified criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.secretsmanager.getSecrets({\n filters: [{\n name: \"name\",\n values: [\"example\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.get_secrets(filters=[{\n \"name\": \"name\",\n \"values\": [\"example\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SecretsManager.GetSecrets.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.SecretsManager.Inputs.GetSecretsFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\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 := secretsmanager.GetSecrets(ctx, \u0026secretsmanager.GetSecretsArgs{\n\t\t\tFilters: []secretsmanager.GetSecretsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"example\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SecretsmanagerFunctions.getSecrets(GetSecretsArgs.builder()\n .filters(GetSecretsFilterArgs.builder()\n .name(\"name\")\n .values(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:secretsmanager:getSecrets\n arguments:\n filters:\n - name: name\n values:\n - example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the ARNs and names of Secrets Manager secrets matching the specified criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.secretsmanager.getSecrets({\n filters: [{\n name: \"name\",\n values: [\"example\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.get_secrets(filters=[{\n \"name\": \"name\",\n \"values\": [\"example\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SecretsManager.GetSecrets.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.SecretsManager.Inputs.GetSecretsFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\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 := secretsmanager.GetSecrets(ctx, \u0026secretsmanager.GetSecretsArgs{\n\t\t\tFilters: []secretsmanager.GetSecretsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"example\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SecretsmanagerFunctions.getSecrets(GetSecretsArgs.builder()\n .filters(GetSecretsFilterArgs.builder()\n .name(\"name\")\n .values(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:secretsmanager:getSecrets\n Arguments:\n filters:\n - name: name\n values:\n - example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSecrets.\n", "properties": { @@ -423351,7 +423351,7 @@ } }, "aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations": { - "description": "Data source for managing an AWS Security Hub Standards Control Associations.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testAccount = new aws.securityhub.Account(\"test\", {});\nconst test = aws.securityhub.getStandardsControlAssociations({\n securityControlId: \"IAM.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_account = aws.securityhub.Account(\"test\")\ntest = aws.securityhub.get_standards_control_associations(security_control_id=\"IAM.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testAccount = new Aws.SecurityHub.Account(\"test\");\n\n var test = Aws.SecurityHub.GetStandardsControlAssociations.Invoke(new()\n {\n SecurityControlId = \"IAM.1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\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 := securityhub.NewAccount(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.GetStandardsControlAssociations(ctx, \u0026securityhub.GetStandardsControlAssociationsArgs{\n\t\t\tSecurityControlId: \"IAM.1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.SecurityhubFunctions;\nimport com.pulumi.aws.securityhub.inputs.GetStandardsControlAssociationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testAccount = new Account(\"testAccount\");\n\n final var test = SecurityhubFunctions.getStandardsControlAssociations(GetStandardsControlAssociationsArgs.builder()\n .securityControlId(\"IAM.1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testAccount:\n type: aws:securityhub:Account\n name: test\nvariables:\n test:\n fn::invoke:\n function: aws:securityhub:getStandardsControlAssociations\n arguments:\n securityControlId: IAM.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Security Hub Standards Control Associations.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testAccount = new aws.securityhub.Account(\"test\", {});\nconst test = aws.securityhub.getStandardsControlAssociations({\n securityControlId: \"IAM.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_account = aws.securityhub.Account(\"test\")\ntest = aws.securityhub.get_standards_control_associations(security_control_id=\"IAM.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testAccount = new Aws.SecurityHub.Account(\"test\");\n\n var test = Aws.SecurityHub.GetStandardsControlAssociations.Invoke(new()\n {\n SecurityControlId = \"IAM.1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\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 := securityhub.NewAccount(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.GetStandardsControlAssociations(ctx, \u0026securityhub.GetStandardsControlAssociationsArgs{\n\t\t\tSecurityControlId: \"IAM.1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.SecurityhubFunctions;\nimport com.pulumi.aws.securityhub.inputs.GetStandardsControlAssociationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testAccount = new Account(\"testAccount\");\n\n final var test = SecurityhubFunctions.getStandardsControlAssociations(GetStandardsControlAssociationsArgs.builder()\n .securityControlId(\"IAM.1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testAccount:\n type: aws:securityhub:Account\n name: test\nvariables:\n test:\n fn::invoke:\n Function: aws:securityhub:getStandardsControlAssociations\n Arguments:\n securityControlId: IAM.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getStandardsControlAssociations.\n", "properties": { @@ -423392,7 +423392,7 @@ } }, "aws:serverlessrepository/getApplication:getApplication": { - "description": "Use this data source to get information about an AWS Serverless Application Repository application. For example, this can be used to determine the required `capabilities` for an application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.serverlessrepository.getApplication({\n applicationId: \"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\",\n});\nconst exampleCloudFormationStack = new aws.serverlessrepository.CloudFormationStack(\"example\", {\n name: \"Example\",\n applicationId: example.then(example =\u003e example.applicationId),\n semanticVersion: example.then(example =\u003e example.semanticVersion),\n capabilities: example.then(example =\u003e example.requiredCapabilities),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.serverlessrepository.get_application(application_id=\"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\")\nexample_cloud_formation_stack = aws.serverlessrepository.CloudFormationStack(\"example\",\n name=\"Example\",\n application_id=example.application_id,\n semantic_version=example.semantic_version,\n capabilities=example.required_capabilities)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServerlessRepository.GetApplication.Invoke(new()\n {\n ApplicationId = \"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\",\n });\n\n var exampleCloudFormationStack = new Aws.ServerlessRepository.CloudFormationStack(\"example\", new()\n {\n Name = \"Example\",\n ApplicationId = example.Apply(getApplicationResult =\u003e getApplicationResult.ApplicationId),\n SemanticVersion = example.Apply(getApplicationResult =\u003e getApplicationResult.SemanticVersion),\n Capabilities = example.Apply(getApplicationResult =\u003e getApplicationResult.RequiredCapabilities),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/serverlessrepository\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := serverlessrepository.GetApplication(ctx, \u0026serverlessrepository.GetApplicationArgs{\n\t\t\tApplicationId: \"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = serverlessrepository.NewCloudFormationStack(ctx, \"example\", \u0026serverlessrepository.CloudFormationStackArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tApplicationId: pulumi.String(example.ApplicationId),\n\t\t\tSemanticVersion: pulumi.String(example.SemanticVersion),\n\t\t\tCapabilities: interface{}(example.RequiredCapabilities),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.serverlessrepository.ServerlessrepositoryFunctions;\nimport com.pulumi.aws.serverlessrepository.inputs.GetApplicationArgs;\nimport com.pulumi.aws.serverlessrepository.CloudFormationStack;\nimport com.pulumi.aws.serverlessrepository.CloudFormationStackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServerlessrepositoryFunctions.getApplication(GetApplicationArgs.builder()\n .applicationId(\"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\")\n .build());\n\n var exampleCloudFormationStack = new CloudFormationStack(\"exampleCloudFormationStack\", CloudFormationStackArgs.builder()\n .name(\"Example\")\n .applicationId(example.applyValue(getApplicationResult -\u003e getApplicationResult.applicationId()))\n .semanticVersion(example.applyValue(getApplicationResult -\u003e getApplicationResult.semanticVersion()))\n .capabilities(example.applyValue(getApplicationResult -\u003e getApplicationResult.requiredCapabilities()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCloudFormationStack:\n type: aws:serverlessrepository:CloudFormationStack\n name: example\n properties:\n name: Example\n applicationId: ${example.applicationId}\n semanticVersion: ${example.semanticVersion}\n capabilities: ${example.requiredCapabilities}\nvariables:\n example:\n fn::invoke:\n function: aws:serverlessrepository:getApplication\n arguments:\n applicationId: arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about an AWS Serverless Application Repository application. For example, this can be used to determine the required `capabilities` for an application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.serverlessrepository.getApplication({\n applicationId: \"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\",\n});\nconst exampleCloudFormationStack = new aws.serverlessrepository.CloudFormationStack(\"example\", {\n name: \"Example\",\n applicationId: example.then(example =\u003e example.applicationId),\n semanticVersion: example.then(example =\u003e example.semanticVersion),\n capabilities: example.then(example =\u003e example.requiredCapabilities),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.serverlessrepository.get_application(application_id=\"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\")\nexample_cloud_formation_stack = aws.serverlessrepository.CloudFormationStack(\"example\",\n name=\"Example\",\n application_id=example.application_id,\n semantic_version=example.semantic_version,\n capabilities=example.required_capabilities)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServerlessRepository.GetApplication.Invoke(new()\n {\n ApplicationId = \"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\",\n });\n\n var exampleCloudFormationStack = new Aws.ServerlessRepository.CloudFormationStack(\"example\", new()\n {\n Name = \"Example\",\n ApplicationId = example.Apply(getApplicationResult =\u003e getApplicationResult.ApplicationId),\n SemanticVersion = example.Apply(getApplicationResult =\u003e getApplicationResult.SemanticVersion),\n Capabilities = example.Apply(getApplicationResult =\u003e getApplicationResult.RequiredCapabilities),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/serverlessrepository\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := serverlessrepository.GetApplication(ctx, \u0026serverlessrepository.GetApplicationArgs{\n\t\t\tApplicationId: \"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = serverlessrepository.NewCloudFormationStack(ctx, \"example\", \u0026serverlessrepository.CloudFormationStackArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tApplicationId: pulumi.String(example.ApplicationId),\n\t\t\tSemanticVersion: pulumi.String(example.SemanticVersion),\n\t\t\tCapabilities: interface{}(example.RequiredCapabilities),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.serverlessrepository.ServerlessrepositoryFunctions;\nimport com.pulumi.aws.serverlessrepository.inputs.GetApplicationArgs;\nimport com.pulumi.aws.serverlessrepository.CloudFormationStack;\nimport com.pulumi.aws.serverlessrepository.CloudFormationStackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServerlessrepositoryFunctions.getApplication(GetApplicationArgs.builder()\n .applicationId(\"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\")\n .build());\n\n var exampleCloudFormationStack = new CloudFormationStack(\"exampleCloudFormationStack\", CloudFormationStackArgs.builder()\n .name(\"Example\")\n .applicationId(example.applyValue(getApplicationResult -\u003e getApplicationResult.applicationId()))\n .semanticVersion(example.applyValue(getApplicationResult -\u003e getApplicationResult.semanticVersion()))\n .capabilities(example.applyValue(getApplicationResult -\u003e getApplicationResult.requiredCapabilities()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCloudFormationStack:\n type: aws:serverlessrepository:CloudFormationStack\n name: example\n properties:\n name: Example\n applicationId: ${example.applicationId}\n semanticVersion: ${example.semanticVersion}\n capabilities: ${example.requiredCapabilities}\nvariables:\n example:\n fn::invoke:\n Function: aws:serverlessrepository:getApplication\n Arguments:\n applicationId: arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getApplication.\n", "properties": { @@ -423457,7 +423457,7 @@ } }, "aws:servicecatalog/getAppregistryApplication:getAppregistryApplication": { - "description": "Data source for managing an AWS Service Catalog AppRegistry Application.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicecatalog.getAppregistryApplication({\n id: \"application-1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.get_appregistry_application(id=\"application-1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceCatalog.GetAppregistryApplication.Invoke(new()\n {\n Id = \"application-1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\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 := servicecatalog.LookupAppregistryApplication(ctx, \u0026servicecatalog.LookupAppregistryApplicationArgs{\n\t\t\tId: \"application-1234\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.ServicecatalogFunctions;\nimport com.pulumi.aws.servicecatalog.inputs.GetAppregistryApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServicecatalogFunctions.getAppregistryApplication(GetAppregistryApplicationArgs.builder()\n .id(\"application-1234\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:servicecatalog:getAppregistryApplication\n arguments:\n id: application-1234\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Service Catalog AppRegistry Application.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicecatalog.getAppregistryApplication({\n id: \"application-1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.get_appregistry_application(id=\"application-1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceCatalog.GetAppregistryApplication.Invoke(new()\n {\n Id = \"application-1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\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 := servicecatalog.LookupAppregistryApplication(ctx, \u0026servicecatalog.LookupAppregistryApplicationArgs{\n\t\t\tId: \"application-1234\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.ServicecatalogFunctions;\nimport com.pulumi.aws.servicecatalog.inputs.GetAppregistryApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServicecatalogFunctions.getAppregistryApplication(GetAppregistryApplicationArgs.builder()\n .id(\"application-1234\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:servicecatalog:getAppregistryApplication\n Arguments:\n id: application-1234\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAppregistryApplication.\n", "properties": { @@ -423508,7 +423508,7 @@ } }, "aws:servicecatalog/getConstraint:getConstraint": { - "description": "Provides information on a Service Catalog Constraint.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicecatalog.getConstraint({\n acceptLanguage: \"en\",\n id: \"cons-hrvy0335\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.get_constraint(accept_language=\"en\",\n id=\"cons-hrvy0335\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceCatalog.GetConstraint.Invoke(new()\n {\n AcceptLanguage = \"en\",\n Id = \"cons-hrvy0335\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\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 := servicecatalog.LookupConstraint(ctx, \u0026servicecatalog.LookupConstraintArgs{\n\t\t\tAcceptLanguage: pulumi.StringRef(\"en\"),\n\t\t\tId: \"cons-hrvy0335\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.ServicecatalogFunctions;\nimport com.pulumi.aws.servicecatalog.inputs.GetConstraintArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServicecatalogFunctions.getConstraint(GetConstraintArgs.builder()\n .acceptLanguage(\"en\")\n .id(\"cons-hrvy0335\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:servicecatalog:getConstraint\n arguments:\n acceptLanguage: en\n id: cons-hrvy0335\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information on a Service Catalog Constraint.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicecatalog.getConstraint({\n acceptLanguage: \"en\",\n id: \"cons-hrvy0335\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.get_constraint(accept_language=\"en\",\n id=\"cons-hrvy0335\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceCatalog.GetConstraint.Invoke(new()\n {\n AcceptLanguage = \"en\",\n Id = \"cons-hrvy0335\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\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 := servicecatalog.LookupConstraint(ctx, \u0026servicecatalog.LookupConstraintArgs{\n\t\t\tAcceptLanguage: pulumi.StringRef(\"en\"),\n\t\t\tId: \"cons-hrvy0335\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.ServicecatalogFunctions;\nimport com.pulumi.aws.servicecatalog.inputs.GetConstraintArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServicecatalogFunctions.getConstraint(GetConstraintArgs.builder()\n .acceptLanguage(\"en\")\n .id(\"cons-hrvy0335\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:servicecatalog:getConstraint\n Arguments:\n acceptLanguage: en\n id: cons-hrvy0335\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getConstraint.\n", "properties": { @@ -423582,7 +423582,7 @@ } }, "aws:servicecatalog/getLaunchPaths:getLaunchPaths": { - "description": "Lists the paths to the specified product. A path is how the user has access to a specified product, and is necessary when provisioning a product. A path also determines the constraints put on the product.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicecatalog.getLaunchPaths({\n productId: \"prod-yakog5pdriver\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.get_launch_paths(product_id=\"prod-yakog5pdriver\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceCatalog.GetLaunchPaths.Invoke(new()\n {\n ProductId = \"prod-yakog5pdriver\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\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 := servicecatalog.GetLaunchPaths(ctx, \u0026servicecatalog.GetLaunchPathsArgs{\n\t\t\tProductId: \"prod-yakog5pdriver\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.ServicecatalogFunctions;\nimport com.pulumi.aws.servicecatalog.inputs.GetLaunchPathsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServicecatalogFunctions.getLaunchPaths(GetLaunchPathsArgs.builder()\n .productId(\"prod-yakog5pdriver\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:servicecatalog:getLaunchPaths\n arguments:\n productId: prod-yakog5pdriver\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Lists the paths to the specified product. A path is how the user has access to a specified product, and is necessary when provisioning a product. A path also determines the constraints put on the product.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicecatalog.getLaunchPaths({\n productId: \"prod-yakog5pdriver\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.get_launch_paths(product_id=\"prod-yakog5pdriver\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceCatalog.GetLaunchPaths.Invoke(new()\n {\n ProductId = \"prod-yakog5pdriver\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\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 := servicecatalog.GetLaunchPaths(ctx, \u0026servicecatalog.GetLaunchPathsArgs{\n\t\t\tProductId: \"prod-yakog5pdriver\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.ServicecatalogFunctions;\nimport com.pulumi.aws.servicecatalog.inputs.GetLaunchPathsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServicecatalogFunctions.getLaunchPaths(GetLaunchPathsArgs.builder()\n .productId(\"prod-yakog5pdriver\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:servicecatalog:getLaunchPaths\n Arguments:\n productId: prod-yakog5pdriver\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLaunchPaths.\n", "properties": { @@ -423630,7 +423630,7 @@ } }, "aws:servicecatalog/getPortfolio:getPortfolio": { - "description": "Provides information for a Service Catalog Portfolio.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst portfolio = aws.servicecatalog.getPortfolio({\n id: \"port-07052002\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nportfolio = aws.servicecatalog.get_portfolio(id=\"port-07052002\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var portfolio = Aws.ServiceCatalog.GetPortfolio.Invoke(new()\n {\n Id = \"port-07052002\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\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 := servicecatalog.LookupPortfolio(ctx, \u0026servicecatalog.LookupPortfolioArgs{\n\t\t\tId: \"port-07052002\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.ServicecatalogFunctions;\nimport com.pulumi.aws.servicecatalog.inputs.GetPortfolioArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var portfolio = ServicecatalogFunctions.getPortfolio(GetPortfolioArgs.builder()\n .id(\"port-07052002\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n portfolio:\n fn::invoke:\n function: aws:servicecatalog:getPortfolio\n arguments:\n id: port-07052002\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information for a Service Catalog Portfolio.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst portfolio = aws.servicecatalog.getPortfolio({\n id: \"port-07052002\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nportfolio = aws.servicecatalog.get_portfolio(id=\"port-07052002\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var portfolio = Aws.ServiceCatalog.GetPortfolio.Invoke(new()\n {\n Id = \"port-07052002\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\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 := servicecatalog.LookupPortfolio(ctx, \u0026servicecatalog.LookupPortfolioArgs{\n\t\t\tId: \"port-07052002\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.ServicecatalogFunctions;\nimport com.pulumi.aws.servicecatalog.inputs.GetPortfolioArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var portfolio = ServicecatalogFunctions.getPortfolio(GetPortfolioArgs.builder()\n .id(\"port-07052002\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n portfolio:\n fn::invoke:\n Function: aws:servicecatalog:getPortfolio\n Arguments:\n id: port-07052002\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPortfolio.\n", "properties": { @@ -423705,7 +423705,7 @@ } }, "aws:servicecatalog/getPortfolioConstraints:getPortfolioConstraints": { - "description": "Provides information on Service Catalog Portfolio Constraints.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicecatalog.getPortfolioConstraints({\n portfolioId: \"port-3lli3b3an\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.get_portfolio_constraints(portfolio_id=\"port-3lli3b3an\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceCatalog.GetPortfolioConstraints.Invoke(new()\n {\n PortfolioId = \"port-3lli3b3an\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\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 := servicecatalog.GetPortfolioConstraints(ctx, \u0026servicecatalog.GetPortfolioConstraintsArgs{\n\t\t\tPortfolioId: \"port-3lli3b3an\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.ServicecatalogFunctions;\nimport com.pulumi.aws.servicecatalog.inputs.GetPortfolioConstraintsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServicecatalogFunctions.getPortfolioConstraints(GetPortfolioConstraintsArgs.builder()\n .portfolioId(\"port-3lli3b3an\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:servicecatalog:getPortfolioConstraints\n arguments:\n portfolioId: port-3lli3b3an\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information on Service Catalog Portfolio Constraints.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicecatalog.getPortfolioConstraints({\n portfolioId: \"port-3lli3b3an\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.get_portfolio_constraints(portfolio_id=\"port-3lli3b3an\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceCatalog.GetPortfolioConstraints.Invoke(new()\n {\n PortfolioId = \"port-3lli3b3an\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\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 := servicecatalog.GetPortfolioConstraints(ctx, \u0026servicecatalog.GetPortfolioConstraintsArgs{\n\t\t\tPortfolioId: \"port-3lli3b3an\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.ServicecatalogFunctions;\nimport com.pulumi.aws.servicecatalog.inputs.GetPortfolioConstraintsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServicecatalogFunctions.getPortfolioConstraints(GetPortfolioConstraintsArgs.builder()\n .portfolioId(\"port-3lli3b3an\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:servicecatalog:getPortfolioConstraints\n Arguments:\n portfolioId: port-3lli3b3an\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPortfolioConstraints.\n", "properties": { @@ -423762,7 +423762,7 @@ } }, "aws:servicecatalog/getProduct:getProduct": { - "description": "Use this data source to retrieve information about a Service Catalog product.\n\n\u003e **NOTE:** A \"provisioning artifact\" is also known as a \"version,\" and a \"distributor\" is also known as a \"vendor.\"\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicecatalog.getProduct({\n id: \"prod-dnigbtea24ste\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.get_product(id=\"prod-dnigbtea24ste\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceCatalog.GetProduct.Invoke(new()\n {\n Id = \"prod-dnigbtea24ste\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\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 := servicecatalog.LookupProduct(ctx, \u0026servicecatalog.LookupProductArgs{\n\t\t\tId: \"prod-dnigbtea24ste\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.ServicecatalogFunctions;\nimport com.pulumi.aws.servicecatalog.inputs.GetProductArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServicecatalogFunctions.getProduct(GetProductArgs.builder()\n .id(\"prod-dnigbtea24ste\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:servicecatalog:getProduct\n arguments:\n id: prod-dnigbtea24ste\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Service Catalog product.\n\n\u003e **NOTE:** A \"provisioning artifact\" is also known as a \"version,\" and a \"distributor\" is also known as a \"vendor.\"\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicecatalog.getProduct({\n id: \"prod-dnigbtea24ste\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.get_product(id=\"prod-dnigbtea24ste\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceCatalog.GetProduct.Invoke(new()\n {\n Id = \"prod-dnigbtea24ste\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\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 := servicecatalog.LookupProduct(ctx, \u0026servicecatalog.LookupProductArgs{\n\t\t\tId: \"prod-dnigbtea24ste\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.ServicecatalogFunctions;\nimport com.pulumi.aws.servicecatalog.inputs.GetProductArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServicecatalogFunctions.getProduct(GetProductArgs.builder()\n .id(\"prod-dnigbtea24ste\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:servicecatalog:getProduct\n Arguments:\n id: prod-dnigbtea24ste\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProduct.\n", "properties": { @@ -423872,7 +423872,7 @@ } }, "aws:servicecatalog/getProvisioningArtifacts:getProvisioningArtifacts": { - "description": "Lists the provisioning artifacts for the specified product.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicecatalog.getProvisioningArtifacts({\n productId: \"prod-yakog5pdriver\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.get_provisioning_artifacts(product_id=\"prod-yakog5pdriver\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceCatalog.GetProvisioningArtifacts.Invoke(new()\n {\n ProductId = \"prod-yakog5pdriver\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\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 := servicecatalog.GetProvisioningArtifacts(ctx, \u0026servicecatalog.GetProvisioningArtifactsArgs{\n\t\t\tProductId: \"prod-yakog5pdriver\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.ServicecatalogFunctions;\nimport com.pulumi.aws.servicecatalog.inputs.GetProvisioningArtifactsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServicecatalogFunctions.getProvisioningArtifacts(GetProvisioningArtifactsArgs.builder()\n .productId(\"prod-yakog5pdriver\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:servicecatalog:getProvisioningArtifacts\n arguments:\n productId: prod-yakog5pdriver\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Lists the provisioning artifacts for the specified product.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicecatalog.getProvisioningArtifacts({\n productId: \"prod-yakog5pdriver\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.get_provisioning_artifacts(product_id=\"prod-yakog5pdriver\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceCatalog.GetProvisioningArtifacts.Invoke(new()\n {\n ProductId = \"prod-yakog5pdriver\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\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 := servicecatalog.GetProvisioningArtifacts(ctx, \u0026servicecatalog.GetProvisioningArtifactsArgs{\n\t\t\tProductId: \"prod-yakog5pdriver\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.ServicecatalogFunctions;\nimport com.pulumi.aws.servicecatalog.inputs.GetProvisioningArtifactsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServicecatalogFunctions.getProvisioningArtifacts(GetProvisioningArtifactsArgs.builder()\n .productId(\"prod-yakog5pdriver\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:servicecatalog:getProvisioningArtifacts\n Arguments:\n productId: prod-yakog5pdriver\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProvisioningArtifacts.\n", "properties": { @@ -423920,7 +423920,7 @@ } }, "aws:servicediscovery/getDnsNamespace:getDnsNamespace": { - "description": "Retrieves information about a Service Discovery private or public DNS namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.servicediscovery.getDnsNamespace({\n name: \"example.service.local\",\n type: \"DNS_PRIVATE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.servicediscovery.get_dns_namespace(name=\"example.service.local\",\n type=\"DNS_PRIVATE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.ServiceDiscovery.GetDnsNamespace.Invoke(new()\n {\n Name = \"example.service.local\",\n Type = \"DNS_PRIVATE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\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 := servicediscovery.GetDnsNamespace(ctx, \u0026servicediscovery.GetDnsNamespaceArgs{\n\t\t\tName: \"example.service.local\",\n\t\t\tType: \"DNS_PRIVATE\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicediscovery.ServicediscoveryFunctions;\nimport com.pulumi.aws.servicediscovery.inputs.GetDnsNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ServicediscoveryFunctions.getDnsNamespace(GetDnsNamespaceArgs.builder()\n .name(\"example.service.local\")\n .type(\"DNS_PRIVATE\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:servicediscovery:getDnsNamespace\n arguments:\n name: example.service.local\n type: DNS_PRIVATE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieves information about a Service Discovery private or public DNS namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.servicediscovery.getDnsNamespace({\n name: \"example.service.local\",\n type: \"DNS_PRIVATE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.servicediscovery.get_dns_namespace(name=\"example.service.local\",\n type=\"DNS_PRIVATE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.ServiceDiscovery.GetDnsNamespace.Invoke(new()\n {\n Name = \"example.service.local\",\n Type = \"DNS_PRIVATE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\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 := servicediscovery.GetDnsNamespace(ctx, \u0026servicediscovery.GetDnsNamespaceArgs{\n\t\t\tName: \"example.service.local\",\n\t\t\tType: \"DNS_PRIVATE\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicediscovery.ServicediscoveryFunctions;\nimport com.pulumi.aws.servicediscovery.inputs.GetDnsNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ServicediscoveryFunctions.getDnsNamespace(GetDnsNamespaceArgs.builder()\n .name(\"example.service.local\")\n .type(\"DNS_PRIVATE\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:servicediscovery:getDnsNamespace\n Arguments:\n name: example.service.local\n type: DNS_PRIVATE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDnsNamespace.\n", "properties": { @@ -423992,7 +423992,7 @@ } }, "aws:servicediscovery/getHttpNamespace:getHttpNamespace": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicediscovery.getHttpNamespace({\n name: \"development\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicediscovery.get_http_namespace(name=\"development\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceDiscovery.GetHttpNamespace.Invoke(new()\n {\n Name = \"development\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\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 := servicediscovery.LookupHttpNamespace(ctx, \u0026servicediscovery.LookupHttpNamespaceArgs{\n\t\t\tName: \"development\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicediscovery.ServicediscoveryFunctions;\nimport com.pulumi.aws.servicediscovery.inputs.GetHttpNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServicediscoveryFunctions.getHttpNamespace(GetHttpNamespaceArgs.builder()\n .name(\"development\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:servicediscovery:getHttpNamespace\n arguments:\n name: development\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicediscovery.getHttpNamespace({\n name: \"development\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicediscovery.get_http_namespace(name=\"development\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceDiscovery.GetHttpNamespace.Invoke(new()\n {\n Name = \"development\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\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 := servicediscovery.LookupHttpNamespace(ctx, \u0026servicediscovery.LookupHttpNamespaceArgs{\n\t\t\tName: \"development\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicediscovery.ServicediscoveryFunctions;\nimport com.pulumi.aws.servicediscovery.inputs.GetHttpNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServicediscoveryFunctions.getHttpNamespace(GetHttpNamespaceArgs.builder()\n .name(\"development\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:servicediscovery:getHttpNamespace\n Arguments:\n name: development\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getHttpNamespace.\n", "properties": { @@ -424055,7 +424055,7 @@ } }, "aws:servicediscovery/getService:getService": { - "description": "Retrieves information about a Service Discovery Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.servicediscovery.getService({\n name: \"example\",\n namespaceId: \"NAMESPACE_ID_VALUE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.servicediscovery.get_service(name=\"example\",\n namespace_id=\"NAMESPACE_ID_VALUE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.ServiceDiscovery.GetService.Invoke(new()\n {\n Name = \"example\",\n NamespaceId = \"NAMESPACE_ID_VALUE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\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 := servicediscovery.LookupService(ctx, \u0026servicediscovery.LookupServiceArgs{\n\t\t\tName: \"example\",\n\t\t\tNamespaceId: \"NAMESPACE_ID_VALUE\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicediscovery.ServicediscoveryFunctions;\nimport com.pulumi.aws.servicediscovery.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ServicediscoveryFunctions.getService(GetServiceArgs.builder()\n .name(\"example\")\n .namespaceId(\"NAMESPACE_ID_VALUE\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:servicediscovery:getService\n arguments:\n name: example\n namespaceId: NAMESPACE_ID_VALUE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieves information about a Service Discovery Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.servicediscovery.getService({\n name: \"example\",\n namespaceId: \"NAMESPACE_ID_VALUE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.servicediscovery.get_service(name=\"example\",\n namespace_id=\"NAMESPACE_ID_VALUE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.ServiceDiscovery.GetService.Invoke(new()\n {\n Name = \"example\",\n NamespaceId = \"NAMESPACE_ID_VALUE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\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 := servicediscovery.LookupService(ctx, \u0026servicediscovery.LookupServiceArgs{\n\t\t\tName: \"example\",\n\t\t\tNamespaceId: \"NAMESPACE_ID_VALUE\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicediscovery.ServicediscoveryFunctions;\nimport com.pulumi.aws.servicediscovery.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = ServicediscoveryFunctions.getService(GetServiceArgs.builder()\n .name(\"example\")\n .namespaceId(\"NAMESPACE_ID_VALUE\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:servicediscovery:getService\n Arguments:\n name: example\n namespaceId: NAMESPACE_ID_VALUE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getService.\n", "properties": { @@ -424163,7 +424163,7 @@ } }, "aws:servicequotas/getService:getService": { - "description": "Retrieve information about a Service Quotas Service.\n\n\u003e **NOTE:** Global quotas apply to all AWS regions, but can only be accessed in `us-east-1` in the Commercial partition or `us-gov-west-1` in the GovCloud partition. In other regions, the AWS API will return the error `The request failed because the specified service does not exist.`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicequotas.getService({\n serviceName: \"Amazon Virtual Private Cloud (Amazon VPC)\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicequotas.get_service(service_name=\"Amazon Virtual Private Cloud (Amazon VPC)\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceQuotas.GetService.Invoke(new()\n {\n ServiceName = \"Amazon Virtual Private Cloud (Amazon VPC)\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicequotas\"\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 := servicequotas.GetService(ctx, \u0026servicequotas.GetServiceArgs{\n\t\t\tServiceName: \"Amazon Virtual Private Cloud (Amazon VPC)\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicequotas.ServicequotasFunctions;\nimport com.pulumi.aws.servicequotas.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServicequotasFunctions.getService(GetServiceArgs.builder()\n .serviceName(\"Amazon Virtual Private Cloud (Amazon VPC)\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:servicequotas:getService\n arguments:\n serviceName: Amazon Virtual Private Cloud (Amazon VPC)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a Service Quotas Service.\n\n\u003e **NOTE:** Global quotas apply to all AWS regions, but can only be accessed in `us-east-1` in the Commercial partition or `us-gov-west-1` in the GovCloud partition. In other regions, the AWS API will return the error `The request failed because the specified service does not exist.`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicequotas.getService({\n serviceName: \"Amazon Virtual Private Cloud (Amazon VPC)\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicequotas.get_service(service_name=\"Amazon Virtual Private Cloud (Amazon VPC)\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceQuotas.GetService.Invoke(new()\n {\n ServiceName = \"Amazon Virtual Private Cloud (Amazon VPC)\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicequotas\"\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 := servicequotas.GetService(ctx, \u0026servicequotas.GetServiceArgs{\n\t\t\tServiceName: \"Amazon Virtual Private Cloud (Amazon VPC)\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicequotas.ServicequotasFunctions;\nimport com.pulumi.aws.servicequotas.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServicequotasFunctions.getService(GetServiceArgs.builder()\n .serviceName(\"Amazon Virtual Private Cloud (Amazon VPC)\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:servicequotas:getService\n Arguments:\n serviceName: Amazon Virtual Private Cloud (Amazon VPC)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getService.\n", "properties": { @@ -424201,7 +424201,7 @@ } }, "aws:servicequotas/getServiceQuota:getServiceQuota": { - "description": "Retrieve information about a Service Quota.\n\n\u003e **NOTE:** Global quotas apply to all AWS regions, but can only be accessed in `us-east-1` in the Commercial partition or `us-gov-west-1` in the GovCloud partition. In other regions, the AWS API will return the error `The request failed because the specified service does not exist.`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byQuotaCode = aws.servicequotas.getServiceQuota({\n quotaCode: \"L-F678F1CE\",\n serviceCode: \"vpc\",\n});\nconst byQuotaName = aws.servicequotas.getServiceQuota({\n quotaName: \"VPCs per Region\",\n serviceCode: \"vpc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_quota_code = aws.servicequotas.get_service_quota(quota_code=\"L-F678F1CE\",\n service_code=\"vpc\")\nby_quota_name = aws.servicequotas.get_service_quota(quota_name=\"VPCs per Region\",\n service_code=\"vpc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byQuotaCode = Aws.ServiceQuotas.GetServiceQuota.Invoke(new()\n {\n QuotaCode = \"L-F678F1CE\",\n ServiceCode = \"vpc\",\n });\n\n var byQuotaName = Aws.ServiceQuotas.GetServiceQuota.Invoke(new()\n {\n QuotaName = \"VPCs per Region\",\n ServiceCode = \"vpc\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicequotas\"\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 := servicequotas.LookupServiceQuota(ctx, \u0026servicequotas.LookupServiceQuotaArgs{\n\t\t\tQuotaCode: pulumi.StringRef(\"L-F678F1CE\"),\n\t\t\tServiceCode: \"vpc\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicequotas.LookupServiceQuota(ctx, \u0026servicequotas.LookupServiceQuotaArgs{\n\t\t\tQuotaName: pulumi.StringRef(\"VPCs per Region\"),\n\t\t\tServiceCode: \"vpc\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicequotas.ServicequotasFunctions;\nimport com.pulumi.aws.servicequotas.inputs.GetServiceQuotaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byQuotaCode = ServicequotasFunctions.getServiceQuota(GetServiceQuotaArgs.builder()\n .quotaCode(\"L-F678F1CE\")\n .serviceCode(\"vpc\")\n .build());\n\n final var byQuotaName = ServicequotasFunctions.getServiceQuota(GetServiceQuotaArgs.builder()\n .quotaName(\"VPCs per Region\")\n .serviceCode(\"vpc\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byQuotaCode:\n fn::invoke:\n function: aws:servicequotas:getServiceQuota\n arguments:\n quotaCode: L-F678F1CE\n serviceCode: vpc\n byQuotaName:\n fn::invoke:\n function: aws:servicequotas:getServiceQuota\n arguments:\n quotaName: VPCs per Region\n serviceCode: vpc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a Service Quota.\n\n\u003e **NOTE:** Global quotas apply to all AWS regions, but can only be accessed in `us-east-1` in the Commercial partition or `us-gov-west-1` in the GovCloud partition. In other regions, the AWS API will return the error `The request failed because the specified service does not exist.`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byQuotaCode = aws.servicequotas.getServiceQuota({\n quotaCode: \"L-F678F1CE\",\n serviceCode: \"vpc\",\n});\nconst byQuotaName = aws.servicequotas.getServiceQuota({\n quotaName: \"VPCs per Region\",\n serviceCode: \"vpc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_quota_code = aws.servicequotas.get_service_quota(quota_code=\"L-F678F1CE\",\n service_code=\"vpc\")\nby_quota_name = aws.servicequotas.get_service_quota(quota_name=\"VPCs per Region\",\n service_code=\"vpc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byQuotaCode = Aws.ServiceQuotas.GetServiceQuota.Invoke(new()\n {\n QuotaCode = \"L-F678F1CE\",\n ServiceCode = \"vpc\",\n });\n\n var byQuotaName = Aws.ServiceQuotas.GetServiceQuota.Invoke(new()\n {\n QuotaName = \"VPCs per Region\",\n ServiceCode = \"vpc\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicequotas\"\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 := servicequotas.LookupServiceQuota(ctx, \u0026servicequotas.LookupServiceQuotaArgs{\n\t\t\tQuotaCode: pulumi.StringRef(\"L-F678F1CE\"),\n\t\t\tServiceCode: \"vpc\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicequotas.LookupServiceQuota(ctx, \u0026servicequotas.LookupServiceQuotaArgs{\n\t\t\tQuotaName: pulumi.StringRef(\"VPCs per Region\"),\n\t\t\tServiceCode: \"vpc\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicequotas.ServicequotasFunctions;\nimport com.pulumi.aws.servicequotas.inputs.GetServiceQuotaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byQuotaCode = ServicequotasFunctions.getServiceQuota(GetServiceQuotaArgs.builder()\n .quotaCode(\"L-F678F1CE\")\n .serviceCode(\"vpc\")\n .build());\n\n final var byQuotaName = ServicequotasFunctions.getServiceQuota(GetServiceQuotaArgs.builder()\n .quotaName(\"VPCs per Region\")\n .serviceCode(\"vpc\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byQuotaCode:\n fn::invoke:\n Function: aws:servicequotas:getServiceQuota\n Arguments:\n quotaCode: L-F678F1CE\n serviceCode: vpc\n byQuotaName:\n fn::invoke:\n Function: aws:servicequotas:getServiceQuota\n Arguments:\n quotaName: VPCs per Region\n serviceCode: vpc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServiceQuota.\n", "properties": { @@ -424288,7 +424288,7 @@ } }, "aws:servicequotas/getTemplates:getTemplates": { - "description": "Data source for managing an AWS Service Quotas Templates.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicequotas.getTemplates({\n region: \"us-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicequotas.get_templates(region=\"us-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceQuotas.GetTemplates.Invoke(new()\n {\n Region = \"us-east-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicequotas\"\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 := servicequotas.GetTemplates(ctx, \u0026servicequotas.GetTemplatesArgs{\n\t\t\tRegion: \"us-east-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicequotas.ServicequotasFunctions;\nimport com.pulumi.aws.servicequotas.inputs.GetTemplatesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServicequotasFunctions.getTemplates(GetTemplatesArgs.builder()\n .region(\"us-east-1\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:servicequotas:getTemplates\n arguments:\n region: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Service Quotas Templates.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicequotas.getTemplates({\n region: \"us-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicequotas.get_templates(region=\"us-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceQuotas.GetTemplates.Invoke(new()\n {\n Region = \"us-east-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicequotas\"\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 := servicequotas.GetTemplates(ctx, \u0026servicequotas.GetTemplatesArgs{\n\t\t\tRegion: \"us-east-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicequotas.ServicequotasFunctions;\nimport com.pulumi.aws.servicequotas.inputs.GetTemplatesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ServicequotasFunctions.getTemplates(GetTemplatesArgs.builder()\n .region(\"us-east-1\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:servicequotas:getTemplates\n Arguments:\n region: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTemplates.\n", "properties": { @@ -424335,7 +424335,7 @@ } }, "aws:ses/getActiveReceiptRuleSet:getActiveReceiptRuleSet": { - "description": "Retrieve the active SES receipt rule set\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.ses.getActiveReceiptRuleSet({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ses.get_active_receipt_rule_set()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.Ses.GetActiveReceiptRuleSet.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\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 := ses.LookupActiveReceiptRuleSet(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.SesFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SesFunctions.getActiveReceiptRuleSet();\n\n }\n}\n```\n```yaml\nvariables:\n main:\n fn::invoke:\n function: aws:ses:getActiveReceiptRuleSet\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve the active SES receipt rule set\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.ses.getActiveReceiptRuleSet({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ses.get_active_receipt_rule_set()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.Ses.GetActiveReceiptRuleSet.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\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 := ses.LookupActiveReceiptRuleSet(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.SesFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SesFunctions.getActiveReceiptRuleSet();\n\n }\n}\n```\n```yaml\nvariables:\n main:\n fn::invoke:\n Function: aws:ses:getActiveReceiptRuleSet\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getActiveReceiptRuleSet.\n", "properties": { @@ -424361,7 +424361,7 @@ } }, "aws:ses/getDomainIdentity:getDomainIdentity": { - "description": "Retrieve the SES domain identity\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ses.getDomainIdentity({\n domain: \"example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ses.get_domain_identity(domain=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ses.GetDomainIdentity.Invoke(new()\n {\n Domain = \"example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\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 := ses.LookupDomainIdentity(ctx, \u0026ses.LookupDomainIdentityArgs{\n\t\t\tDomain: \"example.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.SesFunctions;\nimport com.pulumi.aws.ses.inputs.GetDomainIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SesFunctions.getDomainIdentity(GetDomainIdentityArgs.builder()\n .domain(\"example.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ses:getDomainIdentity\n arguments:\n domain: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve the SES domain identity\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ses.getDomainIdentity({\n domain: \"example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ses.get_domain_identity(domain=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ses.GetDomainIdentity.Invoke(new()\n {\n Domain = \"example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\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 := ses.LookupDomainIdentity(ctx, \u0026ses.LookupDomainIdentityArgs{\n\t\t\tDomain: \"example.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.SesFunctions;\nimport com.pulumi.aws.ses.inputs.GetDomainIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SesFunctions.getDomainIdentity(GetDomainIdentityArgs.builder()\n .domain(\"example.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ses:getDomainIdentity\n Arguments:\n domain: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDomainIdentity.\n", "properties": { @@ -424405,7 +424405,7 @@ } }, "aws:ses/getEmailIdentity:getEmailIdentity": { - "description": "Retrieve the active SES email identity\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ses.getEmailIdentity({\n email: \"awesome@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ses.get_email_identity(email=\"awesome@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ses.GetEmailIdentity.Invoke(new()\n {\n Email = \"awesome@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\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 := ses.LookupEmailIdentity(ctx, \u0026ses.LookupEmailIdentityArgs{\n\t\t\tEmail: \"awesome@example.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.SesFunctions;\nimport com.pulumi.aws.ses.inputs.GetEmailIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SesFunctions.getEmailIdentity(GetEmailIdentityArgs.builder()\n .email(\"awesome@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ses:getEmailIdentity\n arguments:\n email: awesome@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve the active SES email identity\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ses.getEmailIdentity({\n email: \"awesome@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ses.get_email_identity(email=\"awesome@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ses.GetEmailIdentity.Invoke(new()\n {\n Email = \"awesome@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\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 := ses.LookupEmailIdentity(ctx, \u0026ses.LookupEmailIdentityArgs{\n\t\t\tEmail: \"awesome@example.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.SesFunctions;\nimport com.pulumi.aws.ses.inputs.GetEmailIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SesFunctions.getEmailIdentity(GetEmailIdentityArgs.builder()\n .email(\"awesome@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ses:getEmailIdentity\n Arguments:\n email: awesome@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEmailIdentity.\n", "properties": { @@ -424444,7 +424444,7 @@ } }, "aws:sesv2/getConfigurationSet:getConfigurationSet": { - "description": "Data source for managing an AWS SESv2 (Simple Email V2) Configuration Set.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.sesv2.getConfigurationSet({\n configurationSetName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.get_configuration_set(configuration_set_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SesV2.GetConfigurationSet.Invoke(new()\n {\n ConfigurationSetName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\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 := sesv2.LookupConfigurationSet(ctx, \u0026sesv2.LookupConfigurationSetArgs{\n\t\t\tConfigurationSetName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.Sesv2Functions;\nimport com.pulumi.aws.sesv2.inputs.GetConfigurationSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Sesv2Functions.getConfigurationSet(GetConfigurationSetArgs.builder()\n .configurationSetName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:sesv2:getConfigurationSet\n arguments:\n configurationSetName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS SESv2 (Simple Email V2) Configuration Set.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.sesv2.getConfigurationSet({\n configurationSetName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.get_configuration_set(configuration_set_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SesV2.GetConfigurationSet.Invoke(new()\n {\n ConfigurationSetName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\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 := sesv2.LookupConfigurationSet(ctx, \u0026sesv2.LookupConfigurationSetArgs{\n\t\t\tConfigurationSetName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.Sesv2Functions;\nimport com.pulumi.aws.sesv2.inputs.GetConfigurationSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Sesv2Functions.getConfigurationSet(GetConfigurationSetArgs.builder()\n .configurationSetName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:sesv2:getConfigurationSet\n Arguments:\n configurationSetName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getConfigurationSet.\n", "properties": { @@ -424544,7 +424544,7 @@ } }, "aws:sesv2/getDedicatedIpPool:getDedicatedIpPool": { - "description": "Data source for managing an AWS SESv2 (Simple Email V2) Dedicated IP Pool.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.sesv2.getDedicatedIpPool({\n poolName: \"my-pool\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.get_dedicated_ip_pool(pool_name=\"my-pool\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SesV2.GetDedicatedIpPool.Invoke(new()\n {\n PoolName = \"my-pool\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\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 := sesv2.LookupDedicatedIpPool(ctx, \u0026sesv2.LookupDedicatedIpPoolArgs{\n\t\t\tPoolName: \"my-pool\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.Sesv2Functions;\nimport com.pulumi.aws.sesv2.inputs.GetDedicatedIpPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Sesv2Functions.getDedicatedIpPool(GetDedicatedIpPoolArgs.builder()\n .poolName(\"my-pool\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:sesv2:getDedicatedIpPool\n arguments:\n poolName: my-pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS SESv2 (Simple Email V2) Dedicated IP Pool.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.sesv2.getDedicatedIpPool({\n poolName: \"my-pool\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.get_dedicated_ip_pool(pool_name=\"my-pool\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SesV2.GetDedicatedIpPool.Invoke(new()\n {\n PoolName = \"my-pool\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\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 := sesv2.LookupDedicatedIpPool(ctx, \u0026sesv2.LookupDedicatedIpPoolArgs{\n\t\t\tPoolName: \"my-pool\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.Sesv2Functions;\nimport com.pulumi.aws.sesv2.inputs.GetDedicatedIpPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Sesv2Functions.getDedicatedIpPool(GetDedicatedIpPoolArgs.builder()\n .poolName(\"my-pool\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:sesv2:getDedicatedIpPool\n Arguments:\n poolName: my-pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDedicatedIpPool.\n", "properties": { @@ -424610,7 +424610,7 @@ } }, "aws:sesv2/getEmailIdentity:getEmailIdentity": { - "description": "Data source for managing an AWS SESv2 (Simple Email V2) Email Identity.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.sesv2.getEmailIdentity({\n emailIdentity: \"example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.get_email_identity(email_identity=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SesV2.GetEmailIdentity.Invoke(new()\n {\n EmailIdentity = \"example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\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 := sesv2.LookupEmailIdentity(ctx, \u0026sesv2.LookupEmailIdentityArgs{\n\t\t\tEmailIdentity: \"example.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.Sesv2Functions;\nimport com.pulumi.aws.sesv2.inputs.GetEmailIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Sesv2Functions.getEmailIdentity(GetEmailIdentityArgs.builder()\n .emailIdentity(\"example.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:sesv2:getEmailIdentity\n arguments:\n emailIdentity: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS SESv2 (Simple Email V2) Email Identity.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.sesv2.getEmailIdentity({\n emailIdentity: \"example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.get_email_identity(email_identity=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SesV2.GetEmailIdentity.Invoke(new()\n {\n EmailIdentity = \"example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\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 := sesv2.LookupEmailIdentity(ctx, \u0026sesv2.LookupEmailIdentityArgs{\n\t\t\tEmailIdentity: \"example.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.Sesv2Functions;\nimport com.pulumi.aws.sesv2.inputs.GetEmailIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Sesv2Functions.getEmailIdentity(GetEmailIdentityArgs.builder()\n .emailIdentity(\"example.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:sesv2:getEmailIdentity\n Arguments:\n emailIdentity: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEmailIdentity.\n", "properties": { @@ -424685,7 +424685,7 @@ } }, "aws:sesv2/getEmailIdentityMailFromAttributes:getEmailIdentityMailFromAttributes": { - "description": "Data source for managing an AWS SESv2 (Simple Email V2) Email Identity Mail From Attributes.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.sesv2.getEmailIdentity({\n emailIdentity: \"example.com\",\n});\nconst exampleGetEmailIdentityMailFromAttributes = example.then(example =\u003e aws.sesv2.getEmailIdentityMailFromAttributes({\n emailIdentity: example.emailIdentity,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.get_email_identity(email_identity=\"example.com\")\nexample_get_email_identity_mail_from_attributes = aws.sesv2.get_email_identity_mail_from_attributes(email_identity=example.email_identity)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SesV2.GetEmailIdentity.Invoke(new()\n {\n EmailIdentity = \"example.com\",\n });\n\n var exampleGetEmailIdentityMailFromAttributes = Aws.SesV2.GetEmailIdentityMailFromAttributes.Invoke(new()\n {\n EmailIdentity = example.Apply(getEmailIdentityResult =\u003e getEmailIdentityResult.EmailIdentity),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.LookupEmailIdentity(ctx, \u0026sesv2.LookupEmailIdentityArgs{\n\t\t\tEmailIdentity: \"example.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.LookupEmailIdentityMailFromAttributes(ctx, \u0026sesv2.LookupEmailIdentityMailFromAttributesArgs{\n\t\t\tEmailIdentity: example.EmailIdentity,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.Sesv2Functions;\nimport com.pulumi.aws.sesv2.inputs.GetEmailIdentityArgs;\nimport com.pulumi.aws.sesv2.inputs.GetEmailIdentityMailFromAttributesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Sesv2Functions.getEmailIdentity(GetEmailIdentityArgs.builder()\n .emailIdentity(\"example.com\")\n .build());\n\n final var exampleGetEmailIdentityMailFromAttributes = Sesv2Functions.getEmailIdentityMailFromAttributes(GetEmailIdentityMailFromAttributesArgs.builder()\n .emailIdentity(example.applyValue(getEmailIdentityResult -\u003e getEmailIdentityResult.emailIdentity()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:sesv2:getEmailIdentity\n arguments:\n emailIdentity: example.com\n exampleGetEmailIdentityMailFromAttributes:\n fn::invoke:\n function: aws:sesv2:getEmailIdentityMailFromAttributes\n arguments:\n emailIdentity: ${example.emailIdentity}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS SESv2 (Simple Email V2) Email Identity Mail From Attributes.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.sesv2.getEmailIdentity({\n emailIdentity: \"example.com\",\n});\nconst exampleGetEmailIdentityMailFromAttributes = example.then(example =\u003e aws.sesv2.getEmailIdentityMailFromAttributes({\n emailIdentity: example.emailIdentity,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.get_email_identity(email_identity=\"example.com\")\nexample_get_email_identity_mail_from_attributes = aws.sesv2.get_email_identity_mail_from_attributes(email_identity=example.email_identity)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SesV2.GetEmailIdentity.Invoke(new()\n {\n EmailIdentity = \"example.com\",\n });\n\n var exampleGetEmailIdentityMailFromAttributes = Aws.SesV2.GetEmailIdentityMailFromAttributes.Invoke(new()\n {\n EmailIdentity = example.Apply(getEmailIdentityResult =\u003e getEmailIdentityResult.EmailIdentity),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.LookupEmailIdentity(ctx, \u0026sesv2.LookupEmailIdentityArgs{\n\t\t\tEmailIdentity: \"example.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.LookupEmailIdentityMailFromAttributes(ctx, \u0026sesv2.LookupEmailIdentityMailFromAttributesArgs{\n\t\t\tEmailIdentity: example.EmailIdentity,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.Sesv2Functions;\nimport com.pulumi.aws.sesv2.inputs.GetEmailIdentityArgs;\nimport com.pulumi.aws.sesv2.inputs.GetEmailIdentityMailFromAttributesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Sesv2Functions.getEmailIdentity(GetEmailIdentityArgs.builder()\n .emailIdentity(\"example.com\")\n .build());\n\n final var exampleGetEmailIdentityMailFromAttributes = Sesv2Functions.getEmailIdentityMailFromAttributes(GetEmailIdentityMailFromAttributesArgs.builder()\n .emailIdentity(example.applyValue(getEmailIdentityResult -\u003e getEmailIdentityResult.emailIdentity()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:sesv2:getEmailIdentity\n Arguments:\n emailIdentity: example.com\n exampleGetEmailIdentityMailFromAttributes:\n fn::invoke:\n Function: aws:sesv2:getEmailIdentityMailFromAttributes\n Arguments:\n emailIdentity: ${example.emailIdentity}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEmailIdentityMailFromAttributes.\n", "properties": { @@ -424728,7 +424728,7 @@ } }, "aws:sfn/getActivity:getActivity": { - "description": "Provides a Step Functions Activity data source\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sfnActivity = aws.sfn.getActivity({\n name: \"my-activity\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsfn_activity = aws.sfn.get_activity(name=\"my-activity\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sfnActivity = Aws.Sfn.GetActivity.Invoke(new()\n {\n Name = \"my-activity\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\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 := sfn.LookupActivity(ctx, \u0026sfn.LookupActivityArgs{\n\t\t\tName: pulumi.StringRef(\"my-activity\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sfn.SfnFunctions;\nimport com.pulumi.aws.sfn.inputs.GetActivityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sfnActivity = SfnFunctions.getActivity(GetActivityArgs.builder()\n .name(\"my-activity\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n sfnActivity:\n fn::invoke:\n function: aws:sfn:getActivity\n arguments:\n name: my-activity\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Step Functions Activity data source\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sfnActivity = aws.sfn.getActivity({\n name: \"my-activity\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsfn_activity = aws.sfn.get_activity(name=\"my-activity\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sfnActivity = Aws.Sfn.GetActivity.Invoke(new()\n {\n Name = \"my-activity\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\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 := sfn.LookupActivity(ctx, \u0026sfn.LookupActivityArgs{\n\t\t\tName: pulumi.StringRef(\"my-activity\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sfn.SfnFunctions;\nimport com.pulumi.aws.sfn.inputs.GetActivityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sfnActivity = SfnFunctions.getActivity(GetActivityArgs.builder()\n .name(\"my-activity\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n sfnActivity:\n fn::invoke:\n Function: aws:sfn:getActivity\n Arguments:\n name: my-activity\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getActivity.\n", "properties": { @@ -424771,7 +424771,7 @@ } }, "aws:sfn/getAlias:getAlias": { - "description": "Data source for managing an AWS SFN (Step Functions) State Machine Alias.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.sfn.getAlias({\n name: \"my_sfn_alias\",\n statemachineArn: sfnTest.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sfn.get_alias(name=\"my_sfn_alias\",\n statemachine_arn=sfn_test[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Sfn.GetAlias.Invoke(new()\n {\n Name = \"my_sfn_alias\",\n StatemachineArn = sfnTest.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\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 := sfn.LookupAlias(ctx, \u0026sfn.LookupAliasArgs{\n\t\t\tName: \"my_sfn_alias\",\n\t\t\tStatemachineArn: sfnTest.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sfn.SfnFunctions;\nimport com.pulumi.aws.sfn.inputs.GetAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SfnFunctions.getAlias(GetAliasArgs.builder()\n .name(\"my_sfn_alias\")\n .statemachineArn(sfnTest.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:sfn:getAlias\n arguments:\n name: my_sfn_alias\n statemachineArn: ${sfnTest.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS SFN (Step Functions) State Machine Alias.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.sfn.getAlias({\n name: \"my_sfn_alias\",\n statemachineArn: sfnTest.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sfn.get_alias(name=\"my_sfn_alias\",\n statemachine_arn=sfn_test[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Sfn.GetAlias.Invoke(new()\n {\n Name = \"my_sfn_alias\",\n StatemachineArn = sfnTest.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\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 := sfn.LookupAlias(ctx, \u0026sfn.LookupAliasArgs{\n\t\t\tName: \"my_sfn_alias\",\n\t\t\tStatemachineArn: sfnTest.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sfn.SfnFunctions;\nimport com.pulumi.aws.sfn.inputs.GetAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SfnFunctions.getAlias(GetAliasArgs.builder()\n .name(\"my_sfn_alias\")\n .statemachineArn(sfnTest.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:sfn:getAlias\n Arguments:\n name: my_sfn_alias\n statemachineArn: ${sfnTest.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAlias.\n", "properties": { @@ -424839,7 +424839,7 @@ } }, "aws:sfn/getStateMachine:getStateMachine": { - "description": "Use this data source to get the ARN of a State Machine in AWS Step\nFunction (SFN). By using this data source, you can reference a\nstate machine without having to hard code the ARNs as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.sfn.getStateMachine({\n name: \"an_example_sfn_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sfn.get_state_machine(name=\"an_example_sfn_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Sfn.GetStateMachine.Invoke(new()\n {\n Name = \"an_example_sfn_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\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 := sfn.LookupStateMachine(ctx, \u0026sfn.LookupStateMachineArgs{\n\t\t\tName: \"an_example_sfn_name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sfn.SfnFunctions;\nimport com.pulumi.aws.sfn.inputs.GetStateMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SfnFunctions.getStateMachine(GetStateMachineArgs.builder()\n .name(\"an_example_sfn_name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:sfn:getStateMachine\n arguments:\n name: an_example_sfn_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the ARN of a State Machine in AWS Step\nFunction (SFN). By using this data source, you can reference a\nstate machine without having to hard code the ARNs as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.sfn.getStateMachine({\n name: \"an_example_sfn_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sfn.get_state_machine(name=\"an_example_sfn_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Sfn.GetStateMachine.Invoke(new()\n {\n Name = \"an_example_sfn_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\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 := sfn.LookupStateMachine(ctx, \u0026sfn.LookupStateMachineArgs{\n\t\t\tName: \"an_example_sfn_name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sfn.SfnFunctions;\nimport com.pulumi.aws.sfn.inputs.GetStateMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SfnFunctions.getStateMachine(GetStateMachineArgs.builder()\n .name(\"an_example_sfn_name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:sfn:getStateMachine\n Arguments:\n name: an_example_sfn_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getStateMachine.\n", "properties": { @@ -424906,7 +424906,7 @@ } }, "aws:sfn/getStateMachineVersions:getStateMachineVersions": { - "description": "Data source for managing an AWS SFN (Step Functions) State Machine Versions.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.sfn.getStateMachineVersions({\n statemachineArn: testAwsSfnStateMachine.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.sfn.get_state_machine_versions(statemachine_arn=test_aws_sfn_state_machine[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Sfn.GetStateMachineVersions.Invoke(new()\n {\n StatemachineArn = testAwsSfnStateMachine.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\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 := sfn.GetStateMachineVersions(ctx, \u0026sfn.GetStateMachineVersionsArgs{\n\t\t\tStatemachineArn: testAwsSfnStateMachine.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sfn.SfnFunctions;\nimport com.pulumi.aws.sfn.inputs.GetStateMachineVersionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = SfnFunctions.getStateMachineVersions(GetStateMachineVersionsArgs.builder()\n .statemachineArn(testAwsSfnStateMachine.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:sfn:getStateMachineVersions\n arguments:\n statemachineArn: ${testAwsSfnStateMachine.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS SFN (Step Functions) State Machine Versions.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.sfn.getStateMachineVersions({\n statemachineArn: testAwsSfnStateMachine.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.sfn.get_state_machine_versions(statemachine_arn=test_aws_sfn_state_machine[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Sfn.GetStateMachineVersions.Invoke(new()\n {\n StatemachineArn = testAwsSfnStateMachine.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\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 := sfn.GetStateMachineVersions(ctx, \u0026sfn.GetStateMachineVersionsArgs{\n\t\t\tStatemachineArn: testAwsSfnStateMachine.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sfn.SfnFunctions;\nimport com.pulumi.aws.sfn.inputs.GetStateMachineVersionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = SfnFunctions.getStateMachineVersions(GetStateMachineVersionsArgs.builder()\n .statemachineArn(testAwsSfnStateMachine.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:sfn:getStateMachineVersions\n Arguments:\n statemachineArn: ${testAwsSfnStateMachine.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getStateMachineVersions.\n", "properties": { @@ -424947,7 +424947,7 @@ } }, "aws:shield/getProtection:getProtection": { - "description": "Data source for managing an AWS Shield Protection.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.shield.getProtection({\n protectionId: \"abc123\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.shield.get_protection(protection_id=\"abc123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Shield.GetProtection.Invoke(new()\n {\n ProtectionId = \"abc123\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\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 := shield.LookupProtection(ctx, \u0026shield.LookupProtectionArgs{\n\t\t\tProtectionId: pulumi.StringRef(\"abc123\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.shield.ShieldFunctions;\nimport com.pulumi.aws.shield.inputs.GetProtectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ShieldFunctions.getProtection(GetProtectionArgs.builder()\n .protectionId(\"abc123\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:shield:getProtection\n arguments:\n protectionId: abc123\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Resource ARN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.shield.getProtection({\n resourceArn: \"arn:aws:globalaccelerator::123456789012:accelerator/1234abcd-abcd-1234-abcd-1234abcdefgh\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.shield.get_protection(resource_arn=\"arn:aws:globalaccelerator::123456789012:accelerator/1234abcd-abcd-1234-abcd-1234abcdefgh\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Shield.GetProtection.Invoke(new()\n {\n ResourceArn = \"arn:aws:globalaccelerator::123456789012:accelerator/1234abcd-abcd-1234-abcd-1234abcdefgh\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\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 := shield.LookupProtection(ctx, \u0026shield.LookupProtectionArgs{\n\t\t\tResourceArn: pulumi.StringRef(\"arn:aws:globalaccelerator::123456789012:accelerator/1234abcd-abcd-1234-abcd-1234abcdefgh\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.shield.ShieldFunctions;\nimport com.pulumi.aws.shield.inputs.GetProtectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ShieldFunctions.getProtection(GetProtectionArgs.builder()\n .resourceArn(\"arn:aws:globalaccelerator::123456789012:accelerator/1234abcd-abcd-1234-abcd-1234abcdefgh\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:shield:getProtection\n arguments:\n resourceArn: arn:aws:globalaccelerator::123456789012:accelerator/1234abcd-abcd-1234-abcd-1234abcdefgh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Shield Protection.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.shield.getProtection({\n protectionId: \"abc123\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.shield.get_protection(protection_id=\"abc123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Shield.GetProtection.Invoke(new()\n {\n ProtectionId = \"abc123\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\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 := shield.LookupProtection(ctx, \u0026shield.LookupProtectionArgs{\n\t\t\tProtectionId: pulumi.StringRef(\"abc123\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.shield.ShieldFunctions;\nimport com.pulumi.aws.shield.inputs.GetProtectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ShieldFunctions.getProtection(GetProtectionArgs.builder()\n .protectionId(\"abc123\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:shield:getProtection\n Arguments:\n protectionId: abc123\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Resource ARN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.shield.getProtection({\n resourceArn: \"arn:aws:globalaccelerator::123456789012:accelerator/1234abcd-abcd-1234-abcd-1234abcdefgh\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.shield.get_protection(resource_arn=\"arn:aws:globalaccelerator::123456789012:accelerator/1234abcd-abcd-1234-abcd-1234abcdefgh\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Shield.GetProtection.Invoke(new()\n {\n ResourceArn = \"arn:aws:globalaccelerator::123456789012:accelerator/1234abcd-abcd-1234-abcd-1234abcdefgh\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\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 := shield.LookupProtection(ctx, \u0026shield.LookupProtectionArgs{\n\t\t\tResourceArn: pulumi.StringRef(\"arn:aws:globalaccelerator::123456789012:accelerator/1234abcd-abcd-1234-abcd-1234abcdefgh\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.shield.ShieldFunctions;\nimport com.pulumi.aws.shield.inputs.GetProtectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ShieldFunctions.getProtection(GetProtectionArgs.builder()\n .resourceArn(\"arn:aws:globalaccelerator::123456789012:accelerator/1234abcd-abcd-1234-abcd-1234abcdefgh\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:shield:getProtection\n Arguments:\n resourceArn: arn:aws:globalaccelerator::123456789012:accelerator/1234abcd-abcd-1234-abcd-1234abcdefgh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProtection.\n", "properties": { @@ -424994,7 +424994,7 @@ } }, "aws:signer/getSigningJob:getSigningJob": { - "description": "Provides information about a Signer Signing Job.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst buildSigningJob = aws.signer.getSigningJob({\n jobId: \"9ed7e5c3-b8d4-4da0-8459-44e0b068f7ee\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbuild_signing_job = aws.signer.get_signing_job(job_id=\"9ed7e5c3-b8d4-4da0-8459-44e0b068f7ee\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var buildSigningJob = Aws.Signer.GetSigningJob.Invoke(new()\n {\n JobId = \"9ed7e5c3-b8d4-4da0-8459-44e0b068f7ee\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/signer\"\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 := signer.LookupSigningJob(ctx, \u0026signer.LookupSigningJobArgs{\n\t\t\tJobId: \"9ed7e5c3-b8d4-4da0-8459-44e0b068f7ee\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.signer.SignerFunctions;\nimport com.pulumi.aws.signer.inputs.GetSigningJobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var buildSigningJob = SignerFunctions.getSigningJob(GetSigningJobArgs.builder()\n .jobId(\"9ed7e5c3-b8d4-4da0-8459-44e0b068f7ee\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n buildSigningJob:\n fn::invoke:\n function: aws:signer:getSigningJob\n arguments:\n jobId: 9ed7e5c3-b8d4-4da0-8459-44e0b068f7ee\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a Signer Signing Job.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst buildSigningJob = aws.signer.getSigningJob({\n jobId: \"9ed7e5c3-b8d4-4da0-8459-44e0b068f7ee\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbuild_signing_job = aws.signer.get_signing_job(job_id=\"9ed7e5c3-b8d4-4da0-8459-44e0b068f7ee\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var buildSigningJob = Aws.Signer.GetSigningJob.Invoke(new()\n {\n JobId = \"9ed7e5c3-b8d4-4da0-8459-44e0b068f7ee\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/signer\"\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 := signer.LookupSigningJob(ctx, \u0026signer.LookupSigningJobArgs{\n\t\t\tJobId: \"9ed7e5c3-b8d4-4da0-8459-44e0b068f7ee\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.signer.SignerFunctions;\nimport com.pulumi.aws.signer.inputs.GetSigningJobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var buildSigningJob = SignerFunctions.getSigningJob(GetSigningJobArgs.builder()\n .jobId(\"9ed7e5c3-b8d4-4da0-8459-44e0b068f7ee\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n buildSigningJob:\n fn::invoke:\n Function: aws:signer:getSigningJob\n Arguments:\n jobId: 9ed7e5c3-b8d4-4da0-8459-44e0b068f7ee\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSigningJob.\n", "properties": { @@ -425111,7 +425111,7 @@ } }, "aws:signer/getSigningProfile:getSigningProfile": { - "description": "Provides information about a Signer Signing Profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst productionSigningProfile = aws.signer.getSigningProfile({\n name: \"prod_profile_DdW3Mk1foYL88fajut4mTVFGpuwfd4ACO6ANL0D1uIj7lrn8adK\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nproduction_signing_profile = aws.signer.get_signing_profile(name=\"prod_profile_DdW3Mk1foYL88fajut4mTVFGpuwfd4ACO6ANL0D1uIj7lrn8adK\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var productionSigningProfile = Aws.Signer.GetSigningProfile.Invoke(new()\n {\n Name = \"prod_profile_DdW3Mk1foYL88fajut4mTVFGpuwfd4ACO6ANL0D1uIj7lrn8adK\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/signer\"\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 := signer.LookupSigningProfile(ctx, \u0026signer.LookupSigningProfileArgs{\n\t\t\tName: \"prod_profile_DdW3Mk1foYL88fajut4mTVFGpuwfd4ACO6ANL0D1uIj7lrn8adK\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.signer.SignerFunctions;\nimport com.pulumi.aws.signer.inputs.GetSigningProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var productionSigningProfile = SignerFunctions.getSigningProfile(GetSigningProfileArgs.builder()\n .name(\"prod_profile_DdW3Mk1foYL88fajut4mTVFGpuwfd4ACO6ANL0D1uIj7lrn8adK\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n productionSigningProfile:\n fn::invoke:\n function: aws:signer:getSigningProfile\n arguments:\n name: prod_profile_DdW3Mk1foYL88fajut4mTVFGpuwfd4ACO6ANL0D1uIj7lrn8adK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides information about a Signer Signing Profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst productionSigningProfile = aws.signer.getSigningProfile({\n name: \"prod_profile_DdW3Mk1foYL88fajut4mTVFGpuwfd4ACO6ANL0D1uIj7lrn8adK\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nproduction_signing_profile = aws.signer.get_signing_profile(name=\"prod_profile_DdW3Mk1foYL88fajut4mTVFGpuwfd4ACO6ANL0D1uIj7lrn8adK\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var productionSigningProfile = Aws.Signer.GetSigningProfile.Invoke(new()\n {\n Name = \"prod_profile_DdW3Mk1foYL88fajut4mTVFGpuwfd4ACO6ANL0D1uIj7lrn8adK\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/signer\"\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 := signer.LookupSigningProfile(ctx, \u0026signer.LookupSigningProfileArgs{\n\t\t\tName: \"prod_profile_DdW3Mk1foYL88fajut4mTVFGpuwfd4ACO6ANL0D1uIj7lrn8adK\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.signer.SignerFunctions;\nimport com.pulumi.aws.signer.inputs.GetSigningProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var productionSigningProfile = SignerFunctions.getSigningProfile(GetSigningProfileArgs.builder()\n .name(\"prod_profile_DdW3Mk1foYL88fajut4mTVFGpuwfd4ACO6ANL0D1uIj7lrn8adK\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n productionSigningProfile:\n fn::invoke:\n Function: aws:signer:getSigningProfile\n Arguments:\n name: prod_profile_DdW3Mk1foYL88fajut4mTVFGpuwfd4ACO6ANL0D1uIj7lrn8adK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSigningProfile.\n", "properties": { @@ -425205,7 +425205,7 @@ } }, "aws:sns/getTopic:getTopic": { - "description": "Use this data source to get the ARN of a topic in AWS Simple Notification\nService (SNS). By using this data source, you can reference SNS topics\nwithout having to hard code the ARNs as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.sns.getTopic({\n name: \"an_example_topic\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sns.get_topic(name=\"an_example_topic\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Sns.GetTopic.Invoke(new()\n {\n Name = \"an_example_topic\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\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 := sns.LookupTopic(ctx, \u0026sns.LookupTopicArgs{\n\t\t\tName: \"an_example_topic\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.SnsFunctions;\nimport com.pulumi.aws.sns.inputs.GetTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SnsFunctions.getTopic(GetTopicArgs.builder()\n .name(\"an_example_topic\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:sns:getTopic\n arguments:\n name: an_example_topic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the ARN of a topic in AWS Simple Notification\nService (SNS). By using this data source, you can reference SNS topics\nwithout having to hard code the ARNs as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.sns.getTopic({\n name: \"an_example_topic\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sns.get_topic(name=\"an_example_topic\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Sns.GetTopic.Invoke(new()\n {\n Name = \"an_example_topic\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\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 := sns.LookupTopic(ctx, \u0026sns.LookupTopicArgs{\n\t\t\tName: \"an_example_topic\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.SnsFunctions;\nimport com.pulumi.aws.sns.inputs.GetTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SnsFunctions.getTopic(GetTopicArgs.builder()\n .name(\"an_example_topic\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:sns:getTopic\n Arguments:\n name: an_example_topic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTopic.\n", "properties": { @@ -425258,7 +425258,7 @@ } }, "aws:sqs/getQueue:getQueue": { - "description": "Use this data source to get the ARN and URL of queue in AWS Simple Queue Service (SQS).\nBy using this data source, you can reference SQS queues without having to hardcode\nthe ARNs as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.sqs.getQueue({\n name: \"queue\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sqs.get_queue(name=\"queue\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Sqs.GetQueue.Invoke(new()\n {\n Name = \"queue\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\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 := sqs.LookupQueue(ctx, \u0026sqs.LookupQueueArgs{\n\t\t\tName: \"queue\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sqs.SqsFunctions;\nimport com.pulumi.aws.sqs.inputs.GetQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SqsFunctions.getQueue(GetQueueArgs.builder()\n .name(\"queue\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:sqs:getQueue\n arguments:\n name: queue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the ARN and URL of queue in AWS Simple Queue Service (SQS).\nBy using this data source, you can reference SQS queues without having to hardcode\nthe ARNs as input.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.sqs.getQueue({\n name: \"queue\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sqs.get_queue(name=\"queue\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Sqs.GetQueue.Invoke(new()\n {\n Name = \"queue\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\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 := sqs.LookupQueue(ctx, \u0026sqs.LookupQueueArgs{\n\t\t\tName: \"queue\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sqs.SqsFunctions;\nimport com.pulumi.aws.sqs.inputs.GetQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SqsFunctions.getQueue(GetQueueArgs.builder()\n .name(\"queue\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:sqs:getQueue\n Arguments:\n name: queue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getQueue.\n", "properties": { @@ -425316,7 +425316,7 @@ } }, "aws:sqs/getQueues:getQueues": { - "description": "Data source for managing an AWS SQS (Simple Queue) Queues.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.sqs.getQueues({\n queueNamePrefix: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sqs.get_queues(queue_name_prefix=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Sqs.GetQueues.Invoke(new()\n {\n QueueNamePrefix = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\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 := sqs.GetQueues(ctx, \u0026sqs.GetQueuesArgs{\n\t\t\tQueueNamePrefix: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sqs.SqsFunctions;\nimport com.pulumi.aws.sqs.inputs.GetQueuesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SqsFunctions.getQueues(GetQueuesArgs.builder()\n .queueNamePrefix(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:sqs:getQueues\n arguments:\n queueNamePrefix: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS SQS (Simple Queue) Queues.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.sqs.getQueues({\n queueNamePrefix: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sqs.get_queues(queue_name_prefix=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Sqs.GetQueues.Invoke(new()\n {\n QueueNamePrefix = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\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 := sqs.GetQueues(ctx, \u0026sqs.GetQueuesArgs{\n\t\t\tQueueNamePrefix: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sqs.SqsFunctions;\nimport com.pulumi.aws.sqs.inputs.GetQueuesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SqsFunctions.getQueues(GetQueuesArgs.builder()\n .queueNamePrefix(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:sqs:getQueues\n Arguments:\n queueNamePrefix: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getQueues.\n", "properties": { @@ -425353,7 +425353,7 @@ } }, "aws:ssm/getContactsRotation:getContactsRotation": { - "description": "## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssm.getContactsRotation({\n arn: \"arn:aws:ssm-contacts:us-east-1:012345678910:rotation/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.get_contacts_rotation(arn=\"arn:aws:ssm-contacts:us-east-1:012345678910:rotation/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ssm.GetContactsRotation.Invoke(new()\n {\n Arn = \"arn:aws:ssm-contacts:us-east-1:012345678910:rotation/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.LookupContactsRotation(ctx, \u0026ssm.LookupContactsRotationArgs{\n\t\t\tArn: \"arn:aws:ssm-contacts:us-east-1:012345678910:rotation/example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetContactsRotationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsmFunctions.getContactsRotation(GetContactsRotationArgs.builder()\n .arn(\"arn:aws:ssm-contacts:us-east-1:012345678910:rotation/example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ssm:getContactsRotation\n arguments:\n arn: arn:aws:ssm-contacts:us-east-1:012345678910:rotation/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssm.getContactsRotation({\n arn: \"arn:aws:ssm-contacts:us-east-1:012345678910:rotation/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.get_contacts_rotation(arn=\"arn:aws:ssm-contacts:us-east-1:012345678910:rotation/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ssm.GetContactsRotation.Invoke(new()\n {\n Arn = \"arn:aws:ssm-contacts:us-east-1:012345678910:rotation/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.LookupContactsRotation(ctx, \u0026ssm.LookupContactsRotationArgs{\n\t\t\tArn: \"arn:aws:ssm-contacts:us-east-1:012345678910:rotation/example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetContactsRotationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsmFunctions.getContactsRotation(GetContactsRotationArgs.builder()\n .arn(\"arn:aws:ssm-contacts:us-east-1:012345678910:rotation/example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssm:getContactsRotation\n Arguments:\n arn: arn:aws:ssm-contacts:us-east-1:012345678910:rotation/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getContactsRotation.\n", "properties": { @@ -425424,7 +425424,7 @@ } }, "aws:ssm/getDocument:getDocument": { - "description": "Gets the contents of the specified Systems Manager document.\n\n## Example Usage\n\nTo get the contents of the document owned by AWS.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = aws.ssm.getDocument({\n name: \"AWS-GatherSoftwareInventory\",\n documentFormat: \"YAML\",\n});\nexport const content = foo.then(foo =\u003e foo.content);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ssm.get_document(name=\"AWS-GatherSoftwareInventory\",\n document_format=\"YAML\")\npulumi.export(\"content\", foo.content)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Ssm.GetDocument.Invoke(new()\n {\n Name = \"AWS-GatherSoftwareInventory\",\n DocumentFormat = \"YAML\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"content\"] = foo.Apply(getDocumentResult =\u003e getDocumentResult.Content),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ssm.LookupDocument(ctx, \u0026ssm.LookupDocumentArgs{\n\t\t\tName: \"AWS-GatherSoftwareInventory\",\n\t\t\tDocumentFormat: pulumi.StringRef(\"YAML\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"content\", foo.Content)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = SsmFunctions.getDocument(GetDocumentArgs.builder()\n .name(\"AWS-GatherSoftwareInventory\")\n .documentFormat(\"YAML\")\n .build());\n\n ctx.export(\"content\", foo.applyValue(getDocumentResult -\u003e getDocumentResult.content()));\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n function: aws:ssm:getDocument\n arguments:\n name: AWS-GatherSoftwareInventory\n documentFormat: YAML\noutputs:\n content: ${foo.content}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo get the contents of the custom document.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ssm.getDocument({\n name: testAwsSsmDocument.name,\n documentFormat: \"JSON\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ssm.get_document(name=test_aws_ssm_document[\"name\"],\n document_format=\"JSON\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ssm.GetDocument.Invoke(new()\n {\n Name = testAwsSsmDocument.Name,\n DocumentFormat = \"JSON\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.LookupDocument(ctx, \u0026ssm.LookupDocumentArgs{\n\t\t\tName: testAwsSsmDocument.Name,\n\t\t\tDocumentFormat: pulumi.StringRef(\"JSON\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = SsmFunctions.getDocument(GetDocumentArgs.builder()\n .name(testAwsSsmDocument.name())\n .documentFormat(\"JSON\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:ssm:getDocument\n arguments:\n name: ${testAwsSsmDocument.name}\n documentFormat: JSON\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets the contents of the specified Systems Manager document.\n\n## Example Usage\n\nTo get the contents of the document owned by AWS.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = aws.ssm.getDocument({\n name: \"AWS-GatherSoftwareInventory\",\n documentFormat: \"YAML\",\n});\nexport const content = foo.then(foo =\u003e foo.content);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ssm.get_document(name=\"AWS-GatherSoftwareInventory\",\n document_format=\"YAML\")\npulumi.export(\"content\", foo.content)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Ssm.GetDocument.Invoke(new()\n {\n Name = \"AWS-GatherSoftwareInventory\",\n DocumentFormat = \"YAML\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"content\"] = foo.Apply(getDocumentResult =\u003e getDocumentResult.Content),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ssm.LookupDocument(ctx, \u0026ssm.LookupDocumentArgs{\n\t\t\tName: \"AWS-GatherSoftwareInventory\",\n\t\t\tDocumentFormat: pulumi.StringRef(\"YAML\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"content\", foo.Content)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = SsmFunctions.getDocument(GetDocumentArgs.builder()\n .name(\"AWS-GatherSoftwareInventory\")\n .documentFormat(\"YAML\")\n .build());\n\n ctx.export(\"content\", foo.applyValue(getDocumentResult -\u003e getDocumentResult.content()));\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: aws:ssm:getDocument\n Arguments:\n name: AWS-GatherSoftwareInventory\n documentFormat: YAML\noutputs:\n content: ${foo.content}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo get the contents of the custom document.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ssm.getDocument({\n name: testAwsSsmDocument.name,\n documentFormat: \"JSON\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ssm.get_document(name=test_aws_ssm_document[\"name\"],\n document_format=\"JSON\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ssm.GetDocument.Invoke(new()\n {\n Name = testAwsSsmDocument.Name,\n DocumentFormat = \"JSON\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.LookupDocument(ctx, \u0026ssm.LookupDocumentArgs{\n\t\t\tName: testAwsSsmDocument.Name,\n\t\t\tDocumentFormat: pulumi.StringRef(\"JSON\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = SsmFunctions.getDocument(GetDocumentArgs.builder()\n .name(testAwsSsmDocument.name())\n .documentFormat(\"JSON\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ssm:getDocument\n Arguments:\n name: ${testAwsSsmDocument.name}\n documentFormat: JSON\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDocument.\n", "properties": { @@ -425486,7 +425486,7 @@ } }, "aws:ssm/getInstances:getInstances": { - "description": "Use this data source to get the instance IDs of SSM managed instances.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssm.getInstances({\n filters: [{\n name: \"PlatformTypes\",\n values: [\"Linux\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.get_instances(filters=[{\n \"name\": \"PlatformTypes\",\n \"values\": [\"Linux\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ssm.GetInstances.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ssm.Inputs.GetInstancesFilterInputArgs\n {\n Name = \"PlatformTypes\",\n Values = new[]\n {\n \"Linux\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.GetInstances(ctx, \u0026ssm.GetInstancesArgs{\n\t\t\tFilters: []ssm.GetInstancesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"PlatformTypes\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Linux\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetInstancesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsmFunctions.getInstances(GetInstancesArgs.builder()\n .filters(GetInstancesFilterArgs.builder()\n .name(\"PlatformTypes\")\n .values(\"Linux\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ssm:getInstances\n arguments:\n filters:\n - name: PlatformTypes\n values:\n - Linux\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the instance IDs of SSM managed instances.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssm.getInstances({\n filters: [{\n name: \"PlatformTypes\",\n values: [\"Linux\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.get_instances(filters=[{\n \"name\": \"PlatformTypes\",\n \"values\": [\"Linux\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ssm.GetInstances.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ssm.Inputs.GetInstancesFilterInputArgs\n {\n Name = \"PlatformTypes\",\n Values = new[]\n {\n \"Linux\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.GetInstances(ctx, \u0026ssm.GetInstancesArgs{\n\t\t\tFilters: []ssm.GetInstancesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"PlatformTypes\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Linux\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetInstancesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsmFunctions.getInstances(GetInstancesArgs.builder()\n .filters(GetInstancesFilterArgs.builder()\n .name(\"PlatformTypes\")\n .values(\"Linux\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssm:getInstances\n Arguments:\n filters:\n - name: PlatformTypes\n values:\n - Linux\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInstances.\n", "properties": { @@ -425529,7 +425529,7 @@ } }, "aws:ssm/getMaintenanceWindows:getMaintenanceWindows": { - "description": "Use this data source to get the window IDs of SSM maintenance windows.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssm.getMaintenanceWindows({\n filters: [{\n name: \"Enabled\",\n values: [\"true\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.get_maintenance_windows(filters=[{\n \"name\": \"Enabled\",\n \"values\": [\"true\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ssm.GetMaintenanceWindows.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ssm.Inputs.GetMaintenanceWindowsFilterInputArgs\n {\n Name = \"Enabled\",\n Values = new[]\n {\n \"true\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.GetMaintenanceWindows(ctx, \u0026ssm.GetMaintenanceWindowsArgs{\n\t\t\tFilters: []ssm.GetMaintenanceWindowsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"Enabled\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"true\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetMaintenanceWindowsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsmFunctions.getMaintenanceWindows(GetMaintenanceWindowsArgs.builder()\n .filters(GetMaintenanceWindowsFilterArgs.builder()\n .name(\"Enabled\")\n .values(\"true\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ssm:getMaintenanceWindows\n arguments:\n filters:\n - name: Enabled\n values:\n - 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the window IDs of SSM maintenance windows.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssm.getMaintenanceWindows({\n filters: [{\n name: \"Enabled\",\n values: [\"true\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.get_maintenance_windows(filters=[{\n \"name\": \"Enabled\",\n \"values\": [\"true\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ssm.GetMaintenanceWindows.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ssm.Inputs.GetMaintenanceWindowsFilterInputArgs\n {\n Name = \"Enabled\",\n Values = new[]\n {\n \"true\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.GetMaintenanceWindows(ctx, \u0026ssm.GetMaintenanceWindowsArgs{\n\t\t\tFilters: []ssm.GetMaintenanceWindowsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"Enabled\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"true\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetMaintenanceWindowsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsmFunctions.getMaintenanceWindows(GetMaintenanceWindowsArgs.builder()\n .filters(GetMaintenanceWindowsFilterArgs.builder()\n .name(\"Enabled\")\n .values(\"true\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssm:getMaintenanceWindows\n Arguments:\n filters:\n - name: Enabled\n values:\n - 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getMaintenanceWindows.\n", "properties": { @@ -425572,7 +425572,7 @@ } }, "aws:ssm/getParameter:getParameter": { - "description": "Provides an SSM Parameter data source.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = aws.ssm.getParameter({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ssm.get_parameter(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Ssm.GetParameter.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.LookupParameter(ctx, \u0026ssm.LookupParameterArgs{\n\t\t\tName: \"foo\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = SsmFunctions.getParameter(GetParameterArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n function: aws:ssm:getParameter\n arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** The unencrypted value of a SecureString will be stored in the raw state as plain-text.\n", + "description": "Provides an SSM Parameter data source.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = aws.ssm.getParameter({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ssm.get_parameter(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Ssm.GetParameter.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.LookupParameter(ctx, \u0026ssm.LookupParameterArgs{\n\t\t\tName: \"foo\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = SsmFunctions.getParameter(GetParameterArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: aws:ssm:getParameter\n Arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** The unencrypted value of a SecureString will be stored in the raw state as plain-text.\n", "inputs": { "description": "A collection of arguments for invoking getParameter.\n", "properties": { @@ -425712,7 +425712,7 @@ } }, "aws:ssm/getPatchBaseline:getPatchBaseline": { - "description": "Provides an SSM Patch Baseline data source. Useful if you wish to reuse the default baselines provided.\n\n## Example Usage\n\nTo retrieve a baseline provided by AWS:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst centos = aws.ssm.getPatchBaseline({\n owner: \"AWS\",\n namePrefix: \"AWS-\",\n operatingSystem: \"CENTOS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncentos = aws.ssm.get_patch_baseline(owner=\"AWS\",\n name_prefix=\"AWS-\",\n operating_system=\"CENTOS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var centos = Aws.Ssm.GetPatchBaseline.Invoke(new()\n {\n Owner = \"AWS\",\n NamePrefix = \"AWS-\",\n OperatingSystem = \"CENTOS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.LookupPatchBaseline(ctx, \u0026ssm.LookupPatchBaselineArgs{\n\t\t\tOwner: \"AWS\",\n\t\t\tNamePrefix: pulumi.StringRef(\"AWS-\"),\n\t\t\tOperatingSystem: pulumi.StringRef(\"CENTOS\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetPatchBaselineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var centos = SsmFunctions.getPatchBaseline(GetPatchBaselineArgs.builder()\n .owner(\"AWS\")\n .namePrefix(\"AWS-\")\n .operatingSystem(\"CENTOS\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n centos:\n fn::invoke:\n function: aws:ssm:getPatchBaseline\n arguments:\n owner: AWS\n namePrefix: AWS-\n operatingSystem: CENTOS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo retrieve a baseline on your account:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst defaultCustom = aws.ssm.getPatchBaseline({\n owner: \"Self\",\n namePrefix: \"MyCustomBaseline\",\n defaultBaseline: true,\n operatingSystem: \"WINDOWS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault_custom = aws.ssm.get_patch_baseline(owner=\"Self\",\n name_prefix=\"MyCustomBaseline\",\n default_baseline=True,\n operating_system=\"WINDOWS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultCustom = Aws.Ssm.GetPatchBaseline.Invoke(new()\n {\n Owner = \"Self\",\n NamePrefix = \"MyCustomBaseline\",\n DefaultBaseline = true,\n OperatingSystem = \"WINDOWS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.LookupPatchBaseline(ctx, \u0026ssm.LookupPatchBaselineArgs{\n\t\t\tOwner: \"Self\",\n\t\t\tNamePrefix: pulumi.StringRef(\"MyCustomBaseline\"),\n\t\t\tDefaultBaseline: pulumi.BoolRef(true),\n\t\t\tOperatingSystem: pulumi.StringRef(\"WINDOWS\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetPatchBaselineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var defaultCustom = SsmFunctions.getPatchBaseline(GetPatchBaselineArgs.builder()\n .owner(\"Self\")\n .namePrefix(\"MyCustomBaseline\")\n .defaultBaseline(true)\n .operatingSystem(\"WINDOWS\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n defaultCustom:\n fn::invoke:\n function: aws:ssm:getPatchBaseline\n arguments:\n owner: Self\n namePrefix: MyCustomBaseline\n defaultBaseline: true\n operatingSystem: WINDOWS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an SSM Patch Baseline data source. Useful if you wish to reuse the default baselines provided.\n\n## Example Usage\n\nTo retrieve a baseline provided by AWS:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst centos = aws.ssm.getPatchBaseline({\n owner: \"AWS\",\n namePrefix: \"AWS-\",\n operatingSystem: \"CENTOS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncentos = aws.ssm.get_patch_baseline(owner=\"AWS\",\n name_prefix=\"AWS-\",\n operating_system=\"CENTOS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var centos = Aws.Ssm.GetPatchBaseline.Invoke(new()\n {\n Owner = \"AWS\",\n NamePrefix = \"AWS-\",\n OperatingSystem = \"CENTOS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.LookupPatchBaseline(ctx, \u0026ssm.LookupPatchBaselineArgs{\n\t\t\tOwner: \"AWS\",\n\t\t\tNamePrefix: pulumi.StringRef(\"AWS-\"),\n\t\t\tOperatingSystem: pulumi.StringRef(\"CENTOS\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetPatchBaselineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var centos = SsmFunctions.getPatchBaseline(GetPatchBaselineArgs.builder()\n .owner(\"AWS\")\n .namePrefix(\"AWS-\")\n .operatingSystem(\"CENTOS\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n centos:\n fn::invoke:\n Function: aws:ssm:getPatchBaseline\n Arguments:\n owner: AWS\n namePrefix: AWS-\n operatingSystem: CENTOS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo retrieve a baseline on your account:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst defaultCustom = aws.ssm.getPatchBaseline({\n owner: \"Self\",\n namePrefix: \"MyCustomBaseline\",\n defaultBaseline: true,\n operatingSystem: \"WINDOWS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault_custom = aws.ssm.get_patch_baseline(owner=\"Self\",\n name_prefix=\"MyCustomBaseline\",\n default_baseline=True,\n operating_system=\"WINDOWS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultCustom = Aws.Ssm.GetPatchBaseline.Invoke(new()\n {\n Owner = \"Self\",\n NamePrefix = \"MyCustomBaseline\",\n DefaultBaseline = true,\n OperatingSystem = \"WINDOWS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.LookupPatchBaseline(ctx, \u0026ssm.LookupPatchBaselineArgs{\n\t\t\tOwner: \"Self\",\n\t\t\tNamePrefix: pulumi.StringRef(\"MyCustomBaseline\"),\n\t\t\tDefaultBaseline: pulumi.BoolRef(true),\n\t\t\tOperatingSystem: pulumi.StringRef(\"WINDOWS\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetPatchBaselineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var defaultCustom = SsmFunctions.getPatchBaseline(GetPatchBaselineArgs.builder()\n .owner(\"Self\")\n .namePrefix(\"MyCustomBaseline\")\n .defaultBaseline(true)\n .operatingSystem(\"WINDOWS\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n defaultCustom:\n fn::invoke:\n Function: aws:ssm:getPatchBaseline\n Arguments:\n owner: Self\n namePrefix: MyCustomBaseline\n defaultBaseline: true\n operatingSystem: WINDOWS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPatchBaseline.\n", "properties": { @@ -425836,7 +425836,7 @@ } }, "aws:ssm/getPatchBaselines:getPatchBaselines": { - "description": "Data source for retrieving AWS SSM (Systems Manager) Patch Baselines.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssm.getPatchBaselines({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.get_patch_baselines()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ssm.GetPatchBaselines.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.GetPatchBaselines(ctx, \u0026ssm.GetPatchBaselinesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetPatchBaselinesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsmFunctions.getPatchBaselines();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ssm:getPatchBaselines\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Filters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssm.getPatchBaselines({\n filters: [\n {\n key: \"OWNER\",\n values: [\"AWS\"],\n },\n {\n key: \"OPERATING_SYSTEM\",\n values: [\"WINDOWS\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.get_patch_baselines(filters=[\n {\n \"key\": \"OWNER\",\n \"values\": [\"AWS\"],\n },\n {\n \"key\": \"OPERATING_SYSTEM\",\n \"values\": [\"WINDOWS\"],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ssm.GetPatchBaselines.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ssm.Inputs.GetPatchBaselinesFilterInputArgs\n {\n Key = \"OWNER\",\n Values = new[]\n {\n \"AWS\",\n },\n },\n new Aws.Ssm.Inputs.GetPatchBaselinesFilterInputArgs\n {\n Key = \"OPERATING_SYSTEM\",\n Values = new[]\n {\n \"WINDOWS\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.GetPatchBaselines(ctx, \u0026ssm.GetPatchBaselinesArgs{\n\t\t\tFilters: []ssm.GetPatchBaselinesFilter{\n\t\t\t\t{\n\t\t\t\t\tKey: \"OWNER\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"AWS\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tKey: \"OPERATING_SYSTEM\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"WINDOWS\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetPatchBaselinesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsmFunctions.getPatchBaselines(GetPatchBaselinesArgs.builder()\n .filters( \n GetPatchBaselinesFilterArgs.builder()\n .key(\"OWNER\")\n .values(\"AWS\")\n .build(),\n GetPatchBaselinesFilterArgs.builder()\n .key(\"OPERATING_SYSTEM\")\n .values(\"WINDOWS\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ssm:getPatchBaselines\n arguments:\n filters:\n - key: OWNER\n values:\n - AWS\n - key: OPERATING_SYSTEM\n values:\n - WINDOWS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for retrieving AWS SSM (Systems Manager) Patch Baselines.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssm.getPatchBaselines({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.get_patch_baselines()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ssm.GetPatchBaselines.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.GetPatchBaselines(ctx, \u0026ssm.GetPatchBaselinesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetPatchBaselinesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsmFunctions.getPatchBaselines();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssm:getPatchBaselines\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Filters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssm.getPatchBaselines({\n filters: [\n {\n key: \"OWNER\",\n values: [\"AWS\"],\n },\n {\n key: \"OPERATING_SYSTEM\",\n values: [\"WINDOWS\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.get_patch_baselines(filters=[\n {\n \"key\": \"OWNER\",\n \"values\": [\"AWS\"],\n },\n {\n \"key\": \"OPERATING_SYSTEM\",\n \"values\": [\"WINDOWS\"],\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ssm.GetPatchBaselines.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ssm.Inputs.GetPatchBaselinesFilterInputArgs\n {\n Key = \"OWNER\",\n Values = new[]\n {\n \"AWS\",\n },\n },\n new Aws.Ssm.Inputs.GetPatchBaselinesFilterInputArgs\n {\n Key = \"OPERATING_SYSTEM\",\n Values = new[]\n {\n \"WINDOWS\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\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 := ssm.GetPatchBaselines(ctx, \u0026ssm.GetPatchBaselinesArgs{\n\t\t\tFilters: []ssm.GetPatchBaselinesFilter{\n\t\t\t\t{\n\t\t\t\t\tKey: \"OWNER\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"AWS\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tKey: \"OPERATING_SYSTEM\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"WINDOWS\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetPatchBaselinesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsmFunctions.getPatchBaselines(GetPatchBaselinesArgs.builder()\n .filters( \n GetPatchBaselinesFilterArgs.builder()\n .key(\"OWNER\")\n .values(\"AWS\")\n .build(),\n GetPatchBaselinesFilterArgs.builder()\n .key(\"OPERATING_SYSTEM\")\n .values(\"WINDOWS\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssm:getPatchBaselines\n Arguments:\n filters:\n - key: OWNER\n values:\n - AWS\n - key: OPERATING_SYSTEM\n values:\n - WINDOWS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPatchBaselines.\n", "properties": { @@ -425886,7 +425886,7 @@ } }, "aws:ssmcontacts/getContact:getContact": { - "description": "Data source for managing an AWS SSM Contact.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssmcontacts.getContact({\n arn: \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmcontacts.get_contact(arn=\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsmContacts.GetContact.Invoke(new()\n {\n Arn = \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\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 := ssmcontacts.LookupContact(ctx, \u0026ssmcontacts.LookupContactArgs{\n\t\t\tArn: \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmcontacts.SsmcontactsFunctions;\nimport com.pulumi.aws.ssmcontacts.inputs.GetContactArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsmcontactsFunctions.getContact(GetContactArgs.builder()\n .arn(\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ssmcontacts:getContact\n arguments:\n arn: arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS SSM Contact.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssmcontacts.getContact({\n arn: \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmcontacts.get_contact(arn=\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsmContacts.GetContact.Invoke(new()\n {\n Arn = \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\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 := ssmcontacts.LookupContact(ctx, \u0026ssmcontacts.LookupContactArgs{\n\t\t\tArn: \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmcontacts.SsmcontactsFunctions;\nimport com.pulumi.aws.ssmcontacts.inputs.GetContactArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsmcontactsFunctions.getContact(GetContactArgs.builder()\n .arn(\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssmcontacts:getContact\n Arguments:\n arn: arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getContact.\n", "properties": { @@ -425949,7 +425949,7 @@ } }, "aws:ssmcontacts/getContactChannel:getContactChannel": { - "description": "Data source for managing an AWS SSM Contacts Contact Channel.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssmcontacts.getContactChannel({\n arn: \"arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmcontacts.get_contact_channel(arn=\"arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsmContacts.GetContactChannel.Invoke(new()\n {\n Arn = \"arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\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 := ssmcontacts.LookupContactChannel(ctx, \u0026ssmcontacts.LookupContactChannelArgs{\n\t\t\tArn: \"arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmcontacts.SsmcontactsFunctions;\nimport com.pulumi.aws.ssmcontacts.inputs.GetContactChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsmcontactsFunctions.getContactChannel(GetContactChannelArgs.builder()\n .arn(\"arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ssmcontacts:getContactChannel\n arguments:\n arn: arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS SSM Contacts Contact Channel.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssmcontacts.getContactChannel({\n arn: \"arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmcontacts.get_contact_channel(arn=\"arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsmContacts.GetContactChannel.Invoke(new()\n {\n Arn = \"arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\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 := ssmcontacts.LookupContactChannel(ctx, \u0026ssmcontacts.LookupContactChannelArgs{\n\t\t\tArn: \"arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmcontacts.SsmcontactsFunctions;\nimport com.pulumi.aws.ssmcontacts.inputs.GetContactChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsmcontactsFunctions.getContactChannel(GetContactChannelArgs.builder()\n .arn(\"arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssmcontacts:getContactChannel\n Arguments:\n arn: arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getContactChannel.\n", "properties": { @@ -426010,7 +426010,7 @@ } }, "aws:ssmcontacts/getPlan:getPlan": { - "description": "Data source for managing a Plan of an AWS SSM Contact.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ssmcontacts.getPlan({\n contactId: \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ssmcontacts.get_plan(contact_id=\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.SsmContacts.GetPlan.Invoke(new()\n {\n ContactId = \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\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 := ssmcontacts.LookupPlan(ctx, \u0026ssmcontacts.LookupPlanArgs{\n\t\t\tContactId: \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmcontacts.SsmcontactsFunctions;\nimport com.pulumi.aws.ssmcontacts.inputs.GetPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = SsmcontactsFunctions.getPlan(GetPlanArgs.builder()\n .contactId(\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:ssmcontacts:getPlan\n arguments:\n contactId: arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing a Plan of an AWS SSM Contact.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ssmcontacts.getPlan({\n contactId: \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ssmcontacts.get_plan(contact_id=\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.SsmContacts.GetPlan.Invoke(new()\n {\n ContactId = \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\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 := ssmcontacts.LookupPlan(ctx, \u0026ssmcontacts.LookupPlanArgs{\n\t\t\tContactId: \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmcontacts.SsmcontactsFunctions;\nimport com.pulumi.aws.ssmcontacts.inputs.GetPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = SsmcontactsFunctions.getPlan(GetPlanArgs.builder()\n .contactId(\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ssmcontacts:getPlan\n Arguments:\n contactId: arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPlan.\n", "properties": { @@ -426051,7 +426051,7 @@ } }, "aws:ssmincidents/getReplicationSet:getReplicationSet": { - "description": "\u003e **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set.\n\nUse this data source to manage a replication set in AWS Systems Manager Incident Manager.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssmincidents.getReplicationSet({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmincidents.get_replication_set()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsmIncidents.GetReplicationSet.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmincidents\"\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 := ssmincidents.LookupReplicationSet(ctx, \u0026ssmincidents.LookupReplicationSetArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmincidents.SsmincidentsFunctions;\nimport com.pulumi.aws.ssmincidents.inputs.GetReplicationSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsmincidentsFunctions.getReplicationSet();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ssmincidents:getReplicationSet\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set.\n\nUse this data source to manage a replication set in AWS Systems Manager Incident Manager.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssmincidents.getReplicationSet({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmincidents.get_replication_set()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsmIncidents.GetReplicationSet.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmincidents\"\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 := ssmincidents.LookupReplicationSet(ctx, \u0026ssmincidents.LookupReplicationSetArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmincidents.SsmincidentsFunctions;\nimport com.pulumi.aws.ssmincidents.inputs.GetReplicationSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsmincidentsFunctions.getReplicationSet();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssmincidents:getReplicationSet\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getReplicationSet.\n", "properties": { @@ -426217,7 +426217,7 @@ } }, "aws:ssoadmin/getApplication:getApplication": { - "description": "Data source for managing an AWS SSO Admin Application.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getApplication({\n applicationArn: \"arn:aws:sso::123456789012:application/ssoins-1234/apl-5678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_application(application_arn=\"arn:aws:sso::123456789012:application/ssoins-1234/apl-5678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetApplication.Invoke(new()\n {\n ApplicationArn = \"arn:aws:sso::123456789012:application/ssoins-1234/apl-5678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\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 := ssoadmin.LookupApplication(ctx, \u0026ssoadmin.LookupApplicationArgs{\n\t\t\tApplicationArn: \"arn:aws:sso::123456789012:application/ssoins-1234/apl-5678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.inputs.GetApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getApplication(GetApplicationArgs.builder()\n .applicationArn(\"arn:aws:sso::123456789012:application/ssoins-1234/apl-5678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getApplication\n arguments:\n applicationArn: arn:aws:sso::123456789012:application/ssoins-1234/apl-5678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS SSO Admin Application.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getApplication({\n applicationArn: \"arn:aws:sso::123456789012:application/ssoins-1234/apl-5678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_application(application_arn=\"arn:aws:sso::123456789012:application/ssoins-1234/apl-5678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetApplication.Invoke(new()\n {\n ApplicationArn = \"arn:aws:sso::123456789012:application/ssoins-1234/apl-5678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\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 := ssoadmin.LookupApplication(ctx, \u0026ssoadmin.LookupApplicationArgs{\n\t\t\tApplicationArn: \"arn:aws:sso::123456789012:application/ssoins-1234/apl-5678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.inputs.GetApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getApplication(GetApplicationArgs.builder()\n .applicationArn(\"arn:aws:sso::123456789012:application/ssoins-1234/apl-5678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getApplication\n Arguments:\n applicationArn: arn:aws:sso::123456789012:application/ssoins-1234/apl-5678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getApplication.\n", "properties": { @@ -426294,7 +426294,7 @@ } }, "aws:ssoadmin/getApplicationAssignments:getApplicationAssignments": { - "description": "Data source for managing AWS SSO Admin Application Assignments.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getApplicationAssignments({\n applicationArn: exampleAwsSsoadminApplication.applicationArn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_application_assignments(application_arn=example_aws_ssoadmin_application[\"applicationArn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetApplicationAssignments.Invoke(new()\n {\n ApplicationArn = exampleAwsSsoadminApplication.ApplicationArn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\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 := ssoadmin.GetApplicationAssignments(ctx, \u0026ssoadmin.GetApplicationAssignmentsArgs{\n\t\t\tApplicationArn: exampleAwsSsoadminApplication.ApplicationArn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.inputs.GetApplicationAssignmentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getApplicationAssignments(GetApplicationAssignmentsArgs.builder()\n .applicationArn(exampleAwsSsoadminApplication.applicationArn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getApplicationAssignments\n arguments:\n applicationArn: ${exampleAwsSsoadminApplication.applicationArn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing AWS SSO Admin Application Assignments.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getApplicationAssignments({\n applicationArn: exampleAwsSsoadminApplication.applicationArn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_application_assignments(application_arn=example_aws_ssoadmin_application[\"applicationArn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetApplicationAssignments.Invoke(new()\n {\n ApplicationArn = exampleAwsSsoadminApplication.ApplicationArn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\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 := ssoadmin.GetApplicationAssignments(ctx, \u0026ssoadmin.GetApplicationAssignmentsArgs{\n\t\t\tApplicationArn: exampleAwsSsoadminApplication.ApplicationArn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.inputs.GetApplicationAssignmentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getApplicationAssignments(GetApplicationAssignmentsArgs.builder()\n .applicationArn(exampleAwsSsoadminApplication.applicationArn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getApplicationAssignments\n Arguments:\n applicationArn: ${exampleAwsSsoadminApplication.applicationArn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getApplicationAssignments.\n", "properties": { @@ -426341,7 +426341,7 @@ } }, "aws:ssoadmin/getApplicationProviders:getApplicationProviders": { - "description": "Data source for managing AWS SSO Admin Application Providers.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getApplicationProviders({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_application_providers()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetApplicationProviders.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\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 := ssoadmin.GetApplicationProviders(ctx, \u0026ssoadmin.GetApplicationProvidersArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.inputs.GetApplicationProvidersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getApplicationProviders();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getApplicationProviders\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing AWS SSO Admin Application Providers.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getApplicationProviders({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_application_providers()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetApplicationProviders.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\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 := ssoadmin.GetApplicationProviders(ctx, \u0026ssoadmin.GetApplicationProvidersArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.inputs.GetApplicationProvidersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getApplicationProviders();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getApplicationProviders\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getApplicationProviders.\n", "properties": { @@ -426377,7 +426377,7 @@ } }, "aws:ssoadmin/getInstances:getInstances": { - "description": "Use this data source to get ARNs and Identity Store IDs of Single Sign-On (SSO) Instances.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nexport const arn = example.then(example =\u003e example.arns?.[0]);\nexport const identityStoreId = example.then(example =\u003e example.identityStoreIds?.[0]);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\npulumi.export(\"arn\", example.arns[0])\npulumi.export(\"identityStoreId\", example.identity_store_ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"arn\"] = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n [\"identityStoreId\"] = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"arn\", example.Arns[0])\n\t\tctx.Export(\"identityStoreId\", example.IdentityStoreIds[0])\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n ctx.export(\"arn\", example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]));\n ctx.export(\"identityStoreId\", example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\noutputs:\n arn: ${example.arns[0]}\n identityStoreId: ${example.identityStoreIds[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get ARNs and Identity Store IDs of Single Sign-On (SSO) Instances.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nexport const arn = example.then(example =\u003e example.arns?.[0]);\nexport const identityStoreId = example.then(example =\u003e example.identityStoreIds?.[0]);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\npulumi.export(\"arn\", example.arns[0])\npulumi.export(\"identityStoreId\", example.identity_store_ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"arn\"] = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n [\"identityStoreId\"] = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"arn\", example.Arns[0])\n\t\tctx.Export(\"identityStoreId\", example.IdentityStoreIds[0])\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n ctx.export(\"arn\", example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]));\n ctx.export(\"identityStoreId\", example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\noutputs:\n arn: ${example.arns[0]}\n identityStoreId: ${example.identityStoreIds[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getInstances.\n", "properties": { @@ -426409,7 +426409,7 @@ } }, "aws:ssoadmin/getPermissionSet:getPermissionSet": { - "description": "Use this data source to get a Single Sign-On (SSO) Permission Set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleGetPermissionSet = example.then(example =\u003e aws.ssoadmin.getPermissionSet({\n instanceArn: example.arns?.[0],\n name: \"Example\",\n}));\nexport const arn = exampleGetPermissionSet.then(exampleGetPermissionSet =\u003e exampleGetPermissionSet.arn);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_get_permission_set = aws.ssoadmin.get_permission_set(instance_arn=example.arns[0],\n name=\"Example\")\npulumi.export(\"arn\", example_get_permission_set.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleGetPermissionSet = Aws.SsoAdmin.GetPermissionSet.Invoke(new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n Name = \"Example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"arn\"] = exampleGetPermissionSet.Apply(getPermissionSetResult =\u003e getPermissionSetResult.Arn),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetPermissionSet, err := ssoadmin.LookupPermissionSet(ctx, \u0026ssoadmin.LookupPermissionSetArgs{\n\t\t\tInstanceArn: example.Arns[0],\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"arn\", exampleGetPermissionSet.Arn)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.inputs.GetPermissionSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n final var exampleGetPermissionSet = SsoadminFunctions.getPermissionSet(GetPermissionSetArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .name(\"Example\")\n .build());\n\n ctx.export(\"arn\", exampleGetPermissionSet.applyValue(getPermissionSetResult -\u003e getPermissionSetResult.arn()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n exampleGetPermissionSet:\n fn::invoke:\n function: aws:ssoadmin:getPermissionSet\n arguments:\n instanceArn: ${example.arns[0]}\n name: Example\noutputs:\n arn: ${exampleGetPermissionSet.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get a Single Sign-On (SSO) Permission Set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleGetPermissionSet = example.then(example =\u003e aws.ssoadmin.getPermissionSet({\n instanceArn: example.arns?.[0],\n name: \"Example\",\n}));\nexport const arn = exampleGetPermissionSet.then(exampleGetPermissionSet =\u003e exampleGetPermissionSet.arn);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_get_permission_set = aws.ssoadmin.get_permission_set(instance_arn=example.arns[0],\n name=\"Example\")\npulumi.export(\"arn\", example_get_permission_set.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleGetPermissionSet = Aws.SsoAdmin.GetPermissionSet.Invoke(new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n Name = \"Example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"arn\"] = exampleGetPermissionSet.Apply(getPermissionSetResult =\u003e getPermissionSetResult.Arn),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetPermissionSet, err := ssoadmin.LookupPermissionSet(ctx, \u0026ssoadmin.LookupPermissionSetArgs{\n\t\t\tInstanceArn: example.Arns[0],\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"arn\", exampleGetPermissionSet.Arn)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.inputs.GetPermissionSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n final var exampleGetPermissionSet = SsoadminFunctions.getPermissionSet(GetPermissionSetArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .name(\"Example\")\n .build());\n\n ctx.export(\"arn\", exampleGetPermissionSet.applyValue(getPermissionSetResult -\u003e getPermissionSetResult.arn()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n exampleGetPermissionSet:\n fn::invoke:\n Function: aws:ssoadmin:getPermissionSet\n Arguments:\n instanceArn: ${example.arns[0]}\n name: Example\noutputs:\n arn: ${exampleGetPermissionSet.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPermissionSet.\n", "properties": { @@ -426492,7 +426492,7 @@ } }, "aws:ssoadmin/getPermissionSets:getPermissionSets": { - "description": "Data source returning the ARN of all AWS SSO Admin Permission Sets.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleGetPermissionSets = example.then(example =\u003e aws.ssoadmin.getPermissionSets({\n instanceArn: example.arns?.[0],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_get_permission_sets = aws.ssoadmin.get_permission_sets(instance_arn=example.arns[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleGetPermissionSets = Aws.SsoAdmin.GetPermissionSets.Invoke(new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.GetPermissionSets(ctx, \u0026ssoadmin.GetPermissionSetsArgs{\n\t\t\tInstanceArn: example.Arns[0],\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.inputs.GetPermissionSetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n final var exampleGetPermissionSets = SsoadminFunctions.getPermissionSets(GetPermissionSetsArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getInstances\n arguments: {}\n exampleGetPermissionSets:\n fn::invoke:\n function: aws:ssoadmin:getPermissionSets\n arguments:\n instanceArn: ${example.arns[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source returning the ARN of all AWS SSO Admin Permission Sets.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleGetPermissionSets = example.then(example =\u003e aws.ssoadmin.getPermissionSets({\n instanceArn: example.arns?.[0],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_get_permission_sets = aws.ssoadmin.get_permission_sets(instance_arn=example.arns[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleGetPermissionSets = Aws.SsoAdmin.GetPermissionSets.Invoke(new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.GetPermissionSets(ctx, \u0026ssoadmin.GetPermissionSetsArgs{\n\t\t\tInstanceArn: example.Arns[0],\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.inputs.GetPermissionSetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n final var exampleGetPermissionSets = SsoadminFunctions.getPermissionSets(GetPermissionSetsArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n exampleGetPermissionSets:\n fn::invoke:\n Function: aws:ssoadmin:getPermissionSets\n Arguments:\n instanceArn: ${example.arns[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPermissionSets.\n", "properties": { @@ -426532,7 +426532,7 @@ } }, "aws:ssoadmin/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments": { - "description": "Data source for viewing AWS SSO Admin Principal Application Assignments.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getPrincipalApplicationAssignments({\n instanceArn: test.arns[0],\n principalId: testAwsIdentitystoreUser.userId,\n principalType: \"USER\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_principal_application_assignments(instance_arn=test[\"arns\"],\n principal_id=test_aws_identitystore_user[\"userId\"],\n principal_type=\"USER\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetPrincipalApplicationAssignments.Invoke(new()\n {\n InstanceArn = test.Arns[0],\n PrincipalId = testAwsIdentitystoreUser.UserId,\n PrincipalType = \"USER\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\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 := ssoadmin.GetPrincipalApplicationAssignments(ctx, \u0026ssoadmin.GetPrincipalApplicationAssignmentsArgs{\n\t\t\tInstanceArn: test.Arns[0],\n\t\t\tPrincipalId: testAwsIdentitystoreUser.UserId,\n\t\t\tPrincipalType: \"USER\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.inputs.GetPrincipalApplicationAssignmentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getPrincipalApplicationAssignments(GetPrincipalApplicationAssignmentsArgs.builder()\n .instanceArn(test.arns()[0])\n .principalId(testAwsIdentitystoreUser.userId())\n .principalType(\"USER\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:ssoadmin:getPrincipalApplicationAssignments\n arguments:\n instanceArn: ${test.arns[0]}\n principalId: ${testAwsIdentitystoreUser.userId}\n principalType: USER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for viewing AWS SSO Admin Principal Application Assignments.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getPrincipalApplicationAssignments({\n instanceArn: test.arns[0],\n principalId: testAwsIdentitystoreUser.userId,\n principalType: \"USER\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_principal_application_assignments(instance_arn=test[\"arns\"],\n principal_id=test_aws_identitystore_user[\"userId\"],\n principal_type=\"USER\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetPrincipalApplicationAssignments.Invoke(new()\n {\n InstanceArn = test.Arns[0],\n PrincipalId = testAwsIdentitystoreUser.UserId,\n PrincipalType = \"USER\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\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 := ssoadmin.GetPrincipalApplicationAssignments(ctx, \u0026ssoadmin.GetPrincipalApplicationAssignmentsArgs{\n\t\t\tInstanceArn: test.Arns[0],\n\t\t\tPrincipalId: testAwsIdentitystoreUser.UserId,\n\t\t\tPrincipalType: \"USER\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.inputs.GetPrincipalApplicationAssignmentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getPrincipalApplicationAssignments(GetPrincipalApplicationAssignmentsArgs.builder()\n .instanceArn(test.arns()[0])\n .principalId(testAwsIdentitystoreUser.userId())\n .principalType(\"USER\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getPrincipalApplicationAssignments\n Arguments:\n instanceArn: ${test.arns[0]}\n principalId: ${testAwsIdentitystoreUser.userId}\n principalType: USER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPrincipalApplicationAssignments.\n", "properties": { @@ -426598,7 +426598,7 @@ } }, "aws:storagegateway/getLocalDisk:getLocalDisk": { - "description": "Retrieve information about a Storage Gateway local disk. The disk identifier is useful for adding the disk as a cache or upload buffer to a gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.storagegateway.getLocalDisk({\n diskPath: testAwsVolumeAttachment.deviceName,\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.storagegateway.get_local_disk(disk_path=test_aws_volume_attachment[\"deviceName\"],\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.StorageGateway.GetLocalDisk.Invoke(new()\n {\n DiskPath = testAwsVolumeAttachment.DeviceName,\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\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 := storagegateway.GetLocalDisk(ctx, \u0026storagegateway.GetLocalDiskArgs{\n\t\t\tDiskPath: pulumi.StringRef(testAwsVolumeAttachment.DeviceName),\n\t\t\tGatewayArn: testAwsStoragegatewayGateway.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.StoragegatewayFunctions;\nimport com.pulumi.aws.storagegateway.inputs.GetLocalDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = StoragegatewayFunctions.getLocalDisk(GetLocalDiskArgs.builder()\n .diskPath(testAwsVolumeAttachment.deviceName())\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:storagegateway:getLocalDisk\n arguments:\n diskPath: ${testAwsVolumeAttachment.deviceName}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a Storage Gateway local disk. The disk identifier is useful for adding the disk as a cache or upload buffer to a gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.storagegateway.getLocalDisk({\n diskPath: testAwsVolumeAttachment.deviceName,\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.storagegateway.get_local_disk(disk_path=test_aws_volume_attachment[\"deviceName\"],\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.StorageGateway.GetLocalDisk.Invoke(new()\n {\n DiskPath = testAwsVolumeAttachment.DeviceName,\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\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 := storagegateway.GetLocalDisk(ctx, \u0026storagegateway.GetLocalDiskArgs{\n\t\t\tDiskPath: pulumi.StringRef(testAwsVolumeAttachment.DeviceName),\n\t\t\tGatewayArn: testAwsStoragegatewayGateway.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.StoragegatewayFunctions;\nimport com.pulumi.aws.storagegateway.inputs.GetLocalDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = StoragegatewayFunctions.getLocalDisk(GetLocalDiskArgs.builder()\n .diskPath(testAwsVolumeAttachment.deviceName())\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:storagegateway:getLocalDisk\n Arguments:\n diskPath: ${testAwsVolumeAttachment.deviceName}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLocalDisk.\n", "properties": { @@ -426652,7 +426652,7 @@ } }, "aws:synthetics/getRuntimeVersion:getRuntimeVersion": { - "description": "Data source for managing an AWS CloudWatch Synthetics Runtime Version.\n\n## Example Usage\n\n### Latest Runtime Version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.synthetics.getRuntimeVersion({\n prefix: \"syn-nodejs-puppeteer\",\n latest: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.synthetics.get_runtime_version(prefix=\"syn-nodejs-puppeteer\",\n latest=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Synthetics.GetRuntimeVersion.Invoke(new()\n {\n Prefix = \"syn-nodejs-puppeteer\",\n Latest = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/synthetics\"\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 := synthetics.GetRuntimeVersion(ctx, \u0026synthetics.GetRuntimeVersionArgs{\n\t\t\tPrefix: \"syn-nodejs-puppeteer\",\n\t\t\tLatest: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.synthetics.SyntheticsFunctions;\nimport com.pulumi.aws.synthetics.inputs.GetRuntimeVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SyntheticsFunctions.getRuntimeVersion(GetRuntimeVersionArgs.builder()\n .prefix(\"syn-nodejs-puppeteer\")\n .latest(true)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:synthetics:getRuntimeVersion\n arguments:\n prefix: syn-nodejs-puppeteer\n latest: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specific Runtime Version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.synthetics.getRuntimeVersion({\n prefix: \"syn-nodejs-puppeteer\",\n version: \"9.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.synthetics.get_runtime_version(prefix=\"syn-nodejs-puppeteer\",\n version=\"9.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Synthetics.GetRuntimeVersion.Invoke(new()\n {\n Prefix = \"syn-nodejs-puppeteer\",\n Version = \"9.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/synthetics\"\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 := synthetics.GetRuntimeVersion(ctx, \u0026synthetics.GetRuntimeVersionArgs{\n\t\t\tPrefix: \"syn-nodejs-puppeteer\",\n\t\t\tVersion: pulumi.StringRef(\"9.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.synthetics.SyntheticsFunctions;\nimport com.pulumi.aws.synthetics.inputs.GetRuntimeVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SyntheticsFunctions.getRuntimeVersion(GetRuntimeVersionArgs.builder()\n .prefix(\"syn-nodejs-puppeteer\")\n .version(\"9.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:synthetics:getRuntimeVersion\n arguments:\n prefix: syn-nodejs-puppeteer\n version: '9.0'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS CloudWatch Synthetics Runtime Version.\n\n## Example Usage\n\n### Latest Runtime Version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.synthetics.getRuntimeVersion({\n prefix: \"syn-nodejs-puppeteer\",\n latest: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.synthetics.get_runtime_version(prefix=\"syn-nodejs-puppeteer\",\n latest=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Synthetics.GetRuntimeVersion.Invoke(new()\n {\n Prefix = \"syn-nodejs-puppeteer\",\n Latest = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/synthetics\"\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 := synthetics.GetRuntimeVersion(ctx, \u0026synthetics.GetRuntimeVersionArgs{\n\t\t\tPrefix: \"syn-nodejs-puppeteer\",\n\t\t\tLatest: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.synthetics.SyntheticsFunctions;\nimport com.pulumi.aws.synthetics.inputs.GetRuntimeVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SyntheticsFunctions.getRuntimeVersion(GetRuntimeVersionArgs.builder()\n .prefix(\"syn-nodejs-puppeteer\")\n .latest(true)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:synthetics:getRuntimeVersion\n Arguments:\n prefix: syn-nodejs-puppeteer\n latest: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specific Runtime Version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.synthetics.getRuntimeVersion({\n prefix: \"syn-nodejs-puppeteer\",\n version: \"9.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.synthetics.get_runtime_version(prefix=\"syn-nodejs-puppeteer\",\n version=\"9.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Synthetics.GetRuntimeVersion.Invoke(new()\n {\n Prefix = \"syn-nodejs-puppeteer\",\n Version = \"9.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/synthetics\"\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 := synthetics.GetRuntimeVersion(ctx, \u0026synthetics.GetRuntimeVersionArgs{\n\t\t\tPrefix: \"syn-nodejs-puppeteer\",\n\t\t\tVersion: pulumi.StringRef(\"9.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.synthetics.SyntheticsFunctions;\nimport com.pulumi.aws.synthetics.inputs.GetRuntimeVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SyntheticsFunctions.getRuntimeVersion(GetRuntimeVersionArgs.builder()\n .prefix(\"syn-nodejs-puppeteer\")\n .version(\"9.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:synthetics:getRuntimeVersion\n Arguments:\n prefix: syn-nodejs-puppeteer\n version: '9.0'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRuntimeVersion.\n", "properties": { @@ -426719,7 +426719,7 @@ } }, "aws:synthetics/getRuntimeVersions:getRuntimeVersions": { - "description": "Data source for managing an AWS CloudWatch Synthetics Runtime Versions.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.synthetics.getRuntimeVersions({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.synthetics.get_runtime_versions()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Synthetics.GetRuntimeVersions.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/synthetics\"\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 := synthetics.GetRuntimeVersions(ctx, \u0026synthetics.GetRuntimeVersionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.synthetics.SyntheticsFunctions;\nimport com.pulumi.aws.synthetics.inputs.GetRuntimeVersionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SyntheticsFunctions.getRuntimeVersions();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:synthetics:getRuntimeVersions\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS CloudWatch Synthetics Runtime Versions.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.synthetics.getRuntimeVersions({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.synthetics.get_runtime_versions()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Synthetics.GetRuntimeVersions.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/synthetics\"\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 := synthetics.GetRuntimeVersions(ctx, \u0026synthetics.GetRuntimeVersionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.synthetics.SyntheticsFunctions;\nimport com.pulumi.aws.synthetics.inputs.GetRuntimeVersionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SyntheticsFunctions.getRuntimeVersions();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:synthetics:getRuntimeVersions\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRuntimeVersions.\n", "properties": { @@ -426755,7 +426755,7 @@ } }, "aws:timestreamwrite/getDatabase:getDatabase": { - "description": "Data source for managing an AWS Timestream Write Database.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.timestreamwrite.getDatabase({\n name: \"database-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.timestreamwrite.get_database(name=\"database-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.TimestreamWrite.GetDatabase.Invoke(new()\n {\n Name = \"database-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreamwrite\"\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 := timestreamwrite.LookupDatabase(ctx, \u0026timestreamwrite.LookupDatabaseArgs{\n\t\t\tName: \"database-example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.timestreamwrite.TimestreamwriteFunctions;\nimport com.pulumi.aws.timestreamwrite.inputs.GetDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = TimestreamwriteFunctions.getDatabase(GetDatabaseArgs.builder()\n .name(\"database-example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:timestreamwrite:getDatabase\n arguments:\n name: database-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Timestream Write Database.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.timestreamwrite.getDatabase({\n name: \"database-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.timestreamwrite.get_database(name=\"database-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.TimestreamWrite.GetDatabase.Invoke(new()\n {\n Name = \"database-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreamwrite\"\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 := timestreamwrite.LookupDatabase(ctx, \u0026timestreamwrite.LookupDatabaseArgs{\n\t\t\tName: \"database-example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.timestreamwrite.TimestreamwriteFunctions;\nimport com.pulumi.aws.timestreamwrite.inputs.GetDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = TimestreamwriteFunctions.getDatabase(GetDatabaseArgs.builder()\n .name(\"database-example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:timestreamwrite:getDatabase\n Arguments:\n name: database-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDatabase.\n", "properties": { @@ -426812,7 +426812,7 @@ } }, "aws:timestreamwrite/getTable:getTable": { - "description": "Data source for managing an AWS Timestream Write Table.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.timestreamwrite.getTable({\n databaseName: testAwsTimestreamwriteDatabase.databaseName,\n name: testAwsTimestreamwriteTable.tableName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.timestreamwrite.get_table(database_name=test_aws_timestreamwrite_database[\"databaseName\"],\n name=test_aws_timestreamwrite_table[\"tableName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.TimestreamWrite.GetTable.Invoke(new()\n {\n DatabaseName = testAwsTimestreamwriteDatabase.DatabaseName,\n Name = testAwsTimestreamwriteTable.TableName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreamwrite\"\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 := timestreamwrite.LookupTable(ctx, \u0026timestreamwrite.LookupTableArgs{\n\t\t\tDatabaseName: testAwsTimestreamwriteDatabase.DatabaseName,\n\t\t\tName: testAwsTimestreamwriteTable.TableName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.timestreamwrite.TimestreamwriteFunctions;\nimport com.pulumi.aws.timestreamwrite.inputs.GetTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = TimestreamwriteFunctions.getTable(GetTableArgs.builder()\n .databaseName(testAwsTimestreamwriteDatabase.databaseName())\n .name(testAwsTimestreamwriteTable.tableName())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:timestreamwrite:getTable\n arguments:\n databaseName: ${testAwsTimestreamwriteDatabase.databaseName}\n name: ${testAwsTimestreamwriteTable.tableName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Timestream Write Table.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.timestreamwrite.getTable({\n databaseName: testAwsTimestreamwriteDatabase.databaseName,\n name: testAwsTimestreamwriteTable.tableName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.timestreamwrite.get_table(database_name=test_aws_timestreamwrite_database[\"databaseName\"],\n name=test_aws_timestreamwrite_table[\"tableName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.TimestreamWrite.GetTable.Invoke(new()\n {\n DatabaseName = testAwsTimestreamwriteDatabase.DatabaseName,\n Name = testAwsTimestreamwriteTable.TableName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreamwrite\"\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 := timestreamwrite.LookupTable(ctx, \u0026timestreamwrite.LookupTableArgs{\n\t\t\tDatabaseName: testAwsTimestreamwriteDatabase.DatabaseName,\n\t\t\tName: testAwsTimestreamwriteTable.TableName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.timestreamwrite.TimestreamwriteFunctions;\nimport com.pulumi.aws.timestreamwrite.inputs.GetTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = TimestreamwriteFunctions.getTable(GetTableArgs.builder()\n .databaseName(testAwsTimestreamwriteDatabase.databaseName())\n .name(testAwsTimestreamwriteTable.tableName())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:timestreamwrite:getTable\n Arguments:\n databaseName: ${testAwsTimestreamwriteDatabase.databaseName}\n name: ${testAwsTimestreamwriteTable.tableName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTable.\n", "properties": { @@ -426985,7 +426985,7 @@ } }, "aws:transfer/getServer:getServer": { - "description": "Use this data source to get the ARN of an AWS Transfer Server for use in other\nresources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.transfer.getServer({\n serverId: \"s-1234567\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.get_server(server_id=\"s-1234567\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Transfer.GetServer.Invoke(new()\n {\n ServerId = \"s-1234567\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\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 := transfer.LookupServer(ctx, \u0026transfer.LookupServerArgs{\n\t\t\tServerId: \"s-1234567\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.TransferFunctions;\nimport com.pulumi.aws.transfer.inputs.GetServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = TransferFunctions.getServer(GetServerArgs.builder()\n .serverId(\"s-1234567\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:transfer:getServer\n arguments:\n serverId: s-1234567\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the ARN of an AWS Transfer Server for use in other\nresources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.transfer.getServer({\n serverId: \"s-1234567\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.get_server(server_id=\"s-1234567\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Transfer.GetServer.Invoke(new()\n {\n ServerId = \"s-1234567\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\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 := transfer.LookupServer(ctx, \u0026transfer.LookupServerArgs{\n\t\t\tServerId: \"s-1234567\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.TransferFunctions;\nimport com.pulumi.aws.transfer.inputs.GetServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = TransferFunctions.getServer(GetServerArgs.builder()\n .serverId(\"s-1234567\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:transfer:getServer\n Arguments:\n serverId: s-1234567\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServer.\n", "properties": { @@ -427099,7 +427099,7 @@ } }, "aws:verifiedpermissions/getPolicyStore:getPolicyStore": { - "description": "Data source for managing an AWS Verified Permissions Policy Store.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.verifiedpermissions.getPolicyStore({\n id: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedpermissions.get_policy_store(id=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.VerifiedPermissions.GetPolicyStore.Invoke(new()\n {\n Id = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedpermissions\"\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 := verifiedpermissions.LookupPolicyStore(ctx, \u0026verifiedpermissions.LookupPolicyStoreArgs{\n\t\t\tId: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.verifiedpermissions.VerifiedpermissionsFunctions;\nimport com.pulumi.aws.verifiedpermissions.inputs.GetPolicyStoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = VerifiedpermissionsFunctions.getPolicyStore(GetPolicyStoreArgs.builder()\n .id(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:verifiedpermissions:getPolicyStore\n arguments:\n id: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Verified Permissions Policy Store.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.verifiedpermissions.getPolicyStore({\n id: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedpermissions.get_policy_store(id=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.VerifiedPermissions.GetPolicyStore.Invoke(new()\n {\n Id = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedpermissions\"\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 := verifiedpermissions.LookupPolicyStore(ctx, \u0026verifiedpermissions.LookupPolicyStoreArgs{\n\t\t\tId: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.verifiedpermissions.VerifiedpermissionsFunctions;\nimport com.pulumi.aws.verifiedpermissions.inputs.GetPolicyStoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = VerifiedpermissionsFunctions.getPolicyStore(GetPolicyStoreArgs.builder()\n .id(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:verifiedpermissions:getPolicyStore\n Arguments:\n id: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPolicyStore.\n", "properties": { @@ -427154,7 +427154,7 @@ } }, "aws:vpc/getSecurityGroupRule:getSecurityGroupRule": { - "description": "`aws.vpc.getSecurityGroupRule` provides details about a specific security group rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.vpc.getSecurityGroupRule({\n securityGroupRuleId: securityGroupRuleId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpc.get_security_group_rule(security_group_rule_id=security_group_rule_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Vpc.GetSecurityGroupRule.Invoke(new()\n {\n SecurityGroupRuleId = securityGroupRuleId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpc\"\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 := vpc.GetSecurityGroupRule(ctx, \u0026vpc.GetSecurityGroupRuleArgs{\n\t\t\tSecurityGroupRuleId: pulumi.StringRef(securityGroupRuleId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.vpc.VpcFunctions;\nimport com.pulumi.aws.vpc.inputs.GetSecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = VpcFunctions.getSecurityGroupRule(GetSecurityGroupRuleArgs.builder()\n .securityGroupRuleId(securityGroupRuleId)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:vpc:getSecurityGroupRule\n arguments:\n securityGroupRuleId: ${securityGroupRuleId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.vpc.getSecurityGroupRule` provides details about a specific security group rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.vpc.getSecurityGroupRule({\n securityGroupRuleId: securityGroupRuleId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpc.get_security_group_rule(security_group_rule_id=security_group_rule_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Vpc.GetSecurityGroupRule.Invoke(new()\n {\n SecurityGroupRuleId = securityGroupRuleId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpc\"\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 := vpc.GetSecurityGroupRule(ctx, \u0026vpc.GetSecurityGroupRuleArgs{\n\t\t\tSecurityGroupRuleId: pulumi.StringRef(securityGroupRuleId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.vpc.VpcFunctions;\nimport com.pulumi.aws.vpc.inputs.GetSecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = VpcFunctions.getSecurityGroupRule(GetSecurityGroupRuleArgs.builder()\n .securityGroupRuleId(securityGroupRuleId)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:vpc:getSecurityGroupRule\n Arguments:\n securityGroupRuleId: ${securityGroupRuleId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSecurityGroupRule.\n", "properties": { @@ -427259,7 +427259,7 @@ } }, "aws:vpc/getSecurityGroupRules:getSecurityGroupRules": { - "description": "This resource can be useful for getting back a set of security group rule IDs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.vpc.getSecurityGroupRules({\n filters: [{\n name: \"group-id\",\n values: [securityGroupId],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpc.get_security_group_rules(filters=[{\n \"name\": \"group-id\",\n \"values\": [security_group_id],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Vpc.GetSecurityGroupRules.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Vpc.Inputs.GetSecurityGroupRulesFilterInputArgs\n {\n Name = \"group-id\",\n Values = new[]\n {\n securityGroupId,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := vpc.GetSecurityGroupRules(ctx, \u0026vpc.GetSecurityGroupRulesArgs{\nFilters: []vpc.GetSecurityGroupRulesFilter{\n{\nName: \"group-id\",\nValues: interface{}{\nsecurityGroupId,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.vpc.VpcFunctions;\nimport com.pulumi.aws.vpc.inputs.GetSecurityGroupRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = VpcFunctions.getSecurityGroupRules(GetSecurityGroupRulesArgs.builder()\n .filters(GetSecurityGroupRulesFilterArgs.builder()\n .name(\"group-id\")\n .values(securityGroupId)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:vpc:getSecurityGroupRules\n arguments:\n filters:\n - name: group-id\n values:\n - ${securityGroupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This resource can be useful for getting back a set of security group rule IDs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.vpc.getSecurityGroupRules({\n filters: [{\n name: \"group-id\",\n values: [securityGroupId],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpc.get_security_group_rules(filters=[{\n \"name\": \"group-id\",\n \"values\": [security_group_id],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Vpc.GetSecurityGroupRules.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Vpc.Inputs.GetSecurityGroupRulesFilterInputArgs\n {\n Name = \"group-id\",\n Values = new[]\n {\n securityGroupId,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := vpc.GetSecurityGroupRules(ctx, \u0026vpc.GetSecurityGroupRulesArgs{\nFilters: []vpc.GetSecurityGroupRulesFilter{\n{\nName: \"group-id\",\nValues: interface{}{\nsecurityGroupId,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.vpc.VpcFunctions;\nimport com.pulumi.aws.vpc.inputs.GetSecurityGroupRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = VpcFunctions.getSecurityGroupRules(GetSecurityGroupRulesArgs.builder()\n .filters(GetSecurityGroupRulesFilterArgs.builder()\n .name(\"group-id\")\n .values(securityGroupId)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:vpc:getSecurityGroupRules\n Arguments:\n filters:\n - name: group-id\n values:\n - ${securityGroupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSecurityGroupRules.\n", "properties": { @@ -427314,7 +427314,7 @@ } }, "aws:vpclattice/getAuthPolicy:getAuthPolicy": { - "description": "Data source for managing an AWS VPC Lattice Auth Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.vpclattice.getAuthPolicy({\n resourceIdentifier: testAwsVpclatticeAuthPolicy.resourceIdentifier,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.vpclattice.get_auth_policy(resource_identifier=test_aws_vpclattice_auth_policy[\"resourceIdentifier\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.VpcLattice.GetAuthPolicy.Invoke(new()\n {\n ResourceIdentifier = testAwsVpclatticeAuthPolicy.ResourceIdentifier,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\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 := vpclattice.LookupAuthPolicy(ctx, \u0026vpclattice.LookupAuthPolicyArgs{\n\t\t\tResourceIdentifier: testAwsVpclatticeAuthPolicy.ResourceIdentifier,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.vpclattice.VpclatticeFunctions;\nimport com.pulumi.aws.vpclattice.inputs.GetAuthPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = VpclatticeFunctions.getAuthPolicy(GetAuthPolicyArgs.builder()\n .resourceIdentifier(testAwsVpclatticeAuthPolicy.resourceIdentifier())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:vpclattice:getAuthPolicy\n arguments:\n resourceIdentifier: ${testAwsVpclatticeAuthPolicy.resourceIdentifier}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS VPC Lattice Auth Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.vpclattice.getAuthPolicy({\n resourceIdentifier: testAwsVpclatticeAuthPolicy.resourceIdentifier,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.vpclattice.get_auth_policy(resource_identifier=test_aws_vpclattice_auth_policy[\"resourceIdentifier\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.VpcLattice.GetAuthPolicy.Invoke(new()\n {\n ResourceIdentifier = testAwsVpclatticeAuthPolicy.ResourceIdentifier,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\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 := vpclattice.LookupAuthPolicy(ctx, \u0026vpclattice.LookupAuthPolicyArgs{\n\t\t\tResourceIdentifier: testAwsVpclatticeAuthPolicy.ResourceIdentifier,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.vpclattice.VpclatticeFunctions;\nimport com.pulumi.aws.vpclattice.inputs.GetAuthPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = VpclatticeFunctions.getAuthPolicy(GetAuthPolicyArgs.builder()\n .resourceIdentifier(testAwsVpclatticeAuthPolicy.resourceIdentifier())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:vpclattice:getAuthPolicy\n Arguments:\n resourceIdentifier: ${testAwsVpclatticeAuthPolicy.resourceIdentifier}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAuthPolicy.\n", "properties": { @@ -427363,7 +427363,7 @@ } }, "aws:vpclattice/getListener:getListener": { - "description": "Data source for managing an AWS VPC Lattice Listener.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.vpclattice.getListener({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.get_listener()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.VpcLattice.GetListener.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\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 := vpclattice.LookupListener(ctx, \u0026vpclattice.LookupListenerArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.vpclattice.VpclatticeFunctions;\nimport com.pulumi.aws.vpclattice.inputs.GetListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = VpclatticeFunctions.getListener();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:vpclattice:getListener\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS VPC Lattice Listener.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.vpclattice.getListener({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.get_listener()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.VpcLattice.GetListener.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\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 := vpclattice.LookupListener(ctx, \u0026vpclattice.LookupListenerArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.vpclattice.VpclatticeFunctions;\nimport com.pulumi.aws.vpclattice.inputs.GetListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = VpclatticeFunctions.getListener();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:vpclattice:getListener\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getListener.\n", "properties": { @@ -427473,7 +427473,7 @@ } }, "aws:vpclattice/getResourcePolicy:getResourcePolicy": { - "description": "Data source for managing an AWS VPC Lattice Resource Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.vpclattice.getResourcePolicy({\n resourceArn: exampleAwsVpclatticeServiceNetwork.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.get_resource_policy(resource_arn=example_aws_vpclattice_service_network[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.VpcLattice.GetResourcePolicy.Invoke(new()\n {\n ResourceArn = exampleAwsVpclatticeServiceNetwork.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\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 := vpclattice.LookupResourcePolicy(ctx, \u0026vpclattice.LookupResourcePolicyArgs{\n\t\t\tResourceArn: exampleAwsVpclatticeServiceNetwork.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.vpclattice.VpclatticeFunctions;\nimport com.pulumi.aws.vpclattice.inputs.GetResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = VpclatticeFunctions.getResourcePolicy(GetResourcePolicyArgs.builder()\n .resourceArn(exampleAwsVpclatticeServiceNetwork.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:vpclattice:getResourcePolicy\n arguments:\n resourceArn: ${exampleAwsVpclatticeServiceNetwork.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS VPC Lattice Resource Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.vpclattice.getResourcePolicy({\n resourceArn: exampleAwsVpclatticeServiceNetwork.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.get_resource_policy(resource_arn=example_aws_vpclattice_service_network[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.VpcLattice.GetResourcePolicy.Invoke(new()\n {\n ResourceArn = exampleAwsVpclatticeServiceNetwork.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\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 := vpclattice.LookupResourcePolicy(ctx, \u0026vpclattice.LookupResourcePolicyArgs{\n\t\t\tResourceArn: exampleAwsVpclatticeServiceNetwork.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.vpclattice.VpclatticeFunctions;\nimport com.pulumi.aws.vpclattice.inputs.GetResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = VpclatticeFunctions.getResourcePolicy(GetResourcePolicyArgs.builder()\n .resourceArn(exampleAwsVpclatticeServiceNetwork.arn())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:vpclattice:getResourcePolicy\n Arguments:\n resourceArn: ${exampleAwsVpclatticeServiceNetwork.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResourcePolicy.\n", "properties": { @@ -427511,7 +427511,7 @@ } }, "aws:vpclattice/getService:getService": { - "description": "Data source for managing an AWS VPC Lattice Service.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.vpclattice.getService({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.get_service(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.VpcLattice.GetService.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\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 := vpclattice.LookupService(ctx, \u0026vpclattice.LookupServiceArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.vpclattice.VpclatticeFunctions;\nimport com.pulumi.aws.vpclattice.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = VpclatticeFunctions.getService(GetServiceArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:vpclattice:getService\n arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS VPC Lattice Service.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.vpclattice.getService({\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.get_service(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.VpcLattice.GetService.Invoke(new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\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 := vpclattice.LookupService(ctx, \u0026vpclattice.LookupServiceArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.vpclattice.VpclatticeFunctions;\nimport com.pulumi.aws.vpclattice.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = VpclatticeFunctions.getService(GetServiceArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:vpclattice:getService\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getService.\n", "properties": { @@ -427597,7 +427597,7 @@ } }, "aws:vpclattice/getServiceNetwork:getServiceNetwork": { - "description": "Data source for managing an AWS VPC Lattice Service Network.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.vpclattice.getServiceNetwork({\n serviceNetworkIdentifier: \"snsa-01112223334445556\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.get_service_network(service_network_identifier=\"snsa-01112223334445556\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.VpcLattice.GetServiceNetwork.Invoke(new()\n {\n ServiceNetworkIdentifier = \"snsa-01112223334445556\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\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 := vpclattice.LookupServiceNetwork(ctx, \u0026vpclattice.LookupServiceNetworkArgs{\n\t\t\tServiceNetworkIdentifier: \"snsa-01112223334445556\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.vpclattice.VpclatticeFunctions;\nimport com.pulumi.aws.vpclattice.inputs.GetServiceNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = VpclatticeFunctions.getServiceNetwork(GetServiceNetworkArgs.builder()\n .serviceNetworkIdentifier(\"snsa-01112223334445556\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:vpclattice:getServiceNetwork\n arguments:\n serviceNetworkIdentifier: snsa-01112223334445556\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS VPC Lattice Service Network.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.vpclattice.getServiceNetwork({\n serviceNetworkIdentifier: \"snsa-01112223334445556\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.get_service_network(service_network_identifier=\"snsa-01112223334445556\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.VpcLattice.GetServiceNetwork.Invoke(new()\n {\n ServiceNetworkIdentifier = \"snsa-01112223334445556\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\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 := vpclattice.LookupServiceNetwork(ctx, \u0026vpclattice.LookupServiceNetworkArgs{\n\t\t\tServiceNetworkIdentifier: \"snsa-01112223334445556\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.vpclattice.VpclatticeFunctions;\nimport com.pulumi.aws.vpclattice.inputs.GetServiceNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = VpclatticeFunctions.getServiceNetwork(GetServiceNetworkArgs.builder()\n .serviceNetworkIdentifier(\"snsa-01112223334445556\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:vpclattice:getServiceNetwork\n Arguments:\n serviceNetworkIdentifier: snsa-01112223334445556\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServiceNetwork.\n", "properties": { @@ -427678,7 +427678,7 @@ } }, "aws:waf/getIpset:getIpset": { - "description": "`aws.waf.IpSet` Retrieves a WAF IP Set Resource Id.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.waf.getIpset({\n name: \"tfWAFIPSet\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.waf.get_ipset(name=\"tfWAFIPSet\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Waf.GetIpset.Invoke(new()\n {\n Name = \"tfWAFIPSet\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\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 := waf.GetIpset(ctx, \u0026waf.GetIpsetArgs{\n\t\t\tName: \"tfWAFIPSet\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.WafFunctions;\nimport com.pulumi.aws.waf.inputs.GetIpsetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WafFunctions.getIpset(GetIpsetArgs.builder()\n .name(\"tfWAFIPSet\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:waf:getIpset\n arguments:\n name: tfWAFIPSet\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.waf.IpSet` Retrieves a WAF IP Set Resource Id.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.waf.getIpset({\n name: \"tfWAFIPSet\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.waf.get_ipset(name=\"tfWAFIPSet\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Waf.GetIpset.Invoke(new()\n {\n Name = \"tfWAFIPSet\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\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 := waf.GetIpset(ctx, \u0026waf.GetIpsetArgs{\n\t\t\tName: \"tfWAFIPSet\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.WafFunctions;\nimport com.pulumi.aws.waf.inputs.GetIpsetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WafFunctions.getIpset(GetIpsetArgs.builder()\n .name(\"tfWAFIPSet\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:waf:getIpset\n Arguments:\n name: tfWAFIPSet\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getIpset.\n", "properties": { @@ -427711,7 +427711,7 @@ } }, "aws:waf/getRateBasedRule:getRateBasedRule": { - "description": "`aws.waf.RateBasedRule` Retrieves a WAF Rate Based Rule Resource Id.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.waf.getRateBasedRule({\n name: \"tfWAFRateBasedRule\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.waf.get_rate_based_rule(name=\"tfWAFRateBasedRule\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Waf.GetRateBasedRule.Invoke(new()\n {\n Name = \"tfWAFRateBasedRule\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\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 := waf.LookupRateBasedRule(ctx, \u0026waf.LookupRateBasedRuleArgs{\n\t\t\tName: \"tfWAFRateBasedRule\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.WafFunctions;\nimport com.pulumi.aws.waf.inputs.GetRateBasedRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WafFunctions.getRateBasedRule(GetRateBasedRuleArgs.builder()\n .name(\"tfWAFRateBasedRule\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:waf:getRateBasedRule\n arguments:\n name: tfWAFRateBasedRule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.waf.RateBasedRule` Retrieves a WAF Rate Based Rule Resource Id.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.waf.getRateBasedRule({\n name: \"tfWAFRateBasedRule\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.waf.get_rate_based_rule(name=\"tfWAFRateBasedRule\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Waf.GetRateBasedRule.Invoke(new()\n {\n Name = \"tfWAFRateBasedRule\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\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 := waf.LookupRateBasedRule(ctx, \u0026waf.LookupRateBasedRuleArgs{\n\t\t\tName: \"tfWAFRateBasedRule\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.WafFunctions;\nimport com.pulumi.aws.waf.inputs.GetRateBasedRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WafFunctions.getRateBasedRule(GetRateBasedRuleArgs.builder()\n .name(\"tfWAFRateBasedRule\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:waf:getRateBasedRule\n Arguments:\n name: tfWAFRateBasedRule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRateBasedRule.\n", "properties": { @@ -427744,7 +427744,7 @@ } }, "aws:waf/getRule:getRule": { - "description": "`aws.waf.Rule` Retrieves a WAF Rule Resource Id.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.waf.getRule({\n name: \"tfWAFRule\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.waf.get_rule(name=\"tfWAFRule\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Waf.GetRule.Invoke(new()\n {\n Name = \"tfWAFRule\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\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 := waf.LookupRule(ctx, \u0026waf.LookupRuleArgs{\n\t\t\tName: \"tfWAFRule\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.WafFunctions;\nimport com.pulumi.aws.waf.inputs.GetRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WafFunctions.getRule(GetRuleArgs.builder()\n .name(\"tfWAFRule\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:waf:getRule\n arguments:\n name: tfWAFRule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.waf.Rule` Retrieves a WAF Rule Resource Id.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.waf.getRule({\n name: \"tfWAFRule\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.waf.get_rule(name=\"tfWAFRule\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Waf.GetRule.Invoke(new()\n {\n Name = \"tfWAFRule\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\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 := waf.LookupRule(ctx, \u0026waf.LookupRuleArgs{\n\t\t\tName: \"tfWAFRule\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.WafFunctions;\nimport com.pulumi.aws.waf.inputs.GetRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WafFunctions.getRule(GetRuleArgs.builder()\n .name(\"tfWAFRule\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:waf:getRule\n Arguments:\n name: tfWAFRule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRule.\n", "properties": { @@ -427777,7 +427777,7 @@ } }, "aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup": { - "description": "`aws.waf.getSubscribedRuleGroup` retrieves information about a Managed WAF Rule Group from AWS Marketplace (needs to be subscribed to first).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byName = aws.waf.getSubscribedRuleGroup({\n name: \"F5 Bot Detection Signatures For AWS WAF\",\n});\nconst byMetricName = aws.waf.getSubscribedRuleGroup({\n metricName: \"F5BotDetectionSignatures\",\n});\nconst acl = new aws.waf.WebAcl(\"acl\", {rules: [\n {\n priority: 1,\n ruleId: byName.then(byName =\u003e byName.id),\n type: \"GROUP\",\n },\n {\n priority: 2,\n ruleId: byMetricName.then(byMetricName =\u003e byMetricName.id),\n type: \"GROUP\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_name = aws.waf.get_subscribed_rule_group(name=\"F5 Bot Detection Signatures For AWS WAF\")\nby_metric_name = aws.waf.get_subscribed_rule_group(metric_name=\"F5BotDetectionSignatures\")\nacl = aws.waf.WebAcl(\"acl\", rules=[\n {\n \"priority\": 1,\n \"rule_id\": by_name.id,\n \"type\": \"GROUP\",\n },\n {\n \"priority\": 2,\n \"rule_id\": by_metric_name.id,\n \"type\": \"GROUP\",\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byName = Aws.Waf.GetSubscribedRuleGroup.Invoke(new()\n {\n Name = \"F5 Bot Detection Signatures For AWS WAF\",\n });\n\n var byMetricName = Aws.Waf.GetSubscribedRuleGroup.Invoke(new()\n {\n MetricName = \"F5BotDetectionSignatures\",\n });\n\n var acl = new Aws.Waf.WebAcl(\"acl\", new()\n {\n Rules = new[]\n {\n new Aws.Waf.Inputs.WebAclRuleArgs\n {\n Priority = 1,\n RuleId = byName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n new Aws.Waf.Inputs.WebAclRuleArgs\n {\n Priority = 2,\n RuleId = byMetricName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbyName, err := waf.GetSubscribedRuleGroup(ctx, \u0026waf.GetSubscribedRuleGroupArgs{\n\t\t\tName: pulumi.StringRef(\"F5 Bot Detection Signatures For AWS WAF\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbyMetricName, err := waf.GetSubscribedRuleGroup(ctx, \u0026waf.GetSubscribedRuleGroupArgs{\n\t\t\tMetricName: pulumi.StringRef(\"F5BotDetectionSignatures\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = waf.NewWebAcl(ctx, \"acl\", \u0026waf.WebAclArgs{\n\t\t\tRules: waf.WebAclRuleArray{\n\t\t\t\t\u0026waf.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: pulumi.String(byName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\n\t\t\t\t},\n\t\t\t\t\u0026waf.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tRuleId: pulumi.String(byMetricName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.WafFunctions;\nimport com.pulumi.aws.waf.inputs.GetSubscribedRuleGroupArgs;\nimport com.pulumi.aws.waf.WebAcl;\nimport com.pulumi.aws.waf.WebAclArgs;\nimport com.pulumi.aws.waf.inputs.WebAclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byName = WafFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .name(\"F5 Bot Detection Signatures For AWS WAF\")\n .build());\n\n final var byMetricName = WafFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .metricName(\"F5BotDetectionSignatures\")\n .build());\n\n var acl = new WebAcl(\"acl\", WebAclArgs.builder()\n .rules( \n WebAclRuleArgs.builder()\n .priority(1)\n .ruleId(byName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build(),\n WebAclRuleArgs.builder()\n .priority(2)\n .ruleId(byMetricName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n acl:\n type: aws:waf:WebAcl\n properties:\n rules:\n - priority: 1\n ruleId: ${byName.id}\n type: GROUP\n - priority: 2\n ruleId: ${byMetricName.id}\n type: GROUP\nvariables:\n byName:\n fn::invoke:\n function: aws:waf:getSubscribedRuleGroup\n arguments:\n name: F5 Bot Detection Signatures For AWS WAF\n byMetricName:\n fn::invoke:\n function: aws:waf:getSubscribedRuleGroup\n arguments:\n metricName: F5BotDetectionSignatures\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.waf.getSubscribedRuleGroup` retrieves information about a Managed WAF Rule Group from AWS Marketplace (needs to be subscribed to first).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byName = aws.waf.getSubscribedRuleGroup({\n name: \"F5 Bot Detection Signatures For AWS WAF\",\n});\nconst byMetricName = aws.waf.getSubscribedRuleGroup({\n metricName: \"F5BotDetectionSignatures\",\n});\nconst acl = new aws.waf.WebAcl(\"acl\", {rules: [\n {\n priority: 1,\n ruleId: byName.then(byName =\u003e byName.id),\n type: \"GROUP\",\n },\n {\n priority: 2,\n ruleId: byMetricName.then(byMetricName =\u003e byMetricName.id),\n type: \"GROUP\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_name = aws.waf.get_subscribed_rule_group(name=\"F5 Bot Detection Signatures For AWS WAF\")\nby_metric_name = aws.waf.get_subscribed_rule_group(metric_name=\"F5BotDetectionSignatures\")\nacl = aws.waf.WebAcl(\"acl\", rules=[\n {\n \"priority\": 1,\n \"rule_id\": by_name.id,\n \"type\": \"GROUP\",\n },\n {\n \"priority\": 2,\n \"rule_id\": by_metric_name.id,\n \"type\": \"GROUP\",\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byName = Aws.Waf.GetSubscribedRuleGroup.Invoke(new()\n {\n Name = \"F5 Bot Detection Signatures For AWS WAF\",\n });\n\n var byMetricName = Aws.Waf.GetSubscribedRuleGroup.Invoke(new()\n {\n MetricName = \"F5BotDetectionSignatures\",\n });\n\n var acl = new Aws.Waf.WebAcl(\"acl\", new()\n {\n Rules = new[]\n {\n new Aws.Waf.Inputs.WebAclRuleArgs\n {\n Priority = 1,\n RuleId = byName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n new Aws.Waf.Inputs.WebAclRuleArgs\n {\n Priority = 2,\n RuleId = byMetricName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbyName, err := waf.GetSubscribedRuleGroup(ctx, \u0026waf.GetSubscribedRuleGroupArgs{\n\t\t\tName: pulumi.StringRef(\"F5 Bot Detection Signatures For AWS WAF\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbyMetricName, err := waf.GetSubscribedRuleGroup(ctx, \u0026waf.GetSubscribedRuleGroupArgs{\n\t\t\tMetricName: pulumi.StringRef(\"F5BotDetectionSignatures\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = waf.NewWebAcl(ctx, \"acl\", \u0026waf.WebAclArgs{\n\t\t\tRules: waf.WebAclRuleArray{\n\t\t\t\t\u0026waf.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: pulumi.String(byName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\n\t\t\t\t},\n\t\t\t\t\u0026waf.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tRuleId: pulumi.String(byMetricName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.WafFunctions;\nimport com.pulumi.aws.waf.inputs.GetSubscribedRuleGroupArgs;\nimport com.pulumi.aws.waf.WebAcl;\nimport com.pulumi.aws.waf.WebAclArgs;\nimport com.pulumi.aws.waf.inputs.WebAclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byName = WafFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .name(\"F5 Bot Detection Signatures For AWS WAF\")\n .build());\n\n final var byMetricName = WafFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .metricName(\"F5BotDetectionSignatures\")\n .build());\n\n var acl = new WebAcl(\"acl\", WebAclArgs.builder()\n .rules( \n WebAclRuleArgs.builder()\n .priority(1)\n .ruleId(byName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build(),\n WebAclRuleArgs.builder()\n .priority(2)\n .ruleId(byMetricName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n acl:\n type: aws:waf:WebAcl\n properties:\n rules:\n - priority: 1\n ruleId: ${byName.id}\n type: GROUP\n - priority: 2\n ruleId: ${byMetricName.id}\n type: GROUP\nvariables:\n byName:\n fn::invoke:\n Function: aws:waf:getSubscribedRuleGroup\n Arguments:\n name: F5 Bot Detection Signatures For AWS WAF\n byMetricName:\n fn::invoke:\n Function: aws:waf:getSubscribedRuleGroup\n Arguments:\n metricName: F5BotDetectionSignatures\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSubscribedRuleGroup.\n", "properties": { @@ -427813,7 +427813,7 @@ } }, "aws:waf/getWebAcl:getWebAcl": { - "description": "`aws.waf.WebAcl` Retrieves a WAF Web ACL Resource Id.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.waf.getWebAcl({\n name: \"tfWAFWebACL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.waf.get_web_acl(name=\"tfWAFWebACL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Waf.GetWebAcl.Invoke(new()\n {\n Name = \"tfWAFWebACL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\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 := waf.LookupWebAcl(ctx, \u0026waf.LookupWebAclArgs{\n\t\t\tName: \"tfWAFWebACL\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.WafFunctions;\nimport com.pulumi.aws.waf.inputs.GetWebAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WafFunctions.getWebAcl(GetWebAclArgs.builder()\n .name(\"tfWAFWebACL\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:waf:getWebAcl\n arguments:\n name: tfWAFWebACL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.waf.WebAcl` Retrieves a WAF Web ACL Resource Id.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.waf.getWebAcl({\n name: \"tfWAFWebACL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.waf.get_web_acl(name=\"tfWAFWebACL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Waf.GetWebAcl.Invoke(new()\n {\n Name = \"tfWAFWebACL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\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 := waf.LookupWebAcl(ctx, \u0026waf.LookupWebAclArgs{\n\t\t\tName: \"tfWAFWebACL\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.WafFunctions;\nimport com.pulumi.aws.waf.inputs.GetWebAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WafFunctions.getWebAcl(GetWebAclArgs.builder()\n .name(\"tfWAFWebACL\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:waf:getWebAcl\n Arguments:\n name: tfWAFWebACL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getWebAcl.\n", "properties": { @@ -427846,7 +427846,7 @@ } }, "aws:wafregional/getIpset:getIpset": { - "description": "`aws.wafregional.IpSet` Retrieves a WAF Regional IP Set Resource Id.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.wafregional.getIpset({\n name: \"tfWAFRegionalIPSet\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafregional.get_ipset(name=\"tfWAFRegionalIPSet\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.WafRegional.GetIpset.Invoke(new()\n {\n Name = \"tfWAFRegionalIPSet\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\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 := wafregional.GetIpset(ctx, \u0026wafregional.GetIpsetArgs{\n\t\t\tName: \"tfWAFRegionalIPSet\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafregional.WafregionalFunctions;\nimport com.pulumi.aws.wafregional.inputs.GetIpsetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WafregionalFunctions.getIpset(GetIpsetArgs.builder()\n .name(\"tfWAFRegionalIPSet\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:wafregional:getIpset\n arguments:\n name: tfWAFRegionalIPSet\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.wafregional.IpSet` Retrieves a WAF Regional IP Set Resource Id.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.wafregional.getIpset({\n name: \"tfWAFRegionalIPSet\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafregional.get_ipset(name=\"tfWAFRegionalIPSet\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.WafRegional.GetIpset.Invoke(new()\n {\n Name = \"tfWAFRegionalIPSet\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\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 := wafregional.GetIpset(ctx, \u0026wafregional.GetIpsetArgs{\n\t\t\tName: \"tfWAFRegionalIPSet\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafregional.WafregionalFunctions;\nimport com.pulumi.aws.wafregional.inputs.GetIpsetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WafregionalFunctions.getIpset(GetIpsetArgs.builder()\n .name(\"tfWAFRegionalIPSet\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:wafregional:getIpset\n Arguments:\n name: tfWAFRegionalIPSet\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getIpset.\n", "properties": { @@ -427879,7 +427879,7 @@ } }, "aws:wafregional/getRateBasedMod:getRateBasedMod": { - "description": "`aws.wafregional.RateBasedRule` Retrieves a WAF Regional Rate Based Rule Resource Id.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.wafregional.getRateBasedMod({\n name: \"tfWAFRegionalRateBasedRule\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafregional.get_rate_based_mod(name=\"tfWAFRegionalRateBasedRule\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.WafRegional.GetRateBasedMod.Invoke(new()\n {\n Name = \"tfWAFRegionalRateBasedRule\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\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 := wafregional.GetRateBasedMod(ctx, \u0026wafregional.GetRateBasedModArgs{\n\t\t\tName: \"tfWAFRegionalRateBasedRule\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafregional.WafregionalFunctions;\nimport com.pulumi.aws.wafregional.inputs.GetRateBasedModArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WafregionalFunctions.getRateBasedMod(GetRateBasedModArgs.builder()\n .name(\"tfWAFRegionalRateBasedRule\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:wafregional:getRateBasedMod\n arguments:\n name: tfWAFRegionalRateBasedRule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.wafregional.RateBasedRule` Retrieves a WAF Regional Rate Based Rule Resource Id.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.wafregional.getRateBasedMod({\n name: \"tfWAFRegionalRateBasedRule\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafregional.get_rate_based_mod(name=\"tfWAFRegionalRateBasedRule\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.WafRegional.GetRateBasedMod.Invoke(new()\n {\n Name = \"tfWAFRegionalRateBasedRule\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\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 := wafregional.GetRateBasedMod(ctx, \u0026wafregional.GetRateBasedModArgs{\n\t\t\tName: \"tfWAFRegionalRateBasedRule\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafregional.WafregionalFunctions;\nimport com.pulumi.aws.wafregional.inputs.GetRateBasedModArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WafregionalFunctions.getRateBasedMod(GetRateBasedModArgs.builder()\n .name(\"tfWAFRegionalRateBasedRule\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:wafregional:getRateBasedMod\n Arguments:\n name: tfWAFRegionalRateBasedRule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRateBasedMod.\n", "properties": { @@ -427912,7 +427912,7 @@ } }, "aws:wafregional/getRule:getRule": { - "description": "`aws.wafregional.Rule` Retrieves a WAF Regional Rule Resource Id.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.wafregional.getRule({\n name: \"tfWAFRegionalRule\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafregional.get_rule(name=\"tfWAFRegionalRule\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.WafRegional.GetRule.Invoke(new()\n {\n Name = \"tfWAFRegionalRule\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\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 := wafregional.LookupRule(ctx, \u0026wafregional.LookupRuleArgs{\n\t\t\tName: \"tfWAFRegionalRule\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafregional.WafregionalFunctions;\nimport com.pulumi.aws.wafregional.inputs.GetRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WafregionalFunctions.getRule(GetRuleArgs.builder()\n .name(\"tfWAFRegionalRule\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:wafregional:getRule\n arguments:\n name: tfWAFRegionalRule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.wafregional.Rule` Retrieves a WAF Regional Rule Resource Id.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.wafregional.getRule({\n name: \"tfWAFRegionalRule\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafregional.get_rule(name=\"tfWAFRegionalRule\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.WafRegional.GetRule.Invoke(new()\n {\n Name = \"tfWAFRegionalRule\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\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 := wafregional.LookupRule(ctx, \u0026wafregional.LookupRuleArgs{\n\t\t\tName: \"tfWAFRegionalRule\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafregional.WafregionalFunctions;\nimport com.pulumi.aws.wafregional.inputs.GetRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WafregionalFunctions.getRule(GetRuleArgs.builder()\n .name(\"tfWAFRegionalRule\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:wafregional:getRule\n Arguments:\n name: tfWAFRegionalRule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRule.\n", "properties": { @@ -427945,7 +427945,7 @@ } }, "aws:wafregional/getSubscribedRuleGroup:getSubscribedRuleGroup": { - "description": "`aws.wafregional.getSubscribedRuleGroup` retrieves information about a Managed WAF Rule Group from AWS Marketplace for use in WAF Regional (needs to be subscribed to first).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byName = aws.wafregional.getSubscribedRuleGroup({\n name: \"F5 Bot Detection Signatures For AWS WAF\",\n});\nconst byMetricName = aws.wafregional.getSubscribedRuleGroup({\n metricName: \"F5BotDetectionSignatures\",\n});\nconst acl = new aws.wafregional.WebAcl(\"acl\", {rules: [\n {\n priority: 1,\n ruleId: byName.then(byName =\u003e byName.id),\n type: \"GROUP\",\n },\n {\n priority: 2,\n ruleId: byMetricName.then(byMetricName =\u003e byMetricName.id),\n type: \"GROUP\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_name = aws.wafregional.get_subscribed_rule_group(name=\"F5 Bot Detection Signatures For AWS WAF\")\nby_metric_name = aws.wafregional.get_subscribed_rule_group(metric_name=\"F5BotDetectionSignatures\")\nacl = aws.wafregional.WebAcl(\"acl\", rules=[\n {\n \"priority\": 1,\n \"rule_id\": by_name.id,\n \"type\": \"GROUP\",\n },\n {\n \"priority\": 2,\n \"rule_id\": by_metric_name.id,\n \"type\": \"GROUP\",\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byName = Aws.WafRegional.GetSubscribedRuleGroup.Invoke(new()\n {\n Name = \"F5 Bot Detection Signatures For AWS WAF\",\n });\n\n var byMetricName = Aws.WafRegional.GetSubscribedRuleGroup.Invoke(new()\n {\n MetricName = \"F5BotDetectionSignatures\",\n });\n\n var acl = new Aws.WafRegional.WebAcl(\"acl\", new()\n {\n Rules = new[]\n {\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Priority = 1,\n RuleId = byName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Priority = 2,\n RuleId = byMetricName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbyName, err := wafregional.GetSubscribedRuleGroup(ctx, \u0026wafregional.GetSubscribedRuleGroupArgs{\n\t\t\tName: pulumi.StringRef(\"F5 Bot Detection Signatures For AWS WAF\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbyMetricName, err := wafregional.GetSubscribedRuleGroup(ctx, \u0026wafregional.GetSubscribedRuleGroupArgs{\n\t\t\tMetricName: pulumi.StringRef(\"F5BotDetectionSignatures\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafregional.NewWebAcl(ctx, \"acl\", \u0026wafregional.WebAclArgs{\n\t\t\tRules: wafregional.WebAclRuleArray{\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: pulumi.String(byName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\n\t\t\t\t},\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tRuleId: pulumi.String(byMetricName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafregional.WafregionalFunctions;\nimport com.pulumi.aws.wafregional.inputs.GetSubscribedRuleGroupArgs;\nimport com.pulumi.aws.wafregional.WebAcl;\nimport com.pulumi.aws.wafregional.WebAclArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byName = WafregionalFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .name(\"F5 Bot Detection Signatures For AWS WAF\")\n .build());\n\n final var byMetricName = WafregionalFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .metricName(\"F5BotDetectionSignatures\")\n .build());\n\n var acl = new WebAcl(\"acl\", WebAclArgs.builder()\n .rules( \n WebAclRuleArgs.builder()\n .priority(1)\n .ruleId(byName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build(),\n WebAclRuleArgs.builder()\n .priority(2)\n .ruleId(byMetricName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n acl:\n type: aws:wafregional:WebAcl\n properties:\n rules:\n - priority: 1\n ruleId: ${byName.id}\n type: GROUP\n - priority: 2\n ruleId: ${byMetricName.id}\n type: GROUP\nvariables:\n byName:\n fn::invoke:\n function: aws:wafregional:getSubscribedRuleGroup\n arguments:\n name: F5 Bot Detection Signatures For AWS WAF\n byMetricName:\n fn::invoke:\n function: aws:wafregional:getSubscribedRuleGroup\n arguments:\n metricName: F5BotDetectionSignatures\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.wafregional.getSubscribedRuleGroup` retrieves information about a Managed WAF Rule Group from AWS Marketplace for use in WAF Regional (needs to be subscribed to first).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byName = aws.wafregional.getSubscribedRuleGroup({\n name: \"F5 Bot Detection Signatures For AWS WAF\",\n});\nconst byMetricName = aws.wafregional.getSubscribedRuleGroup({\n metricName: \"F5BotDetectionSignatures\",\n});\nconst acl = new aws.wafregional.WebAcl(\"acl\", {rules: [\n {\n priority: 1,\n ruleId: byName.then(byName =\u003e byName.id),\n type: \"GROUP\",\n },\n {\n priority: 2,\n ruleId: byMetricName.then(byMetricName =\u003e byMetricName.id),\n type: \"GROUP\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_name = aws.wafregional.get_subscribed_rule_group(name=\"F5 Bot Detection Signatures For AWS WAF\")\nby_metric_name = aws.wafregional.get_subscribed_rule_group(metric_name=\"F5BotDetectionSignatures\")\nacl = aws.wafregional.WebAcl(\"acl\", rules=[\n {\n \"priority\": 1,\n \"rule_id\": by_name.id,\n \"type\": \"GROUP\",\n },\n {\n \"priority\": 2,\n \"rule_id\": by_metric_name.id,\n \"type\": \"GROUP\",\n },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byName = Aws.WafRegional.GetSubscribedRuleGroup.Invoke(new()\n {\n Name = \"F5 Bot Detection Signatures For AWS WAF\",\n });\n\n var byMetricName = Aws.WafRegional.GetSubscribedRuleGroup.Invoke(new()\n {\n MetricName = \"F5BotDetectionSignatures\",\n });\n\n var acl = new Aws.WafRegional.WebAcl(\"acl\", new()\n {\n Rules = new[]\n {\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Priority = 1,\n RuleId = byName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Priority = 2,\n RuleId = byMetricName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbyName, err := wafregional.GetSubscribedRuleGroup(ctx, \u0026wafregional.GetSubscribedRuleGroupArgs{\n\t\t\tName: pulumi.StringRef(\"F5 Bot Detection Signatures For AWS WAF\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbyMetricName, err := wafregional.GetSubscribedRuleGroup(ctx, \u0026wafregional.GetSubscribedRuleGroupArgs{\n\t\t\tMetricName: pulumi.StringRef(\"F5BotDetectionSignatures\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafregional.NewWebAcl(ctx, \"acl\", \u0026wafregional.WebAclArgs{\n\t\t\tRules: wafregional.WebAclRuleArray{\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: pulumi.String(byName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\n\t\t\t\t},\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tRuleId: pulumi.String(byMetricName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafregional.WafregionalFunctions;\nimport com.pulumi.aws.wafregional.inputs.GetSubscribedRuleGroupArgs;\nimport com.pulumi.aws.wafregional.WebAcl;\nimport com.pulumi.aws.wafregional.WebAclArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byName = WafregionalFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .name(\"F5 Bot Detection Signatures For AWS WAF\")\n .build());\n\n final var byMetricName = WafregionalFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .metricName(\"F5BotDetectionSignatures\")\n .build());\n\n var acl = new WebAcl(\"acl\", WebAclArgs.builder()\n .rules( \n WebAclRuleArgs.builder()\n .priority(1)\n .ruleId(byName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build(),\n WebAclRuleArgs.builder()\n .priority(2)\n .ruleId(byMetricName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n acl:\n type: aws:wafregional:WebAcl\n properties:\n rules:\n - priority: 1\n ruleId: ${byName.id}\n type: GROUP\n - priority: 2\n ruleId: ${byMetricName.id}\n type: GROUP\nvariables:\n byName:\n fn::invoke:\n Function: aws:wafregional:getSubscribedRuleGroup\n Arguments:\n name: F5 Bot Detection Signatures For AWS WAF\n byMetricName:\n fn::invoke:\n Function: aws:wafregional:getSubscribedRuleGroup\n Arguments:\n metricName: F5BotDetectionSignatures\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSubscribedRuleGroup.\n", "properties": { @@ -427981,7 +427981,7 @@ } }, "aws:wafregional/getWebAcl:getWebAcl": { - "description": "`aws.wafregional.WebAcl` Retrieves a WAF Regional Web ACL Resource Id.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.wafregional.getWebAcl({\n name: \"tfWAFRegionalWebACL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafregional.get_web_acl(name=\"tfWAFRegionalWebACL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.WafRegional.GetWebAcl.Invoke(new()\n {\n Name = \"tfWAFRegionalWebACL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\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 := wafregional.LookupWebAcl(ctx, \u0026wafregional.LookupWebAclArgs{\n\t\t\tName: \"tfWAFRegionalWebACL\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafregional.WafregionalFunctions;\nimport com.pulumi.aws.wafregional.inputs.GetWebAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WafregionalFunctions.getWebAcl(GetWebAclArgs.builder()\n .name(\"tfWAFRegionalWebACL\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:wafregional:getWebAcl\n arguments:\n name: tfWAFRegionalWebACL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.wafregional.WebAcl` Retrieves a WAF Regional Web ACL Resource Id.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.wafregional.getWebAcl({\n name: \"tfWAFRegionalWebACL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafregional.get_web_acl(name=\"tfWAFRegionalWebACL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.WafRegional.GetWebAcl.Invoke(new()\n {\n Name = \"tfWAFRegionalWebACL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\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 := wafregional.LookupWebAcl(ctx, \u0026wafregional.LookupWebAclArgs{\n\t\t\tName: \"tfWAFRegionalWebACL\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafregional.WafregionalFunctions;\nimport com.pulumi.aws.wafregional.inputs.GetWebAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WafregionalFunctions.getWebAcl(GetWebAclArgs.builder()\n .name(\"tfWAFRegionalWebACL\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:wafregional:getWebAcl\n Arguments:\n name: tfWAFRegionalWebACL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getWebAcl.\n", "properties": { @@ -428014,7 +428014,7 @@ } }, "aws:wafv2/getIpSet:getIpSet": { - "description": "Retrieves the summary of a WAFv2 IP Set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.wafv2.getIpSet({\n name: \"some-ip-set\",\n scope: \"REGIONAL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.get_ip_set(name=\"some-ip-set\",\n scope=\"REGIONAL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.WafV2.GetIpSet.Invoke(new()\n {\n Name = \"some-ip-set\",\n Scope = \"REGIONAL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafv2\"\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 := wafv2.LookupIpSet(ctx, \u0026wafv2.LookupIpSetArgs{\n\t\t\tName: \"some-ip-set\",\n\t\t\tScope: \"REGIONAL\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafv2.Wafv2Functions;\nimport com.pulumi.aws.wafv2.inputs.GetIpSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Wafv2Functions.getIpSet(GetIpSetArgs.builder()\n .name(\"some-ip-set\")\n .scope(\"REGIONAL\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:wafv2:getIpSet\n arguments:\n name: some-ip-set\n scope: REGIONAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieves the summary of a WAFv2 IP Set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.wafv2.getIpSet({\n name: \"some-ip-set\",\n scope: \"REGIONAL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.get_ip_set(name=\"some-ip-set\",\n scope=\"REGIONAL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.WafV2.GetIpSet.Invoke(new()\n {\n Name = \"some-ip-set\",\n Scope = \"REGIONAL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafv2\"\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 := wafv2.LookupIpSet(ctx, \u0026wafv2.LookupIpSetArgs{\n\t\t\tName: \"some-ip-set\",\n\t\t\tScope: \"REGIONAL\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafv2.Wafv2Functions;\nimport com.pulumi.aws.wafv2.inputs.GetIpSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Wafv2Functions.getIpSet(GetIpSetArgs.builder()\n .name(\"some-ip-set\")\n .scope(\"REGIONAL\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:wafv2:getIpSet\n Arguments:\n name: some-ip-set\n scope: REGIONAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getIpSet.\n", "properties": { @@ -428079,7 +428079,7 @@ } }, "aws:wafv2/getRegexPatternSet:getRegexPatternSet": { - "description": "Retrieves the summary of a WAFv2 Regex Pattern Set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.wafv2.getRegexPatternSet({\n name: \"some-regex-pattern-set\",\n scope: \"REGIONAL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.get_regex_pattern_set(name=\"some-regex-pattern-set\",\n scope=\"REGIONAL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.WafV2.GetRegexPatternSet.Invoke(new()\n {\n Name = \"some-regex-pattern-set\",\n Scope = \"REGIONAL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafv2\"\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 := wafv2.LookupRegexPatternSet(ctx, \u0026wafv2.LookupRegexPatternSetArgs{\n\t\t\tName: \"some-regex-pattern-set\",\n\t\t\tScope: \"REGIONAL\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafv2.Wafv2Functions;\nimport com.pulumi.aws.wafv2.inputs.GetRegexPatternSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Wafv2Functions.getRegexPatternSet(GetRegexPatternSetArgs.builder()\n .name(\"some-regex-pattern-set\")\n .scope(\"REGIONAL\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:wafv2:getRegexPatternSet\n arguments:\n name: some-regex-pattern-set\n scope: REGIONAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieves the summary of a WAFv2 Regex Pattern Set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.wafv2.getRegexPatternSet({\n name: \"some-regex-pattern-set\",\n scope: \"REGIONAL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.get_regex_pattern_set(name=\"some-regex-pattern-set\",\n scope=\"REGIONAL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.WafV2.GetRegexPatternSet.Invoke(new()\n {\n Name = \"some-regex-pattern-set\",\n Scope = \"REGIONAL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafv2\"\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 := wafv2.LookupRegexPatternSet(ctx, \u0026wafv2.LookupRegexPatternSetArgs{\n\t\t\tName: \"some-regex-pattern-set\",\n\t\t\tScope: \"REGIONAL\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafv2.Wafv2Functions;\nimport com.pulumi.aws.wafv2.inputs.GetRegexPatternSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Wafv2Functions.getRegexPatternSet(GetRegexPatternSetArgs.builder()\n .name(\"some-regex-pattern-set\")\n .scope(\"REGIONAL\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:wafv2:getRegexPatternSet\n Arguments:\n name: some-regex-pattern-set\n scope: REGIONAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRegexPatternSet.\n", "properties": { @@ -428139,7 +428139,7 @@ } }, "aws:wafv2/getRuleGroup:getRuleGroup": { - "description": "Retrieves the summary of a WAFv2 Rule Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.wafv2.getRuleGroup({\n name: \"some-rule-group\",\n scope: \"REGIONAL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.get_rule_group(name=\"some-rule-group\",\n scope=\"REGIONAL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.WafV2.GetRuleGroup.Invoke(new()\n {\n Name = \"some-rule-group\",\n Scope = \"REGIONAL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafv2\"\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 := wafv2.LookupRuleGroup(ctx, \u0026wafv2.LookupRuleGroupArgs{\n\t\t\tName: \"some-rule-group\",\n\t\t\tScope: \"REGIONAL\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafv2.Wafv2Functions;\nimport com.pulumi.aws.wafv2.inputs.GetRuleGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Wafv2Functions.getRuleGroup(GetRuleGroupArgs.builder()\n .name(\"some-rule-group\")\n .scope(\"REGIONAL\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:wafv2:getRuleGroup\n arguments:\n name: some-rule-group\n scope: REGIONAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieves the summary of a WAFv2 Rule Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.wafv2.getRuleGroup({\n name: \"some-rule-group\",\n scope: \"REGIONAL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.get_rule_group(name=\"some-rule-group\",\n scope=\"REGIONAL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.WafV2.GetRuleGroup.Invoke(new()\n {\n Name = \"some-rule-group\",\n Scope = \"REGIONAL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafv2\"\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 := wafv2.LookupRuleGroup(ctx, \u0026wafv2.LookupRuleGroupArgs{\n\t\t\tName: \"some-rule-group\",\n\t\t\tScope: \"REGIONAL\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafv2.Wafv2Functions;\nimport com.pulumi.aws.wafv2.inputs.GetRuleGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Wafv2Functions.getRuleGroup(GetRuleGroupArgs.builder()\n .name(\"some-rule-group\")\n .scope(\"REGIONAL\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:wafv2:getRuleGroup\n Arguments:\n name: some-rule-group\n scope: REGIONAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRuleGroup.\n", "properties": { @@ -428191,7 +428191,7 @@ } }, "aws:wafv2/getWebAcl:getWebAcl": { - "description": "Retrieves the summary of a WAFv2 Web ACL.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.wafv2.getWebAcl({\n name: \"some-web-acl\",\n scope: \"REGIONAL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.get_web_acl(name=\"some-web-acl\",\n scope=\"REGIONAL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.WafV2.GetWebAcl.Invoke(new()\n {\n Name = \"some-web-acl\",\n Scope = \"REGIONAL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafv2\"\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 := wafv2.LookupWebAcl(ctx, \u0026wafv2.LookupWebAclArgs{\n\t\t\tName: \"some-web-acl\",\n\t\t\tScope: \"REGIONAL\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafv2.Wafv2Functions;\nimport com.pulumi.aws.wafv2.inputs.GetWebAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Wafv2Functions.getWebAcl(GetWebAclArgs.builder()\n .name(\"some-web-acl\")\n .scope(\"REGIONAL\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:wafv2:getWebAcl\n arguments:\n name: some-web-acl\n scope: REGIONAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieves the summary of a WAFv2 Web ACL.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.wafv2.getWebAcl({\n name: \"some-web-acl\",\n scope: \"REGIONAL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.get_web_acl(name=\"some-web-acl\",\n scope=\"REGIONAL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.WafV2.GetWebAcl.Invoke(new()\n {\n Name = \"some-web-acl\",\n Scope = \"REGIONAL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafv2\"\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 := wafv2.LookupWebAcl(ctx, \u0026wafv2.LookupWebAclArgs{\n\t\t\tName: \"some-web-acl\",\n\t\t\tScope: \"REGIONAL\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafv2.Wafv2Functions;\nimport com.pulumi.aws.wafv2.inputs.GetWebAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Wafv2Functions.getWebAcl(GetWebAclArgs.builder()\n .name(\"some-web-acl\")\n .scope(\"REGIONAL\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:wafv2:getWebAcl\n Arguments:\n name: some-web-acl\n scope: REGIONAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getWebAcl.\n", "properties": { @@ -428243,7 +428243,7 @@ } }, "aws:workspaces/getBundle:getBundle": { - "description": "Retrieve information about an AWS WorkSpaces bundle.\n\n## Example Usage\n\n### By ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.workspaces.getBundle({\n bundleId: \"wsb-b0s22j3d7\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.workspaces.get_bundle(bundle_id=\"wsb-b0s22j3d7\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Workspaces.GetBundle.Invoke(new()\n {\n BundleId = \"wsb-b0s22j3d7\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\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 := workspaces.GetBundle(ctx, \u0026workspaces.GetBundleArgs{\n\t\t\tBundleId: pulumi.StringRef(\"wsb-b0s22j3d7\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.workspaces.WorkspacesFunctions;\nimport com.pulumi.aws.workspaces.inputs.GetBundleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WorkspacesFunctions.getBundle(GetBundleArgs.builder()\n .bundleId(\"wsb-b0s22j3d7\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:workspaces:getBundle\n arguments:\n bundleId: wsb-b0s22j3d7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Owner \u0026 Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.workspaces.getBundle({\n owner: \"AMAZON\",\n name: \"Value with Windows 10 and Office 2016\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.workspaces.get_bundle(owner=\"AMAZON\",\n name=\"Value with Windows 10 and Office 2016\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Workspaces.GetBundle.Invoke(new()\n {\n Owner = \"AMAZON\",\n Name = \"Value with Windows 10 and Office 2016\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\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 := workspaces.GetBundle(ctx, \u0026workspaces.GetBundleArgs{\n\t\t\tOwner: pulumi.StringRef(\"AMAZON\"),\n\t\t\tName: pulumi.StringRef(\"Value with Windows 10 and Office 2016\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.workspaces.WorkspacesFunctions;\nimport com.pulumi.aws.workspaces.inputs.GetBundleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WorkspacesFunctions.getBundle(GetBundleArgs.builder()\n .owner(\"AMAZON\")\n .name(\"Value with Windows 10 and Office 2016\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:workspaces:getBundle\n arguments:\n owner: AMAZON\n name: Value with Windows 10 and Office 2016\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about an AWS WorkSpaces bundle.\n\n## Example Usage\n\n### By ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.workspaces.getBundle({\n bundleId: \"wsb-b0s22j3d7\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.workspaces.get_bundle(bundle_id=\"wsb-b0s22j3d7\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Workspaces.GetBundle.Invoke(new()\n {\n BundleId = \"wsb-b0s22j3d7\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\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 := workspaces.GetBundle(ctx, \u0026workspaces.GetBundleArgs{\n\t\t\tBundleId: pulumi.StringRef(\"wsb-b0s22j3d7\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.workspaces.WorkspacesFunctions;\nimport com.pulumi.aws.workspaces.inputs.GetBundleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WorkspacesFunctions.getBundle(GetBundleArgs.builder()\n .bundleId(\"wsb-b0s22j3d7\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:workspaces:getBundle\n Arguments:\n bundleId: wsb-b0s22j3d7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Owner \u0026 Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.workspaces.getBundle({\n owner: \"AMAZON\",\n name: \"Value with Windows 10 and Office 2016\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.workspaces.get_bundle(owner=\"AMAZON\",\n name=\"Value with Windows 10 and Office 2016\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Workspaces.GetBundle.Invoke(new()\n {\n Owner = \"AMAZON\",\n Name = \"Value with Windows 10 and Office 2016\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\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 := workspaces.GetBundle(ctx, \u0026workspaces.GetBundleArgs{\n\t\t\tOwner: pulumi.StringRef(\"AMAZON\"),\n\t\t\tName: pulumi.StringRef(\"Value with Windows 10 and Office 2016\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.workspaces.WorkspacesFunctions;\nimport com.pulumi.aws.workspaces.inputs.GetBundleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WorkspacesFunctions.getBundle(GetBundleArgs.builder()\n .owner(\"AMAZON\")\n .name(\"Value with Windows 10 and Office 2016\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:workspaces:getBundle\n Arguments:\n owner: AMAZON\n name: Value with Windows 10 and Office 2016\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBundle.\n", "properties": { @@ -428318,7 +428318,7 @@ } }, "aws:workspaces/getDirectory:getDirectory": { - "description": "Retrieve information about an AWS WorkSpaces directory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.workspaces.getDirectory({\n directoryId: \"d-9067783251\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.workspaces.get_directory(directory_id=\"d-9067783251\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Workspaces.GetDirectory.Invoke(new()\n {\n DirectoryId = \"d-9067783251\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\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 := workspaces.LookupDirectory(ctx, \u0026workspaces.LookupDirectoryArgs{\n\t\t\tDirectoryId: \"d-9067783251\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.workspaces.WorkspacesFunctions;\nimport com.pulumi.aws.workspaces.inputs.GetDirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WorkspacesFunctions.getDirectory(GetDirectoryArgs.builder()\n .directoryId(\"d-9067783251\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:workspaces:getDirectory\n arguments:\n directoryId: d-9067783251\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about an AWS WorkSpaces directory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.workspaces.getDirectory({\n directoryId: \"d-9067783251\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.workspaces.get_directory(directory_id=\"d-9067783251\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Workspaces.GetDirectory.Invoke(new()\n {\n DirectoryId = \"d-9067783251\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\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 := workspaces.LookupDirectory(ctx, \u0026workspaces.LookupDirectoryArgs{\n\t\t\tDirectoryId: \"d-9067783251\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.workspaces.WorkspacesFunctions;\nimport com.pulumi.aws.workspaces.inputs.GetDirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WorkspacesFunctions.getDirectory(GetDirectoryArgs.builder()\n .directoryId(\"d-9067783251\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:workspaces:getDirectory\n Arguments:\n directoryId: d-9067783251\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDirectory.\n", "properties": { @@ -428456,7 +428456,7 @@ } }, "aws:workspaces/getImage:getImage": { - "description": "Use this data source to get information about a Workspaces image.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.workspaces.getImage({\n imageId: \"wsi-ten5h0y19\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.workspaces.get_image(image_id=\"wsi-ten5h0y19\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Workspaces.GetImage.Invoke(new()\n {\n ImageId = \"wsi-ten5h0y19\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\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 := workspaces.GetImage(ctx, \u0026workspaces.GetImageArgs{\n\t\t\tImageId: \"wsi-ten5h0y19\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.workspaces.WorkspacesFunctions;\nimport com.pulumi.aws.workspaces.inputs.GetImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WorkspacesFunctions.getImage(GetImageArgs.builder()\n .imageId(\"wsi-ten5h0y19\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:workspaces:getImage\n arguments:\n imageId: wsi-ten5h0y19\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about a Workspaces image.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.workspaces.getImage({\n imageId: \"wsi-ten5h0y19\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.workspaces.get_image(image_id=\"wsi-ten5h0y19\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Workspaces.GetImage.Invoke(new()\n {\n ImageId = \"wsi-ten5h0y19\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\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 := workspaces.GetImage(ctx, \u0026workspaces.GetImageArgs{\n\t\t\tImageId: \"wsi-ten5h0y19\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.workspaces.WorkspacesFunctions;\nimport com.pulumi.aws.workspaces.inputs.GetImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WorkspacesFunctions.getImage(GetImageArgs.builder()\n .imageId(\"wsi-ten5h0y19\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:workspaces:getImage\n Arguments:\n imageId: wsi-ten5h0y19\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getImage.\n", "properties": { @@ -428513,7 +428513,7 @@ } }, "aws:workspaces/getWorkspace:getWorkspace": { - "description": "Use this data source to get information about a workspace in [AWS Workspaces](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) Service.\n\n## Example Usage\n\n### Filter By Workspace ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.workspaces.getWorkspace({\n workspaceId: \"ws-cj5xcxsz5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.workspaces.get_workspace(workspace_id=\"ws-cj5xcxsz5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Workspaces.GetWorkspace.Invoke(new()\n {\n WorkspaceId = \"ws-cj5xcxsz5\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\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 := workspaces.LookupWorkspace(ctx, \u0026workspaces.LookupWorkspaceArgs{\n\t\t\tWorkspaceId: pulumi.StringRef(\"ws-cj5xcxsz5\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.workspaces.WorkspacesFunctions;\nimport com.pulumi.aws.workspaces.inputs.GetWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WorkspacesFunctions.getWorkspace(GetWorkspaceArgs.builder()\n .workspaceId(\"ws-cj5xcxsz5\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:workspaces:getWorkspace\n arguments:\n workspaceId: ws-cj5xcxsz5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter By Directory ID \u0026 User Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.workspaces.getWorkspace({\n directoryId: \"d-9967252f57\",\n userName: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.workspaces.get_workspace(directory_id=\"d-9967252f57\",\n user_name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Workspaces.GetWorkspace.Invoke(new()\n {\n DirectoryId = \"d-9967252f57\",\n UserName = \"Example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\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 := workspaces.LookupWorkspace(ctx, \u0026workspaces.LookupWorkspaceArgs{\n\t\t\tDirectoryId: pulumi.StringRef(\"d-9967252f57\"),\n\t\t\tUserName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.workspaces.WorkspacesFunctions;\nimport com.pulumi.aws.workspaces.inputs.GetWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WorkspacesFunctions.getWorkspace(GetWorkspaceArgs.builder()\n .directoryId(\"d-9967252f57\")\n .userName(\"Example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:workspaces:getWorkspace\n arguments:\n directoryId: d-9967252f57\n userName: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about a workspace in [AWS Workspaces](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) Service.\n\n## Example Usage\n\n### Filter By Workspace ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.workspaces.getWorkspace({\n workspaceId: \"ws-cj5xcxsz5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.workspaces.get_workspace(workspace_id=\"ws-cj5xcxsz5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Workspaces.GetWorkspace.Invoke(new()\n {\n WorkspaceId = \"ws-cj5xcxsz5\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\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 := workspaces.LookupWorkspace(ctx, \u0026workspaces.LookupWorkspaceArgs{\n\t\t\tWorkspaceId: pulumi.StringRef(\"ws-cj5xcxsz5\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.workspaces.WorkspacesFunctions;\nimport com.pulumi.aws.workspaces.inputs.GetWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WorkspacesFunctions.getWorkspace(GetWorkspaceArgs.builder()\n .workspaceId(\"ws-cj5xcxsz5\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:workspaces:getWorkspace\n Arguments:\n workspaceId: ws-cj5xcxsz5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter By Directory ID \u0026 User Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.workspaces.getWorkspace({\n directoryId: \"d-9967252f57\",\n userName: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.workspaces.get_workspace(directory_id=\"d-9967252f57\",\n user_name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Workspaces.GetWorkspace.Invoke(new()\n {\n DirectoryId = \"d-9967252f57\",\n UserName = \"Example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\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 := workspaces.LookupWorkspace(ctx, \u0026workspaces.LookupWorkspaceArgs{\n\t\t\tDirectoryId: pulumi.StringRef(\"d-9967252f57\"),\n\t\t\tUserName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.workspaces.WorkspacesFunctions;\nimport com.pulumi.aws.workspaces.inputs.GetWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WorkspacesFunctions.getWorkspace(GetWorkspaceArgs.builder()\n .directoryId(\"d-9967252f57\")\n .userName(\"Example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:workspaces:getWorkspace\n Arguments:\n directoryId: d-9967252f57\n userName: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getWorkspace.\n", "properties": { diff --git a/provider/go.mod b/provider/go.mod index 32f5b5f2991..ad6e4eabb9d 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -20,9 +20,9 @@ require ( github.com/hashicorp/terraform-provider-aws v1.60.1-0.20220923175450-ca71523cdc36 github.com/mitchellh/go-homedir v1.1.0 github.com/pulumi/providertest v0.1.3 - github.com/pulumi/pulumi-terraform-bridge/v3 v3.97.0 - github.com/pulumi/pulumi/pkg/v3 v3.142.0 - github.com/pulumi/pulumi/sdk/v3 v3.142.0 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.96.0 + github.com/pulumi/pulumi/pkg/v3 v3.140.0 + github.com/pulumi/pulumi/sdk/v3 v3.140.0 github.com/stretchr/testify v1.9.0 pgregory.net/rapid v0.6.1 ) @@ -457,8 +457,8 @@ require ( github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.10.0 // indirect github.com/pulumi/inflector v0.1.1 // indirect - github.com/pulumi/pulumi-java/pkg v0.18.0 // indirect - github.com/pulumi/pulumi-yaml v1.12.0 // indirect + github.com/pulumi/pulumi-java/pkg v0.17.0 // indirect + github.com/pulumi/pulumi-yaml v1.11.2 // indirect github.com/pulumi/schema-tools v0.1.2 // indirect github.com/pulumi/terraform-diff-reader v0.0.2 // indirect github.com/rivo/uniseg v0.4.4 // indirect diff --git a/provider/go.sum b/provider/go.sum index 5a7ad8b436a..1b4832e80fd 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -2454,16 +2454,16 @@ github.com/pulumi/inflector v0.1.1 h1:dvlxlWtXwOJTUUtcYDvwnl6Mpg33prhK+7mzeF+Sob github.com/pulumi/inflector v0.1.1/go.mod h1:HUFCjcPTz96YtTuUlwG3i3EZG4WlniBvR9bd+iJxCUY= github.com/pulumi/providertest v0.1.3 h1:GpNKRy/haNjRHiUA9bi4diU4Op2zf3axYXbga5AepHg= github.com/pulumi/providertest v0.1.3/go.mod h1:GcsqEGgSngwaNOD+kICJPIUQlnA911fGBU8HDlJvVL0= -github.com/pulumi/pulumi-java/pkg v0.18.0 h1:3PApc5YegH69n6oubB63mqI97pF+oQywWr7ii4082Mw= -github.com/pulumi/pulumi-java/pkg v0.18.0/go.mod h1:YKYYFEb3Jvzf/dDJo0xOeEkIfBAMkkkdhXulauvEjmc= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.97.0 h1:/Y/9hffZp2CFUfInVbv/9rWnZETiiOgKju1Ua512Ke8= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.97.0/go.mod h1:B/Auryr+yVUkLOMzgpFe7HLwKAtXc6YJwpAXfNGyLPk= -github.com/pulumi/pulumi-yaml v1.12.0 h1:ThJP+EBqeJyCnS6w6/PwcEFOT5o112qv0lObhefmFCk= -github.com/pulumi/pulumi-yaml v1.12.0/go.mod h1:EhZd1XDfuLa15O51qVVE16U6r8ldK9mLIBclqWCX27Y= -github.com/pulumi/pulumi/pkg/v3 v3.142.0 h1:UE8TFyXrlxvPrATpd3Kl3En34KrFIFWOxxNAodywPNU= -github.com/pulumi/pulumi/pkg/v3 v3.142.0/go.mod h1:3k6WwRIT7veiDnk3Yo2NtqEYX+4dgLCrMIFvEOnjQqI= -github.com/pulumi/pulumi/sdk/v3 v3.142.0 h1:SmcVddGuvwAh3g3XUVQQ5gVRQUKH1yZ6iETpDNHIHlw= -github.com/pulumi/pulumi/sdk/v3 v3.142.0/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= +github.com/pulumi/pulumi-java/pkg v0.17.0 h1:KmaVLrVmlkzShOfaJNJDlckorbFm8dM/C7L4hj6LX8U= +github.com/pulumi/pulumi-java/pkg v0.17.0/go.mod h1:ji4U4H7t81X4aaE88D9+z5CmKH/QoLwQi9N1iGl+2KQ= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.96.0 h1:uJB3tM1j+9SKeXLCAx3DBVHsYk4ddXNrVoiqpgXal2Q= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.96.0/go.mod h1:WnOTAfdtm5+kW3rIU0rLhxFSEHtJIMf19FdOU6NFXG0= +github.com/pulumi/pulumi-yaml v1.11.2 h1:MU7TTNbruGCSgNHhaBygjIbLWm3WSbd1q98GpMIgQzE= +github.com/pulumi/pulumi-yaml v1.11.2/go.mod h1:RdXRBupRGGAD1kbYNG1V1h6pyFnXisvQsl0AANvVjGI= +github.com/pulumi/pulumi/pkg/v3 v3.140.0 h1:/bvHa19HY/6qHWvuAOVII8qr72MDGGczBWlPYlPo3j0= +github.com/pulumi/pulumi/pkg/v3 v3.140.0/go.mod h1:rcTtSyisd7BzZTugNk/s9zlYgX9S0S10+pha3Tko6yM= +github.com/pulumi/pulumi/sdk/v3 v3.140.0 h1:+Z/RBvdYg7tBNkBwk4p/FzlV7niBT3TbLAICq/Y0LDU= +github.com/pulumi/pulumi/sdk/v3 v3.140.0/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQKpfZo= github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= diff --git a/provider/pkg/batch/compute_environment.go b/provider/pkg/batch/compute_environment.go index 03e19b6860b..958643aa08a 100644 --- a/provider/pkg/batch/compute_environment.go +++ b/provider/pkg/batch/compute_environment.go @@ -24,7 +24,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/common/tokens" ) -func ComputeEnvironment(token tokens.Type, logProvider func(context.Context) tfbridge.Logger) *info.Resource { +func ComputeEnvironment(token tokens.Type) *info.Resource { return &info.Resource{ Tok: token, TransformFromState: func(ctx context.Context, pm resource.PropertyMap) (resource.PropertyMap, error) { @@ -40,7 +40,7 @@ func ComputeEnvironment(token tokens.Type, logProvider func(context.Context) tfb return pm, nil } replacement := resource.NewArrayProperty([]resource.PropertyValue{ec2c}) - logProvider(ctx).Debug(fmt.Sprintf( + tfbridge.GetLogger(ctx).Debug(fmt.Sprintf( "batch.ComputeEnvironment is wrapping old computeResources.ec2Configurations state in an array")) cr.ObjectValue()["ec2Configuration"] = replacement r["computeResources"] = cr diff --git a/provider/pkg/batch/compute_environment_test.go b/provider/pkg/batch/compute_environment_test.go index 98be0219c09..5f1b4732672 100644 --- a/provider/pkg/batch/compute_environment_test.go +++ b/provider/pkg/batch/compute_environment_test.go @@ -4,14 +4,14 @@ import ( "context" "testing" - "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge" - "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge/log" + "github.com/pulumi/pulumi-terraform-bridge/v3/unstable/logging" "github.com/pulumi/pulumi/sdk/v3/go/common/resource" "github.com/stretchr/testify/require" ) func TestComputeEnvironmentTransformFromState(t *testing.T) { ctx := context.Background() + ctx = logging.InitLogging(ctx, logging.LogOptions{}) pm := resource.PropertyMap{ "computeResources": resource.NewObjectProperty(resource.PropertyMap{ "ec2Configuration": resource.NewObjectProperty(resource.PropertyMap{ @@ -30,29 +30,7 @@ func TestComputeEnvironmentTransformFromState(t *testing.T) { }), }), } - actual, err := ComputeEnvironment("", func(ctx context.Context) tfbridge.Logger { - return testLogger{t} - }).TransformFromState(ctx, pm) + actual, err := ComputeEnvironment("").TransformFromState(ctx, pm) require.NoError(t, err) require.Equal(t, expect, actual) } - -type testLogger struct { - t *testing.T -} - -func (l testLogger) Debug(msg string) { - l.t.Log(msg) -} -func (l testLogger) Info(msg string) { - l.t.Log(msg) -} -func (l testLogger) Warn(msg string) { - l.t.Log(msg) -} -func (l testLogger) Error(msg string) { - l.t.Log(msg) -} -func (l testLogger) Status() log.Log { - return l -} diff --git a/provider/resources.go b/provider/resources.go index f319325095e..b70a38e6f6c 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -1355,7 +1355,7 @@ compatibility shim in favor of the new "name" field.`) }, }, // Batch - "aws_batch_compute_environment": batch.ComputeEnvironment(awsResource(batchMod, "ComputeEnvironment"), tfbridge.GetLogger), + "aws_batch_compute_environment": batch.ComputeEnvironment(awsResource(batchMod, "ComputeEnvironment")), "aws_batch_job_definition": {Tok: awsResource(batchMod, "JobDefinition")}, "aws_batch_job_queue": {Tok: awsResource(batchMod, "JobQueue")}, "aws_batch_scheduling_policy": {Tok: awsResource(batchMod, "SchedulingPolicy")}, diff --git a/sdk/go.mod b/sdk/go.mod index 52c36d3e71a..b50ed8ee98d 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -4,7 +4,7 @@ go 1.21.12 require ( github.com/blang/semver v3.5.1+incompatible - github.com/pulumi/pulumi/sdk/v3 v3.142.0 + github.com/pulumi/pulumi/sdk/v3 v3.140.0 ) retract ( diff --git a/sdk/go.sum b/sdk/go.sum index 8166f4a1d85..abd9ddf1dca 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -151,8 +151,8 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.9.1 h1:HH5eEv8sgyxSpY5a8yePyqFXzA8cvBvapfH8457+mIs= github.com/pulumi/esc v0.9.1/go.mod h1:oEJ6bOsjYlQUpjf70GiX+CXn3VBmpwFDxUTlmtUN84c= -github.com/pulumi/pulumi/sdk/v3 v3.142.0 h1:SmcVddGuvwAh3g3XUVQQ5gVRQUKH1yZ6iETpDNHIHlw= -github.com/pulumi/pulumi/sdk/v3 v3.142.0/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= +github.com/pulumi/pulumi/sdk/v3 v3.140.0 h1:+Z/RBvdYg7tBNkBwk4p/FzlV7niBT3TbLAICq/Y0LDU= +github.com/pulumi/pulumi/sdk/v3 v3.140.0/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= diff --git a/sdk/nodejs/acm/getCertificate.ts b/sdk/nodejs/acm/getCertificate.ts index 326a1f20e2d..ea6cc4f3ba1 100644 --- a/sdk/nodejs/acm/getCertificate.ts +++ b/sdk/nodejs/acm/getCertificate.ts @@ -139,7 +139,7 @@ export interface GetCertificateResult { * }); * ``` */ -export function getCertificateOutput(args?: GetCertificateOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCertificateOutput(args?: GetCertificateOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:acm/getCertificate:getCertificate", { diff --git a/sdk/nodejs/acmpca/getCertificate.ts b/sdk/nodejs/acmpca/getCertificate.ts index 532108ccd8f..136d5d11af1 100644 --- a/sdk/nodejs/acmpca/getCertificate.ts +++ b/sdk/nodejs/acmpca/getCertificate.ts @@ -75,7 +75,7 @@ export interface GetCertificateResult { * }); * ``` */ -export function getCertificateOutput(args: GetCertificateOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCertificateOutput(args: GetCertificateOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:acmpca/getCertificate:getCertificate", { "arn": args.arn, diff --git a/sdk/nodejs/acmpca/getCertificateAuthority.ts b/sdk/nodejs/acmpca/getCertificateAuthority.ts index 5e02bd42a36..8ff24a1e917 100644 --- a/sdk/nodejs/acmpca/getCertificateAuthority.ts +++ b/sdk/nodejs/acmpca/getCertificateAuthority.ts @@ -112,7 +112,7 @@ export interface GetCertificateAuthorityResult { * }); * ``` */ -export function getCertificateAuthorityOutput(args: GetCertificateAuthorityOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCertificateAuthorityOutput(args: GetCertificateAuthorityOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:acmpca/getCertificateAuthority:getCertificateAuthority", { "arn": args.arn, diff --git a/sdk/nodejs/alb/getListener.ts b/sdk/nodejs/alb/getListener.ts index ac0214344ba..9955fdf3165 100644 --- a/sdk/nodejs/alb/getListener.ts +++ b/sdk/nodejs/alb/getListener.ts @@ -112,7 +112,7 @@ export interface GetListenerResult { * })); * ``` */ -export function getListenerOutput(args?: GetListenerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getListenerOutput(args?: GetListenerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:alb/getListener:getListener", { diff --git a/sdk/nodejs/alb/getLoadBalancer.ts b/sdk/nodejs/alb/getLoadBalancer.ts index 7bd9f717ad4..b253eafe4f4 100644 --- a/sdk/nodejs/alb/getLoadBalancer.ts +++ b/sdk/nodejs/alb/getLoadBalancer.ts @@ -125,7 +125,7 @@ export interface GetLoadBalancerResult { * }); * ``` */ -export function getLoadBalancerOutput(args?: GetLoadBalancerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLoadBalancerOutput(args?: GetLoadBalancerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:alb/getLoadBalancer:getLoadBalancer", { diff --git a/sdk/nodejs/alb/getTargetGroup.ts b/sdk/nodejs/alb/getTargetGroup.ts index 527c182675d..7c9835a7765 100644 --- a/sdk/nodejs/alb/getTargetGroup.ts +++ b/sdk/nodejs/alb/getTargetGroup.ts @@ -117,7 +117,7 @@ export interface GetTargetGroupResult { * }); * ``` */ -export function getTargetGroupOutput(args?: GetTargetGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getTargetGroupOutput(args?: GetTargetGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:alb/getTargetGroup:getTargetGroup", { diff --git a/sdk/nodejs/amp/getDefaultScraperConfiguration.ts b/sdk/nodejs/amp/getDefaultScraperConfiguration.ts index b9456f56a85..ef399912fbb 100644 --- a/sdk/nodejs/amp/getDefaultScraperConfiguration.ts +++ b/sdk/nodejs/amp/getDefaultScraperConfiguration.ts @@ -47,7 +47,7 @@ export interface GetDefaultScraperConfigurationResult { * const example = aws.amp.getDefaultScraperConfiguration({}); * ``` */ -export function getDefaultScraperConfigurationOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDefaultScraperConfigurationOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:amp/getDefaultScraperConfiguration:getDefaultScraperConfiguration", { }, opts); diff --git a/sdk/nodejs/amp/getWorkspace.ts b/sdk/nodejs/amp/getWorkspace.ts index 997f815ff7b..a6834acedc7 100644 --- a/sdk/nodejs/amp/getWorkspace.ts +++ b/sdk/nodejs/amp/getWorkspace.ts @@ -96,7 +96,7 @@ export interface GetWorkspaceResult { * }); * ``` */ -export function getWorkspaceOutput(args: GetWorkspaceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getWorkspaceOutput(args: GetWorkspaceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:amp/getWorkspace:getWorkspace", { "tags": args.tags, diff --git a/sdk/nodejs/amp/getWorkspaces.ts b/sdk/nodejs/amp/getWorkspaces.ts index 396190d6606..5a49b06dd76 100644 --- a/sdk/nodejs/amp/getWorkspaces.ts +++ b/sdk/nodejs/amp/getWorkspaces.ts @@ -96,7 +96,7 @@ export interface GetWorkspacesResult { * }); * ``` */ -export function getWorkspacesOutput(args?: GetWorkspacesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getWorkspacesOutput(args?: GetWorkspacesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:amp/getWorkspaces:getWorkspaces", { diff --git a/sdk/nodejs/apigateway/getAuthorizer.ts b/sdk/nodejs/apigateway/getAuthorizer.ts index 2e21893e742..e8e44be0f0a 100644 --- a/sdk/nodejs/apigateway/getAuthorizer.ts +++ b/sdk/nodejs/apigateway/getAuthorizer.ts @@ -103,7 +103,7 @@ export interface GetAuthorizerResult { * }); * ``` */ -export function getAuthorizerOutput(args: GetAuthorizerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAuthorizerOutput(args: GetAuthorizerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:apigateway/getAuthorizer:getAuthorizer", { "authorizerId": args.authorizerId, diff --git a/sdk/nodejs/apigateway/getAuthorizers.ts b/sdk/nodejs/apigateway/getAuthorizers.ts index 839da2d7efb..f29a574d0d5 100644 --- a/sdk/nodejs/apigateway/getAuthorizers.ts +++ b/sdk/nodejs/apigateway/getAuthorizers.ts @@ -63,7 +63,7 @@ export interface GetAuthorizersResult { * }); * ``` */ -export function getAuthorizersOutput(args: GetAuthorizersOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAuthorizersOutput(args: GetAuthorizersOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:apigateway/getAuthorizers:getAuthorizers", { "restApiId": args.restApiId, diff --git a/sdk/nodejs/apigateway/getDomainName.ts b/sdk/nodejs/apigateway/getDomainName.ts index 7fad97f6df2..9a063d521d3 100644 --- a/sdk/nodejs/apigateway/getDomainName.ts +++ b/sdk/nodejs/apigateway/getDomainName.ts @@ -119,7 +119,7 @@ export interface GetDomainNameResult { * }); * ``` */ -export function getDomainNameOutput(args: GetDomainNameOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDomainNameOutput(args: GetDomainNameOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:apigateway/getDomainName:getDomainName", { "domainName": args.domainName, diff --git a/sdk/nodejs/apigateway/getExport.ts b/sdk/nodejs/apigateway/getExport.ts index bb7e0525319..5b9befa8a43 100644 --- a/sdk/nodejs/apigateway/getExport.ts +++ b/sdk/nodejs/apigateway/getExport.ts @@ -95,7 +95,7 @@ export interface GetExportResult { * }); * ``` */ -export function getExportOutput(args: GetExportOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getExportOutput(args: GetExportOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:apigateway/getExport:getExport", { "accepts": args.accepts, diff --git a/sdk/nodejs/apigateway/getKey.ts b/sdk/nodejs/apigateway/getKey.ts index 5a11b743b53..7625cf9b1a6 100644 --- a/sdk/nodejs/apigateway/getKey.ts +++ b/sdk/nodejs/apigateway/getKey.ts @@ -98,7 +98,7 @@ export interface GetKeyResult { * }); * ``` */ -export function getKeyOutput(args: GetKeyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getKeyOutput(args: GetKeyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:apigateway/getKey:getKey", { "id": args.id, diff --git a/sdk/nodejs/apigateway/getResource.ts b/sdk/nodejs/apigateway/getResource.ts index fdb94c3bfc1..44ab347485a 100644 --- a/sdk/nodejs/apigateway/getResource.ts +++ b/sdk/nodejs/apigateway/getResource.ts @@ -83,7 +83,7 @@ export interface GetResourceResult { * })); * ``` */ -export function getResourceOutput(args: GetResourceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResourceOutput(args: GetResourceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:apigateway/getResource:getResource", { "path": args.path, diff --git a/sdk/nodejs/apigateway/getRestApi.ts b/sdk/nodejs/apigateway/getRestApi.ts index 47676b37dab..b0e49a417b2 100644 --- a/sdk/nodejs/apigateway/getRestApi.ts +++ b/sdk/nodejs/apigateway/getRestApi.ts @@ -113,7 +113,7 @@ export interface GetRestApiResult { * }); * ``` */ -export function getRestApiOutput(args: GetRestApiOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRestApiOutput(args: GetRestApiOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:apigateway/getRestApi:getRestApi", { "name": args.name, diff --git a/sdk/nodejs/apigateway/getSdk.ts b/sdk/nodejs/apigateway/getSdk.ts index d59ceac1939..5664ad0f625 100644 --- a/sdk/nodejs/apigateway/getSdk.ts +++ b/sdk/nodejs/apigateway/getSdk.ts @@ -101,7 +101,7 @@ export interface GetSdkResult { * }); * ``` */ -export function getSdkOutput(args: GetSdkOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSdkOutput(args: GetSdkOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:apigateway/getSdk:getSdk", { "parameters": args.parameters, diff --git a/sdk/nodejs/apigateway/getVpcLink.ts b/sdk/nodejs/apigateway/getVpcLink.ts index 14b00b14f48..b27834e172e 100644 --- a/sdk/nodejs/apigateway/getVpcLink.ts +++ b/sdk/nodejs/apigateway/getVpcLink.ts @@ -92,7 +92,7 @@ export interface GetVpcLinkResult { * }); * ``` */ -export function getVpcLinkOutput(args: GetVpcLinkOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpcLinkOutput(args: GetVpcLinkOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:apigateway/getVpcLink:getVpcLink", { "name": args.name, diff --git a/sdk/nodejs/apigatewayv2/getApi.ts b/sdk/nodejs/apigatewayv2/getApi.ts index babbe19f2ce..8e27d90a71d 100644 --- a/sdk/nodejs/apigatewayv2/getApi.ts +++ b/sdk/nodejs/apigatewayv2/getApi.ts @@ -119,7 +119,7 @@ export interface GetApiResult { * }); * ``` */ -export function getApiOutput(args: GetApiOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getApiOutput(args: GetApiOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:apigatewayv2/getApi:getApi", { "apiId": args.apiId, diff --git a/sdk/nodejs/apigatewayv2/getApis.ts b/sdk/nodejs/apigatewayv2/getApis.ts index ba35b1ff727..12ca24f28d3 100644 --- a/sdk/nodejs/apigatewayv2/getApis.ts +++ b/sdk/nodejs/apigatewayv2/getApis.ts @@ -77,7 +77,7 @@ export interface GetApisResult { * }); * ``` */ -export function getApisOutput(args?: GetApisOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getApisOutput(args?: GetApisOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:apigatewayv2/getApis:getApis", { diff --git a/sdk/nodejs/apigatewayv2/getExport.ts b/sdk/nodejs/apigatewayv2/getExport.ts index be9508e3f42..6093bcdc27d 100644 --- a/sdk/nodejs/apigatewayv2/getExport.ts +++ b/sdk/nodejs/apigatewayv2/getExport.ts @@ -97,7 +97,7 @@ export interface GetExportResult { * }); * ``` */ -export function getExportOutput(args: GetExportOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getExportOutput(args: GetExportOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:apigatewayv2/getExport:getExport", { "apiId": args.apiId, diff --git a/sdk/nodejs/apigatewayv2/getVpcLink.ts b/sdk/nodejs/apigatewayv2/getVpcLink.ts index 26513d1b51f..284e46309e9 100644 --- a/sdk/nodejs/apigatewayv2/getVpcLink.ts +++ b/sdk/nodejs/apigatewayv2/getVpcLink.ts @@ -88,7 +88,7 @@ export interface GetVpcLinkResult { * }); * ``` */ -export function getVpcLinkOutput(args: GetVpcLinkOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpcLinkOutput(args: GetVpcLinkOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:apigatewayv2/getVpcLink:getVpcLink", { "tags": args.tags, diff --git a/sdk/nodejs/appconfig/getConfigurationProfile.ts b/sdk/nodejs/appconfig/getConfigurationProfile.ts index 57d0b64f799..21bbafce5ee 100644 --- a/sdk/nodejs/appconfig/getConfigurationProfile.ts +++ b/sdk/nodejs/appconfig/getConfigurationProfile.ts @@ -112,7 +112,7 @@ export interface GetConfigurationProfileResult { * }); * ``` */ -export function getConfigurationProfileOutput(args: GetConfigurationProfileOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getConfigurationProfileOutput(args: GetConfigurationProfileOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:appconfig/getConfigurationProfile:getConfigurationProfile", { "applicationId": args.applicationId, diff --git a/sdk/nodejs/appconfig/getConfigurationProfiles.ts b/sdk/nodejs/appconfig/getConfigurationProfiles.ts index eb55438f62d..a47726d738e 100644 --- a/sdk/nodejs/appconfig/getConfigurationProfiles.ts +++ b/sdk/nodejs/appconfig/getConfigurationProfiles.ts @@ -77,7 +77,7 @@ export interface GetConfigurationProfilesResult { * }) }))); * ``` */ -export function getConfigurationProfilesOutput(args: GetConfigurationProfilesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getConfigurationProfilesOutput(args: GetConfigurationProfilesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:appconfig/getConfigurationProfiles:getConfigurationProfiles", { "applicationId": args.applicationId, diff --git a/sdk/nodejs/appconfig/getEnvironment.ts b/sdk/nodejs/appconfig/getEnvironment.ts index a1796e2f3cf..00d052ac48a 100644 --- a/sdk/nodejs/appconfig/getEnvironment.ts +++ b/sdk/nodejs/appconfig/getEnvironment.ts @@ -104,7 +104,7 @@ export interface GetEnvironmentResult { * }); * ``` */ -export function getEnvironmentOutput(args: GetEnvironmentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEnvironmentOutput(args: GetEnvironmentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:appconfig/getEnvironment:getEnvironment", { "applicationId": args.applicationId, diff --git a/sdk/nodejs/appconfig/getEnvironments.ts b/sdk/nodejs/appconfig/getEnvironments.ts index 8299e5cfebe..ca8952917d4 100644 --- a/sdk/nodejs/appconfig/getEnvironments.ts +++ b/sdk/nodejs/appconfig/getEnvironments.ts @@ -69,7 +69,7 @@ export interface GetEnvironmentsResult { * }); * ``` */ -export function getEnvironmentsOutput(args: GetEnvironmentsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEnvironmentsOutput(args: GetEnvironmentsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:appconfig/getEnvironments:getEnvironments", { "applicationId": args.applicationId, diff --git a/sdk/nodejs/appintegrations/getEventIntegration.ts b/sdk/nodejs/appintegrations/getEventIntegration.ts index 8fc2d6cc34f..478cb616dd0 100644 --- a/sdk/nodejs/appintegrations/getEventIntegration.ts +++ b/sdk/nodejs/appintegrations/getEventIntegration.ts @@ -87,7 +87,7 @@ export interface GetEventIntegrationResult { * }); * ``` */ -export function getEventIntegrationOutput(args: GetEventIntegrationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEventIntegrationOutput(args: GetEventIntegrationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:appintegrations/getEventIntegration:getEventIntegration", { "name": args.name, diff --git a/sdk/nodejs/appmesh/getGatewayRoute.ts b/sdk/nodejs/appmesh/getGatewayRoute.ts index 819cb384170..c6700f74272 100644 --- a/sdk/nodejs/appmesh/getGatewayRoute.ts +++ b/sdk/nodejs/appmesh/getGatewayRoute.ts @@ -113,7 +113,7 @@ export interface GetGatewayRouteResult { * }); * ``` */ -export function getGatewayRouteOutput(args: GetGatewayRouteOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getGatewayRouteOutput(args: GetGatewayRouteOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:appmesh/getGatewayRoute:getGatewayRoute", { "meshName": args.meshName, diff --git a/sdk/nodejs/appmesh/getMesh.ts b/sdk/nodejs/appmesh/getMesh.ts index f816ffadcb1..41a275bcea2 100644 --- a/sdk/nodejs/appmesh/getMesh.ts +++ b/sdk/nodejs/appmesh/getMesh.ts @@ -119,7 +119,7 @@ export interface GetMeshResult { * })); * ``` */ -export function getMeshOutput(args: GetMeshOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getMeshOutput(args: GetMeshOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:appmesh/getMesh:getMesh", { "meshOwner": args.meshOwner, diff --git a/sdk/nodejs/appmesh/getRoute.ts b/sdk/nodejs/appmesh/getRoute.ts index 2a2ca9625df..5f48486d425 100644 --- a/sdk/nodejs/appmesh/getRoute.ts +++ b/sdk/nodejs/appmesh/getRoute.ts @@ -87,7 +87,7 @@ export interface GetRouteResult { /** * The App Mesh Route data source allows details of an App Mesh Route to be retrieved by its name, mesh_name, virtual_router_name, and optionally the mesh_owner. */ -export function getRouteOutput(args: GetRouteOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRouteOutput(args: GetRouteOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:appmesh/getRoute:getRoute", { "meshName": args.meshName, diff --git a/sdk/nodejs/appmesh/getVirtualGateway.ts b/sdk/nodejs/appmesh/getVirtualGateway.ts index bced20d4e5d..6e3239eb404 100644 --- a/sdk/nodejs/appmesh/getVirtualGateway.ts +++ b/sdk/nodejs/appmesh/getVirtualGateway.ts @@ -104,7 +104,7 @@ export interface GetVirtualGatewayResult { * }); * ``` */ -export function getVirtualGatewayOutput(args: GetVirtualGatewayOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVirtualGatewayOutput(args: GetVirtualGatewayOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:appmesh/getVirtualGateway:getVirtualGateway", { "meshName": args.meshName, diff --git a/sdk/nodejs/appmesh/getVirtualNode.ts b/sdk/nodejs/appmesh/getVirtualNode.ts index ab659380783..903f4fe4824 100644 --- a/sdk/nodejs/appmesh/getVirtualNode.ts +++ b/sdk/nodejs/appmesh/getVirtualNode.ts @@ -105,7 +105,7 @@ export interface GetVirtualNodeResult { * }); * ``` */ -export function getVirtualNodeOutput(args: GetVirtualNodeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVirtualNodeOutput(args: GetVirtualNodeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:appmesh/getVirtualNode:getVirtualNode", { "meshName": args.meshName, diff --git a/sdk/nodejs/appmesh/getVirtualRouter.ts b/sdk/nodejs/appmesh/getVirtualRouter.ts index e42ae0d8ec3..a52308be101 100644 --- a/sdk/nodejs/appmesh/getVirtualRouter.ts +++ b/sdk/nodejs/appmesh/getVirtualRouter.ts @@ -102,7 +102,7 @@ export interface GetVirtualRouterResult { * }); * ``` */ -export function getVirtualRouterOutput(args: GetVirtualRouterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVirtualRouterOutput(args: GetVirtualRouterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:appmesh/getVirtualRouter:getVirtualRouter", { "meshName": args.meshName, diff --git a/sdk/nodejs/appmesh/getVirtualService.ts b/sdk/nodejs/appmesh/getVirtualService.ts index e63ef4ee374..9c5118d1da4 100644 --- a/sdk/nodejs/appmesh/getVirtualService.ts +++ b/sdk/nodejs/appmesh/getVirtualService.ts @@ -129,7 +129,7 @@ export interface GetVirtualServiceResult { * })); * ``` */ -export function getVirtualServiceOutput(args: GetVirtualServiceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVirtualServiceOutput(args: GetVirtualServiceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:appmesh/getVirtualService:getVirtualService", { "meshName": args.meshName, diff --git a/sdk/nodejs/apprunner/getHostedZoneId.ts b/sdk/nodejs/apprunner/getHostedZoneId.ts index 5fa7dfda865..f9f4a46fa66 100644 --- a/sdk/nodejs/apprunner/getHostedZoneId.ts +++ b/sdk/nodejs/apprunner/getHostedZoneId.ts @@ -79,7 +79,7 @@ export interface GetHostedZoneIdResult { * }); * ``` */ -export function getHostedZoneIdOutput(args?: GetHostedZoneIdOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getHostedZoneIdOutput(args?: GetHostedZoneIdOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:apprunner/getHostedZoneId:getHostedZoneId", { diff --git a/sdk/nodejs/appstream/getImage.ts b/sdk/nodejs/appstream/getImage.ts index 8c82688a054..7ba7b748604 100644 --- a/sdk/nodejs/appstream/getImage.ts +++ b/sdk/nodejs/appstream/getImage.ts @@ -112,7 +112,7 @@ export interface GetImageResult { /** * Data source for managing an AWS AppStream 2.0 Image. */ -export function getImageOutput(args?: GetImageOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getImageOutput(args?: GetImageOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:appstream/getImage:getImage", { diff --git a/sdk/nodejs/athena/getNamedQuery.ts b/sdk/nodejs/athena/getNamedQuery.ts index 8257c9a8865..505ab3dafe8 100644 --- a/sdk/nodejs/athena/getNamedQuery.ts +++ b/sdk/nodejs/athena/getNamedQuery.ts @@ -74,7 +74,7 @@ export interface GetNamedQueryResult { * }); * ``` */ -export function getNamedQueryOutput(args: GetNamedQueryOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getNamedQueryOutput(args: GetNamedQueryOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:athena/getNamedQuery:getNamedQuery", { "name": args.name, diff --git a/sdk/nodejs/auditmanager/getControl.ts b/sdk/nodejs/auditmanager/getControl.ts index 06080ff5c4e..b3a37f7e1ba 100644 --- a/sdk/nodejs/auditmanager/getControl.ts +++ b/sdk/nodejs/auditmanager/getControl.ts @@ -146,7 +146,7 @@ export interface GetControlResult { * }); * ``` */ -export function getControlOutput(args: GetControlOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getControlOutput(args: GetControlOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:auditmanager/getControl:getControl", { "controlMappingSources": args.controlMappingSources, diff --git a/sdk/nodejs/auditmanager/getFramework.ts b/sdk/nodejs/auditmanager/getFramework.ts index 47bda47600e..6d7d453bf29 100644 --- a/sdk/nodejs/auditmanager/getFramework.ts +++ b/sdk/nodejs/auditmanager/getFramework.ts @@ -75,7 +75,7 @@ export interface GetFrameworkResult { * }); * ``` */ -export function getFrameworkOutput(args: GetFrameworkOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getFrameworkOutput(args: GetFrameworkOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:auditmanager/getFramework:getFramework", { "controlSets": args.controlSets, diff --git a/sdk/nodejs/autoscaling/getAmiIds.ts b/sdk/nodejs/autoscaling/getAmiIds.ts index 8c87a51e882..04a0b005cc2 100644 --- a/sdk/nodejs/autoscaling/getAmiIds.ts +++ b/sdk/nodejs/autoscaling/getAmiIds.ts @@ -116,7 +116,7 @@ export interface GetAmiIdsResult { * }); * ``` */ -export function getAmiIdsOutput(args?: GetAmiIdsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAmiIdsOutput(args?: GetAmiIdsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:autoscaling/getAmiIds:getAmiIds", { diff --git a/sdk/nodejs/autoscaling/getGroup.ts b/sdk/nodejs/autoscaling/getGroup.ts index 2fc9951afbe..ba85a857074 100644 --- a/sdk/nodejs/autoscaling/getGroup.ts +++ b/sdk/nodejs/autoscaling/getGroup.ts @@ -175,7 +175,7 @@ export interface GetGroupResult { * }); * ``` */ -export function getGroupOutput(args: GetGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getGroupOutput(args: GetGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:autoscaling/getGroup:getGroup", { "name": args.name, diff --git a/sdk/nodejs/backup/getFramework.ts b/sdk/nodejs/backup/getFramework.ts index 4295a23e67f..2bb8207d7eb 100644 --- a/sdk/nodejs/backup/getFramework.ts +++ b/sdk/nodejs/backup/getFramework.ts @@ -98,7 +98,7 @@ export interface GetFrameworkResult { * }); * ``` */ -export function getFrameworkOutput(args: GetFrameworkOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getFrameworkOutput(args: GetFrameworkOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:backup/getFramework:getFramework", { "name": args.name, diff --git a/sdk/nodejs/backup/getPlan.ts b/sdk/nodejs/backup/getPlan.ts index 71601423da1..8a36201e519 100644 --- a/sdk/nodejs/backup/getPlan.ts +++ b/sdk/nodejs/backup/getPlan.ts @@ -87,7 +87,7 @@ export interface GetPlanResult { * }); * ``` */ -export function getPlanOutput(args: GetPlanOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPlanOutput(args: GetPlanOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:backup/getPlan:getPlan", { "planId": args.planId, diff --git a/sdk/nodejs/backup/getReportPlan.ts b/sdk/nodejs/backup/getReportPlan.ts index bc5e0326847..35dfa1f1d6d 100644 --- a/sdk/nodejs/backup/getReportPlan.ts +++ b/sdk/nodejs/backup/getReportPlan.ts @@ -95,7 +95,7 @@ export interface GetReportPlanResult { * }); * ``` */ -export function getReportPlanOutput(args: GetReportPlanOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getReportPlanOutput(args: GetReportPlanOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:backup/getReportPlan:getReportPlan", { "name": args.name, diff --git a/sdk/nodejs/backup/getSelection.ts b/sdk/nodejs/backup/getSelection.ts index afadd74587b..e9b7cde3628 100644 --- a/sdk/nodejs/backup/getSelection.ts +++ b/sdk/nodejs/backup/getSelection.ts @@ -79,7 +79,7 @@ export interface GetSelectionResult { * }); * ``` */ -export function getSelectionOutput(args: GetSelectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSelectionOutput(args: GetSelectionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:backup/getSelection:getSelection", { "planId": args.planId, diff --git a/sdk/nodejs/backup/getVault.ts b/sdk/nodejs/backup/getVault.ts index 08950bedbdc..8bb923e9ed1 100644 --- a/sdk/nodejs/backup/getVault.ts +++ b/sdk/nodejs/backup/getVault.ts @@ -80,7 +80,7 @@ export interface GetVaultResult { * }); * ``` */ -export function getVaultOutput(args: GetVaultOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVaultOutput(args: GetVaultOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:backup/getVault:getVault", { "name": args.name, diff --git a/sdk/nodejs/batch/getComputeEnvironment.ts b/sdk/nodejs/batch/getComputeEnvironment.ts index e7c0e793e92..30adce34a06 100644 --- a/sdk/nodejs/batch/getComputeEnvironment.ts +++ b/sdk/nodejs/batch/getComputeEnvironment.ts @@ -105,7 +105,7 @@ export interface GetComputeEnvironmentResult { * }); * ``` */ -export function getComputeEnvironmentOutput(args: GetComputeEnvironmentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getComputeEnvironmentOutput(args: GetComputeEnvironmentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:batch/getComputeEnvironment:getComputeEnvironment", { "computeEnvironmentName": args.computeEnvironmentName, diff --git a/sdk/nodejs/batch/getJobDefinition.ts b/sdk/nodejs/batch/getJobDefinition.ts index 549c043d971..7647f38144b 100644 --- a/sdk/nodejs/batch/getJobDefinition.ts +++ b/sdk/nodejs/batch/getJobDefinition.ts @@ -142,7 +142,7 @@ export interface GetJobDefinitionResult { * }); * ``` */ -export function getJobDefinitionOutput(args?: GetJobDefinitionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getJobDefinitionOutput(args?: GetJobDefinitionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:batch/getJobDefinition:getJobDefinition", { diff --git a/sdk/nodejs/batch/getJobQueue.ts b/sdk/nodejs/batch/getJobQueue.ts index fe14c865621..54d40191468 100644 --- a/sdk/nodejs/batch/getJobQueue.ts +++ b/sdk/nodejs/batch/getJobQueue.ts @@ -114,7 +114,7 @@ export interface GetJobQueueResult { * }); * ``` */ -export function getJobQueueOutput(args: GetJobQueueOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getJobQueueOutput(args: GetJobQueueOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:batch/getJobQueue:getJobQueue", { "name": args.name, diff --git a/sdk/nodejs/batch/getSchedulingPolicy.ts b/sdk/nodejs/batch/getSchedulingPolicy.ts index 744eb0d23d3..ad46d773da9 100644 --- a/sdk/nodejs/batch/getSchedulingPolicy.ts +++ b/sdk/nodejs/batch/getSchedulingPolicy.ts @@ -76,7 +76,7 @@ export interface GetSchedulingPolicyResult { * }); * ``` */ -export function getSchedulingPolicyOutput(args: GetSchedulingPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSchedulingPolicyOutput(args: GetSchedulingPolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:batch/getSchedulingPolicy:getSchedulingPolicy", { "arn": args.arn, diff --git a/sdk/nodejs/bedrock/getAgentAgentVersions.ts b/sdk/nodejs/bedrock/getAgentAgentVersions.ts index b39e2a23182..048c54e8ac4 100644 --- a/sdk/nodejs/bedrock/getAgentAgentVersions.ts +++ b/sdk/nodejs/bedrock/getAgentAgentVersions.ts @@ -75,7 +75,7 @@ export interface GetAgentAgentVersionsResult { * }); * ``` */ -export function getAgentAgentVersionsOutput(args: GetAgentAgentVersionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAgentAgentVersionsOutput(args: GetAgentAgentVersionsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:bedrock/getAgentAgentVersions:getAgentAgentVersions", { "agentId": args.agentId, diff --git a/sdk/nodejs/bedrock/getCustomModel.ts b/sdk/nodejs/bedrock/getCustomModel.ts index 45f4a3d9d2d..a61df6178cf 100644 --- a/sdk/nodejs/bedrock/getCustomModel.ts +++ b/sdk/nodejs/bedrock/getCustomModel.ts @@ -119,7 +119,7 @@ export interface GetCustomModelResult { * }); * ``` */ -export function getCustomModelOutput(args: GetCustomModelOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCustomModelOutput(args: GetCustomModelOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:bedrock/getCustomModel:getCustomModel", { "modelId": args.modelId, diff --git a/sdk/nodejs/bedrock/getCustomModels.ts b/sdk/nodejs/bedrock/getCustomModels.ts index e7211a63e74..99a9f5cb55e 100644 --- a/sdk/nodejs/bedrock/getCustomModels.ts +++ b/sdk/nodejs/bedrock/getCustomModels.ts @@ -47,7 +47,7 @@ export interface GetCustomModelsResult { * const test = aws.bedrock.getCustomModels({}); * ``` */ -export function getCustomModelsOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCustomModelsOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:bedrock/getCustomModels:getCustomModels", { }, opts); diff --git a/sdk/nodejs/bedrock/getInferenceProfile.ts b/sdk/nodejs/bedrock/getInferenceProfile.ts index 8e8b7e05657..252949f8752 100644 --- a/sdk/nodejs/bedrock/getInferenceProfile.ts +++ b/sdk/nodejs/bedrock/getInferenceProfile.ts @@ -100,7 +100,7 @@ export interface GetInferenceProfileResult { * })); * ``` */ -export function getInferenceProfileOutput(args: GetInferenceProfileOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInferenceProfileOutput(args: GetInferenceProfileOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:bedrock/getInferenceProfile:getInferenceProfile", { "inferenceProfileId": args.inferenceProfileId, diff --git a/sdk/nodejs/bedrock/getInferenceProfiles.ts b/sdk/nodejs/bedrock/getInferenceProfiles.ts index 1c39469c240..341ad681244 100644 --- a/sdk/nodejs/bedrock/getInferenceProfiles.ts +++ b/sdk/nodejs/bedrock/getInferenceProfiles.ts @@ -54,7 +54,7 @@ export interface GetInferenceProfilesResult { * const test = aws.bedrock.getInferenceProfiles({}); * ``` */ -export function getInferenceProfilesOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInferenceProfilesOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:bedrock/getInferenceProfiles:getInferenceProfiles", { }, opts); diff --git a/sdk/nodejs/bedrockfoundation/getModel.ts b/sdk/nodejs/bedrockfoundation/getModel.ts index e89aa56f816..f7ace5c7af3 100644 --- a/sdk/nodejs/bedrockfoundation/getModel.ts +++ b/sdk/nodejs/bedrockfoundation/getModel.ts @@ -94,7 +94,7 @@ export interface GetModelResult { * })); * ``` */ -export function getModelOutput(args: GetModelOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getModelOutput(args: GetModelOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:bedrockfoundation/getModel:getModel", { "modelId": args.modelId, diff --git a/sdk/nodejs/bedrockfoundation/getModels.ts b/sdk/nodejs/bedrockfoundation/getModels.ts index d2f1e5d558a..3ef10ab62e9 100644 --- a/sdk/nodejs/bedrockfoundation/getModels.ts +++ b/sdk/nodejs/bedrockfoundation/getModels.ts @@ -107,7 +107,7 @@ export interface GetModelsResult { * }); * ``` */ -export function getModelsOutput(args?: GetModelsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getModelsOutput(args?: GetModelsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:bedrockfoundation/getModels:getModels", { diff --git a/sdk/nodejs/budgets/getBudget.ts b/sdk/nodejs/budgets/getBudget.ts index 2b2b3e82dff..82a54f20961 100644 --- a/sdk/nodejs/budgets/getBudget.ts +++ b/sdk/nodejs/budgets/getBudget.ts @@ -138,7 +138,7 @@ export interface GetBudgetResult { * }); * ``` */ -export function getBudgetOutput(args: GetBudgetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getBudgetOutput(args: GetBudgetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:budgets/getBudget:getBudget", { "accountId": args.accountId, diff --git a/sdk/nodejs/chatbot/getSlackWorkspace.ts b/sdk/nodejs/chatbot/getSlackWorkspace.ts index 63c88d0c74b..fb145334415 100644 --- a/sdk/nodejs/chatbot/getSlackWorkspace.ts +++ b/sdk/nodejs/chatbot/getSlackWorkspace.ts @@ -67,7 +67,7 @@ export interface GetSlackWorkspaceResult { * }); * ``` */ -export function getSlackWorkspaceOutput(args: GetSlackWorkspaceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSlackWorkspaceOutput(args: GetSlackWorkspaceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:chatbot/getSlackWorkspace:getSlackWorkspace", { "slackTeamName": args.slackTeamName, diff --git a/sdk/nodejs/cloudcontrol/getResource.ts b/sdk/nodejs/cloudcontrol/getResource.ts index e1426f1fc70..eb145205b1d 100644 --- a/sdk/nodejs/cloudcontrol/getResource.ts +++ b/sdk/nodejs/cloudcontrol/getResource.ts @@ -85,7 +85,7 @@ export interface GetResourceResult { * }); * ``` */ -export function getResourceOutput(args: GetResourceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResourceOutput(args: GetResourceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudcontrol/getResource:getResource", { "identifier": args.identifier, diff --git a/sdk/nodejs/cloudformation/getCloudFormationType.ts b/sdk/nodejs/cloudformation/getCloudFormationType.ts index 1e91d8bc324..52e65f98c40 100644 --- a/sdk/nodejs/cloudformation/getCloudFormationType.ts +++ b/sdk/nodejs/cloudformation/getCloudFormationType.ts @@ -128,7 +128,7 @@ export interface GetCloudFormationTypeResult { * }); * ``` */ -export function getCloudFormationTypeOutput(args?: GetCloudFormationTypeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCloudFormationTypeOutput(args?: GetCloudFormationTypeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudformation/getCloudFormationType:getCloudFormationType", { diff --git a/sdk/nodejs/cloudformation/getExport.ts b/sdk/nodejs/cloudformation/getExport.ts index ee593a25c3e..add87474e35 100644 --- a/sdk/nodejs/cloudformation/getExport.ts +++ b/sdk/nodejs/cloudformation/getExport.ts @@ -83,7 +83,7 @@ export interface GetExportResult { * }); * ``` */ -export function getExportOutput(args: GetExportOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getExportOutput(args: GetExportOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudformation/getExport:getExport", { "name": args.name, diff --git a/sdk/nodejs/cloudformation/getStack.ts b/sdk/nodejs/cloudformation/getStack.ts index a0833e13fb1..74097348e6a 100644 --- a/sdk/nodejs/cloudformation/getStack.ts +++ b/sdk/nodejs/cloudformation/getStack.ts @@ -122,7 +122,7 @@ export interface GetStackResult { * }); * ``` */ -export function getStackOutput(args: GetStackOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getStackOutput(args: GetStackOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudformation/getStack:getStack", { "name": args.name, diff --git a/sdk/nodejs/cloudfront/getCachePolicy.ts b/sdk/nodejs/cloudfront/getCachePolicy.ts index 4598a261de3..238e2e0492b 100644 --- a/sdk/nodejs/cloudfront/getCachePolicy.ts +++ b/sdk/nodejs/cloudfront/getCachePolicy.ts @@ -119,7 +119,7 @@ export interface GetCachePolicyResult { * }); * ``` */ -export function getCachePolicyOutput(args?: GetCachePolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCachePolicyOutput(args?: GetCachePolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudfront/getCachePolicy:getCachePolicy", { diff --git a/sdk/nodejs/cloudfront/getDistribution.ts b/sdk/nodejs/cloudfront/getDistribution.ts index e34992a8004..36e3f6619b0 100644 --- a/sdk/nodejs/cloudfront/getDistribution.ts +++ b/sdk/nodejs/cloudfront/getDistribution.ts @@ -105,7 +105,7 @@ export interface GetDistributionResult { * }); * ``` */ -export function getDistributionOutput(args: GetDistributionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDistributionOutput(args: GetDistributionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudfront/getDistribution:getDistribution", { "id": args.id, diff --git a/sdk/nodejs/cloudfront/getFunction.ts b/sdk/nodejs/cloudfront/getFunction.ts index eb02eed3767..4492d818ced 100644 --- a/sdk/nodejs/cloudfront/getFunction.ts +++ b/sdk/nodejs/cloudfront/getFunction.ts @@ -101,7 +101,7 @@ export interface GetFunctionResult { * }); * ``` */ -export function getFunctionOutput(args: GetFunctionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getFunctionOutput(args: GetFunctionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudfront/getFunction:getFunction", { "name": args.name, diff --git a/sdk/nodejs/cloudfront/getLogDeliveryCanonicalUserId.ts b/sdk/nodejs/cloudfront/getLogDeliveryCanonicalUserId.ts index 2586cc6d42a..f60bb79a294 100644 --- a/sdk/nodejs/cloudfront/getLogDeliveryCanonicalUserId.ts +++ b/sdk/nodejs/cloudfront/getLogDeliveryCanonicalUserId.ts @@ -108,7 +108,7 @@ export interface GetLogDeliveryCanonicalUserIdResult { * }); * ``` */ -export function getLogDeliveryCanonicalUserIdOutput(args?: GetLogDeliveryCanonicalUserIdOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLogDeliveryCanonicalUserIdOutput(args?: GetLogDeliveryCanonicalUserIdOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudfront/getLogDeliveryCanonicalUserId:getLogDeliveryCanonicalUserId", { diff --git a/sdk/nodejs/cloudfront/getOriginAccessControl.ts b/sdk/nodejs/cloudfront/getOriginAccessControl.ts index 163409fbd80..b5648aafc89 100644 --- a/sdk/nodejs/cloudfront/getOriginAccessControl.ts +++ b/sdk/nodejs/cloudfront/getOriginAccessControl.ts @@ -83,7 +83,7 @@ export interface GetOriginAccessControlResult { * }); * ``` */ -export function getOriginAccessControlOutput(args: GetOriginAccessControlOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOriginAccessControlOutput(args: GetOriginAccessControlOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudfront/getOriginAccessControl:getOriginAccessControl", { "id": args.id, diff --git a/sdk/nodejs/cloudfront/getOriginAccessIdentities.ts b/sdk/nodejs/cloudfront/getOriginAccessIdentities.ts index d0c6d20c76d..e1c2c0629c1 100644 --- a/sdk/nodejs/cloudfront/getOriginAccessIdentities.ts +++ b/sdk/nodejs/cloudfront/getOriginAccessIdentities.ts @@ -104,7 +104,7 @@ export interface GetOriginAccessIdentitiesResult { * }); * ``` */ -export function getOriginAccessIdentitiesOutput(args?: GetOriginAccessIdentitiesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOriginAccessIdentitiesOutput(args?: GetOriginAccessIdentitiesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities", { diff --git a/sdk/nodejs/cloudfront/getOriginAccessIdentity.ts b/sdk/nodejs/cloudfront/getOriginAccessIdentity.ts index f8476a5e404..20413b16ce8 100644 --- a/sdk/nodejs/cloudfront/getOriginAccessIdentity.ts +++ b/sdk/nodejs/cloudfront/getOriginAccessIdentity.ts @@ -90,7 +90,7 @@ export interface GetOriginAccessIdentityResult { * }); * ``` */ -export function getOriginAccessIdentityOutput(args: GetOriginAccessIdentityOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOriginAccessIdentityOutput(args: GetOriginAccessIdentityOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity", { "id": args.id, diff --git a/sdk/nodejs/cloudfront/getOriginRequestPolicy.ts b/sdk/nodejs/cloudfront/getOriginRequestPolicy.ts index 11b9d67d908..1cea7f619f5 100644 --- a/sdk/nodejs/cloudfront/getOriginRequestPolicy.ts +++ b/sdk/nodejs/cloudfront/getOriginRequestPolicy.ts @@ -111,7 +111,7 @@ export interface GetOriginRequestPolicyResult { * }); * ``` */ -export function getOriginRequestPolicyOutput(args?: GetOriginRequestPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOriginRequestPolicyOutput(args?: GetOriginRequestPolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudfront/getOriginRequestPolicy:getOriginRequestPolicy", { diff --git a/sdk/nodejs/cloudfront/getRealtimeLogConfig.ts b/sdk/nodejs/cloudfront/getRealtimeLogConfig.ts index a3c9ee7df71..50644cb24fa 100644 --- a/sdk/nodejs/cloudfront/getRealtimeLogConfig.ts +++ b/sdk/nodejs/cloudfront/getRealtimeLogConfig.ts @@ -78,7 +78,7 @@ export interface GetRealtimeLogConfigResult { * }); * ``` */ -export function getRealtimeLogConfigOutput(args: GetRealtimeLogConfigOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRealtimeLogConfigOutput(args: GetRealtimeLogConfigOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudfront/getRealtimeLogConfig:getRealtimeLogConfig", { "name": args.name, diff --git a/sdk/nodejs/cloudfront/getResponseHeadersPolicy.ts b/sdk/nodejs/cloudfront/getResponseHeadersPolicy.ts index 32f3245707d..5ba745bbec4 100644 --- a/sdk/nodejs/cloudfront/getResponseHeadersPolicy.ts +++ b/sdk/nodejs/cloudfront/getResponseHeadersPolicy.ts @@ -123,7 +123,7 @@ export interface GetResponseHeadersPolicyResult { * }); * ``` */ -export function getResponseHeadersPolicyOutput(args?: GetResponseHeadersPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResponseHeadersPolicyOutput(args?: GetResponseHeadersPolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudfront/getResponseHeadersPolicy:getResponseHeadersPolicy", { diff --git a/sdk/nodejs/cloudhsmv2/getCluster.ts b/sdk/nodejs/cloudhsmv2/getCluster.ts index 1bba94ab713..56ae133b543 100644 --- a/sdk/nodejs/cloudhsmv2/getCluster.ts +++ b/sdk/nodejs/cloudhsmv2/getCluster.ts @@ -84,7 +84,7 @@ export interface GetClusterResult { * }); * ``` */ -export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudhsmv2/getCluster:getCluster", { "clusterId": args.clusterId, diff --git a/sdk/nodejs/cloudtrail/getServiceAccount.ts b/sdk/nodejs/cloudtrail/getServiceAccount.ts index e2c6f3e28e4..f1418c2466a 100644 --- a/sdk/nodejs/cloudtrail/getServiceAccount.ts +++ b/sdk/nodejs/cloudtrail/getServiceAccount.ts @@ -131,7 +131,7 @@ export interface GetServiceAccountResult { * }); * ``` */ -export function getServiceAccountOutput(args?: GetServiceAccountOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServiceAccountOutput(args?: GetServiceAccountOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudtrail/getServiceAccount:getServiceAccount", { diff --git a/sdk/nodejs/cloudwatch/getEventBus.ts b/sdk/nodejs/cloudwatch/getEventBus.ts index 7f3a5d619b5..566b503a27f 100644 --- a/sdk/nodejs/cloudwatch/getEventBus.ts +++ b/sdk/nodejs/cloudwatch/getEventBus.ts @@ -75,7 +75,7 @@ export interface GetEventBusResult { * }); * ``` */ -export function getEventBusOutput(args: GetEventBusOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEventBusOutput(args: GetEventBusOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudwatch/getEventBus:getEventBus", { "name": args.name, diff --git a/sdk/nodejs/cloudwatch/getEventConnection.ts b/sdk/nodejs/cloudwatch/getEventConnection.ts index 84f1aa2ffb5..cdd2a239e6f 100644 --- a/sdk/nodejs/cloudwatch/getEventConnection.ts +++ b/sdk/nodejs/cloudwatch/getEventConnection.ts @@ -78,7 +78,7 @@ export interface GetEventConnectionResult { * }); * ``` */ -export function getEventConnectionOutput(args: GetEventConnectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEventConnectionOutput(args: GetEventConnectionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudwatch/getEventConnection:getEventConnection", { "name": args.name, diff --git a/sdk/nodejs/cloudwatch/getEventSource.ts b/sdk/nodejs/cloudwatch/getEventSource.ts index 51768fe5413..6b46adec011 100644 --- a/sdk/nodejs/cloudwatch/getEventSource.ts +++ b/sdk/nodejs/cloudwatch/getEventSource.ts @@ -80,7 +80,7 @@ export interface GetEventSourceResult { * }); * ``` */ -export function getEventSourceOutput(args?: GetEventSourceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEventSourceOutput(args?: GetEventSourceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudwatch/getEventSource:getEventSource", { diff --git a/sdk/nodejs/cloudwatch/getLogDataProtectionPolicyDocument.ts b/sdk/nodejs/cloudwatch/getLogDataProtectionPolicyDocument.ts index 49fa9f95219..3a9198be922 100644 --- a/sdk/nodejs/cloudwatch/getLogDataProtectionPolicyDocument.ts +++ b/sdk/nodejs/cloudwatch/getLogDataProtectionPolicyDocument.ts @@ -166,7 +166,7 @@ export interface GetLogDataProtectionPolicyDocumentResult { * }); * ``` */ -export function getLogDataProtectionPolicyDocumentOutput(args: GetLogDataProtectionPolicyDocumentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLogDataProtectionPolicyDocumentOutput(args: GetLogDataProtectionPolicyDocumentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudwatch/getLogDataProtectionPolicyDocument:getLogDataProtectionPolicyDocument", { "description": args.description, diff --git a/sdk/nodejs/cloudwatch/getLogGroup.ts b/sdk/nodejs/cloudwatch/getLogGroup.ts index 2a2ed91ca87..f4816f310fa 100644 --- a/sdk/nodejs/cloudwatch/getLogGroup.ts +++ b/sdk/nodejs/cloudwatch/getLogGroup.ts @@ -88,7 +88,7 @@ export interface GetLogGroupResult { * }); * ``` */ -export function getLogGroupOutput(args: GetLogGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLogGroupOutput(args: GetLogGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudwatch/getLogGroup:getLogGroup", { "name": args.name, diff --git a/sdk/nodejs/cloudwatch/getLogGroups.ts b/sdk/nodejs/cloudwatch/getLogGroups.ts index d096894a88a..6386136263c 100644 --- a/sdk/nodejs/cloudwatch/getLogGroups.ts +++ b/sdk/nodejs/cloudwatch/getLogGroups.ts @@ -68,7 +68,7 @@ export interface GetLogGroupsResult { * }); * ``` */ -export function getLogGroupsOutput(args?: GetLogGroupsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLogGroupsOutput(args?: GetLogGroupsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cloudwatch/getLogGroups:getLogGroups", { diff --git a/sdk/nodejs/codeartifact/getAuthorizationToken.ts b/sdk/nodejs/codeartifact/getAuthorizationToken.ts index 8aef5aa7382..be6410824e9 100644 --- a/sdk/nodejs/codeartifact/getAuthorizationToken.ts +++ b/sdk/nodejs/codeartifact/getAuthorizationToken.ts @@ -79,7 +79,7 @@ export interface GetAuthorizationTokenResult { * }); * ``` */ -export function getAuthorizationTokenOutput(args: GetAuthorizationTokenOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAuthorizationTokenOutput(args: GetAuthorizationTokenOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:codeartifact/getAuthorizationToken:getAuthorizationToken", { "domain": args.domain, diff --git a/sdk/nodejs/codeartifact/getRepositoryEndpoint.ts b/sdk/nodejs/codeartifact/getRepositoryEndpoint.ts index 87fcc626e2a..e087c952ef2 100644 --- a/sdk/nodejs/codeartifact/getRepositoryEndpoint.ts +++ b/sdk/nodejs/codeartifact/getRepositoryEndpoint.ts @@ -85,7 +85,7 @@ export interface GetRepositoryEndpointResult { * }); * ``` */ -export function getRepositoryEndpointOutput(args: GetRepositoryEndpointOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRepositoryEndpointOutput(args: GetRepositoryEndpointOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:codeartifact/getRepositoryEndpoint:getRepositoryEndpoint", { "domain": args.domain, diff --git a/sdk/nodejs/codebuild/getFleet.ts b/sdk/nodejs/codebuild/getFleet.ts index 2447a26065c..cc75c5da886 100644 --- a/sdk/nodejs/codebuild/getFleet.ts +++ b/sdk/nodejs/codebuild/getFleet.ts @@ -171,7 +171,7 @@ export interface GetFleetResult { * }); * ``` */ -export function getFleetOutput(args: GetFleetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getFleetOutput(args: GetFleetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:codebuild/getFleet:getFleet", { "name": args.name, diff --git a/sdk/nodejs/codecatalyst/getDevEnvironment.ts b/sdk/nodejs/codecatalyst/getDevEnvironment.ts index 9f19281b73a..36237e30967 100644 --- a/sdk/nodejs/codecatalyst/getDevEnvironment.ts +++ b/sdk/nodejs/codecatalyst/getDevEnvironment.ts @@ -140,7 +140,7 @@ export interface GetDevEnvironmentResult { * }); * ``` */ -export function getDevEnvironmentOutput(args: GetDevEnvironmentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDevEnvironmentOutput(args: GetDevEnvironmentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:codecatalyst/getDevEnvironment:getDevEnvironment", { "alias": args.alias, diff --git a/sdk/nodejs/codecommit/getApprovalRuleTemplate.ts b/sdk/nodejs/codecommit/getApprovalRuleTemplate.ts index 998d8c73bda..74efeb22ec2 100644 --- a/sdk/nodejs/codecommit/getApprovalRuleTemplate.ts +++ b/sdk/nodejs/codecommit/getApprovalRuleTemplate.ts @@ -87,7 +87,7 @@ export interface GetApprovalRuleTemplateResult { * }); * ``` */ -export function getApprovalRuleTemplateOutput(args: GetApprovalRuleTemplateOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getApprovalRuleTemplateOutput(args: GetApprovalRuleTemplateOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:codecommit/getApprovalRuleTemplate:getApprovalRuleTemplate", { "name": args.name, diff --git a/sdk/nodejs/codecommit/getRepository.ts b/sdk/nodejs/codecommit/getRepository.ts index 6040a0c184f..749e4612956 100644 --- a/sdk/nodejs/codecommit/getRepository.ts +++ b/sdk/nodejs/codecommit/getRepository.ts @@ -79,7 +79,7 @@ export interface GetRepositoryResult { * }); * ``` */ -export function getRepositoryOutput(args: GetRepositoryOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRepositoryOutput(args: GetRepositoryOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:codecommit/getRepository:getRepository", { "repositoryName": args.repositoryName, diff --git a/sdk/nodejs/codeguruprofiler/getProfilingGroup.ts b/sdk/nodejs/codeguruprofiler/getProfilingGroup.ts index 5bf4aab4e30..1868697d6c4 100644 --- a/sdk/nodejs/codeguruprofiler/getProfilingGroup.ts +++ b/sdk/nodejs/codeguruprofiler/getProfilingGroup.ts @@ -91,7 +91,7 @@ export interface GetProfilingGroupResult { * }); * ``` */ -export function getProfilingGroupOutput(args: GetProfilingGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getProfilingGroupOutput(args: GetProfilingGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:codeguruprofiler/getProfilingGroup:getProfilingGroup", { "name": args.name, diff --git a/sdk/nodejs/codestarconnections/getConnection.ts b/sdk/nodejs/codestarconnections/getConnection.ts index e3d23e6ddc2..21068be5c59 100644 --- a/sdk/nodejs/codestarconnections/getConnection.ts +++ b/sdk/nodejs/codestarconnections/getConnection.ts @@ -118,7 +118,7 @@ export interface GetConnectionResult { * }); * ``` */ -export function getConnectionOutput(args?: GetConnectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getConnectionOutput(args?: GetConnectionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:codestarconnections/getConnection:getConnection", { diff --git a/sdk/nodejs/cognito/getIdentityPool.ts b/sdk/nodejs/cognito/getIdentityPool.ts index 4aa1f06ed02..11b5b9fdd25 100644 --- a/sdk/nodejs/cognito/getIdentityPool.ts +++ b/sdk/nodejs/cognito/getIdentityPool.ts @@ -107,7 +107,7 @@ export interface GetIdentityPoolResult { * }); * ``` */ -export function getIdentityPoolOutput(args: GetIdentityPoolOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getIdentityPoolOutput(args: GetIdentityPoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cognito/getIdentityPool:getIdentityPool", { "identityPoolName": args.identityPoolName, diff --git a/sdk/nodejs/cognito/getUserGroup.ts b/sdk/nodejs/cognito/getUserGroup.ts index 45ceaa60c26..23f6816770b 100644 --- a/sdk/nodejs/cognito/getUserGroup.ts +++ b/sdk/nodejs/cognito/getUserGroup.ts @@ -83,7 +83,7 @@ export interface GetUserGroupResult { * }); * ``` */ -export function getUserGroupOutput(args: GetUserGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getUserGroupOutput(args: GetUserGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cognito/getUserGroup:getUserGroup", { "name": args.name, diff --git a/sdk/nodejs/cognito/getUserGroups.ts b/sdk/nodejs/cognito/getUserGroups.ts index 08e720845db..56b86328ebf 100644 --- a/sdk/nodejs/cognito/getUserGroups.ts +++ b/sdk/nodejs/cognito/getUserGroups.ts @@ -70,7 +70,7 @@ export interface GetUserGroupsResult { * }); * ``` */ -export function getUserGroupsOutput(args: GetUserGroupsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getUserGroupsOutput(args: GetUserGroupsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cognito/getUserGroups:getUserGroups", { "userPoolId": args.userPoolId, diff --git a/sdk/nodejs/cognito/getUserPool.ts b/sdk/nodejs/cognito/getUserPool.ts index dc402640527..35040efa368 100644 --- a/sdk/nodejs/cognito/getUserPool.ts +++ b/sdk/nodejs/cognito/getUserPool.ts @@ -140,7 +140,7 @@ export interface GetUserPoolResult { * }); * ``` */ -export function getUserPoolOutput(args: GetUserPoolOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getUserPoolOutput(args: GetUserPoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cognito/getUserPool:getUserPool", { "userPoolId": args.userPoolId, diff --git a/sdk/nodejs/cognito/getUserPoolClient.ts b/sdk/nodejs/cognito/getUserPoolClient.ts index 46d7e188bb3..51e9baf32d6 100644 --- a/sdk/nodejs/cognito/getUserPoolClient.ts +++ b/sdk/nodejs/cognito/getUserPoolClient.ts @@ -148,7 +148,7 @@ export interface GetUserPoolClientResult { * }); * ``` */ -export function getUserPoolClientOutput(args: GetUserPoolClientOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getUserPoolClientOutput(args: GetUserPoolClientOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cognito/getUserPoolClient:getUserPoolClient", { "clientId": args.clientId, diff --git a/sdk/nodejs/cognito/getUserPoolClients.ts b/sdk/nodejs/cognito/getUserPoolClients.ts index 3493348b522..9209d528046 100644 --- a/sdk/nodejs/cognito/getUserPoolClients.ts +++ b/sdk/nodejs/cognito/getUserPoolClients.ts @@ -67,7 +67,7 @@ export interface GetUserPoolClientsResult { * }); * ``` */ -export function getUserPoolClientsOutput(args: GetUserPoolClientsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getUserPoolClientsOutput(args: GetUserPoolClientsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cognito/getUserPoolClients:getUserPoolClients", { "userPoolId": args.userPoolId, diff --git a/sdk/nodejs/cognito/getUserPoolSigningCertificate.ts b/sdk/nodejs/cognito/getUserPoolSigningCertificate.ts index ed236edfc81..bb59b86ab9e 100644 --- a/sdk/nodejs/cognito/getUserPoolSigningCertificate.ts +++ b/sdk/nodejs/cognito/getUserPoolSigningCertificate.ts @@ -63,7 +63,7 @@ export interface GetUserPoolSigningCertificateResult { * }); * ``` */ -export function getUserPoolSigningCertificateOutput(args: GetUserPoolSigningCertificateOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getUserPoolSigningCertificateOutput(args: GetUserPoolSigningCertificateOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cognito/getUserPoolSigningCertificate:getUserPoolSigningCertificate", { "userPoolId": args.userPoolId, diff --git a/sdk/nodejs/cognito/getUserPools.ts b/sdk/nodejs/cognito/getUserPools.ts index 736050158ec..3273d1d26d0 100644 --- a/sdk/nodejs/cognito/getUserPools.ts +++ b/sdk/nodejs/cognito/getUserPools.ts @@ -85,7 +85,7 @@ export interface GetUserPoolsResult { * }); * ``` */ -export function getUserPoolsOutput(args: GetUserPoolsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getUserPoolsOutput(args: GetUserPoolsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cognito/getUserPools:getUserPools", { "name": args.name, diff --git a/sdk/nodejs/connect/getBotAssociation.ts b/sdk/nodejs/connect/getBotAssociation.ts index 264d31a3eba..51aeb1ae6be 100644 --- a/sdk/nodejs/connect/getBotAssociation.ts +++ b/sdk/nodejs/connect/getBotAssociation.ts @@ -78,7 +78,7 @@ export interface GetBotAssociationResult { * }); * ``` */ -export function getBotAssociationOutput(args: GetBotAssociationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getBotAssociationOutput(args: GetBotAssociationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:connect/getBotAssociation:getBotAssociation", { "instanceId": args.instanceId, diff --git a/sdk/nodejs/connect/getContactFlow.ts b/sdk/nodejs/connect/getContactFlow.ts index 302d5ad6200..51acc229b8f 100644 --- a/sdk/nodejs/connect/getContactFlow.ts +++ b/sdk/nodejs/connect/getContactFlow.ts @@ -131,7 +131,7 @@ export interface GetContactFlowResult { * }); * ``` */ -export function getContactFlowOutput(args: GetContactFlowOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getContactFlowOutput(args: GetContactFlowOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:connect/getContactFlow:getContactFlow", { "contactFlowId": args.contactFlowId, diff --git a/sdk/nodejs/connect/getContactFlowModule.ts b/sdk/nodejs/connect/getContactFlowModule.ts index 08f490754e8..a66d12b1768 100644 --- a/sdk/nodejs/connect/getContactFlowModule.ts +++ b/sdk/nodejs/connect/getContactFlowModule.ts @@ -130,7 +130,7 @@ export interface GetContactFlowModuleResult { * }); * ``` */ -export function getContactFlowModuleOutput(args: GetContactFlowModuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getContactFlowModuleOutput(args: GetContactFlowModuleOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:connect/getContactFlowModule:getContactFlowModule", { "contactFlowModuleId": args.contactFlowModuleId, diff --git a/sdk/nodejs/connect/getHoursOfOperation.ts b/sdk/nodejs/connect/getHoursOfOperation.ts index 88ecf550f2c..8f472d68aa6 100644 --- a/sdk/nodejs/connect/getHoursOfOperation.ts +++ b/sdk/nodejs/connect/getHoursOfOperation.ts @@ -138,7 +138,7 @@ export interface GetHoursOfOperationResult { * }); * ``` */ -export function getHoursOfOperationOutput(args: GetHoursOfOperationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getHoursOfOperationOutput(args: GetHoursOfOperationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:connect/getHoursOfOperation:getHoursOfOperation", { "hoursOfOperationId": args.hoursOfOperationId, diff --git a/sdk/nodejs/connect/getInstance.ts b/sdk/nodejs/connect/getInstance.ts index 8dda1542bbe..a8eaa059077 100644 --- a/sdk/nodejs/connect/getInstance.ts +++ b/sdk/nodejs/connect/getInstance.ts @@ -146,7 +146,7 @@ export interface GetInstanceResult { * }); * ``` */ -export function getInstanceOutput(args?: GetInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInstanceOutput(args?: GetInstanceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:connect/getInstance:getInstance", { diff --git a/sdk/nodejs/connect/getInstanceStorageConfig.ts b/sdk/nodejs/connect/getInstanceStorageConfig.ts index 9a5838bd5a5..f31f60b9719 100644 --- a/sdk/nodejs/connect/getInstanceStorageConfig.ts +++ b/sdk/nodejs/connect/getInstanceStorageConfig.ts @@ -82,7 +82,7 @@ export interface GetInstanceStorageConfigResult { * }); * ``` */ -export function getInstanceStorageConfigOutput(args: GetInstanceStorageConfigOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInstanceStorageConfigOutput(args: GetInstanceStorageConfigOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:connect/getInstanceStorageConfig:getInstanceStorageConfig", { "associationId": args.associationId, diff --git a/sdk/nodejs/connect/getLambdaFunctionAssociation.ts b/sdk/nodejs/connect/getLambdaFunctionAssociation.ts index 7c40c27ff6b..3af3f8464b8 100644 --- a/sdk/nodejs/connect/getLambdaFunctionAssociation.ts +++ b/sdk/nodejs/connect/getLambdaFunctionAssociation.ts @@ -67,7 +67,7 @@ export interface GetLambdaFunctionAssociationResult { * }); * ``` */ -export function getLambdaFunctionAssociationOutput(args: GetLambdaFunctionAssociationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLambdaFunctionAssociationOutput(args: GetLambdaFunctionAssociationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation", { "functionArn": args.functionArn, diff --git a/sdk/nodejs/connect/getPrompt.ts b/sdk/nodejs/connect/getPrompt.ts index 9695208ab4e..ccceec2b1b2 100644 --- a/sdk/nodejs/connect/getPrompt.ts +++ b/sdk/nodejs/connect/getPrompt.ts @@ -79,7 +79,7 @@ export interface GetPromptResult { * }); * ``` */ -export function getPromptOutput(args: GetPromptOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPromptOutput(args: GetPromptOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:connect/getPrompt:getPrompt", { "instanceId": args.instanceId, diff --git a/sdk/nodejs/connect/getQueue.ts b/sdk/nodejs/connect/getQueue.ts index 16e89ac3b3f..30b9af98230 100644 --- a/sdk/nodejs/connect/getQueue.ts +++ b/sdk/nodejs/connect/getQueue.ts @@ -140,7 +140,7 @@ export interface GetQueueResult { * }); * ``` */ -export function getQueueOutput(args: GetQueueOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getQueueOutput(args: GetQueueOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:connect/getQueue:getQueue", { "instanceId": args.instanceId, diff --git a/sdk/nodejs/connect/getQuickConnect.ts b/sdk/nodejs/connect/getQuickConnect.ts index cb73bc68e3e..dc4d87df601 100644 --- a/sdk/nodejs/connect/getQuickConnect.ts +++ b/sdk/nodejs/connect/getQuickConnect.ts @@ -128,7 +128,7 @@ export interface GetQuickConnectResult { * }); * ``` */ -export function getQuickConnectOutput(args: GetQuickConnectOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getQuickConnectOutput(args: GetQuickConnectOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:connect/getQuickConnect:getQuickConnect", { "instanceId": args.instanceId, diff --git a/sdk/nodejs/connect/getRoutingProfile.ts b/sdk/nodejs/connect/getRoutingProfile.ts index a181ec0001d..0cc0e1abb22 100644 --- a/sdk/nodejs/connect/getRoutingProfile.ts +++ b/sdk/nodejs/connect/getRoutingProfile.ts @@ -133,7 +133,7 @@ export interface GetRoutingProfileResult { * }); * ``` */ -export function getRoutingProfileOutput(args: GetRoutingProfileOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRoutingProfileOutput(args: GetRoutingProfileOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:connect/getRoutingProfile:getRoutingProfile", { "instanceId": args.instanceId, diff --git a/sdk/nodejs/connect/getSecurityProfile.ts b/sdk/nodejs/connect/getSecurityProfile.ts index 057b1455419..502d3ee0a59 100644 --- a/sdk/nodejs/connect/getSecurityProfile.ts +++ b/sdk/nodejs/connect/getSecurityProfile.ts @@ -126,7 +126,7 @@ export interface GetSecurityProfileResult { * }); * ``` */ -export function getSecurityProfileOutput(args: GetSecurityProfileOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSecurityProfileOutput(args: GetSecurityProfileOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:connect/getSecurityProfile:getSecurityProfile", { "instanceId": args.instanceId, diff --git a/sdk/nodejs/connect/getUser.ts b/sdk/nodejs/connect/getUser.ts index 4cb30f5a082..ae92ee67c93 100644 --- a/sdk/nodejs/connect/getUser.ts +++ b/sdk/nodejs/connect/getUser.ts @@ -144,7 +144,7 @@ export interface GetUserResult { * }); * ``` */ -export function getUserOutput(args: GetUserOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getUserOutput(args: GetUserOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:connect/getUser:getUser", { "instanceId": args.instanceId, diff --git a/sdk/nodejs/connect/getUserHierarchyGroup.ts b/sdk/nodejs/connect/getUserHierarchyGroup.ts index 8276e5993d8..b637302c199 100644 --- a/sdk/nodejs/connect/getUserHierarchyGroup.ts +++ b/sdk/nodejs/connect/getUserHierarchyGroup.ts @@ -128,7 +128,7 @@ export interface GetUserHierarchyGroupResult { * }); * ``` */ -export function getUserHierarchyGroupOutput(args: GetUserHierarchyGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getUserHierarchyGroupOutput(args: GetUserHierarchyGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:connect/getUserHierarchyGroup:getUserHierarchyGroup", { "hierarchyGroupId": args.hierarchyGroupId, diff --git a/sdk/nodejs/connect/getUserHierarchyStructure.ts b/sdk/nodejs/connect/getUserHierarchyStructure.ts index 0a0b83fad72..7dca4d370da 100644 --- a/sdk/nodejs/connect/getUserHierarchyStructure.ts +++ b/sdk/nodejs/connect/getUserHierarchyStructure.ts @@ -66,7 +66,7 @@ export interface GetUserHierarchyStructureResult { * }); * ``` */ -export function getUserHierarchyStructureOutput(args: GetUserHierarchyStructureOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getUserHierarchyStructureOutput(args: GetUserHierarchyStructureOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:connect/getUserHierarchyStructure:getUserHierarchyStructure", { "instanceId": args.instanceId, diff --git a/sdk/nodejs/connect/getVocabulary.ts b/sdk/nodejs/connect/getVocabulary.ts index 710ebd2d80d..a605be56ff7 100644 --- a/sdk/nodejs/connect/getVocabulary.ts +++ b/sdk/nodejs/connect/getVocabulary.ts @@ -137,7 +137,7 @@ export interface GetVocabularyResult { * }); * ``` */ -export function getVocabularyOutput(args: GetVocabularyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVocabularyOutput(args: GetVocabularyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:connect/getVocabulary:getVocabulary", { "instanceId": args.instanceId, diff --git a/sdk/nodejs/controltower/getControls.ts b/sdk/nodejs/controltower/getControls.ts index b82c0a399f3..5e2593298be 100644 --- a/sdk/nodejs/controltower/getControls.ts +++ b/sdk/nodejs/controltower/getControls.ts @@ -71,7 +71,7 @@ export interface GetControlsResult { * })); * ``` */ -export function getControlsOutput(args: GetControlsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getControlsOutput(args: GetControlsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:controltower/getControls:getControls", { "targetIdentifier": args.targetIdentifier, diff --git a/sdk/nodejs/costexplorer/getCostCategory.ts b/sdk/nodejs/costexplorer/getCostCategory.ts index 116212540fd..858c94f1ceb 100644 --- a/sdk/nodejs/costexplorer/getCostCategory.ts +++ b/sdk/nodejs/costexplorer/getCostCategory.ts @@ -96,7 +96,7 @@ export interface GetCostCategoryResult { * }); * ``` */ -export function getCostCategoryOutput(args: GetCostCategoryOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCostCategoryOutput(args: GetCostCategoryOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:costexplorer/getCostCategory:getCostCategory", { "costCategoryArn": args.costCategoryArn, diff --git a/sdk/nodejs/costexplorer/getTags.ts b/sdk/nodejs/costexplorer/getTags.ts index e2d61f78546..19d9467822d 100644 --- a/sdk/nodejs/costexplorer/getTags.ts +++ b/sdk/nodejs/costexplorer/getTags.ts @@ -98,7 +98,7 @@ export interface GetTagsResult { * }); * ``` */ -export function getTagsOutput(args: GetTagsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getTagsOutput(args: GetTagsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:costexplorer/getTags:getTags", { "filter": args.filter, diff --git a/sdk/nodejs/cur/getReportDefinition.ts b/sdk/nodejs/cur/getReportDefinition.ts index 0dac6c2877e..d625a77ec5d 100644 --- a/sdk/nodejs/cur/getReportDefinition.ts +++ b/sdk/nodejs/cur/getReportDefinition.ts @@ -116,7 +116,7 @@ export interface GetReportDefinitionResult { * }); * ``` */ -export function getReportDefinitionOutput(args: GetReportDefinitionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getReportDefinitionOutput(args: GetReportDefinitionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:cur/getReportDefinition:getReportDefinition", { "reportName": args.reportName, diff --git a/sdk/nodejs/datapipeline/getPipeline.ts b/sdk/nodejs/datapipeline/getPipeline.ts index 3d7c990fce0..832afa2279c 100644 --- a/sdk/nodejs/datapipeline/getPipeline.ts +++ b/sdk/nodejs/datapipeline/getPipeline.ts @@ -76,7 +76,7 @@ export interface GetPipelineResult { * }); * ``` */ -export function getPipelineOutput(args: GetPipelineOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPipelineOutput(args: GetPipelineOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:datapipeline/getPipeline:getPipeline", { "pipelineId": args.pipelineId, diff --git a/sdk/nodejs/datapipeline/getPipelineDefinition.ts b/sdk/nodejs/datapipeline/getPipelineDefinition.ts index df1723f26bb..a3f0ed8055b 100644 --- a/sdk/nodejs/datapipeline/getPipelineDefinition.ts +++ b/sdk/nodejs/datapipeline/getPipelineDefinition.ts @@ -79,7 +79,7 @@ export interface GetPipelineDefinitionResult { * }); * ``` */ -export function getPipelineDefinitionOutput(args: GetPipelineDefinitionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPipelineDefinitionOutput(args: GetPipelineDefinitionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:datapipeline/getPipelineDefinition:getPipelineDefinition", { "parameterValues": args.parameterValues, diff --git a/sdk/nodejs/datazone/getEnvironmentBlueprint.ts b/sdk/nodejs/datazone/getEnvironmentBlueprint.ts index 8e6ee571025..9e26280f3f4 100644 --- a/sdk/nodejs/datazone/getEnvironmentBlueprint.ts +++ b/sdk/nodejs/datazone/getEnvironmentBlueprint.ts @@ -95,7 +95,7 @@ export interface GetEnvironmentBlueprintResult { * }); * ``` */ -export function getEnvironmentBlueprintOutput(args: GetEnvironmentBlueprintOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEnvironmentBlueprintOutput(args: GetEnvironmentBlueprintOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:datazone/getEnvironmentBlueprint:getEnvironmentBlueprint", { "domainId": args.domainId, diff --git a/sdk/nodejs/devopsguru/getNotificationChannel.ts b/sdk/nodejs/devopsguru/getNotificationChannel.ts index e62feeabe2a..fe9047eb558 100644 --- a/sdk/nodejs/devopsguru/getNotificationChannel.ts +++ b/sdk/nodejs/devopsguru/getNotificationChannel.ts @@ -80,7 +80,7 @@ export interface GetNotificationChannelResult { * }); * ``` */ -export function getNotificationChannelOutput(args: GetNotificationChannelOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getNotificationChannelOutput(args: GetNotificationChannelOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:devopsguru/getNotificationChannel:getNotificationChannel", { "filters": args.filters, diff --git a/sdk/nodejs/devopsguru/getResourceCollection.ts b/sdk/nodejs/devopsguru/getResourceCollection.ts index 8dbb86d4cad..9a12d0b69b7 100644 --- a/sdk/nodejs/devopsguru/getResourceCollection.ts +++ b/sdk/nodejs/devopsguru/getResourceCollection.ts @@ -84,7 +84,7 @@ export interface GetResourceCollectionResult { * }); * ``` */ -export function getResourceCollectionOutput(args: GetResourceCollectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResourceCollectionOutput(args: GetResourceCollectionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:devopsguru/getResourceCollection:getResourceCollection", { "cloudformations": args.cloudformations, diff --git a/sdk/nodejs/directconnect/getConnection.ts b/sdk/nodejs/directconnect/getConnection.ts index 6f8d3ec3b08..c6969a45f84 100644 --- a/sdk/nodejs/directconnect/getConnection.ts +++ b/sdk/nodejs/directconnect/getConnection.ts @@ -100,7 +100,7 @@ export interface GetConnectionResult { * }); * ``` */ -export function getConnectionOutput(args: GetConnectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getConnectionOutput(args: GetConnectionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:directconnect/getConnection:getConnection", { "name": args.name, diff --git a/sdk/nodejs/directconnect/getGateway.ts b/sdk/nodejs/directconnect/getGateway.ts index 0d7587aa770..85432d38449 100644 --- a/sdk/nodejs/directconnect/getGateway.ts +++ b/sdk/nodejs/directconnect/getGateway.ts @@ -67,7 +67,7 @@ export interface GetGatewayResult { * }); * ``` */ -export function getGatewayOutput(args: GetGatewayOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getGatewayOutput(args: GetGatewayOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:directconnect/getGateway:getGateway", { "name": args.name, diff --git a/sdk/nodejs/directconnect/getLocation.ts b/sdk/nodejs/directconnect/getLocation.ts index e778275795c..c00474d9786 100644 --- a/sdk/nodejs/directconnect/getLocation.ts +++ b/sdk/nodejs/directconnect/getLocation.ts @@ -81,7 +81,7 @@ export interface GetLocationResult { * }); * ``` */ -export function getLocationOutput(args: GetLocationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLocationOutput(args: GetLocationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:directconnect/getLocation:getLocation", { "locationCode": args.locationCode, diff --git a/sdk/nodejs/directconnect/getLocations.ts b/sdk/nodejs/directconnect/getLocations.ts index 4cef3ce984d..a5372db6b50 100644 --- a/sdk/nodejs/directconnect/getLocations.ts +++ b/sdk/nodejs/directconnect/getLocations.ts @@ -53,7 +53,7 @@ export interface GetLocationsResult { * const available = aws.directconnect.getLocations({}); * ``` */ -export function getLocationsOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLocationsOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:directconnect/getLocations:getLocations", { }, opts); diff --git a/sdk/nodejs/directconnect/getRouterConfiguration.ts b/sdk/nodejs/directconnect/getRouterConfiguration.ts index be0fdd70e0d..2089d554de5 100644 --- a/sdk/nodejs/directconnect/getRouterConfiguration.ts +++ b/sdk/nodejs/directconnect/getRouterConfiguration.ts @@ -103,7 +103,7 @@ export interface GetRouterConfigurationResult { * }); * ``` */ -export function getRouterConfigurationOutput(args: GetRouterConfigurationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRouterConfigurationOutput(args: GetRouterConfigurationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:directconnect/getRouterConfiguration:getRouterConfiguration", { "routerTypeIdentifier": args.routerTypeIdentifier, diff --git a/sdk/nodejs/directoryservice/getDirectory.ts b/sdk/nodejs/directoryservice/getDirectory.ts index 997d80fc5b6..f07173f2e28 100644 --- a/sdk/nodejs/directoryservice/getDirectory.ts +++ b/sdk/nodejs/directoryservice/getDirectory.ts @@ -118,7 +118,7 @@ export interface GetDirectoryResult { * }); * ``` */ -export function getDirectoryOutput(args: GetDirectoryOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDirectoryOutput(args: GetDirectoryOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:directoryservice/getDirectory:getDirectory", { "directoryId": args.directoryId, diff --git a/sdk/nodejs/dms/getCertificate.ts b/sdk/nodejs/dms/getCertificate.ts index 8b240665ebf..05c246fd1c1 100644 --- a/sdk/nodejs/dms/getCertificate.ts +++ b/sdk/nodejs/dms/getCertificate.ts @@ -102,7 +102,7 @@ export interface GetCertificateResult { * }); * ``` */ -export function getCertificateOutput(args: GetCertificateOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCertificateOutput(args: GetCertificateOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:dms/getCertificate:getCertificate", { "certificateId": args.certificateId, diff --git a/sdk/nodejs/dms/getEndpoint.ts b/sdk/nodejs/dms/getEndpoint.ts index 0620023c368..cdd6bef5c27 100644 --- a/sdk/nodejs/dms/getEndpoint.ts +++ b/sdk/nodejs/dms/getEndpoint.ts @@ -92,7 +92,7 @@ export interface GetEndpointResult { * }); * ``` */ -export function getEndpointOutput(args: GetEndpointOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEndpointOutput(args: GetEndpointOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:dms/getEndpoint:getEndpoint", { "endpointId": args.endpointId, diff --git a/sdk/nodejs/dms/getReplicationInstance.ts b/sdk/nodejs/dms/getReplicationInstance.ts index 43c948a64d8..75a09ef9d26 100644 --- a/sdk/nodejs/dms/getReplicationInstance.ts +++ b/sdk/nodejs/dms/getReplicationInstance.ts @@ -122,7 +122,7 @@ export interface GetReplicationInstanceResult { * }); * ``` */ -export function getReplicationInstanceOutput(args: GetReplicationInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getReplicationInstanceOutput(args: GetReplicationInstanceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:dms/getReplicationInstance:getReplicationInstance", { "replicationInstanceId": args.replicationInstanceId, diff --git a/sdk/nodejs/dms/getReplicationSubnetGroup.ts b/sdk/nodejs/dms/getReplicationSubnetGroup.ts index c07081e94a2..7370d67054f 100644 --- a/sdk/nodejs/dms/getReplicationSubnetGroup.ts +++ b/sdk/nodejs/dms/getReplicationSubnetGroup.ts @@ -80,7 +80,7 @@ export interface GetReplicationSubnetGroupResult { * }); * ``` */ -export function getReplicationSubnetGroupOutput(args: GetReplicationSubnetGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getReplicationSubnetGroupOutput(args: GetReplicationSubnetGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:dms/getReplicationSubnetGroup:getReplicationSubnetGroup", { "replicationSubnetGroupId": args.replicationSubnetGroupId, diff --git a/sdk/nodejs/dms/getReplicationTask.ts b/sdk/nodejs/dms/getReplicationTask.ts index 5f7d3c7ab6a..14058acbea1 100644 --- a/sdk/nodejs/dms/getReplicationTask.ts +++ b/sdk/nodejs/dms/getReplicationTask.ts @@ -115,7 +115,7 @@ export interface GetReplicationTaskResult { * }); * ``` */ -export function getReplicationTaskOutput(args: GetReplicationTaskOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getReplicationTaskOutput(args: GetReplicationTaskOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:dms/getReplicationTask:getReplicationTask", { "replicationTaskId": args.replicationTaskId, diff --git a/sdk/nodejs/docdb/getEngineVersion.ts b/sdk/nodejs/docdb/getEngineVersion.ts index 69c7572b910..127af6800cb 100644 --- a/sdk/nodejs/docdb/getEngineVersion.ts +++ b/sdk/nodejs/docdb/getEngineVersion.ts @@ -98,7 +98,7 @@ export interface GetEngineVersionResult { * }); * ``` */ -export function getEngineVersionOutput(args?: GetEngineVersionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEngineVersionOutput(args?: GetEngineVersionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:docdb/getEngineVersion:getEngineVersion", { diff --git a/sdk/nodejs/docdb/getOrderableDbInstance.ts b/sdk/nodejs/docdb/getOrderableDbInstance.ts index 47cc55b045e..8114cf80599 100644 --- a/sdk/nodejs/docdb/getOrderableDbInstance.ts +++ b/sdk/nodejs/docdb/getOrderableDbInstance.ts @@ -108,7 +108,7 @@ export interface GetOrderableDbInstanceResult { * }); * ``` */ -export function getOrderableDbInstanceOutput(args?: GetOrderableDbInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOrderableDbInstanceOutput(args?: GetOrderableDbInstanceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:docdb/getOrderableDbInstance:getOrderableDbInstance", { diff --git a/sdk/nodejs/dynamodb/getTable.ts b/sdk/nodejs/dynamodb/getTable.ts index 63158db6340..4208a8e6d27 100644 --- a/sdk/nodejs/dynamodb/getTable.ts +++ b/sdk/nodejs/dynamodb/getTable.ts @@ -86,7 +86,7 @@ export interface GetTableResult { * }); * ``` */ -export function getTableOutput(args: GetTableOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getTableOutput(args: GetTableOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:dynamodb/getTable:getTable", { "name": args.name, diff --git a/sdk/nodejs/dynamodb/getTableItem.ts b/sdk/nodejs/dynamodb/getTableItem.ts index f17fbe5db10..dc623c57252 100644 --- a/sdk/nodejs/dynamodb/getTableItem.ts +++ b/sdk/nodejs/dynamodb/getTableItem.ts @@ -102,7 +102,7 @@ export interface GetTableItemResult { * }); * ``` */ -export function getTableItemOutput(args: GetTableItemOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getTableItemOutput(args: GetTableItemOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:dynamodb/getTableItem:getTableItem", { "expressionAttributeNames": args.expressionAttributeNames, diff --git a/sdk/nodejs/ebs/getDefaultKmsKey.ts b/sdk/nodejs/ebs/getDefaultKmsKey.ts index 72dd1611407..1cbe41aca4a 100644 --- a/sdk/nodejs/ebs/getDefaultKmsKey.ts +++ b/sdk/nodejs/ebs/getDefaultKmsKey.ts @@ -57,7 +57,7 @@ export interface GetDefaultKmsKeyResult { * }); * ``` */ -export function getDefaultKmsKeyOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDefaultKmsKeyOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ebs/getDefaultKmsKey:getDefaultKmsKey", { }, opts); diff --git a/sdk/nodejs/ebs/getEbsVolumes.ts b/sdk/nodejs/ebs/getEbsVolumes.ts index d9bcd2d9ca2..175b1336c08 100644 --- a/sdk/nodejs/ebs/getEbsVolumes.ts +++ b/sdk/nodejs/ebs/getEbsVolumes.ts @@ -104,7 +104,7 @@ export interface GetEbsVolumesResult { * export const availabilityZoneToVolumeId = exampleGetVolume.apply(exampleGetVolume => Object.values(exampleGetVolume).reduce((__obj, s) => ({ ...__obj, [s.id]: s.availabilityZone }))); * ``` */ -export function getEbsVolumesOutput(args?: GetEbsVolumesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEbsVolumesOutput(args?: GetEbsVolumesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ebs/getEbsVolumes:getEbsVolumes", { diff --git a/sdk/nodejs/ebs/getEncryptionByDefault.ts b/sdk/nodejs/ebs/getEncryptionByDefault.ts index 74c9402f747..a4aa2bd260c 100644 --- a/sdk/nodejs/ebs/getEncryptionByDefault.ts +++ b/sdk/nodejs/ebs/getEncryptionByDefault.ts @@ -47,7 +47,7 @@ export interface GetEncryptionByDefaultResult { * const current = aws.ebs.getEncryptionByDefault({}); * ``` */ -export function getEncryptionByDefaultOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEncryptionByDefaultOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ebs/getEncryptionByDefault:getEncryptionByDefault", { }, opts); diff --git a/sdk/nodejs/ebs/getSnapshot.ts b/sdk/nodejs/ebs/getSnapshot.ts index 726c67f5fed..60f65a3fb30 100644 --- a/sdk/nodejs/ebs/getSnapshot.ts +++ b/sdk/nodejs/ebs/getSnapshot.ts @@ -176,7 +176,7 @@ export interface GetSnapshotResult { * }); * ``` */ -export function getSnapshotOutput(args?: GetSnapshotOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSnapshotOutput(args?: GetSnapshotOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ebs/getSnapshot:getSnapshot", { diff --git a/sdk/nodejs/ebs/getSnapshotIds.ts b/sdk/nodejs/ebs/getSnapshotIds.ts index ff634af20d3..285f5492665 100644 --- a/sdk/nodejs/ebs/getSnapshotIds.ts +++ b/sdk/nodejs/ebs/getSnapshotIds.ts @@ -103,7 +103,7 @@ export interface GetSnapshotIdsResult { * }); * ``` */ -export function getSnapshotIdsOutput(args?: GetSnapshotIdsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSnapshotIdsOutput(args?: GetSnapshotIdsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ebs/getSnapshotIds:getSnapshotIds", { diff --git a/sdk/nodejs/ebs/getVolume.ts b/sdk/nodejs/ebs/getVolume.ts index 046287c6024..0745341bed9 100644 --- a/sdk/nodejs/ebs/getVolume.ts +++ b/sdk/nodejs/ebs/getVolume.ts @@ -151,7 +151,7 @@ export interface GetVolumeResult { * }); * ``` */ -export function getVolumeOutput(args?: GetVolumeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVolumeOutput(args?: GetVolumeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ebs/getVolume:getVolume", { diff --git a/sdk/nodejs/ec2/getAmi.ts b/sdk/nodejs/ec2/getAmi.ts index d1ac6bf987f..b394f144f6f 100644 --- a/sdk/nodejs/ec2/getAmi.ts +++ b/sdk/nodejs/ec2/getAmi.ts @@ -288,7 +288,7 @@ export interface GetAmiResult { * }); * ``` */ -export function getAmiOutput(args?: GetAmiOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAmiOutput(args?: GetAmiOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getAmi:getAmi", { diff --git a/sdk/nodejs/ec2/getAmiIds.ts b/sdk/nodejs/ec2/getAmiIds.ts index 889f1ffc8f2..d1a57b95bc9 100644 --- a/sdk/nodejs/ec2/getAmiIds.ts +++ b/sdk/nodejs/ec2/getAmiIds.ts @@ -110,7 +110,7 @@ export interface GetAmiIdsResult { * }); * ``` */ -export function getAmiIdsOutput(args: GetAmiIdsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAmiIdsOutput(args: GetAmiIdsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getAmiIds:getAmiIds", { "executableUsers": args.executableUsers, diff --git a/sdk/nodejs/ec2/getCapacityBlockOffering.ts b/sdk/nodejs/ec2/getCapacityBlockOffering.ts index 3f98cc364f6..4c681f8d3f1 100644 --- a/sdk/nodejs/ec2/getCapacityBlockOffering.ts +++ b/sdk/nodejs/ec2/getCapacityBlockOffering.ts @@ -111,7 +111,7 @@ export interface GetCapacityBlockOfferingResult { * }); * ``` */ -export function getCapacityBlockOfferingOutput(args: GetCapacityBlockOfferingOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCapacityBlockOfferingOutput(args: GetCapacityBlockOfferingOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering", { "capacityDurationHours": args.capacityDurationHours, diff --git a/sdk/nodejs/ec2/getCoipPool.ts b/sdk/nodejs/ec2/getCoipPool.ts index 92d313483a7..cc6ae5ddd7d 100644 --- a/sdk/nodejs/ec2/getCoipPool.ts +++ b/sdk/nodejs/ec2/getCoipPool.ts @@ -76,7 +76,7 @@ export interface GetCoipPoolResult { * an input variable and needs to, for example, determine the CIDR block of that * COIP Pool. */ -export function getCoipPoolOutput(args?: GetCoipPoolOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCoipPoolOutput(args?: GetCoipPoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getCoipPool:getCoipPool", { diff --git a/sdk/nodejs/ec2/getCoipPools.ts b/sdk/nodejs/ec2/getCoipPools.ts index 84d7fab43cf..31a767fb541 100644 --- a/sdk/nodejs/ec2/getCoipPools.ts +++ b/sdk/nodejs/ec2/getCoipPools.ts @@ -55,7 +55,7 @@ export interface GetCoipPoolsResult { /** * Provides information for multiple EC2 Customer-Owned IP Pools, such as their identifiers. */ -export function getCoipPoolsOutput(args?: GetCoipPoolsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCoipPoolsOutput(args?: GetCoipPoolsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getCoipPools:getCoipPools", { diff --git a/sdk/nodejs/ec2/getCustomerGateway.ts b/sdk/nodejs/ec2/getCustomerGateway.ts index c99540b652f..087656dc027 100644 --- a/sdk/nodejs/ec2/getCustomerGateway.ts +++ b/sdk/nodejs/ec2/getCustomerGateway.ts @@ -130,7 +130,7 @@ export interface GetCustomerGatewayResult { * }); * ``` */ -export function getCustomerGatewayOutput(args?: GetCustomerGatewayOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCustomerGatewayOutput(args?: GetCustomerGatewayOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getCustomerGateway:getCustomerGateway", { diff --git a/sdk/nodejs/ec2/getDedicatedHost.ts b/sdk/nodejs/ec2/getDedicatedHost.ts index f8b3efffb88..c574b9998f5 100644 --- a/sdk/nodejs/ec2/getDedicatedHost.ts +++ b/sdk/nodejs/ec2/getDedicatedHost.ts @@ -156,7 +156,7 @@ export interface GetDedicatedHostResult { * }); * ``` */ -export function getDedicatedHostOutput(args?: GetDedicatedHostOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDedicatedHostOutput(args?: GetDedicatedHostOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getDedicatedHost:getDedicatedHost", { diff --git a/sdk/nodejs/ec2/getEips.ts b/sdk/nodejs/ec2/getEips.ts index aa8ca9b2609..cf1d9ebb21d 100644 --- a/sdk/nodejs/ec2/getEips.ts +++ b/sdk/nodejs/ec2/getEips.ts @@ -89,7 +89,7 @@ export interface GetEipsResult { * export const publicIps = example.then(example => example.publicIps); * ``` */ -export function getEipsOutput(args?: GetEipsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEipsOutput(args?: GetEipsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getEips:getEips", { diff --git a/sdk/nodejs/ec2/getElasticIp.ts b/sdk/nodejs/ec2/getElasticIp.ts index 7343a6c99fc..75f68126ab3 100644 --- a/sdk/nodejs/ec2/getElasticIp.ts +++ b/sdk/nodejs/ec2/getElasticIp.ts @@ -223,7 +223,7 @@ export interface GetElasticIpResult { * }); * ``` */ -export function getElasticIpOutput(args?: GetElasticIpOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getElasticIpOutput(args?: GetElasticIpOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getElasticIp:getElasticIp", { diff --git a/sdk/nodejs/ec2/getInstance.ts b/sdk/nodejs/ec2/getInstance.ts index 0eed1ed26a5..c2b1cc44e87 100644 --- a/sdk/nodejs/ec2/getInstance.ts +++ b/sdk/nodejs/ec2/getInstance.ts @@ -289,7 +289,7 @@ export interface GetInstanceResult { * }); * ``` */ -export function getInstanceOutput(args?: GetInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInstanceOutput(args?: GetInstanceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getInstance:getInstance", { diff --git a/sdk/nodejs/ec2/getInstanceType.ts b/sdk/nodejs/ec2/getInstanceType.ts index a554c03b9a8..500a7cdda34 100644 --- a/sdk/nodejs/ec2/getInstanceType.ts +++ b/sdk/nodejs/ec2/getInstanceType.ts @@ -260,7 +260,7 @@ export interface GetInstanceTypeResult { * }); * ``` */ -export function getInstanceTypeOutput(args: GetInstanceTypeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInstanceTypeOutput(args: GetInstanceTypeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getInstanceType:getInstanceType", { "instanceType": args.instanceType, diff --git a/sdk/nodejs/ec2/getInstanceTypeOffering.ts b/sdk/nodejs/ec2/getInstanceTypeOffering.ts index 6a058c1102b..4970f5e9406 100644 --- a/sdk/nodejs/ec2/getInstanceTypeOffering.ts +++ b/sdk/nodejs/ec2/getInstanceTypeOffering.ts @@ -99,7 +99,7 @@ export interface GetInstanceTypeOfferingResult { * }); * ``` */ -export function getInstanceTypeOfferingOutput(args?: GetInstanceTypeOfferingOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInstanceTypeOfferingOutput(args?: GetInstanceTypeOfferingOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering", { diff --git a/sdk/nodejs/ec2/getInstanceTypeOfferings.ts b/sdk/nodejs/ec2/getInstanceTypeOfferings.ts index abc58feaf80..0fb79427afc 100644 --- a/sdk/nodejs/ec2/getInstanceTypeOfferings.ts +++ b/sdk/nodejs/ec2/getInstanceTypeOfferings.ts @@ -107,7 +107,7 @@ export interface GetInstanceTypeOfferingsResult { * }); * ``` */ -export function getInstanceTypeOfferingsOutput(args?: GetInstanceTypeOfferingsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInstanceTypeOfferingsOutput(args?: GetInstanceTypeOfferingsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getInstanceTypeOfferings:getInstanceTypeOfferings", { diff --git a/sdk/nodejs/ec2/getInstanceTypes.ts b/sdk/nodejs/ec2/getInstanceTypes.ts index dde62991378..9ef92bffe9e 100644 --- a/sdk/nodejs/ec2/getInstanceTypes.ts +++ b/sdk/nodejs/ec2/getInstanceTypes.ts @@ -107,7 +107,7 @@ export interface GetInstanceTypesResult { * }); * ``` */ -export function getInstanceTypesOutput(args?: GetInstanceTypesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInstanceTypesOutput(args?: GetInstanceTypesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getInstanceTypes:getInstanceTypes", { diff --git a/sdk/nodejs/ec2/getInstances.ts b/sdk/nodejs/ec2/getInstances.ts index fc8eede749c..6394ca3a276 100644 --- a/sdk/nodejs/ec2/getInstances.ts +++ b/sdk/nodejs/ec2/getInstances.ts @@ -138,7 +138,7 @@ export interface GetInstancesResult { * } * ``` */ -export function getInstancesOutput(args?: GetInstancesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInstancesOutput(args?: GetInstancesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getInstances:getInstances", { diff --git a/sdk/nodejs/ec2/getInternetGateway.ts b/sdk/nodejs/ec2/getInternetGateway.ts index 910527ef46a..8d807c6ce55 100644 --- a/sdk/nodejs/ec2/getInternetGateway.ts +++ b/sdk/nodejs/ec2/getInternetGateway.ts @@ -98,7 +98,7 @@ export interface GetInternetGatewayResult { * }); * ``` */ -export function getInternetGatewayOutput(args?: GetInternetGatewayOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInternetGatewayOutput(args?: GetInternetGatewayOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getInternetGateway:getInternetGateway", { diff --git a/sdk/nodejs/ec2/getIpamPreviewNextCidr.ts b/sdk/nodejs/ec2/getIpamPreviewNextCidr.ts index 53a8ee193a6..b4b993ee6cb 100644 --- a/sdk/nodejs/ec2/getIpamPreviewNextCidr.ts +++ b/sdk/nodejs/ec2/getIpamPreviewNextCidr.ts @@ -93,7 +93,7 @@ export interface GetIpamPreviewNextCidrResult { * }); * ``` */ -export function getIpamPreviewNextCidrOutput(args: GetIpamPreviewNextCidrOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getIpamPreviewNextCidrOutput(args: GetIpamPreviewNextCidrOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getIpamPreviewNextCidr:getIpamPreviewNextCidr", { "disallowedCidrs": args.disallowedCidrs, diff --git a/sdk/nodejs/ec2/getKeyPair.ts b/sdk/nodejs/ec2/getKeyPair.ts index 4da82f95185..0a225bdb453 100644 --- a/sdk/nodejs/ec2/getKeyPair.ts +++ b/sdk/nodejs/ec2/getKeyPair.ts @@ -130,7 +130,7 @@ export interface GetKeyPairResult { * export const id = example.then(example => example.id); * ``` */ -export function getKeyPairOutput(args?: GetKeyPairOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getKeyPairOutput(args?: GetKeyPairOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getKeyPair:getKeyPair", { diff --git a/sdk/nodejs/ec2/getLaunchConfiguration.ts b/sdk/nodejs/ec2/getLaunchConfiguration.ts index f1c1e2c32d1..0ea3b111f9d 100644 --- a/sdk/nodejs/ec2/getLaunchConfiguration.ts +++ b/sdk/nodejs/ec2/getLaunchConfiguration.ts @@ -129,7 +129,7 @@ export interface GetLaunchConfigurationResult { * }); * ``` */ -export function getLaunchConfigurationOutput(args: GetLaunchConfigurationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLaunchConfigurationOutput(args: GetLaunchConfigurationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getLaunchConfiguration:getLaunchConfiguration", { "name": args.name, diff --git a/sdk/nodejs/ec2/getLaunchTemplate.ts b/sdk/nodejs/ec2/getLaunchTemplate.ts index 47ddfe84011..7d01cc39cc1 100644 --- a/sdk/nodejs/ec2/getLaunchTemplate.ts +++ b/sdk/nodejs/ec2/getLaunchTemplate.ts @@ -143,7 +143,7 @@ export interface GetLaunchTemplateResult { * }); * ``` */ -export function getLaunchTemplateOutput(args?: GetLaunchTemplateOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLaunchTemplateOutput(args?: GetLaunchTemplateOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getLaunchTemplate:getLaunchTemplate", { diff --git a/sdk/nodejs/ec2/getLocalGateway.ts b/sdk/nodejs/ec2/getLocalGateway.ts index 4c08b587f6e..c74c48e614d 100644 --- a/sdk/nodejs/ec2/getLocalGateway.ts +++ b/sdk/nodejs/ec2/getLocalGateway.ts @@ -101,7 +101,7 @@ export interface GetLocalGatewayResult { * }); * ``` */ -export function getLocalGatewayOutput(args?: GetLocalGatewayOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLocalGatewayOutput(args?: GetLocalGatewayOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getLocalGateway:getLocalGateway", { diff --git a/sdk/nodejs/ec2/getLocalGatewayRouteTable.ts b/sdk/nodejs/ec2/getLocalGatewayRouteTable.ts index e957c143e31..403e90547cb 100644 --- a/sdk/nodejs/ec2/getLocalGatewayRouteTable.ts +++ b/sdk/nodejs/ec2/getLocalGatewayRouteTable.ts @@ -108,7 +108,7 @@ export interface GetLocalGatewayRouteTableResult { * }); * ``` */ -export function getLocalGatewayRouteTableOutput(args?: GetLocalGatewayRouteTableOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLocalGatewayRouteTableOutput(args?: GetLocalGatewayRouteTableOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getLocalGatewayRouteTable:getLocalGatewayRouteTable", { diff --git a/sdk/nodejs/ec2/getLocalGatewayRouteTables.ts b/sdk/nodejs/ec2/getLocalGatewayRouteTables.ts index 5f20d79c282..edf0834fc45 100644 --- a/sdk/nodejs/ec2/getLocalGatewayRouteTables.ts +++ b/sdk/nodejs/ec2/getLocalGatewayRouteTables.ts @@ -87,7 +87,7 @@ export interface GetLocalGatewayRouteTablesResult { * } * ``` */ -export function getLocalGatewayRouteTablesOutput(args?: GetLocalGatewayRouteTablesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLocalGatewayRouteTablesOutput(args?: GetLocalGatewayRouteTablesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getLocalGatewayRouteTables:getLocalGatewayRouteTables", { diff --git a/sdk/nodejs/ec2/getLocalGatewayVirtualInterface.ts b/sdk/nodejs/ec2/getLocalGatewayVirtualInterface.ts index 0c855310c58..9e6ff0b08ae 100644 --- a/sdk/nodejs/ec2/getLocalGatewayVirtualInterface.ts +++ b/sdk/nodejs/ec2/getLocalGatewayVirtualInterface.ts @@ -96,7 +96,7 @@ export interface GetLocalGatewayVirtualInterfaceResult { * }) })); * ``` */ -export function getLocalGatewayVirtualInterfaceOutput(args?: GetLocalGatewayVirtualInterfaceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLocalGatewayVirtualInterfaceOutput(args?: GetLocalGatewayVirtualInterfaceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getLocalGatewayVirtualInterface:getLocalGatewayVirtualInterface", { diff --git a/sdk/nodejs/ec2/getLocalGatewayVirtualInterfaceGroup.ts b/sdk/nodejs/ec2/getLocalGatewayVirtualInterfaceGroup.ts index 310de509943..a2d9881f167 100644 --- a/sdk/nodejs/ec2/getLocalGatewayVirtualInterfaceGroup.ts +++ b/sdk/nodejs/ec2/getLocalGatewayVirtualInterfaceGroup.ts @@ -81,7 +81,7 @@ export interface GetLocalGatewayVirtualInterfaceGroupResult { * }); * ``` */ -export function getLocalGatewayVirtualInterfaceGroupOutput(args?: GetLocalGatewayVirtualInterfaceGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLocalGatewayVirtualInterfaceGroupOutput(args?: GetLocalGatewayVirtualInterfaceGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup", { diff --git a/sdk/nodejs/ec2/getLocalGatewayVirtualInterfaceGroups.ts b/sdk/nodejs/ec2/getLocalGatewayVirtualInterfaceGroups.ts index 01debbb2a52..62d9422967d 100644 --- a/sdk/nodejs/ec2/getLocalGatewayVirtualInterfaceGroups.ts +++ b/sdk/nodejs/ec2/getLocalGatewayVirtualInterfaceGroups.ts @@ -73,7 +73,7 @@ export interface GetLocalGatewayVirtualInterfaceGroupsResult { * const all = aws.ec2.getLocalGatewayVirtualInterfaceGroups({}); * ``` */ -export function getLocalGatewayVirtualInterfaceGroupsOutput(args?: GetLocalGatewayVirtualInterfaceGroupsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLocalGatewayVirtualInterfaceGroupsOutput(args?: GetLocalGatewayVirtualInterfaceGroupsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups", { diff --git a/sdk/nodejs/ec2/getLocalGateways.ts b/sdk/nodejs/ec2/getLocalGateways.ts index b60d62cfc6c..541cceabbf4 100644 --- a/sdk/nodejs/ec2/getLocalGateways.ts +++ b/sdk/nodejs/ec2/getLocalGateways.ts @@ -95,7 +95,7 @@ export interface GetLocalGatewaysResult { * } * ``` */ -export function getLocalGatewaysOutput(args?: GetLocalGatewaysOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLocalGatewaysOutput(args?: GetLocalGatewaysOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getLocalGateways:getLocalGateways", { diff --git a/sdk/nodejs/ec2/getManagedPrefixList.ts b/sdk/nodejs/ec2/getManagedPrefixList.ts index 770db9af737..21cb9116242 100644 --- a/sdk/nodejs/ec2/getManagedPrefixList.ts +++ b/sdk/nodejs/ec2/getManagedPrefixList.ts @@ -143,7 +143,7 @@ export interface GetManagedPrefixListResult { * }); * ``` */ -export function getManagedPrefixListOutput(args?: GetManagedPrefixListOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getManagedPrefixListOutput(args?: GetManagedPrefixListOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getManagedPrefixList:getManagedPrefixList", { diff --git a/sdk/nodejs/ec2/getManagedPrefixLists.ts b/sdk/nodejs/ec2/getManagedPrefixLists.ts index e4e0345be39..051f85e59b3 100644 --- a/sdk/nodejs/ec2/getManagedPrefixLists.ts +++ b/sdk/nodejs/ec2/getManagedPrefixLists.ts @@ -91,7 +91,7 @@ export interface GetManagedPrefixListsResult { * }))); * ``` */ -export function getManagedPrefixListsOutput(args?: GetManagedPrefixListsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getManagedPrefixListsOutput(args?: GetManagedPrefixListsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getManagedPrefixLists:getManagedPrefixLists", { diff --git a/sdk/nodejs/ec2/getNatGateway.ts b/sdk/nodejs/ec2/getNatGateway.ts index 06a1df67c5c..cd06c46a0e7 100644 --- a/sdk/nodejs/ec2/getNatGateway.ts +++ b/sdk/nodejs/ec2/getNatGateway.ts @@ -157,7 +157,7 @@ export interface GetNatGatewayResult { * }); * ``` */ -export function getNatGatewayOutput(args?: GetNatGatewayOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getNatGatewayOutput(args?: GetNatGatewayOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getNatGateway:getNatGateway", { diff --git a/sdk/nodejs/ec2/getNatGateways.ts b/sdk/nodejs/ec2/getNatGateways.ts index 77c1a1c94d5..8a8bd83fd4d 100644 --- a/sdk/nodejs/ec2/getNatGateways.ts +++ b/sdk/nodejs/ec2/getNatGateways.ts @@ -101,7 +101,7 @@ export interface GetNatGatewaysResult { * }))); * ``` */ -export function getNatGatewaysOutput(args?: GetNatGatewaysOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getNatGatewaysOutput(args?: GetNatGatewaysOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getNatGateways:getNatGateways", { diff --git a/sdk/nodejs/ec2/getNetworkAcls.ts b/sdk/nodejs/ec2/getNetworkAcls.ts index 890de0b8cb5..8e5ccf229b4 100644 --- a/sdk/nodejs/ec2/getNetworkAcls.ts +++ b/sdk/nodejs/ec2/getNetworkAcls.ts @@ -155,7 +155,7 @@ export interface GetNetworkAclsResult { * }); * ``` */ -export function getNetworkAclsOutput(args?: GetNetworkAclsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getNetworkAclsOutput(args?: GetNetworkAclsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getNetworkAcls:getNetworkAcls", { diff --git a/sdk/nodejs/ec2/getNetworkInsightsAnalysis.ts b/sdk/nodejs/ec2/getNetworkInsightsAnalysis.ts index 884a45bded2..01a17c5436c 100644 --- a/sdk/nodejs/ec2/getNetworkInsightsAnalysis.ts +++ b/sdk/nodejs/ec2/getNetworkInsightsAnalysis.ts @@ -120,7 +120,7 @@ export interface GetNetworkInsightsAnalysisResult { * }); * ``` */ -export function getNetworkInsightsAnalysisOutput(args?: GetNetworkInsightsAnalysisOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getNetworkInsightsAnalysisOutput(args?: GetNetworkInsightsAnalysisOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis", { diff --git a/sdk/nodejs/ec2/getNetworkInsightsPath.ts b/sdk/nodejs/ec2/getNetworkInsightsPath.ts index 4b4bf605002..4b4e1843a6d 100644 --- a/sdk/nodejs/ec2/getNetworkInsightsPath.ts +++ b/sdk/nodejs/ec2/getNetworkInsightsPath.ts @@ -114,7 +114,7 @@ export interface GetNetworkInsightsPathResult { * }); * ``` */ -export function getNetworkInsightsPathOutput(args?: GetNetworkInsightsPathOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getNetworkInsightsPathOutput(args?: GetNetworkInsightsPathOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath", { diff --git a/sdk/nodejs/ec2/getNetworkInterface.ts b/sdk/nodejs/ec2/getNetworkInterface.ts index c891625f525..73ed52d8e88 100644 --- a/sdk/nodejs/ec2/getNetworkInterface.ts +++ b/sdk/nodejs/ec2/getNetworkInterface.ts @@ -139,7 +139,7 @@ export interface GetNetworkInterfaceResult { * }); * ``` */ -export function getNetworkInterfaceOutput(args?: GetNetworkInterfaceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getNetworkInterfaceOutput(args?: GetNetworkInterfaceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getNetworkInterface:getNetworkInterface", { diff --git a/sdk/nodejs/ec2/getNetworkInterfaces.ts b/sdk/nodejs/ec2/getNetworkInterfaces.ts index 987a7846027..27c091d27c9 100644 --- a/sdk/nodejs/ec2/getNetworkInterfaces.ts +++ b/sdk/nodejs/ec2/getNetworkInterfaces.ts @@ -151,7 +151,7 @@ export interface GetNetworkInterfacesResult { * } * ``` */ -export function getNetworkInterfacesOutput(args?: GetNetworkInterfacesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getNetworkInterfacesOutput(args?: GetNetworkInterfacesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getNetworkInterfaces:getNetworkInterfaces", { diff --git a/sdk/nodejs/ec2/getPrefixList.ts b/sdk/nodejs/ec2/getPrefixList.ts index 28d9636e3fa..a64dd209dc4 100644 --- a/sdk/nodejs/ec2/getPrefixList.ts +++ b/sdk/nodejs/ec2/getPrefixList.ts @@ -156,7 +156,7 @@ export interface GetPrefixListResult { * }); * ``` */ -export function getPrefixListOutput(args?: GetPrefixListOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPrefixListOutput(args?: GetPrefixListOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getPrefixList:getPrefixList", { diff --git a/sdk/nodejs/ec2/getPublicIpv4Pool.ts b/sdk/nodejs/ec2/getPublicIpv4Pool.ts index 504a32bd32b..4250cf10b6f 100644 --- a/sdk/nodejs/ec2/getPublicIpv4Pool.ts +++ b/sdk/nodejs/ec2/getPublicIpv4Pool.ts @@ -93,7 +93,7 @@ export interface GetPublicIpv4PoolResult { * }); * ``` */ -export function getPublicIpv4PoolOutput(args: GetPublicIpv4PoolOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPublicIpv4PoolOutput(args: GetPublicIpv4PoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getPublicIpv4Pool:getPublicIpv4Pool", { "poolId": args.poolId, diff --git a/sdk/nodejs/ec2/getPublicIpv4Pools.ts b/sdk/nodejs/ec2/getPublicIpv4Pools.ts index d1a8ddc8111..1f598d3a18e 100644 --- a/sdk/nodejs/ec2/getPublicIpv4Pools.ts +++ b/sdk/nodejs/ec2/getPublicIpv4Pools.ts @@ -106,7 +106,7 @@ export interface GetPublicIpv4PoolsResult { * }); * ``` */ -export function getPublicIpv4PoolsOutput(args?: GetPublicIpv4PoolsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPublicIpv4PoolsOutput(args?: GetPublicIpv4PoolsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getPublicIpv4Pools:getPublicIpv4Pools", { diff --git a/sdk/nodejs/ec2/getRoute.ts b/sdk/nodejs/ec2/getRoute.ts index 30594264335..f1a55a8a064 100644 --- a/sdk/nodejs/ec2/getRoute.ts +++ b/sdk/nodejs/ec2/getRoute.ts @@ -165,7 +165,7 @@ export interface GetRouteResult { * })); * ``` */ -export function getRouteOutput(args: GetRouteOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRouteOutput(args: GetRouteOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getRoute:getRoute", { "carrierGatewayId": args.carrierGatewayId, diff --git a/sdk/nodejs/ec2/getRouteTable.ts b/sdk/nodejs/ec2/getRouteTable.ts index 9fd21c67d48..0acbf565df8 100644 --- a/sdk/nodejs/ec2/getRouteTable.ts +++ b/sdk/nodejs/ec2/getRouteTable.ts @@ -140,7 +140,7 @@ export interface GetRouteTableResult { * }); * ``` */ -export function getRouteTableOutput(args?: GetRouteTableOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRouteTableOutput(args?: GetRouteTableOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getRouteTable:getRouteTable", { diff --git a/sdk/nodejs/ec2/getRouteTables.ts b/sdk/nodejs/ec2/getRouteTables.ts index d4d4edcf638..3fbdfd2ad48 100644 --- a/sdk/nodejs/ec2/getRouteTables.ts +++ b/sdk/nodejs/ec2/getRouteTables.ts @@ -119,7 +119,7 @@ export interface GetRouteTablesResult { * } * ``` */ -export function getRouteTablesOutput(args?: GetRouteTablesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRouteTablesOutput(args?: GetRouteTablesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getRouteTables:getRouteTables", { diff --git a/sdk/nodejs/ec2/getSecurityGroup.ts b/sdk/nodejs/ec2/getSecurityGroup.ts index 4ce66f72a20..cdfa66819de 100644 --- a/sdk/nodejs/ec2/getSecurityGroup.ts +++ b/sdk/nodejs/ec2/getSecurityGroup.ts @@ -122,7 +122,7 @@ export interface GetSecurityGroupResult { * }); * ``` */ -export function getSecurityGroupOutput(args?: GetSecurityGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSecurityGroupOutput(args?: GetSecurityGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getSecurityGroup:getSecurityGroup", { diff --git a/sdk/nodejs/ec2/getSecurityGroups.ts b/sdk/nodejs/ec2/getSecurityGroups.ts index 061bd68e79b..bf94edd872b 100644 --- a/sdk/nodejs/ec2/getSecurityGroups.ts +++ b/sdk/nodejs/ec2/getSecurityGroups.ts @@ -123,7 +123,7 @@ export interface GetSecurityGroupsResult { * }); * ``` */ -export function getSecurityGroupsOutput(args?: GetSecurityGroupsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSecurityGroupsOutput(args?: GetSecurityGroupsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getSecurityGroups:getSecurityGroups", { diff --git a/sdk/nodejs/ec2/getSerialConsoleAccess.ts b/sdk/nodejs/ec2/getSerialConsoleAccess.ts index 41046e40588..d88f28a3a2b 100644 --- a/sdk/nodejs/ec2/getSerialConsoleAccess.ts +++ b/sdk/nodejs/ec2/getSerialConsoleAccess.ts @@ -47,7 +47,7 @@ export interface GetSerialConsoleAccessResult { * const current = aws.ec2.getSerialConsoleAccess({}); * ``` */ -export function getSerialConsoleAccessOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSerialConsoleAccessOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getSerialConsoleAccess:getSerialConsoleAccess", { }, opts); diff --git a/sdk/nodejs/ec2/getSpotDatafeedSubscription.ts b/sdk/nodejs/ec2/getSpotDatafeedSubscription.ts index e2636ef5ea9..0bdcf773db4 100644 --- a/sdk/nodejs/ec2/getSpotDatafeedSubscription.ts +++ b/sdk/nodejs/ec2/getSpotDatafeedSubscription.ts @@ -55,7 +55,7 @@ export interface GetSpotDatafeedSubscriptionResult { * const default = aws.ec2.getSpotDatafeedSubscription({}); * ``` */ -export function getSpotDatafeedSubscriptionOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSpotDatafeedSubscriptionOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getSpotDatafeedSubscription:getSpotDatafeedSubscription", { }, opts); diff --git a/sdk/nodejs/ec2/getSpotPrice.ts b/sdk/nodejs/ec2/getSpotPrice.ts index 47193bbc1e8..ed49d7d0e0c 100644 --- a/sdk/nodejs/ec2/getSpotPrice.ts +++ b/sdk/nodejs/ec2/getSpotPrice.ts @@ -93,7 +93,7 @@ export interface GetSpotPriceResult { * }); * ``` */ -export function getSpotPriceOutput(args?: GetSpotPriceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSpotPriceOutput(args?: GetSpotPriceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getSpotPrice:getSpotPrice", { diff --git a/sdk/nodejs/ec2/getSubnet.ts b/sdk/nodejs/ec2/getSubnet.ts index ce898f24903..ca4d517b3e4 100644 --- a/sdk/nodejs/ec2/getSubnet.ts +++ b/sdk/nodejs/ec2/getSubnet.ts @@ -235,7 +235,7 @@ export interface GetSubnetResult { * }); * ``` */ -export function getSubnetOutput(args?: GetSubnetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSubnetOutput(args?: GetSubnetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getSubnet:getSubnet", { diff --git a/sdk/nodejs/ec2/getSubnets.ts b/sdk/nodejs/ec2/getSubnets.ts index 442e570db5b..310b0981173 100644 --- a/sdk/nodejs/ec2/getSubnets.ts +++ b/sdk/nodejs/ec2/getSubnets.ts @@ -55,7 +55,7 @@ export interface GetSubnetsResult { /** * This resource can be useful for getting back a set of subnet IDs. */ -export function getSubnetsOutput(args?: GetSubnetsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSubnetsOutput(args?: GetSubnetsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getSubnets:getSubnets", { diff --git a/sdk/nodejs/ec2/getTransitGatewayRouteTables.ts b/sdk/nodejs/ec2/getTransitGatewayRouteTables.ts index 8d3287da356..f32d2b8b9cb 100644 --- a/sdk/nodejs/ec2/getTransitGatewayRouteTables.ts +++ b/sdk/nodejs/ec2/getTransitGatewayRouteTables.ts @@ -87,7 +87,7 @@ export interface GetTransitGatewayRouteTablesResult { * } * ``` */ -export function getTransitGatewayRouteTablesOutput(args?: GetTransitGatewayRouteTablesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getTransitGatewayRouteTablesOutput(args?: GetTransitGatewayRouteTablesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables", { diff --git a/sdk/nodejs/ec2/getVpc.ts b/sdk/nodejs/ec2/getVpc.ts index 84eff2f5009..abecc57d244 100644 --- a/sdk/nodejs/ec2/getVpc.ts +++ b/sdk/nodejs/ec2/getVpc.ts @@ -185,7 +185,7 @@ export interface GetVpcResult { * }); * ``` */ -export function getVpcOutput(args?: GetVpcOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpcOutput(args?: GetVpcOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getVpc:getVpc", { diff --git a/sdk/nodejs/ec2/getVpcDhcpOptions.ts b/sdk/nodejs/ec2/getVpcDhcpOptions.ts index aecff4e0eeb..66a171c5ae8 100644 --- a/sdk/nodejs/ec2/getVpcDhcpOptions.ts +++ b/sdk/nodejs/ec2/getVpcDhcpOptions.ts @@ -157,7 +157,7 @@ export interface GetVpcDhcpOptionsResult { * }); * ``` */ -export function getVpcDhcpOptionsOutput(args?: GetVpcDhcpOptionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpcDhcpOptionsOutput(args?: GetVpcDhcpOptionsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions", { diff --git a/sdk/nodejs/ec2/getVpcEndpoint.ts b/sdk/nodejs/ec2/getVpcEndpoint.ts index 996d6f53dc7..6081983231a 100644 --- a/sdk/nodejs/ec2/getVpcEndpoint.ts +++ b/sdk/nodejs/ec2/getVpcEndpoint.ts @@ -164,7 +164,7 @@ export interface GetVpcEndpointResult { * }); * ``` */ -export function getVpcEndpointOutput(args?: GetVpcEndpointOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpcEndpointOutput(args?: GetVpcEndpointOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getVpcEndpoint:getVpcEndpoint", { diff --git a/sdk/nodejs/ec2/getVpcEndpointService.ts b/sdk/nodejs/ec2/getVpcEndpointService.ts index 6d2cd9c61d9..8133e44625a 100644 --- a/sdk/nodejs/ec2/getVpcEndpointService.ts +++ b/sdk/nodejs/ec2/getVpcEndpointService.ts @@ -210,7 +210,7 @@ export interface GetVpcEndpointServiceResult { * }); * ``` */ -export function getVpcEndpointServiceOutput(args?: GetVpcEndpointServiceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpcEndpointServiceOutput(args?: GetVpcEndpointServiceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getVpcEndpointService:getVpcEndpointService", { diff --git a/sdk/nodejs/ec2/getVpcIamPool.ts b/sdk/nodejs/ec2/getVpcIamPool.ts index 5364e555c77..d8f4cfa4c7d 100644 --- a/sdk/nodejs/ec2/getVpcIamPool.ts +++ b/sdk/nodejs/ec2/getVpcIamPool.ts @@ -188,7 +188,7 @@ export interface GetVpcIamPoolResult { * ``` */ /** @deprecated aws.ec2/getvpciampool.getVpcIamPool has been deprecated in favor of aws.ec2/getvpcipampool.getVpcIpamPool */ -export function getVpcIamPoolOutput(args?: GetVpcIamPoolOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpcIamPoolOutput(args?: GetVpcIamPoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { pulumi.log.warn("getVpcIamPool is deprecated: aws.ec2/getvpciampool.getVpcIamPool has been deprecated in favor of aws.ec2/getvpcipampool.getVpcIpamPool") args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); diff --git a/sdk/nodejs/ec2/getVpcIamPoolCidrs.ts b/sdk/nodejs/ec2/getVpcIamPoolCidrs.ts index 9d4a10d120e..8c568404a8d 100644 --- a/sdk/nodejs/ec2/getVpcIamPoolCidrs.ts +++ b/sdk/nodejs/ec2/getVpcIamPoolCidrs.ts @@ -157,7 +157,7 @@ export interface GetVpcIamPoolCidrsResult { * ``` */ /** @deprecated aws.ec2/getvpciampoolcidrs.getVpcIamPoolCidrs has been deprecated in favor of aws.ec2/getvpcipampoolcidrs.getVpcIpamPoolCidrs */ -export function getVpcIamPoolCidrsOutput(args: GetVpcIamPoolCidrsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpcIamPoolCidrsOutput(args: GetVpcIamPoolCidrsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { pulumi.log.warn("getVpcIamPoolCidrs is deprecated: aws.ec2/getvpciampoolcidrs.getVpcIamPoolCidrs has been deprecated in favor of aws.ec2/getvpcipampoolcidrs.getVpcIpamPoolCidrs") opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs", { diff --git a/sdk/nodejs/ec2/getVpcIamPools.ts b/sdk/nodejs/ec2/getVpcIamPools.ts index a5f1f23084a..6bdee72a79f 100644 --- a/sdk/nodejs/ec2/getVpcIamPools.ts +++ b/sdk/nodejs/ec2/getVpcIamPools.ts @@ -96,7 +96,7 @@ export interface GetVpcIamPoolsResult { * ``` */ /** @deprecated aws.ec2/getvpciampools.getVpcIamPools has been deprecated in favor of aws.ec2/getvpcipampools.getVpcIpamPools */ -export function getVpcIamPoolsOutput(args?: GetVpcIamPoolsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpcIamPoolsOutput(args?: GetVpcIamPoolsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { pulumi.log.warn("getVpcIamPools is deprecated: aws.ec2/getvpciampools.getVpcIamPools has been deprecated in favor of aws.ec2/getvpcipampools.getVpcIpamPools") args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); diff --git a/sdk/nodejs/ec2/getVpcIpamPool.ts b/sdk/nodejs/ec2/getVpcIpamPool.ts index 86d1e325140..da9ba8f78cf 100644 --- a/sdk/nodejs/ec2/getVpcIpamPool.ts +++ b/sdk/nodejs/ec2/getVpcIpamPool.ts @@ -185,7 +185,7 @@ export interface GetVpcIpamPoolResult { * }); * ``` */ -export function getVpcIpamPoolOutput(args?: GetVpcIpamPoolOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpcIpamPoolOutput(args?: GetVpcIpamPoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getVpcIpamPool:getVpcIpamPool", { diff --git a/sdk/nodejs/ec2/getVpcIpamPoolCidrs.ts b/sdk/nodejs/ec2/getVpcIpamPoolCidrs.ts index cc38340b61d..f2ff4252dcd 100644 --- a/sdk/nodejs/ec2/getVpcIpamPoolCidrs.ts +++ b/sdk/nodejs/ec2/getVpcIpamPoolCidrs.ts @@ -154,7 +154,7 @@ export interface GetVpcIpamPoolCidrsResult { * }); * ``` */ -export function getVpcIpamPoolCidrsOutput(args: GetVpcIpamPoolCidrsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpcIpamPoolCidrsOutput(args: GetVpcIpamPoolCidrsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getVpcIpamPoolCidrs:getVpcIpamPoolCidrs", { "filters": args.filters, diff --git a/sdk/nodejs/ec2/getVpcIpamPools.ts b/sdk/nodejs/ec2/getVpcIpamPools.ts index 8006ad88799..b44bcbfbe61 100644 --- a/sdk/nodejs/ec2/getVpcIpamPools.ts +++ b/sdk/nodejs/ec2/getVpcIpamPools.ts @@ -93,7 +93,7 @@ export interface GetVpcIpamPoolsResult { * }); * ``` */ -export function getVpcIpamPoolsOutput(args?: GetVpcIpamPoolsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpcIpamPoolsOutput(args?: GetVpcIpamPoolsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getVpcIpamPools:getVpcIpamPools", { diff --git a/sdk/nodejs/ec2/getVpcPeeringConnection.ts b/sdk/nodejs/ec2/getVpcPeeringConnection.ts index 6c156f28636..b9773f1975a 100644 --- a/sdk/nodejs/ec2/getVpcPeeringConnection.ts +++ b/sdk/nodejs/ec2/getVpcPeeringConnection.ts @@ -180,7 +180,7 @@ export interface GetVpcPeeringConnectionResult { * }); * ``` */ -export function getVpcPeeringConnectionOutput(args?: GetVpcPeeringConnectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpcPeeringConnectionOutput(args?: GetVpcPeeringConnectionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection", { diff --git a/sdk/nodejs/ec2/getVpcPeeringConnections.ts b/sdk/nodejs/ec2/getVpcPeeringConnections.ts index 3c91cf07daa..13f9dcae20b 100644 --- a/sdk/nodejs/ec2/getVpcPeeringConnections.ts +++ b/sdk/nodejs/ec2/getVpcPeeringConnections.ts @@ -101,7 +101,7 @@ export interface GetVpcPeeringConnectionsResult { * }))); * ``` */ -export function getVpcPeeringConnectionsOutput(args?: GetVpcPeeringConnectionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpcPeeringConnectionsOutput(args?: GetVpcPeeringConnectionsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getVpcPeeringConnections:getVpcPeeringConnections", { diff --git a/sdk/nodejs/ec2/getVpcs.ts b/sdk/nodejs/ec2/getVpcs.ts index 6b7e920834f..5ef9666c3c1 100644 --- a/sdk/nodejs/ec2/getVpcs.ts +++ b/sdk/nodejs/ec2/getVpcs.ts @@ -141,7 +141,7 @@ export interface GetVpcsResult { * } * ``` */ -export function getVpcsOutput(args?: GetVpcsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpcsOutput(args?: GetVpcsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getVpcs:getVpcs", { diff --git a/sdk/nodejs/ec2/getVpnGateway.ts b/sdk/nodejs/ec2/getVpnGateway.ts index 0526d8fd7b5..5abfeb30329 100644 --- a/sdk/nodejs/ec2/getVpnGateway.ts +++ b/sdk/nodejs/ec2/getVpnGateway.ts @@ -110,7 +110,7 @@ export interface GetVpnGatewayResult { * export const vpnGatewayId = selected.then(selected => selected.id); * ``` */ -export function getVpnGatewayOutput(args?: GetVpnGatewayOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpnGatewayOutput(args?: GetVpnGatewayOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2/getVpnGateway:getVpnGateway", { diff --git a/sdk/nodejs/ec2clientvpn/getEndpoint.ts b/sdk/nodejs/ec2clientvpn/getEndpoint.ts index d7c5b07accb..e7ac9034d5a 100644 --- a/sdk/nodejs/ec2clientvpn/getEndpoint.ts +++ b/sdk/nodejs/ec2clientvpn/getEndpoint.ts @@ -179,7 +179,7 @@ export interface GetEndpointResult { * }); * ``` */ -export function getEndpointOutput(args?: GetEndpointOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEndpointOutput(args?: GetEndpointOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2clientvpn/getEndpoint:getEndpoint", { diff --git a/sdk/nodejs/ec2transitgateway/getAttachment.ts b/sdk/nodejs/ec2transitgateway/getAttachment.ts index 2d05b5e045f..b317d25ca41 100644 --- a/sdk/nodejs/ec2transitgateway/getAttachment.ts +++ b/sdk/nodejs/ec2transitgateway/getAttachment.ts @@ -132,7 +132,7 @@ export interface GetAttachmentResult { * }); * ``` */ -export function getAttachmentOutput(args?: GetAttachmentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAttachmentOutput(args?: GetAttachmentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2transitgateway/getAttachment:getAttachment", { diff --git a/sdk/nodejs/ec2transitgateway/getAttachments.ts b/sdk/nodejs/ec2transitgateway/getAttachments.ts index 3c3c6e15504..8adca8279c2 100644 --- a/sdk/nodejs/ec2transitgateway/getAttachments.ts +++ b/sdk/nodejs/ec2transitgateway/getAttachments.ts @@ -98,7 +98,7 @@ export interface GetAttachmentsResult { * }))); * ``` */ -export function getAttachmentsOutput(args?: GetAttachmentsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAttachmentsOutput(args?: GetAttachmentsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2transitgateway/getAttachments:getAttachments", { diff --git a/sdk/nodejs/ec2transitgateway/getConnect.ts b/sdk/nodejs/ec2transitgateway/getConnect.ts index 81701bb27ce..f47f9d3426a 100644 --- a/sdk/nodejs/ec2transitgateway/getConnect.ts +++ b/sdk/nodejs/ec2transitgateway/getConnect.ts @@ -122,7 +122,7 @@ export interface GetConnectResult { * }); * ``` */ -export function getConnectOutput(args?: GetConnectOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getConnectOutput(args?: GetConnectOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2transitgateway/getConnect:getConnect", { diff --git a/sdk/nodejs/ec2transitgateway/getConnectPeer.ts b/sdk/nodejs/ec2transitgateway/getConnectPeer.ts index b8dbc7395ce..37653ed748f 100644 --- a/sdk/nodejs/ec2transitgateway/getConnectPeer.ts +++ b/sdk/nodejs/ec2transitgateway/getConnectPeer.ts @@ -142,7 +142,7 @@ export interface GetConnectPeerResult { * }); * ``` */ -export function getConnectPeerOutput(args?: GetConnectPeerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getConnectPeerOutput(args?: GetConnectPeerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2transitgateway/getConnectPeer:getConnectPeer", { diff --git a/sdk/nodejs/ec2transitgateway/getDirectConnectGatewayAttachment.ts b/sdk/nodejs/ec2transitgateway/getDirectConnectGatewayAttachment.ts index f735dfa5800..9f02c34f5ea 100644 --- a/sdk/nodejs/ec2transitgateway/getDirectConnectGatewayAttachment.ts +++ b/sdk/nodejs/ec2transitgateway/getDirectConnectGatewayAttachment.ts @@ -90,7 +90,7 @@ export interface GetDirectConnectGatewayAttachmentResult { * }); * ``` */ -export function getDirectConnectGatewayAttachmentOutput(args?: GetDirectConnectGatewayAttachmentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDirectConnectGatewayAttachmentOutput(args?: GetDirectConnectGatewayAttachmentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment", { diff --git a/sdk/nodejs/ec2transitgateway/getMulticastDomain.ts b/sdk/nodejs/ec2transitgateway/getMulticastDomain.ts index 8aaf1492e1c..98fecc8863c 100644 --- a/sdk/nodejs/ec2transitgateway/getMulticastDomain.ts +++ b/sdk/nodejs/ec2transitgateway/getMulticastDomain.ts @@ -151,7 +151,7 @@ export interface GetMulticastDomainResult { * }); * ``` */ -export function getMulticastDomainOutput(args?: GetMulticastDomainOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getMulticastDomainOutput(args?: GetMulticastDomainOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2transitgateway/getMulticastDomain:getMulticastDomain", { diff --git a/sdk/nodejs/ec2transitgateway/getPeeringAttachment.ts b/sdk/nodejs/ec2transitgateway/getPeeringAttachment.ts index d7f22e6884b..9e996267b9a 100644 --- a/sdk/nodejs/ec2transitgateway/getPeeringAttachment.ts +++ b/sdk/nodejs/ec2transitgateway/getPeeringAttachment.ts @@ -124,7 +124,7 @@ export interface GetPeeringAttachmentResult { * }); * ``` */ -export function getPeeringAttachmentOutput(args?: GetPeeringAttachmentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPeeringAttachmentOutput(args?: GetPeeringAttachmentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2transitgateway/getPeeringAttachment:getPeeringAttachment", { diff --git a/sdk/nodejs/ec2transitgateway/getPeeringAttachments.ts b/sdk/nodejs/ec2transitgateway/getPeeringAttachments.ts index 14d69d77ec4..5732b937f48 100644 --- a/sdk/nodejs/ec2transitgateway/getPeeringAttachments.ts +++ b/sdk/nodejs/ec2transitgateway/getPeeringAttachments.ts @@ -101,7 +101,7 @@ export interface GetPeeringAttachmentsResult { * }))); * ``` */ -export function getPeeringAttachmentsOutput(args?: GetPeeringAttachmentsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPeeringAttachmentsOutput(args?: GetPeeringAttachmentsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2transitgateway/getPeeringAttachments:getPeeringAttachments", { diff --git a/sdk/nodejs/ec2transitgateway/getRouteTable.ts b/sdk/nodejs/ec2transitgateway/getRouteTable.ts index 319682441ee..f60364f3b28 100644 --- a/sdk/nodejs/ec2transitgateway/getRouteTable.ts +++ b/sdk/nodejs/ec2transitgateway/getRouteTable.ts @@ -137,7 +137,7 @@ export interface GetRouteTableResult { * }); * ``` */ -export function getRouteTableOutput(args?: GetRouteTableOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRouteTableOutput(args?: GetRouteTableOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2transitgateway/getRouteTable:getRouteTable", { diff --git a/sdk/nodejs/ec2transitgateway/getRouteTableAssociations.ts b/sdk/nodejs/ec2transitgateway/getRouteTableAssociations.ts index 491f94a762f..684627c1ed7 100644 --- a/sdk/nodejs/ec2transitgateway/getRouteTableAssociations.ts +++ b/sdk/nodejs/ec2transitgateway/getRouteTableAssociations.ts @@ -81,7 +81,7 @@ export interface GetRouteTableAssociationsResult { * }); * ``` */ -export function getRouteTableAssociationsOutput(args: GetRouteTableAssociationsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRouteTableAssociationsOutput(args: GetRouteTableAssociationsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2transitgateway/getRouteTableAssociations:getRouteTableAssociations", { "filters": args.filters, diff --git a/sdk/nodejs/ec2transitgateway/getRouteTablePropagations.ts b/sdk/nodejs/ec2transitgateway/getRouteTablePropagations.ts index 63fef822e1e..5568585ffb1 100644 --- a/sdk/nodejs/ec2transitgateway/getRouteTablePropagations.ts +++ b/sdk/nodejs/ec2transitgateway/getRouteTablePropagations.ts @@ -81,7 +81,7 @@ export interface GetRouteTablePropagationsResult { * }); * ``` */ -export function getRouteTablePropagationsOutput(args: GetRouteTablePropagationsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRouteTablePropagationsOutput(args: GetRouteTablePropagationsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2transitgateway/getRouteTablePropagations:getRouteTablePropagations", { "filters": args.filters, diff --git a/sdk/nodejs/ec2transitgateway/getRouteTableRoutes.ts b/sdk/nodejs/ec2transitgateway/getRouteTableRoutes.ts index 902a6d3f83c..52dc6ad8bf1 100644 --- a/sdk/nodejs/ec2transitgateway/getRouteTableRoutes.ts +++ b/sdk/nodejs/ec2transitgateway/getRouteTableRoutes.ts @@ -83,7 +83,7 @@ export interface GetRouteTableRoutesResult { * }); * ``` */ -export function getRouteTableRoutesOutput(args: GetRouteTableRoutesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRouteTableRoutesOutput(args: GetRouteTableRoutesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes", { "filters": args.filters, diff --git a/sdk/nodejs/ec2transitgateway/getTransitGateway.ts b/sdk/nodejs/ec2transitgateway/getTransitGateway.ts index 358e1dda879..77e4688b0c9 100644 --- a/sdk/nodejs/ec2transitgateway/getTransitGateway.ts +++ b/sdk/nodejs/ec2transitgateway/getTransitGateway.ts @@ -165,7 +165,7 @@ export interface GetTransitGatewayResult { * }); * ``` */ -export function getTransitGatewayOutput(args?: GetTransitGatewayOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getTransitGatewayOutput(args?: GetTransitGatewayOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2transitgateway/getTransitGateway:getTransitGateway", { diff --git a/sdk/nodejs/ec2transitgateway/getVpcAttachment.ts b/sdk/nodejs/ec2transitgateway/getVpcAttachment.ts index 480c606288d..2f43f243013 100644 --- a/sdk/nodejs/ec2transitgateway/getVpcAttachment.ts +++ b/sdk/nodejs/ec2transitgateway/getVpcAttachment.ts @@ -141,7 +141,7 @@ export interface GetVpcAttachmentResult { * }); * ``` */ -export function getVpcAttachmentOutput(args?: GetVpcAttachmentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpcAttachmentOutput(args?: GetVpcAttachmentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2transitgateway/getVpcAttachment:getVpcAttachment", { diff --git a/sdk/nodejs/ec2transitgateway/getVpcAttachments.ts b/sdk/nodejs/ec2transitgateway/getVpcAttachments.ts index 2b68e7cca53..f5469c5df8b 100644 --- a/sdk/nodejs/ec2transitgateway/getVpcAttachments.ts +++ b/sdk/nodejs/ec2transitgateway/getVpcAttachments.ts @@ -83,7 +83,7 @@ export interface GetVpcAttachmentsResult { * }))); * ``` */ -export function getVpcAttachmentsOutput(args?: GetVpcAttachmentsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpcAttachmentsOutput(args?: GetVpcAttachmentsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2transitgateway/getVpcAttachments:getVpcAttachments", { diff --git a/sdk/nodejs/ec2transitgateway/getVpnAttachment.ts b/sdk/nodejs/ec2transitgateway/getVpnAttachment.ts index 7d4d89062d8..4c1546cead6 100644 --- a/sdk/nodejs/ec2transitgateway/getVpnAttachment.ts +++ b/sdk/nodejs/ec2transitgateway/getVpnAttachment.ts @@ -122,7 +122,7 @@ export interface GetVpnAttachmentResult { * }); * ``` */ -export function getVpnAttachmentOutput(args?: GetVpnAttachmentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpnAttachmentOutput(args?: GetVpnAttachmentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ec2transitgateway/getVpnAttachment:getVpnAttachment", { diff --git a/sdk/nodejs/ecr/getAuthorizationToken.ts b/sdk/nodejs/ecr/getAuthorizationToken.ts index 8786433456b..730e071c7dc 100644 --- a/sdk/nodejs/ecr/getAuthorizationToken.ts +++ b/sdk/nodejs/ecr/getAuthorizationToken.ts @@ -76,7 +76,7 @@ export interface GetAuthorizationTokenResult { * const token = aws.ecr.getAuthorizationToken({}); * ``` */ -export function getAuthorizationTokenOutput(args?: GetAuthorizationTokenOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAuthorizationTokenOutput(args?: GetAuthorizationTokenOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ecr/getAuthorizationToken:getAuthorizationToken", { diff --git a/sdk/nodejs/ecr/getCredentials.ts b/sdk/nodejs/ecr/getCredentials.ts index 88b2bb17cc3..6dbd14ce1ea 100644 --- a/sdk/nodejs/ecr/getCredentials.ts +++ b/sdk/nodejs/ecr/getCredentials.ts @@ -31,7 +31,7 @@ export interface GetCredentialsResult { readonly proxyEndpoint: string; readonly registryId: string; } -export function getCredentialsOutput(args: GetCredentialsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCredentialsOutput(args: GetCredentialsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ecr/getCredentials:getCredentials", { "registryId": args.registryId, diff --git a/sdk/nodejs/ecr/getImage.ts b/sdk/nodejs/ecr/getImage.ts index f6dfe0a49eb..19cd0f760d6 100644 --- a/sdk/nodejs/ecr/getImage.ts +++ b/sdk/nodejs/ecr/getImage.ts @@ -101,7 +101,7 @@ export interface GetImageResult { * }); * ``` */ -export function getImageOutput(args: GetImageOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getImageOutput(args: GetImageOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ecr/getImage:getImage", { "imageDigest": args.imageDigest, diff --git a/sdk/nodejs/ecr/getLifecyclePolicyDocument.ts b/sdk/nodejs/ecr/getLifecyclePolicyDocument.ts index 83f754adfb0..96a3f6cd5c0 100644 --- a/sdk/nodejs/ecr/getLifecyclePolicyDocument.ts +++ b/sdk/nodejs/ecr/getLifecyclePolicyDocument.ts @@ -94,7 +94,7 @@ export interface GetLifecyclePolicyDocumentResult { * }); * ``` */ -export function getLifecyclePolicyDocumentOutput(args?: GetLifecyclePolicyDocumentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLifecyclePolicyDocumentOutput(args?: GetLifecyclePolicyDocumentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ecr/getLifecyclePolicyDocument:getLifecyclePolicyDocument", { diff --git a/sdk/nodejs/ecr/getPullThroughCacheRule.ts b/sdk/nodejs/ecr/getPullThroughCacheRule.ts index 4e036cbbe82..6bbd4118905 100644 --- a/sdk/nodejs/ecr/getPullThroughCacheRule.ts +++ b/sdk/nodejs/ecr/getPullThroughCacheRule.ts @@ -71,7 +71,7 @@ export interface GetPullThroughCacheRuleResult { * }); * ``` */ -export function getPullThroughCacheRuleOutput(args: GetPullThroughCacheRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPullThroughCacheRuleOutput(args: GetPullThroughCacheRuleOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ecr/getPullThroughCacheRule:getPullThroughCacheRule", { "ecrRepositoryPrefix": args.ecrRepositoryPrefix, diff --git a/sdk/nodejs/ecr/getRepositories.ts b/sdk/nodejs/ecr/getRepositories.ts index b91bd9a6fe1..2eeac4f82fc 100644 --- a/sdk/nodejs/ecr/getRepositories.ts +++ b/sdk/nodejs/ecr/getRepositories.ts @@ -51,7 +51,7 @@ export interface GetRepositoriesResult { * const example = aws.ecr.getRepositories({}); * ``` */ -export function getRepositoriesOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRepositoriesOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ecr/getRepositories:getRepositories", { }, opts); diff --git a/sdk/nodejs/ecr/getRepository.ts b/sdk/nodejs/ecr/getRepository.ts index b7dd4199126..cf467286274 100644 --- a/sdk/nodejs/ecr/getRepository.ts +++ b/sdk/nodejs/ecr/getRepository.ts @@ -101,7 +101,7 @@ export interface GetRepositoryResult { * }); * ``` */ -export function getRepositoryOutput(args: GetRepositoryOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRepositoryOutput(args: GetRepositoryOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ecr/getRepository:getRepository", { "name": args.name, diff --git a/sdk/nodejs/ecr/getRepositoryCreationTemplate.ts b/sdk/nodejs/ecr/getRepositoryCreationTemplate.ts index cb03546663e..6fc6815d27c 100644 --- a/sdk/nodejs/ecr/getRepositoryCreationTemplate.ts +++ b/sdk/nodejs/ecr/getRepositoryCreationTemplate.ts @@ -103,7 +103,7 @@ export interface GetRepositoryCreationTemplateResult { * }); * ``` */ -export function getRepositoryCreationTemplateOutput(args: GetRepositoryCreationTemplateOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRepositoryCreationTemplateOutput(args: GetRepositoryCreationTemplateOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ecr/getRepositoryCreationTemplate:getRepositoryCreationTemplate", { "prefix": args.prefix, diff --git a/sdk/nodejs/ecrpublic/getAuthorizationToken.ts b/sdk/nodejs/ecrpublic/getAuthorizationToken.ts index a15a5f8e5d0..68f6d1b6e17 100644 --- a/sdk/nodejs/ecrpublic/getAuthorizationToken.ts +++ b/sdk/nodejs/ecrpublic/getAuthorizationToken.ts @@ -63,7 +63,7 @@ export interface GetAuthorizationTokenResult { * const token = aws.ecrpublic.getAuthorizationToken({}); * ``` */ -export function getAuthorizationTokenOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAuthorizationTokenOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ecrpublic/getAuthorizationToken:getAuthorizationToken", { }, opts); diff --git a/sdk/nodejs/ecs/getCluster.ts b/sdk/nodejs/ecs/getCluster.ts index feed3739c15..504c950ce6f 100644 --- a/sdk/nodejs/ecs/getCluster.ts +++ b/sdk/nodejs/ecs/getCluster.ts @@ -101,7 +101,7 @@ export interface GetClusterResult { * }); * ``` */ -export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ecs/getCluster:getCluster", { "clusterName": args.clusterName, diff --git a/sdk/nodejs/ecs/getContainerDefinition.ts b/sdk/nodejs/ecs/getContainerDefinition.ts index 8e7ca46d4a6..84c030e2cdf 100644 --- a/sdk/nodejs/ecs/getContainerDefinition.ts +++ b/sdk/nodejs/ecs/getContainerDefinition.ts @@ -101,7 +101,7 @@ export interface GetContainerDefinitionResult { * }); * ``` */ -export function getContainerDefinitionOutput(args: GetContainerDefinitionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getContainerDefinitionOutput(args: GetContainerDefinitionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ecs/getContainerDefinition:getContainerDefinition", { "containerName": args.containerName, diff --git a/sdk/nodejs/ecs/getService.ts b/sdk/nodejs/ecs/getService.ts index d4afc392b5d..9779b10042e 100644 --- a/sdk/nodejs/ecs/getService.ts +++ b/sdk/nodejs/ecs/getService.ts @@ -99,7 +99,7 @@ export interface GetServiceResult { * }); * ``` */ -export function getServiceOutput(args: GetServiceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServiceOutput(args: GetServiceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ecs/getService:getService", { "clusterArn": args.clusterArn, diff --git a/sdk/nodejs/ecs/getTaskDefinition.ts b/sdk/nodejs/ecs/getTaskDefinition.ts index dbe55f554e1..7b6c93d1561 100644 --- a/sdk/nodejs/ecs/getTaskDefinition.ts +++ b/sdk/nodejs/ecs/getTaskDefinition.ts @@ -145,7 +145,7 @@ export interface GetTaskDefinitionResult { * }); * ``` */ -export function getTaskDefinitionOutput(args: GetTaskDefinitionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getTaskDefinitionOutput(args: GetTaskDefinitionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ecs/getTaskDefinition:getTaskDefinition", { "taskDefinition": args.taskDefinition, diff --git a/sdk/nodejs/ecs/getTaskExecution.ts b/sdk/nodejs/ecs/getTaskExecution.ts index ea51321f95e..0ca87a9db95 100644 --- a/sdk/nodejs/ecs/getTaskExecution.ts +++ b/sdk/nodejs/ecs/getTaskExecution.ts @@ -194,7 +194,7 @@ export interface GetTaskExecutionResult { * }); * ``` */ -export function getTaskExecutionOutput(args: GetTaskExecutionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getTaskExecutionOutput(args: GetTaskExecutionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ecs/getTaskExecution:getTaskExecution", { "capacityProviderStrategies": args.capacityProviderStrategies, diff --git a/sdk/nodejs/efs/getAccessPoint.ts b/sdk/nodejs/efs/getAccessPoint.ts index cc066c9f180..60d694222d3 100644 --- a/sdk/nodejs/efs/getAccessPoint.ts +++ b/sdk/nodejs/efs/getAccessPoint.ts @@ -92,7 +92,7 @@ export interface GetAccessPointResult { * }); * ``` */ -export function getAccessPointOutput(args: GetAccessPointOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAccessPointOutput(args: GetAccessPointOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:efs/getAccessPoint:getAccessPoint", { "accessPointId": args.accessPointId, diff --git a/sdk/nodejs/efs/getAccessPoints.ts b/sdk/nodejs/efs/getAccessPoints.ts index 47e953c449e..afca2bf91af 100644 --- a/sdk/nodejs/efs/getAccessPoints.ts +++ b/sdk/nodejs/efs/getAccessPoints.ts @@ -67,7 +67,7 @@ export interface GetAccessPointsResult { * }); * ``` */ -export function getAccessPointsOutput(args: GetAccessPointsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAccessPointsOutput(args: GetAccessPointsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:efs/getAccessPoints:getAccessPoints", { "fileSystemId": args.fileSystemId, diff --git a/sdk/nodejs/efs/getFileSystem.ts b/sdk/nodejs/efs/getFileSystem.ts index 559d30987ac..a1d3088f57f 100644 --- a/sdk/nodejs/efs/getFileSystem.ts +++ b/sdk/nodejs/efs/getFileSystem.ts @@ -144,7 +144,7 @@ export interface GetFileSystemResult { * }); * ``` */ -export function getFileSystemOutput(args?: GetFileSystemOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getFileSystemOutput(args?: GetFileSystemOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:efs/getFileSystem:getFileSystem", { diff --git a/sdk/nodejs/efs/getMountTarget.ts b/sdk/nodejs/efs/getMountTarget.ts index dc232bef522..6ea0d2d79fb 100644 --- a/sdk/nodejs/efs/getMountTarget.ts +++ b/sdk/nodejs/efs/getMountTarget.ts @@ -116,7 +116,7 @@ export interface GetMountTargetResult { * }); * ``` */ -export function getMountTargetOutput(args?: GetMountTargetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getMountTargetOutput(args?: GetMountTargetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:efs/getMountTarget:getMountTarget", { diff --git a/sdk/nodejs/eks/getAccessEntry.ts b/sdk/nodejs/eks/getAccessEntry.ts index 2380205c229..31d6011e497 100644 --- a/sdk/nodejs/eks/getAccessEntry.ts +++ b/sdk/nodejs/eks/getAccessEntry.ts @@ -100,7 +100,7 @@ export interface GetAccessEntryResult { * export const eksAccessEntryOutputs = exampleAwsEksAccessEntry; * ``` */ -export function getAccessEntryOutput(args: GetAccessEntryOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAccessEntryOutput(args: GetAccessEntryOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:eks/getAccessEntry:getAccessEntry", { "clusterName": args.clusterName, diff --git a/sdk/nodejs/eks/getAddon.ts b/sdk/nodejs/eks/getAddon.ts index 077fd387f0c..182fde5363a 100644 --- a/sdk/nodejs/eks/getAddon.ts +++ b/sdk/nodejs/eks/getAddon.ts @@ -105,7 +105,7 @@ export interface GetAddonResult { * export const eksAddonOutputs = exampleAwsEksAddon; * ``` */ -export function getAddonOutput(args: GetAddonOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAddonOutput(args: GetAddonOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:eks/getAddon:getAddon", { "addonName": args.addonName, diff --git a/sdk/nodejs/eks/getAddonVersion.ts b/sdk/nodejs/eks/getAddonVersion.ts index 6f2a4c4a54f..07b94785b2a 100644 --- a/sdk/nodejs/eks/getAddonVersion.ts +++ b/sdk/nodejs/eks/getAddonVersion.ts @@ -110,7 +110,7 @@ export interface GetAddonVersionResult { * } * ``` */ -export function getAddonVersionOutput(args: GetAddonVersionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAddonVersionOutput(args: GetAddonVersionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:eks/getAddonVersion:getAddonVersion", { "addonName": args.addonName, diff --git a/sdk/nodejs/eks/getCluster.ts b/sdk/nodejs/eks/getCluster.ts index e105c3c393a..0682b2d29b9 100644 --- a/sdk/nodejs/eks/getCluster.ts +++ b/sdk/nodejs/eks/getCluster.ts @@ -163,7 +163,7 @@ export interface GetClusterResult { * } * ``` */ -export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:eks/getCluster:getCluster", { "name": args.name, diff --git a/sdk/nodejs/eks/getClusterAuth.ts b/sdk/nodejs/eks/getClusterAuth.ts index 9e751710fcf..be88596b3eb 100644 --- a/sdk/nodejs/eks/getClusterAuth.ts +++ b/sdk/nodejs/eks/getClusterAuth.ts @@ -79,7 +79,7 @@ export interface GetClusterAuthResult { * }); * ``` */ -export function getClusterAuthOutput(args: GetClusterAuthOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getClusterAuthOutput(args: GetClusterAuthOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:eks/getClusterAuth:getClusterAuth", { "name": args.name, diff --git a/sdk/nodejs/eks/getClusters.ts b/sdk/nodejs/eks/getClusters.ts index 24835889e68..2cd67c1d439 100644 --- a/sdk/nodejs/eks/getClusters.ts +++ b/sdk/nodejs/eks/getClusters.ts @@ -29,7 +29,7 @@ export interface GetClustersResult { /** * Retrieve EKS Clusters list */ -export function getClustersOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getClustersOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:eks/getClusters:getClusters", { }, opts); diff --git a/sdk/nodejs/eks/getNodeGroup.ts b/sdk/nodejs/eks/getNodeGroup.ts index 185e764c1f6..ce2b589dbee 100644 --- a/sdk/nodejs/eks/getNodeGroup.ts +++ b/sdk/nodejs/eks/getNodeGroup.ts @@ -143,7 +143,7 @@ export interface GetNodeGroupResult { * }); * ``` */ -export function getNodeGroupOutput(args: GetNodeGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getNodeGroupOutput(args: GetNodeGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:eks/getNodeGroup:getNodeGroup", { "clusterName": args.clusterName, diff --git a/sdk/nodejs/eks/getNodeGroups.ts b/sdk/nodejs/eks/getNodeGroups.ts index 6d63a648727..fcda690726f 100644 --- a/sdk/nodejs/eks/getNodeGroups.ts +++ b/sdk/nodejs/eks/getNodeGroups.ts @@ -71,7 +71,7 @@ export interface GetNodeGroupsResult { * }) }))); * ``` */ -export function getNodeGroupsOutput(args: GetNodeGroupsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getNodeGroupsOutput(args: GetNodeGroupsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:eks/getNodeGroups:getNodeGroups", { "clusterName": args.clusterName, diff --git a/sdk/nodejs/elasticache/getCluster.ts b/sdk/nodejs/elasticache/getCluster.ts index 938ea7c110d..e63ece3b316 100644 --- a/sdk/nodejs/elasticache/getCluster.ts +++ b/sdk/nodejs/elasticache/getCluster.ts @@ -162,7 +162,7 @@ export interface GetClusterResult { * }); * ``` */ -export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:elasticache/getCluster:getCluster", { "clusterId": args.clusterId, diff --git a/sdk/nodejs/elasticache/getReplicationGroup.ts b/sdk/nodejs/elasticache/getReplicationGroup.ts index 07f47d0857b..fefe098294b 100644 --- a/sdk/nodejs/elasticache/getReplicationGroup.ts +++ b/sdk/nodejs/elasticache/getReplicationGroup.ts @@ -134,7 +134,7 @@ export interface GetReplicationGroupResult { * }); * ``` */ -export function getReplicationGroupOutput(args: GetReplicationGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getReplicationGroupOutput(args: GetReplicationGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:elasticache/getReplicationGroup:getReplicationGroup", { "replicationGroupId": args.replicationGroupId, diff --git a/sdk/nodejs/elasticache/getReservedCacheNodeOffering.ts b/sdk/nodejs/elasticache/getReservedCacheNodeOffering.ts index 5fe4c02a044..ac6fae24158 100644 --- a/sdk/nodejs/elasticache/getReservedCacheNodeOffering.ts +++ b/sdk/nodejs/elasticache/getReservedCacheNodeOffering.ts @@ -98,7 +98,7 @@ export interface GetReservedCacheNodeOfferingResult { * }); * ``` */ -export function getReservedCacheNodeOfferingOutput(args: GetReservedCacheNodeOfferingOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getReservedCacheNodeOfferingOutput(args: GetReservedCacheNodeOfferingOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering", { "cacheNodeType": args.cacheNodeType, diff --git a/sdk/nodejs/elasticache/getServerlessCache.ts b/sdk/nodejs/elasticache/getServerlessCache.ts index 115d3b50a70..e4deb1ecb7e 100644 --- a/sdk/nodejs/elasticache/getServerlessCache.ts +++ b/sdk/nodejs/elasticache/getServerlessCache.ts @@ -126,7 +126,7 @@ export interface GetServerlessCacheResult { * }); * ``` */ -export function getServerlessCacheOutput(args: GetServerlessCacheOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServerlessCacheOutput(args: GetServerlessCacheOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:elasticache/getServerlessCache:getServerlessCache", { "name": args.name, diff --git a/sdk/nodejs/elasticache/getSubnetGroup.ts b/sdk/nodejs/elasticache/getSubnetGroup.ts index 93a3185b7f9..9b6781b0420 100644 --- a/sdk/nodejs/elasticache/getSubnetGroup.ts +++ b/sdk/nodejs/elasticache/getSubnetGroup.ts @@ -84,7 +84,7 @@ export interface GetSubnetGroupResult { * }); * ``` */ -export function getSubnetGroupOutput(args: GetSubnetGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSubnetGroupOutput(args: GetSubnetGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:elasticache/getSubnetGroup:getSubnetGroup", { "name": args.name, diff --git a/sdk/nodejs/elasticache/getUser.ts b/sdk/nodejs/elasticache/getUser.ts index 52b6c2822b6..7b28b665cda 100644 --- a/sdk/nodejs/elasticache/getUser.ts +++ b/sdk/nodejs/elasticache/getUser.ts @@ -95,7 +95,7 @@ export interface GetUserResult { * }); * ``` */ -export function getUserOutput(args: GetUserOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getUserOutput(args: GetUserOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:elasticache/getUser:getUser", { "accessString": args.accessString, diff --git a/sdk/nodejs/elasticbeanstalk/getApplication.ts b/sdk/nodejs/elasticbeanstalk/getApplication.ts index 1e82617ff0c..336221f8eb2 100644 --- a/sdk/nodejs/elasticbeanstalk/getApplication.ts +++ b/sdk/nodejs/elasticbeanstalk/getApplication.ts @@ -75,7 +75,7 @@ export interface GetApplicationResult { * export const description = example.then(example => example.description); * ``` */ -export function getApplicationOutput(args: GetApplicationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getApplicationOutput(args: GetApplicationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:elasticbeanstalk/getApplication:getApplication", { "name": args.name, diff --git a/sdk/nodejs/elasticbeanstalk/getHostedZone.ts b/sdk/nodejs/elasticbeanstalk/getHostedZone.ts index 9dabb8fc422..b85ad058749 100644 --- a/sdk/nodejs/elasticbeanstalk/getHostedZone.ts +++ b/sdk/nodejs/elasticbeanstalk/getHostedZone.ts @@ -59,7 +59,7 @@ export interface GetHostedZoneResult { * const current = aws.elasticbeanstalk.getHostedZone({}); * ``` */ -export function getHostedZoneOutput(args?: GetHostedZoneOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getHostedZoneOutput(args?: GetHostedZoneOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:elasticbeanstalk/getHostedZone:getHostedZone", { diff --git a/sdk/nodejs/elasticbeanstalk/getSolutionStack.ts b/sdk/nodejs/elasticbeanstalk/getSolutionStack.ts index e24d671d2e9..3b758a3f0b0 100644 --- a/sdk/nodejs/elasticbeanstalk/getSolutionStack.ts +++ b/sdk/nodejs/elasticbeanstalk/getSolutionStack.ts @@ -78,7 +78,7 @@ export interface GetSolutionStackResult { * }); * ``` */ -export function getSolutionStackOutput(args: GetSolutionStackOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSolutionStackOutput(args: GetSolutionStackOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:elasticbeanstalk/getSolutionStack:getSolutionStack", { "mostRecent": args.mostRecent, diff --git a/sdk/nodejs/elasticsearch/getDomain.ts b/sdk/nodejs/elasticsearch/getDomain.ts index a6ec063abf9..130f1db0532 100644 --- a/sdk/nodejs/elasticsearch/getDomain.ts +++ b/sdk/nodejs/elasticsearch/getDomain.ts @@ -151,7 +151,7 @@ export interface GetDomainResult { * }); * ``` */ -export function getDomainOutput(args: GetDomainOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDomainOutput(args: GetDomainOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:elasticsearch/getDomain:getDomain", { "domainName": args.domainName, diff --git a/sdk/nodejs/elb/getHostedZoneId.ts b/sdk/nodejs/elb/getHostedZoneId.ts index d38352c4b9b..a0ab26c4141 100644 --- a/sdk/nodejs/elb/getHostedZoneId.ts +++ b/sdk/nodejs/elb/getHostedZoneId.ts @@ -79,7 +79,7 @@ export interface GetHostedZoneIdResult { * }); * ``` */ -export function getHostedZoneIdOutput(args?: GetHostedZoneIdOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getHostedZoneIdOutput(args?: GetHostedZoneIdOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:elb/getHostedZoneId:getHostedZoneId", { diff --git a/sdk/nodejs/elb/getLoadBalancer.ts b/sdk/nodejs/elb/getLoadBalancer.ts index 4486c9051f1..5539c2bc777 100644 --- a/sdk/nodejs/elb/getLoadBalancer.ts +++ b/sdk/nodejs/elb/getLoadBalancer.ts @@ -99,7 +99,7 @@ export interface GetLoadBalancerResult { * }); * ``` */ -export function getLoadBalancerOutput(args: GetLoadBalancerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLoadBalancerOutput(args: GetLoadBalancerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:elb/getLoadBalancer:getLoadBalancer", { "name": args.name, diff --git a/sdk/nodejs/elb/getServiceAccount.ts b/sdk/nodejs/elb/getServiceAccount.ts index d9870d54ae5..c69c328e443 100644 --- a/sdk/nodejs/elb/getServiceAccount.ts +++ b/sdk/nodejs/elb/getServiceAccount.ts @@ -135,7 +135,7 @@ export interface GetServiceAccountResult { * }); * ``` */ -export function getServiceAccountOutput(args?: GetServiceAccountOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServiceAccountOutput(args?: GetServiceAccountOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:elb/getServiceAccount:getServiceAccount", { diff --git a/sdk/nodejs/emr/getReleaseLabels.ts b/sdk/nodejs/emr/getReleaseLabels.ts index 6b87e0595fb..b863a22f855 100644 --- a/sdk/nodejs/emr/getReleaseLabels.ts +++ b/sdk/nodejs/emr/getReleaseLabels.ts @@ -73,7 +73,7 @@ export interface GetReleaseLabelsResult { * }); * ``` */ -export function getReleaseLabelsOutput(args?: GetReleaseLabelsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getReleaseLabelsOutput(args?: GetReleaseLabelsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:emr/getReleaseLabels:getReleaseLabels", { diff --git a/sdk/nodejs/emr/getSupportedInstanceTypes.ts b/sdk/nodejs/emr/getSupportedInstanceTypes.ts index 6fe25af2fe6..d02948ee237 100644 --- a/sdk/nodejs/emr/getSupportedInstanceTypes.ts +++ b/sdk/nodejs/emr/getSupportedInstanceTypes.ts @@ -114,7 +114,7 @@ export interface GetSupportedInstanceTypesResult { * }); * ``` */ -export function getSupportedInstanceTypesOutput(args: GetSupportedInstanceTypesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSupportedInstanceTypesOutput(args: GetSupportedInstanceTypesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes", { "releaseLabel": args.releaseLabel, diff --git a/sdk/nodejs/emrcontainers/getVirtualCluster.ts b/sdk/nodejs/emrcontainers/getVirtualCluster.ts index badaaddfbb3..78991c12eb6 100644 --- a/sdk/nodejs/emrcontainers/getVirtualCluster.ts +++ b/sdk/nodejs/emrcontainers/getVirtualCluster.ts @@ -95,7 +95,7 @@ export interface GetVirtualClusterResult { * export const arn = example.then(example => example.arn); * ``` */ -export function getVirtualClusterOutput(args: GetVirtualClusterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVirtualClusterOutput(args: GetVirtualClusterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:emrcontainers/getVirtualCluster:getVirtualCluster", { "tags": args.tags, diff --git a/sdk/nodejs/fsx/getOntapFileSystem.ts b/sdk/nodejs/fsx/getOntapFileSystem.ts index 73b4ed5b624..3901de9167e 100644 --- a/sdk/nodejs/fsx/getOntapFileSystem.ts +++ b/sdk/nodejs/fsx/getOntapFileSystem.ts @@ -158,7 +158,7 @@ export interface GetOntapFileSystemResult { * }); * ``` */ -export function getOntapFileSystemOutput(args: GetOntapFileSystemOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOntapFileSystemOutput(args: GetOntapFileSystemOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:fsx/getOntapFileSystem:getOntapFileSystem", { "id": args.id, diff --git a/sdk/nodejs/fsx/getOntapStorageVirtualMachine.ts b/sdk/nodejs/fsx/getOntapStorageVirtualMachine.ts index c8121950ddb..80f78001d44 100644 --- a/sdk/nodejs/fsx/getOntapStorageVirtualMachine.ts +++ b/sdk/nodejs/fsx/getOntapStorageVirtualMachine.ts @@ -143,7 +143,7 @@ export interface GetOntapStorageVirtualMachineResult { * }); * ``` */ -export function getOntapStorageVirtualMachineOutput(args?: GetOntapStorageVirtualMachineOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOntapStorageVirtualMachineOutput(args?: GetOntapStorageVirtualMachineOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:fsx/getOntapStorageVirtualMachine:getOntapStorageVirtualMachine", { diff --git a/sdk/nodejs/fsx/getOntapStorageVirtualMachines.ts b/sdk/nodejs/fsx/getOntapStorageVirtualMachines.ts index ce737d78dbf..11f1be97ea6 100644 --- a/sdk/nodejs/fsx/getOntapStorageVirtualMachines.ts +++ b/sdk/nodejs/fsx/getOntapStorageVirtualMachines.ts @@ -77,7 +77,7 @@ export interface GetOntapStorageVirtualMachinesResult { * }); * ``` */ -export function getOntapStorageVirtualMachinesOutput(args?: GetOntapStorageVirtualMachinesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOntapStorageVirtualMachinesOutput(args?: GetOntapStorageVirtualMachinesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:fsx/getOntapStorageVirtualMachines:getOntapStorageVirtualMachines", { diff --git a/sdk/nodejs/fsx/getOpenZfsSnapshot.ts b/sdk/nodejs/fsx/getOpenZfsSnapshot.ts index 58667d60df5..a905b0765f0 100644 --- a/sdk/nodejs/fsx/getOpenZfsSnapshot.ts +++ b/sdk/nodejs/fsx/getOpenZfsSnapshot.ts @@ -122,7 +122,7 @@ export interface GetOpenZfsSnapshotResult { * }); * ``` */ -export function getOpenZfsSnapshotOutput(args?: GetOpenZfsSnapshotOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOpenZfsSnapshotOutput(args?: GetOpenZfsSnapshotOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:fsx/getOpenZfsSnapshot:getOpenZfsSnapshot", { diff --git a/sdk/nodejs/fsx/getWindowsFileSystem.ts b/sdk/nodejs/fsx/getWindowsFileSystem.ts index 780e5473e49..642c65f8042 100644 --- a/sdk/nodejs/fsx/getWindowsFileSystem.ts +++ b/sdk/nodejs/fsx/getWindowsFileSystem.ts @@ -158,7 +158,7 @@ export interface GetWindowsFileSystemResult { * }); * ``` */ -export function getWindowsFileSystemOutput(args: GetWindowsFileSystemOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getWindowsFileSystemOutput(args: GetWindowsFileSystemOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:fsx/getWindowsFileSystem:getWindowsFileSystem", { "id": args.id, diff --git a/sdk/nodejs/getArn.ts b/sdk/nodejs/getArn.ts index 9bdc4474020..801e784441f 100644 --- a/sdk/nodejs/getArn.ts +++ b/sdk/nodejs/getArn.ts @@ -80,7 +80,7 @@ export interface GetArnResult { * }); * ``` */ -export function getArnOutput(args: GetArnOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getArnOutput(args: GetArnOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:index/getArn:getArn", { "arn": args.arn, diff --git a/sdk/nodejs/getAvailabilityZone.ts b/sdk/nodejs/getAvailabilityZone.ts index 625c2c9061e..abba191e9bd 100644 --- a/sdk/nodejs/getAvailabilityZone.ts +++ b/sdk/nodejs/getAvailabilityZone.ts @@ -215,7 +215,7 @@ export interface GetAvailabilityZoneResult { * }); * ``` */ -export function getAvailabilityZoneOutput(args?: GetAvailabilityZoneOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAvailabilityZoneOutput(args?: GetAvailabilityZoneOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:index/getAvailabilityZone:getAvailabilityZone", { diff --git a/sdk/nodejs/getAvailabilityZones.ts b/sdk/nodejs/getAvailabilityZones.ts index e426b82bde9..e959d0784c8 100644 --- a/sdk/nodejs/getAvailabilityZones.ts +++ b/sdk/nodejs/getAvailabilityZones.ts @@ -196,7 +196,7 @@ export interface GetAvailabilityZonesResult { * }); * ``` */ -export function getAvailabilityZonesOutput(args?: GetAvailabilityZonesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAvailabilityZonesOutput(args?: GetAvailabilityZonesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:index/getAvailabilityZones:getAvailabilityZones", { diff --git a/sdk/nodejs/getBillingServiceAccount.ts b/sdk/nodejs/getBillingServiceAccount.ts index 42ccaa51c9e..3f959859a30 100644 --- a/sdk/nodejs/getBillingServiceAccount.ts +++ b/sdk/nodejs/getBillingServiceAccount.ts @@ -127,7 +127,7 @@ export interface GetBillingServiceAccountResult { * }); * ``` */ -export function getBillingServiceAccountOutput(args?: GetBillingServiceAccountOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getBillingServiceAccountOutput(args?: GetBillingServiceAccountOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:index/getBillingServiceAccount:getBillingServiceAccount", { diff --git a/sdk/nodejs/getCallerIdentity.ts b/sdk/nodejs/getCallerIdentity.ts index 93fabfac73b..3b0c2e1e392 100644 --- a/sdk/nodejs/getCallerIdentity.ts +++ b/sdk/nodejs/getCallerIdentity.ts @@ -75,7 +75,7 @@ export interface GetCallerIdentityResult { * export const callerUser = current.then(current => current.userId); * ``` */ -export function getCallerIdentityOutput(args?: GetCallerIdentityOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCallerIdentityOutput(args?: GetCallerIdentityOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:index/getCallerIdentity:getCallerIdentity", { diff --git a/sdk/nodejs/getDefaultTags.ts b/sdk/nodejs/getDefaultTags.ts index 6db4eb37528..881064defe0 100644 --- a/sdk/nodejs/getDefaultTags.ts +++ b/sdk/nodejs/getDefaultTags.ts @@ -89,7 +89,7 @@ export interface GetDefaultTagsResult { * }))}); * ``` */ -export function getDefaultTagsOutput(args?: GetDefaultTagsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDefaultTagsOutput(args?: GetDefaultTagsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:index/getDefaultTags:getDefaultTags", { diff --git a/sdk/nodejs/getIpRanges.ts b/sdk/nodejs/getIpRanges.ts index 2d248283d16..94f0a20efcf 100644 --- a/sdk/nodejs/getIpRanges.ts +++ b/sdk/nodejs/getIpRanges.ts @@ -132,7 +132,7 @@ export interface GetIpRangesResult { * }); * ``` */ -export function getIpRangesOutput(args: GetIpRangesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getIpRangesOutput(args: GetIpRangesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:index/getIpRanges:getIpRanges", { "id": args.id, diff --git a/sdk/nodejs/getPartition.ts b/sdk/nodejs/getPartition.ts index d26890b977d..0c07d58ff61 100644 --- a/sdk/nodejs/getPartition.ts +++ b/sdk/nodejs/getPartition.ts @@ -83,7 +83,7 @@ export interface GetPartitionResult { * })); * ``` */ -export function getPartitionOutput(args?: GetPartitionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPartitionOutput(args?: GetPartitionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:index/getPartition:getPartition", { diff --git a/sdk/nodejs/getRegion.ts b/sdk/nodejs/getRegion.ts index 1dc23b13194..c694ba6f4cc 100644 --- a/sdk/nodejs/getRegion.ts +++ b/sdk/nodejs/getRegion.ts @@ -87,7 +87,7 @@ export interface GetRegionResult { * const current = aws.getRegion({}); * ``` */ -export function getRegionOutput(args?: GetRegionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRegionOutput(args?: GetRegionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:index/getRegion:getRegion", { diff --git a/sdk/nodejs/getRegions.ts b/sdk/nodejs/getRegions.ts index 6d25b2d4efb..b0ef5b865e8 100644 --- a/sdk/nodejs/getRegions.ts +++ b/sdk/nodejs/getRegions.ts @@ -130,7 +130,7 @@ export interface GetRegionsResult { * }); * ``` */ -export function getRegionsOutput(args?: GetRegionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRegionsOutput(args?: GetRegionsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:index/getRegions:getRegions", { diff --git a/sdk/nodejs/getService.ts b/sdk/nodejs/getService.ts index 4fd7f164232..7f573856183 100644 --- a/sdk/nodejs/getService.ts +++ b/sdk/nodejs/getService.ts @@ -140,7 +140,7 @@ export interface GetServiceResult { * }); * ``` */ -export function getServiceOutput(args?: GetServiceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServiceOutput(args?: GetServiceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:index/getService:getService", { diff --git a/sdk/nodejs/getServicePrincipal.ts b/sdk/nodejs/getServicePrincipal.ts index fe9e62276e1..328365eba93 100644 --- a/sdk/nodejs/getServicePrincipal.ts +++ b/sdk/nodejs/getServicePrincipal.ts @@ -84,7 +84,7 @@ export interface GetServicePrincipalResult { * }); * ``` */ -export function getServicePrincipalOutput(args: GetServicePrincipalOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServicePrincipalOutput(args: GetServicePrincipalOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:index/getServicePrincipal:getServicePrincipal", { "region": args.region, diff --git a/sdk/nodejs/globalaccelerator/getAccelerator.ts b/sdk/nodejs/globalaccelerator/getAccelerator.ts index 71ccdb571ab..af14141e48e 100644 --- a/sdk/nodejs/globalaccelerator/getAccelerator.ts +++ b/sdk/nodejs/globalaccelerator/getAccelerator.ts @@ -86,7 +86,7 @@ export interface GetAcceleratorResult { * }); * ``` */ -export function getAcceleratorOutput(args?: GetAcceleratorOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAcceleratorOutput(args?: GetAcceleratorOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:globalaccelerator/getAccelerator:getAccelerator", { diff --git a/sdk/nodejs/globalaccelerator/getCustomRoutingAccelerator.ts b/sdk/nodejs/globalaccelerator/getCustomRoutingAccelerator.ts index c8bc9986fbc..8cc17fa82f0 100644 --- a/sdk/nodejs/globalaccelerator/getCustomRoutingAccelerator.ts +++ b/sdk/nodejs/globalaccelerator/getCustomRoutingAccelerator.ts @@ -88,7 +88,7 @@ export interface GetCustomRoutingAcceleratorResult { * }); * ``` */ -export function getCustomRoutingAcceleratorOutput(args?: GetCustomRoutingAcceleratorOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCustomRoutingAcceleratorOutput(args?: GetCustomRoutingAcceleratorOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:globalaccelerator/getCustomRoutingAccelerator:getCustomRoutingAccelerator", { diff --git a/sdk/nodejs/glue/getCatalogTable.ts b/sdk/nodejs/glue/getCatalogTable.ts index 0e43c51f284..821d5a28481 100644 --- a/sdk/nodejs/glue/getCatalogTable.ts +++ b/sdk/nodejs/glue/getCatalogTable.ts @@ -145,7 +145,7 @@ export interface GetCatalogTableResult { * }); * ``` */ -export function getCatalogTableOutput(args: GetCatalogTableOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCatalogTableOutput(args: GetCatalogTableOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:glue/getCatalogTable:getCatalogTable", { "catalogId": args.catalogId, diff --git a/sdk/nodejs/glue/getConnection.ts b/sdk/nodejs/glue/getConnection.ts index 1cead397322..f1979307bd3 100644 --- a/sdk/nodejs/glue/getConnection.ts +++ b/sdk/nodejs/glue/getConnection.ts @@ -97,7 +97,7 @@ export interface GetConnectionResult { * }); * ``` */ -export function getConnectionOutput(args: GetConnectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getConnectionOutput(args: GetConnectionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:glue/getConnection:getConnection", { "id": args.id, diff --git a/sdk/nodejs/glue/getDataCatalogEncryptionSettings.ts b/sdk/nodejs/glue/getDataCatalogEncryptionSettings.ts index d098cc31e64..4cfeb595806 100644 --- a/sdk/nodejs/glue/getDataCatalogEncryptionSettings.ts +++ b/sdk/nodejs/glue/getDataCatalogEncryptionSettings.ts @@ -44,7 +44,7 @@ export interface GetDataCatalogEncryptionSettingsResult { /** * This data source can be used to fetch information about AWS Glue Data Catalog Encryption Settings. */ -export function getDataCatalogEncryptionSettingsOutput(args: GetDataCatalogEncryptionSettingsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDataCatalogEncryptionSettingsOutput(args: GetDataCatalogEncryptionSettingsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:glue/getDataCatalogEncryptionSettings:getDataCatalogEncryptionSettings", { "catalogId": args.catalogId, diff --git a/sdk/nodejs/glue/getRegistry.ts b/sdk/nodejs/glue/getRegistry.ts index e33b210243a..178fb1d5527 100644 --- a/sdk/nodejs/glue/getRegistry.ts +++ b/sdk/nodejs/glue/getRegistry.ts @@ -71,7 +71,7 @@ export interface GetRegistryResult { * }); * ``` */ -export function getRegistryOutput(args: GetRegistryOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRegistryOutput(args: GetRegistryOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:glue/getRegistry:getRegistry", { "name": args.name, diff --git a/sdk/nodejs/glue/getScript.ts b/sdk/nodejs/glue/getScript.ts index 46ad8edc9a4..96418d8df90 100644 --- a/sdk/nodejs/glue/getScript.ts +++ b/sdk/nodejs/glue/getScript.ts @@ -440,7 +440,7 @@ export interface GetScriptResult { * export const scalaCode = example.then(example => example.scalaCode); * ``` */ -export function getScriptOutput(args: GetScriptOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getScriptOutput(args: GetScriptOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:glue/getScript:getScript", { "dagEdges": args.dagEdges, diff --git a/sdk/nodejs/grafana/getWorkspace.ts b/sdk/nodejs/grafana/getWorkspace.ts index eaacd27ff28..3e055dcd625 100644 --- a/sdk/nodejs/grafana/getWorkspace.ts +++ b/sdk/nodejs/grafana/getWorkspace.ts @@ -141,7 +141,7 @@ export interface GetWorkspaceResult { * }); * ``` */ -export function getWorkspaceOutput(args: GetWorkspaceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getWorkspaceOutput(args: GetWorkspaceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:grafana/getWorkspace:getWorkspace", { "tags": args.tags, diff --git a/sdk/nodejs/guardduty/getDetector.ts b/sdk/nodejs/guardduty/getDetector.ts index e233211e736..f893d258f30 100644 --- a/sdk/nodejs/guardduty/getDetector.ts +++ b/sdk/nodejs/guardduty/getDetector.ts @@ -71,7 +71,7 @@ export interface GetDetectorResult { * const example = aws.guardduty.getDetector({}); * ``` */ -export function getDetectorOutput(args?: GetDetectorOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDetectorOutput(args?: GetDetectorOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:guardduty/getDetector:getDetector", { diff --git a/sdk/nodejs/guardduty/getFindingIds.ts b/sdk/nodejs/guardduty/getFindingIds.ts index 8b42cfc774f..fe82e32881e 100644 --- a/sdk/nodejs/guardduty/getFindingIds.ts +++ b/sdk/nodejs/guardduty/getFindingIds.ts @@ -68,7 +68,7 @@ export interface GetFindingIdsResult { * }); * ``` */ -export function getFindingIdsOutput(args: GetFindingIdsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getFindingIdsOutput(args: GetFindingIdsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:guardduty/getFindingIds:getFindingIds", { "detectorId": args.detectorId, diff --git a/sdk/nodejs/iam/getAccessKeys.ts b/sdk/nodejs/iam/getAccessKeys.ts index 91193fb11ca..f479f3c9b74 100644 --- a/sdk/nodejs/iam/getAccessKeys.ts +++ b/sdk/nodejs/iam/getAccessKeys.ts @@ -68,7 +68,7 @@ export interface GetAccessKeysResult { * }); * ``` */ -export function getAccessKeysOutput(args: GetAccessKeysOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAccessKeysOutput(args: GetAccessKeysOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iam/getAccessKeys:getAccessKeys", { "user": args.user, diff --git a/sdk/nodejs/iam/getAccountAlias.ts b/sdk/nodejs/iam/getAccountAlias.ts index 78d47f482b1..030ad9fa63c 100644 --- a/sdk/nodejs/iam/getAccountAlias.ts +++ b/sdk/nodejs/iam/getAccountAlias.ts @@ -51,7 +51,7 @@ export interface GetAccountAliasResult { * export const accountAlias = current.then(current => current.accountAlias); * ``` */ -export function getAccountAliasOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAccountAliasOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iam/getAccountAlias:getAccountAlias", { }, opts); diff --git a/sdk/nodejs/iam/getGroup.ts b/sdk/nodejs/iam/getGroup.ts index 1e3fbc01945..c94b4b2ca20 100644 --- a/sdk/nodejs/iam/getGroup.ts +++ b/sdk/nodejs/iam/getGroup.ts @@ -82,7 +82,7 @@ export interface GetGroupResult { * }); * ``` */ -export function getGroupOutput(args: GetGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getGroupOutput(args: GetGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iam/getGroup:getGroup", { "groupName": args.groupName, diff --git a/sdk/nodejs/iam/getInstanceProfile.ts b/sdk/nodejs/iam/getInstanceProfile.ts index 27119120cb2..a15bbf7e237 100644 --- a/sdk/nodejs/iam/getInstanceProfile.ts +++ b/sdk/nodejs/iam/getInstanceProfile.ts @@ -87,7 +87,7 @@ export interface GetInstanceProfileResult { * }); * ``` */ -export function getInstanceProfileOutput(args: GetInstanceProfileOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInstanceProfileOutput(args: GetInstanceProfileOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iam/getInstanceProfile:getInstanceProfile", { "name": args.name, diff --git a/sdk/nodejs/iam/getInstanceProfiles.ts b/sdk/nodejs/iam/getInstanceProfiles.ts index aff9355c037..9ab22855177 100644 --- a/sdk/nodejs/iam/getInstanceProfiles.ts +++ b/sdk/nodejs/iam/getInstanceProfiles.ts @@ -75,7 +75,7 @@ export interface GetInstanceProfilesResult { * }); * ``` */ -export function getInstanceProfilesOutput(args: GetInstanceProfilesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInstanceProfilesOutput(args: GetInstanceProfilesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iam/getInstanceProfiles:getInstanceProfiles", { "roleName": args.roleName, diff --git a/sdk/nodejs/iam/getOpenIdConnectProvider.ts b/sdk/nodejs/iam/getOpenIdConnectProvider.ts index 139e7616dec..4e5b2dd1a65 100644 --- a/sdk/nodejs/iam/getOpenIdConnectProvider.ts +++ b/sdk/nodejs/iam/getOpenIdConnectProvider.ts @@ -105,7 +105,7 @@ export interface GetOpenIdConnectProviderResult { * }); * ``` */ -export function getOpenIdConnectProviderOutput(args?: GetOpenIdConnectProviderOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOpenIdConnectProviderOutput(args?: GetOpenIdConnectProviderOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iam/getOpenIdConnectProvider:getOpenIdConnectProvider", { diff --git a/sdk/nodejs/iam/getPolicy.ts b/sdk/nodejs/iam/getPolicy.ts index c93dc9591de..1de93bffd5d 100644 --- a/sdk/nodejs/iam/getPolicy.ts +++ b/sdk/nodejs/iam/getPolicy.ts @@ -136,7 +136,7 @@ export interface GetPolicyResult { * }); * ``` */ -export function getPolicyOutput(args?: GetPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPolicyOutput(args?: GetPolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iam/getPolicy:getPolicy", { diff --git a/sdk/nodejs/iam/getPolicyDocument.ts b/sdk/nodejs/iam/getPolicyDocument.ts index 238be59dbe4..d9448fd4527 100644 --- a/sdk/nodejs/iam/getPolicyDocument.ts +++ b/sdk/nodejs/iam/getPolicyDocument.ts @@ -727,7 +727,7 @@ export interface GetPolicyDocumentResult { * * `data.aws_iam_policy_document.combined.json` will evaluate to: */ -export function getPolicyDocumentOutput(args?: GetPolicyDocumentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPolicyDocumentOutput(args?: GetPolicyDocumentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iam/getPolicyDocument:getPolicyDocument", { diff --git a/sdk/nodejs/iam/getPrincipalPolicySimulation.ts b/sdk/nodejs/iam/getPrincipalPolicySimulation.ts index 954247d241b..10a8d7e8240 100644 --- a/sdk/nodejs/iam/getPrincipalPolicySimulation.ts +++ b/sdk/nodejs/iam/getPrincipalPolicySimulation.ts @@ -289,7 +289,7 @@ export interface GetPrincipalPolicySimulationResult { * * When using `aws.iam.getPrincipalPolicySimulation` to test the effect of a policy declared elsewhere in the same configuration, it's important to use `dependsOn` to make sure that the needed policy has been fully created or updated before running the simulation. */ -export function getPrincipalPolicySimulationOutput(args: GetPrincipalPolicySimulationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPrincipalPolicySimulationOutput(args: GetPrincipalPolicySimulationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iam/getPrincipalPolicySimulation:getPrincipalPolicySimulation", { "actionNames": args.actionNames, diff --git a/sdk/nodejs/iam/getRole.ts b/sdk/nodejs/iam/getRole.ts index 06e714ee32f..20b16e8e424 100644 --- a/sdk/nodejs/iam/getRole.ts +++ b/sdk/nodejs/iam/getRole.ts @@ -111,7 +111,7 @@ export interface GetRoleResult { * }); * ``` */ -export function getRoleOutput(args: GetRoleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRoleOutput(args: GetRoleOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iam/getRole:getRole", { "name": args.name, diff --git a/sdk/nodejs/iam/getRoles.ts b/sdk/nodejs/iam/getRoles.ts index 919fa7dd429..2f30aba85e2 100644 --- a/sdk/nodejs/iam/getRoles.ts +++ b/sdk/nodejs/iam/getRoles.ts @@ -172,7 +172,7 @@ export interface GetRolesResult { * }); * ``` */ -export function getRolesOutput(args?: GetRolesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRolesOutput(args?: GetRolesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iam/getRoles:getRoles", { diff --git a/sdk/nodejs/iam/getSamlProvider.ts b/sdk/nodejs/iam/getSamlProvider.ts index 22531c219ca..6a6d00f6b62 100644 --- a/sdk/nodejs/iam/getSamlProvider.ts +++ b/sdk/nodejs/iam/getSamlProvider.ts @@ -88,7 +88,7 @@ export interface GetSamlProviderResult { * }); * ``` */ -export function getSamlProviderOutput(args: GetSamlProviderOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSamlProviderOutput(args: GetSamlProviderOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iam/getSamlProvider:getSamlProvider", { "arn": args.arn, diff --git a/sdk/nodejs/iam/getServerCertificate.ts b/sdk/nodejs/iam/getServerCertificate.ts index 5b6ba3051ff..1b8cf312cb7 100644 --- a/sdk/nodejs/iam/getServerCertificate.ts +++ b/sdk/nodejs/iam/getServerCertificate.ts @@ -124,7 +124,7 @@ export interface GetServerCertificateResult { * }); * ``` */ -export function getServerCertificateOutput(args?: GetServerCertificateOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServerCertificateOutput(args?: GetServerCertificateOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iam/getServerCertificate:getServerCertificate", { diff --git a/sdk/nodejs/iam/getSessionContext.ts b/sdk/nodejs/iam/getSessionContext.ts index e7ec8acf670..313c3576e3c 100644 --- a/sdk/nodejs/iam/getSessionContext.ts +++ b/sdk/nodejs/iam/getSessionContext.ts @@ -113,7 +113,7 @@ export interface GetSessionContextResult { * })); * ``` */ -export function getSessionContextOutput(args: GetSessionContextOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSessionContextOutput(args: GetSessionContextOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iam/getSessionContext:getSessionContext", { "arn": args.arn, diff --git a/sdk/nodejs/iam/getUser.ts b/sdk/nodejs/iam/getUser.ts index 2105da96fd1..6108dc300ba 100644 --- a/sdk/nodejs/iam/getUser.ts +++ b/sdk/nodejs/iam/getUser.ts @@ -91,7 +91,7 @@ export interface GetUserResult { * }); * ``` */ -export function getUserOutput(args: GetUserOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getUserOutput(args: GetUserOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iam/getUser:getUser", { "tags": args.tags, diff --git a/sdk/nodejs/iam/getUserSshKey.ts b/sdk/nodejs/iam/getUserSshKey.ts index ebad1dfda63..428fb9d1f75 100644 --- a/sdk/nodejs/iam/getUserSshKey.ts +++ b/sdk/nodejs/iam/getUserSshKey.ts @@ -87,7 +87,7 @@ export interface GetUserSshKeyResult { * }); * ``` */ -export function getUserSshKeyOutput(args: GetUserSshKeyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getUserSshKeyOutput(args: GetUserSshKeyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iam/getUserSshKey:getUserSshKey", { "encoding": args.encoding, diff --git a/sdk/nodejs/iam/getUsers.ts b/sdk/nodejs/iam/getUsers.ts index 84a2bc63ebd..dbcd6b715b0 100644 --- a/sdk/nodejs/iam/getUsers.ts +++ b/sdk/nodejs/iam/getUsers.ts @@ -122,7 +122,7 @@ export interface GetUsersResult { * }); * ``` */ -export function getUsersOutput(args?: GetUsersOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getUsersOutput(args?: GetUsersOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iam/getUsers:getUsers", { diff --git a/sdk/nodejs/identitystore/getGroup.ts b/sdk/nodejs/identitystore/getGroup.ts index 128b1bde37b..6514106d844 100644 --- a/sdk/nodejs/identitystore/getGroup.ts +++ b/sdk/nodejs/identitystore/getGroup.ts @@ -117,7 +117,7 @@ export interface GetGroupResult { * export const groupId = exampleGetGroup.then(exampleGetGroup => exampleGetGroup.groupId); * ``` */ -export function getGroupOutput(args: GetGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getGroupOutput(args: GetGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:identitystore/getGroup:getGroup", { "alternateIdentifier": args.alternateIdentifier, diff --git a/sdk/nodejs/identitystore/getGroups.ts b/sdk/nodejs/identitystore/getGroups.ts index 34f4716a3f2..66349b73c7e 100644 --- a/sdk/nodejs/identitystore/getGroups.ts +++ b/sdk/nodejs/identitystore/getGroups.ts @@ -72,7 +72,7 @@ export interface GetGroupsResult { * })); * ``` */ -export function getGroupsOutput(args: GetGroupsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getGroupsOutput(args: GetGroupsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:identitystore/getGroups:getGroups", { "identityStoreId": args.identityStoreId, diff --git a/sdk/nodejs/identitystore/getUser.ts b/sdk/nodejs/identitystore/getUser.ts index 6b70b7c7c79..ae63d2f4015 100644 --- a/sdk/nodejs/identitystore/getUser.ts +++ b/sdk/nodejs/identitystore/getUser.ts @@ -161,7 +161,7 @@ export interface GetUserResult { * export const userId = exampleGetUser.then(exampleGetUser => exampleGetUser.userId); * ``` */ -export function getUserOutput(args: GetUserOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getUserOutput(args: GetUserOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:identitystore/getUser:getUser", { "alternateIdentifier": args.alternateIdentifier, diff --git a/sdk/nodejs/imagebuilder/getComponent.ts b/sdk/nodejs/imagebuilder/getComponent.ts index 5cf48d9c8d8..b43e4732d1b 100644 --- a/sdk/nodejs/imagebuilder/getComponent.ts +++ b/sdk/nodejs/imagebuilder/getComponent.ts @@ -116,7 +116,7 @@ export interface GetComponentResult { * }); * ``` */ -export function getComponentOutput(args: GetComponentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getComponentOutput(args: GetComponentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:imagebuilder/getComponent:getComponent", { "arn": args.arn, diff --git a/sdk/nodejs/imagebuilder/getComponents.ts b/sdk/nodejs/imagebuilder/getComponents.ts index 94a43d1fd58..ea9298b4da3 100644 --- a/sdk/nodejs/imagebuilder/getComponents.ts +++ b/sdk/nodejs/imagebuilder/getComponents.ts @@ -85,7 +85,7 @@ export interface GetComponentsResult { * }); * ``` */ -export function getComponentsOutput(args?: GetComponentsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getComponentsOutput(args?: GetComponentsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:imagebuilder/getComponents:getComponents", { diff --git a/sdk/nodejs/imagebuilder/getContainerRecipe.ts b/sdk/nodejs/imagebuilder/getContainerRecipe.ts index eb519a215b8..115719f85c3 100644 --- a/sdk/nodejs/imagebuilder/getContainerRecipe.ts +++ b/sdk/nodejs/imagebuilder/getContainerRecipe.ts @@ -131,7 +131,7 @@ export interface GetContainerRecipeResult { * }); * ``` */ -export function getContainerRecipeOutput(args: GetContainerRecipeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getContainerRecipeOutput(args: GetContainerRecipeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:imagebuilder/getContainerRecipe:getContainerRecipe", { "arn": args.arn, diff --git a/sdk/nodejs/imagebuilder/getContainerRecipes.ts b/sdk/nodejs/imagebuilder/getContainerRecipes.ts index 7f49f59a9fc..ab2859dba8a 100644 --- a/sdk/nodejs/imagebuilder/getContainerRecipes.ts +++ b/sdk/nodejs/imagebuilder/getContainerRecipes.ts @@ -85,7 +85,7 @@ export interface GetContainerRecipesResult { * }); * ``` */ -export function getContainerRecipesOutput(args?: GetContainerRecipesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getContainerRecipesOutput(args?: GetContainerRecipesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:imagebuilder/getContainerRecipes:getContainerRecipes", { diff --git a/sdk/nodejs/imagebuilder/getDistributionConfiguration.ts b/sdk/nodejs/imagebuilder/getDistributionConfiguration.ts index 4694f57ae5a..823ef1ce4ad 100644 --- a/sdk/nodejs/imagebuilder/getDistributionConfiguration.ts +++ b/sdk/nodejs/imagebuilder/getDistributionConfiguration.ts @@ -91,7 +91,7 @@ export interface GetDistributionConfigurationResult { * }); * ``` */ -export function getDistributionConfigurationOutput(args: GetDistributionConfigurationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDistributionConfigurationOutput(args: GetDistributionConfigurationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:imagebuilder/getDistributionConfiguration:getDistributionConfiguration", { "arn": args.arn, diff --git a/sdk/nodejs/imagebuilder/getDistributionConfigurations.ts b/sdk/nodejs/imagebuilder/getDistributionConfigurations.ts index d91b12c3c82..1d7654f41f9 100644 --- a/sdk/nodejs/imagebuilder/getDistributionConfigurations.ts +++ b/sdk/nodejs/imagebuilder/getDistributionConfigurations.ts @@ -77,7 +77,7 @@ export interface GetDistributionConfigurationsResult { * }); * ``` */ -export function getDistributionConfigurationsOutput(args?: GetDistributionConfigurationsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDistributionConfigurationsOutput(args?: GetDistributionConfigurationsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:imagebuilder/getDistributionConfigurations:getDistributionConfigurations", { diff --git a/sdk/nodejs/imagebuilder/getImage.ts b/sdk/nodejs/imagebuilder/getImage.ts index c01a68fe190..12a8bce65bd 100644 --- a/sdk/nodejs/imagebuilder/getImage.ts +++ b/sdk/nodejs/imagebuilder/getImage.ts @@ -131,7 +131,7 @@ export interface GetImageResult { * }); * ``` */ -export function getImageOutput(args: GetImageOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getImageOutput(args: GetImageOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:imagebuilder/getImage:getImage", { "arn": args.arn, diff --git a/sdk/nodejs/imagebuilder/getImagePipeline.ts b/sdk/nodejs/imagebuilder/getImagePipeline.ts index 78103d0ad22..5ad7144c38f 100644 --- a/sdk/nodejs/imagebuilder/getImagePipeline.ts +++ b/sdk/nodejs/imagebuilder/getImagePipeline.ts @@ -132,7 +132,7 @@ export interface GetImagePipelineResult { * }); * ``` */ -export function getImagePipelineOutput(args: GetImagePipelineOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getImagePipelineOutput(args: GetImagePipelineOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:imagebuilder/getImagePipeline:getImagePipeline", { "arn": args.arn, diff --git a/sdk/nodejs/imagebuilder/getImagePipelines.ts b/sdk/nodejs/imagebuilder/getImagePipelines.ts index 3384efb0168..eee729bc28d 100644 --- a/sdk/nodejs/imagebuilder/getImagePipelines.ts +++ b/sdk/nodejs/imagebuilder/getImagePipelines.ts @@ -77,7 +77,7 @@ export interface GetImagePipelinesResult { * }); * ``` */ -export function getImagePipelinesOutput(args?: GetImagePipelinesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getImagePipelinesOutput(args?: GetImagePipelinesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:imagebuilder/getImagePipelines:getImagePipelines", { diff --git a/sdk/nodejs/imagebuilder/getImageRecipe.ts b/sdk/nodejs/imagebuilder/getImageRecipe.ts index 13ffac03b7d..cb8f459d959 100644 --- a/sdk/nodejs/imagebuilder/getImageRecipe.ts +++ b/sdk/nodejs/imagebuilder/getImageRecipe.ts @@ -115,7 +115,7 @@ export interface GetImageRecipeResult { * }); * ``` */ -export function getImageRecipeOutput(args: GetImageRecipeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getImageRecipeOutput(args: GetImageRecipeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:imagebuilder/getImageRecipe:getImageRecipe", { "arn": args.arn, diff --git a/sdk/nodejs/imagebuilder/getImageRecipes.ts b/sdk/nodejs/imagebuilder/getImageRecipes.ts index a6376a17fc6..2c99fc9e2df 100644 --- a/sdk/nodejs/imagebuilder/getImageRecipes.ts +++ b/sdk/nodejs/imagebuilder/getImageRecipes.ts @@ -85,7 +85,7 @@ export interface GetImageRecipesResult { * }); * ``` */ -export function getImageRecipesOutput(args?: GetImageRecipesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getImageRecipesOutput(args?: GetImageRecipesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:imagebuilder/getImageRecipes:getImageRecipes", { diff --git a/sdk/nodejs/imagebuilder/getInfrastructureConfiguration.ts b/sdk/nodejs/imagebuilder/getInfrastructureConfiguration.ts index d1bda8a1ac9..deb38532b0f 100644 --- a/sdk/nodejs/imagebuilder/getInfrastructureConfiguration.ts +++ b/sdk/nodejs/imagebuilder/getInfrastructureConfiguration.ts @@ -129,7 +129,7 @@ export interface GetInfrastructureConfigurationResult { * }); * ``` */ -export function getInfrastructureConfigurationOutput(args: GetInfrastructureConfigurationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInfrastructureConfigurationOutput(args: GetInfrastructureConfigurationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:imagebuilder/getInfrastructureConfiguration:getInfrastructureConfiguration", { "arn": args.arn, diff --git a/sdk/nodejs/imagebuilder/getInfrastructureConfigurations.ts b/sdk/nodejs/imagebuilder/getInfrastructureConfigurations.ts index 2ee1f9d13b2..28ac973372c 100644 --- a/sdk/nodejs/imagebuilder/getInfrastructureConfigurations.ts +++ b/sdk/nodejs/imagebuilder/getInfrastructureConfigurations.ts @@ -77,7 +77,7 @@ export interface GetInfrastructureConfigurationsResult { * }); * ``` */ -export function getInfrastructureConfigurationsOutput(args?: GetInfrastructureConfigurationsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInfrastructureConfigurationsOutput(args?: GetInfrastructureConfigurationsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:imagebuilder/getInfrastructureConfigurations:getInfrastructureConfigurations", { diff --git a/sdk/nodejs/inspector/getRulesPackages.ts b/sdk/nodejs/inspector/getRulesPackages.ts index c46baabdd0a..887c6be7ad9 100644 --- a/sdk/nodejs/inspector/getRulesPackages.ts +++ b/sdk/nodejs/inspector/getRulesPackages.ts @@ -81,7 +81,7 @@ export interface GetRulesPackagesResult { * }); * ``` */ -export function getRulesPackagesOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRulesPackagesOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:inspector/getRulesPackages:getRulesPackages", { }, opts); diff --git a/sdk/nodejs/iot/getEndpoint.ts b/sdk/nodejs/iot/getEndpoint.ts index 59c7fe564e2..10ddc137857 100644 --- a/sdk/nodejs/iot/getEndpoint.ts +++ b/sdk/nodejs/iot/getEndpoint.ts @@ -47,7 +47,7 @@ export interface GetEndpointResult { /** * Returns a unique endpoint specific to the AWS account making the call. */ -export function getEndpointOutput(args?: GetEndpointOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEndpointOutput(args?: GetEndpointOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iot/getEndpoint:getEndpoint", { diff --git a/sdk/nodejs/iot/getRegistrationCode.ts b/sdk/nodejs/iot/getRegistrationCode.ts index 31e2bc5ccd8..ec68d5ccec1 100644 --- a/sdk/nodejs/iot/getRegistrationCode.ts +++ b/sdk/nodejs/iot/getRegistrationCode.ts @@ -65,7 +65,7 @@ export interface GetRegistrationCodeResult { * }); * ``` */ -export function getRegistrationCodeOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRegistrationCodeOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:iot/getRegistrationCode:getRegistrationCode", { }, opts); diff --git a/sdk/nodejs/ivs/getStreamKey.ts b/sdk/nodejs/ivs/getStreamKey.ts index c35ab242b29..b810d4c721c 100644 --- a/sdk/nodejs/ivs/getStreamKey.ts +++ b/sdk/nodejs/ivs/getStreamKey.ts @@ -80,7 +80,7 @@ export interface GetStreamKeyResult { * }); * ``` */ -export function getStreamKeyOutput(args: GetStreamKeyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getStreamKeyOutput(args: GetStreamKeyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ivs/getStreamKey:getStreamKey", { "channelArn": args.channelArn, diff --git a/sdk/nodejs/kendra/getExperience.ts b/sdk/nodejs/kendra/getExperience.ts index 7af144c6c8b..72ac1c4592d 100644 --- a/sdk/nodejs/kendra/getExperience.ts +++ b/sdk/nodejs/kendra/getExperience.ts @@ -110,7 +110,7 @@ export interface GetExperienceResult { * }); * ``` */ -export function getExperienceOutput(args: GetExperienceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getExperienceOutput(args: GetExperienceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:kendra/getExperience:getExperience", { "experienceId": args.experienceId, diff --git a/sdk/nodejs/kendra/getFaq.ts b/sdk/nodejs/kendra/getFaq.ts index abdc0f6e573..46daf0eafdb 100644 --- a/sdk/nodejs/kendra/getFaq.ts +++ b/sdk/nodejs/kendra/getFaq.ts @@ -123,7 +123,7 @@ export interface GetFaqResult { * }); * ``` */ -export function getFaqOutput(args: GetFaqOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getFaqOutput(args: GetFaqOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:kendra/getFaq:getFaq", { "faqId": args.faqId, diff --git a/sdk/nodejs/kendra/getIndex.ts b/sdk/nodejs/kendra/getIndex.ts index 38680924658..b3f9e5526e8 100644 --- a/sdk/nodejs/kendra/getIndex.ts +++ b/sdk/nodejs/kendra/getIndex.ts @@ -134,7 +134,7 @@ export interface GetIndexResult { * }); * ``` */ -export function getIndexOutput(args: GetIndexOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getIndexOutput(args: GetIndexOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:kendra/getIndex:getIndex", { "id": args.id, diff --git a/sdk/nodejs/kendra/getQuerySuggestionsBlockList.ts b/sdk/nodejs/kendra/getQuerySuggestionsBlockList.ts index 5da2ecf0458..62f66aca959 100644 --- a/sdk/nodejs/kendra/getQuerySuggestionsBlockList.ts +++ b/sdk/nodejs/kendra/getQuerySuggestionsBlockList.ts @@ -123,7 +123,7 @@ export interface GetQuerySuggestionsBlockListResult { * }); * ``` */ -export function getQuerySuggestionsBlockListOutput(args: GetQuerySuggestionsBlockListOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getQuerySuggestionsBlockListOutput(args: GetQuerySuggestionsBlockListOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:kendra/getQuerySuggestionsBlockList:getQuerySuggestionsBlockList", { "indexId": args.indexId, diff --git a/sdk/nodejs/kendra/getThesaurus.ts b/sdk/nodejs/kendra/getThesaurus.ts index a2d25b12f02..f21650550ac 100644 --- a/sdk/nodejs/kendra/getThesaurus.ts +++ b/sdk/nodejs/kendra/getThesaurus.ts @@ -127,7 +127,7 @@ export interface GetThesaurusResult { * }); * ``` */ -export function getThesaurusOutput(args: GetThesaurusOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getThesaurusOutput(args: GetThesaurusOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:kendra/getThesaurus:getThesaurus", { "indexId": args.indexId, diff --git a/sdk/nodejs/kinesis/getFirehoseDeliveryStream.ts b/sdk/nodejs/kinesis/getFirehoseDeliveryStream.ts index 29d183514b2..035ea4a2b20 100644 --- a/sdk/nodejs/kinesis/getFirehoseDeliveryStream.ts +++ b/sdk/nodejs/kinesis/getFirehoseDeliveryStream.ts @@ -67,7 +67,7 @@ export interface GetFirehoseDeliveryStreamResult { * }); * ``` */ -export function getFirehoseDeliveryStreamOutput(args: GetFirehoseDeliveryStreamOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getFirehoseDeliveryStreamOutput(args: GetFirehoseDeliveryStreamOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:kinesis/getFirehoseDeliveryStream:getFirehoseDeliveryStream", { "name": args.name, diff --git a/sdk/nodejs/kinesis/getStream.ts b/sdk/nodejs/kinesis/getStream.ts index e23e5103c98..871bc6b80c2 100644 --- a/sdk/nodejs/kinesis/getStream.ts +++ b/sdk/nodejs/kinesis/getStream.ts @@ -120,7 +120,7 @@ export interface GetStreamResult { * }); * ``` */ -export function getStreamOutput(args: GetStreamOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getStreamOutput(args: GetStreamOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:kinesis/getStream:getStream", { "name": args.name, diff --git a/sdk/nodejs/kinesis/getStreamConsumer.ts b/sdk/nodejs/kinesis/getStreamConsumer.ts index 69d275fc83a..270a4cfe3b6 100644 --- a/sdk/nodejs/kinesis/getStreamConsumer.ts +++ b/sdk/nodejs/kinesis/getStreamConsumer.ts @@ -85,7 +85,7 @@ export interface GetStreamConsumerResult { * }); * ``` */ -export function getStreamConsumerOutput(args: GetStreamConsumerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getStreamConsumerOutput(args: GetStreamConsumerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:kinesis/getStreamConsumer:getStreamConsumer", { "arn": args.arn, diff --git a/sdk/nodejs/kms/getAlias.ts b/sdk/nodejs/kms/getAlias.ts index 783f1fd206a..f1e584bc5d8 100644 --- a/sdk/nodejs/kms/getAlias.ts +++ b/sdk/nodejs/kms/getAlias.ts @@ -78,7 +78,7 @@ export interface GetAliasResult { * }); * ``` */ -export function getAliasOutput(args: GetAliasOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAliasOutput(args: GetAliasOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:kms/getAlias:getAlias", { "name": args.name, diff --git a/sdk/nodejs/kms/getCipherText.ts b/sdk/nodejs/kms/getCipherText.ts index f3062fbb3c4..ddd38ff6adc 100644 --- a/sdk/nodejs/kms/getCipherText.ts +++ b/sdk/nodejs/kms/getCipherText.ts @@ -99,7 +99,7 @@ export interface GetCipherTextResult { * }); * ``` */ -export function getCipherTextOutput(args: GetCipherTextOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCipherTextOutput(args: GetCipherTextOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:kms/getCipherText:getCipherText", { "context": args.context, diff --git a/sdk/nodejs/kms/getCustomKeyStore.ts b/sdk/nodejs/kms/getCustomKeyStore.ts index bc20c809fd3..9a2e57a6c25 100644 --- a/sdk/nodejs/kms/getCustomKeyStore.ts +++ b/sdk/nodejs/kms/getCustomKeyStore.ts @@ -83,7 +83,7 @@ export interface GetCustomKeyStoreResult { * }); * ``` */ -export function getCustomKeyStoreOutput(args?: GetCustomKeyStoreOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCustomKeyStoreOutput(args?: GetCustomKeyStoreOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:kms/getCustomKeyStore:getCustomKeyStore", { diff --git a/sdk/nodejs/kms/getKey.ts b/sdk/nodejs/kms/getKey.ts index e1ded8f526e..ae4aa1c35c8 100644 --- a/sdk/nodejs/kms/getKey.ts +++ b/sdk/nodejs/kms/getKey.ts @@ -176,7 +176,7 @@ export interface GetKeyResult { * }); * ``` */ -export function getKeyOutput(args: GetKeyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getKeyOutput(args: GetKeyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:kms/getKey:getKey", { "grantTokens": args.grantTokens, diff --git a/sdk/nodejs/kms/getPublicKey.ts b/sdk/nodejs/kms/getPublicKey.ts index 43da5012d1f..48b95d48df0 100644 --- a/sdk/nodejs/kms/getPublicKey.ts +++ b/sdk/nodejs/kms/getPublicKey.ts @@ -115,7 +115,7 @@ export interface GetPublicKeyResult { * }); * ``` */ -export function getPublicKeyOutput(args: GetPublicKeyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPublicKeyOutput(args: GetPublicKeyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:kms/getPublicKey:getPublicKey", { "grantTokens": args.grantTokens, diff --git a/sdk/nodejs/kms/getSecret.ts b/sdk/nodejs/kms/getSecret.ts index 65373055d49..90e1ba95c60 100644 --- a/sdk/nodejs/kms/getSecret.ts +++ b/sdk/nodejs/kms/getSecret.ts @@ -31,7 +31,7 @@ export interface GetSecretResult { readonly id: string; readonly secrets: outputs.kms.GetSecretSecret[]; } -export function getSecretOutput(args: GetSecretOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSecretOutput(args: GetSecretOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:kms/getSecret:getSecret", { "secrets": args.secrets, diff --git a/sdk/nodejs/kms/getSecrets.ts b/sdk/nodejs/kms/getSecrets.ts index 9e7f37ca14d..e1dbbd593cd 100644 --- a/sdk/nodejs/kms/getSecrets.ts +++ b/sdk/nodejs/kms/getSecrets.ts @@ -62,7 +62,7 @@ export interface GetSecretsResult { * * That encrypted output can now be inserted into provider configurations without exposing the plaintext secret directly. */ -export function getSecretsOutput(args: GetSecretsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSecretsOutput(args: GetSecretsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:kms/getSecrets:getSecrets", { "secrets": args.secrets, diff --git a/sdk/nodejs/lakeformation/getDataLakeSettings.ts b/sdk/nodejs/lakeformation/getDataLakeSettings.ts index 3c8c50c5727..4f873d34afa 100644 --- a/sdk/nodejs/lakeformation/getDataLakeSettings.ts +++ b/sdk/nodejs/lakeformation/getDataLakeSettings.ts @@ -103,7 +103,7 @@ export interface GetDataLakeSettingsResult { * }); * ``` */ -export function getDataLakeSettingsOutput(args?: GetDataLakeSettingsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDataLakeSettingsOutput(args?: GetDataLakeSettingsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lakeformation/getDataLakeSettings:getDataLakeSettings", { diff --git a/sdk/nodejs/lakeformation/getPermissions.ts b/sdk/nodejs/lakeformation/getPermissions.ts index 7c2140e12d5..d10bcec0be6 100644 --- a/sdk/nodejs/lakeformation/getPermissions.ts +++ b/sdk/nodejs/lakeformation/getPermissions.ts @@ -226,7 +226,7 @@ export interface GetPermissionsResult { * }); * ``` */ -export function getPermissionsOutput(args: GetPermissionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPermissionsOutput(args: GetPermissionsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lakeformation/getPermissions:getPermissions", { "catalogId": args.catalogId, diff --git a/sdk/nodejs/lakeformation/getResource.ts b/sdk/nodejs/lakeformation/getResource.ts index 6293a95bc19..fcf990acca1 100644 --- a/sdk/nodejs/lakeformation/getResource.ts +++ b/sdk/nodejs/lakeformation/getResource.ts @@ -67,7 +67,7 @@ export interface GetResourceResult { * }); * ``` */ -export function getResourceOutput(args: GetResourceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResourceOutput(args: GetResourceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lakeformation/getResource:getResource", { "arn": args.arn, diff --git a/sdk/nodejs/lambda/getAlias.ts b/sdk/nodejs/lambda/getAlias.ts index e87db2ba886..12e775e5a82 100644 --- a/sdk/nodejs/lambda/getAlias.ts +++ b/sdk/nodejs/lambda/getAlias.ts @@ -83,7 +83,7 @@ export interface GetAliasResult { * }); * ``` */ -export function getAliasOutput(args: GetAliasOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAliasOutput(args: GetAliasOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lambda/getAlias:getAlias", { "functionName": args.functionName, diff --git a/sdk/nodejs/lambda/getCodeSigningConfig.ts b/sdk/nodejs/lambda/getCodeSigningConfig.ts index c01f0f01ba0..ab2129ff85f 100644 --- a/sdk/nodejs/lambda/getCodeSigningConfig.ts +++ b/sdk/nodejs/lambda/getCodeSigningConfig.ts @@ -86,7 +86,7 @@ export interface GetCodeSigningConfigResult { * }); * ``` */ -export function getCodeSigningConfigOutput(args: GetCodeSigningConfigOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCodeSigningConfigOutput(args: GetCodeSigningConfigOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lambda/getCodeSigningConfig:getCodeSigningConfig", { "arn": args.arn, diff --git a/sdk/nodejs/lambda/getFunction.ts b/sdk/nodejs/lambda/getFunction.ts index ded257421a6..e1c9624047f 100644 --- a/sdk/nodejs/lambda/getFunction.ts +++ b/sdk/nodejs/lambda/getFunction.ts @@ -197,7 +197,7 @@ export interface GetFunctionResult { * }); * ``` */ -export function getFunctionOutput(args: GetFunctionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getFunctionOutput(args: GetFunctionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lambda/getFunction:getFunction", { "functionName": args.functionName, diff --git a/sdk/nodejs/lambda/getFunctionUrl.ts b/sdk/nodejs/lambda/getFunctionUrl.ts index 815a610d128..4de0407775a 100644 --- a/sdk/nodejs/lambda/getFunctionUrl.ts +++ b/sdk/nodejs/lambda/getFunctionUrl.ts @@ -104,7 +104,7 @@ export interface GetFunctionUrlResult { * }); * ``` */ -export function getFunctionUrlOutput(args: GetFunctionUrlOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getFunctionUrlOutput(args: GetFunctionUrlOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lambda/getFunctionUrl:getFunctionUrl", { "functionName": args.functionName, diff --git a/sdk/nodejs/lambda/getFunctions.ts b/sdk/nodejs/lambda/getFunctions.ts index 7ae056b93cf..11f4fb2ae67 100644 --- a/sdk/nodejs/lambda/getFunctions.ts +++ b/sdk/nodejs/lambda/getFunctions.ts @@ -51,7 +51,7 @@ export interface GetFunctionsResult { * const all = aws.lambda.getFunctions({}); * ``` */ -export function getFunctionsOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getFunctionsOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lambda/getFunctions:getFunctions", { }, opts); diff --git a/sdk/nodejs/lambda/getInvocation.ts b/sdk/nodejs/lambda/getInvocation.ts index 127eab169e5..0bcc6a50a9a 100644 --- a/sdk/nodejs/lambda/getInvocation.ts +++ b/sdk/nodejs/lambda/getInvocation.ts @@ -62,7 +62,7 @@ export interface GetInvocationResult { * * > **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) */ -export function getInvocationOutput(args: GetInvocationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInvocationOutput(args: GetInvocationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lambda/getInvocation:getInvocation", { "functionName": args.functionName, diff --git a/sdk/nodejs/lambda/getLayerVersion.ts b/sdk/nodejs/lambda/getLayerVersion.ts index 273a12fbff2..50df7f5bbb0 100644 --- a/sdk/nodejs/lambda/getLayerVersion.ts +++ b/sdk/nodejs/lambda/getLayerVersion.ts @@ -134,7 +134,7 @@ export interface GetLayerVersionResult { * }); * ``` */ -export function getLayerVersionOutput(args: GetLayerVersionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLayerVersionOutput(args: GetLayerVersionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lambda/getLayerVersion:getLayerVersion", { "compatibleArchitecture": args.compatibleArchitecture, diff --git a/sdk/nodejs/lb/getHostedZoneId.ts b/sdk/nodejs/lb/getHostedZoneId.ts index 05921872a23..d49edb20250 100644 --- a/sdk/nodejs/lb/getHostedZoneId.ts +++ b/sdk/nodejs/lb/getHostedZoneId.ts @@ -83,7 +83,7 @@ export interface GetHostedZoneIdResult { * }); * ``` */ -export function getHostedZoneIdOutput(args?: GetHostedZoneIdOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getHostedZoneIdOutput(args?: GetHostedZoneIdOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lb/getHostedZoneId:getHostedZoneId", { diff --git a/sdk/nodejs/lb/getLbs.ts b/sdk/nodejs/lb/getLbs.ts index caef94dc6d2..34cf4b27c52 100644 --- a/sdk/nodejs/lb/getLbs.ts +++ b/sdk/nodejs/lb/getLbs.ts @@ -75,7 +75,7 @@ export interface GetLbsResult { * }); * ``` */ -export function getLbsOutput(args?: GetLbsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLbsOutput(args?: GetLbsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lb/getLbs:getLbs", { diff --git a/sdk/nodejs/lb/getListener.ts b/sdk/nodejs/lb/getListener.ts index 429b7c32f5c..c0dd47dbf10 100644 --- a/sdk/nodejs/lb/getListener.ts +++ b/sdk/nodejs/lb/getListener.ts @@ -112,7 +112,7 @@ export interface GetListenerResult { * })); * ``` */ -export function getListenerOutput(args?: GetListenerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getListenerOutput(args?: GetListenerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lb/getListener:getListener", { diff --git a/sdk/nodejs/lb/getListenerRule.ts b/sdk/nodejs/lb/getListenerRule.ts index f5064723b86..d5826717f0b 100644 --- a/sdk/nodejs/lb/getListenerRule.ts +++ b/sdk/nodejs/lb/getListenerRule.ts @@ -145,7 +145,7 @@ export interface GetListenerRuleResult { * }); * ``` */ -export function getListenerRuleOutput(args?: GetListenerRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getListenerRuleOutput(args?: GetListenerRuleOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lb/getListenerRule:getListenerRule", { diff --git a/sdk/nodejs/lb/getLoadBalancer.ts b/sdk/nodejs/lb/getLoadBalancer.ts index 6aa50595d35..fa130dd37fc 100644 --- a/sdk/nodejs/lb/getLoadBalancer.ts +++ b/sdk/nodejs/lb/getLoadBalancer.ts @@ -125,7 +125,7 @@ export interface GetLoadBalancerResult { * }); * ``` */ -export function getLoadBalancerOutput(args?: GetLoadBalancerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLoadBalancerOutput(args?: GetLoadBalancerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lb/getLoadBalancer:getLoadBalancer", { diff --git a/sdk/nodejs/lb/getTargetGroup.ts b/sdk/nodejs/lb/getTargetGroup.ts index 766a2f93657..41435112536 100644 --- a/sdk/nodejs/lb/getTargetGroup.ts +++ b/sdk/nodejs/lb/getTargetGroup.ts @@ -117,7 +117,7 @@ export interface GetTargetGroupResult { * }); * ``` */ -export function getTargetGroupOutput(args?: GetTargetGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getTargetGroupOutput(args?: GetTargetGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lb/getTargetGroup:getTargetGroup", { diff --git a/sdk/nodejs/lb/getTrustStore.ts b/sdk/nodejs/lb/getTrustStore.ts index f19118a9a85..984a3573f32 100644 --- a/sdk/nodejs/lb/getTrustStore.ts +++ b/sdk/nodejs/lb/getTrustStore.ts @@ -88,7 +88,7 @@ export interface GetTrustStoreResult { * }); * ``` */ -export function getTrustStoreOutput(args?: GetTrustStoreOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getTrustStoreOutput(args?: GetTrustStoreOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lb/getTrustStore:getTrustStore", { diff --git a/sdk/nodejs/lex/getBot.ts b/sdk/nodejs/lex/getBot.ts index 3439d906dd1..e37311761c5 100644 --- a/sdk/nodejs/lex/getBot.ts +++ b/sdk/nodejs/lex/getBot.ts @@ -129,7 +129,7 @@ export interface GetBotResult { * }); * ``` */ -export function getBotOutput(args: GetBotOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getBotOutput(args: GetBotOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lex/getBot:getBot", { "name": args.name, diff --git a/sdk/nodejs/lex/getBotAlias.ts b/sdk/nodejs/lex/getBotAlias.ts index 93451c50c3d..bda47761610 100644 --- a/sdk/nodejs/lex/getBotAlias.ts +++ b/sdk/nodejs/lex/getBotAlias.ts @@ -97,7 +97,7 @@ export interface GetBotAliasResult { * }); * ``` */ -export function getBotAliasOutput(args: GetBotAliasOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getBotAliasOutput(args: GetBotAliasOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lex/getBotAlias:getBotAlias", { "botName": args.botName, diff --git a/sdk/nodejs/lex/getIntent.ts b/sdk/nodejs/lex/getIntent.ts index 147355118a9..b2247eb8965 100644 --- a/sdk/nodejs/lex/getIntent.ts +++ b/sdk/nodejs/lex/getIntent.ts @@ -101,7 +101,7 @@ export interface GetIntentResult { * }); * ``` */ -export function getIntentOutput(args: GetIntentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getIntentOutput(args: GetIntentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lex/getIntent:getIntent", { "name": args.name, diff --git a/sdk/nodejs/lex/getSlotType.ts b/sdk/nodejs/lex/getSlotType.ts index 652dce9bb83..41cb1e2f360 100644 --- a/sdk/nodejs/lex/getSlotType.ts +++ b/sdk/nodejs/lex/getSlotType.ts @@ -106,7 +106,7 @@ export interface GetSlotTypeResult { * }); * ``` */ -export function getSlotTypeOutput(args: GetSlotTypeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSlotTypeOutput(args: GetSlotTypeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lex/getSlotType:getSlotType", { "name": args.name, diff --git a/sdk/nodejs/licensemanager/getLicenseGrants.ts b/sdk/nodejs/licensemanager/getLicenseGrants.ts index e33b0c37f94..115ba945d7f 100644 --- a/sdk/nodejs/licensemanager/getLicenseGrants.ts +++ b/sdk/nodejs/licensemanager/getLicenseGrants.ts @@ -82,7 +82,7 @@ export interface GetLicenseGrantsResult { * })); * ``` */ -export function getLicenseGrantsOutput(args?: GetLicenseGrantsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLicenseGrantsOutput(args?: GetLicenseGrantsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:licensemanager/getLicenseGrants:getLicenseGrants", { diff --git a/sdk/nodejs/licensemanager/getReceivedLicense.ts b/sdk/nodejs/licensemanager/getReceivedLicense.ts index 18a45888fd0..4aba6adcf87 100644 --- a/sdk/nodejs/licensemanager/getReceivedLicense.ts +++ b/sdk/nodejs/licensemanager/getReceivedLicense.ts @@ -123,7 +123,7 @@ export interface GetReceivedLicenseResult { * }); * ``` */ -export function getReceivedLicenseOutput(args: GetReceivedLicenseOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getReceivedLicenseOutput(args: GetReceivedLicenseOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:licensemanager/getReceivedLicense:getReceivedLicense", { "licenseArn": args.licenseArn, diff --git a/sdk/nodejs/licensemanager/getReceivedLicenses.ts b/sdk/nodejs/licensemanager/getReceivedLicenses.ts index 50b08075f14..2a51fd50c76 100644 --- a/sdk/nodejs/licensemanager/getReceivedLicenses.ts +++ b/sdk/nodejs/licensemanager/getReceivedLicenses.ts @@ -80,7 +80,7 @@ export interface GetReceivedLicensesResult { * }); * ``` */ -export function getReceivedLicensesOutput(args?: GetReceivedLicensesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getReceivedLicensesOutput(args?: GetReceivedLicensesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:licensemanager/getReceivedLicenses:getReceivedLicenses", { diff --git a/sdk/nodejs/location/getGeofenceCollection.ts b/sdk/nodejs/location/getGeofenceCollection.ts index 30954c91f7d..32ade692942 100644 --- a/sdk/nodejs/location/getGeofenceCollection.ts +++ b/sdk/nodejs/location/getGeofenceCollection.ts @@ -97,7 +97,7 @@ export interface GetGeofenceCollectionResult { * }); * ``` */ -export function getGeofenceCollectionOutput(args: GetGeofenceCollectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getGeofenceCollectionOutput(args: GetGeofenceCollectionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:location/getGeofenceCollection:getGeofenceCollection", { "collectionName": args.collectionName, diff --git a/sdk/nodejs/location/getMap.ts b/sdk/nodejs/location/getMap.ts index b9bc7f436c9..cc02e375974 100644 --- a/sdk/nodejs/location/getMap.ts +++ b/sdk/nodejs/location/getMap.ts @@ -91,7 +91,7 @@ export interface GetMapResult { * }); * ``` */ -export function getMapOutput(args: GetMapOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getMapOutput(args: GetMapOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:location/getMap:getMap", { "mapName": args.mapName, diff --git a/sdk/nodejs/location/getPlaceIndex.ts b/sdk/nodejs/location/getPlaceIndex.ts index 7f4c1e0a89c..0fb13f636fc 100644 --- a/sdk/nodejs/location/getPlaceIndex.ts +++ b/sdk/nodejs/location/getPlaceIndex.ts @@ -95,7 +95,7 @@ export interface GetPlaceIndexResult { * }); * ``` */ -export function getPlaceIndexOutput(args: GetPlaceIndexOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPlaceIndexOutput(args: GetPlaceIndexOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:location/getPlaceIndex:getPlaceIndex", { "indexName": args.indexName, diff --git a/sdk/nodejs/location/getRouteCalculator.ts b/sdk/nodejs/location/getRouteCalculator.ts index 6df479d79f5..f1ac5e47abf 100644 --- a/sdk/nodejs/location/getRouteCalculator.ts +++ b/sdk/nodejs/location/getRouteCalculator.ts @@ -88,7 +88,7 @@ export interface GetRouteCalculatorResult { * }); * ``` */ -export function getRouteCalculatorOutput(args: GetRouteCalculatorOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRouteCalculatorOutput(args: GetRouteCalculatorOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:location/getRouteCalculator:getRouteCalculator", { "calculatorName": args.calculatorName, diff --git a/sdk/nodejs/location/getTracker.ts b/sdk/nodejs/location/getTracker.ts index 8e990908edf..e239a011d9c 100644 --- a/sdk/nodejs/location/getTracker.ts +++ b/sdk/nodejs/location/getTracker.ts @@ -92,7 +92,7 @@ export interface GetTrackerResult { * }); * ``` */ -export function getTrackerOutput(args: GetTrackerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getTrackerOutput(args: GetTrackerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:location/getTracker:getTracker", { "tags": args.tags, diff --git a/sdk/nodejs/location/getTrackerAssociation.ts b/sdk/nodejs/location/getTrackerAssociation.ts index 08e5cacbb8a..c332e8dd040 100644 --- a/sdk/nodejs/location/getTrackerAssociation.ts +++ b/sdk/nodejs/location/getTrackerAssociation.ts @@ -71,7 +71,7 @@ export interface GetTrackerAssociationResult { * }); * ``` */ -export function getTrackerAssociationOutput(args: GetTrackerAssociationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getTrackerAssociationOutput(args: GetTrackerAssociationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:location/getTrackerAssociation:getTrackerAssociation", { "consumerArn": args.consumerArn, diff --git a/sdk/nodejs/location/getTrackerAssociations.ts b/sdk/nodejs/location/getTrackerAssociations.ts index 3c8b03e9877..cf1ef64cc0f 100644 --- a/sdk/nodejs/location/getTrackerAssociations.ts +++ b/sdk/nodejs/location/getTrackerAssociations.ts @@ -67,7 +67,7 @@ export interface GetTrackerAssociationsResult { * }); * ``` */ -export function getTrackerAssociationsOutput(args: GetTrackerAssociationsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getTrackerAssociationsOutput(args: GetTrackerAssociationsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:location/getTrackerAssociations:getTrackerAssociations", { "trackerName": args.trackerName, diff --git a/sdk/nodejs/mediaconvert/getQueue.ts b/sdk/nodejs/mediaconvert/getQueue.ts index ee48244280a..8a69401b3f1 100644 --- a/sdk/nodejs/mediaconvert/getQueue.ts +++ b/sdk/nodejs/mediaconvert/getQueue.ts @@ -76,7 +76,7 @@ export interface GetQueueResult { * }); * ``` */ -export function getQueueOutput(args: GetQueueOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getQueueOutput(args: GetQueueOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:mediaconvert/getQueue:getQueue", { "id": args.id, diff --git a/sdk/nodejs/medialive/getInput.ts b/sdk/nodejs/medialive/getInput.ts index 6ce6bb55466..608e5593162 100644 --- a/sdk/nodejs/medialive/getInput.ts +++ b/sdk/nodejs/medialive/getInput.ts @@ -119,7 +119,7 @@ export interface GetInputResult { * }); * ``` */ -export function getInputOutput(args: GetInputOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInputOutput(args: GetInputOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:medialive/getInput:getInput", { "id": args.id, diff --git a/sdk/nodejs/memorydb/getAcl.ts b/sdk/nodejs/memorydb/getAcl.ts index 28efe05a910..ddf880ba60e 100644 --- a/sdk/nodejs/memorydb/getAcl.ts +++ b/sdk/nodejs/memorydb/getAcl.ts @@ -80,7 +80,7 @@ export interface GetAclResult { * }); * ``` */ -export function getAclOutput(args: GetAclOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAclOutput(args: GetAclOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:memorydb/getAcl:getAcl", { "name": args.name, diff --git a/sdk/nodejs/memorydb/getCluster.ts b/sdk/nodejs/memorydb/getCluster.ts index 0c8d0c0a200..0c24562eaf2 100644 --- a/sdk/nodejs/memorydb/getCluster.ts +++ b/sdk/nodejs/memorydb/getCluster.ts @@ -167,7 +167,7 @@ export interface GetClusterResult { * }); * ``` */ -export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:memorydb/getCluster:getCluster", { "name": args.name, diff --git a/sdk/nodejs/memorydb/getParameterGroup.ts b/sdk/nodejs/memorydb/getParameterGroup.ts index 90d992d799a..fd3a620a0fc 100644 --- a/sdk/nodejs/memorydb/getParameterGroup.ts +++ b/sdk/nodejs/memorydb/getParameterGroup.ts @@ -90,7 +90,7 @@ export interface GetParameterGroupResult { * }); * ``` */ -export function getParameterGroupOutput(args: GetParameterGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getParameterGroupOutput(args: GetParameterGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:memorydb/getParameterGroup:getParameterGroup", { "name": args.name, diff --git a/sdk/nodejs/memorydb/getSnapshot.ts b/sdk/nodejs/memorydb/getSnapshot.ts index 46795fb3623..77f19c0831a 100644 --- a/sdk/nodejs/memorydb/getSnapshot.ts +++ b/sdk/nodejs/memorydb/getSnapshot.ts @@ -94,7 +94,7 @@ export interface GetSnapshotResult { * }); * ``` */ -export function getSnapshotOutput(args: GetSnapshotOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSnapshotOutput(args: GetSnapshotOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:memorydb/getSnapshot:getSnapshot", { "name": args.name, diff --git a/sdk/nodejs/memorydb/getSubnetGroup.ts b/sdk/nodejs/memorydb/getSubnetGroup.ts index 8e9ad18fa4e..cdef03429d9 100644 --- a/sdk/nodejs/memorydb/getSubnetGroup.ts +++ b/sdk/nodejs/memorydb/getSubnetGroup.ts @@ -84,7 +84,7 @@ export interface GetSubnetGroupResult { * }); * ``` */ -export function getSubnetGroupOutput(args: GetSubnetGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSubnetGroupOutput(args: GetSubnetGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:memorydb/getSubnetGroup:getSubnetGroup", { "name": args.name, diff --git a/sdk/nodejs/memorydb/getUser.ts b/sdk/nodejs/memorydb/getUser.ts index 28f0be42117..3fffa01a239 100644 --- a/sdk/nodejs/memorydb/getUser.ts +++ b/sdk/nodejs/memorydb/getUser.ts @@ -87,7 +87,7 @@ export interface GetUserResult { * }); * ``` */ -export function getUserOutput(args: GetUserOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getUserOutput(args: GetUserOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:memorydb/getUser:getUser", { "tags": args.tags, diff --git a/sdk/nodejs/mq/getBroker.ts b/sdk/nodejs/mq/getBroker.ts index fe1712e8636..4fe3a8b1df7 100644 --- a/sdk/nodejs/mq/getBroker.ts +++ b/sdk/nodejs/mq/getBroker.ts @@ -102,7 +102,7 @@ export interface GetBrokerResult { * }); * ``` */ -export function getBrokerOutput(args?: GetBrokerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getBrokerOutput(args?: GetBrokerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:mq/getBroker:getBroker", { diff --git a/sdk/nodejs/mq/getBrokerEngineTypes.ts b/sdk/nodejs/mq/getBrokerEngineTypes.ts index 3b7cbc2fc03..d6652771c0f 100644 --- a/sdk/nodejs/mq/getBrokerEngineTypes.ts +++ b/sdk/nodejs/mq/getBrokerEngineTypes.ts @@ -74,7 +74,7 @@ export interface GetBrokerEngineTypesResult { * }); * ``` */ -export function getBrokerEngineTypesOutput(args?: GetBrokerEngineTypesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getBrokerEngineTypesOutput(args?: GetBrokerEngineTypesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:mq/getBrokerEngineTypes:getBrokerEngineTypes", { diff --git a/sdk/nodejs/mq/getInstanceTypeOfferings.ts b/sdk/nodejs/mq/getInstanceTypeOfferings.ts index 760a3f05709..6f635c67d6e 100644 --- a/sdk/nodejs/mq/getInstanceTypeOfferings.ts +++ b/sdk/nodejs/mq/getInstanceTypeOfferings.ts @@ -112,7 +112,7 @@ export interface GetInstanceTypeOfferingsResult { * }); * ``` */ -export function getInstanceTypeOfferingsOutput(args?: GetInstanceTypeOfferingsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInstanceTypeOfferingsOutput(args?: GetInstanceTypeOfferingsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:mq/getInstanceTypeOfferings:getInstanceTypeOfferings", { diff --git a/sdk/nodejs/msk/getBootstrapBrokers.ts b/sdk/nodejs/msk/getBootstrapBrokers.ts index 27cd6e5d8d4..7f8c7a1f702 100644 --- a/sdk/nodejs/msk/getBootstrapBrokers.ts +++ b/sdk/nodejs/msk/getBootstrapBrokers.ts @@ -99,7 +99,7 @@ export interface GetBootstrapBrokersResult { * }); * ``` */ -export function getBootstrapBrokersOutput(args: GetBootstrapBrokersOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getBootstrapBrokersOutput(args: GetBootstrapBrokersOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:msk/getBootstrapBrokers:getBootstrapBrokers", { "clusterArn": args.clusterArn, diff --git a/sdk/nodejs/msk/getBrokerNodes.ts b/sdk/nodejs/msk/getBrokerNodes.ts index 07709673469..f9791eda2f5 100644 --- a/sdk/nodejs/msk/getBrokerNodes.ts +++ b/sdk/nodejs/msk/getBrokerNodes.ts @@ -63,7 +63,7 @@ export interface GetBrokerNodesResult { * }); * ``` */ -export function getBrokerNodesOutput(args: GetBrokerNodesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getBrokerNodesOutput(args: GetBrokerNodesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:msk/getBrokerNodes:getBrokerNodes", { "clusterArn": args.clusterArn, diff --git a/sdk/nodejs/msk/getCluster.ts b/sdk/nodejs/msk/getCluster.ts index 2e9322772c5..0181c8b2868 100644 --- a/sdk/nodejs/msk/getCluster.ts +++ b/sdk/nodejs/msk/getCluster.ts @@ -131,7 +131,7 @@ export interface GetClusterResult { * }); * ``` */ -export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:msk/getCluster:getCluster", { "clusterName": args.clusterName, diff --git a/sdk/nodejs/msk/getConfiguration.ts b/sdk/nodejs/msk/getConfiguration.ts index 46f070dda74..d3f5f3c0dcd 100644 --- a/sdk/nodejs/msk/getConfiguration.ts +++ b/sdk/nodejs/msk/getConfiguration.ts @@ -79,7 +79,7 @@ export interface GetConfigurationResult { * }); * ``` */ -export function getConfigurationOutput(args: GetConfigurationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getConfigurationOutput(args: GetConfigurationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:msk/getConfiguration:getConfiguration", { "name": args.name, diff --git a/sdk/nodejs/msk/getKafkaVersion.ts b/sdk/nodejs/msk/getKafkaVersion.ts index b0145846e76..b52a8c91946 100644 --- a/sdk/nodejs/msk/getKafkaVersion.ts +++ b/sdk/nodejs/msk/getKafkaVersion.ts @@ -84,7 +84,7 @@ export interface GetKafkaVersionResult { * }); * ``` */ -export function getKafkaVersionOutput(args?: GetKafkaVersionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getKafkaVersionOutput(args?: GetKafkaVersionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:msk/getKafkaVersion:getKafkaVersion", { diff --git a/sdk/nodejs/msk/getVpcConnection.ts b/sdk/nodejs/msk/getVpcConnection.ts index 23ebb974d25..81c4ccafc75 100644 --- a/sdk/nodejs/msk/getVpcConnection.ts +++ b/sdk/nodejs/msk/getVpcConnection.ts @@ -88,7 +88,7 @@ export interface GetVpcConnectionResult { * }); * ``` */ -export function getVpcConnectionOutput(args: GetVpcConnectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVpcConnectionOutput(args: GetVpcConnectionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:msk/getVpcConnection:getVpcConnection", { "arn": args.arn, diff --git a/sdk/nodejs/mskconnect/getConnector.ts b/sdk/nodejs/mskconnect/getConnector.ts index 2f098844d21..99d4301732c 100644 --- a/sdk/nodejs/mskconnect/getConnector.ts +++ b/sdk/nodejs/mskconnect/getConnector.ts @@ -80,7 +80,7 @@ export interface GetConnectorResult { * }); * ``` */ -export function getConnectorOutput(args: GetConnectorOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getConnectorOutput(args: GetConnectorOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:mskconnect/getConnector:getConnector", { "name": args.name, diff --git a/sdk/nodejs/mskconnect/getCustomPlugin.ts b/sdk/nodejs/mskconnect/getCustomPlugin.ts index 3201fe13492..44c6016b010 100644 --- a/sdk/nodejs/mskconnect/getCustomPlugin.ts +++ b/sdk/nodejs/mskconnect/getCustomPlugin.ts @@ -84,7 +84,7 @@ export interface GetCustomPluginResult { * }); * ``` */ -export function getCustomPluginOutput(args: GetCustomPluginOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCustomPluginOutput(args: GetCustomPluginOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:mskconnect/getCustomPlugin:getCustomPlugin", { "name": args.name, diff --git a/sdk/nodejs/mskconnect/getWorkerConfiguration.ts b/sdk/nodejs/mskconnect/getWorkerConfiguration.ts index 41c21ec4c79..afd14a1a0f8 100644 --- a/sdk/nodejs/mskconnect/getWorkerConfiguration.ts +++ b/sdk/nodejs/mskconnect/getWorkerConfiguration.ts @@ -84,7 +84,7 @@ export interface GetWorkerConfigurationResult { * }); * ``` */ -export function getWorkerConfigurationOutput(args: GetWorkerConfigurationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getWorkerConfigurationOutput(args: GetWorkerConfigurationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:mskconnect/getWorkerConfiguration:getWorkerConfiguration", { "name": args.name, diff --git a/sdk/nodejs/neptune/getEngineVersion.ts b/sdk/nodejs/neptune/getEngineVersion.ts index 9b7a9267a04..55f182521a6 100644 --- a/sdk/nodejs/neptune/getEngineVersion.ts +++ b/sdk/nodejs/neptune/getEngineVersion.ts @@ -114,7 +114,7 @@ export interface GetEngineVersionResult { * }); * ``` */ -export function getEngineVersionOutput(args?: GetEngineVersionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEngineVersionOutput(args?: GetEngineVersionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:neptune/getEngineVersion:getEngineVersion", { diff --git a/sdk/nodejs/neptune/getOrderableDbInstance.ts b/sdk/nodejs/neptune/getOrderableDbInstance.ts index fbb445d481a..db5ffa5a449 100644 --- a/sdk/nodejs/neptune/getOrderableDbInstance.ts +++ b/sdk/nodejs/neptune/getOrderableDbInstance.ts @@ -160,7 +160,7 @@ export interface GetOrderableDbInstanceResult { * }); * ``` */ -export function getOrderableDbInstanceOutput(args?: GetOrderableDbInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOrderableDbInstanceOutput(args?: GetOrderableDbInstanceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:neptune/getOrderableDbInstance:getOrderableDbInstance", { diff --git a/sdk/nodejs/networkfirewall/getFirewall.ts b/sdk/nodejs/networkfirewall/getFirewall.ts index 3b0ad681e0d..f9d24ac9e21 100644 --- a/sdk/nodejs/networkfirewall/getFirewall.ts +++ b/sdk/nodejs/networkfirewall/getFirewall.ts @@ -174,7 +174,7 @@ export interface GetFirewallResult { * }); * ``` */ -export function getFirewallOutput(args?: GetFirewallOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getFirewallOutput(args?: GetFirewallOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:networkfirewall/getFirewall:getFirewall", { diff --git a/sdk/nodejs/networkfirewall/getFirewallPolicy.ts b/sdk/nodejs/networkfirewall/getFirewallPolicy.ts index ee46ca02cb7..cd4d7e9299e 100644 --- a/sdk/nodejs/networkfirewall/getFirewallPolicy.ts +++ b/sdk/nodejs/networkfirewall/getFirewallPolicy.ts @@ -148,7 +148,7 @@ export interface GetFirewallPolicyResult { * * > **Note:** If there are multiple firewall policies in an account with the same `name`, and `arn` is not specified, the default behavior will return the firewall policy with `name` that was created in the account. */ -export function getFirewallPolicyOutput(args?: GetFirewallPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getFirewallPolicyOutput(args?: GetFirewallPolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:networkfirewall/getFirewallPolicy:getFirewallPolicy", { diff --git a/sdk/nodejs/networkfirewall/getResourcePolicy.ts b/sdk/nodejs/networkfirewall/getResourcePolicy.ts index 77e5877e7f6..1f96dc91c60 100644 --- a/sdk/nodejs/networkfirewall/getResourcePolicy.ts +++ b/sdk/nodejs/networkfirewall/getResourcePolicy.ts @@ -63,7 +63,7 @@ export interface GetResourcePolicyResult { * }); * ``` */ -export function getResourcePolicyOutput(args: GetResourcePolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResourcePolicyOutput(args: GetResourcePolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:networkfirewall/getResourcePolicy:getResourcePolicy", { "resourceArn": args.resourceArn, diff --git a/sdk/nodejs/networkmanager/getConnection.ts b/sdk/nodejs/networkmanager/getConnection.ts index 1747ef16523..e71b1a327d0 100644 --- a/sdk/nodejs/networkmanager/getConnection.ts +++ b/sdk/nodejs/networkmanager/getConnection.ts @@ -100,7 +100,7 @@ export interface GetConnectionResult { * }); * ``` */ -export function getConnectionOutput(args: GetConnectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getConnectionOutput(args: GetConnectionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:networkmanager/getConnection:getConnection", { "connectionId": args.connectionId, diff --git a/sdk/nodejs/networkmanager/getConnections.ts b/sdk/nodejs/networkmanager/getConnections.ts index 113c8255190..6b72f5e1f89 100644 --- a/sdk/nodejs/networkmanager/getConnections.ts +++ b/sdk/nodejs/networkmanager/getConnections.ts @@ -81,7 +81,7 @@ export interface GetConnectionsResult { * }); * ``` */ -export function getConnectionsOutput(args: GetConnectionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getConnectionsOutput(args: GetConnectionsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:networkmanager/getConnections:getConnections", { "deviceId": args.deviceId, diff --git a/sdk/nodejs/networkmanager/getCoreNetworkPolicyDocument.ts b/sdk/nodejs/networkmanager/getCoreNetworkPolicyDocument.ts index 02808d31f21..fcfca50bffc 100644 --- a/sdk/nodejs/networkmanager/getCoreNetworkPolicyDocument.ts +++ b/sdk/nodejs/networkmanager/getCoreNetworkPolicyDocument.ts @@ -227,7 +227,7 @@ export interface GetCoreNetworkPolicyDocumentResult { * * `data.aws_networkmanager_core_network_policy_document.test.json` will evaluate to: */ -export function getCoreNetworkPolicyDocumentOutput(args: GetCoreNetworkPolicyDocumentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCoreNetworkPolicyDocumentOutput(args: GetCoreNetworkPolicyDocumentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:networkmanager/getCoreNetworkPolicyDocument:getCoreNetworkPolicyDocument", { "attachmentPolicies": args.attachmentPolicies, diff --git a/sdk/nodejs/networkmanager/getDevice.ts b/sdk/nodejs/networkmanager/getDevice.ts index f3425b73e63..42b4668b0ce 100644 --- a/sdk/nodejs/networkmanager/getDevice.ts +++ b/sdk/nodejs/networkmanager/getDevice.ts @@ -91,7 +91,7 @@ export interface GetDeviceResult { /** * Retrieve information about a device. */ -export function getDeviceOutput(args: GetDeviceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDeviceOutput(args: GetDeviceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:networkmanager/getDevice:getDevice", { "deviceId": args.deviceId, diff --git a/sdk/nodejs/networkmanager/getDevices.ts b/sdk/nodejs/networkmanager/getDevices.ts index 429acb3d00b..68d19624e56 100644 --- a/sdk/nodejs/networkmanager/getDevices.ts +++ b/sdk/nodejs/networkmanager/getDevices.ts @@ -81,7 +81,7 @@ export interface GetDevicesResult { * }); * ``` */ -export function getDevicesOutput(args: GetDevicesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDevicesOutput(args: GetDevicesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:networkmanager/getDevices:getDevices", { "globalNetworkId": args.globalNetworkId, diff --git a/sdk/nodejs/networkmanager/getGlobalNetwork.ts b/sdk/nodejs/networkmanager/getGlobalNetwork.ts index 9efef9f2649..93f14e0f7f7 100644 --- a/sdk/nodejs/networkmanager/getGlobalNetwork.ts +++ b/sdk/nodejs/networkmanager/getGlobalNetwork.ts @@ -76,7 +76,7 @@ export interface GetGlobalNetworkResult { * }); * ``` */ -export function getGlobalNetworkOutput(args: GetGlobalNetworkOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getGlobalNetworkOutput(args: GetGlobalNetworkOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:networkmanager/getGlobalNetwork:getGlobalNetwork", { "globalNetworkId": args.globalNetworkId, diff --git a/sdk/nodejs/networkmanager/getGlobalNetworks.ts b/sdk/nodejs/networkmanager/getGlobalNetworks.ts index 995073c64e8..0524aba8a3f 100644 --- a/sdk/nodejs/networkmanager/getGlobalNetworks.ts +++ b/sdk/nodejs/networkmanager/getGlobalNetworks.ts @@ -68,7 +68,7 @@ export interface GetGlobalNetworksResult { * }); * ``` */ -export function getGlobalNetworksOutput(args?: GetGlobalNetworksOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getGlobalNetworksOutput(args?: GetGlobalNetworksOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:networkmanager/getGlobalNetworks:getGlobalNetworks", { diff --git a/sdk/nodejs/networkmanager/getLink.ts b/sdk/nodejs/networkmanager/getLink.ts index 856e27f0ab9..37dbb3b3d74 100644 --- a/sdk/nodejs/networkmanager/getLink.ts +++ b/sdk/nodejs/networkmanager/getLink.ts @@ -103,7 +103,7 @@ export interface GetLinkResult { * }); * ``` */ -export function getLinkOutput(args: GetLinkOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLinkOutput(args: GetLinkOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:networkmanager/getLink:getLink", { "globalNetworkId": args.globalNetworkId, diff --git a/sdk/nodejs/networkmanager/getLinks.ts b/sdk/nodejs/networkmanager/getLinks.ts index 55684867c91..6530accafb4 100644 --- a/sdk/nodejs/networkmanager/getLinks.ts +++ b/sdk/nodejs/networkmanager/getLinks.ts @@ -93,7 +93,7 @@ export interface GetLinksResult { * }); * ``` */ -export function getLinksOutput(args: GetLinksOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLinksOutput(args: GetLinksOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:networkmanager/getLinks:getLinks", { "globalNetworkId": args.globalNetworkId, diff --git a/sdk/nodejs/networkmanager/getSite.ts b/sdk/nodejs/networkmanager/getSite.ts index 6d418716d15..2348dfd8a9d 100644 --- a/sdk/nodejs/networkmanager/getSite.ts +++ b/sdk/nodejs/networkmanager/getSite.ts @@ -91,7 +91,7 @@ export interface GetSiteResult { * }); * ``` */ -export function getSiteOutput(args: GetSiteOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSiteOutput(args: GetSiteOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:networkmanager/getSite:getSite", { "globalNetworkId": args.globalNetworkId, diff --git a/sdk/nodejs/networkmanager/getSites.ts b/sdk/nodejs/networkmanager/getSites.ts index 3dec9b624a9..3ce7598afba 100644 --- a/sdk/nodejs/networkmanager/getSites.ts +++ b/sdk/nodejs/networkmanager/getSites.ts @@ -75,7 +75,7 @@ export interface GetSitesResult { * }); * ``` */ -export function getSitesOutput(args: GetSitesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSitesOutput(args: GetSitesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:networkmanager/getSites:getSites", { "globalNetworkId": args.globalNetworkId, diff --git a/sdk/nodejs/oam/getLink.ts b/sdk/nodejs/oam/getLink.ts index c10d72d6a29..d3448f4e2c4 100644 --- a/sdk/nodejs/oam/getLink.ts +++ b/sdk/nodejs/oam/getLink.ts @@ -97,7 +97,7 @@ export interface GetLinkResult { * }); * ``` */ -export function getLinkOutput(args: GetLinkOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLinkOutput(args: GetLinkOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:oam/getLink:getLink", { "linkIdentifier": args.linkIdentifier, diff --git a/sdk/nodejs/oam/getLinks.ts b/sdk/nodejs/oam/getLinks.ts index 966d5d14bca..0e71c7c3c27 100644 --- a/sdk/nodejs/oam/getLinks.ts +++ b/sdk/nodejs/oam/getLinks.ts @@ -51,7 +51,7 @@ export interface GetLinksResult { * const example = aws.oam.getLinks({}); * ``` */ -export function getLinksOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLinksOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:oam/getLinks:getLinks", { }, opts); diff --git a/sdk/nodejs/oam/getSink.ts b/sdk/nodejs/oam/getSink.ts index d69926be7f2..06d235a806e 100644 --- a/sdk/nodejs/oam/getSink.ts +++ b/sdk/nodejs/oam/getSink.ts @@ -84,7 +84,7 @@ export interface GetSinkResult { * }); * ``` */ -export function getSinkOutput(args: GetSinkOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSinkOutput(args: GetSinkOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:oam/getSink:getSink", { "sinkIdentifier": args.sinkIdentifier, diff --git a/sdk/nodejs/oam/getSinks.ts b/sdk/nodejs/oam/getSinks.ts index a2219499788..58ec9473a57 100644 --- a/sdk/nodejs/oam/getSinks.ts +++ b/sdk/nodejs/oam/getSinks.ts @@ -51,7 +51,7 @@ export interface GetSinksResult { * const example = aws.oam.getSinks({}); * ``` */ -export function getSinksOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSinksOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:oam/getSinks:getSinks", { }, opts); diff --git a/sdk/nodejs/opensearch/getDomain.ts b/sdk/nodejs/opensearch/getDomain.ts index ee57564c37b..e065ece0eb2 100644 --- a/sdk/nodejs/opensearch/getDomain.ts +++ b/sdk/nodejs/opensearch/getDomain.ts @@ -186,7 +186,7 @@ export interface GetDomainResult { * }); * ``` */ -export function getDomainOutput(args: GetDomainOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDomainOutput(args: GetDomainOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:opensearch/getDomain:getDomain", { "domainName": args.domainName, diff --git a/sdk/nodejs/opensearch/getServerlessAccessPolicy.ts b/sdk/nodejs/opensearch/getServerlessAccessPolicy.ts index 4a47f6bcbc2..2d54f2b86b4 100644 --- a/sdk/nodejs/opensearch/getServerlessAccessPolicy.ts +++ b/sdk/nodejs/opensearch/getServerlessAccessPolicy.ts @@ -80,7 +80,7 @@ export interface GetServerlessAccessPolicyResult { * }); * ``` */ -export function getServerlessAccessPolicyOutput(args: GetServerlessAccessPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServerlessAccessPolicyOutput(args: GetServerlessAccessPolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:opensearch/getServerlessAccessPolicy:getServerlessAccessPolicy", { "name": args.name, diff --git a/sdk/nodejs/opensearch/getServerlessCollection.ts b/sdk/nodejs/opensearch/getServerlessCollection.ts index 36f120d8e0a..a1f023fc5bb 100644 --- a/sdk/nodejs/opensearch/getServerlessCollection.ts +++ b/sdk/nodejs/opensearch/getServerlessCollection.ts @@ -111,7 +111,7 @@ export interface GetServerlessCollectionResult { * }); * ``` */ -export function getServerlessCollectionOutput(args?: GetServerlessCollectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServerlessCollectionOutput(args?: GetServerlessCollectionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:opensearch/getServerlessCollection:getServerlessCollection", { diff --git a/sdk/nodejs/opensearch/getServerlessLifecyclePolicy.ts b/sdk/nodejs/opensearch/getServerlessLifecyclePolicy.ts index 775c5ccc553..21f768c4828 100644 --- a/sdk/nodejs/opensearch/getServerlessLifecyclePolicy.ts +++ b/sdk/nodejs/opensearch/getServerlessLifecyclePolicy.ts @@ -88,7 +88,7 @@ export interface GetServerlessLifecyclePolicyResult { * }); * ``` */ -export function getServerlessLifecyclePolicyOutput(args: GetServerlessLifecyclePolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServerlessLifecyclePolicyOutput(args: GetServerlessLifecyclePolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:opensearch/getServerlessLifecyclePolicy:getServerlessLifecyclePolicy", { "name": args.name, diff --git a/sdk/nodejs/opensearch/getServerlessSecurityConfig.ts b/sdk/nodejs/opensearch/getServerlessSecurityConfig.ts index 1d4b56aad0a..208cab0af49 100644 --- a/sdk/nodejs/opensearch/getServerlessSecurityConfig.ts +++ b/sdk/nodejs/opensearch/getServerlessSecurityConfig.ts @@ -91,7 +91,7 @@ export interface GetServerlessSecurityConfigResult { * }); * ``` */ -export function getServerlessSecurityConfigOutput(args: GetServerlessSecurityConfigOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServerlessSecurityConfigOutput(args: GetServerlessSecurityConfigOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:opensearch/getServerlessSecurityConfig:getServerlessSecurityConfig", { "id": args.id, diff --git a/sdk/nodejs/opensearch/getServerlessSecurityPolicy.ts b/sdk/nodejs/opensearch/getServerlessSecurityPolicy.ts index c016c0d2a4e..76b461a1733 100644 --- a/sdk/nodejs/opensearch/getServerlessSecurityPolicy.ts +++ b/sdk/nodejs/opensearch/getServerlessSecurityPolicy.ts @@ -87,7 +87,7 @@ export interface GetServerlessSecurityPolicyResult { * }); * ``` */ -export function getServerlessSecurityPolicyOutput(args: GetServerlessSecurityPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServerlessSecurityPolicyOutput(args: GetServerlessSecurityPolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:opensearch/getServerlessSecurityPolicy:getServerlessSecurityPolicy", { "name": args.name, diff --git a/sdk/nodejs/opensearch/getServerlessVpcEndpoint.ts b/sdk/nodejs/opensearch/getServerlessVpcEndpoint.ts index d3ce710e388..987d2784f6a 100644 --- a/sdk/nodejs/opensearch/getServerlessVpcEndpoint.ts +++ b/sdk/nodejs/opensearch/getServerlessVpcEndpoint.ts @@ -79,7 +79,7 @@ export interface GetServerlessVpcEndpointResult { * }); * ``` */ -export function getServerlessVpcEndpointOutput(args: GetServerlessVpcEndpointOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServerlessVpcEndpointOutput(args: GetServerlessVpcEndpointOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:opensearch/getServerlessVpcEndpoint:getServerlessVpcEndpoint", { "vpcEndpointId": args.vpcEndpointId, diff --git a/sdk/nodejs/organizations/getDelegatedAdministrators.ts b/sdk/nodejs/organizations/getDelegatedAdministrators.ts index be6887ba57a..0ff722e745e 100644 --- a/sdk/nodejs/organizations/getDelegatedAdministrators.ts +++ b/sdk/nodejs/organizations/getDelegatedAdministrators.ts @@ -67,7 +67,7 @@ export interface GetDelegatedAdministratorsResult { * }); * ``` */ -export function getDelegatedAdministratorsOutput(args?: GetDelegatedAdministratorsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDelegatedAdministratorsOutput(args?: GetDelegatedAdministratorsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:organizations/getDelegatedAdministrators:getDelegatedAdministrators", { diff --git a/sdk/nodejs/organizations/getDelegatedServices.ts b/sdk/nodejs/organizations/getDelegatedServices.ts index 9ffc15b4061..9b2dfa20520 100644 --- a/sdk/nodejs/organizations/getDelegatedServices.ts +++ b/sdk/nodejs/organizations/getDelegatedServices.ts @@ -66,7 +66,7 @@ export interface GetDelegatedServicesResult { * }); * ``` */ -export function getDelegatedServicesOutput(args: GetDelegatedServicesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDelegatedServicesOutput(args: GetDelegatedServicesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:organizations/getDelegatedServices:getDelegatedServices", { "accountId": args.accountId, diff --git a/sdk/nodejs/organizations/getOrganization.ts b/sdk/nodejs/organizations/getOrganization.ts index 2bc92541d88..7fc536b6fef 100644 --- a/sdk/nodejs/organizations/getOrganization.ts +++ b/sdk/nodejs/organizations/getOrganization.ts @@ -162,7 +162,7 @@ export interface GetOrganizationResult { * }); * ``` */ -export function getOrganizationOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOrganizationOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:organizations/getOrganization:getOrganization", { }, opts); diff --git a/sdk/nodejs/organizations/getOrganizationalUnit.ts b/sdk/nodejs/organizations/getOrganizationalUnit.ts index cbcbea6ee70..7b5467ce870 100644 --- a/sdk/nodejs/organizations/getOrganizationalUnit.ts +++ b/sdk/nodejs/organizations/getOrganizationalUnit.ts @@ -77,7 +77,7 @@ export interface GetOrganizationalUnitResult { * })); * ``` */ -export function getOrganizationalUnitOutput(args: GetOrganizationalUnitOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOrganizationalUnitOutput(args: GetOrganizationalUnitOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:organizations/getOrganizationalUnit:getOrganizationalUnit", { "name": args.name, diff --git a/sdk/nodejs/organizations/getOrganizationalUnitChildAccounts.ts b/sdk/nodejs/organizations/getOrganizationalUnitChildAccounts.ts index 60abdca0208..ad4194d85ab 100644 --- a/sdk/nodejs/organizations/getOrganizationalUnitChildAccounts.ts +++ b/sdk/nodejs/organizations/getOrganizationalUnitChildAccounts.ts @@ -68,7 +68,7 @@ export interface GetOrganizationalUnitChildAccountsResult { * })); * ``` */ -export function getOrganizationalUnitChildAccountsOutput(args: GetOrganizationalUnitChildAccountsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOrganizationalUnitChildAccountsOutput(args: GetOrganizationalUnitChildAccountsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:organizations/getOrganizationalUnitChildAccounts:getOrganizationalUnitChildAccounts", { "parentId": args.parentId, diff --git a/sdk/nodejs/organizations/getOrganizationalUnitDescendantAccounts.ts b/sdk/nodejs/organizations/getOrganizationalUnitDescendantAccounts.ts index 232c13d0894..89fbdb7f2bc 100644 --- a/sdk/nodejs/organizations/getOrganizationalUnitDescendantAccounts.ts +++ b/sdk/nodejs/organizations/getOrganizationalUnitDescendantAccounts.ts @@ -68,7 +68,7 @@ export interface GetOrganizationalUnitDescendantAccountsResult { * })); * ``` */ -export function getOrganizationalUnitDescendantAccountsOutput(args: GetOrganizationalUnitDescendantAccountsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOrganizationalUnitDescendantAccountsOutput(args: GetOrganizationalUnitDescendantAccountsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:organizations/getOrganizationalUnitDescendantAccounts:getOrganizationalUnitDescendantAccounts", { "parentId": args.parentId, diff --git a/sdk/nodejs/organizations/getOrganizationalUnitDescendantOrganizationalUnits.ts b/sdk/nodejs/organizations/getOrganizationalUnitDescendantOrganizationalUnits.ts index ca24fbdc6ab..d447e8bba30 100644 --- a/sdk/nodejs/organizations/getOrganizationalUnitDescendantOrganizationalUnits.ts +++ b/sdk/nodejs/organizations/getOrganizationalUnitDescendantOrganizationalUnits.ts @@ -68,7 +68,7 @@ export interface GetOrganizationalUnitDescendantOrganizationalUnitsResult { * })); * ``` */ -export function getOrganizationalUnitDescendantOrganizationalUnitsOutput(args: GetOrganizationalUnitDescendantOrganizationalUnitsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOrganizationalUnitDescendantOrganizationalUnitsOutput(args: GetOrganizationalUnitDescendantOrganizationalUnitsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:organizations/getOrganizationalUnitDescendantOrganizationalUnits:getOrganizationalUnitDescendantOrganizationalUnits", { "parentId": args.parentId, diff --git a/sdk/nodejs/organizations/getOrganizationalUnits.ts b/sdk/nodejs/organizations/getOrganizationalUnits.ts index 97b22b27c64..8680ee93e45 100644 --- a/sdk/nodejs/organizations/getOrganizationalUnits.ts +++ b/sdk/nodejs/organizations/getOrganizationalUnits.ts @@ -68,7 +68,7 @@ export interface GetOrganizationalUnitsResult { * })); * ``` */ -export function getOrganizationalUnitsOutput(args: GetOrganizationalUnitsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOrganizationalUnitsOutput(args: GetOrganizationalUnitsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:organizations/getOrganizationalUnits:getOrganizationalUnits", { "parentId": args.parentId, diff --git a/sdk/nodejs/organizations/getPolicies.ts b/sdk/nodejs/organizations/getPolicies.ts index 3f2d186e9e7..0eb00b29ae2 100644 --- a/sdk/nodejs/organizations/getPolicies.ts +++ b/sdk/nodejs/organizations/getPolicies.ts @@ -45,7 +45,7 @@ export interface GetPoliciesResult { * * ## Example Usage */ -export function getPoliciesOutput(args: GetPoliciesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPoliciesOutput(args: GetPoliciesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:organizations/getPolicies:getPolicies", { "filter": args.filter, diff --git a/sdk/nodejs/organizations/getPoliciesForTarget.ts b/sdk/nodejs/organizations/getPoliciesForTarget.ts index 0b839bc1613..b51af051dd5 100644 --- a/sdk/nodejs/organizations/getPoliciesForTarget.ts +++ b/sdk/nodejs/organizations/getPoliciesForTarget.ts @@ -51,7 +51,7 @@ export interface GetPoliciesForTargetResult { * * ## Example Usage */ -export function getPoliciesForTargetOutput(args: GetPoliciesForTargetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPoliciesForTargetOutput(args: GetPoliciesForTargetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:organizations/getPoliciesForTarget:getPoliciesForTarget", { "filter": args.filter, diff --git a/sdk/nodejs/organizations/getPolicy.ts b/sdk/nodejs/organizations/getPolicy.ts index a25f21579b8..921148199e3 100644 --- a/sdk/nodejs/organizations/getPolicy.ts +++ b/sdk/nodejs/organizations/getPolicy.ts @@ -65,7 +65,7 @@ export interface GetPolicyResult { * * ## Example Usage */ -export function getPolicyOutput(args: GetPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPolicyOutput(args: GetPolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:organizations/getPolicy:getPolicy", { "policyId": args.policyId, diff --git a/sdk/nodejs/organizations/getResourceTags.ts b/sdk/nodejs/organizations/getResourceTags.ts index 8e83c6ee206..0e2f14d1ebc 100644 --- a/sdk/nodejs/organizations/getResourceTags.ts +++ b/sdk/nodejs/organizations/getResourceTags.ts @@ -68,7 +68,7 @@ export interface GetResourceTagsResult { * }); * ``` */ -export function getResourceTagsOutput(args: GetResourceTagsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResourceTagsOutput(args: GetResourceTagsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:organizations/getResourceTags:getResourceTags", { "resourceId": args.resourceId, diff --git a/sdk/nodejs/outposts/getAsset.ts b/sdk/nodejs/outposts/getAsset.ts index 81a2c037163..7d4b49f25bb 100644 --- a/sdk/nodejs/outposts/getAsset.ts +++ b/sdk/nodejs/outposts/getAsset.ts @@ -59,7 +59,7 @@ export interface GetAssetResult { /** * Information about a specific hardware asset in an Outpost. */ -export function getAssetOutput(args: GetAssetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAssetOutput(args: GetAssetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:outposts/getAsset:getAsset", { "arn": args.arn, diff --git a/sdk/nodejs/outposts/getAssets.ts b/sdk/nodejs/outposts/getAssets.ts index 23dacd232f5..44827fbffdb 100644 --- a/sdk/nodejs/outposts/getAssets.ts +++ b/sdk/nodejs/outposts/getAssets.ts @@ -127,7 +127,7 @@ export interface GetAssetsResult { * }); * ``` */ -export function getAssetsOutput(args: GetAssetsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAssetsOutput(args: GetAssetsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:outposts/getAssets:getAssets", { "arn": args.arn, diff --git a/sdk/nodejs/outposts/getOutpost.ts b/sdk/nodejs/outposts/getOutpost.ts index a29eaf11f1a..3ed13e51879 100644 --- a/sdk/nodejs/outposts/getOutpost.ts +++ b/sdk/nodejs/outposts/getOutpost.ts @@ -111,7 +111,7 @@ export interface GetOutpostResult { * }); * ``` */ -export function getOutpostOutput(args?: GetOutpostOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOutpostOutput(args?: GetOutpostOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:outposts/getOutpost:getOutpost", { diff --git a/sdk/nodejs/outposts/getOutpostInstanceType.ts b/sdk/nodejs/outposts/getOutpostInstanceType.ts index 3cf7a17c56f..b36ed67c1f4 100644 --- a/sdk/nodejs/outposts/getOutpostInstanceType.ts +++ b/sdk/nodejs/outposts/getOutpostInstanceType.ts @@ -83,7 +83,7 @@ export interface GetOutpostInstanceTypeResult { * const exampleEc2Instance = new aws.index.Ec2Instance("example", {instanceType: example.instanceType}); * ``` */ -export function getOutpostInstanceTypeOutput(args: GetOutpostInstanceTypeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOutpostInstanceTypeOutput(args: GetOutpostInstanceTypeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:outposts/getOutpostInstanceType:getOutpostInstanceType", { "arn": args.arn, diff --git a/sdk/nodejs/outposts/getOutpostInstanceTypes.ts b/sdk/nodejs/outposts/getOutpostInstanceTypes.ts index 0c1323d45d2..822d95f058f 100644 --- a/sdk/nodejs/outposts/getOutpostInstanceTypes.ts +++ b/sdk/nodejs/outposts/getOutpostInstanceTypes.ts @@ -63,7 +63,7 @@ export interface GetOutpostInstanceTypesResult { * }); * ``` */ -export function getOutpostInstanceTypesOutput(args: GetOutpostInstanceTypesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOutpostInstanceTypesOutput(args: GetOutpostInstanceTypesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:outposts/getOutpostInstanceTypes:getOutpostInstanceTypes", { "arn": args.arn, diff --git a/sdk/nodejs/outposts/getOutposts.ts b/sdk/nodejs/outposts/getOutposts.ts index d0a86d9bb83..52b2ba9bfdb 100644 --- a/sdk/nodejs/outposts/getOutposts.ts +++ b/sdk/nodejs/outposts/getOutposts.ts @@ -86,7 +86,7 @@ export interface GetOutpostsResult { * }); * ``` */ -export function getOutpostsOutput(args?: GetOutpostsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOutpostsOutput(args?: GetOutpostsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:outposts/getOutposts:getOutposts", { diff --git a/sdk/nodejs/outposts/getSite.ts b/sdk/nodejs/outposts/getSite.ts index c6f65e393e5..06302dec8be 100644 --- a/sdk/nodejs/outposts/getSite.ts +++ b/sdk/nodejs/outposts/getSite.ts @@ -70,7 +70,7 @@ export interface GetSiteResult { * }); * ``` */ -export function getSiteOutput(args?: GetSiteOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSiteOutput(args?: GetSiteOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:outposts/getSite:getSite", { diff --git a/sdk/nodejs/outposts/getSites.ts b/sdk/nodejs/outposts/getSites.ts index 573f059643d..b28d503d9e6 100644 --- a/sdk/nodejs/outposts/getSites.ts +++ b/sdk/nodejs/outposts/getSites.ts @@ -47,7 +47,7 @@ export interface GetSitesResult { * const all = aws.outposts.getSites({}); * ``` */ -export function getSitesOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSitesOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:outposts/getSites:getSites", { }, opts); diff --git a/sdk/nodejs/polly/getVoices.ts b/sdk/nodejs/polly/getVoices.ts index d6dba68a971..24067f375c9 100644 --- a/sdk/nodejs/polly/getVoices.ts +++ b/sdk/nodejs/polly/getVoices.ts @@ -109,7 +109,7 @@ export interface GetVoicesResult { * }); * ``` */ -export function getVoicesOutput(args?: GetVoicesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getVoicesOutput(args?: GetVoicesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:polly/getVoices:getVoices", { diff --git a/sdk/nodejs/pricing/getProduct.ts b/sdk/nodejs/pricing/getProduct.ts index af63caca4d4..1e5f05353ac 100644 --- a/sdk/nodejs/pricing/getProduct.ts +++ b/sdk/nodejs/pricing/getProduct.ts @@ -172,7 +172,7 @@ export interface GetProductResult { * }); * ``` */ -export function getProductOutput(args: GetProductOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getProductOutput(args: GetProductOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:pricing/getProduct:getProduct", { "filters": args.filters, diff --git a/sdk/nodejs/qldb/getLedger.ts b/sdk/nodejs/qldb/getLedger.ts index 6f42c3f1dc4..b1a50b430bc 100644 --- a/sdk/nodejs/qldb/getLedger.ts +++ b/sdk/nodejs/qldb/getLedger.ts @@ -66,7 +66,7 @@ export interface GetLedgerResult { * }); * ``` */ -export function getLedgerOutput(args: GetLedgerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLedgerOutput(args: GetLedgerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:qldb/getLedger:getLedger", { "name": args.name, diff --git a/sdk/nodejs/quicksight/getAnalysis.ts b/sdk/nodejs/quicksight/getAnalysis.ts index 7b89e68340e..2aafd642b20 100644 --- a/sdk/nodejs/quicksight/getAnalysis.ts +++ b/sdk/nodejs/quicksight/getAnalysis.ts @@ -88,7 +88,7 @@ export interface GetAnalysisResult { * ``` */ /** @deprecated aws.quicksight/getanalysis.getAnalysis has been deprecated in favor of aws.quicksight/getquicksightanalysis.getQuicksightAnalysis */ -export function getAnalysisOutput(args: GetAnalysisOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAnalysisOutput(args: GetAnalysisOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { pulumi.log.warn("getAnalysis is deprecated: aws.quicksight/getanalysis.getAnalysis has been deprecated in favor of aws.quicksight/getquicksightanalysis.getQuicksightAnalysis") opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:quicksight/getAnalysis:getAnalysis", { diff --git a/sdk/nodejs/quicksight/getDataSet.ts b/sdk/nodejs/quicksight/getDataSet.ts index 0fb805a7ff1..0292e973ef2 100644 --- a/sdk/nodejs/quicksight/getDataSet.ts +++ b/sdk/nodejs/quicksight/getDataSet.ts @@ -98,7 +98,7 @@ export interface GetDataSetResult { * }); * ``` */ -export function getDataSetOutput(args: GetDataSetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDataSetOutput(args: GetDataSetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:quicksight/getDataSet:getDataSet", { "awsAccountId": args.awsAccountId, diff --git a/sdk/nodejs/quicksight/getQuicksightAnalysis.ts b/sdk/nodejs/quicksight/getQuicksightAnalysis.ts index 31b62bb4719..0d839543a38 100644 --- a/sdk/nodejs/quicksight/getQuicksightAnalysis.ts +++ b/sdk/nodejs/quicksight/getQuicksightAnalysis.ts @@ -85,7 +85,7 @@ export interface GetQuicksightAnalysisResult { * }); * ``` */ -export function getQuicksightAnalysisOutput(args: GetQuicksightAnalysisOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getQuicksightAnalysisOutput(args: GetQuicksightAnalysisOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:quicksight/getQuicksightAnalysis:getQuicksightAnalysis", { "analysisId": args.analysisId, diff --git a/sdk/nodejs/quicksight/getQuicksightGroup.ts b/sdk/nodejs/quicksight/getQuicksightGroup.ts index de994d3a0f4..1c0ffa63c58 100644 --- a/sdk/nodejs/quicksight/getQuicksightGroup.ts +++ b/sdk/nodejs/quicksight/getQuicksightGroup.ts @@ -93,7 +93,7 @@ export interface GetQuicksightGroupResult { * }); * ``` */ -export function getQuicksightGroupOutput(args: GetQuicksightGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getQuicksightGroupOutput(args: GetQuicksightGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:quicksight/getQuicksightGroup:getQuicksightGroup", { "awsAccountId": args.awsAccountId, diff --git a/sdk/nodejs/quicksight/getQuicksightUser.ts b/sdk/nodejs/quicksight/getQuicksightUser.ts index 349859d3a4e..33c8d73afda 100644 --- a/sdk/nodejs/quicksight/getQuicksightUser.ts +++ b/sdk/nodejs/quicksight/getQuicksightUser.ts @@ -108,7 +108,7 @@ export interface GetQuicksightUserResult { * }); * ``` */ -export function getQuicksightUserOutput(args: GetQuicksightUserOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getQuicksightUserOutput(args: GetQuicksightUserOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:quicksight/getQuicksightUser:getQuicksightUser", { "awsAccountId": args.awsAccountId, diff --git a/sdk/nodejs/quicksight/getTheme.ts b/sdk/nodejs/quicksight/getTheme.ts index db3e2b5e7a1..dc45ba4b3d0 100644 --- a/sdk/nodejs/quicksight/getTheme.ts +++ b/sdk/nodejs/quicksight/getTheme.ts @@ -123,7 +123,7 @@ export interface GetThemeResult { * }); * ``` */ -export function getThemeOutput(args: GetThemeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getThemeOutput(args: GetThemeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:quicksight/getTheme:getTheme", { "awsAccountId": args.awsAccountId, diff --git a/sdk/nodejs/ram/getResourceShare.ts b/sdk/nodejs/ram/getResourceShare.ts index f41d9ecc9e9..726c834c74d 100644 --- a/sdk/nodejs/ram/getResourceShare.ts +++ b/sdk/nodejs/ram/getResourceShare.ts @@ -137,7 +137,7 @@ export interface GetResourceShareResult { * }); * ``` */ -export function getResourceShareOutput(args: GetResourceShareOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResourceShareOutput(args: GetResourceShareOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ram/getResourceShare:getResourceShare", { "filters": args.filters, diff --git a/sdk/nodejs/rds/getCertificate.ts b/sdk/nodejs/rds/getCertificate.ts index 30613fed547..4d5592f9f80 100644 --- a/sdk/nodejs/rds/getCertificate.ts +++ b/sdk/nodejs/rds/getCertificate.ts @@ -90,7 +90,7 @@ export interface GetCertificateResult { * }); * ``` */ -export function getCertificateOutput(args?: GetCertificateOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCertificateOutput(args?: GetCertificateOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:rds/getCertificate:getCertificate", { diff --git a/sdk/nodejs/rds/getCluster.ts b/sdk/nodejs/rds/getCluster.ts index c923ab380ce..63a52598c9f 100644 --- a/sdk/nodejs/rds/getCluster.ts +++ b/sdk/nodejs/rds/getCluster.ts @@ -101,7 +101,7 @@ export interface GetClusterResult { * }); * ``` */ -export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:rds/getCluster:getCluster", { "clusterIdentifier": args.clusterIdentifier, diff --git a/sdk/nodejs/rds/getClusterParameterGroup.ts b/sdk/nodejs/rds/getClusterParameterGroup.ts index 6be90bc9186..efd8db900fa 100644 --- a/sdk/nodejs/rds/getClusterParameterGroup.ts +++ b/sdk/nodejs/rds/getClusterParameterGroup.ts @@ -71,7 +71,7 @@ export interface GetClusterParameterGroupResult { * }); * ``` */ -export function getClusterParameterGroupOutput(args: GetClusterParameterGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getClusterParameterGroupOutput(args: GetClusterParameterGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:rds/getClusterParameterGroup:getClusterParameterGroup", { "name": args.name, diff --git a/sdk/nodejs/rds/getClusterSnapshot.ts b/sdk/nodejs/rds/getClusterSnapshot.ts index 00131f96d1c..84d9e3f1e64 100644 --- a/sdk/nodejs/rds/getClusterSnapshot.ts +++ b/sdk/nodejs/rds/getClusterSnapshot.ts @@ -189,7 +189,7 @@ export interface GetClusterSnapshotResult { * }); * ``` */ -export function getClusterSnapshotOutput(args?: GetClusterSnapshotOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getClusterSnapshotOutput(args?: GetClusterSnapshotOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:rds/getClusterSnapshot:getClusterSnapshot", { diff --git a/sdk/nodejs/rds/getClusters.ts b/sdk/nodejs/rds/getClusters.ts index d8ccf6079b1..78a3a77e465 100644 --- a/sdk/nodejs/rds/getClusters.ts +++ b/sdk/nodejs/rds/getClusters.ts @@ -81,7 +81,7 @@ export interface GetClustersResult { * }); * ``` */ -export function getClustersOutput(args?: GetClustersOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getClustersOutput(args?: GetClustersOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:rds/getClusters:getClusters", { diff --git a/sdk/nodejs/rds/getEngineVersion.ts b/sdk/nodejs/rds/getEngineVersion.ts index eb455dfe3eb..05f9acb4cc9 100644 --- a/sdk/nodejs/rds/getEngineVersion.ts +++ b/sdk/nodejs/rds/getEngineVersion.ts @@ -245,7 +245,7 @@ export interface GetEngineVersionResult { * }); * ``` */ -export function getEngineVersionOutput(args: GetEngineVersionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEngineVersionOutput(args: GetEngineVersionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:rds/getEngineVersion:getEngineVersion", { "defaultOnly": args.defaultOnly, diff --git a/sdk/nodejs/rds/getEventCategories.ts b/sdk/nodejs/rds/getEventCategories.ts index fe593e82f18..e22cc0c9a92 100644 --- a/sdk/nodejs/rds/getEventCategories.ts +++ b/sdk/nodejs/rds/getEventCategories.ts @@ -102,7 +102,7 @@ export interface GetEventCategoriesResult { * } * ``` */ -export function getEventCategoriesOutput(args?: GetEventCategoriesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEventCategoriesOutput(args?: GetEventCategoriesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:rds/getEventCategories:getEventCategories", { diff --git a/sdk/nodejs/rds/getInstance.ts b/sdk/nodejs/rds/getInstance.ts index 1ca8dc1fe36..7b2fa313e8e 100644 --- a/sdk/nodejs/rds/getInstance.ts +++ b/sdk/nodejs/rds/getInstance.ts @@ -229,7 +229,7 @@ export interface GetInstanceResult { * }); * ``` */ -export function getInstanceOutput(args?: GetInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInstanceOutput(args?: GetInstanceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:rds/getInstance:getInstance", { diff --git a/sdk/nodejs/rds/getInstances.ts b/sdk/nodejs/rds/getInstances.ts index 986943c7778..a6d55a64d38 100644 --- a/sdk/nodejs/rds/getInstances.ts +++ b/sdk/nodejs/rds/getInstances.ts @@ -113,7 +113,7 @@ export interface GetInstancesResult { * }); * ``` */ -export function getInstancesOutput(args?: GetInstancesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInstancesOutput(args?: GetInstancesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:rds/getInstances:getInstances", { diff --git a/sdk/nodejs/rds/getOrderableDbInstance.ts b/sdk/nodejs/rds/getOrderableDbInstance.ts index 754dbf81e6c..f09f2fa2c71 100644 --- a/sdk/nodejs/rds/getOrderableDbInstance.ts +++ b/sdk/nodejs/rds/getOrderableDbInstance.ts @@ -287,7 +287,7 @@ export interface GetOrderableDbInstanceResult { * }); * ``` */ -export function getOrderableDbInstanceOutput(args: GetOrderableDbInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOrderableDbInstanceOutput(args: GetOrderableDbInstanceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:rds/getOrderableDbInstance:getOrderableDbInstance", { "availabilityZoneGroup": args.availabilityZoneGroup, diff --git a/sdk/nodejs/rds/getParameterGroup.ts b/sdk/nodejs/rds/getParameterGroup.ts index 7e1db0a3d20..e21a475bece 100644 --- a/sdk/nodejs/rds/getParameterGroup.ts +++ b/sdk/nodejs/rds/getParameterGroup.ts @@ -71,7 +71,7 @@ export interface GetParameterGroupResult { * }); * ``` */ -export function getParameterGroupOutput(args: GetParameterGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getParameterGroupOutput(args: GetParameterGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:rds/getParameterGroup:getParameterGroup", { "name": args.name, diff --git a/sdk/nodejs/rds/getProxy.ts b/sdk/nodejs/rds/getProxy.ts index 1651510f4cb..d32baba0aca 100644 --- a/sdk/nodejs/rds/getProxy.ts +++ b/sdk/nodejs/rds/getProxy.ts @@ -106,7 +106,7 @@ export interface GetProxyResult { * }); * ``` */ -export function getProxyOutput(args: GetProxyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getProxyOutput(args: GetProxyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:rds/getProxy:getProxy", { "name": args.name, diff --git a/sdk/nodejs/rds/getReservedInstanceOffering.ts b/sdk/nodejs/rds/getReservedInstanceOffering.ts index 1d8966d1b7b..e6bb6ba3fa2 100644 --- a/sdk/nodejs/rds/getReservedInstanceOffering.ts +++ b/sdk/nodejs/rds/getReservedInstanceOffering.ts @@ -103,7 +103,7 @@ export interface GetReservedInstanceOfferingResult { * }); * ``` */ -export function getReservedInstanceOfferingOutput(args: GetReservedInstanceOfferingOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getReservedInstanceOfferingOutput(args: GetReservedInstanceOfferingOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:rds/getReservedInstanceOffering:getReservedInstanceOffering", { "dbInstanceClass": args.dbInstanceClass, diff --git a/sdk/nodejs/rds/getSnapshot.ts b/sdk/nodejs/rds/getSnapshot.ts index 7c06863e009..a19affb161f 100644 --- a/sdk/nodejs/rds/getSnapshot.ts +++ b/sdk/nodejs/rds/getSnapshot.ts @@ -214,7 +214,7 @@ export interface GetSnapshotResult { * }); * ``` */ -export function getSnapshotOutput(args?: GetSnapshotOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSnapshotOutput(args?: GetSnapshotOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:rds/getSnapshot:getSnapshot", { diff --git a/sdk/nodejs/rds/getSubnetGroup.ts b/sdk/nodejs/rds/getSubnetGroup.ts index 021eecff8d8..559741c03cd 100644 --- a/sdk/nodejs/rds/getSubnetGroup.ts +++ b/sdk/nodejs/rds/getSubnetGroup.ts @@ -83,7 +83,7 @@ export interface GetSubnetGroupResult { * }); * ``` */ -export function getSubnetGroupOutput(args: GetSubnetGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSubnetGroupOutput(args: GetSubnetGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:rds/getSubnetGroup:getSubnetGroup", { "name": args.name, diff --git a/sdk/nodejs/redshift/getCluster.ts b/sdk/nodejs/redshift/getCluster.ts index 0d1639abef6..a7a41a4e37c 100644 --- a/sdk/nodejs/redshift/getCluster.ts +++ b/sdk/nodejs/redshift/getCluster.ts @@ -201,7 +201,7 @@ export interface GetClusterResult { /** * Provides details about a specific redshift cluster. */ -export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:redshift/getCluster:getCluster", { "clusterIdentifier": args.clusterIdentifier, diff --git a/sdk/nodejs/redshift/getClusterCredentials.ts b/sdk/nodejs/redshift/getClusterCredentials.ts index ffb22bc9ecf..02978379839 100644 --- a/sdk/nodejs/redshift/getClusterCredentials.ts +++ b/sdk/nodejs/redshift/getClusterCredentials.ts @@ -99,7 +99,7 @@ export interface GetClusterCredentialsResult { * }); * ``` */ -export function getClusterCredentialsOutput(args: GetClusterCredentialsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getClusterCredentialsOutput(args: GetClusterCredentialsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:redshift/getClusterCredentials:getClusterCredentials", { "autoCreate": args.autoCreate, diff --git a/sdk/nodejs/redshift/getDataShares.ts b/sdk/nodejs/redshift/getDataShares.ts index 59ce6ae0e72..bf02baa6cf3 100644 --- a/sdk/nodejs/redshift/getDataShares.ts +++ b/sdk/nodejs/redshift/getDataShares.ts @@ -66,7 +66,7 @@ export interface GetDataSharesResult { * const example = aws.redshift.getDataShares({}); * ``` */ -export function getDataSharesOutput(args?: GetDataSharesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDataSharesOutput(args?: GetDataSharesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:redshift/getDataShares:getDataShares", { diff --git a/sdk/nodejs/redshift/getOrderableCluster.ts b/sdk/nodejs/redshift/getOrderableCluster.ts index 4b831ad34ad..dc5376546c8 100644 --- a/sdk/nodejs/redshift/getOrderableCluster.ts +++ b/sdk/nodejs/redshift/getOrderableCluster.ts @@ -90,7 +90,7 @@ export interface GetOrderableClusterResult { * }); * ``` */ -export function getOrderableClusterOutput(args?: GetOrderableClusterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getOrderableClusterOutput(args?: GetOrderableClusterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:redshift/getOrderableCluster:getOrderableCluster", { diff --git a/sdk/nodejs/redshift/getProducerDataShares.ts b/sdk/nodejs/redshift/getProducerDataShares.ts index ff1ac64b46b..a6d2121be45 100644 --- a/sdk/nodejs/redshift/getProducerDataShares.ts +++ b/sdk/nodejs/redshift/getProducerDataShares.ts @@ -86,7 +86,7 @@ export interface GetProducerDataSharesResult { * }); * ``` */ -export function getProducerDataSharesOutput(args: GetProducerDataSharesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getProducerDataSharesOutput(args: GetProducerDataSharesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:redshift/getProducerDataShares:getProducerDataShares", { "dataShares": args.dataShares, diff --git a/sdk/nodejs/redshift/getServiceAccount.ts b/sdk/nodejs/redshift/getServiceAccount.ts index dfe3812d529..9061c3aadc5 100644 --- a/sdk/nodejs/redshift/getServiceAccount.ts +++ b/sdk/nodejs/redshift/getServiceAccount.ts @@ -133,7 +133,7 @@ export interface GetServiceAccountResult { * }); * ``` */ -export function getServiceAccountOutput(args?: GetServiceAccountOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServiceAccountOutput(args?: GetServiceAccountOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:redshift/getServiceAccount:getServiceAccount", { diff --git a/sdk/nodejs/redshift/getSubnetGroup.ts b/sdk/nodejs/redshift/getSubnetGroup.ts index 728d2ee04ca..114ade1a326 100644 --- a/sdk/nodejs/redshift/getSubnetGroup.ts +++ b/sdk/nodejs/redshift/getSubnetGroup.ts @@ -80,7 +80,7 @@ export interface GetSubnetGroupResult { * }); * ``` */ -export function getSubnetGroupOutput(args: GetSubnetGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSubnetGroupOutput(args: GetSubnetGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:redshift/getSubnetGroup:getSubnetGroup", { "name": args.name, diff --git a/sdk/nodejs/redshiftserverless/getCredentials.ts b/sdk/nodejs/redshiftserverless/getCredentials.ts index 679e176ba53..9d96fac5e59 100644 --- a/sdk/nodejs/redshiftserverless/getCredentials.ts +++ b/sdk/nodejs/redshiftserverless/getCredentials.ts @@ -83,7 +83,7 @@ export interface GetCredentialsResult { * }); * ``` */ -export function getCredentialsOutput(args: GetCredentialsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCredentialsOutput(args: GetCredentialsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:redshiftserverless/getCredentials:getCredentials", { "dbName": args.dbName, diff --git a/sdk/nodejs/redshiftserverless/getNamespace.ts b/sdk/nodejs/redshiftserverless/getNamespace.ts index 7c65a55a832..0d6ec7b4a19 100644 --- a/sdk/nodejs/redshiftserverless/getNamespace.ts +++ b/sdk/nodejs/redshiftserverless/getNamespace.ts @@ -91,7 +91,7 @@ export interface GetNamespaceResult { * }); * ``` */ -export function getNamespaceOutput(args: GetNamespaceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getNamespaceOutput(args: GetNamespaceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:redshiftserverless/getNamespace:getNamespace", { "namespaceName": args.namespaceName, diff --git a/sdk/nodejs/redshiftserverless/getWorkgroup.ts b/sdk/nodejs/redshiftserverless/getWorkgroup.ts index ff61cc2cb38..e5442e077b1 100644 --- a/sdk/nodejs/redshiftserverless/getWorkgroup.ts +++ b/sdk/nodejs/redshiftserverless/getWorkgroup.ts @@ -95,7 +95,7 @@ export interface GetWorkgroupResult { * }); * ``` */ -export function getWorkgroupOutput(args: GetWorkgroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getWorkgroupOutput(args: GetWorkgroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:redshiftserverless/getWorkgroup:getWorkgroup", { "workgroupName": args.workgroupName, diff --git a/sdk/nodejs/resourceexplorer/search.ts b/sdk/nodejs/resourceexplorer/search.ts index 6da6c2d458d..d33b71c1431 100644 --- a/sdk/nodejs/resourceexplorer/search.ts +++ b/sdk/nodejs/resourceexplorer/search.ts @@ -84,7 +84,7 @@ export interface SearchResult { * }); * ``` */ -export function searchOutput(args: SearchOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function searchOutput(args: SearchOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:resourceexplorer/search:Search", { "queryString": args.queryString, diff --git a/sdk/nodejs/resourcegroupstaggingapi/getResources.ts b/sdk/nodejs/resourcegroupstaggingapi/getResources.ts index effdc99df1d..014f0712b18 100644 --- a/sdk/nodejs/resourcegroupstaggingapi/getResources.ts +++ b/sdk/nodejs/resourcegroupstaggingapi/getResources.ts @@ -147,7 +147,7 @@ export interface GetResourcesResult { * }); * ``` */ -export function getResourcesOutput(args?: GetResourcesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResourcesOutput(args?: GetResourcesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:resourcegroupstaggingapi/getResources:getResources", { diff --git a/sdk/nodejs/route53/getDelegationSet.ts b/sdk/nodejs/route53/getDelegationSet.ts index 2e5272aaa25..22fdef1a60a 100644 --- a/sdk/nodejs/route53/getDelegationSet.ts +++ b/sdk/nodejs/route53/getDelegationSet.ts @@ -68,7 +68,7 @@ export interface GetDelegationSetResult { * }); * ``` */ -export function getDelegationSetOutput(args: GetDelegationSetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDelegationSetOutput(args: GetDelegationSetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:route53/getDelegationSet:getDelegationSet", { "id": args.id, diff --git a/sdk/nodejs/route53/getProfilesProfiles.ts b/sdk/nodejs/route53/getProfilesProfiles.ts index ca1be2b6cd4..492e76efed6 100644 --- a/sdk/nodejs/route53/getProfilesProfiles.ts +++ b/sdk/nodejs/route53/getProfilesProfiles.ts @@ -54,7 +54,7 @@ export interface GetProfilesProfilesResult { * const example = aws.route53.getProfilesProfiles({}); * ``` */ -export function getProfilesProfilesOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getProfilesProfilesOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:route53/getProfilesProfiles:getProfilesProfiles", { }, opts); diff --git a/sdk/nodejs/route53/getQueryLogConfig.ts b/sdk/nodejs/route53/getQueryLogConfig.ts index d3b3e8827f9..1ffba9709b0 100644 --- a/sdk/nodejs/route53/getQueryLogConfig.ts +++ b/sdk/nodejs/route53/getQueryLogConfig.ts @@ -127,7 +127,7 @@ export interface GetQueryLogConfigResult { * }); * ``` */ -export function getQueryLogConfigOutput(args?: GetQueryLogConfigOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getQueryLogConfigOutput(args?: GetQueryLogConfigOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:route53/getQueryLogConfig:getQueryLogConfig", { diff --git a/sdk/nodejs/route53/getResolverEndpoint.ts b/sdk/nodejs/route53/getResolverEndpoint.ts index 083c6386b70..08eabaff49c 100644 --- a/sdk/nodejs/route53/getResolverEndpoint.ts +++ b/sdk/nodejs/route53/getResolverEndpoint.ts @@ -109,7 +109,7 @@ export interface GetResolverEndpointResult { * }); * ``` */ -export function getResolverEndpointOutput(args?: GetResolverEndpointOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResolverEndpointOutput(args?: GetResolverEndpointOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:route53/getResolverEndpoint:getResolverEndpoint", { diff --git a/sdk/nodejs/route53/getResolverFirewallConfig.ts b/sdk/nodejs/route53/getResolverFirewallConfig.ts index 0f73c2aed41..191a11eaba6 100644 --- a/sdk/nodejs/route53/getResolverFirewallConfig.ts +++ b/sdk/nodejs/route53/getResolverFirewallConfig.ts @@ -71,7 +71,7 @@ export interface GetResolverFirewallConfigResult { * }); * ``` */ -export function getResolverFirewallConfigOutput(args: GetResolverFirewallConfigOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResolverFirewallConfigOutput(args: GetResolverFirewallConfigOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:route53/getResolverFirewallConfig:getResolverFirewallConfig", { "resourceId": args.resourceId, diff --git a/sdk/nodejs/route53/getResolverFirewallDomainList.ts b/sdk/nodejs/route53/getResolverFirewallDomainList.ts index 77feeed62c6..cc13b8a105b 100644 --- a/sdk/nodejs/route53/getResolverFirewallDomainList.ts +++ b/sdk/nodejs/route53/getResolverFirewallDomainList.ts @@ -78,7 +78,7 @@ export interface GetResolverFirewallDomainListResult { * }); * ``` */ -export function getResolverFirewallDomainListOutput(args: GetResolverFirewallDomainListOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResolverFirewallDomainListOutput(args: GetResolverFirewallDomainListOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:route53/getResolverFirewallDomainList:getResolverFirewallDomainList", { "firewallDomainListId": args.firewallDomainListId, diff --git a/sdk/nodejs/route53/getResolverFirewallRuleGroup.ts b/sdk/nodejs/route53/getResolverFirewallRuleGroup.ts index b9901afbdb3..96055f8bf82 100644 --- a/sdk/nodejs/route53/getResolverFirewallRuleGroup.ts +++ b/sdk/nodejs/route53/getResolverFirewallRuleGroup.ts @@ -79,7 +79,7 @@ export interface GetResolverFirewallRuleGroupResult { * }); * ``` */ -export function getResolverFirewallRuleGroupOutput(args: GetResolverFirewallRuleGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResolverFirewallRuleGroupOutput(args: GetResolverFirewallRuleGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:route53/getResolverFirewallRuleGroup:getResolverFirewallRuleGroup", { "firewallRuleGroupId": args.firewallRuleGroupId, diff --git a/sdk/nodejs/route53/getResolverFirewallRuleGroupAssociation.ts b/sdk/nodejs/route53/getResolverFirewallRuleGroupAssociation.ts index bebe3488b1f..37030ec3846 100644 --- a/sdk/nodejs/route53/getResolverFirewallRuleGroupAssociation.ts +++ b/sdk/nodejs/route53/getResolverFirewallRuleGroupAssociation.ts @@ -81,7 +81,7 @@ export interface GetResolverFirewallRuleGroupAssociationResult { * }); * ``` */ -export function getResolverFirewallRuleGroupAssociationOutput(args: GetResolverFirewallRuleGroupAssociationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResolverFirewallRuleGroupAssociationOutput(args: GetResolverFirewallRuleGroupAssociationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:route53/getResolverFirewallRuleGroupAssociation:getResolverFirewallRuleGroupAssociation", { "firewallRuleGroupAssociationId": args.firewallRuleGroupAssociationId, diff --git a/sdk/nodejs/route53/getResolverFirewallRules.ts b/sdk/nodejs/route53/getResolverFirewallRules.ts index 4614af3b004..ce3d8ed0d99 100644 --- a/sdk/nodejs/route53/getResolverFirewallRules.ts +++ b/sdk/nodejs/route53/getResolverFirewallRules.ts @@ -82,7 +82,7 @@ export interface GetResolverFirewallRulesResult { * }); * ``` */ -export function getResolverFirewallRulesOutput(args: GetResolverFirewallRulesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResolverFirewallRulesOutput(args: GetResolverFirewallRulesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:route53/getResolverFirewallRules:getResolverFirewallRules", { "action": args.action, diff --git a/sdk/nodejs/route53/getResolverRule.ts b/sdk/nodejs/route53/getResolverRule.ts index ac453048bc9..cd9cb21c4a3 100644 --- a/sdk/nodejs/route53/getResolverRule.ts +++ b/sdk/nodejs/route53/getResolverRule.ts @@ -112,7 +112,7 @@ export interface GetResolverRuleResult { * }); * ``` */ -export function getResolverRuleOutput(args?: GetResolverRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResolverRuleOutput(args?: GetResolverRuleOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:route53/getResolverRule:getResolverRule", { diff --git a/sdk/nodejs/route53/getResolverRules.ts b/sdk/nodejs/route53/getResolverRules.ts index f2cb74368dc..335b5ab739d 100644 --- a/sdk/nodejs/route53/getResolverRules.ts +++ b/sdk/nodejs/route53/getResolverRules.ts @@ -148,7 +148,7 @@ export interface GetResolverRulesResult { * }); * ``` */ -export function getResolverRulesOutput(args?: GetResolverRulesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResolverRulesOutput(args?: GetResolverRulesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:route53/getResolverRules:getResolverRules", { diff --git a/sdk/nodejs/route53/getTrafficPolicyDocument.ts b/sdk/nodejs/route53/getTrafficPolicyDocument.ts index 6b04a3588c8..a8c06288f3d 100644 --- a/sdk/nodejs/route53/getTrafficPolicyDocument.ts +++ b/sdk/nodejs/route53/getTrafficPolicyDocument.ts @@ -315,7 +315,7 @@ export interface GetTrafficPolicyDocumentResult { * }); * ``` */ -export function getTrafficPolicyDocumentOutput(args?: GetTrafficPolicyDocumentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getTrafficPolicyDocumentOutput(args?: GetTrafficPolicyDocumentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:route53/getTrafficPolicyDocument:getTrafficPolicyDocument", { diff --git a/sdk/nodejs/route53/getZone.ts b/sdk/nodejs/route53/getZone.ts index 9cff569fb2e..38497f6bfc1 100644 --- a/sdk/nodejs/route53/getZone.ts +++ b/sdk/nodejs/route53/getZone.ts @@ -152,7 +152,7 @@ export interface GetZoneResult { * }); * ``` */ -export function getZoneOutput(args?: GetZoneOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getZoneOutput(args?: GetZoneOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:route53/getZone:getZone", { diff --git a/sdk/nodejs/route53/getZones.ts b/sdk/nodejs/route53/getZones.ts index 4175682b004..d5f5cc24e35 100644 --- a/sdk/nodejs/route53/getZones.ts +++ b/sdk/nodejs/route53/getZones.ts @@ -50,7 +50,7 @@ export interface GetZonesResult { * export const example = all.then(all => all.ids); * ``` */ -export function getZonesOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getZonesOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:route53/getZones:getZones", { }, opts); diff --git a/sdk/nodejs/s3/getAccountPublicAccessBlock.ts b/sdk/nodejs/s3/getAccountPublicAccessBlock.ts index 774752385df..b9049e038a9 100644 --- a/sdk/nodejs/s3/getAccountPublicAccessBlock.ts +++ b/sdk/nodejs/s3/getAccountPublicAccessBlock.ts @@ -72,7 +72,7 @@ export interface GetAccountPublicAccessBlockResult { * const example = aws.s3.getAccountPublicAccessBlock({}); * ``` */ -export function getAccountPublicAccessBlockOutput(args?: GetAccountPublicAccessBlockOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAccountPublicAccessBlockOutput(args?: GetAccountPublicAccessBlockOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:s3/getAccountPublicAccessBlock:getAccountPublicAccessBlock", { diff --git a/sdk/nodejs/s3/getBucket.ts b/sdk/nodejs/s3/getBucket.ts index 8231d1c2148..fe1a74db7a9 100644 --- a/sdk/nodejs/s3/getBucket.ts +++ b/sdk/nodejs/s3/getBucket.ts @@ -151,7 +151,7 @@ export interface GetBucketResult { * }]}); * ``` */ -export function getBucketOutput(args: GetBucketOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getBucketOutput(args: GetBucketOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:s3/getBucket:getBucket", { "bucket": args.bucket, diff --git a/sdk/nodejs/s3/getBucketObject.ts b/sdk/nodejs/s3/getBucketObject.ts index 50e61413639..2a6681c9cb2 100644 --- a/sdk/nodejs/s3/getBucketObject.ts +++ b/sdk/nodejs/s3/getBucketObject.ts @@ -274,7 +274,7 @@ export interface GetBucketObjectResult { * }); * ``` */ -export function getBucketObjectOutput(args: GetBucketObjectOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getBucketObjectOutput(args: GetBucketObjectOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:s3/getBucketObject:getBucketObject", { "bucket": args.bucket, diff --git a/sdk/nodejs/s3/getBucketObjects.ts b/sdk/nodejs/s3/getBucketObjects.ts index 397f30955b4..7ba35e0b630 100644 --- a/sdk/nodejs/s3/getBucketObjects.ts +++ b/sdk/nodejs/s3/getBucketObjects.ts @@ -98,7 +98,7 @@ export interface GetBucketObjectsResult { * * The objects data source returns keys (i.e., file names) and other metadata about objects in an S3 bucket. */ -export function getBucketObjectsOutput(args: GetBucketObjectsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getBucketObjectsOutput(args: GetBucketObjectsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:s3/getBucketObjects:getBucketObjects", { "bucket": args.bucket, diff --git a/sdk/nodejs/s3/getBucketPolicy.ts b/sdk/nodejs/s3/getBucketPolicy.ts index e18e97ee034..ca7e4781522 100644 --- a/sdk/nodejs/s3/getBucketPolicy.ts +++ b/sdk/nodejs/s3/getBucketPolicy.ts @@ -69,7 +69,7 @@ export interface GetBucketPolicyResult { * export const foo = example.then(example => example.policy); * ``` */ -export function getBucketPolicyOutput(args: GetBucketPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getBucketPolicyOutput(args: GetBucketPolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:s3/getBucketPolicy:getBucketPolicy", { "bucket": args.bucket, diff --git a/sdk/nodejs/s3/getCanonicalUserId.ts b/sdk/nodejs/s3/getCanonicalUserId.ts index fc41d1513b4..410cace8f20 100644 --- a/sdk/nodejs/s3/getCanonicalUserId.ts +++ b/sdk/nodejs/s3/getCanonicalUserId.ts @@ -55,7 +55,7 @@ export interface GetCanonicalUserIdResult { * export const canonicalUserId = current.then(current => current.id); * ``` */ -export function getCanonicalUserIdOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getCanonicalUserIdOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:s3/getCanonicalUserId:getCanonicalUserId", { }, opts); diff --git a/sdk/nodejs/s3/getDirectoryBuckets.ts b/sdk/nodejs/s3/getDirectoryBuckets.ts index bcc5ea31edc..26e405284ad 100644 --- a/sdk/nodejs/s3/getDirectoryBuckets.ts +++ b/sdk/nodejs/s3/getDirectoryBuckets.ts @@ -48,7 +48,7 @@ export interface GetDirectoryBucketsResult { * const example = aws.s3.getDirectoryBuckets({}); * ``` */ -export function getDirectoryBucketsOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDirectoryBucketsOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:s3/getDirectoryBuckets:getDirectoryBuckets", { }, opts); diff --git a/sdk/nodejs/s3/getObject.ts b/sdk/nodejs/s3/getObject.ts index a795b95fe97..2b2acd23704 100644 --- a/sdk/nodejs/s3/getObject.ts +++ b/sdk/nodejs/s3/getObject.ts @@ -290,7 +290,7 @@ export interface GetObjectResult { * }); * ``` */ -export function getObjectOutput(args: GetObjectOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getObjectOutput(args: GetObjectOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:s3/getObject:getObject", { "bucket": args.bucket, diff --git a/sdk/nodejs/s3/getObjects.ts b/sdk/nodejs/s3/getObjects.ts index 8473a1c90ad..dd0698b5c98 100644 --- a/sdk/nodejs/s3/getObjects.ts +++ b/sdk/nodejs/s3/getObjects.ts @@ -99,7 +99,7 @@ export interface GetObjectsResult { * * The objects data source returns keys (i.e., file names) and other metadata about objects in an S3 bucket. */ -export function getObjectsOutput(args: GetObjectsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getObjectsOutput(args: GetObjectsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:s3/getObjects:getObjects", { "bucket": args.bucket, diff --git a/sdk/nodejs/s3control/getMultiRegionAccessPoint.ts b/sdk/nodejs/s3control/getMultiRegionAccessPoint.ts index 8e96d08492b..b6e7bc20b4a 100644 --- a/sdk/nodejs/s3control/getMultiRegionAccessPoint.ts +++ b/sdk/nodejs/s3control/getMultiRegionAccessPoint.ts @@ -96,7 +96,7 @@ export interface GetMultiRegionAccessPointResult { * }); * ``` */ -export function getMultiRegionAccessPointOutput(args: GetMultiRegionAccessPointOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getMultiRegionAccessPointOutput(args: GetMultiRegionAccessPointOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:s3control/getMultiRegionAccessPoint:getMultiRegionAccessPoint", { "accountId": args.accountId, diff --git a/sdk/nodejs/sagemaker/getPrebuiltEcrImage.ts b/sdk/nodejs/sagemaker/getPrebuiltEcrImage.ts index 424f400ae53..040813cf6e2 100644 --- a/sdk/nodejs/sagemaker/getPrebuiltEcrImage.ts +++ b/sdk/nodejs/sagemaker/getPrebuiltEcrImage.ts @@ -95,7 +95,7 @@ export interface GetPrebuiltEcrImageResult { * }); * ``` */ -export function getPrebuiltEcrImageOutput(args: GetPrebuiltEcrImageOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPrebuiltEcrImageOutput(args: GetPrebuiltEcrImageOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:sagemaker/getPrebuiltEcrImage:getPrebuiltEcrImage", { "dnsSuffix": args.dnsSuffix, diff --git a/sdk/nodejs/secretsmanager/getRandomPassword.ts b/sdk/nodejs/secretsmanager/getRandomPassword.ts index 76a572e277b..ca423b8c433 100644 --- a/sdk/nodejs/secretsmanager/getRandomPassword.ts +++ b/sdk/nodejs/secretsmanager/getRandomPassword.ts @@ -108,7 +108,7 @@ export interface GetRandomPasswordResult { * }); * ``` */ -export function getRandomPasswordOutput(args?: GetRandomPasswordOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRandomPasswordOutput(args?: GetRandomPasswordOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:secretsmanager/getRandomPassword:getRandomPassword", { diff --git a/sdk/nodejs/secretsmanager/getSecret.ts b/sdk/nodejs/secretsmanager/getSecret.ts index 342fe5bce93..e3097120458 100644 --- a/sdk/nodejs/secretsmanager/getSecret.ts +++ b/sdk/nodejs/secretsmanager/getSecret.ts @@ -124,7 +124,7 @@ export interface GetSecretResult { * }); * ``` */ -export function getSecretOutput(args?: GetSecretOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSecretOutput(args?: GetSecretOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:secretsmanager/getSecret:getSecret", { diff --git a/sdk/nodejs/secretsmanager/getSecretRotation.ts b/sdk/nodejs/secretsmanager/getSecretRotation.ts index 950a41bf2c5..597f099f884 100644 --- a/sdk/nodejs/secretsmanager/getSecretRotation.ts +++ b/sdk/nodejs/secretsmanager/getSecretRotation.ts @@ -78,7 +78,7 @@ export interface GetSecretRotationResult { * }); * ``` */ -export function getSecretRotationOutput(args: GetSecretRotationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSecretRotationOutput(args: GetSecretRotationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:secretsmanager/getSecretRotation:getSecretRotation", { "secretId": args.secretId, diff --git a/sdk/nodejs/secretsmanager/getSecretVersion.ts b/sdk/nodejs/secretsmanager/getSecretVersion.ts index 20693c79ceb..0f8d77d4ef7 100644 --- a/sdk/nodejs/secretsmanager/getSecretVersion.ts +++ b/sdk/nodejs/secretsmanager/getSecretVersion.ts @@ -123,7 +123,7 @@ export interface GetSecretVersionResult { * }); * ``` */ -export function getSecretVersionOutput(args: GetSecretVersionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSecretVersionOutput(args: GetSecretVersionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:secretsmanager/getSecretVersion:getSecretVersion", { "secretId": args.secretId, diff --git a/sdk/nodejs/secretsmanager/getSecretVersions.ts b/sdk/nodejs/secretsmanager/getSecretVersions.ts index 5c98c6f1e32..cf60df9e03f 100644 --- a/sdk/nodejs/secretsmanager/getSecretVersions.ts +++ b/sdk/nodejs/secretsmanager/getSecretVersions.ts @@ -50,7 +50,7 @@ export interface GetSecretVersionsResult { */ readonly versions: outputs.secretsmanager.GetSecretVersionsVersion[]; } -export function getSecretVersionsOutput(args: GetSecretVersionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSecretVersionsOutput(args: GetSecretVersionsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:secretsmanager/getSecretVersions:getSecretVersions", { "includeDeprecated": args.includeDeprecated, diff --git a/sdk/nodejs/secretsmanager/getSecrets.ts b/sdk/nodejs/secretsmanager/getSecrets.ts index 1fdfc7e5365..b0d00a15a7e 100644 --- a/sdk/nodejs/secretsmanager/getSecrets.ts +++ b/sdk/nodejs/secretsmanager/getSecrets.ts @@ -77,7 +77,7 @@ export interface GetSecretsResult { * }); * ``` */ -export function getSecretsOutput(args?: GetSecretsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSecretsOutput(args?: GetSecretsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:secretsmanager/getSecrets:getSecrets", { diff --git a/sdk/nodejs/securityhub/getStandardsControlAssociations.ts b/sdk/nodejs/securityhub/getStandardsControlAssociations.ts index fde90721f14..5c267a5b9ea 100644 --- a/sdk/nodejs/securityhub/getStandardsControlAssociations.ts +++ b/sdk/nodejs/securityhub/getStandardsControlAssociations.ts @@ -73,7 +73,7 @@ export interface GetStandardsControlAssociationsResult { * }); * ``` */ -export function getStandardsControlAssociationsOutput(args: GetStandardsControlAssociationsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getStandardsControlAssociationsOutput(args: GetStandardsControlAssociationsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations", { "securityControlId": args.securityControlId, diff --git a/sdk/nodejs/serverlessrepository/getApplication.ts b/sdk/nodejs/serverlessrepository/getApplication.ts index 781f5a75438..c1e101cef19 100644 --- a/sdk/nodejs/serverlessrepository/getApplication.ts +++ b/sdk/nodejs/serverlessrepository/getApplication.ts @@ -96,7 +96,7 @@ export interface GetApplicationResult { * }); * ``` */ -export function getApplicationOutput(args: GetApplicationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getApplicationOutput(args: GetApplicationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:serverlessrepository/getApplication:getApplication", { "applicationId": args.applicationId, diff --git a/sdk/nodejs/servicecatalog/getAppregistryApplication.ts b/sdk/nodejs/servicecatalog/getAppregistryApplication.ts index 8a126f4d3fa..5a450a188f2 100644 --- a/sdk/nodejs/servicecatalog/getAppregistryApplication.ts +++ b/sdk/nodejs/servicecatalog/getAppregistryApplication.ts @@ -75,7 +75,7 @@ export interface GetAppregistryApplicationResult { * }); * ``` */ -export function getAppregistryApplicationOutput(args: GetAppregistryApplicationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAppregistryApplicationOutput(args: GetAppregistryApplicationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:servicecatalog/getAppregistryApplication:getAppregistryApplication", { "id": args.id, diff --git a/sdk/nodejs/servicecatalog/getConstraint.ts b/sdk/nodejs/servicecatalog/getConstraint.ts index f682fa3bb0a..f132c1351f5 100644 --- a/sdk/nodejs/servicecatalog/getConstraint.ts +++ b/sdk/nodejs/servicecatalog/getConstraint.ts @@ -102,7 +102,7 @@ export interface GetConstraintResult { * }); * ``` */ -export function getConstraintOutput(args: GetConstraintOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getConstraintOutput(args: GetConstraintOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:servicecatalog/getConstraint:getConstraint", { "acceptLanguage": args.acceptLanguage, diff --git a/sdk/nodejs/servicecatalog/getLaunchPaths.ts b/sdk/nodejs/servicecatalog/getLaunchPaths.ts index 5ff01b0662c..4cd57c1bcf5 100644 --- a/sdk/nodejs/servicecatalog/getLaunchPaths.ts +++ b/sdk/nodejs/servicecatalog/getLaunchPaths.ts @@ -78,7 +78,7 @@ export interface GetLaunchPathsResult { * }); * ``` */ -export function getLaunchPathsOutput(args: GetLaunchPathsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLaunchPathsOutput(args: GetLaunchPathsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:servicecatalog/getLaunchPaths:getLaunchPaths", { "acceptLanguage": args.acceptLanguage, diff --git a/sdk/nodejs/servicecatalog/getPortfolio.ts b/sdk/nodejs/servicecatalog/getPortfolio.ts index 1d8fb1309ae..a468951b735 100644 --- a/sdk/nodejs/servicecatalog/getPortfolio.ts +++ b/sdk/nodejs/servicecatalog/getPortfolio.ts @@ -92,7 +92,7 @@ export interface GetPortfolioResult { * }); * ``` */ -export function getPortfolioOutput(args: GetPortfolioOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPortfolioOutput(args: GetPortfolioOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:servicecatalog/getPortfolio:getPortfolio", { "acceptLanguage": args.acceptLanguage, diff --git a/sdk/nodejs/servicecatalog/getPortfolioConstraints.ts b/sdk/nodejs/servicecatalog/getPortfolioConstraints.ts index 4665f627bdb..34b91264d76 100644 --- a/sdk/nodejs/servicecatalog/getPortfolioConstraints.ts +++ b/sdk/nodejs/servicecatalog/getPortfolioConstraints.ts @@ -90,7 +90,7 @@ export interface GetPortfolioConstraintsResult { * }); * ``` */ -export function getPortfolioConstraintsOutput(args: GetPortfolioConstraintsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPortfolioConstraintsOutput(args: GetPortfolioConstraintsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:servicecatalog/getPortfolioConstraints:getPortfolioConstraints", { "acceptLanguage": args.acceptLanguage, diff --git a/sdk/nodejs/servicecatalog/getProduct.ts b/sdk/nodejs/servicecatalog/getProduct.ts index b9ae4237a5e..66be64dd142 100644 --- a/sdk/nodejs/servicecatalog/getProduct.ts +++ b/sdk/nodejs/servicecatalog/getProduct.ts @@ -128,7 +128,7 @@ export interface GetProductResult { * }); * ``` */ -export function getProductOutput(args: GetProductOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getProductOutput(args: GetProductOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:servicecatalog/getProduct:getProduct", { "acceptLanguage": args.acceptLanguage, diff --git a/sdk/nodejs/servicecatalog/getProvisioningArtifacts.ts b/sdk/nodejs/servicecatalog/getProvisioningArtifacts.ts index c8486b7da2f..6f2347d1cbe 100644 --- a/sdk/nodejs/servicecatalog/getProvisioningArtifacts.ts +++ b/sdk/nodejs/servicecatalog/getProvisioningArtifacts.ts @@ -78,7 +78,7 @@ export interface GetProvisioningArtifactsResult { * }); * ``` */ -export function getProvisioningArtifactsOutput(args: GetProvisioningArtifactsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getProvisioningArtifactsOutput(args: GetProvisioningArtifactsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:servicecatalog/getProvisioningArtifacts:getProvisioningArtifacts", { "acceptLanguage": args.acceptLanguage, diff --git a/sdk/nodejs/servicediscovery/getDnsNamespace.ts b/sdk/nodejs/servicediscovery/getDnsNamespace.ts index 13eaa6ff24e..453710408de 100644 --- a/sdk/nodejs/servicediscovery/getDnsNamespace.ts +++ b/sdk/nodejs/servicediscovery/getDnsNamespace.ts @@ -88,7 +88,7 @@ export interface GetDnsNamespaceResult { * }); * ``` */ -export function getDnsNamespaceOutput(args: GetDnsNamespaceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDnsNamespaceOutput(args: GetDnsNamespaceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:servicediscovery/getDnsNamespace:getDnsNamespace", { "name": args.name, diff --git a/sdk/nodejs/servicediscovery/getHttpNamespace.ts b/sdk/nodejs/servicediscovery/getHttpNamespace.ts index 96369c91e7b..d4ae34fcc7f 100644 --- a/sdk/nodejs/servicediscovery/getHttpNamespace.ts +++ b/sdk/nodejs/servicediscovery/getHttpNamespace.ts @@ -76,7 +76,7 @@ export interface GetHttpNamespaceResult { * }); * ``` */ -export function getHttpNamespaceOutput(args: GetHttpNamespaceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getHttpNamespaceOutput(args: GetHttpNamespaceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:servicediscovery/getHttpNamespace:getHttpNamespace", { "name": args.name, diff --git a/sdk/nodejs/servicediscovery/getService.ts b/sdk/nodejs/servicediscovery/getService.ts index 6d7ef6447be..8bca1d2d5a3 100644 --- a/sdk/nodejs/servicediscovery/getService.ts +++ b/sdk/nodejs/servicediscovery/getService.ts @@ -115,7 +115,7 @@ export interface GetServiceResult { * }); * ``` */ -export function getServiceOutput(args: GetServiceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServiceOutput(args: GetServiceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:servicediscovery/getService:getService", { "name": args.name, diff --git a/sdk/nodejs/servicequotas/getService.ts b/sdk/nodejs/servicequotas/getService.ts index 07b9e94233a..a11efbf534b 100644 --- a/sdk/nodejs/servicequotas/getService.ts +++ b/sdk/nodejs/servicequotas/getService.ts @@ -67,7 +67,7 @@ export interface GetServiceResult { * }); * ``` */ -export function getServiceOutput(args: GetServiceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServiceOutput(args: GetServiceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:servicequotas/getService:getService", { "serviceName": args.serviceName, diff --git a/sdk/nodejs/servicequotas/getServiceQuota.ts b/sdk/nodejs/servicequotas/getServiceQuota.ts index 4e487b40937..25959a18c29 100644 --- a/sdk/nodejs/servicequotas/getServiceQuota.ts +++ b/sdk/nodejs/servicequotas/getServiceQuota.ts @@ -116,7 +116,7 @@ export interface GetServiceQuotaResult { * }); * ``` */ -export function getServiceQuotaOutput(args: GetServiceQuotaOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServiceQuotaOutput(args: GetServiceQuotaOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:servicequotas/getServiceQuota:getServiceQuota", { "quotaCode": args.quotaCode, diff --git a/sdk/nodejs/servicequotas/getTemplates.ts b/sdk/nodejs/servicequotas/getTemplates.ts index 94fb228ebf1..36f62f61ef6 100644 --- a/sdk/nodejs/servicequotas/getTemplates.ts +++ b/sdk/nodejs/servicequotas/getTemplates.ts @@ -75,7 +75,7 @@ export interface GetTemplatesResult { * }); * ``` */ -export function getTemplatesOutput(args: GetTemplatesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getTemplatesOutput(args: GetTemplatesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:servicequotas/getTemplates:getTemplates", { "region": args.region, diff --git a/sdk/nodejs/ses/getActiveReceiptRuleSet.ts b/sdk/nodejs/ses/getActiveReceiptRuleSet.ts index b8f83e0848d..d35c0a7e830 100644 --- a/sdk/nodejs/ses/getActiveReceiptRuleSet.ts +++ b/sdk/nodejs/ses/getActiveReceiptRuleSet.ts @@ -51,7 +51,7 @@ export interface GetActiveReceiptRuleSetResult { * const main = aws.ses.getActiveReceiptRuleSet({}); * ``` */ -export function getActiveReceiptRuleSetOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getActiveReceiptRuleSetOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ses/getActiveReceiptRuleSet:getActiveReceiptRuleSet", { }, opts); diff --git a/sdk/nodejs/ses/getDomainIdentity.ts b/sdk/nodejs/ses/getDomainIdentity.ts index d39ca1c6c44..4efd8ed7a98 100644 --- a/sdk/nodejs/ses/getDomainIdentity.ts +++ b/sdk/nodejs/ses/getDomainIdentity.ts @@ -70,7 +70,7 @@ export interface GetDomainIdentityResult { * }); * ``` */ -export function getDomainIdentityOutput(args: GetDomainIdentityOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDomainIdentityOutput(args: GetDomainIdentityOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ses/getDomainIdentity:getDomainIdentity", { "domain": args.domain, diff --git a/sdk/nodejs/ses/getEmailIdentity.ts b/sdk/nodejs/ses/getEmailIdentity.ts index 29387f5db17..58c038b88da 100644 --- a/sdk/nodejs/ses/getEmailIdentity.ts +++ b/sdk/nodejs/ses/getEmailIdentity.ts @@ -66,7 +66,7 @@ export interface GetEmailIdentityResult { * }); * ``` */ -export function getEmailIdentityOutput(args: GetEmailIdentityOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEmailIdentityOutput(args: GetEmailIdentityOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ses/getEmailIdentity:getEmailIdentity", { "email": args.email, diff --git a/sdk/nodejs/sesv2/getConfigurationSet.ts b/sdk/nodejs/sesv2/getConfigurationSet.ts index 75b505462a8..3e2578ed3f1 100644 --- a/sdk/nodejs/sesv2/getConfigurationSet.ts +++ b/sdk/nodejs/sesv2/getConfigurationSet.ts @@ -100,7 +100,7 @@ export interface GetConfigurationSetResult { * }); * ``` */ -export function getConfigurationSetOutput(args: GetConfigurationSetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getConfigurationSetOutput(args: GetConfigurationSetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:sesv2/getConfigurationSet:getConfigurationSet", { "configurationSetName": args.configurationSetName, diff --git a/sdk/nodejs/sesv2/getDedicatedIpPool.ts b/sdk/nodejs/sesv2/getDedicatedIpPool.ts index 9cd783dc4bb..6ad4c5e5e2e 100644 --- a/sdk/nodejs/sesv2/getDedicatedIpPool.ts +++ b/sdk/nodejs/sesv2/getDedicatedIpPool.ts @@ -87,7 +87,7 @@ export interface GetDedicatedIpPoolResult { * }); * ``` */ -export function getDedicatedIpPoolOutput(args: GetDedicatedIpPoolOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDedicatedIpPoolOutput(args: GetDedicatedIpPoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:sesv2/getDedicatedIpPool:getDedicatedIpPool", { "poolName": args.poolName, diff --git a/sdk/nodejs/sesv2/getEmailIdentity.ts b/sdk/nodejs/sesv2/getEmailIdentity.ts index ec3c8d3e54c..0134019496c 100644 --- a/sdk/nodejs/sesv2/getEmailIdentity.ts +++ b/sdk/nodejs/sesv2/getEmailIdentity.ts @@ -92,7 +92,7 @@ export interface GetEmailIdentityResult { * }); * ``` */ -export function getEmailIdentityOutput(args: GetEmailIdentityOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEmailIdentityOutput(args: GetEmailIdentityOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:sesv2/getEmailIdentity:getEmailIdentity", { "emailIdentity": args.emailIdentity, diff --git a/sdk/nodejs/sesv2/getEmailIdentityMailFromAttributes.ts b/sdk/nodejs/sesv2/getEmailIdentityMailFromAttributes.ts index f7ea0b7bba9..53c2aa678b1 100644 --- a/sdk/nodejs/sesv2/getEmailIdentityMailFromAttributes.ts +++ b/sdk/nodejs/sesv2/getEmailIdentityMailFromAttributes.ts @@ -77,7 +77,7 @@ export interface GetEmailIdentityMailFromAttributesResult { * })); * ``` */ -export function getEmailIdentityMailFromAttributesOutput(args: GetEmailIdentityMailFromAttributesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getEmailIdentityMailFromAttributesOutput(args: GetEmailIdentityMailFromAttributesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:sesv2/getEmailIdentityMailFromAttributes:getEmailIdentityMailFromAttributes", { "emailIdentity": args.emailIdentity, diff --git a/sdk/nodejs/sfn/getActivity.ts b/sdk/nodejs/sfn/getActivity.ts index 6d5b8cfa9b8..da8abaf5a01 100644 --- a/sdk/nodejs/sfn/getActivity.ts +++ b/sdk/nodejs/sfn/getActivity.ts @@ -70,7 +70,7 @@ export interface GetActivityResult { * }); * ``` */ -export function getActivityOutput(args?: GetActivityOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getActivityOutput(args?: GetActivityOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:sfn/getActivity:getActivity", { diff --git a/sdk/nodejs/sfn/getAlias.ts b/sdk/nodejs/sfn/getAlias.ts index 77cf14dfe4f..0aadacbc79a 100644 --- a/sdk/nodejs/sfn/getAlias.ts +++ b/sdk/nodejs/sfn/getAlias.ts @@ -95,7 +95,7 @@ export interface GetAliasResult { * }); * ``` */ -export function getAliasOutput(args: GetAliasOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAliasOutput(args: GetAliasOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:sfn/getAlias:getAlias", { "description": args.description, diff --git a/sdk/nodejs/sfn/getStateMachine.ts b/sdk/nodejs/sfn/getStateMachine.ts index 1bf9437dde7..8b260922371 100644 --- a/sdk/nodejs/sfn/getStateMachine.ts +++ b/sdk/nodejs/sfn/getStateMachine.ts @@ -88,7 +88,7 @@ export interface GetStateMachineResult { * }); * ``` */ -export function getStateMachineOutput(args: GetStateMachineOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getStateMachineOutput(args: GetStateMachineOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:sfn/getStateMachine:getStateMachine", { "name": args.name, diff --git a/sdk/nodejs/sfn/getStateMachineVersions.ts b/sdk/nodejs/sfn/getStateMachineVersions.ts index b76e78b0e7d..09d3f6eef4e 100644 --- a/sdk/nodejs/sfn/getStateMachineVersions.ts +++ b/sdk/nodejs/sfn/getStateMachineVersions.ts @@ -67,7 +67,7 @@ export interface GetStateMachineVersionsResult { * }); * ``` */ -export function getStateMachineVersionsOutput(args: GetStateMachineVersionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getStateMachineVersionsOutput(args: GetStateMachineVersionsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:sfn/getStateMachineVersions:getStateMachineVersions", { "statemachineArn": args.statemachineArn, diff --git a/sdk/nodejs/shield/getProtection.ts b/sdk/nodejs/shield/getProtection.ts index 502fb37d12a..24b72d67daa 100644 --- a/sdk/nodejs/shield/getProtection.ts +++ b/sdk/nodejs/shield/getProtection.ts @@ -97,7 +97,7 @@ export interface GetProtectionResult { * }); * ``` */ -export function getProtectionOutput(args?: GetProtectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getProtectionOutput(args?: GetProtectionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:shield/getProtection:getProtection", { diff --git a/sdk/nodejs/signer/getSigningJob.ts b/sdk/nodejs/signer/getSigningJob.ts index 429efc2488b..6863a80e15b 100644 --- a/sdk/nodejs/signer/getSigningJob.ts +++ b/sdk/nodejs/signer/getSigningJob.ts @@ -122,7 +122,7 @@ export interface GetSigningJobResult { * }); * ``` */ -export function getSigningJobOutput(args: GetSigningJobOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSigningJobOutput(args: GetSigningJobOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:signer/getSigningJob:getSigningJob", { "jobId": args.jobId, diff --git a/sdk/nodejs/signer/getSigningProfile.ts b/sdk/nodejs/signer/getSigningProfile.ts index 23d025fdb4b..b80ad0b96fe 100644 --- a/sdk/nodejs/signer/getSigningProfile.ts +++ b/sdk/nodejs/signer/getSigningProfile.ts @@ -103,7 +103,7 @@ export interface GetSigningProfileResult { * }); * ``` */ -export function getSigningProfileOutput(args: GetSigningProfileOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSigningProfileOutput(args: GetSigningProfileOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:signer/getSigningProfile:getSigningProfile", { "name": args.name, diff --git a/sdk/nodejs/sns/getTopic.ts b/sdk/nodejs/sns/getTopic.ts index 65e1c33fe1a..21598e54ebc 100644 --- a/sdk/nodejs/sns/getTopic.ts +++ b/sdk/nodejs/sns/getTopic.ts @@ -76,7 +76,7 @@ export interface GetTopicResult { * }); * ``` */ -export function getTopicOutput(args: GetTopicOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getTopicOutput(args: GetTopicOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:sns/getTopic:getTopic", { "name": args.name, diff --git a/sdk/nodejs/sqs/getQueue.ts b/sdk/nodejs/sqs/getQueue.ts index f20e1567d5d..10c8435bcfa 100644 --- a/sdk/nodejs/sqs/getQueue.ts +++ b/sdk/nodejs/sqs/getQueue.ts @@ -80,7 +80,7 @@ export interface GetQueueResult { * }); * ``` */ -export function getQueueOutput(args: GetQueueOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getQueueOutput(args: GetQueueOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:sqs/getQueue:getQueue", { "name": args.name, diff --git a/sdk/nodejs/sqs/getQueues.ts b/sdk/nodejs/sqs/getQueues.ts index 867baecf07e..b74d8905aec 100644 --- a/sdk/nodejs/sqs/getQueues.ts +++ b/sdk/nodejs/sqs/getQueues.ts @@ -68,7 +68,7 @@ export interface GetQueuesResult { * }); * ``` */ -export function getQueuesOutput(args?: GetQueuesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getQueuesOutput(args?: GetQueuesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:sqs/getQueues:getQueues", { diff --git a/sdk/nodejs/ssm/getContactsRotation.ts b/sdk/nodejs/ssm/getContactsRotation.ts index c49ca0ef806..4b861169830 100644 --- a/sdk/nodejs/ssm/getContactsRotation.ts +++ b/sdk/nodejs/ssm/getContactsRotation.ts @@ -83,7 +83,7 @@ export interface GetContactsRotationResult { * }); * ``` */ -export function getContactsRotationOutput(args: GetContactsRotationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getContactsRotationOutput(args: GetContactsRotationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssm/getContactsRotation:getContactsRotation", { "arn": args.arn, diff --git a/sdk/nodejs/ssm/getDocument.ts b/sdk/nodejs/ssm/getDocument.ts index 41a68490232..79e84506643 100644 --- a/sdk/nodejs/ssm/getDocument.ts +++ b/sdk/nodejs/ssm/getDocument.ts @@ -115,7 +115,7 @@ export interface GetDocumentResult { * }); * ``` */ -export function getDocumentOutput(args: GetDocumentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDocumentOutput(args: GetDocumentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssm/getDocument:getDocument", { "documentFormat": args.documentFormat, diff --git a/sdk/nodejs/ssm/getInstances.ts b/sdk/nodejs/ssm/getInstances.ts index 7402bf48569..0fbc1267dbe 100644 --- a/sdk/nodejs/ssm/getInstances.ts +++ b/sdk/nodejs/ssm/getInstances.ts @@ -73,7 +73,7 @@ export interface GetInstancesResult { * }); * ``` */ -export function getInstancesOutput(args?: GetInstancesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInstancesOutput(args?: GetInstancesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssm/getInstances:getInstances", { diff --git a/sdk/nodejs/ssm/getMaintenanceWindows.ts b/sdk/nodejs/ssm/getMaintenanceWindows.ts index afdbd5395da..8fd00c4c8cc 100644 --- a/sdk/nodejs/ssm/getMaintenanceWindows.ts +++ b/sdk/nodejs/ssm/getMaintenanceWindows.ts @@ -73,7 +73,7 @@ export interface GetMaintenanceWindowsResult { * }); * ``` */ -export function getMaintenanceWindowsOutput(args?: GetMaintenanceWindowsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getMaintenanceWindowsOutput(args?: GetMaintenanceWindowsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssm/getMaintenanceWindows:getMaintenanceWindows", { diff --git a/sdk/nodejs/ssm/getParameter.ts b/sdk/nodejs/ssm/getParameter.ts index 183f7c541b5..2085c7d7199 100644 --- a/sdk/nodejs/ssm/getParameter.ts +++ b/sdk/nodejs/ssm/getParameter.ts @@ -76,7 +76,7 @@ export interface GetParameterResult { * * > **Note:** The unencrypted value of a SecureString will be stored in the raw state as plain-text. */ -export function getParameterOutput(args: GetParameterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getParameterOutput(args: GetParameterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssm/getParameter:getParameter", { "name": args.name, diff --git a/sdk/nodejs/ssm/getParametersByPath.ts b/sdk/nodejs/ssm/getParametersByPath.ts index 6e2bfb69ff5..0feb8614e8e 100644 --- a/sdk/nodejs/ssm/getParametersByPath.ts +++ b/sdk/nodejs/ssm/getParametersByPath.ts @@ -59,7 +59,7 @@ export interface GetParametersByPathResult { readonly values: string[]; readonly withDecryption?: boolean; } -export function getParametersByPathOutput(args: GetParametersByPathOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getParametersByPathOutput(args: GetParametersByPathOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssm/getParametersByPath:getParametersByPath", { "path": args.path, diff --git a/sdk/nodejs/ssm/getPatchBaseline.ts b/sdk/nodejs/ssm/getPatchBaseline.ts index 4c043042ec1..af3a0950b56 100644 --- a/sdk/nodejs/ssm/getPatchBaseline.ts +++ b/sdk/nodejs/ssm/getPatchBaseline.ts @@ -162,7 +162,7 @@ export interface GetPatchBaselineResult { * }); * ``` */ -export function getPatchBaselineOutput(args: GetPatchBaselineOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPatchBaselineOutput(args: GetPatchBaselineOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssm/getPatchBaseline:getPatchBaseline", { "defaultBaseline": args.defaultBaseline, diff --git a/sdk/nodejs/ssm/getPatchBaselines.ts b/sdk/nodejs/ssm/getPatchBaselines.ts index a74248f896f..83f985d9fe0 100644 --- a/sdk/nodejs/ssm/getPatchBaselines.ts +++ b/sdk/nodejs/ssm/getPatchBaselines.ts @@ -113,7 +113,7 @@ export interface GetPatchBaselinesResult { * }); * ``` */ -export function getPatchBaselinesOutput(args?: GetPatchBaselinesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPatchBaselinesOutput(args?: GetPatchBaselinesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssm/getPatchBaselines:getPatchBaselines", { diff --git a/sdk/nodejs/ssmcontacts/getContact.ts b/sdk/nodejs/ssmcontacts/getContact.ts index 1610a8eef53..093c112a7d2 100644 --- a/sdk/nodejs/ssmcontacts/getContact.ts +++ b/sdk/nodejs/ssmcontacts/getContact.ts @@ -84,7 +84,7 @@ export interface GetContactResult { * }); * ``` */ -export function getContactOutput(args: GetContactOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getContactOutput(args: GetContactOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssmcontacts/getContact:getContact", { "arn": args.arn, diff --git a/sdk/nodejs/ssmcontacts/getContactChannel.ts b/sdk/nodejs/ssmcontacts/getContactChannel.ts index 5763d60d78b..4a918d6b0de 100644 --- a/sdk/nodejs/ssmcontacts/getContactChannel.ts +++ b/sdk/nodejs/ssmcontacts/getContactChannel.ts @@ -86,7 +86,7 @@ export interface GetContactChannelResult { * }); * ``` */ -export function getContactChannelOutput(args: GetContactChannelOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getContactChannelOutput(args: GetContactChannelOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssmcontacts/getContactChannel:getContactChannel", { "arn": args.arn, diff --git a/sdk/nodejs/ssmcontacts/getPlan.ts b/sdk/nodejs/ssmcontacts/getPlan.ts index 26f6d176a73..4493138f4e4 100644 --- a/sdk/nodejs/ssmcontacts/getPlan.ts +++ b/sdk/nodejs/ssmcontacts/getPlan.ts @@ -70,7 +70,7 @@ export interface GetPlanResult { * }); * ``` */ -export function getPlanOutput(args: GetPlanOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPlanOutput(args: GetPlanOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssmcontacts/getPlan:getPlan", { "contactId": args.contactId, diff --git a/sdk/nodejs/ssmincidents/getReplicationSet.ts b/sdk/nodejs/ssmincidents/getReplicationSet.ts index c003a209c3b..e8da081719d 100644 --- a/sdk/nodejs/ssmincidents/getReplicationSet.ts +++ b/sdk/nodejs/ssmincidents/getReplicationSet.ts @@ -92,7 +92,7 @@ export interface GetReplicationSetResult { * const example = aws.ssmincidents.getReplicationSet({}); * ``` */ -export function getReplicationSetOutput(args?: GetReplicationSetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getReplicationSetOutput(args?: GetReplicationSetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssmincidents/getReplicationSet:getReplicationSet", { diff --git a/sdk/nodejs/ssmincidents/getResponsePlan.ts b/sdk/nodejs/ssmincidents/getResponsePlan.ts index ca2d628674a..d044883ee0b 100644 --- a/sdk/nodejs/ssmincidents/getResponsePlan.ts +++ b/sdk/nodejs/ssmincidents/getResponsePlan.ts @@ -78,7 +78,7 @@ export interface GetResponsePlanResult { * * ## Example Usage */ -export function getResponsePlanOutput(args: GetResponsePlanOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResponsePlanOutput(args: GetResponsePlanOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssmincidents/getResponsePlan:getResponsePlan", { "arn": args.arn, diff --git a/sdk/nodejs/ssoadmin/getApplication.ts b/sdk/nodejs/ssoadmin/getApplication.ts index ff96a8b346f..1ef75c0f7e3 100644 --- a/sdk/nodejs/ssoadmin/getApplication.ts +++ b/sdk/nodejs/ssoadmin/getApplication.ts @@ -99,7 +99,7 @@ export interface GetApplicationResult { * }); * ``` */ -export function getApplicationOutput(args: GetApplicationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getApplicationOutput(args: GetApplicationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssoadmin/getApplication:getApplication", { "applicationArn": args.applicationArn, diff --git a/sdk/nodejs/ssoadmin/getApplicationAssignments.ts b/sdk/nodejs/ssoadmin/getApplicationAssignments.ts index b1e78c006ce..bfaa8831fbd 100644 --- a/sdk/nodejs/ssoadmin/getApplicationAssignments.ts +++ b/sdk/nodejs/ssoadmin/getApplicationAssignments.ts @@ -75,7 +75,7 @@ export interface GetApplicationAssignmentsResult { * }); * ``` */ -export function getApplicationAssignmentsOutput(args: GetApplicationAssignmentsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getApplicationAssignmentsOutput(args: GetApplicationAssignmentsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssoadmin/getApplicationAssignments:getApplicationAssignments", { "applicationArn": args.applicationArn, diff --git a/sdk/nodejs/ssoadmin/getApplicationProviders.ts b/sdk/nodejs/ssoadmin/getApplicationProviders.ts index 1a27bfac92c..c0587d1c489 100644 --- a/sdk/nodejs/ssoadmin/getApplicationProviders.ts +++ b/sdk/nodejs/ssoadmin/getApplicationProviders.ts @@ -66,7 +66,7 @@ export interface GetApplicationProvidersResult { * const example = aws.ssoadmin.getApplicationProviders({}); * ``` */ -export function getApplicationProvidersOutput(args?: GetApplicationProvidersOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getApplicationProvidersOutput(args?: GetApplicationProvidersOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssoadmin/getApplicationProviders:getApplicationProviders", { diff --git a/sdk/nodejs/ssoadmin/getInstances.ts b/sdk/nodejs/ssoadmin/getInstances.ts index bc7b03ecfe1..6249dcc0a46 100644 --- a/sdk/nodejs/ssoadmin/getInstances.ts +++ b/sdk/nodejs/ssoadmin/getInstances.ts @@ -55,7 +55,7 @@ export interface GetInstancesResult { * export const identityStoreId = example.then(example => example.identityStoreIds?.[0]); * ``` */ -export function getInstancesOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getInstancesOutput(opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssoadmin/getInstances:getInstances", { }, opts); diff --git a/sdk/nodejs/ssoadmin/getPermissionSet.ts b/sdk/nodejs/ssoadmin/getPermissionSet.ts index 9e5519787e7..76548472678 100644 --- a/sdk/nodejs/ssoadmin/getPermissionSet.ts +++ b/sdk/nodejs/ssoadmin/getPermissionSet.ts @@ -99,7 +99,7 @@ export interface GetPermissionSetResult { * export const arn = exampleGetPermissionSet.then(exampleGetPermissionSet => exampleGetPermissionSet.arn); * ``` */ -export function getPermissionSetOutput(args: GetPermissionSetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPermissionSetOutput(args: GetPermissionSetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssoadmin/getPermissionSet:getPermissionSet", { "arn": args.arn, diff --git a/sdk/nodejs/ssoadmin/getPermissionSets.ts b/sdk/nodejs/ssoadmin/getPermissionSets.ts index 0e32493530b..debb65c89c5 100644 --- a/sdk/nodejs/ssoadmin/getPermissionSets.ts +++ b/sdk/nodejs/ssoadmin/getPermissionSets.ts @@ -66,7 +66,7 @@ export interface GetPermissionSetsResult { * })); * ``` */ -export function getPermissionSetsOutput(args: GetPermissionSetsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPermissionSetsOutput(args: GetPermissionSetsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssoadmin/getPermissionSets:getPermissionSets", { "instanceArn": args.instanceArn, diff --git a/sdk/nodejs/ssoadmin/getPrincipalApplicationAssignments.ts b/sdk/nodejs/ssoadmin/getPrincipalApplicationAssignments.ts index ddff8e7df99..55c1d687e64 100644 --- a/sdk/nodejs/ssoadmin/getPrincipalApplicationAssignments.ts +++ b/sdk/nodejs/ssoadmin/getPrincipalApplicationAssignments.ts @@ -94,7 +94,7 @@ export interface GetPrincipalApplicationAssignmentsResult { * }); * ``` */ -export function getPrincipalApplicationAssignmentsOutput(args: GetPrincipalApplicationAssignmentsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPrincipalApplicationAssignmentsOutput(args: GetPrincipalApplicationAssignmentsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:ssoadmin/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments", { "applicationAssignments": args.applicationAssignments, diff --git a/sdk/nodejs/storagegateway/getLocalDisk.ts b/sdk/nodejs/storagegateway/getLocalDisk.ts index 4b183b7ccf6..4d787d8f415 100644 --- a/sdk/nodejs/storagegateway/getLocalDisk.ts +++ b/sdk/nodejs/storagegateway/getLocalDisk.ts @@ -77,7 +77,7 @@ export interface GetLocalDiskResult { * }); * ``` */ -export function getLocalDiskOutput(args: GetLocalDiskOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getLocalDiskOutput(args: GetLocalDiskOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:storagegateway/getLocalDisk:getLocalDisk", { "diskNode": args.diskNode, diff --git a/sdk/nodejs/synthetics/getRuntimeVersion.ts b/sdk/nodejs/synthetics/getRuntimeVersion.ts index e73d4ef4909..0bbf0383c25 100644 --- a/sdk/nodejs/synthetics/getRuntimeVersion.ts +++ b/sdk/nodejs/synthetics/getRuntimeVersion.ts @@ -119,7 +119,7 @@ export interface GetRuntimeVersionResult { * }); * ``` */ -export function getRuntimeVersionOutput(args: GetRuntimeVersionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRuntimeVersionOutput(args: GetRuntimeVersionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:synthetics/getRuntimeVersion:getRuntimeVersion", { "latest": args.latest, diff --git a/sdk/nodejs/synthetics/getRuntimeVersions.ts b/sdk/nodejs/synthetics/getRuntimeVersions.ts index 746e4d3f0f6..ae189511aad 100644 --- a/sdk/nodejs/synthetics/getRuntimeVersions.ts +++ b/sdk/nodejs/synthetics/getRuntimeVersions.ts @@ -66,7 +66,7 @@ export interface GetRuntimeVersionsResult { * const example = aws.synthetics.getRuntimeVersions({}); * ``` */ -export function getRuntimeVersionsOutput(args?: GetRuntimeVersionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRuntimeVersionsOutput(args?: GetRuntimeVersionsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:synthetics/getRuntimeVersions:getRuntimeVersions", { diff --git a/sdk/nodejs/timestreamwrite/getDatabase.ts b/sdk/nodejs/timestreamwrite/getDatabase.ts index 5bebb202d78..15e4ed3cba2 100644 --- a/sdk/nodejs/timestreamwrite/getDatabase.ts +++ b/sdk/nodejs/timestreamwrite/getDatabase.ts @@ -80,7 +80,7 @@ export interface GetDatabaseResult { * }); * ``` */ -export function getDatabaseOutput(args: GetDatabaseOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDatabaseOutput(args: GetDatabaseOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:timestreamwrite/getDatabase:getDatabase", { "name": args.name, diff --git a/sdk/nodejs/timestreamwrite/getTable.ts b/sdk/nodejs/timestreamwrite/getTable.ts index e1c70f97522..9d1c766773f 100644 --- a/sdk/nodejs/timestreamwrite/getTable.ts +++ b/sdk/nodejs/timestreamwrite/getTable.ts @@ -108,7 +108,7 @@ export interface GetTableResult { * }); * ``` */ -export function getTableOutput(args: GetTableOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getTableOutput(args: GetTableOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:timestreamwrite/getTable:getTable", { "databaseName": args.databaseName, diff --git a/sdk/nodejs/transfer/getConnector.ts b/sdk/nodejs/transfer/getConnector.ts index acd5b64947b..b57152fe7dd 100644 --- a/sdk/nodejs/transfer/getConnector.ts +++ b/sdk/nodejs/transfer/getConnector.ts @@ -72,7 +72,7 @@ export interface GetConnectorResult { /** * Data source for managing an AWS Transfer Family Connector. */ -export function getConnectorOutput(args: GetConnectorOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getConnectorOutput(args: GetConnectorOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:transfer/getConnector:getConnector", { "id": args.id, diff --git a/sdk/nodejs/transfer/getServer.ts b/sdk/nodejs/transfer/getServer.ts index 472a957efe0..d52f70bcee5 100644 --- a/sdk/nodejs/transfer/getServer.ts +++ b/sdk/nodejs/transfer/getServer.ts @@ -118,7 +118,7 @@ export interface GetServerResult { * }); * ``` */ -export function getServerOutput(args: GetServerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServerOutput(args: GetServerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:transfer/getServer:getServer", { "serverId": args.serverId, diff --git a/sdk/nodejs/verifiedpermissions/getPolicyStore.ts b/sdk/nodejs/verifiedpermissions/getPolicyStore.ts index 01c93704062..7d174bda857 100644 --- a/sdk/nodejs/verifiedpermissions/getPolicyStore.ts +++ b/sdk/nodejs/verifiedpermissions/getPolicyStore.ts @@ -79,7 +79,7 @@ export interface GetPolicyStoreResult { * }); * ``` */ -export function getPolicyStoreOutput(args: GetPolicyStoreOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPolicyStoreOutput(args: GetPolicyStoreOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:verifiedpermissions/getPolicyStore:getPolicyStore", { "id": args.id, diff --git a/sdk/nodejs/vpc/getSecurityGroupRule.ts b/sdk/nodejs/vpc/getSecurityGroupRule.ts index 5e76a108e8c..31f5e74c811 100644 --- a/sdk/nodejs/vpc/getSecurityGroupRule.ts +++ b/sdk/nodejs/vpc/getSecurityGroupRule.ts @@ -114,7 +114,7 @@ export interface GetSecurityGroupRuleResult { * }); * ``` */ -export function getSecurityGroupRuleOutput(args?: GetSecurityGroupRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSecurityGroupRuleOutput(args?: GetSecurityGroupRuleOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:vpc/getSecurityGroupRule:getSecurityGroupRule", { diff --git a/sdk/nodejs/vpc/getSecurityGroupRules.ts b/sdk/nodejs/vpc/getSecurityGroupRules.ts index a8546937af2..09cbf309c97 100644 --- a/sdk/nodejs/vpc/getSecurityGroupRules.ts +++ b/sdk/nodejs/vpc/getSecurityGroupRules.ts @@ -80,7 +80,7 @@ export interface GetSecurityGroupRulesResult { * }); * ``` */ -export function getSecurityGroupRulesOutput(args?: GetSecurityGroupRulesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSecurityGroupRulesOutput(args?: GetSecurityGroupRulesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:vpc/getSecurityGroupRules:getSecurityGroupRules", { diff --git a/sdk/nodejs/vpclattice/getAuthPolicy.ts b/sdk/nodejs/vpclattice/getAuthPolicy.ts index f4f98407089..d4d362a588a 100644 --- a/sdk/nodejs/vpclattice/getAuthPolicy.ts +++ b/sdk/nodejs/vpclattice/getAuthPolicy.ts @@ -81,7 +81,7 @@ export interface GetAuthPolicyResult { * }); * ``` */ -export function getAuthPolicyOutput(args: GetAuthPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getAuthPolicyOutput(args: GetAuthPolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:vpclattice/getAuthPolicy:getAuthPolicy", { "policy": args.policy, diff --git a/sdk/nodejs/vpclattice/getListener.ts b/sdk/nodejs/vpclattice/getListener.ts index e7067c90cab..6bab8bb7f91 100644 --- a/sdk/nodejs/vpclattice/getListener.ts +++ b/sdk/nodejs/vpclattice/getListener.ts @@ -117,7 +117,7 @@ export interface GetListenerResult { * const example = aws.vpclattice.getListener({}); * ``` */ -export function getListenerOutput(args: GetListenerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getListenerOutput(args: GetListenerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:vpclattice/getListener:getListener", { "listenerIdentifier": args.listenerIdentifier, diff --git a/sdk/nodejs/vpclattice/getResourcePolicy.ts b/sdk/nodejs/vpclattice/getResourcePolicy.ts index 90780b78fe4..dd998f77aa4 100644 --- a/sdk/nodejs/vpclattice/getResourcePolicy.ts +++ b/sdk/nodejs/vpclattice/getResourcePolicy.ts @@ -67,7 +67,7 @@ export interface GetResourcePolicyResult { * }); * ``` */ -export function getResourcePolicyOutput(args: GetResourcePolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getResourcePolicyOutput(args: GetResourcePolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:vpclattice/getResourcePolicy:getResourcePolicy", { "resourceArn": args.resourceArn, diff --git a/sdk/nodejs/vpclattice/getService.ts b/sdk/nodejs/vpclattice/getService.ts index b4027cc5dcb..34acafadfd6 100644 --- a/sdk/nodejs/vpclattice/getService.ts +++ b/sdk/nodejs/vpclattice/getService.ts @@ -106,7 +106,7 @@ export interface GetServiceResult { * }); * ``` */ -export function getServiceOutput(args?: GetServiceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServiceOutput(args?: GetServiceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:vpclattice/getService:getService", { diff --git a/sdk/nodejs/vpclattice/getServiceNetwork.ts b/sdk/nodejs/vpclattice/getServiceNetwork.ts index ad768c45a42..ebe043b7139 100644 --- a/sdk/nodejs/vpclattice/getServiceNetwork.ts +++ b/sdk/nodejs/vpclattice/getServiceNetwork.ts @@ -94,7 +94,7 @@ export interface GetServiceNetworkResult { * }); * ``` */ -export function getServiceNetworkOutput(args: GetServiceNetworkOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getServiceNetworkOutput(args: GetServiceNetworkOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:vpclattice/getServiceNetwork:getServiceNetwork", { "serviceNetworkIdentifier": args.serviceNetworkIdentifier, diff --git a/sdk/nodejs/waf/getIpset.ts b/sdk/nodejs/waf/getIpset.ts index c5998d829ac..5a1f6b7f90c 100644 --- a/sdk/nodejs/waf/getIpset.ts +++ b/sdk/nodejs/waf/getIpset.ts @@ -59,7 +59,7 @@ export interface GetIpsetResult { * }); * ``` */ -export function getIpsetOutput(args: GetIpsetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getIpsetOutput(args: GetIpsetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:waf/getIpset:getIpset", { "name": args.name, diff --git a/sdk/nodejs/waf/getRateBasedRule.ts b/sdk/nodejs/waf/getRateBasedRule.ts index 47915748a95..738b0b42601 100644 --- a/sdk/nodejs/waf/getRateBasedRule.ts +++ b/sdk/nodejs/waf/getRateBasedRule.ts @@ -59,7 +59,7 @@ export interface GetRateBasedRuleResult { * }); * ``` */ -export function getRateBasedRuleOutput(args: GetRateBasedRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRateBasedRuleOutput(args: GetRateBasedRuleOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:waf/getRateBasedRule:getRateBasedRule", { "name": args.name, diff --git a/sdk/nodejs/waf/getRule.ts b/sdk/nodejs/waf/getRule.ts index 5c0fdd36e1b..9d9ceb5df1f 100644 --- a/sdk/nodejs/waf/getRule.ts +++ b/sdk/nodejs/waf/getRule.ts @@ -59,7 +59,7 @@ export interface GetRuleResult { * }); * ``` */ -export function getRuleOutput(args: GetRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRuleOutput(args: GetRuleOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:waf/getRule:getRule", { "name": args.name, diff --git a/sdk/nodejs/waf/getSubscribedRuleGroup.ts b/sdk/nodejs/waf/getSubscribedRuleGroup.ts index ceaa056f700..3258f9fb07d 100644 --- a/sdk/nodejs/waf/getSubscribedRuleGroup.ts +++ b/sdk/nodejs/waf/getSubscribedRuleGroup.ts @@ -96,7 +96,7 @@ export interface GetSubscribedRuleGroupResult { * ]}); * ``` */ -export function getSubscribedRuleGroupOutput(args?: GetSubscribedRuleGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSubscribedRuleGroupOutput(args?: GetSubscribedRuleGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup", { diff --git a/sdk/nodejs/waf/getWebAcl.ts b/sdk/nodejs/waf/getWebAcl.ts index 7cf7614888d..8361248eeca 100644 --- a/sdk/nodejs/waf/getWebAcl.ts +++ b/sdk/nodejs/waf/getWebAcl.ts @@ -59,7 +59,7 @@ export interface GetWebAclResult { * }); * ``` */ -export function getWebAclOutput(args: GetWebAclOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getWebAclOutput(args: GetWebAclOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:waf/getWebAcl:getWebAcl", { "name": args.name, diff --git a/sdk/nodejs/wafregional/getIpset.ts b/sdk/nodejs/wafregional/getIpset.ts index 5a1d2e96839..803bc984547 100644 --- a/sdk/nodejs/wafregional/getIpset.ts +++ b/sdk/nodejs/wafregional/getIpset.ts @@ -59,7 +59,7 @@ export interface GetIpsetResult { * }); * ``` */ -export function getIpsetOutput(args: GetIpsetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getIpsetOutput(args: GetIpsetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:wafregional/getIpset:getIpset", { "name": args.name, diff --git a/sdk/nodejs/wafregional/getRateBasedMod.ts b/sdk/nodejs/wafregional/getRateBasedMod.ts index 34ec24c216d..c0e5316fe5d 100644 --- a/sdk/nodejs/wafregional/getRateBasedMod.ts +++ b/sdk/nodejs/wafregional/getRateBasedMod.ts @@ -59,7 +59,7 @@ export interface GetRateBasedModResult { * }); * ``` */ -export function getRateBasedModOutput(args: GetRateBasedModOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRateBasedModOutput(args: GetRateBasedModOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:wafregional/getRateBasedMod:getRateBasedMod", { "name": args.name, diff --git a/sdk/nodejs/wafregional/getRule.ts b/sdk/nodejs/wafregional/getRule.ts index b21b6c702b8..3b847bf9e33 100644 --- a/sdk/nodejs/wafregional/getRule.ts +++ b/sdk/nodejs/wafregional/getRule.ts @@ -59,7 +59,7 @@ export interface GetRuleResult { * }); * ``` */ -export function getRuleOutput(args: GetRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRuleOutput(args: GetRuleOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:wafregional/getRule:getRule", { "name": args.name, diff --git a/sdk/nodejs/wafregional/getSubscribedRuleGroup.ts b/sdk/nodejs/wafregional/getSubscribedRuleGroup.ts index b430b3ccd64..e9c2832d5e0 100644 --- a/sdk/nodejs/wafregional/getSubscribedRuleGroup.ts +++ b/sdk/nodejs/wafregional/getSubscribedRuleGroup.ts @@ -96,7 +96,7 @@ export interface GetSubscribedRuleGroupResult { * ]}); * ``` */ -export function getSubscribedRuleGroupOutput(args?: GetSubscribedRuleGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getSubscribedRuleGroupOutput(args?: GetSubscribedRuleGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:wafregional/getSubscribedRuleGroup:getSubscribedRuleGroup", { diff --git a/sdk/nodejs/wafregional/getWebAcl.ts b/sdk/nodejs/wafregional/getWebAcl.ts index 17f48e3efc9..6499197c80c 100644 --- a/sdk/nodejs/wafregional/getWebAcl.ts +++ b/sdk/nodejs/wafregional/getWebAcl.ts @@ -59,7 +59,7 @@ export interface GetWebAclResult { * }); * ``` */ -export function getWebAclOutput(args: GetWebAclOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getWebAclOutput(args: GetWebAclOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:wafregional/getWebAcl:getWebAcl", { "name": args.name, diff --git a/sdk/nodejs/wafv2/getIpSet.ts b/sdk/nodejs/wafv2/getIpSet.ts index c49c4e7ae0a..8ac106e0d2d 100644 --- a/sdk/nodejs/wafv2/getIpSet.ts +++ b/sdk/nodejs/wafv2/getIpSet.ts @@ -83,7 +83,7 @@ export interface GetIpSetResult { * }); * ``` */ -export function getIpSetOutput(args: GetIpSetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getIpSetOutput(args: GetIpSetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:wafv2/getIpSet:getIpSet", { "name": args.name, diff --git a/sdk/nodejs/wafv2/getRegexPatternSet.ts b/sdk/nodejs/wafv2/getRegexPatternSet.ts index f4e250f0dbf..f6651fb29c8 100644 --- a/sdk/nodejs/wafv2/getRegexPatternSet.ts +++ b/sdk/nodejs/wafv2/getRegexPatternSet.ts @@ -82,7 +82,7 @@ export interface GetRegexPatternSetResult { * }); * ``` */ -export function getRegexPatternSetOutput(args: GetRegexPatternSetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRegexPatternSetOutput(args: GetRegexPatternSetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:wafv2/getRegexPatternSet:getRegexPatternSet", { "name": args.name, diff --git a/sdk/nodejs/wafv2/getRuleGroup.ts b/sdk/nodejs/wafv2/getRuleGroup.ts index d7272ec6461..101db1692b2 100644 --- a/sdk/nodejs/wafv2/getRuleGroup.ts +++ b/sdk/nodejs/wafv2/getRuleGroup.ts @@ -75,7 +75,7 @@ export interface GetRuleGroupResult { * }); * ``` */ -export function getRuleGroupOutput(args: GetRuleGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getRuleGroupOutput(args: GetRuleGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:wafv2/getRuleGroup:getRuleGroup", { "name": args.name, diff --git a/sdk/nodejs/wafv2/getWebAcl.ts b/sdk/nodejs/wafv2/getWebAcl.ts index b6e2ee7c8f8..fa024c1e520 100644 --- a/sdk/nodejs/wafv2/getWebAcl.ts +++ b/sdk/nodejs/wafv2/getWebAcl.ts @@ -75,7 +75,7 @@ export interface GetWebAclResult { * }); * ``` */ -export function getWebAclOutput(args: GetWebAclOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getWebAclOutput(args: GetWebAclOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:wafv2/getWebAcl:getWebAcl", { "name": args.name, diff --git a/sdk/nodejs/workspaces/getBundle.ts b/sdk/nodejs/workspaces/getBundle.ts index f66f1732da5..d98ed66b7db 100644 --- a/sdk/nodejs/workspaces/getBundle.ts +++ b/sdk/nodejs/workspaces/getBundle.ts @@ -128,7 +128,7 @@ export interface GetBundleResult { * }); * ``` */ -export function getBundleOutput(args?: GetBundleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getBundleOutput(args?: GetBundleOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:workspaces/getBundle:getBundle", { diff --git a/sdk/nodejs/workspaces/getDirectory.ts b/sdk/nodejs/workspaces/getDirectory.ts index 933a95af9de..b11395a69f2 100644 --- a/sdk/nodejs/workspaces/getDirectory.ts +++ b/sdk/nodejs/workspaces/getDirectory.ts @@ -124,7 +124,7 @@ export interface GetDirectoryResult { * }); * ``` */ -export function getDirectoryOutput(args: GetDirectoryOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getDirectoryOutput(args: GetDirectoryOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:workspaces/getDirectory:getDirectory", { "directoryId": args.directoryId, diff --git a/sdk/nodejs/workspaces/getImage.ts b/sdk/nodejs/workspaces/getImage.ts index abea3dd904c..041a52ad4ec 100644 --- a/sdk/nodejs/workspaces/getImage.ts +++ b/sdk/nodejs/workspaces/getImage.ts @@ -76,7 +76,7 @@ export interface GetImageResult { * }); * ``` */ -export function getImageOutput(args: GetImageOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getImageOutput(args: GetImageOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:workspaces/getImage:getImage", { "imageId": args.imageId, diff --git a/sdk/nodejs/workspaces/getWorkspace.ts b/sdk/nodejs/workspaces/getWorkspace.ts index 50d7f2d2a25..97968c8e75b 100644 --- a/sdk/nodejs/workspaces/getWorkspace.ts +++ b/sdk/nodejs/workspaces/getWorkspace.ts @@ -126,7 +126,7 @@ export interface GetWorkspaceResult { * }); * ``` */ -export function getWorkspaceOutput(args?: GetWorkspaceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getWorkspaceOutput(args?: GetWorkspaceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:workspaces/getWorkspace:getWorkspace", { diff --git a/sdk/python/pulumi_aws/acm/get_certificate.py b/sdk/python/pulumi_aws/acm/get_certificate.py index 2aa43ef1b66..3e5afcd020c 100644 --- a/sdk/python/pulumi_aws/acm/get_certificate.py +++ b/sdk/python/pulumi_aws/acm/get_certificate.py @@ -221,7 +221,7 @@ def get_certificate_output(domain: Optional[pulumi.Input[Optional[str]]] = None, statuses: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, types: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCertificateResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCertificateResult]: """ Use this data source to get the ARN of a certificate in AWS Certificate Manager (ACM). You can reference the certificate by domain or tags without having to hard code the ARNs as input. @@ -261,7 +261,7 @@ def get_certificate_output(domain: Optional[pulumi.Input[Optional[str]]] = None, __args__['statuses'] = statuses __args__['tags'] = tags __args__['types'] = types - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:acm/getCertificate:getCertificate', __args__, opts=opts, typ=GetCertificateResult) return __ret__.apply(lambda __response__: GetCertificateResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/acmpca/get_certificate.py b/sdk/python/pulumi_aws/acmpca/get_certificate.py index ef18bd2ff15..a83fa90bbc5 100644 --- a/sdk/python/pulumi_aws/acmpca/get_certificate.py +++ b/sdk/python/pulumi_aws/acmpca/get_certificate.py @@ -125,7 +125,7 @@ def get_certificate(arn: Optional[str] = None, id=pulumi.get(__ret__, 'id')) def get_certificate_output(arn: Optional[pulumi.Input[str]] = None, certificate_authority_arn: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCertificateResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCertificateResult]: """ Get information on a Certificate issued by a AWS Certificate Manager Private Certificate Authority. @@ -146,7 +146,7 @@ def get_certificate_output(arn: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['arn'] = arn __args__['certificateAuthorityArn'] = certificate_authority_arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:acmpca/getCertificate:getCertificate', __args__, opts=opts, typ=GetCertificateResult) return __ret__.apply(lambda __response__: GetCertificateResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/acmpca/get_certificate_authority.py b/sdk/python/pulumi_aws/acmpca/get_certificate_authority.py index 8f467161a0c..d7902338843 100644 --- a/sdk/python/pulumi_aws/acmpca/get_certificate_authority.py +++ b/sdk/python/pulumi_aws/acmpca/get_certificate_authority.py @@ -242,7 +242,7 @@ def get_certificate_authority(arn: Optional[str] = None, usage_mode=pulumi.get(__ret__, 'usage_mode')) def get_certificate_authority_output(arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCertificateAuthorityResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCertificateAuthorityResult]: """ Get information on a AWS Certificate Manager Private Certificate Authority (ACM PCA Certificate Authority). @@ -262,7 +262,7 @@ def get_certificate_authority_output(arn: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['arn'] = arn __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:acmpca/getCertificateAuthority:getCertificateAuthority', __args__, opts=opts, typ=GetCertificateAuthorityResult) return __ret__.apply(lambda __response__: GetCertificateAuthorityResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/alb/get_listener.py b/sdk/python/pulumi_aws/alb/get_listener.py index bb755613758..ee7fce95e81 100644 --- a/sdk/python/pulumi_aws/alb/get_listener.py +++ b/sdk/python/pulumi_aws/alb/get_listener.py @@ -196,7 +196,7 @@ def get_listener_output(arn: Optional[pulumi.Input[Optional[str]]] = None, load_balancer_arn: Optional[pulumi.Input[Optional[str]]] = None, port: Optional[pulumi.Input[Optional[int]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetListenerResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetListenerResult]: """ > **Note:** `alb.Listener` is known as `lb.Listener`. The functionality is identical. @@ -229,7 +229,7 @@ def get_listener_output(arn: Optional[pulumi.Input[Optional[str]]] = None, __args__['loadBalancerArn'] = load_balancer_arn __args__['port'] = port __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:alb/getListener:getListener', __args__, opts=opts, typ=GetListenerResult) return __ret__.apply(lambda __response__: GetListenerResult( alpn_policy=pulumi.get(__response__, 'alpn_policy'), diff --git a/sdk/python/pulumi_aws/alb/get_load_balancer.py b/sdk/python/pulumi_aws/alb/get_load_balancer.py index 101fb6da789..8fa04166dd4 100644 --- a/sdk/python/pulumi_aws/alb/get_load_balancer.py +++ b/sdk/python/pulumi_aws/alb/get_load_balancer.py @@ -409,7 +409,7 @@ def get_load_balancer(arn: Optional[str] = None, def get_load_balancer_output(arn: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLoadBalancerResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLoadBalancerResult]: """ > **Note:** `alb.LoadBalancer` is known as `lb.LoadBalancer`. The functionality is identical. @@ -447,7 +447,7 @@ def get_load_balancer_output(arn: Optional[pulumi.Input[Optional[str]]] = None, __args__['arn'] = arn __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:alb/getLoadBalancer:getLoadBalancer', __args__, opts=opts, typ=GetLoadBalancerResult) return __ret__.apply(lambda __response__: GetLoadBalancerResult( access_logs=pulumi.get(__response__, 'access_logs'), diff --git a/sdk/python/pulumi_aws/alb/get_target_group.py b/sdk/python/pulumi_aws/alb/get_target_group.py index ee6a0c90732..1adff6775ee 100644 --- a/sdk/python/pulumi_aws/alb/get_target_group.py +++ b/sdk/python/pulumi_aws/alb/get_target_group.py @@ -312,7 +312,7 @@ def get_target_group_output(arn: Optional[pulumi.Input[Optional[str]]] = None, load_balancing_anomaly_mitigation: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTargetGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTargetGroupResult]: """ > **Note:** `alb.TargetGroup` is known as `lb.TargetGroup`. The functionality is identical. @@ -351,7 +351,7 @@ def get_target_group_output(arn: Optional[pulumi.Input[Optional[str]]] = None, __args__['loadBalancingAnomalyMitigation'] = load_balancing_anomaly_mitigation __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:alb/getTargetGroup:getTargetGroup', __args__, opts=opts, typ=GetTargetGroupResult) return __ret__.apply(lambda __response__: GetTargetGroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/amp/get_default_scraper_configuration.py b/sdk/python/pulumi_aws/amp/get_default_scraper_configuration.py index f44f5877e3e..fa8fc383d78 100644 --- a/sdk/python/pulumi_aws/amp/get_default_scraper_configuration.py +++ b/sdk/python/pulumi_aws/amp/get_default_scraper_configuration.py @@ -81,7 +81,7 @@ def get_default_scraper_configuration(opts: Optional[pulumi.InvokeOptions] = Non return AwaitableGetDefaultScraperConfigurationResult( configuration=pulumi.get(__ret__, 'configuration'), id=pulumi.get(__ret__, 'id')) -def get_default_scraper_configuration_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDefaultScraperConfigurationResult]: +def get_default_scraper_configuration_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDefaultScraperConfigurationResult]: """ Returns the default scraper configuration used when Amazon EKS creates a scraper for you. @@ -95,7 +95,7 @@ def get_default_scraper_configuration_output(opts: Optional[Union[pulumi.InvokeO ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:amp/getDefaultScraperConfiguration:getDefaultScraperConfiguration', __args__, opts=opts, typ=GetDefaultScraperConfigurationResult) return __ret__.apply(lambda __response__: GetDefaultScraperConfigurationResult( configuration=pulumi.get(__response__, 'configuration'), diff --git a/sdk/python/pulumi_aws/amp/get_workspace.py b/sdk/python/pulumi_aws/amp/get_workspace.py index 45bb226a5bc..06d76523048 100644 --- a/sdk/python/pulumi_aws/amp/get_workspace.py +++ b/sdk/python/pulumi_aws/amp/get_workspace.py @@ -181,7 +181,7 @@ def get_workspace(tags: Optional[Mapping[str, str]] = None, workspace_id=pulumi.get(__ret__, 'workspace_id')) def get_workspace_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, workspace_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetWorkspaceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWorkspaceResult]: """ Provides an Amazon Managed Prometheus workspace data source. @@ -203,7 +203,7 @@ def get_workspace_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]] __args__ = dict() __args__['tags'] = tags __args__['workspaceId'] = workspace_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:amp/getWorkspace:getWorkspace', __args__, opts=opts, typ=GetWorkspaceResult) return __ret__.apply(lambda __response__: GetWorkspaceResult( alias=pulumi.get(__response__, 'alias'), diff --git a/sdk/python/pulumi_aws/amp/get_workspaces.py b/sdk/python/pulumi_aws/amp/get_workspaces.py index ab51cd5255f..5916bd7f74c 100644 --- a/sdk/python/pulumi_aws/amp/get_workspaces.py +++ b/sdk/python/pulumi_aws/amp/get_workspaces.py @@ -135,7 +135,7 @@ def get_workspaces(alias_prefix: Optional[str] = None, id=pulumi.get(__ret__, 'id'), workspace_ids=pulumi.get(__ret__, 'workspace_ids')) def get_workspaces_output(alias_prefix: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetWorkspacesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWorkspacesResult]: """ Provides the aliases, ARNs, and workspace IDs of Amazon Prometheus workspaces. @@ -165,7 +165,7 @@ def get_workspaces_output(alias_prefix: Optional[pulumi.Input[Optional[str]]] = """ __args__ = dict() __args__['aliasPrefix'] = alias_prefix - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:amp/getWorkspaces:getWorkspaces', __args__, opts=opts, typ=GetWorkspacesResult) return __ret__.apply(lambda __response__: GetWorkspacesResult( alias_prefix=pulumi.get(__response__, 'alias_prefix'), diff --git a/sdk/python/pulumi_aws/apigateway/get_authorizer.py b/sdk/python/pulumi_aws/apigateway/get_authorizer.py index 2b9baa93710..ca89d64767e 100644 --- a/sdk/python/pulumi_aws/apigateway/get_authorizer.py +++ b/sdk/python/pulumi_aws/apigateway/get_authorizer.py @@ -216,7 +216,7 @@ def get_authorizer(authorizer_id: Optional[str] = None, type=pulumi.get(__ret__, 'type')) def get_authorizer_output(authorizer_id: Optional[pulumi.Input[str]] = None, rest_api_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAuthorizerResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAuthorizerResult]: """ Provides details about a specific API Gateway Authorizer. @@ -237,7 +237,7 @@ def get_authorizer_output(authorizer_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['authorizerId'] = authorizer_id __args__['restApiId'] = rest_api_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:apigateway/getAuthorizer:getAuthorizer', __args__, opts=opts, typ=GetAuthorizerResult) return __ret__.apply(lambda __response__: GetAuthorizerResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/apigateway/get_authorizers.py b/sdk/python/pulumi_aws/apigateway/get_authorizers.py index af14dc25ca8..a989dc64f69 100644 --- a/sdk/python/pulumi_aws/apigateway/get_authorizers.py +++ b/sdk/python/pulumi_aws/apigateway/get_authorizers.py @@ -97,7 +97,7 @@ def get_authorizers(rest_api_id: Optional[str] = None, ids=pulumi.get(__ret__, 'ids'), rest_api_id=pulumi.get(__ret__, 'rest_api_id')) def get_authorizers_output(rest_api_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAuthorizersResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAuthorizersResult]: """ Provides details about multiple API Gateway Authorizers. @@ -115,7 +115,7 @@ def get_authorizers_output(rest_api_id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['restApiId'] = rest_api_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:apigateway/getAuthorizers:getAuthorizers', __args__, opts=opts, typ=GetAuthorizersResult) return __ret__.apply(lambda __response__: GetAuthorizersResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/apigateway/get_domain_name.py b/sdk/python/pulumi_aws/apigateway/get_domain_name.py index 0a43f604cfd..3f473179ab3 100644 --- a/sdk/python/pulumi_aws/apigateway/get_domain_name.py +++ b/sdk/python/pulumi_aws/apigateway/get_domain_name.py @@ -258,7 +258,7 @@ def get_domain_name(domain_name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_domain_name_output(domain_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDomainNameResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDomainNameResult]: """ Use this data source to get the custom domain name for use with AWS API Gateway. @@ -278,7 +278,7 @@ def get_domain_name_output(domain_name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['domainName'] = domain_name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:apigateway/getDomainName:getDomainName', __args__, opts=opts, typ=GetDomainNameResult) return __ret__.apply(lambda __response__: GetDomainNameResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/apigateway/get_export.py b/sdk/python/pulumi_aws/apigateway/get_export.py index 3a2fc7da4c2..1795f5ca940 100644 --- a/sdk/python/pulumi_aws/apigateway/get_export.py +++ b/sdk/python/pulumi_aws/apigateway/get_export.py @@ -179,7 +179,7 @@ def get_export_output(accepts: Optional[pulumi.Input[Optional[str]]] = None, parameters: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, rest_api_id: Optional[pulumi.Input[str]] = None, stage_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetExportResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetExportResult]: """ ## Example Usage @@ -205,7 +205,7 @@ def get_export_output(accepts: Optional[pulumi.Input[Optional[str]]] = None, __args__['parameters'] = parameters __args__['restApiId'] = rest_api_id __args__['stageName'] = stage_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:apigateway/getExport:getExport', __args__, opts=opts, typ=GetExportResult) return __ret__.apply(lambda __response__: GetExportResult( accepts=pulumi.get(__response__, 'accepts'), diff --git a/sdk/python/pulumi_aws/apigateway/get_key.py b/sdk/python/pulumi_aws/apigateway/get_key.py index ec02b1e653e..afe6dc14f0d 100644 --- a/sdk/python/pulumi_aws/apigateway/get_key.py +++ b/sdk/python/pulumi_aws/apigateway/get_key.py @@ -193,7 +193,7 @@ def get_key(id: Optional[str] = None, value=pulumi.get(__ret__, 'value')) def get_key_output(id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetKeyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetKeyResult]: """ Use this data source to get the name and value of a pre-existing API Key, for example to supply credentials for a dependency microservice. @@ -214,7 +214,7 @@ def get_key_output(id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['id'] = id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:apigateway/getKey:getKey', __args__, opts=opts, typ=GetKeyResult) return __ret__.apply(lambda __response__: GetKeyResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/apigateway/get_resource.py b/sdk/python/pulumi_aws/apigateway/get_resource.py index 5a55c33e777..825342251a1 100644 --- a/sdk/python/pulumi_aws/apigateway/get_resource.py +++ b/sdk/python/pulumi_aws/apigateway/get_resource.py @@ -127,7 +127,7 @@ def get_resource(path: Optional[str] = None, rest_api_id=pulumi.get(__ret__, 'rest_api_id')) def get_resource_output(path: Optional[pulumi.Input[str]] = None, rest_api_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResourceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResourceResult]: """ Use this data source to get the id of a Resource in API Gateway. To fetch the Resource, you must provide the REST API id as well as the full path. @@ -150,7 +150,7 @@ def get_resource_output(path: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['path'] = path __args__['restApiId'] = rest_api_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:apigateway/getResource:getResource', __args__, opts=opts, typ=GetResourceResult) return __ret__.apply(lambda __response__: GetResourceResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/apigateway/get_rest_api.py b/sdk/python/pulumi_aws/apigateway/get_rest_api.py index 2e3a5d9b5d0..56d8fc80e1d 100644 --- a/sdk/python/pulumi_aws/apigateway/get_rest_api.py +++ b/sdk/python/pulumi_aws/apigateway/get_rest_api.py @@ -222,7 +222,7 @@ def get_rest_api(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_rest_api_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRestApiResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRestApiResult]: """ Use this data source to get the id and root_resource_id of a REST API in API Gateway. To fetch the REST API you must provide a name to match against. @@ -245,7 +245,7 @@ def get_rest_api_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:apigateway/getRestApi:getRestApi', __args__, opts=opts, typ=GetRestApiResult) return __ret__.apply(lambda __response__: GetRestApiResult( api_key_source=pulumi.get(__response__, 'api_key_source'), diff --git a/sdk/python/pulumi_aws/apigateway/get_sdk.py b/sdk/python/pulumi_aws/apigateway/get_sdk.py index 464321c6bc6..494bd261499 100644 --- a/sdk/python/pulumi_aws/apigateway/get_sdk.py +++ b/sdk/python/pulumi_aws/apigateway/get_sdk.py @@ -171,7 +171,7 @@ def get_sdk_output(parameters: Optional[pulumi.Input[Optional[Mapping[str, str]] rest_api_id: Optional[pulumi.Input[str]] = None, sdk_type: Optional[pulumi.Input[str]] = None, stage_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSdkResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSdkResult]: """ ## Example Usage @@ -201,7 +201,7 @@ def get_sdk_output(parameters: Optional[pulumi.Input[Optional[Mapping[str, str]] __args__['restApiId'] = rest_api_id __args__['sdkType'] = sdk_type __args__['stageName'] = stage_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:apigateway/getSdk:getSdk', __args__, opts=opts, typ=GetSdkResult) return __ret__.apply(lambda __response__: GetSdkResult( body=pulumi.get(__response__, 'body'), diff --git a/sdk/python/pulumi_aws/apigateway/get_vpc_link.py b/sdk/python/pulumi_aws/apigateway/get_vpc_link.py index 1e3fbc6b1f3..c1239d0c192 100644 --- a/sdk/python/pulumi_aws/apigateway/get_vpc_link.py +++ b/sdk/python/pulumi_aws/apigateway/get_vpc_link.py @@ -167,7 +167,7 @@ def get_vpc_link(name: Optional[str] = None, target_arns=pulumi.get(__ret__, 'target_arns')) def get_vpc_link_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcLinkResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcLinkResult]: """ Use this data source to get the id of a VPC Link in API Gateway. To fetch the VPC Link you must provide a name to match against. @@ -191,7 +191,7 @@ def get_vpc_link_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:apigateway/getVpcLink:getVpcLink', __args__, opts=opts, typ=GetVpcLinkResult) return __ret__.apply(lambda __response__: GetVpcLinkResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/apigatewayv2/get_api.py b/sdk/python/pulumi_aws/apigatewayv2/get_api.py index ce3efd65706..0674748048a 100644 --- a/sdk/python/pulumi_aws/apigatewayv2/get_api.py +++ b/sdk/python/pulumi_aws/apigatewayv2/get_api.py @@ -249,7 +249,7 @@ def get_api(api_id: Optional[str] = None, version=pulumi.get(__ret__, 'version')) def get_api_output(api_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetApiResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApiResult]: """ Provides details about a specific Amazon API Gateway Version 2 API. @@ -269,7 +269,7 @@ def get_api_output(api_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['apiId'] = api_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:apigatewayv2/getApi:getApi', __args__, opts=opts, typ=GetApiResult) return __ret__.apply(lambda __response__: GetApiResult( api_endpoint=pulumi.get(__response__, 'api_endpoint'), diff --git a/sdk/python/pulumi_aws/apigatewayv2/get_apis.py b/sdk/python/pulumi_aws/apigatewayv2/get_apis.py index 74d192f32b1..641c895d2a0 100644 --- a/sdk/python/pulumi_aws/apigatewayv2/get_apis.py +++ b/sdk/python/pulumi_aws/apigatewayv2/get_apis.py @@ -126,7 +126,7 @@ def get_apis(name: Optional[str] = None, def get_apis_output(name: Optional[pulumi.Input[Optional[str]]] = None, protocol_type: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetApisResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApisResult]: """ Provides details about multiple Amazon API Gateway Version 2 APIs. @@ -149,7 +149,7 @@ def get_apis_output(name: Optional[pulumi.Input[Optional[str]]] = None, __args__['name'] = name __args__['protocolType'] = protocol_type __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:apigatewayv2/getApis:getApis', __args__, opts=opts, typ=GetApisResult) return __ret__.apply(lambda __response__: GetApisResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/apigatewayv2/get_export.py b/sdk/python/pulumi_aws/apigatewayv2/get_export.py index f4d215c94f4..c2807974ec6 100644 --- a/sdk/python/pulumi_aws/apigatewayv2/get_export.py +++ b/sdk/python/pulumi_aws/apigatewayv2/get_export.py @@ -169,7 +169,7 @@ def get_export_output(api_id: Optional[pulumi.Input[str]] = None, output_type: Optional[pulumi.Input[str]] = None, specification: Optional[pulumi.Input[str]] = None, stage_name: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetExportResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetExportResult]: """ Exports a definition of an API in a particular output format and specification. @@ -199,7 +199,7 @@ def get_export_output(api_id: Optional[pulumi.Input[str]] = None, __args__['outputType'] = output_type __args__['specification'] = specification __args__['stageName'] = stage_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:apigatewayv2/getExport:getExport', __args__, opts=opts, typ=GetExportResult) return __ret__.apply(lambda __response__: GetExportResult( api_id=pulumi.get(__response__, 'api_id'), diff --git a/sdk/python/pulumi_aws/apigatewayv2/get_vpc_link.py b/sdk/python/pulumi_aws/apigatewayv2/get_vpc_link.py index 0b9ba3c5109..63ae655df27 100644 --- a/sdk/python/pulumi_aws/apigatewayv2/get_vpc_link.py +++ b/sdk/python/pulumi_aws/apigatewayv2/get_vpc_link.py @@ -155,7 +155,7 @@ def get_vpc_link(tags: Optional[Mapping[str, str]] = None, vpc_link_id=pulumi.get(__ret__, 'vpc_link_id')) def get_vpc_link_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, vpc_link_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcLinkResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcLinkResult]: """ Data source for managing an AWS API Gateway V2 VPC Link. @@ -177,7 +177,7 @@ def get_vpc_link_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]]] __args__ = dict() __args__['tags'] = tags __args__['vpcLinkId'] = vpc_link_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:apigatewayv2/getVpcLink:getVpcLink', __args__, opts=opts, typ=GetVpcLinkResult) return __ret__.apply(lambda __response__: GetVpcLinkResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/appconfig/get_configuration_profile.py b/sdk/python/pulumi_aws/appconfig/get_configuration_profile.py index 5ea284ba821..d984141efbe 100644 --- a/sdk/python/pulumi_aws/appconfig/get_configuration_profile.py +++ b/sdk/python/pulumi_aws/appconfig/get_configuration_profile.py @@ -220,7 +220,7 @@ def get_configuration_profile(application_id: Optional[str] = None, def get_configuration_profile_output(application_id: Optional[pulumi.Input[str]] = None, configuration_profile_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConfigurationProfileResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConfigurationProfileResult]: """ Provides access to an AppConfig Configuration Profile. @@ -245,7 +245,7 @@ def get_configuration_profile_output(application_id: Optional[pulumi.Input[str]] __args__['applicationId'] = application_id __args__['configurationProfileId'] = configuration_profile_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:appconfig/getConfigurationProfile:getConfigurationProfile', __args__, opts=opts, typ=GetConfigurationProfileResult) return __ret__.apply(lambda __response__: GetConfigurationProfileResult( application_id=pulumi.get(__response__, 'application_id'), diff --git a/sdk/python/pulumi_aws/appconfig/get_configuration_profiles.py b/sdk/python/pulumi_aws/appconfig/get_configuration_profiles.py index 432f49951d1..aff7f8fe9e7 100644 --- a/sdk/python/pulumi_aws/appconfig/get_configuration_profiles.py +++ b/sdk/python/pulumi_aws/appconfig/get_configuration_profiles.py @@ -102,7 +102,7 @@ def get_configuration_profiles(application_id: Optional[str] = None, configuration_profile_ids=pulumi.get(__ret__, 'configuration_profile_ids'), id=pulumi.get(__ret__, 'id')) def get_configuration_profiles_output(application_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConfigurationProfilesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConfigurationProfilesResult]: """ Provides access to all Configuration Properties for an AppConfig Application. This will allow you to pass Configuration Profile IDs to another resource. @@ -125,7 +125,7 @@ def get_configuration_profiles_output(application_id: Optional[pulumi.Input[str] """ __args__ = dict() __args__['applicationId'] = application_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:appconfig/getConfigurationProfiles:getConfigurationProfiles', __args__, opts=opts, typ=GetConfigurationProfilesResult) return __ret__.apply(lambda __response__: GetConfigurationProfilesResult( application_id=pulumi.get(__response__, 'application_id'), diff --git a/sdk/python/pulumi_aws/appconfig/get_environment.py b/sdk/python/pulumi_aws/appconfig/get_environment.py index c15b5c36844..a1b84c541fb 100644 --- a/sdk/python/pulumi_aws/appconfig/get_environment.py +++ b/sdk/python/pulumi_aws/appconfig/get_environment.py @@ -185,7 +185,7 @@ def get_environment(application_id: Optional[str] = None, def get_environment_output(application_id: Optional[pulumi.Input[str]] = None, environment_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEnvironmentResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEnvironmentResult]: """ Provides access to an AppConfig Environment. @@ -210,7 +210,7 @@ def get_environment_output(application_id: Optional[pulumi.Input[str]] = None, __args__['applicationId'] = application_id __args__['environmentId'] = environment_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:appconfig/getEnvironment:getEnvironment', __args__, opts=opts, typ=GetEnvironmentResult) return __ret__.apply(lambda __response__: GetEnvironmentResult( application_id=pulumi.get(__response__, 'application_id'), diff --git a/sdk/python/pulumi_aws/appconfig/get_environments.py b/sdk/python/pulumi_aws/appconfig/get_environments.py index f09c2fcd2fc..e5a35c6f3ab 100644 --- a/sdk/python/pulumi_aws/appconfig/get_environments.py +++ b/sdk/python/pulumi_aws/appconfig/get_environments.py @@ -100,7 +100,7 @@ def get_environments(application_id: Optional[str] = None, environment_ids=pulumi.get(__ret__, 'environment_ids'), id=pulumi.get(__ret__, 'id')) def get_environments_output(application_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEnvironmentsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEnvironmentsResult]: """ Provides access to all Environments for an AppConfig Application. This will allow you to pass Environment IDs to another resource. @@ -121,7 +121,7 @@ def get_environments_output(application_id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['applicationId'] = application_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:appconfig/getEnvironments:getEnvironments', __args__, opts=opts, typ=GetEnvironmentsResult) return __ret__.apply(lambda __response__: GetEnvironmentsResult( application_id=pulumi.get(__response__, 'application_id'), diff --git a/sdk/python/pulumi_aws/appintegrations/get_event_integration.py b/sdk/python/pulumi_aws/appintegrations/get_event_integration.py index acf6ca50717..adbebc4bedc 100644 --- a/sdk/python/pulumi_aws/appintegrations/get_event_integration.py +++ b/sdk/python/pulumi_aws/appintegrations/get_event_integration.py @@ -154,7 +154,7 @@ def get_event_integration(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_event_integration_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEventIntegrationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEventIntegrationResult]: """ Use this data source to get information on an existing AppIntegrations Event Integration. @@ -174,7 +174,7 @@ def get_event_integration_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:appintegrations/getEventIntegration:getEventIntegration', __args__, opts=opts, typ=GetEventIntegrationResult) return __ret__.apply(lambda __response__: GetEventIntegrationResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/appmesh/get_gateway_route.py b/sdk/python/pulumi_aws/appmesh/get_gateway_route.py index fee751c9f09..b191dbf3106 100644 --- a/sdk/python/pulumi_aws/appmesh/get_gateway_route.py +++ b/sdk/python/pulumi_aws/appmesh/get_gateway_route.py @@ -211,7 +211,7 @@ def get_gateway_route_output(mesh_name: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, virtual_gateway_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetGatewayRouteResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGatewayRouteResult]: """ The App Mesh Gateway Route data source allows details of an App Mesh Gateway Route to be retrieved by its name, mesh_name, virtual_gateway_name, and optionally the mesh_owner. @@ -239,7 +239,7 @@ def get_gateway_route_output(mesh_name: Optional[pulumi.Input[str]] = None, __args__['name'] = name __args__['tags'] = tags __args__['virtualGatewayName'] = virtual_gateway_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:appmesh/getGatewayRoute:getGatewayRoute', __args__, opts=opts, typ=GetGatewayRouteResult) return __ret__.apply(lambda __response__: GetGatewayRouteResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/appmesh/get_mesh.py b/sdk/python/pulumi_aws/appmesh/get_mesh.py index efb9744ebfa..ff38893e231 100644 --- a/sdk/python/pulumi_aws/appmesh/get_mesh.py +++ b/sdk/python/pulumi_aws/appmesh/get_mesh.py @@ -190,7 +190,7 @@ def get_mesh(mesh_owner: Optional[str] = None, def get_mesh_output(mesh_owner: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetMeshResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMeshResult]: """ The App Mesh Mesh data source allows details of an App Mesh Mesh to be retrieved by its name and optionally the mesh_owner. @@ -221,7 +221,7 @@ def get_mesh_output(mesh_owner: Optional[pulumi.Input[Optional[str]]] = None, __args__['meshOwner'] = mesh_owner __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:appmesh/getMesh:getMesh', __args__, opts=opts, typ=GetMeshResult) return __ret__.apply(lambda __response__: GetMeshResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/appmesh/get_route.py b/sdk/python/pulumi_aws/appmesh/get_route.py index 38abfaf239a..8fdb5c57225 100644 --- a/sdk/python/pulumi_aws/appmesh/get_route.py +++ b/sdk/python/pulumi_aws/appmesh/get_route.py @@ -200,7 +200,7 @@ def get_route_output(mesh_name: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, virtual_router_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRouteResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRouteResult]: """ The App Mesh Route data source allows details of an App Mesh Route to be retrieved by its name, mesh_name, virtual_router_name, and optionally the mesh_owner. @@ -217,7 +217,7 @@ def get_route_output(mesh_name: Optional[pulumi.Input[str]] = None, __args__['name'] = name __args__['tags'] = tags __args__['virtualRouterName'] = virtual_router_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:appmesh/getRoute:getRoute', __args__, opts=opts, typ=GetRouteResult) return __ret__.apply(lambda __response__: GetRouteResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/appmesh/get_virtual_gateway.py b/sdk/python/pulumi_aws/appmesh/get_virtual_gateway.py index 789388d39f3..00cbc65e569 100644 --- a/sdk/python/pulumi_aws/appmesh/get_virtual_gateway.py +++ b/sdk/python/pulumi_aws/appmesh/get_virtual_gateway.py @@ -194,7 +194,7 @@ def get_virtual_gateway(mesh_name: Optional[str] = None, def get_virtual_gateway_output(mesh_name: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVirtualGatewayResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVirtualGatewayResult]: """ Data source for managing an AWS App Mesh Virtual Gateway. @@ -219,7 +219,7 @@ def get_virtual_gateway_output(mesh_name: Optional[pulumi.Input[str]] = None, __args__['meshName'] = mesh_name __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:appmesh/getVirtualGateway:getVirtualGateway', __args__, opts=opts, typ=GetVirtualGatewayResult) return __ret__.apply(lambda __response__: GetVirtualGatewayResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/appmesh/get_virtual_node.py b/sdk/python/pulumi_aws/appmesh/get_virtual_node.py index b4c3e24c386..8b59a9e41dc 100644 --- a/sdk/python/pulumi_aws/appmesh/get_virtual_node.py +++ b/sdk/python/pulumi_aws/appmesh/get_virtual_node.py @@ -196,7 +196,7 @@ def get_virtual_node_output(mesh_name: Optional[pulumi.Input[str]] = None, mesh_owner: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVirtualNodeResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVirtualNodeResult]: """ Data source for managing an AWS App Mesh Virtual Node. @@ -221,7 +221,7 @@ def get_virtual_node_output(mesh_name: Optional[pulumi.Input[str]] = None, __args__['meshOwner'] = mesh_owner __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:appmesh/getVirtualNode:getVirtualNode', __args__, opts=opts, typ=GetVirtualNodeResult) return __ret__.apply(lambda __response__: GetVirtualNodeResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/appmesh/get_virtual_router.py b/sdk/python/pulumi_aws/appmesh/get_virtual_router.py index cdbffb20b43..f441074f76a 100644 --- a/sdk/python/pulumi_aws/appmesh/get_virtual_router.py +++ b/sdk/python/pulumi_aws/appmesh/get_virtual_router.py @@ -195,7 +195,7 @@ def get_virtual_router_output(mesh_name: Optional[pulumi.Input[str]] = None, mesh_owner: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVirtualRouterResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVirtualRouterResult]: """ The App Mesh Virtual Router data source allows details of an App Mesh Virtual Service to be retrieved by its name and mesh_name. @@ -219,7 +219,7 @@ def get_virtual_router_output(mesh_name: Optional[pulumi.Input[str]] = None, __args__['meshOwner'] = mesh_owner __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:appmesh/getVirtualRouter:getVirtualRouter', __args__, opts=opts, typ=GetVirtualRouterResult) return __ret__.apply(lambda __response__: GetVirtualRouterResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/appmesh/get_virtual_service.py b/sdk/python/pulumi_aws/appmesh/get_virtual_service.py index f78b2de66c1..505dc57f942 100644 --- a/sdk/python/pulumi_aws/appmesh/get_virtual_service.py +++ b/sdk/python/pulumi_aws/appmesh/get_virtual_service.py @@ -206,7 +206,7 @@ def get_virtual_service_output(mesh_name: Optional[pulumi.Input[str]] = None, mesh_owner: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVirtualServiceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVirtualServiceResult]: """ The App Mesh Virtual Service data source allows details of an App Mesh Virtual Service to be retrieved by its name, mesh_name, and optionally the mesh_owner. @@ -241,7 +241,7 @@ def get_virtual_service_output(mesh_name: Optional[pulumi.Input[str]] = None, __args__['meshOwner'] = mesh_owner __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:appmesh/getVirtualService:getVirtualService', __args__, opts=opts, typ=GetVirtualServiceResult) return __ret__.apply(lambda __response__: GetVirtualServiceResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/apprunner/get_hosted_zone_id.py b/sdk/python/pulumi_aws/apprunner/get_hosted_zone_id.py index a8742949cf8..73e9e49a8c3 100644 --- a/sdk/python/pulumi_aws/apprunner/get_hosted_zone_id.py +++ b/sdk/python/pulumi_aws/apprunner/get_hosted_zone_id.py @@ -95,7 +95,7 @@ def get_hosted_zone_id(region: Optional[str] = None, id=pulumi.get(__ret__, 'id'), region=pulumi.get(__ret__, 'region')) def get_hosted_zone_id_output(region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetHostedZoneIdResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetHostedZoneIdResult]: """ Use this data source to get the HostedZoneId of an AWS App Runner service deployed in a given region for the purpose of using it in an AWS Route53 Alias record. @@ -124,7 +124,7 @@ def get_hosted_zone_id_output(region: Optional[pulumi.Input[Optional[str]]] = No """ __args__ = dict() __args__['region'] = region - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:apprunner/getHostedZoneId:getHostedZoneId', __args__, opts=opts, typ=GetHostedZoneIdResult) return __ret__.apply(lambda __response__: GetHostedZoneIdResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/appstream/get_image.py b/sdk/python/pulumi_aws/appstream/get_image.py index baeddcd0d00..faf898e0f8a 100644 --- a/sdk/python/pulumi_aws/appstream/get_image.py +++ b/sdk/python/pulumi_aws/appstream/get_image.py @@ -296,7 +296,7 @@ def get_image_output(arn: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, name_regex: Optional[pulumi.Input[Optional[str]]] = None, type: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetImageResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetImageResult]: """ Data source for managing an AWS AppStream 2.0 Image. @@ -313,7 +313,7 @@ def get_image_output(arn: Optional[pulumi.Input[Optional[str]]] = None, __args__['name'] = name __args__['nameRegex'] = name_regex __args__['type'] = type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:appstream/getImage:getImage', __args__, opts=opts, typ=GetImageResult) return __ret__.apply(lambda __response__: GetImageResult( applications=pulumi.get(__response__, 'applications'), diff --git a/sdk/python/pulumi_aws/athena/get_named_query.py b/sdk/python/pulumi_aws/athena/get_named_query.py index 13b8fc40c3f..892a465a3c9 100644 --- a/sdk/python/pulumi_aws/athena/get_named_query.py +++ b/sdk/python/pulumi_aws/athena/get_named_query.py @@ -134,7 +134,7 @@ def get_named_query(name: Optional[str] = None, workgroup=pulumi.get(__ret__, 'workgroup')) def get_named_query_output(name: Optional[pulumi.Input[str]] = None, workgroup: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNamedQueryResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNamedQueryResult]: """ Provides an Athena Named Query data source. @@ -154,7 +154,7 @@ def get_named_query_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['workgroup'] = workgroup - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:athena/getNamedQuery:getNamedQuery', __args__, opts=opts, typ=GetNamedQueryResult) return __ret__.apply(lambda __response__: GetNamedQueryResult( database=pulumi.get(__response__, 'database'), diff --git a/sdk/python/pulumi_aws/auditmanager/get_control.py b/sdk/python/pulumi_aws/auditmanager/get_control.py index e69e01a5436..c95b9e843bb 100644 --- a/sdk/python/pulumi_aws/auditmanager/get_control.py +++ b/sdk/python/pulumi_aws/auditmanager/get_control.py @@ -201,7 +201,7 @@ def get_control(control_mapping_sources: Optional[Sequence[Union['GetControlCont def get_control_output(control_mapping_sources: Optional[pulumi.Input[Optional[Sequence[Union['GetControlControlMappingSourceArgs', 'GetControlControlMappingSourceArgsDict']]]]] = None, name: Optional[pulumi.Input[str]] = None, type: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetControlResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetControlResult]: """ Data source for managing an AWS Audit Manager Control. @@ -253,7 +253,7 @@ def get_control_output(control_mapping_sources: Optional[pulumi.Input[Optional[S __args__['controlMappingSources'] = control_mapping_sources __args__['name'] = name __args__['type'] = type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:auditmanager/getControl:getControl', __args__, opts=opts, typ=GetControlResult) return __ret__.apply(lambda __response__: GetControlResult( action_plan_instructions=pulumi.get(__response__, 'action_plan_instructions'), diff --git a/sdk/python/pulumi_aws/auditmanager/get_framework.py b/sdk/python/pulumi_aws/auditmanager/get_framework.py index d7d8b722478..2bc0378176f 100644 --- a/sdk/python/pulumi_aws/auditmanager/get_framework.py +++ b/sdk/python/pulumi_aws/auditmanager/get_framework.py @@ -152,7 +152,7 @@ def get_framework(control_sets: Optional[Sequence[Union['GetFrameworkControlSetA def get_framework_output(control_sets: Optional[pulumi.Input[Optional[Sequence[Union['GetFrameworkControlSetArgs', 'GetFrameworkControlSetArgsDict']]]]] = None, framework_type: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFrameworkResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFrameworkResult]: """ Data source for managing an AWS Audit Manager Framework. @@ -175,7 +175,7 @@ def get_framework_output(control_sets: Optional[pulumi.Input[Optional[Sequence[U __args__['controlSets'] = control_sets __args__['frameworkType'] = framework_type __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:auditmanager/getFramework:getFramework', __args__, opts=opts, typ=GetFrameworkResult) return __ret__.apply(lambda __response__: GetFrameworkResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/autoscaling/get_ami_ids.py b/sdk/python/pulumi_aws/autoscaling/get_ami_ids.py index 655120c4903..ec702cf0b62 100644 --- a/sdk/python/pulumi_aws/autoscaling/get_ami_ids.py +++ b/sdk/python/pulumi_aws/autoscaling/get_ami_ids.py @@ -135,7 +135,7 @@ def get_ami_ids(filters: Optional[Sequence[Union['GetAmiIdsFilterArgs', 'GetAmiI names=pulumi.get(__ret__, 'names')) def get_ami_ids_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetAmiIdsFilterArgs', 'GetAmiIdsFilterArgsDict']]]]] = None, names: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAmiIdsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAmiIdsResult]: """ The Autoscaling Groups data source allows access to the list of AWS ASGs within a specific region. This will allow you to pass a list of AutoScaling Groups to other resources. @@ -174,7 +174,7 @@ def get_ami_ids_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['G __args__ = dict() __args__['filters'] = filters __args__['names'] = names - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:autoscaling/getAmiIds:getAmiIds', __args__, opts=opts, typ=GetAmiIdsResult) return __ret__.apply(lambda __response__: GetAmiIdsResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/autoscaling/get_group.py b/sdk/python/pulumi_aws/autoscaling/get_group.py index b09639804c9..ebfc4624439 100644 --- a/sdk/python/pulumi_aws/autoscaling/get_group.py +++ b/sdk/python/pulumi_aws/autoscaling/get_group.py @@ -459,7 +459,7 @@ def get_group(name: Optional[str] = None, warm_pool_size=pulumi.get(__ret__, 'warm_pool_size'), warm_pools=pulumi.get(__ret__, 'warm_pools')) def get_group_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGroupResult]: """ Use this data source to get information on an existing autoscaling group. @@ -477,7 +477,7 @@ def get_group_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:autoscaling/getGroup:getGroup', __args__, opts=opts, typ=GetGroupResult) return __ret__.apply(lambda __response__: GetGroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/backup/get_framework.py b/sdk/python/pulumi_aws/backup/get_framework.py index 8519cccba89..01b41bf7e0e 100644 --- a/sdk/python/pulumi_aws/backup/get_framework.py +++ b/sdk/python/pulumi_aws/backup/get_framework.py @@ -183,7 +183,7 @@ def get_framework(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_framework_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFrameworkResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFrameworkResult]: """ Use this data source to get information on an existing backup framework. @@ -203,7 +203,7 @@ def get_framework_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:backup/getFramework:getFramework', __args__, opts=opts, typ=GetFrameworkResult) return __ret__.apply(lambda __response__: GetFrameworkResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/backup/get_plan.py b/sdk/python/pulumi_aws/backup/get_plan.py index 780792750d7..5e89fb4cb1b 100644 --- a/sdk/python/pulumi_aws/backup/get_plan.py +++ b/sdk/python/pulumi_aws/backup/get_plan.py @@ -154,7 +154,7 @@ def get_plan(plan_id: Optional[str] = None, version=pulumi.get(__ret__, 'version')) def get_plan_output(plan_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPlanResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPlanResult]: """ Use this data source to get information on an existing backup plan. @@ -174,7 +174,7 @@ def get_plan_output(plan_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['planId'] = plan_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:backup/getPlan:getPlan', __args__, opts=opts, typ=GetPlanResult) return __ret__.apply(lambda __response__: GetPlanResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/backup/get_report_plan.py b/sdk/python/pulumi_aws/backup/get_report_plan.py index 637018b8ba8..e8cd35c2723 100644 --- a/sdk/python/pulumi_aws/backup/get_report_plan.py +++ b/sdk/python/pulumi_aws/backup/get_report_plan.py @@ -180,7 +180,7 @@ def get_report_plan(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_report_plan_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetReportPlanResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReportPlanResult]: """ Use this data source to get information on an existing backup report plan. @@ -200,7 +200,7 @@ def get_report_plan_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:backup/getReportPlan:getReportPlan', __args__, opts=opts, typ=GetReportPlanResult) return __ret__.apply(lambda __response__: GetReportPlanResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/backup/get_selection.py b/sdk/python/pulumi_aws/backup/get_selection.py index e5e6d867d71..9617dae7a8b 100644 --- a/sdk/python/pulumi_aws/backup/get_selection.py +++ b/sdk/python/pulumi_aws/backup/get_selection.py @@ -138,7 +138,7 @@ def get_selection(plan_id: Optional[str] = None, selection_id=pulumi.get(__ret__, 'selection_id')) def get_selection_output(plan_id: Optional[pulumi.Input[str]] = None, selection_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSelectionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSelectionResult]: """ Use this data source to get information on an existing backup selection. @@ -159,7 +159,7 @@ def get_selection_output(plan_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['planId'] = plan_id __args__['selectionId'] = selection_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:backup/getSelection:getSelection', __args__, opts=opts, typ=GetSelectionResult) return __ret__.apply(lambda __response__: GetSelectionResult( iam_role_arn=pulumi.get(__response__, 'iam_role_arn'), diff --git a/sdk/python/pulumi_aws/backup/get_vault.py b/sdk/python/pulumi_aws/backup/get_vault.py index 53a68480dda..f5abccbac75 100644 --- a/sdk/python/pulumi_aws/backup/get_vault.py +++ b/sdk/python/pulumi_aws/backup/get_vault.py @@ -140,7 +140,7 @@ def get_vault(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_vault_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVaultResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVaultResult]: """ Use this data source to get information on an existing backup vault. @@ -160,7 +160,7 @@ def get_vault_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:backup/getVault:getVault', __args__, opts=opts, typ=GetVaultResult) return __ret__.apply(lambda __response__: GetVaultResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/batch/get_compute_environment.py b/sdk/python/pulumi_aws/batch/get_compute_environment.py index cfd737d20b3..c3fc16e5ac8 100644 --- a/sdk/python/pulumi_aws/batch/get_compute_environment.py +++ b/sdk/python/pulumi_aws/batch/get_compute_environment.py @@ -207,7 +207,7 @@ def get_compute_environment(compute_environment_name: Optional[str] = None, update_policies=pulumi.get(__ret__, 'update_policies')) def get_compute_environment_output(compute_environment_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetComputeEnvironmentResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetComputeEnvironmentResult]: """ The Batch Compute Environment data source allows access to details of a specific compute environment within AWS Batch. @@ -228,7 +228,7 @@ def get_compute_environment_output(compute_environment_name: Optional[pulumi.Inp __args__ = dict() __args__['computeEnvironmentName'] = compute_environment_name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:batch/getComputeEnvironment:getComputeEnvironment', __args__, opts=opts, typ=GetComputeEnvironmentResult) return __ret__.apply(lambda __response__: GetComputeEnvironmentResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/batch/get_job_definition.py b/sdk/python/pulumi_aws/batch/get_job_definition.py index ac849fa4f35..847a17f9d0c 100644 --- a/sdk/python/pulumi_aws/batch/get_job_definition.py +++ b/sdk/python/pulumi_aws/batch/get_job_definition.py @@ -253,7 +253,7 @@ def get_job_definition_output(arn: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, revision: Optional[pulumi.Input[Optional[int]]] = None, status: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetJobDefinitionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetJobDefinitionResult]: """ Data source for managing an AWS Batch Job Definition. @@ -289,7 +289,7 @@ def get_job_definition_output(arn: Optional[pulumi.Input[Optional[str]]] = None, __args__['name'] = name __args__['revision'] = revision __args__['status'] = status - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:batch/getJobDefinition:getJobDefinition', __args__, opts=opts, typ=GetJobDefinitionResult) return __ret__.apply(lambda __response__: GetJobDefinitionResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/batch/get_job_queue.py b/sdk/python/pulumi_aws/batch/get_job_queue.py index 3b19941b546..629b22526e5 100644 --- a/sdk/python/pulumi_aws/batch/get_job_queue.py +++ b/sdk/python/pulumi_aws/batch/get_job_queue.py @@ -216,7 +216,7 @@ def get_job_queue(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_job_queue_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetJobQueueResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetJobQueueResult]: """ The Batch Job Queue data source allows access to details of a specific job queue within AWS Batch. @@ -237,7 +237,7 @@ def get_job_queue_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:batch/getJobQueue:getJobQueue', __args__, opts=opts, typ=GetJobQueueResult) return __ret__.apply(lambda __response__: GetJobQueueResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/batch/get_scheduling_policy.py b/sdk/python/pulumi_aws/batch/get_scheduling_policy.py index d9cb5f9c0cd..23d8f7c428c 100644 --- a/sdk/python/pulumi_aws/batch/get_scheduling_policy.py +++ b/sdk/python/pulumi_aws/batch/get_scheduling_policy.py @@ -125,7 +125,7 @@ def get_scheduling_policy(arn: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_scheduling_policy_output(arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSchedulingPolicyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSchedulingPolicyResult]: """ The Batch Scheduling Policy data source allows access to details of a specific Scheduling Policy within AWS Batch. @@ -145,7 +145,7 @@ def get_scheduling_policy_output(arn: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['arn'] = arn __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:batch/getSchedulingPolicy:getSchedulingPolicy', __args__, opts=opts, typ=GetSchedulingPolicyResult) return __ret__.apply(lambda __response__: GetSchedulingPolicyResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/bedrock/get_agent_agent_versions.py b/sdk/python/pulumi_aws/bedrock/get_agent_agent_versions.py index f8ce7cace8b..c2c7d59c01c 100644 --- a/sdk/python/pulumi_aws/bedrock/get_agent_agent_versions.py +++ b/sdk/python/pulumi_aws/bedrock/get_agent_agent_versions.py @@ -105,7 +105,7 @@ def get_agent_agent_versions(agent_id: Optional[str] = None, id=pulumi.get(__ret__, 'id')) def get_agent_agent_versions_output(agent_id: Optional[pulumi.Input[str]] = None, agent_version_summaries: Optional[pulumi.Input[Optional[Sequence[Union['GetAgentAgentVersionsAgentVersionSummaryArgs', 'GetAgentAgentVersionsAgentVersionSummaryArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAgentAgentVersionsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAgentAgentVersionsResult]: """ Data source for managing an AWS Amazon BedrockAgent Agent Versions. @@ -127,7 +127,7 @@ def get_agent_agent_versions_output(agent_id: Optional[pulumi.Input[str]] = None __args__ = dict() __args__['agentId'] = agent_id __args__['agentVersionSummaries'] = agent_version_summaries - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:bedrock/getAgentAgentVersions:getAgentAgentVersions', __args__, opts=opts, typ=GetAgentAgentVersionsResult) return __ret__.apply(lambda __response__: GetAgentAgentVersionsResult( agent_id=pulumi.get(__response__, 'agent_id'), diff --git a/sdk/python/pulumi_aws/bedrock/get_custom_model.py b/sdk/python/pulumi_aws/bedrock/get_custom_model.py index de462bb5058..72cc62d1f1b 100644 --- a/sdk/python/pulumi_aws/bedrock/get_custom_model.py +++ b/sdk/python/pulumi_aws/bedrock/get_custom_model.py @@ -277,7 +277,7 @@ def get_custom_model(model_id: Optional[str] = None, validation_data_configs=pulumi.get(__ret__, 'validation_data_configs'), validation_metrics=pulumi.get(__ret__, 'validation_metrics')) def get_custom_model_output(model_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCustomModelResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCustomModelResult]: """ Returns properties of a specific Amazon Bedrock custom model. @@ -295,7 +295,7 @@ def get_custom_model_output(model_id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['modelId'] = model_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:bedrock/getCustomModel:getCustomModel', __args__, opts=opts, typ=GetCustomModelResult) return __ret__.apply(lambda __response__: GetCustomModelResult( base_model_arn=pulumi.get(__response__, 'base_model_arn'), diff --git a/sdk/python/pulumi_aws/bedrock/get_custom_models.py b/sdk/python/pulumi_aws/bedrock/get_custom_models.py index 992db36d413..20f0518b8af 100644 --- a/sdk/python/pulumi_aws/bedrock/get_custom_models.py +++ b/sdk/python/pulumi_aws/bedrock/get_custom_models.py @@ -79,7 +79,7 @@ def get_custom_models(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableG return AwaitableGetCustomModelsResult( id=pulumi.get(__ret__, 'id'), model_summaries=pulumi.get(__ret__, 'model_summaries')) -def get_custom_models_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCustomModelsResult]: +def get_custom_models_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCustomModelsResult]: """ Returns a list of Amazon Bedrock custom models. @@ -93,7 +93,7 @@ def get_custom_models_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.I ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:bedrock/getCustomModels:getCustomModels', __args__, opts=opts, typ=GetCustomModelsResult) return __ret__.apply(lambda __response__: GetCustomModelsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/bedrock/get_inference_profile.py b/sdk/python/pulumi_aws/bedrock/get_inference_profile.py index 8fb6111b6c9..e7a20e30492 100644 --- a/sdk/python/pulumi_aws/bedrock/get_inference_profile.py +++ b/sdk/python/pulumi_aws/bedrock/get_inference_profile.py @@ -192,7 +192,7 @@ def get_inference_profile(inference_profile_id: Optional[str] = None, type=pulumi.get(__ret__, 'type'), updated_at=pulumi.get(__ret__, 'updated_at')) def get_inference_profile_output(inference_profile_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInferenceProfileResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInferenceProfileResult]: """ Data source for managing an AWS Bedrock Inference Profile. @@ -213,7 +213,7 @@ def get_inference_profile_output(inference_profile_id: Optional[pulumi.Input[str """ __args__ = dict() __args__['inferenceProfileId'] = inference_profile_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:bedrock/getInferenceProfile:getInferenceProfile', __args__, opts=opts, typ=GetInferenceProfileResult) return __ret__.apply(lambda __response__: GetInferenceProfileResult( created_at=pulumi.get(__response__, 'created_at'), diff --git a/sdk/python/pulumi_aws/bedrock/get_inference_profiles.py b/sdk/python/pulumi_aws/bedrock/get_inference_profiles.py index ba9c00ffba3..1ad1b563366 100644 --- a/sdk/python/pulumi_aws/bedrock/get_inference_profiles.py +++ b/sdk/python/pulumi_aws/bedrock/get_inference_profiles.py @@ -84,7 +84,7 @@ def get_inference_profiles(opts: Optional[pulumi.InvokeOptions] = None) -> Await return AwaitableGetInferenceProfilesResult( id=pulumi.get(__ret__, 'id'), inference_profile_summaries=pulumi.get(__ret__, 'inference_profile_summaries')) -def get_inference_profiles_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInferenceProfilesResult]: +def get_inference_profiles_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInferenceProfilesResult]: """ Data source for managing AWS Bedrock AWS Bedrock Inference Profiles. @@ -100,7 +100,7 @@ def get_inference_profiles_output(opts: Optional[Union[pulumi.InvokeOptions, pul ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:bedrock/getInferenceProfiles:getInferenceProfiles', __args__, opts=opts, typ=GetInferenceProfilesResult) return __ret__.apply(lambda __response__: GetInferenceProfilesResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/bedrockfoundation/get_model.py b/sdk/python/pulumi_aws/bedrockfoundation/get_model.py index 0a58ad04cd5..976b2aa9310 100644 --- a/sdk/python/pulumi_aws/bedrockfoundation/get_model.py +++ b/sdk/python/pulumi_aws/bedrockfoundation/get_model.py @@ -188,7 +188,7 @@ def get_model(model_id: Optional[str] = None, provider_name=pulumi.get(__ret__, 'provider_name'), response_streaming_supported=pulumi.get(__ret__, 'response_streaming_supported')) def get_model_output(model_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetModelResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetModelResult]: """ Data source for managing an AWS Bedrock Foundation Model. @@ -209,7 +209,7 @@ def get_model_output(model_id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['modelId'] = model_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:bedrockfoundation/getModel:getModel', __args__, opts=opts, typ=GetModelResult) return __ret__.apply(lambda __response__: GetModelResult( customizations_supporteds=pulumi.get(__response__, 'customizations_supporteds'), diff --git a/sdk/python/pulumi_aws/bedrockfoundation/get_models.py b/sdk/python/pulumi_aws/bedrockfoundation/get_models.py index 3980b87f081..17da423bb63 100644 --- a/sdk/python/pulumi_aws/bedrockfoundation/get_models.py +++ b/sdk/python/pulumi_aws/bedrockfoundation/get_models.py @@ -151,7 +151,7 @@ def get_models_output(by_customization_type: Optional[pulumi.Input[Optional[str] by_inference_type: Optional[pulumi.Input[Optional[str]]] = None, by_output_modality: Optional[pulumi.Input[Optional[str]]] = None, by_provider: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetModelsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetModelsResult]: """ Data source for managing AWS Bedrock Foundation Models. @@ -186,7 +186,7 @@ def get_models_output(by_customization_type: Optional[pulumi.Input[Optional[str] __args__['byInferenceType'] = by_inference_type __args__['byOutputModality'] = by_output_modality __args__['byProvider'] = by_provider - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:bedrockfoundation/getModels:getModels', __args__, opts=opts, typ=GetModelsResult) return __ret__.apply(lambda __response__: GetModelsResult( by_customization_type=pulumi.get(__response__, 'by_customization_type'), diff --git a/sdk/python/pulumi_aws/budgets/get_budget.py b/sdk/python/pulumi_aws/budgets/get_budget.py index 72df49f39ba..388cb2ca3a0 100644 --- a/sdk/python/pulumi_aws/budgets/get_budget.py +++ b/sdk/python/pulumi_aws/budgets/get_budget.py @@ -300,7 +300,7 @@ def get_budget_output(account_id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[str]] = None, name_prefix: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBudgetResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBudgetResult]: """ Data source for managing an AWS Web Services Budgets Budget. @@ -328,7 +328,7 @@ def get_budget_output(account_id: Optional[pulumi.Input[Optional[str]]] = None, __args__['name'] = name __args__['namePrefix'] = name_prefix __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:budgets/getBudget:getBudget', __args__, opts=opts, typ=GetBudgetResult) return __ret__.apply(lambda __response__: GetBudgetResult( account_id=pulumi.get(__response__, 'account_id'), diff --git a/sdk/python/pulumi_aws/chatbot/get_slack_workspace.py b/sdk/python/pulumi_aws/chatbot/get_slack_workspace.py index eed3d52ee7c..893df51e428 100644 --- a/sdk/python/pulumi_aws/chatbot/get_slack_workspace.py +++ b/sdk/python/pulumi_aws/chatbot/get_slack_workspace.py @@ -99,7 +99,7 @@ def get_slack_workspace(slack_team_name: Optional[str] = None, slack_team_id=pulumi.get(__ret__, 'slack_team_id'), slack_team_name=pulumi.get(__ret__, 'slack_team_name')) def get_slack_workspace_output(slack_team_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSlackWorkspaceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSlackWorkspaceResult]: """ Data source for managing an AWS Chatbot Slack Workspace. @@ -119,7 +119,7 @@ def get_slack_workspace_output(slack_team_name: Optional[pulumi.Input[str]] = No """ __args__ = dict() __args__['slackTeamName'] = slack_team_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:chatbot/getSlackWorkspace:getSlackWorkspace', __args__, opts=opts, typ=GetSlackWorkspaceResult) return __ret__.apply(lambda __response__: GetSlackWorkspaceResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/cloudcontrol/get_resource.py b/sdk/python/pulumi_aws/cloudcontrol/get_resource.py index 198833313bb..9ea95c2b289 100644 --- a/sdk/python/pulumi_aws/cloudcontrol/get_resource.py +++ b/sdk/python/pulumi_aws/cloudcontrol/get_resource.py @@ -142,7 +142,7 @@ def get_resource_output(identifier: Optional[pulumi.Input[str]] = None, role_arn: Optional[pulumi.Input[Optional[str]]] = None, type_name: Optional[pulumi.Input[str]] = None, type_version_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResourceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResourceResult]: """ Provides details for a Cloud Control API Resource. The reading of these resources is proxied through Cloud Control API handlers to the backend service. @@ -169,7 +169,7 @@ def get_resource_output(identifier: Optional[pulumi.Input[str]] = None, __args__['roleArn'] = role_arn __args__['typeName'] = type_name __args__['typeVersionId'] = type_version_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudcontrol/getResource:getResource', __args__, opts=opts, typ=GetResourceResult) return __ret__.apply(lambda __response__: GetResourceResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/cloudformation/get_cloud_formation_type.py b/sdk/python/pulumi_aws/cloudformation/get_cloud_formation_type.py index ff5b1eadfb4..afaea634dc7 100644 --- a/sdk/python/pulumi_aws/cloudformation/get_cloud_formation_type.py +++ b/sdk/python/pulumi_aws/cloudformation/get_cloud_formation_type.py @@ -281,7 +281,7 @@ def get_cloud_formation_type_output(arn: Optional[pulumi.Input[Optional[str]]] = type: Optional[pulumi.Input[Optional[str]]] = None, type_name: Optional[pulumi.Input[Optional[str]]] = None, version_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCloudFormationTypeResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCloudFormationTypeResult]: """ Provides details about a CloudFormation Type. @@ -306,7 +306,7 @@ def get_cloud_formation_type_output(arn: Optional[pulumi.Input[Optional[str]]] = __args__['type'] = type __args__['typeName'] = type_name __args__['versionId'] = version_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudformation/getCloudFormationType:getCloudFormationType', __args__, opts=opts, typ=GetCloudFormationTypeResult) return __ret__.apply(lambda __response__: GetCloudFormationTypeResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/cloudformation/get_export.py b/sdk/python/pulumi_aws/cloudformation/get_export.py index 814be72cd78..ce6d8f8f203 100644 --- a/sdk/python/pulumi_aws/cloudformation/get_export.py +++ b/sdk/python/pulumi_aws/cloudformation/get_export.py @@ -117,7 +117,7 @@ def get_export(name: Optional[str] = None, name=pulumi.get(__ret__, 'name'), value=pulumi.get(__ret__, 'value')) def get_export_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetExportResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetExportResult]: """ The CloudFormation Export data source allows access to stack exports specified in the [Output](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) section of the Cloudformation Template using the optional Export Property. @@ -142,7 +142,7 @@ def get_export_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudformation/getExport:getExport', __args__, opts=opts, typ=GetExportResult) return __ret__.apply(lambda __response__: GetExportResult( exporting_stack_id=pulumi.get(__response__, 'exporting_stack_id'), diff --git a/sdk/python/pulumi_aws/cloudformation/get_stack.py b/sdk/python/pulumi_aws/cloudformation/get_stack.py index a9709aa62f6..e6af337e4a2 100644 --- a/sdk/python/pulumi_aws/cloudformation/get_stack.py +++ b/sdk/python/pulumi_aws/cloudformation/get_stack.py @@ -226,7 +226,7 @@ def get_stack(name: Optional[str] = None, timeout_in_minutes=pulumi.get(__ret__, 'timeout_in_minutes')) def get_stack_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetStackResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetStackResult]: """ The CloudFormation Stack data source allows access to stack outputs and other useful data including the template body. @@ -254,7 +254,7 @@ def get_stack_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudformation/getStack:getStack', __args__, opts=opts, typ=GetStackResult) return __ret__.apply(lambda __response__: GetStackResult( capabilities=pulumi.get(__response__, 'capabilities'), diff --git a/sdk/python/pulumi_aws/cloudfront/get_cache_policy.py b/sdk/python/pulumi_aws/cloudfront/get_cache_policy.py index 7e1bd524dae..6e7f59606cb 100644 --- a/sdk/python/pulumi_aws/cloudfront/get_cache_policy.py +++ b/sdk/python/pulumi_aws/cloudfront/get_cache_policy.py @@ -177,7 +177,7 @@ def get_cache_policy(id: Optional[str] = None, parameters_in_cache_key_and_forwarded_to_origins=pulumi.get(__ret__, 'parameters_in_cache_key_and_forwarded_to_origins')) def get_cache_policy_output(id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCachePolicyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCachePolicyResult]: """ Use this data source to retrieve information about a CloudFront cache policy. @@ -210,7 +210,7 @@ def get_cache_policy_output(id: Optional[pulumi.Input[Optional[str]]] = None, __args__ = dict() __args__['id'] = id __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudfront/getCachePolicy:getCachePolicy', __args__, opts=opts, typ=GetCachePolicyResult) return __ret__.apply(lambda __response__: GetCachePolicyResult( comment=pulumi.get(__response__, 'comment'), diff --git a/sdk/python/pulumi_aws/cloudfront/get_distribution.py b/sdk/python/pulumi_aws/cloudfront/get_distribution.py index a6ecc3c7e46..001afc91f02 100644 --- a/sdk/python/pulumi_aws/cloudfront/get_distribution.py +++ b/sdk/python/pulumi_aws/cloudfront/get_distribution.py @@ -221,7 +221,7 @@ def get_distribution(id: Optional[str] = None, web_acl_id=pulumi.get(__ret__, 'web_acl_id')) def get_distribution_output(id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDistributionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDistributionResult]: """ Use this data source to retrieve information about a CloudFront distribution. @@ -240,7 +240,7 @@ def get_distribution_output(id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['id'] = id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudfront/getDistribution:getDistribution', __args__, opts=opts, typ=GetDistributionResult) return __ret__.apply(lambda __response__: GetDistributionResult( aliases=pulumi.get(__response__, 'aliases'), diff --git a/sdk/python/pulumi_aws/cloudfront/get_function.py b/sdk/python/pulumi_aws/cloudfront/get_function.py index 5b0a3f31527..9b7f0f53866 100644 --- a/sdk/python/pulumi_aws/cloudfront/get_function.py +++ b/sdk/python/pulumi_aws/cloudfront/get_function.py @@ -204,7 +204,7 @@ def get_function(name: Optional[str] = None, status=pulumi.get(__ret__, 'status')) def get_function_output(name: Optional[pulumi.Input[str]] = None, stage: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFunctionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFunctionResult]: """ Provides information about a CloudFront Function. @@ -226,7 +226,7 @@ def get_function_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['stage'] = stage - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudfront/getFunction:getFunction', __args__, opts=opts, typ=GetFunctionResult) return __ret__.apply(lambda __response__: GetFunctionResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/cloudfront/get_log_delivery_canonical_user_id.py b/sdk/python/pulumi_aws/cloudfront/get_log_delivery_canonical_user_id.py index 158d5345b20..2af9f6cc5a3 100644 --- a/sdk/python/pulumi_aws/cloudfront/get_log_delivery_canonical_user_id.py +++ b/sdk/python/pulumi_aws/cloudfront/get_log_delivery_canonical_user_id.py @@ -107,7 +107,7 @@ def get_log_delivery_canonical_user_id(region: Optional[str] = None, id=pulumi.get(__ret__, 'id'), region=pulumi.get(__ret__, 'region')) def get_log_delivery_canonical_user_id_output(region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLogDeliveryCanonicalUserIdResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLogDeliveryCanonicalUserIdResult]: """ The CloudFront Log Delivery Canonical User ID data source allows access to the [canonical user ID](http://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) of the AWS `awslogsdelivery` account for CloudFront bucket logging. See the [Amazon CloudFront Developer Guide](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) for more information. @@ -148,7 +148,7 @@ def get_log_delivery_canonical_user_id_output(region: Optional[pulumi.Input[Opti """ __args__ = dict() __args__['region'] = region - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudfront/getLogDeliveryCanonicalUserId:getLogDeliveryCanonicalUserId', __args__, opts=opts, typ=GetLogDeliveryCanonicalUserIdResult) return __ret__.apply(lambda __response__: GetLogDeliveryCanonicalUserIdResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/cloudfront/get_origin_access_control.py b/sdk/python/pulumi_aws/cloudfront/get_origin_access_control.py index e4492b61e19..0905fd3fbfc 100644 --- a/sdk/python/pulumi_aws/cloudfront/get_origin_access_control.py +++ b/sdk/python/pulumi_aws/cloudfront/get_origin_access_control.py @@ -151,7 +151,7 @@ def get_origin_access_control(id: Optional[str] = None, signing_behavior=pulumi.get(__ret__, 'signing_behavior'), signing_protocol=pulumi.get(__ret__, 'signing_protocol')) def get_origin_access_control_output(id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOriginAccessControlResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOriginAccessControlResult]: """ Use this data source to retrieve information for an Amazon CloudFront origin access control config. @@ -171,7 +171,7 @@ def get_origin_access_control_output(id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['id'] = id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudfront/getOriginAccessControl:getOriginAccessControl', __args__, opts=opts, typ=GetOriginAccessControlResult) return __ret__.apply(lambda __response__: GetOriginAccessControlResult( description=pulumi.get(__response__, 'description'), diff --git a/sdk/python/pulumi_aws/cloudfront/get_origin_access_identities.py b/sdk/python/pulumi_aws/cloudfront/get_origin_access_identities.py index 33f4b70cf8b..c0287af5ec8 100644 --- a/sdk/python/pulumi_aws/cloudfront/get_origin_access_identities.py +++ b/sdk/python/pulumi_aws/cloudfront/get_origin_access_identities.py @@ -139,7 +139,7 @@ def get_origin_access_identities(comments: Optional[Sequence[str]] = None, ids=pulumi.get(__ret__, 'ids'), s3_canonical_user_ids=pulumi.get(__ret__, 's3_canonical_user_ids')) def get_origin_access_identities_output(comments: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOriginAccessIdentitiesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOriginAccessIdentitiesResult]: """ Use this data source to get ARNs, ids and S3 canonical user IDs of Amazon CloudFront origin access identities. @@ -173,7 +173,7 @@ def get_origin_access_identities_output(comments: Optional[pulumi.Input[Optional """ __args__ = dict() __args__['comments'] = comments - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities', __args__, opts=opts, typ=GetOriginAccessIdentitiesResult) return __ret__.apply(lambda __response__: GetOriginAccessIdentitiesResult( comments=pulumi.get(__response__, 'comments'), diff --git a/sdk/python/pulumi_aws/cloudfront/get_origin_access_identity.py b/sdk/python/pulumi_aws/cloudfront/get_origin_access_identity.py index d38468b7e5f..eb9485ef37e 100644 --- a/sdk/python/pulumi_aws/cloudfront/get_origin_access_identity.py +++ b/sdk/python/pulumi_aws/cloudfront/get_origin_access_identity.py @@ -158,7 +158,7 @@ def get_origin_access_identity(id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), s3_canonical_user_id=pulumi.get(__ret__, 's3_canonical_user_id')) def get_origin_access_identity_output(id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOriginAccessIdentityResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOriginAccessIdentityResult]: """ Use this data source to retrieve information for an Amazon CloudFront origin access identity. @@ -178,7 +178,7 @@ def get_origin_access_identity_output(id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['id'] = id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity', __args__, opts=opts, typ=GetOriginAccessIdentityResult) return __ret__.apply(lambda __response__: GetOriginAccessIdentityResult( caller_reference=pulumi.get(__response__, 'caller_reference'), diff --git a/sdk/python/pulumi_aws/cloudfront/get_origin_request_policy.py b/sdk/python/pulumi_aws/cloudfront/get_origin_request_policy.py index 433381a624c..7563cee1964 100644 --- a/sdk/python/pulumi_aws/cloudfront/get_origin_request_policy.py +++ b/sdk/python/pulumi_aws/cloudfront/get_origin_request_policy.py @@ -162,7 +162,7 @@ def get_origin_request_policy(id: Optional[str] = None, query_strings_configs=pulumi.get(__ret__, 'query_strings_configs')) def get_origin_request_policy_output(id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOriginRequestPolicyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOriginRequestPolicyResult]: """ ## Example Usage @@ -193,7 +193,7 @@ def get_origin_request_policy_output(id: Optional[pulumi.Input[Optional[str]]] = __args__ = dict() __args__['id'] = id __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudfront/getOriginRequestPolicy:getOriginRequestPolicy', __args__, opts=opts, typ=GetOriginRequestPolicyResult) return __ret__.apply(lambda __response__: GetOriginRequestPolicyResult( comment=pulumi.get(__response__, 'comment'), diff --git a/sdk/python/pulumi_aws/cloudfront/get_realtime_log_config.py b/sdk/python/pulumi_aws/cloudfront/get_realtime_log_config.py index 43fae9b1e20..a7875673db5 100644 --- a/sdk/python/pulumi_aws/cloudfront/get_realtime_log_config.py +++ b/sdk/python/pulumi_aws/cloudfront/get_realtime_log_config.py @@ -137,7 +137,7 @@ def get_realtime_log_config(name: Optional[str] = None, name=pulumi.get(__ret__, 'name'), sampling_rate=pulumi.get(__ret__, 'sampling_rate')) def get_realtime_log_config_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRealtimeLogConfigResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRealtimeLogConfigResult]: """ Provides a CloudFront real-time log configuration resource. @@ -155,7 +155,7 @@ def get_realtime_log_config_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudfront/getRealtimeLogConfig:getRealtimeLogConfig', __args__, opts=opts, typ=GetRealtimeLogConfigResult) return __ret__.apply(lambda __response__: GetRealtimeLogConfigResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/cloudfront/get_response_headers_policy.py b/sdk/python/pulumi_aws/cloudfront/get_response_headers_policy.py index 4cc157ebf4f..68669dc0c61 100644 --- a/sdk/python/pulumi_aws/cloudfront/get_response_headers_policy.py +++ b/sdk/python/pulumi_aws/cloudfront/get_response_headers_policy.py @@ -190,7 +190,7 @@ def get_response_headers_policy(id: Optional[str] = None, server_timing_headers_configs=pulumi.get(__ret__, 'server_timing_headers_configs')) def get_response_headers_policy_output(id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResponseHeadersPolicyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResponseHeadersPolicyResult]: """ Use this data source to retrieve information about a CloudFront cache policy. @@ -223,7 +223,7 @@ def get_response_headers_policy_output(id: Optional[pulumi.Input[Optional[str]]] __args__ = dict() __args__['id'] = id __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudfront/getResponseHeadersPolicy:getResponseHeadersPolicy', __args__, opts=opts, typ=GetResponseHeadersPolicyResult) return __ret__.apply(lambda __response__: GetResponseHeadersPolicyResult( comment=pulumi.get(__response__, 'comment'), diff --git a/sdk/python/pulumi_aws/cloudhsmv2/get_cluster.py b/sdk/python/pulumi_aws/cloudhsmv2/get_cluster.py index d96a116b26a..e320d37ee37 100644 --- a/sdk/python/pulumi_aws/cloudhsmv2/get_cluster.py +++ b/sdk/python/pulumi_aws/cloudhsmv2/get_cluster.py @@ -151,7 +151,7 @@ def get_cluster(cluster_id: Optional[str] = None, vpc_id=pulumi.get(__ret__, 'vpc_id')) def get_cluster_output(cluster_id: Optional[pulumi.Input[str]] = None, cluster_state: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetClusterResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterResult]: """ Use this data source to get information about a CloudHSM v2 cluster @@ -171,7 +171,7 @@ def get_cluster_output(cluster_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['clusterId'] = cluster_id __args__['clusterState'] = cluster_state - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudhsmv2/getCluster:getCluster', __args__, opts=opts, typ=GetClusterResult) return __ret__.apply(lambda __response__: GetClusterResult( cluster_certificates=pulumi.get(__response__, 'cluster_certificates'), diff --git a/sdk/python/pulumi_aws/cloudtrail/get_service_account.py b/sdk/python/pulumi_aws/cloudtrail/get_service_account.py index 5facaa56f9e..394d7f8d4d6 100644 --- a/sdk/python/pulumi_aws/cloudtrail/get_service_account.py +++ b/sdk/python/pulumi_aws/cloudtrail/get_service_account.py @@ -133,7 +133,7 @@ def get_service_account(region: Optional[str] = None, id=pulumi.get(__ret__, 'id'), region=pulumi.get(__ret__, 'region')) def get_service_account_output(region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServiceAccountResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServiceAccountResult]: """ Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html) in a given region for the purpose of allowing CloudTrail to store trail data in S3. @@ -187,7 +187,7 @@ def get_service_account_output(region: Optional[pulumi.Input[Optional[str]]] = N """ __args__ = dict() __args__['region'] = region - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudtrail/getServiceAccount:getServiceAccount', __args__, opts=opts, typ=GetServiceAccountResult) return __ret__.apply(lambda __response__: GetServiceAccountResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/cloudwatch/get_event_bus.py b/sdk/python/pulumi_aws/cloudwatch/get_event_bus.py index 4a37e57d613..a0487a11470 100644 --- a/sdk/python/pulumi_aws/cloudwatch/get_event_bus.py +++ b/sdk/python/pulumi_aws/cloudwatch/get_event_bus.py @@ -125,7 +125,7 @@ def get_event_bus(name: Optional[str] = None, kms_key_identifier=pulumi.get(__ret__, 'kms_key_identifier'), name=pulumi.get(__ret__, 'name')) def get_event_bus_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEventBusResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEventBusResult]: """ This data source can be used to fetch information about a specific EventBridge event bus. Use this data source to compute the ARN of @@ -145,7 +145,7 @@ def get_event_bus_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudwatch/getEventBus:getEventBus', __args__, opts=opts, typ=GetEventBusResult) return __ret__.apply(lambda __response__: GetEventBusResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/cloudwatch/get_event_connection.py b/sdk/python/pulumi_aws/cloudwatch/get_event_connection.py index fca9405aa98..9c3df42d0bf 100644 --- a/sdk/python/pulumi_aws/cloudwatch/get_event_connection.py +++ b/sdk/python/pulumi_aws/cloudwatch/get_event_connection.py @@ -128,7 +128,7 @@ def get_event_connection(name: Optional[str] = None, name=pulumi.get(__ret__, 'name'), secret_arn=pulumi.get(__ret__, 'secret_arn')) def get_event_connection_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEventConnectionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEventConnectionResult]: """ Use this data source to retrieve information about an EventBridge connection. @@ -148,7 +148,7 @@ def get_event_connection_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudwatch/getEventConnection:getEventConnection', __args__, opts=opts, typ=GetEventConnectionResult) return __ret__.apply(lambda __response__: GetEventConnectionResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/cloudwatch/get_event_source.py b/sdk/python/pulumi_aws/cloudwatch/get_event_source.py index 69f6e875094..28d80059c39 100644 --- a/sdk/python/pulumi_aws/cloudwatch/get_event_source.py +++ b/sdk/python/pulumi_aws/cloudwatch/get_event_source.py @@ -138,7 +138,7 @@ def get_event_source(name_prefix: Optional[str] = None, name_prefix=pulumi.get(__ret__, 'name_prefix'), state=pulumi.get(__ret__, 'state')) def get_event_source_output(name_prefix: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEventSourceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEventSourceResult]: """ Use this data source to get information about an EventBridge Partner Event Source. This data source will only return one partner event source. An error will be returned if multiple sources match the same name prefix. @@ -158,7 +158,7 @@ def get_event_source_output(name_prefix: Optional[pulumi.Input[Optional[str]]] = """ __args__ = dict() __args__['namePrefix'] = name_prefix - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudwatch/getEventSource:getEventSource', __args__, opts=opts, typ=GetEventSourceResult) return __ret__.apply(lambda __response__: GetEventSourceResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/cloudwatch/get_log_data_protection_policy_document.py b/sdk/python/pulumi_aws/cloudwatch/get_log_data_protection_policy_document.py index 5b6d3361a29..e689789788d 100644 --- a/sdk/python/pulumi_aws/cloudwatch/get_log_data_protection_policy_document.py +++ b/sdk/python/pulumi_aws/cloudwatch/get_log_data_protection_policy_document.py @@ -184,7 +184,7 @@ def get_log_data_protection_policy_document_output(description: Optional[pulumi. name: Optional[pulumi.Input[str]] = None, statements: Optional[pulumi.Input[Sequence[Union['GetLogDataProtectionPolicyDocumentStatementArgs', 'GetLogDataProtectionPolicyDocumentStatementArgsDict']]]] = None, version: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLogDataProtectionPolicyDocumentResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLogDataProtectionPolicyDocumentResult]: """ Generates a CloudWatch Log Group Data Protection Policy document in JSON format for use with the `cloudwatch.LogDataProtectionPolicy` resource. @@ -251,7 +251,7 @@ def get_log_data_protection_policy_document_output(description: Optional[pulumi. __args__['name'] = name __args__['statements'] = statements __args__['version'] = version - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudwatch/getLogDataProtectionPolicyDocument:getLogDataProtectionPolicyDocument', __args__, opts=opts, typ=GetLogDataProtectionPolicyDocumentResult) return __ret__.apply(lambda __response__: GetLogDataProtectionPolicyDocumentResult( description=pulumi.get(__response__, 'description'), diff --git a/sdk/python/pulumi_aws/cloudwatch/get_log_group.py b/sdk/python/pulumi_aws/cloudwatch/get_log_group.py index 4a6035b6fba..47312f9cd60 100644 --- a/sdk/python/pulumi_aws/cloudwatch/get_log_group.py +++ b/sdk/python/pulumi_aws/cloudwatch/get_log_group.py @@ -166,7 +166,7 @@ def get_log_group(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_log_group_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLogGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLogGroupResult]: """ Use this data source to get information about an AWS Cloudwatch Log Group @@ -186,7 +186,7 @@ def get_log_group_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudwatch/getLogGroup:getLogGroup', __args__, opts=opts, typ=GetLogGroupResult) return __ret__.apply(lambda __response__: GetLogGroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/cloudwatch/get_log_groups.py b/sdk/python/pulumi_aws/cloudwatch/get_log_groups.py index db9c5d208b2..8562609fa12 100644 --- a/sdk/python/pulumi_aws/cloudwatch/get_log_groups.py +++ b/sdk/python/pulumi_aws/cloudwatch/get_log_groups.py @@ -110,7 +110,7 @@ def get_log_groups(log_group_name_prefix: Optional[str] = None, log_group_name_prefix=pulumi.get(__ret__, 'log_group_name_prefix'), log_group_names=pulumi.get(__ret__, 'log_group_names')) def get_log_groups_output(log_group_name_prefix: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLogGroupsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLogGroupsResult]: """ Use this data source to get a list of AWS Cloudwatch Log Groups @@ -128,7 +128,7 @@ def get_log_groups_output(log_group_name_prefix: Optional[pulumi.Input[Optional[ """ __args__ = dict() __args__['logGroupNamePrefix'] = log_group_name_prefix - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cloudwatch/getLogGroups:getLogGroups', __args__, opts=opts, typ=GetLogGroupsResult) return __ret__.apply(lambda __response__: GetLogGroupsResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/codeartifact/get_authorization_token.py b/sdk/python/pulumi_aws/codeartifact/get_authorization_token.py index 2cc4a7606c1..ff74b088c17 100644 --- a/sdk/python/pulumi_aws/codeartifact/get_authorization_token.py +++ b/sdk/python/pulumi_aws/codeartifact/get_authorization_token.py @@ -138,7 +138,7 @@ def get_authorization_token(domain: Optional[str] = None, def get_authorization_token_output(domain: Optional[pulumi.Input[str]] = None, domain_owner: Optional[pulumi.Input[Optional[str]]] = None, duration_seconds: Optional[pulumi.Input[Optional[int]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAuthorizationTokenResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAuthorizationTokenResult]: """ The CodeArtifact Authorization Token data source generates a temporary authentication token for accessing repositories in a CodeArtifact domain. @@ -160,7 +160,7 @@ def get_authorization_token_output(domain: Optional[pulumi.Input[str]] = None, __args__['domain'] = domain __args__['domainOwner'] = domain_owner __args__['durationSeconds'] = duration_seconds - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:codeartifact/getAuthorizationToken:getAuthorizationToken', __args__, opts=opts, typ=GetAuthorizationTokenResult) return __ret__.apply(lambda __response__: GetAuthorizationTokenResult( authorization_token=pulumi.get(__response__, 'authorization_token'), diff --git a/sdk/python/pulumi_aws/codeartifact/get_repository_endpoint.py b/sdk/python/pulumi_aws/codeartifact/get_repository_endpoint.py index 87a059551ab..2a23f3bb5fb 100644 --- a/sdk/python/pulumi_aws/codeartifact/get_repository_endpoint.py +++ b/sdk/python/pulumi_aws/codeartifact/get_repository_endpoint.py @@ -141,7 +141,7 @@ def get_repository_endpoint_output(domain: Optional[pulumi.Input[str]] = None, domain_owner: Optional[pulumi.Input[Optional[str]]] = None, format: Optional[pulumi.Input[str]] = None, repository: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRepositoryEndpointResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRepositoryEndpointResult]: """ The CodeArtifact Repository Endpoint data source returns the endpoint of a repository for a specific package format. @@ -167,7 +167,7 @@ def get_repository_endpoint_output(domain: Optional[pulumi.Input[str]] = None, __args__['domainOwner'] = domain_owner __args__['format'] = format __args__['repository'] = repository - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:codeartifact/getRepositoryEndpoint:getRepositoryEndpoint', __args__, opts=opts, typ=GetRepositoryEndpointResult) return __ret__.apply(lambda __response__: GetRepositoryEndpointResult( domain=pulumi.get(__response__, 'domain'), diff --git a/sdk/python/pulumi_aws/codebuild/get_fleet.py b/sdk/python/pulumi_aws/codebuild/get_fleet.py index 57334d65820..f61d0cee847 100644 --- a/sdk/python/pulumi_aws/codebuild/get_fleet.py +++ b/sdk/python/pulumi_aws/codebuild/get_fleet.py @@ -281,7 +281,7 @@ def get_fleet(name: Optional[str] = None, vpc_configs=pulumi.get(__ret__, 'vpc_configs')) def get_fleet_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFleetResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFleetResult]: """ Retrieve information about an CodeBuild Fleet. @@ -324,7 +324,7 @@ def get_fleet_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:codebuild/getFleet:getFleet', __args__, opts=opts, typ=GetFleetResult) return __ret__.apply(lambda __response__: GetFleetResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/codecatalyst/get_dev_environment.py b/sdk/python/pulumi_aws/codecatalyst/get_dev_environment.py index e3ea2386aca..1435a4cb0de 100644 --- a/sdk/python/pulumi_aws/codecatalyst/get_dev_environment.py +++ b/sdk/python/pulumi_aws/codecatalyst/get_dev_environment.py @@ -273,7 +273,7 @@ def get_dev_environment_output(alias: Optional[pulumi.Input[Optional[str]]] = No repositories: Optional[pulumi.Input[Optional[Sequence[Union['GetDevEnvironmentRepositoryArgs', 'GetDevEnvironmentRepositoryArgsDict']]]]] = None, space_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDevEnvironmentResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDevEnvironmentResult]: """ Data source for managing an AWS CodeCatalyst Dev Environment. @@ -306,7 +306,7 @@ def get_dev_environment_output(alias: Optional[pulumi.Input[Optional[str]]] = No __args__['repositories'] = repositories __args__['spaceName'] = space_name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:codecatalyst/getDevEnvironment:getDevEnvironment', __args__, opts=opts, typ=GetDevEnvironmentResult) return __ret__.apply(lambda __response__: GetDevEnvironmentResult( alias=pulumi.get(__response__, 'alias'), diff --git a/sdk/python/pulumi_aws/codecommit/get_approval_rule_template.py b/sdk/python/pulumi_aws/codecommit/get_approval_rule_template.py index cfa4c5f2b5e..d7a0c1f4294 100644 --- a/sdk/python/pulumi_aws/codecommit/get_approval_rule_template.py +++ b/sdk/python/pulumi_aws/codecommit/get_approval_rule_template.py @@ -175,7 +175,7 @@ def get_approval_rule_template(name: Optional[str] = None, name=pulumi.get(__ret__, 'name'), rule_content_sha256=pulumi.get(__ret__, 'rule_content_sha256')) def get_approval_rule_template_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetApprovalRuleTemplateResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApprovalRuleTemplateResult]: """ Provides details about a specific CodeCommit Approval Rule Template. @@ -193,7 +193,7 @@ def get_approval_rule_template_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:codecommit/getApprovalRuleTemplate:getApprovalRuleTemplate', __args__, opts=opts, typ=GetApprovalRuleTemplateResult) return __ret__.apply(lambda __response__: GetApprovalRuleTemplateResult( approval_rule_template_id=pulumi.get(__response__, 'approval_rule_template_id'), diff --git a/sdk/python/pulumi_aws/codecommit/get_repository.py b/sdk/python/pulumi_aws/codecommit/get_repository.py index 1adecfd2412..c32b04cc2bb 100644 --- a/sdk/python/pulumi_aws/codecommit/get_repository.py +++ b/sdk/python/pulumi_aws/codecommit/get_repository.py @@ -149,7 +149,7 @@ def get_repository(repository_name: Optional[str] = None, repository_id=pulumi.get(__ret__, 'repository_id'), repository_name=pulumi.get(__ret__, 'repository_name')) def get_repository_output(repository_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRepositoryResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRepositoryResult]: """ The CodeCommit Repository data source allows the ARN, Repository ID, Repository URL for HTTP and Repository URL for SSH to be retrieved for an CodeCommit repository. @@ -167,7 +167,7 @@ def get_repository_output(repository_name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['repositoryName'] = repository_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:codecommit/getRepository:getRepository', __args__, opts=opts, typ=GetRepositoryResult) return __ret__.apply(lambda __response__: GetRepositoryResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/codeguruprofiler/get_profiling_group.py b/sdk/python/pulumi_aws/codeguruprofiler/get_profiling_group.py index 7d40974d156..5d8e193d4b8 100644 --- a/sdk/python/pulumi_aws/codeguruprofiler/get_profiling_group.py +++ b/sdk/python/pulumi_aws/codeguruprofiler/get_profiling_group.py @@ -175,7 +175,7 @@ def get_profiling_group(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags'), updated_at=pulumi.get(__ret__, 'updated_at')) def get_profiling_group_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProfilingGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProfilingGroupResult]: """ Data source for managing an AWS CodeGuru Profiler Profiling Group. @@ -195,7 +195,7 @@ def get_profiling_group_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:codeguruprofiler/getProfilingGroup:getProfilingGroup', __args__, opts=opts, typ=GetProfilingGroupResult) return __ret__.apply(lambda __response__: GetProfilingGroupResult( agent_orchestration_configs=pulumi.get(__response__, 'agent_orchestration_configs'), diff --git a/sdk/python/pulumi_aws/codestarconnections/get_connection.py b/sdk/python/pulumi_aws/codestarconnections/get_connection.py index ac8b15c6d3d..e53eec0aeeb 100644 --- a/sdk/python/pulumi_aws/codestarconnections/get_connection.py +++ b/sdk/python/pulumi_aws/codestarconnections/get_connection.py @@ -170,7 +170,7 @@ def get_connection(arn: Optional[str] = None, def get_connection_output(arn: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConnectionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConnectionResult]: """ Provides details about CodeStar Connection. @@ -205,7 +205,7 @@ def get_connection_output(arn: Optional[pulumi.Input[Optional[str]]] = None, __args__['arn'] = arn __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:codestarconnections/getConnection:getConnection', __args__, opts=opts, typ=GetConnectionResult) return __ret__.apply(lambda __response__: GetConnectionResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/cognito/get_identity_pool.py b/sdk/python/pulumi_aws/cognito/get_identity_pool.py index 9d6c5aefc45..a01e7d66de8 100644 --- a/sdk/python/pulumi_aws/cognito/get_identity_pool.py +++ b/sdk/python/pulumi_aws/cognito/get_identity_pool.py @@ -208,7 +208,7 @@ def get_identity_pool(identity_pool_name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_identity_pool_output(identity_pool_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIdentityPoolResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdentityPoolResult]: """ Data source for managing an AWS Cognito Identity Pool. @@ -230,7 +230,7 @@ def get_identity_pool_output(identity_pool_name: Optional[pulumi.Input[str]] = N __args__ = dict() __args__['identityPoolName'] = identity_pool_name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cognito/getIdentityPool:getIdentityPool', __args__, opts=opts, typ=GetIdentityPoolResult) return __ret__.apply(lambda __response__: GetIdentityPoolResult( allow_classic_flow=pulumi.get(__response__, 'allow_classic_flow'), diff --git a/sdk/python/pulumi_aws/cognito/get_user_group.py b/sdk/python/pulumi_aws/cognito/get_user_group.py index 487e3a0e8a0..08bf2be9873 100644 --- a/sdk/python/pulumi_aws/cognito/get_user_group.py +++ b/sdk/python/pulumi_aws/cognito/get_user_group.py @@ -140,7 +140,7 @@ def get_user_group(name: Optional[str] = None, user_pool_id=pulumi.get(__ret__, 'user_pool_id')) def get_user_group_output(name: Optional[pulumi.Input[str]] = None, user_pool_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUserGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserGroupResult]: """ Data source for managing an AWS Cognito IDP (Identity Provider) User Group. @@ -163,7 +163,7 @@ def get_user_group_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['userPoolId'] = user_pool_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cognito/getUserGroup:getUserGroup', __args__, opts=opts, typ=GetUserGroupResult) return __ret__.apply(lambda __response__: GetUserGroupResult( description=pulumi.get(__response__, 'description'), diff --git a/sdk/python/pulumi_aws/cognito/get_user_groups.py b/sdk/python/pulumi_aws/cognito/get_user_groups.py index ff8f9ac5f33..e1f8f76f17b 100644 --- a/sdk/python/pulumi_aws/cognito/get_user_groups.py +++ b/sdk/python/pulumi_aws/cognito/get_user_groups.py @@ -100,7 +100,7 @@ def get_user_groups(user_pool_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), user_pool_id=pulumi.get(__ret__, 'user_pool_id')) def get_user_groups_output(user_pool_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUserGroupsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserGroupsResult]: """ Data source for managing AWS Cognito IDP (Identity Provider) User Groups. @@ -120,7 +120,7 @@ def get_user_groups_output(user_pool_id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['userPoolId'] = user_pool_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cognito/getUserGroups:getUserGroups', __args__, opts=opts, typ=GetUserGroupsResult) return __ret__.apply(lambda __response__: GetUserGroupsResult( groups=pulumi.get(__response__, 'groups'), diff --git a/sdk/python/pulumi_aws/cognito/get_user_pool.py b/sdk/python/pulumi_aws/cognito/get_user_pool.py index 67c5531d42b..892d58440ec 100644 --- a/sdk/python/pulumi_aws/cognito/get_user_pool.py +++ b/sdk/python/pulumi_aws/cognito/get_user_pool.py @@ -358,7 +358,7 @@ def get_user_pool(user_pool_id: Optional[str] = None, user_pool_tags=pulumi.get(__ret__, 'user_pool_tags'), username_attributes=pulumi.get(__ret__, 'username_attributes')) def get_user_pool_output(user_pool_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUserPoolResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserPoolResult]: """ Data source for managing an AWS Cognito User Pool. @@ -378,7 +378,7 @@ def get_user_pool_output(user_pool_id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['userPoolId'] = user_pool_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cognito/getUserPool:getUserPool', __args__, opts=opts, typ=GetUserPoolResult) return __ret__.apply(lambda __response__: GetUserPoolResult( account_recovery_settings=pulumi.get(__response__, 'account_recovery_settings'), diff --git a/sdk/python/pulumi_aws/cognito/get_user_pool_client.py b/sdk/python/pulumi_aws/cognito/get_user_pool_client.py index 7913fce50da..968895c8fc4 100644 --- a/sdk/python/pulumi_aws/cognito/get_user_pool_client.py +++ b/sdk/python/pulumi_aws/cognito/get_user_pool_client.py @@ -367,7 +367,7 @@ def get_user_pool_client(client_id: Optional[str] = None, write_attributes=pulumi.get(__ret__, 'write_attributes')) def get_user_pool_client_output(client_id: Optional[pulumi.Input[str]] = None, user_pool_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUserPoolClientResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserPoolClientResult]: """ Provides a Cognito User Pool Client resource. @@ -388,7 +388,7 @@ def get_user_pool_client_output(client_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['clientId'] = client_id __args__['userPoolId'] = user_pool_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cognito/getUserPoolClient:getUserPoolClient', __args__, opts=opts, typ=GetUserPoolClientResult) return __ret__.apply(lambda __response__: GetUserPoolClientResult( access_token_validity=pulumi.get(__response__, 'access_token_validity'), diff --git a/sdk/python/pulumi_aws/cognito/get_user_pool_clients.py b/sdk/python/pulumi_aws/cognito/get_user_pool_clients.py index f55c35b55c7..6997963e6e1 100644 --- a/sdk/python/pulumi_aws/cognito/get_user_pool_clients.py +++ b/sdk/python/pulumi_aws/cognito/get_user_pool_clients.py @@ -110,7 +110,7 @@ def get_user_pool_clients(user_pool_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), user_pool_id=pulumi.get(__ret__, 'user_pool_id')) def get_user_pool_clients_output(user_pool_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUserPoolClientsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserPoolClientsResult]: """ Use this data source to get a list of Cognito user pools clients for a Cognito IdP user pool. @@ -128,7 +128,7 @@ def get_user_pool_clients_output(user_pool_id: Optional[pulumi.Input[str]] = Non """ __args__ = dict() __args__['userPoolId'] = user_pool_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cognito/getUserPoolClients:getUserPoolClients', __args__, opts=opts, typ=GetUserPoolClientsResult) return __ret__.apply(lambda __response__: GetUserPoolClientsResult( client_ids=pulumi.get(__response__, 'client_ids'), diff --git a/sdk/python/pulumi_aws/cognito/get_user_pool_signing_certificate.py b/sdk/python/pulumi_aws/cognito/get_user_pool_signing_certificate.py index 0e80b0baa47..7efdd3b9f5f 100644 --- a/sdk/python/pulumi_aws/cognito/get_user_pool_signing_certificate.py +++ b/sdk/python/pulumi_aws/cognito/get_user_pool_signing_certificate.py @@ -97,7 +97,7 @@ def get_user_pool_signing_certificate(user_pool_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), user_pool_id=pulumi.get(__ret__, 'user_pool_id')) def get_user_pool_signing_certificate_output(user_pool_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUserPoolSigningCertificateResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserPoolSigningCertificateResult]: """ Use this data source to get the signing certificate for a Cognito IdP user pool. @@ -115,7 +115,7 @@ def get_user_pool_signing_certificate_output(user_pool_id: Optional[pulumi.Input """ __args__ = dict() __args__['userPoolId'] = user_pool_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cognito/getUserPoolSigningCertificate:getUserPoolSigningCertificate', __args__, opts=opts, typ=GetUserPoolSigningCertificateResult) return __ret__.apply(lambda __response__: GetUserPoolSigningCertificateResult( certificate=pulumi.get(__response__, 'certificate'), diff --git a/sdk/python/pulumi_aws/cognito/get_user_pools.py b/sdk/python/pulumi_aws/cognito/get_user_pools.py index b35d75cff02..79f2e7c520f 100644 --- a/sdk/python/pulumi_aws/cognito/get_user_pools.py +++ b/sdk/python/pulumi_aws/cognito/get_user_pools.py @@ -116,7 +116,7 @@ def get_user_pools(name: Optional[str] = None, ids=pulumi.get(__ret__, 'ids'), name=pulumi.get(__ret__, 'name')) def get_user_pools_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUserPoolsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserPoolsResult]: """ Use this data source to get a list of cognito user pools. @@ -140,7 +140,7 @@ def get_user_pools_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cognito/getUserPools:getUserPools', __args__, opts=opts, typ=GetUserPoolsResult) return __ret__.apply(lambda __response__: GetUserPoolsResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/connect/get_bot_association.py b/sdk/python/pulumi_aws/connect/get_bot_association.py index 4c29ab04bcd..d20a5995148 100644 --- a/sdk/python/pulumi_aws/connect/get_bot_association.py +++ b/sdk/python/pulumi_aws/connect/get_bot_association.py @@ -105,7 +105,7 @@ def get_bot_association(instance_id: Optional[str] = None, lex_bot=pulumi.get(__ret__, 'lex_bot')) def get_bot_association_output(instance_id: Optional[pulumi.Input[str]] = None, lex_bot: Optional[pulumi.Input[Union['GetBotAssociationLexBotArgs', 'GetBotAssociationLexBotArgsDict']]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBotAssociationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBotAssociationResult]: """ Provides details about a specific Lex (V1) Bot associated with an Amazon Connect instance. @@ -130,7 +130,7 @@ def get_bot_association_output(instance_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['instanceId'] = instance_id __args__['lexBot'] = lex_bot - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:connect/getBotAssociation:getBotAssociation', __args__, opts=opts, typ=GetBotAssociationResult) return __ret__.apply(lambda __response__: GetBotAssociationResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/connect/get_contact_flow.py b/sdk/python/pulumi_aws/connect/get_contact_flow.py index 4e7b07e5122..47c67cc8918 100644 --- a/sdk/python/pulumi_aws/connect/get_contact_flow.py +++ b/sdk/python/pulumi_aws/connect/get_contact_flow.py @@ -198,7 +198,7 @@ def get_contact_flow_output(contact_flow_id: Optional[pulumi.Input[Optional[str] name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, type: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetContactFlowResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetContactFlowResult]: """ Provides details about a specific Amazon Connect Contact Flow. @@ -237,7 +237,7 @@ def get_contact_flow_output(contact_flow_id: Optional[pulumi.Input[Optional[str] __args__['name'] = name __args__['tags'] = tags __args__['type'] = type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:connect/getContactFlow:getContactFlow', __args__, opts=opts, typ=GetContactFlowResult) return __ret__.apply(lambda __response__: GetContactFlowResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/connect/get_contact_flow_module.py b/sdk/python/pulumi_aws/connect/get_contact_flow_module.py index bd767bc0c02..91d346a14c7 100644 --- a/sdk/python/pulumi_aws/connect/get_contact_flow_module.py +++ b/sdk/python/pulumi_aws/connect/get_contact_flow_module.py @@ -207,7 +207,7 @@ def get_contact_flow_module_output(contact_flow_module_id: Optional[pulumi.Input instance_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetContactFlowModuleResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetContactFlowModuleResult]: """ Provides details about a specific Amazon Connect Contact Flow Module. @@ -244,7 +244,7 @@ def get_contact_flow_module_output(contact_flow_module_id: Optional[pulumi.Input __args__['instanceId'] = instance_id __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:connect/getContactFlowModule:getContactFlowModule', __args__, opts=opts, typ=GetContactFlowModuleResult) return __ret__.apply(lambda __response__: GetContactFlowModuleResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/connect/get_hours_of_operation.py b/sdk/python/pulumi_aws/connect/get_hours_of_operation.py index 87ff48fdcfd..eb779bdf328 100644 --- a/sdk/python/pulumi_aws/connect/get_hours_of_operation.py +++ b/sdk/python/pulumi_aws/connect/get_hours_of_operation.py @@ -204,7 +204,7 @@ def get_hours_of_operation_output(hours_of_operation_id: Optional[pulumi.Input[O instance_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetHoursOfOperationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetHoursOfOperationResult]: """ Provides details about a specific Amazon Connect Hours of Operation. @@ -241,7 +241,7 @@ def get_hours_of_operation_output(hours_of_operation_id: Optional[pulumi.Input[O __args__['instanceId'] = instance_id __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:connect/getHoursOfOperation:getHoursOfOperation', __args__, opts=opts, typ=GetHoursOfOperationResult) return __ret__.apply(lambda __response__: GetHoursOfOperationResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/connect/get_instance.py b/sdk/python/pulumi_aws/connect/get_instance.py index 45915d7239e..8c3b808e188 100644 --- a/sdk/python/pulumi_aws/connect/get_instance.py +++ b/sdk/python/pulumi_aws/connect/get_instance.py @@ -279,7 +279,7 @@ def get_instance(instance_alias: Optional[str] = None, def get_instance_output(instance_alias: Optional[pulumi.Input[Optional[str]]] = None, instance_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceResult]: """ Provides details about a specific Amazon Connect Instance. @@ -312,7 +312,7 @@ def get_instance_output(instance_alias: Optional[pulumi.Input[Optional[str]]] = __args__['instanceAlias'] = instance_alias __args__['instanceId'] = instance_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:connect/getInstance:getInstance', __args__, opts=opts, typ=GetInstanceResult) return __ret__.apply(lambda __response__: GetInstanceResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/connect/get_instance_storage_config.py b/sdk/python/pulumi_aws/connect/get_instance_storage_config.py index db1e76e7348..6ca54e781b4 100644 --- a/sdk/python/pulumi_aws/connect/get_instance_storage_config.py +++ b/sdk/python/pulumi_aws/connect/get_instance_storage_config.py @@ -128,7 +128,7 @@ def get_instance_storage_config(association_id: Optional[str] = None, def get_instance_storage_config_output(association_id: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, resource_type: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceStorageConfigResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceStorageConfigResult]: """ Provides details about a specific Amazon Connect Instance Storage Config. @@ -152,7 +152,7 @@ def get_instance_storage_config_output(association_id: Optional[pulumi.Input[str __args__['associationId'] = association_id __args__['instanceId'] = instance_id __args__['resourceType'] = resource_type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:connect/getInstanceStorageConfig:getInstanceStorageConfig', __args__, opts=opts, typ=GetInstanceStorageConfigResult) return __ret__.apply(lambda __response__: GetInstanceStorageConfigResult( association_id=pulumi.get(__response__, 'association_id'), diff --git a/sdk/python/pulumi_aws/connect/get_lambda_function_association.py b/sdk/python/pulumi_aws/connect/get_lambda_function_association.py index e66c97e7062..bf8d6da04a7 100644 --- a/sdk/python/pulumi_aws/connect/get_lambda_function_association.py +++ b/sdk/python/pulumi_aws/connect/get_lambda_function_association.py @@ -99,7 +99,7 @@ def get_lambda_function_association(function_arn: Optional[str] = None, instance_id=pulumi.get(__ret__, 'instance_id')) def get_lambda_function_association_output(function_arn: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLambdaFunctionAssociationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLambdaFunctionAssociationResult]: """ Provides details about a specific Connect Lambda Function Association. @@ -120,7 +120,7 @@ def get_lambda_function_association_output(function_arn: Optional[pulumi.Input[s __args__ = dict() __args__['functionArn'] = function_arn __args__['instanceId'] = instance_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation', __args__, opts=opts, typ=GetLambdaFunctionAssociationResult) return __ret__.apply(lambda __response__: GetLambdaFunctionAssociationResult( function_arn=pulumi.get(__response__, 'function_arn'), diff --git a/sdk/python/pulumi_aws/connect/get_prompt.py b/sdk/python/pulumi_aws/connect/get_prompt.py index 4128b4e0172..a7f9bb4dd70 100644 --- a/sdk/python/pulumi_aws/connect/get_prompt.py +++ b/sdk/python/pulumi_aws/connect/get_prompt.py @@ -127,7 +127,7 @@ def get_prompt(instance_id: Optional[str] = None, prompt_id=pulumi.get(__ret__, 'prompt_id')) def get_prompt_output(instance_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPromptResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPromptResult]: """ Provides details about a specific Amazon Connect Prompt. @@ -150,7 +150,7 @@ def get_prompt_output(instance_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['instanceId'] = instance_id __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:connect/getPrompt:getPrompt', __args__, opts=opts, typ=GetPromptResult) return __ret__.apply(lambda __response__: GetPromptResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/connect/get_queue.py b/sdk/python/pulumi_aws/connect/get_queue.py index 8c9d14be50f..58a7b8a9f9a 100644 --- a/sdk/python/pulumi_aws/connect/get_queue.py +++ b/sdk/python/pulumi_aws/connect/get_queue.py @@ -224,7 +224,7 @@ def get_queue_output(instance_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, queue_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetQueueResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetQueueResult]: """ Provides details about a specific Amazon Connect Queue. @@ -261,7 +261,7 @@ def get_queue_output(instance_id: Optional[pulumi.Input[str]] = None, __args__['name'] = name __args__['queueId'] = queue_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:connect/getQueue:getQueue', __args__, opts=opts, typ=GetQueueResult) return __ret__.apply(lambda __response__: GetQueueResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/connect/get_quick_connect.py b/sdk/python/pulumi_aws/connect/get_quick_connect.py index 1e252955253..d9e1d0ee159 100644 --- a/sdk/python/pulumi_aws/connect/get_quick_connect.py +++ b/sdk/python/pulumi_aws/connect/get_quick_connect.py @@ -185,7 +185,7 @@ def get_quick_connect_output(instance_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, quick_connect_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetQuickConnectResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetQuickConnectResult]: """ Provides details about a specific Amazon Connect Quick Connect. @@ -222,7 +222,7 @@ def get_quick_connect_output(instance_id: Optional[pulumi.Input[str]] = None, __args__['name'] = name __args__['quickConnectId'] = quick_connect_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:connect/getQuickConnect:getQuickConnect', __args__, opts=opts, typ=GetQuickConnectResult) return __ret__.apply(lambda __response__: GetQuickConnectResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/connect/get_routing_profile.py b/sdk/python/pulumi_aws/connect/get_routing_profile.py index ed55013293c..43e29654f6d 100644 --- a/sdk/python/pulumi_aws/connect/get_routing_profile.py +++ b/sdk/python/pulumi_aws/connect/get_routing_profile.py @@ -208,7 +208,7 @@ def get_routing_profile_output(instance_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, routing_profile_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRoutingProfileResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRoutingProfileResult]: """ Provides details about a specific Amazon Connect Routing Profile. @@ -245,7 +245,7 @@ def get_routing_profile_output(instance_id: Optional[pulumi.Input[str]] = None, __args__['name'] = name __args__['routingProfileId'] = routing_profile_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:connect/getRoutingProfile:getRoutingProfile', __args__, opts=opts, typ=GetRoutingProfileResult) return __ret__.apply(lambda __response__: GetRoutingProfileResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/connect/get_security_profile.py b/sdk/python/pulumi_aws/connect/get_security_profile.py index ba3c38022e3..9fb79a96f65 100644 --- a/sdk/python/pulumi_aws/connect/get_security_profile.py +++ b/sdk/python/pulumi_aws/connect/get_security_profile.py @@ -194,7 +194,7 @@ def get_security_profile_output(instance_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, security_profile_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecurityProfileResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecurityProfileResult]: """ Provides details about a specific Amazon Connect Security Profile. @@ -231,7 +231,7 @@ def get_security_profile_output(instance_id: Optional[pulumi.Input[str]] = None, __args__['name'] = name __args__['securityProfileId'] = security_profile_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:connect/getSecurityProfile:getSecurityProfile', __args__, opts=opts, typ=GetSecurityProfileResult) return __ret__.apply(lambda __response__: GetSecurityProfileResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/connect/get_user.py b/sdk/python/pulumi_aws/connect/get_user.py index 2f88afe925f..c9fdca0f8de 100644 --- a/sdk/python/pulumi_aws/connect/get_user.py +++ b/sdk/python/pulumi_aws/connect/get_user.py @@ -237,7 +237,7 @@ def get_user_output(instance_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, user_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUserResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserResult]: """ Provides details about a specific Amazon Connect User. @@ -274,7 +274,7 @@ def get_user_output(instance_id: Optional[pulumi.Input[str]] = None, __args__['name'] = name __args__['tags'] = tags __args__['userId'] = user_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:connect/getUser:getUser', __args__, opts=opts, typ=GetUserResult) return __ret__.apply(lambda __response__: GetUserResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/connect/get_user_hierarchy_group.py b/sdk/python/pulumi_aws/connect/get_user_hierarchy_group.py index 10927f3d29e..45f6e4b6232 100644 --- a/sdk/python/pulumi_aws/connect/get_user_hierarchy_group.py +++ b/sdk/python/pulumi_aws/connect/get_user_hierarchy_group.py @@ -185,7 +185,7 @@ def get_user_hierarchy_group_output(hierarchy_group_id: Optional[pulumi.Input[Op instance_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUserHierarchyGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserHierarchyGroupResult]: """ Provides details about a specific Amazon Connect User Hierarchy Group. @@ -222,7 +222,7 @@ def get_user_hierarchy_group_output(hierarchy_group_id: Optional[pulumi.Input[Op __args__['instanceId'] = instance_id __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:connect/getUserHierarchyGroup:getUserHierarchyGroup', __args__, opts=opts, typ=GetUserHierarchyGroupResult) return __ret__.apply(lambda __response__: GetUserHierarchyGroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/connect/get_user_hierarchy_structure.py b/sdk/python/pulumi_aws/connect/get_user_hierarchy_structure.py index a41dbaa3e07..f874010e8de 100644 --- a/sdk/python/pulumi_aws/connect/get_user_hierarchy_structure.py +++ b/sdk/python/pulumi_aws/connect/get_user_hierarchy_structure.py @@ -98,7 +98,7 @@ def get_user_hierarchy_structure(instance_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), instance_id=pulumi.get(__ret__, 'instance_id')) def get_user_hierarchy_structure_output(instance_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUserHierarchyStructureResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserHierarchyStructureResult]: """ Provides details about a specific Amazon Connect User Hierarchy Structure @@ -116,7 +116,7 @@ def get_user_hierarchy_structure_output(instance_id: Optional[pulumi.Input[str]] """ __args__ = dict() __args__['instanceId'] = instance_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:connect/getUserHierarchyStructure:getUserHierarchyStructure', __args__, opts=opts, typ=GetUserHierarchyStructureResult) return __ret__.apply(lambda __response__: GetUserHierarchyStructureResult( hierarchy_structures=pulumi.get(__response__, 'hierarchy_structures'), diff --git a/sdk/python/pulumi_aws/connect/get_vocabulary.py b/sdk/python/pulumi_aws/connect/get_vocabulary.py index 4d91d67439b..643a5dd9ed6 100644 --- a/sdk/python/pulumi_aws/connect/get_vocabulary.py +++ b/sdk/python/pulumi_aws/connect/get_vocabulary.py @@ -223,7 +223,7 @@ def get_vocabulary_output(instance_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, vocabulary_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVocabularyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVocabularyResult]: """ Provides details about a specific Amazon Connect Vocabulary. @@ -260,7 +260,7 @@ def get_vocabulary_output(instance_id: Optional[pulumi.Input[str]] = None, __args__['name'] = name __args__['tags'] = tags __args__['vocabularyId'] = vocabulary_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:connect/getVocabulary:getVocabulary', __args__, opts=opts, typ=GetVocabularyResult) return __ret__.apply(lambda __response__: GetVocabularyResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/controltower/get_controls.py b/sdk/python/pulumi_aws/controltower/get_controls.py index 02428737f00..fe5f5b0e499 100644 --- a/sdk/python/pulumi_aws/controltower/get_controls.py +++ b/sdk/python/pulumi_aws/controltower/get_controls.py @@ -99,7 +99,7 @@ def get_controls(target_identifier: Optional[str] = None, id=pulumi.get(__ret__, 'id'), target_identifier=pulumi.get(__ret__, 'target_identifier')) def get_controls_output(target_identifier: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetControlsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetControlsResult]: """ List of Control Tower controls applied to an OU. @@ -119,7 +119,7 @@ def get_controls_output(target_identifier: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['targetIdentifier'] = target_identifier - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:controltower/getControls:getControls', __args__, opts=opts, typ=GetControlsResult) return __ret__.apply(lambda __response__: GetControlsResult( enabled_controls=pulumi.get(__response__, 'enabled_controls'), diff --git a/sdk/python/pulumi_aws/costexplorer/get_cost_category.py b/sdk/python/pulumi_aws/costexplorer/get_cost_category.py index 01c26e5da97..a1860d566c2 100644 --- a/sdk/python/pulumi_aws/costexplorer/get_cost_category.py +++ b/sdk/python/pulumi_aws/costexplorer/get_cost_category.py @@ -190,7 +190,7 @@ def get_cost_category(cost_category_arn: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_cost_category_output(cost_category_arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCostCategoryResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCostCategoryResult]: """ Provides details about a specific CostExplorer Cost Category. @@ -210,7 +210,7 @@ def get_cost_category_output(cost_category_arn: Optional[pulumi.Input[str]] = No __args__ = dict() __args__['costCategoryArn'] = cost_category_arn __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:costexplorer/getCostCategory:getCostCategory', __args__, opts=opts, typ=GetCostCategoryResult) return __ret__.apply(lambda __response__: GetCostCategoryResult( cost_category_arn=pulumi.get(__response__, 'cost_category_arn'), diff --git a/sdk/python/pulumi_aws/costexplorer/get_tags.py b/sdk/python/pulumi_aws/costexplorer/get_tags.py index 70495e093a4..38f829b3971 100644 --- a/sdk/python/pulumi_aws/costexplorer/get_tags.py +++ b/sdk/python/pulumi_aws/costexplorer/get_tags.py @@ -160,7 +160,7 @@ def get_tags_output(filter: Optional[pulumi.Input[Optional[Union['GetTagsFilterA sort_bies: Optional[pulumi.Input[Optional[Sequence[Union['GetTagsSortByArgs', 'GetTagsSortByArgsDict']]]]] = None, tag_key: Optional[pulumi.Input[Optional[str]]] = None, time_period: Optional[pulumi.Input[Union['GetTagsTimePeriodArgs', 'GetTagsTimePeriodArgsDict']]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTagsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTagsResult]: """ Provides the available cost allocation tag keys and tag values for a specified period. @@ -191,7 +191,7 @@ def get_tags_output(filter: Optional[pulumi.Input[Optional[Union['GetTagsFilterA __args__['sortBies'] = sort_bies __args__['tagKey'] = tag_key __args__['timePeriod'] = time_period - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:costexplorer/getTags:getTags', __args__, opts=opts, typ=GetTagsResult) return __ret__.apply(lambda __response__: GetTagsResult( filter=pulumi.get(__response__, 'filter'), diff --git a/sdk/python/pulumi_aws/cur/get_report_definition.py b/sdk/python/pulumi_aws/cur/get_report_definition.py index 5b35f2f17e1..3613cb715f2 100644 --- a/sdk/python/pulumi_aws/cur/get_report_definition.py +++ b/sdk/python/pulumi_aws/cur/get_report_definition.py @@ -235,7 +235,7 @@ def get_report_definition(report_name: Optional[str] = None, time_unit=pulumi.get(__ret__, 'time_unit')) def get_report_definition_output(report_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetReportDefinitionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReportDefinitionResult]: """ Use this data source to get information on an AWS Cost and Usage Report Definition. @@ -259,7 +259,7 @@ def get_report_definition_output(report_name: Optional[pulumi.Input[str]] = None __args__ = dict() __args__['reportName'] = report_name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:cur/getReportDefinition:getReportDefinition', __args__, opts=opts, typ=GetReportDefinitionResult) return __ret__.apply(lambda __response__: GetReportDefinitionResult( additional_artifacts=pulumi.get(__response__, 'additional_artifacts'), diff --git a/sdk/python/pulumi_aws/datapipeline/get_pipeline.py b/sdk/python/pulumi_aws/datapipeline/get_pipeline.py index d38d551c521..5e7d00240d4 100644 --- a/sdk/python/pulumi_aws/datapipeline/get_pipeline.py +++ b/sdk/python/pulumi_aws/datapipeline/get_pipeline.py @@ -127,7 +127,7 @@ def get_pipeline(pipeline_id: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_pipeline_output(pipeline_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPipelineResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPipelineResult]: """ Provides details about a specific DataPipeline Pipeline. @@ -147,7 +147,7 @@ def get_pipeline_output(pipeline_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['pipelineId'] = pipeline_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:datapipeline/getPipeline:getPipeline', __args__, opts=opts, typ=GetPipelineResult) return __ret__.apply(lambda __response__: GetPipelineResult( description=pulumi.get(__response__, 'description'), diff --git a/sdk/python/pulumi_aws/datapipeline/get_pipeline_definition.py b/sdk/python/pulumi_aws/datapipeline/get_pipeline_definition.py index b254b73cf64..3be512cc861 100644 --- a/sdk/python/pulumi_aws/datapipeline/get_pipeline_definition.py +++ b/sdk/python/pulumi_aws/datapipeline/get_pipeline_definition.py @@ -129,7 +129,7 @@ def get_pipeline_definition(parameter_values: Optional[Sequence[Union['GetPipeli pipeline_objects=pulumi.get(__ret__, 'pipeline_objects')) def get_pipeline_definition_output(parameter_values: Optional[pulumi.Input[Optional[Sequence[Union['GetPipelineDefinitionParameterValueArgs', 'GetPipelineDefinitionParameterValueArgsDict']]]]] = None, pipeline_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPipelineDefinitionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPipelineDefinitionResult]: """ Provides details about a specific DataPipeline Pipeline Definition. @@ -149,7 +149,7 @@ def get_pipeline_definition_output(parameter_values: Optional[pulumi.Input[Optio __args__ = dict() __args__['parameterValues'] = parameter_values __args__['pipelineId'] = pipeline_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:datapipeline/getPipelineDefinition:getPipelineDefinition', __args__, opts=opts, typ=GetPipelineDefinitionResult) return __ret__.apply(lambda __response__: GetPipelineDefinitionResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/datazone/get_environment_blueprint.py b/sdk/python/pulumi_aws/datazone/get_environment_blueprint.py index b1b6a17b66d..262fd0ddfb7 100644 --- a/sdk/python/pulumi_aws/datazone/get_environment_blueprint.py +++ b/sdk/python/pulumi_aws/datazone/get_environment_blueprint.py @@ -145,7 +145,7 @@ def get_environment_blueprint(domain_id: Optional[str] = None, def get_environment_blueprint_output(domain_id: Optional[pulumi.Input[str]] = None, managed: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEnvironmentBlueprintResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEnvironmentBlueprintResult]: """ Data source for managing an AWS DataZone Environment Blueprint. @@ -174,7 +174,7 @@ def get_environment_blueprint_output(domain_id: Optional[pulumi.Input[str]] = No __args__['domainId'] = domain_id __args__['managed'] = managed __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:datazone/getEnvironmentBlueprint:getEnvironmentBlueprint', __args__, opts=opts, typ=GetEnvironmentBlueprintResult) return __ret__.apply(lambda __response__: GetEnvironmentBlueprintResult( blueprint_provider=pulumi.get(__response__, 'blueprint_provider'), diff --git a/sdk/python/pulumi_aws/devopsguru/get_notification_channel.py b/sdk/python/pulumi_aws/devopsguru/get_notification_channel.py index a405dd80169..d36ef3825e7 100644 --- a/sdk/python/pulumi_aws/devopsguru/get_notification_channel.py +++ b/sdk/python/pulumi_aws/devopsguru/get_notification_channel.py @@ -109,7 +109,7 @@ def get_notification_channel(filters: Optional[Sequence[Union['GetNotificationCh def get_notification_channel_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetNotificationChannelFilterArgs', 'GetNotificationChannelFilterArgsDict']]]]] = None, id: Optional[pulumi.Input[str]] = None, sns: Optional[pulumi.Input[Optional[Sequence[Union['GetNotificationChannelSnArgs', 'GetNotificationChannelSnArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNotificationChannelResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNotificationChannelResult]: """ Data source for managing an AWS DevOps Guru Notification Channel. @@ -133,7 +133,7 @@ def get_notification_channel_output(filters: Optional[pulumi.Input[Optional[Sequ __args__['filters'] = filters __args__['id'] = id __args__['sns'] = sns - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:devopsguru/getNotificationChannel:getNotificationChannel', __args__, opts=opts, typ=GetNotificationChannelResult) return __ret__.apply(lambda __response__: GetNotificationChannelResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/devopsguru/get_resource_collection.py b/sdk/python/pulumi_aws/devopsguru/get_resource_collection.py index 903ca25d2c2..f931dea4da4 100644 --- a/sdk/python/pulumi_aws/devopsguru/get_resource_collection.py +++ b/sdk/python/pulumi_aws/devopsguru/get_resource_collection.py @@ -122,7 +122,7 @@ def get_resource_collection(cloudformations: Optional[Sequence[Union['GetResourc def get_resource_collection_output(cloudformations: Optional[pulumi.Input[Optional[Sequence[Union['GetResourceCollectionCloudformationArgs', 'GetResourceCollectionCloudformationArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Sequence[Union['GetResourceCollectionTagArgs', 'GetResourceCollectionTagArgsDict']]]]] = None, type: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResourceCollectionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResourceCollectionResult]: """ Data source for managing an AWS DevOps Guru Resource Collection. @@ -146,7 +146,7 @@ def get_resource_collection_output(cloudformations: Optional[pulumi.Input[Option __args__['cloudformations'] = cloudformations __args__['tags'] = tags __args__['type'] = type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:devopsguru/getResourceCollection:getResourceCollection', __args__, opts=opts, typ=GetResourceCollectionResult) return __ret__.apply(lambda __response__: GetResourceCollectionResult( cloudformations=pulumi.get(__response__, 'cloudformations'), diff --git a/sdk/python/pulumi_aws/directconnect/get_connection.py b/sdk/python/pulumi_aws/directconnect/get_connection.py index 6df7e03eeaa..952850a1cfe 100644 --- a/sdk/python/pulumi_aws/directconnect/get_connection.py +++ b/sdk/python/pulumi_aws/directconnect/get_connection.py @@ -205,7 +205,7 @@ def get_connection(name: Optional[str] = None, vlan_id=pulumi.get(__ret__, 'vlan_id')) def get_connection_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConnectionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConnectionResult]: """ Retrieve information about a Direct Connect Connection. @@ -225,7 +225,7 @@ def get_connection_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:directconnect/getConnection:getConnection', __args__, opts=opts, typ=GetConnectionResult) return __ret__.apply(lambda __response__: GetConnectionResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/directconnect/get_gateway.py b/sdk/python/pulumi_aws/directconnect/get_gateway.py index de7d2a20270..07a04e2c91b 100644 --- a/sdk/python/pulumi_aws/directconnect/get_gateway.py +++ b/sdk/python/pulumi_aws/directconnect/get_gateway.py @@ -110,7 +110,7 @@ def get_gateway(name: Optional[str] = None, name=pulumi.get(__ret__, 'name'), owner_account_id=pulumi.get(__ret__, 'owner_account_id')) def get_gateway_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetGatewayResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGatewayResult]: """ Retrieve information about a Direct Connect Gateway. @@ -128,7 +128,7 @@ def get_gateway_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:directconnect/getGateway:getGateway', __args__, opts=opts, typ=GetGatewayResult) return __ret__.apply(lambda __response__: GetGatewayResult( amazon_side_asn=pulumi.get(__response__, 'amazon_side_asn'), diff --git a/sdk/python/pulumi_aws/directconnect/get_location.py b/sdk/python/pulumi_aws/directconnect/get_location.py index 40bba270ad0..b291aab3e43 100644 --- a/sdk/python/pulumi_aws/directconnect/get_location.py +++ b/sdk/python/pulumi_aws/directconnect/get_location.py @@ -139,7 +139,7 @@ def get_location(location_code: Optional[str] = None, location_code=pulumi.get(__ret__, 'location_code'), location_name=pulumi.get(__ret__, 'location_name')) def get_location_output(location_code: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLocationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLocationResult]: """ Retrieve information about a specific AWS Direct Connect location in the current AWS Region. These are the locations that can be specified when configuring `directconnect.Connection` or `directconnect.LinkAggregationGroup` resources. @@ -160,7 +160,7 @@ def get_location_output(location_code: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['locationCode'] = location_code - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:directconnect/getLocation:getLocation', __args__, opts=opts, typ=GetLocationResult) return __ret__.apply(lambda __response__: GetLocationResult( available_macsec_port_speeds=pulumi.get(__response__, 'available_macsec_port_speeds'), diff --git a/sdk/python/pulumi_aws/directconnect/get_locations.py b/sdk/python/pulumi_aws/directconnect/get_locations.py index f7f78638630..39dfd3e55fc 100644 --- a/sdk/python/pulumi_aws/directconnect/get_locations.py +++ b/sdk/python/pulumi_aws/directconnect/get_locations.py @@ -84,7 +84,7 @@ def get_locations(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLo return AwaitableGetLocationsResult( id=pulumi.get(__ret__, 'id'), location_codes=pulumi.get(__ret__, 'location_codes')) -def get_locations_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLocationsResult]: +def get_locations_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLocationsResult]: """ Retrieve information about the AWS Direct Connect locations in the current AWS Region. These are the locations that can be specified when configuring `directconnect.Connection` or `directconnect.LinkAggregationGroup` resources. @@ -101,7 +101,7 @@ def get_locations_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.Invok ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:directconnect/getLocations:getLocations', __args__, opts=opts, typ=GetLocationsResult) return __ret__.apply(lambda __response__: GetLocationsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/directconnect/get_router_configuration.py b/sdk/python/pulumi_aws/directconnect/get_router_configuration.py index 9e064c10ebe..eadc37c1a4f 100644 --- a/sdk/python/pulumi_aws/directconnect/get_router_configuration.py +++ b/sdk/python/pulumi_aws/directconnect/get_router_configuration.py @@ -158,7 +158,7 @@ def get_router_configuration(router_type_identifier: Optional[str] = None, virtual_interface_name=pulumi.get(__ret__, 'virtual_interface_name')) def get_router_configuration_output(router_type_identifier: Optional[pulumi.Input[str]] = None, virtual_interface_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRouterConfigurationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRouterConfigurationResult]: """ Data source for retrieving Router Configuration instructions for a given AWS Direct Connect Virtual Interface and Router Type. @@ -198,7 +198,7 @@ def get_router_configuration_output(router_type_identifier: Optional[pulumi.Inpu __args__ = dict() __args__['routerTypeIdentifier'] = router_type_identifier __args__['virtualInterfaceId'] = virtual_interface_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:directconnect/getRouterConfiguration:getRouterConfiguration', __args__, opts=opts, typ=GetRouterConfigurationResult) return __ret__.apply(lambda __response__: GetRouterConfigurationResult( customer_router_config=pulumi.get(__response__, 'customer_router_config'), diff --git a/sdk/python/pulumi_aws/directoryservice/get_directory.py b/sdk/python/pulumi_aws/directoryservice/get_directory.py index 1199ce99f9a..3f465d415b3 100644 --- a/sdk/python/pulumi_aws/directoryservice/get_directory.py +++ b/sdk/python/pulumi_aws/directoryservice/get_directory.py @@ -275,7 +275,7 @@ def get_directory(directory_id: Optional[str] = None, vpc_settings=pulumi.get(__ret__, 'vpc_settings')) def get_directory_output(directory_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDirectoryResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDirectoryResult]: """ Get attributes of AWS Directory Service directory (SimpleAD, Managed AD, AD Connector). It's especially useful to refer AWS Managed AD or on-premise AD in AD Connector configuration. @@ -295,7 +295,7 @@ def get_directory_output(directory_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['directoryId'] = directory_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:directoryservice/getDirectory:getDirectory', __args__, opts=opts, typ=GetDirectoryResult) return __ret__.apply(lambda __response__: GetDirectoryResult( access_url=pulumi.get(__response__, 'access_url'), diff --git a/sdk/python/pulumi_aws/dms/get_certificate.py b/sdk/python/pulumi_aws/dms/get_certificate.py index d3692596143..ccbae707d84 100644 --- a/sdk/python/pulumi_aws/dms/get_certificate.py +++ b/sdk/python/pulumi_aws/dms/get_certificate.py @@ -216,7 +216,7 @@ def get_certificate(certificate_id: Optional[str] = None, valid_to_date=pulumi.get(__ret__, 'valid_to_date')) def get_certificate_output(certificate_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCertificateResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCertificateResult]: """ Data source for managing an AWS DMS (Database Migration) Certificate. @@ -237,7 +237,7 @@ def get_certificate_output(certificate_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['certificateId'] = certificate_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:dms/getCertificate:getCertificate', __args__, opts=opts, typ=GetCertificateResult) return __ret__.apply(lambda __response__: GetCertificateResult( certificate_arn=pulumi.get(__response__, 'certificate_arn'), diff --git a/sdk/python/pulumi_aws/dms/get_endpoint.py b/sdk/python/pulumi_aws/dms/get_endpoint.py index 97eb9de2d22..da3fca1af8e 100644 --- a/sdk/python/pulumi_aws/dms/get_endpoint.py +++ b/sdk/python/pulumi_aws/dms/get_endpoint.py @@ -330,7 +330,7 @@ def get_endpoint(endpoint_id: Optional[str] = None, username=pulumi.get(__ret__, 'username')) def get_endpoint_output(endpoint_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEndpointResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEndpointResult]: """ Data source for managing an AWS DMS (Database Migration) Endpoint. @@ -351,7 +351,7 @@ def get_endpoint_output(endpoint_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['endpointId'] = endpoint_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:dms/getEndpoint:getEndpoint', __args__, opts=opts, typ=GetEndpointResult) return __ret__.apply(lambda __response__: GetEndpointResult( certificate_arn=pulumi.get(__response__, 'certificate_arn'), diff --git a/sdk/python/pulumi_aws/dms/get_replication_instance.py b/sdk/python/pulumi_aws/dms/get_replication_instance.py index 2c5756d9a71..674a1eec12e 100644 --- a/sdk/python/pulumi_aws/dms/get_replication_instance.py +++ b/sdk/python/pulumi_aws/dms/get_replication_instance.py @@ -292,7 +292,7 @@ def get_replication_instance(replication_instance_id: Optional[str] = None, vpc_security_group_ids=pulumi.get(__ret__, 'vpc_security_group_ids')) def get_replication_instance_output(replication_instance_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetReplicationInstanceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReplicationInstanceResult]: """ Data source for managing an AWS DMS (Database Migration) Replication Instance. @@ -311,7 +311,7 @@ def get_replication_instance_output(replication_instance_id: Optional[pulumi.Inp __args__ = dict() __args__['replicationInstanceId'] = replication_instance_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:dms/getReplicationInstance:getReplicationInstance', __args__, opts=opts, typ=GetReplicationInstanceResult) return __ret__.apply(lambda __response__: GetReplicationInstanceResult( allocated_storage=pulumi.get(__response__, 'allocated_storage'), diff --git a/sdk/python/pulumi_aws/dms/get_replication_subnet_group.py b/sdk/python/pulumi_aws/dms/get_replication_subnet_group.py index 8e533a36555..e82b13217ec 100644 --- a/sdk/python/pulumi_aws/dms/get_replication_subnet_group.py +++ b/sdk/python/pulumi_aws/dms/get_replication_subnet_group.py @@ -158,7 +158,7 @@ def get_replication_subnet_group(replication_subnet_group_id: Optional[str] = No vpc_id=pulumi.get(__ret__, 'vpc_id')) def get_replication_subnet_group_output(replication_subnet_group_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetReplicationSubnetGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReplicationSubnetGroupResult]: """ Data source for managing an AWS DMS (Database Migration) Replication Subnet Group. @@ -179,7 +179,7 @@ def get_replication_subnet_group_output(replication_subnet_group_id: Optional[pu __args__ = dict() __args__['replicationSubnetGroupId'] = replication_subnet_group_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:dms/getReplicationSubnetGroup:getReplicationSubnetGroup', __args__, opts=opts, typ=GetReplicationSubnetGroupResult) return __ret__.apply(lambda __response__: GetReplicationSubnetGroupResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/dms/get_replication_task.py b/sdk/python/pulumi_aws/dms/get_replication_task.py index db464aa4623..ed8b043b94f 100644 --- a/sdk/python/pulumi_aws/dms/get_replication_task.py +++ b/sdk/python/pulumi_aws/dms/get_replication_task.py @@ -247,7 +247,7 @@ def get_replication_task(replication_task_id: Optional[str] = None, target_endpoint_arn=pulumi.get(__ret__, 'target_endpoint_arn')) def get_replication_task_output(replication_task_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetReplicationTaskResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReplicationTaskResult]: """ Data source for managing an AWS DMS (Database Migration) Replication Task. @@ -273,7 +273,7 @@ def get_replication_task_output(replication_task_id: Optional[pulumi.Input[str]] __args__ = dict() __args__['replicationTaskId'] = replication_task_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:dms/getReplicationTask:getReplicationTask', __args__, opts=opts, typ=GetReplicationTaskResult) return __ret__.apply(lambda __response__: GetReplicationTaskResult( cdc_start_position=pulumi.get(__response__, 'cdc_start_position'), diff --git a/sdk/python/pulumi_aws/docdb/get_engine_version.py b/sdk/python/pulumi_aws/docdb/get_engine_version.py index 742992c6097..0feaca88123 100644 --- a/sdk/python/pulumi_aws/docdb/get_engine_version.py +++ b/sdk/python/pulumi_aws/docdb/get_engine_version.py @@ -191,7 +191,7 @@ def get_engine_version_output(engine: Optional[pulumi.Input[Optional[str]]] = No parameter_group_family: Optional[pulumi.Input[Optional[str]]] = None, preferred_versions: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, version: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEngineVersionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEngineVersionResult]: """ Information about a DocumentDB engine version. @@ -215,7 +215,7 @@ def get_engine_version_output(engine: Optional[pulumi.Input[Optional[str]]] = No __args__['parameterGroupFamily'] = parameter_group_family __args__['preferredVersions'] = preferred_versions __args__['version'] = version - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:docdb/getEngineVersion:getEngineVersion', __args__, opts=opts, typ=GetEngineVersionResult) return __ret__.apply(lambda __response__: GetEngineVersionResult( engine=pulumi.get(__response__, 'engine'), diff --git a/sdk/python/pulumi_aws/docdb/get_orderable_db_instance.py b/sdk/python/pulumi_aws/docdb/get_orderable_db_instance.py index e27eff18998..bc237fd9fc5 100644 --- a/sdk/python/pulumi_aws/docdb/get_orderable_db_instance.py +++ b/sdk/python/pulumi_aws/docdb/get_orderable_db_instance.py @@ -174,7 +174,7 @@ def get_orderable_db_instance_output(engine: Optional[pulumi.Input[Optional[str] license_model: Optional[pulumi.Input[Optional[str]]] = None, preferred_instance_classes: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, vpc: Optional[pulumi.Input[Optional[bool]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOrderableDbInstanceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrderableDbInstanceResult]: """ Information about DocumentDB orderable DB instances. @@ -209,7 +209,7 @@ def get_orderable_db_instance_output(engine: Optional[pulumi.Input[Optional[str] __args__['licenseModel'] = license_model __args__['preferredInstanceClasses'] = preferred_instance_classes __args__['vpc'] = vpc - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:docdb/getOrderableDbInstance:getOrderableDbInstance', __args__, opts=opts, typ=GetOrderableDbInstanceResult) return __ret__.apply(lambda __response__: GetOrderableDbInstanceResult( availability_zones=pulumi.get(__response__, 'availability_zones'), diff --git a/sdk/python/pulumi_aws/dynamodb/get_table.py b/sdk/python/pulumi_aws/dynamodb/get_table.py index 8326df63fc7..b428acb6040 100644 --- a/sdk/python/pulumi_aws/dynamodb/get_table.py +++ b/sdk/python/pulumi_aws/dynamodb/get_table.py @@ -292,7 +292,7 @@ def get_table(name: Optional[str] = None, def get_table_output(name: Optional[pulumi.Input[str]] = None, server_side_encryption: Optional[pulumi.Input[Optional[Union['GetTableServerSideEncryptionArgs', 'GetTableServerSideEncryptionArgsDict']]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTableResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTableResult]: """ Provides information about a DynamoDB table. @@ -312,7 +312,7 @@ def get_table_output(name: Optional[pulumi.Input[str]] = None, __args__['name'] = name __args__['serverSideEncryption'] = server_side_encryption __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:dynamodb/getTable:getTable', __args__, opts=opts, typ=GetTableResult) return __ret__.apply(lambda __response__: GetTableResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/dynamodb/get_table_item.py b/sdk/python/pulumi_aws/dynamodb/get_table_item.py index 719fb360731..3d02ecd1cea 100644 --- a/sdk/python/pulumi_aws/dynamodb/get_table_item.py +++ b/sdk/python/pulumi_aws/dynamodb/get_table_item.py @@ -152,7 +152,7 @@ def get_table_item_output(expression_attribute_names: Optional[pulumi.Input[Opti key: Optional[pulumi.Input[str]] = None, projection_expression: Optional[pulumi.Input[Optional[str]]] = None, table_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTableItemResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTableItemResult]: """ Data source for retrieving a value from an AWS DynamoDB table. @@ -189,7 +189,7 @@ def get_table_item_output(expression_attribute_names: Optional[pulumi.Input[Opti __args__['key'] = key __args__['projectionExpression'] = projection_expression __args__['tableName'] = table_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:dynamodb/getTableItem:getTableItem', __args__, opts=opts, typ=GetTableItemResult) return __ret__.apply(lambda __response__: GetTableItemResult( expression_attribute_names=pulumi.get(__response__, 'expression_attribute_names'), diff --git a/sdk/python/pulumi_aws/ebs/get_default_kms_key.py b/sdk/python/pulumi_aws/ebs/get_default_kms_key.py index b857a61564b..f0e906c17b1 100644 --- a/sdk/python/pulumi_aws/ebs/get_default_kms_key.py +++ b/sdk/python/pulumi_aws/ebs/get_default_kms_key.py @@ -85,7 +85,7 @@ def get_default_kms_key(opts: Optional[pulumi.InvokeOptions] = None) -> Awaitabl return AwaitableGetDefaultKmsKeyResult( id=pulumi.get(__ret__, 'id'), key_arn=pulumi.get(__ret__, 'key_arn')) -def get_default_kms_key_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDefaultKmsKeyResult]: +def get_default_kms_key_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDefaultKmsKeyResult]: """ Use this data source to get the default EBS encryption KMS key in the current region. @@ -103,7 +103,7 @@ def get_default_kms_key_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ebs/getDefaultKmsKey:getDefaultKmsKey', __args__, opts=opts, typ=GetDefaultKmsKeyResult) return __ret__.apply(lambda __response__: GetDefaultKmsKeyResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/ebs/get_ebs_volumes.py b/sdk/python/pulumi_aws/ebs/get_ebs_volumes.py index f20da12453c..414c1079605 100644 --- a/sdk/python/pulumi_aws/ebs/get_ebs_volumes.py +++ b/sdk/python/pulumi_aws/ebs/get_ebs_volumes.py @@ -129,7 +129,7 @@ def get_ebs_volumes(filters: Optional[Sequence[Union['GetEbsVolumesFilterArgs', tags=pulumi.get(__ret__, 'tags')) def get_ebs_volumes_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetEbsVolumesFilterArgs', 'GetEbsVolumesFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEbsVolumesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEbsVolumesResult]: """ `ebs_get_ebs_volumes` provides identifying information for EBS volumes matching given criteria. @@ -164,7 +164,7 @@ def get_ebs_volumes_output(filters: Optional[pulumi.Input[Optional[Sequence[Unio __args__ = dict() __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ebs/getEbsVolumes:getEbsVolumes', __args__, opts=opts, typ=GetEbsVolumesResult) return __ret__.apply(lambda __response__: GetEbsVolumesResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ebs/get_encryption_by_default.py b/sdk/python/pulumi_aws/ebs/get_encryption_by_default.py index 8f15ce99e22..a9a0f440e14 100644 --- a/sdk/python/pulumi_aws/ebs/get_encryption_by_default.py +++ b/sdk/python/pulumi_aws/ebs/get_encryption_by_default.py @@ -81,7 +81,7 @@ def get_encryption_by_default(opts: Optional[pulumi.InvokeOptions] = None) -> Aw return AwaitableGetEncryptionByDefaultResult( enabled=pulumi.get(__ret__, 'enabled'), id=pulumi.get(__ret__, 'id')) -def get_encryption_by_default_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEncryptionByDefaultResult]: +def get_encryption_by_default_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEncryptionByDefaultResult]: """ Provides a way to check whether default EBS encryption is enabled for your AWS account in the current AWS region. @@ -95,7 +95,7 @@ def get_encryption_by_default_output(opts: Optional[Union[pulumi.InvokeOptions, ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ebs/getEncryptionByDefault:getEncryptionByDefault', __args__, opts=opts, typ=GetEncryptionByDefaultResult) return __ret__.apply(lambda __response__: GetEncryptionByDefaultResult( enabled=pulumi.get(__response__, 'enabled'), diff --git a/sdk/python/pulumi_aws/ebs/get_snapshot.py b/sdk/python/pulumi_aws/ebs/get_snapshot.py index b0a5947b2aa..ed8afef6ac7 100644 --- a/sdk/python/pulumi_aws/ebs/get_snapshot.py +++ b/sdk/python/pulumi_aws/ebs/get_snapshot.py @@ -354,7 +354,7 @@ def get_snapshot_output(filters: Optional[pulumi.Input[Optional[Sequence[Union[' restorable_by_user_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, snapshot_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSnapshotResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSnapshotResult]: """ Use this data source to get information about an EBS Snapshot for use when provisioning EBS Volumes @@ -395,7 +395,7 @@ def get_snapshot_output(filters: Optional[pulumi.Input[Optional[Sequence[Union[' __args__['restorableByUserIds'] = restorable_by_user_ids __args__['snapshotIds'] = snapshot_ids __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ebs/getSnapshot:getSnapshot', __args__, opts=opts, typ=GetSnapshotResult) return __ret__.apply(lambda __response__: GetSnapshotResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ebs/get_snapshot_ids.py b/sdk/python/pulumi_aws/ebs/get_snapshot_ids.py index e1cd168e45b..5fe66db7dfb 100644 --- a/sdk/python/pulumi_aws/ebs/get_snapshot_ids.py +++ b/sdk/python/pulumi_aws/ebs/get_snapshot_ids.py @@ -140,7 +140,7 @@ def get_snapshot_ids(filters: Optional[Sequence[Union['GetSnapshotIdsFilterArgs' def get_snapshot_ids_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetSnapshotIdsFilterArgs', 'GetSnapshotIdsFilterArgsDict']]]]] = None, owners: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, restorable_by_user_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSnapshotIdsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSnapshotIdsResult]: """ Use this data source to get a list of EBS Snapshot IDs matching the specified criteria. @@ -175,7 +175,7 @@ def get_snapshot_ids_output(filters: Optional[pulumi.Input[Optional[Sequence[Uni __args__['filters'] = filters __args__['owners'] = owners __args__['restorableByUserIds'] = restorable_by_user_ids - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ebs/getSnapshotIds:getSnapshotIds', __args__, opts=opts, typ=GetSnapshotIdsResult) return __ret__.apply(lambda __response__: GetSnapshotIdsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ebs/get_volume.py b/sdk/python/pulumi_aws/ebs/get_volume.py index c39adcac8a6..34bed15b424 100644 --- a/sdk/python/pulumi_aws/ebs/get_volume.py +++ b/sdk/python/pulumi_aws/ebs/get_volume.py @@ -287,7 +287,7 @@ def get_volume(filters: Optional[Sequence[Union['GetVolumeFilterArgs', 'GetVolum def get_volume_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetVolumeFilterArgs', 'GetVolumeFilterArgsDict']]]]] = None, most_recent: Optional[pulumi.Input[Optional[bool]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVolumeResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVolumeResult]: """ Use this data source to get information about an EBS volume for use in other resources. @@ -323,7 +323,7 @@ def get_volume_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['Ge __args__['filters'] = filters __args__['mostRecent'] = most_recent __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ebs/getVolume:getVolume', __args__, opts=opts, typ=GetVolumeResult) return __ret__.apply(lambda __response__: GetVolumeResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2/get_ami.py b/sdk/python/pulumi_aws/ec2/get_ami.py index 9c2894e7726..ea6952c314e 100644 --- a/sdk/python/pulumi_aws/ec2/get_ami.py +++ b/sdk/python/pulumi_aws/ec2/get_ami.py @@ -620,7 +620,7 @@ def get_ami_output(executable_users: Optional[pulumi.Input[Optional[Sequence[str name_regex: Optional[pulumi.Input[Optional[str]]] = None, owners: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAmiResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAmiResult]: """ Use this data source to get the ID of a registered AMI for use in other resources. @@ -683,7 +683,7 @@ def get_ami_output(executable_users: Optional[pulumi.Input[Optional[Sequence[str __args__['nameRegex'] = name_regex __args__['owners'] = owners __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getAmi:getAmi', __args__, opts=opts, typ=GetAmiResult) return __ret__.apply(lambda __response__: GetAmiResult( architecture=pulumi.get(__response__, 'architecture'), diff --git a/sdk/python/pulumi_aws/ec2/get_ami_ids.py b/sdk/python/pulumi_aws/ec2/get_ami_ids.py index 218470bb519..720cf618560 100644 --- a/sdk/python/pulumi_aws/ec2/get_ami_ids.py +++ b/sdk/python/pulumi_aws/ec2/get_ami_ids.py @@ -179,7 +179,7 @@ def get_ami_ids_output(executable_users: Optional[pulumi.Input[Optional[Sequence name_regex: Optional[pulumi.Input[Optional[str]]] = None, owners: Optional[pulumi.Input[Sequence[str]]] = None, sort_ascending: Optional[pulumi.Input[Optional[bool]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAmiIdsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAmiIdsResult]: """ Use this data source to get a list of AMI IDs matching the specified criteria. @@ -220,7 +220,7 @@ def get_ami_ids_output(executable_users: Optional[pulumi.Input[Optional[Sequence __args__['nameRegex'] = name_regex __args__['owners'] = owners __args__['sortAscending'] = sort_ascending - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getAmiIds:getAmiIds', __args__, opts=opts, typ=GetAmiIdsResult) return __ret__.apply(lambda __response__: GetAmiIdsResult( executable_users=pulumi.get(__response__, 'executable_users'), diff --git a/sdk/python/pulumi_aws/ec2/get_capacity_block_offering.py b/sdk/python/pulumi_aws/ec2/get_capacity_block_offering.py index 3e00269b634..333fef46448 100644 --- a/sdk/python/pulumi_aws/ec2/get_capacity_block_offering.py +++ b/sdk/python/pulumi_aws/ec2/get_capacity_block_offering.py @@ -209,7 +209,7 @@ def get_capacity_block_offering_output(capacity_duration_hours: Optional[pulumi. instance_count: Optional[pulumi.Input[int]] = None, instance_type: Optional[pulumi.Input[str]] = None, start_date_range: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCapacityBlockOfferingResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCapacityBlockOfferingResult]: """ Information about a single EC2 Capacity Block Offering. @@ -239,7 +239,7 @@ def get_capacity_block_offering_output(capacity_duration_hours: Optional[pulumi. __args__['instanceCount'] = instance_count __args__['instanceType'] = instance_type __args__['startDateRange'] = start_date_range - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering', __args__, opts=opts, typ=GetCapacityBlockOfferingResult) return __ret__.apply(lambda __response__: GetCapacityBlockOfferingResult( availability_zone=pulumi.get(__response__, 'availability_zone'), diff --git a/sdk/python/pulumi_aws/ec2/get_coip_pool.py b/sdk/python/pulumi_aws/ec2/get_coip_pool.py index d40eca2c4cf..f6a7a895ce6 100644 --- a/sdk/python/pulumi_aws/ec2/get_coip_pool.py +++ b/sdk/python/pulumi_aws/ec2/get_coip_pool.py @@ -152,7 +152,7 @@ def get_coip_pool_output(filters: Optional[pulumi.Input[Optional[Sequence[Union[ local_gateway_route_table_id: Optional[pulumi.Input[Optional[str]]] = None, pool_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCoipPoolResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCoipPoolResult]: """ Provides details about a specific EC2 Customer-Owned IP Pool. @@ -174,7 +174,7 @@ def get_coip_pool_output(filters: Optional[pulumi.Input[Optional[Sequence[Union[ __args__['localGatewayRouteTableId'] = local_gateway_route_table_id __args__['poolId'] = pool_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getCoipPool:getCoipPool', __args__, opts=opts, typ=GetCoipPoolResult) return __ret__.apply(lambda __response__: GetCoipPoolResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2/get_coip_pools.py b/sdk/python/pulumi_aws/ec2/get_coip_pools.py index cc0846ba37f..e974e03d43a 100644 --- a/sdk/python/pulumi_aws/ec2/get_coip_pools.py +++ b/sdk/python/pulumi_aws/ec2/get_coip_pools.py @@ -108,7 +108,7 @@ def get_coip_pools(filters: Optional[Sequence[Union['GetCoipPoolsFilterArgs', 'G tags=pulumi.get(__ret__, 'tags')) def get_coip_pools_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetCoipPoolsFilterArgs', 'GetCoipPoolsFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCoipPoolsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCoipPoolsResult]: """ Provides information for multiple EC2 Customer-Owned IP Pools, such as their identifiers. @@ -123,7 +123,7 @@ def get_coip_pools_output(filters: Optional[pulumi.Input[Optional[Sequence[Union __args__ = dict() __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getCoipPools:getCoipPools', __args__, opts=opts, typ=GetCoipPoolsResult) return __ret__.apply(lambda __response__: GetCoipPoolsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_customer_gateway.py b/sdk/python/pulumi_aws/ec2/get_customer_gateway.py index 52bcf18b924..9f1d2504ac3 100644 --- a/sdk/python/pulumi_aws/ec2/get_customer_gateway.py +++ b/sdk/python/pulumi_aws/ec2/get_customer_gateway.py @@ -208,7 +208,7 @@ def get_customer_gateway(filters: Optional[Sequence[Union['GetCustomerGatewayFil def get_customer_gateway_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetCustomerGatewayFilterArgs', 'GetCustomerGatewayFilterArgsDict']]]]] = None, id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCustomerGatewayResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCustomerGatewayResult]: """ Get an existing AWS Customer Gateway. @@ -243,7 +243,7 @@ def get_customer_gateway_output(filters: Optional[pulumi.Input[Optional[Sequence __args__['filters'] = filters __args__['id'] = id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getCustomerGateway:getCustomerGateway', __args__, opts=opts, typ=GetCustomerGatewayResult) return __ret__.apply(lambda __response__: GetCustomerGatewayResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2/get_dedicated_host.py b/sdk/python/pulumi_aws/ec2/get_dedicated_host.py index ffb53842c4b..144ee038dcf 100644 --- a/sdk/python/pulumi_aws/ec2/get_dedicated_host.py +++ b/sdk/python/pulumi_aws/ec2/get_dedicated_host.py @@ -284,7 +284,7 @@ def get_dedicated_host(filters: Optional[Sequence[Union['GetDedicatedHostFilterA def get_dedicated_host_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetDedicatedHostFilterArgs', 'GetDedicatedHostFilterArgsDict']]]]] = None, host_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDedicatedHostResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDedicatedHostResult]: """ Use this data source to get information about an EC2 Dedicated Host. @@ -320,7 +320,7 @@ def get_dedicated_host_output(filters: Optional[pulumi.Input[Optional[Sequence[U __args__['filters'] = filters __args__['hostId'] = host_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getDedicatedHost:getDedicatedHost', __args__, opts=opts, typ=GetDedicatedHostResult) return __ret__.apply(lambda __response__: GetDedicatedHostResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2/get_eips.py b/sdk/python/pulumi_aws/ec2/get_eips.py index 4db805ec3fd..f123cd4246a 100644 --- a/sdk/python/pulumi_aws/ec2/get_eips.py +++ b/sdk/python/pulumi_aws/ec2/get_eips.py @@ -132,7 +132,7 @@ def get_eips(filters: Optional[Sequence[Union['GetEipsFilterArgs', 'GetEipsFilte tags=pulumi.get(__ret__, 'tags')) def get_eips_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetEipsFilterArgs', 'GetEipsFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEipsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEipsResult]: """ Provides a list of Elastic IPs in a region. @@ -158,7 +158,7 @@ def get_eips_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetE __args__ = dict() __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getEips:getEips', __args__, opts=opts, typ=GetEipsResult) return __ret__.apply(lambda __response__: GetEipsResult( allocation_ids=pulumi.get(__response__, 'allocation_ids'), diff --git a/sdk/python/pulumi_aws/ec2/get_elastic_ip.py b/sdk/python/pulumi_aws/ec2/get_elastic_ip.py index 15137d9ccb7..9be035320d8 100644 --- a/sdk/python/pulumi_aws/ec2/get_elastic_ip.py +++ b/sdk/python/pulumi_aws/ec2/get_elastic_ip.py @@ -350,7 +350,7 @@ def get_elastic_ip_output(filters: Optional[pulumi.Input[Optional[Sequence[Union id: Optional[pulumi.Input[Optional[str]]] = None, public_ip: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetElasticIpResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetElasticIpResult]: """ `ec2.Eip` provides details about a specific Elastic IP. @@ -408,7 +408,7 @@ def get_elastic_ip_output(filters: Optional[pulumi.Input[Optional[Sequence[Union __args__['id'] = id __args__['publicIp'] = public_ip __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getElasticIp:getElasticIp', __args__, opts=opts, typ=GetElasticIpResult) return __ret__.apply(lambda __response__: GetElasticIpResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2/get_instance.py b/sdk/python/pulumi_aws/ec2/get_instance.py index 0238a078900..46e25c0a95a 100644 --- a/sdk/python/pulumi_aws/ec2/get_instance.py +++ b/sdk/python/pulumi_aws/ec2/get_instance.py @@ -711,7 +711,7 @@ def get_instance_output(filters: Optional[pulumi.Input[Optional[Sequence[Union[' instance_id: Optional[pulumi.Input[Optional[str]]] = None, instance_tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceResult]: """ Use this data source to get the ID of an Amazon EC2 Instance for use in other resources. @@ -758,7 +758,7 @@ def get_instance_output(filters: Optional[pulumi.Input[Optional[Sequence[Union[' __args__['instanceId'] = instance_id __args__['instanceTags'] = instance_tags __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getInstance:getInstance', __args__, opts=opts, typ=GetInstanceResult) return __ret__.apply(lambda __response__: GetInstanceResult( ami=pulumi.get(__response__, 'ami'), diff --git a/sdk/python/pulumi_aws/ec2/get_instance_type.py b/sdk/python/pulumi_aws/ec2/get_instance_type.py index 70138274783..49f26d51b48 100644 --- a/sdk/python/pulumi_aws/ec2/get_instance_type.py +++ b/sdk/python/pulumi_aws/ec2/get_instance_type.py @@ -697,7 +697,7 @@ def get_instance_type(instance_type: Optional[str] = None, valid_cores=pulumi.get(__ret__, 'valid_cores'), valid_threads_per_cores=pulumi.get(__ret__, 'valid_threads_per_cores')) def get_instance_type_output(instance_type: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceTypeResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceTypeResult]: """ Get characteristics for a single EC2 Instance Type. @@ -715,7 +715,7 @@ def get_instance_type_output(instance_type: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['instanceType'] = instance_type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getInstanceType:getInstanceType', __args__, opts=opts, typ=GetInstanceTypeResult) return __ret__.apply(lambda __response__: GetInstanceTypeResult( auto_recovery_supported=pulumi.get(__response__, 'auto_recovery_supported'), diff --git a/sdk/python/pulumi_aws/ec2/get_instance_type_offering.py b/sdk/python/pulumi_aws/ec2/get_instance_type_offering.py index b60d1e27b48..48eb1fc4456 100644 --- a/sdk/python/pulumi_aws/ec2/get_instance_type_offering.py +++ b/sdk/python/pulumi_aws/ec2/get_instance_type_offering.py @@ -137,7 +137,7 @@ def get_instance_type_offering(filters: Optional[Sequence[Union['GetInstanceType def get_instance_type_offering_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetInstanceTypeOfferingFilterArgs', 'GetInstanceTypeOfferingFilterArgsDict']]]]] = None, location_type: Optional[pulumi.Input[Optional[str]]] = None, preferred_instance_types: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceTypeOfferingResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceTypeOfferingResult]: """ Information about single EC2 Instance Type Offering. @@ -169,7 +169,7 @@ def get_instance_type_offering_output(filters: Optional[pulumi.Input[Optional[Se __args__['filters'] = filters __args__['locationType'] = location_type __args__['preferredInstanceTypes'] = preferred_instance_types - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering', __args__, opts=opts, typ=GetInstanceTypeOfferingResult) return __ret__.apply(lambda __response__: GetInstanceTypeOfferingResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_instance_type_offerings.py b/sdk/python/pulumi_aws/ec2/get_instance_type_offerings.py index 88ebd87546b..6bc73d92401 100644 --- a/sdk/python/pulumi_aws/ec2/get_instance_type_offerings.py +++ b/sdk/python/pulumi_aws/ec2/get_instance_type_offerings.py @@ -152,7 +152,7 @@ def get_instance_type_offerings(filters: Optional[Sequence[Union['GetInstanceTyp locations=pulumi.get(__ret__, 'locations')) def get_instance_type_offerings_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetInstanceTypeOfferingsFilterArgs', 'GetInstanceTypeOfferingsFilterArgsDict']]]]] = None, location_type: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceTypeOfferingsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceTypeOfferingsResult]: """ Information about EC2 Instance Type Offerings. @@ -185,7 +185,7 @@ def get_instance_type_offerings_output(filters: Optional[pulumi.Input[Optional[S __args__ = dict() __args__['filters'] = filters __args__['locationType'] = location_type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getInstanceTypeOfferings:getInstanceTypeOfferings', __args__, opts=opts, typ=GetInstanceTypeOfferingsResult) return __ret__.apply(lambda __response__: GetInstanceTypeOfferingsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_instance_types.py b/sdk/python/pulumi_aws/ec2/get_instance_types.py index c8e2e7cf371..193e2a2bcbb 100644 --- a/sdk/python/pulumi_aws/ec2/get_instance_types.py +++ b/sdk/python/pulumi_aws/ec2/get_instance_types.py @@ -119,7 +119,7 @@ def get_instance_types(filters: Optional[Sequence[Union['GetInstanceTypesFilterA id=pulumi.get(__ret__, 'id'), instance_types=pulumi.get(__ret__, 'instance_types')) def get_instance_types_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetInstanceTypesFilterArgs', 'GetInstanceTypesFilterArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceTypesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceTypesResult]: """ Information about EC2 Instance Types. @@ -157,7 +157,7 @@ def get_instance_types_output(filters: Optional[pulumi.Input[Optional[Sequence[U """ __args__ = dict() __args__['filters'] = filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getInstanceTypes:getInstanceTypes', __args__, opts=opts, typ=GetInstanceTypesResult) return __ret__.apply(lambda __response__: GetInstanceTypesResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_instances.py b/sdk/python/pulumi_aws/ec2/get_instances.py index 69c8fc97d94..590b78024c8 100644 --- a/sdk/python/pulumi_aws/ec2/get_instances.py +++ b/sdk/python/pulumi_aws/ec2/get_instances.py @@ -188,7 +188,7 @@ def get_instances(filters: Optional[Sequence[Union['GetInstancesFilterArgs', 'Ge def get_instances_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetInstancesFilterArgs', 'GetInstancesFilterArgsDict']]]]] = None, instance_state_names: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, instance_tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstancesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstancesResult]: """ Use this data source to get IDs or IPs of Amazon EC2 instances to be referenced elsewhere, e.g., to allow easier migration from another management solution @@ -232,7 +232,7 @@ def get_instances_output(filters: Optional[pulumi.Input[Optional[Sequence[Union[ __args__['filters'] = filters __args__['instanceStateNames'] = instance_state_names __args__['instanceTags'] = instance_tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getInstances:getInstances', __args__, opts=opts, typ=GetInstancesResult) return __ret__.apply(lambda __response__: GetInstancesResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_internet_gateway.py b/sdk/python/pulumi_aws/ec2/get_internet_gateway.py index 490a04b5e11..864a889acc2 100644 --- a/sdk/python/pulumi_aws/ec2/get_internet_gateway.py +++ b/sdk/python/pulumi_aws/ec2/get_internet_gateway.py @@ -159,7 +159,7 @@ def get_internet_gateway(filters: Optional[Sequence[Union['GetInternetGatewayFil def get_internet_gateway_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetInternetGatewayFilterArgs', 'GetInternetGatewayFilterArgsDict']]]]] = None, internet_gateway_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInternetGatewayResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInternetGatewayResult]: """ `ec2.InternetGateway` provides details about a specific Internet Gateway. @@ -190,7 +190,7 @@ def get_internet_gateway_output(filters: Optional[pulumi.Input[Optional[Sequence __args__['filters'] = filters __args__['internetGatewayId'] = internet_gateway_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getInternetGateway:getInternetGateway', __args__, opts=opts, typ=GetInternetGatewayResult) return __ret__.apply(lambda __response__: GetInternetGatewayResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2/get_ipam_preview_next_cidr.py b/sdk/python/pulumi_aws/ec2/get_ipam_preview_next_cidr.py index f9a6049c1b3..7590fdd90f0 100644 --- a/sdk/python/pulumi_aws/ec2/get_ipam_preview_next_cidr.py +++ b/sdk/python/pulumi_aws/ec2/get_ipam_preview_next_cidr.py @@ -133,7 +133,7 @@ def get_ipam_preview_next_cidr(disallowed_cidrs: Optional[Sequence[str]] = None, def get_ipam_preview_next_cidr_output(disallowed_cidrs: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, ipam_pool_id: Optional[pulumi.Input[str]] = None, netmask_length: Optional[pulumi.Input[Optional[int]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIpamPreviewNextCidrResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIpamPreviewNextCidrResult]: """ Previews a CIDR from an IPAM address pool. Only works for private IPv4. @@ -163,7 +163,7 @@ def get_ipam_preview_next_cidr_output(disallowed_cidrs: Optional[pulumi.Input[Op __args__['disallowedCidrs'] = disallowed_cidrs __args__['ipamPoolId'] = ipam_pool_id __args__['netmaskLength'] = netmask_length - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getIpamPreviewNextCidr:getIpamPreviewNextCidr', __args__, opts=opts, typ=GetIpamPreviewNextCidrResult) return __ret__.apply(lambda __response__: GetIpamPreviewNextCidrResult( cidr=pulumi.get(__response__, 'cidr'), diff --git a/sdk/python/pulumi_aws/ec2/get_key_pair.py b/sdk/python/pulumi_aws/ec2/get_key_pair.py index 68828745016..db91b11bc6e 100644 --- a/sdk/python/pulumi_aws/ec2/get_key_pair.py +++ b/sdk/python/pulumi_aws/ec2/get_key_pair.py @@ -220,7 +220,7 @@ def get_key_pair_output(filters: Optional[pulumi.Input[Optional[Sequence[Union[' key_name: Optional[pulumi.Input[Optional[str]]] = None, key_pair_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetKeyPairResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetKeyPairResult]: """ Use this data source to get information about a specific EC2 Key Pair. @@ -256,7 +256,7 @@ def get_key_pair_output(filters: Optional[pulumi.Input[Optional[Sequence[Union[' __args__['keyName'] = key_name __args__['keyPairId'] = key_pair_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getKeyPair:getKeyPair', __args__, opts=opts, typ=GetKeyPairResult) return __ret__.apply(lambda __response__: GetKeyPairResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2/get_launch_configuration.py b/sdk/python/pulumi_aws/ec2/get_launch_configuration.py index dd3749e1fc9..4bd2ba389f4 100644 --- a/sdk/python/pulumi_aws/ec2/get_launch_configuration.py +++ b/sdk/python/pulumi_aws/ec2/get_launch_configuration.py @@ -296,7 +296,7 @@ def get_launch_configuration(name: Optional[str] = None, spot_price=pulumi.get(__ret__, 'spot_price'), user_data=pulumi.get(__ret__, 'user_data')) def get_launch_configuration_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLaunchConfigurationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLaunchConfigurationResult]: """ Provides information about a Launch Configuration. @@ -314,7 +314,7 @@ def get_launch_configuration_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getLaunchConfiguration:getLaunchConfiguration', __args__, opts=opts, typ=GetLaunchConfigurationResult) return __ret__.apply(lambda __response__: GetLaunchConfigurationResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2/get_launch_template.py b/sdk/python/pulumi_aws/ec2/get_launch_template.py index 4f169579c78..eb3529d3839 100644 --- a/sdk/python/pulumi_aws/ec2/get_launch_template.py +++ b/sdk/python/pulumi_aws/ec2/get_launch_template.py @@ -480,7 +480,7 @@ def get_launch_template_output(filters: Optional[pulumi.Input[Optional[Sequence[ id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLaunchTemplateResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLaunchTemplateResult]: """ Provides information about a Launch Template. @@ -516,7 +516,7 @@ def get_launch_template_output(filters: Optional[pulumi.Input[Optional[Sequence[ __args__['id'] = id __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getLaunchTemplate:getLaunchTemplate', __args__, opts=opts, typ=GetLaunchTemplateResult) return __ret__.apply(lambda __response__: GetLaunchTemplateResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2/get_local_gateway.py b/sdk/python/pulumi_aws/ec2/get_local_gateway.py index d67eef328ae..9f893eaeae7 100644 --- a/sdk/python/pulumi_aws/ec2/get_local_gateway.py +++ b/sdk/python/pulumi_aws/ec2/get_local_gateway.py @@ -153,7 +153,7 @@ def get_local_gateway_output(filters: Optional[pulumi.Input[Optional[Sequence[Un id: Optional[pulumi.Input[Optional[str]]] = None, state: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLocalGatewayResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLocalGatewayResult]: """ Provides details about an EC2 Local Gateway. @@ -186,7 +186,7 @@ def get_local_gateway_output(filters: Optional[pulumi.Input[Optional[Sequence[Un __args__['id'] = id __args__['state'] = state __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getLocalGateway:getLocalGateway', __args__, opts=opts, typ=GetLocalGatewayResult) return __ret__.apply(lambda __response__: GetLocalGatewayResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_local_gateway_route_table.py b/sdk/python/pulumi_aws/ec2/get_local_gateway_route_table.py index 39ad8a6197c..b8cba104ec9 100644 --- a/sdk/python/pulumi_aws/ec2/get_local_gateway_route_table.py +++ b/sdk/python/pulumi_aws/ec2/get_local_gateway_route_table.py @@ -166,7 +166,7 @@ def get_local_gateway_route_table_output(filters: Optional[pulumi.Input[Optional outpost_arn: Optional[pulumi.Input[Optional[str]]] = None, state: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLocalGatewayRouteTableResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLocalGatewayRouteTableResult]: """ Provides details about an EC2 Local Gateway Route Table. @@ -204,7 +204,7 @@ def get_local_gateway_route_table_output(filters: Optional[pulumi.Input[Optional __args__['outpostArn'] = outpost_arn __args__['state'] = state __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getLocalGatewayRouteTable:getLocalGatewayRouteTable', __args__, opts=opts, typ=GetLocalGatewayRouteTableResult) return __ret__.apply(lambda __response__: GetLocalGatewayRouteTableResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_local_gateway_route_tables.py b/sdk/python/pulumi_aws/ec2/get_local_gateway_route_tables.py index dff153a842f..54a6b2a60a8 100644 --- a/sdk/python/pulumi_aws/ec2/get_local_gateway_route_tables.py +++ b/sdk/python/pulumi_aws/ec2/get_local_gateway_route_tables.py @@ -120,7 +120,7 @@ def get_local_gateway_route_tables(filters: Optional[Sequence[Union['GetLocalGat tags=pulumi.get(__ret__, 'tags')) def get_local_gateway_route_tables_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetLocalGatewayRouteTablesFilterArgs', 'GetLocalGatewayRouteTablesFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLocalGatewayRouteTablesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLocalGatewayRouteTablesResult]: """ Provides information for multiple EC2 Local Gateway Route Tables, such as their identifiers. @@ -147,7 +147,7 @@ def get_local_gateway_route_tables_output(filters: Optional[pulumi.Input[Optiona __args__ = dict() __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getLocalGatewayRouteTables:getLocalGatewayRouteTables', __args__, opts=opts, typ=GetLocalGatewayRouteTablesResult) return __ret__.apply(lambda __response__: GetLocalGatewayRouteTablesResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_local_gateway_virtual_interface.py b/sdk/python/pulumi_aws/ec2/get_local_gateway_virtual_interface.py index 079c3223b16..e16f6cdf66c 100644 --- a/sdk/python/pulumi_aws/ec2/get_local_gateway_virtual_interface.py +++ b/sdk/python/pulumi_aws/ec2/get_local_gateway_virtual_interface.py @@ -189,7 +189,7 @@ def get_local_gateway_virtual_interface(filters: Optional[Sequence[Union['GetLoc def get_local_gateway_virtual_interface_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetLocalGatewayVirtualInterfaceFilterArgs', 'GetLocalGatewayVirtualInterfaceFilterArgsDict']]]]] = None, id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLocalGatewayVirtualInterfaceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLocalGatewayVirtualInterfaceResult]: """ Provides details about an EC2 Local Gateway Virtual Interface. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). @@ -211,7 +211,7 @@ def get_local_gateway_virtual_interface_output(filters: Optional[pulumi.Input[Op __args__['filters'] = filters __args__['id'] = id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getLocalGatewayVirtualInterface:getLocalGatewayVirtualInterface', __args__, opts=opts, typ=GetLocalGatewayVirtualInterfaceResult) return __ret__.apply(lambda __response__: GetLocalGatewayVirtualInterfaceResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_local_gateway_virtual_interface_group.py b/sdk/python/pulumi_aws/ec2/get_local_gateway_virtual_interface_group.py index 60b25eb8629..7e1bc623750 100644 --- a/sdk/python/pulumi_aws/ec2/get_local_gateway_virtual_interface_group.py +++ b/sdk/python/pulumi_aws/ec2/get_local_gateway_virtual_interface_group.py @@ -128,7 +128,7 @@ def get_local_gateway_virtual_interface_group_output(filters: Optional[pulumi.In id: Optional[pulumi.Input[Optional[str]]] = None, local_gateway_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLocalGatewayVirtualInterfaceGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLocalGatewayVirtualInterfaceGroupResult]: """ Provides details about an EC2 Local Gateway Virtual Interface Group. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). @@ -152,7 +152,7 @@ def get_local_gateway_virtual_interface_group_output(filters: Optional[pulumi.In __args__['id'] = id __args__['localGatewayId'] = local_gateway_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup', __args__, opts=opts, typ=GetLocalGatewayVirtualInterfaceGroupResult) return __ret__.apply(lambda __response__: GetLocalGatewayVirtualInterfaceGroupResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_local_gateway_virtual_interface_groups.py b/sdk/python/pulumi_aws/ec2/get_local_gateway_virtual_interface_groups.py index 9cbd6449a63..310c171cc18 100644 --- a/sdk/python/pulumi_aws/ec2/get_local_gateway_virtual_interface_groups.py +++ b/sdk/python/pulumi_aws/ec2/get_local_gateway_virtual_interface_groups.py @@ -126,7 +126,7 @@ def get_local_gateway_virtual_interface_groups(filters: Optional[Sequence[Union[ tags=pulumi.get(__ret__, 'tags')) def get_local_gateway_virtual_interface_groups_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetLocalGatewayVirtualInterfaceGroupsFilterArgs', 'GetLocalGatewayVirtualInterfaceGroupsFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLocalGatewayVirtualInterfaceGroupsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLocalGatewayVirtualInterfaceGroupsResult]: """ Provides details about multiple EC2 Local Gateway Virtual Interface Groups, such as identifiers. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). @@ -146,7 +146,7 @@ def get_local_gateway_virtual_interface_groups_output(filters: Optional[pulumi.I __args__ = dict() __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups', __args__, opts=opts, typ=GetLocalGatewayVirtualInterfaceGroupsResult) return __ret__.apply(lambda __response__: GetLocalGatewayVirtualInterfaceGroupsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_local_gateways.py b/sdk/python/pulumi_aws/ec2/get_local_gateways.py index 786fc2e7796..1bf0799438c 100644 --- a/sdk/python/pulumi_aws/ec2/get_local_gateways.py +++ b/sdk/python/pulumi_aws/ec2/get_local_gateways.py @@ -122,7 +122,7 @@ def get_local_gateways(filters: Optional[Sequence[Union['GetLocalGatewaysFilterA tags=pulumi.get(__ret__, 'tags')) def get_local_gateways_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetLocalGatewaysFilterArgs', 'GetLocalGatewaysFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLocalGatewaysResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLocalGatewaysResult]: """ Provides information for multiple EC2 Local Gateways, such as their identifiers. @@ -151,7 +151,7 @@ def get_local_gateways_output(filters: Optional[pulumi.Input[Optional[Sequence[U __args__ = dict() __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getLocalGateways:getLocalGateways', __args__, opts=opts, typ=GetLocalGatewaysResult) return __ret__.apply(lambda __response__: GetLocalGatewaysResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_managed_prefix_list.py b/sdk/python/pulumi_aws/ec2/get_managed_prefix_list.py index 13195c97e6b..776f84adb32 100644 --- a/sdk/python/pulumi_aws/ec2/get_managed_prefix_list.py +++ b/sdk/python/pulumi_aws/ec2/get_managed_prefix_list.py @@ -215,7 +215,7 @@ def get_managed_prefix_list_output(filters: Optional[pulumi.Input[Optional[Seque id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetManagedPrefixListResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetManagedPrefixListResult]: """ `ec2.ManagedPrefixList` provides details about a specific AWS prefix list or customer-managed prefix list in the current region. @@ -255,7 +255,7 @@ def get_managed_prefix_list_output(filters: Optional[pulumi.Input[Optional[Seque __args__['id'] = id __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getManagedPrefixList:getManagedPrefixList', __args__, opts=opts, typ=GetManagedPrefixListResult) return __ret__.apply(lambda __response__: GetManagedPrefixListResult( address_family=pulumi.get(__response__, 'address_family'), diff --git a/sdk/python/pulumi_aws/ec2/get_managed_prefix_lists.py b/sdk/python/pulumi_aws/ec2/get_managed_prefix_lists.py index 8fc8413536a..9a224583e73 100644 --- a/sdk/python/pulumi_aws/ec2/get_managed_prefix_lists.py +++ b/sdk/python/pulumi_aws/ec2/get_managed_prefix_lists.py @@ -122,7 +122,7 @@ def get_managed_prefix_lists(filters: Optional[Sequence[Union['GetManagedPrefixL tags=pulumi.get(__ret__, 'tags')) def get_managed_prefix_lists_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetManagedPrefixListsFilterArgs', 'GetManagedPrefixListsFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetManagedPrefixListsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetManagedPrefixListsResult]: """ This resource can be useful for getting back a list of managed prefix list ids to be referenced elsewhere. @@ -151,7 +151,7 @@ def get_managed_prefix_lists_output(filters: Optional[pulumi.Input[Optional[Sequ __args__ = dict() __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getManagedPrefixLists:getManagedPrefixLists', __args__, opts=opts, typ=GetManagedPrefixListsResult) return __ret__.apply(lambda __response__: GetManagedPrefixListsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_nat_gateway.py b/sdk/python/pulumi_aws/ec2/get_nat_gateway.py index cd5c1b15ef5..44ea6f14931 100644 --- a/sdk/python/pulumi_aws/ec2/get_nat_gateway.py +++ b/sdk/python/pulumi_aws/ec2/get_nat_gateway.py @@ -276,7 +276,7 @@ def get_nat_gateway_output(filters: Optional[pulumi.Input[Optional[Sequence[Unio subnet_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, vpc_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNatGatewayResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNatGatewayResult]: """ Provides details about a specific VPC NAT Gateway. @@ -320,7 +320,7 @@ def get_nat_gateway_output(filters: Optional[pulumi.Input[Optional[Sequence[Unio __args__['subnetId'] = subnet_id __args__['tags'] = tags __args__['vpcId'] = vpc_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getNatGateway:getNatGateway', __args__, opts=opts, typ=GetNatGatewayResult) return __ret__.apply(lambda __response__: GetNatGatewayResult( allocation_id=pulumi.get(__response__, 'allocation_id'), diff --git a/sdk/python/pulumi_aws/ec2/get_nat_gateways.py b/sdk/python/pulumi_aws/ec2/get_nat_gateways.py index 23d6ac931dd..5bbe0f34ae7 100644 --- a/sdk/python/pulumi_aws/ec2/get_nat_gateways.py +++ b/sdk/python/pulumi_aws/ec2/get_nat_gateways.py @@ -138,7 +138,7 @@ def get_nat_gateways(filters: Optional[Sequence[Union['GetNatGatewaysFilterArgs' def get_nat_gateways_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetNatGatewaysFilterArgs', 'GetNatGatewaysFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, vpc_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNatGatewaysResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNatGatewaysResult]: """ This resource can be useful for getting back a list of NAT gateway ids to be referenced elsewhere. @@ -171,7 +171,7 @@ def get_nat_gateways_output(filters: Optional[pulumi.Input[Optional[Sequence[Uni __args__['filters'] = filters __args__['tags'] = tags __args__['vpcId'] = vpc_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getNatGateways:getNatGateways', __args__, opts=opts, typ=GetNatGatewaysResult) return __ret__.apply(lambda __response__: GetNatGatewaysResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_network_acls.py b/sdk/python/pulumi_aws/ec2/get_network_acls.py index da4ed551c21..562e250af3a 100644 --- a/sdk/python/pulumi_aws/ec2/get_network_acls.py +++ b/sdk/python/pulumi_aws/ec2/get_network_acls.py @@ -159,7 +159,7 @@ def get_network_acls(filters: Optional[Sequence[Union['GetNetworkAclsFilterArgs' def get_network_acls_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetNetworkAclsFilterArgs', 'GetNetworkAclsFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, vpc_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNetworkAclsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNetworkAclsResult]: """ ## Example Usage @@ -213,7 +213,7 @@ def get_network_acls_output(filters: Optional[pulumi.Input[Optional[Sequence[Uni __args__['filters'] = filters __args__['tags'] = tags __args__['vpcId'] = vpc_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getNetworkAcls:getNetworkAcls', __args__, opts=opts, typ=GetNetworkAclsResult) return __ret__.apply(lambda __response__: GetNetworkAclsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_network_insights_analysis.py b/sdk/python/pulumi_aws/ec2/get_network_insights_analysis.py index 172f5e4737b..39ebff46399 100644 --- a/sdk/python/pulumi_aws/ec2/get_network_insights_analysis.py +++ b/sdk/python/pulumi_aws/ec2/get_network_insights_analysis.py @@ -269,7 +269,7 @@ def get_network_insights_analysis(filters: Optional[Sequence[Union['GetNetworkIn def get_network_insights_analysis_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetNetworkInsightsAnalysisFilterArgs', 'GetNetworkInsightsAnalysisFilterArgsDict']]]]] = None, network_insights_analysis_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNetworkInsightsAnalysisResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNetworkInsightsAnalysisResult]: """ `ec2.NetworkInsightsAnalysis` provides details about a specific Network Insights Analysis. @@ -290,7 +290,7 @@ def get_network_insights_analysis_output(filters: Optional[pulumi.Input[Optional __args__['filters'] = filters __args__['networkInsightsAnalysisId'] = network_insights_analysis_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis', __args__, opts=opts, typ=GetNetworkInsightsAnalysisResult) return __ret__.apply(lambda __response__: GetNetworkInsightsAnalysisResult( alternate_path_hints=pulumi.get(__response__, 'alternate_path_hints'), diff --git a/sdk/python/pulumi_aws/ec2/get_network_insights_path.py b/sdk/python/pulumi_aws/ec2/get_network_insights_path.py index d0e9ea088e7..d5d7b2ab457 100644 --- a/sdk/python/pulumi_aws/ec2/get_network_insights_path.py +++ b/sdk/python/pulumi_aws/ec2/get_network_insights_path.py @@ -234,7 +234,7 @@ def get_network_insights_path(filters: Optional[Sequence[Union['GetNetworkInsigh def get_network_insights_path_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetNetworkInsightsPathFilterArgs', 'GetNetworkInsightsPathFilterArgsDict']]]]] = None, network_insights_path_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNetworkInsightsPathResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNetworkInsightsPathResult]: """ `ec2.NetworkInsightsPath` provides details about a specific Network Insights Path. @@ -256,7 +256,7 @@ def get_network_insights_path_output(filters: Optional[pulumi.Input[Optional[Seq __args__['filters'] = filters __args__['networkInsightsPathId'] = network_insights_path_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath', __args__, opts=opts, typ=GetNetworkInsightsPathResult) return __ret__.apply(lambda __response__: GetNetworkInsightsPathResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2/get_network_interface.py b/sdk/python/pulumi_aws/ec2/get_network_interface.py index 2449c62cfa6..db7d5134a08 100644 --- a/sdk/python/pulumi_aws/ec2/get_network_interface.py +++ b/sdk/python/pulumi_aws/ec2/get_network_interface.py @@ -322,7 +322,7 @@ def get_network_interface(filters: Optional[Sequence[Union['GetNetworkInterfaceF def get_network_interface_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetNetworkInterfaceFilterArgs', 'GetNetworkInterfaceFilterArgsDict']]]]] = None, id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNetworkInterfaceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNetworkInterfaceResult]: """ Use this data source to get information about a Network Interface. @@ -344,7 +344,7 @@ def get_network_interface_output(filters: Optional[pulumi.Input[Optional[Sequenc __args__['filters'] = filters __args__['id'] = id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getNetworkInterface:getNetworkInterface', __args__, opts=opts, typ=GetNetworkInterfaceResult) return __ret__.apply(lambda __response__: GetNetworkInterfaceResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2/get_network_interfaces.py b/sdk/python/pulumi_aws/ec2/get_network_interfaces.py index cd046f4d817..821c3269d69 100644 --- a/sdk/python/pulumi_aws/ec2/get_network_interfaces.py +++ b/sdk/python/pulumi_aws/ec2/get_network_interfaces.py @@ -144,7 +144,7 @@ def get_network_interfaces(filters: Optional[Sequence[Union['GetNetworkInterface tags=pulumi.get(__ret__, 'tags')) def get_network_interfaces_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetNetworkInterfacesFilterArgs', 'GetNetworkInterfacesFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNetworkInterfacesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNetworkInterfacesResult]: """ ## Example Usage @@ -195,7 +195,7 @@ def get_network_interfaces_output(filters: Optional[pulumi.Input[Optional[Sequen __args__ = dict() __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getNetworkInterfaces:getNetworkInterfaces', __args__, opts=opts, typ=GetNetworkInterfacesResult) return __ret__.apply(lambda __response__: GetNetworkInterfacesResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_prefix_list.py b/sdk/python/pulumi_aws/ec2/get_prefix_list.py index 18b1efc112b..23f0fe36534 100644 --- a/sdk/python/pulumi_aws/ec2/get_prefix_list.py +++ b/sdk/python/pulumi_aws/ec2/get_prefix_list.py @@ -163,7 +163,7 @@ def get_prefix_list(filters: Optional[Sequence[Union['GetPrefixListFilterArgs', def get_prefix_list_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetPrefixListFilterArgs', 'GetPrefixListFilterArgsDict']]]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, prefix_list_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPrefixListResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPrefixListResult]: """ `ec2_get_prefix_list` provides details about a specific AWS prefix list (PL) in the current region. @@ -218,7 +218,7 @@ def get_prefix_list_output(filters: Optional[pulumi.Input[Optional[Sequence[Unio __args__['filters'] = filters __args__['name'] = name __args__['prefixListId'] = prefix_list_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getPrefixList:getPrefixList', __args__, opts=opts, typ=GetPrefixListResult) return __ret__.apply(lambda __response__: GetPrefixListResult( cidr_blocks=pulumi.get(__response__, 'cidr_blocks'), diff --git a/sdk/python/pulumi_aws/ec2/get_public_ipv4_pool.py b/sdk/python/pulumi_aws/ec2/get_public_ipv4_pool.py index 47065177108..db51a1fb175 100644 --- a/sdk/python/pulumi_aws/ec2/get_public_ipv4_pool.py +++ b/sdk/python/pulumi_aws/ec2/get_public_ipv4_pool.py @@ -167,7 +167,7 @@ def get_public_ipv4_pool(pool_id: Optional[str] = None, total_available_address_count=pulumi.get(__ret__, 'total_available_address_count')) def get_public_ipv4_pool_output(pool_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPublicIpv4PoolResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPublicIpv4PoolResult]: """ Provides details about a specific AWS EC2 Public IPv4 Pool. @@ -189,7 +189,7 @@ def get_public_ipv4_pool_output(pool_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['poolId'] = pool_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getPublicIpv4Pool:getPublicIpv4Pool', __args__, opts=opts, typ=GetPublicIpv4PoolResult) return __ret__.apply(lambda __response__: GetPublicIpv4PoolResult( description=pulumi.get(__response__, 'description'), diff --git a/sdk/python/pulumi_aws/ec2/get_public_ipv4_pools.py b/sdk/python/pulumi_aws/ec2/get_public_ipv4_pools.py index d350ff8ca6c..0aca746c133 100644 --- a/sdk/python/pulumi_aws/ec2/get_public_ipv4_pools.py +++ b/sdk/python/pulumi_aws/ec2/get_public_ipv4_pools.py @@ -131,7 +131,7 @@ def get_public_ipv4_pools(filters: Optional[Sequence[Union['GetPublicIpv4PoolsFi tags=pulumi.get(__ret__, 'tags')) def get_public_ipv4_pools_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetPublicIpv4PoolsFilterArgs', 'GetPublicIpv4PoolsFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPublicIpv4PoolsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPublicIpv4PoolsResult]: """ Data source for getting information about AWS EC2 Public IPv4 Pools. @@ -169,7 +169,7 @@ def get_public_ipv4_pools_output(filters: Optional[pulumi.Input[Optional[Sequenc __args__ = dict() __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getPublicIpv4Pools:getPublicIpv4Pools', __args__, opts=opts, typ=GetPublicIpv4PoolsResult) return __ret__.apply(lambda __response__: GetPublicIpv4PoolsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_route.py b/sdk/python/pulumi_aws/ec2/get_route.py index 04a60928cfd..b4620e8f7bb 100644 --- a/sdk/python/pulumi_aws/ec2/get_route.py +++ b/sdk/python/pulumi_aws/ec2/get_route.py @@ -277,7 +277,7 @@ def get_route_output(carrier_gateway_id: Optional[pulumi.Input[Optional[str]]] = route_table_id: Optional[pulumi.Input[str]] = None, transit_gateway_id: Optional[pulumi.Input[Optional[str]]] = None, vpc_peering_connection_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRouteResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRouteResult]: """ `ec2.Route` provides details about a specific Route. @@ -332,7 +332,7 @@ def get_route_output(carrier_gateway_id: Optional[pulumi.Input[Optional[str]]] = __args__['routeTableId'] = route_table_id __args__['transitGatewayId'] = transit_gateway_id __args__['vpcPeeringConnectionId'] = vpc_peering_connection_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getRoute:getRoute', __args__, opts=opts, typ=GetRouteResult) return __ret__.apply(lambda __response__: GetRouteResult( carrier_gateway_id=pulumi.get(__response__, 'carrier_gateway_id'), diff --git a/sdk/python/pulumi_aws/ec2/get_route_table.py b/sdk/python/pulumi_aws/ec2/get_route_table.py index 142b1e35289..dfa12918876 100644 --- a/sdk/python/pulumi_aws/ec2/get_route_table.py +++ b/sdk/python/pulumi_aws/ec2/get_route_table.py @@ -227,7 +227,7 @@ def get_route_table_output(filters: Optional[pulumi.Input[Optional[Sequence[Unio subnet_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, vpc_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRouteTableResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRouteTableResult]: """ `ec2.RouteTable` provides details about a specific Route Table. @@ -265,7 +265,7 @@ def get_route_table_output(filters: Optional[pulumi.Input[Optional[Sequence[Unio __args__['subnetId'] = subnet_id __args__['tags'] = tags __args__['vpcId'] = vpc_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getRouteTable:getRouteTable', __args__, opts=opts, typ=GetRouteTableResult) return __ret__.apply(lambda __response__: GetRouteTableResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2/get_route_tables.py b/sdk/python/pulumi_aws/ec2/get_route_tables.py index 9eed03053d3..ba26272429b 100644 --- a/sdk/python/pulumi_aws/ec2/get_route_tables.py +++ b/sdk/python/pulumi_aws/ec2/get_route_tables.py @@ -145,7 +145,7 @@ def get_route_tables(filters: Optional[Sequence[Union['GetRouteTablesFilterArgs' def get_route_tables_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetRouteTablesFilterArgs', 'GetRouteTablesFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, vpc_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRouteTablesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRouteTablesResult]: """ This resource can be useful for getting back a list of route table ids to be referenced elsewhere. @@ -185,7 +185,7 @@ def get_route_tables_output(filters: Optional[pulumi.Input[Optional[Sequence[Uni __args__['filters'] = filters __args__['tags'] = tags __args__['vpcId'] = vpc_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getRouteTables:getRouteTables', __args__, opts=opts, typ=GetRouteTablesResult) return __ret__.apply(lambda __response__: GetRouteTablesResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_security_group.py b/sdk/python/pulumi_aws/ec2/get_security_group.py index 47a2d706c2f..d2325a7a2d3 100644 --- a/sdk/python/pulumi_aws/ec2/get_security_group.py +++ b/sdk/python/pulumi_aws/ec2/get_security_group.py @@ -172,7 +172,7 @@ def get_security_group_output(filters: Optional[pulumi.Input[Optional[Sequence[U name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, vpc_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecurityGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecurityGroupResult]: """ `ec2.SecurityGroup` provides details about a specific Security Group. @@ -215,7 +215,7 @@ def get_security_group_output(filters: Optional[pulumi.Input[Optional[Sequence[U __args__['name'] = name __args__['tags'] = tags __args__['vpcId'] = vpc_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getSecurityGroup:getSecurityGroup', __args__, opts=opts, typ=GetSecurityGroupResult) return __ret__.apply(lambda __response__: GetSecurityGroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2/get_security_groups.py b/sdk/python/pulumi_aws/ec2/get_security_groups.py index bdb57ad44c7..9b5f63af44b 100644 --- a/sdk/python/pulumi_aws/ec2/get_security_groups.py +++ b/sdk/python/pulumi_aws/ec2/get_security_groups.py @@ -158,7 +158,7 @@ def get_security_groups(filters: Optional[Sequence[Union['GetSecurityGroupsFilte vpc_ids=pulumi.get(__ret__, 'vpc_ids')) def get_security_groups_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetSecurityGroupsFilterArgs', 'GetSecurityGroupsFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecurityGroupsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecurityGroupsResult]: """ Use this data source to get IDs and VPC membership of Security Groups that are created outside this provider. @@ -197,7 +197,7 @@ def get_security_groups_output(filters: Optional[pulumi.Input[Optional[Sequence[ __args__ = dict() __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getSecurityGroups:getSecurityGroups', __args__, opts=opts, typ=GetSecurityGroupsResult) return __ret__.apply(lambda __response__: GetSecurityGroupsResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/ec2/get_serial_console_access.py b/sdk/python/pulumi_aws/ec2/get_serial_console_access.py index cce45a90996..4654a7d39af 100644 --- a/sdk/python/pulumi_aws/ec2/get_serial_console_access.py +++ b/sdk/python/pulumi_aws/ec2/get_serial_console_access.py @@ -81,7 +81,7 @@ def get_serial_console_access(opts: Optional[pulumi.InvokeOptions] = None) -> Aw return AwaitableGetSerialConsoleAccessResult( enabled=pulumi.get(__ret__, 'enabled'), id=pulumi.get(__ret__, 'id')) -def get_serial_console_access_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSerialConsoleAccessResult]: +def get_serial_console_access_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSerialConsoleAccessResult]: """ Provides a way to check whether serial console access is enabled for your AWS account in the current AWS region. @@ -95,7 +95,7 @@ def get_serial_console_access_output(opts: Optional[Union[pulumi.InvokeOptions, ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getSerialConsoleAccess:getSerialConsoleAccess', __args__, opts=opts, typ=GetSerialConsoleAccessResult) return __ret__.apply(lambda __response__: GetSerialConsoleAccessResult( enabled=pulumi.get(__response__, 'enabled'), diff --git a/sdk/python/pulumi_aws/ec2/get_spot_datafeed_subscription.py b/sdk/python/pulumi_aws/ec2/get_spot_datafeed_subscription.py index 239715f7cde..9ba7c152a43 100644 --- a/sdk/python/pulumi_aws/ec2/get_spot_datafeed_subscription.py +++ b/sdk/python/pulumi_aws/ec2/get_spot_datafeed_subscription.py @@ -96,7 +96,7 @@ def get_spot_datafeed_subscription(opts: Optional[pulumi.InvokeOptions] = None) bucket=pulumi.get(__ret__, 'bucket'), id=pulumi.get(__ret__, 'id'), prefix=pulumi.get(__ret__, 'prefix')) -def get_spot_datafeed_subscription_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSpotDatafeedSubscriptionResult]: +def get_spot_datafeed_subscription_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSpotDatafeedSubscriptionResult]: """ > There is only a single spot data feed subscription per account. @@ -112,7 +112,7 @@ def get_spot_datafeed_subscription_output(opts: Optional[Union[pulumi.InvokeOpti ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getSpotDatafeedSubscription:getSpotDatafeedSubscription', __args__, opts=opts, typ=GetSpotDatafeedSubscriptionResult) return __ret__.apply(lambda __response__: GetSpotDatafeedSubscriptionResult( bucket=pulumi.get(__response__, 'bucket'), diff --git a/sdk/python/pulumi_aws/ec2/get_spot_price.py b/sdk/python/pulumi_aws/ec2/get_spot_price.py index 65a2f92eddf..193ba5dcaf4 100644 --- a/sdk/python/pulumi_aws/ec2/get_spot_price.py +++ b/sdk/python/pulumi_aws/ec2/get_spot_price.py @@ -145,7 +145,7 @@ def get_spot_price(availability_zone: Optional[str] = None, def get_spot_price_output(availability_zone: Optional[pulumi.Input[Optional[str]]] = None, filters: Optional[pulumi.Input[Optional[Sequence[Union['GetSpotPriceFilterArgs', 'GetSpotPriceFilterArgsDict']]]]] = None, instance_type: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSpotPriceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSpotPriceResult]: """ Information about most recent Spot Price for a given EC2 instance. @@ -172,7 +172,7 @@ def get_spot_price_output(availability_zone: Optional[pulumi.Input[Optional[str] __args__['availabilityZone'] = availability_zone __args__['filters'] = filters __args__['instanceType'] = instance_type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getSpotPrice:getSpotPrice', __args__, opts=opts, typ=GetSpotPriceResult) return __ret__.apply(lambda __response__: GetSpotPriceResult( availability_zone=pulumi.get(__response__, 'availability_zone'), diff --git a/sdk/python/pulumi_aws/ec2/get_subnet.py b/sdk/python/pulumi_aws/ec2/get_subnet.py index 8a3a1b9d724..822df6d8f36 100644 --- a/sdk/python/pulumi_aws/ec2/get_subnet.py +++ b/sdk/python/pulumi_aws/ec2/get_subnet.py @@ -422,7 +422,7 @@ def get_subnet_output(availability_zone: Optional[pulumi.Input[Optional[str]]] = state: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, vpc_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSubnetResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSubnetResult]: """ `ec2.Subnet` provides details about a specific VPC subnet. @@ -486,7 +486,7 @@ def get_subnet_output(availability_zone: Optional[pulumi.Input[Optional[str]]] = __args__['state'] = state __args__['tags'] = tags __args__['vpcId'] = vpc_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getSubnet:getSubnet', __args__, opts=opts, typ=GetSubnetResult) return __ret__.apply(lambda __response__: GetSubnetResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2/get_subnets.py b/sdk/python/pulumi_aws/ec2/get_subnets.py index f7efcfec4b3..4c1bcfb9414 100644 --- a/sdk/python/pulumi_aws/ec2/get_subnets.py +++ b/sdk/python/pulumi_aws/ec2/get_subnets.py @@ -108,7 +108,7 @@ def get_subnets(filters: Optional[Sequence[Union['GetSubnetsFilterArgs', 'GetSub tags=pulumi.get(__ret__, 'tags')) def get_subnets_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetSubnetsFilterArgs', 'GetSubnetsFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSubnetsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSubnetsResult]: """ This resource can be useful for getting back a set of subnet IDs. @@ -123,7 +123,7 @@ def get_subnets_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['G __args__ = dict() __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getSubnets:getSubnets', __args__, opts=opts, typ=GetSubnetsResult) return __ret__.apply(lambda __response__: GetSubnetsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_transit_gateway_route_tables.py b/sdk/python/pulumi_aws/ec2/get_transit_gateway_route_tables.py index 7dcd692580a..d4377432824 100644 --- a/sdk/python/pulumi_aws/ec2/get_transit_gateway_route_tables.py +++ b/sdk/python/pulumi_aws/ec2/get_transit_gateway_route_tables.py @@ -120,7 +120,7 @@ def get_transit_gateway_route_tables(filters: Optional[Sequence[Union['GetTransi tags=pulumi.get(__ret__, 'tags')) def get_transit_gateway_route_tables_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetTransitGatewayRouteTablesFilterArgs', 'GetTransitGatewayRouteTablesFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTransitGatewayRouteTablesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTransitGatewayRouteTablesResult]: """ Provides information for multiple EC2 Transit Gateway Route Tables, such as their identifiers. @@ -147,7 +147,7 @@ def get_transit_gateway_route_tables_output(filters: Optional[pulumi.Input[Optio __args__ = dict() __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables', __args__, opts=opts, typ=GetTransitGatewayRouteTablesResult) return __ret__.apply(lambda __response__: GetTransitGatewayRouteTablesResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_vpc.py b/sdk/python/pulumi_aws/ec2/get_vpc.py index 97167b37830..94bdc15261d 100644 --- a/sdk/python/pulumi_aws/ec2/get_vpc.py +++ b/sdk/python/pulumi_aws/ec2/get_vpc.py @@ -314,7 +314,7 @@ def get_vpc_output(cidr_block: Optional[pulumi.Input[Optional[str]]] = None, id: Optional[pulumi.Input[Optional[str]]] = None, state: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcResult]: """ `ec2.Vpc` provides details about a specific VPC. @@ -367,7 +367,7 @@ def get_vpc_output(cidr_block: Optional[pulumi.Input[Optional[str]]] = None, __args__['id'] = id __args__['state'] = state __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getVpc:getVpc', __args__, opts=opts, typ=GetVpcResult) return __ret__.apply(lambda __response__: GetVpcResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2/get_vpc_dhcp_options.py b/sdk/python/pulumi_aws/ec2/get_vpc_dhcp_options.py index 325c1206905..05fdf8496b5 100644 --- a/sdk/python/pulumi_aws/ec2/get_vpc_dhcp_options.py +++ b/sdk/python/pulumi_aws/ec2/get_vpc_dhcp_options.py @@ -244,7 +244,7 @@ def get_vpc_dhcp_options(dhcp_options_id: Optional[str] = None, def get_vpc_dhcp_options_output(dhcp_options_id: Optional[pulumi.Input[Optional[str]]] = None, filters: Optional[pulumi.Input[Optional[Sequence[Union['GetVpcDhcpOptionsFilterArgs', 'GetVpcDhcpOptionsFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcDhcpOptionsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcDhcpOptionsResult]: """ Retrieve information about an EC2 DHCP Options configuration. @@ -286,7 +286,7 @@ def get_vpc_dhcp_options_output(dhcp_options_id: Optional[pulumi.Input[Optional[ __args__['dhcpOptionsId'] = dhcp_options_id __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions', __args__, opts=opts, typ=GetVpcDhcpOptionsResult) return __ret__.apply(lambda __response__: GetVpcDhcpOptionsResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2/get_vpc_endpoint.py b/sdk/python/pulumi_aws/ec2/get_vpc_endpoint.py index e343b4d2fec..a63eb92614b 100644 --- a/sdk/python/pulumi_aws/ec2/get_vpc_endpoint.py +++ b/sdk/python/pulumi_aws/ec2/get_vpc_endpoint.py @@ -345,7 +345,7 @@ def get_vpc_endpoint_output(filters: Optional[pulumi.Input[Optional[Sequence[Uni state: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, vpc_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcEndpointResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcEndpointResult]: """ The VPC Endpoint data source provides details about a specific VPC endpoint. @@ -383,7 +383,7 @@ def get_vpc_endpoint_output(filters: Optional[pulumi.Input[Optional[Sequence[Uni __args__['state'] = state __args__['tags'] = tags __args__['vpcId'] = vpc_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getVpcEndpoint:getVpcEndpoint', __args__, opts=opts, typ=GetVpcEndpointResult) return __ret__.apply(lambda __response__: GetVpcEndpointResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2/get_vpc_endpoint_service.py b/sdk/python/pulumi_aws/ec2/get_vpc_endpoint_service.py index 19dfe087e1f..6d2799c8e91 100644 --- a/sdk/python/pulumi_aws/ec2/get_vpc_endpoint_service.py +++ b/sdk/python/pulumi_aws/ec2/get_vpc_endpoint_service.py @@ -322,7 +322,7 @@ def get_vpc_endpoint_service_output(filters: Optional[pulumi.Input[Optional[Sequ service_name: Optional[pulumi.Input[Optional[str]]] = None, service_type: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcEndpointServiceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcEndpointServiceResult]: """ The VPC Endpoint Service data source details about a specific service that can be specified when creating a VPC endpoint within the region configured in the provider. @@ -382,7 +382,7 @@ def get_vpc_endpoint_service_output(filters: Optional[pulumi.Input[Optional[Sequ __args__['serviceName'] = service_name __args__['serviceType'] = service_type __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getVpcEndpointService:getVpcEndpointService', __args__, opts=opts, typ=GetVpcEndpointServiceResult) return __ret__.apply(lambda __response__: GetVpcEndpointServiceResult( acceptance_required=pulumi.get(__response__, 'acceptance_required'), diff --git a/sdk/python/pulumi_aws/ec2/get_vpc_iam_pool.py b/sdk/python/pulumi_aws/ec2/get_vpc_iam_pool.py index 2ce95df1876..bbf926beff0 100644 --- a/sdk/python/pulumi_aws/ec2/get_vpc_iam_pool.py +++ b/sdk/python/pulumi_aws/ec2/get_vpc_iam_pool.py @@ -347,7 +347,7 @@ def get_vpc_iam_pool_output(allocation_resource_tags: Optional[pulumi.Input[Opti id: Optional[pulumi.Input[Optional[str]]] = None, ipam_pool_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcIamPoolResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcIamPoolResult]: """ `ec2.VpcIpamPool` provides details about an IPAM pool. @@ -394,7 +394,7 @@ def get_vpc_iam_pool_output(allocation_resource_tags: Optional[pulumi.Input[Opti __args__['id'] = id __args__['ipamPoolId'] = ipam_pool_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getVpcIamPool:getVpcIamPool', __args__, opts=opts, typ=GetVpcIamPoolResult) return __ret__.apply(lambda __response__: GetVpcIamPoolResult( address_family=pulumi.get(__response__, 'address_family'), diff --git a/sdk/python/pulumi_aws/ec2/get_vpc_iam_pool_cidrs.py b/sdk/python/pulumi_aws/ec2/get_vpc_iam_pool_cidrs.py index 91614c540b5..2d99bbbc837 100644 --- a/sdk/python/pulumi_aws/ec2/get_vpc_iam_pool_cidrs.py +++ b/sdk/python/pulumi_aws/ec2/get_vpc_iam_pool_cidrs.py @@ -152,7 +152,7 @@ def get_vpc_iam_pool_cidrs(filters: Optional[Sequence[Union['GetVpcIamPoolCidrsF ipam_pool_id=pulumi.get(__ret__, 'ipam_pool_id')) def get_vpc_iam_pool_cidrs_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetVpcIamPoolCidrsFilterArgs', 'GetVpcIamPoolCidrsFilterArgsDict']]]]] = None, ipam_pool_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcIamPoolCidrsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcIamPoolCidrsResult]: """ `ec2_get_vpc_ipam_pool_cidrs` provides details about an IPAM pool. @@ -209,7 +209,7 @@ def get_vpc_iam_pool_cidrs_output(filters: Optional[pulumi.Input[Optional[Sequen __args__ = dict() __args__['filters'] = filters __args__['ipamPoolId'] = ipam_pool_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs', __args__, opts=opts, typ=GetVpcIamPoolCidrsResult) return __ret__.apply(lambda __response__: GetVpcIamPoolCidrsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_vpc_iam_pools.py b/sdk/python/pulumi_aws/ec2/get_vpc_iam_pools.py index 017d7dd9bca..014cbd86d77 100644 --- a/sdk/python/pulumi_aws/ec2/get_vpc_iam_pools.py +++ b/sdk/python/pulumi_aws/ec2/get_vpc_iam_pools.py @@ -115,7 +115,7 @@ def get_vpc_iam_pools(filters: Optional[Sequence[Union['GetVpcIamPoolsFilterArgs id=pulumi.get(__ret__, 'id'), ipam_pools=pulumi.get(__ret__, 'ipam_pools')) def get_vpc_iam_pools_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetVpcIamPoolsFilterArgs', 'GetVpcIamPoolsFilterArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcIamPoolsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcIamPoolsResult]: """ `ec2_get_vpc_ipam_pools` provides details about IPAM pools. @@ -147,7 +147,7 @@ def get_vpc_iam_pools_output(filters: Optional[pulumi.Input[Optional[Sequence[Un pulumi.log.warn("""get_vpc_iam_pools is deprecated: aws.ec2/getvpciampools.getVpcIamPools has been deprecated in favor of aws.ec2/getvpcipampools.getVpcIpamPools""") __args__ = dict() __args__['filters'] = filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getVpcIamPools:getVpcIamPools', __args__, opts=opts, typ=GetVpcIamPoolsResult) return __ret__.apply(lambda __response__: GetVpcIamPoolsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_vpc_ipam_pool.py b/sdk/python/pulumi_aws/ec2/get_vpc_ipam_pool.py index 6681c519cdd..91b3efd334a 100644 --- a/sdk/python/pulumi_aws/ec2/get_vpc_ipam_pool.py +++ b/sdk/python/pulumi_aws/ec2/get_vpc_ipam_pool.py @@ -344,7 +344,7 @@ def get_vpc_ipam_pool_output(allocation_resource_tags: Optional[pulumi.Input[Opt id: Optional[pulumi.Input[Optional[str]]] = None, ipam_pool_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcIpamPoolResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcIpamPoolResult]: """ `ec2.VpcIpamPool` provides details about an IPAM pool. @@ -390,7 +390,7 @@ def get_vpc_ipam_pool_output(allocation_resource_tags: Optional[pulumi.Input[Opt __args__['id'] = id __args__['ipamPoolId'] = ipam_pool_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getVpcIpamPool:getVpcIpamPool', __args__, opts=opts, typ=GetVpcIpamPoolResult) return __ret__.apply(lambda __response__: GetVpcIpamPoolResult( address_family=pulumi.get(__response__, 'address_family'), diff --git a/sdk/python/pulumi_aws/ec2/get_vpc_ipam_pool_cidrs.py b/sdk/python/pulumi_aws/ec2/get_vpc_ipam_pool_cidrs.py index 68216775ff8..7e6375e8938 100644 --- a/sdk/python/pulumi_aws/ec2/get_vpc_ipam_pool_cidrs.py +++ b/sdk/python/pulumi_aws/ec2/get_vpc_ipam_pool_cidrs.py @@ -149,7 +149,7 @@ def get_vpc_ipam_pool_cidrs(filters: Optional[Sequence[Union['GetVpcIpamPoolCidr ipam_pool_id=pulumi.get(__ret__, 'ipam_pool_id')) def get_vpc_ipam_pool_cidrs_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetVpcIpamPoolCidrsFilterArgs', 'GetVpcIpamPoolCidrsFilterArgsDict']]]]] = None, ipam_pool_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcIpamPoolCidrsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcIpamPoolCidrsResult]: """ `ec2_get_vpc_ipam_pool_cidrs` provides details about an IPAM pool. @@ -205,7 +205,7 @@ def get_vpc_ipam_pool_cidrs_output(filters: Optional[pulumi.Input[Optional[Seque __args__ = dict() __args__['filters'] = filters __args__['ipamPoolId'] = ipam_pool_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getVpcIpamPoolCidrs:getVpcIpamPoolCidrs', __args__, opts=opts, typ=GetVpcIpamPoolCidrsResult) return __ret__.apply(lambda __response__: GetVpcIpamPoolCidrsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_vpc_ipam_pools.py b/sdk/python/pulumi_aws/ec2/get_vpc_ipam_pools.py index 0eae9f65735..d2a0d7aeacb 100644 --- a/sdk/python/pulumi_aws/ec2/get_vpc_ipam_pools.py +++ b/sdk/python/pulumi_aws/ec2/get_vpc_ipam_pools.py @@ -112,7 +112,7 @@ def get_vpc_ipam_pools(filters: Optional[Sequence[Union['GetVpcIpamPoolsFilterAr id=pulumi.get(__ret__, 'id'), ipam_pools=pulumi.get(__ret__, 'ipam_pools')) def get_vpc_ipam_pools_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetVpcIpamPoolsFilterArgs', 'GetVpcIpamPoolsFilterArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcIpamPoolsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcIpamPoolsResult]: """ `ec2_get_vpc_ipam_pools` provides details about IPAM pools. @@ -143,7 +143,7 @@ def get_vpc_ipam_pools_output(filters: Optional[pulumi.Input[Optional[Sequence[U """ __args__ = dict() __args__['filters'] = filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getVpcIpamPools:getVpcIpamPools', __args__, opts=opts, typ=GetVpcIpamPoolsResult) return __ret__.apply(lambda __response__: GetVpcIpamPoolsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_vpc_peering_connection.py b/sdk/python/pulumi_aws/ec2/get_vpc_peering_connection.py index 341b5879248..77bc1530163 100644 --- a/sdk/python/pulumi_aws/ec2/get_vpc_peering_connection.py +++ b/sdk/python/pulumi_aws/ec2/get_vpc_peering_connection.py @@ -324,7 +324,7 @@ def get_vpc_peering_connection_output(cidr_block: Optional[pulumi.Input[Optional status: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, vpc_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcPeeringConnectionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcPeeringConnectionResult]: """ The VPC Peering Connection data source provides details about a specific VPC peering connection. @@ -378,7 +378,7 @@ def get_vpc_peering_connection_output(cidr_block: Optional[pulumi.Input[Optional __args__['status'] = status __args__['tags'] = tags __args__['vpcId'] = vpc_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection', __args__, opts=opts, typ=GetVpcPeeringConnectionResult) return __ret__.apply(lambda __response__: GetVpcPeeringConnectionResult( accepter=pulumi.get(__response__, 'accepter'), diff --git a/sdk/python/pulumi_aws/ec2/get_vpc_peering_connections.py b/sdk/python/pulumi_aws/ec2/get_vpc_peering_connections.py index 6e673763c26..b025353e180 100644 --- a/sdk/python/pulumi_aws/ec2/get_vpc_peering_connections.py +++ b/sdk/python/pulumi_aws/ec2/get_vpc_peering_connections.py @@ -127,7 +127,7 @@ def get_vpc_peering_connections(filters: Optional[Sequence[Union['GetVpcPeeringC tags=pulumi.get(__ret__, 'tags')) def get_vpc_peering_connections_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetVpcPeeringConnectionsFilterArgs', 'GetVpcPeeringConnectionsFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcPeeringConnectionsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcPeeringConnectionsResult]: """ Use this data source to get IDs of Amazon VPC peering connections To get more details on each connection, use the data resource ec2.VpcPeeringConnection @@ -161,7 +161,7 @@ def get_vpc_peering_connections_output(filters: Optional[pulumi.Input[Optional[S __args__ = dict() __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getVpcPeeringConnections:getVpcPeeringConnections', __args__, opts=opts, typ=GetVpcPeeringConnectionsResult) return __ret__.apply(lambda __response__: GetVpcPeeringConnectionsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_vpcs.py b/sdk/python/pulumi_aws/ec2/get_vpcs.py index cc6504d578f..fc73556256a 100644 --- a/sdk/python/pulumi_aws/ec2/get_vpcs.py +++ b/sdk/python/pulumi_aws/ec2/get_vpcs.py @@ -138,7 +138,7 @@ def get_vpcs(filters: Optional[Sequence[Union['GetVpcsFilterArgs', 'GetVpcsFilte tags=pulumi.get(__ret__, 'tags')) def get_vpcs_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetVpcsFilterArgs', 'GetVpcsFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcsResult]: """ This resource can be useful for getting back a list of VPC Ids for a region. @@ -183,7 +183,7 @@ def get_vpcs_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetV __args__ = dict() __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getVpcs:getVpcs', __args__, opts=opts, typ=GetVpcsResult) return __ret__.apply(lambda __response__: GetVpcsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2/get_vpn_gateway.py b/sdk/python/pulumi_aws/ec2/get_vpn_gateway.py index fe5704eed31..b7346a124d1 100644 --- a/sdk/python/pulumi_aws/ec2/get_vpn_gateway.py +++ b/sdk/python/pulumi_aws/ec2/get_vpn_gateway.py @@ -176,7 +176,7 @@ def get_vpn_gateway_output(amazon_side_asn: Optional[pulumi.Input[Optional[str]] id: Optional[pulumi.Input[Optional[str]]] = None, state: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpnGatewayResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpnGatewayResult]: """ The VPN Gateway data source provides details about a specific VPN gateway. @@ -215,7 +215,7 @@ def get_vpn_gateway_output(amazon_side_asn: Optional[pulumi.Input[Optional[str]] __args__['id'] = id __args__['state'] = state __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getVpnGateway:getVpnGateway', __args__, opts=opts, typ=GetVpnGatewayResult) return __ret__.apply(lambda __response__: GetVpnGatewayResult( amazon_side_asn=pulumi.get(__response__, 'amazon_side_asn'), diff --git a/sdk/python/pulumi_aws/ec2clientvpn/get_endpoint.py b/sdk/python/pulumi_aws/ec2clientvpn/get_endpoint.py index f4c8dcb798a..f8504d5df06 100644 --- a/sdk/python/pulumi_aws/ec2clientvpn/get_endpoint.py +++ b/sdk/python/pulumi_aws/ec2clientvpn/get_endpoint.py @@ -362,7 +362,7 @@ def get_endpoint(client_vpn_endpoint_id: Optional[str] = None, def get_endpoint_output(client_vpn_endpoint_id: Optional[pulumi.Input[Optional[str]]] = None, filters: Optional[pulumi.Input[Optional[Sequence[Union['GetEndpointFilterArgs', 'GetEndpointFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEndpointResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEndpointResult]: """ Get information on an EC2 Client VPN endpoint. @@ -398,7 +398,7 @@ def get_endpoint_output(client_vpn_endpoint_id: Optional[pulumi.Input[Optional[s __args__['clientVpnEndpointId'] = client_vpn_endpoint_id __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2clientvpn/getEndpoint:getEndpoint', __args__, opts=opts, typ=GetEndpointResult) return __ret__.apply(lambda __response__: GetEndpointResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2transitgateway/get_attachment.py b/sdk/python/pulumi_aws/ec2transitgateway/get_attachment.py index c1e0b81c46c..43ae58e98d4 100644 --- a/sdk/python/pulumi_aws/ec2transitgateway/get_attachment.py +++ b/sdk/python/pulumi_aws/ec2transitgateway/get_attachment.py @@ -243,7 +243,7 @@ def get_attachment(filters: Optional[Sequence[Union['GetAttachmentFilterArgs', ' def get_attachment_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetAttachmentFilterArgs', 'GetAttachmentFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, transit_gateway_attachment_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAttachmentResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAttachmentResult]: """ Get information on an EC2 Transit Gateway's attachment to a resource. @@ -274,7 +274,7 @@ def get_attachment_output(filters: Optional[pulumi.Input[Optional[Sequence[Union __args__['filters'] = filters __args__['tags'] = tags __args__['transitGatewayAttachmentId'] = transit_gateway_attachment_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2transitgateway/getAttachment:getAttachment', __args__, opts=opts, typ=GetAttachmentResult) return __ret__.apply(lambda __response__: GetAttachmentResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2transitgateway/get_attachments.py b/sdk/python/pulumi_aws/ec2transitgateway/get_attachments.py index 203dd469517..e9bf132b1de 100644 --- a/sdk/python/pulumi_aws/ec2transitgateway/get_attachments.py +++ b/sdk/python/pulumi_aws/ec2transitgateway/get_attachments.py @@ -124,7 +124,7 @@ def get_attachments(filters: Optional[Sequence[Union['GetAttachmentsFilterArgs', tags=pulumi.get(__ret__, 'tags')) def get_attachments_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetAttachmentsFilterArgs', 'GetAttachmentsFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAttachmentsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAttachmentsResult]: """ Get information on EC2 Transit Gateway Attachments. @@ -155,7 +155,7 @@ def get_attachments_output(filters: Optional[pulumi.Input[Optional[Sequence[Unio __args__ = dict() __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2transitgateway/getAttachments:getAttachments', __args__, opts=opts, typ=GetAttachmentsResult) return __ret__.apply(lambda __response__: GetAttachmentsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2transitgateway/get_connect.py b/sdk/python/pulumi_aws/ec2transitgateway/get_connect.py index d012e8e79dd..66bfdfbc123 100644 --- a/sdk/python/pulumi_aws/ec2transitgateway/get_connect.py +++ b/sdk/python/pulumi_aws/ec2transitgateway/get_connect.py @@ -170,7 +170,7 @@ def get_connect(filters: Optional[Sequence[Union['GetConnectFilterArgs', 'GetCon def get_connect_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetConnectFilterArgs', 'GetConnectFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, transit_gateway_connect_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConnectResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConnectResult]: """ Get information on an EC2 Transit Gateway Connect. @@ -206,7 +206,7 @@ def get_connect_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['G __args__['filters'] = filters __args__['tags'] = tags __args__['transitGatewayConnectId'] = transit_gateway_connect_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2transitgateway/getConnect:getConnect', __args__, opts=opts, typ=GetConnectResult) return __ret__.apply(lambda __response__: GetConnectResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2transitgateway/get_connect_peer.py b/sdk/python/pulumi_aws/ec2transitgateway/get_connect_peer.py index e7162372ac9..4af426cf320 100644 --- a/sdk/python/pulumi_aws/ec2transitgateway/get_connect_peer.py +++ b/sdk/python/pulumi_aws/ec2transitgateway/get_connect_peer.py @@ -235,7 +235,7 @@ def get_connect_peer(filters: Optional[Sequence[Union['GetConnectPeerFilterArgs' def get_connect_peer_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetConnectPeerFilterArgs', 'GetConnectPeerFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, transit_gateway_connect_peer_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConnectPeerResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConnectPeerResult]: """ Get information on an EC2 Transit Gateway Connect Peer. @@ -271,7 +271,7 @@ def get_connect_peer_output(filters: Optional[pulumi.Input[Optional[Sequence[Uni __args__['filters'] = filters __args__['tags'] = tags __args__['transitGatewayConnectPeerId'] = transit_gateway_connect_peer_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2transitgateway/getConnectPeer:getConnectPeer', __args__, opts=opts, typ=GetConnectPeerResult) return __ret__.apply(lambda __response__: GetConnectPeerResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2transitgateway/get_direct_connect_gateway_attachment.py b/sdk/python/pulumi_aws/ec2transitgateway/get_direct_connect_gateway_attachment.py index 41f8372549b..6540545aafd 100644 --- a/sdk/python/pulumi_aws/ec2transitgateway/get_direct_connect_gateway_attachment.py +++ b/sdk/python/pulumi_aws/ec2transitgateway/get_direct_connect_gateway_attachment.py @@ -134,7 +134,7 @@ def get_direct_connect_gateway_attachment_output(dx_gateway_id: Optional[pulumi. filters: Optional[pulumi.Input[Optional[Sequence[Union['GetDirectConnectGatewayAttachmentFilterArgs', 'GetDirectConnectGatewayAttachmentFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, transit_gateway_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDirectConnectGatewayAttachmentResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDirectConnectGatewayAttachmentResult]: """ Get information on an EC2 Transit Gateway's attachment to a Direct Connect Gateway. @@ -161,7 +161,7 @@ def get_direct_connect_gateway_attachment_output(dx_gateway_id: Optional[pulumi. __args__['filters'] = filters __args__['tags'] = tags __args__['transitGatewayId'] = transit_gateway_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment', __args__, opts=opts, typ=GetDirectConnectGatewayAttachmentResult) return __ret__.apply(lambda __response__: GetDirectConnectGatewayAttachmentResult( dx_gateway_id=pulumi.get(__response__, 'dx_gateway_id'), diff --git a/sdk/python/pulumi_aws/ec2transitgateway/get_multicast_domain.py b/sdk/python/pulumi_aws/ec2transitgateway/get_multicast_domain.py index 7adcc60df6d..2cffc796ba5 100644 --- a/sdk/python/pulumi_aws/ec2transitgateway/get_multicast_domain.py +++ b/sdk/python/pulumi_aws/ec2transitgateway/get_multicast_domain.py @@ -271,7 +271,7 @@ def get_multicast_domain(filters: Optional[Sequence[Union['GetMulticastDomainFil def get_multicast_domain_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetMulticastDomainFilterArgs', 'GetMulticastDomainFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, transit_gateway_multicast_domain_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetMulticastDomainResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMulticastDomainResult]: """ Get information on an EC2 Transit Gateway Multicast Domain. @@ -307,7 +307,7 @@ def get_multicast_domain_output(filters: Optional[pulumi.Input[Optional[Sequence __args__['filters'] = filters __args__['tags'] = tags __args__['transitGatewayMulticastDomainId'] = transit_gateway_multicast_domain_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2transitgateway/getMulticastDomain:getMulticastDomain', __args__, opts=opts, typ=GetMulticastDomainResult) return __ret__.apply(lambda __response__: GetMulticastDomainResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2transitgateway/get_peering_attachment.py b/sdk/python/pulumi_aws/ec2transitgateway/get_peering_attachment.py index 91913a4405d..430437454b6 100644 --- a/sdk/python/pulumi_aws/ec2transitgateway/get_peering_attachment.py +++ b/sdk/python/pulumi_aws/ec2transitgateway/get_peering_attachment.py @@ -181,7 +181,7 @@ def get_peering_attachment(filters: Optional[Sequence[Union['GetPeeringAttachmen def get_peering_attachment_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetPeeringAttachmentFilterArgs', 'GetPeeringAttachmentFilterArgsDict']]]]] = None, id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPeeringAttachmentResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPeeringAttachmentResult]: """ Get information on an EC2 Transit Gateway Peering Attachment. @@ -221,7 +221,7 @@ def get_peering_attachment_output(filters: Optional[pulumi.Input[Optional[Sequen __args__['filters'] = filters __args__['id'] = id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2transitgateway/getPeeringAttachment:getPeeringAttachment', __args__, opts=opts, typ=GetPeeringAttachmentResult) return __ret__.apply(lambda __response__: GetPeeringAttachmentResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2transitgateway/get_peering_attachments.py b/sdk/python/pulumi_aws/ec2transitgateway/get_peering_attachments.py index c7bcba43190..266aba3a993 100644 --- a/sdk/python/pulumi_aws/ec2transitgateway/get_peering_attachments.py +++ b/sdk/python/pulumi_aws/ec2transitgateway/get_peering_attachments.py @@ -114,7 +114,7 @@ def get_peering_attachments(filters: Optional[Sequence[Union['GetPeeringAttachme id=pulumi.get(__ret__, 'id'), ids=pulumi.get(__ret__, 'ids')) def get_peering_attachments_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetPeeringAttachmentsFilterArgs', 'GetPeeringAttachmentsFilterArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPeeringAttachmentsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPeeringAttachmentsResult]: """ Get information on EC2 Transit Gateway Peering Attachments. @@ -147,7 +147,7 @@ def get_peering_attachments_output(filters: Optional[pulumi.Input[Optional[Seque """ __args__ = dict() __args__['filters'] = filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2transitgateway/getPeeringAttachments:getPeeringAttachments', __args__, opts=opts, typ=GetPeeringAttachmentsResult) return __ret__.apply(lambda __response__: GetPeeringAttachmentsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2transitgateway/get_route_table.py b/sdk/python/pulumi_aws/ec2transitgateway/get_route_table.py index e24a4e1961e..b86b603c580 100644 --- a/sdk/python/pulumi_aws/ec2transitgateway/get_route_table.py +++ b/sdk/python/pulumi_aws/ec2transitgateway/get_route_table.py @@ -179,7 +179,7 @@ def get_route_table(filters: Optional[Sequence[Union['GetRouteTableFilterArgs', def get_route_table_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetRouteTableFilterArgs', 'GetRouteTableFilterArgsDict']]]]] = None, id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRouteTableResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRouteTableResult]: """ Get information on an EC2 Transit Gateway Route Table. @@ -221,7 +221,7 @@ def get_route_table_output(filters: Optional[pulumi.Input[Optional[Sequence[Unio __args__['filters'] = filters __args__['id'] = id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2transitgateway/getRouteTable:getRouteTable', __args__, opts=opts, typ=GetRouteTableResult) return __ret__.apply(lambda __response__: GetRouteTableResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ec2transitgateway/get_route_table_associations.py b/sdk/python/pulumi_aws/ec2transitgateway/get_route_table_associations.py index 605454628bf..ceb9c8a3f6b 100644 --- a/sdk/python/pulumi_aws/ec2transitgateway/get_route_table_associations.py +++ b/sdk/python/pulumi_aws/ec2transitgateway/get_route_table_associations.py @@ -120,7 +120,7 @@ def get_route_table_associations(filters: Optional[Sequence[Union['GetRouteTable transit_gateway_route_table_id=pulumi.get(__ret__, 'transit_gateway_route_table_id')) def get_route_table_associations_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetRouteTableAssociationsFilterArgs', 'GetRouteTableAssociationsFilterArgsDict']]]]] = None, transit_gateway_route_table_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRouteTableAssociationsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRouteTableAssociationsResult]: """ Provides information for multiple EC2 Transit Gateway Route Table Associations, such as their identifiers. @@ -147,7 +147,7 @@ def get_route_table_associations_output(filters: Optional[pulumi.Input[Optional[ __args__ = dict() __args__['filters'] = filters __args__['transitGatewayRouteTableId'] = transit_gateway_route_table_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2transitgateway/getRouteTableAssociations:getRouteTableAssociations', __args__, opts=opts, typ=GetRouteTableAssociationsResult) return __ret__.apply(lambda __response__: GetRouteTableAssociationsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2transitgateway/get_route_table_propagations.py b/sdk/python/pulumi_aws/ec2transitgateway/get_route_table_propagations.py index 3a7f8e167c8..f1f12116ca2 100644 --- a/sdk/python/pulumi_aws/ec2transitgateway/get_route_table_propagations.py +++ b/sdk/python/pulumi_aws/ec2transitgateway/get_route_table_propagations.py @@ -120,7 +120,7 @@ def get_route_table_propagations(filters: Optional[Sequence[Union['GetRouteTable transit_gateway_route_table_id=pulumi.get(__ret__, 'transit_gateway_route_table_id')) def get_route_table_propagations_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetRouteTablePropagationsFilterArgs', 'GetRouteTablePropagationsFilterArgsDict']]]]] = None, transit_gateway_route_table_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRouteTablePropagationsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRouteTablePropagationsResult]: """ Provides information for multiple EC2 Transit Gateway Route Table Propagations, such as their identifiers. @@ -147,7 +147,7 @@ def get_route_table_propagations_output(filters: Optional[pulumi.Input[Optional[ __args__ = dict() __args__['filters'] = filters __args__['transitGatewayRouteTableId'] = transit_gateway_route_table_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2transitgateway/getRouteTablePropagations:getRouteTablePropagations', __args__, opts=opts, typ=GetRouteTablePropagationsResult) return __ret__.apply(lambda __response__: GetRouteTablePropagationsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2transitgateway/get_route_table_routes.py b/sdk/python/pulumi_aws/ec2transitgateway/get_route_table_routes.py index 86aec3f944a..6241120ad23 100644 --- a/sdk/python/pulumi_aws/ec2transitgateway/get_route_table_routes.py +++ b/sdk/python/pulumi_aws/ec2transitgateway/get_route_table_routes.py @@ -120,7 +120,7 @@ def get_route_table_routes(filters: Optional[Sequence[Union['GetRouteTableRoutes transit_gateway_route_table_id=pulumi.get(__ret__, 'transit_gateway_route_table_id')) def get_route_table_routes_output(filters: Optional[pulumi.Input[Sequence[Union['GetRouteTableRoutesFilterArgs', 'GetRouteTableRoutesFilterArgsDict']]]] = None, transit_gateway_route_table_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRouteTableRoutesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRouteTableRoutesResult]: """ Provides informations for routes of a specific transit gateway, such as state, type, cidr @@ -147,7 +147,7 @@ def get_route_table_routes_output(filters: Optional[pulumi.Input[Sequence[Union[ __args__ = dict() __args__['filters'] = filters __args__['transitGatewayRouteTableId'] = transit_gateway_route_table_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes', __args__, opts=opts, typ=GetRouteTableRoutesResult) return __ret__.apply(lambda __response__: GetRouteTableRoutesResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2transitgateway/get_transit_gateway.py b/sdk/python/pulumi_aws/ec2transitgateway/get_transit_gateway.py index b93dce42356..4bf6eebc889 100644 --- a/sdk/python/pulumi_aws/ec2transitgateway/get_transit_gateway.py +++ b/sdk/python/pulumi_aws/ec2transitgateway/get_transit_gateway.py @@ -303,7 +303,7 @@ def get_transit_gateway(filters: Optional[Sequence[Union['GetTransitGatewayFilte def get_transit_gateway_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetTransitGatewayFilterArgs', 'GetTransitGatewayFilterArgsDict']]]]] = None, id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTransitGatewayResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTransitGatewayResult]: """ Get information on an EC2 Transit Gateway. @@ -339,7 +339,7 @@ def get_transit_gateway_output(filters: Optional[pulumi.Input[Optional[Sequence[ __args__['filters'] = filters __args__['id'] = id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2transitgateway/getTransitGateway:getTransitGateway', __args__, opts=opts, typ=GetTransitGatewayResult) return __ret__.apply(lambda __response__: GetTransitGatewayResult( amazon_side_asn=pulumi.get(__response__, 'amazon_side_asn'), diff --git a/sdk/python/pulumi_aws/ec2transitgateway/get_vpc_attachment.py b/sdk/python/pulumi_aws/ec2transitgateway/get_vpc_attachment.py index 716033b7842..1e961a5cc54 100644 --- a/sdk/python/pulumi_aws/ec2transitgateway/get_vpc_attachment.py +++ b/sdk/python/pulumi_aws/ec2transitgateway/get_vpc_attachment.py @@ -225,7 +225,7 @@ def get_vpc_attachment(filters: Optional[Sequence[Union['GetVpcAttachmentFilterA def get_vpc_attachment_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetVpcAttachmentFilterArgs', 'GetVpcAttachmentFilterArgsDict']]]]] = None, id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcAttachmentResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcAttachmentResult]: """ Get information on an EC2 Transit Gateway VPC Attachment. @@ -261,7 +261,7 @@ def get_vpc_attachment_output(filters: Optional[pulumi.Input[Optional[Sequence[U __args__['filters'] = filters __args__['id'] = id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2transitgateway/getVpcAttachment:getVpcAttachment', __args__, opts=opts, typ=GetVpcAttachmentResult) return __ret__.apply(lambda __response__: GetVpcAttachmentResult( appliance_mode_support=pulumi.get(__response__, 'appliance_mode_support'), diff --git a/sdk/python/pulumi_aws/ec2transitgateway/get_vpc_attachments.py b/sdk/python/pulumi_aws/ec2transitgateway/get_vpc_attachments.py index 5dac692c512..2f8ccd9c6df 100644 --- a/sdk/python/pulumi_aws/ec2transitgateway/get_vpc_attachments.py +++ b/sdk/python/pulumi_aws/ec2transitgateway/get_vpc_attachments.py @@ -105,7 +105,7 @@ def get_vpc_attachments(filters: Optional[Sequence[Union['GetVpcAttachmentsFilte id=pulumi.get(__ret__, 'id'), ids=pulumi.get(__ret__, 'ids')) def get_vpc_attachments_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetVpcAttachmentsFilterArgs', 'GetVpcAttachmentsFilterArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcAttachmentsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcAttachmentsResult]: """ Get information on EC2 Transit Gateway VPC Attachments. @@ -129,7 +129,7 @@ def get_vpc_attachments_output(filters: Optional[pulumi.Input[Optional[Sequence[ """ __args__ = dict() __args__['filters'] = filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2transitgateway/getVpcAttachments:getVpcAttachments', __args__, opts=opts, typ=GetVpcAttachmentsResult) return __ret__.apply(lambda __response__: GetVpcAttachmentsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ec2transitgateway/get_vpn_attachment.py b/sdk/python/pulumi_aws/ec2transitgateway/get_vpn_attachment.py index feaf06e251b..f82205f53c2 100644 --- a/sdk/python/pulumi_aws/ec2transitgateway/get_vpn_attachment.py +++ b/sdk/python/pulumi_aws/ec2transitgateway/get_vpn_attachment.py @@ -148,7 +148,7 @@ def get_vpn_attachment_output(filters: Optional[pulumi.Input[Optional[Sequence[U tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, transit_gateway_id: Optional[pulumi.Input[Optional[str]]] = None, vpn_connection_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpnAttachmentResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpnAttachmentResult]: """ Get information on an EC2 Transit Gateway VPN Attachment. @@ -189,7 +189,7 @@ def get_vpn_attachment_output(filters: Optional[pulumi.Input[Optional[Sequence[U __args__['tags'] = tags __args__['transitGatewayId'] = transit_gateway_id __args__['vpnConnectionId'] = vpn_connection_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2transitgateway/getVpnAttachment:getVpnAttachment', __args__, opts=opts, typ=GetVpnAttachmentResult) return __ret__.apply(lambda __response__: GetVpnAttachmentResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ecr/get_authorization_token.py b/sdk/python/pulumi_aws/ecr/get_authorization_token.py index f0463f5289a..ee1e8b27d01 100644 --- a/sdk/python/pulumi_aws/ecr/get_authorization_token.py +++ b/sdk/python/pulumi_aws/ecr/get_authorization_token.py @@ -149,7 +149,7 @@ def get_authorization_token(registry_id: Optional[str] = None, registry_id=pulumi.get(__ret__, 'registry_id'), user_name=pulumi.get(__ret__, 'user_name')) def get_authorization_token_output(registry_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAuthorizationTokenResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAuthorizationTokenResult]: """ The ECR Authorization Token data source allows the authorization token, proxy endpoint, token expiration date, user name and password to be retrieved for an ECR repository. @@ -167,7 +167,7 @@ def get_authorization_token_output(registry_id: Optional[pulumi.Input[Optional[s """ __args__ = dict() __args__['registryId'] = registry_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ecr/getAuthorizationToken:getAuthorizationToken', __args__, opts=opts, typ=GetAuthorizationTokenResult) return __ret__.apply(lambda __response__: GetAuthorizationTokenResult( authorization_token=pulumi.get(__response__, 'authorization_token'), diff --git a/sdk/python/pulumi_aws/ecr/get_credentials.py b/sdk/python/pulumi_aws/ecr/get_credentials.py index 691ab9d0bda..7a7c030ce5f 100644 --- a/sdk/python/pulumi_aws/ecr/get_credentials.py +++ b/sdk/python/pulumi_aws/ecr/get_credentials.py @@ -102,13 +102,13 @@ def get_credentials(registry_id: Optional[str] = None, proxy_endpoint=pulumi.get(__ret__, 'proxy_endpoint'), registry_id=pulumi.get(__ret__, 'registry_id')) def get_credentials_output(registry_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCredentialsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCredentialsResult]: """ Use this data source to access information about an existing resource. """ __args__ = dict() __args__['registryId'] = registry_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ecr/getCredentials:getCredentials', __args__, opts=opts, typ=GetCredentialsResult) return __ret__.apply(lambda __response__: GetCredentialsResult( authorization_token=pulumi.get(__response__, 'authorization_token'), diff --git a/sdk/python/pulumi_aws/ecr/get_image.py b/sdk/python/pulumi_aws/ecr/get_image.py index b0ed6185b0b..54b4f83fb77 100644 --- a/sdk/python/pulumi_aws/ecr/get_image.py +++ b/sdk/python/pulumi_aws/ecr/get_image.py @@ -193,7 +193,7 @@ def get_image_output(image_digest: Optional[pulumi.Input[Optional[str]]] = None, most_recent: Optional[pulumi.Input[Optional[bool]]] = None, registry_id: Optional[pulumi.Input[Optional[str]]] = None, repository_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetImageResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetImageResult]: """ The ECR Image data source allows the details of an image with a particular tag or digest to be retrieved. @@ -220,7 +220,7 @@ def get_image_output(image_digest: Optional[pulumi.Input[Optional[str]]] = None, __args__['mostRecent'] = most_recent __args__['registryId'] = registry_id __args__['repositoryName'] = repository_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ecr/getImage:getImage', __args__, opts=opts, typ=GetImageResult) return __ret__.apply(lambda __response__: GetImageResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/ecr/get_lifecycle_policy_document.py b/sdk/python/pulumi_aws/ecr/get_lifecycle_policy_document.py index 2802ca12c08..7ceadb832f5 100644 --- a/sdk/python/pulumi_aws/ecr/get_lifecycle_policy_document.py +++ b/sdk/python/pulumi_aws/ecr/get_lifecycle_policy_document.py @@ -110,7 +110,7 @@ def get_lifecycle_policy_document(rules: Optional[Sequence[Union['GetLifecyclePo json=pulumi.get(__ret__, 'json'), rules=pulumi.get(__ret__, 'rules')) def get_lifecycle_policy_document_output(rules: Optional[pulumi.Input[Optional[Sequence[Union['GetLifecyclePolicyDocumentRuleArgs', 'GetLifecyclePolicyDocumentRuleArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLifecyclePolicyDocumentResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLifecyclePolicyDocumentResult]: """ Generates an ECR lifecycle policy document in JSON format. Can be used with resources such as the `ecr.LifecyclePolicy` resource. @@ -139,7 +139,7 @@ def get_lifecycle_policy_document_output(rules: Optional[pulumi.Input[Optional[S """ __args__ = dict() __args__['rules'] = rules - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ecr/getLifecyclePolicyDocument:getLifecyclePolicyDocument', __args__, opts=opts, typ=GetLifecyclePolicyDocumentResult) return __ret__.apply(lambda __response__: GetLifecyclePolicyDocumentResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/ecr/get_pull_through_cache_rule.py b/sdk/python/pulumi_aws/ecr/get_pull_through_cache_rule.py index cd602774deb..12da79415c2 100644 --- a/sdk/python/pulumi_aws/ecr/get_pull_through_cache_rule.py +++ b/sdk/python/pulumi_aws/ecr/get_pull_through_cache_rule.py @@ -123,7 +123,7 @@ def get_pull_through_cache_rule(ecr_repository_prefix: Optional[str] = None, registry_id=pulumi.get(__ret__, 'registry_id'), upstream_registry_url=pulumi.get(__ret__, 'upstream_registry_url')) def get_pull_through_cache_rule_output(ecr_repository_prefix: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPullThroughCacheRuleResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPullThroughCacheRuleResult]: """ The ECR Pull Through Cache Rule data source allows the upstream registry URL and registry ID to be retrieved for a Pull Through Cache Rule. @@ -141,7 +141,7 @@ def get_pull_through_cache_rule_output(ecr_repository_prefix: Optional[pulumi.In """ __args__ = dict() __args__['ecrRepositoryPrefix'] = ecr_repository_prefix - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ecr/getPullThroughCacheRule:getPullThroughCacheRule', __args__, opts=opts, typ=GetPullThroughCacheRuleResult) return __ret__.apply(lambda __response__: GetPullThroughCacheRuleResult( credential_arn=pulumi.get(__response__, 'credential_arn'), diff --git a/sdk/python/pulumi_aws/ecr/get_repositories.py b/sdk/python/pulumi_aws/ecr/get_repositories.py index cd859a6c8be..58e6f055bfd 100644 --- a/sdk/python/pulumi_aws/ecr/get_repositories.py +++ b/sdk/python/pulumi_aws/ecr/get_repositories.py @@ -83,7 +83,7 @@ def get_repositories(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGe return AwaitableGetRepositoriesResult( id=pulumi.get(__ret__, 'id'), names=pulumi.get(__ret__, 'names')) -def get_repositories_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRepositoriesResult]: +def get_repositories_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRepositoriesResult]: """ Data source for providing information on AWS ECR (Elastic Container Registry) Repositories. @@ -99,7 +99,7 @@ def get_repositories_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.In ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ecr/getRepositories:getRepositories', __args__, opts=opts, typ=GetRepositoriesResult) return __ret__.apply(lambda __response__: GetRepositoriesResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/ecr/get_repository.py b/sdk/python/pulumi_aws/ecr/get_repository.py index 6a3a102d646..0958dbb0f78 100644 --- a/sdk/python/pulumi_aws/ecr/get_repository.py +++ b/sdk/python/pulumi_aws/ecr/get_repository.py @@ -194,7 +194,7 @@ def get_repository(name: Optional[str] = None, def get_repository_output(name: Optional[pulumi.Input[str]] = None, registry_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRepositoryResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRepositoryResult]: """ The ECR Repository data source allows the ARN, Repository URI and Registry ID to be retrieved for an ECR repository. @@ -216,7 +216,7 @@ def get_repository_output(name: Optional[pulumi.Input[str]] = None, __args__['name'] = name __args__['registryId'] = registry_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ecr/getRepository:getRepository', __args__, opts=opts, typ=GetRepositoryResult) return __ret__.apply(lambda __response__: GetRepositoryResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ecr/get_repository_creation_template.py b/sdk/python/pulumi_aws/ecr/get_repository_creation_template.py index b3c470428c3..9f3b99d78e6 100644 --- a/sdk/python/pulumi_aws/ecr/get_repository_creation_template.py +++ b/sdk/python/pulumi_aws/ecr/get_repository_creation_template.py @@ -206,7 +206,7 @@ def get_repository_creation_template(prefix: Optional[str] = None, resource_tags=pulumi.get(__ret__, 'resource_tags')) def get_repository_creation_template_output(prefix: Optional[pulumi.Input[str]] = None, resource_tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRepositoryCreationTemplateResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRepositoryCreationTemplateResult]: """ The ECR Repository Creation Template data source allows the template details to be retrieved for a Repository Creation Template. @@ -226,7 +226,7 @@ def get_repository_creation_template_output(prefix: Optional[pulumi.Input[str]] __args__ = dict() __args__['prefix'] = prefix __args__['resourceTags'] = resource_tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ecr/getRepositoryCreationTemplate:getRepositoryCreationTemplate', __args__, opts=opts, typ=GetRepositoryCreationTemplateResult) return __ret__.apply(lambda __response__: GetRepositoryCreationTemplateResult( applied_fors=pulumi.get(__response__, 'applied_fors'), diff --git a/sdk/python/pulumi_aws/ecrpublic/get_authorization_token.py b/sdk/python/pulumi_aws/ecrpublic/get_authorization_token.py index 92640cd9ed8..5ef1f21a310 100644 --- a/sdk/python/pulumi_aws/ecrpublic/get_authorization_token.py +++ b/sdk/python/pulumi_aws/ecrpublic/get_authorization_token.py @@ -122,7 +122,7 @@ def get_authorization_token(opts: Optional[pulumi.InvokeOptions] = None) -> Awai id=pulumi.get(__ret__, 'id'), password=pulumi.get(__ret__, 'password'), user_name=pulumi.get(__ret__, 'user_name')) -def get_authorization_token_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAuthorizationTokenResult]: +def get_authorization_token_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAuthorizationTokenResult]: """ The Public ECR Authorization Token data source allows the authorization token, token expiration date, user name, and password to be retrieved for a Public ECR repository. @@ -138,7 +138,7 @@ def get_authorization_token_output(opts: Optional[Union[pulumi.InvokeOptions, pu ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ecrpublic/getAuthorizationToken:getAuthorizationToken', __args__, opts=opts, typ=GetAuthorizationTokenResult) return __ret__.apply(lambda __response__: GetAuthorizationTokenResult( authorization_token=pulumi.get(__response__, 'authorization_token'), diff --git a/sdk/python/pulumi_aws/ecs/get_cluster.py b/sdk/python/pulumi_aws/ecs/get_cluster.py index 731765ebadd..127c061b039 100644 --- a/sdk/python/pulumi_aws/ecs/get_cluster.py +++ b/sdk/python/pulumi_aws/ecs/get_cluster.py @@ -194,7 +194,7 @@ def get_cluster(cluster_name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_cluster_output(cluster_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetClusterResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterResult]: """ The ECS Cluster data source allows access to details of a specific cluster within an AWS ECS service. @@ -215,7 +215,7 @@ def get_cluster_output(cluster_name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['clusterName'] = cluster_name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ecs/getCluster:getCluster', __args__, opts=opts, typ=GetClusterResult) return __ret__.apply(lambda __response__: GetClusterResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ecs/get_container_definition.py b/sdk/python/pulumi_aws/ecs/get_container_definition.py index 671234de83a..04c3099a750 100644 --- a/sdk/python/pulumi_aws/ecs/get_container_definition.py +++ b/sdk/python/pulumi_aws/ecs/get_container_definition.py @@ -204,7 +204,7 @@ def get_container_definition(container_name: Optional[str] = None, task_definition=pulumi.get(__ret__, 'task_definition')) def get_container_definition_output(container_name: Optional[pulumi.Input[str]] = None, task_definition: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetContainerDefinitionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetContainerDefinitionResult]: """ The ECS container definition data source allows access to details of a specific container within an AWS ECS service. @@ -226,7 +226,7 @@ def get_container_definition_output(container_name: Optional[pulumi.Input[str]] __args__ = dict() __args__['containerName'] = container_name __args__['taskDefinition'] = task_definition - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ecs/getContainerDefinition:getContainerDefinition', __args__, opts=opts, typ=GetContainerDefinitionResult) return __ret__.apply(lambda __response__: GetContainerDefinitionResult( container_name=pulumi.get(__response__, 'container_name'), diff --git a/sdk/python/pulumi_aws/ecs/get_service.py b/sdk/python/pulumi_aws/ecs/get_service.py index 16c061a3126..dbd344bb7fa 100644 --- a/sdk/python/pulumi_aws/ecs/get_service.py +++ b/sdk/python/pulumi_aws/ecs/get_service.py @@ -192,7 +192,7 @@ def get_service(cluster_arn: Optional[str] = None, def get_service_output(cluster_arn: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServiceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServiceResult]: """ The ECS Service data source allows access to details of a specific Service within a AWS ECS Cluster. @@ -216,7 +216,7 @@ def get_service_output(cluster_arn: Optional[pulumi.Input[str]] = None, __args__['clusterArn'] = cluster_arn __args__['serviceName'] = service_name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ecs/getService:getService', __args__, opts=opts, typ=GetServiceResult) return __ret__.apply(lambda __response__: GetServiceResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ecs/get_task_definition.py b/sdk/python/pulumi_aws/ecs/get_task_definition.py index 40ed4c6df9b..2df3f636a1e 100644 --- a/sdk/python/pulumi_aws/ecs/get_task_definition.py +++ b/sdk/python/pulumi_aws/ecs/get_task_definition.py @@ -213,7 +213,7 @@ def get_task_definition(task_definition: Optional[str] = None, task_definition=pulumi.get(__ret__, 'task_definition'), task_role_arn=pulumi.get(__ret__, 'task_role_arn')) def get_task_definition_output(task_definition: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTaskDefinitionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTaskDefinitionResult]: """ The ECS task definition data source allows access to details of a specific AWS ECS task definition. @@ -256,7 +256,7 @@ def get_task_definition_output(task_definition: Optional[pulumi.Input[str]] = No """ __args__ = dict() __args__['taskDefinition'] = task_definition - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ecs/getTaskDefinition:getTaskDefinition', __args__, opts=opts, typ=GetTaskDefinitionResult) return __ret__.apply(lambda __response__: GetTaskDefinitionResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ecs/get_task_execution.py b/sdk/python/pulumi_aws/ecs/get_task_execution.py index 0a377c8a69a..b99e02d0593 100644 --- a/sdk/python/pulumi_aws/ecs/get_task_execution.py +++ b/sdk/python/pulumi_aws/ecs/get_task_execution.py @@ -351,7 +351,7 @@ def get_task_execution_output(capacity_provider_strategies: Optional[pulumi.Inpu started_by: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, task_definition: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTaskExecutionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTaskExecutionResult]: """ Data source for managing an AWS ECS (Elastic Container) Task Execution. This data source calls the [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) API, allowing execution of one-time tasks that don't fit a standard resource lifecycle. See the feature request issue for additional context. @@ -417,7 +417,7 @@ def get_task_execution_output(capacity_provider_strategies: Optional[pulumi.Inpu __args__['startedBy'] = started_by __args__['tags'] = tags __args__['taskDefinition'] = task_definition - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ecs/getTaskExecution:getTaskExecution', __args__, opts=opts, typ=GetTaskExecutionResult) return __ret__.apply(lambda __response__: GetTaskExecutionResult( capacity_provider_strategies=pulumi.get(__response__, 'capacity_provider_strategies'), diff --git a/sdk/python/pulumi_aws/efs/get_access_point.py b/sdk/python/pulumi_aws/efs/get_access_point.py index 8eb0565d825..dab275d4abd 100644 --- a/sdk/python/pulumi_aws/efs/get_access_point.py +++ b/sdk/python/pulumi_aws/efs/get_access_point.py @@ -177,7 +177,7 @@ def get_access_point(access_point_id: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_access_point_output(access_point_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAccessPointResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAccessPointResult]: """ Provides information about an Elastic File System (EFS) Access Point. @@ -197,7 +197,7 @@ def get_access_point_output(access_point_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['accessPointId'] = access_point_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:efs/getAccessPoint:getAccessPoint', __args__, opts=opts, typ=GetAccessPointResult) return __ret__.apply(lambda __response__: GetAccessPointResult( access_point_id=pulumi.get(__response__, 'access_point_id'), diff --git a/sdk/python/pulumi_aws/efs/get_access_points.py b/sdk/python/pulumi_aws/efs/get_access_points.py index a44b2ad6c01..b6a5d00f5f9 100644 --- a/sdk/python/pulumi_aws/efs/get_access_points.py +++ b/sdk/python/pulumi_aws/efs/get_access_points.py @@ -110,7 +110,7 @@ def get_access_points(file_system_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), ids=pulumi.get(__ret__, 'ids')) def get_access_points_output(file_system_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAccessPointsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAccessPointsResult]: """ Provides information about multiple Elastic File System (EFS) Access Points. @@ -128,7 +128,7 @@ def get_access_points_output(file_system_id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['fileSystemId'] = file_system_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:efs/getAccessPoints:getAccessPoints', __args__, opts=opts, typ=GetAccessPointsResult) return __ret__.apply(lambda __response__: GetAccessPointsResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/efs/get_file_system.py b/sdk/python/pulumi_aws/efs/get_file_system.py index a4b6c3658c0..9d067ae2b53 100644 --- a/sdk/python/pulumi_aws/efs/get_file_system.py +++ b/sdk/python/pulumi_aws/efs/get_file_system.py @@ -300,7 +300,7 @@ def get_file_system(creation_token: Optional[str] = None, def get_file_system_output(creation_token: Optional[pulumi.Input[Optional[str]]] = None, file_system_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFileSystemResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFileSystemResult]: """ Provides information about an Elastic File System (EFS) File System. @@ -329,7 +329,7 @@ def get_file_system_output(creation_token: Optional[pulumi.Input[Optional[str]]] __args__['creationToken'] = creation_token __args__['fileSystemId'] = file_system_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:efs/getFileSystem:getFileSystem', __args__, opts=opts, typ=GetFileSystemResult) return __ret__.apply(lambda __response__: GetFileSystemResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/efs/get_mount_target.py b/sdk/python/pulumi_aws/efs/get_mount_target.py index 2d646aca288..45236c7a326 100644 --- a/sdk/python/pulumi_aws/efs/get_mount_target.py +++ b/sdk/python/pulumi_aws/efs/get_mount_target.py @@ -246,7 +246,7 @@ def get_mount_target(access_point_id: Optional[str] = None, def get_mount_target_output(access_point_id: Optional[pulumi.Input[Optional[str]]] = None, file_system_id: Optional[pulumi.Input[Optional[str]]] = None, mount_target_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetMountTargetResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMountTargetResult]: """ Provides information about an Elastic File System Mount Target (EFS). @@ -272,7 +272,7 @@ def get_mount_target_output(access_point_id: Optional[pulumi.Input[Optional[str] __args__['accessPointId'] = access_point_id __args__['fileSystemId'] = file_system_id __args__['mountTargetId'] = mount_target_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:efs/getMountTarget:getMountTarget', __args__, opts=opts, typ=GetMountTargetResult) return __ret__.apply(lambda __response__: GetMountTargetResult( access_point_id=pulumi.get(__response__, 'access_point_id'), diff --git a/sdk/python/pulumi_aws/eks/get_access_entry.py b/sdk/python/pulumi_aws/eks/get_access_entry.py index ad4629f600b..9873f6eae23 100644 --- a/sdk/python/pulumi_aws/eks/get_access_entry.py +++ b/sdk/python/pulumi_aws/eks/get_access_entry.py @@ -204,7 +204,7 @@ def get_access_entry(cluster_name: Optional[str] = None, def get_access_entry_output(cluster_name: Optional[pulumi.Input[str]] = None, principal_arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAccessEntryResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAccessEntryResult]: """ Access Entry Configurations for an EKS Cluster. @@ -227,7 +227,7 @@ def get_access_entry_output(cluster_name: Optional[pulumi.Input[str]] = None, __args__['clusterName'] = cluster_name __args__['principalArn'] = principal_arn __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:eks/getAccessEntry:getAccessEntry', __args__, opts=opts, typ=GetAccessEntryResult) return __ret__.apply(lambda __response__: GetAccessEntryResult( access_entry_arn=pulumi.get(__response__, 'access_entry_arn'), diff --git a/sdk/python/pulumi_aws/eks/get_addon.py b/sdk/python/pulumi_aws/eks/get_addon.py index 5f068efca66..1fb168ab6f6 100644 --- a/sdk/python/pulumi_aws/eks/get_addon.py +++ b/sdk/python/pulumi_aws/eks/get_addon.py @@ -207,7 +207,7 @@ def get_addon(addon_name: Optional[str] = None, def get_addon_output(addon_name: Optional[pulumi.Input[str]] = None, cluster_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAddonResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAddonResult]: """ Retrieve information about an EKS add-on. @@ -231,7 +231,7 @@ def get_addon_output(addon_name: Optional[pulumi.Input[str]] = None, __args__['addonName'] = addon_name __args__['clusterName'] = cluster_name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:eks/getAddon:getAddon', __args__, opts=opts, typ=GetAddonResult) return __ret__.apply(lambda __response__: GetAddonResult( addon_name=pulumi.get(__response__, 'addon_name'), diff --git a/sdk/python/pulumi_aws/eks/get_addon_version.py b/sdk/python/pulumi_aws/eks/get_addon_version.py index 84c7bb53bbc..d1222cc6db7 100644 --- a/sdk/python/pulumi_aws/eks/get_addon_version.py +++ b/sdk/python/pulumi_aws/eks/get_addon_version.py @@ -136,7 +136,7 @@ def get_addon_version(addon_name: Optional[str] = None, def get_addon_version_output(addon_name: Optional[pulumi.Input[str]] = None, kubernetes_version: Optional[pulumi.Input[str]] = None, most_recent: Optional[pulumi.Input[Optional[bool]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAddonVersionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAddonVersionResult]: """ Retrieve information about a specific EKS add-on version compatible with an EKS cluster version. @@ -169,7 +169,7 @@ def get_addon_version_output(addon_name: Optional[pulumi.Input[str]] = None, __args__['addonName'] = addon_name __args__['kubernetesVersion'] = kubernetes_version __args__['mostRecent'] = most_recent - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:eks/getAddonVersion:getAddonVersion', __args__, opts=opts, typ=GetAddonVersionResult) return __ret__.apply(lambda __response__: GetAddonVersionResult( addon_name=pulumi.get(__response__, 'addon_name'), diff --git a/sdk/python/pulumi_aws/eks/get_cluster.py b/sdk/python/pulumi_aws/eks/get_cluster.py index b6589ef1db6..7ccef896c33 100644 --- a/sdk/python/pulumi_aws/eks/get_cluster.py +++ b/sdk/python/pulumi_aws/eks/get_cluster.py @@ -364,7 +364,7 @@ def get_cluster(name: Optional[str] = None, zonal_shift_configs=pulumi.get(__ret__, 'zonal_shift_configs')) def get_cluster_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetClusterResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterResult]: """ Retrieve information about an EKS Cluster. @@ -386,7 +386,7 @@ def get_cluster_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:eks/getCluster:getCluster', __args__, opts=opts, typ=GetClusterResult) return __ret__.apply(lambda __response__: GetClusterResult( access_configs=pulumi.get(__response__, 'access_configs'), diff --git a/sdk/python/pulumi_aws/eks/get_cluster_auth.py b/sdk/python/pulumi_aws/eks/get_cluster_auth.py index 9de802cdd49..31fd689cd8a 100644 --- a/sdk/python/pulumi_aws/eks/get_cluster_auth.py +++ b/sdk/python/pulumi_aws/eks/get_cluster_auth.py @@ -103,7 +103,7 @@ def get_cluster_auth(name: Optional[str] = None, name=pulumi.get(__ret__, 'name'), token=pulumi.get(__ret__, 'token')) def get_cluster_auth_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetClusterAuthResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterAuthResult]: """ Get an authentication token to communicate with an EKS cluster. @@ -127,7 +127,7 @@ def get_cluster_auth_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:eks/getClusterAuth:getClusterAuth', __args__, opts=opts, typ=GetClusterAuthResult) return __ret__.apply(lambda __response__: GetClusterAuthResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/eks/get_clusters.py b/sdk/python/pulumi_aws/eks/get_clusters.py index 6a487d8885d..4580bf42c9e 100644 --- a/sdk/python/pulumi_aws/eks/get_clusters.py +++ b/sdk/python/pulumi_aws/eks/get_clusters.py @@ -72,12 +72,12 @@ def get_clusters(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetClu return AwaitableGetClustersResult( id=pulumi.get(__ret__, 'id'), names=pulumi.get(__ret__, 'names')) -def get_clusters_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetClustersResult]: +def get_clusters_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClustersResult]: """ Retrieve EKS Clusters list """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:eks/getClusters:getClusters', __args__, opts=opts, typ=GetClustersResult) return __ret__.apply(lambda __response__: GetClustersResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/eks/get_node_group.py b/sdk/python/pulumi_aws/eks/get_node_group.py index ba72267c532..873444e7cc0 100644 --- a/sdk/python/pulumi_aws/eks/get_node_group.py +++ b/sdk/python/pulumi_aws/eks/get_node_group.py @@ -325,7 +325,7 @@ def get_node_group(cluster_name: Optional[str] = None, def get_node_group_output(cluster_name: Optional[pulumi.Input[str]] = None, node_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNodeGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNodeGroupResult]: """ Retrieve information about an EKS Node Group. @@ -348,7 +348,7 @@ def get_node_group_output(cluster_name: Optional[pulumi.Input[str]] = None, __args__['clusterName'] = cluster_name __args__['nodeGroupName'] = node_group_name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:eks/getNodeGroup:getNodeGroup', __args__, opts=opts, typ=GetNodeGroupResult) return __ret__.apply(lambda __response__: GetNodeGroupResult( ami_type=pulumi.get(__response__, 'ami_type'), diff --git a/sdk/python/pulumi_aws/eks/get_node_groups.py b/sdk/python/pulumi_aws/eks/get_node_groups.py index c024a69d578..69368b3217e 100644 --- a/sdk/python/pulumi_aws/eks/get_node_groups.py +++ b/sdk/python/pulumi_aws/eks/get_node_groups.py @@ -99,7 +99,7 @@ def get_node_groups(cluster_name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), names=pulumi.get(__ret__, 'names')) def get_node_groups_output(cluster_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNodeGroupsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNodeGroupsResult]: """ Retrieve the EKS Node Groups associated with a named EKS cluster. This will allow you to pass a list of Node Group names to other resources. @@ -119,7 +119,7 @@ def get_node_groups_output(cluster_name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['clusterName'] = cluster_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:eks/getNodeGroups:getNodeGroups', __args__, opts=opts, typ=GetNodeGroupsResult) return __ret__.apply(lambda __response__: GetNodeGroupsResult( cluster_name=pulumi.get(__response__, 'cluster_name'), diff --git a/sdk/python/pulumi_aws/elasticache/get_cluster.py b/sdk/python/pulumi_aws/elasticache/get_cluster.py index c5bd77a3773..ae1dbfeed48 100644 --- a/sdk/python/pulumi_aws/elasticache/get_cluster.py +++ b/sdk/python/pulumi_aws/elasticache/get_cluster.py @@ -391,7 +391,7 @@ def get_cluster(cluster_id: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_cluster_output(cluster_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetClusterResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterResult]: """ Use this data source to get information about an ElastiCache Cluster @@ -411,7 +411,7 @@ def get_cluster_output(cluster_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['clusterId'] = cluster_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:elasticache/getCluster:getCluster', __args__, opts=opts, typ=GetClusterResult) return __ret__.apply(lambda __response__: GetClusterResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/elasticache/get_replication_group.py b/sdk/python/pulumi_aws/elasticache/get_replication_group.py index 53d2a4d8e64..e1a0b93020b 100644 --- a/sdk/python/pulumi_aws/elasticache/get_replication_group.py +++ b/sdk/python/pulumi_aws/elasticache/get_replication_group.py @@ -319,7 +319,7 @@ def get_replication_group(replication_group_id: Optional[str] = None, snapshot_retention_limit=pulumi.get(__ret__, 'snapshot_retention_limit'), snapshot_window=pulumi.get(__ret__, 'snapshot_window')) def get_replication_group_output(replication_group_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetReplicationGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReplicationGroupResult]: """ Use this data source to get information about an ElastiCache Replication Group. @@ -337,7 +337,7 @@ def get_replication_group_output(replication_group_id: Optional[pulumi.Input[str """ __args__ = dict() __args__['replicationGroupId'] = replication_group_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:elasticache/getReplicationGroup:getReplicationGroup', __args__, opts=opts, typ=GetReplicationGroupResult) return __ret__.apply(lambda __response__: GetReplicationGroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/elasticache/get_reserved_cache_node_offering.py b/sdk/python/pulumi_aws/elasticache/get_reserved_cache_node_offering.py index f6bcc9e0729..5b8e834870e 100644 --- a/sdk/python/pulumi_aws/elasticache/get_reserved_cache_node_offering.py +++ b/sdk/python/pulumi_aws/elasticache/get_reserved_cache_node_offering.py @@ -162,7 +162,7 @@ def get_reserved_cache_node_offering_output(cache_node_type: Optional[pulumi.Inp duration: Optional[pulumi.Input[str]] = None, offering_type: Optional[pulumi.Input[str]] = None, product_description: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetReservedCacheNodeOfferingResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReservedCacheNodeOfferingResult]: """ Information about a single ElastiCache Reserved Cache Node Offering. @@ -196,7 +196,7 @@ def get_reserved_cache_node_offering_output(cache_node_type: Optional[pulumi.Inp __args__['duration'] = duration __args__['offeringType'] = offering_type __args__['productDescription'] = product_description - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering', __args__, opts=opts, typ=GetReservedCacheNodeOfferingResult) return __ret__.apply(lambda __response__: GetReservedCacheNodeOfferingResult( cache_node_type=pulumi.get(__response__, 'cache_node_type'), diff --git a/sdk/python/pulumi_aws/elasticache/get_serverless_cache.py b/sdk/python/pulumi_aws/elasticache/get_serverless_cache.py index 89f06710e3b..acc06232164 100644 --- a/sdk/python/pulumi_aws/elasticache/get_serverless_cache.py +++ b/sdk/python/pulumi_aws/elasticache/get_serverless_cache.py @@ -293,7 +293,7 @@ def get_serverless_cache(name: Optional[str] = None, subnet_ids=pulumi.get(__ret__, 'subnet_ids'), user_group_id=pulumi.get(__ret__, 'user_group_id')) def get_serverless_cache_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServerlessCacheResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServerlessCacheResult]: """ Use this data source to get information about an ElastiCache Serverless Cache. @@ -311,7 +311,7 @@ def get_serverless_cache_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:elasticache/getServerlessCache:getServerlessCache', __args__, opts=opts, typ=GetServerlessCacheResult) return __ret__.apply(lambda __response__: GetServerlessCacheResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/elasticache/get_subnet_group.py b/sdk/python/pulumi_aws/elasticache/get_subnet_group.py index f33443cd393..be4fbf0f594 100644 --- a/sdk/python/pulumi_aws/elasticache/get_subnet_group.py +++ b/sdk/python/pulumi_aws/elasticache/get_subnet_group.py @@ -153,7 +153,7 @@ def get_subnet_group(name: Optional[str] = None, vpc_id=pulumi.get(__ret__, 'vpc_id')) def get_subnet_group_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSubnetGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSubnetGroupResult]: """ Provides information about a ElastiCache Subnet Group. @@ -173,7 +173,7 @@ def get_subnet_group_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:elasticache/getSubnetGroup:getSubnetGroup', __args__, opts=opts, typ=GetSubnetGroupResult) return __ret__.apply(lambda __response__: GetSubnetGroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/elasticache/get_user.py b/sdk/python/pulumi_aws/elasticache/get_user.py index ecb619a64b1..7eeb7f41280 100644 --- a/sdk/python/pulumi_aws/elasticache/get_user.py +++ b/sdk/python/pulumi_aws/elasticache/get_user.py @@ -175,7 +175,7 @@ def get_user_output(access_string: Optional[pulumi.Input[Optional[str]]] = None, passwords: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, user_id: Optional[pulumi.Input[str]] = None, user_name: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUserResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserResult]: """ Use this data source to get information about an ElastiCache User. @@ -201,7 +201,7 @@ def get_user_output(access_string: Optional[pulumi.Input[Optional[str]]] = None, __args__['passwords'] = passwords __args__['userId'] = user_id __args__['userName'] = user_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:elasticache/getUser:getUser', __args__, opts=opts, typ=GetUserResult) return __ret__.apply(lambda __response__: GetUserResult( access_string=pulumi.get(__response__, 'access_string'), diff --git a/sdk/python/pulumi_aws/elasticbeanstalk/get_application.py b/sdk/python/pulumi_aws/elasticbeanstalk/get_application.py index 77710f53a56..4d8a2da16dd 100644 --- a/sdk/python/pulumi_aws/elasticbeanstalk/get_application.py +++ b/sdk/python/pulumi_aws/elasticbeanstalk/get_application.py @@ -123,7 +123,7 @@ def get_application(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_application_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetApplicationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApplicationResult]: """ Retrieve information about an Elastic Beanstalk Application. @@ -143,7 +143,7 @@ def get_application_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:elasticbeanstalk/getApplication:getApplication', __args__, opts=opts, typ=GetApplicationResult) return __ret__.apply(lambda __response__: GetApplicationResult( appversion_lifecycle=pulumi.get(__response__, 'appversion_lifecycle'), diff --git a/sdk/python/pulumi_aws/elasticbeanstalk/get_hosted_zone.py b/sdk/python/pulumi_aws/elasticbeanstalk/get_hosted_zone.py index 68e7bc4dccb..a772e754cac 100644 --- a/sdk/python/pulumi_aws/elasticbeanstalk/get_hosted_zone.py +++ b/sdk/python/pulumi_aws/elasticbeanstalk/get_hosted_zone.py @@ -87,7 +87,7 @@ def get_hosted_zone(region: Optional[str] = None, id=pulumi.get(__ret__, 'id'), region=pulumi.get(__ret__, 'region')) def get_hosted_zone_output(region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetHostedZoneResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetHostedZoneResult]: """ Use this data source to get the ID of an [elastic beanstalk hosted zone](http://docs.aws.amazon.com/general/latest/gr/rande.html#elasticbeanstalk_region). @@ -105,7 +105,7 @@ def get_hosted_zone_output(region: Optional[pulumi.Input[Optional[str]]] = None, """ __args__ = dict() __args__['region'] = region - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:elasticbeanstalk/getHostedZone:getHostedZone', __args__, opts=opts, typ=GetHostedZoneResult) return __ret__.apply(lambda __response__: GetHostedZoneResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/elasticbeanstalk/get_solution_stack.py b/sdk/python/pulumi_aws/elasticbeanstalk/get_solution_stack.py index b34a0371f0c..8d506dcd038 100644 --- a/sdk/python/pulumi_aws/elasticbeanstalk/get_solution_stack.py +++ b/sdk/python/pulumi_aws/elasticbeanstalk/get_solution_stack.py @@ -119,7 +119,7 @@ def get_solution_stack(most_recent: Optional[bool] = None, name_regex=pulumi.get(__ret__, 'name_regex')) def get_solution_stack_output(most_recent: Optional[pulumi.Input[Optional[bool]]] = None, name_regex: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSolutionStackResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSolutionStackResult]: """ Use this data source to get the name of a elastic beanstalk solution stack. @@ -147,7 +147,7 @@ def get_solution_stack_output(most_recent: Optional[pulumi.Input[Optional[bool]] __args__ = dict() __args__['mostRecent'] = most_recent __args__['nameRegex'] = name_regex - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:elasticbeanstalk/getSolutionStack:getSolutionStack', __args__, opts=opts, typ=GetSolutionStackResult) return __ret__.apply(lambda __response__: GetSolutionStackResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/elasticsearch/get_domain.py b/sdk/python/pulumi_aws/elasticsearch/get_domain.py index 5b3fe29d08a..67f706ac33f 100644 --- a/sdk/python/pulumi_aws/elasticsearch/get_domain.py +++ b/sdk/python/pulumi_aws/elasticsearch/get_domain.py @@ -362,7 +362,7 @@ def get_domain(domain_name: Optional[str] = None, vpc_options=pulumi.get(__ret__, 'vpc_options')) def get_domain_output(domain_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDomainResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDomainResult]: """ Use this data source to get information about an Elasticsearch Domain @@ -382,7 +382,7 @@ def get_domain_output(domain_name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['domainName'] = domain_name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:elasticsearch/getDomain:getDomain', __args__, opts=opts, typ=GetDomainResult) return __ret__.apply(lambda __response__: GetDomainResult( access_policies=pulumi.get(__response__, 'access_policies'), diff --git a/sdk/python/pulumi_aws/elb/get_hosted_zone_id.py b/sdk/python/pulumi_aws/elb/get_hosted_zone_id.py index abc50d29133..b74313e4998 100644 --- a/sdk/python/pulumi_aws/elb/get_hosted_zone_id.py +++ b/sdk/python/pulumi_aws/elb/get_hosted_zone_id.py @@ -95,7 +95,7 @@ def get_hosted_zone_id(region: Optional[str] = None, id=pulumi.get(__ret__, 'id'), region=pulumi.get(__ret__, 'region')) def get_hosted_zone_id_output(region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetHostedZoneIdResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetHostedZoneIdResult]: """ Use this data source to get the HostedZoneId of the AWS Elastic Load Balancing HostedZoneId in a given region for the purpose of using in an AWS Route53 Alias. @@ -124,7 +124,7 @@ def get_hosted_zone_id_output(region: Optional[pulumi.Input[Optional[str]]] = No """ __args__ = dict() __args__['region'] = region - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:elb/getHostedZoneId:getHostedZoneId', __args__, opts=opts, typ=GetHostedZoneIdResult) return __ret__.apply(lambda __response__: GetHostedZoneIdResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/elb/get_load_balancer.py b/sdk/python/pulumi_aws/elb/get_load_balancer.py index e64f3286471..becee72eae1 100644 --- a/sdk/python/pulumi_aws/elb/get_load_balancer.py +++ b/sdk/python/pulumi_aws/elb/get_load_balancer.py @@ -288,7 +288,7 @@ def get_load_balancer(name: Optional[str] = None, zone_id=pulumi.get(__ret__, 'zone_id')) def get_load_balancer_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLoadBalancerResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLoadBalancerResult]: """ Provides information about a "classic" Elastic Load Balancer (ELB). See LB Data Source if you are looking for "v2" @@ -317,7 +317,7 @@ def get_load_balancer_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:elb/getLoadBalancer:getLoadBalancer', __args__, opts=opts, typ=GetLoadBalancerResult) return __ret__.apply(lambda __response__: GetLoadBalancerResult( access_logs=pulumi.get(__response__, 'access_logs'), diff --git a/sdk/python/pulumi_aws/elb/get_service_account.py b/sdk/python/pulumi_aws/elb/get_service_account.py index 85879077f5f..4fac7b0668c 100644 --- a/sdk/python/pulumi_aws/elb/get_service_account.py +++ b/sdk/python/pulumi_aws/elb/get_service_account.py @@ -130,7 +130,7 @@ def get_service_account(region: Optional[str] = None, id=pulumi.get(__ret__, 'id'), region=pulumi.get(__ret__, 'region')) def get_service_account_output(region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServiceAccountResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServiceAccountResult]: """ Use this data source to get the Account ID of the [AWS Elastic Load Balancing Service Account](http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html#attach-bucket-policy) in a given region for the purpose of permitting in S3 bucket policy. @@ -181,7 +181,7 @@ def get_service_account_output(region: Optional[pulumi.Input[Optional[str]]] = N """ __args__ = dict() __args__['region'] = region - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:elb/getServiceAccount:getServiceAccount', __args__, opts=opts, typ=GetServiceAccountResult) return __ret__.apply(lambda __response__: GetServiceAccountResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/emr/get_release_labels.py b/sdk/python/pulumi_aws/emr/get_release_labels.py index 6b71f8cc149..f38e5d4d8cf 100644 --- a/sdk/python/pulumi_aws/emr/get_release_labels.py +++ b/sdk/python/pulumi_aws/emr/get_release_labels.py @@ -102,7 +102,7 @@ def get_release_labels(filters: Optional[Union['GetReleaseLabelsFiltersArgs', 'G id=pulumi.get(__ret__, 'id'), release_labels=pulumi.get(__ret__, 'release_labels')) def get_release_labels_output(filters: Optional[pulumi.Input[Optional[Union['GetReleaseLabelsFiltersArgs', 'GetReleaseLabelsFiltersArgsDict']]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetReleaseLabelsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReleaseLabelsResult]: """ Retrieve information about EMR Release Labels. @@ -123,7 +123,7 @@ def get_release_labels_output(filters: Optional[pulumi.Input[Optional[Union['Get """ __args__ = dict() __args__['filters'] = filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:emr/getReleaseLabels:getReleaseLabels', __args__, opts=opts, typ=GetReleaseLabelsResult) return __ret__.apply(lambda __response__: GetReleaseLabelsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/emr/get_supported_instance_types.py b/sdk/python/pulumi_aws/emr/get_supported_instance_types.py index c4ffc71125f..e1675f4fa1d 100644 --- a/sdk/python/pulumi_aws/emr/get_supported_instance_types.py +++ b/sdk/python/pulumi_aws/emr/get_supported_instance_types.py @@ -120,7 +120,7 @@ def get_supported_instance_types(release_label: Optional[str] = None, supported_instance_types=pulumi.get(__ret__, 'supported_instance_types')) def get_supported_instance_types_output(release_label: Optional[pulumi.Input[str]] = None, supported_instance_types: Optional[pulumi.Input[Optional[Sequence[Union['GetSupportedInstanceTypesSupportedInstanceTypeArgs', 'GetSupportedInstanceTypesSupportedInstanceTypeArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSupportedInstanceTypesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSupportedInstanceTypesResult]: """ Data source for managing AWS EMR Supported Instance Types. @@ -160,7 +160,7 @@ def get_supported_instance_types_output(release_label: Optional[pulumi.Input[str __args__ = dict() __args__['releaseLabel'] = release_label __args__['supportedInstanceTypes'] = supported_instance_types - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes', __args__, opts=opts, typ=GetSupportedInstanceTypesResult) return __ret__.apply(lambda __response__: GetSupportedInstanceTypesResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/emrcontainers/get_virtual_cluster.py b/sdk/python/pulumi_aws/emrcontainers/get_virtual_cluster.py index 67b2379df5a..38f5d334352 100644 --- a/sdk/python/pulumi_aws/emrcontainers/get_virtual_cluster.py +++ b/sdk/python/pulumi_aws/emrcontainers/get_virtual_cluster.py @@ -169,7 +169,7 @@ def get_virtual_cluster(tags: Optional[Mapping[str, str]] = None, virtual_cluster_id=pulumi.get(__ret__, 'virtual_cluster_id')) def get_virtual_cluster_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, virtual_cluster_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVirtualClusterResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVirtualClusterResult]: """ Retrieve information about an EMR Containers (EMR on EKS) Virtual Cluster. @@ -191,7 +191,7 @@ def get_virtual_cluster_output(tags: Optional[pulumi.Input[Optional[Mapping[str, __args__ = dict() __args__['tags'] = tags __args__['virtualClusterId'] = virtual_cluster_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:emrcontainers/getVirtualCluster:getVirtualCluster', __args__, opts=opts, typ=GetVirtualClusterResult) return __ret__.apply(lambda __response__: GetVirtualClusterResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/fsx/get_ontap_file_system.py b/sdk/python/pulumi_aws/fsx/get_ontap_file_system.py index 6c6bf7f30e2..316657e2443 100644 --- a/sdk/python/pulumi_aws/fsx/get_ontap_file_system.py +++ b/sdk/python/pulumi_aws/fsx/get_ontap_file_system.py @@ -367,7 +367,7 @@ def get_ontap_file_system(id: Optional[str] = None, weekly_maintenance_start_time=pulumi.get(__ret__, 'weekly_maintenance_start_time')) def get_ontap_file_system_output(id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOntapFileSystemResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOntapFileSystemResult]: """ Retrieve information on FSx ONTAP File System. @@ -389,7 +389,7 @@ def get_ontap_file_system_output(id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['id'] = id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:fsx/getOntapFileSystem:getOntapFileSystem', __args__, opts=opts, typ=GetOntapFileSystemResult) return __ret__.apply(lambda __response__: GetOntapFileSystemResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/fsx/get_ontap_storage_virtual_machine.py b/sdk/python/pulumi_aws/fsx/get_ontap_storage_virtual_machine.py index 888436ceb82..75c86ecdea5 100644 --- a/sdk/python/pulumi_aws/fsx/get_ontap_storage_virtual_machine.py +++ b/sdk/python/pulumi_aws/fsx/get_ontap_storage_virtual_machine.py @@ -247,7 +247,7 @@ def get_ontap_storage_virtual_machine(filters: Optional[Sequence[Union['GetOntap def get_ontap_storage_virtual_machine_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetOntapStorageVirtualMachineFilterArgs', 'GetOntapStorageVirtualMachineFilterArgsDict']]]]] = None, id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOntapStorageVirtualMachineResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOntapStorageVirtualMachineResult]: """ Retrieve information on FSx ONTAP Storage Virtual Machine (SVM). @@ -282,7 +282,7 @@ def get_ontap_storage_virtual_machine_output(filters: Optional[pulumi.Input[Opti __args__['filters'] = filters __args__['id'] = id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:fsx/getOntapStorageVirtualMachine:getOntapStorageVirtualMachine', __args__, opts=opts, typ=GetOntapStorageVirtualMachineResult) return __ret__.apply(lambda __response__: GetOntapStorageVirtualMachineResult( active_directory_configurations=pulumi.get(__response__, 'active_directory_configurations'), diff --git a/sdk/python/pulumi_aws/fsx/get_ontap_storage_virtual_machines.py b/sdk/python/pulumi_aws/fsx/get_ontap_storage_virtual_machines.py index 5d682a127e7..453af0f3414 100644 --- a/sdk/python/pulumi_aws/fsx/get_ontap_storage_virtual_machines.py +++ b/sdk/python/pulumi_aws/fsx/get_ontap_storage_virtual_machines.py @@ -104,7 +104,7 @@ def get_ontap_storage_virtual_machines(filters: Optional[Sequence[Union['GetOnta id=pulumi.get(__ret__, 'id'), ids=pulumi.get(__ret__, 'ids')) def get_ontap_storage_virtual_machines_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetOntapStorageVirtualMachinesFilterArgs', 'GetOntapStorageVirtualMachinesFilterArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOntapStorageVirtualMachinesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOntapStorageVirtualMachinesResult]: """ This resource can be useful for getting back a set of FSx ONTAP Storage Virtual Machine (SVM) IDs. @@ -127,7 +127,7 @@ def get_ontap_storage_virtual_machines_output(filters: Optional[pulumi.Input[Opt """ __args__ = dict() __args__['filters'] = filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:fsx/getOntapStorageVirtualMachines:getOntapStorageVirtualMachines', __args__, opts=opts, typ=GetOntapStorageVirtualMachinesResult) return __ret__.apply(lambda __response__: GetOntapStorageVirtualMachinesResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/fsx/get_open_zfs_snapshot.py b/sdk/python/pulumi_aws/fsx/get_open_zfs_snapshot.py index 7f0fdfd3929..2c1f2d021f3 100644 --- a/sdk/python/pulumi_aws/fsx/get_open_zfs_snapshot.py +++ b/sdk/python/pulumi_aws/fsx/get_open_zfs_snapshot.py @@ -207,7 +207,7 @@ def get_open_zfs_snapshot_output(filters: Optional[pulumi.Input[Optional[Sequenc name: Optional[pulumi.Input[Optional[str]]] = None, snapshot_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOpenZfsSnapshotResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOpenZfsSnapshotResult]: """ Use this data source to get information about an Amazon FSx for OpenZFS Snapshot for use when provisioning new Volumes. @@ -240,7 +240,7 @@ def get_open_zfs_snapshot_output(filters: Optional[pulumi.Input[Optional[Sequenc __args__['name'] = name __args__['snapshotIds'] = snapshot_ids __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:fsx/getOpenZfsSnapshot:getOpenZfsSnapshot', __args__, opts=opts, typ=GetOpenZfsSnapshotResult) return __ret__.apply(lambda __response__: GetOpenZfsSnapshotResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/fsx/get_windows_file_system.py b/sdk/python/pulumi_aws/fsx/get_windows_file_system.py index 3ecc4ffeb92..7314dcd7f85 100644 --- a/sdk/python/pulumi_aws/fsx/get_windows_file_system.py +++ b/sdk/python/pulumi_aws/fsx/get_windows_file_system.py @@ -394,7 +394,7 @@ def get_windows_file_system(id: Optional[str] = None, weekly_maintenance_start_time=pulumi.get(__ret__, 'weekly_maintenance_start_time')) def get_windows_file_system_output(id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetWindowsFileSystemResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWindowsFileSystemResult]: """ Retrieve information on FSx Windows File System. @@ -416,7 +416,7 @@ def get_windows_file_system_output(id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['id'] = id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:fsx/getWindowsFileSystem:getWindowsFileSystem', __args__, opts=opts, typ=GetWindowsFileSystemResult) return __ret__.apply(lambda __response__: GetWindowsFileSystemResult( active_directory_id=pulumi.get(__response__, 'active_directory_id'), diff --git a/sdk/python/pulumi_aws/get_arn.py b/sdk/python/pulumi_aws/get_arn.py index 29991e63521..29a5f26871c 100644 --- a/sdk/python/pulumi_aws/get_arn.py +++ b/sdk/python/pulumi_aws/get_arn.py @@ -151,7 +151,7 @@ def get_arn(arn: Optional[str] = None, service=pulumi.get(__ret__, 'service')) def get_arn_output(arn: Optional[pulumi.Input[str]] = None, id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetArnResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetArnResult]: """ Parses an ARN into its constituent parts. @@ -170,7 +170,7 @@ def get_arn_output(arn: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['arn'] = arn __args__['id'] = id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:index/getArn:getArn', __args__, opts=opts, typ=GetArnResult) return __ret__.apply(lambda __response__: GetArnResult( account=pulumi.get(__response__, 'account'), diff --git a/sdk/python/pulumi_aws/get_availability_zone.py b/sdk/python/pulumi_aws/get_availability_zone.py index ea9c2d0d847..40336e1ed14 100644 --- a/sdk/python/pulumi_aws/get_availability_zone.py +++ b/sdk/python/pulumi_aws/get_availability_zone.py @@ -294,7 +294,7 @@ def get_availability_zone_output(all_availability_zones: Optional[pulumi.Input[O name: Optional[pulumi.Input[Optional[str]]] = None, state: Optional[pulumi.Input[Optional[str]]] = None, zone_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAvailabilityZoneResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAvailabilityZoneResult]: """ `get_availability_zone` provides details about a specific availability zone (AZ) in the current region. @@ -366,7 +366,7 @@ def get_availability_zone_output(all_availability_zones: Optional[pulumi.Input[O __args__['name'] = name __args__['state'] = state __args__['zoneId'] = zone_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:index/getAvailabilityZone:getAvailabilityZone', __args__, opts=opts, typ=GetAvailabilityZoneResult) return __ret__.apply(lambda __response__: GetAvailabilityZoneResult( all_availability_zones=pulumi.get(__response__, 'all_availability_zones'), diff --git a/sdk/python/pulumi_aws/get_availability_zones.py b/sdk/python/pulumi_aws/get_availability_zones.py index 07c85314b59..caeecd6742a 100644 --- a/sdk/python/pulumi_aws/get_availability_zones.py +++ b/sdk/python/pulumi_aws/get_availability_zones.py @@ -227,7 +227,7 @@ def get_availability_zones_output(all_availability_zones: Optional[pulumi.Input[ exclude_zone_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, filters: Optional[pulumi.Input[Optional[Sequence[Union['GetAvailabilityZonesFilterArgs', 'GetAvailabilityZonesFilterArgsDict']]]]] = None, state: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAvailabilityZonesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAvailabilityZonesResult]: """ The Availability Zones data source allows access to the list of AWS Availability Zones which can be accessed by an AWS account within the region @@ -299,7 +299,7 @@ def get_availability_zones_output(all_availability_zones: Optional[pulumi.Input[ __args__['excludeZoneIds'] = exclude_zone_ids __args__['filters'] = filters __args__['state'] = state - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:index/getAvailabilityZones:getAvailabilityZones', __args__, opts=opts, typ=GetAvailabilityZonesResult) return __ret__.apply(lambda __response__: GetAvailabilityZonesResult( all_availability_zones=pulumi.get(__response__, 'all_availability_zones'), diff --git a/sdk/python/pulumi_aws/get_billing_service_account.py b/sdk/python/pulumi_aws/get_billing_service_account.py index bd821c8a7ee..9960a394058 100644 --- a/sdk/python/pulumi_aws/get_billing_service_account.py +++ b/sdk/python/pulumi_aws/get_billing_service_account.py @@ -121,7 +121,7 @@ def get_billing_service_account(id: Optional[str] = None, arn=pulumi.get(__ret__, 'arn'), id=pulumi.get(__ret__, 'id')) def get_billing_service_account_output(id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBillingServiceAccountResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBillingServiceAccountResult]: """ Use this data source to get the Account ID of the [AWS Billing and Cost Management Service Account](http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-getting-started.html#step-2) for the purpose of permitting in S3 bucket policy. @@ -173,7 +173,7 @@ def get_billing_service_account_output(id: Optional[pulumi.Input[Optional[str]]] """ __args__ = dict() __args__['id'] = id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:index/getBillingServiceAccount:getBillingServiceAccount', __args__, opts=opts, typ=GetBillingServiceAccountResult) return __ret__.apply(lambda __response__: GetBillingServiceAccountResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/get_caller_identity.py b/sdk/python/pulumi_aws/get_caller_identity.py index b4ca7fbc37d..042f2177c65 100644 --- a/sdk/python/pulumi_aws/get_caller_identity.py +++ b/sdk/python/pulumi_aws/get_caller_identity.py @@ -117,7 +117,7 @@ def get_caller_identity(id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), user_id=pulumi.get(__ret__, 'user_id')) def get_caller_identity_output(id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCallerIdentityResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCallerIdentityResult]: """ Use this data source to get the access to the effective Account ID, User ID, and ARN in which this provider is authorized. @@ -139,7 +139,7 @@ def get_caller_identity_output(id: Optional[pulumi.Input[Optional[str]]] = None, """ __args__ = dict() __args__['id'] = id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:index/getCallerIdentity:getCallerIdentity', __args__, opts=opts, typ=GetCallerIdentityResult) return __ret__.apply(lambda __response__: GetCallerIdentityResult( account_id=pulumi.get(__response__, 'account_id'), diff --git a/sdk/python/pulumi_aws/get_default_tags.py b/sdk/python/pulumi_aws/get_default_tags.py index ff338c091e2..af14b0117fc 100644 --- a/sdk/python/pulumi_aws/get_default_tags.py +++ b/sdk/python/pulumi_aws/get_default_tags.py @@ -99,7 +99,7 @@ def get_default_tags(id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), tags=pulumi.get(__ret__, 'tags')) def get_default_tags_output(id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDefaultTagsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDefaultTagsResult]: """ Use this data source to get the default tags configured on the provider. @@ -132,7 +132,7 @@ def get_default_tags_output(id: Optional[pulumi.Input[Optional[str]]] = None, """ __args__ = dict() __args__['id'] = id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:index/getDefaultTags:getDefaultTags', __args__, opts=opts, typ=GetDefaultTagsResult) return __ret__.apply(lambda __response__: GetDefaultTagsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/get_ip_ranges.py b/sdk/python/pulumi_aws/get_ip_ranges.py index 0d448ecced8..8c74fae846d 100644 --- a/sdk/python/pulumi_aws/get_ip_ranges.py +++ b/sdk/python/pulumi_aws/get_ip_ranges.py @@ -191,7 +191,7 @@ def get_ip_ranges_output(id: Optional[pulumi.Input[Optional[str]]] = None, regions: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, services: Optional[pulumi.Input[Sequence[str]]] = None, url: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIpRangesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIpRangesResult]: """ Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). @@ -240,7 +240,7 @@ def get_ip_ranges_output(id: Optional[pulumi.Input[Optional[str]]] = None, __args__['regions'] = regions __args__['services'] = services __args__['url'] = url - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:index/getIpRanges:getIpRanges', __args__, opts=opts, typ=GetIpRangesResult) return __ret__.apply(lambda __response__: GetIpRangesResult( cidr_blocks=pulumi.get(__response__, 'cidr_blocks'), diff --git a/sdk/python/pulumi_aws/get_partition.py b/sdk/python/pulumi_aws/get_partition.py index e6a09b6532c..806a3a90222 100644 --- a/sdk/python/pulumi_aws/get_partition.py +++ b/sdk/python/pulumi_aws/get_partition.py @@ -119,7 +119,7 @@ def get_partition(id: Optional[str] = None, partition=pulumi.get(__ret__, 'partition'), reverse_dns_prefix=pulumi.get(__ret__, 'reverse_dns_prefix')) def get_partition_output(id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPartitionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPartitionResult]: """ Use this data source to lookup information about the current AWS partition in which the provider is working. @@ -143,7 +143,7 @@ def get_partition_output(id: Optional[pulumi.Input[Optional[str]]] = None, """ __args__ = dict() __args__['id'] = id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:index/getPartition:getPartition', __args__, opts=opts, typ=GetPartitionResult) return __ret__.apply(lambda __response__: GetPartitionResult( dns_suffix=pulumi.get(__response__, 'dns_suffix'), diff --git a/sdk/python/pulumi_aws/get_region.py b/sdk/python/pulumi_aws/get_region.py index 49b377b093e..538c1517f8f 100644 --- a/sdk/python/pulumi_aws/get_region.py +++ b/sdk/python/pulumi_aws/get_region.py @@ -125,7 +125,7 @@ def get_region(endpoint: Optional[str] = None, def get_region_output(endpoint: Optional[pulumi.Input[Optional[str]]] = None, id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRegionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRegionResult]: """ `get_region` provides details about a specific AWS region. @@ -154,7 +154,7 @@ def get_region_output(endpoint: Optional[pulumi.Input[Optional[str]]] = None, __args__['endpoint'] = endpoint __args__['id'] = id __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:index/getRegion:getRegion', __args__, opts=opts, typ=GetRegionResult) return __ret__.apply(lambda __response__: GetRegionResult( description=pulumi.get(__response__, 'description'), diff --git a/sdk/python/pulumi_aws/get_regions.py b/sdk/python/pulumi_aws/get_regions.py index 196623cdaa4..ff39938f724 100644 --- a/sdk/python/pulumi_aws/get_regions.py +++ b/sdk/python/pulumi_aws/get_regions.py @@ -141,7 +141,7 @@ def get_regions(all_regions: Optional[bool] = None, def get_regions_output(all_regions: Optional[pulumi.Input[Optional[bool]]] = None, filters: Optional[pulumi.Input[Optional[Sequence[Union['GetRegionsFilterArgs', 'GetRegionsFilterArgsDict']]]]] = None, id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRegionsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRegionsResult]: """ Provides information about AWS Regions. Can be used to filter regions i.e., by Opt-In status or only regions enabled for current account. To get details like endpoint and description of each region the data source can be combined with the `get_region` data source. @@ -187,7 +187,7 @@ def get_regions_output(all_regions: Optional[pulumi.Input[Optional[bool]]] = Non __args__['allRegions'] = all_regions __args__['filters'] = filters __args__['id'] = id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:index/getRegions:getRegions', __args__, opts=opts, typ=GetRegionsResult) return __ret__.apply(lambda __response__: GetRegionsResult( all_regions=pulumi.get(__response__, 'all_regions'), diff --git a/sdk/python/pulumi_aws/get_service.py b/sdk/python/pulumi_aws/get_service.py index a2d2a014ce3..47ff6a38721 100644 --- a/sdk/python/pulumi_aws/get_service.py +++ b/sdk/python/pulumi_aws/get_service.py @@ -185,7 +185,7 @@ def get_service_output(dns_name: Optional[pulumi.Input[Optional[str]]] = None, reverse_dns_name: Optional[pulumi.Input[Optional[str]]] = None, reverse_dns_prefix: Optional[pulumi.Input[Optional[str]]] = None, service_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServiceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServiceResult]: """ Use this data source to compose and decompose AWS service DNS names. @@ -234,7 +234,7 @@ def get_service_output(dns_name: Optional[pulumi.Input[Optional[str]]] = None, __args__['reverseDnsName'] = reverse_dns_name __args__['reverseDnsPrefix'] = reverse_dns_prefix __args__['serviceId'] = service_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:index/getService:getService', __args__, opts=opts, typ=GetServiceResult) return __ret__.apply(lambda __response__: GetServiceResult( dns_name=pulumi.get(__response__, 'dns_name'), diff --git a/sdk/python/pulumi_aws/get_service_principal.py b/sdk/python/pulumi_aws/get_service_principal.py index fa03f4dc506..632895e36df 100644 --- a/sdk/python/pulumi_aws/get_service_principal.py +++ b/sdk/python/pulumi_aws/get_service_principal.py @@ -129,7 +129,7 @@ def get_service_principal(region: Optional[str] = None, suffix=pulumi.get(__ret__, 'suffix')) def get_service_principal_output(region: Optional[pulumi.Input[Optional[str]]] = None, service_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServicePrincipalResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServicePrincipalResult]: """ Use this data source to create a Service Principal Name for a service in a given region. Service Principal Names should always end in the standard global format: `{servicename}.amazonaws.com`. However, in some AWS partitions, AWS may expect a different format. @@ -151,7 +151,7 @@ def get_service_principal_output(region: Optional[pulumi.Input[Optional[str]]] = __args__ = dict() __args__['region'] = region __args__['serviceName'] = service_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:index/getServicePrincipal:getServicePrincipal', __args__, opts=opts, typ=GetServicePrincipalResult) return __ret__.apply(lambda __response__: GetServicePrincipalResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/globalaccelerator/get_accelerator.py b/sdk/python/pulumi_aws/globalaccelerator/get_accelerator.py index dcd89b40c9c..ddd8455c88f 100644 --- a/sdk/python/pulumi_aws/globalaccelerator/get_accelerator.py +++ b/sdk/python/pulumi_aws/globalaccelerator/get_accelerator.py @@ -189,7 +189,7 @@ def get_accelerator(arn: Optional[str] = None, def get_accelerator_output(arn: Optional[pulumi.Input[Optional[str]]] = None, id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAcceleratorResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAcceleratorResult]: """ Provides information about a Global Accelerator accelerator. @@ -220,7 +220,7 @@ def get_accelerator_output(arn: Optional[pulumi.Input[Optional[str]]] = None, __args__['arn'] = arn __args__['id'] = id __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:globalaccelerator/getAccelerator:getAccelerator', __args__, opts=opts, typ=GetAcceleratorResult) return __ret__.apply(lambda __response__: GetAcceleratorResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/globalaccelerator/get_custom_routing_accelerator.py b/sdk/python/pulumi_aws/globalaccelerator/get_custom_routing_accelerator.py index 52059b9ddd1..7a070c8668b 100644 --- a/sdk/python/pulumi_aws/globalaccelerator/get_custom_routing_accelerator.py +++ b/sdk/python/pulumi_aws/globalaccelerator/get_custom_routing_accelerator.py @@ -182,7 +182,7 @@ def get_custom_routing_accelerator(arn: Optional[str] = None, def get_custom_routing_accelerator_output(arn: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCustomRoutingAcceleratorResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCustomRoutingAcceleratorResult]: """ Provides information about a Global Accelerator custom routing accelerator. @@ -213,7 +213,7 @@ def get_custom_routing_accelerator_output(arn: Optional[pulumi.Input[Optional[st __args__['arn'] = arn __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:globalaccelerator/getCustomRoutingAccelerator:getCustomRoutingAccelerator', __args__, opts=opts, typ=GetCustomRoutingAcceleratorResult) return __ret__.apply(lambda __response__: GetCustomRoutingAcceleratorResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/glue/get_catalog_table.py b/sdk/python/pulumi_aws/glue/get_catalog_table.py index 50b47266421..5af1858d9d0 100644 --- a/sdk/python/pulumi_aws/glue/get_catalog_table.py +++ b/sdk/python/pulumi_aws/glue/get_catalog_table.py @@ -307,7 +307,7 @@ def get_catalog_table_output(catalog_id: Optional[pulumi.Input[Optional[str]]] = name: Optional[pulumi.Input[str]] = None, query_as_of_time: Optional[pulumi.Input[Optional[str]]] = None, transaction_id: Optional[pulumi.Input[Optional[int]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCatalogTableResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCatalogTableResult]: """ This data source can be used to fetch information about an AWS Glue Data Catalog Table. @@ -334,7 +334,7 @@ def get_catalog_table_output(catalog_id: Optional[pulumi.Input[Optional[str]]] = __args__['name'] = name __args__['queryAsOfTime'] = query_as_of_time __args__['transactionId'] = transaction_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:glue/getCatalogTable:getCatalogTable', __args__, opts=opts, typ=GetCatalogTableResult) return __ret__.apply(lambda __response__: GetCatalogTableResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/glue/get_connection.py b/sdk/python/pulumi_aws/glue/get_connection.py index 6142af3a83b..b15e4170032 100644 --- a/sdk/python/pulumi_aws/glue/get_connection.py +++ b/sdk/python/pulumi_aws/glue/get_connection.py @@ -191,7 +191,7 @@ def get_connection(id: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_connection_output(id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConnectionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConnectionResult]: """ This data source can be used to fetch information about a specific Glue Connection. @@ -212,7 +212,7 @@ def get_connection_output(id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['id'] = id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:glue/getConnection:getConnection', __args__, opts=opts, typ=GetConnectionResult) return __ret__.apply(lambda __response__: GetConnectionResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/glue/get_data_catalog_encryption_settings.py b/sdk/python/pulumi_aws/glue/get_data_catalog_encryption_settings.py index 6a159e764f8..e4d43011612 100644 --- a/sdk/python/pulumi_aws/glue/get_data_catalog_encryption_settings.py +++ b/sdk/python/pulumi_aws/glue/get_data_catalog_encryption_settings.py @@ -89,7 +89,7 @@ def get_data_catalog_encryption_settings(catalog_id: Optional[str] = None, data_catalog_encryption_settings=pulumi.get(__ret__, 'data_catalog_encryption_settings'), id=pulumi.get(__ret__, 'id')) def get_data_catalog_encryption_settings_output(catalog_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDataCatalogEncryptionSettingsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDataCatalogEncryptionSettingsResult]: """ This data source can be used to fetch information about AWS Glue Data Catalog Encryption Settings. @@ -98,7 +98,7 @@ def get_data_catalog_encryption_settings_output(catalog_id: Optional[pulumi.Inpu """ __args__ = dict() __args__['catalogId'] = catalog_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:glue/getDataCatalogEncryptionSettings:getDataCatalogEncryptionSettings', __args__, opts=opts, typ=GetDataCatalogEncryptionSettingsResult) return __ret__.apply(lambda __response__: GetDataCatalogEncryptionSettingsResult( catalog_id=pulumi.get(__response__, 'catalog_id'), diff --git a/sdk/python/pulumi_aws/glue/get_registry.py b/sdk/python/pulumi_aws/glue/get_registry.py index ffcf99a288c..5f8ba52d098 100644 --- a/sdk/python/pulumi_aws/glue/get_registry.py +++ b/sdk/python/pulumi_aws/glue/get_registry.py @@ -112,7 +112,7 @@ def get_registry(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_registry_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRegistryResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRegistryResult]: """ Data source for managing an AWS Glue Registry. @@ -132,7 +132,7 @@ def get_registry_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:glue/getRegistry:getRegistry', __args__, opts=opts, typ=GetRegistryResult) return __ret__.apply(lambda __response__: GetRegistryResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/glue/get_script.py b/sdk/python/pulumi_aws/glue/get_script.py index 33ed934ee68..5d59a2bb744 100644 --- a/sdk/python/pulumi_aws/glue/get_script.py +++ b/sdk/python/pulumi_aws/glue/get_script.py @@ -317,7 +317,7 @@ def get_script(dag_edges: Optional[Sequence[Union['GetScriptDagEdgeArgs', 'GetSc def get_script_output(dag_edges: Optional[pulumi.Input[Sequence[Union['GetScriptDagEdgeArgs', 'GetScriptDagEdgeArgsDict']]]] = None, dag_nodes: Optional[pulumi.Input[Sequence[Union['GetScriptDagNodeArgs', 'GetScriptDagNodeArgsDict']]]] = None, language: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetScriptResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetScriptResult]: """ Use this data source to generate a Glue script from a Directed Acyclic Graph (DAG). @@ -516,7 +516,7 @@ def get_script_output(dag_edges: Optional[pulumi.Input[Sequence[Union['GetScript __args__['dagEdges'] = dag_edges __args__['dagNodes'] = dag_nodes __args__['language'] = language - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:glue/getScript:getScript', __args__, opts=opts, typ=GetScriptResult) return __ret__.apply(lambda __response__: GetScriptResult( dag_edges=pulumi.get(__response__, 'dag_edges'), diff --git a/sdk/python/pulumi_aws/grafana/get_workspace.py b/sdk/python/pulumi_aws/grafana/get_workspace.py index 95c89a51e1b..f8f34103689 100644 --- a/sdk/python/pulumi_aws/grafana/get_workspace.py +++ b/sdk/python/pulumi_aws/grafana/get_workspace.py @@ -334,7 +334,7 @@ def get_workspace(tags: Optional[Mapping[str, str]] = None, workspace_id=pulumi.get(__ret__, 'workspace_id')) def get_workspace_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, workspace_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetWorkspaceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWorkspaceResult]: """ Provides an Amazon Managed Grafana workspace data source. @@ -356,7 +356,7 @@ def get_workspace_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]] __args__ = dict() __args__['tags'] = tags __args__['workspaceId'] = workspace_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:grafana/getWorkspace:getWorkspace', __args__, opts=opts, typ=GetWorkspaceResult) return __ret__.apply(lambda __response__: GetWorkspaceResult( account_access_type=pulumi.get(__response__, 'account_access_type'), diff --git a/sdk/python/pulumi_aws/guardduty/get_detector.py b/sdk/python/pulumi_aws/guardduty/get_detector.py index 79d30817aca..7a389cd8ffd 100644 --- a/sdk/python/pulumi_aws/guardduty/get_detector.py +++ b/sdk/python/pulumi_aws/guardduty/get_detector.py @@ -124,7 +124,7 @@ def get_detector(id: Optional[str] = None, service_role_arn=pulumi.get(__ret__, 'service_role_arn'), status=pulumi.get(__ret__, 'status')) def get_detector_output(id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDetectorResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDetectorResult]: """ Retrieve information about a GuardDuty detector. @@ -142,7 +142,7 @@ def get_detector_output(id: Optional[pulumi.Input[Optional[str]]] = None, """ __args__ = dict() __args__['id'] = id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:guardduty/getDetector:getDetector', __args__, opts=opts, typ=GetDetectorResult) return __ret__.apply(lambda __response__: GetDetectorResult( features=pulumi.get(__response__, 'features'), diff --git a/sdk/python/pulumi_aws/guardduty/get_finding_ids.py b/sdk/python/pulumi_aws/guardduty/get_finding_ids.py index 366f71fbc5d..50f15de61d2 100644 --- a/sdk/python/pulumi_aws/guardduty/get_finding_ids.py +++ b/sdk/python/pulumi_aws/guardduty/get_finding_ids.py @@ -109,7 +109,7 @@ def get_finding_ids(detector_id: Optional[str] = None, has_findings=pulumi.get(__ret__, 'has_findings'), id=pulumi.get(__ret__, 'id')) def get_finding_ids_output(detector_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFindingIdsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFindingIdsResult]: """ Data source for managing an AWS GuardDuty Finding Ids. @@ -129,7 +129,7 @@ def get_finding_ids_output(detector_id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['detectorId'] = detector_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:guardduty/getFindingIds:getFindingIds', __args__, opts=opts, typ=GetFindingIdsResult) return __ret__.apply(lambda __response__: GetFindingIdsResult( detector_id=pulumi.get(__response__, 'detector_id'), diff --git a/sdk/python/pulumi_aws/iam/get_access_keys.py b/sdk/python/pulumi_aws/iam/get_access_keys.py index 77e553c6781..e052ca49fce 100644 --- a/sdk/python/pulumi_aws/iam/get_access_keys.py +++ b/sdk/python/pulumi_aws/iam/get_access_keys.py @@ -99,7 +99,7 @@ def get_access_keys(user: Optional[str] = None, id=pulumi.get(__ret__, 'id'), user=pulumi.get(__ret__, 'user')) def get_access_keys_output(user: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAccessKeysResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAccessKeysResult]: """ This data source can be used to fetch information about IAM access keys of a specific IAM user. @@ -118,7 +118,7 @@ def get_access_keys_output(user: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['user'] = user - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iam/getAccessKeys:getAccessKeys', __args__, opts=opts, typ=GetAccessKeysResult) return __ret__.apply(lambda __response__: GetAccessKeysResult( access_keys=pulumi.get(__response__, 'access_keys'), diff --git a/sdk/python/pulumi_aws/iam/get_account_alias.py b/sdk/python/pulumi_aws/iam/get_account_alias.py index 4ff7346775e..b876984bc0a 100644 --- a/sdk/python/pulumi_aws/iam/get_account_alias.py +++ b/sdk/python/pulumi_aws/iam/get_account_alias.py @@ -83,7 +83,7 @@ def get_account_alias(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableG return AwaitableGetAccountAliasResult( account_alias=pulumi.get(__ret__, 'account_alias'), id=pulumi.get(__ret__, 'id')) -def get_account_alias_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAccountAliasResult]: +def get_account_alias_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAccountAliasResult]: """ The IAM Account Alias data source allows access to the account alias for the effective account in which this provider is working. @@ -99,7 +99,7 @@ def get_account_alias_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.I ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iam/getAccountAlias:getAccountAlias', __args__, opts=opts, typ=GetAccountAliasResult) return __ret__.apply(lambda __response__: GetAccountAliasResult( account_alias=pulumi.get(__response__, 'account_alias'), diff --git a/sdk/python/pulumi_aws/iam/get_group.py b/sdk/python/pulumi_aws/iam/get_group.py index bd3086b8429..3795e94a215 100644 --- a/sdk/python/pulumi_aws/iam/get_group.py +++ b/sdk/python/pulumi_aws/iam/get_group.py @@ -139,7 +139,7 @@ def get_group(group_name: Optional[str] = None, path=pulumi.get(__ret__, 'path'), users=pulumi.get(__ret__, 'users')) def get_group_output(group_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGroupResult]: """ This data source can be used to fetch information about a specific IAM group. By using this data source, you can reference IAM group @@ -159,7 +159,7 @@ def get_group_output(group_name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['groupName'] = group_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iam/getGroup:getGroup', __args__, opts=opts, typ=GetGroupResult) return __ret__.apply(lambda __response__: GetGroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/iam/get_instance_profile.py b/sdk/python/pulumi_aws/iam/get_instance_profile.py index cb324d5eafe..89a409b3cbe 100644 --- a/sdk/python/pulumi_aws/iam/get_instance_profile.py +++ b/sdk/python/pulumi_aws/iam/get_instance_profile.py @@ -164,7 +164,7 @@ def get_instance_profile(name: Optional[str] = None, role_id=pulumi.get(__ret__, 'role_id'), role_name=pulumi.get(__ret__, 'role_name')) def get_instance_profile_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceProfileResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceProfileResult]: """ This data source can be used to fetch information about a specific IAM instance profile. By using this data source, you can reference IAM @@ -184,7 +184,7 @@ def get_instance_profile_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iam/getInstanceProfile:getInstanceProfile', __args__, opts=opts, typ=GetInstanceProfileResult) return __ret__.apply(lambda __response__: GetInstanceProfileResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/iam/get_instance_profiles.py b/sdk/python/pulumi_aws/iam/get_instance_profiles.py index f06de931140..a860d4f14f5 100644 --- a/sdk/python/pulumi_aws/iam/get_instance_profiles.py +++ b/sdk/python/pulumi_aws/iam/get_instance_profiles.py @@ -125,7 +125,7 @@ def get_instance_profiles(role_name: Optional[str] = None, paths=pulumi.get(__ret__, 'paths'), role_name=pulumi.get(__ret__, 'role_name')) def get_instance_profiles_output(role_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceProfilesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceProfilesResult]: """ This data source can be used to fetch information about all IAM instance profiles under a role. By using this data source, you can reference IAM @@ -145,7 +145,7 @@ def get_instance_profiles_output(role_name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['roleName'] = role_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iam/getInstanceProfiles:getInstanceProfiles', __args__, opts=opts, typ=GetInstanceProfilesResult) return __ret__.apply(lambda __response__: GetInstanceProfilesResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/iam/get_open_id_connect_provider.py b/sdk/python/pulumi_aws/iam/get_open_id_connect_provider.py index adb3e04dd06..0e6728efaf7 100644 --- a/sdk/python/pulumi_aws/iam/get_open_id_connect_provider.py +++ b/sdk/python/pulumi_aws/iam/get_open_id_connect_provider.py @@ -150,7 +150,7 @@ def get_open_id_connect_provider(arn: Optional[str] = None, def get_open_id_connect_provider_output(arn: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, url: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOpenIdConnectProviderResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOpenIdConnectProviderResult]: """ This data source can be used to fetch information about a specific IAM OpenID Connect provider. By using this data source, you can retrieve the @@ -181,7 +181,7 @@ def get_open_id_connect_provider_output(arn: Optional[pulumi.Input[Optional[str] __args__['arn'] = arn __args__['tags'] = tags __args__['url'] = url - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iam/getOpenIdConnectProvider:getOpenIdConnectProvider', __args__, opts=opts, typ=GetOpenIdConnectProviderResult) return __ret__.apply(lambda __response__: GetOpenIdConnectProviderResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/iam/get_policy.py b/sdk/python/pulumi_aws/iam/get_policy.py index ce89cdc4731..a951d864de0 100644 --- a/sdk/python/pulumi_aws/iam/get_policy.py +++ b/sdk/python/pulumi_aws/iam/get_policy.py @@ -213,7 +213,7 @@ def get_policy_output(arn: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, path_prefix: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPolicyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPolicyResult]: """ This data source can be used to fetch information about a specific IAM policy. @@ -253,7 +253,7 @@ def get_policy_output(arn: Optional[pulumi.Input[Optional[str]]] = None, __args__['name'] = name __args__['pathPrefix'] = path_prefix __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iam/getPolicy:getPolicy', __args__, opts=opts, typ=GetPolicyResult) return __ret__.apply(lambda __response__: GetPolicyResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/iam/get_policy_document.py b/sdk/python/pulumi_aws/iam/get_policy_document.py index 84ed7b1a94f..ff2ee92b411 100644 --- a/sdk/python/pulumi_aws/iam/get_policy_document.py +++ b/sdk/python/pulumi_aws/iam/get_policy_document.py @@ -470,7 +470,7 @@ def get_policy_document_output(override_json: Optional[pulumi.Input[Optional[str source_policy_documents: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, statements: Optional[pulumi.Input[Optional[Sequence[Union['GetPolicyDocumentStatementArgs', 'GetPolicyDocumentStatementArgsDict']]]]] = None, version: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPolicyDocumentResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPolicyDocumentResult]: """ Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `iam.Policy`. @@ -772,7 +772,7 @@ def get_policy_document_output(override_json: Optional[pulumi.Input[Optional[str __args__['sourcePolicyDocuments'] = source_policy_documents __args__['statements'] = statements __args__['version'] = version - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iam/getPolicyDocument:getPolicyDocument', __args__, opts=opts, typ=GetPolicyDocumentResult) return __ret__.apply(lambda __response__: GetPolicyDocumentResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/iam/get_principal_policy_simulation.py b/sdk/python/pulumi_aws/iam/get_principal_policy_simulation.py index d92c9c440be..2cd1307281f 100644 --- a/sdk/python/pulumi_aws/iam/get_principal_policy_simulation.py +++ b/sdk/python/pulumi_aws/iam/get_principal_policy_simulation.py @@ -322,7 +322,7 @@ def get_principal_policy_simulation_output(action_names: Optional[pulumi.Input[S resource_handling_option: Optional[pulumi.Input[Optional[str]]] = None, resource_owner_account_id: Optional[pulumi.Input[Optional[str]]] = None, resource_policy_json: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPrincipalPolicySimulationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPrincipalPolicySimulationResult]: """ Runs a simulation of the IAM policies of a particular principal against a given hypothetical request. @@ -445,7 +445,7 @@ def get_principal_policy_simulation_output(action_names: Optional[pulumi.Input[S __args__['resourceHandlingOption'] = resource_handling_option __args__['resourceOwnerAccountId'] = resource_owner_account_id __args__['resourcePolicyJson'] = resource_policy_json - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iam/getPrincipalPolicySimulation:getPrincipalPolicySimulation', __args__, opts=opts, typ=GetPrincipalPolicySimulationResult) return __ret__.apply(lambda __response__: GetPrincipalPolicySimulationResult( action_names=pulumi.get(__response__, 'action_names'), diff --git a/sdk/python/pulumi_aws/iam/get_role.py b/sdk/python/pulumi_aws/iam/get_role.py index 1445536bf1a..761fc58128b 100644 --- a/sdk/python/pulumi_aws/iam/get_role.py +++ b/sdk/python/pulumi_aws/iam/get_role.py @@ -221,7 +221,7 @@ def get_role(name: Optional[str] = None, unique_id=pulumi.get(__ret__, 'unique_id')) def get_role_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRoleResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRoleResult]: """ This data source can be used to fetch information about a specific IAM role. By using this data source, you can reference IAM role @@ -243,7 +243,7 @@ def get_role_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iam/getRole:getRole', __args__, opts=opts, typ=GetRoleResult) return __ret__.apply(lambda __response__: GetRoleResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/iam/get_roles.py b/sdk/python/pulumi_aws/iam/get_roles.py index a548dcfaea2..2432c1d9bef 100644 --- a/sdk/python/pulumi_aws/iam/get_roles.py +++ b/sdk/python/pulumi_aws/iam/get_roles.py @@ -167,7 +167,7 @@ def get_roles(name_regex: Optional[str] = None, path_prefix=pulumi.get(__ret__, 'path_prefix')) def get_roles_output(name_regex: Optional[pulumi.Input[Optional[str]]] = None, path_prefix: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRolesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRolesResult]: """ Use this data source to get the ARNs and Names of IAM Roles. @@ -230,7 +230,7 @@ def get_roles_output(name_regex: Optional[pulumi.Input[Optional[str]]] = None, __args__ = dict() __args__['nameRegex'] = name_regex __args__['pathPrefix'] = path_prefix - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iam/getRoles:getRoles', __args__, opts=opts, typ=GetRolesResult) return __ret__.apply(lambda __response__: GetRolesResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/iam/get_saml_provider.py b/sdk/python/pulumi_aws/iam/get_saml_provider.py index 2f2ed6d9ce8..68078b3bf38 100644 --- a/sdk/python/pulumi_aws/iam/get_saml_provider.py +++ b/sdk/python/pulumi_aws/iam/get_saml_provider.py @@ -155,7 +155,7 @@ def get_saml_provider(arn: Optional[str] = None, valid_until=pulumi.get(__ret__, 'valid_until')) def get_saml_provider_output(arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSamlProviderResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSamlProviderResult]: """ This data source can be used to fetch information about a specific IAM SAML provider. This will allow you to easily retrieve the metadata @@ -177,7 +177,7 @@ def get_saml_provider_output(arn: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['arn'] = arn __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iam/getSamlProvider:getSamlProvider', __args__, opts=opts, typ=GetSamlProviderResult) return __ret__.apply(lambda __response__: GetSamlProviderResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/iam/get_server_certificate.py b/sdk/python/pulumi_aws/iam/get_server_certificate.py index e2005cd035c..147c35a7a7a 100644 --- a/sdk/python/pulumi_aws/iam/get_server_certificate.py +++ b/sdk/python/pulumi_aws/iam/get_server_certificate.py @@ -214,7 +214,7 @@ def get_server_certificate_output(latest: Optional[pulumi.Input[Optional[bool]]] name: Optional[pulumi.Input[Optional[str]]] = None, name_prefix: Optional[pulumi.Input[Optional[str]]] = None, path_prefix: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServerCertificateResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServerCertificateResult]: """ Use this data source to lookup information about IAM Server Certificates. @@ -248,7 +248,7 @@ def get_server_certificate_output(latest: Optional[pulumi.Input[Optional[bool]]] __args__['name'] = name __args__['namePrefix'] = name_prefix __args__['pathPrefix'] = path_prefix - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iam/getServerCertificate:getServerCertificate', __args__, opts=opts, typ=GetServerCertificateResult) return __ret__.apply(lambda __response__: GetServerCertificateResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/iam/get_session_context.py b/sdk/python/pulumi_aws/iam/get_session_context.py index 10bcd7b6df2..c5e2cedeb21 100644 --- a/sdk/python/pulumi_aws/iam/get_session_context.py +++ b/sdk/python/pulumi_aws/iam/get_session_context.py @@ -154,7 +154,7 @@ def get_session_context(arn: Optional[str] = None, issuer_name=pulumi.get(__ret__, 'issuer_name'), session_name=pulumi.get(__ret__, 'session_name')) def get_session_context_output(arn: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSessionContextResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSessionContextResult]: """ This data source provides information on the IAM source role of an STS assumed role. For non-role ARNs, this data source simply passes the ARN through in `issuer_arn`. @@ -190,7 +190,7 @@ def get_session_context_output(arn: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['arn'] = arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iam/getSessionContext:getSessionContext', __args__, opts=opts, typ=GetSessionContextResult) return __ret__.apply(lambda __response__: GetSessionContextResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/iam/get_user.py b/sdk/python/pulumi_aws/iam/get_user.py index 5861b9bce5f..e11fef0aec6 100644 --- a/sdk/python/pulumi_aws/iam/get_user.py +++ b/sdk/python/pulumi_aws/iam/get_user.py @@ -158,7 +158,7 @@ def get_user(tags: Optional[Mapping[str, str]] = None, user_name=pulumi.get(__ret__, 'user_name')) def get_user_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, user_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUserResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserResult]: """ This data source can be used to fetch information about a specific IAM user. By using this data source, you can reference IAM user @@ -180,7 +180,7 @@ def get_user_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = __args__ = dict() __args__['tags'] = tags __args__['userName'] = user_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iam/getUser:getUser', __args__, opts=opts, typ=GetUserResult) return __ret__.apply(lambda __response__: GetUserResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/iam/get_user_ssh_key.py b/sdk/python/pulumi_aws/iam/get_user_ssh_key.py index ccba1bded00..80696d855bd 100644 --- a/sdk/python/pulumi_aws/iam/get_user_ssh_key.py +++ b/sdk/python/pulumi_aws/iam/get_user_ssh_key.py @@ -153,7 +153,7 @@ def get_user_ssh_key(encoding: Optional[str] = None, def get_user_ssh_key_output(encoding: Optional[pulumi.Input[str]] = None, ssh_public_key_id: Optional[pulumi.Input[str]] = None, username: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUserSshKeyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserSshKeyResult]: """ Use this data source to get information about a SSH public key associated with the specified IAM user. @@ -177,7 +177,7 @@ def get_user_ssh_key_output(encoding: Optional[pulumi.Input[str]] = None, __args__['encoding'] = encoding __args__['sshPublicKeyId'] = ssh_public_key_id __args__['username'] = username - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iam/getUserSshKey:getUserSshKey', __args__, opts=opts, typ=GetUserSshKeyResult) return __ret__.apply(lambda __response__: GetUserSshKeyResult( encoding=pulumi.get(__response__, 'encoding'), diff --git a/sdk/python/pulumi_aws/iam/get_users.py b/sdk/python/pulumi_aws/iam/get_users.py index 7cff1c9bf89..2d0684eab7b 100644 --- a/sdk/python/pulumi_aws/iam/get_users.py +++ b/sdk/python/pulumi_aws/iam/get_users.py @@ -146,7 +146,7 @@ def get_users(name_regex: Optional[str] = None, path_prefix=pulumi.get(__ret__, 'path_prefix')) def get_users_output(name_regex: Optional[pulumi.Input[Optional[str]]] = None, path_prefix: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUsersResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUsersResult]: """ Use this data source to get the ARNs and Names of IAM Users. @@ -188,7 +188,7 @@ def get_users_output(name_regex: Optional[pulumi.Input[Optional[str]]] = None, __args__ = dict() __args__['nameRegex'] = name_regex __args__['pathPrefix'] = path_prefix - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iam/getUsers:getUsers', __args__, opts=opts, typ=GetUsersResult) return __ret__.apply(lambda __response__: GetUsersResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/identitystore/get_group.py b/sdk/python/pulumi_aws/identitystore/get_group.py index 97802f3b1cf..fbbeea9b9a6 100644 --- a/sdk/python/pulumi_aws/identitystore/get_group.py +++ b/sdk/python/pulumi_aws/identitystore/get_group.py @@ -180,7 +180,7 @@ def get_group_output(alternate_identifier: Optional[pulumi.Input[Optional[Union[ filter: Optional[pulumi.Input[Optional[Union['GetGroupFilterArgs', 'GetGroupFilterArgsDict']]]] = None, group_id: Optional[pulumi.Input[Optional[str]]] = None, identity_store_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGroupResult]: """ Use this data source to get an Identity Store Group. @@ -216,7 +216,7 @@ def get_group_output(alternate_identifier: Optional[pulumi.Input[Optional[Union[ __args__['filter'] = filter __args__['groupId'] = group_id __args__['identityStoreId'] = identity_store_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:identitystore/getGroup:getGroup', __args__, opts=opts, typ=GetGroupResult) return __ret__.apply(lambda __response__: GetGroupResult( alternate_identifier=pulumi.get(__response__, 'alternate_identifier'), diff --git a/sdk/python/pulumi_aws/identitystore/get_groups.py b/sdk/python/pulumi_aws/identitystore/get_groups.py index c08f802bf48..5671404a2b6 100644 --- a/sdk/python/pulumi_aws/identitystore/get_groups.py +++ b/sdk/python/pulumi_aws/identitystore/get_groups.py @@ -101,7 +101,7 @@ def get_groups(identity_store_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), identity_store_id=pulumi.get(__ret__, 'identity_store_id')) def get_groups_output(identity_store_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetGroupsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGroupsResult]: """ Data source for managing an AWS SSO Identity Store Groups. @@ -122,7 +122,7 @@ def get_groups_output(identity_store_id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['identityStoreId'] = identity_store_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:identitystore/getGroups:getGroups', __args__, opts=opts, typ=GetGroupsResult) return __ret__.apply(lambda __response__: GetGroupsResult( groups=pulumi.get(__response__, 'groups'), diff --git a/sdk/python/pulumi_aws/identitystore/get_user.py b/sdk/python/pulumi_aws/identitystore/get_user.py index 85cfd51f2ba..0caa75a37c3 100644 --- a/sdk/python/pulumi_aws/identitystore/get_user.py +++ b/sdk/python/pulumi_aws/identitystore/get_user.py @@ -323,7 +323,7 @@ def get_user_output(alternate_identifier: Optional[pulumi.Input[Optional[Union[' filter: Optional[pulumi.Input[Optional[Union['GetUserFilterArgs', 'GetUserFilterArgsDict']]]] = None, identity_store_id: Optional[pulumi.Input[str]] = None, user_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUserResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserResult]: """ Use this data source to get an Identity Store User. @@ -359,7 +359,7 @@ def get_user_output(alternate_identifier: Optional[pulumi.Input[Optional[Union[' __args__['filter'] = filter __args__['identityStoreId'] = identity_store_id __args__['userId'] = user_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:identitystore/getUser:getUser', __args__, opts=opts, typ=GetUserResult) return __ret__.apply(lambda __response__: GetUserResult( addresses=pulumi.get(__response__, 'addresses'), diff --git a/sdk/python/pulumi_aws/imagebuilder/get_component.py b/sdk/python/pulumi_aws/imagebuilder/get_component.py index 4724080874c..4a441849985 100644 --- a/sdk/python/pulumi_aws/imagebuilder/get_component.py +++ b/sdk/python/pulumi_aws/imagebuilder/get_component.py @@ -257,7 +257,7 @@ def get_component(arn: Optional[str] = None, version=pulumi.get(__ret__, 'version')) def get_component_output(arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetComponentResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetComponentResult]: """ Provides details about an Image Builder Component. @@ -277,7 +277,7 @@ def get_component_output(arn: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['arn'] = arn __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:imagebuilder/getComponent:getComponent', __args__, opts=opts, typ=GetComponentResult) return __ret__.apply(lambda __response__: GetComponentResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/imagebuilder/get_components.py b/sdk/python/pulumi_aws/imagebuilder/get_components.py index 97931f041f4..7683894d648 100644 --- a/sdk/python/pulumi_aws/imagebuilder/get_components.py +++ b/sdk/python/pulumi_aws/imagebuilder/get_components.py @@ -130,7 +130,7 @@ def get_components(filters: Optional[Sequence[Union['GetComponentsFilterArgs', ' owner=pulumi.get(__ret__, 'owner')) def get_components_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetComponentsFilterArgs', 'GetComponentsFilterArgsDict']]]]] = None, owner: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetComponentsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetComponentsResult]: """ Use this data source to get the ARNs and names of Image Builder Components matching the specified criteria. @@ -154,7 +154,7 @@ def get_components_output(filters: Optional[pulumi.Input[Optional[Sequence[Union __args__ = dict() __args__['filters'] = filters __args__['owner'] = owner - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:imagebuilder/getComponents:getComponents', __args__, opts=opts, typ=GetComponentsResult) return __ret__.apply(lambda __response__: GetComponentsResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/imagebuilder/get_container_recipe.py b/sdk/python/pulumi_aws/imagebuilder/get_container_recipe.py index fc9b8f98446..27b5dd631e8 100644 --- a/sdk/python/pulumi_aws/imagebuilder/get_container_recipe.py +++ b/sdk/python/pulumi_aws/imagebuilder/get_container_recipe.py @@ -297,7 +297,7 @@ def get_container_recipe(arn: Optional[str] = None, working_directory=pulumi.get(__ret__, 'working_directory')) def get_container_recipe_output(arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetContainerRecipeResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetContainerRecipeResult]: """ Provides details about an Image builder Container Recipe. @@ -317,7 +317,7 @@ def get_container_recipe_output(arn: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['arn'] = arn __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:imagebuilder/getContainerRecipe:getContainerRecipe', __args__, opts=opts, typ=GetContainerRecipeResult) return __ret__.apply(lambda __response__: GetContainerRecipeResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/imagebuilder/get_container_recipes.py b/sdk/python/pulumi_aws/imagebuilder/get_container_recipes.py index b23d3260474..9dbf3494745 100644 --- a/sdk/python/pulumi_aws/imagebuilder/get_container_recipes.py +++ b/sdk/python/pulumi_aws/imagebuilder/get_container_recipes.py @@ -130,7 +130,7 @@ def get_container_recipes(filters: Optional[Sequence[Union['GetContainerRecipesF owner=pulumi.get(__ret__, 'owner')) def get_container_recipes_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetContainerRecipesFilterArgs', 'GetContainerRecipesFilterArgsDict']]]]] = None, owner: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetContainerRecipesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetContainerRecipesResult]: """ Use this data source to get the ARNs and names of Image Builder Container Recipes matching the specified criteria. @@ -154,7 +154,7 @@ def get_container_recipes_output(filters: Optional[pulumi.Input[Optional[Sequenc __args__ = dict() __args__['filters'] = filters __args__['owner'] = owner - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:imagebuilder/getContainerRecipes:getContainerRecipes', __args__, opts=opts, typ=GetContainerRecipesResult) return __ret__.apply(lambda __response__: GetContainerRecipesResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/imagebuilder/get_distribution_configuration.py b/sdk/python/pulumi_aws/imagebuilder/get_distribution_configuration.py index 2ea54aeceeb..38b76d5ab73 100644 --- a/sdk/python/pulumi_aws/imagebuilder/get_distribution_configuration.py +++ b/sdk/python/pulumi_aws/imagebuilder/get_distribution_configuration.py @@ -167,7 +167,7 @@ def get_distribution_configuration(arn: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_distribution_configuration_output(arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDistributionConfigurationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDistributionConfigurationResult]: """ Provides details about an Image Builder Distribution Configuration. @@ -187,7 +187,7 @@ def get_distribution_configuration_output(arn: Optional[pulumi.Input[str]] = Non __args__ = dict() __args__['arn'] = arn __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:imagebuilder/getDistributionConfiguration:getDistributionConfiguration', __args__, opts=opts, typ=GetDistributionConfigurationResult) return __ret__.apply(lambda __response__: GetDistributionConfigurationResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/imagebuilder/get_distribution_configurations.py b/sdk/python/pulumi_aws/imagebuilder/get_distribution_configurations.py index 6daf5c6a226..93aee177e8a 100644 --- a/sdk/python/pulumi_aws/imagebuilder/get_distribution_configurations.py +++ b/sdk/python/pulumi_aws/imagebuilder/get_distribution_configurations.py @@ -115,7 +115,7 @@ def get_distribution_configurations(filters: Optional[Sequence[Union['GetDistrib id=pulumi.get(__ret__, 'id'), names=pulumi.get(__ret__, 'names')) def get_distribution_configurations_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetDistributionConfigurationsFilterArgs', 'GetDistributionConfigurationsFilterArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDistributionConfigurationsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDistributionConfigurationsResult]: """ Use this data source to get the ARNs and names of Image Builder Distribution Configurations matching the specified criteria. @@ -136,7 +136,7 @@ def get_distribution_configurations_output(filters: Optional[pulumi.Input[Option """ __args__ = dict() __args__['filters'] = filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:imagebuilder/getDistributionConfigurations:getDistributionConfigurations', __args__, opts=opts, typ=GetDistributionConfigurationsResult) return __ret__.apply(lambda __response__: GetDistributionConfigurationsResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/imagebuilder/get_image.py b/sdk/python/pulumi_aws/imagebuilder/get_image.py index 79636d69272..07164d1ebd8 100644 --- a/sdk/python/pulumi_aws/imagebuilder/get_image.py +++ b/sdk/python/pulumi_aws/imagebuilder/get_image.py @@ -286,7 +286,7 @@ def get_image(arn: Optional[str] = None, version=pulumi.get(__ret__, 'version')) def get_image_output(arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetImageResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetImageResult]: """ Provides details about an Image Builder Image. @@ -308,7 +308,7 @@ def get_image_output(arn: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['arn'] = arn __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:imagebuilder/getImage:getImage', __args__, opts=opts, typ=GetImageResult) return __ret__.apply(lambda __response__: GetImageResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/imagebuilder/get_image_pipeline.py b/sdk/python/pulumi_aws/imagebuilder/get_image_pipeline.py index d56c14dcd67..25703e3f2b3 100644 --- a/sdk/python/pulumi_aws/imagebuilder/get_image_pipeline.py +++ b/sdk/python/pulumi_aws/imagebuilder/get_image_pipeline.py @@ -307,7 +307,7 @@ def get_image_pipeline(arn: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_image_pipeline_output(arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetImagePipelineResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetImagePipelineResult]: """ Provides details about an Image Builder Image Pipeline. @@ -327,7 +327,7 @@ def get_image_pipeline_output(arn: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['arn'] = arn __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:imagebuilder/getImagePipeline:getImagePipeline', __args__, opts=opts, typ=GetImagePipelineResult) return __ret__.apply(lambda __response__: GetImagePipelineResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/imagebuilder/get_image_pipelines.py b/sdk/python/pulumi_aws/imagebuilder/get_image_pipelines.py index 7e0b5e41615..4ae5c3605d3 100644 --- a/sdk/python/pulumi_aws/imagebuilder/get_image_pipelines.py +++ b/sdk/python/pulumi_aws/imagebuilder/get_image_pipelines.py @@ -115,7 +115,7 @@ def get_image_pipelines(filters: Optional[Sequence[Union['GetImagePipelinesFilte id=pulumi.get(__ret__, 'id'), names=pulumi.get(__ret__, 'names')) def get_image_pipelines_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetImagePipelinesFilterArgs', 'GetImagePipelinesFilterArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetImagePipelinesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetImagePipelinesResult]: """ Use this data source to get the ARNs and names of Image Builder Image Pipelines matching the specified criteria. @@ -136,7 +136,7 @@ def get_image_pipelines_output(filters: Optional[pulumi.Input[Optional[Sequence[ """ __args__ = dict() __args__['filters'] = filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:imagebuilder/getImagePipelines:getImagePipelines', __args__, opts=opts, typ=GetImagePipelinesResult) return __ret__.apply(lambda __response__: GetImagePipelinesResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/imagebuilder/get_image_recipe.py b/sdk/python/pulumi_aws/imagebuilder/get_image_recipe.py index beb6d5fd7f9..504bf5ccffc 100644 --- a/sdk/python/pulumi_aws/imagebuilder/get_image_recipe.py +++ b/sdk/python/pulumi_aws/imagebuilder/get_image_recipe.py @@ -245,7 +245,7 @@ def get_image_recipe(arn: Optional[str] = None, working_directory=pulumi.get(__ret__, 'working_directory')) def get_image_recipe_output(arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetImageRecipeResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetImageRecipeResult]: """ Provides details about an Image Builder Image Recipe. @@ -265,7 +265,7 @@ def get_image_recipe_output(arn: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['arn'] = arn __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:imagebuilder/getImageRecipe:getImageRecipe', __args__, opts=opts, typ=GetImageRecipeResult) return __ret__.apply(lambda __response__: GetImageRecipeResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/imagebuilder/get_image_recipes.py b/sdk/python/pulumi_aws/imagebuilder/get_image_recipes.py index 0722385b6e9..c1c7683965a 100644 --- a/sdk/python/pulumi_aws/imagebuilder/get_image_recipes.py +++ b/sdk/python/pulumi_aws/imagebuilder/get_image_recipes.py @@ -130,7 +130,7 @@ def get_image_recipes(filters: Optional[Sequence[Union['GetImageRecipesFilterArg owner=pulumi.get(__ret__, 'owner')) def get_image_recipes_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetImageRecipesFilterArgs', 'GetImageRecipesFilterArgsDict']]]]] = None, owner: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetImageRecipesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetImageRecipesResult]: """ Use this data source to get the ARNs and names of Image Builder Image Recipes matching the specified criteria. @@ -154,7 +154,7 @@ def get_image_recipes_output(filters: Optional[pulumi.Input[Optional[Sequence[Un __args__ = dict() __args__['filters'] = filters __args__['owner'] = owner - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:imagebuilder/getImageRecipes:getImageRecipes', __args__, opts=opts, typ=GetImageRecipesResult) return __ret__.apply(lambda __response__: GetImageRecipesResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/imagebuilder/get_infrastructure_configuration.py b/sdk/python/pulumi_aws/imagebuilder/get_infrastructure_configuration.py index cf740472c36..515b715108f 100644 --- a/sdk/python/pulumi_aws/imagebuilder/get_infrastructure_configuration.py +++ b/sdk/python/pulumi_aws/imagebuilder/get_infrastructure_configuration.py @@ -285,7 +285,7 @@ def get_infrastructure_configuration(arn: Optional[str] = None, def get_infrastructure_configuration_output(arn: Optional[pulumi.Input[str]] = None, resource_tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInfrastructureConfigurationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInfrastructureConfigurationResult]: """ Provides details about an Image Builder Infrastructure Configuration. @@ -307,7 +307,7 @@ def get_infrastructure_configuration_output(arn: Optional[pulumi.Input[str]] = N __args__['arn'] = arn __args__['resourceTags'] = resource_tags __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:imagebuilder/getInfrastructureConfiguration:getInfrastructureConfiguration', __args__, opts=opts, typ=GetInfrastructureConfigurationResult) return __ret__.apply(lambda __response__: GetInfrastructureConfigurationResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/imagebuilder/get_infrastructure_configurations.py b/sdk/python/pulumi_aws/imagebuilder/get_infrastructure_configurations.py index 9d0256f1ceb..4cf735e8a45 100644 --- a/sdk/python/pulumi_aws/imagebuilder/get_infrastructure_configurations.py +++ b/sdk/python/pulumi_aws/imagebuilder/get_infrastructure_configurations.py @@ -115,7 +115,7 @@ def get_infrastructure_configurations(filters: Optional[Sequence[Union['GetInfra id=pulumi.get(__ret__, 'id'), names=pulumi.get(__ret__, 'names')) def get_infrastructure_configurations_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetInfrastructureConfigurationsFilterArgs', 'GetInfrastructureConfigurationsFilterArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInfrastructureConfigurationsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInfrastructureConfigurationsResult]: """ Use this data source to get the ARNs and names of Image Builder Infrastructure Configurations matching the specified criteria. @@ -136,7 +136,7 @@ def get_infrastructure_configurations_output(filters: Optional[pulumi.Input[Opti """ __args__ = dict() __args__['filters'] = filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:imagebuilder/getInfrastructureConfigurations:getInfrastructureConfigurations', __args__, opts=opts, typ=GetInfrastructureConfigurationsResult) return __ret__.apply(lambda __response__: GetInfrastructureConfigurationsResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/inspector/get_rules_packages.py b/sdk/python/pulumi_aws/inspector/get_rules_packages.py index 1ebeaf1d2b4..b30e92c5975 100644 --- a/sdk/python/pulumi_aws/inspector/get_rules_packages.py +++ b/sdk/python/pulumi_aws/inspector/get_rules_packages.py @@ -96,7 +96,7 @@ def get_rules_packages(opts: Optional[pulumi.InvokeOptions] = None) -> Awaitable return AwaitableGetRulesPackagesResult( arns=pulumi.get(__ret__, 'arns'), id=pulumi.get(__ret__, 'id')) -def get_rules_packages_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRulesPackagesResult]: +def get_rules_packages_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRulesPackagesResult]: """ The Amazon Inspector Classic Rules Packages data source allows access to the list of AWS Inspector Rules Packages which can be used by Amazon Inspector Classic within the region @@ -125,7 +125,7 @@ def get_rules_packages_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi. ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:inspector/getRulesPackages:getRulesPackages', __args__, opts=opts, typ=GetRulesPackagesResult) return __ret__.apply(lambda __response__: GetRulesPackagesResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/iot/get_endpoint.py b/sdk/python/pulumi_aws/iot/get_endpoint.py index ad7c3775b02..878eae9e97e 100644 --- a/sdk/python/pulumi_aws/iot/get_endpoint.py +++ b/sdk/python/pulumi_aws/iot/get_endpoint.py @@ -93,7 +93,7 @@ def get_endpoint(endpoint_type: Optional[str] = None, endpoint_type=pulumi.get(__ret__, 'endpoint_type'), id=pulumi.get(__ret__, 'id')) def get_endpoint_output(endpoint_type: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEndpointResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEndpointResult]: """ Returns a unique endpoint specific to the AWS account making the call. @@ -102,7 +102,7 @@ def get_endpoint_output(endpoint_type: Optional[pulumi.Input[Optional[str]]] = N """ __args__ = dict() __args__['endpointType'] = endpoint_type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iot/getEndpoint:getEndpoint', __args__, opts=opts, typ=GetEndpointResult) return __ret__.apply(lambda __response__: GetEndpointResult( endpoint_address=pulumi.get(__response__, 'endpoint_address'), diff --git a/sdk/python/pulumi_aws/iot/get_registration_code.py b/sdk/python/pulumi_aws/iot/get_registration_code.py index 94210b28733..36820be4eef 100644 --- a/sdk/python/pulumi_aws/iot/get_registration_code.py +++ b/sdk/python/pulumi_aws/iot/get_registration_code.py @@ -89,7 +89,7 @@ def get_registration_code(opts: Optional[pulumi.InvokeOptions] = None) -> Awaita return AwaitableGetRegistrationCodeResult( id=pulumi.get(__ret__, 'id'), registration_code=pulumi.get(__ret__, 'registration_code')) -def get_registration_code_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRegistrationCodeResult]: +def get_registration_code_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRegistrationCodeResult]: """ Gets a registration code used to register a CA certificate with AWS IoT. @@ -111,7 +111,7 @@ def get_registration_code_output(opts: Optional[Union[pulumi.InvokeOptions, pulu ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:iot/getRegistrationCode:getRegistrationCode', __args__, opts=opts, typ=GetRegistrationCodeResult) return __ret__.apply(lambda __response__: GetRegistrationCodeResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/ivs/get_stream_key.py b/sdk/python/pulumi_aws/ivs/get_stream_key.py index 81d3cb78a33..dfeff12ed21 100644 --- a/sdk/python/pulumi_aws/ivs/get_stream_key.py +++ b/sdk/python/pulumi_aws/ivs/get_stream_key.py @@ -129,7 +129,7 @@ def get_stream_key(channel_arn: Optional[str] = None, value=pulumi.get(__ret__, 'value')) def get_stream_key_output(channel_arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetStreamKeyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetStreamKeyResult]: """ Data source for managing an AWS IVS (Interactive Video) Stream Key. @@ -151,7 +151,7 @@ def get_stream_key_output(channel_arn: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['channelArn'] = channel_arn __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ivs/getStreamKey:getStreamKey', __args__, opts=opts, typ=GetStreamKeyResult) return __ret__.apply(lambda __response__: GetStreamKeyResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/kendra/get_experience.py b/sdk/python/pulumi_aws/kendra/get_experience.py index 477d17797f3..82b5a0b0980 100644 --- a/sdk/python/pulumi_aws/kendra/get_experience.py +++ b/sdk/python/pulumi_aws/kendra/get_experience.py @@ -230,7 +230,7 @@ def get_experience(experience_id: Optional[str] = None, updated_at=pulumi.get(__ret__, 'updated_at')) def get_experience_output(experience_id: Optional[pulumi.Input[str]] = None, index_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetExperienceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetExperienceResult]: """ Provides details about a specific Amazon Kendra Experience. @@ -251,7 +251,7 @@ def get_experience_output(experience_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['experienceId'] = experience_id __args__['indexId'] = index_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:kendra/getExperience:getExperience', __args__, opts=opts, typ=GetExperienceResult) return __ret__.apply(lambda __response__: GetExperienceResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/kendra/get_faq.py b/sdk/python/pulumi_aws/kendra/get_faq.py index 8a3c579d882..70891a85a8a 100644 --- a/sdk/python/pulumi_aws/kendra/get_faq.py +++ b/sdk/python/pulumi_aws/kendra/get_faq.py @@ -260,7 +260,7 @@ def get_faq(faq_id: Optional[str] = None, def get_faq_output(faq_id: Optional[pulumi.Input[str]] = None, index_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFaqResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFaqResult]: """ Provides details about a specific Amazon Kendra Faq. @@ -283,7 +283,7 @@ def get_faq_output(faq_id: Optional[pulumi.Input[str]] = None, __args__['faqId'] = faq_id __args__['indexId'] = index_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:kendra/getFaq:getFaq', __args__, opts=opts, typ=GetFaqResult) return __ret__.apply(lambda __response__: GetFaqResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/kendra/get_index.py b/sdk/python/pulumi_aws/kendra/get_index.py index a91044cced7..c18ec1fc01d 100644 --- a/sdk/python/pulumi_aws/kendra/get_index.py +++ b/sdk/python/pulumi_aws/kendra/get_index.py @@ -300,7 +300,7 @@ def get_index(id: Optional[str] = None, user_token_configurations=pulumi.get(__ret__, 'user_token_configurations')) def get_index_output(id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIndexResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIndexResult]: """ Provides details about a specific Amazon Kendra Index. @@ -320,7 +320,7 @@ def get_index_output(id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['id'] = id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:kendra/getIndex:getIndex', __args__, opts=opts, typ=GetIndexResult) return __ret__.apply(lambda __response__: GetIndexResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/kendra/get_query_suggestions_block_list.py b/sdk/python/pulumi_aws/kendra/get_query_suggestions_block_list.py index a15a444780d..cdcf8884ff3 100644 --- a/sdk/python/pulumi_aws/kendra/get_query_suggestions_block_list.py +++ b/sdk/python/pulumi_aws/kendra/get_query_suggestions_block_list.py @@ -260,7 +260,7 @@ def get_query_suggestions_block_list(index_id: Optional[str] = None, def get_query_suggestions_block_list_output(index_id: Optional[pulumi.Input[str]] = None, query_suggestions_block_list_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetQuerySuggestionsBlockListResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetQuerySuggestionsBlockListResult]: """ Provides details about a specific Amazon Kendra block list used for query suggestions for an index. @@ -283,7 +283,7 @@ def get_query_suggestions_block_list_output(index_id: Optional[pulumi.Input[str] __args__['indexId'] = index_id __args__['querySuggestionsBlockListId'] = query_suggestions_block_list_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:kendra/getQuerySuggestionsBlockList:getQuerySuggestionsBlockList', __args__, opts=opts, typ=GetQuerySuggestionsBlockListResult) return __ret__.apply(lambda __response__: GetQuerySuggestionsBlockListResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/kendra/get_thesaurus.py b/sdk/python/pulumi_aws/kendra/get_thesaurus.py index d93e7e361e0..88d8c102b56 100644 --- a/sdk/python/pulumi_aws/kendra/get_thesaurus.py +++ b/sdk/python/pulumi_aws/kendra/get_thesaurus.py @@ -273,7 +273,7 @@ def get_thesaurus(index_id: Optional[str] = None, def get_thesaurus_output(index_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, thesaurus_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetThesaurusResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetThesaurusResult]: """ Provides details about a specific Amazon Kendra Thesaurus. @@ -296,7 +296,7 @@ def get_thesaurus_output(index_id: Optional[pulumi.Input[str]] = None, __args__['indexId'] = index_id __args__['tags'] = tags __args__['thesaurusId'] = thesaurus_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:kendra/getThesaurus:getThesaurus', __args__, opts=opts, typ=GetThesaurusResult) return __ret__.apply(lambda __response__: GetThesaurusResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/kinesis/get_firehose_delivery_stream.py b/sdk/python/pulumi_aws/kinesis/get_firehose_delivery_stream.py index 10e4dbff8c7..afafdb03266 100644 --- a/sdk/python/pulumi_aws/kinesis/get_firehose_delivery_stream.py +++ b/sdk/python/pulumi_aws/kinesis/get_firehose_delivery_stream.py @@ -99,7 +99,7 @@ def get_firehose_delivery_stream(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_firehose_delivery_stream_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFirehoseDeliveryStreamResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFirehoseDeliveryStreamResult]: """ Use this data source to get information about a Kinesis Firehose Delivery Stream for use in other resources. @@ -119,7 +119,7 @@ def get_firehose_delivery_stream_output(name: Optional[pulumi.Input[str]] = None """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:kinesis/getFirehoseDeliveryStream:getFirehoseDeliveryStream', __args__, opts=opts, typ=GetFirehoseDeliveryStreamResult) return __ret__.apply(lambda __response__: GetFirehoseDeliveryStreamResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/kinesis/get_stream.py b/sdk/python/pulumi_aws/kinesis/get_stream.py index 30a61bb24a1..6d243875a05 100644 --- a/sdk/python/pulumi_aws/kinesis/get_stream.py +++ b/sdk/python/pulumi_aws/kinesis/get_stream.py @@ -238,7 +238,7 @@ def get_stream(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_stream_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetStreamResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetStreamResult]: """ Use this data source to get information about a Kinesis Stream for use in other resources. @@ -261,7 +261,7 @@ def get_stream_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:kinesis/getStream:getStream', __args__, opts=opts, typ=GetStreamResult) return __ret__.apply(lambda __response__: GetStreamResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/kinesis/get_stream_consumer.py b/sdk/python/pulumi_aws/kinesis/get_stream_consumer.py index 4df4dc87d7f..1222c8f5839 100644 --- a/sdk/python/pulumi_aws/kinesis/get_stream_consumer.py +++ b/sdk/python/pulumi_aws/kinesis/get_stream_consumer.py @@ -141,7 +141,7 @@ def get_stream_consumer(arn: Optional[str] = None, def get_stream_consumer_output(arn: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, stream_arn: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetStreamConsumerResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetStreamConsumerResult]: """ Provides details about a Kinesis Stream Consumer. @@ -166,7 +166,7 @@ def get_stream_consumer_output(arn: Optional[pulumi.Input[Optional[str]]] = None __args__['arn'] = arn __args__['name'] = name __args__['streamArn'] = stream_arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:kinesis/getStreamConsumer:getStreamConsumer', __args__, opts=opts, typ=GetStreamConsumerResult) return __ret__.apply(lambda __response__: GetStreamConsumerResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/kms/get_alias.py b/sdk/python/pulumi_aws/kms/get_alias.py index 0f45d08477a..5ddc806fd79 100644 --- a/sdk/python/pulumi_aws/kms/get_alias.py +++ b/sdk/python/pulumi_aws/kms/get_alias.py @@ -128,7 +128,7 @@ def get_alias(name: Optional[str] = None, target_key_arn=pulumi.get(__ret__, 'target_key_arn'), target_key_id=pulumi.get(__ret__, 'target_key_id')) def get_alias_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAliasResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAliasResult]: """ Use this data source to get the ARN of a KMS key alias. By using this data source, you can reference key alias @@ -148,7 +148,7 @@ def get_alias_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:kms/getAlias:getAlias', __args__, opts=opts, typ=GetAliasResult) return __ret__.apply(lambda __response__: GetAliasResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/kms/get_cipher_text.py b/sdk/python/pulumi_aws/kms/get_cipher_text.py index 64983f95ba4..0b45ee282bf 100644 --- a/sdk/python/pulumi_aws/kms/get_cipher_text.py +++ b/sdk/python/pulumi_aws/kms/get_cipher_text.py @@ -136,7 +136,7 @@ def get_cipher_text(context: Optional[Mapping[str, str]] = None, def get_cipher_text_output(context: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, key_id: Optional[pulumi.Input[str]] = None, plaintext: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCipherTextResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCipherTextResult]: """ The KMS ciphertext data source allows you to encrypt plaintext into ciphertext by using an AWS KMS customer master key. The value returned by this data source @@ -169,7 +169,7 @@ def get_cipher_text_output(context: Optional[pulumi.Input[Optional[Mapping[str, __args__['context'] = context __args__['keyId'] = key_id __args__['plaintext'] = plaintext - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:kms/getCipherText:getCipherText', __args__, opts=opts, typ=GetCipherTextResult) return __ret__.apply(lambda __response__: GetCipherTextResult( ciphertext_blob=pulumi.get(__response__, 'ciphertext_blob'), diff --git a/sdk/python/pulumi_aws/kms/get_custom_key_store.py b/sdk/python/pulumi_aws/kms/get_custom_key_store.py index 5d3399edb57..d35ef50827a 100644 --- a/sdk/python/pulumi_aws/kms/get_custom_key_store.py +++ b/sdk/python/pulumi_aws/kms/get_custom_key_store.py @@ -149,7 +149,7 @@ def get_custom_key_store(custom_key_store_id: Optional[str] = None, trust_anchor_certificate=pulumi.get(__ret__, 'trust_anchor_certificate')) def get_custom_key_store_output(custom_key_store_id: Optional[pulumi.Input[Optional[str]]] = None, custom_key_store_name: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCustomKeyStoreResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCustomKeyStoreResult]: """ Use this data source to get the metadata KMS custom key store. By using this data source, you can reference KMS custom key store @@ -171,7 +171,7 @@ def get_custom_key_store_output(custom_key_store_id: Optional[pulumi.Input[Optio __args__ = dict() __args__['customKeyStoreId'] = custom_key_store_id __args__['customKeyStoreName'] = custom_key_store_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:kms/getCustomKeyStore:getCustomKeyStore', __args__, opts=opts, typ=GetCustomKeyStoreResult) return __ret__.apply(lambda __response__: GetCustomKeyStoreResult( cloud_hsm_cluster_id=pulumi.get(__response__, 'cloud_hsm_cluster_id'), diff --git a/sdk/python/pulumi_aws/kms/get_key.py b/sdk/python/pulumi_aws/kms/get_key.py index 3ab08d5273d..9b734791efc 100644 --- a/sdk/python/pulumi_aws/kms/get_key.py +++ b/sdk/python/pulumi_aws/kms/get_key.py @@ -369,7 +369,7 @@ def get_key(grant_tokens: Optional[Sequence[str]] = None, xks_key_configurations=pulumi.get(__ret__, 'xks_key_configurations')) def get_key_output(grant_tokens: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, key_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetKeyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetKeyResult]: """ Use this data source to get detailed information about the specified KMS Key with flexible key id input. @@ -399,7 +399,7 @@ def get_key_output(grant_tokens: Optional[pulumi.Input[Optional[Sequence[str]]]] __args__ = dict() __args__['grantTokens'] = grant_tokens __args__['keyId'] = key_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:kms/getKey:getKey', __args__, opts=opts, typ=GetKeyResult) return __ret__.apply(lambda __response__: GetKeyResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/kms/get_public_key.py b/sdk/python/pulumi_aws/kms/get_public_key.py index 4458e66b6d4..a0616d66fca 100644 --- a/sdk/python/pulumi_aws/kms/get_public_key.py +++ b/sdk/python/pulumi_aws/kms/get_public_key.py @@ -196,7 +196,7 @@ def get_public_key(grant_tokens: Optional[Sequence[str]] = None, signing_algorithms=pulumi.get(__ret__, 'signing_algorithms')) def get_public_key_output(grant_tokens: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, key_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPublicKeyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPublicKeyResult]: """ Use this data source to get the public key about the specified KMS Key with flexible key id input. This can be useful to reference key alias without having to hard code the ARN as input. @@ -223,7 +223,7 @@ def get_public_key_output(grant_tokens: Optional[pulumi.Input[Optional[Sequence[ __args__ = dict() __args__['grantTokens'] = grant_tokens __args__['keyId'] = key_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:kms/getPublicKey:getPublicKey', __args__, opts=opts, typ=GetPublicKeyResult) return __ret__.apply(lambda __response__: GetPublicKeyResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/kms/get_secret.py b/sdk/python/pulumi_aws/kms/get_secret.py index 8c32e90b68c..7fcea1b23b6 100644 --- a/sdk/python/pulumi_aws/kms/get_secret.py +++ b/sdk/python/pulumi_aws/kms/get_secret.py @@ -74,13 +74,13 @@ def get_secret(secrets: Optional[Sequence[Union['GetSecretSecretArgs', 'GetSecre id=pulumi.get(__ret__, 'id'), secrets=pulumi.get(__ret__, 'secrets')) def get_secret_output(secrets: Optional[pulumi.Input[Sequence[Union['GetSecretSecretArgs', 'GetSecretSecretArgsDict']]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecretResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecretResult]: """ Use this data source to access information about an existing resource. """ __args__ = dict() __args__['secrets'] = secrets - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:kms/getSecret:getSecret', __args__, opts=opts, typ=GetSecretResult) return __ret__.apply(lambda __response__: GetSecretResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/kms/get_secrets.py b/sdk/python/pulumi_aws/kms/get_secrets.py index 23fef8666f7..eee2f2ca88f 100644 --- a/sdk/python/pulumi_aws/kms/get_secrets.py +++ b/sdk/python/pulumi_aws/kms/get_secrets.py @@ -99,7 +99,7 @@ def get_secrets(secrets: Optional[Sequence[Union['GetSecretsSecretArgs', 'GetSec plaintext=pulumi.get(__ret__, 'plaintext'), secrets=pulumi.get(__ret__, 'secrets')) def get_secrets_output(secrets: Optional[pulumi.Input[Sequence[Union['GetSecretsSecretArgs', 'GetSecretsSecretArgsDict']]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecretsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecretsResult]: """ Decrypt multiple secrets from data encrypted with the AWS KMS service. @@ -117,7 +117,7 @@ def get_secrets_output(secrets: Optional[pulumi.Input[Sequence[Union['GetSecrets """ __args__ = dict() __args__['secrets'] = secrets - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:kms/getSecrets:getSecrets', __args__, opts=opts, typ=GetSecretsResult) return __ret__.apply(lambda __response__: GetSecretsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/lakeformation/get_data_lake_settings.py b/sdk/python/pulumi_aws/lakeformation/get_data_lake_settings.py index cb9dcd8c589..d1d83cb1aed 100644 --- a/sdk/python/pulumi_aws/lakeformation/get_data_lake_settings.py +++ b/sdk/python/pulumi_aws/lakeformation/get_data_lake_settings.py @@ -215,7 +215,7 @@ def get_data_lake_settings(catalog_id: Optional[str] = None, read_only_admins=pulumi.get(__ret__, 'read_only_admins'), trusted_resource_owners=pulumi.get(__ret__, 'trusted_resource_owners')) def get_data_lake_settings_output(catalog_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDataLakeSettingsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDataLakeSettingsResult]: """ Get Lake Formation principals designated as data lake administrators and lists of principal permission entries for default create database and default create table permissions. @@ -233,7 +233,7 @@ def get_data_lake_settings_output(catalog_id: Optional[pulumi.Input[Optional[str """ __args__ = dict() __args__['catalogId'] = catalog_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lakeformation/getDataLakeSettings:getDataLakeSettings', __args__, opts=opts, typ=GetDataLakeSettingsResult) return __ret__.apply(lambda __response__: GetDataLakeSettingsResult( admins=pulumi.get(__response__, 'admins'), diff --git a/sdk/python/pulumi_aws/lakeformation/get_permissions.py b/sdk/python/pulumi_aws/lakeformation/get_permissions.py index d273d7c4c4a..68521b350be 100644 --- a/sdk/python/pulumi_aws/lakeformation/get_permissions.py +++ b/sdk/python/pulumi_aws/lakeformation/get_permissions.py @@ -287,7 +287,7 @@ def get_permissions_output(catalog_id: Optional[pulumi.Input[Optional[str]]] = N principal: Optional[pulumi.Input[str]] = None, table: Optional[pulumi.Input[Optional[Union['GetPermissionsTableArgs', 'GetPermissionsTableArgsDict']]]] = None, table_with_columns: Optional[pulumi.Input[Optional[Union['GetPermissionsTableWithColumnsArgs', 'GetPermissionsTableWithColumnsArgsDict']]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPermissionsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPermissionsResult]: """ Get permissions for a principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. Permissions are granted to a principal, in a Data Catalog, relative to a Lake Formation resource, which includes the Data Catalog, databases, tables, LF-tags, and LF-tag policies. For more information, see [Security and Access Control to Metadata and Data in Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html). @@ -372,7 +372,7 @@ def get_permissions_output(catalog_id: Optional[pulumi.Input[Optional[str]]] = N __args__['principal'] = principal __args__['table'] = table __args__['tableWithColumns'] = table_with_columns - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lakeformation/getPermissions:getPermissions', __args__, opts=opts, typ=GetPermissionsResult) return __ret__.apply(lambda __response__: GetPermissionsResult( catalog_id=pulumi.get(__response__, 'catalog_id'), diff --git a/sdk/python/pulumi_aws/lakeformation/get_resource.py b/sdk/python/pulumi_aws/lakeformation/get_resource.py index e9caf6d2659..feb63f3218b 100644 --- a/sdk/python/pulumi_aws/lakeformation/get_resource.py +++ b/sdk/python/pulumi_aws/lakeformation/get_resource.py @@ -110,7 +110,7 @@ def get_resource(arn: Optional[str] = None, last_modified=pulumi.get(__ret__, 'last_modified'), role_arn=pulumi.get(__ret__, 'role_arn')) def get_resource_output(arn: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResourceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResourceResult]: """ Provides details about a Lake Formation resource. @@ -128,7 +128,7 @@ def get_resource_output(arn: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['arn'] = arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lakeformation/getResource:getResource', __args__, opts=opts, typ=GetResourceResult) return __ret__.apply(lambda __response__: GetResourceResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/lambda_/get_alias.py b/sdk/python/pulumi_aws/lambda_/get_alias.py index 7a6a703c102..a8bd5fd25b4 100644 --- a/sdk/python/pulumi_aws/lambda_/get_alias.py +++ b/sdk/python/pulumi_aws/lambda_/get_alias.py @@ -151,7 +151,7 @@ def get_alias(function_name: Optional[str] = None, name=pulumi.get(__ret__, 'name')) def get_alias_output(function_name: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAliasResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAliasResult]: """ Provides information about a Lambda Alias. @@ -172,7 +172,7 @@ def get_alias_output(function_name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['functionName'] = function_name __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lambda/getAlias:getAlias', __args__, opts=opts, typ=GetAliasResult) return __ret__.apply(lambda __response__: GetAliasResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/lambda_/get_code_signing_config.py b/sdk/python/pulumi_aws/lambda_/get_code_signing_config.py index 91d87463c93..4de880e6c6f 100644 --- a/sdk/python/pulumi_aws/lambda_/get_code_signing_config.py +++ b/sdk/python/pulumi_aws/lambda_/get_code_signing_config.py @@ -152,7 +152,7 @@ def get_code_signing_config(arn: Optional[str] = None, last_modified=pulumi.get(__ret__, 'last_modified'), policies=pulumi.get(__ret__, 'policies')) def get_code_signing_config_output(arn: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCodeSigningConfigResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCodeSigningConfigResult]: """ Provides information about a Lambda Code Signing Config. A code signing configuration defines a list of allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment validation checks fail). @@ -172,7 +172,7 @@ def get_code_signing_config_output(arn: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['arn'] = arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lambda/getCodeSigningConfig:getCodeSigningConfig', __args__, opts=opts, typ=GetCodeSigningConfigResult) return __ret__.apply(lambda __response__: GetCodeSigningConfigResult( allowed_publishers=pulumi.get(__response__, 'allowed_publishers'), diff --git a/sdk/python/pulumi_aws/lambda_/get_function.py b/sdk/python/pulumi_aws/lambda_/get_function.py index 33920021038..74f8ad19ea4 100644 --- a/sdk/python/pulumi_aws/lambda_/get_function.py +++ b/sdk/python/pulumi_aws/lambda_/get_function.py @@ -505,7 +505,7 @@ def get_function(function_name: Optional[str] = None, def get_function_output(function_name: Optional[pulumi.Input[str]] = None, qualifier: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFunctionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFunctionResult]: """ Provides information about a Lambda Function. @@ -528,7 +528,7 @@ def get_function_output(function_name: Optional[pulumi.Input[str]] = None, __args__['functionName'] = function_name __args__['qualifier'] = qualifier __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lambda/getFunction:getFunction', __args__, opts=opts, typ=GetFunctionResult) return __ret__.apply(lambda __response__: GetFunctionResult( architectures=pulumi.get(__response__, 'architectures'), diff --git a/sdk/python/pulumi_aws/lambda_/get_function_url.py b/sdk/python/pulumi_aws/lambda_/get_function_url.py index 03b5a057b49..9e6298e2086 100644 --- a/sdk/python/pulumi_aws/lambda_/get_function_url.py +++ b/sdk/python/pulumi_aws/lambda_/get_function_url.py @@ -205,7 +205,7 @@ def get_function_url(function_name: Optional[str] = None, url_id=pulumi.get(__ret__, 'url_id')) def get_function_url_output(function_name: Optional[pulumi.Input[str]] = None, qualifier: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFunctionUrlResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFunctionUrlResult]: """ Provides information about a Lambda function URL. @@ -227,7 +227,7 @@ def get_function_url_output(function_name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['functionName'] = function_name __args__['qualifier'] = qualifier - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lambda/getFunctionUrl:getFunctionUrl', __args__, opts=opts, typ=GetFunctionUrlResult) return __ret__.apply(lambda __response__: GetFunctionUrlResult( authorization_type=pulumi.get(__response__, 'authorization_type'), diff --git a/sdk/python/pulumi_aws/lambda_/get_functions.py b/sdk/python/pulumi_aws/lambda_/get_functions.py index 954607096c8..f0abfb42c52 100644 --- a/sdk/python/pulumi_aws/lambda_/get_functions.py +++ b/sdk/python/pulumi_aws/lambda_/get_functions.py @@ -94,7 +94,7 @@ def get_functions(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetFu function_arns=pulumi.get(__ret__, 'function_arns'), function_names=pulumi.get(__ret__, 'function_names'), id=pulumi.get(__ret__, 'id')) -def get_functions_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFunctionsResult]: +def get_functions_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFunctionsResult]: """ Data resource to get a list of Lambda Functions. @@ -108,7 +108,7 @@ def get_functions_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.Invok ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lambda/getFunctions:getFunctions', __args__, opts=opts, typ=GetFunctionsResult) return __ret__.apply(lambda __response__: GetFunctionsResult( function_arns=pulumi.get(__response__, 'function_arns'), diff --git a/sdk/python/pulumi_aws/lambda_/get_invocation.py b/sdk/python/pulumi_aws/lambda_/get_invocation.py index 189885f080f..d1a9e0ca4bd 100644 --- a/sdk/python/pulumi_aws/lambda_/get_invocation.py +++ b/sdk/python/pulumi_aws/lambda_/get_invocation.py @@ -121,7 +121,7 @@ def get_invocation(function_name: Optional[str] = None, def get_invocation_output(function_name: Optional[pulumi.Input[str]] = None, input: Optional[pulumi.Input[str]] = None, qualifier: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInvocationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInvocationResult]: """ Use this data source to invoke custom lambda functions as data source. The lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) @@ -139,7 +139,7 @@ def get_invocation_output(function_name: Optional[pulumi.Input[str]] = None, __args__['functionName'] = function_name __args__['input'] = input __args__['qualifier'] = qualifier - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lambda/getInvocation:getInvocation', __args__, opts=opts, typ=GetInvocationResult) return __ret__.apply(lambda __response__: GetInvocationResult( function_name=pulumi.get(__response__, 'function_name'), diff --git a/sdk/python/pulumi_aws/lambda_/get_layer_version.py b/sdk/python/pulumi_aws/lambda_/get_layer_version.py index 180a931428d..42678a0b35c 100644 --- a/sdk/python/pulumi_aws/lambda_/get_layer_version.py +++ b/sdk/python/pulumi_aws/lambda_/get_layer_version.py @@ -288,7 +288,7 @@ def get_layer_version_output(compatible_architecture: Optional[pulumi.Input[Opti compatible_runtime: Optional[pulumi.Input[Optional[str]]] = None, layer_name: Optional[pulumi.Input[str]] = None, version: Optional[pulumi.Input[Optional[int]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLayerVersionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLayerVersionResult]: """ Provides information about a Lambda Layer Version. @@ -314,7 +314,7 @@ def get_layer_version_output(compatible_architecture: Optional[pulumi.Input[Opti __args__['compatibleRuntime'] = compatible_runtime __args__['layerName'] = layer_name __args__['version'] = version - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lambda/getLayerVersion:getLayerVersion', __args__, opts=opts, typ=GetLayerVersionResult) return __ret__.apply(lambda __response__: GetLayerVersionResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/lb/get_hosted_zone_id.py b/sdk/python/pulumi_aws/lb/get_hosted_zone_id.py index da47a9cfcd4..4da43047e0d 100644 --- a/sdk/python/pulumi_aws/lb/get_hosted_zone_id.py +++ b/sdk/python/pulumi_aws/lb/get_hosted_zone_id.py @@ -108,7 +108,7 @@ def get_hosted_zone_id(load_balancer_type: Optional[str] = None, region=pulumi.get(__ret__, 'region')) def get_hosted_zone_id_output(load_balancer_type: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetHostedZoneIdResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetHostedZoneIdResult]: """ Use this data source to get the HostedZoneId of the AWS Elastic Load Balancing (ELB) in a given region for the purpose of using in an AWS Route53 Alias. Specify the ELB type (`network` or `application`) to return the relevant the associated HostedZoneId. Ref: [ELB service endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html#elb_region) @@ -138,7 +138,7 @@ def get_hosted_zone_id_output(load_balancer_type: Optional[pulumi.Input[Optional __args__ = dict() __args__['loadBalancerType'] = load_balancer_type __args__['region'] = region - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lb/getHostedZoneId:getHostedZoneId', __args__, opts=opts, typ=GetHostedZoneIdResult) return __ret__.apply(lambda __response__: GetHostedZoneIdResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/lb/get_lbs.py b/sdk/python/pulumi_aws/lb/get_lbs.py index 27fdc01419f..350e4ce0f7b 100644 --- a/sdk/python/pulumi_aws/lb/get_lbs.py +++ b/sdk/python/pulumi_aws/lb/get_lbs.py @@ -103,7 +103,7 @@ def get_lbs(tags: Optional[Mapping[str, str]] = None, id=pulumi.get(__ret__, 'id'), tags=pulumi.get(__ret__, 'tags')) def get_lbs_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLbsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLbsResult]: """ Use this data source to get a list of Load Balancer ARNs matching the specified criteria. Useful for passing to other resources. @@ -127,7 +127,7 @@ def get_lbs_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = N """ __args__ = dict() __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lb/getLbs:getLbs', __args__, opts=opts, typ=GetLbsResult) return __ret__.apply(lambda __response__: GetLbsResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/lb/get_listener.py b/sdk/python/pulumi_aws/lb/get_listener.py index 0d6de1fea6d..4f779471838 100644 --- a/sdk/python/pulumi_aws/lb/get_listener.py +++ b/sdk/python/pulumi_aws/lb/get_listener.py @@ -196,7 +196,7 @@ def get_listener_output(arn: Optional[pulumi.Input[Optional[str]]] = None, load_balancer_arn: Optional[pulumi.Input[Optional[str]]] = None, port: Optional[pulumi.Input[Optional[int]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetListenerResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetListenerResult]: """ > **Note:** `alb.Listener` is known as `lb.Listener`. The functionality is identical. @@ -229,7 +229,7 @@ def get_listener_output(arn: Optional[pulumi.Input[Optional[str]]] = None, __args__['loadBalancerArn'] = load_balancer_arn __args__['port'] = port __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lb/getListener:getListener', __args__, opts=opts, typ=GetListenerResult) return __ret__.apply(lambda __response__: GetListenerResult( alpn_policy=pulumi.get(__response__, 'alpn_policy'), diff --git a/sdk/python/pulumi_aws/lb/get_listener_rule.py b/sdk/python/pulumi_aws/lb/get_listener_rule.py index c2fbc196824..967d446d924 100644 --- a/sdk/python/pulumi_aws/lb/get_listener_rule.py +++ b/sdk/python/pulumi_aws/lb/get_listener_rule.py @@ -188,7 +188,7 @@ def get_listener_rule_output(actions: Optional[pulumi.Input[Optional[Sequence[Un conditions: Optional[pulumi.Input[Optional[Sequence[Union['GetListenerRuleConditionArgs', 'GetListenerRuleConditionArgsDict']]]]] = None, listener_arn: Optional[pulumi.Input[Optional[str]]] = None, priority: Optional[pulumi.Input[Optional[float]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetListenerRuleResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetListenerRuleResult]: """ Provides information about an AWS Elastic Load Balancing Listener Rule. @@ -236,7 +236,7 @@ def get_listener_rule_output(actions: Optional[pulumi.Input[Optional[Sequence[Un __args__['conditions'] = conditions __args__['listenerArn'] = listener_arn __args__['priority'] = priority - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lb/getListenerRule:getListenerRule', __args__, opts=opts, typ=GetListenerRuleResult) return __ret__.apply(lambda __response__: GetListenerRuleResult( actions=pulumi.get(__response__, 'actions'), diff --git a/sdk/python/pulumi_aws/lb/get_load_balancer.py b/sdk/python/pulumi_aws/lb/get_load_balancer.py index 01b360687c1..55d284e4ee5 100644 --- a/sdk/python/pulumi_aws/lb/get_load_balancer.py +++ b/sdk/python/pulumi_aws/lb/get_load_balancer.py @@ -409,7 +409,7 @@ def get_load_balancer(arn: Optional[str] = None, def get_load_balancer_output(arn: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLoadBalancerResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLoadBalancerResult]: """ > **Note:** `alb.LoadBalancer` is known as `lb.LoadBalancer`. The functionality is identical. @@ -447,7 +447,7 @@ def get_load_balancer_output(arn: Optional[pulumi.Input[Optional[str]]] = None, __args__['arn'] = arn __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lb/getLoadBalancer:getLoadBalancer', __args__, opts=opts, typ=GetLoadBalancerResult) return __ret__.apply(lambda __response__: GetLoadBalancerResult( access_logs=pulumi.get(__response__, 'access_logs'), diff --git a/sdk/python/pulumi_aws/lb/get_target_group.py b/sdk/python/pulumi_aws/lb/get_target_group.py index 959e952e949..337aba1aa35 100644 --- a/sdk/python/pulumi_aws/lb/get_target_group.py +++ b/sdk/python/pulumi_aws/lb/get_target_group.py @@ -312,7 +312,7 @@ def get_target_group_output(arn: Optional[pulumi.Input[Optional[str]]] = None, load_balancing_anomaly_mitigation: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTargetGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTargetGroupResult]: """ > **Note:** `alb.TargetGroup` is known as `lb.TargetGroup`. The functionality is identical. @@ -351,7 +351,7 @@ def get_target_group_output(arn: Optional[pulumi.Input[Optional[str]]] = None, __args__['loadBalancingAnomalyMitigation'] = load_balancing_anomaly_mitigation __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lb/getTargetGroup:getTargetGroup', __args__, opts=opts, typ=GetTargetGroupResult) return __ret__.apply(lambda __response__: GetTargetGroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/lb/get_trust_store.py b/sdk/python/pulumi_aws/lb/get_trust_store.py index ca324ca2407..da3b37c8718 100644 --- a/sdk/python/pulumi_aws/lb/get_trust_store.py +++ b/sdk/python/pulumi_aws/lb/get_trust_store.py @@ -114,7 +114,7 @@ def get_trust_store(arn: Optional[str] = None, name=pulumi.get(__ret__, 'name')) def get_trust_store_output(arn: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTrustStoreResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTrustStoreResult]: """ > **Note:** `aws_alb_trust_store` is known as `lb.TrustStore`. The functionality is identical. @@ -150,7 +150,7 @@ def get_trust_store_output(arn: Optional[pulumi.Input[Optional[str]]] = None, __args__ = dict() __args__['arn'] = arn __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lb/getTrustStore:getTrustStore', __args__, opts=opts, typ=GetTrustStoreResult) return __ret__.apply(lambda __response__: GetTrustStoreResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/lex/get_bot.py b/sdk/python/pulumi_aws/lex/get_bot.py index 0cb55eecd44..f9d2508135f 100644 --- a/sdk/python/pulumi_aws/lex/get_bot.py +++ b/sdk/python/pulumi_aws/lex/get_bot.py @@ -287,7 +287,7 @@ def get_bot(name: Optional[str] = None, voice_id=pulumi.get(__ret__, 'voice_id')) def get_bot_output(name: Optional[pulumi.Input[str]] = None, version: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBotResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBotResult]: """ Provides details about a specific Amazon Lex Bot. @@ -308,7 +308,7 @@ def get_bot_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['version'] = version - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lex/getBot:getBot', __args__, opts=opts, typ=GetBotResult) return __ret__.apply(lambda __response__: GetBotResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/lex/get_bot_alias.py b/sdk/python/pulumi_aws/lex/get_bot_alias.py index 0b5e13f4e7b..72785a9d477 100644 --- a/sdk/python/pulumi_aws/lex/get_bot_alias.py +++ b/sdk/python/pulumi_aws/lex/get_bot_alias.py @@ -183,7 +183,7 @@ def get_bot_alias(bot_name: Optional[str] = None, name=pulumi.get(__ret__, 'name')) def get_bot_alias_output(bot_name: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBotAliasResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBotAliasResult]: """ Provides details about a specific Amazon Lex Bot Alias. @@ -204,7 +204,7 @@ def get_bot_alias_output(bot_name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['botName'] = bot_name __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lex/getBotAlias:getBotAlias', __args__, opts=opts, typ=GetBotAliasResult) return __ret__.apply(lambda __response__: GetBotAliasResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/lex/get_intent.py b/sdk/python/pulumi_aws/lex/get_intent.py index 2beeab4cec1..875ca546871 100644 --- a/sdk/python/pulumi_aws/lex/get_intent.py +++ b/sdk/python/pulumi_aws/lex/get_intent.py @@ -187,7 +187,7 @@ def get_intent(name: Optional[str] = None, version=pulumi.get(__ret__, 'version')) def get_intent_output(name: Optional[pulumi.Input[str]] = None, version: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIntentResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIntentResult]: """ Provides details about a specific Amazon Lex Intent. @@ -208,7 +208,7 @@ def get_intent_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['version'] = version - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lex/getIntent:getIntent', __args__, opts=opts, typ=GetIntentResult) return __ret__.apply(lambda __response__: GetIntentResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/lex/get_slot_type.py b/sdk/python/pulumi_aws/lex/get_slot_type.py index cc293e6694c..b6cf918d16c 100644 --- a/sdk/python/pulumi_aws/lex/get_slot_type.py +++ b/sdk/python/pulumi_aws/lex/get_slot_type.py @@ -190,7 +190,7 @@ def get_slot_type(name: Optional[str] = None, version=pulumi.get(__ret__, 'version')) def get_slot_type_output(name: Optional[pulumi.Input[str]] = None, version: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSlotTypeResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSlotTypeResult]: """ Provides details about a specific Amazon Lex Slot Type. @@ -211,7 +211,7 @@ def get_slot_type_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['version'] = version - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:lex/getSlotType:getSlotType', __args__, opts=opts, typ=GetSlotTypeResult) return __ret__.apply(lambda __response__: GetSlotTypeResult( checksum=pulumi.get(__response__, 'checksum'), diff --git a/sdk/python/pulumi_aws/licensemanager/get_license_grants.py b/sdk/python/pulumi_aws/licensemanager/get_license_grants.py index 2abe97be21f..8b3ac8cef5a 100644 --- a/sdk/python/pulumi_aws/licensemanager/get_license_grants.py +++ b/sdk/python/pulumi_aws/licensemanager/get_license_grants.py @@ -108,7 +108,7 @@ def get_license_grants(filters: Optional[Sequence[Union['GetLicenseGrantsFilterA filters=pulumi.get(__ret__, 'filters'), id=pulumi.get(__ret__, 'id')) def get_license_grants_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetLicenseGrantsFilterArgs', 'GetLicenseGrantsFilterArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLicenseGrantsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLicenseGrantsResult]: """ This resource can be used to get a set of license grant ARNs matching a filter. @@ -135,7 +135,7 @@ def get_license_grants_output(filters: Optional[pulumi.Input[Optional[Sequence[U """ __args__ = dict() __args__['filters'] = filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:licensemanager/getLicenseGrants:getLicenseGrants', __args__, opts=opts, typ=GetLicenseGrantsResult) return __ret__.apply(lambda __response__: GetLicenseGrantsResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/licensemanager/get_received_license.py b/sdk/python/pulumi_aws/licensemanager/get_received_license.py index a72c12826a9..2cd261c4abd 100644 --- a/sdk/python/pulumi_aws/licensemanager/get_received_license.py +++ b/sdk/python/pulumi_aws/licensemanager/get_received_license.py @@ -270,7 +270,7 @@ def get_received_license(license_arn: Optional[str] = None, validities=pulumi.get(__ret__, 'validities'), version=pulumi.get(__ret__, 'version')) def get_received_license_output(license_arn: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetReceivedLicenseResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReceivedLicenseResult]: """ This resource can be used to get data on a received license using an ARN. This can be helpful for pulling in data on a license from the AWS marketplace and sharing that license with another account. @@ -290,7 +290,7 @@ def get_received_license_output(license_arn: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['licenseArn'] = license_arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:licensemanager/getReceivedLicense:getReceivedLicense', __args__, opts=opts, typ=GetReceivedLicenseResult) return __ret__.apply(lambda __response__: GetReceivedLicenseResult( beneficiary=pulumi.get(__response__, 'beneficiary'), diff --git a/sdk/python/pulumi_aws/licensemanager/get_received_licenses.py b/sdk/python/pulumi_aws/licensemanager/get_received_licenses.py index f519ffcd2db..8370d52324b 100644 --- a/sdk/python/pulumi_aws/licensemanager/get_received_licenses.py +++ b/sdk/python/pulumi_aws/licensemanager/get_received_licenses.py @@ -107,7 +107,7 @@ def get_received_licenses(filters: Optional[Sequence[Union['GetReceivedLicensesF filters=pulumi.get(__ret__, 'filters'), id=pulumi.get(__ret__, 'id')) def get_received_licenses_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetReceivedLicensesFilterArgs', 'GetReceivedLicensesFilterArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetReceivedLicensesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReceivedLicensesResult]: """ This resource can be used to get a set of license ARNs matching a filter. @@ -133,7 +133,7 @@ def get_received_licenses_output(filters: Optional[pulumi.Input[Optional[Sequenc """ __args__ = dict() __args__['filters'] = filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:licensemanager/getReceivedLicenses:getReceivedLicenses', __args__, opts=opts, typ=GetReceivedLicensesResult) return __ret__.apply(lambda __response__: GetReceivedLicensesResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/location/get_geofence_collection.py b/sdk/python/pulumi_aws/location/get_geofence_collection.py index 93e14e3d199..93a53b29e58 100644 --- a/sdk/python/pulumi_aws/location/get_geofence_collection.py +++ b/sdk/python/pulumi_aws/location/get_geofence_collection.py @@ -172,7 +172,7 @@ def get_geofence_collection(collection_name: Optional[str] = None, def get_geofence_collection_output(collection_name: Optional[pulumi.Input[str]] = None, kms_key_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetGeofenceCollectionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGeofenceCollectionResult]: """ Retrieve information about a Location Service Geofence Collection. @@ -196,7 +196,7 @@ def get_geofence_collection_output(collection_name: Optional[pulumi.Input[str]] __args__['collectionName'] = collection_name __args__['kmsKeyId'] = kms_key_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:location/getGeofenceCollection:getGeofenceCollection', __args__, opts=opts, typ=GetGeofenceCollectionResult) return __ret__.apply(lambda __response__: GetGeofenceCollectionResult( collection_arn=pulumi.get(__response__, 'collection_arn'), diff --git a/sdk/python/pulumi_aws/location/get_map.py b/sdk/python/pulumi_aws/location/get_map.py index 6e6df86a872..6a234266aa6 100644 --- a/sdk/python/pulumi_aws/location/get_map.py +++ b/sdk/python/pulumi_aws/location/get_map.py @@ -167,7 +167,7 @@ def get_map(map_name: Optional[str] = None, update_time=pulumi.get(__ret__, 'update_time')) def get_map_output(map_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetMapResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMapResult]: """ Retrieve information about a Location Service Map. @@ -187,7 +187,7 @@ def get_map_output(map_name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['mapName'] = map_name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:location/getMap:getMap', __args__, opts=opts, typ=GetMapResult) return __ret__.apply(lambda __response__: GetMapResult( configurations=pulumi.get(__response__, 'configurations'), diff --git a/sdk/python/pulumi_aws/location/get_place_index.py b/sdk/python/pulumi_aws/location/get_place_index.py index e600422e5a8..0bef573c0e0 100644 --- a/sdk/python/pulumi_aws/location/get_place_index.py +++ b/sdk/python/pulumi_aws/location/get_place_index.py @@ -180,7 +180,7 @@ def get_place_index(index_name: Optional[str] = None, update_time=pulumi.get(__ret__, 'update_time')) def get_place_index_output(index_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPlaceIndexResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPlaceIndexResult]: """ Retrieve information about a Location Service Place Index. @@ -200,7 +200,7 @@ def get_place_index_output(index_name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['indexName'] = index_name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:location/getPlaceIndex:getPlaceIndex', __args__, opts=opts, typ=GetPlaceIndexResult) return __ret__.apply(lambda __response__: GetPlaceIndexResult( create_time=pulumi.get(__response__, 'create_time'), diff --git a/sdk/python/pulumi_aws/location/get_route_calculator.py b/sdk/python/pulumi_aws/location/get_route_calculator.py index 93c04a48f3b..3147d2ab172 100644 --- a/sdk/python/pulumi_aws/location/get_route_calculator.py +++ b/sdk/python/pulumi_aws/location/get_route_calculator.py @@ -166,7 +166,7 @@ def get_route_calculator(calculator_name: Optional[str] = None, update_time=pulumi.get(__ret__, 'update_time')) def get_route_calculator_output(calculator_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRouteCalculatorResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRouteCalculatorResult]: """ Retrieve information about a Location Service Route Calculator. @@ -186,7 +186,7 @@ def get_route_calculator_output(calculator_name: Optional[pulumi.Input[str]] = N __args__ = dict() __args__['calculatorName'] = calculator_name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:location/getRouteCalculator:getRouteCalculator', __args__, opts=opts, typ=GetRouteCalculatorResult) return __ret__.apply(lambda __response__: GetRouteCalculatorResult( calculator_arn=pulumi.get(__response__, 'calculator_arn'), diff --git a/sdk/python/pulumi_aws/location/get_tracker.py b/sdk/python/pulumi_aws/location/get_tracker.py index 59f1a30d4f7..958210a9ea7 100644 --- a/sdk/python/pulumi_aws/location/get_tracker.py +++ b/sdk/python/pulumi_aws/location/get_tracker.py @@ -179,7 +179,7 @@ def get_tracker(tags: Optional[Mapping[str, str]] = None, update_time=pulumi.get(__ret__, 'update_time')) def get_tracker_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, tracker_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTrackerResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTrackerResult]: """ Retrieve information about a Location Service Tracker. @@ -199,7 +199,7 @@ def get_tracker_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] __args__ = dict() __args__['tags'] = tags __args__['trackerName'] = tracker_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:location/getTracker:getTracker', __args__, opts=opts, typ=GetTrackerResult) return __ret__.apply(lambda __response__: GetTrackerResult( create_time=pulumi.get(__response__, 'create_time'), diff --git a/sdk/python/pulumi_aws/location/get_tracker_association.py b/sdk/python/pulumi_aws/location/get_tracker_association.py index f92887075d6..4c0e59a0a9a 100644 --- a/sdk/python/pulumi_aws/location/get_tracker_association.py +++ b/sdk/python/pulumi_aws/location/get_tracker_association.py @@ -101,7 +101,7 @@ def get_tracker_association(consumer_arn: Optional[str] = None, tracker_name=pulumi.get(__ret__, 'tracker_name')) def get_tracker_association_output(consumer_arn: Optional[pulumi.Input[str]] = None, tracker_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTrackerAssociationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTrackerAssociationResult]: """ Retrieve information about a Location Service Tracker Association. @@ -124,7 +124,7 @@ def get_tracker_association_output(consumer_arn: Optional[pulumi.Input[str]] = N __args__ = dict() __args__['consumerArn'] = consumer_arn __args__['trackerName'] = tracker_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:location/getTrackerAssociation:getTrackerAssociation', __args__, opts=opts, typ=GetTrackerAssociationResult) return __ret__.apply(lambda __response__: GetTrackerAssociationResult( consumer_arn=pulumi.get(__response__, 'consumer_arn'), diff --git a/sdk/python/pulumi_aws/location/get_tracker_associations.py b/sdk/python/pulumi_aws/location/get_tracker_associations.py index ef65777a3c4..d5379d7cc9d 100644 --- a/sdk/python/pulumi_aws/location/get_tracker_associations.py +++ b/sdk/python/pulumi_aws/location/get_tracker_associations.py @@ -99,7 +99,7 @@ def get_tracker_associations(tracker_name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), tracker_name=pulumi.get(__ret__, 'tracker_name')) def get_tracker_associations_output(tracker_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTrackerAssociationsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTrackerAssociationsResult]: """ Retrieve information about Location Service Tracker Associations. @@ -119,7 +119,7 @@ def get_tracker_associations_output(tracker_name: Optional[pulumi.Input[str]] = """ __args__ = dict() __args__['trackerName'] = tracker_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:location/getTrackerAssociations:getTrackerAssociations', __args__, opts=opts, typ=GetTrackerAssociationsResult) return __ret__.apply(lambda __response__: GetTrackerAssociationsResult( consumer_arns=pulumi.get(__response__, 'consumer_arns'), diff --git a/sdk/python/pulumi_aws/mediaconvert/get_queue.py b/sdk/python/pulumi_aws/mediaconvert/get_queue.py index 4cb477e5cc5..f94ffc3069a 100644 --- a/sdk/python/pulumi_aws/mediaconvert/get_queue.py +++ b/sdk/python/pulumi_aws/mediaconvert/get_queue.py @@ -127,7 +127,7 @@ def get_queue(id: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_queue_output(id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetQueueResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetQueueResult]: """ Retrieve information about a AWS Elemental MediaConvert Queue. @@ -147,7 +147,7 @@ def get_queue_output(id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['id'] = id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:mediaconvert/getQueue:getQueue', __args__, opts=opts, typ=GetQueueResult) return __ret__.apply(lambda __response__: GetQueueResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/medialive/get_input.py b/sdk/python/pulumi_aws/medialive/get_input.py index 875c717bd77..7a4efbd93a9 100644 --- a/sdk/python/pulumi_aws/medialive/get_input.py +++ b/sdk/python/pulumi_aws/medialive/get_input.py @@ -266,7 +266,7 @@ def get_input(id: Optional[str] = None, tags=pulumi.get(__ret__, 'tags'), type=pulumi.get(__ret__, 'type')) def get_input_output(id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInputResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInputResult]: """ Data source for managing an AWS Elemental MediaLive Input. @@ -286,7 +286,7 @@ def get_input_output(id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['id'] = id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:medialive/getInput:getInput', __args__, opts=opts, typ=GetInputResult) return __ret__.apply(lambda __response__: GetInputResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/memorydb/get_acl.py b/sdk/python/pulumi_aws/memorydb/get_acl.py index 7bd6d944442..ed57b2577de 100644 --- a/sdk/python/pulumi_aws/memorydb/get_acl.py +++ b/sdk/python/pulumi_aws/memorydb/get_acl.py @@ -140,7 +140,7 @@ def get_acl(name: Optional[str] = None, user_names=pulumi.get(__ret__, 'user_names')) def get_acl_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAclResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAclResult]: """ Provides information about a MemoryDB ACL. @@ -160,7 +160,7 @@ def get_acl_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:memorydb/getAcl:getAcl', __args__, opts=opts, typ=GetAclResult) return __ret__.apply(lambda __response__: GetAclResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/memorydb/get_cluster.py b/sdk/python/pulumi_aws/memorydb/get_cluster.py index fac353b3c25..505fd8b8b53 100644 --- a/sdk/python/pulumi_aws/memorydb/get_cluster.py +++ b/sdk/python/pulumi_aws/memorydb/get_cluster.py @@ -414,7 +414,7 @@ def get_cluster(name: Optional[str] = None, tls_enabled=pulumi.get(__ret__, 'tls_enabled')) def get_cluster_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetClusterResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterResult]: """ Provides information about a MemoryDB Cluster. @@ -434,7 +434,7 @@ def get_cluster_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:memorydb/getCluster:getCluster', __args__, opts=opts, typ=GetClusterResult) return __ret__.apply(lambda __response__: GetClusterResult( acl_name=pulumi.get(__response__, 'acl_name'), diff --git a/sdk/python/pulumi_aws/memorydb/get_parameter_group.py b/sdk/python/pulumi_aws/memorydb/get_parameter_group.py index 0c7c898be98..fa8ff3a7505 100644 --- a/sdk/python/pulumi_aws/memorydb/get_parameter_group.py +++ b/sdk/python/pulumi_aws/memorydb/get_parameter_group.py @@ -157,7 +157,7 @@ def get_parameter_group(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_parameter_group_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetParameterGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetParameterGroupResult]: """ Provides information about a MemoryDB Parameter Group. @@ -177,7 +177,7 @@ def get_parameter_group_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:memorydb/getParameterGroup:getParameterGroup', __args__, opts=opts, typ=GetParameterGroupResult) return __ret__.apply(lambda __response__: GetParameterGroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/memorydb/get_snapshot.py b/sdk/python/pulumi_aws/memorydb/get_snapshot.py index e781005b4ed..d36f78baafe 100644 --- a/sdk/python/pulumi_aws/memorydb/get_snapshot.py +++ b/sdk/python/pulumi_aws/memorydb/get_snapshot.py @@ -170,7 +170,7 @@ def get_snapshot(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_snapshot_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSnapshotResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSnapshotResult]: """ Provides information about a MemoryDB Snapshot. @@ -190,7 +190,7 @@ def get_snapshot_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:memorydb/getSnapshot:getSnapshot', __args__, opts=opts, typ=GetSnapshotResult) return __ret__.apply(lambda __response__: GetSnapshotResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/memorydb/get_subnet_group.py b/sdk/python/pulumi_aws/memorydb/get_subnet_group.py index 9f85a3b1ad3..48693f07800 100644 --- a/sdk/python/pulumi_aws/memorydb/get_subnet_group.py +++ b/sdk/python/pulumi_aws/memorydb/get_subnet_group.py @@ -153,7 +153,7 @@ def get_subnet_group(name: Optional[str] = None, vpc_id=pulumi.get(__ret__, 'vpc_id')) def get_subnet_group_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSubnetGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSubnetGroupResult]: """ Provides information about a MemoryDB Subnet Group. @@ -173,7 +173,7 @@ def get_subnet_group_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:memorydb/getSubnetGroup:getSubnetGroup', __args__, opts=opts, typ=GetSubnetGroupResult) return __ret__.apply(lambda __response__: GetSubnetGroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/memorydb/get_user.py b/sdk/python/pulumi_aws/memorydb/get_user.py index 3317e7acbe8..9025a35e8b2 100644 --- a/sdk/python/pulumi_aws/memorydb/get_user.py +++ b/sdk/python/pulumi_aws/memorydb/get_user.py @@ -154,7 +154,7 @@ def get_user(tags: Optional[Mapping[str, str]] = None, user_name=pulumi.get(__ret__, 'user_name')) def get_user_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, user_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUserResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserResult]: """ Provides information about a MemoryDB User. @@ -174,7 +174,7 @@ def get_user_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = __args__ = dict() __args__['tags'] = tags __args__['userName'] = user_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:memorydb/getUser:getUser', __args__, opts=opts, typ=GetUserResult) return __ret__.apply(lambda __response__: GetUserResult( access_string=pulumi.get(__response__, 'access_string'), diff --git a/sdk/python/pulumi_aws/mq/get_broker.py b/sdk/python/pulumi_aws/mq/get_broker.py index 91693472923..ddab5d8aaa0 100644 --- a/sdk/python/pulumi_aws/mq/get_broker.py +++ b/sdk/python/pulumi_aws/mq/get_broker.py @@ -300,7 +300,7 @@ def get_broker(broker_id: Optional[str] = None, def get_broker_output(broker_id: Optional[pulumi.Input[Optional[str]]] = None, broker_name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBrokerResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBrokerResult]: """ Provides information about a MQ Broker. @@ -329,7 +329,7 @@ def get_broker_output(broker_id: Optional[pulumi.Input[Optional[str]]] = None, __args__['brokerId'] = broker_id __args__['brokerName'] = broker_name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:mq/getBroker:getBroker', __args__, opts=opts, typ=GetBrokerResult) return __ret__.apply(lambda __response__: GetBrokerResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/mq/get_broker_engine_types.py b/sdk/python/pulumi_aws/mq/get_broker_engine_types.py index 19114824591..614a3de6697 100644 --- a/sdk/python/pulumi_aws/mq/get_broker_engine_types.py +++ b/sdk/python/pulumi_aws/mq/get_broker_engine_types.py @@ -103,7 +103,7 @@ def get_broker_engine_types(engine_type: Optional[str] = None, engine_type=pulumi.get(__ret__, 'engine_type'), id=pulumi.get(__ret__, 'id')) def get_broker_engine_types_output(engine_type: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBrokerEngineTypesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBrokerEngineTypesResult]: """ Retrieve information about available broker engines. @@ -123,7 +123,7 @@ def get_broker_engine_types_output(engine_type: Optional[pulumi.Input[Optional[s """ __args__ = dict() __args__['engineType'] = engine_type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:mq/getBrokerEngineTypes:getBrokerEngineTypes', __args__, opts=opts, typ=GetBrokerEngineTypesResult) return __ret__.apply(lambda __response__: GetBrokerEngineTypesResult( broker_engine_types=pulumi.get(__response__, 'broker_engine_types'), diff --git a/sdk/python/pulumi_aws/mq/get_instance_type_offerings.py b/sdk/python/pulumi_aws/mq/get_instance_type_offerings.py index 9992fd78998..230d453f71a 100644 --- a/sdk/python/pulumi_aws/mq/get_instance_type_offerings.py +++ b/sdk/python/pulumi_aws/mq/get_instance_type_offerings.py @@ -141,7 +141,7 @@ def get_instance_type_offerings(engine_type: Optional[str] = None, def get_instance_type_offerings_output(engine_type: Optional[pulumi.Input[Optional[str]]] = None, host_instance_type: Optional[pulumi.Input[Optional[str]]] = None, storage_type: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceTypeOfferingsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceTypeOfferingsResult]: """ Provides information about a MQ Broker Instance Offerings. @@ -169,7 +169,7 @@ def get_instance_type_offerings_output(engine_type: Optional[pulumi.Input[Option __args__['engineType'] = engine_type __args__['hostInstanceType'] = host_instance_type __args__['storageType'] = storage_type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:mq/getInstanceTypeOfferings:getInstanceTypeOfferings', __args__, opts=opts, typ=GetInstanceTypeOfferingsResult) return __ret__.apply(lambda __response__: GetInstanceTypeOfferingsResult( broker_instance_options=pulumi.get(__response__, 'broker_instance_options'), diff --git a/sdk/python/pulumi_aws/msk/get_bootstrap_brokers.py b/sdk/python/pulumi_aws/msk/get_bootstrap_brokers.py index 0b03f86bd69..b1824a64a6b 100644 --- a/sdk/python/pulumi_aws/msk/get_bootstrap_brokers.py +++ b/sdk/python/pulumi_aws/msk/get_bootstrap_brokers.py @@ -214,7 +214,7 @@ def get_bootstrap_brokers(cluster_arn: Optional[str] = None, cluster_arn=pulumi.get(__ret__, 'cluster_arn'), id=pulumi.get(__ret__, 'id')) def get_bootstrap_brokers_output(cluster_arn: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBootstrapBrokersResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBootstrapBrokersResult]: """ Get a list of brokers that a client application can use to bootstrap. @@ -232,7 +232,7 @@ def get_bootstrap_brokers_output(cluster_arn: Optional[pulumi.Input[str]] = None """ __args__ = dict() __args__['clusterArn'] = cluster_arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:msk/getBootstrapBrokers:getBootstrapBrokers', __args__, opts=opts, typ=GetBootstrapBrokersResult) return __ret__.apply(lambda __response__: GetBootstrapBrokersResult( bootstrap_brokers=pulumi.get(__response__, 'bootstrap_brokers'), diff --git a/sdk/python/pulumi_aws/msk/get_broker_nodes.py b/sdk/python/pulumi_aws/msk/get_broker_nodes.py index 461347871af..91b74477da6 100644 --- a/sdk/python/pulumi_aws/msk/get_broker_nodes.py +++ b/sdk/python/pulumi_aws/msk/get_broker_nodes.py @@ -95,7 +95,7 @@ def get_broker_nodes(cluster_arn: Optional[str] = None, id=pulumi.get(__ret__, 'id'), node_info_lists=pulumi.get(__ret__, 'node_info_lists')) def get_broker_nodes_output(cluster_arn: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBrokerNodesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBrokerNodesResult]: """ Get information on an Amazon MSK Broker Nodes. @@ -113,7 +113,7 @@ def get_broker_nodes_output(cluster_arn: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['clusterArn'] = cluster_arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:msk/getBrokerNodes:getBrokerNodes', __args__, opts=opts, typ=GetBrokerNodesResult) return __ret__.apply(lambda __response__: GetBrokerNodesResult( cluster_arn=pulumi.get(__response__, 'cluster_arn'), diff --git a/sdk/python/pulumi_aws/msk/get_cluster.py b/sdk/python/pulumi_aws/msk/get_cluster.py index 5f5e1eace70..5fc63c0aba9 100644 --- a/sdk/python/pulumi_aws/msk/get_cluster.py +++ b/sdk/python/pulumi_aws/msk/get_cluster.py @@ -286,7 +286,7 @@ def get_cluster(cluster_name: Optional[str] = None, zookeeper_connect_string_tls=pulumi.get(__ret__, 'zookeeper_connect_string_tls')) def get_cluster_output(cluster_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetClusterResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterResult]: """ Get information on an Amazon MSK Cluster. @@ -308,7 +308,7 @@ def get_cluster_output(cluster_name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['clusterName'] = cluster_name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:msk/getCluster:getCluster', __args__, opts=opts, typ=GetClusterResult) return __ret__.apply(lambda __response__: GetClusterResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/msk/get_configuration.py b/sdk/python/pulumi_aws/msk/get_configuration.py index 17826839511..c704a94b556 100644 --- a/sdk/python/pulumi_aws/msk/get_configuration.py +++ b/sdk/python/pulumi_aws/msk/get_configuration.py @@ -149,7 +149,7 @@ def get_configuration(name: Optional[str] = None, name=pulumi.get(__ret__, 'name'), server_properties=pulumi.get(__ret__, 'server_properties')) def get_configuration_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConfigurationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConfigurationResult]: """ Get information on an Amazon MSK Configuration. @@ -167,7 +167,7 @@ def get_configuration_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:msk/getConfiguration:getConfiguration', __args__, opts=opts, typ=GetConfigurationResult) return __ret__.apply(lambda __response__: GetConfigurationResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/msk/get_kafka_version.py b/sdk/python/pulumi_aws/msk/get_kafka_version.py index fa5bd54e0f7..733a0c66f6c 100644 --- a/sdk/python/pulumi_aws/msk/get_kafka_version.py +++ b/sdk/python/pulumi_aws/msk/get_kafka_version.py @@ -116,7 +116,7 @@ def get_kafka_version(preferred_versions: Optional[Sequence[str]] = None, version=pulumi.get(__ret__, 'version')) def get_kafka_version_output(preferred_versions: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, version: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetKafkaVersionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetKafkaVersionResult]: """ Get information on a Amazon MSK Kafka Version @@ -141,7 +141,7 @@ def get_kafka_version_output(preferred_versions: Optional[pulumi.Input[Optional[ __args__ = dict() __args__['preferredVersions'] = preferred_versions __args__['version'] = version - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:msk/getKafkaVersion:getKafkaVersion', __args__, opts=opts, typ=GetKafkaVersionResult) return __ret__.apply(lambda __response__: GetKafkaVersionResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/msk/get_vpc_connection.py b/sdk/python/pulumi_aws/msk/get_vpc_connection.py index 6ac2858b461..63565c30159 100644 --- a/sdk/python/pulumi_aws/msk/get_vpc_connection.py +++ b/sdk/python/pulumi_aws/msk/get_vpc_connection.py @@ -166,7 +166,7 @@ def get_vpc_connection(arn: Optional[str] = None, vpc_id=pulumi.get(__ret__, 'vpc_id')) def get_vpc_connection_output(arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcConnectionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcConnectionResult]: """ Get information on an Amazon MSK VPC Connection. @@ -186,7 +186,7 @@ def get_vpc_connection_output(arn: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['arn'] = arn __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:msk/getVpcConnection:getVpcConnection', __args__, opts=opts, typ=GetVpcConnectionResult) return __ret__.apply(lambda __response__: GetVpcConnectionResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/mskconnect/get_connector.py b/sdk/python/pulumi_aws/mskconnect/get_connector.py index b47d111c97e..3e87e13e537 100644 --- a/sdk/python/pulumi_aws/mskconnect/get_connector.py +++ b/sdk/python/pulumi_aws/mskconnect/get_connector.py @@ -140,7 +140,7 @@ def get_connector(name: Optional[str] = None, version=pulumi.get(__ret__, 'version')) def get_connector_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConnectorResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConnectorResult]: """ Get information on an Amazon MSK Connect Connector. @@ -160,7 +160,7 @@ def get_connector_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:mskconnect/getConnector:getConnector', __args__, opts=opts, typ=GetConnectorResult) return __ret__.apply(lambda __response__: GetConnectorResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/mskconnect/get_custom_plugin.py b/sdk/python/pulumi_aws/mskconnect/get_custom_plugin.py index 7a70ee8deec..7e86ed5044f 100644 --- a/sdk/python/pulumi_aws/mskconnect/get_custom_plugin.py +++ b/sdk/python/pulumi_aws/mskconnect/get_custom_plugin.py @@ -153,7 +153,7 @@ def get_custom_plugin(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_custom_plugin_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCustomPluginResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCustomPluginResult]: """ Get information on an Amazon MSK Connect custom plugin. @@ -173,7 +173,7 @@ def get_custom_plugin_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:mskconnect/getCustomPlugin:getCustomPlugin', __args__, opts=opts, typ=GetCustomPluginResult) return __ret__.apply(lambda __response__: GetCustomPluginResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/mskconnect/get_worker_configuration.py b/sdk/python/pulumi_aws/mskconnect/get_worker_configuration.py index 4d3f7927fc5..a4cc2cd006c 100644 --- a/sdk/python/pulumi_aws/mskconnect/get_worker_configuration.py +++ b/sdk/python/pulumi_aws/mskconnect/get_worker_configuration.py @@ -153,7 +153,7 @@ def get_worker_configuration(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_worker_configuration_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetWorkerConfigurationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWorkerConfigurationResult]: """ Get information on an Amazon MSK Connect Worker Configuration. @@ -173,7 +173,7 @@ def get_worker_configuration_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:mskconnect/getWorkerConfiguration:getWorkerConfiguration', __args__, opts=opts, typ=GetWorkerConfigurationResult) return __ret__.apply(lambda __response__: GetWorkerConfigurationResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/neptune/get_engine_version.py b/sdk/python/pulumi_aws/neptune/get_engine_version.py index 39bb4df9929..492bf3a86ec 100644 --- a/sdk/python/pulumi_aws/neptune/get_engine_version.py +++ b/sdk/python/pulumi_aws/neptune/get_engine_version.py @@ -221,7 +221,7 @@ def get_engine_version_output(engine: Optional[pulumi.Input[Optional[str]]] = No parameter_group_family: Optional[pulumi.Input[Optional[str]]] = None, preferred_versions: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, version: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEngineVersionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEngineVersionResult]: """ Information about a Neptune engine version. @@ -249,7 +249,7 @@ def get_engine_version_output(engine: Optional[pulumi.Input[Optional[str]]] = No __args__['parameterGroupFamily'] = parameter_group_family __args__['preferredVersions'] = preferred_versions __args__['version'] = version - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:neptune/getEngineVersion:getEngineVersion', __args__, opts=opts, typ=GetEngineVersionResult) return __ret__.apply(lambda __response__: GetEngineVersionResult( engine=pulumi.get(__response__, 'engine'), diff --git a/sdk/python/pulumi_aws/neptune/get_orderable_db_instance.py b/sdk/python/pulumi_aws/neptune/get_orderable_db_instance.py index a4ebe6dcafd..3e43d43904a 100644 --- a/sdk/python/pulumi_aws/neptune/get_orderable_db_instance.py +++ b/sdk/python/pulumi_aws/neptune/get_orderable_db_instance.py @@ -354,7 +354,7 @@ def get_orderable_db_instance_output(engine: Optional[pulumi.Input[Optional[str] license_model: Optional[pulumi.Input[Optional[str]]] = None, preferred_instance_classes: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, vpc: Optional[pulumi.Input[Optional[bool]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOrderableDbInstanceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrderableDbInstanceResult]: """ Information about Neptune orderable DB instances. @@ -387,7 +387,7 @@ def get_orderable_db_instance_output(engine: Optional[pulumi.Input[Optional[str] __args__['licenseModel'] = license_model __args__['preferredInstanceClasses'] = preferred_instance_classes __args__['vpc'] = vpc - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:neptune/getOrderableDbInstance:getOrderableDbInstance', __args__, opts=opts, typ=GetOrderableDbInstanceResult) return __ret__.apply(lambda __response__: GetOrderableDbInstanceResult( availability_zones=pulumi.get(__response__, 'availability_zones'), diff --git a/sdk/python/pulumi_aws/networkfirewall/get_firewall.py b/sdk/python/pulumi_aws/networkfirewall/get_firewall.py index ffc25e9f4e2..654104e3c90 100644 --- a/sdk/python/pulumi_aws/networkfirewall/get_firewall.py +++ b/sdk/python/pulumi_aws/networkfirewall/get_firewall.py @@ -273,7 +273,7 @@ def get_firewall(arn: Optional[str] = None, def get_firewall_output(arn: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFirewallResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFirewallResult]: """ Retrieve information about a firewall. @@ -316,7 +316,7 @@ def get_firewall_output(arn: Optional[pulumi.Input[Optional[str]]] = None, __args__['arn'] = arn __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:networkfirewall/getFirewall:getFirewall', __args__, opts=opts, typ=GetFirewallResult) return __ret__.apply(lambda __response__: GetFirewallResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/networkfirewall/get_firewall_policy.py b/sdk/python/pulumi_aws/networkfirewall/get_firewall_policy.py index 6862fdecd04..d5108f28672 100644 --- a/sdk/python/pulumi_aws/networkfirewall/get_firewall_policy.py +++ b/sdk/python/pulumi_aws/networkfirewall/get_firewall_policy.py @@ -180,7 +180,7 @@ def get_firewall_policy(arn: Optional[str] = None, def get_firewall_policy_output(arn: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFirewallPolicyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFirewallPolicyResult]: """ Retrieve information about a firewall policy. @@ -227,7 +227,7 @@ def get_firewall_policy_output(arn: Optional[pulumi.Input[Optional[str]]] = None __args__['arn'] = arn __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:networkfirewall/getFirewallPolicy:getFirewallPolicy', __args__, opts=opts, typ=GetFirewallPolicyResult) return __ret__.apply(lambda __response__: GetFirewallPolicyResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/networkfirewall/get_resource_policy.py b/sdk/python/pulumi_aws/networkfirewall/get_resource_policy.py index 9ad9a1b7e66..960380ae224 100644 --- a/sdk/python/pulumi_aws/networkfirewall/get_resource_policy.py +++ b/sdk/python/pulumi_aws/networkfirewall/get_resource_policy.py @@ -97,7 +97,7 @@ def get_resource_policy(resource_arn: Optional[str] = None, policy=pulumi.get(__ret__, 'policy'), resource_arn=pulumi.get(__ret__, 'resource_arn')) def get_resource_policy_output(resource_arn: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResourcePolicyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResourcePolicyResult]: """ Retrieve information about a Network Firewall resource policy. @@ -115,7 +115,7 @@ def get_resource_policy_output(resource_arn: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['resourceArn'] = resource_arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:networkfirewall/getResourcePolicy:getResourcePolicy', __args__, opts=opts, typ=GetResourcePolicyResult) return __ret__.apply(lambda __response__: GetResourcePolicyResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/networkmanager/get_connection.py b/sdk/python/pulumi_aws/networkmanager/get_connection.py index a439fc576e9..b33a158599d 100644 --- a/sdk/python/pulumi_aws/networkmanager/get_connection.py +++ b/sdk/python/pulumi_aws/networkmanager/get_connection.py @@ -194,7 +194,7 @@ def get_connection(connection_id: Optional[str] = None, def get_connection_output(connection_id: Optional[pulumi.Input[str]] = None, global_network_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConnectionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConnectionResult]: """ Retrieve information about a connection. @@ -217,7 +217,7 @@ def get_connection_output(connection_id: Optional[pulumi.Input[str]] = None, __args__['connectionId'] = connection_id __args__['globalNetworkId'] = global_network_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:networkmanager/getConnection:getConnection', __args__, opts=opts, typ=GetConnectionResult) return __ret__.apply(lambda __response__: GetConnectionResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/networkmanager/get_connections.py b/sdk/python/pulumi_aws/networkmanager/get_connections.py index 4c8f84b81dd..c0957a02d03 100644 --- a/sdk/python/pulumi_aws/networkmanager/get_connections.py +++ b/sdk/python/pulumi_aws/networkmanager/get_connections.py @@ -128,7 +128,7 @@ def get_connections(device_id: Optional[str] = None, def get_connections_output(device_id: Optional[pulumi.Input[Optional[str]]] = None, global_network_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConnectionsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConnectionsResult]: """ Retrieve information about connections. @@ -153,7 +153,7 @@ def get_connections_output(device_id: Optional[pulumi.Input[Optional[str]]] = No __args__['deviceId'] = device_id __args__['globalNetworkId'] = global_network_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:networkmanager/getConnections:getConnections', __args__, opts=opts, typ=GetConnectionsResult) return __ret__.apply(lambda __response__: GetConnectionsResult( device_id=pulumi.get(__response__, 'device_id'), diff --git a/sdk/python/pulumi_aws/networkmanager/get_core_network_policy_document.py b/sdk/python/pulumi_aws/networkmanager/get_core_network_policy_document.py index e989ee7f1b9..901f2cee837 100644 --- a/sdk/python/pulumi_aws/networkmanager/get_core_network_policy_document.py +++ b/sdk/python/pulumi_aws/networkmanager/get_core_network_policy_document.py @@ -235,7 +235,7 @@ def get_core_network_policy_document_output(attachment_policies: Optional[pulumi segment_actions: Optional[pulumi.Input[Optional[Sequence[Union['GetCoreNetworkPolicyDocumentSegmentActionArgs', 'GetCoreNetworkPolicyDocumentSegmentActionArgsDict']]]]] = None, segments: Optional[pulumi.Input[Sequence[Union['GetCoreNetworkPolicyDocumentSegmentArgs', 'GetCoreNetworkPolicyDocumentSegmentArgsDict']]]] = None, version: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCoreNetworkPolicyDocumentResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCoreNetworkPolicyDocumentResult]: """ Generates a Core Network policy document in JSON format for use with resources that expect core network policy documents such as `awscc_networkmanager_core_network`. It follows the API definition from the [core-network-policy documentation](https://docs.aws.amazon.com/vpc/latest/cloudwan/cloudwan-policies-json.html). @@ -329,7 +329,7 @@ def get_core_network_policy_document_output(attachment_policies: Optional[pulumi __args__['segmentActions'] = segment_actions __args__['segments'] = segments __args__['version'] = version - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:networkmanager/getCoreNetworkPolicyDocument:getCoreNetworkPolicyDocument', __args__, opts=opts, typ=GetCoreNetworkPolicyDocumentResult) return __ret__.apply(lambda __response__: GetCoreNetworkPolicyDocumentResult( attachment_policies=pulumi.get(__response__, 'attachment_policies'), diff --git a/sdk/python/pulumi_aws/networkmanager/get_device.py b/sdk/python/pulumi_aws/networkmanager/get_device.py index ab2d6bdcf8e..dd8931d0721 100644 --- a/sdk/python/pulumi_aws/networkmanager/get_device.py +++ b/sdk/python/pulumi_aws/networkmanager/get_device.py @@ -224,7 +224,7 @@ def get_device(device_id: Optional[str] = None, def get_device_output(device_id: Optional[pulumi.Input[str]] = None, global_network_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDeviceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDeviceResult]: """ Retrieve information about a device. @@ -237,7 +237,7 @@ def get_device_output(device_id: Optional[pulumi.Input[str]] = None, __args__['deviceId'] = device_id __args__['globalNetworkId'] = global_network_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:networkmanager/getDevice:getDevice', __args__, opts=opts, typ=GetDeviceResult) return __ret__.apply(lambda __response__: GetDeviceResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/networkmanager/get_devices.py b/sdk/python/pulumi_aws/networkmanager/get_devices.py index 2a95af2a3e2..2a6cd0701de 100644 --- a/sdk/python/pulumi_aws/networkmanager/get_devices.py +++ b/sdk/python/pulumi_aws/networkmanager/get_devices.py @@ -128,7 +128,7 @@ def get_devices(global_network_id: Optional[str] = None, def get_devices_output(global_network_id: Optional[pulumi.Input[str]] = None, site_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDevicesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDevicesResult]: """ Retrieve information about devices. @@ -153,7 +153,7 @@ def get_devices_output(global_network_id: Optional[pulumi.Input[str]] = None, __args__['globalNetworkId'] = global_network_id __args__['siteId'] = site_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:networkmanager/getDevices:getDevices', __args__, opts=opts, typ=GetDevicesResult) return __ret__.apply(lambda __response__: GetDevicesResult( global_network_id=pulumi.get(__response__, 'global_network_id'), diff --git a/sdk/python/pulumi_aws/networkmanager/get_global_network.py b/sdk/python/pulumi_aws/networkmanager/get_global_network.py index 9b68dc1dae4..b8c6e44b1fc 100644 --- a/sdk/python/pulumi_aws/networkmanager/get_global_network.py +++ b/sdk/python/pulumi_aws/networkmanager/get_global_network.py @@ -127,7 +127,7 @@ def get_global_network(global_network_id: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_global_network_output(global_network_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetGlobalNetworkResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGlobalNetworkResult]: """ Retrieve information about a global network. @@ -147,7 +147,7 @@ def get_global_network_output(global_network_id: Optional[pulumi.Input[str]] = N __args__ = dict() __args__['globalNetworkId'] = global_network_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:networkmanager/getGlobalNetwork:getGlobalNetwork', __args__, opts=opts, typ=GetGlobalNetworkResult) return __ret__.apply(lambda __response__: GetGlobalNetworkResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/networkmanager/get_global_networks.py b/sdk/python/pulumi_aws/networkmanager/get_global_networks.py index 9ba10dfdada..f995cea3da5 100644 --- a/sdk/python/pulumi_aws/networkmanager/get_global_networks.py +++ b/sdk/python/pulumi_aws/networkmanager/get_global_networks.py @@ -99,7 +99,7 @@ def get_global_networks(tags: Optional[Mapping[str, str]] = None, ids=pulumi.get(__ret__, 'ids'), tags=pulumi.get(__ret__, 'tags')) def get_global_networks_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetGlobalNetworksResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGlobalNetworksResult]: """ Retrieve information about global networks. @@ -119,7 +119,7 @@ def get_global_networks_output(tags: Optional[pulumi.Input[Optional[Mapping[str, """ __args__ = dict() __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:networkmanager/getGlobalNetworks:getGlobalNetworks', __args__, opts=opts, typ=GetGlobalNetworksResult) return __ret__.apply(lambda __response__: GetGlobalNetworksResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/networkmanager/get_link.py b/sdk/python/pulumi_aws/networkmanager/get_link.py index f672a7c8bdb..f35bfc92d13 100644 --- a/sdk/python/pulumi_aws/networkmanager/get_link.py +++ b/sdk/python/pulumi_aws/networkmanager/get_link.py @@ -195,7 +195,7 @@ def get_link(global_network_id: Optional[str] = None, def get_link_output(global_network_id: Optional[pulumi.Input[str]] = None, link_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLinkResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLinkResult]: """ Retrieve information about a link. @@ -218,7 +218,7 @@ def get_link_output(global_network_id: Optional[pulumi.Input[str]] = None, __args__['globalNetworkId'] = global_network_id __args__['linkId'] = link_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:networkmanager/getLink:getLink', __args__, opts=opts, typ=GetLinkResult) return __ret__.apply(lambda __response__: GetLinkResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/networkmanager/get_links.py b/sdk/python/pulumi_aws/networkmanager/get_links.py index 4b8277a5cb7..b516de63576 100644 --- a/sdk/python/pulumi_aws/networkmanager/get_links.py +++ b/sdk/python/pulumi_aws/networkmanager/get_links.py @@ -156,7 +156,7 @@ def get_links_output(global_network_id: Optional[pulumi.Input[str]] = None, site_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, type: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLinksResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLinksResult]: """ Retrieve information about link. @@ -185,7 +185,7 @@ def get_links_output(global_network_id: Optional[pulumi.Input[str]] = None, __args__['siteId'] = site_id __args__['tags'] = tags __args__['type'] = type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:networkmanager/getLinks:getLinks', __args__, opts=opts, typ=GetLinksResult) return __ret__.apply(lambda __response__: GetLinksResult( global_network_id=pulumi.get(__response__, 'global_network_id'), diff --git a/sdk/python/pulumi_aws/networkmanager/get_site.py b/sdk/python/pulumi_aws/networkmanager/get_site.py index e6a95ec366c..94487ff77df 100644 --- a/sdk/python/pulumi_aws/networkmanager/get_site.py +++ b/sdk/python/pulumi_aws/networkmanager/get_site.py @@ -156,7 +156,7 @@ def get_site(global_network_id: Optional[str] = None, def get_site_output(global_network_id: Optional[pulumi.Input[str]] = None, site_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSiteResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSiteResult]: """ Retrieve information about a site. @@ -179,7 +179,7 @@ def get_site_output(global_network_id: Optional[pulumi.Input[str]] = None, __args__['globalNetworkId'] = global_network_id __args__['siteId'] = site_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:networkmanager/getSite:getSite', __args__, opts=opts, typ=GetSiteResult) return __ret__.apply(lambda __response__: GetSiteResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/networkmanager/get_sites.py b/sdk/python/pulumi_aws/networkmanager/get_sites.py index bc42192205b..07187b19164 100644 --- a/sdk/python/pulumi_aws/networkmanager/get_sites.py +++ b/sdk/python/pulumi_aws/networkmanager/get_sites.py @@ -114,7 +114,7 @@ def get_sites(global_network_id: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_sites_output(global_network_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSitesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSitesResult]: """ Retrieve information about sites. @@ -137,7 +137,7 @@ def get_sites_output(global_network_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['globalNetworkId'] = global_network_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:networkmanager/getSites:getSites', __args__, opts=opts, typ=GetSitesResult) return __ret__.apply(lambda __response__: GetSitesResult( global_network_id=pulumi.get(__response__, 'global_network_id'), diff --git a/sdk/python/pulumi_aws/oam/get_link.py b/sdk/python/pulumi_aws/oam/get_link.py index 19df01246a1..c76b5fa02f6 100644 --- a/sdk/python/pulumi_aws/oam/get_link.py +++ b/sdk/python/pulumi_aws/oam/get_link.py @@ -191,7 +191,7 @@ def get_link(link_identifier: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_link_output(link_identifier: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLinkResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLinkResult]: """ Data source for managing an AWS CloudWatch Observability Access Manager Link. @@ -212,7 +212,7 @@ def get_link_output(link_identifier: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['linkIdentifier'] = link_identifier __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:oam/getLink:getLink', __args__, opts=opts, typ=GetLinkResult) return __ret__.apply(lambda __response__: GetLinkResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/oam/get_links.py b/sdk/python/pulumi_aws/oam/get_links.py index ae89b1cc317..45258b66590 100644 --- a/sdk/python/pulumi_aws/oam/get_links.py +++ b/sdk/python/pulumi_aws/oam/get_links.py @@ -83,7 +83,7 @@ def get_links(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLinksR return AwaitableGetLinksResult( arns=pulumi.get(__ret__, 'arns'), id=pulumi.get(__ret__, 'id')) -def get_links_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLinksResult]: +def get_links_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLinksResult]: """ Data source for managing an AWS CloudWatch Observability Access Manager Links. @@ -99,7 +99,7 @@ def get_links_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOut ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:oam/getLinks:getLinks', __args__, opts=opts, typ=GetLinksResult) return __ret__.apply(lambda __response__: GetLinksResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/oam/get_sink.py b/sdk/python/pulumi_aws/oam/get_sink.py index 1e3b51c0bea..5bb95118ef9 100644 --- a/sdk/python/pulumi_aws/oam/get_sink.py +++ b/sdk/python/pulumi_aws/oam/get_sink.py @@ -142,7 +142,7 @@ def get_sink(sink_identifier: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_sink_output(sink_identifier: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSinkResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSinkResult]: """ Data source for managing an AWS CloudWatch Observability Access Manager Sink. @@ -164,7 +164,7 @@ def get_sink_output(sink_identifier: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['sinkIdentifier'] = sink_identifier __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:oam/getSink:getSink', __args__, opts=opts, typ=GetSinkResult) return __ret__.apply(lambda __response__: GetSinkResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/oam/get_sinks.py b/sdk/python/pulumi_aws/oam/get_sinks.py index 961f015f6a7..7cffc222ac4 100644 --- a/sdk/python/pulumi_aws/oam/get_sinks.py +++ b/sdk/python/pulumi_aws/oam/get_sinks.py @@ -83,7 +83,7 @@ def get_sinks(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSinksR return AwaitableGetSinksResult( arns=pulumi.get(__ret__, 'arns'), id=pulumi.get(__ret__, 'id')) -def get_sinks_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSinksResult]: +def get_sinks_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSinksResult]: """ Data source for managing an AWS CloudWatch Observability Access Manager Sinks. @@ -99,7 +99,7 @@ def get_sinks_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOut ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:oam/getSinks:getSinks', __args__, opts=opts, typ=GetSinksResult) return __ret__.apply(lambda __response__: GetSinksResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/opensearch/get_domain.py b/sdk/python/pulumi_aws/opensearch/get_domain.py index 53273383ef1..ff6c990576e 100644 --- a/sdk/python/pulumi_aws/opensearch/get_domain.py +++ b/sdk/python/pulumi_aws/opensearch/get_domain.py @@ -459,7 +459,7 @@ def get_domain(domain_name: Optional[str] = None, def get_domain_output(domain_name: Optional[pulumi.Input[str]] = None, off_peak_window_options: Optional[pulumi.Input[Optional[Union['GetDomainOffPeakWindowOptionsArgs', 'GetDomainOffPeakWindowOptionsArgsDict']]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDomainResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDomainResult]: """ Use this data source to get information about an OpenSearch Domain @@ -481,7 +481,7 @@ def get_domain_output(domain_name: Optional[pulumi.Input[str]] = None, __args__['domainName'] = domain_name __args__['offPeakWindowOptions'] = off_peak_window_options __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:opensearch/getDomain:getDomain', __args__, opts=opts, typ=GetDomainResult) return __ret__.apply(lambda __response__: GetDomainResult( access_policies=pulumi.get(__response__, 'access_policies'), diff --git a/sdk/python/pulumi_aws/opensearch/get_serverless_access_policy.py b/sdk/python/pulumi_aws/opensearch/get_serverless_access_policy.py index bb877d3e702..a4d80eeb11d 100644 --- a/sdk/python/pulumi_aws/opensearch/get_serverless_access_policy.py +++ b/sdk/python/pulumi_aws/opensearch/get_serverless_access_policy.py @@ -137,7 +137,7 @@ def get_serverless_access_policy(name: Optional[str] = None, type=pulumi.get(__ret__, 'type')) def get_serverless_access_policy_output(name: Optional[pulumi.Input[str]] = None, type: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServerlessAccessPolicyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServerlessAccessPolicyResult]: """ Data source for managing an AWS OpenSearch Serverless Access Policy. @@ -160,7 +160,7 @@ def get_serverless_access_policy_output(name: Optional[pulumi.Input[str]] = None __args__ = dict() __args__['name'] = name __args__['type'] = type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:opensearch/getServerlessAccessPolicy:getServerlessAccessPolicy', __args__, opts=opts, typ=GetServerlessAccessPolicyResult) return __ret__.apply(lambda __response__: GetServerlessAccessPolicyResult( description=pulumi.get(__response__, 'description'), diff --git a/sdk/python/pulumi_aws/opensearch/get_serverless_collection.py b/sdk/python/pulumi_aws/opensearch/get_serverless_collection.py index 138801c0d7d..66f7cae8667 100644 --- a/sdk/python/pulumi_aws/opensearch/get_serverless_collection.py +++ b/sdk/python/pulumi_aws/opensearch/get_serverless_collection.py @@ -240,7 +240,7 @@ def get_serverless_collection(id: Optional[str] = None, type=pulumi.get(__ret__, 'type')) def get_serverless_collection_output(id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServerlessCollectionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServerlessCollectionResult]: """ Data source for managing an AWS OpenSearch Serverless Collection. @@ -262,7 +262,7 @@ def get_serverless_collection_output(id: Optional[pulumi.Input[Optional[str]]] = __args__ = dict() __args__['id'] = id __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:opensearch/getServerlessCollection:getServerlessCollection', __args__, opts=opts, typ=GetServerlessCollectionResult) return __ret__.apply(lambda __response__: GetServerlessCollectionResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/opensearch/get_serverless_lifecycle_policy.py b/sdk/python/pulumi_aws/opensearch/get_serverless_lifecycle_policy.py index dca09b7b742..3293b4d1aa1 100644 --- a/sdk/python/pulumi_aws/opensearch/get_serverless_lifecycle_policy.py +++ b/sdk/python/pulumi_aws/opensearch/get_serverless_lifecycle_policy.py @@ -163,7 +163,7 @@ def get_serverless_lifecycle_policy(name: Optional[str] = None, type=pulumi.get(__ret__, 'type')) def get_serverless_lifecycle_policy_output(name: Optional[pulumi.Input[str]] = None, type: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServerlessLifecyclePolicyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServerlessLifecyclePolicyResult]: """ Data source for managing an AWS OpenSearch Serverless Lifecycle Policy. @@ -186,7 +186,7 @@ def get_serverless_lifecycle_policy_output(name: Optional[pulumi.Input[str]] = N __args__ = dict() __args__['name'] = name __args__['type'] = type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:opensearch/getServerlessLifecyclePolicy:getServerlessLifecyclePolicy', __args__, opts=opts, typ=GetServerlessLifecyclePolicyResult) return __ret__.apply(lambda __response__: GetServerlessLifecyclePolicyResult( created_date=pulumi.get(__response__, 'created_date'), diff --git a/sdk/python/pulumi_aws/opensearch/get_serverless_security_config.py b/sdk/python/pulumi_aws/opensearch/get_serverless_security_config.py index a96f2afa432..5ea156de5e1 100644 --- a/sdk/python/pulumi_aws/opensearch/get_serverless_security_config.py +++ b/sdk/python/pulumi_aws/opensearch/get_serverless_security_config.py @@ -157,7 +157,7 @@ def get_serverless_security_config(id: Optional[str] = None, type=pulumi.get(__ret__, 'type')) def get_serverless_security_config_output(id: Optional[pulumi.Input[str]] = None, saml_options: Optional[pulumi.Input[Optional[Union['GetServerlessSecurityConfigSamlOptionsArgs', 'GetServerlessSecurityConfigSamlOptionsArgsDict']]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServerlessSecurityConfigResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServerlessSecurityConfigResult]: """ Data source for managing an AWS OpenSearch Serverless Security Config. @@ -179,7 +179,7 @@ def get_serverless_security_config_output(id: Optional[pulumi.Input[str]] = None __args__ = dict() __args__['id'] = id __args__['samlOptions'] = saml_options - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:opensearch/getServerlessSecurityConfig:getServerlessSecurityConfig', __args__, opts=opts, typ=GetServerlessSecurityConfigResult) return __ret__.apply(lambda __response__: GetServerlessSecurityConfigResult( config_version=pulumi.get(__response__, 'config_version'), diff --git a/sdk/python/pulumi_aws/opensearch/get_serverless_security_policy.py b/sdk/python/pulumi_aws/opensearch/get_serverless_security_policy.py index 82cc78860ca..c8e890a2a78 100644 --- a/sdk/python/pulumi_aws/opensearch/get_serverless_security_policy.py +++ b/sdk/python/pulumi_aws/opensearch/get_serverless_security_policy.py @@ -164,7 +164,7 @@ def get_serverless_security_policy(name: Optional[str] = None, type=pulumi.get(__ret__, 'type')) def get_serverless_security_policy_output(name: Optional[pulumi.Input[str]] = None, type: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServerlessSecurityPolicyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServerlessSecurityPolicyResult]: """ Use this data source to get information about an AWS OpenSearch Serverless Security Policy. @@ -185,7 +185,7 @@ def get_serverless_security_policy_output(name: Optional[pulumi.Input[str]] = No __args__ = dict() __args__['name'] = name __args__['type'] = type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:opensearch/getServerlessSecurityPolicy:getServerlessSecurityPolicy', __args__, opts=opts, typ=GetServerlessSecurityPolicyResult) return __ret__.apply(lambda __response__: GetServerlessSecurityPolicyResult( created_date=pulumi.get(__response__, 'created_date'), diff --git a/sdk/python/pulumi_aws/opensearch/get_serverless_vpc_endpoint.py b/sdk/python/pulumi_aws/opensearch/get_serverless_vpc_endpoint.py index 6ebba8e4a7b..d476b3b59d8 100644 --- a/sdk/python/pulumi_aws/opensearch/get_serverless_vpc_endpoint.py +++ b/sdk/python/pulumi_aws/opensearch/get_serverless_vpc_endpoint.py @@ -149,7 +149,7 @@ def get_serverless_vpc_endpoint(vpc_endpoint_id: Optional[str] = None, vpc_endpoint_id=pulumi.get(__ret__, 'vpc_endpoint_id'), vpc_id=pulumi.get(__ret__, 'vpc_id')) def get_serverless_vpc_endpoint_output(vpc_endpoint_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServerlessVpcEndpointResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServerlessVpcEndpointResult]: """ Data source for managing an AWS OpenSearch Serverless VPC Endpoint. @@ -167,7 +167,7 @@ def get_serverless_vpc_endpoint_output(vpc_endpoint_id: Optional[pulumi.Input[st """ __args__ = dict() __args__['vpcEndpointId'] = vpc_endpoint_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:opensearch/getServerlessVpcEndpoint:getServerlessVpcEndpoint', __args__, opts=opts, typ=GetServerlessVpcEndpointResult) return __ret__.apply(lambda __response__: GetServerlessVpcEndpointResult( created_date=pulumi.get(__response__, 'created_date'), diff --git a/sdk/python/pulumi_aws/organizations/get_delegated_administrators.py b/sdk/python/pulumi_aws/organizations/get_delegated_administrators.py index 764d4ecc6d3..a2e0e788128 100644 --- a/sdk/python/pulumi_aws/organizations/get_delegated_administrators.py +++ b/sdk/python/pulumi_aws/organizations/get_delegated_administrators.py @@ -98,7 +98,7 @@ def get_delegated_administrators(service_principal: Optional[str] = None, id=pulumi.get(__ret__, 'id'), service_principal=pulumi.get(__ret__, 'service_principal')) def get_delegated_administrators_output(service_principal: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDelegatedAdministratorsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDelegatedAdministratorsResult]: """ Get a list of AWS accounts that are designated as delegated administrators in this organization @@ -116,7 +116,7 @@ def get_delegated_administrators_output(service_principal: Optional[pulumi.Input """ __args__ = dict() __args__['servicePrincipal'] = service_principal - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:organizations/getDelegatedAdministrators:getDelegatedAdministrators', __args__, opts=opts, typ=GetDelegatedAdministratorsResult) return __ret__.apply(lambda __response__: GetDelegatedAdministratorsResult( delegated_administrators=pulumi.get(__response__, 'delegated_administrators'), diff --git a/sdk/python/pulumi_aws/organizations/get_delegated_services.py b/sdk/python/pulumi_aws/organizations/get_delegated_services.py index 5567fb4f1eb..6597a58f640 100644 --- a/sdk/python/pulumi_aws/organizations/get_delegated_services.py +++ b/sdk/python/pulumi_aws/organizations/get_delegated_services.py @@ -98,7 +98,7 @@ def get_delegated_services(account_id: Optional[str] = None, delegated_services=pulumi.get(__ret__, 'delegated_services'), id=pulumi.get(__ret__, 'id')) def get_delegated_services_output(account_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDelegatedServicesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDelegatedServicesResult]: """ Get a list the AWS services for which the specified account is a delegated administrator @@ -116,7 +116,7 @@ def get_delegated_services_output(account_id: Optional[pulumi.Input[str]] = None """ __args__ = dict() __args__['accountId'] = account_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:organizations/getDelegatedServices:getDelegatedServices', __args__, opts=opts, typ=GetDelegatedServicesResult) return __ret__.apply(lambda __response__: GetDelegatedServicesResult( account_id=pulumi.get(__response__, 'account_id'), diff --git a/sdk/python/pulumi_aws/organizations/get_organization.py b/sdk/python/pulumi_aws/organizations/get_organization.py index 1a383a6ec06..07011362477 100644 --- a/sdk/python/pulumi_aws/organizations/get_organization.py +++ b/sdk/python/pulumi_aws/organizations/get_organization.py @@ -245,7 +245,7 @@ def get_organization(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGe master_account_name=pulumi.get(__ret__, 'master_account_name'), non_master_accounts=pulumi.get(__ret__, 'non_master_accounts'), roots=pulumi.get(__ret__, 'roots')) -def get_organization_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOrganizationResult]: +def get_organization_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrganizationResult]: """ Get information about the organization that the user's account belongs to @@ -292,7 +292,7 @@ def get_organization_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.In ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:organizations/getOrganization:getOrganization', __args__, opts=opts, typ=GetOrganizationResult) return __ret__.apply(lambda __response__: GetOrganizationResult( accounts=pulumi.get(__response__, 'accounts'), diff --git a/sdk/python/pulumi_aws/organizations/get_organizational_unit.py b/sdk/python/pulumi_aws/organizations/get_organizational_unit.py index eb94d78badb..36ac27cab9b 100644 --- a/sdk/python/pulumi_aws/organizations/get_organizational_unit.py +++ b/sdk/python/pulumi_aws/organizations/get_organizational_unit.py @@ -115,7 +115,7 @@ def get_organizational_unit(name: Optional[str] = None, parent_id=pulumi.get(__ret__, 'parent_id')) def get_organizational_unit_output(name: Optional[pulumi.Input[str]] = None, parent_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOrganizationalUnitResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrganizationalUnitResult]: """ Data source for getting an AWS Organizations Organizational Unit. @@ -139,7 +139,7 @@ def get_organizational_unit_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['parentId'] = parent_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:organizations/getOrganizationalUnit:getOrganizationalUnit', __args__, opts=opts, typ=GetOrganizationalUnitResult) return __ret__.apply(lambda __response__: GetOrganizationalUnitResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/organizations/get_organizational_unit_child_accounts.py b/sdk/python/pulumi_aws/organizations/get_organizational_unit_child_accounts.py index 621bec42576..197040ef1e2 100644 --- a/sdk/python/pulumi_aws/organizations/get_organizational_unit_child_accounts.py +++ b/sdk/python/pulumi_aws/organizations/get_organizational_unit_child_accounts.py @@ -99,7 +99,7 @@ def get_organizational_unit_child_accounts(parent_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), parent_id=pulumi.get(__ret__, 'parent_id')) def get_organizational_unit_child_accounts_output(parent_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOrganizationalUnitChildAccountsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrganizationalUnitChildAccountsResult]: """ Get all direct child accounts under a parent organizational unit. This only provides immediate children, not all children. @@ -118,7 +118,7 @@ def get_organizational_unit_child_accounts_output(parent_id: Optional[pulumi.Inp """ __args__ = dict() __args__['parentId'] = parent_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:organizations/getOrganizationalUnitChildAccounts:getOrganizationalUnitChildAccounts', __args__, opts=opts, typ=GetOrganizationalUnitChildAccountsResult) return __ret__.apply(lambda __response__: GetOrganizationalUnitChildAccountsResult( accounts=pulumi.get(__response__, 'accounts'), diff --git a/sdk/python/pulumi_aws/organizations/get_organizational_unit_descendant_accounts.py b/sdk/python/pulumi_aws/organizations/get_organizational_unit_descendant_accounts.py index f260913ba43..ac6eeeaff95 100644 --- a/sdk/python/pulumi_aws/organizations/get_organizational_unit_descendant_accounts.py +++ b/sdk/python/pulumi_aws/organizations/get_organizational_unit_descendant_accounts.py @@ -99,7 +99,7 @@ def get_organizational_unit_descendant_accounts(parent_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), parent_id=pulumi.get(__ret__, 'parent_id')) def get_organizational_unit_descendant_accounts_output(parent_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOrganizationalUnitDescendantAccountsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrganizationalUnitDescendantAccountsResult]: """ Get all direct child accounts under a parent organizational unit. This provides all children. @@ -118,7 +118,7 @@ def get_organizational_unit_descendant_accounts_output(parent_id: Optional[pulum """ __args__ = dict() __args__['parentId'] = parent_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:organizations/getOrganizationalUnitDescendantAccounts:getOrganizationalUnitDescendantAccounts', __args__, opts=opts, typ=GetOrganizationalUnitDescendantAccountsResult) return __ret__.apply(lambda __response__: GetOrganizationalUnitDescendantAccountsResult( accounts=pulumi.get(__response__, 'accounts'), diff --git a/sdk/python/pulumi_aws/organizations/get_organizational_unit_descendant_organizational_units.py b/sdk/python/pulumi_aws/organizations/get_organizational_unit_descendant_organizational_units.py index c172b942e50..1f7e782aaa2 100644 --- a/sdk/python/pulumi_aws/organizations/get_organizational_unit_descendant_organizational_units.py +++ b/sdk/python/pulumi_aws/organizations/get_organizational_unit_descendant_organizational_units.py @@ -99,7 +99,7 @@ def get_organizational_unit_descendant_organizational_units(parent_id: Optional[ id=pulumi.get(__ret__, 'id'), parent_id=pulumi.get(__ret__, 'parent_id')) def get_organizational_unit_descendant_organizational_units_output(parent_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOrganizationalUnitDescendantOrganizationalUnitsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrganizationalUnitDescendantOrganizationalUnitsResult]: """ Get all direct child organizational units under a parent organizational unit. This provides all children. @@ -118,7 +118,7 @@ def get_organizational_unit_descendant_organizational_units_output(parent_id: Op """ __args__ = dict() __args__['parentId'] = parent_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:organizations/getOrganizationalUnitDescendantOrganizationalUnits:getOrganizationalUnitDescendantOrganizationalUnits', __args__, opts=opts, typ=GetOrganizationalUnitDescendantOrganizationalUnitsResult) return __ret__.apply(lambda __response__: GetOrganizationalUnitDescendantOrganizationalUnitsResult( childrens=pulumi.get(__response__, 'childrens'), diff --git a/sdk/python/pulumi_aws/organizations/get_organizational_units.py b/sdk/python/pulumi_aws/organizations/get_organizational_units.py index 6a4566bd461..d695e65c87f 100644 --- a/sdk/python/pulumi_aws/organizations/get_organizational_units.py +++ b/sdk/python/pulumi_aws/organizations/get_organizational_units.py @@ -99,7 +99,7 @@ def get_organizational_units(parent_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), parent_id=pulumi.get(__ret__, 'parent_id')) def get_organizational_units_output(parent_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOrganizationalUnitsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrganizationalUnitsResult]: """ Get all direct child organizational units under a parent organizational unit. This only provides immediate children, not all children. @@ -118,7 +118,7 @@ def get_organizational_units_output(parent_id: Optional[pulumi.Input[str]] = Non """ __args__ = dict() __args__['parentId'] = parent_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:organizations/getOrganizationalUnits:getOrganizationalUnits', __args__, opts=opts, typ=GetOrganizationalUnitsResult) return __ret__.apply(lambda __response__: GetOrganizationalUnitsResult( children=pulumi.get(__response__, 'children'), diff --git a/sdk/python/pulumi_aws/organizations/get_policies.py b/sdk/python/pulumi_aws/organizations/get_policies.py index 0638e687b9b..4f5d0809ee5 100644 --- a/sdk/python/pulumi_aws/organizations/get_policies.py +++ b/sdk/python/pulumi_aws/organizations/get_policies.py @@ -90,7 +90,7 @@ def get_policies(filter: Optional[str] = None, id=pulumi.get(__ret__, 'id'), ids=pulumi.get(__ret__, 'ids')) def get_policies_output(filter: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPoliciesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPoliciesResult]: """ Data source for managing an AWS Organizations Policies. @@ -101,7 +101,7 @@ def get_policies_output(filter: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['filter'] = filter - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:organizations/getPolicies:getPolicies', __args__, opts=opts, typ=GetPoliciesResult) return __ret__.apply(lambda __response__: GetPoliciesResult( filter=pulumi.get(__response__, 'filter'), diff --git a/sdk/python/pulumi_aws/organizations/get_policies_for_target.py b/sdk/python/pulumi_aws/organizations/get_policies_for_target.py index d133416da42..88dee622760 100644 --- a/sdk/python/pulumi_aws/organizations/get_policies_for_target.py +++ b/sdk/python/pulumi_aws/organizations/get_policies_for_target.py @@ -104,7 +104,7 @@ def get_policies_for_target(filter: Optional[str] = None, target_id=pulumi.get(__ret__, 'target_id')) def get_policies_for_target_output(filter: Optional[pulumi.Input[str]] = None, target_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPoliciesForTargetResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPoliciesForTargetResult]: """ Data source for managing an AWS Organizations Policies For Target. @@ -117,7 +117,7 @@ def get_policies_for_target_output(filter: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['filter'] = filter __args__['targetId'] = target_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:organizations/getPoliciesForTarget:getPoliciesForTarget', __args__, opts=opts, typ=GetPoliciesForTargetResult) return __ret__.apply(lambda __response__: GetPoliciesForTargetResult( filter=pulumi.get(__response__, 'filter'), diff --git a/sdk/python/pulumi_aws/organizations/get_policy.py b/sdk/python/pulumi_aws/organizations/get_policy.py index 51446d9fa66..161910b2f90 100644 --- a/sdk/python/pulumi_aws/organizations/get_policy.py +++ b/sdk/python/pulumi_aws/organizations/get_policy.py @@ -155,7 +155,7 @@ def get_policy(policy_id: Optional[str] = None, policy_id=pulumi.get(__ret__, 'policy_id'), type=pulumi.get(__ret__, 'type')) def get_policy_output(policy_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPolicyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPolicyResult]: """ Data source for managing an AWS Organizations Policy. @@ -166,7 +166,7 @@ def get_policy_output(policy_id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['policyId'] = policy_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:organizations/getPolicy:getPolicy', __args__, opts=opts, typ=GetPolicyResult) return __ret__.apply(lambda __response__: GetPolicyResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/organizations/get_resource_tags.py b/sdk/python/pulumi_aws/organizations/get_resource_tags.py index ee67d79ede9..4662243790f 100644 --- a/sdk/python/pulumi_aws/organizations/get_resource_tags.py +++ b/sdk/python/pulumi_aws/organizations/get_resource_tags.py @@ -101,7 +101,7 @@ def get_resource_tags(resource_id: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_resource_tags_output(resource_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResourceTagsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResourceTagsResult]: """ Get tags attached to the specified AWS Organizations resource. @@ -121,7 +121,7 @@ def get_resource_tags_output(resource_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['resourceId'] = resource_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:organizations/getResourceTags:getResourceTags', __args__, opts=opts, typ=GetResourceTagsResult) return __ret__.apply(lambda __response__: GetResourceTagsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/outposts/get_asset.py b/sdk/python/pulumi_aws/outposts/get_asset.py index 046477cbbaa..de271fd73a4 100644 --- a/sdk/python/pulumi_aws/outposts/get_asset.py +++ b/sdk/python/pulumi_aws/outposts/get_asset.py @@ -141,7 +141,7 @@ def get_asset(arn: Optional[str] = None, rack_id=pulumi.get(__ret__, 'rack_id')) def get_asset_output(arn: Optional[pulumi.Input[str]] = None, asset_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAssetResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAssetResult]: """ Information about a specific hardware asset in an Outpost. @@ -152,7 +152,7 @@ def get_asset_output(arn: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['arn'] = arn __args__['assetId'] = asset_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:outposts/getAsset:getAsset', __args__, opts=opts, typ=GetAssetResult) return __ret__.apply(lambda __response__: GetAssetResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/outposts/get_assets.py b/sdk/python/pulumi_aws/outposts/get_assets.py index e4838b9e595..4cbf7214444 100644 --- a/sdk/python/pulumi_aws/outposts/get_assets.py +++ b/sdk/python/pulumi_aws/outposts/get_assets.py @@ -147,7 +147,7 @@ def get_assets(arn: Optional[str] = None, def get_assets_output(arn: Optional[pulumi.Input[str]] = None, host_id_filters: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, status_id_filters: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAssetsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAssetsResult]: """ Information about hardware assets in an Outpost. @@ -191,7 +191,7 @@ def get_assets_output(arn: Optional[pulumi.Input[str]] = None, __args__['arn'] = arn __args__['hostIdFilters'] = host_id_filters __args__['statusIdFilters'] = status_id_filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:outposts/getAssets:getAssets', __args__, opts=opts, typ=GetAssetsResult) return __ret__.apply(lambda __response__: GetAssetsResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/outposts/get_outpost.py b/sdk/python/pulumi_aws/outposts/get_outpost.py index 2e931475bb2..2fa372efea8 100644 --- a/sdk/python/pulumi_aws/outposts/get_outpost.py +++ b/sdk/python/pulumi_aws/outposts/get_outpost.py @@ -221,7 +221,7 @@ def get_outpost_output(arn: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, owner_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOutpostResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOutpostResult]: """ Provides details about an Outposts Outpost. @@ -247,7 +247,7 @@ def get_outpost_output(arn: Optional[pulumi.Input[Optional[str]]] = None, __args__['name'] = name __args__['ownerId'] = owner_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:outposts/getOutpost:getOutpost', __args__, opts=opts, typ=GetOutpostResult) return __ret__.apply(lambda __response__: GetOutpostResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/outposts/get_outpost_instance_type.py b/sdk/python/pulumi_aws/outposts/get_outpost_instance_type.py index 2228760b3c3..72d2ad048e1 100644 --- a/sdk/python/pulumi_aws/outposts/get_outpost_instance_type.py +++ b/sdk/python/pulumi_aws/outposts/get_outpost_instance_type.py @@ -119,7 +119,7 @@ def get_outpost_instance_type(arn: Optional[str] = None, def get_outpost_instance_type_output(arn: Optional[pulumi.Input[str]] = None, instance_type: Optional[pulumi.Input[Optional[str]]] = None, preferred_instance_types: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOutpostInstanceTypeResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOutpostInstanceTypeResult]: """ Information about single Outpost Instance Type. @@ -148,7 +148,7 @@ def get_outpost_instance_type_output(arn: Optional[pulumi.Input[str]] = None, __args__['arn'] = arn __args__['instanceType'] = instance_type __args__['preferredInstanceTypes'] = preferred_instance_types - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:outposts/getOutpostInstanceType:getOutpostInstanceType', __args__, opts=opts, typ=GetOutpostInstanceTypeResult) return __ret__.apply(lambda __response__: GetOutpostInstanceTypeResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/outposts/get_outpost_instance_types.py b/sdk/python/pulumi_aws/outposts/get_outpost_instance_types.py index 2375835c451..59a250cd35b 100644 --- a/sdk/python/pulumi_aws/outposts/get_outpost_instance_types.py +++ b/sdk/python/pulumi_aws/outposts/get_outpost_instance_types.py @@ -97,7 +97,7 @@ def get_outpost_instance_types(arn: Optional[str] = None, id=pulumi.get(__ret__, 'id'), instance_types=pulumi.get(__ret__, 'instance_types')) def get_outpost_instance_types_output(arn: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOutpostInstanceTypesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOutpostInstanceTypesResult]: """ Information about Outposts Instance Types. @@ -115,7 +115,7 @@ def get_outpost_instance_types_output(arn: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['arn'] = arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:outposts/getOutpostInstanceTypes:getOutpostInstanceTypes', __args__, opts=opts, typ=GetOutpostInstanceTypesResult) return __ret__.apply(lambda __response__: GetOutpostInstanceTypesResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/outposts/get_outposts.py b/sdk/python/pulumi_aws/outposts/get_outposts.py index 186d8830c0a..8d2b66ba7d6 100644 --- a/sdk/python/pulumi_aws/outposts/get_outposts.py +++ b/sdk/python/pulumi_aws/outposts/get_outposts.py @@ -152,7 +152,7 @@ def get_outposts_output(availability_zone: Optional[pulumi.Input[Optional[str]]] availability_zone_id: Optional[pulumi.Input[Optional[str]]] = None, owner_id: Optional[pulumi.Input[Optional[str]]] = None, site_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOutpostsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOutpostsResult]: """ Provides details about multiple Outposts. @@ -176,7 +176,7 @@ def get_outposts_output(availability_zone: Optional[pulumi.Input[Optional[str]]] __args__['availabilityZoneId'] = availability_zone_id __args__['ownerId'] = owner_id __args__['siteId'] = site_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:outposts/getOutposts:getOutposts', __args__, opts=opts, typ=GetOutpostsResult) return __ret__.apply(lambda __response__: GetOutpostsResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/outposts/get_site.py b/sdk/python/pulumi_aws/outposts/get_site.py index 6c2064c6551..1b69f9b0cd7 100644 --- a/sdk/python/pulumi_aws/outposts/get_site.py +++ b/sdk/python/pulumi_aws/outposts/get_site.py @@ -111,7 +111,7 @@ def get_site(id: Optional[str] = None, name=pulumi.get(__ret__, 'name')) def get_site_output(id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSiteResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSiteResult]: """ Provides details about an Outposts Site. @@ -131,7 +131,7 @@ def get_site_output(id: Optional[pulumi.Input[Optional[str]]] = None, __args__ = dict() __args__['id'] = id __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:outposts/getSite:getSite', __args__, opts=opts, typ=GetSiteResult) return __ret__.apply(lambda __response__: GetSiteResult( account_id=pulumi.get(__response__, 'account_id'), diff --git a/sdk/python/pulumi_aws/outposts/get_sites.py b/sdk/python/pulumi_aws/outposts/get_sites.py index 8026d9ebbf5..f480efe1543 100644 --- a/sdk/python/pulumi_aws/outposts/get_sites.py +++ b/sdk/python/pulumi_aws/outposts/get_sites.py @@ -81,7 +81,7 @@ def get_sites(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSitesR return AwaitableGetSitesResult( id=pulumi.get(__ret__, 'id'), ids=pulumi.get(__ret__, 'ids')) -def get_sites_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSitesResult]: +def get_sites_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSitesResult]: """ Provides details about multiple Outposts Sites. @@ -95,7 +95,7 @@ def get_sites_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOut ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:outposts/getSites:getSites', __args__, opts=opts, typ=GetSitesResult) return __ret__.apply(lambda __response__: GetSitesResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/polly/get_voices.py b/sdk/python/pulumi_aws/polly/get_voices.py index 3d2d0482595..5a82f81f46a 100644 --- a/sdk/python/pulumi_aws/polly/get_voices.py +++ b/sdk/python/pulumi_aws/polly/get_voices.py @@ -145,7 +145,7 @@ def get_voices_output(engine: Optional[pulumi.Input[Optional[str]]] = None, include_additional_language_codes: Optional[pulumi.Input[Optional[bool]]] = None, language_code: Optional[pulumi.Input[Optional[str]]] = None, voices: Optional[pulumi.Input[Optional[Sequence[Union['GetVoicesVoiceArgs', 'GetVoicesVoiceArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVoicesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVoicesResult]: """ Data source for managing an AWS Polly Voices. @@ -180,7 +180,7 @@ def get_voices_output(engine: Optional[pulumi.Input[Optional[str]]] = None, __args__['includeAdditionalLanguageCodes'] = include_additional_language_codes __args__['languageCode'] = language_code __args__['voices'] = voices - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:polly/getVoices:getVoices', __args__, opts=opts, typ=GetVoicesResult) return __ret__.apply(lambda __response__: GetVoicesResult( engine=pulumi.get(__response__, 'engine'), diff --git a/sdk/python/pulumi_aws/pricing/get_product.py b/sdk/python/pulumi_aws/pricing/get_product.py index 4fe5427722f..de435ff2085 100644 --- a/sdk/python/pulumi_aws/pricing/get_product.py +++ b/sdk/python/pulumi_aws/pricing/get_product.py @@ -161,7 +161,7 @@ def get_product(filters: Optional[Sequence[Union['GetProductFilterArgs', 'GetPro service_code=pulumi.get(__ret__, 'service_code')) def get_product_output(filters: Optional[pulumi.Input[Sequence[Union['GetProductFilterArgs', 'GetProductFilterArgsDict']]]] = None, service_code: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProductResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProductResult]: """ Use this data source to get the pricing information of all products in AWS. This data source is only available in a us-east-1 or ap-south-1 provider. @@ -229,7 +229,7 @@ def get_product_output(filters: Optional[pulumi.Input[Sequence[Union['GetProduct __args__ = dict() __args__['filters'] = filters __args__['serviceCode'] = service_code - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:pricing/getProduct:getProduct', __args__, opts=opts, typ=GetProductResult) return __ret__.apply(lambda __response__: GetProductResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/qldb/get_ledger.py b/sdk/python/pulumi_aws/qldb/get_ledger.py index 793ce054562..813c77e4e62 100644 --- a/sdk/python/pulumi_aws/qldb/get_ledger.py +++ b/sdk/python/pulumi_aws/qldb/get_ledger.py @@ -137,7 +137,7 @@ def get_ledger(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_ledger_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLedgerResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLedgerResult]: """ Use this data source to fetch information about a Quantum Ledger Database. @@ -156,7 +156,7 @@ def get_ledger_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:qldb/getLedger:getLedger', __args__, opts=opts, typ=GetLedgerResult) return __ret__.apply(lambda __response__: GetLedgerResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/quicksight/get_analysis.py b/sdk/python/pulumi_aws/quicksight/get_analysis.py index 57d66df06b7..c8b15efaad9 100644 --- a/sdk/python/pulumi_aws/quicksight/get_analysis.py +++ b/sdk/python/pulumi_aws/quicksight/get_analysis.py @@ -199,7 +199,7 @@ def get_analysis(analysis_id: Optional[str] = None, def get_analysis_output(analysis_id: Optional[pulumi.Input[str]] = None, aws_account_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAnalysisResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAnalysisResult]: """ Data source for managing an AWS QuickSight Analysis. @@ -225,7 +225,7 @@ def get_analysis_output(analysis_id: Optional[pulumi.Input[str]] = None, __args__['analysisId'] = analysis_id __args__['awsAccountId'] = aws_account_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:quicksight/getAnalysis:getAnalysis', __args__, opts=opts, typ=GetAnalysisResult) return __ret__.apply(lambda __response__: GetAnalysisResult( analysis_id=pulumi.get(__response__, 'analysis_id'), diff --git a/sdk/python/pulumi_aws/quicksight/get_data_set.py b/sdk/python/pulumi_aws/quicksight/get_data_set.py index 2beb070030e..5585ce83c23 100644 --- a/sdk/python/pulumi_aws/quicksight/get_data_set.py +++ b/sdk/python/pulumi_aws/quicksight/get_data_set.py @@ -250,7 +250,7 @@ def get_data_set_output(aws_account_id: Optional[pulumi.Input[Optional[str]]] = data_set_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, tags_all: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDataSetResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDataSetResult]: """ Data source for managing a QuickSight Data Set. @@ -276,7 +276,7 @@ def get_data_set_output(aws_account_id: Optional[pulumi.Input[Optional[str]]] = __args__['dataSetId'] = data_set_id __args__['tags'] = tags __args__['tagsAll'] = tags_all - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:quicksight/getDataSet:getDataSet', __args__, opts=opts, typ=GetDataSetResult) return __ret__.apply(lambda __response__: GetDataSetResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/quicksight/get_quicksight_analysis.py b/sdk/python/pulumi_aws/quicksight/get_quicksight_analysis.py index aa0f2c1f78b..6b80e06aae4 100644 --- a/sdk/python/pulumi_aws/quicksight/get_quicksight_analysis.py +++ b/sdk/python/pulumi_aws/quicksight/get_quicksight_analysis.py @@ -196,7 +196,7 @@ def get_quicksight_analysis(analysis_id: Optional[str] = None, def get_quicksight_analysis_output(analysis_id: Optional[pulumi.Input[str]] = None, aws_account_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetQuicksightAnalysisResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetQuicksightAnalysisResult]: """ Data source for managing an AWS QuickSight Analysis. @@ -221,7 +221,7 @@ def get_quicksight_analysis_output(analysis_id: Optional[pulumi.Input[str]] = No __args__['analysisId'] = analysis_id __args__['awsAccountId'] = aws_account_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:quicksight/getQuicksightAnalysis:getQuicksightAnalysis', __args__, opts=opts, typ=GetQuicksightAnalysisResult) return __ret__.apply(lambda __response__: GetQuicksightAnalysisResult( analysis_id=pulumi.get(__response__, 'analysis_id'), diff --git a/sdk/python/pulumi_aws/quicksight/get_quicksight_group.py b/sdk/python/pulumi_aws/quicksight/get_quicksight_group.py index 0b76b106469..80982799767 100644 --- a/sdk/python/pulumi_aws/quicksight/get_quicksight_group.py +++ b/sdk/python/pulumi_aws/quicksight/get_quicksight_group.py @@ -157,7 +157,7 @@ def get_quicksight_group(aws_account_id: Optional[str] = None, def get_quicksight_group_output(aws_account_id: Optional[pulumi.Input[Optional[str]]] = None, group_name: Optional[pulumi.Input[str]] = None, namespace: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetQuicksightGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetQuicksightGroupResult]: """ This data source can be used to fetch information about a specific QuickSight group. By using this data source, you can reference QuickSight group @@ -185,7 +185,7 @@ def get_quicksight_group_output(aws_account_id: Optional[pulumi.Input[Optional[s __args__['awsAccountId'] = aws_account_id __args__['groupName'] = group_name __args__['namespace'] = namespace - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:quicksight/getQuicksightGroup:getQuicksightGroup', __args__, opts=opts, typ=GetQuicksightGroupResult) return __ret__.apply(lambda __response__: GetQuicksightGroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/quicksight/get_quicksight_user.py b/sdk/python/pulumi_aws/quicksight/get_quicksight_user.py index 0052f2d7497..6b81fab4c3d 100644 --- a/sdk/python/pulumi_aws/quicksight/get_quicksight_user.py +++ b/sdk/python/pulumi_aws/quicksight/get_quicksight_user.py @@ -199,7 +199,7 @@ def get_quicksight_user(aws_account_id: Optional[str] = None, def get_quicksight_user_output(aws_account_id: Optional[pulumi.Input[Optional[str]]] = None, namespace: Optional[pulumi.Input[Optional[str]]] = None, user_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetQuicksightUserResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetQuicksightUserResult]: """ This data source can be used to fetch information about a specific QuickSight user. By using this data source, you can reference QuickSight user @@ -227,7 +227,7 @@ def get_quicksight_user_output(aws_account_id: Optional[pulumi.Input[Optional[st __args__['awsAccountId'] = aws_account_id __args__['namespace'] = namespace __args__['userName'] = user_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:quicksight/getQuicksightUser:getQuicksightUser', __args__, opts=opts, typ=GetQuicksightUserResult) return __ret__.apply(lambda __response__: GetQuicksightUserResult( active=pulumi.get(__response__, 'active'), diff --git a/sdk/python/pulumi_aws/quicksight/get_theme.py b/sdk/python/pulumi_aws/quicksight/get_theme.py index 3cd3084db04..ec6026449ac 100644 --- a/sdk/python/pulumi_aws/quicksight/get_theme.py +++ b/sdk/python/pulumi_aws/quicksight/get_theme.py @@ -250,7 +250,7 @@ def get_theme(aws_account_id: Optional[str] = None, def get_theme_output(aws_account_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, theme_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetThemeResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetThemeResult]: """ Data source for managing an AWS QuickSight Theme. @@ -276,7 +276,7 @@ def get_theme_output(aws_account_id: Optional[pulumi.Input[Optional[str]]] = Non __args__['awsAccountId'] = aws_account_id __args__['tags'] = tags __args__['themeId'] = theme_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:quicksight/getTheme:getTheme', __args__, opts=opts, typ=GetThemeResult) return __ret__.apply(lambda __response__: GetThemeResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ram/get_resource_share.py b/sdk/python/pulumi_aws/ram/get_resource_share.py index 17c1be758fd..5f53813f9dc 100644 --- a/sdk/python/pulumi_aws/ram/get_resource_share.py +++ b/sdk/python/pulumi_aws/ram/get_resource_share.py @@ -211,7 +211,7 @@ def get_resource_share_output(filters: Optional[pulumi.Input[Optional[Sequence[U resource_owner: Optional[pulumi.Input[str]] = None, resource_share_status: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResourceShareResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResourceShareResult]: """ `ram.ResourceShare` Retrieve information about a RAM Resource Share. @@ -251,7 +251,7 @@ def get_resource_share_output(filters: Optional[pulumi.Input[Optional[Sequence[U __args__['resourceOwner'] = resource_owner __args__['resourceShareStatus'] = resource_share_status __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ram/getResourceShare:getResourceShare', __args__, opts=opts, typ=GetResourceShareResult) return __ret__.apply(lambda __response__: GetResourceShareResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/rds/get_certificate.py b/sdk/python/pulumi_aws/rds/get_certificate.py index 915ca539827..2b05a344555 100644 --- a/sdk/python/pulumi_aws/rds/get_certificate.py +++ b/sdk/python/pulumi_aws/rds/get_certificate.py @@ -176,7 +176,7 @@ def get_certificate(id: Optional[str] = None, valid_till=pulumi.get(__ret__, 'valid_till')) def get_certificate_output(id: Optional[pulumi.Input[Optional[str]]] = None, latest_valid_till: Optional[pulumi.Input[Optional[bool]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCertificateResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCertificateResult]: """ Information about an RDS Certificate. @@ -196,7 +196,7 @@ def get_certificate_output(id: Optional[pulumi.Input[Optional[str]]] = None, __args__ = dict() __args__['id'] = id __args__['latestValidTill'] = latest_valid_till - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:rds/getCertificate:getCertificate', __args__, opts=opts, typ=GetCertificateResult) return __ret__.apply(lambda __response__: GetCertificateResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/rds/get_cluster.py b/sdk/python/pulumi_aws/rds/get_cluster.py index 3a9b7fa7aea..dcb798b7d36 100644 --- a/sdk/python/pulumi_aws/rds/get_cluster.py +++ b/sdk/python/pulumi_aws/rds/get_cluster.py @@ -402,7 +402,7 @@ def get_cluster(cluster_identifier: Optional[str] = None, vpc_security_group_ids=pulumi.get(__ret__, 'vpc_security_group_ids')) def get_cluster_output(cluster_identifier: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetClusterResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterResult]: """ Provides information about an RDS cluster. @@ -422,7 +422,7 @@ def get_cluster_output(cluster_identifier: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['clusterIdentifier'] = cluster_identifier __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:rds/getCluster:getCluster', __args__, opts=opts, typ=GetClusterResult) return __ret__.apply(lambda __response__: GetClusterResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/rds/get_cluster_parameter_group.py b/sdk/python/pulumi_aws/rds/get_cluster_parameter_group.py index 6ad78d83188..8e24eceedbc 100644 --- a/sdk/python/pulumi_aws/rds/get_cluster_parameter_group.py +++ b/sdk/python/pulumi_aws/rds/get_cluster_parameter_group.py @@ -123,7 +123,7 @@ def get_cluster_parameter_group(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_cluster_parameter_group_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetClusterParameterGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterParameterGroupResult]: """ Information about an RDS cluster parameter group. @@ -141,7 +141,7 @@ def get_cluster_parameter_group_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:rds/getClusterParameterGroup:getClusterParameterGroup', __args__, opts=opts, typ=GetClusterParameterGroupResult) return __ret__.apply(lambda __response__: GetClusterParameterGroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/rds/get_cluster_snapshot.py b/sdk/python/pulumi_aws/rds/get_cluster_snapshot.py index 3bf62671a02..6e8dea7345a 100644 --- a/sdk/python/pulumi_aws/rds/get_cluster_snapshot.py +++ b/sdk/python/pulumi_aws/rds/get_cluster_snapshot.py @@ -360,7 +360,7 @@ def get_cluster_snapshot_output(db_cluster_identifier: Optional[pulumi.Input[Opt most_recent: Optional[pulumi.Input[Optional[bool]]] = None, snapshot_type: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetClusterSnapshotResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterSnapshotResult]: """ Use this data source to get information about a DB Cluster Snapshot for use when provisioning DB clusters. @@ -410,7 +410,7 @@ def get_cluster_snapshot_output(db_cluster_identifier: Optional[pulumi.Input[Opt __args__['mostRecent'] = most_recent __args__['snapshotType'] = snapshot_type __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:rds/getClusterSnapshot:getClusterSnapshot', __args__, opts=opts, typ=GetClusterSnapshotResult) return __ret__.apply(lambda __response__: GetClusterSnapshotResult( allocated_storage=pulumi.get(__response__, 'allocated_storage'), diff --git a/sdk/python/pulumi_aws/rds/get_clusters.py b/sdk/python/pulumi_aws/rds/get_clusters.py index da85a5db4a1..3ece779c1ac 100644 --- a/sdk/python/pulumi_aws/rds/get_clusters.py +++ b/sdk/python/pulumi_aws/rds/get_clusters.py @@ -117,7 +117,7 @@ def get_clusters(filters: Optional[Sequence[Union['GetClustersFilterArgs', 'GetC filters=pulumi.get(__ret__, 'filters'), id=pulumi.get(__ret__, 'id')) def get_clusters_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetClustersFilterArgs', 'GetClustersFilterArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetClustersResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClustersResult]: """ Data source for managing an AWS RDS (Relational Database) Clusters. @@ -140,7 +140,7 @@ def get_clusters_output(filters: Optional[pulumi.Input[Optional[Sequence[Union[' """ __args__ = dict() __args__['filters'] = filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:rds/getClusters:getClusters', __args__, opts=opts, typ=GetClustersResult) return __ret__.apply(lambda __response__: GetClustersResult( cluster_arns=pulumi.get(__response__, 'cluster_arns'), diff --git a/sdk/python/pulumi_aws/rds/get_engine_version.py b/sdk/python/pulumi_aws/rds/get_engine_version.py index b96e7d753f7..cd97c88c4e9 100644 --- a/sdk/python/pulumi_aws/rds/get_engine_version.py +++ b/sdk/python/pulumi_aws/rds/get_engine_version.py @@ -496,7 +496,7 @@ def get_engine_version_output(default_only: Optional[pulumi.Input[Optional[bool] preferred_upgrade_targets: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, preferred_versions: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, version: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEngineVersionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEngineVersionResult]: """ Information about an RDS engine version. @@ -558,7 +558,7 @@ def get_engine_version_output(default_only: Optional[pulumi.Input[Optional[bool] __args__['preferredUpgradeTargets'] = preferred_upgrade_targets __args__['preferredVersions'] = preferred_versions __args__['version'] = version - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:rds/getEngineVersion:getEngineVersion', __args__, opts=opts, typ=GetEngineVersionResult) return __ret__.apply(lambda __response__: GetEngineVersionResult( default_character_set=pulumi.get(__response__, 'default_character_set'), diff --git a/sdk/python/pulumi_aws/rds/get_event_categories.py b/sdk/python/pulumi_aws/rds/get_event_categories.py index 143648950e3..aed27e01831 100644 --- a/sdk/python/pulumi_aws/rds/get_event_categories.py +++ b/sdk/python/pulumi_aws/rds/get_event_categories.py @@ -108,7 +108,7 @@ def get_event_categories(source_type: Optional[str] = None, id=pulumi.get(__ret__, 'id'), source_type=pulumi.get(__ret__, 'source_type')) def get_event_categories_output(source_type: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEventCategoriesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEventCategoriesResult]: """ ## Example Usage @@ -137,7 +137,7 @@ def get_event_categories_output(source_type: Optional[pulumi.Input[Optional[str] """ __args__ = dict() __args__['sourceType'] = source_type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:rds/getEventCategories:getEventCategories', __args__, opts=opts, typ=GetEventCategoriesResult) return __ret__.apply(lambda __response__: GetEventCategoriesResult( event_categories=pulumi.get(__response__, 'event_categories'), diff --git a/sdk/python/pulumi_aws/rds/get_instance.py b/sdk/python/pulumi_aws/rds/get_instance.py index 402c77a0217..9327c1e7738 100644 --- a/sdk/python/pulumi_aws/rds/get_instance.py +++ b/sdk/python/pulumi_aws/rds/get_instance.py @@ -619,7 +619,7 @@ def get_instance(db_instance_identifier: Optional[str] = None, vpc_security_groups=pulumi.get(__ret__, 'vpc_security_groups')) def get_instance_output(db_instance_identifier: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceResult]: """ Use this data source to get information about an RDS instance @@ -639,7 +639,7 @@ def get_instance_output(db_instance_identifier: Optional[pulumi.Input[Optional[s __args__ = dict() __args__['dbInstanceIdentifier'] = db_instance_identifier __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:rds/getInstance:getInstance', __args__, opts=opts, typ=GetInstanceResult) return __ret__.apply(lambda __response__: GetInstanceResult( address=pulumi.get(__response__, 'address'), diff --git a/sdk/python/pulumi_aws/rds/get_instances.py b/sdk/python/pulumi_aws/rds/get_instances.py index 5a3d305562a..4b27aaa5d63 100644 --- a/sdk/python/pulumi_aws/rds/get_instances.py +++ b/sdk/python/pulumi_aws/rds/get_instances.py @@ -142,7 +142,7 @@ def get_instances(filters: Optional[Sequence[Union['GetInstancesFilterArgs', 'Ge tags=pulumi.get(__ret__, 'tags')) def get_instances_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetInstancesFilterArgs', 'GetInstancesFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstancesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstancesResult]: """ Data source for listing RDS Database Instances. @@ -178,7 +178,7 @@ def get_instances_output(filters: Optional[pulumi.Input[Optional[Sequence[Union[ __args__ = dict() __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:rds/getInstances:getInstances', __args__, opts=opts, typ=GetInstancesResult) return __ret__.apply(lambda __response__: GetInstancesResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/rds/get_orderable_db_instance.py b/sdk/python/pulumi_aws/rds/get_orderable_db_instance.py index ead142a78a6..3037d7aadbe 100644 --- a/sdk/python/pulumi_aws/rds/get_orderable_db_instance.py +++ b/sdk/python/pulumi_aws/rds/get_orderable_db_instance.py @@ -537,7 +537,7 @@ def get_orderable_db_instance_output(availability_zone_group: Optional[pulumi.In supports_storage_autoscaling: Optional[pulumi.Input[Optional[bool]]] = None, supports_storage_encryption: Optional[pulumi.Input[Optional[bool]]] = None, vpc: Optional[pulumi.Input[Optional[bool]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOrderableDbInstanceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrderableDbInstanceResult]: """ Information about RDS orderable DB instances and valid parameter combinations. @@ -627,7 +627,7 @@ def get_orderable_db_instance_output(availability_zone_group: Optional[pulumi.In __args__['supportsStorageAutoscaling'] = supports_storage_autoscaling __args__['supportsStorageEncryption'] = supports_storage_encryption __args__['vpc'] = vpc - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:rds/getOrderableDbInstance:getOrderableDbInstance', __args__, opts=opts, typ=GetOrderableDbInstanceResult) return __ret__.apply(lambda __response__: GetOrderableDbInstanceResult( availability_zone_group=pulumi.get(__response__, 'availability_zone_group'), diff --git a/sdk/python/pulumi_aws/rds/get_parameter_group.py b/sdk/python/pulumi_aws/rds/get_parameter_group.py index 857193af365..0369cdf3a76 100644 --- a/sdk/python/pulumi_aws/rds/get_parameter_group.py +++ b/sdk/python/pulumi_aws/rds/get_parameter_group.py @@ -123,7 +123,7 @@ def get_parameter_group(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_parameter_group_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetParameterGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetParameterGroupResult]: """ Information about a database parameter group. @@ -141,7 +141,7 @@ def get_parameter_group_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:rds/getParameterGroup:getParameterGroup', __args__, opts=opts, typ=GetParameterGroupResult) return __ret__.apply(lambda __response__: GetParameterGroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/rds/get_proxy.py b/sdk/python/pulumi_aws/rds/get_proxy.py index d956bf853fb..ed9462f6f88 100644 --- a/sdk/python/pulumi_aws/rds/get_proxy.py +++ b/sdk/python/pulumi_aws/rds/get_proxy.py @@ -228,7 +228,7 @@ def get_proxy(name: Optional[str] = None, vpc_security_group_ids=pulumi.get(__ret__, 'vpc_security_group_ids'), vpc_subnet_ids=pulumi.get(__ret__, 'vpc_subnet_ids')) def get_proxy_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProxyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProxyResult]: """ Use this data source to get information about a DB Proxy. @@ -246,7 +246,7 @@ def get_proxy_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:rds/getProxy:getProxy', __args__, opts=opts, typ=GetProxyResult) return __ret__.apply(lambda __response__: GetProxyResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/rds/get_reserved_instance_offering.py b/sdk/python/pulumi_aws/rds/get_reserved_instance_offering.py index f188cfb486a..0bc74ee39e0 100644 --- a/sdk/python/pulumi_aws/rds/get_reserved_instance_offering.py +++ b/sdk/python/pulumi_aws/rds/get_reserved_instance_offering.py @@ -183,7 +183,7 @@ def get_reserved_instance_offering_output(db_instance_class: Optional[pulumi.Inp multi_az: Optional[pulumi.Input[bool]] = None, offering_type: Optional[pulumi.Input[str]] = None, product_description: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetReservedInstanceOfferingResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReservedInstanceOfferingResult]: """ Information about a single RDS Reserved Instance Offering. @@ -213,7 +213,7 @@ def get_reserved_instance_offering_output(db_instance_class: Optional[pulumi.Inp __args__['multiAz'] = multi_az __args__['offeringType'] = offering_type __args__['productDescription'] = product_description - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:rds/getReservedInstanceOffering:getReservedInstanceOffering', __args__, opts=opts, typ=GetReservedInstanceOfferingResult) return __ret__.apply(lambda __response__: GetReservedInstanceOfferingResult( currency_code=pulumi.get(__response__, 'currency_code'), diff --git a/sdk/python/pulumi_aws/rds/get_snapshot.py b/sdk/python/pulumi_aws/rds/get_snapshot.py index 04bc09943b5..0f19a957763 100644 --- a/sdk/python/pulumi_aws/rds/get_snapshot.py +++ b/sdk/python/pulumi_aws/rds/get_snapshot.py @@ -425,7 +425,7 @@ def get_snapshot_output(db_instance_identifier: Optional[pulumi.Input[Optional[s most_recent: Optional[pulumi.Input[Optional[bool]]] = None, snapshot_type: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSnapshotResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSnapshotResult]: """ Use this data source to get information about a DB Snapshot for use when provisioning DB instances @@ -481,7 +481,7 @@ def get_snapshot_output(db_instance_identifier: Optional[pulumi.Input[Optional[s __args__['mostRecent'] = most_recent __args__['snapshotType'] = snapshot_type __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:rds/getSnapshot:getSnapshot', __args__, opts=opts, typ=GetSnapshotResult) return __ret__.apply(lambda __response__: GetSnapshotResult( allocated_storage=pulumi.get(__response__, 'allocated_storage'), diff --git a/sdk/python/pulumi_aws/rds/get_subnet_group.py b/sdk/python/pulumi_aws/rds/get_subnet_group.py index 2fde6d1a600..bd227d9bbf1 100644 --- a/sdk/python/pulumi_aws/rds/get_subnet_group.py +++ b/sdk/python/pulumi_aws/rds/get_subnet_group.py @@ -162,7 +162,7 @@ def get_subnet_group(name: Optional[str] = None, supported_network_types=pulumi.get(__ret__, 'supported_network_types'), vpc_id=pulumi.get(__ret__, 'vpc_id')) def get_subnet_group_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSubnetGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSubnetGroupResult]: """ Use this data source to get information about an RDS subnet group. @@ -180,7 +180,7 @@ def get_subnet_group_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:rds/getSubnetGroup:getSubnetGroup', __args__, opts=opts, typ=GetSubnetGroupResult) return __ret__.apply(lambda __response__: GetSubnetGroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/redshift/get_cluster.py b/sdk/python/pulumi_aws/redshift/get_cluster.py index 0ca21a002e0..15613e645c9 100644 --- a/sdk/python/pulumi_aws/redshift/get_cluster.py +++ b/sdk/python/pulumi_aws/redshift/get_cluster.py @@ -587,7 +587,7 @@ def get_cluster(cluster_identifier: Optional[str] = None, vpc_security_group_ids=pulumi.get(__ret__, 'vpc_security_group_ids')) def get_cluster_output(cluster_identifier: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetClusterResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterResult]: """ Provides details about a specific redshift cluster. @@ -598,7 +598,7 @@ def get_cluster_output(cluster_identifier: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['clusterIdentifier'] = cluster_identifier __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:redshift/getCluster:getCluster', __args__, opts=opts, typ=GetClusterResult) return __ret__.apply(lambda __response__: GetClusterResult( allow_version_upgrade=pulumi.get(__response__, 'allow_version_upgrade'), diff --git a/sdk/python/pulumi_aws/redshift/get_cluster_credentials.py b/sdk/python/pulumi_aws/redshift/get_cluster_credentials.py index 6288002b22a..0bfa6492688 100644 --- a/sdk/python/pulumi_aws/redshift/get_cluster_credentials.py +++ b/sdk/python/pulumi_aws/redshift/get_cluster_credentials.py @@ -181,7 +181,7 @@ def get_cluster_credentials_output(auto_create: Optional[pulumi.Input[Optional[b db_name: Optional[pulumi.Input[Optional[str]]] = None, db_user: Optional[pulumi.Input[str]] = None, duration_seconds: Optional[pulumi.Input[Optional[int]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetClusterCredentialsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterCredentialsResult]: """ Provides redshift cluster temporary credentials. @@ -210,7 +210,7 @@ def get_cluster_credentials_output(auto_create: Optional[pulumi.Input[Optional[b __args__['dbName'] = db_name __args__['dbUser'] = db_user __args__['durationSeconds'] = duration_seconds - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:redshift/getClusterCredentials:getClusterCredentials', __args__, opts=opts, typ=GetClusterCredentialsResult) return __ret__.apply(lambda __response__: GetClusterCredentialsResult( auto_create=pulumi.get(__response__, 'auto_create'), diff --git a/sdk/python/pulumi_aws/redshift/get_data_shares.py b/sdk/python/pulumi_aws/redshift/get_data_shares.py index 6a3c2c2f178..b35eb263622 100644 --- a/sdk/python/pulumi_aws/redshift/get_data_shares.py +++ b/sdk/python/pulumi_aws/redshift/get_data_shares.py @@ -91,7 +91,7 @@ def get_data_shares(data_shares: Optional[Sequence[Union['GetDataSharesDataShare data_shares=pulumi.get(__ret__, 'data_shares'), id=pulumi.get(__ret__, 'id')) def get_data_shares_output(data_shares: Optional[pulumi.Input[Optional[Sequence[Union['GetDataSharesDataShareArgs', 'GetDataSharesDataShareArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDataSharesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDataSharesResult]: """ Data source for managing AWS Redshift Data Shares. @@ -111,7 +111,7 @@ def get_data_shares_output(data_shares: Optional[pulumi.Input[Optional[Sequence[ """ __args__ = dict() __args__['dataShares'] = data_shares - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:redshift/getDataShares:getDataShares', __args__, opts=opts, typ=GetDataSharesResult) return __ret__.apply(lambda __response__: GetDataSharesResult( data_shares=pulumi.get(__response__, 'data_shares'), diff --git a/sdk/python/pulumi_aws/redshift/get_orderable_cluster.py b/sdk/python/pulumi_aws/redshift/get_orderable_cluster.py index 82d02f29ce0..7dc4d810b91 100644 --- a/sdk/python/pulumi_aws/redshift/get_orderable_cluster.py +++ b/sdk/python/pulumi_aws/redshift/get_orderable_cluster.py @@ -143,7 +143,7 @@ def get_orderable_cluster_output(cluster_type: Optional[pulumi.Input[Optional[st cluster_version: Optional[pulumi.Input[Optional[str]]] = None, node_type: Optional[pulumi.Input[Optional[str]]] = None, preferred_node_types: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOrderableClusterResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrderableClusterResult]: """ Information about Redshift Orderable Clusters and valid parameter combinations. @@ -171,7 +171,7 @@ def get_orderable_cluster_output(cluster_type: Optional[pulumi.Input[Optional[st __args__['clusterVersion'] = cluster_version __args__['nodeType'] = node_type __args__['preferredNodeTypes'] = preferred_node_types - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:redshift/getOrderableCluster:getOrderableCluster', __args__, opts=opts, typ=GetOrderableClusterResult) return __ret__.apply(lambda __response__: GetOrderableClusterResult( availability_zones=pulumi.get(__response__, 'availability_zones'), diff --git a/sdk/python/pulumi_aws/redshift/get_producer_data_shares.py b/sdk/python/pulumi_aws/redshift/get_producer_data_shares.py index 234360945a5..c056722cae6 100644 --- a/sdk/python/pulumi_aws/redshift/get_producer_data_shares.py +++ b/sdk/python/pulumi_aws/redshift/get_producer_data_shares.py @@ -124,7 +124,7 @@ def get_producer_data_shares(data_shares: Optional[Sequence[Union['GetProducerDa def get_producer_data_shares_output(data_shares: Optional[pulumi.Input[Optional[Sequence[Union['GetProducerDataSharesDataShareArgs', 'GetProducerDataSharesDataShareArgsDict']]]]] = None, producer_arn: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProducerDataSharesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProducerDataSharesResult]: """ Data source for managing AWS Redshift Producer Data Shares. @@ -150,7 +150,7 @@ def get_producer_data_shares_output(data_shares: Optional[pulumi.Input[Optional[ __args__['dataShares'] = data_shares __args__['producerArn'] = producer_arn __args__['status'] = status - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:redshift/getProducerDataShares:getProducerDataShares', __args__, opts=opts, typ=GetProducerDataSharesResult) return __ret__.apply(lambda __response__: GetProducerDataSharesResult( data_shares=pulumi.get(__response__, 'data_shares'), diff --git a/sdk/python/pulumi_aws/redshift/get_service_account.py b/sdk/python/pulumi_aws/redshift/get_service_account.py index 14c6ef8dd12..9d948960de3 100644 --- a/sdk/python/pulumi_aws/redshift/get_service_account.py +++ b/sdk/python/pulumi_aws/redshift/get_service_account.py @@ -130,7 +130,7 @@ def get_service_account(region: Optional[str] = None, id=pulumi.get(__ret__, 'id'), region=pulumi.get(__ret__, 'region')) def get_service_account_output(region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServiceAccountResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServiceAccountResult]: """ Use this data source to get the Account ID of the [AWS Redshift Service Account](http://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-enable-logging) in a given region for the purpose of allowing Redshift to store audit data in S3. @@ -181,7 +181,7 @@ def get_service_account_output(region: Optional[pulumi.Input[Optional[str]]] = N """ __args__ = dict() __args__['region'] = region - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:redshift/getServiceAccount:getServiceAccount', __args__, opts=opts, typ=GetServiceAccountResult) return __ret__.apply(lambda __response__: GetServiceAccountResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/redshift/get_subnet_group.py b/sdk/python/pulumi_aws/redshift/get_subnet_group.py index 626b0d2e989..d7f7c5284fc 100644 --- a/sdk/python/pulumi_aws/redshift/get_subnet_group.py +++ b/sdk/python/pulumi_aws/redshift/get_subnet_group.py @@ -140,7 +140,7 @@ def get_subnet_group(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_subnet_group_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSubnetGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSubnetGroupResult]: """ Provides details about a specific redshift subnet group. @@ -160,7 +160,7 @@ def get_subnet_group_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:redshift/getSubnetGroup:getSubnetGroup', __args__, opts=opts, typ=GetSubnetGroupResult) return __ret__.apply(lambda __response__: GetSubnetGroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/redshiftserverless/get_credentials.py b/sdk/python/pulumi_aws/redshiftserverless/get_credentials.py index e13375f1a4b..e4e167e75e7 100644 --- a/sdk/python/pulumi_aws/redshiftserverless/get_credentials.py +++ b/sdk/python/pulumi_aws/redshiftserverless/get_credentials.py @@ -151,7 +151,7 @@ def get_credentials(db_name: Optional[str] = None, def get_credentials_output(db_name: Optional[pulumi.Input[Optional[str]]] = None, duration_seconds: Optional[pulumi.Input[Optional[int]]] = None, workgroup_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCredentialsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCredentialsResult]: """ Provides redshift serverless temporary credentials for a workgroup. @@ -173,7 +173,7 @@ def get_credentials_output(db_name: Optional[pulumi.Input[Optional[str]]] = None __args__['dbName'] = db_name __args__['durationSeconds'] = duration_seconds __args__['workgroupName'] = workgroup_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:redshiftserverless/getCredentials:getCredentials', __args__, opts=opts, typ=GetCredentialsResult) return __ret__.apply(lambda __response__: GetCredentialsResult( db_name=pulumi.get(__response__, 'db_name'), diff --git a/sdk/python/pulumi_aws/redshiftserverless/get_namespace.py b/sdk/python/pulumi_aws/redshiftserverless/get_namespace.py index dca8e2bfe45..6b54fa8a17a 100644 --- a/sdk/python/pulumi_aws/redshiftserverless/get_namespace.py +++ b/sdk/python/pulumi_aws/redshiftserverless/get_namespace.py @@ -188,7 +188,7 @@ def get_namespace(namespace_name: Optional[str] = None, namespace_id=pulumi.get(__ret__, 'namespace_id'), namespace_name=pulumi.get(__ret__, 'namespace_name')) def get_namespace_output(namespace_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNamespaceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNamespaceResult]: """ Data source for managing an AWS Redshift Serverless Namespace. @@ -206,7 +206,7 @@ def get_namespace_output(namespace_name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['namespaceName'] = namespace_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:redshiftserverless/getNamespace:getNamespace', __args__, opts=opts, typ=GetNamespaceResult) return __ret__.apply(lambda __response__: GetNamespaceResult( admin_username=pulumi.get(__response__, 'admin_username'), diff --git a/sdk/python/pulumi_aws/redshiftserverless/get_workgroup.py b/sdk/python/pulumi_aws/redshiftserverless/get_workgroup.py index 24dd51e469c..effd1b2e2f7 100644 --- a/sdk/python/pulumi_aws/redshiftserverless/get_workgroup.py +++ b/sdk/python/pulumi_aws/redshiftserverless/get_workgroup.py @@ -188,7 +188,7 @@ def get_workgroup(workgroup_name: Optional[str] = None, workgroup_id=pulumi.get(__ret__, 'workgroup_id'), workgroup_name=pulumi.get(__ret__, 'workgroup_name')) def get_workgroup_output(workgroup_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetWorkgroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWorkgroupResult]: """ Data source for managing an AWS Redshift Serverless Workgroup. @@ -208,7 +208,7 @@ def get_workgroup_output(workgroup_name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['workgroupName'] = workgroup_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:redshiftserverless/getWorkgroup:getWorkgroup', __args__, opts=opts, typ=GetWorkgroupResult) return __ret__.apply(lambda __response__: GetWorkgroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/resourceexplorer/search.py b/sdk/python/pulumi_aws/resourceexplorer/search.py index 32f59d8043d..d3fae86520b 100644 --- a/sdk/python/pulumi_aws/resourceexplorer/search.py +++ b/sdk/python/pulumi_aws/resourceexplorer/search.py @@ -130,7 +130,7 @@ def search(query_string: Optional[str] = None, view_arn=pulumi.get(__ret__, 'view_arn')) def search_output(query_string: Optional[pulumi.Input[str]] = None, view_arn: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[SearchResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[SearchResult]: """ Data source for managing an AWS Resource Explorer Search. @@ -155,7 +155,7 @@ def search_output(query_string: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['queryString'] = query_string __args__['viewArn'] = view_arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:resourceexplorer/search:Search', __args__, opts=opts, typ=SearchResult) return __ret__.apply(lambda __response__: SearchResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/resourcegroupstaggingapi/get_resources.py b/sdk/python/pulumi_aws/resourcegroupstaggingapi/get_resources.py index 079659eddbd..b307aa1894c 100644 --- a/sdk/python/pulumi_aws/resourcegroupstaggingapi/get_resources.py +++ b/sdk/python/pulumi_aws/resourcegroupstaggingapi/get_resources.py @@ -181,7 +181,7 @@ def get_resources_output(exclude_compliant_resources: Optional[pulumi.Input[Opti resource_arn_lists: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, resource_type_filters: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, tag_filters: Optional[pulumi.Input[Optional[Sequence[Union['GetResourcesTagFilterArgs', 'GetResourcesTagFilterArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResourcesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResourcesResult]: """ Provides details about resource tagging. @@ -233,7 +233,7 @@ def get_resources_output(exclude_compliant_resources: Optional[pulumi.Input[Opti __args__['resourceArnLists'] = resource_arn_lists __args__['resourceTypeFilters'] = resource_type_filters __args__['tagFilters'] = tag_filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:resourcegroupstaggingapi/getResources:getResources', __args__, opts=opts, typ=GetResourcesResult) return __ret__.apply(lambda __response__: GetResourcesResult( exclude_compliant_resources=pulumi.get(__response__, 'exclude_compliant_resources'), diff --git a/sdk/python/pulumi_aws/route53/get_delegation_set.py b/sdk/python/pulumi_aws/route53/get_delegation_set.py index 176502e8e81..66e47286aa1 100644 --- a/sdk/python/pulumi_aws/route53/get_delegation_set.py +++ b/sdk/python/pulumi_aws/route53/get_delegation_set.py @@ -107,7 +107,7 @@ def get_delegation_set(id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name_servers=pulumi.get(__ret__, 'name_servers')) def get_delegation_set_output(id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDelegationSetResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDelegationSetResult]: """ `route53.DelegationSet` provides details about a specific Route 53 Delegation Set. @@ -131,7 +131,7 @@ def get_delegation_set_output(id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['id'] = id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:route53/getDelegationSet:getDelegationSet', __args__, opts=opts, typ=GetDelegationSetResult) return __ret__.apply(lambda __response__: GetDelegationSetResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/route53/get_profiles_profiles.py b/sdk/python/pulumi_aws/route53/get_profiles_profiles.py index 52c3ab2505b..2a41c0b7a1b 100644 --- a/sdk/python/pulumi_aws/route53/get_profiles_profiles.py +++ b/sdk/python/pulumi_aws/route53/get_profiles_profiles.py @@ -84,7 +84,7 @@ def get_profiles_profiles(opts: Optional[pulumi.InvokeOptions] = None) -> Awaita return AwaitableGetProfilesProfilesResult( id=pulumi.get(__ret__, 'id'), profiles=pulumi.get(__ret__, 'profiles')) -def get_profiles_profiles_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProfilesProfilesResult]: +def get_profiles_profiles_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProfilesProfilesResult]: """ Data source for managing an AWS Route 53 Profiles. @@ -100,7 +100,7 @@ def get_profiles_profiles_output(opts: Optional[Union[pulumi.InvokeOptions, pulu ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:route53/getProfilesProfiles:getProfilesProfiles', __args__, opts=opts, typ=GetProfilesProfilesResult) return __ret__.apply(lambda __response__: GetProfilesProfilesResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/route53/get_query_log_config.py b/sdk/python/pulumi_aws/route53/get_query_log_config.py index 4f23ea8c225..6bd1b8a2b2e 100644 --- a/sdk/python/pulumi_aws/route53/get_query_log_config.py +++ b/sdk/python/pulumi_aws/route53/get_query_log_config.py @@ -190,7 +190,7 @@ def get_query_log_config_output(filters: Optional[pulumi.Input[Optional[Sequence name: Optional[pulumi.Input[Optional[str]]] = None, resolver_query_log_config_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetQueryLogConfigResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetQueryLogConfigResult]: """ `route53.ResolverQueryLogConfig` provides details about a specific Route53 Resolver Query Logging Configuration. @@ -236,7 +236,7 @@ def get_query_log_config_output(filters: Optional[pulumi.Input[Optional[Sequence __args__['name'] = name __args__['resolverQueryLogConfigId'] = resolver_query_log_config_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:route53/getQueryLogConfig:getQueryLogConfig', __args__, opts=opts, typ=GetQueryLogConfigResult) return __ret__.apply(lambda __response__: GetQueryLogConfigResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/route53/get_resolver_endpoint.py b/sdk/python/pulumi_aws/route53/get_resolver_endpoint.py index 0b09fd970e1..62660cd8c38 100644 --- a/sdk/python/pulumi_aws/route53/get_resolver_endpoint.py +++ b/sdk/python/pulumi_aws/route53/get_resolver_endpoint.py @@ -196,7 +196,7 @@ def get_resolver_endpoint(filters: Optional[Sequence[Union['GetResolverEndpointF vpc_id=pulumi.get(__ret__, 'vpc_id')) def get_resolver_endpoint_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetResolverEndpointFilterArgs', 'GetResolverEndpointFilterArgsDict']]]]] = None, resolver_endpoint_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResolverEndpointResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResolverEndpointResult]: """ `route53.ResolverEndpoint` provides details about a specific Route53 Resolver Endpoint. @@ -232,7 +232,7 @@ def get_resolver_endpoint_output(filters: Optional[pulumi.Input[Optional[Sequenc __args__ = dict() __args__['filters'] = filters __args__['resolverEndpointId'] = resolver_endpoint_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:route53/getResolverEndpoint:getResolverEndpoint', __args__, opts=opts, typ=GetResolverEndpointResult) return __ret__.apply(lambda __response__: GetResolverEndpointResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/route53/get_resolver_firewall_config.py b/sdk/python/pulumi_aws/route53/get_resolver_firewall_config.py index 84a8a3ee34d..bec8d2dbb14 100644 --- a/sdk/python/pulumi_aws/route53/get_resolver_firewall_config.py +++ b/sdk/python/pulumi_aws/route53/get_resolver_firewall_config.py @@ -110,7 +110,7 @@ def get_resolver_firewall_config(resource_id: Optional[str] = None, owner_id=pulumi.get(__ret__, 'owner_id'), resource_id=pulumi.get(__ret__, 'resource_id')) def get_resolver_firewall_config_output(resource_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResolverFirewallConfigResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResolverFirewallConfigResult]: """ `route53.ResolverFirewallConfig` provides details about a specific a Route 53 Resolver DNS Firewall config. @@ -134,7 +134,7 @@ def get_resolver_firewall_config_output(resource_id: Optional[pulumi.Input[str]] """ __args__ = dict() __args__['resourceId'] = resource_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:route53/getResolverFirewallConfig:getResolverFirewallConfig', __args__, opts=opts, typ=GetResolverFirewallConfigResult) return __ret__.apply(lambda __response__: GetResolverFirewallConfigResult( firewall_fail_open=pulumi.get(__response__, 'firewall_fail_open'), diff --git a/sdk/python/pulumi_aws/route53/get_resolver_firewall_domain_list.py b/sdk/python/pulumi_aws/route53/get_resolver_firewall_domain_list.py index 36a59932efc..3dcea2e4606 100644 --- a/sdk/python/pulumi_aws/route53/get_resolver_firewall_domain_list.py +++ b/sdk/python/pulumi_aws/route53/get_resolver_firewall_domain_list.py @@ -180,7 +180,7 @@ def get_resolver_firewall_domain_list(firewall_domain_list_id: Optional[str] = N status=pulumi.get(__ret__, 'status'), status_message=pulumi.get(__ret__, 'status_message')) def get_resolver_firewall_domain_list_output(firewall_domain_list_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResolverFirewallDomainListResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResolverFirewallDomainListResult]: """ `route53.ResolverFirewallDomainList` Retrieves the specified firewall domain list. @@ -204,7 +204,7 @@ def get_resolver_firewall_domain_list_output(firewall_domain_list_id: Optional[p """ __args__ = dict() __args__['firewallDomainListId'] = firewall_domain_list_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:route53/getResolverFirewallDomainList:getResolverFirewallDomainList', __args__, opts=opts, typ=GetResolverFirewallDomainListResult) return __ret__.apply(lambda __response__: GetResolverFirewallDomainListResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/route53/get_resolver_firewall_rule_group.py b/sdk/python/pulumi_aws/route53/get_resolver_firewall_rule_group.py index cccc6e5a9fa..6ffcdbf80bd 100644 --- a/sdk/python/pulumi_aws/route53/get_resolver_firewall_rule_group.py +++ b/sdk/python/pulumi_aws/route53/get_resolver_firewall_rule_group.py @@ -190,7 +190,7 @@ def get_resolver_firewall_rule_group(firewall_rule_group_id: Optional[str] = Non status=pulumi.get(__ret__, 'status'), status_message=pulumi.get(__ret__, 'status_message')) def get_resolver_firewall_rule_group_output(firewall_rule_group_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResolverFirewallRuleGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResolverFirewallRuleGroupResult]: """ `route53.ResolverFirewallRuleGroup` Retrieves the specified firewall rule group. @@ -214,7 +214,7 @@ def get_resolver_firewall_rule_group_output(firewall_rule_group_id: Optional[pul """ __args__ = dict() __args__['firewallRuleGroupId'] = firewall_rule_group_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:route53/getResolverFirewallRuleGroup:getResolverFirewallRuleGroup', __args__, opts=opts, typ=GetResolverFirewallRuleGroupResult) return __ret__.apply(lambda __response__: GetResolverFirewallRuleGroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/route53/get_resolver_firewall_rule_group_association.py b/sdk/python/pulumi_aws/route53/get_resolver_firewall_rule_group_association.py index 5b2fcbe5e55..8b54aa772ea 100644 --- a/sdk/python/pulumi_aws/route53/get_resolver_firewall_rule_group_association.py +++ b/sdk/python/pulumi_aws/route53/get_resolver_firewall_rule_group_association.py @@ -210,7 +210,7 @@ def get_resolver_firewall_rule_group_association(firewall_rule_group_association status_message=pulumi.get(__ret__, 'status_message'), vpc_id=pulumi.get(__ret__, 'vpc_id')) def get_resolver_firewall_rule_group_association_output(firewall_rule_group_association_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResolverFirewallRuleGroupAssociationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResolverFirewallRuleGroupAssociationResult]: """ `route53.ResolverFirewallRuleGroupAssociation` Retrieves the specified firewall rule group association. @@ -234,7 +234,7 @@ def get_resolver_firewall_rule_group_association_output(firewall_rule_group_asso """ __args__ = dict() __args__['firewallRuleGroupAssociationId'] = firewall_rule_group_association_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:route53/getResolverFirewallRuleGroupAssociation:getResolverFirewallRuleGroupAssociation', __args__, opts=opts, typ=GetResolverFirewallRuleGroupAssociationResult) return __ret__.apply(lambda __response__: GetResolverFirewallRuleGroupAssociationResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/route53/get_resolver_firewall_rules.py b/sdk/python/pulumi_aws/route53/get_resolver_firewall_rules.py index ef2d1b2b4d8..12e74202070 100644 --- a/sdk/python/pulumi_aws/route53/get_resolver_firewall_rules.py +++ b/sdk/python/pulumi_aws/route53/get_resolver_firewall_rules.py @@ -128,7 +128,7 @@ def get_resolver_firewall_rules(action: Optional[str] = None, def get_resolver_firewall_rules_output(action: Optional[pulumi.Input[Optional[str]]] = None, firewall_rule_group_id: Optional[pulumi.Input[str]] = None, priority: Optional[pulumi.Input[Optional[int]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResolverFirewallRulesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResolverFirewallRulesResult]: """ `route53_get_resolver_firewall_rules` Provides details about rules in a specific Route53 Resolver Firewall rule group. @@ -152,7 +152,7 @@ def get_resolver_firewall_rules_output(action: Optional[pulumi.Input[Optional[st __args__['action'] = action __args__['firewallRuleGroupId'] = firewall_rule_group_id __args__['priority'] = priority - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:route53/getResolverFirewallRules:getResolverFirewallRules', __args__, opts=opts, typ=GetResolverFirewallRulesResult) return __ret__.apply(lambda __response__: GetResolverFirewallRulesResult( action=pulumi.get(__response__, 'action'), diff --git a/sdk/python/pulumi_aws/route53/get_resolver_rule.py b/sdk/python/pulumi_aws/route53/get_resolver_rule.py index 9214b6df0ed..471f15cdadf 100644 --- a/sdk/python/pulumi_aws/route53/get_resolver_rule.py +++ b/sdk/python/pulumi_aws/route53/get_resolver_rule.py @@ -200,7 +200,7 @@ def get_resolver_rule_output(domain_name: Optional[pulumi.Input[Optional[str]]] resolver_rule_id: Optional[pulumi.Input[Optional[str]]] = None, rule_type: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResolverRuleResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResolverRuleResult]: """ `route53.ResolverRule` provides details about a specific Route53 Resolver rule. @@ -231,7 +231,7 @@ def get_resolver_rule_output(domain_name: Optional[pulumi.Input[Optional[str]]] __args__['resolverRuleId'] = resolver_rule_id __args__['ruleType'] = rule_type __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:route53/getResolverRule:getResolverRule', __args__, opts=opts, typ=GetResolverRuleResult) return __ret__.apply(lambda __response__: GetResolverRuleResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/route53/get_resolver_rules.py b/sdk/python/pulumi_aws/route53/get_resolver_rules.py index fd4055c1c8f..b00f1a780b4 100644 --- a/sdk/python/pulumi_aws/route53/get_resolver_rules.py +++ b/sdk/python/pulumi_aws/route53/get_resolver_rules.py @@ -180,7 +180,7 @@ def get_resolver_rules_output(name_regex: Optional[pulumi.Input[Optional[str]]] resolver_endpoint_id: Optional[pulumi.Input[Optional[str]]] = None, rule_type: Optional[pulumi.Input[Optional[str]]] = None, share_status: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResolverRulesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResolverRulesResult]: """ `route53_get_resolver_rules` provides details about a set of Route53 Resolver rules. @@ -233,7 +233,7 @@ def get_resolver_rules_output(name_regex: Optional[pulumi.Input[Optional[str]]] __args__['resolverEndpointId'] = resolver_endpoint_id __args__['ruleType'] = rule_type __args__['shareStatus'] = share_status - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:route53/getResolverRules:getResolverRules', __args__, opts=opts, typ=GetResolverRulesResult) return __ret__.apply(lambda __response__: GetResolverRulesResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/route53/get_traffic_policy_document.py b/sdk/python/pulumi_aws/route53/get_traffic_policy_document.py index 1057abfda41..5063672e27c 100644 --- a/sdk/python/pulumi_aws/route53/get_traffic_policy_document.py +++ b/sdk/python/pulumi_aws/route53/get_traffic_policy_document.py @@ -274,7 +274,7 @@ def get_traffic_policy_document_output(endpoints: Optional[pulumi.Input[Optional start_endpoint: Optional[pulumi.Input[Optional[str]]] = None, start_rule: Optional[pulumi.Input[Optional[str]]] = None, version: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTrafficPolicyDocumentResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTrafficPolicyDocumentResult]: """ Generates an Route53 traffic policy document in JSON format for use with resources that expect policy documents such as `route53.TrafficPolicy`. @@ -407,7 +407,7 @@ def get_traffic_policy_document_output(endpoints: Optional[pulumi.Input[Optional __args__['startEndpoint'] = start_endpoint __args__['startRule'] = start_rule __args__['version'] = version - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:route53/getTrafficPolicyDocument:getTrafficPolicyDocument', __args__, opts=opts, typ=GetTrafficPolicyDocumentResult) return __ret__.apply(lambda __response__: GetTrafficPolicyDocumentResult( endpoints=pulumi.get(__response__, 'endpoints'), diff --git a/sdk/python/pulumi_aws/route53/get_zone.py b/sdk/python/pulumi_aws/route53/get_zone.py index a87d7bac961..aa6be5f05d9 100644 --- a/sdk/python/pulumi_aws/route53/get_zone.py +++ b/sdk/python/pulumi_aws/route53/get_zone.py @@ -267,7 +267,7 @@ def get_zone_output(name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, vpc_id: Optional[pulumi.Input[Optional[str]]] = None, zone_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetZoneResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetZoneResult]: """ `route53.Zone` provides details about a specific Route 53 Hosted Zone. @@ -304,7 +304,7 @@ def get_zone_output(name: Optional[pulumi.Input[Optional[str]]] = None, __args__['tags'] = tags __args__['vpcId'] = vpc_id __args__['zoneId'] = zone_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:route53/getZone:getZone', __args__, opts=opts, typ=GetZoneResult) return __ret__.apply(lambda __response__: GetZoneResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/route53/get_zones.py b/sdk/python/pulumi_aws/route53/get_zones.py index 3f269d7eea1..f00425f332a 100644 --- a/sdk/python/pulumi_aws/route53/get_zones.py +++ b/sdk/python/pulumi_aws/route53/get_zones.py @@ -81,7 +81,7 @@ def get_zones(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetZonesR return AwaitableGetZonesResult( id=pulumi.get(__ret__, 'id'), ids=pulumi.get(__ret__, 'ids')) -def get_zones_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetZonesResult]: +def get_zones_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetZonesResult]: """ This resource can be useful for getting back a list of Route53 Hosted Zone IDs for a Region. @@ -98,7 +98,7 @@ def get_zones_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOut ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:route53/getZones:getZones', __args__, opts=opts, typ=GetZonesResult) return __ret__.apply(lambda __response__: GetZonesResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/s3/get_account_public_access_block.py b/sdk/python/pulumi_aws/s3/get_account_public_access_block.py index 0c4ec8866e8..2d79dc3768a 100644 --- a/sdk/python/pulumi_aws/s3/get_account_public_access_block.py +++ b/sdk/python/pulumi_aws/s3/get_account_public_access_block.py @@ -136,7 +136,7 @@ def get_account_public_access_block(account_id: Optional[str] = None, ignore_public_acls=pulumi.get(__ret__, 'ignore_public_acls'), restrict_public_buckets=pulumi.get(__ret__, 'restrict_public_buckets')) def get_account_public_access_block_output(account_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAccountPublicAccessBlockResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAccountPublicAccessBlockResult]: """ The S3 account public access block data source returns account-level public access block configuration. @@ -154,7 +154,7 @@ def get_account_public_access_block_output(account_id: Optional[pulumi.Input[Opt """ __args__ = dict() __args__['accountId'] = account_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:s3/getAccountPublicAccessBlock:getAccountPublicAccessBlock', __args__, opts=opts, typ=GetAccountPublicAccessBlockResult) return __ret__.apply(lambda __response__: GetAccountPublicAccessBlockResult( account_id=pulumi.get(__response__, 'account_id'), diff --git a/sdk/python/pulumi_aws/s3/get_bucket.py b/sdk/python/pulumi_aws/s3/get_bucket.py index 6e005a1404b..0ee2772633a 100644 --- a/sdk/python/pulumi_aws/s3/get_bucket.py +++ b/sdk/python/pulumi_aws/s3/get_bucket.py @@ -202,7 +202,7 @@ def get_bucket(bucket: Optional[str] = None, website_domain=pulumi.get(__ret__, 'website_domain'), website_endpoint=pulumi.get(__ret__, 'website_endpoint')) def get_bucket_output(bucket: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBucketResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBucketResult]: """ Provides details about a specific S3 bucket. @@ -247,7 +247,7 @@ def get_bucket_output(bucket: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['bucket'] = bucket - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:s3/getBucket:getBucket', __args__, opts=opts, typ=GetBucketResult) return __ret__.apply(lambda __response__: GetBucketResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/s3/get_bucket_object.py b/sdk/python/pulumi_aws/s3/get_bucket_object.py index 63ad1e66e44..f69c6c08d0a 100644 --- a/sdk/python/pulumi_aws/s3/get_bucket_object.py +++ b/sdk/python/pulumi_aws/s3/get_bucket_object.py @@ -463,7 +463,7 @@ def get_bucket_object_output(bucket: Optional[pulumi.Input[str]] = None, range: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, version_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBucketObjectResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBucketObjectResult]: """ > **NOTE:** The `s3.BucketObject` data source is DEPRECATED and will be removed in a future version! Use `s3.BucketObjectv2` instead, where new features and fixes will be added. @@ -535,7 +535,7 @@ def get_bucket_object_output(bucket: Optional[pulumi.Input[str]] = None, __args__['range'] = range __args__['tags'] = tags __args__['versionId'] = version_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:s3/getBucketObject:getBucketObject', __args__, opts=opts, typ=GetBucketObjectResult) return __ret__.apply(lambda __response__: GetBucketObjectResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/s3/get_bucket_objects.py b/sdk/python/pulumi_aws/s3/get_bucket_objects.py index d0cc0c766bc..d05136c61cd 100644 --- a/sdk/python/pulumi_aws/s3/get_bucket_objects.py +++ b/sdk/python/pulumi_aws/s3/get_bucket_objects.py @@ -203,7 +203,7 @@ def get_bucket_objects_output(bucket: Optional[pulumi.Input[str]] = None, max_keys: Optional[pulumi.Input[Optional[int]]] = None, prefix: Optional[pulumi.Input[Optional[str]]] = None, start_after: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBucketObjectsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBucketObjectsResult]: """ > **NOTE:** The `s3_get_bucket_objects` data source is DEPRECATED and will be removed in a future version! Use `s3_get_objects` instead, where new features and fixes will be added. @@ -228,7 +228,7 @@ def get_bucket_objects_output(bucket: Optional[pulumi.Input[str]] = None, __args__['maxKeys'] = max_keys __args__['prefix'] = prefix __args__['startAfter'] = start_after - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:s3/getBucketObjects:getBucketObjects', __args__, opts=opts, typ=GetBucketObjectsResult) return __ret__.apply(lambda __response__: GetBucketObjectsResult( bucket=pulumi.get(__response__, 'bucket'), diff --git a/sdk/python/pulumi_aws/s3/get_bucket_policy.py b/sdk/python/pulumi_aws/s3/get_bucket_policy.py index 71643ef5eff..59ed0519920 100644 --- a/sdk/python/pulumi_aws/s3/get_bucket_policy.py +++ b/sdk/python/pulumi_aws/s3/get_bucket_policy.py @@ -100,7 +100,7 @@ def get_bucket_policy(bucket: Optional[str] = None, id=pulumi.get(__ret__, 'id'), policy=pulumi.get(__ret__, 'policy')) def get_bucket_policy_output(bucket: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBucketPolicyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBucketPolicyResult]: """ The bucket policy data source returns IAM policy of an S3 bucket. @@ -121,7 +121,7 @@ def get_bucket_policy_output(bucket: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['bucket'] = bucket - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:s3/getBucketPolicy:getBucketPolicy', __args__, opts=opts, typ=GetBucketPolicyResult) return __ret__.apply(lambda __response__: GetBucketPolicyResult( bucket=pulumi.get(__response__, 'bucket'), diff --git a/sdk/python/pulumi_aws/s3/get_canonical_user_id.py b/sdk/python/pulumi_aws/s3/get_canonical_user_id.py index ed175a44f1d..9ef388155d0 100644 --- a/sdk/python/pulumi_aws/s3/get_canonical_user_id.py +++ b/sdk/python/pulumi_aws/s3/get_canonical_user_id.py @@ -85,7 +85,7 @@ def get_canonical_user_id(opts: Optional[pulumi.InvokeOptions] = None) -> Awaita return AwaitableGetCanonicalUserIdResult( display_name=pulumi.get(__ret__, 'display_name'), id=pulumi.get(__ret__, 'id')) -def get_canonical_user_id_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCanonicalUserIdResult]: +def get_canonical_user_id_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCanonicalUserIdResult]: """ The Canonical User ID data source allows access to the [canonical user ID](http://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) for the effective account in which this provider is working. @@ -103,7 +103,7 @@ def get_canonical_user_id_output(opts: Optional[Union[pulumi.InvokeOptions, pulu ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:s3/getCanonicalUserId:getCanonicalUserId', __args__, opts=opts, typ=GetCanonicalUserIdResult) return __ret__.apply(lambda __response__: GetCanonicalUserIdResult( display_name=pulumi.get(__response__, 'display_name'), diff --git a/sdk/python/pulumi_aws/s3/get_directory_buckets.py b/sdk/python/pulumi_aws/s3/get_directory_buckets.py index ccaf812ec1f..88948bf9315 100644 --- a/sdk/python/pulumi_aws/s3/get_directory_buckets.py +++ b/sdk/python/pulumi_aws/s3/get_directory_buckets.py @@ -91,7 +91,7 @@ def get_directory_buckets(opts: Optional[pulumi.InvokeOptions] = None) -> Awaita arns=pulumi.get(__ret__, 'arns'), buckets=pulumi.get(__ret__, 'buckets'), id=pulumi.get(__ret__, 'id')) -def get_directory_buckets_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDirectoryBucketsResult]: +def get_directory_buckets_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDirectoryBucketsResult]: """ Lists Amazon S3 Express directory buckets. @@ -105,7 +105,7 @@ def get_directory_buckets_output(opts: Optional[Union[pulumi.InvokeOptions, pulu ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:s3/getDirectoryBuckets:getDirectoryBuckets', __args__, opts=opts, typ=GetDirectoryBucketsResult) return __ret__.apply(lambda __response__: GetDirectoryBucketsResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/s3/get_object.py b/sdk/python/pulumi_aws/s3/get_object.py index 3a4573c4dd0..9be05165145 100644 --- a/sdk/python/pulumi_aws/s3/get_object.py +++ b/sdk/python/pulumi_aws/s3/get_object.py @@ -529,7 +529,7 @@ def get_object_output(bucket: Optional[pulumi.Input[str]] = None, range: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, version_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetObjectResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetObjectResult]: """ The S3 object data source allows access to the metadata and _optionally_ (see below) content of an object stored inside S3 bucket. @@ -601,7 +601,7 @@ def get_object_output(bucket: Optional[pulumi.Input[str]] = None, __args__['range'] = range __args__['tags'] = tags __args__['versionId'] = version_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:s3/getObject:getObject', __args__, opts=opts, typ=GetObjectResult) return __ret__.apply(lambda __response__: GetObjectResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/s3/get_objects.py b/sdk/python/pulumi_aws/s3/get_objects.py index a99e781775a..8bf649a8a9b 100644 --- a/sdk/python/pulumi_aws/s3/get_objects.py +++ b/sdk/python/pulumi_aws/s3/get_objects.py @@ -227,7 +227,7 @@ def get_objects_output(bucket: Optional[pulumi.Input[str]] = None, prefix: Optional[pulumi.Input[Optional[str]]] = None, request_payer: Optional[pulumi.Input[Optional[str]]] = None, start_after: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetObjectsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetObjectsResult]: """ > **NOTE on `max_keys`:** Retrieving very large numbers of keys can adversely affect the provider's performance. @@ -252,7 +252,7 @@ def get_objects_output(bucket: Optional[pulumi.Input[str]] = None, __args__['prefix'] = prefix __args__['requestPayer'] = request_payer __args__['startAfter'] = start_after - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:s3/getObjects:getObjects', __args__, opts=opts, typ=GetObjectsResult) return __ret__.apply(lambda __response__: GetObjectsResult( bucket=pulumi.get(__response__, 'bucket'), diff --git a/sdk/python/pulumi_aws/s3control/get_multi_region_access_point.py b/sdk/python/pulumi_aws/s3control/get_multi_region_access_point.py index ffbbe3ed052..bf2c81d0587 100644 --- a/sdk/python/pulumi_aws/s3control/get_multi_region_access_point.py +++ b/sdk/python/pulumi_aws/s3control/get_multi_region_access_point.py @@ -190,7 +190,7 @@ def get_multi_region_access_point(account_id: Optional[str] = None, status=pulumi.get(__ret__, 'status')) def get_multi_region_access_point_output(account_id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetMultiRegionAccessPointResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMultiRegionAccessPointResult]: """ Provides details on a specific S3 Multi-Region Access Point. @@ -210,7 +210,7 @@ def get_multi_region_access_point_output(account_id: Optional[pulumi.Input[Optio __args__ = dict() __args__['accountId'] = account_id __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:s3control/getMultiRegionAccessPoint:getMultiRegionAccessPoint', __args__, opts=opts, typ=GetMultiRegionAccessPointResult) return __ret__.apply(lambda __response__: GetMultiRegionAccessPointResult( account_id=pulumi.get(__response__, 'account_id'), diff --git a/sdk/python/pulumi_aws/sagemaker/get_prebuilt_ecr_image.py b/sdk/python/pulumi_aws/sagemaker/get_prebuilt_ecr_image.py index 79b90dbdaf4..4afd2cf43f1 100644 --- a/sdk/python/pulumi_aws/sagemaker/get_prebuilt_ecr_image.py +++ b/sdk/python/pulumi_aws/sagemaker/get_prebuilt_ecr_image.py @@ -157,7 +157,7 @@ def get_prebuilt_ecr_image_output(dns_suffix: Optional[pulumi.Input[Optional[str image_tag: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, repository_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPrebuiltEcrImageResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPrebuiltEcrImageResult]: """ Get information about prebuilt Amazon SageMaker Docker images. @@ -186,7 +186,7 @@ def get_prebuilt_ecr_image_output(dns_suffix: Optional[pulumi.Input[Optional[str __args__['imageTag'] = image_tag __args__['region'] = region __args__['repositoryName'] = repository_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:sagemaker/getPrebuiltEcrImage:getPrebuiltEcrImage', __args__, opts=opts, typ=GetPrebuiltEcrImageResult) return __ret__.apply(lambda __response__: GetPrebuiltEcrImageResult( dns_suffix=pulumi.get(__response__, 'dns_suffix'), diff --git a/sdk/python/pulumi_aws/secretsmanager/get_random_password.py b/sdk/python/pulumi_aws/secretsmanager/get_random_password.py index b6cc731cad7..0150bb0526d 100644 --- a/sdk/python/pulumi_aws/secretsmanager/get_random_password.py +++ b/sdk/python/pulumi_aws/secretsmanager/get_random_password.py @@ -196,7 +196,7 @@ def get_random_password_output(exclude_characters: Optional[pulumi.Input[Optiona include_space: Optional[pulumi.Input[Optional[bool]]] = None, password_length: Optional[pulumi.Input[Optional[int]]] = None, require_each_included_type: Optional[pulumi.Input[Optional[bool]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRandomPasswordResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRandomPasswordResult]: """ Generate a random password. @@ -229,7 +229,7 @@ def get_random_password_output(exclude_characters: Optional[pulumi.Input[Optiona __args__['includeSpace'] = include_space __args__['passwordLength'] = password_length __args__['requireEachIncludedType'] = require_each_included_type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:secretsmanager/getRandomPassword:getRandomPassword', __args__, opts=opts, typ=GetRandomPasswordResult) return __ret__.apply(lambda __response__: GetRandomPasswordResult( exclude_characters=pulumi.get(__response__, 'exclude_characters'), diff --git a/sdk/python/pulumi_aws/secretsmanager/get_secret.py b/sdk/python/pulumi_aws/secretsmanager/get_secret.py index e62652a3ccb..f0bada216ad 100644 --- a/sdk/python/pulumi_aws/secretsmanager/get_secret.py +++ b/sdk/python/pulumi_aws/secretsmanager/get_secret.py @@ -194,7 +194,7 @@ def get_secret(arn: Optional[str] = None, def get_secret_output(arn: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecretResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecretResult]: """ Retrieve metadata information about a Secrets Manager secret. To retrieve a secret value, see the `secretsmanager.SecretVersion` data source. @@ -227,7 +227,7 @@ def get_secret_output(arn: Optional[pulumi.Input[Optional[str]]] = None, __args__['arn'] = arn __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:secretsmanager/getSecret:getSecret', __args__, opts=opts, typ=GetSecretResult) return __ret__.apply(lambda __response__: GetSecretResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/secretsmanager/get_secret_rotation.py b/sdk/python/pulumi_aws/secretsmanager/get_secret_rotation.py index dc14266ba05..d373660be5f 100644 --- a/sdk/python/pulumi_aws/secretsmanager/get_secret_rotation.py +++ b/sdk/python/pulumi_aws/secretsmanager/get_secret_rotation.py @@ -126,7 +126,7 @@ def get_secret_rotation(secret_id: Optional[str] = None, rotation_rules=pulumi.get(__ret__, 'rotation_rules'), secret_id=pulumi.get(__ret__, 'secret_id')) def get_secret_rotation_output(secret_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecretRotationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecretRotationResult]: """ Retrieve information about a Secrets Manager secret rotation. To retrieve secret metadata, see the `secretsmanager.Secret` data source. To retrieve a secret value, see the `secretsmanager.SecretVersion` data source. @@ -146,7 +146,7 @@ def get_secret_rotation_output(secret_id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['secretId'] = secret_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:secretsmanager/getSecretRotation:getSecretRotation', __args__, opts=opts, typ=GetSecretRotationResult) return __ret__.apply(lambda __response__: GetSecretRotationResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/secretsmanager/get_secret_version.py b/sdk/python/pulumi_aws/secretsmanager/get_secret_version.py index dfaf3bedb99..7aa5a9a2c72 100644 --- a/sdk/python/pulumi_aws/secretsmanager/get_secret_version.py +++ b/sdk/python/pulumi_aws/secretsmanager/get_secret_version.py @@ -191,7 +191,7 @@ def get_secret_version(secret_id: Optional[str] = None, def get_secret_version_output(secret_id: Optional[pulumi.Input[str]] = None, version_id: Optional[pulumi.Input[Optional[str]]] = None, version_stage: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecretVersionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecretVersionResult]: """ Retrieve information about a Secrets Manager secret version, including its secret value. To retrieve secret metadata, see the `secretsmanager.Secret` data source. @@ -227,7 +227,7 @@ def get_secret_version_output(secret_id: Optional[pulumi.Input[str]] = None, __args__['secretId'] = secret_id __args__['versionId'] = version_id __args__['versionStage'] = version_stage - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:secretsmanager/getSecretVersion:getSecretVersion', __args__, opts=opts, typ=GetSecretVersionResult) return __ret__.apply(lambda __response__: GetSecretVersionResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/secretsmanager/get_secret_versions.py b/sdk/python/pulumi_aws/secretsmanager/get_secret_versions.py index 34cd148b015..53cc5eb4743 100644 --- a/sdk/python/pulumi_aws/secretsmanager/get_secret_versions.py +++ b/sdk/python/pulumi_aws/secretsmanager/get_secret_versions.py @@ -126,7 +126,7 @@ def get_secret_versions(include_deprecated: Optional[bool] = None, versions=pulumi.get(__ret__, 'versions')) def get_secret_versions_output(include_deprecated: Optional[pulumi.Input[Optional[bool]]] = None, secret_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecretVersionsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecretVersionsResult]: """ Use this data source to access information about an existing resource. @@ -137,7 +137,7 @@ def get_secret_versions_output(include_deprecated: Optional[pulumi.Input[Optiona __args__ = dict() __args__['includeDeprecated'] = include_deprecated __args__['secretId'] = secret_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:secretsmanager/getSecretVersions:getSecretVersions', __args__, opts=opts, typ=GetSecretVersionsResult) return __ret__.apply(lambda __response__: GetSecretVersionsResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/secretsmanager/get_secrets.py b/sdk/python/pulumi_aws/secretsmanager/get_secrets.py index 7a202bb9530..c07cc798469 100644 --- a/sdk/python/pulumi_aws/secretsmanager/get_secrets.py +++ b/sdk/python/pulumi_aws/secretsmanager/get_secrets.py @@ -115,7 +115,7 @@ def get_secrets(filters: Optional[Sequence[Union['GetSecretsFilterArgs', 'GetSec id=pulumi.get(__ret__, 'id'), names=pulumi.get(__ret__, 'names')) def get_secrets_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetSecretsFilterArgs', 'GetSecretsFilterArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecretsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecretsResult]: """ Use this data source to get the ARNs and names of Secrets Manager secrets matching the specified criteria. @@ -136,7 +136,7 @@ def get_secrets_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['G """ __args__ = dict() __args__['filters'] = filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:secretsmanager/getSecrets:getSecrets', __args__, opts=opts, typ=GetSecretsResult) return __ret__.apply(lambda __response__: GetSecretsResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/securityhub/get_standards_control_associations.py b/sdk/python/pulumi_aws/securityhub/get_standards_control_associations.py index ca36ec28ca1..5a8b673e396 100644 --- a/sdk/python/pulumi_aws/securityhub/get_standards_control_associations.py +++ b/sdk/python/pulumi_aws/securityhub/get_standards_control_associations.py @@ -102,7 +102,7 @@ def get_standards_control_associations(security_control_id: Optional[str] = None security_control_id=pulumi.get(__ret__, 'security_control_id'), standards_control_associations=pulumi.get(__ret__, 'standards_control_associations')) def get_standards_control_associations_output(security_control_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetStandardsControlAssociationsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetStandardsControlAssociationsResult]: """ Data source for managing an AWS Security Hub Standards Control Associations. @@ -123,7 +123,7 @@ def get_standards_control_associations_output(security_control_id: Optional[pulu """ __args__ = dict() __args__['securityControlId'] = security_control_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations', __args__, opts=opts, typ=GetStandardsControlAssociationsResult) return __ret__.apply(lambda __response__: GetStandardsControlAssociationsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/serverlessrepository/get_application.py b/sdk/python/pulumi_aws/serverlessrepository/get_application.py index 570b1838c22..40c460515bf 100644 --- a/sdk/python/pulumi_aws/serverlessrepository/get_application.py +++ b/sdk/python/pulumi_aws/serverlessrepository/get_application.py @@ -158,7 +158,7 @@ def get_application(application_id: Optional[str] = None, template_url=pulumi.get(__ret__, 'template_url')) def get_application_output(application_id: Optional[pulumi.Input[str]] = None, semantic_version: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetApplicationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApplicationResult]: """ Use this data source to get information about an AWS Serverless Application Repository application. For example, this can be used to determine the required `capabilities` for an application. @@ -183,7 +183,7 @@ def get_application_output(application_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['applicationId'] = application_id __args__['semanticVersion'] = semantic_version - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:serverlessrepository/getApplication:getApplication', __args__, opts=opts, typ=GetApplicationResult) return __ret__.apply(lambda __response__: GetApplicationResult( application_id=pulumi.get(__response__, 'application_id'), diff --git a/sdk/python/pulumi_aws/servicecatalog/get_appregistry_application.py b/sdk/python/pulumi_aws/servicecatalog/get_appregistry_application.py index 9df0943df4b..169b74c6854 100644 --- a/sdk/python/pulumi_aws/servicecatalog/get_appregistry_application.py +++ b/sdk/python/pulumi_aws/servicecatalog/get_appregistry_application.py @@ -125,7 +125,7 @@ def get_appregistry_application(id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_appregistry_application_output(id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAppregistryApplicationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAppregistryApplicationResult]: """ Data source for managing an AWS Service Catalog AppRegistry Application. @@ -145,7 +145,7 @@ def get_appregistry_application_output(id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['id'] = id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:servicecatalog/getAppregistryApplication:getAppregistryApplication', __args__, opts=opts, typ=GetAppregistryApplicationResult) return __ret__.apply(lambda __response__: GetAppregistryApplicationResult( application_tag=pulumi.get(__response__, 'application_tag'), diff --git a/sdk/python/pulumi_aws/servicecatalog/get_constraint.py b/sdk/python/pulumi_aws/servicecatalog/get_constraint.py index b3a77c4b373..7623c09c526 100644 --- a/sdk/python/pulumi_aws/servicecatalog/get_constraint.py +++ b/sdk/python/pulumi_aws/servicecatalog/get_constraint.py @@ -185,7 +185,7 @@ def get_constraint(accept_language: Optional[str] = None, def get_constraint_output(accept_language: Optional[pulumi.Input[Optional[str]]] = None, description: Optional[pulumi.Input[Optional[str]]] = None, id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConstraintResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConstraintResult]: """ Provides information on a Service Catalog Constraint. @@ -212,7 +212,7 @@ def get_constraint_output(accept_language: Optional[pulumi.Input[Optional[str]]] __args__['acceptLanguage'] = accept_language __args__['description'] = description __args__['id'] = id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:servicecatalog/getConstraint:getConstraint', __args__, opts=opts, typ=GetConstraintResult) return __ret__.apply(lambda __response__: GetConstraintResult( accept_language=pulumi.get(__response__, 'accept_language'), diff --git a/sdk/python/pulumi_aws/servicecatalog/get_launch_paths.py b/sdk/python/pulumi_aws/servicecatalog/get_launch_paths.py index f78c8e1f50f..906e75f1172 100644 --- a/sdk/python/pulumi_aws/servicecatalog/get_launch_paths.py +++ b/sdk/python/pulumi_aws/servicecatalog/get_launch_paths.py @@ -116,7 +116,7 @@ def get_launch_paths(accept_language: Optional[str] = None, summaries=pulumi.get(__ret__, 'summaries')) def get_launch_paths_output(accept_language: Optional[pulumi.Input[Optional[str]]] = None, product_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLaunchPathsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLaunchPathsResult]: """ Lists the paths to the specified product. A path is how the user has access to a specified product, and is necessary when provisioning a product. A path also determines the constraints put on the product. @@ -140,7 +140,7 @@ def get_launch_paths_output(accept_language: Optional[pulumi.Input[Optional[str] __args__ = dict() __args__['acceptLanguage'] = accept_language __args__['productId'] = product_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:servicecatalog/getLaunchPaths:getLaunchPaths', __args__, opts=opts, typ=GetLaunchPathsResult) return __ret__.apply(lambda __response__: GetLaunchPathsResult( accept_language=pulumi.get(__response__, 'accept_language'), diff --git a/sdk/python/pulumi_aws/servicecatalog/get_portfolio.py b/sdk/python/pulumi_aws/servicecatalog/get_portfolio.py index 67b09dca55f..27a80f027fe 100644 --- a/sdk/python/pulumi_aws/servicecatalog/get_portfolio.py +++ b/sdk/python/pulumi_aws/servicecatalog/get_portfolio.py @@ -169,7 +169,7 @@ def get_portfolio(accept_language: Optional[str] = None, def get_portfolio_output(accept_language: Optional[pulumi.Input[Optional[str]]] = None, id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPortfolioResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPortfolioResult]: """ Provides information for a Service Catalog Portfolio. @@ -193,7 +193,7 @@ def get_portfolio_output(accept_language: Optional[pulumi.Input[Optional[str]]] __args__['acceptLanguage'] = accept_language __args__['id'] = id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:servicecatalog/getPortfolio:getPortfolio', __args__, opts=opts, typ=GetPortfolioResult) return __ret__.apply(lambda __response__: GetPortfolioResult( accept_language=pulumi.get(__response__, 'accept_language'), diff --git a/sdk/python/pulumi_aws/servicecatalog/get_portfolio_constraints.py b/sdk/python/pulumi_aws/servicecatalog/get_portfolio_constraints.py index 4eac24095f2..78d38b5b747 100644 --- a/sdk/python/pulumi_aws/servicecatalog/get_portfolio_constraints.py +++ b/sdk/python/pulumi_aws/servicecatalog/get_portfolio_constraints.py @@ -136,7 +136,7 @@ def get_portfolio_constraints(accept_language: Optional[str] = None, def get_portfolio_constraints_output(accept_language: Optional[pulumi.Input[Optional[str]]] = None, portfolio_id: Optional[pulumi.Input[str]] = None, product_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPortfolioConstraintsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPortfolioConstraintsResult]: """ Provides information on Service Catalog Portfolio Constraints. @@ -162,7 +162,7 @@ def get_portfolio_constraints_output(accept_language: Optional[pulumi.Input[Opti __args__['acceptLanguage'] = accept_language __args__['portfolioId'] = portfolio_id __args__['productId'] = product_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:servicecatalog/getPortfolioConstraints:getPortfolioConstraints', __args__, opts=opts, typ=GetPortfolioConstraintsResult) return __ret__.apply(lambda __response__: GetPortfolioConstraintsResult( accept_language=pulumi.get(__response__, 'accept_language'), diff --git a/sdk/python/pulumi_aws/servicecatalog/get_product.py b/sdk/python/pulumi_aws/servicecatalog/get_product.py index 833cc80c4e1..610e2977185 100644 --- a/sdk/python/pulumi_aws/servicecatalog/get_product.py +++ b/sdk/python/pulumi_aws/servicecatalog/get_product.py @@ -264,7 +264,7 @@ def get_product(accept_language: Optional[str] = None, def get_product_output(accept_language: Optional[pulumi.Input[Optional[str]]] = None, id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProductResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProductResult]: """ Use this data source to retrieve information about a Service Catalog product. @@ -292,7 +292,7 @@ def get_product_output(accept_language: Optional[pulumi.Input[Optional[str]]] = __args__['acceptLanguage'] = accept_language __args__['id'] = id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:servicecatalog/getProduct:getProduct', __args__, opts=opts, typ=GetProductResult) return __ret__.apply(lambda __response__: GetProductResult( accept_language=pulumi.get(__response__, 'accept_language'), diff --git a/sdk/python/pulumi_aws/servicecatalog/get_provisioning_artifacts.py b/sdk/python/pulumi_aws/servicecatalog/get_provisioning_artifacts.py index b24f497995b..c9b2293a88f 100644 --- a/sdk/python/pulumi_aws/servicecatalog/get_provisioning_artifacts.py +++ b/sdk/python/pulumi_aws/servicecatalog/get_provisioning_artifacts.py @@ -116,7 +116,7 @@ def get_provisioning_artifacts(accept_language: Optional[str] = None, provisioning_artifact_details=pulumi.get(__ret__, 'provisioning_artifact_details')) def get_provisioning_artifacts_output(accept_language: Optional[pulumi.Input[Optional[str]]] = None, product_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProvisioningArtifactsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProvisioningArtifactsResult]: """ Lists the provisioning artifacts for the specified product. @@ -140,7 +140,7 @@ def get_provisioning_artifacts_output(accept_language: Optional[pulumi.Input[Opt __args__ = dict() __args__['acceptLanguage'] = accept_language __args__['productId'] = product_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:servicecatalog/getProvisioningArtifacts:getProvisioningArtifacts', __args__, opts=opts, typ=GetProvisioningArtifactsResult) return __ret__.apply(lambda __response__: GetProvisioningArtifactsResult( accept_language=pulumi.get(__response__, 'accept_language'), diff --git a/sdk/python/pulumi_aws/servicediscovery/get_dns_namespace.py b/sdk/python/pulumi_aws/servicediscovery/get_dns_namespace.py index 24a363ae600..ad8de441e4d 100644 --- a/sdk/python/pulumi_aws/servicediscovery/get_dns_namespace.py +++ b/sdk/python/pulumi_aws/servicediscovery/get_dns_namespace.py @@ -155,7 +155,7 @@ def get_dns_namespace(name: Optional[str] = None, def get_dns_namespace_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, type: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDnsNamespaceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDnsNamespaceResult]: """ Retrieves information about a Service Discovery private or public DNS namespace. @@ -178,7 +178,7 @@ def get_dns_namespace_output(name: Optional[pulumi.Input[str]] = None, __args__['name'] = name __args__['tags'] = tags __args__['type'] = type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:servicediscovery/getDnsNamespace:getDnsNamespace', __args__, opts=opts, typ=GetDnsNamespaceResult) return __ret__.apply(lambda __response__: GetDnsNamespaceResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/servicediscovery/get_http_namespace.py b/sdk/python/pulumi_aws/servicediscovery/get_http_namespace.py index 5d0bd84857c..0c6836e5cfb 100644 --- a/sdk/python/pulumi_aws/servicediscovery/get_http_namespace.py +++ b/sdk/python/pulumi_aws/servicediscovery/get_http_namespace.py @@ -138,7 +138,7 @@ def get_http_namespace(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_http_namespace_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetHttpNamespaceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetHttpNamespaceResult]: """ ## Example Usage @@ -156,7 +156,7 @@ def get_http_namespace_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:servicediscovery/getHttpNamespace:getHttpNamespace', __args__, opts=opts, typ=GetHttpNamespaceResult) return __ret__.apply(lambda __response__: GetHttpNamespaceResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/servicediscovery/get_service.py b/sdk/python/pulumi_aws/servicediscovery/get_service.py index cad22ef89af..99537a92c19 100644 --- a/sdk/python/pulumi_aws/servicediscovery/get_service.py +++ b/sdk/python/pulumi_aws/servicediscovery/get_service.py @@ -203,7 +203,7 @@ def get_service_output(name: Optional[pulumi.Input[str]] = None, namespace_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, tags_all: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServiceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServiceResult]: """ Retrieves information about a Service Discovery Service. @@ -228,7 +228,7 @@ def get_service_output(name: Optional[pulumi.Input[str]] = None, __args__['namespaceId'] = namespace_id __args__['tags'] = tags __args__['tagsAll'] = tags_all - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:servicediscovery/getService:getService', __args__, opts=opts, typ=GetServiceResult) return __ret__.apply(lambda __response__: GetServiceResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/servicequotas/get_service.py b/sdk/python/pulumi_aws/servicequotas/get_service.py index 0275c1ec70c..130190a4439 100644 --- a/sdk/python/pulumi_aws/servicequotas/get_service.py +++ b/sdk/python/pulumi_aws/servicequotas/get_service.py @@ -99,7 +99,7 @@ def get_service(service_name: Optional[str] = None, service_code=pulumi.get(__ret__, 'service_code'), service_name=pulumi.get(__ret__, 'service_name')) def get_service_output(service_name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServiceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServiceResult]: """ Retrieve information about a Service Quotas Service. @@ -119,7 +119,7 @@ def get_service_output(service_name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['serviceName'] = service_name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:servicequotas/getService:getService', __args__, opts=opts, typ=GetServiceResult) return __ret__.apply(lambda __response__: GetServiceResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/servicequotas/get_service_quota.py b/sdk/python/pulumi_aws/servicequotas/get_service_quota.py index 94cbf994686..1f490aa549a 100644 --- a/sdk/python/pulumi_aws/servicequotas/get_service_quota.py +++ b/sdk/python/pulumi_aws/servicequotas/get_service_quota.py @@ -209,7 +209,7 @@ def get_service_quota(quota_code: Optional[str] = None, def get_service_quota_output(quota_code: Optional[pulumi.Input[Optional[str]]] = None, quota_name: Optional[pulumi.Input[Optional[str]]] = None, service_code: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServiceQuotaResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServiceQuotaResult]: """ Retrieve information about a Service Quota. @@ -236,7 +236,7 @@ def get_service_quota_output(quota_code: Optional[pulumi.Input[Optional[str]]] = __args__['quotaCode'] = quota_code __args__['quotaName'] = quota_name __args__['serviceCode'] = service_code - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:servicequotas/getServiceQuota:getServiceQuota', __args__, opts=opts, typ=GetServiceQuotaResult) return __ret__.apply(lambda __response__: GetServiceQuotaResult( adjustable=pulumi.get(__response__, 'adjustable'), diff --git a/sdk/python/pulumi_aws/servicequotas/get_templates.py b/sdk/python/pulumi_aws/servicequotas/get_templates.py index 783e166e242..a10d9cbd4f6 100644 --- a/sdk/python/pulumi_aws/servicequotas/get_templates.py +++ b/sdk/python/pulumi_aws/servicequotas/get_templates.py @@ -105,7 +105,7 @@ def get_templates(region: Optional[str] = None, templates=pulumi.get(__ret__, 'templates')) def get_templates_output(region: Optional[pulumi.Input[str]] = None, templates: Optional[pulumi.Input[Optional[Sequence[Union['GetTemplatesTemplateArgs', 'GetTemplatesTemplateArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTemplatesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTemplatesResult]: """ Data source for managing an AWS Service Quotas Templates. @@ -127,7 +127,7 @@ def get_templates_output(region: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['region'] = region __args__['templates'] = templates - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:servicequotas/getTemplates:getTemplates', __args__, opts=opts, typ=GetTemplatesResult) return __ret__.apply(lambda __response__: GetTemplatesResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/ses/get_active_receipt_rule_set.py b/sdk/python/pulumi_aws/ses/get_active_receipt_rule_set.py index 55c7b0dbb9f..e87775128eb 100644 --- a/sdk/python/pulumi_aws/ses/get_active_receipt_rule_set.py +++ b/sdk/python/pulumi_aws/ses/get_active_receipt_rule_set.py @@ -94,7 +94,7 @@ def get_active_receipt_rule_set(opts: Optional[pulumi.InvokeOptions] = None) -> arn=pulumi.get(__ret__, 'arn'), id=pulumi.get(__ret__, 'id'), rule_set_name=pulumi.get(__ret__, 'rule_set_name')) -def get_active_receipt_rule_set_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetActiveReceiptRuleSetResult]: +def get_active_receipt_rule_set_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetActiveReceiptRuleSetResult]: """ Retrieve the active SES receipt rule set @@ -108,7 +108,7 @@ def get_active_receipt_rule_set_output(opts: Optional[Union[pulumi.InvokeOptions ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ses/getActiveReceiptRuleSet:getActiveReceiptRuleSet', __args__, opts=opts, typ=GetActiveReceiptRuleSetResult) return __ret__.apply(lambda __response__: GetActiveReceiptRuleSetResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ses/get_domain_identity.py b/sdk/python/pulumi_aws/ses/get_domain_identity.py index e002772cc73..48422dea875 100644 --- a/sdk/python/pulumi_aws/ses/get_domain_identity.py +++ b/sdk/python/pulumi_aws/ses/get_domain_identity.py @@ -113,7 +113,7 @@ def get_domain_identity(domain: Optional[str] = None, id=pulumi.get(__ret__, 'id'), verification_token=pulumi.get(__ret__, 'verification_token')) def get_domain_identity_output(domain: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDomainIdentityResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDomainIdentityResult]: """ Retrieve the SES domain identity @@ -131,7 +131,7 @@ def get_domain_identity_output(domain: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['domain'] = domain - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ses/getDomainIdentity:getDomainIdentity', __args__, opts=opts, typ=GetDomainIdentityResult) return __ret__.apply(lambda __response__: GetDomainIdentityResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ses/get_email_identity.py b/sdk/python/pulumi_aws/ses/get_email_identity.py index 86f58d35944..6fc8c761c51 100644 --- a/sdk/python/pulumi_aws/ses/get_email_identity.py +++ b/sdk/python/pulumi_aws/ses/get_email_identity.py @@ -100,7 +100,7 @@ def get_email_identity(email: Optional[str] = None, email=pulumi.get(__ret__, 'email'), id=pulumi.get(__ret__, 'id')) def get_email_identity_output(email: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEmailIdentityResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEmailIdentityResult]: """ Retrieve the active SES email identity @@ -118,7 +118,7 @@ def get_email_identity_output(email: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['email'] = email - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ses/getEmailIdentity:getEmailIdentity', __args__, opts=opts, typ=GetEmailIdentityResult) return __ret__.apply(lambda __response__: GetEmailIdentityResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/sesv2/get_configuration_set.py b/sdk/python/pulumi_aws/sesv2/get_configuration_set.py index 2598f2ea725..93326fd2f9f 100644 --- a/sdk/python/pulumi_aws/sesv2/get_configuration_set.py +++ b/sdk/python/pulumi_aws/sesv2/get_configuration_set.py @@ -192,7 +192,7 @@ def get_configuration_set(configuration_set_name: Optional[str] = None, vdm_options=pulumi.get(__ret__, 'vdm_options')) def get_configuration_set_output(configuration_set_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConfigurationSetResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConfigurationSetResult]: """ Data source for managing an AWS SESv2 (Simple Email V2) Configuration Set. @@ -214,7 +214,7 @@ def get_configuration_set_output(configuration_set_name: Optional[pulumi.Input[s __args__ = dict() __args__['configurationSetName'] = configuration_set_name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:sesv2/getConfigurationSet:getConfigurationSet', __args__, opts=opts, typ=GetConfigurationSetResult) return __ret__.apply(lambda __response__: GetConfigurationSetResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/sesv2/get_dedicated_ip_pool.py b/sdk/python/pulumi_aws/sesv2/get_dedicated_ip_pool.py index eeb397b3e58..23a8baa9dbe 100644 --- a/sdk/python/pulumi_aws/sesv2/get_dedicated_ip_pool.py +++ b/sdk/python/pulumi_aws/sesv2/get_dedicated_ip_pool.py @@ -143,7 +143,7 @@ def get_dedicated_ip_pool(pool_name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_dedicated_ip_pool_output(pool_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDedicatedIpPoolResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDedicatedIpPoolResult]: """ Data source for managing an AWS SESv2 (Simple Email V2) Dedicated IP Pool. @@ -165,7 +165,7 @@ def get_dedicated_ip_pool_output(pool_name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['poolName'] = pool_name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:sesv2/getDedicatedIpPool:getDedicatedIpPool', __args__, opts=opts, typ=GetDedicatedIpPoolResult) return __ret__.apply(lambda __response__: GetDedicatedIpPoolResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/sesv2/get_email_identity.py b/sdk/python/pulumi_aws/sesv2/get_email_identity.py index 43d0e8f9d8f..1a37c44bb2c 100644 --- a/sdk/python/pulumi_aws/sesv2/get_email_identity.py +++ b/sdk/python/pulumi_aws/sesv2/get_email_identity.py @@ -166,7 +166,7 @@ def get_email_identity(email_identity: Optional[str] = None, verified_for_sending_status=pulumi.get(__ret__, 'verified_for_sending_status')) def get_email_identity_output(email_identity: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEmailIdentityResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEmailIdentityResult]: """ Data source for managing an AWS SESv2 (Simple Email V2) Email Identity. @@ -188,7 +188,7 @@ def get_email_identity_output(email_identity: Optional[pulumi.Input[str]] = None __args__ = dict() __args__['emailIdentity'] = email_identity __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:sesv2/getEmailIdentity:getEmailIdentity', __args__, opts=opts, typ=GetEmailIdentityResult) return __ret__.apply(lambda __response__: GetEmailIdentityResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/sesv2/get_email_identity_mail_from_attributes.py b/sdk/python/pulumi_aws/sesv2/get_email_identity_mail_from_attributes.py index 0ba8a229401..1d24fc74b5a 100644 --- a/sdk/python/pulumi_aws/sesv2/get_email_identity_mail_from_attributes.py +++ b/sdk/python/pulumi_aws/sesv2/get_email_identity_mail_from_attributes.py @@ -113,7 +113,7 @@ def get_email_identity_mail_from_attributes(email_identity: Optional[str] = None id=pulumi.get(__ret__, 'id'), mail_from_domain=pulumi.get(__ret__, 'mail_from_domain')) def get_email_identity_mail_from_attributes_output(email_identity: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEmailIdentityMailFromAttributesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEmailIdentityMailFromAttributesResult]: """ Data source for managing an AWS SESv2 (Simple Email V2) Email Identity Mail From Attributes. @@ -134,7 +134,7 @@ def get_email_identity_mail_from_attributes_output(email_identity: Optional[pulu """ __args__ = dict() __args__['emailIdentity'] = email_identity - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:sesv2/getEmailIdentityMailFromAttributes:getEmailIdentityMailFromAttributes', __args__, opts=opts, typ=GetEmailIdentityMailFromAttributesResult) return __ret__.apply(lambda __response__: GetEmailIdentityMailFromAttributesResult( behavior_on_mx_failure=pulumi.get(__response__, 'behavior_on_mx_failure'), diff --git a/sdk/python/pulumi_aws/sfn/get_activity.py b/sdk/python/pulumi_aws/sfn/get_activity.py index 6cc8dcc2bd9..caa781e5cda 100644 --- a/sdk/python/pulumi_aws/sfn/get_activity.py +++ b/sdk/python/pulumi_aws/sfn/get_activity.py @@ -111,7 +111,7 @@ def get_activity(arn: Optional[str] = None, name=pulumi.get(__ret__, 'name')) def get_activity_output(arn: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetActivityResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetActivityResult]: """ Provides a Step Functions Activity data source @@ -131,7 +131,7 @@ def get_activity_output(arn: Optional[pulumi.Input[Optional[str]]] = None, __args__ = dict() __args__['arn'] = arn __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:sfn/getActivity:getActivity', __args__, opts=opts, typ=GetActivityResult) return __ret__.apply(lambda __response__: GetActivityResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/sfn/get_alias.py b/sdk/python/pulumi_aws/sfn/get_alias.py index 73356aaffa9..54a9b56a856 100644 --- a/sdk/python/pulumi_aws/sfn/get_alias.py +++ b/sdk/python/pulumi_aws/sfn/get_alias.py @@ -158,7 +158,7 @@ def get_alias(description: Optional[str] = None, def get_alias_output(description: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[str]] = None, statemachine_arn: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAliasResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAliasResult]: """ Data source for managing an AWS SFN (Step Functions) State Machine Alias. @@ -183,7 +183,7 @@ def get_alias_output(description: Optional[pulumi.Input[Optional[str]]] = None, __args__['description'] = description __args__['name'] = name __args__['statemachineArn'] = statemachine_arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:sfn/getAlias:getAlias', __args__, opts=opts, typ=GetAliasResult) return __ret__.apply(lambda __response__: GetAliasResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/sfn/get_state_machine.py b/sdk/python/pulumi_aws/sfn/get_state_machine.py index 6e6102a22f3..b36b7e7bf11 100644 --- a/sdk/python/pulumi_aws/sfn/get_state_machine.py +++ b/sdk/python/pulumi_aws/sfn/get_state_machine.py @@ -174,7 +174,7 @@ def get_state_machine(name: Optional[str] = None, role_arn=pulumi.get(__ret__, 'role_arn'), status=pulumi.get(__ret__, 'status')) def get_state_machine_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetStateMachineResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetStateMachineResult]: """ Use this data source to get the ARN of a State Machine in AWS Step Function (SFN). By using this data source, you can reference a @@ -194,7 +194,7 @@ def get_state_machine_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:sfn/getStateMachine:getStateMachine', __args__, opts=opts, typ=GetStateMachineResult) return __ret__.apply(lambda __response__: GetStateMachineResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/sfn/get_state_machine_versions.py b/sdk/python/pulumi_aws/sfn/get_state_machine_versions.py index 3707b4de1bc..07be6cac223 100644 --- a/sdk/python/pulumi_aws/sfn/get_state_machine_versions.py +++ b/sdk/python/pulumi_aws/sfn/get_state_machine_versions.py @@ -99,7 +99,7 @@ def get_state_machine_versions(statemachine_arn: Optional[str] = None, statemachine_arn=pulumi.get(__ret__, 'statemachine_arn'), statemachine_versions=pulumi.get(__ret__, 'statemachine_versions')) def get_state_machine_versions_output(statemachine_arn: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetStateMachineVersionsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetStateMachineVersionsResult]: """ Data source for managing an AWS SFN (Step Functions) State Machine Versions. @@ -119,7 +119,7 @@ def get_state_machine_versions_output(statemachine_arn: Optional[pulumi.Input[st """ __args__ = dict() __args__['statemachineArn'] = statemachine_arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:sfn/getStateMachineVersions:getStateMachineVersions', __args__, opts=opts, typ=GetStateMachineVersionsResult) return __ret__.apply(lambda __response__: GetStateMachineVersionsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/shield/get_protection.py b/sdk/python/pulumi_aws/shield/get_protection.py index de4a2512eec..ec4c83f31a4 100644 --- a/sdk/python/pulumi_aws/shield/get_protection.py +++ b/sdk/python/pulumi_aws/shield/get_protection.py @@ -132,7 +132,7 @@ def get_protection(protection_id: Optional[str] = None, resource_arn=pulumi.get(__ret__, 'resource_arn')) def get_protection_output(protection_id: Optional[pulumi.Input[Optional[str]]] = None, resource_arn: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProtectionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProtectionResult]: """ Data source for managing an AWS Shield Protection. @@ -163,7 +163,7 @@ def get_protection_output(protection_id: Optional[pulumi.Input[Optional[str]]] = __args__ = dict() __args__['protectionId'] = protection_id __args__['resourceArn'] = resource_arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:shield/getProtection:getProtection', __args__, opts=opts, typ=GetProtectionResult) return __ret__.apply(lambda __response__: GetProtectionResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/signer/get_signing_job.py b/sdk/python/pulumi_aws/signer/get_signing_job.py index a76491cf70d..87b045be01b 100644 --- a/sdk/python/pulumi_aws/signer/get_signing_job.py +++ b/sdk/python/pulumi_aws/signer/get_signing_job.py @@ -280,7 +280,7 @@ def get_signing_job(job_id: Optional[str] = None, status=pulumi.get(__ret__, 'status'), status_reason=pulumi.get(__ret__, 'status_reason')) def get_signing_job_output(job_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSigningJobResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSigningJobResult]: """ Provides information about a Signer Signing Job. @@ -298,7 +298,7 @@ def get_signing_job_output(job_id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['jobId'] = job_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:signer/getSigningJob:getSigningJob', __args__, opts=opts, typ=GetSigningJobResult) return __ret__.apply(lambda __response__: GetSigningJobResult( completed_at=pulumi.get(__response__, 'completed_at'), diff --git a/sdk/python/pulumi_aws/signer/get_signing_profile.py b/sdk/python/pulumi_aws/signer/get_signing_profile.py index 44bc48fb720..a1b4adff619 100644 --- a/sdk/python/pulumi_aws/signer/get_signing_profile.py +++ b/sdk/python/pulumi_aws/signer/get_signing_profile.py @@ -206,7 +206,7 @@ def get_signing_profile(name: Optional[str] = None, version_arn=pulumi.get(__ret__, 'version_arn')) def get_signing_profile_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSigningProfileResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSigningProfileResult]: """ Provides information about a Signer Signing Profile. @@ -226,7 +226,7 @@ def get_signing_profile_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:signer/getSigningProfile:getSigningProfile', __args__, opts=opts, typ=GetSigningProfileResult) return __ret__.apply(lambda __response__: GetSigningProfileResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/sns/get_topic.py b/sdk/python/pulumi_aws/sns/get_topic.py index a19380ed480..a02c8187ffe 100644 --- a/sdk/python/pulumi_aws/sns/get_topic.py +++ b/sdk/python/pulumi_aws/sns/get_topic.py @@ -116,7 +116,7 @@ def get_topic(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_topic_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTopicResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTopicResult]: """ Use this data source to get the ARN of a topic in AWS Simple Notification Service (SNS). By using this data source, you can reference SNS topics @@ -138,7 +138,7 @@ def get_topic_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:sns/getTopic:getTopic', __args__, opts=opts, typ=GetTopicResult) return __ret__.apply(lambda __response__: GetTopicResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/sqs/get_queue.py b/sdk/python/pulumi_aws/sqs/get_queue.py index 89a719c9dc0..e7a0520eee3 100644 --- a/sdk/python/pulumi_aws/sqs/get_queue.py +++ b/sdk/python/pulumi_aws/sqs/get_queue.py @@ -129,7 +129,7 @@ def get_queue(name: Optional[str] = None, url=pulumi.get(__ret__, 'url')) def get_queue_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetQueueResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetQueueResult]: """ Use this data source to get the ARN and URL of queue in AWS Simple Queue Service (SQS). By using this data source, you can reference SQS queues without having to hardcode @@ -151,7 +151,7 @@ def get_queue_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:sqs/getQueue:getQueue', __args__, opts=opts, typ=GetQueueResult) return __ret__.apply(lambda __response__: GetQueueResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/sqs/get_queues.py b/sdk/python/pulumi_aws/sqs/get_queues.py index 3597fa4c502..643af6cdfd8 100644 --- a/sdk/python/pulumi_aws/sqs/get_queues.py +++ b/sdk/python/pulumi_aws/sqs/get_queues.py @@ -99,7 +99,7 @@ def get_queues(queue_name_prefix: Optional[str] = None, queue_name_prefix=pulumi.get(__ret__, 'queue_name_prefix'), queue_urls=pulumi.get(__ret__, 'queue_urls')) def get_queues_output(queue_name_prefix: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetQueuesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetQueuesResult]: """ Data source for managing an AWS SQS (Simple Queue) Queues. @@ -119,7 +119,7 @@ def get_queues_output(queue_name_prefix: Optional[pulumi.Input[Optional[str]]] = """ __args__ = dict() __args__['queueNamePrefix'] = queue_name_prefix - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:sqs/getQueues:getQueues', __args__, opts=opts, typ=GetQueuesResult) return __ret__.apply(lambda __response__: GetQueuesResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/ssm/get_contacts_rotation.py b/sdk/python/pulumi_aws/ssm/get_contacts_rotation.py index 4ab1d556cb3..20aebfb869b 100644 --- a/sdk/python/pulumi_aws/ssm/get_contacts_rotation.py +++ b/sdk/python/pulumi_aws/ssm/get_contacts_rotation.py @@ -160,7 +160,7 @@ def get_contacts_rotation(arn: Optional[str] = None, tags=pulumi.get(__ret__, 'tags'), time_zone_id=pulumi.get(__ret__, 'time_zone_id')) def get_contacts_rotation_output(arn: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetContactsRotationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetContactsRotationResult]: """ ## Example Usage @@ -178,7 +178,7 @@ def get_contacts_rotation_output(arn: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['arn'] = arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssm/getContactsRotation:getContactsRotation', __args__, opts=opts, typ=GetContactsRotationResult) return __ret__.apply(lambda __response__: GetContactsRotationResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ssm/get_document.py b/sdk/python/pulumi_aws/ssm/get_document.py index b5a83e2d64e..99907b6eece 100644 --- a/sdk/python/pulumi_aws/ssm/get_document.py +++ b/sdk/python/pulumi_aws/ssm/get_document.py @@ -165,7 +165,7 @@ def get_document(document_format: Optional[str] = None, def get_document_output(document_format: Optional[pulumi.Input[Optional[str]]] = None, document_version: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDocumentResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDocumentResult]: """ Gets the contents of the specified Systems Manager document. @@ -201,7 +201,7 @@ def get_document_output(document_format: Optional[pulumi.Input[Optional[str]]] = __args__['documentFormat'] = document_format __args__['documentVersion'] = document_version __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssm/getDocument:getDocument', __args__, opts=opts, typ=GetDocumentResult) return __ret__.apply(lambda __response__: GetDocumentResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ssm/get_instances.py b/sdk/python/pulumi_aws/ssm/get_instances.py index 04781d15f35..ca93ff08bae 100644 --- a/sdk/python/pulumi_aws/ssm/get_instances.py +++ b/sdk/python/pulumi_aws/ssm/get_instances.py @@ -102,7 +102,7 @@ def get_instances(filters: Optional[Sequence[Union['GetInstancesFilterArgs', 'Ge id=pulumi.get(__ret__, 'id'), ids=pulumi.get(__ret__, 'ids')) def get_instances_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetInstancesFilterArgs', 'GetInstancesFilterArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstancesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstancesResult]: """ Use this data source to get the instance IDs of SSM managed instances. @@ -123,7 +123,7 @@ def get_instances_output(filters: Optional[pulumi.Input[Optional[Sequence[Union[ """ __args__ = dict() __args__['filters'] = filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssm/getInstances:getInstances', __args__, opts=opts, typ=GetInstancesResult) return __ret__.apply(lambda __response__: GetInstancesResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ssm/get_maintenance_windows.py b/sdk/python/pulumi_aws/ssm/get_maintenance_windows.py index c28c4d06bb6..3444fb1d124 100644 --- a/sdk/python/pulumi_aws/ssm/get_maintenance_windows.py +++ b/sdk/python/pulumi_aws/ssm/get_maintenance_windows.py @@ -102,7 +102,7 @@ def get_maintenance_windows(filters: Optional[Sequence[Union['GetMaintenanceWind id=pulumi.get(__ret__, 'id'), ids=pulumi.get(__ret__, 'ids')) def get_maintenance_windows_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetMaintenanceWindowsFilterArgs', 'GetMaintenanceWindowsFilterArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetMaintenanceWindowsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMaintenanceWindowsResult]: """ Use this data source to get the window IDs of SSM maintenance windows. @@ -123,7 +123,7 @@ def get_maintenance_windows_output(filters: Optional[pulumi.Input[Optional[Seque """ __args__ = dict() __args__['filters'] = filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssm/getMaintenanceWindows:getMaintenanceWindows', __args__, opts=opts, typ=GetMaintenanceWindowsResult) return __ret__.apply(lambda __response__: GetMaintenanceWindowsResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/ssm/get_parameter.py b/sdk/python/pulumi_aws/ssm/get_parameter.py index 9eba11b4bf4..335bb80af25 100644 --- a/sdk/python/pulumi_aws/ssm/get_parameter.py +++ b/sdk/python/pulumi_aws/ssm/get_parameter.py @@ -152,7 +152,7 @@ def get_parameter(name: Optional[str] = None, with_decryption=pulumi.get(__ret__, 'with_decryption')) def get_parameter_output(name: Optional[pulumi.Input[str]] = None, with_decryption: Optional[pulumi.Input[Optional[bool]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetParameterResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetParameterResult]: """ Provides an SSM Parameter data source. @@ -176,7 +176,7 @@ def get_parameter_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['withDecryption'] = with_decryption - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssm/getParameter:getParameter', __args__, opts=opts, typ=GetParameterResult) return __ret__.apply(lambda __response__: GetParameterResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ssm/get_parameters_by_path.py b/sdk/python/pulumi_aws/ssm/get_parameters_by_path.py index 841f004abdd..b9c1a4ccb0e 100644 --- a/sdk/python/pulumi_aws/ssm/get_parameters_by_path.py +++ b/sdk/python/pulumi_aws/ssm/get_parameters_by_path.py @@ -154,7 +154,7 @@ def get_parameters_by_path(path: Optional[str] = None, def get_parameters_by_path_output(path: Optional[pulumi.Input[str]] = None, recursive: Optional[pulumi.Input[Optional[bool]]] = None, with_decryption: Optional[pulumi.Input[Optional[bool]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetParametersByPathResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetParametersByPathResult]: """ Use this data source to access information about an existing resource. @@ -166,7 +166,7 @@ def get_parameters_by_path_output(path: Optional[pulumi.Input[str]] = None, __args__['path'] = path __args__['recursive'] = recursive __args__['withDecryption'] = with_decryption - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssm/getParametersByPath:getParametersByPath', __args__, opts=opts, typ=GetParametersByPathResult) return __ret__.apply(lambda __response__: GetParametersByPathResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/ssm/get_patch_baseline.py b/sdk/python/pulumi_aws/ssm/get_patch_baseline.py index 867c982c0ee..66af23b6f89 100644 --- a/sdk/python/pulumi_aws/ssm/get_patch_baseline.py +++ b/sdk/python/pulumi_aws/ssm/get_patch_baseline.py @@ -288,7 +288,7 @@ def get_patch_baseline_output(default_baseline: Optional[pulumi.Input[Optional[b name_prefix: Optional[pulumi.Input[Optional[str]]] = None, operating_system: Optional[pulumi.Input[Optional[str]]] = None, owner: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPatchBaselineResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPatchBaselineResult]: """ Provides an SSM Patch Baseline data source. Useful if you wish to reuse the default baselines provided. @@ -330,7 +330,7 @@ def get_patch_baseline_output(default_baseline: Optional[pulumi.Input[Optional[b __args__['namePrefix'] = name_prefix __args__['operatingSystem'] = operating_system __args__['owner'] = owner - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssm/getPatchBaseline:getPatchBaseline', __args__, opts=opts, typ=GetPatchBaselineResult) return __ret__.apply(lambda __response__: GetPatchBaselineResult( approval_rules=pulumi.get(__response__, 'approval_rules'), diff --git a/sdk/python/pulumi_aws/ssm/get_patch_baselines.py b/sdk/python/pulumi_aws/ssm/get_patch_baselines.py index ea5672eed86..bbeb0fe0950 100644 --- a/sdk/python/pulumi_aws/ssm/get_patch_baselines.py +++ b/sdk/python/pulumi_aws/ssm/get_patch_baselines.py @@ -133,7 +133,7 @@ def get_patch_baselines(default_baselines: Optional[bool] = None, id=pulumi.get(__ret__, 'id')) def get_patch_baselines_output(default_baselines: Optional[pulumi.Input[Optional[bool]]] = None, filters: Optional[pulumi.Input[Optional[Sequence[Union['GetPatchBaselinesFilterArgs', 'GetPatchBaselinesFilterArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPatchBaselinesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPatchBaselinesResult]: """ Data source for retrieving AWS SSM (Systems Manager) Patch Baselines. @@ -173,7 +173,7 @@ def get_patch_baselines_output(default_baselines: Optional[pulumi.Input[Optional __args__ = dict() __args__['defaultBaselines'] = default_baselines __args__['filters'] = filters - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssm/getPatchBaselines:getPatchBaselines', __args__, opts=opts, typ=GetPatchBaselinesResult) return __ret__.apply(lambda __response__: GetPatchBaselinesResult( baseline_identities=pulumi.get(__response__, 'baseline_identities'), diff --git a/sdk/python/pulumi_aws/ssmcontacts/get_contact.py b/sdk/python/pulumi_aws/ssmcontacts/get_contact.py index 24c67f0a239..54701755d5a 100644 --- a/sdk/python/pulumi_aws/ssmcontacts/get_contact.py +++ b/sdk/python/pulumi_aws/ssmcontacts/get_contact.py @@ -142,7 +142,7 @@ def get_contact(arn: Optional[str] = None, type=pulumi.get(__ret__, 'type')) def get_contact_output(arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetContactResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetContactResult]: """ Data source for managing an AWS SSM Contact. @@ -164,7 +164,7 @@ def get_contact_output(arn: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['arn'] = arn __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssmcontacts/getContact:getContact', __args__, opts=opts, typ=GetContactResult) return __ret__.apply(lambda __response__: GetContactResult( alias=pulumi.get(__response__, 'alias'), diff --git a/sdk/python/pulumi_aws/ssmcontacts/get_contact_channel.py b/sdk/python/pulumi_aws/ssmcontacts/get_contact_channel.py index 312253731c2..854aca6b3e0 100644 --- a/sdk/python/pulumi_aws/ssmcontacts/get_contact_channel.py +++ b/sdk/python/pulumi_aws/ssmcontacts/get_contact_channel.py @@ -152,7 +152,7 @@ def get_contact_channel(arn: Optional[str] = None, name=pulumi.get(__ret__, 'name'), type=pulumi.get(__ret__, 'type')) def get_contact_channel_output(arn: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetContactChannelResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetContactChannelResult]: """ Data source for managing an AWS SSM Contacts Contact Channel. @@ -172,7 +172,7 @@ def get_contact_channel_output(arn: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['arn'] = arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssmcontacts/getContactChannel:getContactChannel', __args__, opts=opts, typ=GetContactChannelResult) return __ret__.apply(lambda __response__: GetContactChannelResult( activation_status=pulumi.get(__response__, 'activation_status'), diff --git a/sdk/python/pulumi_aws/ssmcontacts/get_plan.py b/sdk/python/pulumi_aws/ssmcontacts/get_plan.py index 635fa1c445b..11f3131079f 100644 --- a/sdk/python/pulumi_aws/ssmcontacts/get_plan.py +++ b/sdk/python/pulumi_aws/ssmcontacts/get_plan.py @@ -100,7 +100,7 @@ def get_plan(contact_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), stages=pulumi.get(__ret__, 'stages')) def get_plan_output(contact_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPlanResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPlanResult]: """ Data source for managing a Plan of an AWS SSM Contact. @@ -120,7 +120,7 @@ def get_plan_output(contact_id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['contactId'] = contact_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssmcontacts/getPlan:getPlan', __args__, opts=opts, typ=GetPlanResult) return __ret__.apply(lambda __response__: GetPlanResult( contact_id=pulumi.get(__response__, 'contact_id'), diff --git a/sdk/python/pulumi_aws/ssmincidents/get_replication_set.py b/sdk/python/pulumi_aws/ssmincidents/get_replication_set.py index 59564ff8821..68e7340da2f 100644 --- a/sdk/python/pulumi_aws/ssmincidents/get_replication_set.py +++ b/sdk/python/pulumi_aws/ssmincidents/get_replication_set.py @@ -168,7 +168,7 @@ def get_replication_set(tags: Optional[Mapping[str, str]] = None, status=pulumi.get(__ret__, 'status'), tags=pulumi.get(__ret__, 'tags')) def get_replication_set_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetReplicationSetResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReplicationSetResult]: """ > **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set. @@ -190,7 +190,7 @@ def get_replication_set_output(tags: Optional[pulumi.Input[Optional[Mapping[str, """ __args__ = dict() __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssmincidents/getReplicationSet:getReplicationSet', __args__, opts=opts, typ=GetReplicationSetResult) return __ret__.apply(lambda __response__: GetReplicationSetResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ssmincidents/get_response_plan.py b/sdk/python/pulumi_aws/ssmincidents/get_response_plan.py index ab9bdd36c3b..0fa0bedb164 100644 --- a/sdk/python/pulumi_aws/ssmincidents/get_response_plan.py +++ b/sdk/python/pulumi_aws/ssmincidents/get_response_plan.py @@ -183,7 +183,7 @@ def get_response_plan(arn: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_response_plan_output(arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResponsePlanResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResponsePlanResult]: """ Use this data source to manage a response plan in AWS Systems Manager Incident Manager. @@ -196,7 +196,7 @@ def get_response_plan_output(arn: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['arn'] = arn __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssmincidents/getResponsePlan:getResponsePlan', __args__, opts=opts, typ=GetResponsePlanResult) return __ret__.apply(lambda __response__: GetResponsePlanResult( actions=pulumi.get(__response__, 'actions'), diff --git a/sdk/python/pulumi_aws/ssoadmin/get_application.py b/sdk/python/pulumi_aws/ssoadmin/get_application.py index e7d35097bda..73d011bd88b 100644 --- a/sdk/python/pulumi_aws/ssoadmin/get_application.py +++ b/sdk/python/pulumi_aws/ssoadmin/get_application.py @@ -183,7 +183,7 @@ def get_application(application_arn: Optional[str] = None, status=pulumi.get(__ret__, 'status')) def get_application_output(application_arn: Optional[pulumi.Input[str]] = None, portal_options: Optional[pulumi.Input[Optional[Sequence[Union['GetApplicationPortalOptionArgs', 'GetApplicationPortalOptionArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetApplicationResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApplicationResult]: """ Data source for managing an AWS SSO Admin Application. @@ -205,7 +205,7 @@ def get_application_output(application_arn: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['applicationArn'] = application_arn __args__['portalOptions'] = portal_options - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssoadmin/getApplication:getApplication', __args__, opts=opts, typ=GetApplicationResult) return __ret__.apply(lambda __response__: GetApplicationResult( application_account=pulumi.get(__response__, 'application_account'), diff --git a/sdk/python/pulumi_aws/ssoadmin/get_application_assignments.py b/sdk/python/pulumi_aws/ssoadmin/get_application_assignments.py index 353e5550399..f1dd66e0144 100644 --- a/sdk/python/pulumi_aws/ssoadmin/get_application_assignments.py +++ b/sdk/python/pulumi_aws/ssoadmin/get_application_assignments.py @@ -105,7 +105,7 @@ def get_application_assignments(application_arn: Optional[str] = None, id=pulumi.get(__ret__, 'id')) def get_application_assignments_output(application_arn: Optional[pulumi.Input[str]] = None, application_assignments: Optional[pulumi.Input[Optional[Sequence[Union['GetApplicationAssignmentsApplicationAssignmentArgs', 'GetApplicationAssignmentsApplicationAssignmentArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetApplicationAssignmentsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApplicationAssignmentsResult]: """ Data source for managing AWS SSO Admin Application Assignments. @@ -127,7 +127,7 @@ def get_application_assignments_output(application_arn: Optional[pulumi.Input[st __args__ = dict() __args__['applicationArn'] = application_arn __args__['applicationAssignments'] = application_assignments - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssoadmin/getApplicationAssignments:getApplicationAssignments', __args__, opts=opts, typ=GetApplicationAssignmentsResult) return __ret__.apply(lambda __response__: GetApplicationAssignmentsResult( application_arn=pulumi.get(__response__, 'application_arn'), diff --git a/sdk/python/pulumi_aws/ssoadmin/get_application_providers.py b/sdk/python/pulumi_aws/ssoadmin/get_application_providers.py index 714ee44760b..870830d0a6d 100644 --- a/sdk/python/pulumi_aws/ssoadmin/get_application_providers.py +++ b/sdk/python/pulumi_aws/ssoadmin/get_application_providers.py @@ -91,7 +91,7 @@ def get_application_providers(application_providers: Optional[Sequence[Union['Ge application_providers=pulumi.get(__ret__, 'application_providers'), id=pulumi.get(__ret__, 'id')) def get_application_providers_output(application_providers: Optional[pulumi.Input[Optional[Sequence[Union['GetApplicationProvidersApplicationProviderArgs', 'GetApplicationProvidersApplicationProviderArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetApplicationProvidersResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApplicationProvidersResult]: """ Data source for managing AWS SSO Admin Application Providers. @@ -111,7 +111,7 @@ def get_application_providers_output(application_providers: Optional[pulumi.Inpu """ __args__ = dict() __args__['applicationProviders'] = application_providers - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssoadmin/getApplicationProviders:getApplicationProviders', __args__, opts=opts, typ=GetApplicationProvidersResult) return __ret__.apply(lambda __response__: GetApplicationProvidersResult( application_providers=pulumi.get(__response__, 'application_providers'), diff --git a/sdk/python/pulumi_aws/ssoadmin/get_instances.py b/sdk/python/pulumi_aws/ssoadmin/get_instances.py index 633ffa1f14a..75bec338b8d 100644 --- a/sdk/python/pulumi_aws/ssoadmin/get_instances.py +++ b/sdk/python/pulumi_aws/ssoadmin/get_instances.py @@ -96,7 +96,7 @@ def get_instances(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIn arns=pulumi.get(__ret__, 'arns'), id=pulumi.get(__ret__, 'id'), identity_store_ids=pulumi.get(__ret__, 'identity_store_ids')) -def get_instances_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstancesResult]: +def get_instances_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstancesResult]: """ Use this data source to get ARNs and Identity Store IDs of Single Sign-On (SSO) Instances. @@ -112,7 +112,7 @@ def get_instances_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.Invok ``` """ __args__ = dict() - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssoadmin/getInstances:getInstances', __args__, opts=opts, typ=GetInstancesResult) return __ret__.apply(lambda __response__: GetInstancesResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/ssoadmin/get_permission_set.py b/sdk/python/pulumi_aws/ssoadmin/get_permission_set.py index 1b62ae49c7d..a05a130a247 100644 --- a/sdk/python/pulumi_aws/ssoadmin/get_permission_set.py +++ b/sdk/python/pulumi_aws/ssoadmin/get_permission_set.py @@ -181,7 +181,7 @@ def get_permission_set_output(arn: Optional[pulumi.Input[Optional[str]]] = None, instance_arn: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPermissionSetResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPermissionSetResult]: """ Use this data source to get a Single Sign-On (SSO) Permission Set. @@ -208,7 +208,7 @@ def get_permission_set_output(arn: Optional[pulumi.Input[Optional[str]]] = None, __args__['instanceArn'] = instance_arn __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssoadmin/getPermissionSet:getPermissionSet', __args__, opts=opts, typ=GetPermissionSetResult) return __ret__.apply(lambda __response__: GetPermissionSetResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/ssoadmin/get_permission_sets.py b/sdk/python/pulumi_aws/ssoadmin/get_permission_sets.py index a5a0aca1fff..24a4adecf0a 100644 --- a/sdk/python/pulumi_aws/ssoadmin/get_permission_sets.py +++ b/sdk/python/pulumi_aws/ssoadmin/get_permission_sets.py @@ -97,7 +97,7 @@ def get_permission_sets(instance_arn: Optional[str] = None, id=pulumi.get(__ret__, 'id'), instance_arn=pulumi.get(__ret__, 'instance_arn')) def get_permission_sets_output(instance_arn: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPermissionSetsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPermissionSetsResult]: """ Data source returning the ARN of all AWS SSO Admin Permission Sets. @@ -118,7 +118,7 @@ def get_permission_sets_output(instance_arn: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['instanceArn'] = instance_arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssoadmin/getPermissionSets:getPermissionSets', __args__, opts=opts, typ=GetPermissionSetsResult) return __ret__.apply(lambda __response__: GetPermissionSetsResult( arns=pulumi.get(__response__, 'arns'), diff --git a/sdk/python/pulumi_aws/ssoadmin/get_principal_application_assignments.py b/sdk/python/pulumi_aws/ssoadmin/get_principal_application_assignments.py index 2ef882d11fa..9ae1200fa5f 100644 --- a/sdk/python/pulumi_aws/ssoadmin/get_principal_application_assignments.py +++ b/sdk/python/pulumi_aws/ssoadmin/get_principal_application_assignments.py @@ -138,7 +138,7 @@ def get_principal_application_assignments_output(application_assignments: Option instance_arn: Optional[pulumi.Input[str]] = None, principal_id: Optional[pulumi.Input[str]] = None, principal_type: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPrincipalApplicationAssignmentsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPrincipalApplicationAssignmentsResult]: """ Data source for viewing AWS SSO Admin Principal Application Assignments. @@ -166,7 +166,7 @@ def get_principal_application_assignments_output(application_assignments: Option __args__['instanceArn'] = instance_arn __args__['principalId'] = principal_id __args__['principalType'] = principal_type - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ssoadmin/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments', __args__, opts=opts, typ=GetPrincipalApplicationAssignmentsResult) return __ret__.apply(lambda __response__: GetPrincipalApplicationAssignmentsResult( application_assignments=pulumi.get(__response__, 'application_assignments'), diff --git a/sdk/python/pulumi_aws/storagegateway/get_local_disk.py b/sdk/python/pulumi_aws/storagegateway/get_local_disk.py index b2cb4f60a6d..164f90b6f0e 100644 --- a/sdk/python/pulumi_aws/storagegateway/get_local_disk.py +++ b/sdk/python/pulumi_aws/storagegateway/get_local_disk.py @@ -126,7 +126,7 @@ def get_local_disk(disk_node: Optional[str] = None, def get_local_disk_output(disk_node: Optional[pulumi.Input[Optional[str]]] = None, disk_path: Optional[pulumi.Input[Optional[str]]] = None, gateway_arn: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLocalDiskResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLocalDiskResult]: """ Retrieve information about a Storage Gateway local disk. The disk identifier is useful for adding the disk as a cache or upload buffer to a gateway. @@ -149,7 +149,7 @@ def get_local_disk_output(disk_node: Optional[pulumi.Input[Optional[str]]] = Non __args__['diskNode'] = disk_node __args__['diskPath'] = disk_path __args__['gatewayArn'] = gateway_arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:storagegateway/getLocalDisk:getLocalDisk', __args__, opts=opts, typ=GetLocalDiskResult) return __ret__.apply(lambda __response__: GetLocalDiskResult( disk_id=pulumi.get(__response__, 'disk_id'), diff --git a/sdk/python/pulumi_aws/synthetics/get_runtime_version.py b/sdk/python/pulumi_aws/synthetics/get_runtime_version.py index 77b837f663c..04d6b19ad20 100644 --- a/sdk/python/pulumi_aws/synthetics/get_runtime_version.py +++ b/sdk/python/pulumi_aws/synthetics/get_runtime_version.py @@ -179,7 +179,7 @@ def get_runtime_version(latest: Optional[bool] = None, def get_runtime_version_output(latest: Optional[pulumi.Input[Optional[bool]]] = None, prefix: Optional[pulumi.Input[str]] = None, version: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRuntimeVersionResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRuntimeVersionResult]: """ Data source for managing an AWS CloudWatch Synthetics Runtime Version. @@ -216,7 +216,7 @@ def get_runtime_version_output(latest: Optional[pulumi.Input[Optional[bool]]] = __args__['latest'] = latest __args__['prefix'] = prefix __args__['version'] = version - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:synthetics/getRuntimeVersion:getRuntimeVersion', __args__, opts=opts, typ=GetRuntimeVersionResult) return __ret__.apply(lambda __response__: GetRuntimeVersionResult( deprecation_date=pulumi.get(__response__, 'deprecation_date'), diff --git a/sdk/python/pulumi_aws/synthetics/get_runtime_versions.py b/sdk/python/pulumi_aws/synthetics/get_runtime_versions.py index e430083b8ed..fe51e316ab6 100644 --- a/sdk/python/pulumi_aws/synthetics/get_runtime_versions.py +++ b/sdk/python/pulumi_aws/synthetics/get_runtime_versions.py @@ -91,7 +91,7 @@ def get_runtime_versions(runtime_versions: Optional[Sequence[Union['GetRuntimeVe id=pulumi.get(__ret__, 'id'), runtime_versions=pulumi.get(__ret__, 'runtime_versions')) def get_runtime_versions_output(runtime_versions: Optional[pulumi.Input[Optional[Sequence[Union['GetRuntimeVersionsRuntimeVersionArgs', 'GetRuntimeVersionsRuntimeVersionArgsDict']]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRuntimeVersionsResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRuntimeVersionsResult]: """ Data source for managing an AWS CloudWatch Synthetics Runtime Versions. @@ -111,7 +111,7 @@ def get_runtime_versions_output(runtime_versions: Optional[pulumi.Input[Optional """ __args__ = dict() __args__['runtimeVersions'] = runtime_versions - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:synthetics/getRuntimeVersions:getRuntimeVersions', __args__, opts=opts, typ=GetRuntimeVersionsResult) return __ret__.apply(lambda __response__: GetRuntimeVersionsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/timestreamwrite/get_database.py b/sdk/python/pulumi_aws/timestreamwrite/get_database.py index 456b9a0303a..e39b2fea511 100644 --- a/sdk/python/pulumi_aws/timestreamwrite/get_database.py +++ b/sdk/python/pulumi_aws/timestreamwrite/get_database.py @@ -148,7 +148,7 @@ def get_database(name: Optional[str] = None, name=pulumi.get(__ret__, 'name'), table_count=pulumi.get(__ret__, 'table_count')) def get_database_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDatabaseResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatabaseResult]: """ Data source for managing an AWS Timestream Write Database. @@ -165,7 +165,7 @@ def get_database_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:timestreamwrite/getDatabase:getDatabase', __args__, opts=opts, typ=GetDatabaseResult) return __ret__.apply(lambda __response__: GetDatabaseResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/timestreamwrite/get_table.py b/sdk/python/pulumi_aws/timestreamwrite/get_table.py index be6b7b1fcaf..f7be766d101 100644 --- a/sdk/python/pulumi_aws/timestreamwrite/get_table.py +++ b/sdk/python/pulumi_aws/timestreamwrite/get_table.py @@ -199,7 +199,7 @@ def get_table(database_name: Optional[str] = None, table_status=pulumi.get(__ret__, 'table_status')) def get_table_output(database_name: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTableResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTableResult]: """ Data source for managing an AWS Timestream Write Table. @@ -222,7 +222,7 @@ def get_table_output(database_name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['databaseName'] = database_name __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:timestreamwrite/getTable:getTable', __args__, opts=opts, typ=GetTableResult) return __ret__.apply(lambda __response__: GetTableResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/transfer/get_connector.py b/sdk/python/pulumi_aws/transfer/get_connector.py index d262c263d82..28cd833109f 100644 --- a/sdk/python/pulumi_aws/transfer/get_connector.py +++ b/sdk/python/pulumi_aws/transfer/get_connector.py @@ -180,7 +180,7 @@ def get_connector(id: Optional[str] = None, tags=pulumi.get(__ret__, 'tags'), url=pulumi.get(__ret__, 'url')) def get_connector_output(id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConnectorResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConnectorResult]: """ Data source for managing an AWS Transfer Family Connector. @@ -189,7 +189,7 @@ def get_connector_output(id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['id'] = id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:transfer/getConnector:getConnector', __args__, opts=opts, typ=GetConnectorResult) return __ret__.apply(lambda __response__: GetConnectorResult( access_role=pulumi.get(__response__, 'access_role'), diff --git a/sdk/python/pulumi_aws/transfer/get_server.py b/sdk/python/pulumi_aws/transfer/get_server.py index cf545e188da..60592bd9104 100644 --- a/sdk/python/pulumi_aws/transfer/get_server.py +++ b/sdk/python/pulumi_aws/transfer/get_server.py @@ -258,7 +258,7 @@ def get_server(server_id: Optional[str] = None, url=pulumi.get(__ret__, 'url')) def get_server_output(server_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServerResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServerResult]: """ Use this data source to get the ARN of an AWS Transfer Server for use in other resources. @@ -279,7 +279,7 @@ def get_server_output(server_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['serverId'] = server_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:transfer/getServer:getServer', __args__, opts=opts, typ=GetServerResult) return __ret__.apply(lambda __response__: GetServerResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/verifiedpermissions/get_policy_store.py b/sdk/python/pulumi_aws/verifiedpermissions/get_policy_store.py index d0c5ad0f83e..de17f1f3b57 100644 --- a/sdk/python/pulumi_aws/verifiedpermissions/get_policy_store.py +++ b/sdk/python/pulumi_aws/verifiedpermissions/get_policy_store.py @@ -136,7 +136,7 @@ def get_policy_store(id: Optional[str] = None, last_updated_date=pulumi.get(__ret__, 'last_updated_date'), validation_settings=pulumi.get(__ret__, 'validation_settings')) def get_policy_store_output(id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPolicyStoreResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPolicyStoreResult]: """ Data source for managing an AWS Verified Permissions Policy Store. @@ -156,7 +156,7 @@ def get_policy_store_output(id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['id'] = id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:verifiedpermissions/getPolicyStore:getPolicyStore', __args__, opts=opts, typ=GetPolicyStoreResult) return __ret__.apply(lambda __response__: GetPolicyStoreResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/vpc/get_security_group_rule.py b/sdk/python/pulumi_aws/vpc/get_security_group_rule.py index 25ed3a68538..924104b0c1a 100644 --- a/sdk/python/pulumi_aws/vpc/get_security_group_rule.py +++ b/sdk/python/pulumi_aws/vpc/get_security_group_rule.py @@ -253,7 +253,7 @@ def get_security_group_rule(filters: Optional[Sequence[Union['GetSecurityGroupRu to_port=pulumi.get(__ret__, 'to_port')) def get_security_group_rule_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetSecurityGroupRuleFilterArgs', 'GetSecurityGroupRuleFilterArgsDict']]]]] = None, security_group_rule_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecurityGroupRuleResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecurityGroupRuleResult]: """ `vpc_get_security_group_rule` provides details about a specific security group rule. @@ -273,7 +273,7 @@ def get_security_group_rule_output(filters: Optional[pulumi.Input[Optional[Seque __args__ = dict() __args__['filters'] = filters __args__['securityGroupRuleId'] = security_group_rule_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:vpc/getSecurityGroupRule:getSecurityGroupRule', __args__, opts=opts, typ=GetSecurityGroupRuleResult) return __ret__.apply(lambda __response__: GetSecurityGroupRuleResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/vpc/get_security_group_rules.py b/sdk/python/pulumi_aws/vpc/get_security_group_rules.py index a5e48d0e671..5eae7b00e3c 100644 --- a/sdk/python/pulumi_aws/vpc/get_security_group_rules.py +++ b/sdk/python/pulumi_aws/vpc/get_security_group_rules.py @@ -117,7 +117,7 @@ def get_security_group_rules(filters: Optional[Sequence[Union['GetSecurityGroupR tags=pulumi.get(__ret__, 'tags')) def get_security_group_rules_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetSecurityGroupRulesFilterArgs', 'GetSecurityGroupRulesFilterArgsDict']]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecurityGroupRulesResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecurityGroupRulesResult]: """ This resource can be useful for getting back a set of security group rule IDs. @@ -144,7 +144,7 @@ def get_security_group_rules_output(filters: Optional[pulumi.Input[Optional[Sequ __args__ = dict() __args__['filters'] = filters __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:vpc/getSecurityGroupRules:getSecurityGroupRules', __args__, opts=opts, typ=GetSecurityGroupRulesResult) return __ret__.apply(lambda __response__: GetSecurityGroupRulesResult( filters=pulumi.get(__response__, 'filters'), diff --git a/sdk/python/pulumi_aws/vpclattice/get_auth_policy.py b/sdk/python/pulumi_aws/vpclattice/get_auth_policy.py index f3d5959ef89..6b6f3b1dd48 100644 --- a/sdk/python/pulumi_aws/vpclattice/get_auth_policy.py +++ b/sdk/python/pulumi_aws/vpclattice/get_auth_policy.py @@ -120,7 +120,7 @@ def get_auth_policy(policy: Optional[str] = None, def get_auth_policy_output(policy: Optional[pulumi.Input[Optional[str]]] = None, resource_identifier: Optional[pulumi.Input[str]] = None, state: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAuthPolicyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAuthPolicyResult]: """ Data source for managing an AWS VPC Lattice Auth Policy. @@ -144,7 +144,7 @@ def get_auth_policy_output(policy: Optional[pulumi.Input[Optional[str]]] = None, __args__['policy'] = policy __args__['resourceIdentifier'] = resource_identifier __args__['state'] = state - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:vpclattice/getAuthPolicy:getAuthPolicy', __args__, opts=opts, typ=GetAuthPolicyResult) return __ret__.apply(lambda __response__: GetAuthPolicyResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/vpclattice/get_listener.py b/sdk/python/pulumi_aws/vpclattice/get_listener.py index 52686532717..a2496ba438a 100644 --- a/sdk/python/pulumi_aws/vpclattice/get_listener.py +++ b/sdk/python/pulumi_aws/vpclattice/get_listener.py @@ -248,7 +248,7 @@ def get_listener(listener_identifier: Optional[str] = None, def get_listener_output(listener_identifier: Optional[pulumi.Input[str]] = None, service_identifier: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetListenerResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetListenerResult]: """ Data source for managing an AWS VPC Lattice Listener. @@ -272,7 +272,7 @@ def get_listener_output(listener_identifier: Optional[pulumi.Input[str]] = None, __args__['listenerIdentifier'] = listener_identifier __args__['serviceIdentifier'] = service_identifier __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:vpclattice/getListener:getListener', __args__, opts=opts, typ=GetListenerResult) return __ret__.apply(lambda __response__: GetListenerResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/vpclattice/get_resource_policy.py b/sdk/python/pulumi_aws/vpclattice/get_resource_policy.py index 981fe16ac87..da53eb3db8c 100644 --- a/sdk/python/pulumi_aws/vpclattice/get_resource_policy.py +++ b/sdk/python/pulumi_aws/vpclattice/get_resource_policy.py @@ -99,7 +99,7 @@ def get_resource_policy(resource_arn: Optional[str] = None, policy=pulumi.get(__ret__, 'policy'), resource_arn=pulumi.get(__ret__, 'resource_arn')) def get_resource_policy_output(resource_arn: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetResourcePolicyResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResourcePolicyResult]: """ Data source for managing an AWS VPC Lattice Resource Policy. @@ -119,7 +119,7 @@ def get_resource_policy_output(resource_arn: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['resourceArn'] = resource_arn - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:vpclattice/getResourcePolicy:getResourcePolicy', __args__, opts=opts, typ=GetResourcePolicyResult) return __ret__.apply(lambda __response__: GetResourcePolicyResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/vpclattice/get_service.py b/sdk/python/pulumi_aws/vpclattice/get_service.py index 02ac9425235..2729c31cf44 100644 --- a/sdk/python/pulumi_aws/vpclattice/get_service.py +++ b/sdk/python/pulumi_aws/vpclattice/get_service.py @@ -196,7 +196,7 @@ def get_service(name: Optional[str] = None, def get_service_output(name: Optional[pulumi.Input[Optional[str]]] = None, service_identifier: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServiceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServiceResult]: """ Data source for managing an AWS VPC Lattice Service. @@ -220,7 +220,7 @@ def get_service_output(name: Optional[pulumi.Input[Optional[str]]] = None, __args__['name'] = name __args__['serviceIdentifier'] = service_identifier __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:vpclattice/getService:getService', __args__, opts=opts, typ=GetServiceResult) return __ret__.apply(lambda __response__: GetServiceResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/vpclattice/get_service_network.py b/sdk/python/pulumi_aws/vpclattice/get_service_network.py index a568b9cc38d..963482a2ad8 100644 --- a/sdk/python/pulumi_aws/vpclattice/get_service_network.py +++ b/sdk/python/pulumi_aws/vpclattice/get_service_network.py @@ -190,7 +190,7 @@ def get_service_network(service_network_identifier: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_service_network_output(service_network_identifier: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServiceNetworkResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServiceNetworkResult]: """ Data source for managing an AWS VPC Lattice Service Network. @@ -211,7 +211,7 @@ def get_service_network_output(service_network_identifier: Optional[pulumi.Input __args__ = dict() __args__['serviceNetworkIdentifier'] = service_network_identifier __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:vpclattice/getServiceNetwork:getServiceNetwork', __args__, opts=opts, typ=GetServiceNetworkResult) return __ret__.apply(lambda __response__: GetServiceNetworkResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/waf/get_ipset.py b/sdk/python/pulumi_aws/waf/get_ipset.py index ebbe4fad34b..66bb78b886b 100644 --- a/sdk/python/pulumi_aws/waf/get_ipset.py +++ b/sdk/python/pulumi_aws/waf/get_ipset.py @@ -84,7 +84,7 @@ def get_ipset(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_ipset_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIpsetResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIpsetResult]: """ `waf.IpSet` Retrieves a WAF IP Set Resource Id. @@ -102,7 +102,7 @@ def get_ipset_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:waf/getIpset:getIpset', __args__, opts=opts, typ=GetIpsetResult) return __ret__.apply(lambda __response__: GetIpsetResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/waf/get_rate_based_rule.py b/sdk/python/pulumi_aws/waf/get_rate_based_rule.py index de276af5cdf..59ae434bc2b 100644 --- a/sdk/python/pulumi_aws/waf/get_rate_based_rule.py +++ b/sdk/python/pulumi_aws/waf/get_rate_based_rule.py @@ -84,7 +84,7 @@ def get_rate_based_rule(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_rate_based_rule_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRateBasedRuleResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRateBasedRuleResult]: """ `waf.RateBasedRule` Retrieves a WAF Rate Based Rule Resource Id. @@ -102,7 +102,7 @@ def get_rate_based_rule_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:waf/getRateBasedRule:getRateBasedRule', __args__, opts=opts, typ=GetRateBasedRuleResult) return __ret__.apply(lambda __response__: GetRateBasedRuleResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/waf/get_rule.py b/sdk/python/pulumi_aws/waf/get_rule.py index b3bd0bb3427..69a48d0bede 100644 --- a/sdk/python/pulumi_aws/waf/get_rule.py +++ b/sdk/python/pulumi_aws/waf/get_rule.py @@ -84,7 +84,7 @@ def get_rule(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_rule_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRuleResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRuleResult]: """ `waf.Rule` Retrieves a WAF Rule Resource Id. @@ -102,7 +102,7 @@ def get_rule_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:waf/getRule:getRule', __args__, opts=opts, typ=GetRuleResult) return __ret__.apply(lambda __response__: GetRuleResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/waf/get_subscribed_rule_group.py b/sdk/python/pulumi_aws/waf/get_subscribed_rule_group.py index 45353b2de0e..015f5704fc7 100644 --- a/sdk/python/pulumi_aws/waf/get_subscribed_rule_group.py +++ b/sdk/python/pulumi_aws/waf/get_subscribed_rule_group.py @@ -111,7 +111,7 @@ def get_subscribed_rule_group(metric_name: Optional[str] = None, name=pulumi.get(__ret__, 'name')) def get_subscribed_rule_group_output(metric_name: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSubscribedRuleGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSubscribedRuleGroupResult]: """ `waf_get_subscribed_rule_group` retrieves information about a Managed WAF Rule Group from AWS Marketplace (needs to be subscribed to first). @@ -144,7 +144,7 @@ def get_subscribed_rule_group_output(metric_name: Optional[pulumi.Input[Optional __args__ = dict() __args__['metricName'] = metric_name __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup', __args__, opts=opts, typ=GetSubscribedRuleGroupResult) return __ret__.apply(lambda __response__: GetSubscribedRuleGroupResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/waf/get_web_acl.py b/sdk/python/pulumi_aws/waf/get_web_acl.py index 98ba90e5d36..8c8d2ce8614 100644 --- a/sdk/python/pulumi_aws/waf/get_web_acl.py +++ b/sdk/python/pulumi_aws/waf/get_web_acl.py @@ -84,7 +84,7 @@ def get_web_acl(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_web_acl_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetWebAclResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWebAclResult]: """ `waf.WebAcl` Retrieves a WAF Web ACL Resource Id. @@ -102,7 +102,7 @@ def get_web_acl_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:waf/getWebAcl:getWebAcl', __args__, opts=opts, typ=GetWebAclResult) return __ret__.apply(lambda __response__: GetWebAclResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/wafregional/get_ipset.py b/sdk/python/pulumi_aws/wafregional/get_ipset.py index d05dcc9de1b..3a53b294b31 100644 --- a/sdk/python/pulumi_aws/wafregional/get_ipset.py +++ b/sdk/python/pulumi_aws/wafregional/get_ipset.py @@ -84,7 +84,7 @@ def get_ipset(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_ipset_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIpsetResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIpsetResult]: """ `wafregional.IpSet` Retrieves a WAF Regional IP Set Resource Id. @@ -102,7 +102,7 @@ def get_ipset_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:wafregional/getIpset:getIpset', __args__, opts=opts, typ=GetIpsetResult) return __ret__.apply(lambda __response__: GetIpsetResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/wafregional/get_rate_based_mod.py b/sdk/python/pulumi_aws/wafregional/get_rate_based_mod.py index 640db410275..eaa940ca5ee 100644 --- a/sdk/python/pulumi_aws/wafregional/get_rate_based_mod.py +++ b/sdk/python/pulumi_aws/wafregional/get_rate_based_mod.py @@ -84,7 +84,7 @@ def get_rate_based_mod(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_rate_based_mod_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRateBasedModResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRateBasedModResult]: """ `wafregional.RateBasedRule` Retrieves a WAF Regional Rate Based Rule Resource Id. @@ -102,7 +102,7 @@ def get_rate_based_mod_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:wafregional/getRateBasedMod:getRateBasedMod', __args__, opts=opts, typ=GetRateBasedModResult) return __ret__.apply(lambda __response__: GetRateBasedModResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/wafregional/get_rule.py b/sdk/python/pulumi_aws/wafregional/get_rule.py index 4d057b716c0..24822ff0914 100644 --- a/sdk/python/pulumi_aws/wafregional/get_rule.py +++ b/sdk/python/pulumi_aws/wafregional/get_rule.py @@ -84,7 +84,7 @@ def get_rule(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_rule_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRuleResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRuleResult]: """ `wafregional.Rule` Retrieves a WAF Regional Rule Resource Id. @@ -102,7 +102,7 @@ def get_rule_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:wafregional/getRule:getRule', __args__, opts=opts, typ=GetRuleResult) return __ret__.apply(lambda __response__: GetRuleResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/wafregional/get_subscribed_rule_group.py b/sdk/python/pulumi_aws/wafregional/get_subscribed_rule_group.py index 939b2c0ce7e..8039689a0e4 100644 --- a/sdk/python/pulumi_aws/wafregional/get_subscribed_rule_group.py +++ b/sdk/python/pulumi_aws/wafregional/get_subscribed_rule_group.py @@ -111,7 +111,7 @@ def get_subscribed_rule_group(metric_name: Optional[str] = None, name=pulumi.get(__ret__, 'name')) def get_subscribed_rule_group_output(metric_name: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSubscribedRuleGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSubscribedRuleGroupResult]: """ `wafregional_get_subscribed_rule_group` retrieves information about a Managed WAF Rule Group from AWS Marketplace for use in WAF Regional (needs to be subscribed to first). @@ -144,7 +144,7 @@ def get_subscribed_rule_group_output(metric_name: Optional[pulumi.Input[Optional __args__ = dict() __args__['metricName'] = metric_name __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:wafregional/getSubscribedRuleGroup:getSubscribedRuleGroup', __args__, opts=opts, typ=GetSubscribedRuleGroupResult) return __ret__.apply(lambda __response__: GetSubscribedRuleGroupResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/wafregional/get_web_acl.py b/sdk/python/pulumi_aws/wafregional/get_web_acl.py index 4b63591fd8d..08886305188 100644 --- a/sdk/python/pulumi_aws/wafregional/get_web_acl.py +++ b/sdk/python/pulumi_aws/wafregional/get_web_acl.py @@ -84,7 +84,7 @@ def get_web_acl(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_web_acl_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetWebAclResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWebAclResult]: """ `wafregional.WebAcl` Retrieves a WAF Regional Web ACL Resource Id. @@ -102,7 +102,7 @@ def get_web_acl_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:wafregional/getWebAcl:getWebAcl', __args__, opts=opts, typ=GetWebAclResult) return __ret__.apply(lambda __response__: GetWebAclResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_aws/wafv2/get_ip_set.py b/sdk/python/pulumi_aws/wafv2/get_ip_set.py index 4be00518680..08571fe4ab5 100644 --- a/sdk/python/pulumi_aws/wafv2/get_ip_set.py +++ b/sdk/python/pulumi_aws/wafv2/get_ip_set.py @@ -151,7 +151,7 @@ def get_ip_set(name: Optional[str] = None, scope=pulumi.get(__ret__, 'scope')) def get_ip_set_output(name: Optional[pulumi.Input[str]] = None, scope: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIpSetResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIpSetResult]: """ Retrieves the summary of a WAFv2 IP Set. @@ -172,7 +172,7 @@ def get_ip_set_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['scope'] = scope - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:wafv2/getIpSet:getIpSet', __args__, opts=opts, typ=GetIpSetResult) return __ret__.apply(lambda __response__: GetIpSetResult( addresses=pulumi.get(__response__, 'addresses'), diff --git a/sdk/python/pulumi_aws/wafv2/get_regex_pattern_set.py b/sdk/python/pulumi_aws/wafv2/get_regex_pattern_set.py index 3feacbdc174..658b0a7a4f2 100644 --- a/sdk/python/pulumi_aws/wafv2/get_regex_pattern_set.py +++ b/sdk/python/pulumi_aws/wafv2/get_regex_pattern_set.py @@ -139,7 +139,7 @@ def get_regex_pattern_set(name: Optional[str] = None, scope=pulumi.get(__ret__, 'scope')) def get_regex_pattern_set_output(name: Optional[pulumi.Input[str]] = None, scope: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRegexPatternSetResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRegexPatternSetResult]: """ Retrieves the summary of a WAFv2 Regex Pattern Set. @@ -160,7 +160,7 @@ def get_regex_pattern_set_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['scope'] = scope - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:wafv2/getRegexPatternSet:getRegexPatternSet', __args__, opts=opts, typ=GetRegexPatternSetResult) return __ret__.apply(lambda __response__: GetRegexPatternSetResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/wafv2/get_rule_group.py b/sdk/python/pulumi_aws/wafv2/get_rule_group.py index 3f6bff75ebc..fa0e5b12cf3 100644 --- a/sdk/python/pulumi_aws/wafv2/get_rule_group.py +++ b/sdk/python/pulumi_aws/wafv2/get_rule_group.py @@ -125,7 +125,7 @@ def get_rule_group(name: Optional[str] = None, scope=pulumi.get(__ret__, 'scope')) def get_rule_group_output(name: Optional[pulumi.Input[str]] = None, scope: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRuleGroupResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRuleGroupResult]: """ Retrieves the summary of a WAFv2 Rule Group. @@ -146,7 +146,7 @@ def get_rule_group_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['scope'] = scope - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:wafv2/getRuleGroup:getRuleGroup', __args__, opts=opts, typ=GetRuleGroupResult) return __ret__.apply(lambda __response__: GetRuleGroupResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/wafv2/get_web_acl.py b/sdk/python/pulumi_aws/wafv2/get_web_acl.py index c81746eb425..ccecdf49580 100644 --- a/sdk/python/pulumi_aws/wafv2/get_web_acl.py +++ b/sdk/python/pulumi_aws/wafv2/get_web_acl.py @@ -125,7 +125,7 @@ def get_web_acl(name: Optional[str] = None, scope=pulumi.get(__ret__, 'scope')) def get_web_acl_output(name: Optional[pulumi.Input[str]] = None, scope: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetWebAclResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWebAclResult]: """ Retrieves the summary of a WAFv2 Web ACL. @@ -146,7 +146,7 @@ def get_web_acl_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['scope'] = scope - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:wafv2/getWebAcl:getWebAcl', __args__, opts=opts, typ=GetWebAclResult) return __ret__.apply(lambda __response__: GetWebAclResult( arn=pulumi.get(__response__, 'arn'), diff --git a/sdk/python/pulumi_aws/workspaces/get_bundle.py b/sdk/python/pulumi_aws/workspaces/get_bundle.py index 141fa2e6e21..88e96ffc178 100644 --- a/sdk/python/pulumi_aws/workspaces/get_bundle.py +++ b/sdk/python/pulumi_aws/workspaces/get_bundle.py @@ -186,7 +186,7 @@ def get_bundle(bundle_id: Optional[str] = None, def get_bundle_output(bundle_id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, owner: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBundleResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBundleResult]: """ Retrieve information about an AWS WorkSpaces bundle. @@ -220,7 +220,7 @@ def get_bundle_output(bundle_id: Optional[pulumi.Input[Optional[str]]] = None, __args__['bundleId'] = bundle_id __args__['name'] = name __args__['owner'] = owner - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:workspaces/getBundle:getBundle', __args__, opts=opts, typ=GetBundleResult) return __ret__.apply(lambda __response__: GetBundleResult( bundle_id=pulumi.get(__response__, 'bundle_id'), diff --git a/sdk/python/pulumi_aws/workspaces/get_directory.py b/sdk/python/pulumi_aws/workspaces/get_directory.py index 782a93cad47..dd54e596dd0 100644 --- a/sdk/python/pulumi_aws/workspaces/get_directory.py +++ b/sdk/python/pulumi_aws/workspaces/get_directory.py @@ -281,7 +281,7 @@ def get_directory(directory_id: Optional[str] = None, workspace_security_group_id=pulumi.get(__ret__, 'workspace_security_group_id')) def get_directory_output(directory_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDirectoryResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDirectoryResult]: """ Retrieve information about an AWS WorkSpaces directory. @@ -301,7 +301,7 @@ def get_directory_output(directory_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['directoryId'] = directory_id __args__['tags'] = tags - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:workspaces/getDirectory:getDirectory', __args__, opts=opts, typ=GetDirectoryResult) return __ret__.apply(lambda __response__: GetDirectoryResult( alias=pulumi.get(__response__, 'alias'), diff --git a/sdk/python/pulumi_aws/workspaces/get_image.py b/sdk/python/pulumi_aws/workspaces/get_image.py index da1645f4979..b7b853310d5 100644 --- a/sdk/python/pulumi_aws/workspaces/get_image.py +++ b/sdk/python/pulumi_aws/workspaces/get_image.py @@ -146,7 +146,7 @@ def get_image(image_id: Optional[str] = None, required_tenancy=pulumi.get(__ret__, 'required_tenancy'), state=pulumi.get(__ret__, 'state')) def get_image_output(image_id: Optional[pulumi.Input[str]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetImageResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetImageResult]: """ Use this data source to get information about a Workspaces image. @@ -164,7 +164,7 @@ def get_image_output(image_id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['imageId'] = image_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:workspaces/getImage:getImage', __args__, opts=opts, typ=GetImageResult) return __ret__.apply(lambda __response__: GetImageResult( description=pulumi.get(__response__, 'description'), diff --git a/sdk/python/pulumi_aws/workspaces/get_workspace.py b/sdk/python/pulumi_aws/workspaces/get_workspace.py index 85ba2ad7bdc..07b5abd1694 100644 --- a/sdk/python/pulumi_aws/workspaces/get_workspace.py +++ b/sdk/python/pulumi_aws/workspaces/get_workspace.py @@ -228,7 +228,7 @@ def get_workspace_output(directory_id: Optional[pulumi.Input[Optional[str]]] = N tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, user_name: Optional[pulumi.Input[Optional[str]]] = None, workspace_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetWorkspaceResult]: + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWorkspaceResult]: """ Use this data source to get information about a workspace in [AWS Workspaces](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) Service. @@ -264,7 +264,7 @@ def get_workspace_output(directory_id: Optional[pulumi.Input[Optional[str]]] = N __args__['tags'] = tags __args__['userName'] = user_name __args__['workspaceId'] = workspace_id - opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:workspaces/getWorkspace:getWorkspace', __args__, opts=opts, typ=GetWorkspaceResult) return __ret__.apply(lambda __response__: GetWorkspaceResult( bundle_id=pulumi.get(__response__, 'bundle_id'),